diff --git a/.circleci/config.yml b/.circleci/config.yml
index e4f2204dfbb977d6595e08425ee1cf53cfee3ba6..09890047180ca86ec2562005db0a2595a2b86681 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -41,7 +41,8 @@ jobs:
           command: >
             for file in `find ./src -type f -name '*.clj' | sort`;
               do echo `md5sum $file` >> backend-checksums.txt;
-            done
+            done;
+            echo `md5sum $project.clj` >> backend-checksums.txt
       - persist_to_workspace:
           root: /home/circleci/
           paths:
@@ -233,14 +234,14 @@ jobs:
     working_directory: /home/circleci/metabase/metabase/
     docker:
       - image: circleci/clojure:lein-2.8.1-node-browsers
-      - image: circleci/mongo:3.2
+      - image: circleci/mongo:3.4
     steps:
       - attach_workspace:
           at: /home/circleci/
       - restore_cache:
           <<: *restore-be-deps-cache
       - run:
-          name: Run backend unit tests (MongoDB 3.2)
+          name: Run backend unit tests (MongoDB 3.4)
           environment:
             DRIVERS: h2,mongo
           command: >
@@ -294,6 +295,20 @@ jobs:
             lein with-profile +ci test
           no_output_timeout: 10m
 
+  yaml-linter:
+    <<: *defaults
+    steps:
+      - attach_workspace:
+          at: /home/circleci/
+      - run:
+          name: Install yamllint
+          command: npm install yaml-lint
+          no_output_timeout: 2m
+      - run:
+          name: Lint YAML files
+          command: ./node_modules/.bin/yamllint `find resources -name '*.yaml'`
+          no_output_timeout: 2m
+
   be-tests-sqlserver:
     <<: *defaults
     steps:
@@ -674,6 +689,9 @@ workflows:
       - be-tests-snowflake:
           requires:
             - be-tests
+      - yaml-linter:
+          requires:
+            - checkout
       - fe-deps:
           requires:
             - checkout
@@ -726,6 +744,8 @@ workflows:
             - be-tests-vertica
             - be-tests-snowflake
 
+            - yaml-linter
+
             - fe-linter-eslint
             - fe-linter-prettier
             - fe-linter-flow
diff --git a/.dir-locals.el b/.dir-locals.el
index e737fa70faacb773e4359e53f360b915f37d6ec5..95050db9ef8d5593991c7844aebc97b9b80d04a7 100644
--- a/.dir-locals.el
+++ b/.dir-locals.el
@@ -2,7 +2,9 @@
                             ;; Specify which arg is the docstring for certain macros
                             ;; (Add more as needed)
                             (put 'defendpoint 'clojure-doc-string-elt 3)
+                            (put 'defendpoint-async 'clojure-doc-string-elt 3)
                             (put 'api/defendpoint 'clojure-doc-string-elt 3)
+                            (put 'api/defendpoint-async 'clojure-doc-string-elt 3)
                             (put 'defsetting 'clojure-doc-string-elt 2)
                             (put 'setting/defsetting 'clojure-doc-string-elt 2)
                             (put 's/defn 'clojure-doc-string-elt 2)
@@ -13,7 +15,6 @@
                               (assert 1)
                               (assoc 1)
                               (ex-info 1)
-                              (execute-sql! 2)
                               (expect 0)
                               (match 1)
                               (merge-with 1)
diff --git a/.dockerignore b/.dockerignore
index 23a54dec4147730a163818620abe289c04fbab8b..6891f6c8b2d61c7906c019ca5f476dc7e5f914fb 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -1,5 +1,4 @@
 .babel_cache/*
-.git/*
 docs/*
 OSX/*
 target/*
diff --git a/.gitignore b/.gitignore
index 337d2f8dfb0927cc8ed01c131d3ed04cc56b3500..60f8c9c0e4c227b5e48ee111e37272014fd439c6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -59,3 +59,4 @@ bin/node_modules/
 /backend-checksums.txt
 .vscode
 target/checksum.txt
+/resources/frontend_client/app/locales
diff --git a/.yarnrc b/.yarnrc
new file mode 100644
index 0000000000000000000000000000000000000000..788570fcd5a07718f8d4bbc124ae9e5cd6f960b4
--- /dev/null
+++ b/.yarnrc
@@ -0,0 +1 @@
+network-timeout 600000
diff --git a/Dockerfile b/Dockerfile
index 45970a52b1f9219958f923f46ffffc0915b8ec16..288e63cba717437bda4c9a33e96d493dde56a69e 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -30,7 +30,7 @@ ADD project.clj .
 RUN lein deps
 
 # frontend dependencies
-ADD yarn.lock package.json ./
+ADD yarn.lock package.json .yarnrc ./
 RUN yarn
 
 # add the rest of the source
diff --git a/README.md b/README.md
index 35b883e852854d929818a247ac85c9f39f572de1..318be58d953adc174e86efb33f64bd766d271afb 100644
--- a/README.md
+++ b/README.md
@@ -9,14 +9,14 @@ Metabase is the easy, open source way for everyone in your company to ask questi
 [![Gitter chat](https://badges.gitter.im/metabase/metabase.png)](https://gitter.im/metabase/metabase)
 
 # Features
-- 5 minute [setup](http://metabase.com/docs/latest/setting-up-metabase.html) (We're not kidding)
-- Let anyone on your team [ask questions](http://metabase.com/docs/latest/users-guide/04-asking-questions.html) without knowing SQL
-- Rich beautiful [dashboards](http://metabase.com/docs/latest/users-guide/06-sharing-answers.html) with auto refresh and fullscreen
+- 5 minute [setup](https://metabase.com/docs/latest/setting-up-metabase.html) (We're not kidding)
+- Let anyone on your team [ask questions](https://metabase.com/docs/latest/users-guide/04-asking-questions.html) without knowing SQL
+- Rich beautiful [dashboards](https://metabase.com/docs/latest/users-guide/06-sharing-answers.html) with auto refresh and fullscreen
 - SQL Mode for analysts and data pros
-- Create canonical [segments and metrics](http://metabase.com/docs/latest/administration-guide/07-segments-and-metrics.html) for your team to use
-- Send data to Slack or email on a schedule with [Pulses](http://metabase.com/docs/latest/users-guide/10-pulses.html)
-- View data in Slack anytime with [MetaBot](http://metabase.com/docs/latest/users-guide/11-metabot.html)
-- [Humanize data](http://metabase.com/docs/latest/administration-guide/03-metadata-editing.html) for your team by renaming, annotating and hiding fields
+- Create canonical [segments and metrics](https://metabase.com/docs/latest/administration-guide/07-segments-and-metrics.html) for your team to use
+- Send data to Slack or email on a schedule with [Pulses](https://metabase.com/docs/latest/users-guide/10-pulses.html)
+- View data in Slack anytime with [MetaBot](https://metabase.com/docs/latest/users-guide/11-metabot.html)
+- [Humanize data](https://metabase.com/docs/latest/administration-guide/03-metadata-editing.html) for your team by renaming, annotating and hiding fields
 
 For more information check out [metabase.com](http://www.metabase.com)
 
@@ -112,7 +112,7 @@ Metabase also allows you to hit our Query API directly from Javascript to integr
 
 # Danger zone
 
-The button below will deploy the branch where this README.md lives onto Heroku. Metabase developers use it to deploy branches of Metabase to test our PRs, etc. We DO NOT recommend you using this for production. Instead, please use a [stable build](http://metabase.com/start).
+The button below will deploy the branch where this README.md lives onto Heroku. Metabase developers use it to deploy branches of Metabase to test our PRs, etc. We DO NOT recommend you using this for production. Instead, please use a [stable build](https://metabase.com/start).
 
 [![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy)
 
diff --git a/bin/build b/bin/build
index 14f4b8383fc6842fa327124cc3920e64cdccd300..33d6608aeeb24c006c6103be6b7a89f07016268c 100755
--- a/bin/build
+++ b/bin/build
@@ -34,6 +34,7 @@ frontend-fast() {
 }
 
 translations() {
+    frontend-deps
     echo "Running './bin/i18n/build-translation-resources' to build translation resources..."
     if ! ./bin/i18n/build-translation-resources; then
       echo "Building translation resources failed, please install 'gettext', or build without translations by running './bin/build no-translations'."
diff --git a/bin/build-driver.sh b/bin/build-driver.sh
index fb82bcdb9b24637032b3f46d95c7c98f5cd50e17..688d93f5eb341f7fd90e9166fdacbbe5ed9d6017 100755
--- a/bin/build-driver.sh
+++ b/bin/build-driver.sh
@@ -19,6 +19,20 @@ target_jar="$driver_project_dir/target/uberjar/$driver_jar"
 parents=''
 checksum_file="$driver_project_dir/target/checksum.txt"
 
+################################ DELETING OLD INCORRECTLY BUILT DRIVERS ###############################
+
+verify_existing_build() {
+    verification_failed=''
+    ./bin/verify-driver "$driver" || verification_failed=true
+
+    if [ "$verification_failed" ]; then
+        echo 'No existing build, or existing build is invalid. (Re)building driver.'
+        # By removing the checksum it will force rebuilding the driver
+        rm -f "$checksum_file"
+    fi
+}
+
+
 ######################################## CALCULATING CHECKSUMS ########################################
 
 md5_command=''
@@ -137,7 +151,7 @@ build_driver_uberjar() {
 
     if [ ! -f "$target_jar" ]; then
         echo "Error: could not find $target_jar. Build failed."
-        return -1
+        return -3
     fi
 }
 
@@ -153,6 +167,26 @@ strip_and_compress() {
     done
 }
 
+# copy finished JAR to the resources dir
+copy_target_to_dest() {
+    echo "Copying $target_jar -> $dest_location"
+    cp "$target_jar" "$dest_location"
+}
+
+# check that JAR in resources dir looks correct
+verify_build () {
+    verification_failed=''
+    ./bin/verify-driver "$driver" || verification_failed=true
+
+    if [ "$verification_failed" ]; then
+        echo "./bin/build-driver.sh $driver FAILED."
+        rm -f "$checksum_file"
+        rm -f "$target_jar"
+        rm -f "$dest_location"
+        return -4
+    fi
+}
+
 # Save the checksum for the newly built JAR
 save_checksum() {
     echo "Saving checksum for source files to $checksum_file"
@@ -160,22 +194,18 @@ save_checksum() {
     echo "$checksum" > "$checksum_file"
 }
 
-copy_target_to_dest() {
-    # ok, finally, copy finished JAR to the resources dir
-    echo "Copying $target_jar -> $dest_location"
-    cp "$target_jar" "$dest_location"
-}
-
 # Runs all the steps needed to build the driver.
 build_driver() {
-    delete_old_drivers &&
+    verify_existing_build &&
+        delete_old_drivers &&
         install_metabase_core &&
         build_metabase_uberjar &&
         build_parents &&
         build_driver_uberjar &&
         strip_and_compress &&
-        save_checksum &&
-        copy_target_to_dest
+        copy_target_to_dest &&
+        verify_build &&
+        save_checksum
 }
 
 ######################################## PUTTING IT ALL TOGETHER ########################################
@@ -202,5 +232,5 @@ elif [ ! "$(checksum_is_same)" ]; then
     build_driver || retry_clean_build
 # Either way, always copy the target uberjar to the dest location
 else
-    copy_target_to_dest
+    (copy_target_to_dest && verify_build) || retry_clean_build
 fi
diff --git a/bin/build-drivers.sh b/bin/build-drivers.sh
index f8e7b271952da579f60ca8ce0bb91d4e53232d5f..163814628cf20f27102667dc7b16aaa5e5f366b7 100755
--- a/bin/build-drivers.sh
+++ b/bin/build-drivers.sh
@@ -19,12 +19,27 @@ if [ "$1" == clean ]; then
     done
 fi
 
-for driver in `ls modules/drivers/ | sed 's|/$||'`; do # strip trailing slashes if `ls` is set to include them
+# strip trailing slashes if `ls` is set to include them
+drivers=`ls modules/drivers/ | sed 's|/$||'`
+
+for driver in $drivers; do
     echo "Build: $driver"
-    ./bin/build-driver.sh "$driver"
 
-    if [ $? -ne 0 ]; then
+    build_failed=''
+    ./bin/build-driver.sh "$driver" || build_failed=true
+
+    if [ "$build_failed" ]; then
         echo "Failed to build driver $driver."
         exit -1
     fi
 done
+
+# Double-check that all drivers were built successfully
+for driver in $drivers; do
+    verification_failed=''
+    ./bin/verify-driver "$driver" || verification_failed=true
+
+    if [ "$verification_failed" ]; then
+        exit -2
+    fi
+done
diff --git a/bin/docker/build_image.sh b/bin/docker/build_image.sh
index 25007e8b6e5bad134a61c8018fe1a6faeb0c5a3a..de15c927e78ad4ecf42893301f42e596b50d2dc4 100755
--- a/bin/docker/build_image.sh
+++ b/bin/docker/build_image.sh
@@ -43,7 +43,7 @@ if [ "$BUILD_TYPE" == "release" ]; then
     echo "Building Docker image ${DOCKER_IMAGE} from official Metabase release ${MB_TAG}"
 
     # download the official version of Metabase which matches our tag
-    curl -f -o ${BASEDIR}/metabase.jar http://downloads.metabase.com/${MB_TAG}/metabase.jar
+    curl -L -f -o ${BASEDIR}/metabase.jar http://downloads.metabase.com/${MB_TAG}/metabase.jar
 
     if [[ $? -ne 0 ]]; then
         echo "Download failed!"
diff --git a/bin/i18n/export-pot-to-poeditor b/bin/i18n/export-pot-to-poeditor
new file mode 100755
index 0000000000000000000000000000000000000000..67c75c178fdb38377f779981303a34908dc51cdc
--- /dev/null
+++ b/bin/i18n/export-pot-to-poeditor
@@ -0,0 +1,13 @@
+#!/usr/bin/env bash
+
+set -eu
+
+POEDITOR_PROJECT_ID="200535"
+
+echo "Uploading metabase.pot to POEditor..."
+
+curl -X POST https://api.poeditor.com/v2/projects/upload \
+     -F api_token="${POEDITOR_API_TOKEN}" \
+     -F id="${POEDITOR_PROJECT_ID}" \
+     -F updating="terms" \
+     -F file=@"locales/metabase.pot"
diff --git a/bin/i18n/import-po-from-poeditor b/bin/i18n/import-po-from-poeditor
new file mode 100755
index 0000000000000000000000000000000000000000..9a7b584d3997e73ee39fd2e788f34dbcfa6b0920
--- /dev/null
+++ b/bin/i18n/import-po-from-poeditor
@@ -0,0 +1,88 @@
+#!/usr/bin/env node
+
+// USAGE:
+//
+// POEDITOR_API_TOKEN=TOKEN ./bin/i18n/import-po-from-poeditor [LANG...]
+//
+// If no arguments are provided it updates existing locales in ./locales
+
+const fs = require("fs");
+const fsp = fs.promises;
+const https = require("https");
+const fetch = require("isomorphic-fetch");
+const url = require("url");
+
+const POEDITOR_API_TOKEN = process.env["POEDITOR_API_TOKEN"];
+const POEDITOR_PROJECT_ID = "200535"; // Metabae POEditor project
+
+// currently we don't support variants of language
+const aliases = {
+  "pt-br": "pt",
+  "zh-CN": "zh",
+};
+
+async function main(args) {
+  const wanted = new Set(args.length > 0 ? args : await getExistingLanguages());
+  const other = [];
+
+  // list available languages
+  const { result: { languages } } = await poeditor("languages/list");
+  for (const language of languages) {
+    const code = aliases[language.code] || language.code;
+    if (wanted.has(code)) {
+      wanted.delete(code);
+      console.log(`Downloading: ${code}  (${language.percentage}%)`);
+      // start an export
+      const { result: { url } } = await poeditor("projects/export", {
+        language: language.code,
+        type: "po",
+      });
+      // download the exported file
+      https.get(url, res =>
+        res.pipe(fs.createWriteStream(`./locales/${code}.po`)),
+      );
+    } else {
+      other.push(language);
+    }
+  }
+  // log others with large percentage complete
+  for (const language of other
+    .filter(l => l.percentage > 50)
+    .sort((a, b) => b.percentage - a.percentage)) {
+    console.log(`Other:       ${language.code} (${language.percentage}%)`);
+  }
+  // log languages that are wanted but missing in POEditor
+  for (const code of wanted) {
+    console.log(`Missing:     ${code}`);
+  }
+  if (wanted.size > 0) {
+    throw new Error("Some wanted language not found");
+  }
+}
+
+// simple API client for poeditor
+function poeditor(command, params = {}) {
+  const uri = url.format({
+    protocol: "https",
+    hostname: "api.poeditor.com",
+    pathname: `/v2/${command}`,
+  });
+  const query = {
+    api_token: POEDITOR_API_TOKEN,
+    id: POEDITOR_PROJECT_ID,
+    ...params,
+  };
+  return fetch(uri, {
+    method: "POST",
+    headers: { "Content-Type": "application/x-www-form-urlencoded" },
+    body: url.format({ query }).replace(/^\?/, ""),
+  }).then(res => res.json());
+}
+
+async function getExistingLanguages() {
+  return (await fsp.readdir("./locales"))
+    .filter(f => /\.po$/.test(f))
+    .map(f => f.replace(/\.po$/, ""));
+}
+
+main(process.argv.slice(2)).then(null, console.warn);
diff --git a/bin/i18n/update-translation b/bin/i18n/update-translation
deleted file mode 100755
index afa3da9a36af80c785f9f5f47ec98a6d92eb81c4..0000000000000000000000000000000000000000
--- a/bin/i18n/update-translation
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/sh
-
-set -eu
-
-# gettext installed via homebrew is "keg-only", add it to the PATH
-if [ -d "/usr/local/opt/gettext/bin" ]; then
-  export PATH="/usr/local/opt/gettext/bin:$PATH"
-fi
-
-POT_NAME="locales/metabase.pot"
-PO_NAME="locales/$1.po"
-
-if [ $# -lt 1 ]; then
-  echo "USAGE: update-translation en_US"
-  exit 1
-fi
-
-if [ -f "$PO_NAME" ]; then
-  exec msgmerge -U "$PO_NAME" "$POT_NAME"
-else
-  exec msginit -i "$POT_NAME" -o "$PO_NAME" -l "$1"
-fi
diff --git a/bin/i18n/update-translations b/bin/i18n/update-translations
deleted file mode 100755
index 85dfefe8e29f7f6d4d9558663cb699455029b4e7..0000000000000000000000000000000000000000
--- a/bin/i18n/update-translations
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-set -eu
-
-./bin/i18n/update-translation-template
-
-find locales -name "*.po" -exec sh -c './bin/i18n/update-translation $(basename {} .po)' \;
diff --git a/bin/verify-driver b/bin/verify-driver
new file mode 100755
index 0000000000000000000000000000000000000000..77a080f202b5be7a575333fb64bc93ddad307705
--- /dev/null
+++ b/bin/verify-driver
@@ -0,0 +1,50 @@
+#! /usr/bin/env bash
+
+set -euo pipefail
+
+driver="$1"
+
+if [ ! "$driver" ]; then
+    echo 'Usage: ./bin/verify-driver [driver]'
+    exit -1
+fi
+
+echo "Verifying $driver driver..."
+
+driver_file="resources/modules/$driver.metabase-driver.jar"
+
+echo "Checking whether $driver_file exists...."
+if [ ! -f "$driver_file" ]; then
+    echo 'File does not exist. Driver verification failed.'
+    exit -2
+fi
+
+echo 'File exists.'
+
+# This assumes that the driver's main namespace is {driver}.clj, which is not necessarily required. Namespace is
+# determined by `load-namespace` in the plugin manifest
+#
+# TODO - this won't work for drivers that have slashes in the name, because of namespace munging
+munged_driver=`echo "$driver" | sed 's/-/_/g'`
+driver_main_class="metabase/driver/${munged_driver}__init.class"
+
+echo "Checking whether driver contains main class file $driver_main_class..."
+
+if [ `jar -tf "$driver_file" | grep "$driver_main_class"` ]; then
+    echo 'Main class file found.'
+else
+    echo 'Main class file missing. Driver verification failed.'
+    exit -3
+fi
+
+echo "Checking whether driver contains plugin manifest..."
+
+if [ `jar -tf "$driver_file" | grep 'metabase-plugin.yaml'` ]; then
+    echo 'Plugin manifest found.'
+else
+    echo 'Plugin manifest missing. Driver verification failed.'
+    exit -4
+fi
+
+echo 'Driver verification successful.'
+exit 0
diff --git a/bin/version b/bin/version
index 1573f5f9524c784df81383d633c70766d2d7cb00..a23bd982b3fbebe7a16de2b54287c5910ca85de3 100755
--- a/bin/version
+++ b/bin/version
@@ -1,6 +1,6 @@
 #!/usr/bin/env bash
 
-VERSION="v0.32.0-snapshot"
+VERSION="v0.33.0-snapshot"
 
 # dynamically pull more interesting stuff from latest git commit
 HASH=$(git show-ref --head --hash=7 head)            # first 7 letters of hash should be enough; that's what GitHub uses
diff --git a/docs/administration-guide/01-managing-databases.md b/docs/administration-guide/01-managing-databases.md
index 70fa5acbd5efcc6274fa00a04ebf8a70c6c3d0c7..b7bd6a2ba3af60f86ca6645ab13edac17d429606 100644
--- a/docs/administration-guide/01-managing-databases.md
+++ b/docs/administration-guide/01-managing-databases.md
@@ -13,7 +13,7 @@ Now you’ll see a list of your databases. To connect another database to Metaba
 * Amazon Redshift
 * [Google BigQuery](databases/bigquery.md)
 * H2
-* MongoDB (version 3.0 or higher)
+* MongoDB (version 3.4 or higher)
 * MySQL (version 4.1 or higher, as well as MariaDB)
 * Postgres
 * SQLite
diff --git a/docs/enterprise-guide/authenticating-with-jwt.md b/docs/enterprise-guide/authenticating-with-jwt.md
index 3d43c9b5e08f44e975c1559a328bea8ada4b10af..26ea1f3e904c500c948891f18cc1c19e178de1a5 100644
--- a/docs/enterprise-guide/authenticating-with-jwt.md
+++ b/docs/enterprise-guide/authenticating-with-jwt.md
@@ -26,5 +26,5 @@ These are additional settings you can fill in to pass user attributes to Metabas
 
 ---
 
-## That's it!
-Still need help? Feel free to reach out to us at the support email address you were provided.
+## Next: Copying contents of one Metabase instance to another
+Learn how to use [serialization](serialization.md) to create and load data dumps of the contents of a Metabase instance.
diff --git a/docs/enterprise-guide/authenticating-with-saml.md b/docs/enterprise-guide/authenticating-with-saml.md
index 962851daf695af14e05e0f74853e446dfa18b7c6..c673640546a306a7dddc4ccd66204d05eefc6c1c 100644
--- a/docs/enterprise-guide/authenticating-with-saml.md
+++ b/docs/enterprise-guide/authenticating-with-saml.md
@@ -15,8 +15,76 @@ Here's a breakdown of each of the settings:
 
 **Identity Provider Certificate:** This is a an encoded certificate that we will use when connecting to the IDP provider URI. This will look like a big blob of text that you'll want to copy and paste carefully — the spacing is important!
 
+#### Configuring your SAML identity provider
+
+Metabase will automatically log in Users authenticated with your SAML
+identity provider, but in order to do so the SAML assertion *must*
+contain attributes for each User's first name, last name, and email. The assertion should look something like the following:
+
+```
+<saml2:Assertion
+    xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" ID="id4170618837332381492734749" IssueInstant="2019-03-27T17:56:11.067Z" Version="2.0">
+    <saml2:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">http://www.okta.com/Issuer</saml2:Issuer>
+    <saml2:Subject>
+        <saml2:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress">userName</saml2:NameID>
+        <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
+            <saml2:SubjectConfirmationData NotOnOrAfter="2019-03-27T18:01:11.246Z" Recipient="https://metabase.mycompany.com/auth/sso"/>
+        </saml2:SubjectConfirmation>
+    </saml2:Subject>
+    <saml2:Conditions NotBefore="2019-03-27T17:51:11.246Z" NotOnOrAfter="2019-03-27T18:01:11.246Z">
+        <saml2:AudienceRestriction>
+            <saml2:Audience>my-metabase-app</saml2:Audience>
+        </saml2:AudienceRestriction>
+    </saml2:Conditions>
+    <saml2:AuthnStatement AuthnInstant="2019-03-27T17:56:11.067Z">
+        <saml2:AuthnContext>
+            <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef>
+        </saml2:AuthnContext>
+    </saml2:AuthnStatement>
+    <saml2:AttributeStatement>
+        <saml2:Attribute Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
+            <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">
+              Cam
+            </saml2:AttributeValue>
+        </saml2:Attribute>
+        <saml2:Attribute Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
+            <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">
+              Saul
+            </saml2:AttributeValue>
+        </saml2:Attribute>
+        <saml2:Attribute Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
+            <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">
+              cam@metabse.com
+            </saml2:AttributeValue>
+        </saml2:Attribute>
+    </saml2:AttributeStatement>
+</saml2:Assertion>
+```
+
+Most SAML identity providers we've used already include these
+assertions by default, but some (such as Okta) must be configured to
+include them. Here's an example of what your assertions configuration
+should look like in Okta. (You can find this page by going to `Admin > Applications > Metabase > General > SAML Settings [Edit]`).
+
+![Okta SAML Integration](images/saml-okta-setup.png)
+
+You can use other attribute names for these attributes if so desired;
+see the section below. The important thing is that first name (given
+name), last name (surname), and email address are included as
+attributes of the first assertion returned in the identity provider's
+SAML response.
+
+##### IMPORTANT NOTE!
+
+The email address *attribute* is used to log in an end user into a
+corresponding Metabase account (creating it if needed). Thus it is
+extremely critical that this email address MUST NOT be editable by end
+users themselves. Otherwise they could potentially access Metabase
+accounts other than their own by changing their email address.
+
 #### Settings for signing SSO requests (optional)
-These are additional settings you can fill in to sign SSO requests to ensure they don’t get tampered with.
+These are additional settings you can fill in to sign SSO requests to
+ensure they don’t get tampered with.
 
 **SAML keystore path:** the absolute path to the keystore file to use for signing SAML requests.
 
diff --git a/docs/enterprise-guide/images/saml-okta-setup.png b/docs/enterprise-guide/images/saml-okta-setup.png
new file mode 100644
index 0000000000000000000000000000000000000000..42cc1d258b273babe750971ed5bd0f7c25191713
Binary files /dev/null and b/docs/enterprise-guide/images/saml-okta-setup.png differ
diff --git a/docs/enterprise-guide/serialization.md b/docs/enterprise-guide/serialization.md
new file mode 100644
index 0000000000000000000000000000000000000000..05d45e90969d76e6a629a46cc7d3c4306329b1f8
--- /dev/null
+++ b/docs/enterprise-guide/serialization.md
@@ -0,0 +1,60 @@
+## Copying contents of one Metabase instance to another
+
+Metabase's serialization feature allows you to create a snapshot, called a dump, of the contents of a Metabase instance that can then be loaded into another instance.
+
+This lets you do things like create a set of dashboards in one Metabase instance and then easily copy those dashboards to a number of other Metabase instances that you've set up for your customers. You could also use this feature to enable a staging-to-production workflow for important dashboards or reports by dumping from a staging instance of Metabase and then loading that dump into your production instance(s). You can even put the dump files into version control and audit changes to them, as the YAML files contained within the dump are pretty readable.
+
+### What gets dumped and loaded
+
+**Currently, dumps consist of the following Metabase artifacts:**
+
+* Collections
+* Dashboards
+* Saved questions
+* Pulses
+* Segments and Metrics defined in the Data Model
+* Archived collections, dashboards, saved questions, or pulses
+* Public sharing settings for questions and dashboards
+
+**They also contain a number of system settings:**
+
+* Admin Panel settings, except for permissions
+* Database connection settings
+* Data Model settings
+
+**Dumps do _not_ contain:**
+
+* Permission settings
+* User accounts or settings
+* Alerts on saved questions
+* Personal Collections or their contents (except for the user specified with the `--user` flag; see below)
+
+### Before creating or loading a dump
+
+If your instance is currently running, you will need to stop it first before creating or loading a dump, unless your Metabase application database supports concurrent reads. The default application database type, H2, does not.
+
+### Creating a data dump
+
+To create a dump of a Metabase instance, use the following command in your terminal:
+
+`java -jar metabase.jar dump [dump_name] --user [example@example.com]`
+
+The optional `--user` flag is used to specify a default administrator account for cases when this dump is loaded into a blank Metabase instance. This user will also be marked as the creator of all artifacts that are copied over to the instance. This user's personal collection and its contents will also be included in the data dump. If this flag isn't specified, Metabase will assume that the instance into which you're loading already has an admin user (but the load will fail if there isn't an admin user).
+
+### Loading a dump
+
+Currently, you can only load dumps into a Metabase instance that were created from the same version of Metabase. To load a dump into a Metabase instance, use the following command, where `[my_dump]` is the path to the dump you want to load:
+
+`java -jar metabase.jar load [my_dump] --mode [skip/update] --on-error [continue/abort]`
+
+The `--mode` flag lets you specify what to do when encountering a duplicate dashboard, question, or any Admin Panel settings that already set (again, except for permissions and user settings, which are not currently included in data dumps). It can either `skip` that item and do nothing to it, or `update` it with the version being loaded. The default is `skip`.
+
+The `--on-error` flag allows you to specify whether the load process should keep going or stop when there's an error. The default is `continue`. Note that `abort` won't undo any successful artifact loads that happened before an error was encountered.
+
+Both of these flags are optional.
+
+---
+
+## That's it!
+
+Still need help? Feel free to reach out to us at the support email address you were provided.
diff --git a/docs/enterprise-guide/start.md b/docs/enterprise-guide/start.md
index 1574f8a8ecefff53fa80635fc466c72f06355c30..c787ee3b7f2bf2cd8fdd314cdb545ae9e9a65946 100644
--- a/docs/enterprise-guide/start.md
+++ b/docs/enterprise-guide/start.md
@@ -7,3 +7,4 @@ The Enterprise Edition of Metabase provides added functionality and solutions fo
 * [Customizing drill-through for charts and tables](customizing-drill-through.md)
 * [Authenticating with SAML](authenticating-with-saml.md)
 * [Authenticating with JWT](authenticating-with-jwt.md)
+* [Copying contents of one Metabase instance to another (serialization)](serialization.md)
diff --git a/docs/faq.md b/docs/faq.md
index e7b3d90e884bdcc50bf565ed46e2149c71ef1e6a..9bf65080acf6a083775613108b021f1ccaf291eb 100644
--- a/docs/faq.md
+++ b/docs/faq.md
@@ -21,28 +21,28 @@ When you need to share dashboards or pulses with others, we *strongly* recommend
 ## Asking questions and running queries
 
 ### Can I use SQL with Metabase?
-[Yes](http://www.metabase.com/docs/latest/users-guide/04-asking-questions.html#using-sql).
+[Yes](https://metabase.com/docs/latest/users-guide/04-asking-questions.html#using-sql).
 
 ### Do I need to know SQL to use Metabase?
-[No](http://www.metabase.com/docs/latest/users-guide/04-asking-questions.html)
+[No](https://metabase.com/docs/latest/users-guide/04-asking-questions.html)
 
 ### Does Metabase support SQL Joins?
 
 Metabase does not expose a "Join" operator, but we do provide ways for non-SQL-proficient users to perform the tasks that joins are used for such as filtering or grouping by columns in other tables, etc.
 
-For more info see our [blog post on the subject](http://www.metabase.com/blog/Joins)
+For more info see our [blog post on the subject](https://metabase.com/blog/Joins)
 
 ### Why can't I do X in the Query Builder?
 
-The primary audience of the GUI querying interface is a non-technical user who doesn't SQL. Advanced users can always [use SQL](http://www.metabase.com/docs/latest/users-guide/04-asking-questions.html#using-sql).
+The primary audience of the GUI querying interface is a non-technical user who doesn't SQL. Advanced users can always [use SQL](https://metabase.com/docs/latest/users-guide/04-asking-questions.html#using-sql).
 
 We're constantly trying to walk the line between putting more functionality into the GUI interface and creating a confusing mess. You can expect it to improve and change with time, but in the meantime, you can always lean on SQL directly for the complicated matters.
 
 ### Why can't I seem to use drill-through or question actions?
 
-Metabase allows you to [click on your charts or tables to explore or zoom in](http://www.metabase.com/docs/latest/users-guide/03-basic-exploration.html), but these features don't currently work with SQL/native queries (this is because Metabase doesn't currently parse these kinds of queries). The same is true of the question actions menu in the bottom-right of the question detail page.
+Metabase allows you to [click on your charts or tables to explore or zoom in](https://metabase.com/docs/latest/users-guide/03-basic-exploration.html), but these features don't currently work with SQL/native queries (this is because Metabase doesn't currently parse these kinds of queries). The same is true of the question actions menu in the bottom-right of the question detail page.
 
-However, in [Metabase version 0.25 we introduced nested queries](http://www.metabase.com/blog/Metabase-0.25#nested-questions), a feature that lets you use the results of SQL/native queries as the starting table for GUI-based questions. This means you'll be able to use sophisticated SQL/native queries to create the exact segments you need, and you and your team will be able to use drill-through and actions if you create GUI-based questions from those segments.
+However, in [Metabase version 0.25 we introduced nested queries](https://metabase.com/blog/Metabase-0.25#nested-questions), a feature that lets you use the results of SQL/native queries as the starting table for GUI-based questions. This means you'll be able to use sophisticated SQL/native queries to create the exact segments you need, and you and your team will be able to use drill-through and actions if you create GUI-based questions from those segments.
 
 ## Why are my field or table names showing up with weird spacing?
 
@@ -99,7 +99,7 @@ Metabase currently supports:
 * BigQuery
 * Druid
 * H2
-* MongoDB (version 3.0 or higher)
+* MongoDB (version 3.4 or higher)
 * MySQL (and MariaDB)
 * PostgreSQL
 * Presto
@@ -132,18 +132,18 @@ Not exactly. Metabase provides access to data you have in an existing database y
 
 Yes, to the extent that we are able to and have time.
 
-If you're sure you've found a bug, please [open an issue](https://github.com/metabase/metabase/issues/new). Otherwise, try checking out the [troubleshooting guide](http://www.metabase.com/troubleshooting/) first to see if the answer to your problem is there.
+If you're sure you've found a bug, please [open an issue](https://github.com/metabase/metabase/issues/new). Otherwise, try checking out the [troubleshooting guide](https://metabase.com/troubleshooting/) first to see if the answer to your problem is there.
 
 If you're still having trouble, please start a conversation at our [discussion forum](http://discourse.metabase.com) and check out the other threads. Someone else might have experienced the same problem.
 
 ### Do you offer paid support?
 
-We are experimenting with offering paid support to a limited number of companies. [Contact us](http://www.metabase.com/services/) if you want more information.
+We are experimenting with offering paid support to a limited number of companies. [Contact us](https://metabase.com/services/) if you want more information.
 
 ## Embedding
 
 ### Can I embed charts or dashboards in another application?
 
 Yes, Metabase offers two solutions for sharing charts and dashboards:
-- [Public links](http://www.metabase.com/docs/latest/administration-guide/12-public-links.html) let you share or embed charts with simplicity.
-- A powerful [application embedding](http://www.metabase.com/docs/latest/administration-guide/13-embedding.html) let you to embed and customize charts in your own web applications.
+- [Public links](https://metabase.com/docs/latest/administration-guide/12-public-links.html) let you share or embed charts with simplicity.
+- A powerful [application embedding](https://metabase.com/docs/latest/administration-guide/13-embedding.html) let you to embed and customize charts in your own web applications.
diff --git a/docs/operations-guide/running-the-metabase-jar-file.md b/docs/operations-guide/running-the-metabase-jar-file.md
index 22bcee5c04f868d020e966a728c62e1b8cb9db1f..f5951d582b8b5bae7522dee1c774ac715dbc3897 100644
--- a/docs/operations-guide/running-the-metabase-jar-file.md
+++ b/docs/operations-guide/running-the-metabase-jar-file.md
@@ -4,7 +4,7 @@ To run the Metabase jar file you need to have Java installed on your system. Cur
 
 ### Download Metabase
 
-If you haven't done so already the first thing you need to do is [Download Metabase](http://www.metabase.com/start/jar.html).  Simply save the .jar file to a folder on your system where you wish to run Metabase.
+If you haven't done so already the first thing you need to do is [Download Metabase](https://metabase.com/start/jar.html).  Simply save the .jar file to a folder on your system where you wish to run Metabase.
 
 
 ### Verify Java is installed
diff --git a/docs/operations-guide/running-the-metabase-mac-app.md b/docs/operations-guide/running-the-metabase-mac-app.md
index cc58a9e8dd5c3e1d4350dbd377a9305587c2974c..f7211bb3089a41f176f1c6746179af4b0ec6e87c 100644
--- a/docs/operations-guide/running-the-metabase-mac-app.md
+++ b/docs/operations-guide/running-the-metabase-mac-app.md
@@ -5,7 +5,7 @@ Note that currently the Mac Application is not setup for shared use, so some Met
 
 ### Installing the Mac Application
 
-Start off by downloading the [Metabase Mac Application](http://www.metabase.com/start/mac.html) if you haven't done so already.
+Start off by downloading the [Metabase Mac Application](https://metabase.com/start/mac.html) if you haven't done so already.
 Once the download is complete go ahead and double click the file to open it up. You should see something like this:
 
 ![macinstaller](images/MacInstaller.png)
diff --git a/docs/setting-up-metabase.md b/docs/setting-up-metabase.md
index ac6f97c072f851117f3f498f4e89e7f2e134f5f7..336add00908b6a8ce7689b4b63b1b6700af4abd0 100644
--- a/docs/setting-up-metabase.md
+++ b/docs/setting-up-metabase.md
@@ -1,6 +1,6 @@
 # Setting up Metabase
 
-This guide will help you set up Metabase once you’ve gotten it installed. If you haven’t installed Metabase yet, you can [get Metabase here](http://www.metabase.com/start/).
+This guide will help you set up Metabase once you’ve gotten it installed. If you haven’t installed Metabase yet, you can [get Metabase here](https://metabase.com/start/).
 
 Start Metabase up for the first time and you’ll see this screen:
 ![Welcome Screen](images/WelcomeScreen.png)
diff --git a/docs/troubleshooting-guide/docker.md b/docs/troubleshooting-guide/docker.md
index 5c563a3ad05485560708e9922b579dd4f9f1f938..8870125a80390b136bd2f0387023bec8d84cbf43 100644
--- a/docs/troubleshooting-guide/docker.md
+++ b/docs/troubleshooting-guide/docker.md
@@ -62,7 +62,7 @@ will let you see the logs as they are printed.
 
 If the container is being killed before it finished starting it could be a health check timeout in the orchestration service used to start the container, such as Docker Cloud, or Elastic Beanstalk.
 
-If the container is not being killed from the outside, and is failing to start anyway, this problem is probably not specific to Docker. If you are using a Metabase-supplied image, you should [open a GitHub issue](github.com/metabase/metabase/issues/new).
+If the container is not being killed from the outside, and is failing to start anyway, this problem is probably not specific to Docker. If you are using a Metabase-supplied image, you should [open a GitHub issue](https://github.com/metabase/metabase/issues/new).
 
 
 ### Not connecting to a remote application database
@@ -88,7 +88,7 @@ You can list the environment variables for a container with this command:
 The logs for the Docker container return an error message after the “Verifying Database Connection” line.
 
 #### How to fix this:
-Try to connect with `mysql` or `psql` commands with the connection string parameters you are passing in via the environment variables: http://www.metabase.com/docs/latest/operations-guide/start.html#configuring-the-metabase-application-database
+Try to connect with `mysql` or `psql` commands with the connection string parameters you are passing in via the environment variables: https://metabase.com/docs/latest/operations-guide/start.html#configuring-the-metabase-application-database
 
 If you can’t connect to the database, the problem is due to either the credentials or connectivity. Verify that the credentials are correct. If you are able to log in with those credentials from another machine then try to make the same connection from the host running the Docker container.
 
@@ -112,7 +112,7 @@ This will make it clear if this is a network or authentication problem.
 This occurs if you get the Setup screen every time you start the application. The most common root cause is not giving the Docker container a persistent filesystem mount to put the application database in.
 
 #### How to fix this:
-Make sure you are giving the container a persistent volume as described here: http://www.metabase.com/docs/latest/operations-guide/running-metabase-on-docker.html#mounting-a-mapped-file-storage-volume
+Make sure you are giving the container a persistent volume as described here: https://metabase.com/docs/latest/operations-guide/running-metabase-on-docker.html#mounting-a-mapped-file-storage-volume
 
 ### The internal port isn’t being remapped correctly
 
diff --git a/docs/users-guide/03-basic-exploration.md b/docs/users-guide/03-basic-exploration.md
index b2df4bb89ded93acb94569e40f6cf0ccd4c87508..abbf589474ea01a34345e518b997a96c2775d0fa 100644
--- a/docs/users-guide/03-basic-exploration.md
+++ b/docs/users-guide/03-basic-exploration.md
@@ -18,7 +18,7 @@ If your teammates are cool, they'll have pinned some important dashboards or que
 #### Exploring dashboards
 Dashboards are simply collections of charts and numbers that you want to be able to refer back to regularly. You can learn more about dashboards [here](07-dashboards.md).
 
-If you click on a part of a chart, such as a bar in a bar chart, or a dot on a line chart, you'll see a menu with actions you can take to dive deeper into that result, to branch off from it in a different direction, or to [x-ray](14-x-rays.md) it to see an automatic exploration the thing you clicked on.
+If you click on a part of a chart, such as a bar in a bar chart, or a dot on a line chart, you'll see a menu with actions you can take to dive deeper into that result, to branch off from it in a different direction, or to [x-ray](14-x-rays.md) it to see an automatic exploration of the thing you clicked on.
 
 ![Drill through](images/drill-through/drill-through.png)
 
diff --git a/frontend/src/metabase-lib/lib/Dimension.js b/frontend/src/metabase-lib/lib/Dimension.js
index 2fadb61be5a10a115cc1df39f707249ba26d880f..c26fe4bffe851ba5e0d2afa0fd9dc4d3b6f5f20f 100644
--- a/frontend/src/metabase-lib/lib/Dimension.js
+++ b/frontend/src/metabase-lib/lib/Dimension.js
@@ -4,6 +4,7 @@ import { t, ngettext, msgid } from "c-3po";
 import Icon from "metabase/components/Icon";
 
 import { stripId } from "metabase/lib/formatting";
+import { getFriendlyName } from "metabase/visualizations/lib/utils";
 import Query_DEPRECATED from "metabase/lib/query";
 
 import _ from "underscore";
@@ -614,8 +615,10 @@ export class AggregationDimension extends Dimension {
   }
 
   displayName(): string {
-    const aggregation = this.aggregation();
-    return aggregation ? aggregation[0] : "[Unknown]";
+    const name = this.columnName();
+    return name
+      ? getFriendlyName({ name: name, display_name: name })
+      : `[${t`Unknown`}]`;
   }
 
   fieldDimension() {
diff --git a/frontend/src/metabase-lib/lib/queries/StructuredQuery.js b/frontend/src/metabase-lib/lib/queries/StructuredQuery.js
index 81aba0a928df58e1b9b6fa71ccd632580e0c2934..35e1f658c2a1cc896cb19115c464f3e5db2a36ba 100644
--- a/frontend/src/metabase-lib/lib/queries/StructuredQuery.js
+++ b/frontend/src/metabase-lib/lib/queries/StructuredQuery.js
@@ -794,6 +794,7 @@ export default class StructuredQuery extends AtomicQuery {
         nameCounts.set(name, count);
         return `${name}_${count}`;
       } else {
+        nameCounts.set(name, 1);
         return name;
       }
     });
@@ -815,17 +816,19 @@ export default class StructuredQuery extends AtomicQuery {
     } else if (column.expression_name != null) {
       return ["expression", column.expression_name];
     } else if (column.source === "aggregation") {
-      const aggregationIndex = _.findIndex(
-        this.aggregationDimensions(),
-        dimension => dimension.columnName() === column.name,
+      // HACK: ideally column would include the aggregation index directly
+      const columnIndex = _.findIndex(
+        this.columnNames(),
+        name => name === column.name,
       );
-      if (aggregationIndex >= 0) {
-        return ["aggregation", aggregationIndex];
+      if (columnIndex >= 0) {
+        return this.columnDimensions()[columnIndex].mbql();
       }
     }
     return null;
   }
 
+  // TODO: better name may be parseDimension?
   parseFieldReference(fieldRef): ?Dimension {
     const dimension = Dimension.parseMBQL(fieldRef, this._metadata);
     if (dimension) {
diff --git a/frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx b/frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx
index 9f52b35ddeb85defbfdf166c25781a596d8d1e38..f2bed25cc8bf1e1dab0210f0c00bb8c659efacf4 100644
--- a/frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx
+++ b/frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx
@@ -16,14 +16,13 @@ import FormMessage from "metabase/components/form/FormMessage";
 import CreatedDatabaseModal from "../components/CreatedDatabaseModal.jsx";
 import DeleteDatabaseModal from "../components/DeleteDatabaseModal.jsx";
 
-import Databases from "metabase/entities/databases";
-import { entityListLoader } from "metabase/entities/containers/EntityListLoader";
+import Database from "metabase/entities/databases";
 
 import { getDeletes, getDeletionError } from "../selectors";
 import { deleteDatabase, addSampleDataset } from "../database";
 
 const mapStateToProps = (state, props) => ({
-  hasSampleDataset: Databases.selectors.getHasSampleDataset(state),
+  hasSampleDataset: Database.selectors.getHasSampleDataset(state),
 
   created: props.location.query.created,
   engines: MetabaseSettings.get("engines"),
@@ -33,14 +32,13 @@ const mapStateToProps = (state, props) => ({
 });
 
 const mapDispatchToProps = {
-  fetchDatabases: Databases.actions.fetchList,
   // NOTE: still uses deleteDatabase from metabaseadmin/databases/databases.js
   // rather than metabase/entities/databases since it updates deletes/deletionError
   deleteDatabase: deleteDatabase,
   addSampleDataset: addSampleDataset,
 };
 
-@entityListLoader({ entityType: "databases" })
+@Database.loadList()
 @connect(mapStateToProps, mapDispatchToProps)
 export default class DatabaseList extends Component {
   static propTypes = {
diff --git a/frontend/src/metabase/admin/people/components/EditUserForm.jsx b/frontend/src/metabase/admin/people/components/EditUserForm.jsx
deleted file mode 100644
index 5d2bddfee2b0ce2fa9c4af4d8142b917c654f44d..0000000000000000000000000000000000000000
--- a/frontend/src/metabase/admin/people/components/EditUserForm.jsx
+++ /dev/null
@@ -1,259 +0,0 @@
-/* eslint "react/prop-types": "warn" */
-import React, { Component } from "react";
-import PropTypes from "prop-types";
-import ReactDOM from "react-dom";
-
-import FormField from "metabase/components/form/FormField.jsx";
-import FormLabel from "metabase/components/form/FormLabel.jsx";
-import GroupSelect from "../components/GroupSelect.jsx";
-import GroupSummary from "../components/GroupSummary.jsx";
-import { t } from "c-3po";
-import MetabaseUtils from "metabase/lib/utils";
-import SelectButton from "metabase/components/SelectButton.jsx";
-import Toggle from "metabase/components/Toggle.jsx";
-import PopoverWithTrigger from "metabase/components/PopoverWithTrigger.jsx";
-import Button from "metabase/components/Button.jsx";
-import { ModalFooter } from "metabase/components/ModalContent.jsx";
-
-import _ from "underscore";
-
-import { isAdminGroup, canEditMembership } from "metabase/lib/groups";
-
-export default class EditUserForm extends Component {
-  constructor(props, context) {
-    super(props, context);
-
-    const user = props.user;
-
-    this.state = {
-      formError: null,
-      valid: false,
-      selectedGroups: {},
-      firstName: user ? user.first_name : null,
-      lastName: user ? user.last_name : null,
-      email: user ? user.email : null,
-    };
-  }
-
-  static propTypes = {
-    buttonText: PropTypes.string,
-    submitFn: PropTypes.func.isRequired,
-    user: PropTypes.object,
-    groups: PropTypes.array,
-  };
-
-  validateForm() {
-    let { valid } = this.state;
-    let isValid = true;
-
-    ["firstName", "lastName", "email"].forEach(fieldName => {
-      if (MetabaseUtils.isEmpty(this.state[fieldName])) {
-        isValid = false;
-      }
-    });
-
-    if (isValid !== valid) {
-      this.setState({
-        valid: isValid,
-      });
-    }
-  }
-
-  onChange = e => {
-    this.validateForm();
-  };
-
-  async formSubmitted(e) {
-    e.preventDefault();
-
-    this.setState({
-      formError: null,
-    });
-
-    let formErrors = { data: { errors: {} } };
-
-    // validate email address
-    let email = ReactDOM.findDOMNode(this.refs.email).value
-      ? ReactDOM.findDOMNode(this.refs.email).value.trim()
-      : null;
-    if (!MetabaseUtils.validEmail(email)) {
-      formErrors.data.errors.email = t`Not a valid formatted email address`;
-    }
-
-    if (_.keys(formErrors.data.errors).length > 0) {
-      this.setState({
-        formError: formErrors,
-      });
-      return;
-    }
-
-    try {
-      await this.props.submitFn({
-        ...(this.props.user || {}),
-        first_name: ReactDOM.findDOMNode(this.refs.firstName).value,
-        last_name: ReactDOM.findDOMNode(this.refs.lastName).value,
-        email: email,
-        groups:
-          this.props.groups && this.state.selectedGroups
-            ? Object.entries(this.state.selectedGroups)
-                .filter(([key, value]) => value)
-                .map(([key, value]) => parseInt(key, 10))
-            : null,
-      });
-    } catch (e) {
-      // HACK: sometimes errors don't follow our usual conventions
-      if (e && typeof e.data === "string") {
-        this.setState({ formError: { data: { message: e.data } } });
-      } else {
-        this.setState({ formError: e });
-      }
-    }
-  }
-
-  cancel() {
-    this.props.submitFn(null);
-  }
-
-  render() {
-    const { buttonText, groups } = this.props;
-    const {
-      formError,
-      valid,
-      selectedGroups,
-      firstName,
-      lastName,
-      email,
-    } = this.state;
-
-    const adminGroup = _.find(groups, isAdminGroup);
-
-    return (
-      <form onSubmit={this.formSubmitted.bind(this)} noValidate>
-        <div>
-          <FormField fieldName="first_name" formError={formError}>
-            <FormLabel
-              title={t`First name`}
-              fieldName="first_name"
-              formError={formError}
-              offset={false}
-            />
-            <input
-              ref="firstName"
-              className="Form-input full"
-              name="firstName"
-              placeholder="Johnny"
-              value={firstName}
-              onChange={e => {
-                this.setState({ firstName: e.target.value }, () =>
-                  this.onChange(e),
-                );
-              }}
-            />
-          </FormField>
-
-          <FormField fieldName="last_name" formError={formError}>
-            <FormLabel
-              title={t`Last name`}
-              fieldName="last_name"
-              formError={formError}
-              offset={false}
-            />
-            <input
-              ref="lastName"
-              className="Form-input full"
-              name="lastName"
-              placeholder="Appleseed"
-              required
-              value={lastName}
-              onChange={e => {
-                this.setState({ lastName: e.target.value }, () =>
-                  this.onChange(e),
-                );
-              }}
-            />
-          </FormField>
-
-          <FormField fieldName="email" formError={formError}>
-            <FormLabel
-              title={t`Email address`}
-              fieldName="email"
-              formError={formError}
-              offset={false}
-            />
-            <input
-              ref="email"
-              className="Form-input full"
-              name="email"
-              placeholder="youlooknicetoday@email.com"
-              required
-              value={email}
-              onChange={e => {
-                this.setState({ email: e.target.value }, () =>
-                  this.onChange(e),
-                );
-              }}
-            />
-          </FormField>
-
-          {groups &&
-          groups.filter(g => canEditMembership(g) && !isAdminGroup(g)).length >
-            0 ? (
-            <FormField>
-              <FormLabel title={t`Permission Groups`} offset={false} />
-              <PopoverWithTrigger
-                sizeToFit
-                triggerElement={
-                  <SelectButton>
-                    <GroupSummary
-                      groups={groups}
-                      selectedGroups={selectedGroups}
-                    />
-                  </SelectButton>
-                }
-              >
-                <GroupSelect
-                  groups={groups}
-                  selectedGroups={selectedGroups}
-                  onGroupChange={(group, selected) => {
-                    this.setState({
-                      selectedGroups: {
-                        ...selectedGroups,
-                        [group.id]: selected,
-                      },
-                    });
-                  }}
-                />
-              </PopoverWithTrigger>
-            </FormField>
-          ) : adminGroup ? (
-            <div className="flex align-center">
-              <Toggle
-                value={selectedGroups[adminGroup.id]}
-                onChange={isAdmin => {
-                  this.setState({
-                    selectedGroups: isAdmin ? { [adminGroup.id]: true } : {},
-                  });
-                }}
-              />
-              <span className="ml2">{t`Make this user an admin`}</span>
-            </div>
-          ) : null}
-        </div>
-
-        <ModalFooter className="flex align-center p0">
-          {formError &&
-            formError.data &&
-            formError.data.message && (
-              <span className="text-error">{formError.data.message}</span>
-            )}
-          <Button type="button" onClick={this.cancel.bind(this)}>
-            {t`Cancel`}
-          </Button>
-          <Button primary disabled={!valid}>
-            {buttonText ? buttonText : t`Save changes`}
-          </Button>
-        </ModalFooter>
-      </form>
-    );
-  }
-}
diff --git a/frontend/src/metabase/admin/people/components/GroupsListing.jsx b/frontend/src/metabase/admin/people/components/GroupsListing.jsx
index dd55ff298f5b53d09ff99217d82f3994027f734e..2998fadad42a99542fba8f906cab4153cf5c66b1 100644
--- a/frontend/src/metabase/admin/people/components/GroupsListing.jsx
+++ b/frontend/src/metabase/admin/people/components/GroupsListing.jsx
@@ -12,7 +12,6 @@ import {
 } from "metabase/lib/groups";
 import { KEYCODE_ENTER } from "metabase/lib/keyboard";
 
-import { PermissionsApi } from "metabase/services";
 import { t } from "c-3po";
 import Icon from "metabase/components/Icon.jsx";
 import InputBlurChange from "metabase/components/InputBlurChange.jsx";
@@ -187,7 +186,7 @@ function GroupRow({
           <span className="ml2 text-bold">{getGroupNameLocalized(group)}</span>
         </Link>
       </td>
-      <td>{group.members || 0}</td>
+      <td>{group.member_count || 0}</td>
       <td className="text-right">
         {showActionsButton ? (
           <ActionsPopover
@@ -245,17 +244,12 @@ function GroupsTable({
 
 // ------------------------------------------------------------ Logic ------------------------------------------------------------
 
-function sortGroups(groups) {
-  return _.sortBy(groups, group => group.name && group.name.toLowerCase());
-}
-
 export default class GroupsListing extends Component {
   constructor(props, context) {
     super(props, context);
     this.state = {
       text: "",
       showAddGroupRow: false,
-      groups: null,
       groupBeingEdited: null,
       alertMessage: null,
     };
@@ -272,26 +266,21 @@ export default class GroupsListing extends Component {
   }
 
   // TODO: move this to Redux
-  onAddGroupCreateButtonClicked() {
+  async onAddGroupCreateButtonClicked() {
     MetabaseAnalytics.trackEvent("People Groups", "Group Added");
-    PermissionsApi.createGroup({ name: this.state.text }).then(
-      newGroup => {
-        const groups = this.state.groups || this.props.groups || [];
-        const newGroups = sortGroups(_.union(groups, [newGroup]));
-
-        this.setState({
-          groups: newGroups,
-          showAddGroupRow: false,
-          text: "",
-        });
-      },
-      error => {
-        console.error("Error creating group:", error);
-        if (error.data && typeof error.data === "string") {
-          this.alert(error.data);
-        }
-      },
-    );
+
+    try {
+      await this.props.create({ name: this.state.text });
+      this.setState({
+        showAddGroupRow: false,
+        text: "",
+      });
+    } catch (error) {
+      console.error("Error creating group:", error);
+      if (error.data && typeof error.data === "string") {
+        this.alert(error.data);
+      }
+    }
   }
 
   onAddGroupTextChanged(newText) {
@@ -310,18 +299,16 @@ export default class GroupsListing extends Component {
 
   onEditGroupClicked(group) {
     this.setState({
-      groupBeingEdited: _.clone(group),
+      groupBeingEdited: { ...group },
       text: "",
       showAddGroupRow: false,
     });
   }
 
   onEditGroupTextChange(newText) {
-    let groupBeingEdited = this.state.groupBeingEdited;
-    groupBeingEdited.name = newText;
-
+    const { groupBeingEdited } = this.state;
     this.setState({
-      groupBeingEdited: groupBeingEdited,
+      groupBeingEdited: { ...groupBeingEdited, name: newText },
     });
   }
 
@@ -331,68 +318,45 @@ export default class GroupsListing extends Component {
     });
   }
 
-  // TODO: move this to Redux
-  onEditGroupDoneClicked() {
-    const groups = this.state.groups || this.props.groups || [];
-    const originalGroup = _.findWhere(groups, {
-      id: this.state.groupBeingEdited.id,
-    });
+  async onEditGroupDoneClicked() {
+    const { groups } = this.props;
     const group = this.state.groupBeingEdited;
+    const originalGroup = _.findWhere(groups, { id: group.id });
 
     // if name hasn't changed there is nothing to do
     if (originalGroup.name === group.name) {
-      this.setState({
-        groupBeingEdited: null,
-      });
-      return;
-    }
-
-    // ok, fire off API call to change the group
-    MetabaseAnalytics.trackEvent("People Groups", "Group Updated");
-    PermissionsApi.updateGroup({ id: group.id, name: group.name }).then(
-      newGroup => {
-        // now replace the original group with the new group and update state
-        let newGroups = _.reject(groups, g => g.id === group.id);
-        newGroups = sortGroups(_.union(newGroups, [newGroup]));
-
-        this.setState({
-          groups: newGroups,
-          groupBeingEdited: null,
-        });
-      },
-      error => {
+      this.setState({ groupBeingEdited: null });
+    } else {
+      // ok, fire off API call to change the group
+      MetabaseAnalytics.trackEvent("People Groups", "Group Updated");
+      try {
+        await this.props.update({ id: group.id, name: group.name });
+        this.setState({ groupBeingEdited: null });
+      } catch (error) {
         console.error("Error updating group name:", error);
         if (error.data && typeof error.data === "string") {
           this.alert(error.data);
         }
-      },
-    );
+      }
+    }
   }
 
   // TODO: move this to Redux
   async onDeleteGroupClicked(group) {
-    const groups = this.state.groups || this.props.groups || [];
     MetabaseAnalytics.trackEvent("People Groups", "Group Deleted");
-    PermissionsApi.deleteGroup({ id: group.id }).then(
-      () => {
-        const newGroups = sortGroups(_.reject(groups, g => g.id === group.id));
-        this.setState({
-          groups: newGroups,
-        });
-      },
-      error => {
-        console.error("Error deleting group: ", error);
-        if (error.data && typeof error.data === "string") {
-          this.alert(error.data);
-        }
-      },
-    );
+    try {
+      await this.props.delete(group);
+    } catch (error) {
+      console.error("Error deleting group: ", error);
+      if (error.data && typeof error.data === "string") {
+        this.alert(error.data);
+      }
+    }
   }
 
   render() {
+    const { groups } = this.props;
     const { alertMessage } = this.state;
-    let { groups } = this.props;
-    groups = this.state.groups || groups || [];
 
     return (
       <AdminPaneLayout
diff --git a/frontend/src/metabase/admin/people/components/UserActionsSelect.jsx b/frontend/src/metabase/admin/people/components/UserActionsSelect.jsx
deleted file mode 100644
index 65ab545de807f89bd315987324e2b374383fbdbc..0000000000000000000000000000000000000000
--- a/frontend/src/metabase/admin/people/components/UserActionsSelect.jsx
+++ /dev/null
@@ -1,103 +0,0 @@
-/* eslint "react/prop-types": "warn" */
-import React, { Component } from "react";
-import PropTypes from "prop-types";
-
-import Icon from "metabase/components/Icon.jsx";
-import MetabaseSettings from "metabase/lib/settings";
-import PopoverWithTrigger from "metabase/components/PopoverWithTrigger.jsx";
-import { t } from "c-3po";
-import {
-  MODAL_EDIT_DETAILS,
-  MODAL_INVITE_RESENT,
-  MODAL_DEACTVIATE_USER,
-  MODAL_RESET_PASSWORD,
-} from "../containers/PeopleListingApp.jsx";
-
-export default class UserActionsSelect extends Component {
-  static propTypes = {
-    user: PropTypes.object.isRequired,
-    isActiveUser: PropTypes.bool.isRequired,
-    showModal: PropTypes.func.isRequired,
-    resendInvite: PropTypes.func.isRequired,
-  };
-
-  onEditDetails() {
-    this.props.showModal({
-      type: MODAL_EDIT_DETAILS,
-      details: { user: this.props.user },
-    });
-    this.refs.popover.toggle();
-  }
-
-  onResendInvite() {
-    this.props.resendInvite(this.props.user);
-    this.props.showModal({
-      type: MODAL_INVITE_RESENT,
-      details: { user: this.props.user },
-    });
-    this.refs.popover.toggle();
-  }
-
-  onResetPassword() {
-    if (window.OSX) {
-      window.OSX.resetPassword();
-      return;
-    }
-
-    this.props.showModal({
-      type: MODAL_RESET_PASSWORD,
-      details: { user: this.props.user },
-    });
-    this.refs.popover.toggle();
-  }
-
-  onDeactivateUser() {
-    this.props.showModal({
-      type: MODAL_DEACTVIATE_USER,
-      details: { user: this.props.user },
-    });
-    this.refs.popover.toggle();
-  }
-
-  render() {
-    let { isActiveUser, user } = this.props;
-
-    return (
-      <PopoverWithTrigger
-        ref="popover"
-        className="block"
-        triggerElement={
-          <span className="text-light">
-            <Icon name={"ellipsis"} />
-          </span>
-        }
-      >
-        <ul className="UserActionsSelect">
-          <li
-            className="py1 px2 bg-brand-hover text-white-hover cursor-pointer"
-            onClick={this.onEditDetails.bind(this)}
-          >{t`Edit Details`}</li>
-
-          {user.last_login === null && MetabaseSettings.isEmailConfigured() ? (
-            <li
-              className="pt1 pb2 px2 bg-brand-hover text-white-hover cursor-pointer"
-              onClick={this.onResendInvite.bind(this)}
-            >{t`Re-send Invite`}</li>
-          ) : (
-            <li
-              className="pt1 pb2 px2 bg-brand-hover text-white-hover cursor-pointer"
-              onClick={this.onResetPassword.bind(this)}
-            >{t`Reset Password`}</li>
-          )}
-
-          {!isActiveUser && (
-            <li
-              className="p2 border-top bg-error-hover text-error text-white-hover cursor-pointer"
-              onClick={this.onDeactivateUser.bind(this)}
-            >{t`Deactivate`}</li>
-          )}
-        </ul>
-      </PopoverWithTrigger>
-    );
-  }
-}
diff --git a/frontend/src/metabase/admin/people/containers/EditUserModal.jsx b/frontend/src/metabase/admin/people/containers/EditUserModal.jsx
new file mode 100644
index 0000000000000000000000000000000000000000..dc8ac5bc0c04225e42d00cb13391bfff0a53bb09
--- /dev/null
+++ b/frontend/src/metabase/admin/people/containers/EditUserModal.jsx
@@ -0,0 +1,22 @@
+import React from "react";
+import { compose } from "redux";
+import { connect } from "react-redux";
+import { goBack } from "react-router-redux";
+import { t } from "c-3po";
+
+import User from "metabase/entities/users";
+
+const EditUserModal = ({ user, onClose, ...props }) => (
+  <User.ModalForm
+    {...props}
+    title={t`Edit user`}
+    user={user}
+    onSaved={onClose}
+    onClose={onClose}
+  />
+);
+
+export default compose(
+  User.load({ id: (state, props) => props.params.userId }),
+  connect(null, { onClose: goBack }),
+)(EditUserModal);
diff --git a/frontend/src/metabase/admin/people/containers/GroupDetailApp.jsx b/frontend/src/metabase/admin/people/containers/GroupDetailApp.jsx
index 38b79e4b9c8ea3ed66e71db476bbc95956a95614..08d91560b860fddab47fd854053b2e5aa0a72e35 100644
--- a/frontend/src/metabase/admin/people/containers/GroupDetailApp.jsx
+++ b/frontend/src/metabase/admin/people/containers/GroupDetailApp.jsx
@@ -1,39 +1,18 @@
 import React, { Component } from "react";
 import { connect } from "react-redux";
 
-import { getGroup, getGroups, getUsers } from "../selectors";
-import { loadGroups, loadGroupDetails, fetchUsers } from "../people";
+import User from "metabase/entities/users";
+import Group from "metabase/entities/groups";
+import { getUsersWithMemberships } from "../selectors";
 
 import GroupDetail from "../components/GroupDetail.jsx";
 
-function mapStateToProps(state, props) {
-  return {
-    group: getGroup(state, props),
-    groups: getGroups(state, props),
-    users: getUsers(state, props),
-  };
-}
-
-const mapDispatchToProps = {
-  loadGroups,
-  loadGroupDetails,
-  fetchUsers,
-};
-
-@connect(mapStateToProps, mapDispatchToProps)
+@User.loadList()
+@Group.load({ id: (state, props) => props.params.groupId })
+@connect((state, props) => ({
+  users: getUsersWithMemberships(state, props),
+}))
 export default class GroupDetailApp extends Component {
-  async componentWillMount() {
-    this.props.loadGroups();
-    this.props.fetchUsers();
-    this.props.loadGroupDetails(this.props.params.groupId);
-  }
-
-  async componentWillReceiveProps(nextProps) {
-    if (nextProps.params.groupId !== this.props.params.groupId) {
-      this.props.loadGroupDetails(nextProps.params.groupId);
-    }
-  }
-
   render() {
     return <GroupDetail {...this.props} />;
   }
diff --git a/frontend/src/metabase/admin/people/containers/GroupsListingApp.jsx b/frontend/src/metabase/admin/people/containers/GroupsListingApp.jsx
index 2d53860d347a3f0a74c0b9402713238874186faa..048d85880135d42ec73312f011779cf7a1089be7 100644
--- a/frontend/src/metabase/admin/people/containers/GroupsListingApp.jsx
+++ b/frontend/src/metabase/admin/people/containers/GroupsListingApp.jsx
@@ -1,27 +1,15 @@
-import React, { Component } from "react";
+import React from "react";
 import { connect } from "react-redux";
 
-import { getGroups } from "../selectors";
-import { loadGroups } from "../people";
-
+import Group from "metabase/entities/groups";
 import GroupsListing from "../components/GroupsListing.jsx";
+import { getGroupsWithoutMetabot } from "../selectors";
 
-const mapStateToProps = function(state, props) {
-  return {
-    groups: getGroups(state, props),
-  };
-};
-
-const mapDispatchToProps = {
-  loadGroups,
-};
-
-@connect(mapStateToProps, mapDispatchToProps)
-export default class GroupsListingApp extends Component {
-  async componentWillMount() {
-    await this.props.loadGroups();
-  }
-
+@Group.loadList()
+@connect((state, props) => ({
+  groups: getGroupsWithoutMetabot(state, props),
+}))
+export default class GroupsListingApp extends React.Component {
   render() {
     return <GroupsListing {...this.props} />;
   }
diff --git a/frontend/src/metabase/admin/people/containers/NewUserModal.jsx b/frontend/src/metabase/admin/people/containers/NewUserModal.jsx
new file mode 100644
index 0000000000000000000000000000000000000000..59eb9cdddfa9a448d5a3c2abea445fbbb7bd6191
--- /dev/null
+++ b/frontend/src/metabase/admin/people/containers/NewUserModal.jsx
@@ -0,0 +1,22 @@
+import React from "react";
+import { connect } from "react-redux";
+import { goBack, push } from "react-router-redux";
+import { t } from "c-3po";
+
+import * as Urls from "metabase/lib/urls";
+
+import User from "metabase/entities/users";
+
+const NewUserModal = ({ onClose, onSaved, ...props }) => (
+  <User.ModalForm
+    {...props}
+    title={t`New user`}
+    onClose={onClose}
+    onSaved={onSaved}
+  />
+);
+
+export default connect(null, {
+  onClose: goBack,
+  onSaved: user => push(Urls.newUserSuccess(user.id)),
+})(NewUserModal);
diff --git a/frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx b/frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx
index 837e2aac14889fe03b730a7888bab952743bed45..eaa05285cd0bb09624fec7f2d2b3d93cb863dacf 100644
--- a/frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx
+++ b/frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx
@@ -1,426 +1,84 @@
+/* @flow */
 /* eslint "react/prop-types": "warn" */
 import React, { Component } from "react";
 import PropTypes from "prop-types";
-import { Link } from "react-router";
 import { connect } from "react-redux";
+import { t } from "c-3po";
+import _ from "underscore";
+import moment from "moment";
+
+import * as Urls from "metabase/lib/urls";
 
-import LoadingAndErrorWrapper from "metabase/components/LoadingAndErrorWrapper.jsx";
 import AdminPaneLayout from "metabase/components/AdminPaneLayout.jsx";
-import MetabaseSettings from "metabase/lib/settings";
-import MetabaseUtils from "metabase/lib/utils";
-import Modal from "metabase/components/Modal.jsx";
-import PasswordReveal from "metabase/components/PasswordReveal.jsx";
-import UserAvatar from "metabase/components/UserAvatar.jsx";
+import EntityMenu from "metabase/components/EntityMenu";
 import Icon from "metabase/components/Icon.jsx";
-import Tooltip from "metabase/components/Tooltip.jsx";
-import Button from "metabase/components/Button.jsx";
+import Link from "metabase/components/Link";
 import Radio from "metabase/components/Radio";
+import Tooltip from "metabase/components/Tooltip.jsx";
+import UserAvatar from "metabase/components/UserAvatar.jsx";
 
-import { t, jt } from "c-3po";
-import _ from "underscore";
-import moment from "moment";
-import EditUserForm from "../components/EditUserForm.jsx";
-import UserActionsSelect from "../components/UserActionsSelect.jsx";
 import UserGroupSelect from "../components/UserGroupSelect.jsx";
 
-export const MODAL_ADD_PERSON = "MODAL_ADD_PERSON";
-export const MODAL_EDIT_DETAILS = "MODAL_EDIT_DETAILS";
-export const MODAL_INVITE_RESENT = "MODAL_INVITE_RESENT";
-export const MODAL_DEACTVIATE_USER = "MODAL_DEACTVIATE_USER";
-export const MODAL_REACTIVATE_USER = "MODAL_REACTIVATE_USER";
-export const MODAL_RESET_PASSWORD = "MODAL_RESET_PASSWORD";
-export const MODAL_RESET_PASSWORD_MANUAL = "MODAL_RESET_PASSWORD_MANUAL";
-export const MODAL_RESET_PASSWORD_EMAIL = "MODAL_RESET_PASSWORD_EMAIL";
-export const MODAL_USER_ADDED_WITH_INVITE = "MODAL_USER_ADDED_WITH_INVITE";
-export const MODAL_USER_ADDED_WITH_PASSWORD = "MODAL_USER_ADDED_WITH_PASSWORD";
-
-import { getSortedUsers, getModal, getGroups } from "../selectors";
+import { loadMemberships, createMembership, deleteMembership } from "../people";
 import {
-  createUser,
-  deactivateUser,
-  reactivateUser,
-  fetchUsers,
-  resetPasswordManually,
-  resetPasswordViaEmail,
-  showModal,
-  updateUser,
-  resendInvite,
-  loadGroups,
-  loadMemberships,
-  createMembership,
-  deleteMembership,
-} from "../people";
-
-const mapStateToProps = (state, props) => {
-  return {
-    users: getSortedUsers(state, props),
-    modal: getModal(state, props),
-    user: state.currentUser,
-    groups: getGroups(state, props),
-  };
-};
-
-const mapDispatchToProps = {
-  createUser,
-  deactivateUser,
-  reactivateUser,
-  fetchUsers,
-  resetPasswordManually,
-  resetPasswordViaEmail,
-  showModal,
-  updateUser,
-  resendInvite,
-  loadGroups,
-  loadMemberships,
-  createMembership,
-  deleteMembership,
-};
-
-@connect(mapStateToProps, mapDispatchToProps)
+  getSortedUsersWithMemberships,
+  getGroupsWithoutMetabot,
+} from "../selectors";
+import { getUser } from "metabase/selectors/user";
+
+import User from "metabase/entities/users";
+import Group from "metabase/entities/groups";
+
+// set outer loadingAndErrorWrapper to false to avoid conflicets. the second loader will handle that
+@User.loadList({
+  query: { include_deactivated: true },
+  loadingAndErrorWrapper: false,
+  wrapped: true,
+  reload: true,
+})
+@Group.loadList()
+@connect(
+  (state, props) => ({
+    user: getUser(state),
+    users: getSortedUsersWithMemberships(state, props),
+    groups: getGroupsWithoutMetabot(state, props),
+  }),
+  {
+    loadMemberships,
+    createMembership,
+    deleteMembership,
+  },
+)
 export default class PeopleListingApp extends Component {
-  constructor(props, context) {
-    super(props, context);
-
-    this.state = { error: null };
-  }
+  state = {};
 
   static propTypes = {
     user: PropTypes.object.isRequired,
-    users: PropTypes.object,
+    users: PropTypes.array,
     groups: PropTypes.array,
-    modal: PropTypes.object,
-    createUser: PropTypes.func.isRequired,
-    deactivateUser: PropTypes.func.isRequired,
-    reactivateUser: PropTypes.func.isRequired,
-    fetchUsers: PropTypes.func.isRequired,
-    resetPasswordManually: PropTypes.func.isRequired,
-    resetPasswordViaEmail: PropTypes.func.isRequired,
-    showModal: PropTypes.func.isRequired,
-    updateUser: PropTypes.func.isRequired,
-    resendInvite: PropTypes.func.isRequired,
-    loadGroups: PropTypes.func.isRequired,
     loadMemberships: PropTypes.func.isRequired,
     createMembership: PropTypes.func.isRequired,
     deleteMembership: PropTypes.func.isRequired,
+    children: PropTypes.object,
   };
 
+  // $FlowFixMe: expects return type void, not Promise<void>
   async componentDidMount() {
     try {
-      await Promise.all([
-        this.props.fetchUsers(),
-        this.props.loadGroups(),
-        this.props.loadMemberships(),
-      ]);
+      await this.props.loadMemberships();
     } catch (error) {
       this.setState({ error });
     }
   }
 
-  onAddPerson = async user => {
-    if (user) {
-      let modal = MODAL_USER_ADDED_WITH_INVITE;
-
-      // we assume invite style creation and tweak as needed if email not available
-      if (!MetabaseSettings.isEmailConfigured()) {
-        modal = MODAL_USER_ADDED_WITH_PASSWORD;
-        user.password = MetabaseUtils.generatePassword();
-      }
-
-      // create the user
-      await this.props.createUser(user);
-
-      // carry on
-      this.props.showModal({
-        type: modal,
-        details: {
-          user: user,
-        },
-      });
-    } else {
-      this.props.showModal(null);
-    }
-  };
-
-  onEditDetails = async user => {
-    if (user) {
-      await this.props.updateUser(user);
-    }
-    this.props.showModal(null);
-  };
-
-  onPasswordResetConfirm(user) {
-    if (MetabaseSettings.isEmailConfigured()) {
-      // trigger password reset email
-      this.props.resetPasswordViaEmail(user);
-
-      // show confirmation modal
-      this.props.showModal({
-        type: MODAL_RESET_PASSWORD_EMAIL,
-        details: { user: user },
-      });
-    } else {
-      // generate a password
-      const password = MetabaseUtils.generatePassword();
-
-      // trigger the reset
-      this.props.resetPasswordManually(user, password);
-
-      // show confirmation modal
-      this.props.showModal({
-        type: MODAL_RESET_PASSWORD_MANUAL,
-        details: { password: password, user: user },
-      });
-    }
-  }
-
-  onDeactivateUserConfirm(user) {
-    this.props.showModal(null);
-    this.props.deactivateUser(user);
-  }
-
-  onReactivateUserConfirm(user) {
-    this.props.showModal(null);
-    this.props.reactivateUser(user);
-  }
-
-  onCloseModal = () => {
-    this.props.showModal(null);
-  };
-
-  renderAddPersonModal(modalDetails) {
-    return (
-      <Modal title={t`Who do you want to add?`} onClose={this.onCloseModal}>
-        <EditUserForm
-          buttonText={t`Add`}
-          submitFn={this.onAddPerson}
-          groups={this.props.groups}
-        />
-      </Modal>
-    );
-  }
-
-  renderEditDetailsModal(modalDetails) {
-    let { user } = modalDetails;
-
-    return (
-      <Modal
-        title={t`Edit ${user.first_name}'s details`}
-        onClose={this.onCloseModal}
-      >
-        <EditUserForm user={user} submitFn={this.onEditDetails} />
-      </Modal>
-    );
-  }
-
-  renderUserAddedWithPasswordModal(modalDetails) {
-    let { user } = modalDetails;
-
-    return (
-      <Modal
-        title={t`${user.first_name} has been added`}
-        footer={[
-          <Button
-            onClick={() => this.props.showModal({ type: MODAL_ADD_PERSON })}
-          >{t`Add another person`}</Button>,
-          <Button primary onClick={this.onCloseModal}>{t`Done`}</Button>,
-        ]}
-        formModal
-        onClose={this.onCloseModal}
-      >
-        <div>
-          <div className="pb4">{jt`We couldn’t send them an email invitation,
-                    so make sure to tell them to log in using ${(
-                      <span className="text-bold">{user.email}</span>
-                    )}
-                    and this password we’ve generated for them:`}</div>
-
-          <PasswordReveal password={user.password} />
-
-          <div
-            style={{ paddingLeft: "5em", paddingRight: "5em" }}
-            className="pt4 text-centered"
-          >{jt`If you want to be able to send email invites, just go to the ${(
-            <Link to="/admin/settings/email" className="link text-bold">
-              Email Settings
-            </Link>
-          )} page.`}</div>
-        </div>
-      </Modal>
-    );
-  }
-
-  renderUserAddedWithInviteModal(modalDetails) {
-    let { user } = modalDetails;
-
-    return (
-      <Modal
-        small
-        title={t`${user.first_name} has been added`}
-        footer={[
-          <Button
-            onClick={() => this.props.showModal({ type: MODAL_ADD_PERSON })}
-          >{t`Add another person`}</Button>,
-          <Button primary onClick={this.onCloseModal}>{t`Done`}</Button>,
-        ]}
-        onClose={this.onCloseModal}
-      >
-        <div className="pb4">
-          {jt`We’ve sent an invite to ${(
-            <span className="text-bold">{user.email}</span>
-          )} with instructions to set their password.`}
-        </div>
-      </Modal>
-    );
-  }
-
-  renderInviteResentModal(modalDetails) {
-    let { user } = modalDetails;
-
-    return (
-      <Modal
-        small
-        form
-        title={t`We've re-sent ${user.first_name}'s invite`}
-        footer={[
-          <Button primary onClick={this.onCloseModal}>{t`Okay`}</Button>,
-        ]}
-        onClose={this.onCloseModal}
-      >
-        <p className="text-paragraph pb2">{t`Any previous email invites they have will no longer work.`}</p>
-      </Modal>
-    );
-  }
-
-  renderDeactivateUserModal(modalDetails) {
-    let { user } = modalDetails;
-
-    return (
-      <Modal
-        small
-        title={t`Deactivate ${user.common_name}?`}
-        footer={[
-          <Button onClick={this.onCloseModal}>{t`Cancel`}</Button>,
-          <Button danger onClick={() => this.onDeactivateUserConfirm(user)}>
-            {t`Deactivate`}
-          </Button>,
-        ]}
-        onClose={this.onCloseModal}
-      >
-        {t`${user.first_name} won't be able to log in anymore.`}
-      </Modal>
-    );
-  }
-
-  renderReactivateUserModal(modalDetails) {
-    let { user } = modalDetails;
-
-    return (
-      <Modal
-        small
-        title={t`Reactivate ${user.common_name}'s account?`}
-        footer={[
-          <Button onClick={this.onCloseModal}>{t`Cancel`}</Button>,
-          <Button
-            primary
-            onClick={() => this.onReactivateUserConfirm(user)}
-          >{t`Reactivate`}</Button>,
-        ]}
-        onClose={this.onCloseModal}
-      >
-        {t`They'll be able to log in again, and they'll be placed back into the groups they were in before their account was deactivated.`}
-      </Modal>
-    );
-  }
-
-  renderResetPasswordModal(modalDetails) {
-    let { user } = modalDetails;
-
-    return (
-      <Modal
-        small
-        title={t`Reset ${user.first_name}'s password?`}
-        footer={[
-          <Button onClick={this.onCloseModal}>{t`Cancel`}</Button>,
-          <Button
-            warning
-            onClick={() => this.onPasswordResetConfirm(user)}
-          >{t`Reset`}</Button>,
-        ]}
-        onClose={this.onCloseModal}
-      >
-        {t`Are you sure you want to do this?`}
-      </Modal>
-    );
-  }
-
-  renderPasswordResetManuallyModal(modalDetails) {
-    let { user, password } = modalDetails;
-
-    return (
-      <Modal
-        small
-        title={t`${user.first_name}'s password has been reset`}
-        footer={
-          <button
-            className="Button Button--primary"
-            onClick={this.onCloseModal}
-          >{t`Done`}</button>
-        }
-        onClose={this.onCloseModal}
-      >
-        <span className="pb3 block">{t`Here’s a temporary password they can use to log in and then change their password.`}</span>
-
-        <PasswordReveal password={password} />
-      </Modal>
-    );
-  }
-
-  renderPasswordResetViaEmailModal(modalDetails) {
-    let { user } = modalDetails;
-
-    return (
-      <Modal
-        small
-        title={t`${user.first_name}'s password has been reset`}
-        footer={<Button primary onClick={this.onCloseModal}>{t`Done`}</Button>}
-        onClose={this.onCloseModal}
-      >
-        {t`We've sent them an email with instructions for creating a new password.`}
-      </Modal>
-    );
-  }
-
-  renderModal(modalType, modalDetails) {
-    switch (modalType) {
-      case MODAL_ADD_PERSON:
-        return this.renderAddPersonModal(modalDetails);
-      case MODAL_EDIT_DETAILS:
-        return this.renderEditDetailsModal(modalDetails);
-      case MODAL_USER_ADDED_WITH_PASSWORD:
-        return this.renderUserAddedWithPasswordModal(modalDetails);
-      case MODAL_USER_ADDED_WITH_INVITE:
-        return this.renderUserAddedWithInviteModal(modalDetails);
-      case MODAL_INVITE_RESENT:
-        return this.renderInviteResentModal(modalDetails);
-      case MODAL_DEACTVIATE_USER:
-        return this.renderDeactivateUserModal(modalDetails);
-      case MODAL_REACTIVATE_USER:
-        return this.renderReactivateUserModal(modalDetails);
-      case MODAL_RESET_PASSWORD:
-        return this.renderResetPasswordModal(modalDetails);
-      case MODAL_RESET_PASSWORD_MANUAL:
-        return this.renderPasswordResetManuallyModal(modalDetails);
-      case MODAL_RESET_PASSWORD_EMAIL:
-        return this.renderPasswordResetViaEmailModal(modalDetails);
-    }
-
-    return null;
-  }
-
   render() {
-    let { modal, users, groups } = this.props;
-    let { error, showDeactivated } = this.state;
+    let { user, users, groups } = this.props;
+    let { showDeactivated } = this.state;
+
+    const isAdmin = u => u.is_superuser;
+    const isCurrentUser = u => user && user.id === u.id;
 
+    // TODO - this should be done in connect
     users = _.values(users).sort((a, b) => b.date_joined - a.date_joined);
 
     const [active, deactivated] = _.partition(users, user => user.is_active);
@@ -452,116 +110,116 @@ export default class PeopleListingApp extends Component {
     }
 
     return (
-      <LoadingAndErrorWrapper loading={!users} error={error}>
-        {() => (
-          <AdminPaneLayout
-            title={title}
-            buttonText={showDeactivated ? null : t`Add someone`}
-            buttonAction={() =>
-              this.props.showModal({ type: MODAL_ADD_PERSON })
-            }
-          >
-            <section className="pb4">
-              <table className="ContentTable">
-                <thead>
-                  <tr>
-                    <th>{t`Name`}</th>
-                    <th />
-                    <th>{t`Email`}</th>
-                    {showDeactivated
-                      ? [
-                          <th key="deactivated_at">{t`Deactivated`}</th>,
-                          <th key="actions" />,
-                        ]
-                      : [
-                          <th key="groups">{t`Groups`}</th>,
-                          <th key="last_login">{t`Last Login`}</th>,
-                          <th key="actions" />,
-                        ]}
-                  </tr>
-                </thead>
-                <tbody>
-                  {users.map(user => (
-                    <tr key={user.id}>
-                      <td>
-                        <span className="text-white inline-block">
-                          <UserAvatar
-                            background={
-                              user.is_superuser ? "bg-purple" : "bg-brand"
-                            }
+      <AdminPaneLayout
+        title={title}
+        buttonText={showDeactivated ? null : t`Add someone`}
+        buttonLink={Urls.newUser()}
+      >
+        <section className="pb4">
+          <table className="ContentTable">
+            <thead>
+              <tr>
+                <th>{t`Name`}</th>
+                <th />
+                <th>{t`Email`}</th>
+                {showDeactivated
+                  ? [
+                      <th key="deactivated_at">{t`Deactivated`}</th>,
+                      <th key="actions" />,
+                    ]
+                  : [
+                      <th key="groups">{t`Groups`}</th>,
+                      <th key="last_login">{t`Last Login`}</th>,
+                      <th key="actions" />,
+                    ]}
+              </tr>
+            </thead>
+            <tbody>
+              {users.map(user => (
+                <tr key={user.id}>
+                  <td>
+                    <span className="text-white inline-block">
+                      <UserAvatar
+                        background={
+                          user.is_superuser ? "bg-purple" : "bg-brand"
+                        }
+                        user={user}
+                      />
+                    </span>{" "}
+                    <span className="ml2 text-bold">{user.common_name}</span>
+                  </td>
+                  <td>
+                    {user.google_auth ? (
+                      <Tooltip tooltip={t`Signed up via Google`}>
+                        <Icon name="google" />
+                      </Tooltip>
+                    ) : null}
+                    {user.ldap_auth ? (
+                      <Tooltip tooltip={t`Signed up via LDAP`}>
+                        <Icon name="ldap" />
+                      </Tooltip>
+                    ) : null}
+                  </td>
+                  <td>{user.email}</td>
+                  {showDeactivated
+                    ? [
+                        <td key="deactivated_at">
+                          {moment(user.updated_at).fromNow()}
+                        </td>,
+                        <td key="actions">
+                          <Tooltip tooltip={t`Reactivate this account`}>
+                            <Link to={Urls.reactivateUser(user.id)}>
+                              <Icon
+                                name="refresh"
+                                className="text-light text-brand-hover cursor-pointer"
+                                size={20}
+                              />
+                            </Link>
+                          </Tooltip>
+                        </td>,
+                      ]
+                    : [
+                        <td key="groups">
+                          <UserGroupSelect
                             user={user}
+                            groups={groups}
+                            createMembership={this.props.createMembership}
+                            deleteMembership={this.props.deleteMembership}
                           />
-                        </span>{" "}
-                        <span className="ml2 text-bold">
-                          {user.common_name}
-                        </span>
-                      </td>
-                      <td>
-                        {user.google_auth ? (
-                          <Tooltip tooltip={t`Signed up via Google`}>
-                            <Icon name="google" />
-                          </Tooltip>
-                        ) : null}
-                        {user.ldap_auth ? (
-                          <Tooltip tooltip={t`Signed up via LDAP`}>
-                            <Icon name="ldap" />
-                          </Tooltip>
-                        ) : null}
-                      </td>
-                      <td>{user.email}</td>
-                      {showDeactivated
-                        ? [
-                            <td key="deactivated_at">
-                              {moment(user.updated_at).fromNow()}
-                            </td>,
-                            <td key="actions">
-                              <Tooltip tooltip={t`Reactivate this account`}>
-                                <Icon
-                                  name="refresh"
-                                  className="text-light text-brand-hover cursor-pointer"
-                                  size={20}
-                                  onClick={() =>
-                                    this.props.showModal({
-                                      type: MODAL_REACTIVATE_USER,
-                                      details: { user },
-                                    })
-                                  }
-                                />
-                              </Tooltip>
-                            </td>,
-                          ]
-                        : [
-                            <td key="groups">
-                              <UserGroupSelect
-                                user={user}
-                                groups={groups}
-                                createMembership={this.props.createMembership}
-                                deleteMembership={this.props.deleteMembership}
-                              />
-                            </td>,
-                            <td key="last_login">
-                              {user.last_login
-                                ? moment(user.last_login).fromNow()
-                                : t`Never`}
-                            </td>,
-                            <td key="actions" className="text-right">
-                              <UserActionsSelect
-                                user={user}
-                                showModal={this.props.showModal}
-                                resendInvite={this.props.resendInvite}
-                                isActiveUser={this.props.user.id === user.id}
-                              />
-                            </td>,
-                          ]}
-                    </tr>
-                  ))}
-                </tbody>
-              </table>
-            </section>
-            {modal ? this.renderModal(modal.type, modal.details) : null}
-          </AdminPaneLayout>
-        )}
-      </LoadingAndErrorWrapper>
+                        </td>,
+                        <td key="last_login">
+                          {user.last_login
+                            ? moment(user.last_login).fromNow()
+                            : t`Never`}
+                        </td>,
+                        <td key="actions" className="text-right">
+                          <EntityMenu
+                            triggerIcon="ellipsis"
+                            items={[
+                              {
+                                title: t`Edit user`,
+                                link: Urls.editUser(user.id),
+                              },
+                              {
+                                title: t`Reset password`,
+                                link: Urls.resetPassword(user.id),
+                              },
+                              !isAdmin(user) &&
+                                !isCurrentUser(user) && {
+                                  title: t`Deactivate user`,
+                                  link: Urls.deactivateUser(user.id),
+                                },
+                            ]}
+                          />
+                        </td>,
+                      ]}
+                </tr>
+              ))}
+            </tbody>
+          </table>
+        </section>
+        {this.props.children}
+      </AdminPaneLayout>
     );
   }
 }
diff --git a/frontend/src/metabase/admin/people/containers/UserActivationModal.jsx b/frontend/src/metabase/admin/people/containers/UserActivationModal.jsx
new file mode 100644
index 0000000000000000000000000000000000000000..04d0977a51fa688a66107abf5bf554b47fff6e16
--- /dev/null
+++ b/frontend/src/metabase/admin/people/containers/UserActivationModal.jsx
@@ -0,0 +1,66 @@
+import React from "react";
+import { connect } from "react-redux";
+import { t } from "c-3po";
+import _ from "underscore";
+
+import User from "metabase/entities/users";
+
+import Button from "metabase/components/Button";
+import ModalContent from "metabase/components/ModalContent";
+import Text from "metabase/components/Text";
+
+// NOTE: we have to load the list of users because /api/user/:id doesn't return deactivated users
+// but that's ok because it's probably already loaded through the people PeopleListingApp
+@User.loadList({
+  query: { include_deactivated: true },
+  wrapped: true,
+})
+@connect((state, { users, params: { userId } }) => ({
+  user: _.findWhere(users, { id: parseInt(userId) }),
+}))
+class UserActivationModal extends React.Component {
+  render() {
+    const { user, onClose } = this.props;
+    if (!user) {
+      return null;
+    }
+
+    if (user.is_active) {
+      return (
+        <ModalContent
+          title={t`Deactivate ${user.getName()}?`}
+          onClose={onClose}
+        >
+          <Text>{t`${user.getName()} won't be able to log in anymore.`}</Text>
+          <Button
+            ml="auto"
+            danger
+            onClick={() => user.deactivate() && onClose()}
+          >
+            {t`Deactivate`}
+          </Button>
+        </ModalContent>
+      );
+    } else {
+      return (
+        <ModalContent
+          title={t`Reactivate ${user.getName()}?`}
+          onClose={onClose}
+        >
+          <Text>
+            {t`They'll be able to log in again, and they'll be placed back into the groups they were in before their account was deactivated.`}
+          </Text>
+          <Button
+            ml="auto"
+            danger
+            onClick={() => user.reactivate() && onClose()}
+          >
+            {t`Reactivate`}
+          </Button>
+        </ModalContent>
+      );
+    }
+  }
+}
+
+export default UserActivationModal;
diff --git a/frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx b/frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx
new file mode 100644
index 0000000000000000000000000000000000000000..ec7db07ffda49634e0a8fd407e745969413a74d8
--- /dev/null
+++ b/frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx
@@ -0,0 +1,75 @@
+import React from "react";
+import { connect } from "react-redux";
+import { goBack } from "react-router-redux";
+import { t } from "c-3po";
+import { Flex } from "grid-styled";
+
+import User from "metabase/entities/users";
+import { clearTemporaryPassword } from "../people";
+import { getUserTemporaryPassword } from "../selectors";
+
+import MetabaseSettings from "metabase/lib/settings";
+
+import Button from "metabase/components/Button";
+import ModalContent from "metabase/components/ModalContent";
+import PasswordReveal from "metabase/components/PasswordReveal";
+
+@User.load({
+  id: (state, props) => props.params.userId,
+  wrapped: true,
+})
+@connect(
+  (state, props) => ({
+    emailConfigured: MetabaseSettings.isEmailConfigured(),
+    temporaryPassword: getUserTemporaryPassword(state, {
+      userId: props.params.userId,
+    }),
+  }),
+  {
+    onClose: goBack,
+    clearTemporaryPassword,
+  },
+)
+export default class UserPasswordResetModal extends React.Component {
+  componentWillUnmount() {
+    this.props.clearTemporaryPassword(this.props.params.userId);
+  }
+  render() {
+    const { user, emailConfigured, temporaryPassword, onClose } = this.props;
+    return temporaryPassword ? (
+      <ModalContent
+        title={t`${user.first_name}'s password has been reset`}
+        footer={<Button primary onClick={onClose}>{t`Done`}</Button>}
+        onClose={onClose}
+      >
+        <span className="pb3 block">{t`Here’s a temporary password they can use to log in and then change their password.`}</span>
+
+        <PasswordReveal password={temporaryPassword} />
+      </ModalContent>
+    ) : (
+      <ModalContent
+        title={t`Reset ${user.getName()}'s password?`}
+        onClose={onClose}
+      >
+        <p>{t`Are you sure you want to do this?`}</p>
+
+        <Flex>
+          <Button
+            ml="auto"
+            onClick={async () => {
+              if (emailConfigured) {
+                await user.passwordResetEmail();
+                onClose();
+              } else {
+                await user.passwordResetManual();
+              }
+            }}
+            danger
+          >
+            {t`Reset password`}
+          </Button>
+        </Flex>
+      </ModalContent>
+    );
+  }
+}
diff --git a/frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx b/frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx
new file mode 100644
index 0000000000000000000000000000000000000000..5ffb6d5eb7c22ebda0b82bfbe3a74cc3f3c905d7
--- /dev/null
+++ b/frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx
@@ -0,0 +1,80 @@
+import React from "react";
+import { Box } from "grid-styled";
+import { t, jt } from "c-3po";
+
+import { connect } from "react-redux";
+import { push } from "react-router-redux";
+
+import User from "metabase/entities/users";
+import { clearTemporaryPassword } from "../people";
+import { getUserTemporaryPassword } from "../selectors";
+
+import Button from "metabase/components/Button";
+import Link from "metabase/components/Link";
+import ModalContent from "metabase/components/ModalContent";
+import PasswordReveal from "metabase/components/PasswordReveal";
+
+@User.load({
+  id: (state, props) => props.params.userId,
+  wrapped: true,
+})
+@connect(
+  (state, props) => ({
+    temporaryPassword: getUserTemporaryPassword(state, {
+      userId: props.params.userId,
+    }),
+  }),
+  {
+    onClose: () => push("/admin/people"),
+    clearTemporaryPassword,
+  },
+)
+export default class UserSuccessModal extends React.Component {
+  componentWillUnmount() {
+    this.props.clearTemporaryPassword(this.props.params.userId);
+  }
+  render() {
+    const { onClose, user, temporaryPassword } = this.props;
+    return (
+      <ModalContent
+        title={t`${user.getName()} has been added`}
+        footer={<Button primary onClick={() => onClose()}>{t`Done`}</Button>}
+        onClose={onClose}
+      >
+        {temporaryPassword ? (
+          <PasswordSuccess user={user} temporaryPassword={temporaryPassword} />
+        ) : (
+          <EmailSuccess user={user} />
+        )}
+      </ModalContent>
+    );
+  }
+}
+
+const EmailSuccess = ({ user }) => (
+  <Box>{jt`We’ve sent an invite to ${(
+    <strong>{user.email}</strong>
+  )} with instructions to set their password.`}</Box>
+);
+
+const PasswordSuccess = ({ user, temporaryPassword }) => (
+  <Box>
+    <Box pb={4}>
+      {jt`We couldn’t send them an email invitation, so make sure to tell them to log in using ${(
+        <strong>{user.email}</strong>
+      )} and this password we’ve generated for them:`}
+    </Box>
+
+    <PasswordReveal password={temporaryPassword} />
+    <Box
+      style={{ paddingLeft: "5em", paddingRight: "5em" }}
+      className="pt4 text-centered"
+    >
+      {jt`If you want to be able to send email invites, just go to the ${(
+        <Link to="/admin/settings/email" className="link text-bold">
+          Email Settings
+        </Link>
+      )} page.`}
+    </Box>
+  </Box>
+);
diff --git a/frontend/src/metabase/admin/people/people.js b/frontend/src/metabase/admin/people/people.js
index 78bf2e16e7f803e9593c4716bb9b0209a0c7b1d9..c81ca16c12708359ab88b1303c282a74915f5666 100644
--- a/frontend/src/metabase/admin/people/people.js
+++ b/frontend/src/metabase/admin/people/people.js
@@ -1,53 +1,25 @@
 import {
   createAction,
-  createThunkAction,
   handleActions,
   combineReducers,
-  momentifyTimestamps,
-  momentifyObjectsTimestamps,
 } from "metabase/lib/redux";
-import { normalize, schema } from "normalizr";
 
 import MetabaseAnalytics from "metabase/lib/analytics";
-import { isMetaBotGroup } from "metabase/lib/groups";
 
-import { SessionApi, UserApi, PermissionsApi } from "metabase/services";
+import { PermissionsApi } from "metabase/services";
 
 import _ from "underscore";
 import { assoc, dissoc } from "icepick";
 
-const user = new schema.Entity("user");
+import Users from "metabase/entities/users";
 
-// action constants
-export const CREATE_USER = "metabase/admin/people/CREATE_USER";
-export const FETCH_USERS = "metabase/admin/people/FETCH_USERS";
-export const DEACTIVATE_USER = "metabase/admin/people/DEACTIVATE_USER";
-export const REACTIVATE_USER = "metabase/admin/people/REACTIVATE_USER";
-export const RESEND_INVITE = "metabase/admin/people/RESEND_INVITE";
-export const RESET_PASSWORD_EMAIL =
-  "metabase/admin/people/RESET_PASSWORD_EMAIL";
-export const RESET_PASSWORD_MANUAL =
-  "metabase/admin/people/RESET_PASSWORD_MANUAL";
-export const SHOW_MODAL = "metabase/admin/people/SHOW_MODAL";
-export const UPDATE_USER = "metabase/admin/people/UPDATE_USER";
-export const LOAD_GROUPS = "metabase/admin/people/LOAD_GROUPS";
 export const LOAD_MEMBERSHIPS = "metabase/admin/people/LOAD_MEMBERSHIPS";
-export const LOAD_GROUP_DETAILS = "metabase/admin/people/LOAD_GROUP_DETAILS";
-
 export const CREATE_MEMBERSHIP = "metabase/admin/people/CREATE_MEMBERSHIP";
 export const DELETE_MEMBERSHIP = "metabase/admin/people/DELETE_MEMBERSHIP";
+export const CLEAR_TEMPORARY_PASSWORD =
+  "metabase/admin/people/CLEAR_TEMPORARY_PASSWORD";
 
-// action creators
-
-export const showModal = createAction(SHOW_MODAL);
-
-export const loadGroups = createAction(LOAD_GROUPS, () =>
-  PermissionsApi.groups(),
-);
-
-export const loadGroupDetails = createAction(LOAD_GROUP_DETAILS, id =>
-  PermissionsApi.groupDetails({ id: id }),
-);
+// ACTION CREATORS
 
 export const loadMemberships = createAction(LOAD_MEMBERSHIPS, async () =>
   // flatten the map of user id => memberships
@@ -84,143 +56,9 @@ export const deleteMembership = createAction(
   },
 );
 
-export const createUser = createThunkAction(
-  CREATE_USER,
-  user => async (dispatch, getState) => {
-    // apply any user defaults here
-    user.is_superuser = false;
-
-    let newUser = await UserApi.create(user);
-
-    if (user.groups) {
-      await Promise.all(
-        user.groups.map(groupId =>
-          dispatch(createMembership({ userId: newUser.id, groupId: groupId })),
-        ),
-      );
-    }
-
-    MetabaseAnalytics.trackEvent(
-      "People Admin",
-      "User Added",
-      user.password !== null ? "password" : "email",
-    );
-
-    return newUser;
-  },
-);
-
-export const deactivateUser = createThunkAction(
-  DEACTIVATE_USER,
-  user => async () => {
-    await UserApi.delete({
-      userId: user.id,
-    });
-
-    MetabaseAnalytics.trackEvent("People Admin", "User Removed");
-
-    // NOTE: DELETE doesn't return the object, so just fake it:
-    return { ...user, is_active: false };
-  },
-);
-
-export const reactivateUser = createThunkAction(
-  REACTIVATE_USER,
-  user => async () => {
-    const newUser = await UserApi.reactivate({
-      userId: user.id,
-    });
-
-    MetabaseAnalytics.trackEvent("People Admin", "User Reactivated");
+export const clearTemporaryPassword = createAction(CLEAR_TEMPORARY_PASSWORD);
 
-    return newUser;
-  },
-);
-
-export const fetchUsers = createThunkAction(FETCH_USERS, () => async () => {
-  let users = await UserApi.list({ include_deactivated: true });
-  return normalize(users, [user]);
-});
-
-export const resendInvite = createThunkAction(
-  RESEND_INVITE,
-  user => async () => {
-    MetabaseAnalytics.trackEvent("People Admin", "Resent Invite");
-    return await UserApi.send_invite({ id: user.id });
-  },
-);
-
-export const resetPasswordManually = createThunkAction(
-  RESET_PASSWORD_MANUAL,
-  (user, password) => async () => {
-    MetabaseAnalytics.trackEvent("People Admin", "Manual Password Reset");
-    return await UserApi.update_password({ id: user.id, password: password });
-  },
-);
-
-export const resetPasswordViaEmail = createThunkAction(
-  RESET_PASSWORD_EMAIL,
-  user => async () => {
-    MetabaseAnalytics.trackEvent("People Admin", "Trigger User Password Reset");
-    return await SessionApi.forgot_password({ email: user.email });
-  },
-);
-
-export const updateUser = createThunkAction(UPDATE_USER, user => async () => {
-  MetabaseAnalytics.trackEvent("People Admin", "Update Updated");
-  const newUser = await UserApi.update(user);
-  return newUser;
-});
-
-const modal = handleActions(
-  {
-    [SHOW_MODAL]: { next: (state, { payload }) => payload },
-  },
-  null,
-);
-
-const TIMESTAMP_KEYS = [
-  "date_joined",
-  "last_login",
-  "updated_at",
-  "created_at",
-];
-
-const users = handleActions(
-  {
-    [FETCH_USERS]: {
-      next: (state, { payload }) =>
-        momentifyObjectsTimestamps(payload.entities.user, TIMESTAMP_KEYS),
-    },
-    [CREATE_USER]: {
-      next: (state, { payload: user }) =>
-        assoc(state, user.id, momentifyTimestamps(user, TIMESTAMP_KEYS)),
-    },
-    [DEACTIVATE_USER]: {
-      next: (state, { payload: user }) =>
-        assoc(state, user.id, momentifyTimestamps(user, TIMESTAMP_KEYS)),
-    },
-    [REACTIVATE_USER]: {
-      next: (state, { payload: user }) =>
-        assoc(state, user.id, momentifyTimestamps(user, TIMESTAMP_KEYS)),
-    },
-    [UPDATE_USER]: {
-      next: (state, { payload: user }) =>
-        assoc(state, user.id, momentifyTimestamps(user, TIMESTAMP_KEYS)),
-    },
-  },
-  null,
-);
-
-const groups = handleActions(
-  {
-    [LOAD_GROUPS]: {
-      next: (state, { payload }) =>
-        payload && payload.filter(group => !isMetaBotGroup(group)),
-    },
-  },
-  null,
-);
+// REDUCERS
 
 const memberships = handleActions(
   {
@@ -238,17 +76,31 @@ const memberships = handleActions(
   {},
 );
 
-const group = handleActions(
+const temporaryPasswords = handleActions(
   {
-    [LOAD_GROUP_DETAILS]: { next: (state, { payload }) => payload },
+    [Users.actionTypes.CREATE]: {
+      next: (state, { payload }) => ({
+        ...state,
+        [payload.id]: payload.password,
+      }),
+    },
+    [Users.actionTypes.PASSWORD_RESET_MANUAL]: {
+      next: (state, { payload }) => ({
+        ...state,
+        [payload.id]: payload.password,
+      }),
+    },
+    [CLEAR_TEMPORARY_PASSWORD]: {
+      next: (state, { payload }) => ({
+        ...state,
+        [payload]: null,
+      }),
+    },
   },
-  null,
+  {},
 );
 
 export default combineReducers({
-  modal,
-  users,
-  groups,
-  group,
   memberships,
+  temporaryPasswords,
 });
diff --git a/frontend/src/metabase/admin/people/selectors.js b/frontend/src/metabase/admin/people/selectors.js
index 577178f90162f4f09118909c5d42882b207f6038..59c3aee9e0d85123a8257af991ea4bf4f3cb49a3 100644
--- a/frontend/src/metabase/admin/people/selectors.js
+++ b/frontend/src/metabase/admin/people/selectors.js
@@ -1,14 +1,19 @@
 import { createSelector } from "reselect";
 import _ from "underscore";
 
-export const getGroups = state => state.admin.people.groups;
-export const getGroup = state => state.admin.people.group;
-export const getModal = state => state.admin.people.modal;
+import { isMetaBotGroup } from "metabase/lib/groups";
+
+import Group from "metabase/entities/groups";
+
 export const getMemberships = state => state.admin.people.memberships;
 
-export const getUsers = createSelector(
-  state => state.admin.people.users,
-  state => state.admin.people.memberships,
+export const getGroupsWithoutMetabot = createSelector(
+  [Group.selectors.getList],
+  groups => groups.filter(group => !isMetaBotGroup(group)),
+);
+
+export const getUsersWithMemberships = createSelector(
+  [state => state.entities.users, getMemberships],
   (users, memberships) =>
     users &&
     _.mapObject(users, user => ({
@@ -29,8 +34,8 @@ export const getUsers = createSelector(
 const compareNames = (a, b) =>
   a.localeCompare(b, undefined, { sensitivty: "base" });
 
-export const getSortedUsers = createSelector(
-  [getUsers],
+export const getSortedUsersWithMemberships = createSelector(
+  [getUsersWithMemberships],
   users =>
     users &&
     _.values(users).sort(
@@ -39,3 +44,6 @@ export const getSortedUsers = createSelector(
         compareNames(a.first_name, b.first_name),
     ),
 );
+
+export const getUserTemporaryPassword = (state, props) =>
+  state.admin.people.temporaryPasswords[props.userId];
diff --git a/frontend/src/metabase/admin/permissions/permissions.js b/frontend/src/metabase/admin/permissions/permissions.js
index 51094cf0ad9b93bffb3501fc5682d1691f4ff19c..e5b837d82600a73d1e5df7604a531acfc2ac2d82 100644
--- a/frontend/src/metabase/admin/permissions/permissions.js
+++ b/frontend/src/metabase/admin/permissions/permissions.js
@@ -5,10 +5,10 @@ import {
   combineReducers,
 } from "metabase/lib/redux";
 
-import { canEditPermissions } from "metabase/lib/groups";
 import MetabaseAnalytics from "metabase/lib/analytics";
 import { t } from "c-3po";
 import { PermissionsApi } from "metabase/services";
+import Group from "metabase/entities/groups";
 
 const RESET = "metabase/admin/permissions/RESET";
 export const reset = createAction(RESET);
@@ -18,7 +18,10 @@ export const initialize = createThunkAction(
   INITIALIZE,
   (load, save) => async (dispatch, getState) => {
     dispatch(reset({ load, save }));
-    await Promise.all([dispatch(loadPermissions()), dispatch(loadGroups())]);
+    await Promise.all([
+      dispatch(loadPermissions()),
+      dispatch(Group.actions.fetchList()),
+    ]);
   },
 );
 
@@ -112,20 +115,6 @@ const revision = handleActions(
   null,
 );
 
-const groups = handleActions(
-  {
-    [LOAD_GROUPS]: {
-      next: (state, { payload }) =>
-        payload &&
-        payload.map(group => ({
-          ...group,
-          editable: canEditPermissions(group),
-        })),
-    },
-  },
-  null,
-);
-
 const saveError = handleActions(
   {
     [RESET]: { next: () => null },
@@ -158,7 +147,6 @@ export default combineReducers({
   originalPermissions,
   saveError,
   revision,
-  groups,
 
   propagatePermissions,
 });
diff --git a/frontend/src/metabase/admin/permissions/selectors.js b/frontend/src/metabase/admin/permissions/selectors.js
index 5bbd0dcab35c03b10f7fe538628e7f1fbc3b5522..f7721e5fa18c57fb3d21ce627881472f22e964c2 100644
--- a/frontend/src/metabase/admin/permissions/selectors.js
+++ b/frontend/src/metabase/admin/permissions/selectors.js
@@ -10,11 +10,6 @@ import MetabaseAnalytics from "metabase/lib/analytics";
 import colors, { alpha } from "metabase/lib/colors";
 
 import { t } from "c-3po";
-import {
-  isDefaultGroup,
-  isAdminGroup,
-  isMetaBotGroup,
-} from "metabase/lib/groups";
 
 import _ from "underscore";
 import { getIn, assocIn } from "icepick";
@@ -31,13 +26,24 @@ import {
   diffPermissions,
   inferAndUpdateEntityPermissions,
 } from "metabase/lib/permissions";
+import {
+  isDefaultGroup,
+  isAdminGroup,
+  isMetaBotGroup,
+  canEditPermissions,
+} from "metabase/lib/groups";
+
+import Group from "metabase/entities/groups";
 
 import { getMetadata } from "metabase/selectors/metadata";
 
 import Metadata from "metabase-lib/lib/metadata/Metadata";
 import type { DatabaseId } from "metabase/meta/types/Database";
 import type { SchemaName } from "metabase/meta/types/Table";
-import type { Group, GroupsPermissions } from "metabase/meta/types/Permissions";
+import type {
+  Group as GroupType,
+  GroupsPermissions,
+} from "metabase/meta/types/Permissions";
 
 const getPermissions = state => state.admin.permissions.permissions;
 const getOriginalPermissions = state =>
@@ -65,22 +71,20 @@ function getTooltipForGroup(group) {
   return null;
 }
 
-export const getGroups = createSelector(
-  state => state.admin.permissions.groups,
-  groups => {
-    let orderedGroups = groups ? [...groups] : [];
-    for (let groupFilter of SPECIAL_GROUP_FILTERS) {
-      let index = _.findIndex(orderedGroups, groupFilter);
-      if (index >= 0) {
-        orderedGroups.unshift(...orderedGroups.splice(index, 1));
-      }
+export const getGroups = createSelector([Group.selectors.getList], groups => {
+  let orderedGroups = groups ? [...groups] : [];
+  for (let groupFilter of SPECIAL_GROUP_FILTERS) {
+    let index = _.findIndex(orderedGroups, groupFilter);
+    if (index >= 0) {
+      orderedGroups.unshift(...orderedGroups.splice(index, 1));
     }
-    return orderedGroups.map(group => ({
-      ...group,
-      tooltip: getTooltipForGroup(group),
-    }));
-  },
-);
+  }
+  return orderedGroups.map(group => ({
+    ...group,
+    editable: canEditPermissions(group),
+    tooltip: getTooltipForGroup(group),
+  }));
+});
 
 export const getIsDirty = createSelector(
   getPermissions,
@@ -293,7 +297,7 @@ export const getTablesPermissionsGrid = createSelector(
   getSchemaName,
   (
     metadata: Metadata,
-    groups: Array<Group>,
+    groups: Array<GroupType>,
     permissions: GroupsPermissions,
     databaseId: DatabaseId,
     schemaName: SchemaName,
@@ -400,7 +404,7 @@ export const getSchemasPermissionsGrid = createSelector(
   getDatabaseId,
   (
     metadata: Metadata,
-    groups: Array<Group>,
+    groups: Array<GroupType>,
     permissions: GroupsPermissions,
     databaseId: DatabaseId,
   ) => {
@@ -501,7 +505,7 @@ export const getDatabasesPermissionsGrid = createSelector(
   getPermissions,
   (
     metadata: Metadata,
-    groups: Array<Group>,
+    groups: Array<GroupType>,
     permissions: GroupsPermissions,
   ) => {
     if (!groups || !permissions || !metadata) {
@@ -708,7 +712,7 @@ export const getCollectionsPermissionsGrid = createSelector(
   getPropagatePermissions,
   (
     collections,
-    groups: Array<Group>,
+    groups: Array<GroupType>,
     permissions: GroupsPermissions,
     propagatePermissions: boolean,
   ) => {
@@ -868,7 +872,7 @@ export const getDiff = createSelector(
   getOriginalPermissions,
   (
     metadata: Metadata,
-    groups: Array<Group>,
+    groups: Array<GroupType>,
     permissions: GroupsPermissions,
     originalPermissions: GroupsPermissions,
   ) => diffPermissions(permissions, originalPermissions, groups, metadata),
diff --git a/frontend/src/metabase/admin/routes.jsx b/frontend/src/metabase/admin/routes.jsx
index 5e896915da5497ca2ab2d4ced081796a74250ba5..c1a853ff80a182df3e3864e48e767729cb19939f 100644
--- a/frontend/src/metabase/admin/routes.jsx
+++ b/frontend/src/metabase/admin/routes.jsx
@@ -6,6 +6,12 @@ import { t } from "c-3po";
 import { withBackground } from "metabase/hoc/Background";
 import { ModalRoute } from "metabase/hoc/ModalRoute";
 
+import NewUserModal from "metabase/admin/people/containers/NewUserModal";
+import UserSuccessModal from "metabase/admin/people/containers/UserSuccessModal";
+import UserPasswordResetModal from "metabase/admin/people/containers/UserPasswordResetModal";
+import EditUserModal from "metabase/admin/people/containers/EditUserModal";
+import UserActivationModal from "metabase/admin/people/containers/UserActivationModal";
+
 // Settings
 import SettingsEditorApp from "metabase/admin/settings/containers/SettingsEditorApp.jsx";
 
@@ -27,6 +33,7 @@ import TasksApp from "metabase/admin/tasks/containers/TasksApp";
 import TaskModal from "metabase/admin/tasks/containers/TaskModal";
 import JobInfoApp from "metabase/admin/tasks/containers/JobInfoApp";
 import JobTriggersModal from "metabase/admin/tasks/containers/JobTriggersModal";
+import Logs from "metabase/admin/tasks/containers/Logs";
 
 // People
 import PeopleListingApp from "metabase/admin/people/containers/PeopleListingApp.jsx";
@@ -76,10 +83,24 @@ const getRoutes = (store, IsAdmin) => (
     {/* PEOPLE */}
     <Route path="people" title={t`People`} component={AdminPeopleApp}>
       <IndexRoute component={PeopleListingApp} />
+
+      {/*NOTE: this must come before the other routes otherwise it will be masked by them*/}
       <Route path="groups" title={t`Groups`}>
         <IndexRoute component={GroupsListingApp} />
         <Route path=":groupId" component={GroupDetailApp} />
       </Route>
+
+      <Route path="" component={PeopleListingApp}>
+        <ModalRoute path="new" modal={NewUserModal} />
+      </Route>
+
+      <Route path=":userId" component={PeopleListingApp}>
+        <ModalRoute path="edit" modal={EditUserModal} />
+        <ModalRoute path="success" modal={UserSuccessModal} />
+        <ModalRoute path="reset" modal={UserPasswordResetModal} />
+        <ModalRoute path="deactivate" modal={UserActivationModal} />
+        <ModalRoute path="reactivate" modal={UserActivationModal} />
+      </Route>
     </Route>
 
     {/* Troubleshooting */}
@@ -99,6 +120,7 @@ const getRoutes = (store, IsAdmin) => (
           modalProps={{ wide: true }}
         />
       </Route>
+      <Route path="logs" component={Logs} />
     </Route>
 
     {/* SETTINGS */}
diff --git a/frontend/src/metabase/components/Logs.jsx b/frontend/src/metabase/admin/tasks/containers/Logs.jsx
similarity index 74%
rename from frontend/src/metabase/components/Logs.jsx
rename to frontend/src/metabase/admin/tasks/containers/Logs.jsx
index 246ab02a5c2e0bd1c876be1e43bf8d6e51966dd6..f2f51ed6f8f72325961a624321ade262a0fd93c3 100644
--- a/frontend/src/metabase/components/Logs.jsx
+++ b/frontend/src/metabase/admin/tasks/containers/Logs.jsx
@@ -3,13 +3,31 @@ import ReactDOM from "react-dom";
 
 import { UtilApi } from "metabase/services";
 
-import LoadingAndErrorWrapper from "metabase/components/LoadingAndErrorWrapper.jsx";
+import LoadingAndErrorWrapper from "metabase/components/LoadingAndErrorWrapper";
 
 import reactAnsiStyle from "react-ansi-style";
 import "react-ansi-style/inject-css";
 
 import _ from "underscore";
 
+import { addCSSRule } from "metabase/lib/dom";
+import colors from "metabase/lib/colors";
+
+const ANSI_COLORS = {
+  black: colors["text-black"],
+  white: colors["text-white"],
+  gray: colors["text-medium"],
+  red: colors["saturated-red"],
+  green: colors["saturated-green"],
+  yellow: colors["saturated-yellow"],
+  blue: colors["saturated-blue"],
+  magenta: colors["saturated-purple"],
+  cyan: "cyan",
+};
+for (const [name, color] of Object.entries(ANSI_COLORS)) {
+  addCSSRule(`.react-ansi-style-${name}`, `color: ${color} !important`);
+}
+
 export default class Logs extends Component {
   constructor() {
     super();
@@ -67,12 +85,12 @@ export default class Logs extends Component {
       <LoadingAndErrorWrapper loading={!logs || logs.length === 0}>
         {() => (
           <div
+            className="rounded bordered bg-light"
             style={{
-              backgroundColor: "black",
-              fontFamily: "monospace",
+              fontFamily: '"Lucida Console", Monaco, monospace',
               fontSize: "14px",
               whiteSpace: "pre-line",
-              padding: "0.5em",
+              padding: "1em",
             }}
           >
             {reactAnsiStyle(React, logs.join("\n"))}
diff --git a/frontend/src/metabase/admin/tasks/containers/TaskModal.jsx b/frontend/src/metabase/admin/tasks/containers/TaskModal.jsx
index cdc206e7c37ec65589dbeb7561b8f78c2c9c8d10..2c3fa20110608fae476c69eb14ef2e4f3b2c2982 100644
--- a/frontend/src/metabase/admin/tasks/containers/TaskModal.jsx
+++ b/frontend/src/metabase/admin/tasks/containers/TaskModal.jsx
@@ -3,14 +3,13 @@ import { t } from "c-3po";
 import { connect } from "react-redux";
 import { goBack } from "react-router-redux";
 
-import { entityObjectLoader } from "metabase/entities/containers/EntityObjectLoader";
+import Task from "metabase/entities/tasks";
 
 import Code from "metabase/components/Code";
 import ModalContent from "metabase/components/ModalContent";
 
-@entityObjectLoader({
-  entityType: "tasks",
-  entityId: (state, props) => props.params.taskId,
+@Task.load({
+  id: (state, props) => props.params.taskId,
 })
 @connect(null, { goBack })
 class TaskModal extends React.Component {
diff --git a/frontend/src/metabase/admin/tasks/containers/TasksApp.jsx b/frontend/src/metabase/admin/tasks/containers/TasksApp.jsx
index c554ca324a7b0298c3377d364fcf380fea54710f..aa13498b7bc53ef81988c8eac44a967d4ab03cf7 100644
--- a/frontend/src/metabase/admin/tasks/containers/TasksApp.jsx
+++ b/frontend/src/metabase/admin/tasks/containers/TasksApp.jsx
@@ -2,24 +2,17 @@ import React from "react";
 import { t } from "c-3po";
 import { Box, Flex } from "grid-styled";
 
-import { entityListLoader } from "metabase/entities/containers/EntityListLoader";
+import Task from "metabase/entities/tasks";
 
 import AdminHeader from "metabase/components/AdminHeader";
 import Icon, { IconWrapper } from "metabase/components/Icon";
 import Link from "metabase/components/Link";
 import Tooltip from "metabase/components/Tooltip";
 
-@entityListLoader({
-  entityType: "tasks",
+@Task.loadList({
   pageSize: 50,
 })
 class TasksApp extends React.Component {
-  constructor(props) {
-    super(props);
-    this.state = {
-      offset: this.props.entityQuery.offset,
-    };
-  }
   render() {
     const {
       tasks,
diff --git a/frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx b/frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx
index 27555600abd3541294ee6ea9171de690434625d7..204518527294ab8111792d860381d7c6e7d59847 100644
--- a/frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx
+++ b/frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx
@@ -30,6 +30,10 @@ export default class TroubleshootingApp extends Component {
               name={t`Jobs`}
               path="/admin/troubleshooting/jobs"
             />
+            <LeftNavPaneItem
+              name={t`Logs`}
+              path="/admin/troubleshooting/logs"
+            />
           </LeftNavPane>
         }
       >
diff --git a/frontend/src/metabase/auth/auth.js b/frontend/src/metabase/auth/auth.js
index d293aa657a112b789b8c44d6c7ae82985f3eb914..1855ac242132ae766e8f4d9089d42c2ec181a24e 100644
--- a/frontend/src/metabase/auth/auth.js
+++ b/frontend/src/metabase/auth/auth.js
@@ -6,7 +6,6 @@ import {
 
 import { push } from "react-router-redux";
 
-import MetabaseCookies from "metabase/lib/cookies";
 import MetabaseUtils from "metabase/lib/utils";
 import MetabaseAnalytics from "metabase/lib/analytics";
 import MetabaseSettings from "metabase/lib/settings";
@@ -36,10 +35,8 @@ export const login = createThunkAction(LOGIN, function(
     }
 
     try {
-      let newSession = await SessionApi.create(credentials);
-
-      // since we succeeded, lets set the session cookie
-      MetabaseCookies.setSessionCookie(newSession.id);
+      // NOTE: this request will return a Set-Cookie header for the session
+      await SessionApi.create(credentials);
 
       MetabaseAnalytics.trackEvent("Auth", "Login");
       // TODO: redirect after login (carry user to intended destination)
@@ -59,13 +56,11 @@ export const loginGoogle = createThunkAction(LOGIN_GOOGLE, function(
 ) {
   return async function(dispatch, getState) {
     try {
-      let newSession = await SessionApi.createWithGoogleAuth({
+      // NOTE: this request will return a Set-Cookie header for the session
+      await SessionApi.createWithGoogleAuth({
         token: googleUser.getAuthResponse().id_token,
       });
 
-      // since we succeeded, lets set the session cookie
-      MetabaseCookies.setSessionCookie(newSession.id);
-
       MetabaseAnalytics.trackEvent("Auth", "Google Auth Login");
 
       // TODO: redirect after login (carry user to intended destination)
@@ -87,13 +82,12 @@ export const loginGoogle = createThunkAction(LOGIN_GOOGLE, function(
 export const LOGOUT = "metabase/auth/LOGOUT";
 export const logout = createThunkAction(LOGOUT, function() {
   return function(dispatch, getState) {
-    // TODO: as part of a logout we want to clear out any saved state that we have about anything
+    // actively delete the session and remove the cookie
+    SessionApi.delete();
+
+    // clear Google auth credentials if any are present
+    clearGoogleAuthCredentials();
 
-    let sessionId = MetabaseCookies.setSessionCookie();
-    if (sessionId) {
-      // actively delete the session
-      SessionApi.delete({ session_id: sessionId });
-    }
     MetabaseAnalytics.trackEvent("Auth", "Logout");
 
     dispatch(push("/auth/login"));
@@ -118,16 +112,12 @@ export const passwordReset = createThunkAction(PASSWORD_RESET, function(
     }
 
     try {
-      let result = await SessionApi.reset_password({
+      // NOTE: this request will return a Set-Cookie header for the session
+      await SessionApi.reset_password({
         token: token,
         password: credentials.password,
       });
 
-      if (result.session_id) {
-        // we should have a valid session that we can use immediately!
-        MetabaseCookies.setSessionCookie(result.session_id);
-      }
-
       MetabaseAnalytics.trackEvent("Auth", "Password Reset");
 
       return {
diff --git a/frontend/src/metabase/collections/containers/CollectionCreate.jsx b/frontend/src/metabase/collections/containers/CollectionCreate.jsx
index 1f35cbca8b996748821bec4dd0ff3f52428dc7df..43aa1f6b809613db12559c00808154f3e7d47bf5 100644
--- a/frontend/src/metabase/collections/containers/CollectionCreate.jsx
+++ b/frontend/src/metabase/collections/containers/CollectionCreate.jsx
@@ -2,11 +2,10 @@ import React, { Component } from "react";
 import { connect } from "react-redux";
 import { goBack } from "react-router-redux";
 
-import CollectionForm from "metabase/containers/CollectionForm";
-import Collections from "metabase/entities/collections";
+import Collection from "metabase/entities/collections";
 
 const mapStateToProps = (state, props) => ({
-  initialCollectionId: Collections.selectors.getInitialCollectionId(
+  initialCollectionId: Collection.selectors.getInitialCollectionId(
     state,
     props,
   ),
@@ -21,7 +20,7 @@ export default class CollectionCreate extends Component {
   render() {
     const { initialCollectionId, goBack } = this.props;
     return (
-      <CollectionForm
+      <Collection.ModalForm
         collection={{
           parent_id: initialCollectionId,
         }}
diff --git a/frontend/src/metabase/collections/containers/CollectionEdit.jsx b/frontend/src/metabase/collections/containers/CollectionEdit.jsx
index d3d946158b771bd6600ea66e42269ae89b1ec145..11532a080be2a671fad8b69ecf0f8fa3e18a2118 100644
--- a/frontend/src/metabase/collections/containers/CollectionEdit.jsx
+++ b/frontend/src/metabase/collections/containers/CollectionEdit.jsx
@@ -3,8 +3,7 @@ import React, { Component } from "react";
 import { connect } from "react-redux";
 import { goBack, push } from "react-router-redux";
 
-import CollectionForm from "metabase/containers/CollectionForm.jsx";
-import CollectionLoader from "metabase/containers/CollectionLoader.jsx";
+import Collection from "metabase/entities/collections";
 
 const mapDispatchToProps = {
   push,
@@ -15,17 +14,15 @@ const mapDispatchToProps = {
 export default class CollectionEdit extends Component {
   render() {
     return (
-      <CollectionLoader collectionId={this.props.params.collectionId}>
-        {({ object, update }) => (
-          <CollectionForm
-            collection={object}
-            onSaved={({ id }) => {
-              this.props.push(`/collection/${id}`);
-            }}
+      <Collection.Loader id={this.props.params.collectionId}>
+        {({ collection, update }) => (
+          <Collection.ModalForm
+            collection={collection}
+            onSaved={({ id }) => this.props.push(`/collection/${id}`)}
             onClose={this.props.goBack}
           />
         )}
-      </CollectionLoader>
+      </Collection.Loader>
     );
   }
 }
diff --git a/frontend/src/metabase/components/AdminPaneLayout.jsx b/frontend/src/metabase/components/AdminPaneLayout.jsx
index 2803465e0fda06d38c1bfd5b17066207335cd13f..75aec417f53882607e4900ac625035e5edc74528 100644
--- a/frontend/src/metabase/components/AdminPaneLayout.jsx
+++ b/frontend/src/metabase/components/AdminPaneLayout.jsx
@@ -1,6 +1,7 @@
 import React from "react";
 
-import cx from "classnames";
+import Button from "metabase/components/Button";
+import Link from "metabase/components/Link";
 
 const AdminPaneTitle = ({
   title,
@@ -8,19 +9,26 @@ const AdminPaneTitle = ({
   buttonText,
   buttonAction,
   buttonDisabled,
+  buttonLink,
 }) => (
   <section className="clearfix px2">
-    {buttonText && buttonAction ? (
-      <button
-        className={cx("Button float-right", {
-          "Button--primary": !buttonDisabled,
-        })}
-        disabled={buttonDisabled}
-        onClick={buttonAction}
-      >
-        {buttonText}
-      </button>
-    ) : null}
+    {buttonText &&
+      buttonLink && (
+        <Link to={buttonLink} className="inline-block float-right">
+          <Button primary>{buttonText}</Button>
+        </Link>
+      )}
+    {buttonText &&
+      buttonAction && (
+        <Button
+          className="float-right"
+          primary={!buttonDisabled}
+          disabled={buttonDisabled}
+          onClick={buttonAction}
+        >
+          {buttonText}
+        </Button>
+      )}
     <h2 className="PageTitle">{title}</h2>
     {description && <p className="text-measure">{description}</p>}
   </section>
@@ -33,6 +41,7 @@ const AdminPaneLayout = ({
   buttonAction,
   buttonDisabled,
   children,
+  buttonLink,
 }) => (
   <div className="wrapper">
     <AdminPaneTitle
@@ -41,6 +50,7 @@ const AdminPaneLayout = ({
       buttonText={buttonText}
       buttonAction={buttonAction}
       buttonDisabled={buttonDisabled}
+      buttonLink={buttonLink}
     />
     {children}
   </div>
diff --git a/frontend/src/metabase/components/ArchiveCollectionModal.jsx b/frontend/src/metabase/components/ArchiveCollectionModal.jsx
index b8bab4f937588c67289c9be6189e9be996155bff..e10b68b3b50e1723439730cb7a23e7bb801a8d73 100644
--- a/frontend/src/metabase/components/ArchiveCollectionModal.jsx
+++ b/frontend/src/metabase/components/ArchiveCollectionModal.jsx
@@ -10,18 +10,16 @@ import ModalContent from "metabase/components/ModalContent.jsx";
 
 import * as Urls from "metabase/lib/urls";
 
-import Collections from "metabase/entities/collections";
-import { entityObjectLoader } from "metabase/entities/containers/EntityObjectLoader";
+import Collection from "metabase/entities/collections";
 
 const mapDispatchToProps = {
-  setCollectionArchived: Collections.actions.setArchived,
+  setCollectionArchived: Collection.actions.setArchived,
   push,
 };
 
 @connect(null, mapDispatchToProps)
-@entityObjectLoader({
-  entityType: "collections",
-  entityId: (state, props) => props.params.collectionId,
+@Collection.load({
+  id: (state, props) => props.params.collectionId,
 })
 @withRouter
 class ArchiveCollectionModal extends React.Component {
diff --git a/frontend/src/metabase/components/ArchivedItem.jsx b/frontend/src/metabase/components/ArchivedItem.jsx
index 636be28e985adf3e6cb22e3fb678dfb317b1278d..a922d9040e196b32a9c88d5d488e5d568aae0fd4 100644
--- a/frontend/src/metabase/components/ArchivedItem.jsx
+++ b/frontend/src/metabase/components/ArchivedItem.jsx
@@ -19,6 +19,7 @@ const ArchivedItem = ({
   color = colors["text-light"],
   isAdmin = false,
   onUnarchive,
+  onDelete,
 
   selected,
   onToggleSelected,
@@ -35,15 +36,29 @@ const ArchivedItem = ({
       />
     </IconWrapper>
     {name}
-    {isAdmin && (
-      <Tooltip tooltip={t`Unarchive this ${type}`}>
-        <Icon
-          onClick={onUnarchive}
-          className="ml-auto cursor-pointer text-brand-hover hover-child"
-          name="unarchive"
-        />
-      </Tooltip>
-    )}
+    {isAdmin &&
+      (onUnarchive || onDelete) && (
+        <span className="ml-auto mr2">
+          {onUnarchive && (
+            <Tooltip tooltip={t`Unarchive this ${type}`}>
+              <Icon
+                onClick={onUnarchive}
+                className="cursor-pointer text-brand-hover hover-child ml4"
+                name="unarchive"
+              />
+            </Tooltip>
+          )}
+          {onDelete && (
+            <Tooltip tooltip={t`Delete this ${type}`}>
+              <Icon
+                onClick={onDelete}
+                className="cursor-pointer text-brand-hover hover-child ml4"
+                name="trash"
+              />
+            </Tooltip>
+          )}
+        </span>
+      )}
   </div>
 );
 
@@ -54,6 +69,7 @@ ArchivedItem.propTypes = {
   color: PropTypes.string,
   isAdmin: PropTypes.bool,
   onUnarchive: PropTypes.func.isRequired,
+  onDelete: PropTypes.func.isRequired,
 
   selected: PropTypes.bool.isRequired,
   onToggleSelected: PropTypes.func.isRequired,
diff --git a/frontend/src/metabase/components/BrowseApp.jsx b/frontend/src/metabase/components/BrowseApp.jsx
index ec3be9c40ac578612a571dbb013de4cf2223ab36..595436cc7e2c01df970d8cf2efcfdba098a2c479 100644
--- a/frontend/src/metabase/components/BrowseApp.jsx
+++ b/frontend/src/metabase/components/BrowseApp.jsx
@@ -4,9 +4,11 @@ import { t } from "c-3po";
 import BrowserCrumbs from "metabase/components/BrowserCrumbs";
 import { connect } from "react-redux";
 
+import Database from "metabase/entities/databases";
+import Schema from "metabase/entities/schemas";
+import Table from "metabase/entities/tables";
+
 import EntityItem from "metabase/components/EntityItem";
-import EntityListLoader from "metabase/entities/containers/EntityListLoader";
-import EntityObjectLoader from "metabase/entities/containers/EntityObjectLoader";
 
 import { normal } from "metabase/lib/colors";
 import Question from "metabase-lib/lib/Question";
@@ -48,43 +50,16 @@ function getDefaultQuestionForTable(table) {
   });
 }
 
-export const DatabaseListLoader = props => (
-  <EntityListLoader entityType="databases" {...props} />
-);
-
 const PAGE_PADDING = [1, 2, 4];
 const ITEM_WIDTHS = [1, 1 / 2, 1 / 3];
 const ANALYTICS_CONTEXT = "Data Browse";
 
-const SchemaListLoader = ({ dbId, ...props }) => (
-  <EntityListLoader entityType="schemas" entityQuery={{ dbId }} {...props} />
-);
-
-const TableListLoader = ({ dbId, schemaName, ...props }) => (
-  <EntityListLoader
-    entityType="tables"
-    entityQuery={{ dbId, schemaName }}
-    {...props}
-  />
-);
-
-const DatabaseName = ({ dbId }) => (
-  <EntityObjectLoader
-    entityType="databases"
-    entityId={dbId}
-    properties={["name"]}
-    loadingAndErrorWrapper={false}
-  >
-    {({ object }) => (object ? <span>{object.name}</span> : null)}
-  </EntityObjectLoader>
-);
-
 export class SchemaBrowser extends React.Component {
   render() {
     const { dbId } = this.props.params;
     return (
       <Box>
-        <SchemaListLoader dbId={dbId}>
+        <Schema.ListLoader query={{ dbId }}>
           {({ schemas }) =>
             schemas.length > 1 ? (
               <Box>
@@ -93,7 +68,7 @@ export class SchemaBrowser extends React.Component {
                     analyticsContext={ANALYTICS_CONTEXT}
                     crumbs={[
                       { title: t`Our data`, to: "browse" },
-                      { title: <DatabaseName dbId={dbId} /> },
+                      { title: <Database.Name id={dbId} /> },
                     ]}
                   />
                 </Box>
@@ -132,7 +107,7 @@ export class SchemaBrowser extends React.Component {
               <TableBrowser {...this.props} />
             )
           }
-        </SchemaListLoader>
+        </Schema.ListLoader>
       </Box>
     );
   }
@@ -146,7 +121,7 @@ export class TableBrowser extends React.Component {
     const { dbId, schemaName } = this.props.params;
     return (
       <Box>
-        <TableListLoader dbId={dbId} schemaName={schemaName}>
+        <Table.ListLoader query={{ dbId, schemaName }}>
           {({ tables, loading, error }) => {
             return (
               <Box>
@@ -156,7 +131,7 @@ export class TableBrowser extends React.Component {
                     crumbs={[
                       { title: t`Our data`, to: "browse" },
                       {
-                        title: <DatabaseName dbId={dbId} />,
+                        title: <Database.Name id={dbId} />,
                         to: `browse/${dbId}`,
                       },
                       schemaName != null && { title: schemaName },
@@ -229,7 +204,7 @@ export class TableBrowser extends React.Component {
               </Box>
             );
           }}
-        </TableListLoader>
+        </Table.ListLoader>
       </Box>
     );
   }
@@ -251,7 +226,7 @@ export class DatabaseBrowser extends React.Component {
             analyticsContext={ANALYTICS_CONTEXT}
           />
         </Box>
-        <DatabaseListLoader>
+        <Database.ListLoader>
           {({ databases, loading, error }) => {
             return (
               <Grid>
@@ -271,7 +246,7 @@ export class DatabaseBrowser extends React.Component {
               </Grid>
             );
           }}
-        </DatabaseListLoader>
+        </Database.ListLoader>
       </Box>
     );
   }
diff --git a/frontend/src/metabase/components/Button.jsx b/frontend/src/metabase/components/Button.jsx
index 65bb9d20323d29c03a65ef20941800a08d8b07c8..d72e0aeedb2225cc565daa12a82e36b63ce72e55 100644
--- a/frontend/src/metabase/components/Button.jsx
+++ b/frontend/src/metabase/components/Button.jsx
@@ -90,4 +90,6 @@ const Button = sys(
   "color",
 );
 
+Button.displayName = "Button";
+
 export default Button;
diff --git a/frontend/src/metabase/components/CollectionLanding.jsx b/frontend/src/metabase/components/CollectionLanding.jsx
index a12581ded9c5b74e941fb0022bce14715545dbc2..b9806ab35e5098248246544f0a0d18109b6eb3ea 100644
--- a/frontend/src/metabase/components/CollectionLanding.jsx
+++ b/frontend/src/metabase/components/CollectionLanding.jsx
@@ -9,6 +9,9 @@ import { dissoc } from "icepick";
 
 import withToast from "metabase/hoc/Toast";
 
+import Collection from "metabase/entities/collections";
+import Search from "metabase/entities/search";
+
 import listSelect from "metabase/hoc/ListSelect";
 import BulkActionBar from "metabase/components/BulkActionBar";
 
@@ -28,12 +31,11 @@ import VirtualizedList from "metabase/components/VirtualizedList";
 import BrowserCrumbs from "metabase/components/BrowserCrumbs";
 import ItemTypeFilterBar from "metabase/components/ItemTypeFilterBar";
 import CollectionEmptyState from "metabase/components/CollectionEmptyState";
-
+import PageHeading from "metabase/components/PageHeading";
 import Tooltip from "metabase/components/Tooltip";
 
 import CollectionMoveModal from "metabase/containers/CollectionMoveModal";
 import EntityCopyModal from "metabase/entities/containers/EntityCopyModal";
-import { entityObjectLoader } from "metabase/entities/containers/EntityObjectLoader";
 import { entityTypeForObject } from "metabase/schema";
 
 import CollectionList from "metabase/components/CollectionList";
@@ -93,11 +95,8 @@ const EMPTY_STATES = {
   card: <QuestionEmptyState />,
 };
 
-import { entityListLoader } from "metabase/entities/containers/EntityListLoader";
-
-@entityListLoader({
-  entityType: "search",
-  entityQuery: (state, props) => ({ collection: props.collectionId }),
+@Search.loadList({
+  query: (state, props) => ({ collection: props.collectionId }),
   wrapped: true,
 })
 @connect((state, props) => {
@@ -237,7 +236,7 @@ class DefaultLanding extends React.Component {
                 />
               </Box>
               <Flex align="center">
-                <h1 style={{ fontWeight: 900 }}>{collection.name}</h1>
+                <PageHeading>{collection.name}</PageHeading>
                 {collection.description && (
                   <Tooltip tooltip={collection.description}>
                     <Icon
@@ -648,9 +647,8 @@ const SelectionControls = ({
     <StackedCheckBox checked indeterminate onChange={onSelectAll} size={size} />
   );
 
-@entityObjectLoader({
-  entityType: "collections",
-  entityId: (state, props) => props.params.collectionId,
+@Collection.load({
+  id: (state, props) => props.params.collectionId,
   reload: true,
 })
 class CollectionLanding extends React.Component {
diff --git a/frontend/src/metabase/components/CollectionList.jsx b/frontend/src/metabase/components/CollectionList.jsx
index e2f80768b5d477b3c3e214c9cecb8d4158f63c33..4ba73e9cfe1b3a0e342236321f2dad3f98b7e2c1 100644
--- a/frontend/src/metabase/components/CollectionList.jsx
+++ b/frontend/src/metabase/components/CollectionList.jsx
@@ -86,7 +86,7 @@ class CollectionList extends React.Component {
                     id: "users",
                   }}
                   iconName="person"
-                  event={`${analyticsContext};Collection List;All user collecetions click`}
+                  event={`${analyticsContext};Collection List;All user collections click`}
                   asCard={asCards}
                 />
               </GridItem>
diff --git a/frontend/src/metabase/components/CreateDashboardModal.jsx b/frontend/src/metabase/components/CreateDashboardModal.jsx
index ae1c4333bceaef63873f18f278864152ba610890..84ff3fecc484f781fff84ae4bde1033676d337f0 100644
--- a/frontend/src/metabase/components/CreateDashboardModal.jsx
+++ b/frontend/src/metabase/components/CreateDashboardModal.jsx
@@ -6,11 +6,11 @@ import { push } from "react-router-redux";
 
 import * as Urls from "metabase/lib/urls";
 
-import Collections from "metabase/entities/collections";
-import DashboardForm from "metabase/containers/DashboardForm";
+import Collection from "metabase/entities/collections";
+import Dashboard from "metabase/entities/dashboards";
 
 const mapStateToProps = (state, props) => ({
-  initialCollectionId: Collections.selectors.getInitialCollectionId(
+  initialCollectionId: Collection.selectors.getInitialCollectionId(
     state,
     props,
   ),
@@ -30,7 +30,7 @@ export default class CreateDashboardModal extends Component {
   render() {
     const { initialCollectionId, onClose, onChangeLocation } = this.props;
     return (
-      <DashboardForm
+      <Dashboard.ModalForm
         dashboard={{ collection_id: initialCollectionId }}
         onClose={onClose}
         onSaved={dashboard => {
diff --git a/frontend/src/metabase/components/EntityMenu.info.js b/frontend/src/metabase/components/EntityMenu.info.js
index b7eeaa450e8a2c965169b5503871e0763171c5c1..254be303c1ed11c5b3bcd55f2b951435a6214bf0 100644
--- a/frontend/src/metabase/components/EntityMenu.info.js
+++ b/frontend/src/metabase/components/EntityMenu.info.js
@@ -5,7 +5,7 @@ import { t } from "c-3po";
 export const component = EntityMenu;
 
 export const description = `
-    A menu with varios entity related options grouped by context.
+    A menu with various entity related options grouped by context.
 `;
 
 const DemoAlignRight = ({ children }) => (
diff --git a/frontend/src/metabase/components/EntityMenu.jsx b/frontend/src/metabase/components/EntityMenu.jsx
index 88e4c858d57d53f1d1b5346cdf373f8566402f9a..dc7cee722baf0e78a52cade68346871653de70a0 100644
--- a/frontend/src/metabase/components/EntityMenu.jsx
+++ b/frontend/src/metabase/components/EntityMenu.jsx
@@ -92,7 +92,9 @@ class EntityMenu extends Component {
                   {menuItemContent || (
                     <ol className="py1" style={{ minWidth: 210 }}>
                       {items.map(item => {
-                        if (item.content) {
+                        if (!item) {
+                          return null;
+                        } else if (item.content) {
                           return (
                             <li key={item.title}>
                               <EntityMenuItem
diff --git a/frontend/src/metabase/components/EntityMenuItem.jsx b/frontend/src/metabase/components/EntityMenuItem.jsx
index 6d7d32b8b9d12e06b8a36094951a583f0ed2d198..79d60d9a13f8f076e53410cfed5107993ed71302 100644
--- a/frontend/src/metabase/components/EntityMenuItem.jsx
+++ b/frontend/src/metabase/components/EntityMenuItem.jsx
@@ -80,7 +80,7 @@ const EntityMenuItem = ({
 
   const content = (
     <Item>
-      <Icon name={icon} mr={1} />
+      {icon && <Icon name={icon} mr={1} />}
       <span className="text-bold">{title}</span>
     </Item>
   );
diff --git a/frontend/src/metabase/components/HeaderWithBack.jsx b/frontend/src/metabase/components/HeaderWithBack.jsx
deleted file mode 100644
index f94f0a257211add084bc4bf10ed1d5e30edac988..0000000000000000000000000000000000000000
--- a/frontend/src/metabase/components/HeaderWithBack.jsx
+++ /dev/null
@@ -1,26 +0,0 @@
-import React from "react";
-import PropTypes from "prop-types";
-
-import Icon from "metabase/components/Icon";
-import TitleAndDescription from "metabase/components/TitleAndDescription";
-
-const DEFAULT_BACK = () => window.history.back();
-
-const HeaderWithBack = ({ name, description, onBack }) => (
-  <div className="flex align-center">
-    {(onBack || window.history.length > 1) && (
-      <Icon
-        className="cursor-pointer text-brand mr2 flex align-center circle p2 bg-light-blue bg-brand-hover text-white-hover transition-background transition-color"
-        name="backArrow"
-        onClick={onBack || DEFAULT_BACK}
-      />
-    )}
-    <TitleAndDescription title={name} description={description} />
-  </div>
-);
-
-HeaderWithBack.propTypes = {
-  name: PropTypes.string.isRequired,
-};
-
-export default HeaderWithBack;
diff --git a/frontend/src/metabase/components/LoadingAndErrorWrapper.jsx b/frontend/src/metabase/components/LoadingAndErrorWrapper.jsx
index b20891c97f5e3edc9908d5b896bac6e9f522feb5..a18e76c2ec3c00c4a33a8f2d8d22f9823fdfd46c 100644
--- a/frontend/src/metabase/components/LoadingAndErrorWrapper.jsx
+++ b/frontend/src/metabase/components/LoadingAndErrorWrapper.jsx
@@ -45,7 +45,7 @@ export default class LoadingAndErrorWrapper extends Component {
       error.message;
 
     if (!errorMessage || typeof errorMessage === "object") {
-      errorMessage = t`An error occured`;
+      errorMessage = t`An error occurred`;
     }
     return errorMessage;
   }
diff --git a/frontend/src/metabase/components/PageHeading.info.js b/frontend/src/metabase/components/PageHeading.info.js
new file mode 100644
index 0000000000000000000000000000000000000000..37ff3bb9315b6154e49e94575818f4efb712c30a
--- /dev/null
+++ b/frontend/src/metabase/components/PageHeading.info.js
@@ -0,0 +1,10 @@
+import React from "react";
+import PageHeading from "metabase/components/PageHeading";
+
+export const component = PageHeading;
+
+export const description = `Page heading component.`;
+
+export const examples = {
+  normal: <PageHeading>Hello World</PageHeading>,
+};
diff --git a/frontend/src/metabase/components/PageHeading.jsx b/frontend/src/metabase/components/PageHeading.jsx
new file mode 100644
index 0000000000000000000000000000000000000000..466398c453e3420dc1aae4b9b0e8cc5fe695923e
--- /dev/null
+++ b/frontend/src/metabase/components/PageHeading.jsx
@@ -0,0 +1,9 @@
+import styled from "styled-components";
+
+const PageHeading = styled.h1`
+  font-weight: 900;
+`;
+
+PageHeading.displayName = "PageHeading";
+
+export default PageHeading;
diff --git a/frontend/src/metabase/components/QueryButton.css b/frontend/src/metabase/components/QueryButton.css
index f1f8f79115dc318db626a4cee24d22fac6914161..2f874b50799f4b226563c584f4edc051d4ff735c 100644
--- a/frontend/src/metabase/components/QueryButton.css
+++ b/frontend/src/metabase/components/QueryButton.css
@@ -1,5 +1,5 @@
 :local(.queryButton) {
-  composes: flex align-center no-decoration py1 from "style";
+  composes: flex align-center no-decoration text-medium py1 from "style";
 }
 
 :local(.queryButtonText) {
diff --git a/frontend/src/metabase/components/QueryButton.jsx b/frontend/src/metabase/components/QueryButton.jsx
index c02ffb44720f7c7ff3396d7c026278886785d1fa..89320373a9b7318425ff696ae48746697cfe1ac1 100644
--- a/frontend/src/metabase/components/QueryButton.jsx
+++ b/frontend/src/metabase/components/QueryButton.jsx
@@ -13,7 +13,7 @@ const QueryButton = ({ className, text, icon, iconClass, onClick, link }) => (
     <Link className={S.queryButton} onClick={onClick} to={link}>
       <Icon
         className={iconClass}
-        size={20}
+        size={14}
         {...(typeof icon === "string" ? { name: icon } : icon)}
       />
       <span className={cx(S.queryButtonText, "text-brand-hover")}>{text}</span>
diff --git a/frontend/src/metabase/components/form/FormWidget.jsx b/frontend/src/metabase/components/form/FormWidget.jsx
index ab96fcf344ada5f33fc88507b4fcd4b6cb68ffd4..a23e5f43ca7d7a808d4ff6d2a89e935e372c04bb 100644
--- a/frontend/src/metabase/components/form/FormWidget.jsx
+++ b/frontend/src/metabase/components/form/FormWidget.jsx
@@ -5,6 +5,8 @@ import FormTextAreaWidget from "./widgets/FormTextAreaWidget";
 import FormPasswordWidget from "./widgets/FormPasswordWidget";
 import FormColorWidget from "./widgets/FormColorWidget";
 import FormSelectWidget from "./widgets/FormSelectWidget";
+import FormNumericInputWidget from "./widgets/FormNumericInputWidget";
+import FormToggleWidget from "./widgets/FormToggleWidget";
 import FormCollectionWidget from "./widgets/FormCollectionWidget";
 import FormHiddenWidget from "./widgets/FormHiddenWidget";
 
@@ -14,6 +16,8 @@ const WIDGETS = {
   color: FormColorWidget,
   password: FormPasswordWidget,
   select: FormSelectWidget,
+  integer: FormNumericInputWidget,
+  boolean: FormToggleWidget,
   collection: FormCollectionWidget,
   hidden: FormHiddenWidget,
 };
diff --git a/frontend/src/metabase/components/form/StandardForm.jsx b/frontend/src/metabase/components/form/StandardForm.jsx
index 5ac98c39c5f1bb89612041acf57ab8c8f898dc5f..f7aea10d7a193c20f846a565a903e75df0514f8e 100644
--- a/frontend/src/metabase/components/form/StandardForm.jsx
+++ b/frontend/src/metabase/components/form/StandardForm.jsx
@@ -52,6 +52,7 @@ const StandardForm = ({
     </div>
     <div className={cx("flex", { "Form-offset": !newForm })}>
       <div className="ml-auto flex align-center">
+        {error && <FormMessage message={error} formError />}
         {onClose && (
           <Button
             type="button"
@@ -76,7 +77,6 @@ const StandardForm = ({
             {t`Reset`}
           </Button>
         )}
-        {error && <FormMessage message={error} formError />}
       </div>
     </div>
   </form>
diff --git a/frontend/src/metabase/components/form/widgets/FormGroupsWidget.jsx b/frontend/src/metabase/components/form/widgets/FormGroupsWidget.jsx
new file mode 100644
index 0000000000000000000000000000000000000000..7b3231ce07e62469afec43d5dd20f238c075b186
--- /dev/null
+++ b/frontend/src/metabase/components/form/widgets/FormGroupsWidget.jsx
@@ -0,0 +1,80 @@
+import React from "react";
+
+import PopoverWithTrigger from "metabase/components/PopoverWithTrigger";
+import GroupSelect from "metabase/admin/people/components/GroupSelect";
+import GroupSummary from "metabase/admin/people/components/GroupSummary";
+import SelectButton from "metabase/components/SelectButton";
+import Toggle from "metabase/components/Toggle";
+
+import Group from "metabase/entities/groups";
+
+import { t } from "c-3po";
+import _ from "underscore";
+
+import {
+  isDefaultGroup,
+  isAdminGroup,
+  canEditMembership,
+} from "metabase/lib/groups";
+
+const FormGroupsWidget = ({ field: { value, onChange }, groups }) => {
+  const adminGroup = _.find(groups, isAdminGroup);
+  const defaultGroup = _.find(groups, isDefaultGroup);
+
+  if (!value) {
+    value = [defaultGroup.id];
+  }
+
+  const selection = new Set(value);
+  // NOTE: for legacy selectedGroups prop on GroupSummary and GroupSelect. Prefer using a Set
+  const selectedGroups = _.object(value.map(id => [id, true]));
+
+  function onGroupChange(group, selected) {
+    const newSelection = new Set(selection);
+    if (selected) {
+      newSelection.add(group.id);
+    } else {
+      newSelection.delete(group.id);
+    }
+    onChange(Array.from(newSelection));
+  }
+
+  const visibleGroups = _.filter(
+    groups,
+    g => canEditMembership(g) || isDefaultGroup(g),
+  );
+  const hadAdminGroup = !!adminGroup;
+  const hasNonAdminEditableGroups = _.any(
+    groups,
+    g => canEditMembership(g) && !isAdminGroup(g),
+  );
+
+  return hasNonAdminEditableGroups ? (
+    <PopoverWithTrigger
+      sizeToFit
+      triggerElement={
+        <SelectButton>
+          <GroupSummary groups={groups} selectedGroups={selectedGroups} />
+        </SelectButton>
+      }
+    >
+      <GroupSelect
+        groups={visibleGroups}
+        selectedGroups={selectedGroups}
+        onGroupChange={onGroupChange}
+      />
+    </PopoverWithTrigger>
+  ) : hadAdminGroup ? (
+    <div className="flex align-center">
+      <Toggle
+        value={selection.has(adminGroup.id)}
+        onChange={isAdmin => {
+          onGroupChange(adminGroup, isAdmin);
+        }}
+      />
+      <span className="ml2">{t`Make this user an admin`}</span>
+    </div>
+  ) : null;
+};
+
+export default Group.loadList()(FormGroupsWidget);
diff --git a/frontend/src/metabase/components/form/widgets/FormNumericInputWidget.jsx b/frontend/src/metabase/components/form/widgets/FormNumericInputWidget.jsx
new file mode 100644
index 0000000000000000000000000000000000000000..8416ea652e98fdd6992946fe7bc47050a28ead51
--- /dev/null
+++ b/frontend/src/metabase/components/form/widgets/FormNumericInputWidget.jsx
@@ -0,0 +1,17 @@
+import React from "react";
+
+import cx from "classnames";
+
+import { formDomOnlyProps } from "metabase/lib/redux";
+
+import NumericInput from "metabase/components/NumericInput";
+
+const FormInputWidget = ({ placeholder, field, offset }) => (
+  <NumericInput
+    className={cx("Form-input full", { "Form-offset": offset })}
+    placeholder={placeholder}
+    {...formDomOnlyProps(field)}
+  />
+);
+
+export default FormInputWidget;
diff --git a/frontend/src/metabase/components/form/widgets/FormToggleWidget.jsx b/frontend/src/metabase/components/form/widgets/FormToggleWidget.jsx
new file mode 100644
index 0000000000000000000000000000000000000000..2c77635d2c29aa4ed265d225c022262e42b679a1
--- /dev/null
+++ b/frontend/src/metabase/components/form/widgets/FormToggleWidget.jsx
@@ -0,0 +1,7 @@
+import React from "react";
+
+import Toggle from "metabase/components/Toggle";
+
+const FormToggleWidget = ({ field }) => <Toggle {...field} />;
+
+export default FormToggleWidget;
diff --git a/frontend/src/metabase/containers/AddToDashSelectDashModal.jsx b/frontend/src/metabase/containers/AddToDashSelectDashModal.jsx
index f7aeeea0e32ada70829ea53cc93502a83480b6ea..f4fb8e519038dfe772fc0d6f3006b92719ef4a11 100644
--- a/frontend/src/metabase/containers/AddToDashSelectDashModal.jsx
+++ b/frontend/src/metabase/containers/AddToDashSelectDashModal.jsx
@@ -7,14 +7,18 @@ import { Flex } from "grid-styled";
 import Icon from "metabase/components/Icon";
 import Link from "metabase/components/Link";
 import ModalContent from "metabase/components/ModalContent.jsx";
-import DashboardForm from "metabase/containers/DashboardForm.jsx";
 import DashboardPicker from "metabase/containers/DashboardPicker";
 
 import * as Urls from "metabase/lib/urls";
 
-import type { Dashboard, DashboardId } from "metabase/meta/types/Dashboard";
+import type {
+  Dashboard as DashboardType,
+  DashboardId,
+} from "metabase/meta/types/Dashboard";
 import type { Card } from "metabase/meta/types/Card";
 
+import Dashboard from "metabase/entities/dashboards";
+
 export default class AddToDashSelectDashModal extends Component {
   state = {
     shouldCreateDashboard: false,
@@ -25,7 +29,7 @@ export default class AddToDashSelectDashModal extends Component {
     onClose: () => void,
     onChangeLocation: string => void,
     // via connect:
-    createDashboard: Dashboard => any,
+    createDashboard: DashboardType => any,
   };
 
   addToDashboard = (dashboardId: DashboardId) => {
@@ -38,7 +42,7 @@ export default class AddToDashSelectDashModal extends Component {
   render() {
     if (this.state.shouldCreateDashboard) {
       return (
-        <DashboardForm
+        <Dashboard.ModalForm
           dashboard={{ collection_id: this.props.card.collection_id }}
           onSaved={dashboard => this.addToDashboard(dashboard.id)}
           onClose={() => this.setState({ shouldCreateDashboard: false })}
diff --git a/frontend/src/metabase/containers/CollectionForm.jsx b/frontend/src/metabase/containers/CollectionForm.jsx
deleted file mode 100644
index 7a122979ce5cdd3d9890bfb85753a7e82a3ebb6c..0000000000000000000000000000000000000000
--- a/frontend/src/metabase/containers/CollectionForm.jsx
+++ /dev/null
@@ -1,17 +0,0 @@
-import React from "react";
-import { t } from "c-3po";
-import EntityForm from "metabase/entities/containers/EntityForm";
-import ModalContent from "metabase/components/ModalContent";
-
-const CollectionForm = ({ collection, onClose, ...props }) => (
-  <ModalContent
-    title={
-      collection && collection.id != null ? collection.name : t`New collection`
-    }
-    onClose={onClose}
-  >
-    <EntityForm entityType="collections" entityObject={collection} {...props} />
-  </ModalContent>
-);
-
-export default CollectionForm;
diff --git a/frontend/src/metabase/containers/CollectionItemsLoader.jsx b/frontend/src/metabase/containers/CollectionItemsLoader.jsx
index 97dd935e44a50384de63a3e445a11ab9f267d4a8..e7bc31dcd2c85a263931a165c9221b56e563d0f0 100644
--- a/frontend/src/metabase/containers/CollectionItemsLoader.jsx
+++ b/frontend/src/metabase/containers/CollectionItemsLoader.jsx
@@ -1,7 +1,8 @@
 /* @flow */
 import React from "react";
-import EntityObjectLoader from "metabase/entities/containers/EntityObjectLoader";
-import EntityListLoader from "metabase/entities/containers/EntityListLoader";
+
+import Collection from "metabase/entities/collections";
+import Search from "metabase/entities/search";
 
 type Props = {
   collectionId: number,
@@ -9,15 +10,13 @@ type Props = {
 };
 
 const CollectionItemsLoader = ({ collectionId, children, ...props }: Props) => (
-  <EntityObjectLoader
+  <Collection.Loader
     {...props}
-    entityType="collections"
-    entityId={collectionId}
+    id={collectionId}
     children={({ object }) => (
-      <EntityListLoader
+      <Search.ListLoader
         {...props}
-        entityType="search"
-        entityQuery={{ collection: collectionId }}
+        query={{ collection: collectionId }}
         wrapped
         children={({ list }) =>
           object &&
diff --git a/frontend/src/metabase/containers/CollectionListLoader.jsx b/frontend/src/metabase/containers/CollectionListLoader.jsx
deleted file mode 100644
index 5fded6930df18bc19c8aa3932de59a74502a1d96..0000000000000000000000000000000000000000
--- a/frontend/src/metabase/containers/CollectionListLoader.jsx
+++ /dev/null
@@ -1,26 +0,0 @@
-/* @flow */
-import React from "react";
-import EntityListLoader from "metabase/entities/containers/EntityListLoader";
-
-type Props = {
-  writable: boolean, // inherited from old CollectionList component
-  children: () => void,
-};
-
-const CollectionListLoader = ({ children, writable, ...props }: Props) => (
-  <EntityListLoader
-    entityType="collections"
-    {...props}
-    children={({ list, collections, ...props }) =>
-      children({
-        list: writable ? list && list.filter(c => c.can_write) : list,
-        collections: writable
-          ? collections && collections.filter(c => c.can_write)
-          : collections,
-        ...props,
-      })
-    }
-  />
-);
-
-export default CollectionListLoader;
diff --git a/frontend/src/metabase/containers/CollectionLoader.jsx b/frontend/src/metabase/containers/CollectionLoader.jsx
deleted file mode 100644
index 438a6cc0a78107f2bb343f6c23a905c8cb68c36e..0000000000000000000000000000000000000000
--- a/frontend/src/metabase/containers/CollectionLoader.jsx
+++ /dev/null
@@ -1,13 +0,0 @@
-import React from "react";
-
-import EntityObjectLoader from "metabase/entities/containers/EntityObjectLoader";
-
-const CollectionLoader = ({ collectionId, ...props }) => (
-  <EntityObjectLoader
-    entityType="collections"
-    entityId={collectionId}
-    {...props}
-  />
-);
-
-export default CollectionLoader;
diff --git a/frontend/src/metabase/containers/CollectionName.jsx b/frontend/src/metabase/containers/CollectionName.jsx
index 02ce10a6478bcfd82611e3ec33c5f08461340249..aa71728318e666889af1c1a6fcfb4bb4bf49678e 100644
--- a/frontend/src/metabase/containers/CollectionName.jsx
+++ b/frontend/src/metabase/containers/CollectionName.jsx
@@ -1,13 +1,6 @@
 import React from "react";
 
-import { entityObjectLoader } from "metabase/entities/containers/EntityObjectLoader";
-import { ROOT_COLLECTION } from "metabase/entities/collections";
-
-const CollectionNameLoader = entityObjectLoader({
-  entityType: "collections",
-  properties: ["name"],
-  loadingAndErrorWrapper: false,
-})(({ object }) => <span>{object && object.name}</span>);
+import Collection, { ROOT_COLLECTION } from "metabase/entities/collections";
 
 const CollectionName = ({ collectionId }) => {
   if (collectionId === undefined || isNaN(collectionId)) {
@@ -15,7 +8,7 @@ const CollectionName = ({ collectionId }) => {
   } else if (collectionId === "root" || collectionId === null) {
     return <span>{ROOT_COLLECTION.name}</span>;
   } else {
-    return <CollectionNameLoader entityId={collectionId} />;
+    return <Collection.Name id={collectionId} />;
   }
 };
 
diff --git a/frontend/src/metabase/containers/DashboardForm.jsx b/frontend/src/metabase/containers/DashboardForm.jsx
deleted file mode 100644
index be722f4350473137cb77b7082027e1fef4f2db33..0000000000000000000000000000000000000000
--- a/frontend/src/metabase/containers/DashboardForm.jsx
+++ /dev/null
@@ -1,22 +0,0 @@
-import React from "react";
-import { t } from "c-3po";
-import EntityForm from "metabase/entities/containers/EntityForm";
-import ModalContent from "metabase/components/ModalContent";
-
-const DashboardForm = ({ dashboard, onClose, ...props }) => (
-  <ModalContent
-    title={
-      dashboard && dashboard.id != null ? dashboard.name : t`Create dashboard`
-    }
-    onClose={onClose}
-  >
-    <EntityForm
-      entityType="dashboards"
-      entityObject={dashboard}
-      onClose={onClose}
-      {...props}
-    />
-  </ModalContent>
-);
-
-export default DashboardForm;
diff --git a/frontend/src/metabase/containers/Form.jsx b/frontend/src/metabase/containers/Form.jsx
index 6859c7de7703db1c41ee7dd21ab7de1ee6ef3956..97e467215009dec1945c5f5f6c9fd5db91b6b979 100644
--- a/frontend/src/metabase/containers/Form.jsx
+++ b/frontend/src/metabase/containers/Form.jsx
@@ -4,6 +4,7 @@ import React from "react";
 import PropTypes from "prop-types";
 
 import { reduxForm, getValues } from "redux-form";
+import { getIn } from "icepick";
 
 import StandardForm from "metabase/components/form/StandardForm";
 
@@ -154,9 +155,12 @@ function makeFormMethod(
     const values =
       getValue(originalMethod, object) || getValue(defaultValues, object);
     for (const field of form.fields(object)) {
-      const value = getValue(field[methodName], object && object[field.name]);
+      const value = getValue(
+        field[methodName],
+        object && getValueAtPath(object, field.name),
+      );
       if (value !== undefined) {
-        values[field.name] = value;
+        setValueAtPath(values, field.name, value);
       }
     }
     return values;
@@ -183,3 +187,21 @@ function makeForm(formDef: FormDef): Form {
   makeFormMethod(form, "normalize", object => object);
   return form;
 }
+
+function getObjectPath(path) {
+  return typeof path === "string" ? path.split(".") : path;
+}
+
+function getValueAtPath(object, path) {
+  return getIn(object, getObjectPath(path));
+}
+function setValueAtPath(object, path, value) {
+  path = getObjectPath(path);
+  for (let i = 0; i < path.length; i++) {
+    if (i === path.length - 1) {
+      object[path[i]] = value;
+    } else {
+      object = object[path[i]] = object[path[i]] || {};
+    }
+  }
+}
diff --git a/frontend/src/metabase/containers/ItemPicker.jsx b/frontend/src/metabase/containers/ItemPicker.jsx
index d2fa5719a6fcba39f414e8fcf70aa2f019c17fcc..a40ec1709cca70e0c0a8e033dc7d9f542a2613cd 100644
--- a/frontend/src/metabase/containers/ItemPicker.jsx
+++ b/frontend/src/metabase/containers/ItemPicker.jsx
@@ -5,15 +5,17 @@ import cx from "classnames";
 import { Flex, Box } from "grid-styled";
 import Icon from "metabase/components/Icon";
 import Breadcrumbs from "metabase/components/Breadcrumbs";
+import LoadingAndErrorWrapper from "metabase/components/LoadingAndErrorWrapper";
 
 import colors from "metabase/lib/colors";
 
 import { connect } from "react-redux";
+
+// NOTE: replacing these with Collections.ListLoader etc currently fails due to circular dependency
 import EntityListLoader, {
   entityListLoader,
 } from "metabase/entities/containers/EntityListLoader";
 
-import LoadingAndErrorWrapper from "metabase/components/LoadingAndErrorWrapper";
 import Collections from "metabase/entities/collections";
 
 const COLLECTION_ICON_COLOR = colors["text-light"];
diff --git a/frontend/src/metabase/containers/Overworld.jsx b/frontend/src/metabase/containers/Overworld.jsx
index f39bec7189dade9671bae013e1dd47d03a7270a6..3f1966015be18a32eb5bc45a4f2ddb646afaaa69 100644
--- a/frontend/src/metabase/containers/Overworld.jsx
+++ b/frontend/src/metabase/containers/Overworld.jsx
@@ -3,15 +3,14 @@ import _ from "underscore";
 import { Box, Flex } from "grid-styled";
 import { connect } from "react-redux";
 import { t, jt } from "c-3po";
+import { createSelector } from "reselect";
 
 import CollectionItemsLoader from "metabase/containers/CollectionItemsLoader";
 import CandidateListLoader from "metabase/containers/CandidateListLoader";
-import { DatabaseListLoader } from "metabase/components/BrowseApp";
 import ExplorePane from "metabase/components/ExplorePane";
 import Tooltip from "metabase/components/Tooltip.jsx";
-
-import * as Urls from "metabase/lib/urls";
-import colors, { normal } from "metabase/lib/colors";
+import MetabotLogo from "metabase/components/MetabotLogo";
+import CollectionList from "metabase/components/CollectionList";
 
 import Card from "metabase/components/Card";
 import { Grid, GridItem } from "metabase/components/Grid";
@@ -20,22 +19,19 @@ import Link from "metabase/components/Link";
 import Subhead from "metabase/components/Subhead";
 import RetinaImage from "react-retina-image";
 
-import { getUser } from "metabase/home/selectors";
-
-import CollectionList from "metabase/components/CollectionList";
+import * as Urls from "metabase/lib/urls";
+import colors, { normal } from "metabase/lib/colors";
+import Greeting from "metabase/lib/greeting";
 
+import Database from "metabase/entities/databases";
+import Search from "metabase/entities/search";
 import { ROOT_COLLECTION } from "metabase/entities/collections";
 
-import MetabotLogo from "metabase/components/MetabotLogo";
-import Greeting from "metabase/lib/greeting";
-
-import { entityListLoader } from "metabase/entities/containers/EntityListLoader";
+import { getUser } from "metabase/home/selectors";
+import { getXraysEnabled } from "metabase/selectors/settings";
 
 const PAGE_PADDING = [1, 2, 4];
 
-import { createSelector } from "reselect";
-import { getXraysEnabled } from "metabase/selectors/settings";
-
 // use reselect select to avoid re-render if list doesn't change
 const getParitionedCollections = createSelector(
   [(state, props) => props.list],
@@ -60,9 +56,8 @@ const getParitionedCollections = createSelector(
 );
 
 //class Overworld extends Zelda
-@entityListLoader({
-  entityType: "search",
-  entityQuery: { collection: "root" },
+@Search.loadList({
+  query: { collection: "root" },
   wrapped: true,
 })
 @connect((state, props) => ({
@@ -214,7 +209,7 @@ class Overworld extends React.Component {
           </Box>
         </Box>
 
-        <DatabaseListLoader>
+        <Database.ListLoader>
           {({ databases }) => {
             if (databases.length === 0) {
               return null;
@@ -270,7 +265,7 @@ class Overworld extends React.Component {
               </Box>
             );
           }}
-        </DatabaseListLoader>
+        </Database.ListLoader>
       </Box>
     );
   }
diff --git a/frontend/src/metabase/containers/QuestionName.jsx b/frontend/src/metabase/containers/QuestionName.jsx
index 1b752b4e3cb36e791f4d98c5adbfa1f391f33af9..d01d3e79f4d2ce25de298db7e9c791c3875f93e3 100644
--- a/frontend/src/metabase/containers/QuestionName.jsx
+++ b/frontend/src/metabase/containers/QuestionName.jsx
@@ -1,19 +1,9 @@
 import React from "react";
 
-import { entityObjectLoader } from "metabase/entities/containers/EntityObjectLoader";
+import Question from "metabase/entities/questions";
 
-const QuestionNameLoader = entityObjectLoader({
-  entityType: "question",
-  properties: ["name"],
-  loadingAndErrorWrapper: false,
-})(({ object }) => <span>{object && object.name}</span>);
+// TODO: remove this in favor of using Question.Name directly
 
-const QuestionName = ({ questionId }) => {
-  if (questionId == undefined || isNaN(questionId)) {
-    return null;
-  } else {
-    return <QuestionNameLoader entityId={questionId} />;
-  }
-};
+const QuestionName = ({ questionId }) => <Question.Name id={questionId} />;
 
 export default QuestionName;
diff --git a/frontend/src/metabase/containers/UserCollectionList.jsx b/frontend/src/metabase/containers/UserCollectionList.jsx
index 7f5926c51b67886a92327cfc65a95082150355e6..2048378af9bd767cd14229b4ef782e9484e14196 100644
--- a/frontend/src/metabase/containers/UserCollectionList.jsx
+++ b/frontend/src/metabase/containers/UserCollectionList.jsx
@@ -10,17 +10,12 @@ import { Grid, GridItem } from "metabase/components/Grid";
 import Link from "metabase/components/Link";
 import BrowserCrumbs from "metabase/components/BrowserCrumbs";
 
-import EntityListLoader from "metabase/entities/containers/EntityListLoader";
-
+import User from "metabase/entities/users";
 import {
   ROOT_COLLECTION,
   PERSONAL_COLLECTIONS,
 } from "metabase/entities/collections";
 
-const UserListLoader = ({ children, ...props }) => (
-  <EntityListLoader entityType="users" children={children} {...props} />
-);
-
 const UserCollectionList = () => (
   <Box px={4}>
     <Box py={2}>
@@ -31,7 +26,7 @@ const UserCollectionList = () => (
         ]}
       />
     </Box>
-    <UserListLoader>
+    <User.ListLoader>
       {({ list }) => {
         return (
           <Box>
@@ -64,7 +59,7 @@ const UserCollectionList = () => (
           </Box>
         );
       }}
-    </UserListLoader>
+    </User.ListLoader>
   </Box>
 );
 
diff --git a/frontend/src/metabase/css/core/text.css b/frontend/src/metabase/css/core/text.css
index 4087dd67b4c8f66c42bfc17f523d86d1d0c9eee9..77f6be1db2dfa6c462be33f63d50fcaa79bba9ef 100644
--- a/frontend/src/metabase/css/core/text.css
+++ b/frontend/src/metabase/css/core/text.css
@@ -140,6 +140,11 @@
   line-height: 1.5em;
 }
 
+.text-spaced,
+:local(.text-spaced) {
+  line-height: 1.5em;
+}
+
 .text-small {
   font-size: 0.875em;
 }
diff --git a/frontend/src/metabase/css/query_builder.css b/frontend/src/metabase/css/query_builder.css
index 0d3a97a1fa9dcfc11fa9bc2c81ea574d549ddcb4..e467c1e5ebbea991703f218822a53b7ef57821ce 100644
--- a/frontend/src/metabase/css/query_builder.css
+++ b/frontend/src/metabase/css/query_builder.css
@@ -244,25 +244,29 @@
 .QueryError-image--noRows {
   width: 120px;
   height: 120px;
-  background-image: url("../app/assets/img/no_results.svg");
+  /* NOTE: this path works in normal builds but not "build-hot". Sorry. */
+  background-image: url("../assets/img/no_results.svg");
 }
 
 .QueryError-image--queryError {
   width: 120px;
   height: 120px;
-  background-image: url("../app/assets/img/no_understand.svg");
+  /* NOTE: this path works in normal builds but not "build-hot". Sorry. */
+  background-image: url("../assets/img/no_understand.svg");
 }
 
 .QueryError-image--serverError {
   width: 120px;
   height: 148px;
-  background-image: url("../app/assets/img/blown_up.svg");
+  /* NOTE: this path works in normal builds but not "build-hot". Sorry. */
+  background-image: url("../assets/img/blown_up.svg");
 }
 
 .QueryError-image--timeout {
   width: 120px;
   height: 120px;
-  background-image: url("../app/assets/img/stopwatch.svg");
+  /* NOTE: this path works in normal builds but not "build-hot". Sorry. */
+  background-image: url("../assets/img/stopwatch.svg");
 }
 
 .QueryError-message {
@@ -536,15 +540,19 @@
   z-index: -1;
   position: absolute;
   top: 0;
-  right: 0;
+  right: -300;
   width: 300px;
   height: 100%;
   background-color: var(--color-bg-light);
   overflow: hidden;
+  opacity: 0;
 }
 
 .SideDrawer--show {
   z-index: 0;
+  right: 0;
+  opacity: 1;
+  transition: all 0.5s;
 }
 
 .DataReference-container {
diff --git a/frontend/src/metabase/dashboard/components/DashCard.jsx b/frontend/src/metabase/dashboard/components/DashCard.jsx
index 9fc87fc45ab1084dbeb04d1e6e8692648260abf3..f0094eff747a2abaf38d5f518beee937f3e18bdd 100644
--- a/frontend/src/metabase/dashboard/components/DashCard.jsx
+++ b/frontend/src/metabase/dashboard/components/DashCard.jsx
@@ -48,7 +48,7 @@ export default class DashCard extends Component {
 
     // HACK: way to scroll to a newly added card
     if (dashcard.justAdded) {
-      ReactDOM.findDOMNode(this).scrollIntoView();
+      ReactDOM.findDOMNode(this).scrollIntoView({ block: "nearest" });
       markNewCardSeen(dashcard.id);
     }
   }
diff --git a/frontend/src/metabase/dashboard/components/Dashboard.jsx b/frontend/src/metabase/dashboard/components/Dashboard.jsx
index d638ae3d20050db25d2edaadfcf2f69381552e5a..b4e1156973c75510578c9375aa9cc66d8c71a98b 100644
--- a/frontend/src/metabase/dashboard/components/Dashboard.jsx
+++ b/frontend/src/metabase/dashboard/components/Dashboard.jsx
@@ -78,6 +78,7 @@ type Props = {
     reload: boolean,
     clear: boolean,
   }) => Promise<void>,
+  cancelFetchDashboardCardData: () => Promise<void>,
 
   setEditingParameter: (parameterId: ?ParameterId) => void,
   setEditingDashboard: (isEditing: boolean) => void,
@@ -123,6 +124,7 @@ type State = {
   error: ?ApiError,
 };
 
+// NOTE: move DashboardControls HoC to container
 @DashboardControls
 export default class Dashboard extends Component {
   props: Props;
@@ -159,6 +161,7 @@ export default class Dashboard extends Component {
     isEditable: true,
   };
 
+  // NOTE: all of these lifecycle methods should be replaced with DashboardData HoC in container
   componentDidMount() {
     this.loadDashboard(this.props.dashboardId);
   }
@@ -174,6 +177,10 @@ export default class Dashboard extends Component {
     }
   }
 
+  componentWillUnmount() {
+    this.props.cancelFetchDashboardCardData();
+  }
+
   async loadDashboard(dashboardId: DashboardId) {
     this.props.initialize();
 
diff --git a/frontend/src/metabase/dashboard/containers/DashboardApp.jsx b/frontend/src/metabase/dashboard/containers/DashboardApp.jsx
index 94b7f240dd2ad0d7946f2c70d573480606f2e983..44fa4a4bf28af26d2b458802528e270c001574e0 100644
--- a/frontend/src/metabase/dashboard/containers/DashboardApp.jsx
+++ b/frontend/src/metabase/dashboard/containers/DashboardApp.jsx
@@ -66,6 +66,7 @@ type DashboardAppState = {
 
 @connect(mapStateToProps, mapDispatchToProps)
 @title(({ dashboard }) => dashboard && dashboard.name)
+// NOTE: should use DashboardControls and DashboardData HoCs here?
 export default class DashboardApp extends Component {
   state: DashboardAppState = {
     addCardOnLoad: null,
diff --git a/frontend/src/metabase/dashboard/dashboard.js b/frontend/src/metabase/dashboard/dashboard.js
index d87d7079190be011728dbee1c784992bf7c5cd03..16a25b2224dab74da19f7c189a1389b4ce7448bf 100644
--- a/frontend/src/metabase/dashboard/dashboard.js
+++ b/frontend/src/metabase/dashboard/dashboard.js
@@ -11,6 +11,7 @@ import {
   createThunkAction,
 } from "metabase/lib/redux";
 import { open } from "metabase/lib/dom";
+import { defer } from "metabase/lib/promise";
 import { normalize, schema } from "normalizr";
 
 import Dashboards from "metabase/entities/dashboards";
@@ -93,6 +94,12 @@ export const UPDATE_DASHCARD_ID = "metabase/dashboard/UPDATE_DASHCARD_ID";
 export const FETCH_DASHBOARD_CARD_DATA =
   "metabase/dashboard/FETCH_DASHBOARD_CARD_DATA";
 export const FETCH_CARD_DATA = "metabase/dashboard/FETCH_CARD_DATA";
+
+export const CANCEL_FETCH_DASHBOARD_CARD_DATA =
+  "metabase/dashboard/CANCEL_FETCH_DASHBOARD_CARD_DATA";
+export const CANCEL_FETCH_CARD_DATA =
+  "metabase/dashboard/CANCEL_FETCH_CARD_DATA";
+
 export const MARK_CARD_AS_SLOW = "metabase/dashboard/MARK_CARD_AS_SLOW";
 export const CLEAR_CARD_DATA = "metabase/dashboard/CLEAR_CARD_DATA";
 
@@ -374,25 +381,63 @@ export async function fetchDataOrError(dataPromise) {
   }
 }
 
+function getAllDashboardCards(dashboard) {
+  const results = [];
+  if (dashboard) {
+    for (const dashcard of dashboard.ordered_cards) {
+      const cards = [dashcard.card].concat(dashcard.series || []);
+      results.push(...cards.map(card => ({ card, dashcard })));
+    }
+  }
+  return results;
+}
+
+function isVirtualDashCard(dashcard) {
+  return _.isObject(dashcard.visualization_settings.virtual_card);
+}
+
 export const fetchDashboardCardData = createThunkAction(
   FETCH_DASHBOARD_CARD_DATA,
-  options => async (dispatch, getState) => {
+  options => (dispatch, getState) => {
     const dashboard = getDashboardComplete(getState());
-    if (dashboard) {
-      for (const dashcard of dashboard.ordered_cards) {
-        // we skip over virtual cards, i.e. dashcards that do not have backing cards in the backend
-        if (_.isObject(dashcard.visualization_settings.virtual_card)) {
-          continue;
-        }
-        const cards = [dashcard.card].concat(dashcard.series || []);
-        for (const card of cards) {
-          dispatch(fetchCardData(card, dashcard, options));
-        }
+    for (const { card, dashcard } of getAllDashboardCards(dashboard)) {
+      // we skip over virtual cards, i.e. dashcards that do not have backing cards in the backend
+      if (!isVirtualDashCard(dashcard)) {
+        dispatch(fetchCardData(card, dashcard, options));
       }
     }
   },
 );
 
+export const cancelFetchDashboardCardData = createThunkAction(
+  CANCEL_FETCH_DASHBOARD_CARD_DATA,
+  () => (dispatch, getState) => {
+    const dashboard = getDashboardComplete(getState());
+    for (const { card, dashcard } of getAllDashboardCards(dashboard)) {
+      dispatch(cancelFetchCardData(card.id, dashcard.id));
+    }
+  },
+);
+
+// TODO: this doesn't need to be stored in Redux, does it?
+const cardDataCancelDeferreds = {};
+
+// machinery to support query cancellation
+export const cancelFetchCardData = createAction(
+  CANCEL_FETCH_CARD_DATA,
+  (card_id, dashcard_id) => {
+    const deferred = cardDataCancelDeferreds[`${dashcard_id},${card_id}`];
+    if (deferred) {
+      deferred.resolve();
+      cardDataCancelDeferreds[`${dashcard_id},${card_id}`] = null;
+    }
+    return { dashcard_id, card_id };
+  },
+);
+function setFetchCardDataCancel(card_id, dashcard_id, deferred) {
+  cardDataCancelDeferreds[`${dashcard_id},${card_id}`] = deferred;
+}
+
 export const fetchCardData = createThunkAction(FETCH_CARD_DATA, function(
   card,
   dashcard,
@@ -443,6 +488,8 @@ export const fetchCardData = createThunkAction(FETCH_CARD_DATA, function(
       }
     }
 
+    cancelFetchCardData(card.id, dashcard.id);
+
     if (clear) {
       // clears the card data to indicate the card is reloading
       dispatch(clearCardData(card.id, dashcard.id));
@@ -457,40 +504,65 @@ export const fetchCardData = createThunkAction(FETCH_CARD_DATA, function(
       }
     }, DATASET_SLOW_TIMEOUT);
 
+    const deferred = defer();
+    setFetchCardDataCancel(card.id, dashcard.id, deferred);
+
+    let cancelled = false;
+    deferred.promise.then(() => {
+      cancelled = true;
+    });
+
+    const queryOptions = {
+      cancelled: deferred.promise,
+    };
+
     // make the actual request
     if (dashboardType === "public") {
       result = await fetchDataOrError(
-        PublicApi.dashboardCardQuery({
-          uuid: dashcard.dashboard_id,
-          cardId: card.id,
-          parameters: datasetQuery.parameters
-            ? JSON.stringify(datasetQuery.parameters)
-            : undefined,
-        }),
+        PublicApi.dashboardCardQuery(
+          {
+            uuid: dashcard.dashboard_id,
+            cardId: card.id,
+            parameters: datasetQuery.parameters
+              ? JSON.stringify(datasetQuery.parameters)
+              : undefined,
+          },
+          queryOptions,
+        ),
       );
     } else if (dashboardType === "embed") {
       result = await fetchDataOrError(
-        EmbedApi.dashboardCardQuery({
-          token: dashcard.dashboard_id,
-          dashcardId: dashcard.id,
-          cardId: card.id,
-          ...getParametersBySlug(dashboard.parameters, parameterValues),
-        }),
+        EmbedApi.dashboardCardQuery(
+          {
+            token: dashcard.dashboard_id,
+            dashcardId: dashcard.id,
+            cardId: card.id,
+            ...getParametersBySlug(dashboard.parameters, parameterValues),
+          },
+          queryOptions,
+        ),
       );
     } else if (dashboardType === "transient") {
-      result = await fetchDataOrError(MetabaseApi.dataset(datasetQuery));
+      result = await fetchDataOrError(
+        MetabaseApi.dataset(datasetQuery),
+        queryOptions,
+      );
     } else {
       result = await fetchDataOrError(
-        CardApi.query({ cardId: card.id, parameters: datasetQuery.parameters }),
+        CardApi.query(
+          { cardId: card.id, parameters: datasetQuery.parameters },
+          queryOptions,
+        ),
       );
     }
 
+    setFetchCardDataCancel(card.id, dashcard.id, null);
     clearTimeout(slowCardTimer);
 
     return {
       dashcard_id: dashcard.id,
       card_id: card.id,
-      result: result,
+      result: cancelled ? null : result,
     };
   };
 });
diff --git a/frontend/src/metabase/dashboard/hoc/DashboardData.jsx b/frontend/src/metabase/dashboard/hoc/DashboardData.jsx
index 7e68eb19cf2b00aae1faffeab97be7956d1610e8..aa1c06bfd3790ed6a43ca23df918e4b2ee21d3c5 100644
--- a/frontend/src/metabase/dashboard/hoc/DashboardData.jsx
+++ b/frontend/src/metabase/dashboard/hoc/DashboardData.jsx
@@ -58,6 +58,7 @@ type Props = {
     reload: boolean,
     clear: boolean,
   }) => Promise<void>,
+  cancelFetchDashboardCardData: () => Promise<void>,
   setParameterValue: (id: string, value: string) => void,
   setErrorPage: (error: { status: number }) => void,
 };
@@ -91,6 +92,10 @@ export default (ComposedComponent: ReactClass<any>) =>
         this.load(this.props);
       }
 
+      componentWillUnmount() {
+        this.props.cancelFetchDashboardCardData();
+      }
+
       componentWillReceiveProps(nextProps: Props) {
         if (nextProps.dashboardId !== this.props.dashboardId) {
           this.load(nextProps);
diff --git a/frontend/src/metabase/entities/collections.js b/frontend/src/metabase/entities/collections.js
index 9d1c6124c5bd9fadd420061a09aeb237a8b68eea..0e4e0cc77fe2c15d20efe47325dd28535995172c 100644
--- a/frontend/src/metabase/entities/collections.js
+++ b/frontend/src/metabase/entities/collections.js
@@ -18,6 +18,9 @@ const Collections = createEntity({
   path: "/api/collection",
   schema: CollectionSchema,
 
+  displayNameOne: t`collection`,
+  displayNameMany: t`collections`,
+
   objectActions: {
     setArchived: ({ id }, archived, opts) =>
       Collections.actions.update(
@@ -32,6 +35,10 @@ const Collections = createEntity({
         { parent_id: canonicalCollectionId(collection && collection.id) },
         undo(opts, "collection", "moved"),
       ),
+
+    // NOTE: DELETE not currently implemented
+    // $FlowFixMe: no official way to disable builtin actions yet
+    delete: null,
   },
 
   selectors: {
diff --git a/frontend/src/metabase/entities/containers/EntityForm.jsx b/frontend/src/metabase/entities/containers/EntityForm.jsx
index 85be269e2a836ef4a4fa35e1783e1a61bdc0887d..ef59ad9602e1e4cdbbc1bee3ca396aff3b6ed8b6 100644
--- a/frontend/src/metabase/entities/containers/EntityForm.jsx
+++ b/frontend/src/metabase/entities/containers/EntityForm.jsx
@@ -1,8 +1,11 @@
 /* @flow */
 
 import React from "react";
+import { t } from "c-3po";
 
 import Form from "metabase/containers/Form";
+import ModalContent from "metabase/components/ModalContent";
+
 import entityType from "./EntityType";
 
 @entityType()
@@ -13,22 +16,39 @@ export default class EntityForm extends React.Component {
       entityObject,
       update,
       create,
+      onClose,
       onSaved,
+      modal,
+      title,
       ...props
     } = this.props;
-    return (
+    const form = (
       <Form
         {...props}
         form={entityDef.form}
         initialValues={entityObject}
-        onSubmit={values =>
-          values.id != null ? update(values) : create(values)
-        }
-        onSubmitSuccess={action =>
-          // maybe eventually pass the whole object instead of just the id?
-          onSaved && onSaved({ id: action.payload.result })
+        onSubmit={object =>
+          object.id != null ? update(object) : create(object)
         }
+        onSubmitSuccess={action => onSaved && onSaved(action.payload.object)}
       />
     );
+    if (modal) {
+      return (
+        <ModalContent
+          title={
+            title ||
+            (entityObject && entityObject.id != null
+              ? entityDef.objectSelectors.getName(entityObject)
+              : t`New ${entityDef.displayNameOne}`)
+          }
+          onClose={onClose}
+        >
+          {form}
+        </ModalContent>
+      );
+    } else {
+      return form;
+    }
   }
 }
diff --git a/frontend/src/metabase/entities/containers/EntityListLoader.jsx b/frontend/src/metabase/entities/containers/EntityListLoader.jsx
index 75a579c0929938258f89fcff9d8ad4de1519f06d..fc5508fcc4b70b07b69db656355930d4bb165869 100644
--- a/frontend/src/metabase/entities/containers/EntityListLoader.jsx
+++ b/frontend/src/metabase/entities/containers/EntityListLoader.jsx
@@ -27,6 +27,15 @@ export type RenderProps = {
   reload: () => void,
 };
 
+// props that shouldn't be passed to children in order to properly stack
+const CONSUMED_PROPS: string[] = [
+  "entityType",
+  "entityQuery",
+  // "reload", // Masked by `reload` function. Should we rename that?
+  "wrapped",
+  "loadingAndErrorWrapper",
+];
+
 const getEntityQuery = (state, props) =>
   typeof props.entityQuery === "function"
     ? props.entityQuery(state, props)
@@ -44,7 +53,16 @@ const getMemoizedEntityQuery = createMemoizedSelector(
 @entityType()
 @paginationState()
 @connect((state, props) => {
-  let { entityDef, entityQuery, page, pageSize } = props;
+  let {
+    entityDef,
+    entityQuery,
+    page,
+    pageSize,
+    allLoading,
+    allLoaded,
+    allFetched,
+    allError,
+  } = props;
   if (typeof entityQuery === "function") {
     entityQuery = entityQuery(state, props);
   }
@@ -52,13 +70,24 @@ const getMemoizedEntityQuery = createMemoizedSelector(
     entityQuery = { limit: pageSize, offset: pageSize * page, ...entityQuery };
   }
   entityQuery = getMemoizedEntityQuery(state, { entityQuery });
+
+  const loading = entityDef.selectors.getLoading(state, { entityQuery });
+  const loaded = entityDef.selectors.getLoaded(state, { entityQuery });
+  const fetched = entityDef.selectors.getFetched(state, { entityQuery });
+  const error = entityDef.selectors.getError(state, { entityQuery });
+
   return {
     entityQuery,
     list: entityDef.selectors.getList(state, { entityQuery }),
-    fetched: entityDef.selectors.getFetched(state, { entityQuery }),
-    loaded: entityDef.selectors.getLoaded(state, { entityQuery }),
-    loading: entityDef.selectors.getLoading(state, { entityQuery }),
-    error: entityDef.selectors.getError(state, { entityQuery }),
+    loading,
+    loaded,
+    fetched,
+    error,
+    // merge props passed in from stacked Entity*Loaders:
+    allLoading: loading || (allLoading == null ? false : allLoading),
+    allLoaded: loaded && (allLoaded == null ? true : allLoaded),
+    allFetched: fetched && (allFetched == null ? true : allFetched),
+    allError: error || (allError == null ? null : allError),
   };
 })
 export default class EntityListLoader extends React.Component {
@@ -123,21 +152,21 @@ export default class EntityListLoader extends React.Component {
 
     // $FlowFixMe: loading and error missing
     return children({
-      ...props,
-      list: list,
+      ..._.omit(props, ...CONSUMED_PROPS),
+      list,
       // alias the entities name:
-      [entityDef.name]: list,
+      [entityDef.nameMany]: list,
       reload: this.reload,
     });
   };
 
   render() {
     // $FlowFixMe: provided by @connect
-    const { fetched, error, loadingAndErrorWrapper } = this.props;
+    const { allFetched, allError, loadingAndErrorWrapper } = this.props;
     return loadingAndErrorWrapper ? (
       <LoadingAndErrorWrapper
-        loading={!fetched}
-        error={error}
+        loading={!allFetched}
+        error={allError}
         children={this.renderChildren}
       />
     ) : (
@@ -156,6 +185,11 @@ export const entityListLoader = (ellProps: Props) =>
     // eslint-disable-next-line react/display-name
     (props: Props) => (
       <EntityListLoader {...props} {...ellProps}>
-        {childProps => <ComposedComponent {...props} {...childProps} />}
+        {childProps => (
+          <ComposedComponent
+            {..._.omit(props, ...CONSUMED_PROPS)}
+            {...childProps}
+          />
+        )}
       </EntityListLoader>
     );
diff --git a/frontend/src/metabase/entities/containers/EntityName.jsx b/frontend/src/metabase/entities/containers/EntityName.jsx
new file mode 100644
index 0000000000000000000000000000000000000000..9470e972371b7c008ea82c865108e4aed7768465
--- /dev/null
+++ b/frontend/src/metabase/entities/containers/EntityName.jsx
@@ -0,0 +1,17 @@
+import React from "react";
+
+import EntityObjectLoader from "./EntityObjectLoader";
+
+const EntityName = ({ entityType, entityId }) => (
+  <EntityObjectLoader
+    entityType={entityType}
+    entityId={entityId}
+    properties={["name"]}
+    loadingAndErrorWrapper={false}
+    wrapped
+  >
+    {({ object }) => (object ? <span>{object.getName()}</span> : null)}
+  </EntityObjectLoader>
+);
+
+export default EntityName;
diff --git a/frontend/src/metabase/entities/containers/EntityObjectLoader.jsx b/frontend/src/metabase/entities/containers/EntityObjectLoader.jsx
index 15ad5ef800f75bc8b330898fd11372ec84ec96c7..b0e98742f28284847e6ee897a76680ddb04d6089 100644
--- a/frontend/src/metabase/entities/containers/EntityObjectLoader.jsx
+++ b/frontend/src/metabase/entities/containers/EntityObjectLoader.jsx
@@ -3,6 +3,7 @@
 import React from "react";
 import { connect } from "react-redux";
 import { createSelector } from "reselect";
+import _ from "underscore";
 
 import entityType from "./EntityType";
 import LoadingAndErrorWrapper from "metabase/components/LoadingAndErrorWrapper";
@@ -40,6 +41,16 @@ export type RenderProps = {
   remove: () => Promise<void>,
 };
 
+// props that shouldn't be passed to children in order to properly stack
+const CONSUMED_PROPS: string[] = [
+  "entityType",
+  "entityId",
+  // "reload", // Masked by `reload` function. Should we rename that?
+  "wrapped",
+  "properties",
+  "loadingAndErrorWrapper",
+];
+
 @entityType()
 @connect((state, { entityDef, entityId, ...props }) => {
   if (typeof entityId === "function") {
@@ -106,8 +117,10 @@ export default class EntityObjectLoader extends React.Component {
 
     // $FlowFixMe: missing loading/error
     return children({
-      ...props,
-      object: object,
+      ..._.omit(props, ...CONSUMED_PROPS),
+      object,
+      // alias the entities name:
+      [entityDef.nameOne]: object,
       reload: this.reload,
       remove: this.remove,
     });
@@ -146,6 +159,11 @@ export const entityObjectLoader = (eolProps: Props) =>
     // eslint-disable-next-line react/display-name
     (props: Props) => (
       <EntityObjectLoader {...props} {...eolProps}>
-        {childProps => <ComposedComponent {...props} {...childProps} />}
+        {childProps => (
+          <ComposedComponent
+            {..._.omit(props, ...CONSUMED_PROPS)}
+            {...childProps}
+          />
+        )}
       </EntityObjectLoader>
     );
diff --git a/frontend/src/metabase/entities/containers/EntityType.jsx b/frontend/src/metabase/entities/containers/EntityType.jsx
index 0b234f179b12146c368111556196b4796b1e7fff..fbc615621be431253c1cba5ec26a162f45e54f2f 100644
--- a/frontend/src/metabase/entities/containers/EntityType.jsx
+++ b/frontend/src/metabase/entities/containers/EntityType.jsx
@@ -9,7 +9,6 @@ export default (entityType?: string) => (
 ) => {
   const mapStateToProps = (state, props) => ({
     entityDef:
-      props.entityDef ||
       // dynamic require due to dependency load order issues
       require("metabase/entities")[entityType || props.entityType],
   });
@@ -43,7 +42,7 @@ export default (entityType?: string) => (
 
       render() {
         return (
-          <ComposedComponent {...this._boundActionCreators} {...this.props} />
+          <ComposedComponent {...this.props} {...this._boundActionCreators} />
         );
       }
     },
diff --git a/frontend/src/metabase/entities/containers/index.js b/frontend/src/metabase/entities/containers/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..23cab390e003b8228265c678f433884aea6fab6f
--- /dev/null
+++ b/frontend/src/metabase/entities/containers/index.js
@@ -0,0 +1,62 @@
+import React from "react";
+
+import EntityListLoader, { entityListLoader } from "./EntityListLoader";
+import EntityObjectLoader, { entityObjectLoader } from "./EntityObjectLoader";
+import EntityName from "./EntityName";
+import EntityForm from "./EntityForm";
+
+import inflection from "inflection";
+
+export function addEntityContainers(entity) {
+  // NOTE: need to use inflection directly here due to circular dependency
+  const ObjectName = inflection.capitalize(
+    entity.nameOne || inflection.singularize(entity.name),
+  );
+
+  // Entity.load higher-order component
+  entity.load = ({ id, ...props } = {}) =>
+    entityObjectLoader({ entityType: entity.name, entityId: id, ...props });
+
+  // Entity.Loader component
+  entity.Loader = ({ id, ...props }) => (
+    <EntityObjectLoader entityType={entity.name} entityId={id} {...props} />
+  );
+  entity.Loader.displayName = `${ObjectName}.Loader`;
+
+  // Entity.loadList higher-order component
+  entity.loadList = ({ query, ...props } = {}) =>
+    entityListLoader({ entityType: entity.name, entityQuery: query, ...props });
+
+  // Entity.ListLoader component
+  entity.ListLoader = ({ query, ...props }) => (
+    <EntityListLoader entityType={entity.name} entityQuery={query} {...props} />
+  );
+  entity.ListLoader.displayName = `${ObjectName}.ListLoader`;
+
+  // Entity.Name component
+  entity.Name = ({ id, ...props }) => (
+    <EntityName entityType={entity.name} entityId={id} {...props} />
+  );
+  entity.Name.displayName = `${ObjectName}.Name`;
+
+  // Entity.Form component
+  entity.Form = ({ object, ...props }) => (
+    <EntityForm
+      entityType={entity.name}
+      entityObject={object || props[entity.nameOne]}
+      {...props}
+    />
+  );
+  entity.Form.displayName = `${ObjectName}.Form`;
+
+  // Entity.ModalForm component
+  entity.ModalForm = ({ object, ...props }) => (
+    <EntityForm
+      modal
+      entityType={entity.name}
+      entityObject={object || props[entity.nameOne]}
+      {...props}
+    />
+  );
+  entity.ModalForm.displayName = `${ObjectName}.ModalForm`;
+}
diff --git a/frontend/src/metabase/entities/dashboards.js b/frontend/src/metabase/entities/dashboards.js
index 193c46ff44c7eb89cc982946c51c7de536c26a84..f4638296d4de5e0d068ae9078a1ef289239d3054 100644
--- a/frontend/src/metabase/entities/dashboards.js
+++ b/frontend/src/metabase/entities/dashboards.js
@@ -26,6 +26,9 @@ const Dashboards = createEntity({
   name: "dashboards",
   path: "/api/dashboard",
 
+  displayNameOne: t`dashboard`,
+  displayNameMany: t`dashboards`,
+
   api: {
     favorite: POST("/api/dashboard/:id/favorite"),
     unfavorite: DELETE("/api/dashboard/:id/favorite"),
diff --git a/frontend/src/metabase/entities/databases.js b/frontend/src/metabase/entities/databases.js
index e99e2bf0136127172b8ed1c4c235290a76b6a876..e4853dfa53d9512811d40281a3d774bf9a7eb256 100644
--- a/frontend/src/metabase/entities/databases.js
+++ b/frontend/src/metabase/entities/databases.js
@@ -1,10 +1,12 @@
 /* @flow weak */
 
-import { createEntity } from "metabase/lib/entities";
-import { fetchData, createThunkAction } from "metabase/lib/redux";
 import { normalize } from "normalizr";
 import _ from "underscore";
 
+import { createEntity } from "metabase/lib/entities";
+import { fetchData, createThunkAction } from "metabase/lib/redux";
+import MetabaseSettings from "metabase/lib/settings";
+
 import { MetabaseApi } from "metabase/services";
 import { DatabaseSchema } from "metabase/schema";
 
@@ -17,6 +19,9 @@ const Databases = createEntity({
   path: "/api/database",
   schema: DatabaseSchema,
 
+  nameOne: "database",
+  nameMany: "databases",
+
   // ACTION CREATORS
   objectActions: {
     fetchDatabaseMetadata: createThunkAction(
@@ -46,28 +51,58 @@ const Databases = createEntity({
   // FORM
   form: {
     fields: (values = {}) => [
-      { name: "name" },
-      { name: "engine", type: "select", options: ENGINE_OPTIONS },
-      ...(FIELDS_BY_ENGINE[values.engine] || []),
+      {
+        name: "engine",
+        type: "select",
+        options: ENGINE_OPTIONS,
+        placeholder: `Select a database`,
+        initial: "postgres",
+      },
+      {
+        name: "name",
+        placeholder: `How would you like to refer to this database?`,
+        validate: value => (!value ? `required` : null),
+      },
+      ...(getFieldsForEngine(values.engine, values) || []),
     ],
   },
 });
 
 export default Databases;
 
-// TODO: use the info returned by the backend
-const FIELDS_BY_ENGINE = {
-  h2: [{ name: "details.db" }],
-  postgres: [
-    { name: "details.host" },
-    { name: "details.port" },
-    { name: "details.dbname" },
-    { name: "details.user" },
-    { name: "details.password", type: "password" },
-  ],
-};
+function getFieldsForEngine(engine, values) {
+  const info = (MetabaseSettings.get("engines") || {})[engine];
+  if (info) {
+    const fields = [];
+    for (const field of info["details-fields"]) {
+      if (
+        field.name.startsWith("tunnel-") &&
+        field.name !== "tunnel-enabled" &&
+        (!values.details || !values.details["tunnel-enabled"])
+      ) {
+        continue;
+      }
+      fields.push({
+        name: "details." + field.name,
+        title: field["display-name"],
+        type: field.type,
+        placeholder: field.placeholder || field.default,
+        validate: value => (field.required && !value ? `required` : null),
+        normalize: value =>
+          value == "" || value == null
+            ? "default" in field ? field.default : null
+            : value,
+      });
+    }
+    return fields;
+  } else {
+    return [];
+  }
+}
 
-const ENGINE_OPTIONS = Object.keys(FIELDS_BY_ENGINE).map(key => ({
-  name: key,
-  value: key,
+const ENGINE_OPTIONS = Object.entries(
+  MetabaseSettings.get("engines") || {},
+).map(([engine, info]) => ({
+  name: info["driver-name"],
+  value: engine,
 }));
diff --git a/frontend/src/metabase/entities/groups.js b/frontend/src/metabase/entities/groups.js
new file mode 100644
index 0000000000000000000000000000000000000000..61846a5ae819347ea9802aa93574f42ee279a536
--- /dev/null
+++ b/frontend/src/metabase/entities/groups.js
@@ -0,0 +1,12 @@
+import { createEntity } from "metabase/lib/entities";
+
+const Groups = createEntity({
+  name: "groups",
+  path: "/api/permissions/group",
+
+  form: {
+    fields: [{ name: "name" }],
+  },
+});
+
+export default Groups;
diff --git a/frontend/src/metabase/entities/index.js b/frontend/src/metabase/entities/index.js
index ccf936380844b812cbbe9ce3cb0f66be9c95fcc3..8dcc73b1864ae460ee9225cafff406ebe21d3d05 100644
--- a/frontend/src/metabase/entities/index.js
+++ b/frontend/src/metabase/entities/index.js
@@ -12,5 +12,6 @@ export segments from "./segments";
 export tasks from "./tasks";
 
 export users from "./users";
+export groups from "./groups";
 
 export search from "./search";
diff --git a/frontend/src/metabase/entities/metrics.js b/frontend/src/metabase/entities/metrics.js
index 73fd7795eb25b25e2a5942ca2571fe55798ef203..18808f982107835c8eb6de2ca997b3a44f679e14 100644
--- a/frontend/src/metabase/entities/metrics.js
+++ b/frontend/src/metabase/entities/metrics.js
@@ -3,15 +3,38 @@ import { createEntity } from "metabase/lib/entities";
 import { MetricSchema } from "metabase/schema";
 import colors from "metabase/lib/colors";
 
-export default createEntity({
+const Metrics = createEntity({
   name: "metrics",
   path: "/api/metric",
   schema: MetricSchema,
 
+  objectActions: {
+    setArchived: ({ id }, archived, opts) =>
+      Metrics.actions.update(
+        { id },
+        {
+          archived,
+          // NOTE: this is still required by the endpoint even though we don't really use it
+          revision_message: archived ? "(Archive)" : "(Unarchive)",
+        },
+        opts,
+      ),
+
+    // NOTE: DELETE not currently implemented
+    // $FlowFixMe: no official way to disable builtin actions yet
+    delete: null,
+  },
+
   objectSelectors: {
     getName: segment => segment && segment.name,
     getUrl: segment => null,
     getColor: () => colors["text-medium"],
-    getIcon: question => "metric",
+    getIcon: question => "sum",
+  },
+
+  form: {
+    fields: [{ name: "name" }, { name: "description", type: "text" }],
   },
 });
+
+export default Metrics;
diff --git a/frontend/src/metabase/entities/segments.js b/frontend/src/metabase/entities/segments.js
index 5ad8e34c405e606fa8ecd3f23e8551cf3d4a49ec..0e1dcc007d7ff59dc003c0e40f64c169670e9a72 100644
--- a/frontend/src/metabase/entities/segments.js
+++ b/frontend/src/metabase/entities/segments.js
@@ -5,15 +5,38 @@ import { createEntity } from "metabase/lib/entities";
 import { SegmentSchema } from "metabase/schema";
 import colors from "metabase/lib/colors";
 
-export default createEntity({
+const Segments = createEntity({
   name: "segments",
   path: "/api/segment",
   schema: SegmentSchema,
 
+  objectActions: {
+    setArchived: ({ id }, archived, opts) =>
+      Segments.actions.update(
+        { id },
+        {
+          archived,
+          // NOTE: this is still required by the endpoint even though we don't really use it
+          revision_message: archived ? "(Archive)" : "(Unarchive)",
+        },
+        opts,
+      ),
+
+    // NOTE: DELETE not currently implemented
+    // $FlowFixMe: no official way to disable builtin actions yet
+    delete: null,
+  },
+
   objectSelectors: {
     getName: segment => segment && segment.name,
     getUrl: segment => null,
     getColor: () => colors["text-medium"],
     getIcon: question => "segment",
   },
+
+  form: {
+    fields: [{ name: "name" }, { name: "description", type: "text" }],
+  },
 });
+
+export default Segments;
diff --git a/frontend/src/metabase/entities/users.js b/frontend/src/metabase/entities/users.js
index b5d3a870e60e6092e5531e1f7f85ee19aba6bbf2..7960e961e832c1bcbfa732cd052604fce43306a8 100644
--- a/frontend/src/metabase/entities/users.js
+++ b/frontend/src/metabase/entities/users.js
@@ -1,14 +1,149 @@
 /* @flow */
 
+import { t } from "c-3po";
+import { assocIn } from "icepick";
+
+import MetabaseAnalytics from "metabase/lib/analytics";
+import MetabaseSettings from "metabase/lib/settings";
+import MetabaseUtils from "metabase/lib/utils";
+
 import { createEntity } from "metabase/lib/entities";
 
-export default createEntity({
+import { UserApi, SessionApi } from "metabase/services";
+
+import FormGroupsWidget from "metabase/components/form/widgets/FormGroupsWidget";
+
+export const DEACTIVATE = "metabase/entities/users/DEACTIVATE";
+export const REACTIVATE = "metabase/entities/users/REACTIVATE";
+export const PASSWORD_RESET_EMAIL =
+  "metabase/entities/users/PASSWORD_RESET_EMAIL";
+export const PASSWORD_RESET_MANUAL =
+  "metabase/entities/users/RESET_PASSWORD_MANUAL";
+export const RESEND_INVITE = "metabase/entities/users/RESEND_INVITE";
+
+const Users = createEntity({
   name: "users",
+  nameOne: "user",
+
   path: "/api/user",
 
-  getName: user => `${user.first_name} ${user.last_name}`,
+  objectSelectors: {
+    getName: user => user.common_name || `${user.first_name} ${user.last_name}`,
+  },
+
+  actionTypes: {
+    DEACTIVATE,
+    REACTIVATE,
+    PASSWORD_RESET_EMAIL,
+    PASSWORD_RESET_MANUAL,
+    RESEND_INVITE,
+  },
+
+  actionDecorators: {
+    create: {
+      // if the instance doesn't have
+      pre: user => {
+        let newUser = user;
+        if (!MetabaseSettings.isEmailConfigured()) {
+          newUser = {
+            ...newUser,
+            password: MetabaseUtils.generatePassword(),
+          };
+        }
+        return newUser;
+      },
+      post: (result, user) => ({
+        // HACK: include user ID and password for temporaryPasswords reducer
+        id: result.result,
+        password: user.password,
+        ...result,
+      }),
+    },
+    update: {
+      post: (result, user, dispatch) => {
+        // HACK: reload memberships when updating a user
+        // TODO: only do this if group_ids changes
+        dispatch(require("metabase/admin/people/people").loadMemberships());
+        return result;
+      },
+    },
+  },
+
+  objectActions: {
+    resentInvite: async ({ id }) => {
+      MetabaseAnalytics.trackEvent("People Admin", "Resent Invite");
+      await UserApi.send_invite({ id });
+      return { type: RESEND_INVITE };
+    },
+    passwordResetEmail: async ({ email }) => {
+      MetabaseAnalytics.trackEvent(
+        "People Admin",
+        "Trigger User Password Reset",
+      );
+      await SessionApi.forgot_password({ email });
+      return { type: PASSWORD_RESET_EMAIL };
+    },
+    passwordResetManual: async (
+      { id },
+      password = MetabaseUtils.generatePassword(),
+    ) => {
+      MetabaseAnalytics.trackEvent("People Admin", "Manual Password Reset");
+      await UserApi.update_password({ id, password });
+      return { type: PASSWORD_RESET_MANUAL, payload: { id, password } };
+    },
+    deactivate: async ({ id }) => {
+      MetabaseAnalytics.trackEvent("People Admin", "User Removed");
+      // TODO: move these APIs from services to this file
+      await UserApi.delete({ userId: id });
+      return { type: DEACTIVATE, payload: { id } };
+    },
+    reactivate: async ({ id }) => {
+      MetabaseAnalytics.trackEvent("People Admin", "User Reactivated");
+      // TODO: move these APIs from services to this file
+      const user = await UserApi.reactivate({ userId: id });
+      return { type: REACTIVATE, payload: user };
+    },
+  },
+
+  reducer: (state = {}, { type, payload, error }) => {
+    if (type === DEACTIVATE && !error) {
+      return assocIn(state, [payload.id, "is_active"], false);
+    } else if (type === REACTIVATE && !error) {
+      return assocIn(state, [payload.id, "is_active"], true);
+    } else if (type === PASSWORD_RESET_MANUAL && !error) {
+      return assocIn(state, [payload.id, "password"], payload.password);
+    }
+    return state;
+  },
 
   form: {
-    fields: [{ name: "first_name" }, { name: "last_name" }, { name: "email" }],
+    fields: [
+      {
+        name: "first_name",
+        placeholder: "Johnny",
+        validate: name =>
+          (!name && t`First name is required`) ||
+          (name.length > 100 && t`Must be 100 characters or less`),
+      },
+      {
+        name: "last_name",
+        placeholder: "Appleseed",
+        validate: name =>
+          (!name && t`Last name is required`) ||
+          (name.length > 100 && t`Must be 100 characters or less`),
+      },
+      {
+        name: "email",
+        placeholder: "youlooknicetoday@email.com",
+        validate: email => !email && t`Email is required`,
+      },
+      {
+        name: "group_ids",
+        title: "Groups",
+        type: FormGroupsWidget,
+      },
+    ],
   },
 });
+
+export default Users;
diff --git a/frontend/src/metabase/home/containers/ArchiveApp.jsx b/frontend/src/metabase/home/containers/ArchiveApp.jsx
index 2aba7ab44f1696d8b2986fac882245e12cbf99a0..1904a0ad6fbeecd282e5c25445f3fc92e0feae52 100644
--- a/frontend/src/metabase/home/containers/ArchiveApp.jsx
+++ b/frontend/src/metabase/home/containers/ArchiveApp.jsx
@@ -8,11 +8,11 @@ import ArchivedItem from "../../components/ArchivedItem";
 import Button from "metabase/components/Button";
 import BulkActionBar from "metabase/components/BulkActionBar";
 import Card from "metabase/components/Card";
-import HeaderWithBack from "metabase/components/HeaderWithBack";
+import PageHeading from "metabase/components/PageHeading";
 import StackedCheckBox from "metabase/components/StackedCheckBox";
 import VirtualizedList from "metabase/components/VirtualizedList";
 
-import { entityListLoader } from "metabase/entities/containers/EntityListLoader";
+import Search from "metabase/entities/search";
 import listSelect from "metabase/hoc/ListSelect";
 
 import { getUserIsAdmin } from "metabase/selectors/user";
@@ -23,9 +23,8 @@ const mapStateToProps = (state, props) => ({
 
 const ROW_HEIGHT = 68;
 
-@entityListLoader({
-  entityType: "search",
-  entityQuery: { archived: true },
+@Search.loadList({
+  query: { archived: true },
   reload: true,
   wrapped: true,
 })
@@ -44,35 +43,53 @@ export default class ArchiveApp extends Component {
     } = this.props;
     return (
       <Box mx={4}>
-        <Flex align="center" mb={2} py={3}>
-          <HeaderWithBack name={t`Archive`} />
-        </Flex>
+        <Box mt={2} py={2}>
+          <PageHeading>{t`Archive`}</PageHeading>
+        </Box>
         <Box w={2 / 3}>
-          <Card style={{ height: ROW_HEIGHT * list.length }}>
-            <VirtualizedList
-              items={list}
-              rowHeight={ROW_HEIGHT}
-              renderItem={({ item, index }) => (
-                <ArchivedItem
-                  type={item.type}
-                  name={item.getName()}
-                  icon={item.getIcon()}
-                  color={item.getColor()}
-                  isAdmin={isAdmin}
-                  onUnarchive={
-                    item.setArchived
-                      ? async () => {
-                          await item.setArchived(false);
-                          reload();
-                        }
-                      : null
-                  }
-                  selected={selection.has(item)}
-                  onToggleSelected={() => onToggleSelected(item)}
-                  showSelect={selected.length > 0}
-                />
-              )}
-            />
+          <Card
+            style={{
+              height: list.length > 0 ? ROW_HEIGHT * list.length : "auto",
+            }}
+          >
+            {list.length > 0 ? (
+              <VirtualizedList
+                items={list}
+                rowHeight={ROW_HEIGHT}
+                renderItem={({ item, index }) => (
+                  <ArchivedItem
+                    type={item.type}
+                    name={item.getName()}
+                    icon={item.getIcon()}
+                    color={item.getColor()}
+                    isAdmin={isAdmin}
+                    onUnarchive={
+                      item.setArchived
+                        ? async () => {
+                            await item.setArchived(false);
+                            reload();
+                          }
+                        : null
+                    }
+                    onDelete={
+                      item.delete
+                        ? async () => {
+                            await item.delete();
+                            reload();
+                          }
+                        : null
+                    }
+                    selected={selection.has(item)}
+                    onToggleSelected={() => onToggleSelected(item)}
+                    showSelect={selected.length > 0}
+                  />
+                )}
+              />
+            ) : (
+              <Flex p={5} align="center" justify="center">
+                <h2>{t`Items you archive will appear here.`}</h2>
+              </Flex>
+            )}
           </Card>
         </Box>
         <BulkActionBar showing={selected.length > 0}>
@@ -94,12 +111,25 @@ const BulkActionControls = ({ selected, reload }) => (
       medium
       onClick={async () => {
         try {
-          await Promise.all(selected.map(item => item.setArchived(false)));
+          await Promise.all(
+            selected.map(item => item.setArchived && item.setArchived(false)),
+          );
         } finally {
           reload();
         }
       }}
     >{t`Unarchive`}</Button>
+    <Button
+      ml={1}
+      medium
+      onClick={async () => {
+        try {
+          await Promise.all(selected.map(item => item.delete && item.delete()));
+        } finally {
+          reload();
+        }
+      }}
+    >{t`Delete`}</Button>
   </span>
 );
 
diff --git a/frontend/src/metabase/home/containers/SearchApp.jsx b/frontend/src/metabase/home/containers/SearchApp.jsx
index b32a2f33ec96d7b8ab81f8c7824c893c626a93e6..ddbc932d48ac3dd6366c79e8b24323ace196e055 100644
--- a/frontend/src/metabase/home/containers/SearchApp.jsx
+++ b/frontend/src/metabase/home/containers/SearchApp.jsx
@@ -6,7 +6,7 @@ import Link from "metabase/components/Link";
 
 import { Box, Flex } from "grid-styled";
 
-import EntityListLoader from "metabase/entities/containers/EntityListLoader";
+import Search from "metabase/entities/search";
 
 import Card from "metabase/components/Card";
 import EmptyState from "metabase/components/EmptyState";
@@ -37,11 +37,7 @@ export default class SearchApp extends React.Component {
               icon: "all",
             })}
           />
-          <EntityListLoader
-            entityType="search"
-            entityQuery={location.query}
-            wrapped
-          >
+          <Search.ListLoader query={location.query} wrapped>
             {({ list }) => {
               if (list.length === 0) {
                 return (
@@ -162,7 +158,7 @@ export default class SearchApp extends React.Component {
                 </Box>
               );
             }}
-          </EntityListLoader>
+          </Search.ListLoader>
         </Box>
       </Box>
     );
diff --git a/frontend/src/metabase/icon_paths.js b/frontend/src/metabase/icon_paths.js
index 43f250ca01b40ab88fe19dcd37b8c1704010fdfa..722cf0ec36b8fa7b66cd1dc45e798bb446ae42d8 100644
--- a/frontend/src/metabase/icon_paths.js
+++ b/frontend/src/metabase/icon_paths.js
@@ -152,7 +152,7 @@ export const ICON_PATHS = {
   eye:
     "M30.622 18.49c-.549.769-1.46 1.86-2.737 3.273-1.276 1.414-2.564 2.614-3.866 3.602-2.297 1.757-4.963 2.635-8 2.635-3.062 0-5.741-.878-8.038-2.635-1.302-.988-2.59-2.188-3.866-3.602-1.276-1.413-2.188-2.504-2.737-3.272-.549-.769-.9-1.277-1.053-1.524-.433-.63-.433-1.276 0-1.934.128-.247.472-.755 1.034-1.524.561-.768 1.48-1.852 2.756-3.252 1.276-1.4 2.564-2.593 3.866-3.581C10.303 4.892 12.982 4 16.019 4c3.011 0 5.678.892 8 2.676 1.302.988 2.59 2.182 3.866 3.581 1.276 1.4 2.195 2.484 2.756 3.252.562.769.906 1.277 1.034 1.524.433.63.433 1.276 0 1.934-.153.247-.504.755-1.053 1.524zm-1.516-3.214c-.248.376-.248 1.089.034 1.499l-.11-.16-.088-.17a21.93 21.93 0 0 0-.784-1.121c-.483-.66-1.338-1.67-2.546-2.995-1.154-1.266-2.306-2.333-3.466-3.214-1.781-1.368-3.788-2.04-6.127-2.04-2.365 0-4.385.673-6.179 2.05-1.146.87-2.298 1.938-3.452 3.204-1.208 1.325-2.063 2.334-2.546 2.995a21.93 21.93 0 0 0-.784 1.12l-.075.145-.09.135c.249-.376.249-1.089-.033-1.499l.08.122c.105.17.432.644.941 1.356.466.653 1.313 1.666 2.517 3 1.152 1.275 2.3 2.346 3.451 3.22 1.752 1.339 3.773 2.001 6.17 2.001 2.37 0 4.379-.661 6.14-2.008 1.143-.867 2.291-1.938 3.443-3.214 1.204-1.333 2.05-2.346 2.517-2.999.509-.712.836-1.186.942-1.356l.045-.071zm-17.353 5.663C10.584 19.709 10 18.237 10 16.522c0-1.744.584-3.224 1.753-4.439 1.168-1.215 2.59-1.822 4.268-1.822 1.65 0 3.058.607 4.226 1.822C21.416 13.298 22 14.778 22 16.522c0 1.715-.584 3.187-1.753 4.417-1.168 1.229-2.577 1.844-4.226 1.844-1.677 0-3.1-.615-4.268-1.844zm6.265-2.12c.624-.655.906-1.368.906-2.297 0-.957-.281-1.67-.893-2.307-.592-.616-1.203-.879-2.01-.879-.84 0-1.462.266-2.052.88-.612.636-.893 1.35-.893 2.306 0 .929.282 1.642.906 2.298.59.62 1.207.887 2.039.887.8 0 1.405-.264 1.997-.887z",
   field:
-    "M10,1 L22,1 L22,4 L10,4 L10,1 Z M10,6 L22,6 L22,12 L10,12 L10,6 Z M10,14 L22,14 L22,20 L10,20 L10,14 Z M10,22 L22,22 L22,28 L16.1421494,32 L10,28 L10,22 Z",
+    "M27 25v7H5V1h22v24zm-3 0H8v4h16v-4zm0-3v-4H8v4h16zM8 15h16v-4H8v4zm0-7h16V4H8v4z",
   fields:
     "M0,0 L7.51851852,0 L7.51851852,3.2 L0,3.2 L0,0 Z M10.7407407,0 L18.2592593,0 L18.2592593,3.2 L10.7407407,3.2 L10.7407407,0 Z M21.4814815,0 L29,0 L29,3.2 L21.4814815,3.2 L21.4814815,0 Z M0,5.33333333 L7.51851852,5.33333333 L7.51851852,29.8666667 L3.85540334,32 L0,29.8666667 L0,5.33333333 Z M10.7407407,5.33333333 L18.2592593,5.33333333 L18.2592593,29.8666667 L14.5690136,32 L10.7407407,29.8666667 L10.7407407,5.33333333 Z M21.4814815,5.33333333 L29,5.33333333 L29,29.8666667 L25.2114718,32 L21.4814815,29.8666667 L21.4814815,5.33333333 Z",
   filter: {
@@ -330,11 +330,8 @@ export const ICON_PATHS = {
     "M18.2857143,27.1999586 L18.2857143,29.7130168 C18.2857143,30.9760827 17.2711661,32 16,32 C14.7376349,32 13.7142857,30.9797942 13.7142857,29.7130168 L13.7142857,27.1999586 C14.4528227,27.3498737 15.2172209,27.4285714 16,27.4285714 C16.7827791,27.4285714 17.5471773,27.3498737 18.2857143,27.1999586 Z M13.7142857,4.80004141 L13.7142857,2.28698322 C13.7142857,1.02391726 14.7288339,0 16,0 C17.2623651,0 18.2857143,1.02020582 18.2857143,2.28698322 L18.2857143,4.80004141 C17.5471773,4.65012631 16.7827791,4.57142857 16,4.57142857 C15.2172209,4.57142857 14.4528227,4.65012631 13.7142857,4.80004141 Z M10.5518048,26.0488463 L8.93640145,27.9740091 C8.1245183,28.9415738 6.68916799,29.0738009 5.71539825,28.2567111 C4.74837044,27.4452784 4.62021518,26.0059593 5.43448399,25.0355515 L7.05102836,23.1090289 C8.00526005,24.3086326 9.1956215,25.3120077 10.5518048,26.0488463 Z M21.4481952,5.95115366 L23.0635986,4.02599087 C23.8754817,3.05842622 25.310832,2.92619908 26.2846018,3.74328891 C27.2516296,4.55472158 27.3797848,5.99404073 26.565516,6.96444852 L24.9489716,8.89097108 C23.9947399,7.69136735 22.8043785,6.68799226 21.4481952,5.95115366 Z M7.05102836,8.89097108 L5.43448399,6.96444852 C4.62260085,5.99688386 4.7416285,4.56037874 5.71539825,3.74328891 C6.68242605,2.93185624 8.12213263,3.05558308 8.93640145,4.02599087 L10.5518048,5.95115366 C9.1956215,6.68799226 8.00526005,7.69136735 7.05102836,8.89097108 Z M24.9489716,23.1090289 L26.565516,25.0355515 C27.3773992,26.0031161 27.2583715,27.4396213 26.2846018,28.2567111 C25.317574,29.0681438 23.8778674,28.9444169 23.0635986,27.9740091 L21.4481952,26.0488463 C22.8043785,25.3120077 23.9947399,24.3086326 24.9489716,23.1090289 Z M27.1999586,13.7142857 L29.7130168,13.7142857 C30.9760827,13.7142857 32,14.7288339 32,16 C32,17.2623651 30.9797942,18.2857143 29.7130168,18.2857143 L27.1999586,18.2857143 C27.3498737,17.5471773 27.4285714,16.7827791 27.4285714,16 C27.4285714,15.2172209 27.3498737,14.4528227 27.1999586,13.7142857 Z M4.80004141,18.2857143 L2.28698322,18.2857143 C1.02391726,18.2857143 2.7533531e-14,17.2711661 2.84217094e-14,16 C2.84217094e-14,14.7376349 1.02020582,13.7142857 2.28698322,13.7142857 L4.80004141,13.7142857 C4.65012631,14.4528227 4.57142857,15.2172209 4.57142857,16 C4.57142857,16.7827791 4.65012631,17.5471773 4.80004141,18.2857143 Z M16,22.8571429 C19.7870954,22.8571429 22.8571429,19.7870954 22.8571429,16 C22.8571429,12.2129046 19.7870954,9.14285714 16,9.14285714 C12.2129046,9.14285714 9.14285714,12.2129046 9.14285714,16 C9.14285714,19.7870954 12.2129046,22.8571429 16,22.8571429 Z",
   table:
     "M11.077 11.077h9.846v9.846h-9.846v-9.846zm11.077 11.077H32V32h-9.846v-9.846zm-11.077 0h9.846V32h-9.846v-9.846zM0 22.154h9.846V32H0v-9.846zM0 0h9.846v9.846H0V0zm0 11.077h9.846v9.846H0v-9.846zM22.154 0H32v9.846h-9.846V0zm0 11.077H32v9.846h-9.846v-9.846zM11.077 0h9.846v9.846h-9.846V0z",
-  table2: {
-    svg:
-      '<g fill="currentcolor" fill-rule="evenodd"><path d="M10,19 L10,15 L3,15 L3,13 L10,13 L10,9 L12,9 L12,13 L20,13 L20,9 L22,9 L22,13 L29,13 L29,15 L22,15 L22,19 L29,19 L29,21 L22,21 L22,25 L20,25 L20,21 L12,21 L12,25 L10,25 L10,21 L3,21 L3,19 L10,19 L10,19 Z M12,19 L12,15 L20,15 L20,19 L12,19 Z M30.5,0 L32,0 L32,28 L30.5,28 L1.5,28 L0,28 L0,0 L1.5,0 L30.5,0 Z M29,3 L29,25 L3,25 L3,3 L29,3 Z M3,7 L29,7 L29,9 L3,9 L3,7 Z"></path></g>',
-    attrs: { viewBox: "0 0 32 28" },
-  },
+  table2:
+    "M1.6 0h28.8A1.6 1.6 0 0 1 32 1.6v28.8a1.6 1.6 0 0 1-1.6 1.6H1.6A1.6 1.6 0 0 1 0 30.4V1.6A1.6 1.6 0 0 1 1.6 0zm1.6 3.2v6.4h6.4V3.2H3.2zm9.6 0v6.4h16V3.2h-16zm-9.6 9.6v6.4h6.4v-6.4H3.2zm9.6 0v6.4h16v-6.4h-16zm-9.6 9.6v6.4h6.4v-6.4H3.2zm9.6 0v6.4h16v-6.4h-16z",
   tilde:
     "M.018 22.856s-.627-7.417 5.456-10.293c6.416-3.033 12.638 2.01 15.885 2.01 2.09 0 4.067-1.105 4.067-4.483 0-.118 6.563-.086 6.563-.086s.338 5.151-2.756 8.403c-3.095 3.251-7.314 2.899-7.314 2.899s-2.686 0-6.353-1.543c-4.922-2.07-6.494-1.348-7.095-.969-.6.38-1.863 1.04-1.863 4.062H.018z",
   trash:
diff --git a/frontend/src/metabase/internal/components/EntitiesApp.jsx b/frontend/src/metabase/internal/components/EntitiesApp.jsx
index 760f83b536932c424e5ef0082ad25435525a1b21..25e785c19b01d46dbaa980e030877c4cf7fabb56 100644
--- a/frontend/src/metabase/internal/components/EntitiesApp.jsx
+++ b/frontend/src/metabase/internal/components/EntitiesApp.jsx
@@ -23,8 +23,8 @@ export default class EntitiesApp extends React.Component {
     return (
       <div className="p2">
         {Object.values(entityDefs).map(entityDef => (
-          <div key={entityDef.name}>
-            <Link to={`/_internal/entities/${entityDef.name}`}>
+          <div key={entityDef.name} className="mb1">
+            <Link to={`/_internal/entities/${entityDef.name}`} className="link">
               {capitalize(entityDef.name)}
             </Link>
           </div>
@@ -37,7 +37,7 @@ export default class EntitiesApp extends React.Component {
 import { List, WindowScroller } from "react-virtualized";
 
 const EntityListApp = ({ params: { entityType } }) => (
-  <EntityListLoader entityType={entityType}>
+  <EntityListLoader entityType={entityType} wrapped>
     {({ list }) => (
       <div className="p2">
         <h2 className="pb2">{capitalize(entityType)}</h2>
@@ -49,16 +49,15 @@ const EntityListApp = ({ params: { entityType } }) => (
               height={height}
               isScrolling={isScrolling}
               rowCount={list.length}
-              rowHeight={20}
+              rowHeight={22}
               width={200}
               rowRenderer={({ index, key, style }) => (
-                <div key={key} style={style}>
+                <div key={key} style={style} className="text-ellipsis">
                   <Link
+                    className="text-nowrap link"
                     to={`/_internal/entities/${entityType}/${list[index].id}`}
                   >
-                    {entityDefs[entityType].objectSelectors.getName(
-                      list[index],
-                    )}
+                    {list[index].getName()}
                   </Link>
                 </div>
               )}
diff --git a/frontend/src/metabase/internal/lib/components-node.js b/frontend/src/metabase/internal/lib/components-node.js
index 507008b81c835af0f49f8449640bd67205c5ae8c..657a73e2630a53ce5537e88dde5cd6e472061f10 100644
--- a/frontend/src/metabase/internal/lib/components-node.js
+++ b/frontend/src/metabase/internal/lib/components-node.js
@@ -8,4 +8,7 @@ let normalizedPath = path.join(__dirname, "..", "..", "components");
 export default fs
   .readdirSync(normalizedPath)
   .filter(file => /\.info\.js$/.test(file))
-  .map(file => require(path.join(normalizedPath, file)));
+  .map(file => ({
+    filename: file.replace(/\.info\.js$/, ""),
+    ...require(path.join(normalizedPath, file)),
+  }));
diff --git a/frontend/src/metabase/lib/analytics.js b/frontend/src/metabase/lib/analytics.js
index b22e245fd4bcf510a1ce8118b679c7b1a3b82aff..0990afdf662ff3076597f8533c1a78b181e5feb3 100644
--- a/frontend/src/metabase/lib/analytics.js
+++ b/frontend/src/metabase/lib/analytics.js
@@ -13,12 +13,14 @@ const MetabaseAnalytics = {
       // scrub query builder urls to remove serialized json queries from path
       url = url.lastIndexOf("/q/", 0) === 0 ? "/q/" : url;
 
-      const { tag } = MetabaseSettings.get("version");
+      const { tag } = MetabaseSettings.get("version") || {};
 
       // $FlowFixMe
-      ga("set", "dimension1", tag);
-      ga("set", "page", url);
-      ga("send", "pageview", url);
+      if (typeof ga === "function") {
+        ga("set", "dimension1", tag);
+        ga("set", "page", url);
+        ga("send", "pageview", url);
+      }
     }
   },
 
@@ -29,11 +31,11 @@ const MetabaseAnalytics = {
     label?: ?(string | number | boolean),
     value?: ?number,
   ) {
-    const { tag } = MetabaseSettings.get("version");
+    const { tag } = MetabaseSettings.get("version") || {};
 
     // category & action are required, rest are optional
-    if (category && action) {
-      // $FlowFixMe
+    // $FlowFixMe
+    if (typeof ga === "function" && category && action) {
       ga("set", "dimension1", tag);
       ga("send", "event", category, action, label, value);
     }
diff --git a/frontend/src/metabase/lib/api.js b/frontend/src/metabase/lib/api.js
index b3df0b36db8cb6fac040d9f2203ae516869e01f4..a92cc8b26716aa80572d8bc857a45b9e27c8e172 100644
--- a/frontend/src/metabase/lib/api.js
+++ b/frontend/src/metabase/lib/api.js
@@ -103,11 +103,11 @@ export class Api extends EventEmitter {
 
         let headers: { [key: string]: string } = {
           Accept: "application/json",
+          "Content-Type": "application/json",
         };
 
         let body;
         if (options.hasBody) {
-          headers["Content-Type"] = "application/json";
           body = JSON.stringify(data);
         } else {
           let qs = querystring.stringify(data);
diff --git a/frontend/src/metabase/lib/cookies.js b/frontend/src/metabase/lib/cookies.js
index 860ccb863ce328798de6aa92460213184e7cf83f..1b934a75485d37da266e230e7318e4d9fbd38818 100644
--- a/frontend/src/metabase/lib/cookies.js
+++ b/frontend/src/metabase/lib/cookies.js
@@ -1,38 +1,11 @@
-import { clearGoogleAuthCredentials } from "metabase/lib/auth";
-
 import Cookies from "js-cookie";
 
-export const METABASE_SESSION_COOKIE = "metabase.SESSION_ID";
+// METABASE_SESSION_COOKIE is only used for e2e tests. In normal usage cookie is set automatically by login endpoints
+export const METABASE_SESSION_COOKIE = "metabase.SESSION";
 export const METABASE_SEEN_ALERT_SPLASH_COOKIE = "metabase.SEEN_ALERT_SPLASH";
 
 // Handles management of Metabase cookie work
 let MetabaseCookies = {
-  // set the session cookie.  if sessionId is null, clears the cookie
-  setSessionCookie: function(sessionId) {
-    const options = {
-      path: window.MetabaseRoot || "/",
-      expires: 14,
-      secure: window.location.protocol === "https:",
-    };
-
-    try {
-      if (sessionId) {
-        // set a session cookie
-        Cookies.set(METABASE_SESSION_COOKIE, sessionId, options);
-      } else {
-        sessionId = Cookies.get(METABASE_SESSION_COOKIE);
-
-        // delete the current session cookie and Google Auth creds
-        Cookies.remove(METABASE_SESSION_COOKIE);
-        clearGoogleAuthCredentials();
-
-        return sessionId;
-      }
-    } catch (e) {
-      console.error("setSessionCookie:", e);
-    }
-  },
-
   setHasSeenAlertSplash: hasSeen => {
     const options = {
       path: window.MetabaseRoot || "/",
diff --git a/frontend/src/metabase/lib/dataset.js b/frontend/src/metabase/lib/dataset.js
index 9f4352a8d97d870b93a133912af77ab3a3769757..cebdbcb6ca0c27be6b24846afc72f63e411a0ec8 100644
--- a/frontend/src/metabase/lib/dataset.js
+++ b/frontend/src/metabase/lib/dataset.js
@@ -9,11 +9,11 @@ import type {
   DatasetData,
 } from "metabase/meta/types/Dataset";
 import type { Card } from "metabase/meta/types/Card";
-import type { ConcreteField } from "metabase/meta/types/Query";
+import type { Field as FieldReference } from "metabase/meta/types/Query";
 
 type ColumnSetting = {
   name: ColumnName,
-  fieldRef?: ConcreteField,
+  fieldRef?: FieldReference,
   enabled: boolean,
 };
 
@@ -39,11 +39,15 @@ export const rangeForValue = (
 };
 
 /**
- * Returns a MBQL field reference (ConcreteField) for a given result dataset column
+ * Returns a MBQL field reference (FieldReference) for a given result dataset column
  * @param  {Column} column Dataset result column
- * @return {?ConcreteField} MBQL field reference
+ * @param  {?Column[]} columns Full array of columns, unfortunately needed to determine the aggregation index
+ * @return {?FieldReference} MBQL field reference
  */
-export function fieldRefForColumn(column: Column): ?ConcreteField {
+export function fieldRefForColumn(
+  column: Column,
+  columns?: Column[],
+): ?FieldReference {
   if (column.id != null) {
     if (Array.isArray(column.id)) {
       // $FlowFixMe: sometimes col.id is a field reference (e.x. nested queries), if so just return it
@@ -55,9 +59,16 @@ export function fieldRefForColumn(column: Column): ?ConcreteField {
     }
   } else if (column.expression_name != null) {
     return ["expression", column.expression_name];
-  } else {
-    return null;
+  } else if (column.source === "aggregation" && columns) {
+    // HACK: find the aggregation index, preferably this would be included on the column
+    const aggIndex = columns
+      .filter(c => c.source === "aggregation")
+      .indexOf(column);
+    if (aggIndex >= 0) {
+      return ["aggregation", aggIndex];
+    }
   }
+  return null;
 }
 
 export const keyForColumn = (column: Column): string => {
@@ -126,7 +137,10 @@ export function syncQueryFields(card: Card, cols: Column[]): void {
   }
 }
 
-export function getExistingFields(card: Card, cols: Column[]): ConcreteField[] {
+export function getExistingFields(
+  card: Card,
+  cols: Column[],
+): FieldReference[] {
   const query = card.dataset_query.query;
   if (query.fields && query.fields > 0) {
     return query.fields;
diff --git a/frontend/src/metabase/lib/entities.js b/frontend/src/metabase/lib/entities.js
index c4fc49bcc0cb1a4a43687f61139a577d8c60457a..675e4eab45d81defab1afd78da6b77729d9c1b80 100644
--- a/frontend/src/metabase/lib/entities.js
+++ b/frontend/src/metabase/lib/entities.js
@@ -11,6 +11,7 @@ import { setRequestState } from "metabase/redux/requests";
 import { addUndo } from "metabase/redux/undo";
 
 import { GET, PUT, POST, DELETE } from "metabase/lib/api";
+import { singularize } from "metabase/lib/formatting";
 
 import { createSelector } from "reselect";
 import { normalize, denormalize, schema } from "normalizr";
@@ -41,6 +42,13 @@ export type Reducer = (state: any, action: Action) => any;
 
 type EntityDefinition = {
   name: EntityName,
+
+  nameOne?: string,
+  nameMany?: string,
+
+  displayNameOne?: string,
+  displayNameMany?: string,
+
   schema?: schema.Entity,
   path?: string,
   api?: { [method: string]: APIMethod },
@@ -84,6 +92,13 @@ type Result = any; // FIXME
 
 export type Entity = {
   name: EntityName,
+
+  nameOne: string,
+  nameMany: string,
+
+  displayNameOne: string,
+  displayNameMany: string,
+
   path?: string,
   api: {
     list: APIMethod,
@@ -102,6 +117,12 @@ export type Entity = {
     DELETE: ActionType,
     FETCH_LIST: ActionType,
   },
+  actionDecorators: {
+    create: {
+      pre: Function,
+      post: Function,
+    },
+  },
   actions: {
     [name: string]: ActionCreator,
     fetchList: (
@@ -152,6 +173,20 @@ export function createEntity(def: EntityDefinition): Entity {
   // $FlowFixMe
   const entity: Entity = { ...def };
 
+  if (!entity.nameOne) {
+    entity.nameOne = singularize(entity.name);
+  }
+  if (!entity.nameMany) {
+    entity.nameMany = entity.name;
+  }
+
+  if (!entity.displayNameOne) {
+    entity.displayNameOne = entity.nameOne;
+  }
+  if (!entity.displayNameMany) {
+    entity.displayNameMany = entity.nameMany;
+  }
+
   // defaults
   if (!entity.schema) {
     entity.schema = new schema.Entity(entity.name);
@@ -204,20 +239,53 @@ export function createEntity(def: EntityDefinition): Entity {
     ...(entity.actionTypes || {}),
   };
 
+  entity.actionDecorators = {
+    ...(entity.actionDecorators || {}),
+  };
+
+  function runActionDecorator(action, type, object, ...extra) {
+    const decorator = getIn(entity, ["actionDecorators", action, type]);
+    if (decorator) {
+      return decorator(object, ...extra);
+    } else {
+      return object;
+    }
+  }
+
   entity.objectActions = {
     create: createThunkAction(
       CREATE_ACTION,
       entityObject => async (dispatch, getState) => {
         trackAction("create", entityObject, getState);
         const statePath = ["entities", entity.name, "create"];
+        entityObject = runActionDecorator(
+          "create",
+          "pre",
+          entityObject,
+          dispatch,
+          getState,
+        );
         try {
           dispatch(setRequestState({ statePath, state: "LOADING" }));
-          const result = normalize(
-            await entity.api.create(getWritableProperties(entityObject)),
-            entity.schema,
+          const object = await entity.api.create(
+            getWritableProperties(entityObject),
           );
+          const result = normalize(object, entity.schema);
           dispatch(setRequestState({ statePath, state: "LOADED" }));
-          return result;
+          return runActionDecorator(
+            "create",
+            "post",
+            {
+              // include raw object (and alias under nameOne) for convienence
+              object,
+              [entity.nameOne]: object,
+              // include normalizr properties "entities" and "result"
+              ...result,
+            },
+            entityObject,
+            dispatch,
+            getState,
+          );
         } catch (error) {
           console.error(`${CREATE_ACTION} failed:`, error);
           dispatch(setRequestState({ statePath, error }));
@@ -265,13 +333,20 @@ export function createEntity(def: EntityDefinition): Entity {
         if (updatedObject) {
           entityObject = { id: entityObject.id, ...updatedObject };
         }
+        entityObject = runActionDecorator(
+          "update",
+          "pre",
+          entityObject,
+          dispatch,
+          getState,
+        );
         const statePath = [...getObjectStatePath(entityObject.id), "update"];
         try {
           dispatch(setRequestState({ statePath, state: "LOADING" }));
-          const result = normalize(
-            await entity.api.update(getWritableProperties(entityObject)),
-            entity.schema,
+          const object = await entity.api.update(
+            getWritableProperties(entityObject),
           );
+          const result = normalize(object, entity.schema);
           dispatch(setRequestState({ statePath, state: "LOADED" }));
           if (notify) {
             if (notify.undo) {
@@ -298,7 +373,20 @@ export function createEntity(def: EntityDefinition): Entity {
               dispatch(addUndo(notify));
             }
           }
-          return result;
+          return runActionDecorator(
+            "update",
+            "post",
+            {
+              // include raw object (and alias under nameOne) for convienence
+              object,
+              [entity.nameOne]: object,
+              // include normalizr properties "entities" and "result"
+              ...result,
+            },
+            entityObject,
+            dispatch,
+            getState,
+          );
         } catch (error) {
           console.error(`${UPDATE_ACTION} failed:`, error);
           dispatch(setRequestState({ statePath, error }));
@@ -510,7 +598,7 @@ export function createEntity(def: EntityDefinition): Entity {
       return state;
     }
     if (type === FETCH_LIST_ACTION) {
-      if (payload.result) {
+      if (payload && payload.result) {
         return {
           ...state,
           [getIdForQuery(payload.entityQuery)]: payload.result,
@@ -572,26 +660,30 @@ export function createEntity(def: EntityDefinition): Entity {
     }
     // object selectors
     for (const [methodName, method] of Object.entries(entity.objectSelectors)) {
-      // $FlowFixMe
-      EntityWrapper.prototype[methodName] = function(...args) {
+      if (method) {
         // $FlowFixMe
-        return method(this, ...args);
-      };
+        EntityWrapper.prototype[methodName] = function(...args) {
+          // $FlowFixMe
+          return method(this, ...args);
+        };
+      }
     }
     // object actions
     for (const [methodName, method] of Object.entries(entity.objectActions)) {
-      // $FlowFixMe
-      EntityWrapper.prototype[methodName] = function(...args) {
-        if (this._dispatch) {
-          // if dispatch was provided to the constructor go ahead and dispatch
-          // $FlowFixMe
-          return this._dispatch(method(this, ...args));
-        } else {
-          // otherwise just return the action
-          // $FlowFixMe
-          return method(this, ...args);
-        }
-      };
+      if (method) {
+        // $FlowFixMe
+        EntityWrapper.prototype[methodName] = function(...args) {
+          if (this._dispatch) {
+            // if dispatch was provided to the constructor go ahead and dispatch
+            // $FlowFixMe
+            return this._dispatch(method(this, ...args));
+          } else {
+            // otherwise just return the action
+            // $FlowFixMe
+            return method(this, ...args);
+          }
+        };
+      }
     }
 
     entity.wrapEntity = (object, dispatch = null) =>
@@ -612,6 +704,9 @@ export function createEntity(def: EntityDefinition): Entity {
     }
   }
 
+  // add container components and HOCs
+  require("metabase/entities/containers").addEntityContainers(entity);
+
   return entity;
 }
 
diff --git a/frontend/src/metabase/lib/formatting.js b/frontend/src/metabase/lib/formatting.js
index cb0f2a45f2335e4513b8a5e77a6629988956a16e..29b4258f5a2eb88963f668356f5dd28628f7d1cd 100644
--- a/frontend/src/metabase/lib/formatting.js
+++ b/frontend/src/metabase/lib/formatting.js
@@ -33,7 +33,7 @@ import {
   hasHour,
 } from "metabase/lib/formatting/date";
 
-import Field from "metabase-lib/lib/metadata/Field";
+import type Field from "metabase-lib/lib/metadata/Field";
 import type { Column, Value } from "metabase/meta/types/Dataset";
 import type { DatetimeUnit } from "metabase/meta/types/Query";
 import type { Moment } from "metabase/meta/types";
@@ -261,7 +261,7 @@ function formatNumberCompact(value: number) {
   } else {
     // 1 => 1
     // 1000 => 1K
-    return Humanize.compactInteger(value, 1);
+    return Humanize.compactInteger(Math.round(value), 1);
   }
 }
 
diff --git a/frontend/src/metabase/lib/groups.js b/frontend/src/metabase/lib/groups.js
index e9b510ca168b2b24dfd833f938d5f365ba6ffd05..9de18014585f46d9bf5232a404a6b261accc80d2 100644
--- a/frontend/src/metabase/lib/groups.js
+++ b/frontend/src/metabase/lib/groups.js
@@ -23,7 +23,7 @@ export function canEditPermissions(group) {
 }
 
 export function canEditMembership(group) {
-  return !isDefaultGroup(group);
+  return !isDefaultGroup(group) && !isMetaBotGroup(group);
 }
 
 export function getGroupColor(group) {
diff --git a/frontend/src/metabase/lib/urls.js b/frontend/src/metabase/lib/urls.js
index 2be64c0802f2b8baa11a7fd307f3f6b82f3e71e2..f7cc3ff06ccdde9c0c8502c600261afa13ccb3ff 100644
--- a/frontend/src/metabase/lib/urls.js
+++ b/frontend/src/metabase/lib/urls.js
@@ -134,3 +134,27 @@ export function userCollection(userCollectionId) {
 export function accountSettings() {
   return `/user/edit_current`;
 }
+
+export function newUser() {
+  return `/admin/people/new`;
+}
+
+export function editUser(userId) {
+  return `/admin/people/${userId}/edit`;
+}
+
+export function resetPassword(userId) {
+  return `/admin/people/${userId}/reset`;
+}
+
+export function newUserSuccess(userId) {
+  return `/admin/people/${userId}/success`;
+}
+
+export function deactivateUser(userId) {
+  return `/admin/people/${userId}/deactivate`;
+}
+
+export function reactivateUser(userId) {
+  return `/admin/people/${userId}/reactivate`;
+}
diff --git a/frontend/src/metabase/modes/components/drill/SortAction.jsx b/frontend/src/metabase/modes/components/drill/SortAction.jsx
index 6809c30bedc564c10e098ea793ce5ecefea8bc4f..aea3d92715c4942757a152cba1832c91ef14623a 100644
--- a/frontend/src/metabase/modes/components/drill/SortAction.jsx
+++ b/frontend/src/metabase/modes/components/drill/SortAction.jsx
@@ -1,7 +1,8 @@
 /* @flow */
 
-import Query from "metabase/lib/query";
 import StructuredQuery from "metabase-lib/lib/queries/StructuredQuery";
+import Dimension from "metabase-lib/lib/Dimension";
+
 import { t } from "c-3po";
 import type {
   ClickAction,
@@ -31,7 +32,7 @@ export default ({ question, clicked }: ClickActionProps): ClickAction[] => {
 
   const [sortDirection, sortFieldRef] = query.sorts()[0] || [];
   const isAlreadySorted =
-    sortFieldRef != null && Query.isSameField(sortFieldRef, fieldRef);
+    sortFieldRef != null && Dimension.isEqual(fieldRef, sortFieldRef);
 
   const actions = [];
   if (!isAlreadySorted || sortDirection === "desc") {
diff --git a/frontend/src/metabase/nav/components/ProfileLink.jsx b/frontend/src/metabase/nav/components/ProfileLink.jsx
index 40e29bff3beaf3d930eecb220d2a932749392415..db758fa9534671fa46867c613407ab62e2f561b4 100644
--- a/frontend/src/metabase/nav/components/ProfileLink.jsx
+++ b/frontend/src/metabase/nav/components/ProfileLink.jsx
@@ -9,7 +9,6 @@ import { capitalize } from "metabase/lib/formatting";
 import MetabaseSettings from "metabase/lib/settings";
 import * as Urls from "metabase/lib/urls";
 import Modal from "metabase/components/Modal";
-import Logs from "metabase/components/Logs";
 
 import LogoIcon from "metabase/components/LogoIcon";
 import EntityMenu from "metabase/components/EntityMenu";
@@ -55,14 +54,6 @@ export default class ProfileLink extends Component {
           }`,
         },
       ]),
-      ...(admin && [
-        {
-          title: t`Logs`,
-          icon: null,
-          action: () => this.openModal("logs"),
-          event: `Navbar;Profile Dropdown;Debugging ${tag}`,
-        },
-      ]),
       {
         title: t`Help`,
         icon: null,
@@ -135,10 +126,6 @@ export default class ProfileLink extends Component {
               <span>{t`and is built with care in San Francisco, CA`}</span>
             </div>
           </Modal>
-        ) : modalOpen === "logs" ? (
-          <Modal wide onClose={this.closeModal}>
-            <Logs onClose={this.closeModal} />
-          </Modal>
         ) : null}
       </Box>
     );
diff --git a/frontend/src/metabase/nav/containers/Navbar.jsx b/frontend/src/metabase/nav/containers/Navbar.jsx
index fa618569dabe5ee28866939728b53a50231b6f44..0fc648db57943be574c1b196bf797f1b762e0ccf 100644
--- a/frontend/src/metabase/nav/containers/Navbar.jsx
+++ b/frontend/src/metabase/nav/containers/Navbar.jsx
@@ -28,7 +28,7 @@ import CreateDashboardModal from "metabase/components/CreateDashboardModal";
 import ProfileLink from "metabase/nav/components/ProfileLink.jsx";
 
 import { getPath, getContext, getUser } from "../selectors";
-import { entityListLoader } from "metabase/entities/containers/EntityListLoader";
+import Database from "metabase/entities/databases";
 
 const mapStateToProps = (state, props) => ({
   path: getPath(state, props),
@@ -147,8 +147,7 @@ class SearchBar extends React.Component {
 
 const MODAL_NEW_DASHBOARD = "MODAL_NEW_DASHBOARD";
 
-@entityListLoader({
-  entityType: "databases",
+@Database.loadList({
   // set this to false to prevent a potential spinner on the main nav
   loadingAndErrorWrapper: false,
 })
@@ -263,7 +262,7 @@ export default class Navbar extends Component {
       <Flex
         // NOTE: DO NOT REMOVE `Nav` CLASS FOR NOW, USED BY MODALS, FULLSCREEN DASHBOARD, ETC
         // TODO: hide nav using state in redux instead?
-        className="Nav relative bg-brand text-white z3"
+        className="Nav relative bg-brand text-white z3 flex-no-shrink"
         align="center"
         py={1}
         pr={2}
diff --git a/frontend/src/metabase/public/containers/PublicDashboard.jsx b/frontend/src/metabase/public/containers/PublicDashboard.jsx
index 3f7586765d2e3458219bd9253bfd49225558d7e3..8b35da4fb85d83252e4bbb0ee5ac5ecdafaa8d23 100644
--- a/frontend/src/metabase/public/containers/PublicDashboard.jsx
+++ b/frontend/src/metabase/public/containers/PublicDashboard.jsx
@@ -75,12 +75,14 @@ type Props = {
     reload: boolean,
     clear: boolean,
   }) => Promise<void>,
+  cancelFetchDashboardCardData: () => Promise<void>,
   setParameterValue: (id: string, value: string) => void,
   setErrorPage: (error: { status: number }) => void,
 };
 
 @connect(mapStateToProps, mapDispatchToProps)
 @DashboardControls
+// NOTE: this should use DashboardData HoC
 export default class PublicDashboard extends Component {
   props: Props;
 
@@ -112,6 +114,10 @@ export default class PublicDashboard extends Component {
     }
   }
 
+  componentWillUnmount() {
+    this.props.cancelFetchDashboardCardData();
+  }
+
   componentWillReceiveProps(nextProps: Props) {
     if (!_.isEqual(this.props.parameterValues, nextProps.parameterValues)) {
       this.props.fetchDashboardCardData({ reload: false, clear: true });
diff --git a/frontend/src/metabase/public/containers/PublicQuestion.jsx b/frontend/src/metabase/public/containers/PublicQuestion.jsx
index 3d56a2c9c780aca462b7820198eff6e6da406c2f..d7782d3083419efd968e14c869f06a76e6f632ca 100644
--- a/frontend/src/metabase/public/containers/PublicQuestion.jsx
+++ b/frontend/src/metabase/public/containers/PublicQuestion.jsx
@@ -136,6 +136,8 @@ export default class PublicQuestion extends Component {
     const parameters = getParameters(card);
 
     try {
+      this.setState({ result: null });
+
       let newResult;
       if (token) {
         // embeds apply parameter values server-side
diff --git a/frontend/src/metabase/pulse/components/PulseMoveModal.jsx b/frontend/src/metabase/pulse/components/PulseMoveModal.jsx
deleted file mode 100644
index 107264c7b981d7a9ba425184dde3ffbd358ac592..0000000000000000000000000000000000000000
--- a/frontend/src/metabase/pulse/components/PulseMoveModal.jsx
+++ /dev/null
@@ -1,85 +0,0 @@
-import React from "react";
-import { Box, Flex } from "grid-styled";
-import cx from "classnames";
-import { withRouter } from "react-router";
-
-import { PulseApi } from "metabase/services";
-
-import Button from "metabase/components/Button";
-import Icon from "metabase/components/Icon";
-
-import CollectionListLoader from "metabase/containers/CollectionListLoader";
-
-import colors from "metabase/lib/colors";
-
-@withRouter
-class PulseMoveModal extends React.Component {
-  state = {
-    // will eventually be the collection object representing the selected collection
-    // we store the whole object instead of just the ID so that we can use its
-    // name in the action button, and other properties
-    selectedCollection: {},
-    // whether the move action has started
-    moving: false,
-    error: null,
-  };
-
-  async _movePulse() {
-    try {
-      await PulseApi.update({
-        id: this.props.params.pulseId,
-        collection_id: this.state.selectedCollection.id,
-      });
-      this.props.onClose();
-    } catch (error) {
-      this.setState({ error, moving: false });
-    }
-  }
-  render() {
-    const { selectedCollection } = this.state;
-    return (
-      <Box p={3}>
-        Move to...
-        <CollectionListLoader>
-          {({ collections, loading, error }) => {
-            if (loading) {
-              return <Box>Loading...</Box>;
-            }
-            return (
-              <Box>
-                {collections.map(collection => (
-                  <Box
-                    my={1}
-                    p={1}
-                    onClick={() =>
-                      this.setState({ selectedCollection: collection })
-                    }
-                    className={cx(
-                      "bg-brand-hover text-white-hover cursor-pointer rounded",
-                      {
-                        "bg-brand text-white":
-                          selectedCollection.id === collection.id,
-                      },
-                    )}
-                  >
-                    <Flex align="center">
-                      <Icon name="all" color={colors["text-light"]} size={32} />
-                      <h4 className="ml1">{collection.name}</h4>
-                    </Flex>
-                  </Box>
-                ))}
-              </Box>
-            );
-          }}
-        </CollectionListLoader>
-        <Flex>
-          <Button primary className="ml-auto" onClick={() => this._movePulse()}>
-            Move
-          </Button>
-        </Flex>
-      </Box>
-    );
-  }
-}
-
-export default PulseMoveModal;
diff --git a/frontend/src/metabase/pulse/containers/PulseEditApp.jsx b/frontend/src/metabase/pulse/containers/PulseEditApp.jsx
index a82b2ecd75f4cffa0bbdec6abfacccd2c6427af0..47e58d75771d503dc4d58b513407e55364bfd334 100644
--- a/frontend/src/metabase/pulse/containers/PulseEditApp.jsx
+++ b/frontend/src/metabase/pulse/containers/PulseEditApp.jsx
@@ -5,10 +5,10 @@ import { connect } from "react-redux";
 import title from "metabase/hoc/Title";
 
 import PulseEdit from "../components/PulseEdit.jsx";
-import { entityListLoader } from "metabase/entities/containers/EntityListLoader";
 
 import Collections from "metabase/entities/collections";
 import Pulses from "metabase/entities/pulses";
+import User from "metabase/entities/users";
 
 import { push, goBack } from "react-router-redux";
 
@@ -53,7 +53,7 @@ const mapDispatchToProps = {
   goBack,
 };
 
-@entityListLoader({ entityType: "users" })
+@User.loadList()
 @connect(mapStateToProps, mapDispatchToProps)
 @title(({ pulse }) => pulse && pulse.name)
 export default class PulseEditApp extends Component {
diff --git a/frontend/src/metabase/query_builder/components/AlertModals.jsx b/frontend/src/metabase/query_builder/components/AlertModals.jsx
index e939133c06529a5fecc73550eeb671edbdab520a..b1188319e00a728dfe04b73214b3ffbc6ce354ab 100644
--- a/frontend/src/metabase/query_builder/components/AlertModals.jsx
+++ b/frontend/src/metabase/query_builder/components/AlertModals.jsx
@@ -16,7 +16,7 @@ import ButtonWithStatus from "metabase/components/ButtonWithStatus";
 import PulseEditChannels from "metabase/pulse/components/PulseEditChannels";
 import RetinaImage from "react-retina-image";
 
-import { entityListLoader } from "metabase/entities/containers/EntityListLoader";
+import User from "metabase/entities/users";
 
 // actions
 import { createAlert, deleteAlert, updateAlert } from "metabase/alert/alert";
@@ -574,7 +574,7 @@ export class AlertEditSchedule extends Component {
   }
 }
 
-@entityListLoader({ entityType: "users" })
+@User.loadList()
 @connect(
   (state, props) => ({
     user: getUser(state),
diff --git a/frontend/src/metabase/query_builder/components/FieldName.jsx b/frontend/src/metabase/query_builder/components/FieldName.jsx
index 8248a3b22abbf7b975ceb07941ce3c6d120ed8c9..76bcc71d99a310b57f28993eb9a8ebf1d0360f31 100644
--- a/frontend/src/metabase/query_builder/components/FieldName.jsx
+++ b/frontend/src/metabase/query_builder/components/FieldName.jsx
@@ -5,7 +5,7 @@ import Clearable from "./Clearable.jsx";
 
 import Query from "metabase/lib/query";
 
-import Dimension, { AggregationDimension } from "metabase-lib/lib/Dimension";
+import Dimension from "metabase-lib/lib/Dimension";
 
 import _ from "underscore";
 import cx from "classnames";
@@ -44,22 +44,11 @@ export default class FieldName extends Component {
     let parts = [];
 
     if (field) {
-      const dimension = Dimension.parseMBQL(
-        field,
-        tableMetadata && tableMetadata.metadata,
-      );
+      const dimension = query
+        ? query.parseFieldReference(field)
+        : Dimension.parseMBQL(field, tableMetadata && tableMetadata.metadata);
       if (dimension) {
-        if (dimension instanceof AggregationDimension) {
-          // Aggregation dimension doesn't know about its relation to the current query
-          // so we have to infer the display name of aggregation here
-          parts = (
-            <span key="field">
-              {query.aggregations()[dimension.aggregationIndex()][0]}
-            </span>
-          );
-        } else {
-          parts = <span key="field">{dimension.render()}</span>;
-        }
+        parts = <span key="field">{dimension.render()}</span>;
       } else if (Query.isFieldLiteral(field)) {
         // TODO Atte Keinänen 6/23/17: Move nested queries logic to Dimension subclasses
         // if the Field in question is a field literal, e.g. ["field-literal", <name>, <type>] just use name as-is
diff --git a/frontend/src/metabase/query_builder/components/dataref/DataReference.jsx b/frontend/src/metabase/query_builder/components/dataref/DataReference.jsx
index 7b2ece456dc6cea761d1f38bb8c55b3ac521e87d..db53301619e987cd528d2acd70d0fc3fcab7ffe2 100644
--- a/frontend/src/metabase/query_builder/components/dataref/DataReference.jsx
+++ b/frontend/src/metabase/query_builder/components/dataref/DataReference.jsx
@@ -3,6 +3,7 @@ import React, { Component } from "react";
 import PropTypes from "prop-types";
 import { t } from "c-3po";
 import MainPane from "./MainPane.jsx";
+import DatabasePane from "./DatabasePane.jsx";
 import TablePane from "./TablePane.jsx";
 import FieldPane from "./FieldPane.jsx";
 import SegmentPane from "./SegmentPane.jsx";
@@ -15,8 +16,20 @@ export default class DataReference extends Component {
   constructor(props, context) {
     super(props, context);
 
+    const { query } = props;
+
+    const stack = [];
+    const database = query && query.database();
+    if (database) {
+      stack.push({ type: "database", item: database });
+    }
+    const table = query && query.table();
+    if (table) {
+      stack.push({ type: "table", item: table });
+    }
+
     this.state = {
-      stack: [],
+      stack: stack,
       tables: {},
       fields: {},
     };
@@ -56,7 +69,11 @@ export default class DataReference extends Component {
       content = <MainPane {...this.props} show={this.show} />;
     } else {
       let page = this.state.stack[this.state.stack.length - 1];
-      if (page.type === "table") {
+      if (page.type === "database") {
+        content = (
+          <DatabasePane {...this.props} show={this.show} database={page.item} />
+        );
+      } else if (page.type === "table") {
         content = (
           <TablePane {...this.props} show={this.show} table={page.item} />
         );
@@ -78,19 +95,19 @@ export default class DataReference extends Component {
     let backButton;
     if (this.state.stack.length > 0) {
       backButton = (
-        <a
-          className="flex align-center mb2 text-default text-brand-hover no-decoration"
-          onClick={this.back}
-        >
-          <Icon name="chevronleft" size={18} />
-          <span className="text-uppercase">{t`Back`}</span>
+        <a className="flex align-center mb2 no-decoration" onClick={this.back}>
+          <Icon name="chevronleft" className="text-light pr1" />
+          <h5
+            className="text-medium text-brand-hover text-uppercase "
+            style={{ fontWeight: 900 }}
+          >{t`Back`}</h5>
         </a>
       );
     }
 
     let closeButton = (
       <a
-        className="flex-align-right text-default text-brand-hover no-decoration"
+        className="flex-align-right text-medium text-brand-hover no-decoration"
         onClick={this.close}
       >
         <Icon name="close" size={18} />
diff --git a/frontend/src/metabase/query_builder/components/dataref/DatabasePane.jsx b/frontend/src/metabase/query_builder/components/dataref/DatabasePane.jsx
new file mode 100644
index 0000000000000000000000000000000000000000..a70adfd8523d3da0ba211c2be2bd48b0cc7745fe
--- /dev/null
+++ b/frontend/src/metabase/query_builder/components/dataref/DatabasePane.jsx
@@ -0,0 +1,40 @@
+/* eslint "react/prop-types": "warn" */
+import React from "react";
+import PropTypes from "prop-types";
+import { isQueryable } from "metabase/lib/table";
+import Icon from "metabase/components/Icon.jsx";
+
+const DatabasePane = ({ database, show, ...props }) => (
+  <div>
+    <div className="ml1 my2 flex align-center justify-between border-bottom pb1">
+      <div className="flex align-center">
+        <Icon name="database" className="text-medium pr1" size={14} />
+        <h3>{database.name}</h3>
+      </div>
+      <div className="flex align-center">
+        <Icon name="table2" className="text-light pr1" size={12} />
+        <span className="text-medium">{database.tables.length}</span>
+      </div>
+    </div>
+
+    <ul>
+      {database.tables.filter(isQueryable).map((table, index) => (
+        <li key={table.id}>
+          <a
+            className="flex-full flex p1 text-bold text-brand no-decoration bg-medium-hover"
+            onClick={() => show("table", table)}
+          >
+            {table.name}
+          </a>
+        </li>
+      ))}
+    </ul>
+  </div>
+);
+
+DatabasePane.propTypes = {
+  show: PropTypes.func.isRequired,
+  database: PropTypes.object.isRequired,
+};
+
+export default DatabasePane;
diff --git a/frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx b/frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx
index 0244946ca5df64ffb9c38a1f1c12ec3ff2151a24..e2ec4e46d24c187841d40d2f76b718041bf9c26d 100644
--- a/frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx
+++ b/frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx
@@ -3,44 +3,38 @@ import React from "react";
 import PropTypes from "prop-types";
 import { t } from "c-3po";
 import cx from "classnames";
+import Icon from "metabase/components/Icon.jsx";
+import Card from "metabase/components/Card.jsx";
 
-const DetailPane = ({
-  name,
-  description,
-  usefulQuestions,
-  useForCurrentQuestion,
-  extra,
-}) => (
-  <div>
-    <h1>{name}</h1>
-    <p className={cx({ "text-medium": !description })}>
-      {description || t`No description set.`}
+const DetailPane = ({ name, description, extra, values }) => (
+  <div className="ml1">
+    <div className="flex align-center">
+      <Icon name="field" className="text-medium pr1" size={16} />
+      <h3>{name}</h3>
+    </div>
+    <p className={cx("text-spaced", { "text-medium": !description })}>
+      {description || t`No description`}
     </p>
-    {useForCurrentQuestion && useForCurrentQuestion.length > 0 ? (
-      <div className="py1">
-        <p className="text-bold">{t`Use for current question`}</p>
-        <ul className="my2">
-          {useForCurrentQuestion.map((item, index) => (
-            <li className="mt1" key={index}>
-              {item}
-            </li>
-          ))}
-        </ul>
-      </div>
-    ) : null}
-    {usefulQuestions && usefulQuestions.length > 0 ? (
-      <div className="py1">
-        <p className="text-bold">{t`Potentially useful questions`}</p>
-        <ul>
-          {usefulQuestions.map((item, index) => (
-            <li className="border-row-divider" key={index}>
-              {item}
-            </li>
-          ))}
-        </ul>
-      </div>
-    ) : null}
     {extra}
+    {values &&
+      values.length > 0 && (
+        <div>
+          <h5 className="text-uppercase mt4 mb2">Sample values</h5>
+          <Card>
+            <ul>
+              {values.map((value, i) => (
+                <li
+                  className={cx("p1", {
+                    "border-bottom": i < values.length - 1,
+                  })}
+                >
+                  {value[0]}
+                </li>
+              ))}
+            </ul>
+          </Card>
+        </div>
+      )}
   </div>
 );
 
@@ -48,9 +42,8 @@ DetailPane.propTypes = {
   name: PropTypes.string.isRequired,
   description: PropTypes.string,
   error: PropTypes.string,
-  useForCurrentQuestion: PropTypes.array,
-  usefulQuestions: PropTypes.array,
   extra: PropTypes.element,
+  values: PropTypes.array,
 };
 
 export default DetailPane;
diff --git a/frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx b/frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx
index 9c955d4f2a45f27681831543cb6e731891e86101..959a59187822a0c8f7df7d276216cdf1cfd7834a 100644
--- a/frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx
+++ b/frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx
@@ -6,7 +6,7 @@ import DetailPane from "./DetailPane.jsx";
 import QueryButton from "metabase/components/QueryButton.jsx";
 import UseForButton from "./UseForButton.jsx";
 
-import { fetchTableMetadata } from "metabase/redux/metadata";
+import { fetchTableMetadata, fetchFieldValues } from "metabase/redux/metadata";
 import { getMetadata } from "metabase/selectors/metadata";
 import { createCard } from "metabase/lib/card";
 import Query, { createQuery } from "metabase/lib/query";
@@ -20,12 +20,12 @@ import Dimension from "metabase-lib/lib/Dimension";
 
 const mapDispatchToProps = {
   fetchTableMetadata,
+  fetchFieldValues,
 };
 
 const mapStateToProps = (state, props) => ({
   metadata: getMetadata(state, props),
 });
-
 @connect(mapStateToProps, mapDispatchToProps)
 export default class FieldPane extends Component {
   constructor(props, context) {
@@ -39,14 +39,19 @@ export default class FieldPane extends Component {
     originalQuestion: PropTypes.object,
     metadata: PropTypes.object,
     fetchTableMetadata: PropTypes.func.isRequired,
+    fetchFieldValues: PropTypes.func.isRequired,
     runQuestionQuery: PropTypes.func.isRequired,
     setDatasetQuery: PropTypes.func.isRequired,
     setCardAndRun: PropTypes.func.isRequired,
     updateQuestion: PropTypes.func.isRequired,
   };
 
-  componentWillMount() {
-    this.props.fetchTableMetadata(this.props.field.table_id);
+  async componentWillMount() {
+    const { field, fetchTableMetadata, fetchFieldValues } = this.props;
+    await fetchTableMetadata(field.table_id);
+    if (field.has_field_values === "list") {
+      await fetchFieldValues(field.id);
+    }
   }
 
   // See the note in render() method about filterBy
@@ -126,8 +131,13 @@ export default class FieldPane extends Component {
 
     const query = question.query();
 
-    let fieldName = field.display_name;
-    let tableName = query.table() ? query.table().display_name : "";
+    const values =
+      query.metadata().fields &&
+      query.metadata().fields[field.id] &&
+      query.metadata().fields[field.id].values;
+
+    let fieldName = field.name;
+    let tableName = query.table() ? query.table().name : "";
 
     let useForCurrentQuestion = [],
       usefulQuestions = [];
@@ -162,7 +172,7 @@ export default class FieldPane extends Component {
       usefulQuestions.push(
         <QueryButton
           icon="number"
-          text={t`Sum of all values of ${fieldName}`}
+          text={t`Sum of all values`}
           onClick={this.setQuerySum}
         />,
       );
@@ -170,7 +180,7 @@ export default class FieldPane extends Component {
     usefulQuestions.push(
       <QueryButton
         icon="table"
-        text={t`All distinct values of ${fieldName}`}
+        text={t`See all distinct values`}
         onClick={this.setQueryDistinct}
       />,
     );
@@ -200,6 +210,7 @@ export default class FieldPane extends Component {
         description={field.description}
         useForCurrentQuestion={useForCurrentQuestion}
         usefulQuestions={usefulQuestions}
+        values={values}
       />
     );
   }
diff --git a/frontend/src/metabase/query_builder/components/dataref/MainPane.jsx b/frontend/src/metabase/query_builder/components/dataref/MainPane.jsx
index 37612b369d2ae5e89ba1287c2df4bbf653df5c87..3345be2bf657be8a6760828930a6d0f4601c0320 100644
--- a/frontend/src/metabase/query_builder/components/dataref/MainPane.jsx
+++ b/frontend/src/metabase/query_builder/components/dataref/MainPane.jsx
@@ -1,48 +1,30 @@
 /* eslint "react/prop-types": "warn" */
 import React from "react";
 import PropTypes from "prop-types";
-import { t, ngettext, msgid } from "c-3po";
-import { isQueryable } from "metabase/lib/table";
-
-import cx from "classnames";
+import { t } from "c-3po";
+import Icon from "metabase/components/Icon.jsx";
 
 const MainPane = ({ databases, show }) => (
   <div>
-    <h1>{t`Data Reference`}</h1>
-    <p>
-      {t`Learn more about your data structure to ask more useful questions`}.
-    </p>
+    <div className="ml1 mt2 mb3">
+      <h2>{t`Data Reference`}</h2>
+      <p className="text-spaced">
+        {t`Browse the contents of your databases, tables, and columns. Pick a database to get started`}.
+      </p>
+    </div>
     <ul>
       {databases &&
         databases
           .filter(db => db.tables && db.tables.length > 0)
           .map(database => (
-            <li key={database.id}>
-              <div className="my2">
-                <h2 className="inline-block">{database.name}</h2>
-                <span className="ml1">
-                  {(n => ngettext(msgid`${n} table`, `${n} tables`, n))(
-                    database.tables.length,
-                  )}
-                </span>
-              </div>
-              <ul>
-                {database.tables.filter(isQueryable).map((table, index) => (
-                  <li
-                    key={table.id}
-                    className={cx("p1", {
-                      "border-bottom": index !== database.tables.length - 1,
-                    })}
-                  >
-                    <a
-                      className="text-brand text-brand-darken-hover no-decoration"
-                      onClick={() => show("table", table)}
-                    >
-                      {table.display_name}
-                    </a>
-                  </li>
-                ))}
-              </ul>
+            <li className="mb2" key={database.id}>
+              <a
+                onClick={() => show("database", database)}
+                className="p1 flex align-center no-decoration bg-medium-hover"
+              >
+                <Icon name="database" className="pr1 text-medium" size={14} />
+                <h3>{database.name}</h3>
+              </a>
             </li>
           ))}
     </ul>
diff --git a/frontend/src/metabase/query_builder/components/dataref/TablePane.jsx b/frontend/src/metabase/query_builder/components/dataref/TablePane.jsx
index 5bcce7606723332e77663a757e48baaa87c7635c..02dc8bd91313562a67cb181858de56c5c9d7d2d7 100644
--- a/frontend/src/metabase/query_builder/components/dataref/TablePane.jsx
+++ b/frontend/src/metabase/query_builder/components/dataref/TablePane.jsx
@@ -3,9 +3,9 @@ import React, { Component } from "react";
 import PropTypes from "prop-types";
 import { t } from "c-3po";
 import cx from "classnames";
+import Icon from "metabase/components/Icon.jsx";
 
 // components
-import QueryButton from "metabase/components/QueryButton.jsx";
 import Expandable from "metabase/components/Expandable.jsx";
 
 // lib
@@ -69,18 +69,6 @@ export default class TablePane extends Component {
   render() {
     const { table, error } = this.state;
     if (table) {
-      let queryButton;
-      if (table.rows != null) {
-        let text = t`See the raw data for ${table.display_name}`;
-        queryButton = (
-          <QueryButton
-            className="border-bottom border-top mb3"
-            icon="table"
-            text={text}
-            onClick={this.setQueryAllRows}
-          />
-        );
-      }
       let panes = {
         fields: table.fields.length,
         // "metrics": table.metrics.length,
@@ -102,6 +90,12 @@ export default class TablePane extends Component {
 
       let pane;
       let description;
+      const descriptionClasses = cx({ "text-medium": !table.description });
+      description = (
+        <p className={"text-spaced " + descriptionClasses}>
+          {table.description || t`No description set.`}
+        </p>
+      );
       if (this.state.pane === "connections") {
         const fkCountsByTable = foreignKeyCountsByOriginTable(
           this.state.tableForeignKeys,
@@ -115,18 +109,21 @@ export default class TablePane extends Component {
                 ),
               )
               .map((fk, index) => (
-                <ListItem
-                  key={fk.id}
-                  onClick={() => this.props.show("field", fk.origin)}
-                >
-                  {fk.origin.table.display_name}
-                  {fkCountsByTable[fk.origin.table.id] > 1 ? (
-                    <span className="text-medium text-light h5">
-                      {" "}
-                      via {fk.origin.display_name}
-                    </span>
-                  ) : null}
-                </ListItem>
+                <li>
+                  <a
+                    key={fk.id}
+                    onClick={() => this.props.show("field", fk.origin)}
+                    className="flex-full flex p1 text-bold text-brand no-decoration bg-medium-hover"
+                  >
+                    {fk.origin.table.display_name}
+                    {fkCountsByTable[fk.origin.table.id] > 1 ? (
+                      <span className="text-medium text-light h5">
+                        {" "}
+                        via {fk.origin.display_name}
+                      </span>
+                    ) : null}
+                  </a>
+                </li>
               ))}
           </ul>
         );
@@ -135,53 +132,31 @@ export default class TablePane extends Component {
         pane = (
           <ul>
             {table[this.state.pane].map((item, index) => (
-              <ListItem
-                key={item.id}
-                onClick={() => this.props.show(itemType, item)}
-              >
-                {item.display_name || item.name}
-              </ListItem>
+              <li>
+                <a
+                  key={item.id}
+                  onClick={() => this.props.show(itemType, item)}
+                  className="flex-full flex p1 text-bold text-brand no-decoration bg-medium-hover"
+                >
+                  {item.name}
+                </a>
+              </li>
             ))}
           </ul>
         );
-      } else {
-        const descriptionClasses = cx({ "text-medium": !table.description });
-        description = (
-          <p className={descriptionClasses}>
-            {table.description || t`No description set.`}
-          </p>
-        );
       }
 
       return (
         <div>
-          <h1>{table.display_name}</h1>
-          {description}
-          {queryButton}
-          {table.metrics &&
-            table.metrics.length > 0 && (
-              <ExpandableItemList
-                name="Metrics"
-                type="metrics"
-                show={this.props.show.bind(null, "metric")}
-                items={table.metrics.filter(
-                  metric => metric.archived === false,
-                )}
-              />
-            )}
-          {table.segments &&
-            table.segments.length > 0 && (
-              <ExpandableItemList
-                name="Segments"
-                type="segments"
-                show={this.props.show.bind(null, "segment")}
-                items={table.segments.filter(
-                  segment => segment.archived === false,
-                )}
-              />
-            )}
-          <div className="Button-group Button-group--brand text-uppercase">
-            {tabs}
+          <div className="ml1">
+            <div className="flex align-center">
+              <Icon name="table2" className="text-medium pr1" size={16} />
+              <h3>{table.name}</h3>
+            </div>
+            {description}
+            <div className="my2 Button-group Button-group--brand text-uppercase">
+              {tabs}
+            </div>
           </div>
           {pane}
         </div>
@@ -219,10 +194,7 @@ ExpandableItemList.propTypes = {
 
 const ListItem = ({ onClick, children }) => (
   <li className="py1 border-row-divider">
-    <a
-      className="text-brand text-brand-darken-hover no-decoration"
-      onClick={onClick}
-    >
+    <a className="text-brand no-decoration" onClick={onClick}>
       {children}
     </a>
   </li>
diff --git a/frontend/src/metabase/questions/components/CollectionBadge.jsx b/frontend/src/metabase/questions/components/CollectionBadge.jsx
index 33bdbaa4d60d55e40e088b4d19b957b1d7e35015..a768107107b960271fedfb8e486d868bd86f9719 100644
--- a/frontend/src/metabase/questions/components/CollectionBadge.jsx
+++ b/frontend/src/metabase/questions/components/CollectionBadge.jsx
@@ -4,14 +4,13 @@ import { Link } from "react-router";
 
 import Icon from "metabase/components/Icon";
 
-import { entityObjectLoader } from "metabase/entities/containers/EntityObjectLoader";
 import * as Urls from "metabase/lib/urls";
+import Collection from "metabase/entities/collections";
 
 import cx from "classnames";
 
-@entityObjectLoader({
-  entityType: "collections",
-  entityId: (state, props) => props.collectionId || "root",
+@Collection.load({
+  id: (state, props) => props.collectionId || "root",
   wrapped: true,
   loadingAndErrorWrapper: false,
   properties: ["name"],
diff --git a/frontend/src/metabase/routes.jsx b/frontend/src/metabase/routes.jsx
index 943d0c0db17824831c8eb3b6464e4913e5485bcd..f095e275b06bc085bcd7ced6f844123e2fad89e4 100644
--- a/frontend/src/metabase/routes.jsx
+++ b/frontend/src/metabase/routes.jsx
@@ -43,7 +43,6 @@ import CollectionPermissionsModal from "metabase/admin/permissions/containers/Co
 import UserCollectionList from "metabase/containers/UserCollectionList";
 
 import PulseEditApp from "metabase/pulse/containers/PulseEditApp.jsx";
-import PulseMoveModal from "metabase/pulse/components/PulseMoveModal";
 import SetupApp from "metabase/setup/containers/SetupApp.jsx";
 import PostSetupApp from "metabase/setup/containers/PostSetupApp.jsx";
 import UserSettingsApp from "metabase/user/containers/UserSettingsApp.jsx";
@@ -325,7 +324,6 @@ export const getRoutes = store => (
         <Route path="create" component={PulseEditApp} />
         <Route path=":pulseId">
           <IndexRoute component={PulseEditApp} />
-          <ModalRoute path="move" modal={PulseMoveModal} />
         </Route>
       </Route>
 
diff --git a/frontend/src/metabase/setup/actions.js b/frontend/src/metabase/setup/actions.js
index e8c5e527da2d2db0a74b421029288f2558bfd11a..8c286ba6ffb6f09e6cc2ca8c94c7c5c3c860bd06 100644
--- a/frontend/src/metabase/setup/actions.js
+++ b/frontend/src/metabase/setup/actions.js
@@ -1,9 +1,7 @@
-//import _ from "underscore";
 import { createAction } from "redux-actions";
 import { createThunkAction } from "metabase/lib/redux";
 
 import MetabaseAnalytics from "metabase/lib/analytics";
-import MetabaseCookies from "metabase/lib/cookies";
 import MetabaseSettings from "metabase/lib/settings";
 
 import { SetupApi, UtilApi } from "metabase/services";
@@ -50,6 +48,7 @@ export const submitSetup = createThunkAction(SUBMIT_SETUP, function() {
     let { setup: { allowTracking, databaseDetails, userDetails } } = getState();
 
     try {
+      // NOTE: this request will return a Set-Cookie header for the session
       let response = await SetupApi.create({
         token: MetabaseSettings.get("setup_token"),
         prefs: {
@@ -75,9 +74,6 @@ export const submitSetup = createThunkAction(SUBMIT_SETUP, function() {
 export const completeSetup = createAction(COMPLETE_SETUP, function(
   apiResponse,
 ) {
-  // setup user session
-  MetabaseCookies.setSessionCookie(apiResponse.id);
-
   // clear setup token from settings
   MetabaseSettings.setAll({ setup_token: null });
 
diff --git a/frontend/src/metabase/visualizations/components/TableInteractive.jsx b/frontend/src/metabase/visualizations/components/TableInteractive.jsx
index 39fa8e02f9fa803eccdea6320e46618bc9d3f622..ca15e90a253a04f8975c99776a59f87485914b5b 100644
--- a/frontend/src/metabase/visualizations/components/TableInteractive.jsx
+++ b/frontend/src/metabase/visualizations/components/TableInteractive.jsx
@@ -14,7 +14,8 @@ import {
   isColumnRightAligned,
 } from "metabase/visualizations/lib/table";
 import { getColumnExtent } from "metabase/visualizations/lib/utils";
-import Query from "metabase/lib/query";
+import { fieldRefForColumn } from "metabase/lib/dataset";
+import Dimension from "metabase-lib/lib/Dimension";
 
 import _ from "underscore";
 import cx from "classnames";
@@ -488,12 +489,14 @@ export default class TableInteractive extends Component {
     const isRightAligned = isColumnRightAligned(column);
 
     // TODO MBQL: use query lib to get the sort field
-    const isSorted =
-      sort &&
-      sort[0] &&
-      sort[0][1] &&
-      Query.getFieldTargetId(sort[0][1]) === column.id;
-    const isAscending = sort && sort[0] && sort[0][0] === "asc";
+    const fieldRef = fieldRefForColumn(column, cols);
+    const sortIndex = _.findIndex(
+      sort,
+      sort => sort[1] && Dimension.isEqual(sort[1], fieldRef),
+    );
+    const isSorted = sortIndex >= 0;
+    const isAscending = isSorted && sort[sortIndex][0] === "asc";
+
     return (
       <Draggable
         /* needs to be index+name+counter so Draggable resets after each drag */
diff --git a/frontend/src/metabase/visualizations/components/Visualization.jsx b/frontend/src/metabase/visualizations/components/Visualization.jsx
index b23f80ea1a5cc3ef3b100c4bf3eb1ba237da549c..fb4f2d4c0cfb28b8c3ed2913471b0018a9bbf196 100644
--- a/frontend/src/metabase/visualizations/components/Visualization.jsx
+++ b/frontend/src/metabase/visualizations/components/Visualization.jsx
@@ -500,7 +500,7 @@ export default class Visualization extends Component {
                   </div>
                 ) : (
                   <div>
-                    {t`This is usually pretty fast but seems to be taking awhile right now.`}
+                    {t`This is usually pretty fast but seems to be taking a while right now.`}
                   </div>
                 )}
               </div>
diff --git a/frontend/src/metabase/visualizations/lib/apply_tooltips.js b/frontend/src/metabase/visualizations/lib/apply_tooltips.js
index f4dfe673d44b0af10cfc4dcb44e6441d2f8db165..fb73c02c453db63fef33d9388737cbefcabb1158 100644
--- a/frontend/src/metabase/visualizations/lib/apply_tooltips.js
+++ b/frontend/src/metabase/visualizations/lib/apply_tooltips.js
@@ -112,10 +112,26 @@ function applyChartTooltips(
           // edge cases handled by the code below
 
           const seriesIndex = determineSeriesIndexFromElement(this, isStacked);
+          const seriesSettings = chart.settings.series(series[seriesIndex]);
+          const seriesTitle = seriesSettings && seriesSettings.title;
+
           const card = series[seriesIndex].card;
-          const isSingleSeriesBar =
-            this.classList.contains("bar") && series.length === 1;
+
+          const isMultiseries = series.length > 1;
+          const isBreakoutMultiseries = isMultiseries && card._breakoutColumn;
           const isArea = this.classList.contains("area");
+          const isBar = this.classList.contains("bar");
+          const isSingleSeriesBar = isBar && !isMultiseries;
+
+          // always format the second column as the series name?
+          function getColumnDisplayName(col) {
+            // don't replace with series title for breakout multiseries since the series title is shown in the breakout value
+            if (col === cols[1] && !isBreakoutMultiseries && seriesTitle) {
+              return seriesTitle;
+            } else {
+              return getFriendlyName(col);
+            }
+          }
 
           let data = [];
           if (Array.isArray(d.key)) {
@@ -123,11 +139,15 @@ function applyChartTooltips(
             if (d.key._origin) {
               data = d.key._origin.row.map((value, index) => {
                 const col = d.key._origin.cols[index];
-                return { key: getFriendlyName(col), value: value, col };
+                return {
+                  key: getColumnDisplayName(col),
+                  value: value,
+                  col,
+                };
               });
             } else {
               data = d.key.map((value, index) => ({
-                key: getFriendlyName(cols[index]),
+                key: getColumnDisplayName(cols[index]),
                 value: value,
                 col: cols[index],
               }));
@@ -140,12 +160,12 @@ function applyChartTooltips(
 
             data = [
               {
-                key: getFriendlyName(cols[0]),
+                key: getColumnDisplayName(cols[0]),
                 value: d.data.key,
                 col: cols[0],
               },
               {
-                key: getFriendlyName(cols[1]),
+                key: getColumnDisplayName(cols[1]),
                 value: isNormalized
                   ? formatValue(d.data.value, {
                       number_style: "percent",
@@ -156,6 +176,10 @@ function applyChartTooltips(
               },
             ];
 
+            // NOTE: The below overcomplicated code is due to using index (i) of
+            // the element in the DOM, as returned by d3
+            // It would be much preferable to somehow get the row more directly
+
             // now add entries to the tooltip for columns that aren't the X or Y axis. These aren't in
             // the normal `cols` array, which is just the cols used in the graph axes; look in `_rawCols`
             // for any other columns. If we find them, add them at the end of the `data` array.
@@ -204,7 +228,7 @@ function applyChartTooltips(
                 }
                 // otherwise just create a new object for any other columns.
                 return {
-                  key: getFriendlyName(col),
+                  key: getColumnDisplayName(col),
                   value: rawRow[i],
                   col: col,
                 };
@@ -212,14 +236,14 @@ function applyChartTooltips(
             }
           }
 
-          if (data && series.length > 1) {
-            if (card._breakoutColumn) {
-              data.unshift({
-                key: getFriendlyName(card._breakoutColumn),
-                value: card._breakoutValue,
-                col: card._breakoutColumn,
-              });
-            }
+          if (isBreakoutMultiseries) {
+            data.unshift({
+              key: getFriendlyName(card._breakoutColumn),
+              // Use series title if it's set
+              value: seriesTitle ? seriesTitle : card._breakoutValue,
+              // Don't include the column if series title is set (it's already formatted)
+              col: seriesTitle ? null : card._breakoutColumn,
+            });
           }
 
           data = _.uniq(data, d => d.col);
diff --git a/frontend/src/metabase/visualizations/lib/utils.js b/frontend/src/metabase/visualizations/lib/utils.js
index 81640d2d7022f8615c414f4a0b3c68b6fc762e44..8c926be4a921feac9be9aa70eea98bdd1ed51896 100644
--- a/frontend/src/metabase/visualizations/lib/utils.js
+++ b/frontend/src/metabase/visualizations/lib/utils.js
@@ -121,13 +121,26 @@ export function computeSplit(extents, left = [], right = []) {
   }
 }
 
-const FRIENDLY_NAME_MAP = {
+const AGGREGATION_NAME_MAP = {
   avg: t`Average`,
   count: t`Count`,
   sum: t`Sum`,
   distinct: t`Distinct`,
   stddev: t`Standard Deviation`,
 };
+const AGGREGATION_NAME_REGEX = new RegExp(
+  `^(${Object.keys(AGGREGATION_NAME_MAP).join("|")})(_\\d+)?$`,
+);
+
+export function getFriendlyName(column) {
+  if (AGGREGATION_NAME_REGEX.test(column.name)) {
+    const friendly = AGGREGATION_NAME_MAP[column.display_name.toLowerCase()];
+    if (friendly) {
+      return friendly;
+    }
+  }
+  return column.display_name;
+}
 
 export function getXValues(datas) {
   let xValues = _.chain(datas)
@@ -159,21 +172,6 @@ export function getXValues(datas) {
   return xValues;
 }
 
-export function getFriendlyName(column) {
-  if (column.display_name && column.display_name !== column.name) {
-    return column.display_name;
-  } else {
-    // NOTE Atte Keinänen 8/7/17:
-    // Values `display_name` and `name` are same for breakout columns so check FRIENDLY_NAME_MAP
-    // before returning either `display_name` or `name`
-    return (
-      FRIENDLY_NAME_MAP[column.name.toLowerCase().trim()] ||
-      column.display_name ||
-      column.name
-    );
-  }
-}
-
 export function isSameSeries(seriesA, seriesB) {
   return (
     (seriesA && seriesA.length) === (seriesB && seriesB.length) &&
diff --git a/frontend/src/metabase/visualizations/visualizations/Map.jsx b/frontend/src/metabase/visualizations/visualizations/Map.jsx
index 039468968fd073c2878a87796f298d0c9ec41b4f..e9c0deeddf57a75946e15008197ef1f2c648a59f 100644
--- a/frontend/src/metabase/visualizations/visualizations/Map.jsx
+++ b/frontend/src/metabase/visualizations/visualizations/Map.jsx
@@ -170,7 +170,6 @@ export default class Map extends Component {
     }),
     ...dimensionSetting("map.dimension", {
       title: t`Region field`,
-      widget: "select",
       getHidden: (series, vizSettings) => vizSettings["map.type"] !== "region",
     }),
     "map.colors": {
diff --git a/frontend/test/__runner__/backend.js b/frontend/test/__runner__/backend.js
index fa52858af14c6301380a5d94e32577e72149b819..b86a98433a7494659e3b53f9c7781811bf6c73b5 100644
--- a/frontend/test/__runner__/backend.js
+++ b/frontend/test/__runner__/backend.js
@@ -76,7 +76,10 @@ export const BackendResource = createSharedResource("BackendResource", {
           ")",
       );
       while (!await isReady(server.host)) {
-        process.stdout.write(".");
+        if (!process.env["CI"]) {
+          // disable for CI since it break's CircleCI's no_output_timeout
+          process.stdout.write(".");
+        }
         await delay(500);
       }
       process.stdout.write("\n");
diff --git a/frontend/test/__support__/integration_tests.js b/frontend/test/__support__/integration_tests.js
new file mode 100644
index 0000000000000000000000000000000000000000..bb4d17c34270de9268e9b3b3bdb4136957a243ae
--- /dev/null
+++ b/frontend/test/__support__/integration_tests.js
@@ -0,0 +1,129 @@
+import React from "react";
+
+import { Provider } from "react-redux";
+import { mount } from "enzyme";
+
+import reducers from "metabase/reducers-main";
+import { getStore } from "metabase/store";
+import { delay } from "metabase/lib/promise";
+
+// misc export aliases
+export { delay } from "metabase/lib/promise";
+
+import { MockResponse, MockRequest } from "xhr-mock";
+
+// helper for JSON responses, also defaults to 200 status code
+MockResponse.prototype.json = function(object) {
+  return this.status(this._status || 200)
+    .header("Content-Type", "application/json")
+    .body(JSON.stringify(object));
+};
+MockRequest.prototype.json = function() {
+  return JSON.parse(this.body());
+};
+
+export function getTestStore(reducers) {
+  const actions = [];
+  const reducerSpy = (state, action) => actions.push(action);
+
+  const store = getStore({ ...reducers, reducerSpy });
+
+  store.getActions = () => actions;
+  store.waitForAction = function(type) {
+    return new Promise(resolve => {
+      let existingActionsCount = actions.length;
+      const unsubscribe = store.subscribe(() => {
+        const newActions = actions.slice(existingActionsCount);
+        const action = newActions.find(action => action.type === type);
+        if (action) {
+          unsubscribe();
+          resolve(action);
+        } else {
+          existingActionsCount = actions.length;
+        }
+      });
+    });
+  };
+
+  return store;
+}
+
+export function mountWithStore(element) {
+  const store = getTestStore(reducers);
+
+  const wrapper = mount(<Provider store={store}>{element}</Provider>);
+
+  enhanceEnzymeWrapper(wrapper);
+
+  // NOTE: automatically call wrapper.update when the store changes:
+  // https://github.com/airbnb/enzyme/blob/ed5848085051ac7afef64a7d045d53b1153a8fe7/docs/guides/migration-from-2-to-3.md#for-mount-updates-are-sometimes-required-when-they-werent-before
+  store.subscribe(() => wrapper.update());
+
+  return { wrapper, store };
+}
+
+const TIMEOUT = 1000;
+
+async function eventually(fn, timeout = TIMEOUT) {
+  const start = Date.now();
+  // eslint-disable-next-line no-constant-condition
+  while (true) {
+    try {
+      return fn();
+    } catch (e) {
+      if (Date.now() - start > timeout) {
+        throw e;
+      } else {
+        await delay(100);
+      }
+    }
+  }
+}
+
+function enhanceEnzymeWrapper(wrapper) {
+  // add a "async" namespace that wraps functions in `eventually`
+  wrapper.async = {
+    find: selector =>
+      eventually(() => {
+        const node = wrapper.find(selector);
+        if (node.exists()) {
+          return node;
+        } else {
+          throw new Error("Not found: " + selector);
+        }
+      }),
+  };
+  return wrapper;
+}
+
+export async function getFormValues(wrapper) {
+  const values = {};
+  const inputs = await wrapper.async.find("input");
+  for (const input of inputs) {
+    values[input.props.name] = input.props.value;
+  }
+  return values;
+}
+
+export async function fillFormValues(wrapper, values) {
+  const inputs = await wrapper.async.find("input");
+  for (const input of inputs) {
+    const name = input.props.name;
+    if (name in values) {
+      input.props.onChange(values[name]);
+    }
+  }
+}
+
+export function submitForm(wrapper) {
+  wrapper
+    .find("form")
+    .first()
+    .props()
+    .onSubmit();
+}
+
+export async function fillAndSubmitForm(wrapper, values) {
+  await fillFormValues(wrapper, values);
+  submitForm(wrapper);
+}
diff --git a/frontend/test/__support__/sample_dataset_fixture.js b/frontend/test/__support__/sample_dataset_fixture.js
index be6822de2d5d3c243bfb5d4b243023650144f6bf..a3ccd9df68e0c412277c733699b2ad4a04e911ed 100644
--- a/frontend/test/__support__/sample_dataset_fixture.js
+++ b/frontend/test/__support__/sample_dataset_fixture.js
@@ -1436,6 +1436,13 @@ export const orders_count_by_id_card = {
   },
 };
 
+export const clickedCreatedAtHeader = {
+  column: {
+    ...metadata.field(ORDERS_CREATED_DATE_FIELD_ID),
+    source: "fields",
+  },
+};
+
 export const clickedFloatHeader = {
   column: {
     ...metadata.field(ORDERS_TOTAL_FIELD_ID),
@@ -1511,6 +1518,31 @@ const NoFieldsMetadata = getMetadata(
 );
 export const questionNoFields = new Question(NoFieldsMetadata, card);
 
+// COUNT BY CREATED AT
+
+export const countByCreatedAtQuestion = question
+  .query()
+  .addAggregation(["count"])
+  .addBreakout(["field-id", ORDERS_CREATED_DATE_FIELD_ID])
+  .question();
+
+export const clickedCountAggregationHeader = {
+  column: {
+    name: "count",
+    display_name: "count",
+    base_type: "type/Integer",
+    special_type: "type/Number",
+    source: "aggregation",
+  },
+};
+
+export const clickedCreatedAtBreakoutHeader = {
+  column: {
+    ...metadata.field(ORDERS_CREATED_DATE_FIELD_ID),
+    source: "breakout",
+  },
+};
+
 export const orders_past_300_days_segment = {
   id: null,
   name: "Past 300 days",
diff --git a/frontend/test/legacy-selenium/auth/login.spec.js b/frontend/test/legacy-selenium/auth/login.spec.js
index c2d77233c96eea6d332c2a606846ed1c97ab3b1f..624be75d3cab7a7f53b5b08cb2ebad69277e2630 100644
--- a/frontend/test/legacy-selenium/auth/login.spec.js
+++ b/frontend/test/legacy-selenium/auth/login.spec.js
@@ -10,6 +10,8 @@ import {
   describeE2E,
 } from "../support/utils";
 
+import { METABASE_SESSION_COOKIE } from "metabase/lib/cookies";
+
 jasmine.DEFAULT_TIMEOUT_INTERVAL = 60000;
 
 describeE2E("auth/login", () => {
@@ -36,7 +38,7 @@ describeE2E("auth/login", () => {
       await waitForUrl(driver, `${server.host}/`);
       const sessionCookie = await driver
         .manage()
-        .getCookie("metabase.SESSION_ID");
+        .getCookie(METABASE_SESSION_COOKIE);
       sessionId = sessionCookie.value;
     });
 
@@ -55,7 +57,7 @@ describeE2E("auth/login", () => {
     beforeEach(async () => {
       await driver.get(`${server.host}/`);
       await driver.manage().deleteAllCookies();
-      await driver.manage().addCookie("metabase.SESSION_ID", sessionId);
+      await driver.manage().addCookie(METABASE_SESSION_COOKIE, sessionId);
     });
 
     it("is logged in", async () => {
diff --git a/frontend/test/metabase-lib/lib/queries/StructuredQuery.unit.spec.js b/frontend/test/metabase-lib/lib/queries/StructuredQuery.unit.spec.js
index 0428fa0db57094f2feddf9a98a27bad7cb4cbb99..3551660a0bf5be57af3387d221f74f9bfe5d5407 100644
--- a/frontend/test/metabase-lib/lib/queries/StructuredQuery.unit.spec.js
+++ b/frontend/test/metabase-lib/lib/queries/StructuredQuery.unit.spec.js
@@ -567,7 +567,11 @@ describe("StructuredQuery unit tests", () => {
 
   describe("FIELD REFERENCE METHODS", () => {
     describe("fieldReferenceForColumn", () => {
-      pending();
+      it('should return `["field-id", 1]` for a normal column', () => {
+        expect(
+          query.fieldReferenceForColumn({ id: ORDERS_TOTAL_FIELD_ID }),
+        ).toEqual(["field-id", ORDERS_TOTAL_FIELD_ID]);
+      });
     });
 
     describe("parseFieldReference", () => {
diff --git a/frontend/test/metabase/admin/people/containers/EditUserModal.integ.spec.js b/frontend/test/metabase/admin/people/containers/EditUserModal.integ.spec.js
new file mode 100644
index 0000000000000000000000000000000000000000..a04094ff4f350339a1877239a53f21b6fa0c5cb0
--- /dev/null
+++ b/frontend/test/metabase/admin/people/containers/EditUserModal.integ.spec.js
@@ -0,0 +1,45 @@
+import React from "react";
+import mock from "xhr-mock";
+import {
+  mountWithStore,
+  fillAndSubmitForm,
+  getFormValues,
+} from "__support__/integration_tests";
+
+import EditUserModal from "metabase/admin/people/containers/EditUserModal";
+
+const MOCK_USER = {
+  first_name: "Testy",
+  last_name: "McTestFace",
+  email: "test@metabase.com",
+};
+
+describe("EditUserModal", () => {
+  beforeEach(() => mock.setup());
+  afterEach(() => mock.teardown());
+
+  it("should load the user", async () => {
+    expect.assertions(3);
+
+    mock.get("/api/user/42", (req, res) => res.json({ id: 42, ...MOCK_USER }));
+    mock.put("/api/user/42", (req, res) => {
+      expect(req.json()).toEqual({ ...MOCK_USER, first_name: "Bob" });
+      return res.json({ id: 42, ...MOCK_USER, first_name: "Bob" });
+    });
+
+    const { wrapper, store } = mountWithStore(
+      <EditUserModal params={{ userId: 42 }} />,
+    );
+
+    expect(await getFormValues(wrapper)).toEqual(MOCK_USER);
+
+    await fillAndSubmitForm(wrapper, { first_name: "Bob" });
+
+    await store.waitForAction("metabase/entities/users/UPDATE");
+
+    expect(await getFormValues(wrapper)).toEqual({
+      ...MOCK_USER,
+      first_name: "Bob",
+    });
+  });
+});
diff --git a/frontend/test/metabase/admin/people/containers/NewUserModal.integ.spec.js b/frontend/test/metabase/admin/people/containers/NewUserModal.integ.spec.js
new file mode 100644
index 0000000000000000000000000000000000000000..ade8368555192b8a18a915a874d22ee49761d5f9
--- /dev/null
+++ b/frontend/test/metabase/admin/people/containers/NewUserModal.integ.spec.js
@@ -0,0 +1,38 @@
+import React from "react";
+import _ from "underscore";
+import mock from "xhr-mock";
+import {
+  mountWithStore,
+  fillAndSubmitForm,
+} from "__support__/integration_tests";
+
+import NewUserModal from "metabase/admin/people/containers/NewUserModal";
+
+const MOCK_USER = {
+  first_name: "Testy",
+  last_name: "McTestFace",
+  email: "test@metabase.com",
+};
+
+describe("NewUserModal", () => {
+  beforeEach(() => mock.setup());
+  afterEach(() => mock.teardown());
+
+  it("should load the user", async () => {
+    expect.assertions(2);
+
+    mock.post("/api/user", (req, res) => {
+      expect(_.omit(req.json(), "password")).toEqual(MOCK_USER);
+      return res.json({ id: 42, ...MOCK_USER });
+    });
+
+    const { wrapper, store } = mountWithStore(<NewUserModal />);
+
+    await fillAndSubmitForm(wrapper, MOCK_USER);
+
+    const action = await store.waitForAction("@@router/CALL_HISTORY_METHOD");
+    expect(action.payload.args[0].startsWith("/admin/people/42/success")).toBe(
+      true,
+    );
+  });
+});
diff --git a/frontend/test/metabase/admin/people/containers/UserActivationModal.integ.spec.js b/frontend/test/metabase/admin/people/containers/UserActivationModal.integ.spec.js
new file mode 100644
index 0000000000000000000000000000000000000000..99ac312da82d03f70e9099d59cdc7729d72c2b3e
--- /dev/null
+++ b/frontend/test/metabase/admin/people/containers/UserActivationModal.integ.spec.js
@@ -0,0 +1,64 @@
+import React from "react";
+import mock from "xhr-mock";
+import { mountWithStore } from "__support__/integration_tests";
+import { clickButton } from "__support__/enzyme_utils";
+
+import UserActivationModal from "metabase/admin/people/containers/UserActivationModal";
+
+const MOCK_USER = {
+  first_name: "Testy",
+  last_name: "McTestFace",
+  email: "test@metabase.com",
+  is_active: true,
+};
+
+describe("UserActivationModal", () => {
+  beforeEach(() => mock.setup());
+  afterEach(() => mock.teardown());
+
+  describe("with active user", () => {
+    it("should deactivate the user", async () => {
+      expect.assertions(1);
+
+      // NOTE: currently loads the list of users since deactivated users return 404 from /api/user/:id
+      mock.get("/api/user?include_deactivated=true", (req, res) =>
+        res.json([{ id: 42, ...MOCK_USER }]),
+      );
+      mock.delete("/api/user/42", (req, res) => {
+        return res.json({ success: true });
+      });
+
+      const onClose = jest.fn();
+      const { wrapper } = mountWithStore(
+        <UserActivationModal params={{ userId: 42 }} onClose={onClose} />,
+      );
+
+      const deactivateButton = await wrapper.async.find(".Button--danger");
+      clickButton(deactivateButton);
+      expect(onClose).toHaveBeenCalled();
+    });
+  });
+
+  describe("with deactivated user", () => {
+    it("reactivate the user", async () => {
+      expect.assertions(1);
+
+      // NOTE: currently loads the list of users since deactivated users return 404 from /api/user/:id
+      mock.get("/api/user?include_deactivated=true", (req, res) =>
+        res.json([{ id: 42, ...MOCK_USER, is_active: false }]),
+      );
+      mock.put("/api/user/42/reactivate", (req, res) => {
+        return res.json({ id: 42, ...MOCK_USER });
+      });
+
+      const onClose = jest.fn();
+      const { wrapper } = mountWithStore(
+        <UserActivationModal params={{ userId: 42 }} onClose={onClose} />,
+      );
+
+      const resetButton = await wrapper.async.find(".Button--danger");
+      clickButton(resetButton);
+      expect(onClose).toHaveBeenCalled();
+    });
+  });
+});
diff --git a/frontend/test/metabase/admin/people/containers/UserPasswordResetModal.integ.spec.js b/frontend/test/metabase/admin/people/containers/UserPasswordResetModal.integ.spec.js
new file mode 100644
index 0000000000000000000000000000000000000000..b8c657145f7736c01971f77aff49cd3c0f010151
--- /dev/null
+++ b/frontend/test/metabase/admin/people/containers/UserPasswordResetModal.integ.spec.js
@@ -0,0 +1,79 @@
+import React from "react";
+import mock from "xhr-mock";
+import { mountWithStore } from "__support__/integration_tests";
+import { click, clickButton } from "__support__/enzyme_utils";
+
+import UserPasswordResetModal from "metabase/admin/people/containers/UserPasswordResetModal";
+
+import MetabaseSettings from "metabase/lib/settings";
+
+const MOCK_USER = {
+  first_name: "Testy",
+  last_name: "McTestFace",
+  email: "test@metabase.com",
+};
+
+describe("UserPasswordResetModal", () => {
+  beforeEach(() => mock.setup());
+  afterEach(() => mock.teardown());
+
+  describe("with email not configured", () => {
+    beforeEach(() => {
+      MetabaseSettings.isEmailConfigured = () => false;
+    });
+    it("should change the user's password to random password", async () => {
+      expect.assertions(3);
+
+      let newPassword;
+
+      mock.get("/api/user/42", (req, res) =>
+        res.json({ id: 42, ...MOCK_USER }),
+      );
+      mock.put("/api/user/42/password", (req, res) => {
+        expect(Object.keys(req.json())).toEqual(["password"]);
+        newPassword = req.json().password;
+        return res.json({ id: 42, ...MOCK_USER });
+      });
+
+      const { wrapper } = mountWithStore(
+        <UserPasswordResetModal params={{ userId: 42 }} />,
+      );
+
+      const resetButton = await wrapper.async.find(".Button--danger");
+      expect(resetButton.length).toBe(1);
+
+      clickButton(resetButton);
+
+      const showPasswordLink = await wrapper.async.find(".link");
+      click(showPasswordLink);
+
+      const passwordReveal = await wrapper.async.find("input");
+      expect(passwordReveal.props().value).toBe(newPassword);
+    });
+  });
+  describe("with email configured", () => {
+    beforeEach(() => {
+      MetabaseSettings.isEmailConfigured = () => true;
+    });
+    it("should trigger a password reset email", async () => {
+      expect.assertions(1);
+
+      mock.get("/api/user/42", (req, res) =>
+        res.json({ id: 42, ...MOCK_USER }),
+      );
+      mock.post("/api/session/forgot_password", (req, res) => {
+        expect(req.json().email).toEqual(MOCK_USER.email);
+        return res.json({});
+      });
+
+      const { wrapper, store } = mountWithStore(
+        <UserPasswordResetModal params={{ userId: 42 }} />,
+      );
+
+      const resetButton = await wrapper.async.find(".Button--danger");
+      clickButton(resetButton);
+
+      await store.waitForAction("@@router/CALL_HISTORY_METHOD");
+    });
+  });
+});
diff --git a/frontend/test/metabase/admin/people/people.e2e.spec.js b/frontend/test/metabase/admin/people/people.e2e.spec.js
index e158cad865e6d83850125a827fdfad4dd43a8221..b6526978f5876a552d1ba4205914d7ac3a054f70 100644
--- a/frontend/test/metabase/admin/people/people.e2e.spec.js
+++ b/frontend/test/metabase/admin/people/people.e2e.spec.js
@@ -1,24 +1,29 @@
 // Converted from a Selenium E2E test
-import { createTestStore, useSharedAdminLogin } from "__support__/e2e_tests";
+import {
+  createTestStore,
+  useSharedAdminLogin,
+  BROWSER_HISTORY_PUSH,
+  BROWSER_HISTORY_POP,
+} from "__support__/e2e_tests";
 import { click, clickButton, setInputValue } from "__support__/enzyme_utils";
 import { mount } from "enzyme";
 import {
   CREATE_MEMBERSHIP,
-  CREATE_USER,
-  FETCH_USERS,
-  LOAD_GROUPS,
   LOAD_MEMBERSHIPS,
-  SHOW_MODAL,
-  UPDATE_USER,
 } from "metabase/admin/people/people";
 import ModalContent from "metabase/components/ModalContent";
 import { delay } from "metabase/lib/promise";
 import Button from "metabase/components/Button";
-import { getUsers } from "metabase/admin/people/selectors";
+import { getUsersWithMemberships } from "metabase/admin/people/selectors";
 import UserGroupSelect from "metabase/admin/people/components/UserGroupSelect";
 import { GroupOption } from "metabase/admin/people/components/GroupSelect";
 import { UserApi } from "metabase/services";
-import UserActionsSelect from "metabase/admin/people/components/UserActionsSelect";
+
+import User, { PASSWORD_RESET_MANUAL } from "metabase/entities/users";
+import Group from "metabase/entities/groups";
+
+import EntityMenuTrigger from "metabase/components/EntityMenuTrigger";
+import EntityMenuItem from "metabase/components/EntityMenuItem";
 
 describe("admin/people", () => {
   let createdUserId = null;
@@ -32,43 +37,52 @@ describe("admin/people", () => {
       const store = await createTestStore();
       store.pushPath("/admin/people");
       const app = mount(store.getAppContainer());
-      await store.waitForActions([FETCH_USERS, LOAD_GROUPS, LOAD_MEMBERSHIPS]);
+
+      await store.waitForActions([
+        User.actionTypes.FETCH_LIST,
+        Group.actionTypes.FETCH_LIST,
+        LOAD_MEMBERSHIPS,
+      ]);
 
       const email =
         "testy" + Math.round(Math.random() * 10000) + "@metabase.com";
       const firstName = "Testy";
       const lastName = "McTestFace";
 
-      click(app.find('button[children="Add someone"]'));
-      await store.waitForActions([SHOW_MODAL]);
-      await delay(1000);
+      clickButton(app.find(".Button.Button--primary"));
+      await store.waitForActions([BROWSER_HISTORY_PUSH]);
 
       const addUserModal = app.find(ModalContent);
-      const addButton = addUserModal
-        .find('div[children="Add"]')
-        .closest(Button);
+      const addButton = addUserModal.find(Button);
       expect(addButton.props().disabled).toBe(true);
 
-      setInputValue(addUserModal.find("input[name='firstName']"), firstName);
-      setInputValue(addUserModal.find("input[name='lastName']"), lastName);
+      setInputValue(addUserModal.find("input[name='first_name']"), firstName);
+      setInputValue(addUserModal.find("input[name='last_name']"), lastName);
       setInputValue(addUserModal.find("input[name='email']"), email);
 
       expect(addButton.props().disabled).toBe(false);
       clickButton(addButton);
 
-      await store.waitForActions([CREATE_USER]);
-      // unsure why a small delay is required here
+      await store.waitForActions([
+        "metabase/entities/users/CREATE",
+        BROWSER_HISTORY_PUSH,
+      ]);
+
       await delay(100);
 
       // it should be a pretty safe assumption in test environment that the user that was just created has the biggest ID
-      const userIds = Object.keys(getUsers(store.getState()));
+      const userIds = Object.keys(getUsersWithMemberships(store.getState()));
       createdUserId = Math.max.apply(null, userIds.map(key => parseInt(key)));
 
-      click(addUserModal.find('a[children="Show"]'));
-      const password = addUserModal.find("input").prop("value");
+      const userCreatedModal = app.find(ModalContent);
+
+      click(userCreatedModal.find('a[children="Show"]'));
+      const password = userCreatedModal.find("input").prop("value");
 
       // "Done" button
-      click(addUserModal.find(".Button.Button--primary"));
+      click(userCreatedModal.find(".Button.Button--primary"));
+
+      await store.waitForActions([BROWSER_HISTORY_PUSH]);
 
       const usersTable = app.find(".ContentTable");
       const userRow = usersTable.find(`td[children="${email}"]`).closest("tr");
@@ -94,30 +108,33 @@ describe("admin/people", () => {
       );
       await store.waitForActions([CREATE_MEMBERSHIP]);
 
-      // edit user details
-      click(userRow.find(UserActionsSelect));
-      click(app.find(".TestPopover").find('li[children="Edit Details"]'));
+      click(userRow.find(EntityMenuTrigger));
+      click(app.find(EntityMenuItem).find('span[children="Edit user"]'));
+
+      await store.waitForActions([BROWSER_HISTORY_PUSH]);
 
       const editDetailsModal = app.find(ModalContent);
 
       const saveButton = editDetailsModal
-        .find('div[children="Save changes"]')
+        .find('div[children="Update"]')
         .closest(Button);
-      expect(saveButton.props().disabled).toBe(true);
 
       setInputValue(
-        editDetailsModal.find("input[name='firstName']"),
+        editDetailsModal.find("input[name='first_name']"),
         firstName + "x",
       );
       setInputValue(
-        editDetailsModal.find("input[name='lastName']"),
+        editDetailsModal.find("input[name='last_name']"),
         lastName + "x",
       );
       setInputValue(editDetailsModal.find("input[name='email']"), email + "x");
       expect(saveButton.props().disabled).toBe(false);
 
-      await clickButton(saveButton);
-      await store.waitForActions([UPDATE_USER]);
+      clickButton(saveButton);
+      await store.waitForActions([
+        "metabase/entities/users/UPDATE",
+        BROWSER_HISTORY_POP,
+      ]);
 
       const updatedUserRow = usersTable
         .find(`td[children="${email}x"]`)
@@ -131,14 +148,17 @@ describe("admin/people", () => {
           .text(),
       ).toBe(`${firstName}x ${lastName}x`);
 
-      click(userRow.find(UserActionsSelect));
-      click(app.find(".TestPopover").find('li[children="Reset Password"]'));
+      click(userRow.find(EntityMenuTrigger));
+      click(app.find(EntityMenuItem).find('span[children="Reset password"]'));
+
+      await store.waitForActions([BROWSER_HISTORY_PUSH]);
 
       const resetPasswordModal = app.find(ModalContent);
-      const resetButton = resetPasswordModal
-        .find('div[children="Reset"]')
-        .closest(Button);
-      click(resetButton);
+      clickButton(resetPasswordModal.find(".Button.Button--danger"));
+
+      await store.waitForActions([PASSWORD_RESET_MANUAL]);
+
+      // this assumes no email configured
       click(resetPasswordModal.find('a[children="Show"]'));
       const newPassword = resetPasswordModal.find("input").prop("value");
 
diff --git a/frontend/test/metabase/admin/permissions/selectors.unit.spec.fixtures.js b/frontend/test/metabase/admin/permissions/selectors.unit.spec.fixtures.js
index c32096c4175f69cc944010fc5990a3415e80f13a..c3c0c5c399571e74ae68c8d18b5acfc67d0af121 100644
--- a/frontend/test/metabase/admin/permissions/selectors.unit.spec.fixtures.js
+++ b/frontend/test/metabase/admin/permissions/selectors.unit.spec.fixtures.js
@@ -86,4 +86,16 @@ export const normalizedMetadata = {
   },
   revisions: {},
   databasesList: [2, 3],
+
+  groups: {
+    "1": {
+      id: 1,
+      name: "Group starting with full access",
+    },
+    "2": {
+      id: 2,
+      name: "Group starting with no access at all",
+    },
+  },
+  groups_list: [1, 2],
 };
diff --git a/frontend/test/metabase/admin/permissions/selectors.unit.spec.js b/frontend/test/metabase/admin/permissions/selectors.unit.spec.js
index c97d8d7ce0ac4c586b24bb063e6592d1d1ec2335..f019b174d2e4a8dbfe74e8b11053468deb607cc3 100644
--- a/frontend/test/metabase/admin/permissions/selectors.unit.spec.js
+++ b/frontend/test/metabase/admin/permissions/selectors.unit.spec.js
@@ -20,17 +20,6 @@ import {
 
 /******** INITIAL TEST STATE ********/
 
-const groups = [
-  {
-    id: 1,
-    name: "Group starting with full access",
-  },
-  {
-    id: 2,
-    name: "Group starting with no access at all",
-  },
-];
-
 const initialPermissions: GroupsPermissions = {
   1: {
     // Sample dataset
@@ -75,7 +64,6 @@ const initialState = {
     permissions: {
       permissions: initialPermissions,
       originalPermissions: initialPermissions,
-      groups,
     },
   },
   entities: normalizedMetadata,
diff --git a/frontend/test/metabase/components/Logs.unit.spec.js b/frontend/test/metabase/admin/tasks/containers/Logs.unit.spec.js
similarity index 89%
rename from frontend/test/metabase/components/Logs.unit.spec.js
rename to frontend/test/metabase/admin/tasks/containers/Logs.unit.spec.js
index 952bdde28b54b22a11810192942d3b6dc2cddb1d..e62dd5ea8f77768f61c5e1cbbe213434f3af8a56 100644
--- a/frontend/test/metabase/components/Logs.unit.spec.js
+++ b/frontend/test/metabase/admin/tasks/containers/Logs.unit.spec.js
@@ -1,5 +1,5 @@
 import React from "react";
-import Logs from "metabase/components/Logs";
+import Logs from "metabase/admin/tasks/containers/Logs";
 import { mount } from "enzyme";
 
 import { UtilApi } from "metabase/services";
diff --git a/frontend/test/metabase/internal/__snapshots__/components.unit.spec.js.snap b/frontend/test/metabase/internal/__snapshots__/components.unit.spec.js.snap
index 583929c66a9f27b14b898b3f061fed9e42e9b042..8b58d95c4252d35fdb5d0688e413f14654f2c2cb 100644
--- a/frontend/test/metabase/internal/__snapshots__/components.unit.spec.js.snap
+++ b/frontend/test/metabase/internal/__snapshots__/components.unit.spec.js.snap
@@ -1,5 +1,60 @@
 // Jest Snapshot v1, https://goo.gl/fbAQLP
 
+exports[`Button should render "" correctly 1`] = `
+<button
+  className="Button sc-bdVaJa bDWFJH "
+>
+  <div
+    className="flex layout-centered"
+  >
+    <div>
+      Clickity click
+    </div>
+  </div>
+</button>
+`;
+
+exports[`Button should render "primary" correctly 1`] = `
+<button
+  className="Button sc-bdVaJa bDWFJH Button--primary"
+>
+  <div
+    className="flex layout-centered"
+  >
+    <div>
+      Clickity click
+    </div>
+  </div>
+</button>
+`;
+
+exports[`Button should render "with an icon" correctly 1`] = `
+<button
+  className="Button sc-bdVaJa bDWFJH "
+>
+  <div
+    className="flex layout-centered"
+  >
+    <svg
+      className="Icon Icon-star mr1 Icon-cxuQhR kTAgZA"
+      fill="currentcolor"
+      height={14}
+      name="star"
+      size={14}
+      viewBox="0 0 32 32"
+      width={14}
+    >
+      <path
+        d="M16 0 L21 11 L32 12 L23 19 L26 31 L16 25 L6 31 L9 19 L0 12 L11 11"
+      />
+    </svg>
+    <div>
+      Clickity click
+    </div>
+  </div>
+</button>
+`;
+
 exports[`Card should render "dark" correctly 1`] = `
 <div
   className="Card-RQot dPIXem"
@@ -435,6 +490,14 @@ exports[`EntityMenu should render "Share menu" correctly 1`] = `
 </div>
 `;
 
+exports[`PageHeading should render "normal" correctly 1`] = `
+<h1
+  className="PageHeading-iMPvjs juZTVP"
+>
+  Hello World
+</h1>
+`;
+
 exports[`Position should render "Absolute" correctly 1`] = `
 <div
   className="Position-kiwZOl jyvUWC sc-bwzfXH kLwrie"
@@ -968,61 +1031,6 @@ exports[`StackedCheckBox should render "Off - Default" correctly 1`] = `
 </div>
 `;
 
-exports[`Styled(div) should render "" correctly 1`] = `
-<button
-  className="Button sc-bdVaJa bDWFJH "
->
-  <div
-    className="flex layout-centered"
-  >
-    <div>
-      Clickity click
-    </div>
-  </div>
-</button>
-`;
-
-exports[`Styled(div) should render "primary" correctly 1`] = `
-<button
-  className="Button sc-bdVaJa bDWFJH Button--primary"
->
-  <div
-    className="flex layout-centered"
-  >
-    <div>
-      Clickity click
-    </div>
-  </div>
-</button>
-`;
-
-exports[`Styled(div) should render "with an icon" correctly 1`] = `
-<button
-  className="Button sc-bdVaJa bDWFJH "
->
-  <div
-    className="flex layout-centered"
-  >
-    <svg
-      className="Icon Icon-star mr1 Icon-cxuQhR kTAgZA"
-      fill="currentcolor"
-      height={14}
-      name="star"
-      size={14}
-      viewBox="0 0 32 32"
-      width={14}
-    >
-      <path
-        d="M16 0 L21 11 L32 12 L23 19 L26 31 L16 25 L6 31 L9 19 L0 12 L11 11"
-      />
-    </svg>
-    <div>
-      Clickity click
-    </div>
-  </div>
-</button>
-`;
-
 exports[`Toggle should render "off" correctly 1`] = `
 <a
   className="no-decoration"
diff --git a/frontend/test/metabase/internal/components.unit.spec.js b/frontend/test/metabase/internal/components.unit.spec.js
index 00c2db9107a8eac94c9689eb7ad4e0e51996719b..bca29cdb7c3c4aac8f1a095bd8340e56f525e680 100644
--- a/frontend/test/metabase/internal/components.unit.spec.js
+++ b/frontend/test/metabase/internal/components.unit.spec.js
@@ -4,9 +4,12 @@ import components from "metabase/internal/lib/components-node";
 
 // generates a snapshot test for every example in every component's `.info.js`
 components.map(
-  ({ component, examples, noSnapshotTest }) =>
+  ({ component, examples, noSnapshotTest, description, filename }) =>
     !noSnapshotTest &&
-    describe(component.displayName, () => {
+    describe(filename, () => {
+      it(`should have displayName matching file name`, () => {
+        expect(component && component.displayName).toEqual(filename);
+      });
       Object.entries(examples).map(([exampleName, element]) =>
         it(`should render "${exampleName}" correctly`, () => {
           expect(renderer.create(element).toJSON()).toMatchSnapshot();
diff --git a/frontend/test/metabase/lib/dataset.unit.spec.js b/frontend/test/metabase/lib/dataset.unit.spec.js
new file mode 100644
index 0000000000000000000000000000000000000000..c95c935c93bdf69457e7be2cf09a4d9d40af972d
--- /dev/null
+++ b/frontend/test/metabase/lib/dataset.unit.spec.js
@@ -0,0 +1,51 @@
+import { fieldRefForColumn } from "metabase/lib/dataset";
+
+const FIELD_COLUMN = { id: 1 };
+const FK_COLUMN = { id: 1, fk_field_id: 2 };
+const EXPRESSION_COLUMN = { expression_name: "foo" };
+const AGGREGATION_COLUMN = { source: "aggregation" };
+
+describe("metabase/util/dataset", () => {
+  describe("fieldRefForColumn", () => {
+    it('should return `["field-id", 1]` for a normal column', () => {
+      expect(fieldRefForColumn(FIELD_COLUMN)).toEqual(["field-id", 1]);
+    });
+    it('should return `["fk->", 2, 1]` for a fk column', () => {
+      expect(fieldRefForColumn(FK_COLUMN)).toEqual(["fk->", 2, 1]);
+    });
+    it('should return `["expression", 2, 1]` for a fk column', () => {
+      expect(fieldRefForColumn(EXPRESSION_COLUMN)).toEqual([
+        "expression",
+        "foo",
+      ]);
+    });
+
+    describe("aggregation column", () => {
+      // this is an unfortunate effect of the backend not returning enough information to determine the aggregation index from the column
+      it("should return `null` for aggregation column if list of columns was provided", () => {
+        expect(fieldRefForColumn(AGGREGATION_COLUMN)).toEqual(null);
+      });
+      it('should return `["aggregation", 0]` for aggregation column if list of columns was provided', () => {
+        expect(
+          fieldRefForColumn(AGGREGATION_COLUMN, [AGGREGATION_COLUMN]),
+        ).toEqual(["aggregation", 0]);
+      });
+      it('should return `["aggregation", 1]` for second aggregation column if list of columns was provided', () => {
+        expect(
+          fieldRefForColumn(AGGREGATION_COLUMN, [
+            { source: "aggregation" },
+            AGGREGATION_COLUMN,
+          ]),
+        ).toEqual(["aggregation", 1]);
+      });
+    });
+
+    // NOTE: sometimes id is an MBQL clause itself, e.x. nested queries
+    it("should return `id` if is an MBQL clause", () => {
+      expect(fieldRefForColumn({ id: ["field-id", 3] })).toEqual([
+        "field-id",
+        3,
+      ]);
+    });
+  });
+});
diff --git a/frontend/test/metabase/lib/formatting.unit.spec.js b/frontend/test/metabase/lib/formatting.unit.spec.js
index c18307749ea5f8d3cfea4c2f0fe4157cf9b3f6e9..6b9fc93ab3c60b1f1a790ebe83b5eabc8c5389bd 100644
--- a/frontend/test/metabase/lib/formatting.unit.spec.js
+++ b/frontend/test/metabase/lib/formatting.unit.spec.js
@@ -35,6 +35,12 @@ describe("formatting", () => {
         expect(formatNumber(0.01, { compact: true })).toEqual("~ 0");
         expect(formatNumber(-0.01, { compact: true })).toEqual("~ 0");
       });
+      it("should round up and down", () => {
+        expect(formatNumber(1.01, { compact: true })).toEqual("1");
+        expect(formatNumber(-1.01, { compact: true })).toEqual("-1");
+        expect(formatNumber(1.9, { compact: true })).toEqual("2");
+        expect(formatNumber(-1.9, { compact: true })).toEqual("-2");
+      });
       it("should format large numbers with metric units", () => {
         expect(formatNumber(1, { compact: true })).toEqual("1");
         expect(formatNumber(1000, { compact: true })).toEqual("1.0k");
diff --git a/frontend/test/metabase/modes/components/actions/SortAction.unit.spec.js b/frontend/test/metabase/modes/components/actions/SortAction.unit.spec.js
new file mode 100644
index 0000000000000000000000000000000000000000..9f4160a6963129360eb5d6753c4bfdbac09c69e0
--- /dev/null
+++ b/frontend/test/metabase/modes/components/actions/SortAction.unit.spec.js
@@ -0,0 +1,87 @@
+/* eslint-disable flowtype/require-valid-file-annotation */
+
+import {
+  question,
+  clickedCreatedAtHeader,
+  countByCreatedAtQuestion,
+  clickedCountAggregationHeader,
+  clickedCreatedAtBreakoutHeader,
+  ORDERS_TABLE_ID,
+  ORDERS_CREATED_DATE_FIELD_ID,
+} from "__support__/sample_dataset_fixture";
+
+import SortAction from "metabase/modes/components/drill/SortAction";
+
+// shortcut get the dataset_query's query from an action
+const query = action =>
+  action
+    .question()
+    .query()
+    .query();
+
+describe("SortAction", () => {
+  it("should not be valid for top level actions", () => {
+    expect(SortAction({ question })).toHaveLength(0);
+  });
+
+  it("should return ascending and descending for unsorted column", () => {
+    const actions = SortAction({
+      question,
+      clicked: clickedCreatedAtHeader,
+    });
+    expect(actions).toHaveLength(2);
+    expect(actions[0].title).toEqual("Ascending");
+    expect(actions[1].title).toEqual("Descending");
+
+    expect(query(actions[0])).toEqual({
+      "order-by": [["asc", ["field-id", 1]]],
+      "source-table": 1,
+    });
+    expect(query(actions[1])).toEqual({
+      "order-by": [["desc", ["field-id", 1]]],
+      "source-table": 1,
+    });
+  });
+
+  it("should return ascending for an already sorted column", () => {
+    const actions = SortAction({
+      question: question
+        .query()
+        .addSort(["asc", ["field-id", ORDERS_CREATED_DATE_FIELD_ID]])
+        .question(),
+      clicked: clickedCreatedAtHeader,
+    });
+    expect(actions).toHaveLength(1);
+    expect(actions[0].title).toEqual("Descending");
+    expect(query(actions[0])).toEqual({
+      "order-by": [["desc", ["field-id", 1]]],
+      "source-table": 1,
+    });
+  });
+
+  it("should sort by aggregation", () => {
+    const actions = SortAction({
+      question: countByCreatedAtQuestion,
+      clicked: clickedCountAggregationHeader,
+    });
+    expect(query(actions[0])).toEqual({
+      aggregation: [["count"]],
+      breakout: [["field-id", ORDERS_CREATED_DATE_FIELD_ID]],
+      "order-by": [["asc", ["aggregation", 0]]],
+      "source-table": ORDERS_TABLE_ID,
+    });
+  });
+
+  it("should sort by breakout", () => {
+    const actions = SortAction({
+      question: countByCreatedAtQuestion,
+      clicked: clickedCreatedAtBreakoutHeader,
+    });
+    expect(query(actions[0])).toEqual({
+      aggregation: [["count"]],
+      breakout: [["field-id", ORDERS_CREATED_DATE_FIELD_ID]],
+      "order-by": [["asc", ["field-id", 1]]],
+      "source-table": ORDERS_TABLE_ID,
+    });
+  });
+});
diff --git a/frontend/test/metabase/nav/ProfileLink.unit.spec.js b/frontend/test/metabase/nav/ProfileLink.unit.spec.js
index d6a70d225a5fe9cc7e731535d0b4a732391b12c8..97eae02de5505eb77912dd13c7ed464edbb74344 100644
--- a/frontend/test/metabase/nav/ProfileLink.unit.spec.js
+++ b/frontend/test/metabase/nav/ProfileLink.unit.spec.js
@@ -24,7 +24,7 @@ describe("ProfileLink", () => {
         const admin = { is_superuser: true };
         const wrapper = shallow(<ProfileLink user={admin} context={""} />);
 
-        expect(wrapper.instance().generateOptionsForUser().length).toBe(6);
+        expect(wrapper.instance().generateOptionsForUser().length).toBe(5);
       });
     });
   });
diff --git a/frontend/test/metabase/query_builder/components/dataref/FieldPane.e2e.spec.js b/frontend/test/metabase/query_builder/components/dataref/FieldPane.e2e.spec.js
index 85327fd2633022e261b8a58f656cb358911fe71c..4a37b5afdcbe3e6ea39d00f8f5b2c474c3a58b9f 100644
--- a/frontend/test/metabase/query_builder/components/dataref/FieldPane.e2e.spec.js
+++ b/frontend/test/metabase/query_builder/components/dataref/FieldPane.e2e.spec.js
@@ -6,18 +6,11 @@ import { mount } from "enzyme";
 
 import {
   INITIALIZE_QB,
-  QUERY_COMPLETED,
-  setQuerySourceTable,
   TOGGLE_DATA_REFERENCE,
 } from "metabase/query_builder/actions";
-import { delay } from "metabase/lib/promise";
 
 import QueryBuilder from "metabase/query_builder/containers/QueryBuilder";
 import DataReference from "metabase/query_builder/components/dataref/DataReference";
-import { FETCH_TABLE_METADATA } from "metabase/redux/metadata";
-import QueryButton from "metabase/components/QueryButton";
-import Table from "metabase/visualizations/visualizations/Table";
-import UseForButton from "metabase/query_builder/components/dataref/UseForButton";
 import * as Urls from "metabase/lib/urls";
 
 // Currently a lot of duplication with FieldPane tests
@@ -44,50 +37,5 @@ describe("FieldPane", () => {
 
     const dataReference = queryBuilder.find(DataReference);
     expect(dataReference.length).toBe(1);
-
-    click(dataReference.find('a[children="Orders"]'));
-
-    // TODO: Refactor TablePane so that it uses redux/metadata actions instead of doing inlined API calls
-    // then we can replace this with `store.waitForActions([FETCH_TABLE_FOREIGN_KEYS])` or similar
-    await delay(3000);
-
-    click(dataReference.find(`a[children="Created At"]`).first());
-
-    await store.waitForActions([FETCH_TABLE_METADATA]);
-  });
-
-  it("lets you group by Created At", async () => {
-    const getUseForButton = () =>
-      queryBuilder.find(DataReference).find(UseForButton);
-
-    expect(getUseForButton().length).toBe(0);
-
-    await store.dispatch(setQuerySourceTable(1));
-    // eslint-disable-line react/no-irregular-whitespace
-    expect(getUseForButton().text()).toMatch(/Group by/);
-
-    click(getUseForButton());
-    await store.waitForActions([QUERY_COMPLETED]);
-
-    // after the breakout has been applied, the button shouldn't be visible anymore
-    expect(getUseForButton().length).toBe(0);
-  });
-
-  it("lets you see all distinct values of Created At", async () => {
-    const distinctValuesButton = queryBuilder
-      .find(DataReference)
-      .find(QueryButton)
-      .at(0);
-
-    try {
-      click(distinctValuesButton.children().first());
-    } catch (e) {
-      // QueryButton uses react-router Link which always throws an error if it's called without a parent Router object
-      // Now we are just using the onClick handler of Link so we don't have to care about that
-    }
-
-    await store.waitForActions([QUERY_COMPLETED]);
-
-    expect(queryBuilder.find(Table).length).toBe(1);
   });
 });
diff --git a/frontend/test/metabase/query_builder/components/dataref/MetricPane.e2e.spec.js b/frontend/test/metabase/query_builder/components/dataref/MetricPane.e2e.spec.js
deleted file mode 100644
index 23b02f3d18fcb272ed1e39878213205cd16f0996..0000000000000000000000000000000000000000
--- a/frontend/test/metabase/query_builder/components/dataref/MetricPane.e2e.spec.js
+++ /dev/null
@@ -1,89 +0,0 @@
-import {
-  useSharedAdminLogin,
-  createTestStore,
-  cleanup,
-} from "__support__/e2e_tests";
-import { click } from "__support__/enzyme_utils";
-
-import React from "react";
-import { mount } from "enzyme";
-
-import {
-  INITIALIZE_QB,
-  QUERY_COMPLETED,
-  TOGGLE_DATA_REFERENCE,
-} from "metabase/query_builder/actions";
-import { delay } from "metabase/lib/promise";
-
-import QueryBuilder from "metabase/query_builder/containers/QueryBuilder";
-import DataReference from "metabase/query_builder/components/dataref/DataReference";
-import { vendor_count_metric } from "__support__/sample_dataset_fixture";
-import { FETCH_TABLE_METADATA } from "metabase/redux/metadata";
-import QueryDefinition from "metabase/query_builder/components/dataref/QueryDefinition";
-import QueryButton from "metabase/components/QueryButton";
-import Scalar from "metabase/visualizations/visualizations/Scalar";
-import * as Urls from "metabase/lib/urls";
-import { MetricApi } from "metabase/services";
-
-describe("MetricPane", () => {
-  let store = null;
-  let queryBuilder = null;
-
-  beforeAll(async () => {
-    useSharedAdminLogin();
-    cleanup.metric(await MetricApi.create(vendor_count_metric));
-    store = await createTestStore();
-
-    store.pushPath(Urls.plainQuestion());
-    queryBuilder = mount(store.connectContainer(<QueryBuilder />));
-    await store.waitForActions([INITIALIZE_QB]);
-  });
-
-  afterAll(cleanup);
-
-  // NOTE: These test cases are intentionally stateful
-  // (doing the whole app rendering thing in every single test case would probably slow things down)
-
-  it("opens properly from QB", async () => {
-    // open data reference sidebar by clicking button
-    click(queryBuilder.find(".Icon-reference"));
-    await store.waitForActions([TOGGLE_DATA_REFERENCE]);
-
-    const dataReference = queryBuilder.find(DataReference);
-    expect(dataReference.length).toBe(1);
-
-    click(dataReference.find('a[children="Products"]'));
-
-    // TODO: Refactor TablePane so that it uses redux/metadata actions instead of doing inlined API calls
-    // then we can replace this with `store.waitForActions([FETCH_TABLE_FOREIGN_KEYS])` or similar
-    await delay(3000);
-
-    click(
-      dataReference.find(`a[children="${vendor_count_metric.name}"]`).first(),
-    );
-
-    await store.waitForActions([FETCH_TABLE_METADATA]);
-  });
-
-  it("shows you the correct definition", () => {
-    const queryDefinition = queryBuilder
-      .find(DataReference)
-      .find(QueryDefinition);
-    expect(queryDefinition.text()).toMatch(/Number of distinct valuesofVendor/);
-  });
-
-  it("lets you see the vendor count", async () => {
-    const queryButton = queryBuilder.find(DataReference).find(QueryButton);
-
-    try {
-      click(queryButton.children().first());
-    } catch (e) {
-      // QueryButton uses react-router Link which always throws an error if it's called without a parent Router object
-      // Now we are just using the onClick handler of Link so we don't have to care about that
-    }
-
-    await store.waitForActions([QUERY_COMPLETED]);
-
-    expect(queryBuilder.find(Scalar).text()).toBe("200");
-  });
-});
diff --git a/frontend/test/metabase/query_builder/components/dataref/SegmentPane.e2e.spec.js b/frontend/test/metabase/query_builder/components/dataref/SegmentPane.e2e.spec.js
deleted file mode 100644
index ebb6284122c8dd52d5ce89bbe374576392c96e57..0000000000000000000000000000000000000000
--- a/frontend/test/metabase/query_builder/components/dataref/SegmentPane.e2e.spec.js
+++ /dev/null
@@ -1,133 +0,0 @@
-import {
-  useSharedAdminLogin,
-  createTestStore,
-  cleanup,
-} from "__support__/e2e_tests";
-import { click } from "__support__/enzyme_utils";
-
-import React from "react";
-import { mount } from "enzyme";
-
-import {
-  INITIALIZE_QB,
-  LOAD_TABLE_METADATA,
-  QUERY_COMPLETED,
-  setQuerySourceTable,
-  TOGGLE_DATA_REFERENCE,
-} from "metabase/query_builder/actions";
-import { delay } from "metabase/lib/promise";
-
-import QueryBuilder from "metabase/query_builder/containers/QueryBuilder";
-import DataReference from "metabase/query_builder/components/dataref/DataReference";
-import { orders_past_300_days_segment } from "__support__/sample_dataset_fixture";
-import { FETCH_TABLE_METADATA } from "metabase/redux/metadata";
-import QueryDefinition from "metabase/query_builder/components/dataref/QueryDefinition";
-import QueryButton from "metabase/components/QueryButton";
-import Table from "metabase/visualizations/visualizations/Table";
-import UseForButton from "metabase/query_builder/components/dataref/UseForButton";
-import { SegmentApi } from "metabase/services";
-import * as Urls from "metabase/lib/urls";
-
-// Currently a lot of duplication with SegmentPane tests
-describe("SegmentPane", () => {
-  let store = null;
-  let queryBuilder = null;
-
-  beforeAll(async () => {
-    useSharedAdminLogin();
-    cleanup.segment(await SegmentApi.create(orders_past_300_days_segment));
-    store = await createTestStore();
-
-    store.pushPath(Urls.plainQuestion());
-    queryBuilder = mount(store.connectContainer(<QueryBuilder />));
-    await store.waitForActions([INITIALIZE_QB]);
-  });
-
-  afterAll(cleanup);
-
-  // NOTE: These test cases are intentionally stateful
-  // (doing the whole app rendering thing in every single test case would probably slow things down)
-
-  it("opens properly from QB", async () => {
-    // open data reference sidebar by clicking button
-    click(queryBuilder.find(".Icon-reference"));
-    await store.waitForActions([TOGGLE_DATA_REFERENCE]);
-
-    const dataReference = queryBuilder.find(DataReference);
-    expect(dataReference.length).toBe(1);
-
-    click(dataReference.find('a[children="Orders"]'));
-
-    // TODO: Refactor TablePane so that it uses redux/metadata actions instead of doing inlined API calls
-    // then we can replace this with `store.waitForActions([FETCH_TABLE_FOREIGN_KEYS])` or similar
-    await delay(3000);
-
-    click(
-      dataReference
-        .find(`a[children="${orders_past_300_days_segment.name}"]`)
-        .first(),
-    );
-
-    await store.waitForActions([FETCH_TABLE_METADATA]);
-  });
-
-  it("shows you the correct segment definition", () => {
-    const queryDefinition = queryBuilder
-      .find(DataReference)
-      .find(QueryDefinition);
-    // eslint-disable-next-line no-irregular-whitespace
-    expect(queryDefinition.text()).toMatch(/Created AtPrevious 300 Days/);
-  });
-
-  it("lets you apply the filter to your current query", async () => {
-    await store.dispatch(setQuerySourceTable(1));
-    await store.waitForActions(LOAD_TABLE_METADATA);
-
-    const filterByButton = queryBuilder
-      .find(DataReference)
-      .find(UseForButton)
-      .first();
-    click(filterByButton.children().first());
-
-    await store.waitForActions([QUERY_COMPLETED]);
-
-    expect(queryBuilder.find(DataReference).find(UseForButton).length).toBe(0);
-  });
-
-  it("lets you see count of rows for past 300 days", async () => {
-    const numberQueryButton = queryBuilder
-      .find(DataReference)
-      .find(QueryButton)
-      .at(0);
-
-    try {
-      click(numberQueryButton.children().first());
-    } catch (e) {
-      // QueryButton uses react-router Link which always throws an error if it's called without a parent Router object
-      // Now we are just using the onClick handler of Link so we don't have to care about that
-    }
-
-    await store.waitForActions([QUERY_COMPLETED]);
-
-    // The value changes daily which wasn't originally taken into account
-    // expect(queryBuilder.find(Scalar).text()).toBe("1,236")
-  });
-
-  it("lets you see raw data for past 300 days", async () => {
-    const allQueryButton = queryBuilder
-      .find(DataReference)
-      .find(QueryButton)
-      .at(1);
-
-    try {
-      click(allQueryButton.children().first());
-    } catch (e) {
-      // QueryButton uses react-router Link which always throws an error if it's called without a parent Router object
-      // Now we are just using the onClick handler of Link so we don't have to care about that
-    }
-
-    await store.waitForActions([QUERY_COMPLETED]);
-
-    expect(queryBuilder.find(Table).length).toBe(1);
-  });
-});
diff --git a/frontend/test/metabase/visualizations/components/LineAreaBarRenderer-bar.unit.spec.js b/frontend/test/metabase/visualizations/components/LineAreaBarRenderer-bar.unit.spec.js
index 0e00fd414906ec014cec10c8724bba9907988ec3..dae9c2e8aff172bd2b817eb9f8ce352ae4b46139 100644
--- a/frontend/test/metabase/visualizations/components/LineAreaBarRenderer-bar.unit.spec.js
+++ b/frontend/test/metabase/visualizations/components/LineAreaBarRenderer-bar.unit.spec.js
@@ -13,10 +13,50 @@ const DEFAULT_SETTINGS = {
   "graph.x_axis.axis_enabled": true,
   "graph.y_axis.axis_enabled": true,
   "graph.colors": ["#00FF00", "#FF0000"],
-  series: () => ({ display: "bar" }),
-  column: () => ({ date_style: "MMMM D, YYYY" }),
+  series: () => DEFAULT_SERIES_SETTINGS,
+  column: () => DEFAULT_COLUMN_SETTINGS,
 };
 
+const DEFAULT_SERIES_SETTINGS = {
+  display: "bar",
+};
+
+const DEFAULT_COLUMN_SETTINGS = {
+  date_style: "MMMM D, YYYY",
+};
+
+function MainSeries(chartType, settings = {}) {
+  return {
+    card: {
+      display: chartType,
+      visualization_settings: {
+        ...DEFAULT_SETTINGS,
+        ...settings,
+      },
+    },
+    data: {
+      cols: [
+        StringColumn({ display_name: "Category", source: "breakout" }),
+        NumberColumn({ display_name: "Sum", source: "aggregation" }),
+      ],
+      rows: [["A", 1]],
+    },
+  };
+}
+
+function ExtraSeries() {
+  return {
+    card: {},
+    data: {
+      cols: [
+        StringColumn({ display_name: "Category", source: "breakout" }),
+        NumberColumn({ display_name: "Count", source: "aggregation" }),
+      ],
+      rows: [["A", 2]],
+    },
+  };
+}
+
 describe("LineAreaBarRenderer-bar", () => {
   let element;
   const qsa = selector => [...element.querySelectorAll(selector)];
@@ -33,86 +73,115 @@ describe("LineAreaBarRenderer-bar", () => {
     document.body.removeChild(document.getElementById("fixture"));
   });
 
-  ["area", "bar"].forEach(chartType =>
-    ["stacked", "normalized"].forEach(stack_type =>
-      // FIXME: failing on CI
-      xit(`should render a ${stack_type ||
-        ""} ${chartType} chart with 2 series`, () => {
-        const onHoverChange = jest.fn();
-        renderLineAreaBar(
-          element,
-          [
-            {
-              card: {
-                display: chartType,
-                visualization_settings: {
-                  ...DEFAULT_SETTINGS,
-                  "stackable.stack_type": stack_type,
-                },
-              },
-              data: {
-                cols: [
-                  StringColumn({
-                    display_name: "Category",
-                    source: "breakout",
-                  }),
-                  NumberColumn({
-                    display_name: "Sum",
-                    source: "aggregation",
-                  }),
-                ],
-                rows: [["A", 1]],
-              },
-            },
-            {
-              card: {},
-              data: {
-                cols: [
-                  StringColumn({
-                    display_name: "Category",
-                    source: "breakout",
-                  }),
-                  NumberColumn({
-                    display_name: "Count",
-                    source: "aggregation",
-                  }),
-                ],
-                rows: [["A", 2]],
-              },
-            },
-          ],
-          {
-            onHoverChange,
-          },
-        );
-
-        // hover over each bar
-        dispatchUIEvent(qsa(".bar, .dot")[0], "mousemove");
-        dispatchUIEvent(qsa(".bar, .dot")[1], "mousemove");
-
-        const { calls } = onHoverChange.mock;
-        if (stack_type === "normalized") {
-          expect(getDataKeyValues(calls[0][0])).toEqual([
-            { key: "Category", value: "A" },
-            { key: "% Sum", value: "33%" },
-          ]);
-          expect(getDataKeyValues(calls[1][0])).toEqual([
-            { key: "Category", value: "A" },
-            { key: "% Count", value: "67%" },
-          ]);
-        } else {
-          expect(getDataKeyValues(calls[0][0])).toEqual([
-            { key: "Category", value: "A" },
-            { key: "Sum", value: 1 },
-          ]);
-          expect(getDataKeyValues(calls[1][0])).toEqual([
-            { key: "Category", value: "A" },
-            { key: "Count", value: 2 },
-          ]);
-        }
-      }),
-    ),
-  );
+  it(`should render an bar chart with 1 series`, () => {
+    const onHoverChange = jest.fn();
+    renderLineAreaBar(element, [MainSeries("bar")], {
+      onHoverChange,
+    });
+
+    // hover over each bar
+    dispatchUIEvent(qsa(".bar, .dot")[0], "mousemove");
+
+    const { calls } = onHoverChange.mock;
+    expect(getDataKeyValues(calls[0][0])).toEqual([
+      { key: "Category", value: "A" },
+      { key: "Sum", value: 1 },
+    ]);
+  });
+
+  it(`should render an bar chart with 2 series`, () => {
+    const onHoverChange = jest.fn();
+    renderLineAreaBar(element, [MainSeries("bar"), ExtraSeries()], {
+      onHoverChange,
+    });
+
+    // hover over each bar
+    dispatchUIEvent(qsa(".bar, .dot")[0], "mousemove");
+    dispatchUIEvent(qsa(".bar, .dot")[1], "mousemove");
+
+    const { calls } = onHoverChange.mock;
+    expect(getDataKeyValues(calls[0][0])).toEqual([
+      { key: "Category", value: "A" },
+      { key: "Sum", value: 1 },
+    ]);
+    expect(getDataKeyValues(calls[1][0])).toEqual([
+      { key: "Category", value: "A" },
+      { key: "Count", value: 2 },
+    ]);
+  });
+
+  it(`should render an bar stacked chart with 2 series`, () => {
+    const onHoverChange = jest.fn();
+    renderLineAreaBar(
+      element,
+      [MainSeries("bar", { "stackable.stack_type": "stacked" }), ExtraSeries()],
+      {
+        onHoverChange,
+      },
+    );
+
+    // hover over each bar
+    dispatchUIEvent(qsa(".bar, .dot")[0], "mousemove");
+    dispatchUIEvent(qsa(".bar, .dot")[1], "mousemove");
+
+    const { calls } = onHoverChange.mock;
+    expect(getDataKeyValues(calls[0][0])).toEqual([
+      { key: "Category", value: "A" },
+      { key: "Sum", value: 1 },
+    ]);
+    expect(getDataKeyValues(calls[1][0])).toEqual([
+      { key: "Category", value: "A" },
+      { key: "Count", value: 2 },
+    ]);
+  });
+
+  it(`should render an bar normalized chart with 2 series`, () => {
+    const onHoverChange = jest.fn();
+    renderLineAreaBar(
+      element,
+      [
+        MainSeries("bar", { "stackable.stack_type": "normalized" }),
+        ExtraSeries(),
+      ],
+      { onHoverChange },
+    );
+
+    // hover over each bar
+    dispatchUIEvent(qsa(".bar, .dot")[0], "mousemove");
+    dispatchUIEvent(qsa(".bar, .dot")[1], "mousemove");
+
+    const { calls } = onHoverChange.mock;
+    expect(getDataKeyValues(calls[0][0])).toEqual([
+      { key: "Category", value: "A" },
+      { key: "% Sum", value: "33%" },
+    ]);
+    expect(getDataKeyValues(calls[1][0])).toEqual([
+      { key: "Category", value: "A" },
+      { key: "% Count", value: "67%" },
+    ]);
+  });
+
+  it("should replace the aggregation name with the series name", () => {
+    const onHoverChange = jest.fn();
+    renderLineAreaBar(
+      element,
+      [
+        MainSeries("bar", {
+          series: () => ({ ...DEFAULT_SERIES_SETTINGS, title: "Foo" }),
+        }),
+      ],
+      { onHoverChange },
+    );
+
+    // hover over each bar
+    dispatchUIEvent(qsa(".bar, .dot")[0], "mousemove");
+
+    const { calls } = onHoverChange.mock;
+    expect(getDataKeyValues(calls[0][0])).toEqual([
+      { key: "Category", value: "A" },
+      { key: "Foo", value: 1 },
+    ]);
+  });
 });
 
 function getDataKeyValues(hover) {
diff --git a/frontend/test/metabase/visualizations/lib/utils.unit.spec.js b/frontend/test/metabase/visualizations/lib/utils.unit.spec.js
index adfa4626ae8163fbd9042aa467397efe43522cc7..3dd1b99f863eb2e72824f830c67eb57236923b0e 100644
--- a/frontend/test/metabase/visualizations/lib/utils.unit.spec.js
+++ b/frontend/test/metabase/visualizations/lib/utils.unit.spec.js
@@ -3,6 +3,7 @@ import {
   getCardAfterVisualizationClick,
   getColumnCardinality,
   getXValues,
+  getFriendlyName,
 } from "metabase/visualizations/lib/utils";
 
 import _ from "underscore";
@@ -209,4 +210,23 @@ describe("metabase/visualization/lib/utils", () => {
       expect(getColumnCardinality(cols, rows, 0)).toEqual(3);
     });
   });
+
+  describe("getFriendlyName", () => {
+    it("should return friendly name for built-in aggregations", () => {
+      expect(getFriendlyName({ name: "avg", display_name: "avg" })).toBe(
+        "Average",
+      );
+    });
+    it("should return friendly name for duplicate built-in aggregations", () => {
+      expect(getFriendlyName({ name: "avg_2", display_name: "avg" })).toBe(
+        "Average",
+      );
+    });
+    it("should return display_name for non built-in aggregations", () => {
+      expect(getFriendlyName({ name: "foo", display_name: "Foo" })).toBe("Foo");
+    });
+    it("should return display_name for built-in aggregations", () => {
+      expect(getFriendlyName({ name: "avg", display_name: "Foo" })).toBe("Foo");
+    });
+  });
 });
diff --git a/locales/ca.po b/locales/ca.po
new file mode 100644
index 0000000000000000000000000000000000000000..fa59cb019e490764bb994a98ddbb7e3d09849732
--- /dev/null
+++ b/locales/ca.po
@@ -0,0 +1,12353 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: POEditor.com\n"
+"Project-Id-Version: Metabase\n"
+"Language: ca\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:24
+msgid "Your database has been added!"
+msgstr "La teva base de dades ha estat afegida"
+
+#: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:28
+msgid "We took a look at your data, and we have some automated explorations that we can show you!"
+msgstr "Farem un cop d'ull a les teves dades, tenim alguns anàlisis automàtics que et volem ensenyar"
+
+#: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:35
+msgid "I'm good thanks"
+msgstr "Estic bé, gràcies"
+
+#: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:42
+msgid "Explore this data"
+msgstr "Explora aquestes dades"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseEditForms.jsx:42
+msgid "Select a database type"
+msgstr "Selecciona un tipus de base de dades"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseEditForms.jsx:75
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:170
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:401
+#: frontend/src/metabase/admin/permissions/containers/CollectionPermissionsModal.jsx:71
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:182
+#: frontend/src/metabase/components/ActionButton.jsx:51
+#: frontend/src/metabase/components/ButtonWithStatus.jsx:7
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:180
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:197
+#: frontend/src/metabase/reference/components/EditHeader.jsx:54
+#: frontend/src/metabase/reference/components/EditHeader.jsx:69
+#: frontend/src/metabase/user/components/SetUserPassword.jsx:171
+#: frontend/src/metabase/user/components/UpdateUserDetails.jsx:164
+msgid "Save"
+msgstr "Desa"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:122
+msgid "To do some of its magic, Metabase needs to scan your database. We will also rescan it periodically to keep the metadata up-to-date. You can control when the periodic rescans happen below."
+msgstr "Metabase necessita analitzar la teva base de dades. S'analitzarà periòdicament per tal de mantenir actualizades les metadades. A continuació, pots definir la periodicitat dels anàlisis."
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:127
+msgid "Database syncing"
+msgstr "S'està sincronitzant"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:128
+msgid "This is a lightweight process that checks for\n"
+"updates to this database’s schema. In most cases, you should be fine leaving this\n"
+"set to sync hourly."
+msgstr "Això es un procès simple que busca actualitzacions a l'esquema de la base de dades. En la majoria dels casos ha d'estar bé sincronitzar cada hora."
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:147
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:184
+msgid "Scan"
+msgstr "Escaneja"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:152
+msgid "Scanning for Filter Values"
+msgstr "Escanejant els valors dels filtres"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:153
+msgid "Metabase can scan the values present in each\n"
+"field in this database to enable checkbox filters in dashboards and questions. This\n"
+"can be a somewhat resource-intensive process, particularly if you have a very large\n"
+"database."
+msgstr "Metabase pot analizar els valors presents a cada camp de la base de dades, per tal d'activar filtres als quadres de comandament i les preguntes. Aquest procés pot ser intensiu, en especial si disposes d'una base de dades gran."
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:159
+msgid "When should Metabase automatically scan and cache field values?"
+msgstr "Amb quina periodicitat Metabase ha d'analitzar i desar en memoria els valors dels camps?"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:164
+msgid "Regularly, on a schedule"
+msgstr "Regularment, basat en horari predefinit."
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:195
+msgid "Only when adding a new filter widget"
+msgstr "Únicament quan s'afegeix un nou filtre de widget"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:199
+msgid "When a user adds a new filter to a dashboard or a SQL question, Metabase will\n"
+"scan the field(s) mapped to that filter in order to show the list of selectable values."
+msgstr "Quan un usuari afegeix un nou filtre a un quadre de comandament o una consulta SQL, Metabase analitzarà el(s) camp(s) mapejats al filtre per tal de mostrar la llista de valors seleccionables."
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:210
+msgid "Never, I'll do this manually if I need to"
+msgstr "Mai. Ho faré manualment si ho necessito."
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:222
+#: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:27
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:222
+#: frontend/src/metabase/components/ActionButton.jsx:52
+#: frontend/src/metabase/components/ButtonWithStatus.jsx:8
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:426
+msgid "Saving..."
+msgstr "Desant..."
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:39
+#: frontend/src/metabase/components/form/FormMessage.jsx:4
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:144
+msgid "Server error encountered"
+msgstr "S'ha produït un error al servidor"
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:58
+msgid "Delete this database?"
+msgstr "Eliminar aquesta base de dades?"
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:66
+msgid "All saved questions, metrics, and segments that rely on this database will be lost."
+msgstr "Totes les preguntes, mètriques i segments sobre aquesta base de dades es perdran."
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:67
+msgid "This cannot be undone."
+msgstr "Aquesta acció no es pot desfer."
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:70
+msgid "If you're sure, please type"
+msgstr "Si n'estàs segur, si us plau tecleja"
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:53
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:70
+msgid "DELETE"
+msgstr "Elimar"
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:71
+msgid "in this box:"
+msgstr "en aquest camp:"
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:82
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:50
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:87
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:93
+#: frontend/src/metabase/admin/people/components/AddRow.jsx:27
+#: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:49
+#: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:52
+#: frontend/src/metabase/admin/permissions/containers/CollectionPermissionsModal.jsx:58
+#: frontend/src/metabase/admin/permissions/selectors.js:160
+#: frontend/src/metabase/admin/permissions/selectors.js:170
+#: frontend/src/metabase/admin/permissions/selectors.js:185
+#: frontend/src/metabase/admin/permissions/selectors.js:224
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:355
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:181
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:247
+#: frontend/src/metabase/components/ConfirmContent.jsx:18
+#: frontend/src/metabase/components/DeleteModalWithConfirm.jsx:72
+#: frontend/src/metabase/components/HeaderModal.jsx:49
+#: frontend/src/metabase/components/form/StandardForm.jsx:61
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:196
+#: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:289
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:162
+#: frontend/src/metabase/dashboard/components/RemoveFromDashboardModal.jsx:38
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:189
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:191
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:354
+#: frontend/src/metabase/query_builder/components/RunButton.jsx:24
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:83
+#: frontend/src/metabase/query_builder/containers/ArchiveQuestionModal.jsx:48
+#: frontend/src/metabase/reference/components/EditHeader.jsx:34
+#: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:52
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:259
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:461
+msgid "Cancel"
+msgstr "Cancel·lar"
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:88
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:121
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:132
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:461
+msgid "Delete"
+msgstr "Eliminar"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:128
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:74
+#: frontend/src/metabase/admin/permissions/selectors.js:320
+#: frontend/src/metabase/admin/permissions/selectors.js:327
+#: frontend/src/metabase/admin/permissions/selectors.js:423
+#: frontend/src/metabase/admin/routes.jsx:53
+#: frontend/src/metabase/nav/containers/Navbar.jsx:214
+#: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:18
+#: frontend/src/metabase/reference/databases/TableSidebar.jsx:21
+msgid "Databases"
+msgstr "Bases de dades"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:129
+msgid "Add Database"
+msgstr "Afegir una base de dades"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:60
+msgid "Connection"
+msgstr "Connexió"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:61
+msgid "Scheduling"
+msgstr "Programació"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:170
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:78
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:84
+#: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:26
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:221
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:182
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:356
+#: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:47
+msgid "Save changes"
+msgstr "Desar els canvis"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:185
+#: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:38
+#: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:38
+msgid "Actions"
+msgstr "Accions"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:193
+msgid "Sync database schema now"
+msgstr "Sincronitzar ara l'esquema de la base de dades"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:194
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:206
+#: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:15
+#: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:23
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:109
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:117
+msgid "Starting…"
+msgstr "Iniciant..."
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:195
+msgid "Failed to sync"
+msgstr "Error al sincronitzar"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:196
+msgid "Sync triggered!"
+msgstr "Sincronització programada!"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:205
+msgid "Re-scan field values now"
+msgstr "Torna a analitzar els valors dels camps ara"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:207
+#: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:16
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:110
+msgid "Failed to start scan"
+msgstr "Error a l'iniciar l'anàlisi"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:208
+#: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:17
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:111
+msgid "Scan triggered!"
+msgstr "Sincronització programada!"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:215
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:401
+msgid "Danger Zone"
+msgstr "Zona de perill"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:221
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:224
+msgid "Discard saved field values"
+msgstr "Descartar els valors del camp guardats"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:239
+msgid "Remove this database"
+msgstr "Elimina base de dades"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:73
+msgid "Add database"
+msgstr "Afegeix base de dades"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:85
+#: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:36
+#: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:36
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:122
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:183
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:91
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:399
+#: frontend/src/metabase/containers/EntitySearch.jsx:26
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:218
+#: frontend/src/metabase/entities/collections.js:93
+#: frontend/src/metabase/entities/dashboards.js:145
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:461
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:81
+msgid "Name"
+msgstr "Nom"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:86
+msgid "Engine"
+msgstr "Motor"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:115
+msgid "Deleting..."
+msgstr "Esborrant..."
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:145
+msgid "Loading ..."
+msgstr "Carregant..."
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:161
+msgid "Bring the sample dataset back"
+msgstr "Recuperar la base de dades de prova"
+
+#: frontend/src/metabase/admin/databases/database.js:175
+msgid "Couldn't connect to the database. Please check the connection details."
+msgstr "No s'ha pogut connectar a la base de dades. Si us plau, reviseu els paràmetres de connexió"
+
+#: frontend/src/metabase/admin/databases/database.js:383
+msgid "Successfully created!"
+msgstr "Creat correctament!"
+
+#: frontend/src/metabase/admin/databases/database.js:393
+msgid "Successfully saved!"
+msgstr "Desat correctament!"
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectActionSelect.jsx:44
+#: frontend/src/metabase/dashboard/components/DashCard.jsx:278
+#: frontend/src/metabase/parameters/components/ParameterWidget.jsx:177
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:197
+#: frontend/src/metabase/reference/components/EditButton.jsx:18
+msgid "Edit"
+msgstr "Edita"
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectActionSelect.jsx:59
+msgid "Revision History"
+msgstr "Historial de revisions"
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:33
+msgid "Retire this {0}?"
+msgstr "Retira aquest {0}?"
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:38
+msgid "Saved questions and other things that depend on this {0} will continue to work, but this {1} will no longer be selectable from the query builder."
+msgstr "Les preguntes guardades i les altres coses que depenen d'aquest {0} continuaran funcionant però aquest {1} ja no es podrà seleccionar des del generador de consultes. "
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:39
+msgid "If you're sure you want to retire this {0}, please write a quick explanation of why it's being retired:"
+msgstr "Si esteu segurs de regitar aquest {0}, escriviu una explicació de perquè l'heu retirat:"
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:43
+msgid "This will show up in the activity feed and in an email that will be sent to anyone on your team who created something that uses this {0}."
+msgstr "Això es mostrarà al resum d'activitats  amb un correu electrònic que s'enviarà a qualsevol persona del teu equip que hagi creat quelcom que utilitzi aquest {0}."
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:58
+msgid "Retire"
+msgstr "Retirar"
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:59
+msgid "Retiring…"
+msgstr "Retirant..."
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:60
+msgid "Failed"
+msgstr "Fallit"
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:61
+msgid "Success"
+msgstr "Èxit"
+
+#: frontend/src/metabase/admin/datamodel/components/PartialQueryBuilder.jsx:118
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:110
+msgid "Preview"
+msgstr "Vista prèvia"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnItem.jsx:99
+msgid "No column description yet"
+msgstr "No hi ha una descripció de la columan"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnItem.jsx:135
+msgid "Select a field visibility"
+msgstr "Selecciona la visiblitat del camp"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnItem.jsx:210
+msgid "No special type"
+msgstr "Sense cap tipus especial"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnItem.jsx:211
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:34
+#: frontend/src/metabase/reference/components/Field.jsx:57
+#: frontend/src/metabase/reference/components/FieldTypeDetail.jsx:42
+msgid "Other"
+msgstr "Altres"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnItem.jsx:231
+msgid "Select a special type"
+msgstr "Seleccioneu un tipus especial"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnItem.jsx:277
+msgid "Select a target"
+msgstr "Selecciona una referència"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnsList.jsx:17
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:77
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:89
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:106
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:122
+msgid "Columns"
+msgstr "Columnes"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnsList.jsx:22
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataSchema.jsx:44
+msgid "Column"
+msgstr "Columna"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnsList.jsx:24
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:121
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:306
+msgid "Visibility"
+msgstr "Visibilitat"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnsList.jsx:25
+msgid "Type"
+msgstr "Tipus"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataHeader.jsx:87
+msgid "Current database:"
+msgstr "Base de dades actual"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataHeader.jsx:92
+msgid "Show original schema"
+msgstr "Mostra l'esquema original"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataSchema.jsx:45
+msgid "Data Type"
+msgstr "Tipus de dades"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataSchema.jsx:46
+msgid "Additional Info"
+msgstr "Informació adicional"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataSchemaList.jsx:44
+msgid "Find a schema"
+msgstr "Cerca un esquema"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataSchemaList.jsx:51
+msgid "{0} schema"
+msgid_plural "{0} schemas"
+msgstr[0] "Esquema"
+msgstr[1] "Esquemes"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:82
+msgid "Why Hide?"
+msgstr "Perquè amagar-ho?"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:83
+msgid "Technical Data"
+msgstr "Informació tècnica"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:84
+msgid "Irrelevant/Cruft"
+msgstr "Irrelevant"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:90
+msgid "Queryable"
+msgstr "Consultable"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:91
+msgid "Hidden"
+msgstr "Ocult"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:117
+msgid "No table description yet"
+msgstr "No hi ha cap descripció per la taula"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:124
+msgid "Metadata Strength"
+msgstr "Força metadades"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTableList.jsx:87
+msgid "{0} Queryable Table"
+msgid_plural "{0} Queryable Tables"
+msgstr[0] "{0} taula consultable"
+msgstr[1] "{0} taules consultables"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTableList.jsx:96
+msgid "{0} Hidden Table"
+msgid_plural "{0} Hidden Tables"
+msgstr[0] "{0} taula amagada"
+msgstr[1] "{0} taules amagades"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTableList.jsx:113
+msgid "Find a table"
+msgstr "Troba una taula"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTableList.jsx:126
+msgid "Schemas"
+msgstr "Esquemes"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:24
+#: frontend/src/metabase/new_query/containers/NewQueryOptions.jsx:137
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:33
+#: frontend/src/metabase/reference/guide/BaseSidebar.jsx:27
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:189
+#: frontend/src/metabase/reference/metrics/MetricList.jsx:56
+#: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:21
+#: frontend/src/metabase/routes.jsx:232
+msgid "Metrics"
+msgstr "Mètriques"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:30
+msgid "Add a Metric"
+msgstr "Afegir una mètrica"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:37
+#: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:37
+#: frontend/src/metabase/query_builder/components/QueryDefinitionTooltip.jsx:30
+msgid "Definition"
+msgstr "Definició"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:54
+msgid "Create metrics to add them to the View dropdown in the query builder"
+msgstr "Crea mètriques per afegir-les al desplegable \"Veure\" al generador de consultes"
+
+#: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:24
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:930
+#: frontend/src/metabase/reference/guide/BaseSidebar.jsx:33
+#: frontend/src/metabase/reference/segments/SegmentFieldSidebar.jsx:19
+#: frontend/src/metabase/reference/segments/SegmentList.jsx:56
+#: frontend/src/metabase/reference/segments/SegmentSidebar.jsx:21
+msgid "Segments"
+msgstr "Segments"
+
+#: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:30
+msgid "Add a Segment"
+msgstr "Afegir un segment"
+
+#: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:54
+msgid "Create segments to add them to the Filter dropdown in the query builder"
+msgstr "Crea segments per afegir-los al menú de filtres del generador de consultes"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:24
+msgid "created"
+msgstr "creat"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:27
+msgid "reverted to a previous version"
+msgstr "revertit a una versió anterior"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:33
+msgid "edited the title"
+msgstr "editat el títol"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:35
+msgid "edited the description"
+msgstr "editada la descripció"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:37
+msgid "edited the "
+msgstr "editat el"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:40
+msgid "made some changes"
+msgstr "ha fet alguns canvis"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:46
+#: frontend/src/metabase/home/components/Activity.jsx:80
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:332
+msgid "You"
+msgstr "Tu"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/RevisionHistory.jsx:37
+msgid "Datamodel"
+msgstr "Model de dades"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/RevisionHistory.jsx:43
+msgid " History"
+msgstr " Historial"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/RevisionHistory.jsx:48
+msgid "Revision History for"
+msgstr "Historial de versions per"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:239
+msgid "{0} – Field Settings"
+msgstr "{0} - Configuració dels camps"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:307
+msgid "Where this field will appear throughout Metabase"
+msgstr "On es mostrara aquest camp al Metabase"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:329
+msgid "Filtering on this field"
+msgstr "Filtrant per aquest camp"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:330
+msgid "When this field is used in a filter, what should people use to enter the value they want to filter on?"
+msgstr "Quan aquest camp s'utilitza en un filtre, quins valors ha de poder introduir l'usuari?"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:453
+msgid "No description for this field yet"
+msgstr "No existeix cap descripció per aquest camp"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:379
+msgid "Original value"
+msgstr "Valor Original"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:380
+msgid "Mapped value"
+msgstr "Valor asignat"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:423
+msgid "Enter value"
+msgstr "Introduïu valor"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:25
+msgid "Use original value"
+msgstr "Utilitza valor original"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:26
+msgid "Use foreign key"
+msgstr "Utilitza la clau forànea"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:27
+msgid "Custom mapping"
+msgstr "Assignació personalitzada"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:55
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:155
+msgid "Unrecognized mapping type"
+msgstr "Tipus d'assignació no reconeguda"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:89
+msgid "Current field isn't a foreign key or FK target table metadata is missing"
+msgstr "El camp actual no es una clau forana o fan falten les metadades de la clau forana a la taula de destí"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:187
+msgid "The selected field isn't a foreign key"
+msgstr "El camp seleccionat no es una clau forana"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:347
+msgid "Display values"
+msgstr "Mostra valors"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:348
+msgid "Choose to show the original value from the database, or have this field display associated or custom information."
+msgstr "Escull si vols mostrar el valor original de la base de dades o mostrar informació associada o personalitzada"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:268
+msgid "Choose a field"
+msgstr "Tria un camp"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:289
+msgid "Please select a column to use for display."
+msgstr "Seleccioneu una columna per mosstrar"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:771
+msgid "Tip:"
+msgstr "Consell:"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:433
+msgid "You might want to update the field name to make sure it still makes sense based on your remapping choices."
+msgstr "Es possible que vulgueu actualitzar el nom del camp per assegurar-t'he que encara tinguin sentit en funció de les opcions d'assignació."
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:364
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:102
+msgid "Cached field values"
+msgstr "Valors del camp a la memòria cau"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:365
+msgid "Metabase can scan the values for this field to enable checkbox filters in dashboards and questions."
+msgstr "El metabase pot escanejar els valors d'aquest camp per habilitar els filtres de casella de verificació pels quadres de comandament i preguntes."
+
+#: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:14
+msgid "Re-scan this field"
+msgstr "Torna a escanejar aquest camp"
+
+#: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:22
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:116
+msgid "Discard cached field values"
+msgstr "Descarteu els valors de la memòria cau"
+
+#: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:24
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:118
+msgid "Failed to discard values"
+msgstr "Error al descartar els valors"
+
+#: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:25
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:119
+msgid "Discard triggered!"
+msgstr "Neteja iniciada!"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetadataEditorApp.jsx:105
+msgid "Select any table to see its schema and add or edit metadata."
+msgstr "Seleccioneu qualsevol taula per veure el seu esquema i afegir o editar les metadades."
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:37
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:34
+#: frontend/src/metabase/entities/collections.js:96
+msgid "Name is required"
+msgstr "El nom es obligatori"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:40
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:37
+msgid "Description is required"
+msgstr "La descripció es obligatòria"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:44
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:41
+msgid "Revision message is required"
+msgstr "El missatge de revisió es obligatori"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:50
+msgid "Aggregation is required"
+msgstr "La agrupació es obligatòria"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:110
+msgid "Edit Your Metric"
+msgstr "Edita la teva mètrica"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:111
+msgid "Create Your Metric"
+msgstr "Crea la teva mètrica"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:115
+msgid "Make changes to your metric and leave an explanatory note."
+msgstr "Feu canvis a la vostra mètrica i deixeu un nota explicativa"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:116
+msgid "You can create saved metrics to add a named metric option to this table. Saved metrics include the aggregation type, the aggregated field, and optionally any filter you add. As an example, you might use this to create something like the official way of calculating \"Average Price\" for an Orders table."
+msgstr "Pots crear mètriques i guardar-les com un camp calculat en aquesta taula. Les mètriques guardades inclouen el tipus d'agregat, el camp agregat i opcionalment qualsevol filtre que afegeixis. Per exemple, pots fer servir això per definir la forma oficial de calcular el \"Preu mig\" d'una taula de preus."
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:149
+msgid "Result: "
+msgstr "Resultat: "
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:157
+msgid "Name Your Metric"
+msgstr "Doneu-li un nom a la vostra mètrica"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:158
+msgid "Give your metric a name to help others find it."
+msgstr "Doneu-li un nom a la vostra mètrica per ajudar als altres a trobar-la."
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:162
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:166
+msgid "Something descriptive but not too long"
+msgstr "Alguna cosa descriptiva però no massa llarga"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:166
+msgid "Describe Your Metric"
+msgstr "Descriu la mètrica"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:167
+msgid "Give your metric a description to help others understand what it's about."
+msgstr "Doneu-li una descripció a la vostra mètrica per ajudar als altres a entendre de el seu contingut."
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:171
+msgid "This is a good place to be more specific about less obvious metric rules"
+msgstr "Es un bon lloc per ser més específiques sobre les regles de la mètrica no tan evidents. "
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:175
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:179
+msgid "Reason For Changes"
+msgstr "Motiu dels canvis"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:177
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:181
+msgid "Leave a note to explain what changes you made and why they were required."
+msgstr "Deixeu una nota per explicar els canvis que heu fet i per a que són necessaris."
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:181
+msgid "This will show up in the revision history for this metric to help everyone remember why things changed"
+msgstr "Es mostrarà al historial de revisions de la mètrica per ajudar als altres a entendre perquè han canviat les coses."
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:49
+msgid "At least one filter is required"
+msgstr "Es requereix com a mínim un filtre"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:116
+msgid "Edit Your Segment"
+msgstr "Edita el teu segment"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:117
+msgid "Create Your Segment"
+msgstr "Crear el teu segment"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:121
+msgid "Make changes to your segment and leave an explanatory note."
+msgstr "Feu canvis al vostre segment i deixeu un nota explicativa"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:122
+msgid "Select and add filters to create your new segment for the {0} table"
+msgstr "Seleccioneu i afegiu filtres per crear un nou segment de la taula {0}"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:161
+msgid "Name Your Segment"
+msgstr "Doneu-li un nom al vostre segment"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:162
+msgid "Give your segment a name to help others find it."
+msgstr "Doneu un nom al vostre segment per ajudar als altres a trobar-lo."
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:170
+msgid "Describe Your Segment"
+msgstr "Descriu el segment"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:171
+msgid "Give your segment a description to help others understand what it's about."
+msgstr "Doneu una descripció al vostre segment per ajudar als altres a saber de que va."
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:175
+msgid "This is a good place to be more specific about less obvious segment rules"
+msgstr "Aquest es un bon lloc per ser més específics sobre les regles menys obvies del segment"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:185
+msgid "This will show up in the revision history for this segment to help everyone remember why things changed"
+msgstr "Això apareixerà al historial de versions d'aquest segment per ajudar a tothom a recordar perquè es va realitzar aquest canvi."
+
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:88
+#: frontend/src/metabase/admin/routes.jsx:127
+#: frontend/src/metabase/admin/settings/containers/SettingsEditorApp.jsx:266
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:87
+#: frontend/src/metabase/nav/containers/Navbar.jsx:199
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorSidebar.jsx:99
+msgid "Settings"
+msgstr "Configuració"
+
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:103
+msgid "Metabase can scan the values in this table to enable checkbox filters in dashboards and questions."
+msgstr "El Metabase pot llegir els valors d'aquesta taula per habilitar filtres de caselles de selecció als quadres de comandament i preguntes"
+
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:108
+msgid "Re-scan this table"
+msgstr "Tornar a escanejar aquesta taula"
+
+#: frontend/src/metabase/admin/people/components/AddRow.jsx:34
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:253
+#: frontend/src/metabase/dashboard/components/DashCard.jsx:278
+msgid "Add"
+msgstr "Afegir"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:103
+#: frontend/src/metabase/user/components/UpdateUserDetails.jsx:67
+msgid "Not a valid formatted email address"
+msgstr "El format del correu electrònic no es vàlid"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:186
+#: frontend/src/metabase/user/components/UpdateUserDetails.jsx:100
+msgid "First name"
+msgstr "Nom"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:203
+#: frontend/src/metabase/user/components/UpdateUserDetails.jsx:117
+msgid "Last name"
+msgstr "Cognom"
+
+#: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:77
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:158
+#: frontend/src/metabase/components/NewsletterForm.jsx:94
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:470
+#: frontend/src/metabase/setup/components/UserStep.jsx:222
+#: frontend/src/metabase/user/components/UpdateUserDetails.jsx:138
+msgid "Email address"
+msgstr "Correu electrònic"
+
+#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:202
+msgid "Permission Groups"
+msgstr "Grups de permisos"
+
+#: frontend/src/metabase/components/form/widgets/FormGroupsWidget.jsx:75
+msgid "Make this user an admin"
+msgstr "Feu que aquest usuari sigui administrador"
+
+#: frontend/src/metabase/admin/people/components/GroupDetail.jsx:32
+msgid "All users belong to the {0} group and can't be removed from it. Setting permissions for this group is a great way to\n"
+"make sure you know what new Metabase users will be able to see."
+msgstr "Tots els usuaris pertanyen al grup \"{0}\" i no s'hi poden eliminar. Establir permisos per aquest grup es una manera excel·lent per assegurar-vos de que podran veure els nous usuaris del Metabase"
+
+#: frontend/src/metabase/admin/people/components/GroupDetail.jsx:41
+msgid "This is a special group whose members can see everything in the Metabase instance, and who can access and make changes to the\n"
+"settings in the Admin Panel, including changing permissions! So, add people to this group with care."
+msgstr "Aquest es un grup especial els membres del qual poden veure tota la informació de la instància del Metabase, poden accedir i fer modificacions a la configuració del Panell d'administració, incloïen els permisos d'accés. Afegiu persones amb cautela."
+
+#: frontend/src/metabase/admin/people/components/GroupDetail.jsx:45
+msgid "To make sure you don't get locked out of Metabase, there always has to be at least one user in this group."
+msgstr "Per assegurar que sempre pots accedir al Metabase hi ha d'haver com a mínim un usuari en aquest grup"
+
+#: frontend/src/metabase/admin/people/components/GroupDetail.jsx:177
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:218
+msgid "Members"
+msgstr "Membres"
+
+#: frontend/src/metabase/admin/people/components/GroupDetail.jsx:177
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:124
+#: frontend/src/metabase/admin/settings/selectors.js:113
+#: frontend/src/metabase/lib/core.js:55
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:301
+msgid "Email"
+msgstr "Correu electrònic"
+
+#: frontend/src/metabase/admin/people/components/GroupDetail.jsx:203
+msgid "A group is only as good as its members."
+msgstr "Un grop només val el que valen els seus membres"
+
+#: frontend/src/metabase/admin/people/components/GroupSummary.jsx:15
+#: frontend/src/metabase/admin/routes.jsx:48
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:49
+msgid "Admin"
+msgstr "Administrador"
+
+#: frontend/src/metabase/admin/people/components/GroupSummary.jsx:16
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:237
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:290
+msgid "and"
+msgstr "i"
+
+#: frontend/src/metabase/admin/people/components/GroupSummary.jsx:19
+#: frontend/src/metabase/admin/people/components/GroupSummary.jsx:31
+msgid "{0} other group"
+msgid_plural "{0} other groups"
+msgstr[0] "[0] altre grup"
+msgstr[1] "[0] altres grups"
+
+#: frontend/src/metabase/admin/people/components/GroupSummary.jsx:37
+msgid "Default"
+msgstr "Per defecte"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:39
+msgid "Something like \"Marketing\""
+msgstr "Quelcom com \"Marketing\""
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:58
+msgid "Remove this group?"
+msgstr "Eliminar aquest grup?"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:60
+msgid "Are you sure? All members of this group will lose any permissions settings they have based on this group.\n"
+"This can't be undone."
+msgstr "Esteu segurs? Tots els membres d'aquest grup perdran les configuracions de permisos que tenen gràcies a aquest grup. Això no es pot desfer."
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:71
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:42
+#: frontend/src/metabase/components/ConfirmContent.jsx:17
+msgid "Yes"
+msgstr "Si"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:74
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:42
+msgid "No"
+msgstr "No"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:92
+msgid "Edit Name"
+msgstr "Edita el nom"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:95
+msgid "Remove Group"
+msgstr "Elimina el grup"
+
+#: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:46
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:138
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:42
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:41
+#: frontend/src/metabase/components/HeaderModal.jsx:43
+#: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:282
+#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:107
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:327
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:193
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:96
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:265
+msgid "Done"
+msgstr "Fet"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:218
+msgid "Group name"
+msgstr "Nom del grup"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:363
+#: frontend/src/metabase/admin/people/containers/AdminPeopleApp.jsx:25
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:131
+#: frontend/src/metabase/admin/routes.jsx:88
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:154
+msgid "Groups"
+msgstr "Groups"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:364
+msgid "Create a group"
+msgstr "Crea un grup"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:370
+msgid "You can use groups to control your users' access to your data. Put users in groups and then go to the Permissions section to control each group's access. The Administrators and All Users groups are special default groups that can't be removed."
+msgstr "El grups es poden utilitzar per controlar el accés dels teus usuaris a les dades. Afegeix usuaris als grups i desprès ves a la secció de Permisos per controlar el accés de cada grup. Els grups Administradors i Tots els usuaris son grups especials que no es poden eliminar."
+
+#: frontend/src/metabase/admin/people/components/UserActionsSelect.jsx:79
+msgid "Edit Details"
+msgstr "Edita els detalls"
+
+#: frontend/src/metabase/admin/people/components/UserActionsSelect.jsx:85
+msgid "Re-send Invite"
+msgstr "Re-envia la invitació"
+
+#: frontend/src/metabase/admin/people/components/UserActionsSelect.jsx:90
+msgid "Reset Password"
+msgstr "Restablir la contrasenya"
+
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:40
+msgid "Deactivate"
+msgstr "Desactiva"
+
+#: frontend/src/metabase/admin/people/containers/AdminPeopleApp.jsx:24
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:93
+#: frontend/src/metabase/admin/routes.jsx:84
+#: frontend/src/metabase/nav/containers/Navbar.jsx:204
+msgid "People"
+msgstr "Gent"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:192
+msgid "Who do you want to add?"
+msgstr "A qui voleu afegir?"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:207
+msgid "Edit {0}'s details"
+msgstr "Editeu els detalls del {0}"
+
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:40
+msgid "{0} has been added"
+msgstr "S'ha afegit el {0}"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:224
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:262
+msgid "Add another person"
+msgstr "Afegiu una altra persona"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:231
+msgid "We couldn’t send them an email invitation,\n"
+"so make sure to tell them to log in using {0}\n"
+"and this password we’ve generated for them:"
+msgstr "No em pogut enviar-li una invitació, assegureu-vos de dir-li que es pot identificar amb l'usuari {0} i la següent contrasenya que em generat per ell:"
+
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:73
+msgid "If you want to be able to send email invites, just go to the {0} page."
+msgstr "Si voleu enviar correu electrònics d'invitació, aneu a la pàgina {0}."
+
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:55
+msgid "We’ve sent an invite to {0} with instructions to set their password."
+msgstr "Hem enviat una invitació a {0} amb les instruccions per establir la seva contrasenya."
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:283
+msgid "We've re-sent {0}'s invite"
+msgstr "Hem reenviat la invitació del {0}"
+
+#: frontend/src/metabase/query_builder/components/SavedQuestionIntroModal.jsx:22
+#: frontend/src/metabase/tutorial/Tutorial.jsx:253
+msgid "Okay"
+msgstr "D'accord"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:289
+msgid "Any previous email invites they have will no longer work."
+msgstr "Qualsevol invitació de correu electrònic que s'hagi enviat amb anterioritat ja no funcionarà."
+
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:31
+msgid "Deactivate {0}?"
+msgstr "Desactivar {0}?"
+
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:34
+msgid "{0} won't be able to log in anymore."
+msgstr "L'usuari {0} ja no podrà iniciar sessió."
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:320
+msgid "Reactivate {0}'s account?"
+msgstr "Reactivar el compte del {0}?"
+
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:58
+msgid "Reactivate"
+msgstr "Reactivar"
+
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:51
+msgid "They'll be able to log in again, and they'll be placed back into the groups they were in before their account was deactivated."
+msgstr "Podran tornar a iniciar sessió i se'ls tornarà a col·locar als grups als que estaven abans de desactivar la seva compta."
+
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:51
+msgid "Reset {0}'s password?"
+msgstr "Restablir la contrasenya del {0}?"
+
+#: frontend/src/metabase/components/form/StandardForm.jsx:77
+msgid "Reset"
+msgstr "Restableix"
+
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:54
+#: frontend/src/metabase/components/ConfirmContent.jsx:13
+#: frontend/src/metabase/dashboard/components/ArchiveDashboardModal.jsx:44
+msgid "Are you sure you want to do this?"
+msgstr "Esteu segur que voleu realitzar aquesta acció?"
+
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:41
+msgid "{0}'s password has been reset"
+msgstr "La contrasenya del {0} s'ha restablert."
+
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:45
+msgid "Here’s a temporary password they can use to log in and then change their password."
+msgstr "A continuació podeu trobar una contrasenya temporal que poden fer servir per iniciar sessió i desprès canviar la seva contrasenya."
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:388
+msgid "We've sent them an email with instructions for creating a new password."
+msgstr "Els hi hem enviat un correu electrònic amb instruccions per crear una nova contrasenya."
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:101
+msgid "Active"
+msgstr "Activar"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:102
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:127
+msgid "Deactivated"
+msgstr "Desactivat"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:115
+msgid "Add someone"
+msgstr "Afegir algú"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:132
+msgid "Last Login"
+msgstr "Últim accés"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:153
+msgid "Signed up via Google"
+msgstr "Accés a mitjançant de Google"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:158
+msgid "Signed up via LDAP"
+msgstr "Accés a mitjançant de LDAP"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:170
+msgid "Reactivate this account"
+msgstr "Reactivar aquest compte"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:193
+msgid "Never"
+msgstr "Mai"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:27
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} table"
+msgid_plural "{0} tables"
+msgstr[0] "{0} taula"
+msgstr[1] "{0} taules"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:45
+msgid " will be "
+msgstr " será "
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:48
+msgid "given access to"
+msgstr "s'ha donat accès a"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:53
+msgid " and "
+msgstr " i "
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:56
+msgid "denied access to"
+msgstr "denegat l'accés a"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:70
+msgid " will no longer be able to "
+msgstr "j a no podrà "
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:71
+msgid " will now be able to "
+msgstr " ara serà capaç de "
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:79
+msgid " native queries for "
+msgstr " consultes natives de "
+
+#: frontend/src/metabase/admin/permissions/routes.jsx:12
+#: frontend/src/metabase/nav/containers/Navbar.jsx:219
+msgid "Permissions"
+msgstr "Permisos"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:32
+msgid "Save permissions?"
+msgstr "Guardar els permisos?"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:38
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:161
+msgid "Save Changes"
+msgstr "Guarda els canvis"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:44
+msgid "Discard changes?"
+msgstr "Descartar els canvir?"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:46
+msgid "No changes to permissions will be made."
+msgstr "No es faran canvis als permisos."
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:65
+msgid "You've made changes to permissions."
+msgstr "Heu fet canvis als permisos."
+
+#: frontend/src/metabase/admin/permissions/containers/CollectionPermissionsModal.jsx:52
+msgid "Permissions for this collection"
+msgstr "Permisos d'aquest col·lecció"
+
+#: frontend/src/metabase/admin/permissions/containers/PermissionsApp.jsx:53
+msgid "You have unsaved changes"
+msgstr "Teniu canvis sense guardar"
+
+#: frontend/src/metabase/admin/permissions/containers/PermissionsApp.jsx:54
+msgid "Do you want to leave this page and discard your changes?"
+msgstr "Esteu segurs d'abandonar la pàgina i descartar els vostres canvis?"
+
+#: frontend/src/metabase/admin/permissions/permissions.js:126
+msgid "Sorry, an error occurred."
+msgstr "Disculpeu, s'ha produït un error"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:65
+msgid "Administrators always have the highest level of access to everything in Metabase."
+msgstr "Els administradors sempre tenen el màxim nivell d'accés al Metabase"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:67
+msgid "Every Metabase user belongs to the All Users group. If you want to limit or restrict a group's access to something, make sure the All Users group has an equal or lower level of access."
+msgstr "Tots els usuaris del Metabase pertanyen al grup Tots els Usuaris. Si vols limitar o restringir l'accés a algun objecte assegurat que el grup Tots els usuaris té un nivell d'accés igual o inferior"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:69
+msgid "MetaBot is Metabase's Slack bot. You can choose what it has access to here."
+msgstr "El Metabot es el bot de Slack de Metabase. Aquí pots elegir a que te accés."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:119
+msgid "The \"{0}\" group may have access to a different set of {1} than this group, which may give this group additional access to some {2}."
+msgstr "El grup \"{0}\" pot tenir accés a un conjunt diferent de {1} que aquest grup, lo que pot donar-li accés addicional a algun {2}"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:124
+msgid "The \"{0}\" group has a higher level of access than this, which will override this setting. You should limit or revoke the \"{1}\" group's access to this item."
+msgstr "El grup \"{0}\" té un major nivell d'accés que aquest cosa que anul·larà aquesta configuració. Has de limitar o revocar el accés del grup \"{1}\" a aquest element."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:154
+msgid "Limit"
+msgstr "Límit"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:154
+msgid "Revoke"
+msgstr "Revocar"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:156
+msgid "access even though \"{0}\" has greater access?"
+msgstr "el accés encara que el grup \"{0}\" té major accés?"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:159
+#: frontend/src/metabase/admin/permissions/selectors.js:258
+msgid "Limit access"
+msgstr "Limitar accés"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:159
+#: frontend/src/metabase/admin/permissions/selectors.js:223
+#: frontend/src/metabase/admin/permissions/selectors.js:266
+msgid "Revoke access"
+msgstr "Revocar el acces"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:168
+msgid "Change access to this database to limited?"
+msgstr "Canviar l'accés a aquesta base de dades a limitat?"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:169
+msgid "Change"
+msgstr "Canvi"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:182
+msgid "Allow Raw Query Writing?"
+msgstr "Permetre l'escriptura de consultes directes?"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:183
+msgid "This will also change this group's data access to Unrestricted for this database."
+msgstr "Això també canviarà l'accés d'aquest grup a les dades \"Sense restriccions\" per aquesta base de dades."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:184
+msgid "Allow"
+msgstr "Permetre"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:221
+msgid "Revoke access to all tables?"
+msgstr "Revocar l'accés a totes les taules?"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:222
+msgid "This will also revoke this group's access to raw queries for this database."
+msgstr "Això també revocarà l'accés d'aquest grup a les consultes en pla per aquesta  base de dades."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:251
+msgid "Grant unrestricted access"
+msgstr "Concedir accés sense restriccions"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:252
+msgid "Unrestricted access"
+msgstr "Accés sense restriccions"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:259
+msgid "Limited access"
+msgstr "Accés limitat"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:267
+msgid "No access"
+msgstr "Sense accés"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:273
+msgid "Write raw queries"
+msgstr "Escriure consultes directes"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:274
+msgid "Can write raw queries"
+msgstr "Pot escriure consultes directes"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:281
+msgid "Curate collection"
+msgstr "Mima la col·lecció"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:288
+msgid "View collection"
+msgstr "Mostrar la col·lecció"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:331
+#: frontend/src/metabase/admin/permissions/selectors.js:427
+#: frontend/src/metabase/admin/permissions/selectors.js:524
+msgid "Data Access"
+msgstr "Accedir a les dades"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:492
+#: frontend/src/metabase/admin/permissions/selectors.js:649
+#: frontend/src/metabase/admin/permissions/selectors.js:654
+msgid "View tables"
+msgstr "Mostrar taules"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:590
+msgid "SQL Queries"
+msgstr "Consultes SQL"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:660
+msgid "View schemas"
+msgstr "Mostrar esquemes"
+
+#: frontend/src/metabase/admin/routes.jsx:59
+#: frontend/src/metabase/nav/containers/Navbar.jsx:209
+msgid "Data Model"
+msgstr "Model de dades"
+
+#: frontend/src/metabase/admin/settings/components/SettingsAuthenticationOptions.jsx:11
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:118
+msgid "Sign in with Google"
+msgstr "Identificar-se amb Google"
+
+#: frontend/src/metabase/admin/settings/components/SettingsAuthenticationOptions.jsx:13
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:120
+msgid "Allows users with existing Metabase accounts to login with a Google account that matches their email address in addition to their Metabase username and password."
+msgstr "Permet als usuaris amb una compta de Metabase existent iniciar sessió amb un compte de Google que coincideixi amb la seva direcció de correu electrònic a més de poder accedir amb el seu nom d'usuari i contrasenya."
+
+#: frontend/src/metabase/admin/settings/components/SettingsAuthenticationOptions.jsx:17
+#: frontend/src/metabase/admin/settings/components/SettingsAuthenticationOptions.jsx:29
+#: frontend/src/metabase/components/ChannelSetupMessage.jsx:32
+msgid "Configure"
+msgstr "Configura"
+
+#: frontend/src/metabase/admin/settings/components/SettingsAuthenticationOptions.jsx:23
+#: frontend/src/metabase/admin/settings/components/SettingsLdapForm.jsx:13
+#: frontend/src/metabase/admin/settings/selectors.js:207
+msgid "LDAP"
+msgstr "LDAP"
+
+#: frontend/src/metabase/admin/settings/components/SettingsAuthenticationOptions.jsx:25
+msgid "Allows users within your LDAP directory to log in to Metabase with their LDAP credentials, and allows automatic mapping of LDAP groups to Metabase groups."
+msgstr "Permet als usuaris del teu directori LDAP iniciar sessió a Metabase amb les seves credencials LDAP i permet la assignació automàtica de grups LDAP a grups de metabase."
+
+#: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:17
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:69
+#: frontend/src/metabase/admin/settings/selectors.js:160
+msgid "That's not a valid email address"
+msgstr "No es un correu electrònic vàlid"
+
+#: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:21
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:73
+msgid "That's not a valid integer"
+msgstr "No és una enter vàlid"
+
+#: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:28
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:161
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:223
+msgid "Changes saved!"
+msgstr "Canvis desats!"
+
+#: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:157
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:132
+msgid "Looks like we ran into some problems"
+msgstr "Sembla que s'ha produït un error"
+
+#: frontend/src/metabase/admin/settings/components/SettingsEmailForm.jsx:12
+msgid "Send test email"
+msgstr "Envia email de test"
+
+#: frontend/src/metabase/admin/settings/components/SettingsEmailForm.jsx:13
+msgid "Sending..."
+msgstr "Enviant..."
+
+#: frontend/src/metabase/admin/settings/components/SettingsEmailForm.jsx:14
+msgid "Sent!"
+msgstr "Enviat!"
+
+#: frontend/src/metabase/admin/settings/components/SettingsEmailForm.jsx:82
+msgid "Clear"
+msgstr "Netejar"
+
+#: frontend/src/metabase/admin/settings/components/SettingsLdapForm.jsx:12
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:113
+#: frontend/src/metabase/admin/settings/selectors.js:202
+msgid "Authentication"
+msgstr "Autentificació"
+
+#: frontend/src/metabase/admin/settings/components/SettingsLdapForm.jsx:18
+msgid "Server Settings"
+msgstr "Configuració del servidor"
+
+#: frontend/src/metabase/admin/settings/components/SettingsLdapForm.jsx:29
+msgid "User Schema"
+msgstr "Esquema d'usuaris"
+
+#: frontend/src/metabase/admin/settings/components/SettingsLdapForm.jsx:33
+msgid "Attributes"
+msgstr "Atributs"
+
+#: frontend/src/metabase/admin/settings/components/SettingsLdapForm.jsx:42
+msgid "Group Schema"
+msgstr "Esquema de grups"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSetting.jsx:28
+msgid "Using "
+msgstr "Utilitzant "
+
+#: frontend/src/metabase/admin/settings/components/SettingsSetupList.jsx:105
+msgid "Getting set up"
+msgstr "Preparant configuració"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSetupList.jsx:106
+msgid "A few things you can do to get the most out of Metabase."
+msgstr "Algunes coses que podeu fer per treure el millor profit de Metabase"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSetupList.jsx:115
+msgid "Recommended next step"
+msgstr "Següent pas recomanat"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:114
+msgid "Google Sign-In"
+msgstr "Login de Google"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:123
+msgid "To allow users to sign in with Google you'll need to give Metabase a Google Developers console application client ID. It only takes a few steps and instructions on how to create a key can be found {0}"
+msgstr "Per permetre que els usuaris iniciïn sessió amb Google has de proporcionar al Metabase un ID d'aplicació de client de la consola de desenvolupadors de Google.  Només es necessiten alguns passos i es poden trobar les instruccions de com crear una clau a {0}"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:137
+msgid "Your Google client ID"
+msgstr "El teu ID de client de Google"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:142
+msgid "Allow users to sign up on their own if their Google account email address is from:"
+msgstr "Permet que els usuaris es registrin per ells mateixos si la seva de compta de Google es de:"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:242
+msgid "Answers sent right to your Slack #channels"
+msgstr "Respostes enviades directament als teus #canals de Slack"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:251
+msgid "Create a Slack Bot User for MetaBot"
+msgstr "Crea un usuari de Slack BOt pel Metabot"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:261
+msgid "Once you're there, give it a name and click {0}. Then copy and paste the Bot API Token into the field below. Once you are done, create a \"metabase_files\" channel in Slack. Metabase needs this to upload graphs."
+msgstr "Una cop arribats allí, assigna-li un nom i clica a {0}. Desprès copia i pega el token de la API del Bot al camp a continuació. Quan hagis acabat, crea un canal \"metabase_files\" en Slack. Aquest canal es necessita per pujar gràfiques."
+
+#: frontend/src/metabase/admin/settings/components/SettingsUpdatesForm.jsx:90
+msgid "You're running Metabase {0} which is the latest and greatest!"
+msgstr "Esteu fent servir el Metabase {0} que es la última i millor versió"
+
+#: frontend/src/metabase/admin/settings/components/SettingsUpdatesForm.jsx:99
+msgid "Metabase {0} is available.  You're running {1}"
+msgstr "La versió {0} de Metabase esta disponible. Esteu fent servir la versió {1}"
+
+#: frontend/src/metabase/admin/settings/components/SettingsUpdatesForm.jsx:112
+#: frontend/src/metabase/components/form/StandardForm.jsx:69
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:96
+msgid "Update"
+msgstr "Actualitzat"
+
+#: frontend/src/metabase/admin/settings/components/SettingsUpdatesForm.jsx:116
+msgid "What's Changed:"
+msgstr "Que ha cambiat?"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:131
+msgid "Add a map"
+msgstr "Afegiu un mapa"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:184
+#: frontend/src/metabase/lib/core.js:105
+msgid "URL"
+msgstr "URL"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:199
+msgid "Delete custom map"
+msgstr "Elimina el mapa personalitzat"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:201
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:327
+#: frontend/src/metabase/dashboard/components/RemoveFromDashboardModal.jsx:40
+#: frontend/src/metabase/parameters/components/ParameterWidget.jsx:181
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:104
+msgid "Remove"
+msgstr "Elimina"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:226
+#: frontend/src/metabase/dashboard/containers/DashCardCardParameterMapper.jsx:187
+#: frontend/src/metabase/parameters/components/ParameterValueWidget.jsx:241
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:145
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:187
+msgid "Select…"
+msgstr "Selecciona..."
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:241
+msgid "Sample values:"
+msgstr "Valors de mostra:"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:279
+msgid "Add a new map"
+msgstr "Afegiu un nou mapa"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:279
+msgid "Edit map"
+msgstr "Edita el mapa"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:280
+msgid "What do you want to call this map?"
+msgstr "Com voleu anomenar aquest mapa?"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:285
+msgid "e.g. United Kingdom, Brazil, Mars"
+msgstr "p.e: Regne Unit, Brasil, Marg"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:292
+msgid "URL for the GeoJSON file you want to use"
+msgstr "URL del fitxer GeoJSON que voleu utilitzar"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:298
+msgid "Like https://my-mb-server.com/maps/my-map.json"
+msgstr "Per exemple https://el-meu-servidor.com/mapes/el-meu-mapa.json"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:309
+#: frontend/src/metabase/query_builder/components/RunButton.jsx:33
+msgid "Refresh"
+msgstr "Refresca"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:309
+msgid "Load"
+msgstr "Carrega"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:315
+msgid "Which property specifies the region’s identifier?"
+msgstr "Quina propietat especifica el identificador de la regió?"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:324
+msgid "Which property specifies the region’s display name?"
+msgstr "Quina propietat especifica el nom de la regió?"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:345
+msgid "Load a GeoJSON file to see a preview"
+msgstr "Carregeu un fitxer GeoJSOn per veure una mostra"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:363
+msgid "Save map"
+msgstr "Guarda el mapa"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:363
+msgid "Add map"
+msgstr "Afegeix un mapa"
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLegalese.jsx:7
+msgid "Using embedding"
+msgstr "Utilitzant el incrustat"
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLegalese.jsx:9
+msgid "By enabling embedding you're agreeing to the embedding license located at"
+msgstr "Al habilitar el incrustat acceptes la llicència de incrustat que es troba a"
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLegalese.jsx:19
+msgid "In plain English, when you embed charts or dashboards from Metabase in your own application, that application isn't subject to the Affero General Public License that covers the rest of Metabase, provided you keep the Metabase logo and the \"Powered by Metabase\" visible on those embeds. You should, however, read the license text linked above as that is the actual license that you will be agreeing to by enabling this feature."
+msgstr "Amb llenguatge senzill, quan incrustes taules o quadres de comandament del Metabase a la teva pròpia aplicació aquesta aplicació no està subjecte a la llicència AGPL que cobreix la resta del Metabase sempre hi quan que mantenguis el logotips de Metbase y el \"Powered by Metabase\" visible a les incrustacions. No obstant això, has de llegir el text de la llicència ja que l'acabes d'acceptar al habilitar aquesta funcionalitat."
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLegalese.jsx:32
+msgid "Enable"
+msgstr "Habilita"
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLevel.jsx:24
+msgid "Premium embedding enabled"
+msgstr "Incrustat premium habilitat"
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLevel.jsx:26
+msgid "Enter the token you bought from the Metabase Store"
+msgstr "Introdueix"
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLevel.jsx:53
+msgid "Premium embedding lets you disable \"Powered by Metabase\" on your embedded dashboards and questions."
+msgstr "La incrustació premium et permet desactivar el \"Powered by Metabase\" en els teus quadres de comandament i preguntes incrustades"
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLevel.jsx:60
+msgid "Buy a token"
+msgstr "Compra un token"
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLevel.jsx:63
+msgid "Enter a token"
+msgstr "Afegiu un token"
+
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:134
+msgid "Edit Mappings"
+msgstr "Editar assignacions"
+
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:140
+msgid "Group Mappings"
+msgstr "Assignacions de grups"
+
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:147
+msgid "Create a mapping"
+msgstr "Crea un assignació"
+
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:149
+msgid "Mappings allow Metabase to automatically add and remove users from groups based on the membership information provided by the\n"
+"directory server. Membership to the Admin group can be granted through mappings, but will not be automatically removed as a\n"
+"failsafe measure."
+msgstr "Les assignacions permeten que el Metabase agregui o elimini automàticament usuaris dels grups segons la informació de la pertinència proporcionada pel servidor de directoris. La pertinència al grup de administració es pot concedir automàticament a través d'assignacions per no s'eliminarà automàticament com una mesura de seguretat. "
+
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:154
+msgid "Distinguished Name"
+msgstr "Nom distingit"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:92
+msgid "Public Link"
+msgstr "Enllaç públic"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:93
+msgid "Revoke Link"
+msgstr "Eliminar el enllaç"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:121
+msgid "Disable this link?"
+msgstr "Desactivar aquest enllaç?"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:122
+msgid "They won't work anymore, and can't be restored, but you can create new links."
+msgstr "Els enllaços ja no funcionaran i no es poden restaurar. No obstant això podeu crear nous enllaços."
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:149
+msgid "Public Dashboard Listing"
+msgstr "Llista de quadre de comandament públics"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:152
+msgid "No dashboards have been publicly shared yet."
+msgstr "Encara no s'ha compartit cap quadre de comandament de forma pública."
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:160
+msgid "Public Card Listing"
+msgstr "Llista de targetes públiques"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:163
+msgid "No questions have been publicly shared yet."
+msgstr "Encara no s'ha pregunta cap quadre de comandament de forma pública."
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:172
+msgid "Embedded Dashboard Listing"
+msgstr "Llista de quadres de comandament incrustats"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:173
+msgid "No dashboards have been embedded yet."
+msgstr "Encara no s'ha incrustat cap quadre de comandament."
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:183
+msgid "Embedded Card Listing"
+msgstr "Llistat de targetes incrustades"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:184
+msgid "No questions have been embedded yet."
+msgstr "Encara no s'ha incrustat cap pregunta."
+
+#: frontend/src/metabase/admin/settings/components/widgets/SecretKeyWidget.jsx:35
+msgid "Regenerate embedding key?"
+msgstr "Regenerar la clau de incrustació?"
+
+#: frontend/src/metabase/admin/settings/components/widgets/SecretKeyWidget.jsx:36
+msgid "This will cause existing embeds to stop working until they are updated with the new key."
+msgstr "Això provocarà que les incrustacions existents deixin de funcionar fins que no s'actualitzi la nova clau"
+
+#: frontend/src/metabase/admin/settings/components/widgets/SecretKeyWidget.jsx:39
+msgid "Regenerate key"
+msgstr "Regenerar la clau"
+
+#: frontend/src/metabase/admin/settings/components/widgets/SecretKeyWidget.jsx:47
+msgid "Generate Key"
+msgstr "Genera la clau"
+
+#: frontend/src/metabase/admin/settings/components/widgets/SettingToggle.jsx:11
+#: frontend/src/metabase/admin/settings/selectors.js:78
+#: frontend/src/metabase/admin/settings/selectors.js:87
+msgid "Enabled"
+msgstr "Activat"
+
+#: frontend/src/metabase/admin/settings/components/widgets/SettingToggle.jsx:11
+#: frontend/src/metabase/admin/settings/selectors.js:83
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:103
+msgid "Disabled"
+msgstr "Desactivat"
+
+#: frontend/src/metabase/admin/settings/containers/SettingsEditorApp.jsx:116
+msgid "Unknown setting {0}"
+msgstr "No es coneix la configuració {0}"
+
+#: frontend/src/metabase/admin/settings/selectors.js:23
+msgid "Setup"
+msgstr "Configuració"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:217
+#: frontend/src/metabase/admin/settings/selectors.js:28
+msgid "General"
+msgstr "General"
+
+#: frontend/src/metabase/admin/settings/selectors.js:33
+msgid "Site Name"
+msgstr "Nom del lloc"
+
+#: frontend/src/metabase/admin/settings/selectors.js:38
+msgid "Site URL"
+msgstr "URL de lloc"
+
+#: frontend/src/metabase/admin/settings/selectors.js:43
+msgid "Email Address for Help Requests"
+msgstr "Direcció de correu electrònic per sol·licituds d'ajuda"
+
+#: frontend/src/metabase/admin/settings/selectors.js:48
+msgid "Report Timezone"
+msgstr "La zona horària dels informes"
+
+#: frontend/src/metabase/admin/settings/selectors.js:51
+msgid "Database Default"
+msgstr "La base de dades"
+
+#: frontend/src/metabase/admin/settings/selectors.js:54
+msgid "Select a timezone"
+msgstr "Selecciona una zona horària"
+
+#: frontend/src/metabase/admin/settings/selectors.js:55
+msgid "Not all databases support timezones, in which case this setting won't take effect."
+msgstr "No totes les bases de dades permeten zones horàries. En aquest cas aquesta configuració no tindrà efecte."
+
+#: frontend/src/metabase/admin/settings/selectors.js:60
+msgid "Language"
+msgstr "Idioma"
+
+#: frontend/src/metabase/admin/settings/selectors.js:65
+msgid "Select a language"
+msgstr "Seleccioneu un idioma"
+
+#: frontend/src/metabase/admin/settings/selectors.js:70
+msgid "Anonymous Tracking"
+msgstr "Seguiment anònimc"
+
+#: frontend/src/metabase/admin/settings/selectors.js:75
+msgid "Friendly Table and Field Names"
+msgstr "Noms de taules i camps amistosos"
+
+#: frontend/src/metabase/admin/settings/selectors.js:81
+msgid "Only replace underscores and dashes with spaces"
+msgstr "Només es reemplaçaran els guions baixos i els guions per espais"
+
+#: frontend/src/metabase/admin/settings/selectors.js:91
+msgid "Enable Nested Queries"
+msgstr "Activar consultes anidades"
+
+#: frontend/src/metabase/admin/settings/selectors.js:102
+msgid "Updates"
+msgstr "Actualitzacions"
+
+#: frontend/src/metabase/admin/settings/selectors.js:107
+msgid "Check for updates"
+msgstr "Cerca actualitzacions"
+
+#: frontend/src/metabase/admin/settings/selectors.js:118
+msgid "SMTP Host"
+msgstr "Servidor SMTP"
+
+#: frontend/src/metabase/admin/settings/selectors.js:126
+msgid "SMTP Port"
+msgstr "Port SMTP"
+
+#: frontend/src/metabase/admin/settings/selectors.js:130
+#: frontend/src/metabase/admin/settings/selectors.js:230
+msgid "That's not a valid port number"
+msgstr "El número de port és invàlid"
+
+#: frontend/src/metabase/admin/settings/selectors.js:134
+msgid "SMTP Security"
+msgstr "SMTP Segur"
+
+#: frontend/src/metabase/admin/settings/selectors.js:142
+msgid "SMTP Username"
+msgstr "Usuari SMTP"
+
+#: frontend/src/metabase/admin/settings/selectors.js:149
+msgid "SMTP Password"
+msgstr "Contrasenya SMTP"
+
+#: frontend/src/metabase/admin/settings/selectors.js:156
+msgid "From Address"
+msgstr "Correu electrònic de"
+
+#: frontend/src/metabase/admin/settings/selectors.js:170
+msgid "Slack API Token"
+msgstr "Token API Slack"
+
+#: frontend/src/metabase/admin/settings/selectors.js:172
+msgid "Enter the token you received from Slack"
+msgstr "Introduïu el toquen que heu rebut de Slack"
+
+#: frontend/src/metabase/admin/settings/selectors.js:189
+msgid "Single Sign-On"
+msgstr "Inici de sessió únic"
+
+#: frontend/src/metabase/admin/settings/selectors.js:213
+msgid "LDAP Authentication"
+msgstr "Autentificació LDAP"
+
+#: frontend/src/metabase/admin/settings/selectors.js:219
+msgid "LDAP Host"
+msgstr "Servidor LDAP"
+
+#: frontend/src/metabase/admin/settings/selectors.js:227
+msgid "LDAP Port"
+msgstr "Port LDAP"
+
+#: frontend/src/metabase/admin/settings/selectors.js:234
+msgid "LDAP Security"
+msgstr "LDAP segur"
+
+#: frontend/src/metabase/admin/settings/selectors.js:242
+msgid "Username or DN"
+msgstr "Nom d'usuari o DN"
+
+#: frontend/src/metabase/admin/settings/selectors.js:247
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:188
+#: frontend/src/metabase/user/components/UserSettings.jsx:72
+msgid "Password"
+msgstr "Contrasenya"
+
+#: frontend/src/metabase/admin/settings/selectors.js:252
+msgid "User search base"
+msgstr "Base de cerca d'usuari"
+
+#: frontend/src/metabase/admin/settings/selectors.js:258
+msgid "User filter"
+msgstr "Filtre d'usuaris"
+
+#: frontend/src/metabase/admin/settings/selectors.js:264
+msgid "Check your parentheses"
+msgstr "Verifiqueu els parèntesis"
+
+#: frontend/src/metabase/admin/settings/selectors.js:270
+msgid "Email attribute"
+msgstr "Atribut del correu electrònic"
+
+#: frontend/src/metabase/admin/settings/selectors.js:275
+msgid "First name attribute"
+msgstr "Atribut del nom"
+
+#: frontend/src/metabase/admin/settings/selectors.js:280
+msgid "Last name attribute"
+msgstr "Atribut dels cognoms"
+
+#: frontend/src/metabase/admin/settings/selectors.js:285
+msgid "Synchronize group memberships"
+msgstr "Sincronitza "
+
+#: frontend/src/metabase/admin/settings/selectors.js:291
+msgid "Group search base"
+msgstr "Base de cerca de grup"
+
+#: frontend/src/metabase/admin/settings/selectors.js:300
+msgid "Maps"
+msgstr "Mapes"
+
+#: frontend/src/metabase/admin/settings/selectors.js:305
+msgid "Map tile server URL"
+msgstr "URL del servidor de capes de mapes"
+
+#: frontend/src/metabase/admin/settings/selectors.js:306
+msgid "Metabase uses OpenStreetMaps by default."
+msgstr "El Metabase fa servir OpenStretMaps per defecte"
+
+#: frontend/src/metabase/admin/settings/selectors.js:311
+msgid "Custom Maps"
+msgstr "Mapes personalitzats"
+
+#: frontend/src/metabase/admin/settings/selectors.js:312
+msgid "Add your own GeoJSON files to enable different region map visualizations"
+msgstr "Afegeix els teus propis fitxers GeoJSON per habilitar diferents visualitzacions de mapes de regió"
+
+#: frontend/src/metabase/admin/settings/selectors.js:331
+msgid "Public Sharing"
+msgstr "Compartir públicament"
+
+#: frontend/src/metabase/admin/settings/selectors.js:336
+msgid "Enable Public Sharing"
+msgstr "Permetre compartir públicament"
+
+#: frontend/src/metabase/admin/settings/selectors.js:341
+msgid "Shared Dashboards"
+msgstr "Quadres de comandament compartits"
+
+#: frontend/src/metabase/admin/settings/selectors.js:347
+msgid "Shared Questions"
+msgstr "Preguntes compartides"
+
+#: frontend/src/metabase/admin/settings/selectors.js:354
+msgid "Embedding in other Applications"
+msgstr "Incrustar en altres aplicacions"
+
+#: frontend/src/metabase/admin/settings/selectors.js:381
+msgid "Enable Embedding Metabase in other Applications"
+msgstr "Habilitar la incrustació del Metabase a altres aplicacions"
+
+#: frontend/src/metabase/admin/settings/selectors.js:391
+msgid "Embedding secret key"
+msgstr "Clau secreta de incrustació"
+
+#: frontend/src/metabase/admin/settings/selectors.js:397
+msgid "Embedded Dashboards"
+msgstr "Quadres de comandament incrustats"
+
+#: frontend/src/metabase/admin/settings/selectors.js:403
+msgid "Embedded Questions"
+msgstr "Preguntes incrustades"
+
+#: frontend/src/metabase/admin/settings/selectors.js:410
+msgid "Caching"
+msgstr "Memòria cau"
+
+#: frontend/src/metabase/admin/settings/selectors.js:415
+msgid "Enable Caching"
+msgstr "Activa la memòria cau"
+
+#: frontend/src/metabase/admin/settings/selectors.js:420
+msgid "Minimum Query Duration"
+msgstr "Duració mínima de la consulta"
+
+#: frontend/src/metabase/admin/settings/selectors.js:427
+msgid "Cache Time-To-Live (TTL) multiplier"
+msgstr "Multiplicador Temps de Vida (TTL) de la memòria cau"
+
+#: frontend/src/metabase/admin/settings/selectors.js:434
+msgid "Max Cache Entry Size"
+msgstr "Mida màxima d'una entrada de la memòria cau"
+
+#: frontend/src/metabase/alert/alert.js:60
+msgid "Your alert is all set up."
+msgstr "La teva alerta està configurada."
+
+#: frontend/src/metabase/alert/alert.js:101
+msgid "Your alert was updated."
+msgstr "La teva alerta ha estat actualitzada."
+
+#: frontend/src/metabase/alert/alert.js:149
+msgid "The alert was successfully deleted."
+msgstr "L'alerta s'ha eliminat correctament."
+
+#: frontend/src/metabase/auth/auth.js:33
+msgid "Please enter a valid formatted email address."
+msgstr "Si us plau, introduïu una direcció de correu electrònic amb el format correcte."
+
+#: frontend/src/metabase/auth/auth.js:116
+#: frontend/src/metabase/setup/components/UserStep.jsx:110
+#: frontend/src/metabase/user/components/SetUserPassword.jsx:69
+msgid "Passwords do not match"
+msgstr "Les contrasenyes no coincideixen"
+
+#: frontend/src/metabase/auth/components/BackToLogin.jsx:6
+msgid "Back to login"
+msgstr "Torna al inici de sessió"
+
+#: frontend/src/metabase/auth/components/GoogleNoAccount.jsx:15
+msgid "No Metabase account exists for this Google account."
+msgstr "No existeix un compte de Metabase per aquesta compte de Google"
+
+#: frontend/src/metabase/auth/components/GoogleNoAccount.jsx:17
+msgid "You'll need an administrator to create a Metabase account before you can use Google to log in."
+msgstr "Es necessita un administrador per poder crear un compte de Metabase abans d'utilitzar Google per iniciar la sessió."
+
+#: frontend/src/metabase/auth/components/SSOLoginButton.jsx:18
+msgid "Sign in with {0}"
+msgstr "Iniciar sessió amb {0}"
+
+#: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:56
+msgid "Please contact an administrator to have them reset your password"
+msgstr "Si us plau, poseu-vos amb contacte amb un administrador per a que us restableixi la contrasenya."
+
+#: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:69
+msgid "Forgot password"
+msgstr "No recordo la meva contrasenya"
+
+#: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:84
+msgid "The email you use for your Metabase account"
+msgstr "El correu electrònic que utilitzes per la teva compta de Metabase"
+
+#: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:99
+msgid "Send password reset email"
+msgstr "Enviar el correu electrònic per recuperar la contrasenya"
+
+#: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:110
+msgid "Check your email for instructions on how to reset your password."
+msgstr "Consulta el teu correu electrònic per obtenir les instruccions sobre com recuperar la teva contrasenya"
+
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:128
+msgid "Sign in to Metabase"
+msgstr "Iniciar sessió al Metabase"
+
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:138
+msgid "OR"
+msgstr "O"
+
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:157
+msgid "Username or email address"
+msgstr "Nom d'usuari o direcció de correu electrònic"
+
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:217
+msgid "Sign in"
+msgstr "Accedeix"
+
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:230
+msgid "I seem to have forgotten my password"
+msgstr "Sembla que no recordo la meva contrasenya"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:102
+msgid "request a new reset email"
+msgstr "sol·licitar un nou correu electrònic per recuperar la contrasenya"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:120
+msgid "Whoops, that's an expired link"
+msgstr "Vaja, aquest enllaç ha caducat"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:122
+msgid "For security reasons, password reset links expire after a little while. If you still need\n"
+"to reset your password, you can {0}."
+msgstr "Per raons de seguretat els enllaços per recuperar la contrasenya caduquen al cap d'un temps. Si encara necessites recuperar la teva contrasenya, pots {0}"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:147
+#: frontend/src/metabase/user/components/SetUserPassword.jsx:126
+msgid "New password"
+msgstr "Nova contrasenya"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:149
+msgid "To keep your data secure, passwords {0}"
+msgstr "Per mantenir les teves dades segures les contrasenyes {0}"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:163
+msgid "Create a new password"
+msgstr "Crea una nova contraseña"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:170
+#: frontend/src/metabase/user/components/SetUserPassword.jsx:141
+msgid "Make sure its secure like the instructions above"
+msgstr "Han de complir les instruccions anteriors"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:184
+#: frontend/src/metabase/user/components/SetUserPassword.jsx:150
+msgid "Confirm new password"
+msgstr "Confirma la nova contraseña"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:191
+#: frontend/src/metabase/user/components/SetUserPassword.jsx:159
+msgid "Make sure it matches the one you just entered"
+msgstr "Assegureu-vos que coincideix amb la que acabes d'introduir"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:216
+msgid "Your password has been reset."
+msgstr "La teva contrasenya ha estat restablerta."
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:222
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:227
+msgid "Sign in with your new password"
+msgstr "Inicia sessió amb la nova contrasenya"
+
+#: frontend/src/metabase/components/ActionButton.jsx:53
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:182
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:184
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:251
+msgid "Save failed"
+msgstr "No s'ha pogut guardar"
+
+#: frontend/src/metabase/components/ActionButton.jsx:54
+#: frontend/src/metabase/components/SaveStatus.jsx:60
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:183
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:129
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:185
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:225
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:252
+msgid "Saved"
+msgstr "Guardat"
+
+#: frontend/src/metabase/components/Alert.jsx:12
+msgid "Ok"
+msgstr "D'acord"
+
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:38
+msgid "Archive this collection?"
+msgstr "Arxiva aquesta col·lecció?"
+
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:43
+msgid "The dashboards, collections, and pulses in this collection will also be archived."
+msgstr "Les"
+
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:47
+#: frontend/src/metabase/components/CollectionLanding.jsx:624
+#: frontend/src/metabase/components/EntityMenu.info.js:31
+#: frontend/src/metabase/components/EntityMenu.info.js:87
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:47
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:195
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:200
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:201
+#: frontend/src/metabase/query_builder/containers/ArchiveQuestionModal.jsx:40
+#: frontend/src/metabase/query_builder/containers/ArchiveQuestionModal.jsx:53
+#: frontend/src/metabase/routes.jsx:199
+msgid "Archive"
+msgstr "Arxiva"
+
+#: frontend/src/metabase/containers/ErrorPages.jsx:63
+msgid "This {0} has been archived"
+msgstr "Aquest {0} ha estat arxivat"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:715
+msgid "View the archive"
+msgstr "Mostra l'arxiu"
+
+#: frontend/src/metabase/components/ArchivedItem.jsx:43
+msgid "Unarchive this {0}"
+msgstr "Desarxiva aquest {0}"
+
+#: frontend/src/metabase/components/BrowseApp.jsx:70
+#: frontend/src/metabase/components/BrowseApp.jsx:132
+#: frontend/src/metabase/components/BrowseApp.jsx:225
+#: frontend/src/metabase/containers/Overworld.jsx:219
+msgid "Our data"
+msgstr "Les nostres dades"
+
+#: frontend/src/metabase/components/BrowseApp.jsx:169
+#: frontend/src/metabase/reference/databases/TableSidebar.jsx:55
+msgid "X-ray this table"
+msgstr "Aplica rajos-X a aquesta taula"
+
+#: frontend/src/metabase/components/BrowseApp.jsx:183
+#: frontend/src/metabase/containers/Overworld.jsx:246
+msgid "Learn about this table"
+msgstr "Aprèn sobre aquesta taula"
+
+#: frontend/src/metabase/components/Button.info.js:11
+#: frontend/src/metabase/components/Button.info.js:12
+#: frontend/src/metabase/components/Button.info.js:13
+msgid "Clickity click"
+msgstr "Clic"
+
+#: frontend/src/metabase/components/ButtonWithStatus.jsx:9
+msgid "Saved!"
+msgstr "Guardat!"
+
+#: frontend/src/metabase/components/ButtonWithStatus.jsx:10
+msgid "Saving failed."
+msgstr "No s'ha pogut guardar"
+
+#: frontend/src/metabase/components/Calendar.jsx:118
+msgid "Su"
+msgstr "dg."
+
+#: frontend/src/metabase/components/Calendar.jsx:118
+msgid "Mo"
+msgstr "dl."
+
+#: frontend/src/metabase/components/Calendar.jsx:118
+msgid "Tu"
+msgstr "dm."
+
+#: frontend/src/metabase/components/Calendar.jsx:118
+msgid "We"
+msgstr "dc."
+
+#: frontend/src/metabase/components/Calendar.jsx:118
+msgid "Th"
+msgstr "dj."
+
+#: frontend/src/metabase/components/Calendar.jsx:118
+msgid "Fr"
+msgstr "dv."
+
+#: frontend/src/metabase/components/Calendar.jsx:118
+msgid "Sa"
+msgstr "ds."
+
+#: frontend/src/metabase/components/ChannelSetupMessage.jsx:41
+msgid "Your admin's email address"
+msgstr "El correu electrònic del vostre administrador"
+
+#: frontend/src/metabase/components/ChannelSetupModal.jsx:37
+msgid "To send {0}, you'll need to set up {1} integration."
+msgstr "Per enviar {0} tens que configurar la integració amb {1}"
+
+#: frontend/src/metabase/components/ChannelSetupModal.jsx:38
+#: frontend/src/metabase/components/ChannelSetupModal.jsx:41
+msgid " or "
+msgstr " o "
+
+#: frontend/src/metabase/components/ChannelSetupModal.jsx:40
+msgid "To send {0}, an admin needs to set up {1} integration."
+msgstr "Per enviar {0}, un administrador ha de configurar la integració amb {1}."
+
+#: frontend/src/metabase/components/CollectionEmptyState.jsx:15
+msgid "This collection is empty, like a blank canvas"
+msgstr "Aquesta col·lecció està buida, com una fulla en blanc"
+
+#: frontend/src/metabase/components/CollectionEmptyState.jsx:16
+msgid "You can use collections to organize and group dashboards, questions and pulses for your team or yourself"
+msgstr "Pots utilitzar col·leccions per organitzar i agrupar quadres de comandament, preguntes i polsos pel teu equip o per tu."
+
+#: frontend/src/metabase/components/CollectionEmptyState.jsx:28
+msgid "Create another collection"
+msgstr "Crea una altra col·lecció"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:68
+msgid "Dashboards let you collect and share data in one place."
+msgstr "Els quadres de comandament et permeten recollir i compartir dades en un sol lloc."
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:77
+msgid "Pulses let you send out the latest data to your team on a schedule via email or slack."
+msgstr "Els polsos es permeten enviar dades de Metabase en una data planificada per correu electrònic o per Slack."
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:86
+msgid "Questions are a saved look at your data."
+msgstr "Les preguntes son visualitzacions guardades de les teves dades."
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:287
+msgid "Pins"
+msgstr "Contingut fixat"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:341
+msgid "Drag something here to pin it to the top"
+msgstr "Arrasta coses aquí per fixar-les a dalt"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:737
+#: frontend/src/metabase/components/CollectionLanding.jsx:353
+#: frontend/src/metabase/home/containers/SearchApp.jsx:35
+#: frontend/src/metabase/home/containers/SearchApp.jsx:92
+msgid "Collections"
+msgstr "Col·leccions"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:432
+#: frontend/src/metabase/components/CollectionLanding.jsx:455
+msgid "Drag here to un-pin"
+msgstr "Arrastra-ho aquí per deixar de fixar-los"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:490
+msgid "{0} item selected"
+msgid_plural "{0} items selected"
+msgstr[0] "{0} element seleccionat"
+msgstr[1] "{0} elements seleccionats"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:522
+msgid "Move {0} items?"
+msgstr "Moure {0} element(s)?"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:523
+msgid "Move \"{0}\"?"
+msgstr "Moure \"{0}\"?"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:631
+#: frontend/src/metabase/components/EntityMenu.info.js:29
+#: frontend/src/metabase/components/EntityMenu.info.js:85
+#: frontend/src/metabase/containers/CollectionMoveModal.jsx:69
+msgid "Move"
+msgstr "Moure"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:692
+msgid "Edit this collection"
+msgstr "Edita aquesta col·lecció"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:700
+msgid "Archive this collection"
+msgstr "Arxiva aquesta col·lecció"
+
+#: frontend/src/metabase/components/CollectionList.jsx:64
+#: frontend/src/metabase/entities/collections.js:155
+msgid "My personal collection"
+msgstr "La meva col·lecció personal"
+
+#: frontend/src/metabase/components/CollectionList.jsx:106
+msgid "New collection"
+msgstr "Nova col·lecció"
+
+#: frontend/src/metabase/components/CopyButton.jsx:35
+msgid "Copied!"
+msgstr "Copiat!"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:216
+msgid "Use an SSH-tunnel for database connections"
+msgstr "Utilitza un túnel SSH per a les connexions a la base de dades"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:218
+msgid "Some database installations can only be accessed by connecting through an SSH bastion host.\n"
+"This option also provides an extra layer of security when a VPN is not available.\n"
+"Enabling this is usually slower than a direct connection."
+msgstr "Algunes instancies de bases de dades només es poden accedir a través d'un tunel SSH. \n"
+"Aquesta configuració també proporcionarà una cap addicional de seguretat quan no es disposi d'una VPN. \n"
+"Aquest configuració normalment es més lenta que una connexió directa."
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:271
+msgid "This is a large database, so let me choose when Metabase syncs and scans"
+msgstr "Aquesta es una base de dades gran. Deixem decidir quan el Metabase es sincronitza i escaneja les dades"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:273
+msgid "By default, Metabase does a lightweight hourly sync and an intensive daily scan of field values.\n"
+"If you have a large database, we recommend turning this on and reviewing when and how often the field value scans happen."
+msgstr "De forma predeterminada el Metabase realitzar una sincronització lleugera cada hora i un anàlisis diari intensiu dels valors dels camps.\n"
+"Si tens una base de dades gran et recomanem que activis aquesta configuració i que revisis quan i amb quina freqüència s'escanegen els valors del camp."
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:289
+msgid "{0} to generate a Client ID and Client Secret for your project."
+msgstr "{0] per generar un ID de client i una clau secreta pel teu projecte"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:291
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:318
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:353
+msgid "Click here"
+msgstr "Cliqueu aquí"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:294
+msgid "Choose \"Other\" as the application type. Name it whatever you'd like."
+msgstr "Escul \"Un altre\" com a tipus d'aplicació. Nombra-ho com vulguis."
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:316
+msgid "{0} to get an auth code"
+msgstr "{0} per obtenir un codi d'autentificació"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:328
+msgid "with Google Drive permissions"
+msgstr "amb permisos de Google Drive"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:348
+msgid "To use Metabase with this data you must enable API access in the Google Developers Console."
+msgstr "Per utilitzar el Metabase amb aquestes dades has d'habilitar el accés a la API a la Consola de Desenvolupadors de Googl"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:351
+msgid "{0} to go to the console if you haven't already done so."
+msgstr "{0} per anar a la consola si encara no ho has fet"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:400
+msgid "How would you like to refer to this database?"
+msgstr "Com t'agradaria anomenar aquesta base de dades?"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:427
+#: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:97
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:237
+#: frontend/src/metabase/setup/components/DatabaseConnectionStep.jsx:188
+#: frontend/src/metabase/setup/components/DatabaseSchedulingStep.jsx:74
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:116
+#: frontend/src/metabase/setup/components/UserStep.jsx:308
+msgid "Next"
+msgstr "Següent"
+
+#: frontend/src/metabase/components/ArchivedItem.jsx:52
+#: frontend/src/metabase/components/DeleteModalWithConfirm.jsx:80
+msgid "Delete this {0}"
+msgstr "Eliminar aquest {0}"
+
+#: frontend/src/metabase/components/EntityItem.jsx:43
+msgid "Pin this item"
+msgstr "Fixa aquest element"
+
+#: frontend/src/metabase/components/EntityItem.jsx:49
+msgid "Move this item"
+msgstr "Mou aquest element"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:24
+#: frontend/src/metabase/components/EntityMenu.info.js:80
+msgid "Edit this question"
+msgstr "Edita aquesta pregunta"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:26
+#: frontend/src/metabase/components/EntityMenu.info.js:47
+#: frontend/src/metabase/components/EntityMenu.info.js:82
+#: frontend/src/metabase/components/EntityMenu.info.js:99
+msgid "Action type"
+msgstr "Tipus d'acció"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:28
+#: frontend/src/metabase/components/EntityMenu.info.js:84
+msgid "View revision history"
+msgstr "Mostra l'historial de revisions"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:29
+#: frontend/src/metabase/components/EntityMenu.info.js:85
+msgid "Move action"
+msgstr "Acció de moure"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:33
+#: frontend/src/metabase/components/EntityMenu.info.js:89
+msgid "Archive action"
+msgstr "Acció d'arxivar"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:45
+#: frontend/src/metabase/components/EntityMenu.info.js:97
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:329
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:342
+msgid "Add to dashboard"
+msgstr "Afegir al quadre de comandament"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:49
+#: frontend/src/metabase/components/EntityMenu.info.js:101
+msgid "Download results"
+msgstr "Descarrega els resultats"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:51
+#: frontend/src/metabase/components/EntityMenu.info.js:103
+#: frontend/src/metabase/public/components/widgets/EmbedWidget.jsx:52
+msgid "Sharing and embedding"
+msgstr "Compartint i incrustant"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:53
+#: frontend/src/metabase/components/EntityMenu.info.js:105
+msgid "Another action type"
+msgstr "Un altre tipus d'acció"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:65
+#: frontend/src/metabase/components/EntityMenu.info.js:67
+#: frontend/src/metabase/components/EntityMenu.info.js:113
+#: frontend/src/metabase/components/EntityMenu.info.js:115
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:449
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:454
+msgid "Get alerts about this"
+msgstr "Rep alertes sobre això"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:69
+#: frontend/src/metabase/components/EntityMenu.info.js:117
+msgid "View the SQL"
+msgstr "Mostra el SQL"
+
+#: frontend/src/metabase/components/EntitySegments.jsx:18
+msgid "Segments for this"
+msgstr "Segments per aquest"
+
+#: frontend/src/metabase/components/ErrorDetails.jsx:20
+msgid "Show error details"
+msgstr "Mostra els detalls de l'error"
+
+#: frontend/src/metabase/components/ErrorDetails.jsx:26
+msgid "Here's the full error message"
+msgstr "Aquest es el missatge d'error complert"
+
+#: frontend/src/metabase/components/ExplorePane.jsx:19
+msgid "Hi, Metabot here."
+msgstr "Hola, soc el Metabot"
+
+#: frontend/src/metabase/components/ExplorePane.jsx:95
+msgid "Based on the schema"
+msgstr "Basat en l'esquema"
+
+#: frontend/src/metabase/components/ExplorePane.jsx:174
+msgid "A look at your"
+msgstr "Una vista als teus"
+
+#: frontend/src/metabase/components/FieldValuesWidget.jsx:234
+msgid "Search the list"
+msgstr "Busca a la llista"
+
+#: frontend/src/metabase/components/FieldValuesWidget.jsx:238
+msgid "Search by {0}"
+msgstr "Buscar per {0}"
+
+#: frontend/src/metabase/components/FieldValuesWidget.jsx:240
+msgid " or enter an ID"
+msgstr " o introdueix un ID"
+
+#: frontend/src/metabase/components/FieldValuesWidget.jsx:244
+msgid "Enter an ID"
+msgstr "Introdueix un ID"
+
+#: frontend/src/metabase/components/FieldValuesWidget.jsx:246
+msgid "Enter a number"
+msgstr "Introdueix un número"
+
+#: frontend/src/metabase/components/FieldValuesWidget.jsx:248
+msgid "Enter some text"
+msgstr "Introdueix un text"
+
+#: frontend/src/metabase/components/FieldValuesWidget.jsx:355
+msgid "No matching {0} found."
+msgstr "No s'han trobat {0} coincidents"
+
+#: frontend/src/metabase/components/FieldValuesWidget.jsx:363
+msgid "Including every option in your filter probably won’t do much…"
+msgstr "Incloure totes les opcions al filtre possiblement no servirà de res"
+
+#: frontend/src/metabase/containers/ErrorPages.jsx:24
+msgid "Something's gone wrong"
+msgstr "Ho sentim, alguna cosa no ha sortit bé"
+
+#: frontend/src/metabase/containers/ErrorPages.jsx:25
+msgid "We've run into an error. You can try refreshing the page, or just go back."
+msgstr "Em trobat un error. Pots intentar refrescar la pàgina o simplement tornar enrere."
+
+#: frontend/src/metabase/components/Header.jsx:97
+#: frontend/src/metabase/components/HeaderBar.jsx:45
+#: frontend/src/metabase/components/ListItem.jsx:37
+#: frontend/src/metabase/reference/components/Detail.jsx:47
+#: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:158
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:213
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:191
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:205
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:209
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:209
+msgid "No description yet"
+msgstr "Encara sense cap descripció"
+
+#: frontend/src/metabase/components/Header.jsx:112
+#: frontend/src/metabase/entities/containers/EntityForm.jsx:43
+msgid "New {0}"
+msgstr "Nou {0}"
+
+#: frontend/src/metabase/components/Header.jsx:123
+msgid "Asked by {0}"
+msgstr "Preguntat pel {0}"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:13
+msgid "Today, "
+msgstr "Avui. "
+
+#: frontend/src/metabase/components/HistoryModal.jsx:15
+msgid "Yesterday, "
+msgstr "Ahir. "
+
+#: frontend/src/metabase/components/HistoryModal.jsx:68
+msgid "First revision."
+msgstr "Primera revisió."
+
+#: frontend/src/metabase/components/HistoryModal.jsx:70
+msgid "Reverted to an earlier revision and {0}"
+msgstr "Revertit a una revisió anterior i {0}"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:82
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:289
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:379
+#: frontend/src/metabase/reference/segments/SegmentSidebar.jsx:58
+msgid "Revision history"
+msgstr "Historial de revisións"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:90
+msgid "When"
+msgstr "Quan"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:91
+msgid "Who"
+msgstr "Qui"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:92
+msgid "What"
+msgstr "Que"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:113
+msgid "Revert"
+msgstr "Desfer"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:114
+msgid "Reverting…"
+msgstr "Desfent..."
+
+#: frontend/src/metabase/components/HistoryModal.jsx:115
+msgid "Revert failed"
+msgstr "No s'ha pogut desfer"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:116
+msgid "Reverted"
+msgstr "Desfet"
+
+#: frontend/src/metabase/components/ItemTypeFilterBar.jsx:13
+msgid "Everything"
+msgstr "Tot"
+
+#: frontend/src/metabase/components/ItemTypeFilterBar.jsx:18
+#: frontend/src/metabase/home/containers/SearchApp.jsx:69
+msgid "Dashboards"
+msgstr "Quadres de comandament"
+
+#: frontend/src/metabase/components/ItemTypeFilterBar.jsx:23
+#: frontend/src/metabase/home/containers/SearchApp.jsx:115
+msgid "Questions"
+msgstr "Preguntes"
+
+#: frontend/src/metabase/components/ItemTypeFilterBar.jsx:28
+#: frontend/src/metabase/routes.jsx:321
+msgid "Pulses"
+msgstr "Polsos"
+
+#: frontend/src/metabase/components/LeftNavPane.jsx:36
+#: frontend/src/metabase/query_builder/components/dataref/DataReference.jsx:103
+msgid "Back"
+msgstr "Enrere"
+
+#: frontend/src/metabase/components/ListSearchField.jsx:18
+msgid "Find..."
+msgstr "Cerca..."
+
+#: frontend/src/metabase/components/LoadingAndErrorWrapper.jsx:48
+msgid "An error occured"
+msgstr "S'ha trobat un error"
+
+#: frontend/src/metabase/components/LoadingAndErrorWrapper.jsx:35
+msgid "Loading..."
+msgstr "Carregant..."
+
+#: frontend/src/metabase/components/NewsletterForm.jsx:71
+msgid "Metabase Newsletter"
+msgstr "Butlletí informatiu del Metabase"
+
+#: frontend/src/metabase/components/NewsletterForm.jsx:81
+msgid "Get infrequent emails about new releases and feature updates."
+msgstr "Rep correus electrònics infreqüents amb informació sobre noves versions i actualitzacions de funcions."
+
+#: frontend/src/metabase/components/NewsletterForm.jsx:99
+msgid "Subscribe"
+msgstr "Subscriure's"
+
+#: frontend/src/metabase/components/NewsletterForm.jsx:106
+msgid "You're subscribed. Thanks for using Metabase!"
+msgstr "Ja estàs subscrit. Gràcies per utilitzar el Metabase!"
+
+#: frontend/src/metabase/containers/ErrorPages.jsx:44
+msgid "We're a little lost..."
+msgstr "Estem una mica perduts..."
+
+#: frontend/src/metabase/components/PasswordReveal.jsx:27
+msgid "Temporary Password"
+msgstr "Contrasenya temporal"
+
+#: frontend/src/metabase/components/PasswordReveal.jsx:68
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:421
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:436
+msgid "Hide"
+msgstr "Amaga"
+
+#: frontend/src/metabase/components/PasswordReveal.jsx:68
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:422
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:437
+msgid "Show"
+msgstr "Mostra"
+
+#: frontend/src/metabase/components/QuestionSavedModal.jsx:17
+msgid "Saved! Add this to a dashboard?"
+msgstr "Guardat! Voleu afegir-ho a un quadre de comandament?"
+
+#: frontend/src/metabase/components/QuestionSavedModal.jsx:25
+msgid "Yes please!"
+msgstr "Si, si us plau!"
+
+#: frontend/src/metabase/components/QuestionSavedModal.jsx:29
+msgid "Not now"
+msgstr "Ara no"
+
+#: frontend/src/metabase/components/SaveStatus.jsx:53
+msgid "Error:"
+msgstr "Error:"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:23
+msgid "Sunday"
+msgstr "Diumenge"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:24
+msgid "Monday"
+msgstr "Dilluns"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:25
+msgid "Tuesday"
+msgstr "Dimarts"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:26
+msgid "Wednesday"
+msgstr "Dimecres"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:27
+msgid "Thursday"
+msgstr "Dijous"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:28
+msgid "Friday"
+msgstr "Divendres"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:29
+msgid "Saturday"
+msgstr "Dissabte"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:33
+msgid "First"
+msgstr "Primer"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:34
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:23
+msgid "Last"
+msgstr "Últim"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:35
+msgid "15th (Midpoint)"
+msgstr "15è (punt mitg)"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:125
+msgid "Calendar Day"
+msgstr "Dia del calendari"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:210
+msgid "your Metabase timezone"
+msgstr "La zona horària del Metabase"
+
+#: frontend/src/metabase/components/SearchHeader.jsx:21
+msgid "Filter this list..."
+msgstr "Filtra aquesta llista"
+
+#: frontend/src/metabase/components/Select.info.js:8
+msgid "Blue"
+msgstr "Blau"
+
+#: frontend/src/metabase/components/Select.info.js:9
+msgid "Green"
+msgstr "Verd"
+
+#: frontend/src/metabase/components/Select.info.js:10
+msgid "Red"
+msgstr "Vermell"
+
+#: frontend/src/metabase/components/Select.info.js:11
+msgid "Yellow"
+msgstr "Groc"
+
+#: frontend/src/metabase/components/Select.info.js:14
+msgid "A component used to make a selection"
+msgstr "Un component utilitzat per a fer una selecció"
+
+#: frontend/src/metabase/components/Select.info.js:20
+#: frontend/src/metabase/components/Select.info.js:28
+msgid "Selected"
+msgstr "Seleccionat"
+
+#: frontend/src/metabase/components/Select.jsx:297
+msgid "Nothing to select"
+msgstr "No hi ha res a seleccionar"
+
+#: frontend/src/metabase/containers/ErrorPages.jsx:54
+msgid "Sorry, you don’t have permission to see that."
+msgstr "Ho sentim, no tens permisos per veure això."
+
+#: frontend/src/metabase/components/form/FormMessage.jsx:5
+msgid "Unknown error encountered"
+msgstr "S'ha trobat un error desconegut"
+
+#: frontend/src/metabase/components/form/StandardForm.jsx:69
+#: frontend/src/metabase/nav/containers/Navbar.jsx:304
+msgid "Create"
+msgstr "Crea"
+
+#: frontend/src/metabase/containers/DashboardForm.jsx:9
+msgid "Create dashboard"
+msgstr "Crea un quadre de comandament"
+
+#: frontend/src/metabase/containers/EntitySearch.jsx:35
+#: frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx:331
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:60
+msgid "Table"
+msgstr "Taula"
+
+#: frontend/src/metabase/containers/EntitySearch.jsx:42
+#: frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx:306
+msgid "Database"
+msgstr "Base de dades"
+
+#: frontend/src/metabase/containers/EntitySearch.jsx:49
+msgid "Creator"
+msgstr "Creador"
+
+#: frontend/src/metabase/containers/EntitySearch.jsx:238
+msgid "No results found"
+msgstr "No s'han trobat resultats"
+
+#: frontend/src/metabase/containers/EntitySearch.jsx:239
+msgid "Try adjusting your filter to find what you’re looking for."
+msgstr "Intenta ajustar el teu filtre per trobar el que estas buscan"
+
+#: frontend/src/metabase/containers/EntitySearch.jsx:258
+msgid "View by"
+msgstr "Vist per"
+
+#: frontend/src/metabase/containers/EntitySearch.jsx:494
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:84
+#: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:69
+#: frontend/src/metabase/tutorial/TutorialModal.jsx:34
+msgid "of"
+msgstr "de"
+
+#: frontend/src/metabase/containers/Overworld.jsx:75
+msgid "Don't tell anyone, but you're my favorite."
+msgstr "No li diguis a ningú però ets el meu favorit"
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:85
+msgid "Once you connect your own data, I can show you some automatic explorations called x-rays. Here are some examples with sample data."
+msgstr "Quan connectes les teves pròpies dades et puc mostrar algunes exploracions automàtiques anomenades rajos-X. Aquí hi ha alguns exemples de mostra."
+
+#: frontend/src/metabase/containers/Overworld.jsx:128
+#: frontend/src/metabase/containers/Overworld.jsx:299
+#: frontend/src/metabase/reference/components/GuideHeader.jsx:12
+msgid "Start here"
+msgstr "Comença aquí"
+
+#: frontend/src/metabase/containers/Overworld.jsx:294
+#: frontend/src/metabase/entities/collections.js:147
+#: src/metabase/models/collection.clj
+msgid "Our analytics"
+msgstr "La nostra analítica"
+
+#: frontend/src/metabase/containers/Overworld.jsx:203
+msgid "Browse all items"
+msgstr "Mostrar tots els elements"
+
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:165
+msgid "Replace or save as new?"
+msgstr "Sobreescriure o guardar com una nova pregunta?"
+
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:173
+msgid "Replace original question, \"{0}\""
+msgstr "Sobreescriure la pregunta original: \"{0}\""
+
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:178
+msgid "Save as new question"
+msgstr "Guarda com una nova pregunta"
+
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:187
+msgid "First, save your question"
+msgstr "Primer guarda la teva pregunta"
+
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:188
+msgid "Save question"
+msgstr "Guardar la pregunta"
+
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:224
+msgid "What is the name of your card?"
+msgstr "Quin es el nom de la teva tarjeta?"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:31
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:18
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:232
+#: frontend/src/metabase/entities/collections.js:101
+#: frontend/src/metabase/entities/dashboards.js:151
+#: frontend/src/metabase/lib/core.js:50 frontend/src/metabase/lib/core.js:205
+#: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:156
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:211
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:189
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:203
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:207
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:207
+#: frontend/src/metabase/visualizations/lib/settings/visualization.js:24
+msgid "Description"
+msgstr "Descripció"
+
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:238
+#: frontend/src/metabase/entities/dashboards.js:153
+msgid "It's optional but oh, so helpful"
+msgstr "Es opcional, però va tan bé a vegades"
+
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:245
+#: frontend/src/metabase/entities/dashboards.js:157
+msgid "Which collection should this go in?"
+msgstr "A quina col·lecció vols guardar-ho?"
+
+#: frontend/src/metabase/containers/UndoListing.jsx:34
+msgid "modified"
+msgstr "modificat"
+
+#: frontend/src/metabase/containers/UndoListing.jsx:34
+msgid "item"
+msgstr "element"
+
+#: frontend/src/metabase/containers/UndoListing.jsx:81
+msgid "Undo"
+msgstr "Desfer"
+
+#: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:270
+msgid "Applying Question"
+msgstr "Aplicant la pregunta"
+
+#: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:274
+msgid "That question isn't compatible"
+msgstr "Aquesta pregunta no és compatible"
+
+#: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:310
+msgid "Search for a question"
+msgstr "Busca una pregunta"
+
+#: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:339
+msgid "We're not sure if this question is compatible"
+msgstr "No estem segurs si aquesta pregunta es compatible"
+
+#: frontend/src/metabase/dashboard/components/ArchiveDashboardModal.jsx:43
+msgid "Archive Dashboard"
+msgstr "Arxiva el quadre de comandament"
+
+#: frontend/src/metabase/dashboard/components/DashCardParameterMapper.jsx:20
+msgid "Make sure to make a selection for each series, or the filter won't work on this card."
+msgstr "Asegura't de fer una selecció per a cada sèrie sinó el filtre no funcionarà per aquesta targeta."
+
+#: frontend/src/metabase/dashboard/components/Dashboard.jsx:300
+msgid "This dashboard is looking empty."
+msgstr "Sembla que aquest quadre de comandament està buit."
+
+#: frontend/src/metabase/dashboard/components/Dashboard.jsx:301
+msgid "Add a question to start making it useful!"
+msgstr "Afegeix una pregunta per a que sigui útil"
+
+#: frontend/src/metabase/dashboard/components/DashboardActions.jsx:38
+msgid "Daytime mode"
+msgstr "Mode diürn"
+
+#: frontend/src/metabase/dashboard/components/DashboardActions.jsx:38
+msgid "Nighttime mode"
+msgstr "Mode nocturn"
+
+#: frontend/src/metabase/dashboard/components/DashboardActions.jsx:56
+msgid "Exit fullscreen"
+msgstr "Desactiva la pantalla complerta"
+
+#: frontend/src/metabase/dashboard/components/DashboardActions.jsx:56
+msgid "Enter fullscreen"
+msgstr "Activa la pantalla complerta"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:181
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:183
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:250
+msgid "Saving…"
+msgstr "Guardant..."
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:216
+msgid "Add a question"
+msgstr "Afegeix una pregunta"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:219
+msgid "Add a question to this dashboard"
+msgstr "Afegiu una pregunta a aquest quadre de comandament."
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:248
+msgid "Add a filter"
+msgstr "Afegeix un filtre"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:254
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:78
+msgid "Parameters"
+msgstr "Paràmetres"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:275
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:279
+msgid "Add a text box"
+msgstr "Afegeix una caixa de text"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:319
+msgid "Move dashboard"
+msgstr "Moure el quadre de comandament"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:302
+msgid "Edit dashboard"
+msgstr "Edita el quadre de comandament"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:306
+msgid "Edit Dashboard Layout"
+msgstr "Editar la disposició del quadre de comandament"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:369
+msgid "You are editing a dashboard"
+msgstr "Esteu editant un quadre de comandament"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:374
+msgid "Select the field that should be filtered for each card"
+msgstr "Selecciona el camp que s'ha de filtrar per a cada targeta"
+
+#: frontend/src/metabase/dashboard/components/DashboardMoveModal.jsx:28
+msgid "Move dashboard to..."
+msgstr "Moure el quadre de comandament a..."
+
+#: frontend/src/metabase/dashboard/components/DashboardMoveModal.jsx:52
+msgid "Dashboard moved to {0}"
+msgstr "El quadre de comandament s'ha mogut a {0}"
+
+#: frontend/src/metabase/dashboard/components/ParametersPopover.jsx:82
+msgid "What do you want to filter?"
+msgstr "Que voleu filtrar?"
+
+#: frontend/src/metabase/dashboard/components/ParametersPopover.jsx:115
+msgid "What kind of filter?"
+msgstr "Quin tipus de filtre?"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:13
+#: frontend/src/metabase/visualizations/lib/settings/column.js:231
+#: frontend/src/metabase/visualizations/lib/settings/series.js:90
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:179
+msgid "Off"
+msgstr "Desactivat"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:14
+msgid "1 minute"
+msgstr "1 minut"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:15
+msgid "5 minutes"
+msgstr "5 minuts"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:16
+msgid "10 minutes"
+msgstr "10 minuts"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:17
+msgid "15 minutes"
+msgstr "15 minuts"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:18
+msgid "30 minutes"
+msgstr "30 minuts"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:19
+msgid "60 minutes"
+msgstr "60 minuts"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:31
+msgid "Auto-refresh"
+msgstr "Refresca automàticamente"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:37
+msgid "Refreshing in"
+msgstr "Actualitzant en"
+
+#: frontend/src/metabase/dashboard/components/RemoveFromDashboardModal.jsx:36
+msgid "Remove this question?"
+msgstr "Eliminar aquesta pregunta?"
+
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:71
+msgid "Your dashboard was saved"
+msgstr "S'ha guardat el teu quadre de comandament"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:745
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:76
+msgid "See it"
+msgstr "Veure-ho"
+
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:137
+msgid "Save this"
+msgstr "Guarda-ho"
+
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:170
+msgid "Show more about this"
+msgstr "Mostra més sobre aquest/a"
+
+#: frontend/src/metabase/dashboard/containers/DashCardCardParameterMapper.jsx:140
+msgid "This card doesn't have any fields or parameters that can be mapped to this parameter type."
+msgstr "Aquesta targeta no té camps ni paràmetres que coincideixin amb aquest tipus de paràmetre"
+
+#: frontend/src/metabase/dashboard/containers/DashCardCardParameterMapper.jsx:142
+msgid "The values in this field don't overlap with the values of any other fields you've chosen."
+msgstr "Els valors d'aquest camp no coincideixen amb cap altre camp que hagis escollit"
+
+#: frontend/src/metabase/dashboard/containers/DashCardCardParameterMapper.jsx:186
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingFieldPicker.jsx:37
+msgid "No valid fields"
+msgstr "No hi ha camps válid"
+
+#: frontend/src/metabase/entities/collections.js:97
+msgid "Name must be 100 characters or less"
+msgstr "El nom ha de tenir com a màxim 100 caràcters"
+
+#: frontend/src/metabase/entities/collections.js:111
+msgid "Color is required"
+msgstr "El color és obligatori"
+
+#: frontend/src/metabase/entities/dashboards.js:146
+msgid "What is the name of your dashboard?"
+msgstr "Quin es el nom del vostre quadre de comandament?"
+
+#: frontend/src/metabase/home/components/Activity.jsx:92
+msgid "did some super awesome stuff that's hard to describe"
+msgstr "He fet algunes coses genials que són difícils de descriure"
+
+#: frontend/src/metabase/home/components/Activity.jsx:101
+#: frontend/src/metabase/home/components/Activity.jsx:116
+msgid "created an alert about - "
+msgstr "ha creat una alerta sobre - "
+
+#: frontend/src/metabase/home/components/Activity.jsx:126
+#: frontend/src/metabase/home/components/Activity.jsx:141
+msgid "deleted an alert about - "
+msgstr "ha eliminat una alerta sobre - "
+
+#: frontend/src/metabase/home/components/Activity.jsx:152
+msgid "saved a question about "
+msgstr "ha guardant una pregunta sobre "
+
+#: frontend/src/metabase/home/components/Activity.jsx:165
+msgid "saved a question"
+msgstr "ha guardat una pregunta"
+
+#: frontend/src/metabase/home/components/Activity.jsx:169
+msgid "deleted a question"
+msgstr "ha eliminat la pregunta"
+
+#: frontend/src/metabase/home/components/Activity.jsx:172
+msgid "created a dashboard"
+msgstr "ha creat un quadre de comandament"
+
+#: frontend/src/metabase/home/components/Activity.jsx:175
+msgid "deleted a dashboard"
+msgstr "ha eliminat un quadre de comandament"
+
+#: frontend/src/metabase/home/components/Activity.jsx:181
+#: frontend/src/metabase/home/components/Activity.jsx:196
+msgid "added a question to the dashboard - "
+msgstr "ha afegit una pregunta al quadre de comandament - "
+
+#: frontend/src/metabase/home/components/Activity.jsx:206
+#: frontend/src/metabase/home/components/Activity.jsx:221
+msgid "removed a question from the dashboard - "
+msgstr "ha eliminat una pregunta al quadre de comandament - "
+
+#: frontend/src/metabase/home/components/Activity.jsx:231
+#: frontend/src/metabase/home/components/Activity.jsx:238
+msgid "received the latest data from"
+msgstr "ha rebut les ultimes dades de"
+
+#: frontend/src/metabase-lib/lib/Dimension.js:621
+#: frontend/src/metabase/home/components/Activity.jsx:244
+#: frontend/src/metabase/lib/query_time.js:180
+#: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:273
+msgid "Unknown"
+msgstr "Desconegut"
+
+#: frontend/src/metabase/home/components/Activity.jsx:251
+msgid "Hello World!"
+msgstr "Hola món!"
+
+#: frontend/src/metabase/home/components/Activity.jsx:252
+msgid "Metabase is up and running."
+msgstr "El Metabase està actiu i funcionant."
+
+#: frontend/src/metabase/home/components/Activity.jsx:258
+#: frontend/src/metabase/home/components/Activity.jsx:288
+msgid "added the metric "
+msgstr "ha afegit la mètrica"
+
+#: frontend/src/metabase/home/components/Activity.jsx:272
+#: frontend/src/metabase/home/components/Activity.jsx:362
+msgid " to the "
+msgstr " a la "
+
+#: frontend/src/metabase/home/components/Activity.jsx:282
+#: frontend/src/metabase/home/components/Activity.jsx:322
+#: frontend/src/metabase/home/components/Activity.jsx:372
+#: frontend/src/metabase/home/components/Activity.jsx:413
+msgid " table"
+msgstr " taula"
+
+#: frontend/src/metabase/home/components/Activity.jsx:298
+#: frontend/src/metabase/home/components/Activity.jsx:328
+msgid "made changes to the metric "
+msgstr "ha fet canvis a la mètrica "
+
+#: frontend/src/metabase/home/components/Activity.jsx:312
+#: frontend/src/metabase/home/components/Activity.jsx:403
+msgid " in the "
+msgstr " en el "
+
+#: frontend/src/metabase/home/components/Activity.jsx:335
+msgid "removed the metric "
+msgstr "ha eliminat la mètrica "
+
+#: frontend/src/metabase/home/components/Activity.jsx:338
+msgid "created a pulse"
+msgstr "pols creat"
+
+#: frontend/src/metabase/home/components/Activity.jsx:341
+msgid "deleted a pulse"
+msgstr "Pols eliminat"
+
+#: frontend/src/metabase/home/components/Activity.jsx:347
+#: frontend/src/metabase/home/components/Activity.jsx:378
+msgid "added the filter"
+msgstr "ha afegit el fitltre"
+
+#: frontend/src/metabase/home/components/Activity.jsx:388
+#: frontend/src/metabase/home/components/Activity.jsx:419
+msgid "made changes to the filter"
+msgstr "ha fet canvis al filtre"
+
+#: frontend/src/metabase/home/components/Activity.jsx:426
+msgid "removed the filter {0}"
+msgstr "ha eliminat el filtre {0}"
+
+#: frontend/src/metabase/home/components/Activity.jsx:429
+msgid "joined!"
+msgstr "s'ha unit"
+
+#: frontend/src/metabase/home/components/Activity.jsx:529
+msgid "Hmmm, looks like nothing has happened yet."
+msgstr "Hmmm, sembla que encara no ha passat res."
+
+#: frontend/src/metabase/home/components/Activity.jsx:532
+msgid "Save a question and get this baby going!"
+msgstr "Guarda una pregunta i fes que això funcioni!"
+
+#: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:19
+msgid "Ask questions and explore"
+msgstr "Fes preguntes i explora"
+
+#: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:20
+msgid "Click on charts or tables to explore, or ask a new question using the easy interface or the powerful SQL editor."
+msgstr "Feu click a les gràfiques o les taules per explorar o bé feu una nova pregunta fent servir la interfície simple o el potent editor SQL"
+
+#: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:30
+msgid "Make your own charts"
+msgstr "Crea els teus propis gràfics"
+
+#: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:31
+msgid "Create line charts, scatter plots, maps, and more."
+msgstr "Crea gràfics de línes, de dispersió mapes i més."
+
+#: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:41
+msgid "Share what you find"
+msgstr "Comparteix el que trobis"
+
+#: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:42
+msgid "Create powerful and flexible dashboards, and send regular updates via email or Slack."
+msgstr "Crea quadres de comandament potents i flexibles. Envia actualitzacions periòdiques per correu electrònic o Slack."
+
+#: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:97
+msgid "Let's go"
+msgstr "Anem-hi"
+
+#: frontend/src/metabase/home/components/NextStep.jsx:34
+msgid "Setup Tip"
+msgstr "Consell de configuració"
+
+#: frontend/src/metabase/home/components/NextStep.jsx:40
+msgid "View all"
+msgstr "Mostra'ls tots"
+
+#: frontend/src/metabase/home/components/RecentViews.jsx:40
+msgid "Recently Viewed"
+msgstr "Vist recentment"
+
+#: frontend/src/metabase/home/components/RecentViews.jsx:75
+msgid "You haven't looked at any dashboards or questions recently"
+msgstr "No has consultat cap quadre de comandament o pregunta recentment"
+
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:99
+msgid "{0} items selected"
+msgstr "{0} elements seleccionats"
+
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:121
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:172
+msgid "Unarchive"
+msgstr "Desarxivar"
+
+#: frontend/src/metabase/home/containers/HomepageApp.jsx:74
+#: frontend/src/metabase/nav/containers/Navbar.jsx:331
+msgid "Activity"
+msgstr "Activitat"
+
+#: frontend/src/metabase/home/containers/SearchApp.jsx:28
+msgid "Results for \"{0}\""
+msgstr "Resultats de \"{0}\""
+
+#: frontend/src/metabase/home/containers/SearchApp.jsx:138
+msgid "Pulse"
+msgstr "Pols"
+
+#: frontend/src/metabase/lib/core.js:7
+msgid "Entity Key"
+msgstr "Clau entitat"
+
+#: frontend/src/metabase/lib/core.js:8 frontend/src/metabase/lib/core.js:14
+#: frontend/src/metabase/lib/core.js:20
+msgid "Overall Row"
+msgstr "Fila general"
+
+#: frontend/src/metabase/lib/core.js:9
+msgid "The primary key for this table."
+msgstr "La clau principal d'aquesta taula"
+
+#: frontend/src/metabase/lib/core.js:13
+msgid "Entity Name"
+msgstr "Nom de l'entitat"
+
+#: frontend/src/metabase/lib/core.js:15
+msgid "The \"name\" of each record. Usually a column called \"name\", \"title\", etc."
+msgstr "El \"nom\" de cada registre. Normalment una columna anomenada \"nom\", \"títol\", etc."
+
+#: frontend/src/metabase/lib/core.js:19
+msgid "Foreign Key"
+msgstr "Clau forana"
+
+#: frontend/src/metabase/lib/core.js:21
+msgid "Points to another table to make a connection."
+msgstr "Referencia a una altra taula per establir una conexxió"
+
+#: frontend/src/metabase/lib/core.js:25
+msgid "Avatar Image URL"
+msgstr "URL del avatar"
+
+#: frontend/src/metabase/lib/core.js:26 frontend/src/metabase/lib/core.js:31
+#: frontend/src/metabase/lib/core.js:36 frontend/src/metabase/lib/core.js:41
+#: frontend/src/metabase/lib/core.js:46 frontend/src/metabase/lib/core.js:51
+#: frontend/src/metabase/lib/core.js:56 frontend/src/metabase/lib/core.js:61
+#: frontend/src/metabase/lib/core.js:66 frontend/src/metabase/lib/core.js:71
+#: frontend/src/metabase/lib/core.js:76 frontend/src/metabase/lib/core.js:81
+#: frontend/src/metabase/lib/core.js:86 frontend/src/metabase/lib/core.js:91
+#: frontend/src/metabase/lib/core.js:96 frontend/src/metabase/lib/core.js:101
+#: frontend/src/metabase/lib/core.js:106 frontend/src/metabase/lib/core.js:111
+#: frontend/src/metabase/lib/core.js:116 frontend/src/metabase/lib/core.js:121
+#: frontend/src/metabase/lib/core.js:126 frontend/src/metabase/lib/core.js:131
+#: frontend/src/metabase/lib/core.js:136 frontend/src/metabase/lib/core.js:141
+#: frontend/src/metabase/lib/core.js:146 frontend/src/metabase/lib/core.js:151
+#: frontend/src/metabase/lib/core.js:156 frontend/src/metabase/lib/core.js:161
+#: frontend/src/metabase/lib/core.js:166 frontend/src/metabase/lib/core.js:171
+#: frontend/src/metabase/lib/core.js:176 frontend/src/metabase/lib/core.js:181
+#: frontend/src/metabase/lib/core.js:186 frontend/src/metabase/lib/core.js:191
+#: frontend/src/metabase/lib/core.js:196 frontend/src/metabase/lib/core.js:201
+#: frontend/src/metabase/lib/core.js:206 frontend/src/metabase/lib/core.js:211
+#: frontend/src/metabase/lib/core.js:216 frontend/src/metabase/lib/core.js:221
+#: frontend/src/metabase/lib/core.js:226 frontend/src/metabase/lib/core.js:231
+msgid "Common"
+msgstr "Comú"
+
+#: frontend/src/metabase/lib/core.js:30
+#: frontend/src/metabase/meta/Dashboard.js:81
+#: frontend/src/metabase/modes/components/actions/PivotByCategoryAction.jsx:9
+msgid "Category"
+msgstr "Categoría"
+
+#: frontend/src/metabase/lib/core.js:35
+#: frontend/src/metabase/meta/Dashboard.js:61
+msgid "City"
+msgstr "Ciutat"
+
+#: frontend/src/metabase/lib/core.js:40
+#: frontend/src/metabase/meta/Dashboard.js:73
+msgid "Country"
+msgstr "País"
+
+#: frontend/src/metabase/lib/core.js:60
+msgid "Enum"
+msgstr "Enum"
+
+#: frontend/src/metabase/lib/core.js:65
+msgid "Image URL"
+msgstr "URL Imatge"
+
+#: frontend/src/metabase/lib/core.js:70
+msgid "Field containing JSON"
+msgstr "Camp que conte JSON"
+
+#: frontend/src/metabase/lib/core.js:75
+msgid "Latitude"
+msgstr "Latitud"
+
+#: frontend/src/metabase/lib/core.js:80
+msgid "Longitude"
+msgstr "Longitud"
+
+#: frontend/src/metabase/lib/core.js:85
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:149
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:41
+msgid "Number"
+msgstr "Número"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:19
+#: frontend/src/metabase/lib/core.js:90
+#: frontend/src/metabase/meta/Dashboard.js:65
+msgid "State"
+msgstr "Província"
+
+#: frontend/src/metabase/lib/core.js:95
+msgid "UNIX Timestamp (Seconds)"
+msgstr "Marca de temps UNIX (Segons)"
+
+#: frontend/src/metabase/lib/core.js:100
+msgid "UNIX Timestamp (Milliseconds)"
+msgstr "Marca de temps UNIX (Mil·lisegons)"
+
+#: frontend/src/metabase/lib/core.js:110
+msgid "Zip Code"
+msgstr "Codi postal"
+
+#: frontend/src/metabase/lib/core.js:115
+msgid "Quantity"
+msgstr "Quantitat"
+
+#: frontend/src/metabase/lib/core.js:120
+msgid "Income"
+msgstr "Ingressos"
+
+#: frontend/src/metabase/lib/core.js:125
+msgid "Discount"
+msgstr "Descompte"
+
+#: frontend/src/metabase/lib/core.js:130
+msgid "Creation timestamp"
+msgstr "Data de creació"
+
+#: frontend/src/metabase/lib/core.js:135
+msgid "Creation time"
+msgstr "Hora de creació"
+
+#: frontend/src/metabase/lib/core.js:140
+msgid "Creation date"
+msgstr "Data de creació"
+
+#: frontend/src/metabase/lib/core.js:145
+msgid "Product"
+msgstr "Producte"
+
+#: frontend/src/metabase/lib/core.js:150
+msgid "User"
+msgstr "Usuari"
+
+#: frontend/src/metabase/lib/core.js:155
+msgid "Source"
+msgstr "Origen"
+
+#: frontend/src/metabase/lib/core.js:160
+msgid "Price"
+msgstr "Preu"
+
+#: frontend/src/metabase/lib/core.js:165
+msgid "Join timestamp"
+msgstr "Unir per temps"
+
+#: frontend/src/metabase/lib/core.js:170
+msgid "Join time"
+msgstr "Unir per temps"
+
+#: frontend/src/metabase/lib/core.js:175
+msgid "Join date"
+msgstr "Unir per data"
+
+#: frontend/src/metabase/lib/core.js:180
+msgid "Share"
+msgstr "Compartir"
+
+#: frontend/src/metabase/lib/core.js:185
+msgid "Owner"
+msgstr "Propietari"
+
+#: frontend/src/metabase/lib/core.js:190
+msgid "Company"
+msgstr "Empresa"
+
+#: frontend/src/metabase/lib/core.js:195
+msgid "Subscription"
+msgstr "Subscripció"
+
+#: frontend/src/metabase/lib/core.js:200
+msgid "Score"
+msgstr "Puntuació"
+
+#: frontend/src/metabase/lib/core.js:210
+#: frontend/src/metabase/public/components/widgets/DisplayOptionsPane.jsx:49
+#: frontend/src/metabase/visualizations/lib/settings/visualization.js:17
+msgid "Title"
+msgstr "Títol"
+
+#: frontend/src/metabase/lib/core.js:215
+msgid "Comment"
+msgstr "Comentari"
+
+#: frontend/src/metabase/lib/core.js:220
+msgid "Cost"
+msgstr "Cost"
+
+#: frontend/src/metabase/lib/core.js:225
+msgid "Gross margin"
+msgstr "Marge brut"
+
+#: frontend/src/metabase/lib/core.js:230
+msgid "Birthday"
+msgstr "Aniversari"
+
+#: frontend/src/metabase/lib/core.js:241
+msgid "Search box"
+msgstr "Caixa de cerca"
+
+#: frontend/src/metabase/lib/core.js:242
+msgid "A list of all values"
+msgstr "Una llista amb tots els valors"
+
+#: frontend/src/metabase/lib/core.js:243
+msgid "Plain input box"
+msgstr "Caixa de text"
+
+#: frontend/src/metabase/lib/core.js:249
+msgid "Everywhere"
+msgstr "A tot arreu"
+
+#: frontend/src/metabase/lib/core.js:250
+msgid "The default setting. This field will be displayed normally in tables and charts."
+msgstr "Configuració per defecte. El camp es mostrarà normalment en taules i gràfics"
+
+#: frontend/src/metabase/lib/core.js:254
+msgid "Only in Detail Views"
+msgstr "Només a les vistes detallades"
+
+#: frontend/src/metabase/lib/core.js:255
+msgid "This field will only be displayed when viewing the details of a single record. Use this for information that's lengthy or that isn't useful in a table or chart."
+msgstr "Aquest camp només es mostrarà al veure els detalls d'un registre. Feu-ho servir per obtenir informació llarga o que no es útil en una taula o gràfic."
+
+#: frontend/src/metabase/lib/core.js:259
+msgid "Do Not Include"
+msgstr "Exloure"
+
+#: frontend/src/metabase/lib/core.js:260
+msgid "Metabase will never retrieve this field. Use this for sensitive or irrelevant information."
+msgstr "El Metabase mai obtindrà aquesta camp. Fes-ho servir per informació sensible o irrelevant"
+
+#: frontend/src/metabase/lib/expressions/config.js:7
+#: frontend/src/metabase/lib/query.js:614
+#: frontend/src/metabase/visualizations/lib/utils.js:126
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+msgid "Count"
+msgstr "Compta"
+
+#: frontend/src/metabase/lib/expressions/config.js:8
+msgid "CumulativeCount"
+msgstr "RecompteCumulatiu"
+
+#: frontend/src/metabase/lib/expressions/config.js:9
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:17
+#: frontend/src/metabase/visualizations/lib/utils.js:127
+msgid "Sum"
+msgstr "Suma"
+
+#: frontend/src/metabase/lib/expressions/config.js:10
+msgid "CumulativeSum"
+msgstr "SumaCumulativa"
+
+#: frontend/src/metabase/lib/expressions/config.js:11
+#: frontend/src/metabase/visualizations/lib/utils.js:128
+msgid "Distinct"
+msgstr "Diferent"
+
+#: frontend/src/metabase/lib/expressions/config.js:12
+msgid "StandardDeviation"
+msgstr "DesviacióEstàndard"
+
+#: frontend/src/metabase/lib/expressions/config.js:13
+#: frontend/src/metabase/visualizations/lib/utils.js:125
+msgid "Average"
+msgstr "Mitja"
+
+#: frontend/src/metabase/lib/expressions/config.js:14
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:25
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:48
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:450
+msgid "Min"
+msgstr "Mínim"
+
+#: frontend/src/metabase/lib/expressions/config.js:15
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:29
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:57
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:458
+msgid "Max"
+msgstr "Màxim"
+
+#: frontend/src/metabase/lib/expressions/parser.js:384
+msgid "sad sad panda, lexing errors detected"
+msgstr "Trist, molt trista: S'han trobat errors lèxics"
+
+#: frontend/src/metabase/lib/formatting.js:707
+msgid "{0} second"
+msgid_plural "{0} seconds"
+msgstr[0] "{0} segon"
+msgstr[1] "{0} segons"
+
+#: frontend/src/metabase/lib/formatting.js:710
+msgid "{0} minute"
+msgid_plural "{0} minutes"
+msgstr[0] "{0} minut"
+msgstr[1] "{0} minuts"
+
+#: frontend/src/metabase/lib/greeting.js:4
+msgid "Hey there"
+msgstr "Hola"
+
+#: frontend/src/metabase/lib/greeting.js:5
+#: frontend/src/metabase/lib/greeting.js:29
+msgid "How's it going"
+msgstr "Que tal?"
+
+#: frontend/src/metabase/lib/greeting.js:6
+msgid "Howdy"
+msgstr "Hola"
+
+#: frontend/src/metabase/lib/greeting.js:7
+msgid "Greetings"
+msgstr "Salutacions"
+
+#: frontend/src/metabase/lib/greeting.js:8
+msgid "Good to see you"
+msgstr "Un plaer veure't"
+
+#: frontend/src/metabase/lib/greeting.js:12
+msgid "What do you want to know?"
+msgstr "Que vols saber?"
+
+#: frontend/src/metabase/lib/greeting.js:13
+msgid "What's on your mind?"
+msgstr "Que tens en ment?"
+
+#: frontend/src/metabase/lib/greeting.js:14
+msgid "What do you want to find out?"
+msgstr "Sobre que vols buscar?"
+
+#: frontend/src/metabase/lib/query.js:612
+#: frontend/src/metabase/lib/schema_metadata.js:451
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:246
+msgid "Raw data"
+msgstr "Dades brutes"
+
+#: frontend/src/metabase/lib/query.js:616
+msgid "Cumulative count"
+msgstr "Recompte cumulatiu"
+
+#: frontend/src/metabase/lib/query.js:619
+msgid "Average of "
+msgstr "Mtija de"
+
+#: frontend/src/metabase/lib/query.js:624
+msgid "Distinct values of "
+msgstr "Valors diferents de"
+
+#: frontend/src/metabase/lib/query.js:629
+msgid "Standard deviation of "
+msgstr "Desviació estàndard de "
+
+#: frontend/src/metabase/lib/query.js:634
+msgid "Sum of "
+msgstr "Suma de "
+
+#: frontend/src/metabase/lib/query.js:639
+msgid "Cumulative sum of "
+msgstr "Suma acumulativa de"
+
+#: frontend/src/metabase/lib/query.js:644
+msgid "Maximum of "
+msgstr "Màxim de"
+
+#: frontend/src/metabase/lib/query.js:649
+msgid "Minimum of "
+msgstr "Mínim de"
+
+#: frontend/src/metabase/lib/query.js:663
+msgid "Grouped by "
+msgstr "Agrupat per"
+
+#: frontend/src/metabase/lib/query.js:677
+msgid "Filtered by "
+msgstr "Filtrar per"
+
+#: frontend/src/metabase/lib/query.js:706
+msgid "Sorted by "
+msgstr "Ordenat per"
+
+#: frontend/src/metabase/lib/schema_metadata.js:221
+msgid "True"
+msgstr "Verdader"
+
+#: frontend/src/metabase/lib/schema_metadata.js:221
+msgid "False"
+msgstr "Fals"
+
+#: frontend/src/metabase/lib/schema_metadata.js:305
+msgid "Select longitude field"
+msgstr "Selecciona la longitud del camp"
+
+#: frontend/src/metabase/lib/schema_metadata.js:306
+msgid "Enter upper latitude"
+msgstr "Introdueix la latitud superior"
+
+#: frontend/src/metabase/lib/schema_metadata.js:307
+msgid "Enter left longitude"
+msgstr "Longitud esquerra"
+
+#: frontend/src/metabase/lib/schema_metadata.js:308
+msgid "Enter lower latitude"
+msgstr "Longitud inferior"
+
+#: frontend/src/metabase/lib/schema_metadata.js:309
+msgid "Enter right longitude"
+msgstr "Longitud dreta"
+
+#: frontend/src/metabase/lib/schema_metadata.js:345
+#: frontend/src/metabase/lib/schema_metadata.js:365
+#: frontend/src/metabase/lib/schema_metadata.js:375
+#: frontend/src/metabase/lib/schema_metadata.js:381
+#: frontend/src/metabase/lib/schema_metadata.js:389
+#: frontend/src/metabase/lib/schema_metadata.js:395
+#: frontend/src/metabase/lib/schema_metadata.js:400
+msgid "Is"
+msgstr "És"
+
+#: frontend/src/metabase/lib/schema_metadata.js:346
+#: frontend/src/metabase/lib/schema_metadata.js:366
+#: frontend/src/metabase/lib/schema_metadata.js:376
+#: frontend/src/metabase/lib/schema_metadata.js:390
+#: frontend/src/metabase/lib/schema_metadata.js:396
+msgid "Is not"
+msgstr "No és"
+
+#: frontend/src/metabase/lib/schema_metadata.js:347
+#: frontend/src/metabase/lib/schema_metadata.js:361
+#: frontend/src/metabase/lib/schema_metadata.js:369
+#: frontend/src/metabase/lib/schema_metadata.js:377
+#: frontend/src/metabase/lib/schema_metadata.js:385
+#: frontend/src/metabase/lib/schema_metadata.js:391
+#: frontend/src/metabase/lib/schema_metadata.js:401
+msgid "Is empty"
+msgstr "Està buit"
+
+#: frontend/src/metabase/lib/schema_metadata.js:348
+#: frontend/src/metabase/lib/schema_metadata.js:362
+#: frontend/src/metabase/lib/schema_metadata.js:370
+#: frontend/src/metabase/lib/schema_metadata.js:378
+#: frontend/src/metabase/lib/schema_metadata.js:386
+#: frontend/src/metabase/lib/schema_metadata.js:392
+#: frontend/src/metabase/lib/schema_metadata.js:402
+msgid "Not empty"
+msgstr "No està buit"
+
+#: frontend/src/metabase/lib/schema_metadata.js:354
+msgid "Equal to"
+msgstr "Igual a"
+
+#: frontend/src/metabase/lib/schema_metadata.js:355
+msgid "Not equal to"
+msgstr "Diferent de"
+
+#: frontend/src/metabase/lib/schema_metadata.js:356
+msgid "Greater than"
+msgstr "Major que"
+
+#: frontend/src/metabase/lib/schema_metadata.js:357
+msgid "Less than"
+msgstr "Menor que"
+
+#: frontend/src/metabase/lib/schema_metadata.js:358
+#: frontend/src/metabase/lib/schema_metadata.js:384
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:285
+#: frontend/src/metabase/query_builder/components/filters/pickers/TimePicker.jsx:96
+msgid "Between"
+msgstr "Entre"
+
+#: frontend/src/metabase/lib/schema_metadata.js:359
+msgid "Greater than or equal to"
+msgstr "Major o igual que"
+
+#: frontend/src/metabase/lib/schema_metadata.js:360
+msgid "Less than or equal to"
+msgstr "Menor o igual que"
+
+#: frontend/src/metabase/lib/schema_metadata.js:367
+msgid "Contains"
+msgstr "Conté"
+
+#: frontend/src/metabase/lib/schema_metadata.js:368
+msgid "Does not contain"
+msgstr "No conté"
+
+#: frontend/src/metabase/lib/schema_metadata.js:371
+msgid "Starts with"
+msgstr "Comença amb"
+
+#: frontend/src/metabase/lib/schema_metadata.js:372
+msgid "Ends with"
+msgstr "Acaba amb"
+
+#: frontend/src/metabase/lib/schema_metadata.js:382
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:264
+#: frontend/src/metabase/query_builder/components/filters/pickers/TimePicker.jsx:74
+msgid "Before"
+msgstr "Abans"
+
+#: frontend/src/metabase/lib/schema_metadata.js:383
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:271
+#: frontend/src/metabase/query_builder/components/filters/pickers/TimePicker.jsx:85
+msgid "After"
+msgstr "Després"
+
+#: frontend/src/metabase/lib/schema_metadata.js:397
+msgid "Inside"
+msgstr "Dins"
+
+#: frontend/src/metabase/lib/schema_metadata.js:453
+msgid "Just a table with the rows in the answer, no additional operations."
+msgstr "Només una taula amb files a la a resposta. Sense operacions addicionals."
+
+#: frontend/src/metabase/lib/schema_metadata.js:459
+msgid "Count of rows"
+msgstr "Nombre de files"
+
+#: frontend/src/metabase/lib/schema_metadata.js:461
+msgid "Total number of rows in the answer."
+msgstr "Nombre total de files a la resposta"
+
+#: frontend/src/metabase/lib/schema_metadata.js:467
+msgid "Sum of ..."
+msgstr "Suma de ..."
+
+#: frontend/src/metabase/lib/schema_metadata.js:469
+msgid "Sum of all the values of a column."
+msgstr "Suma tots els valors de una columna"
+
+#: frontend/src/metabase/lib/schema_metadata.js:475
+msgid "Average of ..."
+msgstr "Mitja de ..."
+
+#: frontend/src/metabase/lib/schema_metadata.js:477
+msgid "Average of all the values of a column"
+msgstr "Mitja de tots els valors de una columna"
+
+#: frontend/src/metabase/lib/schema_metadata.js:483
+msgid "Number of distinct values of ..."
+msgstr "Nombre de valors diferents de ..."
+
+#: frontend/src/metabase/lib/schema_metadata.js:485
+msgid "Number of unique values of a column among all the rows in the answer."
+msgstr "Nombre de valors únics de una columna entre totes les files de la resposta"
+
+#: frontend/src/metabase/lib/schema_metadata.js:491
+msgid "Cumulative sum of ..."
+msgstr "Suma acumulada de ..."
+
+#: frontend/src/metabase/lib/schema_metadata.js:493
+msgid "Additive sum of all the values of a column.\\\\ne.x. total revenue over time."
+msgstr "Suma cumulativa de tots els valors de una columan. \\\\n Per exemple: Els ingressos totals al llarg del temps"
+
+#: frontend/src/metabase/lib/schema_metadata.js:499
+msgid "Cumulative count of rows"
+msgstr "Recompte acumulat de files"
+
+#: frontend/src/metabase/lib/schema_metadata.js:501
+msgid "Additive count of the number of rows.\\\\ne.x. total number of sales over time."
+msgstr "Recompte acumulat del número de files. \\\\n Per exemple: el nombre total de vendes al llarg del temps"
+
+#: frontend/src/metabase/lib/schema_metadata.js:507
+msgid "Standard deviation of ..."
+msgstr "Desviació estàndard de ..."
+
+#: frontend/src/metabase/lib/schema_metadata.js:509
+msgid "Number which expresses how much the values of a column vary among all rows in the answer."
+msgstr "Nombre que expressa com varien els valors de una columna entre totes les files de la resposta"
+
+#: frontend/src/metabase/lib/schema_metadata.js:515
+msgid "Minimum of ..."
+msgstr "Mínim de ..."
+
+#: frontend/src/metabase/lib/schema_metadata.js:517
+msgid "Minimum value of a column"
+msgstr "Valor mínim de una columna"
+
+#: frontend/src/metabase/lib/schema_metadata.js:523
+msgid "Maximum of ..."
+msgstr "Màxim de ..."
+
+#: frontend/src/metabase/lib/schema_metadata.js:525
+msgid "Maximum value of a column"
+msgstr "Valor màxim de una columna"
+
+#: frontend/src/metabase/lib/schema_metadata.js:533
+msgid "Break out by dimension"
+msgstr "Detalla per dimensió"
+
+#: frontend/src/metabase/lib/settings.js:93
+msgid "lower case letter"
+msgstr "lletra en minúscules"
+
+#: frontend/src/metabase/lib/settings.js:95
+msgid "upper case letter"
+msgstr "lletra en majúscules"
+
+#: frontend/src/metabase/lib/settings.js:97
+#: src/metabase/automagic_dashboards/core.clj
+msgid "number"
+msgstr "número"
+
+#: frontend/src/metabase/lib/settings.js:99
+msgid "special character"
+msgstr "caràcter especials"
+
+#: frontend/src/metabase/lib/settings.js:105
+msgid "must be"
+msgstr "ha de ser"
+
+#: frontend/src/metabase/lib/settings.js:105
+#: frontend/src/metabase/lib/settings.js:106
+msgid "characters long"
+msgstr "caràcters"
+
+#: frontend/src/metabase/lib/settings.js:106
+msgid "Must be"
+msgstr "Ha de ser"
+
+#: frontend/src/metabase/lib/settings.js:122
+msgid "and include"
+msgstr "i incloure"
+
+#: frontend/src/metabase/lib/utils.js:92
+msgid "zero"
+msgstr "zero"
+
+#: frontend/src/metabase/lib/utils.js:93
+msgid "one"
+msgstr "un"
+
+#: frontend/src/metabase/lib/utils.js:94
+msgid "two"
+msgstr "dos"
+
+#: frontend/src/metabase/lib/utils.js:95
+msgid "three"
+msgstr "tres"
+
+#: frontend/src/metabase/lib/utils.js:96
+msgid "four"
+msgstr "quatre"
+
+#: frontend/src/metabase/lib/utils.js:97
+msgid "five"
+msgstr "cinc"
+
+#: frontend/src/metabase/lib/utils.js:98
+msgid "six"
+msgstr "sis"
+
+#: frontend/src/metabase/lib/utils.js:99
+msgid "seven"
+msgstr "set"
+
+#: frontend/src/metabase/lib/utils.js:100
+msgid "eight"
+msgstr "vuit"
+
+#: frontend/src/metabase/lib/utils.js:101
+msgid "nine"
+msgstr "nou"
+
+#: frontend/src/metabase/meta/Dashboard.js:30
+msgid "Month and Year"
+msgstr "Més i any"
+
+#: frontend/src/metabase/meta/Dashboard.js:31
+msgid "Like January, 2016"
+msgstr "Per exemple: Gener 2016"
+
+#: frontend/src/metabase/meta/Dashboard.js:35
+msgid "Quarter and Year"
+msgstr "Trimestre i any"
+
+#: frontend/src/metabase/meta/Dashboard.js:36
+msgid "Like Q1, 2016"
+msgstr "Per exemple: T1, 2016"
+
+#: frontend/src/metabase/meta/Dashboard.js:40
+msgid "Single Date"
+msgstr "Data única"
+
+#: frontend/src/metabase/meta/Dashboard.js:41
+msgid "Like January 31, 2016"
+msgstr "Per exemple: 31 de Gener, 2016"
+
+#: frontend/src/metabase/meta/Dashboard.js:45
+msgid "Date Range"
+msgstr "Rang de dates"
+
+#: frontend/src/metabase/meta/Dashboard.js:46
+msgid "Like December 25, 2015 - February 14, 2016"
+msgstr "Per exemple: 25 de Desembre, 2015 - 15 de Febrer 2016"
+
+#: frontend/src/metabase/meta/Dashboard.js:50
+msgid "Relative Date"
+msgstr "Data relativa"
+
+#: frontend/src/metabase/meta/Dashboard.js:51
+msgid "Like \"the last 7 days\" or \"this month\""
+msgstr "Per exemple: \"Els últims 7 dies\" o \"Aquest més\""
+
+#: frontend/src/metabase/meta/Dashboard.js:55
+msgid "Date Filter"
+msgstr "Filtre de data"
+
+#: frontend/src/metabase/meta/Dashboard.js:56
+msgid "All Options"
+msgstr "Totes les opcions"
+
+#: frontend/src/metabase/meta/Dashboard.js:57
+msgid "Contains all of the above"
+msgstr "Conté tot el anterior"
+
+#: frontend/src/metabase/meta/Dashboard.js:69
+msgid "ZIP or Postal Code"
+msgstr "Codi postal"
+
+#: frontend/src/metabase/meta/Dashboard.js:77
+#: frontend/src/metabase/meta/Dashboard.js:107
+msgid "ID"
+msgstr "ID"
+
+#: frontend/src/metabase/meta/Dashboard.js:95
+#: frontend/src/metabase/modes/components/actions/PivotByTimeAction.jsx:8
+msgid "Time"
+msgstr "Temps"
+
+#: frontend/src/metabase/meta/Dashboard.js:96
+msgid "Date range, relative date, time of day, etc."
+msgstr "Rang de dates, data relativa, hora del dia, etc."
+
+#: frontend/src/metabase/meta/Dashboard.js:101
+#: frontend/src/metabase/modes/components/actions/PivotByLocationAction.jsx:8
+msgid "Location"
+msgstr "Ubicació"
+
+#: frontend/src/metabase/meta/Dashboard.js:102
+msgid "City, State, Country, ZIP code."
+msgstr "Ciutat, Província, País, Codi postal."
+
+#: frontend/src/metabase/meta/Dashboard.js:108
+msgid "User ID, product ID, event ID, etc."
+msgstr "ID Usuari, ID Producto, ID Evento, etc."
+
+#: frontend/src/metabase/meta/Dashboard.js:113
+msgid "Other Categories"
+msgstr "Altres categories"
+
+#: frontend/src/metabase/meta/Dashboard.js:114
+msgid "Category, Type, Model, Rating, etc."
+msgstr "Categoria"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:42
+#: frontend/src/metabase/user/components/UserSettings.jsx:54
+msgid "Account settings"
+msgstr "Configuració del compte"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:49
+msgid "Exit admin"
+msgstr "Sortir de l'administració"
+
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:34
+msgid "Logs"
+msgstr "Registres"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:58
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorSidebar.jsx:105
+msgid "Help"
+msgstr "Ajuda"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:67
+msgid "About Metabase"
+msgstr "Sobre Metabase"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:73
+msgid "Sign out"
+msgstr "Sortir"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:98
+msgid "Thanks for using"
+msgstr "Gràcies per utilitzar"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:102
+msgid "You're on version"
+msgstr "Esteu utilitzant la versió"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:105
+msgid "Built on"
+msgstr "Construïda el"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:124
+msgid "is a Trademark of"
+msgstr "es una marca registrada de"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:126
+msgid "and is built with care in San Francisco, CA"
+msgstr "i s'ha desenvolupat amb amor a San Francisco, California"
+
+#: frontend/src/metabase/nav/containers/Navbar.jsx:194
+msgid "Metabase Admin"
+msgstr "Administració del Metabase"
+
+#: frontend/src/metabase/nav/containers/Navbar.jsx:300
+#: frontend/src/metabase/reference/databases/TableQuestions.jsx:36
+#: frontend/src/metabase/reference/metrics/MetricQuestions.jsx:37
+#: frontend/src/metabase/reference/segments/SegmentQuestions.jsx:37
+msgid "Ask a question"
+msgstr "Fes una pregunta"
+
+#: frontend/src/metabase/nav/containers/Navbar.jsx:309
+msgid "New dashboard"
+msgstr "Afegeix un nou quadre de comandament"
+
+#: frontend/src/metabase/nav/containers/Navbar.jsx:315
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:127
+msgid "New pulse"
+msgstr "Nou pols"
+
+#: frontend/src/metabase/nav/containers/Navbar.jsx:323
+msgid "Reference"
+msgstr "Referència"
+
+#: frontend/src/metabase/new_query/containers/MetricSearch.jsx:83
+msgid "Which metric?"
+msgstr "Quina mètrica?"
+
+#: frontend/src/metabase/new_query/containers/MetricSearch.jsx:110
+#: frontend/src/metabase/reference/metrics/MetricList.jsx:24
+msgid "Defining common metrics for your team makes it even easier to ask questions"
+msgstr "La definició de mètriques comunes per al teu equip fa que sigui encara més fàcil crear preguntes"
+
+#: frontend/src/metabase/new_query/containers/MetricSearch.jsx:113
+msgid "How to create metrics"
+msgstr "Com crear mètriques"
+
+#: frontend/src/metabase/new_query/containers/NewQueryOptions.jsx:138
+msgid "See data over time, as a map, or pivoted to help you understand trends or changes."
+msgstr "Consulta les dades al llarg del temps, com a mapa o en una taula pivotada per ajudar a entendre les tendències o els canvis."
+
+#: frontend/src/metabase/new_query/containers/NewQueryOptions.jsx:149
+msgid "Custom"
+msgstr "Personalitzat"
+
+#: frontend/src/metabase/new_query/containers/NewQueryOptions.jsx:150
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:517
+msgid "New question"
+msgstr "Nova pregunta"
+
+#: frontend/src/metabase/new_query/containers/NewQueryOptions.jsx:152
+msgid "Use the simple question builder to see trends, lists of things, or to create your own metrics."
+msgstr "Utilitzeu el generador de preguntes per veure tendències, llistes de coses o les teves pròpies mètriques"
+
+#: frontend/src/metabase/new_query/containers/NewQueryOptions.jsx:161
+#: src/metabase/automagic_dashboards/core.clj
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Native query"
+msgstr "Consulta nativa"
+
+#: frontend/src/metabase/new_query/containers/NewQueryOptions.jsx:162
+msgid "For more complicated questions, you can write your own SQL or native query."
+msgstr "Per a preguntes més complicades pots escriure la teva pròpia consulta SQL o nativa."
+
+#: frontend/src/metabase/parameters/components/ParameterValueWidget.jsx:240
+msgid "Select a default value…"
+msgstr "Seleccioneu un valor per defecte"
+
+#: frontend/src/metabase/parameters/components/widgets/DateAllOptionsWidget.jsx:149
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:404
+msgid "Update filter"
+msgstr "Actualitzar el fitlre"
+
+#: frontend/src/metabase/lib/query_time.js:112
+#: frontend/src/metabase/lib/query_time.js:123
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:9
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:144
+#: src/metabase/pulse/render.clj
+msgid "Today"
+msgstr "Avui"
+
+#: frontend/src/metabase/lib/query_time.js:118
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:14
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:148
+#: src/metabase/pulse/render.clj
+msgid "Yesterday"
+msgstr "Ahir"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:18
+msgid "Past 7 days"
+msgstr "Els últims 7 dies"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:19
+msgid "Past 30 days"
+msgstr "El últims 30 dies"
+
+#: frontend/src/metabase/lib/query_time.js:195
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:24
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:29
+#: src/metabase/api/table.clj
+msgid "Week"
+msgid_plural "Weeks"
+msgstr[0] "Setmana"
+msgstr[1] "Setmanes"
+
+#: frontend/src/metabase/lib/query_time.js:197
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:25
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:30
+#: src/metabase/api/table.clj
+msgid "Month"
+msgid_plural "Months"
+msgstr[0] "Mes"
+msgstr[1] "Mesos"
+
+#: frontend/src/metabase/lib/query_time.js:201
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:26
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:31
+#: src/metabase/api/table.clj
+msgid "Year"
+msgid_plural "Years"
+msgstr[0] "Any"
+msgstr[1] "Anys"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:152
+msgid "Past 7 Days"
+msgstr "Últims 7 dies"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:156
+msgid "Past 30 Days"
+msgstr "Últims 30 dies"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:160
+msgid "Last Week"
+msgstr "La setmana passada"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:164
+msgid "Last Month"
+msgstr "El mes passat"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:168
+msgid "Last Year"
+msgstr "L'any passat"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:172
+msgid "This Week"
+msgstr "Aquesta setmana"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:176
+msgid "This Month"
+msgstr "Aquest mes"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:180
+msgid "This Year"
+msgstr "Aquest any"
+
+#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:89
+#: frontend/src/metabase/parameters/components/widgets/TextWidget.jsx:54
+msgid "Enter a value..."
+msgstr "Introduïu un valor"
+
+#: frontend/src/metabase/parameters/components/widgets/TextWidget.jsx:90
+msgid "Enter a default value..."
+msgstr "Introduïu un valor predeterminat"
+
+#: frontend/src/metabase/public/components/PublicError.jsx:18
+msgid "An error occurred"
+msgstr "S'ha produït un error"
+
+#: frontend/src/metabase/public/components/PublicNotFound.jsx:11
+msgid "Not found"
+msgstr "No s'ha trobat"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:82
+msgid "You’ve made changes that need to be published before they will be reflected in your application embed."
+msgstr "Heu realitzat canvis que s'han de publicar abans de que es vegin a les aplicacions incrustades."
+
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:83
+msgid "You will need to publish this {0} before you can embed it in another application."
+msgstr "Hauràs de publicar aquest {0} abans de poder incrustar-lo en una altra aplicació."
+
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:92
+msgid "Discard Changes"
+msgstr "Descarta els canvis"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:99
+msgid "Updating..."
+msgstr "Actualitzant..."
+
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:100
+msgid "Updated"
+msgstr "Actualitzat"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:101
+msgid "Failed!"
+msgstr "Ha fallat!"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:102
+msgid "Publish"
+msgstr "Publica"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:111
+msgid "Code"
+msgstr "Códi"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:70
+#: frontend/src/metabase/visualizations/lib/settings/column.js:282
+msgid "Style"
+msgstr "Estil"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:80
+msgid "Which parameters can users of this embed use?"
+msgstr "Quins paràmetres poden utilitzar els usuaris d'aquesta incrustació?"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:83
+msgid "This {0} doesn't have any parameters to configure yet."
+msgstr "El {0} encara no té cap paràmetre per conigurar"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:104
+msgid "Editable"
+msgstr "Editable"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:105
+msgid "Locked"
+msgstr "Bloquejat"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:113
+msgid "Preview Locked Parameters"
+msgstr "Previsualització dels paràmetres bloquejats"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:115
+msgid "Try passing some values to your locked parameters here. Your server will have to provide the actual values in the signed token when using this for real."
+msgstr "Intenta passar alguns valors al paràmetres bloquejats aquí. El teu servidor haurà de proporcionar els valors reals als token firmat quan s'utilitzi això de debò."
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:126
+msgid "Danger zone"
+msgstr "Zona perillosa"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:127
+msgid "This will disable embedding for this {0}."
+msgstr "Això deshabilitarà la incrustació per aquest {0}"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:128
+msgid "Unpublish"
+msgstr "No publicar"
+
+#: frontend/src/metabase/public/components/widgets/DisplayOptionsPane.jsx:17
+msgid "Light"
+msgstr "Clar"
+
+#: frontend/src/metabase/public/components/widgets/DisplayOptionsPane.jsx:18
+msgid "Dark"
+msgstr "Fosc"
+
+#: frontend/src/metabase/public/components/widgets/DisplayOptionsPane.jsx:37
+msgid "Border"
+msgstr "Marge"
+
+#: frontend/src/metabase/public/components/widgets/EmbedCodePane.jsx:62
+msgid "To embed this {0} in your application:"
+msgstr "Insereix aquest {0} a la teva aplicació"
+
+#: frontend/src/metabase/public/components/widgets/EmbedCodePane.jsx:64
+msgid "Insert this code snippet in your server code to generate the signed embedding URL "
+msgstr "Insereix aquest fragment al codi del teu servidor per genera la URL de inserció firmada "
+
+#: frontend/src/metabase/public/components/widgets/EmbedCodePane.jsx:87
+msgid "Then insert this code snippet in your HTML template or single page app."
+msgstr "A continuació, inserta aquest fragment de codi a la teva plantilla HTML o aplicació de pàgina única."
+
+#: frontend/src/metabase/public/components/widgets/EmbedCodePane.jsx:94
+msgid "Embed code snippet for your HTML or Frontend Application"
+msgstr "Incrusta aquest fragment al codi de la teva aplicació"
+
+#: frontend/src/metabase/public/components/widgets/EmbedCodePane.jsx:101
+msgid "More {0}"
+msgstr "Més {0}"
+
+#: frontend/src/metabase/public/components/widgets/EmbedCodePane.jsx:103
+msgid "examples on GitHub"
+msgstr "exemples a GitHub"
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:72
+msgid "Enable sharing"
+msgstr "Habilitar la compartició"
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:76
+msgid "Disable this public link?"
+msgstr "Deshabilitar aquest enllaç púbic?"
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:77
+msgid "This will cause the existing link to stop working. You can re-enable it, but when you do it will be a different link."
+msgstr "Això farà que aquest enllaç deixi de funcionar. Pots tornar-lo a habilitar però quan ho facis aquest serà un enllaç diferent."
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:117
+msgid "Public link"
+msgstr "Enllaç públic"
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:118
+msgid "Share this {0} with people who don't have a Metabase account using the URL below:"
+msgstr "Comparteix aquest {0} amb persones que no tenen una compte de Metabase utilitzant la següent URL:"
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:158
+msgid "Public embed"
+msgstr "Incrustació púbilca"
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:159
+msgid "Embed this {0} in blog posts or web pages by copying and pasting this snippet:"
+msgstr "Incrusta aquest {0} en publicaciós de blocs i pàgines web copiant i pegant aquest fragment:"
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:176
+msgid "Embed this {0} in an application"
+msgstr "Incrusta aquest {0} en una aplicació"
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:177
+msgid "By integrating with your application server code, you can provide a secure stats {0} limited to a specific user, customer, organization, etc."
+msgstr "Al integrar-t'he amb un servidor d'aplicacions pots proporcionar estadístiques segures {0} limitades a una usuari, clients o organitzacions específiques."
+
+#: frontend/src/metabase/pulse/components/PulseCardPreview.jsx:94
+msgid "Remove attachment"
+msgstr "Elimina l'adjunt"
+
+#: frontend/src/metabase/pulse/components/PulseCardPreview.jsx:95
+msgid "Attach file with results"
+msgstr "Adjunta un fitxer amb els resultats"
+
+#: frontend/src/metabase/pulse/components/PulseCardPreview.jsx:127
+msgid "This question will be added as a file attachment"
+msgstr "Aquesta pregunta s'afegirà com un fitxer adjunt"
+
+#: frontend/src/metabase/pulse/components/PulseCardPreview.jsx:128
+msgid "This question won't be included in your Pulse"
+msgstr "Aquesta pregunta no estarà inclosa en el teu Pols."
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:92
+msgid "This pulse will no longer be emailed to {0} {1}"
+msgstr "Aquest pols ja no s'enviarà per correu electrònic a la direcció {1}"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:94
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:376
+msgid "{0} address"
+msgid_plural "{0} addresses"
+msgstr[0] "{0} direcció"
+msgstr[1] "{0} direccions"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:102
+msgid "Slack channel {0} will no longer get this pulse {1}"
+msgstr "El canal de Slack {0} ja no rebrà aquest pols {1}"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:110
+msgid "Channel {0} will no longer receive this pulse {1}"
+msgstr "El canal {0} ja no rebrà aquest pols {1}"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:127
+msgid "Edit pulse"
+msgstr "Edita un pols"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:131
+msgid "What's a Pulse?"
+msgstr "¿Que es un pols?"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:141
+msgid "Got it"
+msgstr "Ho he entès!"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:157
+msgid "Where should this data go?"
+msgstr "A on haurien d'anar aquestes dades?"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:173
+msgid "Unarchiving…"
+msgstr "Desarxivant..."
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:174
+msgid "Unarchive failed"
+msgstr "Ha fallat la recuperació"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:175
+msgid "Unarchived"
+msgstr "Desarxivat"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:182
+msgid "Create pulse"
+msgstr "Crea un pols"
+
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:90
+msgid "Attachment"
+msgstr "Adjunt"
+
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:104
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:111
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:673
+msgid "Heads up"
+msgstr "Avis"
+
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:105
+msgid "We'll show the first 10 columns and 20 rows of this table in your Pulse. If you email this, we'll add a file attachment with all columns and up to 2,000 rows."
+msgstr "Mostrarem les 10 primer columnes i les 20 files d'aquesta taula al teu pols. Si ho envies per correu electrònic afegirem un fitxer adjunt amb totes les columnes i un màxim de 2.000 files."
+
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:112
+msgid "Raw data questions can only be included as email attachments"
+msgstr "Les preguntes sobre informació en brut només es poden incloure com a fitxers adjunts d'un correu electrònic"
+
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:119
+msgid "Looks like this pulse is getting big"
+msgstr "Sembla que aquest pols està creixent molt"
+
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:120
+msgid "We recommend keeping pulses small and focused to help keep them digestible and useful to the whole team."
+msgstr "Recomanem mantenir els polsos petits i enfocats per facilitar la seva comprensió i que siguin útils per tot l'equip"
+
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:160
+msgid "Pick your data"
+msgstr "Escull les teves dade"
+
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:162
+msgid "Choose questions you'd like to send in this pulse"
+msgstr "Escull les preguntes que t'agradaria enviar en aquest pols"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:27
+msgid "Emails"
+msgstr "Correus electrònics"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:28
+msgid "Slack messages"
+msgstr "Missatges de Slack"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:221
+msgid "Sent"
+msgstr "Enviat"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:222
+msgid "{0} will be sent at"
+msgstr "{0} s'enviarà a la les"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:224
+msgid "Messages"
+msgstr "Missatges"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:240
+msgid "Send email now"
+msgstr "Envia el correu electrònic ara"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:241
+msgid "Send to {0} now"
+msgstr "Envia a {0} ara"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:243
+msgid "Sending…"
+msgstr "Enviant..."
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:244
+msgid "Sending failed"
+msgstr "S'ha produït un error al enviar"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:247
+msgid "Didn’t send because the pulse has no results."
+msgstr "No s'ha enviat el pols perquè no te resultats"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:248
+msgid "Pulse sent"
+msgstr "Pols enviat"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:287
+msgid "{0} needs to be set up by an administrator."
+msgstr "{0} ha de ser configurat per un administrador."
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:302
+msgid "Slack"
+msgstr "Slack"
+
+#: frontend/src/metabase/pulse/components/PulseEditCollection.jsx:12
+msgid "Which collection should this pulse live in?"
+msgstr "A quina col·lecció hauria d'estar aquest pols?"
+
+#: frontend/src/metabase/pulse/components/PulseEditName.jsx:35
+msgid "Name your pulse"
+msgstr "Nombra el teu pols"
+
+#: frontend/src/metabase/pulse/components/PulseEditName.jsx:37
+msgid "Give your pulse a name to help others understand what it's about"
+msgstr "Fica un nom al teu pols per ajudar als altres a comprendre de que es tracta"
+
+#: frontend/src/metabase/pulse/components/PulseEditName.jsx:49
+msgid "Important metrics"
+msgstr "Mètriques importants"
+
+#: frontend/src/metabase/pulse/components/PulseEditSkip.jsx:22
+msgid "Skip if no results"
+msgstr "Ometre si no hi ha resultats"
+
+#: frontend/src/metabase/pulse/components/PulseEditSkip.jsx:24
+msgid "Skip a scheduled Pulse if none of its questions have any results"
+msgstr "Ometre un pols programat si no s'obté resultat per cap de les seves preguntes "
+
+#: frontend/src/metabase/pulse/components/RecipientPicker.jsx:65
+msgid "Enter email addresses you'd like this data to go to"
+msgstr "Introdueix les direccions "
+
+#: frontend/src/metabase/pulse/components/WhatsAPulse.jsx:16
+msgid "Help everyone on your team stay in sync with your data."
+msgstr "Ajuda a tots els membres del teu equip a mantenir-se sincronitzats amb totes les teves dades."
+
+#: frontend/src/metabase/pulse/components/WhatsAPulse.jsx:30
+msgid "Pulses let you send data from Metabase to email or Slack on the schedule of your choice."
+msgstr "Els polsos es permeten enviar dades de Metabase en una data planificada per correu electrònic o per Slack."
+
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:100
+msgid "After {0}"
+msgstr "Desprès de {0}"
+
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:102
+msgid "Before {0}"
+msgstr "Abans de {0}"
+
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:104
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:295
+msgid "Is Empty"
+msgstr "Buit"
+
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:106
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:301
+msgid "Not Empty"
+msgstr "No buit"
+
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:109
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:213
+msgid "All Time"
+msgstr "Tot el temps"
+
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:154
+msgid "Apply"
+msgstr "Aplica"
+
+#: frontend/src/metabase/modes/components/actions/CommonMetricsAction.jsx:21
+msgid "View {0}"
+msgstr "Veure {0}"
+
+#: frontend/src/metabase/modes/components/actions/CompareWithTable.jsx:29
+msgid "Compare this with all rows in the table"
+msgstr "Compara això amb tots els registres de la taula"
+
+#: frontend/src/metabase/modes/components/actions/CompoundQueryAction.jsx:14
+msgid "Analyze the results of this Query"
+msgstr "Analitza els resultats d'aquesta consulta"
+
+#: frontend/src/metabase/modes/components/actions/CountByTimeAction.jsx:29
+msgid "Count of rows by time"
+msgstr "Nombre de files per temps"
+
+#: frontend/src/metabase/modes/components/actions/PivotByAction.jsx:52
+msgid "Break out by {0}"
+msgstr "Distribueix per {0}"
+
+#: frontend/src/metabase/modes/components/actions/SummarizeBySegmentMetricAction.jsx:31
+msgid "Summarize this segment"
+msgstr "Resumeix aquest segment"
+
+#: frontend/src/metabase/modes/components/actions/UnderlyingDataAction.jsx:14
+msgid "View this as a table"
+msgstr "Mostra-ho com una taula"
+
+#: frontend/src/metabase/modes/components/actions/UnderlyingRecordsAction.jsx:22
+msgid "View the underlying {0} records"
+msgstr "Veure els {0} registres subjacents"
+
+#: frontend/src/metabase/modes/components/actions/XRayCard.jsx:20
+msgid "X-Ray this question"
+msgstr "Aplica rajos-X a aquesta pregunta"
+
+#: frontend/src/metabase/qb/components/drill/AutomaticDashboardDrill.jsx:32
+msgid "X-ray {0} {1}"
+msgstr "Rajos-X {0} {1}"
+
+#: frontend/src/metabase/qb/components/drill/AutomaticDashboardDrill.jsx:32
+#: frontend/src/metabase/qb/components/drill/CompareToRestDrill.js:32
+msgid "these"
+msgstr "aquests"
+
+#: frontend/src/metabase/qb/components/drill/AutomaticDashboardDrill.jsx:32
+#: frontend/src/metabase/qb/components/drill/CompareToRestDrill.js:32
+msgid "this"
+msgstr "aquest"
+
+#: frontend/src/metabase/qb/components/drill/CompareToRestDrill.js:32
+msgid "Compare {0} {1} to the rest"
+msgstr "Compara {0} {1} amb la resta"
+
+#: frontend/src/metabase/modes/components/drill/DistributionDrill.jsx:35
+msgid "Distribution"
+msgstr "Distribució"
+
+#: frontend/src/metabase/modes/components/drill/ObjectDetailDrill.jsx:38
+msgid "View details"
+msgstr "Mostra els detalls"
+
+#: frontend/src/metabase/modes/components/drill/QuickFilterDrill.jsx:54
+msgid "View this {0}'s {1}"
+msgstr "Veure els {1} del {0}"
+
+#: frontend/src/metabase/modes/components/drill/SortAction.jsx:42
+msgid "Ascending"
+msgstr "Ascendent"
+
+#: frontend/src/metabase/modes/components/drill/SortAction.jsx:50
+msgid "Descending"
+msgstr "Descendent"
+
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnByTimeDrill.js:47
+msgid "over time"
+msgstr "a través del temps"
+
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:21
+msgid "Avg"
+msgstr "Mitja"
+
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:33
+msgid "Distincts"
+msgstr "Diferents"
+
+#: frontend/src/metabase/modes/components/drill/UnderlyingRecordsDrill.jsx:32
+msgid "View this {0}"
+msgid_plural "View these {0}"
+msgstr[0] "Veure aquest {0}"
+msgstr[1] "Veure aquests {0}"
+
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:225
+#: frontend/src/metabase/modes/components/drill/ZoomDrill.jsx:26
+msgid "Zoom in"
+msgstr "Amplia"
+
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:19
+msgid "Custom Expression"
+msgstr "Expressió personalitzada"
+
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:20
+msgid "Common Metrics"
+msgstr "Mètriques comuns"
+
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:209
+msgid "Metabasics"
+msgstr "Metabasics"
+
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:319
+msgid "Name (optional)"
+msgstr "Nom (opcional)"
+
+#: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:156
+msgid "Choose an aggregation"
+msgstr "Tria un agregat"
+
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:100
+msgid "Set up your own alert"
+msgstr "Configura la teva pròpia alerta"
+
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:140
+msgid "Unsubscribing..."
+msgstr "Donant de baixa..."
+
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:145
+msgid "Failed to unsubscribe"
+msgstr "No s'ha pogut donar de baixa"
+
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:204
+msgid "Unsubscribe"
+msgstr "Donar-se de baixa"
+
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:235
+msgid "No channel"
+msgstr "Sense canal"
+
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:263
+msgid "Okay, you're unsubscribed"
+msgstr "D'acord, t'hem donat de baixa"
+
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:335
+msgid "You're receiving {0}'s alerts"
+msgstr "Esteu rebent les alertes de {0}"
+
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:336
+msgid "{0} set up an alert"
+msgstr "{0} ha configurat una alerta"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:160
+msgid "alerts"
+msgstr "alertes"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:183
+msgid "Let's set up your alert"
+msgstr "Configurem la teva alerta"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:214
+msgid "The wide world of alerts"
+msgstr "El gran món de les alertes"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:215
+msgid "There are a few different kinds of alerts you can get"
+msgstr "Hi ha diferents tipus d'alertes que podeu obtenir"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:229
+msgid "When a raw data question {0}"
+msgstr "Quan una pregunta de dades {0}"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:230
+msgid "returns any results"
+msgstr "obté resultats"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:241
+msgid "When a line or bar {0}"
+msgstr "Quan una línia o barra {0}"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:242
+msgid "crosses a goal line"
+msgstr "supera un objectiu"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:253
+msgid "When a progress bar {0}"
+msgstr "Quan una barra de progrès {0}"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:254
+msgid "reaches its goal"
+msgstr "assoleix el seu objectiu"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:262
+msgid "Set up an alert"
+msgstr "Crea una alerta"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:331
+msgid "Edit your alert"
+msgstr "Edita la teva alerta"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:331
+msgid "Edit alert"
+msgstr "Editar alerta"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:374
+msgid "This alert will no longer be emailed to {0}."
+msgstr "Aquesta alerta ja no s'enviarà per correu electrònica a {0}."
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:382
+msgid "Slack channel {0} will no longer get this alert."
+msgstr "El canal de Slack {0} ja no rebrà aquesta alerta."
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:386
+msgid "Channel {0} will no longer receive this alert."
+msgstr "El canal {0} ja no rebrà aquesta alerta."
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:403
+msgid "Delete this alert"
+msgstr "Elimina aquesta alerta"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:405
+msgid "Stop delivery and delete this alert. There's no undo, so be careful."
+msgstr "Atura l'enviament i elimina aquesta alerta. Vigileu perquè això no es pot desfer."
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:413
+msgid "Delete this alert?"
+msgstr "Eliminar aquesta alerta?"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:497
+msgid "Alert me when the line…"
+msgstr "Avisa'm quan la línia..."
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:498
+msgid "Alert me when the progress bar…"
+msgstr "Avisa'm quan la barra de progrès"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:501
+msgid "Goes above the goal line"
+msgstr "Va per damunt de la línia d'objectiu"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:501
+msgid "Reaches the goal"
+msgstr "Arriba al objectiu"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:504
+msgid "Goes below the goal line"
+msgstr "Va per davall de la línia de objectiu"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:504
+msgid "Goes below the goal"
+msgstr "Va per davall del objectiu"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:512
+msgid "The first time it crosses, or every time?"
+msgstr "La primera vegada que es creua o cada vegada?"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:513
+msgid "The first time it reaches the goal, or every time?"
+msgstr "La primera vegada que s'arriba al objectiu o cada vegada?"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:515
+msgid "The first time"
+msgstr "La primera vegada"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:516
+msgid "Every time"
+msgstr "Cada vegada"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:619
+msgid "Where do you want to send these alerts?"
+msgstr "On vols enviar aquestes alertes?"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:630
+msgid "Email alerts to:"
+msgstr "Envia els correus electrònics d'aquesta alerta a:"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:672
+msgid "{0} Goal-based alerts aren't yet supported for charts with more than one line, so this alert will be sent whenever the chart has {1}."
+msgstr "{0} Les alertes basades en objectius encara no són comptables amb gràfics de més d'una linia de manera que aquesta alerta s'enviara sempre que el gràfic tingui {1}."
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:675
+msgid "results"
+msgstr "resultats"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:679
+msgid "{0} This kind of alert is most useful when your saved question doesn’t {1} return any results, but you want to know when it does."
+msgstr "{0} Aquest tipus d'alerta es més útil quan la teva pregunta {1} no retorna cap resultat però vols saber quan ho fa."
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:680
+msgid "Tip"
+msgstr "Consell:"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:682
+msgid "usually"
+msgstr "generalment"
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:57
+msgid "Pick a segment or table"
+msgstr "Tria un segment o taula"
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:73
+msgid "Select a database"
+msgstr "Selecciona una base de dades"
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:88
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:87
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:187
+#: frontend/src/metabase/reference/components/MetricImportantFieldsDetail.jsx:35
+msgid "Select..."
+msgstr "Seleccionar.."
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:128
+msgid "Select a table"
+msgstr "Selecciona una taula"
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:793
+msgid "No tables found in this database."
+msgstr "No s'han trobat taules en aquesta base de dades"
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:830
+msgid "Is a question missing?"
+msgstr "Falta una pregunta?"
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:834
+msgid "Learn more about nested queries"
+msgstr "Aconsegueix més informació sobre consultes anidades"
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:868
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:30
+msgid "Fields"
+msgstr "Camps"
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:946
+msgid "No segments were found."
+msgstr "No s'han trobat segments"
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:969
+msgid "Find a segment"
+msgstr "Troba un segment"
+
+#: frontend/src/metabase/query_builder/components/ExpandableString.jsx:46
+msgid "View less"
+msgstr "Mostra menys"
+
+#: frontend/src/metabase/query_builder/components/ExpandableString.jsx:56
+msgid "View more"
+msgstr "Mostra més"
+
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:112
+msgid "Pick a field to sort by"
+msgstr "Trieu un camp per la ordenació"
+
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:125
+msgid "Sort"
+msgstr "Ordena"
+
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:137
+msgid "Row limit"
+msgstr "Límit de files"
+
+#: frontend/src/metabase/query_builder/components/FieldName.jsx:69
+msgid "Unknown Field"
+msgstr "Camp desconegut"
+
+#: frontend/src/metabase/query_builder/components/FieldName.jsx:72
+msgid "field"
+msgstr "camp"
+
+#: frontend/src/metabase/query_builder/components/Filter.jsx:114
+msgid "Matches"
+msgstr "Coincidències"
+
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:152
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:160
+msgid "Add filters to narrow your answer"
+msgstr "Afegeix filtres per perfilar la teva resposta"
+
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:284
+msgid "Add a grouping"
+msgstr "Afegeix una agrupació"
+
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:322
+#: frontend/src/metabase/visualizations/components/LineAreaBarChart.jsx:102
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:113
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:152
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:194
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:59
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:68
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:75
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:225
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:231
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:237
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:70
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:75
+msgid "Data"
+msgstr "Dades"
+
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:352
+msgid "Filtered by"
+msgstr "Filtrat per"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:75
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:369
+msgid "View"
+msgstr "Mostra"
+
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:386
+msgid "Grouped By"
+msgstr "Agrupat per"
+
+#: frontend/src/metabase/query_builder/components/LimitWidget.jsx:27
+msgid "None"
+msgstr "Cap"
+
+#: frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx:345
+msgid "This question is written in {0}."
+msgstr "Aquesta pregunta està escrita en {0}"
+
+#: frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx:353
+msgid "Hide Editor"
+msgstr "Amaga l'editor"
+
+#: frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx:354
+msgid "Hide Query"
+msgstr "Amaga la consulta"
+
+#: frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx:359
+msgid "Open Editor"
+msgstr "Obrir l'editor"
+
+#: frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx:360
+msgid "Show Query"
+msgstr "Mostra la consulta"
+
+#: frontend/src/metabase/query_builder/components/QueryDefinitionTooltip.jsx:25
+msgid "This metric has been retired.  It's no longer available for use."
+msgstr "Aquesta mètrica ha estat retirada. Ja no es està disponible pel seu us."
+
+#: frontend/src/metabase/query_builder/components/QueryDownloadWidget.jsx:34
+#: frontend/src/metabase/query_builder/components/QueryDownloadWidget.jsx:46
+msgid "Download full results"
+msgstr "Baixa tots els resultats"
+
+#: frontend/src/metabase/query_builder/components/QueryDownloadWidget.jsx:35
+msgid "Download this data"
+msgstr "Baixa aquesta informació"
+
+#: frontend/src/metabase/query_builder/components/QueryDownloadWidget.jsx:46
+msgid "Warning"
+msgstr "Avís"
+
+#: frontend/src/metabase/query_builder/components/QueryDownloadWidget.jsx:52
+msgid "Your answer has a large number of rows so it could take a while to download."
+msgstr "La teva resposta te una gran quantitat de files, podria tarda una estona a descarregar-se"
+
+#: frontend/src/metabase/query_builder/components/QueryDownloadWidget.jsx:53
+msgid "The maximum download size is 1 million rows."
+msgstr "La mida màxima de la baixada es de 1 milió de files"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:232
+msgid "Edit question"
+msgstr "Edita la pregunta"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:249
+msgid "SAVE CHANGES"
+msgstr "GUARDA ELS CANVIS"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:263
+msgid "CANCEL"
+msgstr "CANCEL·LA"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:276
+msgid "Move question"
+msgstr "Moure la pregunta"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:283
+msgid "Which collection should this be in?"
+msgstr "A quina col·lecció ho hauríem de guardar?"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:313
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:110
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorSidebar.jsx:83
+msgid "Variables"
+msgstr "Variables"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:432
+msgid "Learn about your data"
+msgstr "Coneix les teves dades"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:460
+msgid "Alerts are on"
+msgstr "Les alertes estan activades"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:522
+msgid "started from"
+msgstr "iniciat des de"
+
+#: frontend/src/metabase/query_builder/components/QueryModeButton.jsx:48
+msgid "SQL"
+msgstr "SQL"
+
+#: frontend/src/metabase/query_builder/components/QueryModeButton.jsx:48
+msgid "native query"
+msgstr "consulta nativa"
+
+#: frontend/src/metabase/query_builder/components/QueryModeButton.jsx:52
+msgid "Not Supported"
+msgstr "No suportat"
+
+#: frontend/src/metabase/query_builder/components/QueryModeButton.jsx:58
+msgid "View the {0}"
+msgstr "Veure el {0}"
+
+#: frontend/src/metabase/query_builder/components/QueryModeButton.jsx:59
+msgid "Switch to {0}"
+msgstr "Canviar a {0}"
+
+#: frontend/src/metabase/query_builder/components/QueryModeButton.jsx:62
+msgid "Switch to Builder"
+msgstr "Canviar al Editor"
+
+#: frontend/src/metabase/query_builder/components/QueryModeButton.jsx:87
+msgid "{0} for this question"
+msgstr "{0} d'auquesta pregunta"
+
+#: frontend/src/metabase/query_builder/components/QueryModeButton.jsx:111
+msgid "Convert this question to {0}"
+msgstr "Convertir aquesta pregunta a {0}"
+
+#: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:122
+msgid "This question will take approximately {0} to refresh"
+msgstr "Aquesta pregunta tardarà aproximadament {0} en actualitzar-se"
+
+#: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:131
+msgid "Updated {0}"
+msgstr "Actualitzat fa {0}"
+
+#: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:141
+msgid "row"
+msgid_plural "rows"
+msgstr[0] "fila"
+msgstr[1] "files"
+
+#: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:148
+msgid "Showing first {0} {1}"
+msgstr "Mostrant les primeres {0} {1}"
+
+#: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:151
+msgid "Showing {0} {1}"
+msgstr "Mostrant {0} {1}"
+
+#: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:281
+msgid "Doing science"
+msgstr "Fent ciència"
+
+#: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:294
+msgid "If you give me some data I can show you something cool. Run a Query!"
+msgstr "Si em dones algunes dades et puc mostrar coses genials. Executa una consulta!"
+
+#: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:299
+msgid "How do I use this thing?"
+msgstr "Com es fa servir aquesta cosa?"
+
+#: frontend/src/metabase/query_builder/components/RunButton.jsx:28
+msgid "Get Answer"
+msgstr "Obtenir la resposta"
+
+#: frontend/src/metabase/query_builder/components/SavedQuestionIntroModal.jsx:12
+msgid "It's okay to play around with saved questions"
+msgstr "Està be jugar amb les preguntes guardades"
+
+#: frontend/src/metabase/query_builder/components/SavedQuestionIntroModal.jsx:14
+msgid "You won't make any permanent changes to a saved question unless you click the edit icon in the top-right."
+msgstr "No faràs cap canvi a una pregunta guardada sinó cliques la icona d'edició de la part superior dreta."
+
+#: frontend/src/metabase/query_builder/components/SearchBar.jsx:28
+msgid "Search for"
+msgstr "Cerca"
+
+#: frontend/src/metabase/query_builder/components/SelectionModule.jsx:158
+msgid "Advanced..."
+msgstr "Avançat..."
+
+#: frontend/src/metabase/query_builder/components/SelectionModule.jsx:167
+msgid "Sorry. Something went wrong."
+msgstr "Ho sento. Alguna cosa no ha anat bé."
+
+#: frontend/src/metabase/query_builder/components/TimeGroupingPopover.jsx:40
+msgid "Group time by"
+msgstr "Agrupar el temps per"
+
+#: frontend/src/metabase/query_builder/components/VisualizationError.jsx:46
+msgid "Your question took too long"
+msgstr "La teva pregunta ha tardat massa temps"
+
+#: frontend/src/metabase/query_builder/components/VisualizationError.jsx:47
+msgid "We didn't get an answer back from your database in time, so we had to stop. You can try again in a minute, or if the problem persists, you can email an admin to let them know."
+msgstr "No em obtingut una resposta de la base de dades a temps així que em tingut que aturar-ho. Ho pots tornar a intentar en una estona o si el problema continua pots enviar un correu electrònica al administrador per avisar-lo."
+
+#: frontend/src/metabase/query_builder/components/VisualizationError.jsx:55
+msgid "We're experiencing server issues"
+msgstr "Estem experimentant problemes al servidor"
+
+#: frontend/src/metabase/query_builder/components/VisualizationError.jsx:56
+msgid "Try refreshing the page after waiting a minute or two. If the problem persists we'd recommend you contact an admin."
+msgstr "Intenta actualitzar la pàgina desprès d'esperar una estona. Si el problema continua posa't en contacte amb un un administrador."
+
+#: frontend/src/metabase/query_builder/components/VisualizationError.jsx:88
+msgid "There was a problem with your question"
+msgstr "Hi ha hagut un problema amb la teva pregunta."
+
+#: frontend/src/metabase/query_builder/components/VisualizationError.jsx:89
+msgid "Most of the time this is caused by an invalid selection or bad input value. Double check your inputs and retry your query."
+msgstr "La majoria de vegades això està causat per una selecció no vàlida o un valor d'entrada incorrecte. Revisa les teves entrades i tornar a executar la consulta."
+
+#: frontend/src/metabase/query_builder/components/VisualizationResult.jsx:60
+msgid "This may be the answer you’re looking for. If not, try removing or changing your filters to make them less specific."
+msgstr "Aquesta pot ser la resposta al que estàs buscant. Si no es així intenta eliminar o canviar els filtres per a que sigui menys específics."
+
+#: frontend/src/metabase/query_builder/components/VisualizationResult.jsx:66
+msgid "You can also {0} when there are some results."
+msgstr "També pots {0} quan hi hagi alguns resultats."
+
+#: frontend/src/metabase/query_builder/components/VisualizationResult.jsx:68
+msgid "get an alert"
+msgstr "rebre una alterta"
+
+#: frontend/src/metabase/query_builder/components/VisualizationResult.jsx:77
+msgid "Back to last run"
+msgstr "Tornar a la última execució"
+
+#: frontend/src/metabase/query_builder/components/VisualizationSettings.jsx:100
+msgid "Visualization"
+msgstr "Visualització"
+
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:96
+msgid "No description set."
+msgstr "Sense descripció"
+
+#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:21
+msgid "Use for current question"
+msgstr "Utilitzar per la pregunta actual"
+
+#: frontend/src/metabase/reference/components/UsefulQuestions.jsx:16
+msgid "Potentially useful questions"
+msgstr "Preguntes potencialment útils"
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:166
+msgid "Group by {0}"
+msgstr "Agrupa per {0}"
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:165
+msgid "Sum of all values of {0}"
+msgstr "Suma de tots els valors de {0}"
+
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:63
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:51
+msgid "All distinct values of {0}"
+msgstr "Tots els valors diferents de {0}"
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:187
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:39
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:51
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:39
+msgid "Number of {0} grouped by {1}"
+msgstr "Número de {0} agrupades per {1}"
+
+#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:10
+#: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:20
+#: frontend/src/metabase/reference/databases/FieldSidebar.jsx:30
+#: frontend/src/metabase/reference/databases/TableSidebar.jsx:26
+#: frontend/src/metabase/reference/guide/BaseSidebar.jsx:17
+#: frontend/src/metabase/reference/guide/BaseSidebar.jsx:19
+#: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:23
+#: frontend/src/metabase/reference/segments/SegmentFieldSidebar.jsx:24
+#: frontend/src/metabase/reference/segments/SegmentSidebar.jsx:23
+msgid "Data Reference"
+msgstr "Referència de dades"
+
+#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:13
+msgid "Learn more about your data structure to ask more useful questions"
+msgstr "Aprèn més sobre la teva estructura de dades per fer preguntes més útils"
+
+#: frontend/src/metabase/query_builder/components/dataref/MetricPane.jsx:58
+#: frontend/src/metabase/query_builder/components/dataref/SegmentPane.jsx:84
+msgid "Could not find the table metadata prior to creating a new question"
+msgstr "No s'han pogut trobar les metadades de la taula abans de crear una nova pregunta"
+
+#: frontend/src/metabase/query_builder/components/dataref/MetricPane.jsx:80
+msgid "See {0}"
+msgstr "Veure {0}"
+
+#: frontend/src/metabase/query_builder/components/dataref/MetricPane.jsx:94
+msgid "Metric Definition"
+msgstr "Definició de la mètrica"
+
+#: frontend/src/metabase/query_builder/components/dataref/SegmentPane.jsx:118
+msgid "Filter by {0}"
+msgstr "Filtrar per {0}"
+
+#: frontend/src/metabase/query_builder/components/dataref/SegmentPane.jsx:127
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:36
+msgid "Number of {0}"
+msgstr "Número de {0}"
+
+#: frontend/src/metabase/query_builder/components/dataref/SegmentPane.jsx:134
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:46
+msgid "See all {0}"
+msgstr "Veure tots els {0}"
+
+#: frontend/src/metabase/query_builder/components/dataref/SegmentPane.jsx:148
+msgid "Segment Definition"
+msgstr "Definició del segment"
+
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:50
+msgid "An error occurred loading the table"
+msgstr "S'ha produït un error al carregar la taula"
+
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:74
+msgid "See the raw data for {0}"
+msgstr "Mostra les dades de {0}"
+
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:180
+msgid "More"
+msgstr "Més"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:201
+msgid "Invalid expression"
+msgstr "Expressió invàlida"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:276
+msgid "unknown error"
+msgstr "error desconegut"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:46
+msgid "Field formula"
+msgstr "Formula del camp"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:57
+msgid "Think of this as being kind of like writing a formula in a spreadsheet program: you can use numbers, fields in this table, mathematical symbols like +, and some functions. So you could type something like Subtotal - Cost."
+msgstr "Pensa que això es com escriure una fórmula en un full de càlcul: Pots utilitzar números, camps d'aquesta taula, símbols màtemàtics com + i algunes funcions. Pots escriure alguna cosa com: Subtotal - Cost"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:62
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:126
+msgid "Learn more"
+msgstr "Aprendre'n més"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:66
+msgid "Give it a name"
+msgstr "Dona-li un nom"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:72
+msgid "Something nice and descriptive"
+msgstr "Quelcom agradable i descriptiu"
+
+#: frontend/src/metabase/query_builder/components/expressions/Expressions.jsx:60
+msgid "Add a custom field"
+msgstr "Afegir un camp personalitzat"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:17
+msgid "Include {0}"
+msgstr "Incloure {0}"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:19
+msgid "Case sensitive"
+msgstr "Distingeix majúscules i minúscules"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:23
+msgid "today"
+msgstr "avui"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:24
+msgid "this week"
+msgstr "aquesta setmana"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:25
+msgid "this month"
+msgstr "aquest mes"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:26
+msgid "this year"
+msgstr "aquest any"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:27
+msgid "this minute"
+msgstr "aquest minut"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:28
+msgid "this hour"
+msgstr "aquesta hora"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:290
+msgid "not implemented {0}"
+msgstr "{0} no està implementat"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:291
+msgid "true"
+msgstr "verdader"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:291
+msgid "false"
+msgstr "fals"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:404
+msgid "Add filter"
+msgstr "Afegir un filtre"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterWidgetList.jsx:64
+msgid "Item"
+msgstr "Element"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:221
+msgid "Previous"
+msgstr "Anterior"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:252
+msgid "Current"
+msgstr "Actual"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:278
+#: frontend/src/metabase/visualizations/lib/settings/column.js:246
+#: frontend/src/metabase/visualizations/lib/settings/series.js:89
+msgid "On"
+msgstr "Activat"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/NumberPicker.jsx:47
+msgid "Enter desired number"
+msgstr "Introdueix el nombre desitjat"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/SelectPicker.jsx:83
+#: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:100
+msgid "Empty"
+msgstr "Buit"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/SelectPicker.jsx:116
+msgid "Find a value"
+msgstr "Cerca un valor"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/SpecificDatePicker.jsx:113
+msgid "Hide calendar"
+msgstr "Amaga el calendari"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/SpecificDatePicker.jsx:113
+msgid "Show calendar"
+msgstr "Mostra el calendari"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/TextPicker.jsx:97
+msgid "You can enter multiple values separated by commas"
+msgstr "Pots introduir varis valors separats per comes"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/TextPicker.jsx:38
+msgid "Enter desired text"
+msgstr "Introdueix el text desitjat"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:83
+msgid "Try it"
+msgstr "Proba-ho"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:105
+msgid "What's this for?"
+msgstr "Per a que serveix això?"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:107
+msgid "Variables in native queries let you dynamically replace values in your queries using filter widgets or through the URL."
+msgstr "Les variables a les consultes natives et permetes substituir dinàmicament els valors a les teves consultes utilitzant elements de filtre o a través de la URL."
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:112
+msgid "{0} creates a variable in this SQL template called \"variable_name\". Variables can be given types in the side panel, which changes their behavior. All variable types other than \"Field Filter\" will automatically cause a filter widget to be placed on this question; with Field Filters, this is optional. When this filter widget is filled in, that value replaces the variable in the SQL template."
+msgstr "{0} crea una variable en aquesta plantilla SQL anomenada \"nom_variable\". Pots assignar els tipus a les variables al panell lateral cosa que canvia el seu comportament. Tots els tipus de variables que no siguin \"Filtres de camp\" provocaran que es col·loqui un filtre per aquesta pregunta. Amb els filtres de camp, això es opcional. Quan s'estableix el valor d'aquest element al filtre es substitueix la variable a la plantilla SQL."
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:121
+msgid "Field Filters"
+msgstr "Filtres de camp"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:123
+msgid "Giving a variable the \"Field Filter\" type allows you to link SQL cards to dashboard filter widgets or use more types of filter widgets on your SQL question. A Field Filter variable inserts SQL similar to that generated by the GUI query builder when adding filters on existing columns."
+msgstr "Donar-li a la variable el tipus \"Filtre de camp\" et permet vincular les targetes SQL amb quadres de comandament amb elements de filtre o utilitzar més tipus d'elements de filtro a la teva pregunta de SQL. Una variable de filtre insereix un SQL similar al que es genera a la UI de generador de consultes quan s'afegeixen filtres amb columnes existents."
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:126
+msgid "When adding a Field Filter variable, you'll need to map it to a specific field. You can then choose to display a filter widget on your question, but even if you don't, you can now map your Field Filter variable to a dashboard filter when adding this question to a dashboard. Field Filters should be used inside of a \"WHERE\" clause."
+msgstr "Al afegir una variable de Filtre de camp l'hauràs d'assignar a un camp especific. A continuació pots mostrar un element de filtre a la teva pregunta, però si no ho fas pots assignar el Filtre de cap a un filtre del quadre de comandament. Els filtres del camp s'ha d'utilitzar dins de la clàusula \"WHERE\"."
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:130
+msgid "Optional Clauses"
+msgstr "Clàusules opcionals"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:132
+msgid "brackets around a {0} create an optional clause in the template. If \"variable\" is set, then the entire clause is placed into the template. If not, then the entire clause is ignored."
+msgstr "Els corxetes al voltant de un {0} creen una clàusula opcional a la plantilla. Si s'estableix la \"variable\" aleshores s'introdueix la clàusula complerta a la plantilla. Si no s'estableix s'ignora tota la clàusula."
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:142
+msgid "To use multiple optional clauses you can include at least one non-optional WHERE clause followed by optional clauses starting with \"AND\"."
+msgstr "Pots utilitzar múltiples clàusules opcions, pots incloure almenys una clàusula WEHRE no opcional seguida de clàusules opcionals que comencin per \"AND\""
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:154
+msgid "Read the full documentation"
+msgstr "Llegeix la documentació complerta"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:127
+msgid "Filter label"
+msgstr "Filtre d'etiqueta"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:139
+msgid "Variable type"
+msgstr "Tipus de variable"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:148
+msgid "Text"
+msgstr "Text"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:150
+msgid "Date"
+msgstr "Data"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:151
+msgid "Field Filter"
+msgstr "Filtre de camp"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:157
+msgid "Field to map to"
+msgstr "Camp per mapejar a"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:179
+msgid "Filter widget type"
+msgstr "Tipus de filtre"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:201
+msgid "Required?"
+msgstr "Obligatori?"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:211
+msgid "Default filter widget value"
+msgstr "Valor per defecte el camp de filtre"
+
+#: frontend/src/metabase/query_builder/containers/ArchiveQuestionModal.jsx:46
+msgid "Archive this question?"
+msgstr "Arxivar aquesta pregunta?"
+
+#: frontend/src/metabase/query_builder/containers/ArchiveQuestionModal.jsx:57
+msgid "This question will be removed from any dashboards or pulses using it."
+msgstr "Aquesta pregunta s'eliminarà dels quadres de comandaments o polsos que la utilitzin."
+
+#: frontend/src/metabase/query_builder/containers/QueryBuilder.jsx:136
+msgid "Question"
+msgstr "Pregunta"
+
+#: frontend/src/metabase/questions/containers/AddToDashboard.jsx:11
+msgid "Pick a question to add"
+msgstr "Escull una pregunta per afegir"
+
+#: frontend/src/metabase/reference/components/EditHeader.jsx:19
+msgid "You are editing this page"
+msgstr "Estàs editant aquesta pàgina"
+
+#: frontend/src/metabase/reference/components/EditableReferenceHeader.jsx:101
+#: frontend/src/metabase/reference/components/ReferenceHeader.jsx:63
+msgid "See this {0}"
+msgstr "Veure aquest {0}"
+
+#: frontend/src/metabase/reference/components/EditableReferenceHeader.jsx:120
+msgid "A subset of"
+msgstr "Un subconjunt de"
+
+#: frontend/src/metabase/reference/components/Field.jsx:47
+#: frontend/src/metabase/reference/components/Field.jsx:86
+#: frontend/src/metabase/reference/components/FieldTypeDetail.jsx:32
+#: frontend/src/metabase/reference/components/FieldTypeDetail.jsx:68
+msgid "Select a field type"
+msgstr "Selecciona un tipus de camp"
+
+#: frontend/src/metabase/reference/components/Field.jsx:56
+#: frontend/src/metabase/reference/components/Field.jsx:71
+#: frontend/src/metabase/reference/components/FieldTypeDetail.jsx:41
+#: frontend/src/metabase/reference/components/FieldTypeDetail.jsx:57
+msgid "No field type"
+msgstr "Sense tipus de camp"
+
+#: frontend/src/metabase/reference/components/FieldToGroupBy.jsx:22
+msgid "by"
+msgstr "per"
+
+#: frontend/src/metabase/reference/components/FieldTypeDetail.jsx:25
+#: frontend/src/metabase/reference/databases/FieldList.jsx:152
+#: frontend/src/metabase/reference/segments/SegmentFieldList.jsx:153
+msgid "Field type"
+msgstr "Tipus de camp"
+
+#: frontend/src/metabase/reference/components/FieldTypeDetail.jsx:72
+msgid "Select a Foreign Key"
+msgstr "Selecciona una clau forànea"
+
+#: frontend/src/metabase/reference/components/Formula.jsx:53
+msgid "View the {0} formula"
+msgstr "Mostra la formula de {0}"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:80
+msgid "Why this {0} is important"
+msgstr "Perquè aquest {0} es tan important"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:81
+msgid "Why this {0} is interesting"
+msgstr "Perquè aquest {0} es tan interessant"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:87
+msgid "Nothing important yet"
+msgstr "Res important de moment"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:88
+#: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:168
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:233
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:211
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:215
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:219
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:229
+msgid "Nothing interesting yet"
+msgstr "Res interessant de moment"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:93
+msgid "Things to be aware of about this {0}"
+msgstr "Coses a tenir en compte d'aquest {0}"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:97
+#: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:178
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:243
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:221
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:225
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:229
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:239
+msgid "Nothing to be aware of yet"
+msgstr "No hi ha res que hauries de saber"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:103
+msgid "Explore this metric"
+msgstr "Explora aquesta mètrica"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:105
+msgid "View this metric"
+msgstr "Mostra aquesta mètrica"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:112
+msgid "By {0}"
+msgstr "Per {0}"
+
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:146
+msgid "Remove item"
+msgstr "Eliminar l'element"
+
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:155
+msgid "Why is this dashboard the most important?"
+msgstr "Perquè aquest quadre de comandament és el més important?"
+
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:156
+msgid "What is useful or interesting about this {0}?"
+msgstr "Que es útil o interessant d'aquest {0}?"
+
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:160
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:174
+msgid "Write something helpful here"
+msgstr "Escriviu alguna cosa útil aquí"
+
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:169
+msgid "Is there anything users of this dashboard should be aware of?"
+msgstr "Hi ha alguna cosa que els usuaris d'aquest quadre de comandament hagin de tenir en compte?"
+
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:170
+msgid "Anything users should be aware of about this {0}?"
+msgstr "Hi ha alguna cosa que els usuaris d'aquest {0} hagin de saber?"
+
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:182
+#: frontend/src/metabase/reference/components/MetricImportantFieldsDetail.jsx:26
+msgid "Which 2-3 fields do you usually group this metric by?"
+msgstr "Amb quins 2 o 3 camps s'agrupa normalment aquesta mètrica?"
+
+#: frontend/src/metabase/reference/components/GuideHeader.jsx:23
+msgid "This is the perfect place to start if you’re new to your company’s data, or if you just want to check in on what’s going on."
+msgstr "Aquest es el lloc per començar si ets nou amb les dades de la teva empresa o si només vols verificar el que està passant."
+
+#: frontend/src/metabase/reference/components/MetricImportantFieldsDetail.jsx:65
+msgid "Most useful fields to group this metric by"
+msgstr "Camps més útils per agrupar aquesta mètrica"
+
+#: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:32
+msgid "Reason for changes"
+msgstr "Motiu del canvi"
+
+#: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:36
+msgid "Leave a note to explain what changes you made and why they were required"
+msgstr "Deixa una nota per explicar quins canvis has realitzat i perquè han estat necessaris."
+
+#: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:166
+msgid "Why this database is interesting"
+msgstr "Perquè aquesta base de dades és interessant"
+
+#: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:176
+msgid "Things to be aware of about this database"
+msgstr "Coses a tenir en compte d'aquesta base de dades"
+
+#: frontend/src/metabase/reference/databases/DatabaseList.jsx:46
+#: frontend/src/metabase/reference/guide/BaseSidebar.jsx:39
+msgid "Databases and tables"
+msgstr "Base de dates i taules"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:61
+#: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:27
+#: frontend/src/metabase/reference/databases/FieldSidebar.jsx:41
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:170
+#: frontend/src/metabase/reference/databases/TableSidebar.jsx:34
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:184
+#: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:30
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:188
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:187
+#: frontend/src/metabase/reference/segments/SegmentFieldSidebar.jsx:31
+#: frontend/src/metabase/reference/segments/SegmentSidebar.jsx:30
+msgid "Details"
+msgstr "Detalls"
+
+#: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:33
+#: frontend/src/metabase/reference/databases/TableList.jsx:111
+msgid "Tables in {0}"
+msgstr "Taules a {0}"
+
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:222
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:200
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:218
+msgid "Actual name in database"
+msgstr "Nom real a la base de dades"
+
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:231
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:227
+msgid "Why this field is interesting"
+msgstr "Perquè aquest camp es interessant"
+
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:241
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:237
+msgid "Things to be aware of about this field"
+msgstr "Coses a tenir en compte d'aquest camp"
+
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:253
+#: frontend/src/metabase/reference/databases/FieldList.jsx:155
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:249
+#: frontend/src/metabase/reference/segments/SegmentFieldList.jsx:156
+msgid "Data type"
+msgstr "Tipus de dada"
+
+#: frontend/src/metabase/reference/databases/FieldList.jsx:39
+#: frontend/src/metabase/reference/segments/SegmentFieldList.jsx:39
+msgid "Fields in this table will appear here as they're added"
+msgstr "Els camps apareixeran aquí a mesura que es vagin afegint"
+
+#: frontend/src/metabase/reference/databases/FieldList.jsx:134
+#: frontend/src/metabase/reference/segments/SegmentFieldList.jsx:135
+msgid "Fields in {0}"
+msgstr "Camps a {0}"
+
+#: frontend/src/metabase/reference/databases/FieldList.jsx:149
+#: frontend/src/metabase/reference/segments/SegmentFieldList.jsx:150
+msgid "Field name"
+msgstr "Nom del camp"
+
+#: frontend/src/metabase/reference/databases/FieldSidebar.jsx:49
+msgid "X-ray this field"
+msgstr "Aplica rajos-X a aquest camp"
+
+#: frontend/src/metabase/reference/databases/NoDatabasesEmptyState.jsx:8
+msgid "Metabase is no fun without any data"
+msgstr "El Metabase no és divertit sense dades"
+
+#: frontend/src/metabase/reference/databases/NoDatabasesEmptyState.jsx:9
+msgid "Your databases will appear here once you connect one"
+msgstr "Les teves bases de dades apareixeran una vegada connectades. "
+
+#: frontend/src/metabase/reference/databases/NoDatabasesEmptyState.jsx:10
+msgid "Databases will appear here once your admins have added some"
+msgstr "Les bases de dades apareixeran aquí una vegada que els administradors les hagin afegit."
+
+#: frontend/src/metabase/reference/databases/NoDatabasesEmptyState.jsx:12
+msgid "Connect a database"
+msgstr "Connecta una base de dades"
+
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:38
+msgid "Count of {0}"
+msgstr "Recompte de {0}"
+
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:47
+msgid "See raw data for {0}"
+msgstr "Mostra les dades de {0}"
+
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:209
+msgid "Why this table is interesting"
+msgstr "Perquè aquesta taula es interesant"
+
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:219
+msgid "Things to be aware of about this table"
+msgstr "Coses a tenir en compte sobre aquesta taule"
+
+#: frontend/src/metabase/reference/databases/TableList.jsx:30
+msgid "Tables in this database will appear here as they're added"
+msgstr "Les taules d'aquesta base de dades es mostraran aquí una vegades afegeixes"
+
+#: frontend/src/metabase/reference/databases/TableQuestions.jsx:34
+msgid "Questions about this table will appear here as they're added"
+msgstr "Les preguntes d'aquesta taula es mostraran aquí una vegades afegeixes"
+
+#: frontend/src/metabase/reference/databases/TableQuestions.jsx:71
+#: frontend/src/metabase/reference/metrics/MetricQuestions.jsx:75
+#: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:36
+#: frontend/src/metabase/reference/segments/SegmentQuestions.jsx:74
+msgid "Questions about {0}"
+msgstr "Preguntes sobre {0}"
+
+#: frontend/src/metabase/reference/databases/TableQuestions.jsx:95
+#: frontend/src/metabase/reference/metrics/MetricQuestions.jsx:99
+#: frontend/src/metabase/reference/segments/SegmentQuestions.jsx:98
+msgid "Created {0} by {1}"
+msgstr "Creat fa {0} per {1}"
+
+#: frontend/src/metabase/reference/databases/TableSidebar.jsx:40
+msgid "Fields in this table"
+msgstr "Camps en aquesta taula"
+
+#: frontend/src/metabase/reference/databases/TableSidebar.jsx:48
+msgid "Questions about this table"
+msgstr "Preguntes sobre aquesta taula"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:157
+msgid "Help your team get started with your data."
+msgstr "Ajuda al teu equip a començar amb les teves dades"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:159
+msgid "Show your team what’s most important by choosing your top dashboard, metrics, and segments."
+msgstr "Mostra al teu equip el que es més important per elegir els quadres de comandament, les mètriques i els segments principals."
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:165
+msgid "Get started"
+msgstr "Comença"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:173
+msgid "Our most important dashboard"
+msgstr "El nostre quadre de comandament més important"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:188
+msgid "Numbers that we pay attention to"
+msgstr "El números als que hem de tenir en compte"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:213
+msgid "Metrics are important numbers your company cares about. They often represent a core indicator of how the business is performing."
+msgstr "Les mètriques son números destacats que li importen a la teva empresa. Normalment representen un indicador central de com està funcionant el negoci. "
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:221
+msgid "See all metrics"
+msgstr "Mostra totes les mètriques"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:235
+msgid "Segments and tables"
+msgstr "Segments i taules"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:236
+msgid "Tables"
+msgstr "Taules"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:262
+msgid "Segments and tables are the building blocks of your company's data. Tables are collections of the raw information while segments are specific slices with specific meanings, like {0}"
+msgstr "Els segments i les taules son components bàsics de les dades de la teva empresa. Les taules són col·leccions d'informació sense format mentre que els segments son bocins acotats amb un significat específic, cóm {0}"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:267
+msgid "Tables are the building blocks of your company's data."
+msgstr "Les taules son els components bàsics de les dades de la teva empresa"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:277
+msgid "See all segments"
+msgstr "Mostra tots els segments"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:293
+msgid "See all tables"
+msgstr "Mostra totes les taules"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:301
+msgid "Other things to know about our data"
+msgstr "Altres coses que has de saber sobre les nostres dades"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:302
+msgid "Find out more"
+msgstr "Descobreix més"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:307
+msgid "A good way to get to know your data is by spending a bit of time exploring the different tables and other info available to you. It may take a while, but you'll start to recognize names and meanings over time."
+msgstr "Una bona forma de conèixer les teves dades es dedicar una mica de temps a explorar les teves taules i l'altra informació disponible. Pots tardar una mica però començaràs a conèixer noms i significats a través del temps. "
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:313
+msgid "Explore our data"
+msgstr "Explorar les nostres dades"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:321
+msgid "Have questions?"
+msgstr "Tens una pregunta?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:326
+msgid "Contact {0}"
+msgstr "Contacta amb {0}"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:248
+msgid "Help new Metabase users find their way around."
+msgstr "Ajuda als nous usuaris del Metabase a descobrir com funciona"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:251
+msgid "The Getting Started guide highlights the dashboard, metrics, segments, and tables that matter most, and informs your users of important things they should know before digging into the data."
+msgstr "La guia d'introducció destaca el quadre de comandaments, les mètriques, els segments i les taules que més importen. També informa als usuaris sobre coses importants que haurien de saber abans de profunditzar en les seves dades."
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:258
+msgid "Is there an important dashboard for your team?"
+msgstr "Hi ha alguna quadre de comandament important pel teu equip?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:260
+msgid "Create a dashboard now"
+msgstr "Creeu un quadre de comandament ara"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:266
+msgid "What is your most important dashboard?"
+msgstr "Quin es el quadre de comandament més important?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:285
+msgid "Do you have any commonly referenced metrics?"
+msgstr "Tens alguna mètrica que de la que se'n faci referència sovint?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:287
+msgid "Learn how to define a metric"
+msgstr "Aprèn a definir una mètrica"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:300
+msgid "What are your 3-5 most commonly referenced metrics?"
+msgstr "Quines son les 3-5 mètriques que s'utilitzen més sovint?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:344
+msgid "Add another metric"
+msgstr "Afegeix una altra mètrica"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:357
+msgid "Do you have any commonly referenced segments or tables?"
+msgstr "Tens algun segment o taula que es referencii sovint?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:359
+msgid "Learn how to create a segment"
+msgstr "Aprèn a crear un segment"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:372
+msgid "What are 3-5 commonly referenced segments or tables that would be useful for this audience?"
+msgstr "Quins son els 3-5 segments o taules referenciades de forma comuna que serien útils per aquesta audiència?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:418
+msgid "Add another segment or table"
+msgstr "Afegeix un altre segment o taula"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:427
+msgid "Is there anything your users should understand or know before they start accessing the data?"
+msgstr "Hi ha alguna cosa que han de saber o entendre els usuaris abans d'accedir a les dades?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:433
+msgid "What should a user of this data know before they start accessing it?"
+msgstr "Que ha de saber el usuari sobre aquestes dades abans d'accedir-hi?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:437
+msgid "E.g., expectations around data privacy and use, common pitfalls or misunderstandings, information about data warehouse performance, legal notices, etc."
+msgstr "Per exemple, les expectatives sobre la privacitat i els us de les dades, perills comuns, informació sobre el rendiment del servidor, avisos legals, etc."
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:448
+msgid "Is there someone your users could contact for help if they're confused about this guide?"
+msgstr "Hi ha algú que els teus usuaris poden contactar en cas de que tinguin dubtes amb aquesta guia?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:457
+msgid "Who should users contact for help if they're confused about this data?"
+msgstr "Amb quin han de contactar els usuaris per obtenir ajuda si tenen dubtes sobre aquesta informació?"
+
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:75
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:95
+msgid "Please enter a revision message"
+msgstr "Si us plau afegeix un missatge de revisió"
+
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:213
+msgid "Why this Metric is interesting"
+msgstr "Perquè aquesta mètrica és interessant"
+
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:223
+msgid "Things to be aware of about this Metric"
+msgstr "Coses a tenir en compte d'aquesta mètrica"
+
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:233
+msgid "How this Metric is calculated"
+msgstr "Com es calcula aquesta metrica"
+
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:235
+msgid "Nothing on how it's calculated yet"
+msgstr "Encara no sabem com s'han calculat"
+
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:293
+msgid "Other fields you can group this metric by"
+msgstr "Altres camps pels que es pot agrupar aquesta mètrica"
+
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:294
+msgid "Fields you can group this metric by"
+msgstr "Camps pels que es pot agrupar aquesta mètrica"
+
+#: frontend/src/metabase/reference/metrics/MetricList.jsx:23
+msgid "Metrics are the official numbers that your team cares about"
+msgstr "Les mètriques són nombres oficials pels que el teu equip es preocupa"
+
+#: frontend/src/metabase/reference/metrics/MetricList.jsx:25
+msgid "Metrics will appear here once your admins have created some"
+msgstr "Les mètriques apareixeran aquí una vegada que els teus administradors n'hagin creat alguna. "
+
+#: frontend/src/metabase/reference/metrics/MetricList.jsx:27
+msgid "Learn how to create metrics"
+msgstr "Aprèn com crear mètriques"
+
+#: frontend/src/metabase/reference/metrics/MetricQuestions.jsx:35
+msgid "Questions about this metric will appear here as they're added"
+msgstr "Les preguntes sobre aquesta mètrica apareixeran aquí quan es creïn."
+
+#: frontend/src/metabase/reference/metrics/MetricRevisions.jsx:29
+msgid "There are no revisions for this metric"
+msgstr "No hi ha revisions per aquesta mètrica"
+
+#: frontend/src/metabase/reference/metrics/MetricRevisions.jsx:88
+#: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:52
+#: frontend/src/metabase/reference/segments/SegmentRevisions.jsx:88
+msgid "Revision history for {0}"
+msgstr "Historial de revisions de {0}"
+
+#: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:43
+msgid "X-ray this metric"
+msgstr "Aplica rajos-X a aquesta mètrica"
+
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:217
+msgid "Why this Segment is interesting"
+msgstr "Perquè aquest segment es interessant"
+
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:227
+msgid "Things to be aware of about this Segment"
+msgstr "Coses a tenir en compte d'aquest segment"
+
+#: frontend/src/metabase/reference/segments/SegmentList.jsx:23
+msgid "Segments are interesting subsets of tables"
+msgstr "Els segments son subconjunts interessants de taules"
+
+#: frontend/src/metabase/reference/segments/SegmentList.jsx:24
+msgid "Defining common segments for your team makes it even easier to ask questions"
+msgstr "La definició de segments comuns pel teu equip fa que encara sigui més fàcil fer preguntes"
+
+#: frontend/src/metabase/reference/segments/SegmentList.jsx:25
+msgid "Segments will appear here once your admins have created some"
+msgstr "Els segments apareixeran aquí una vegada que els administradors els hagin creat"
+
+#: frontend/src/metabase/reference/segments/SegmentList.jsx:27
+msgid "Learn how to create segments"
+msgstr "Aprèn a crear segments"
+
+#: frontend/src/metabase/reference/segments/SegmentQuestions.jsx:35
+msgid "Questions about this segment will appear here as they're added"
+msgstr "Les preguntes sobre aquest segment apareixeran aquí quan s'afegeixin"
+
+#: frontend/src/metabase/reference/segments/SegmentRevisions.jsx:29
+msgid "There are no revisions for this segment"
+msgstr "No hi ha revisions per aquest segment"
+
+#: frontend/src/metabase/reference/segments/SegmentSidebar.jsx:36
+msgid "Fields in this segment"
+msgstr "Camps en aquest segment"
+
+#: frontend/src/metabase/reference/segments/SegmentSidebar.jsx:42
+msgid "Questions about this segment"
+msgstr "Preguntes sobre aquest segment"
+
+#: frontend/src/metabase/reference/segments/SegmentSidebar.jsx:49
+msgid "X-ray this segment"
+msgstr "Aplica rajos-X a aquest segment"
+
+#: frontend/src/metabase/routes.jsx:182
+msgid "Login"
+msgstr "Inicia sessió"
+
+#: frontend/src/metabase/nav/containers/Navbar.jsx:130
+#: frontend/src/metabase/routes.jsx:198
+msgid "Search"
+msgstr "Cerca"
+
+#: frontend/src/metabase/routes.jsx:217
+msgid "Dashboard"
+msgstr "Quadre de comandament"
+
+#: frontend/src/metabase/routes.jsx:228
+msgid "New Question"
+msgstr "Nova pregunta"
+
+#: frontend/src/metabase/setup/components/DatabaseConnectionStep.jsx:125
+msgid "Select the type of Database you use"
+msgstr "Selecciona el tipus de base de dades que utilitzes"
+
+#: frontend/src/metabase/setup/components/DatabaseConnectionStep.jsx:141
+msgid "Add your data"
+msgstr "Afegeix les teves dades"
+
+#: frontend/src/metabase/setup/components/DatabaseConnectionStep.jsx:145
+msgid "I'll add my own data later"
+msgstr "Afegiré les meves dades més tard"
+
+#: frontend/src/metabase/setup/components/DatabaseConnectionStep.jsx:146
+msgid "Connecting to {0}"
+msgstr "Connectant amb {0}"
+
+#: frontend/src/metabase/setup/components/DatabaseConnectionStep.jsx:165
+msgid "You’ll need some info about your database, like the username and password. If you don’t have that right now, Metabase also comes with a sample dataset you can get started with."
+msgstr "Et farà falta la informació de la teva base de dades: el nom d'usuari i la contrasenya. Si no tens aquesta informació ara mateix el Metabase conté un conjunt de dades de mostra amb els que pots començar."
+
+#: frontend/src/metabase/setup/components/DatabaseConnectionStep.jsx:196
+msgid "I'll add my data later"
+msgstr "Afegiré les meves dades més tard"
+
+#: frontend/src/metabase/setup/components/DatabaseSchedulingStep.jsx:41
+msgid "Control automatic scans"
+msgstr "Controla els escanejos automàtics"
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:53
+msgid "Usage data preferences"
+msgstr "Preferències d'utilització de dades"
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:56
+msgid "Thanks for helping us improve"
+msgstr "Gràcies per ajudar-nos a millorar"
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:57
+msgid "We won't collect any usage events"
+msgstr "No recopilarem cap esdeveniment d'ús."
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:76
+msgid "In order to help us improve Metabase, we'd like to collect certain data about usage through Google Analytics."
+msgstr "Per ajudar-nos a millorar el Metabase ens agradaria recollir informació sobre el seu us a través de Google Analytics."
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:85
+msgid "Here's a full list of everything we track and why."
+msgstr "Aquí hi ha una llista complerta de tota la informació que recollirem i perquè."
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:98
+msgid "Allow Metabase to anonymously collect usage events"
+msgstr "Permetre que el Metabase reculli esdeveniments d'ús de forma anònima"
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:105
+msgid "Metabase {0} collects anything about your data or question results."
+msgstr "Metabase {0} recull informació sobre les teves dades o els resultats de les preguntes"
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:106
+msgid "never"
+msgstr "mai"
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:108
+msgid "All collection is completely anonymous."
+msgstr "Tota la informació obtinguda es totalment anònima"
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:110
+msgid "Collection can be turned off at any point in your admin settings."
+msgstr "La recopilació es pot desactivar en qualsevol moment des de la pàgina de configuració."
+
+#: frontend/src/metabase/setup/components/Setup.jsx:45
+msgid "If you feel stuck"
+msgstr "Si et sents abrumant"
+
+#: frontend/src/metabase/setup/components/Setup.jsx:52
+msgid "our getting started guide"
+msgstr "la nostra guia d'iniciació"
+
+#: frontend/src/metabase/setup/components/Setup.jsx:53
+msgid "is just a click away."
+msgstr "està a un sol click"
+
+#: frontend/src/metabase/setup/components/Setup.jsx:95
+msgid "Welcome to Metabase"
+msgstr "Benvingut/da al Metabase"
+
+#: frontend/src/metabase/setup/components/Setup.jsx:96
+msgid "Looks like everything is working. Now let’s get to know you, connect to your data, and start finding you some answers!"
+msgstr "Sembla que tot està funcionant. Ara anem a coneixe't, connectar amb les teves dades i començar a donar respostes a les teves preguntes."
+
+#: frontend/src/metabase/setup/components/Setup.jsx:100
+msgid "Let's get started"
+msgstr "Començem"
+
+#: frontend/src/metabase/setup/components/Setup.jsx:145
+msgid "You're all set up!"
+msgstr "Ja està tot llest!"
+
+#: frontend/src/metabase/setup/components/Setup.jsx:156
+msgid "Take me to Metabase"
+msgstr "Portam al Metabase"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:155
+msgid "What should we call you?"
+msgstr "Com t'hem d'anomenar?"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:156
+msgid "Hi, {0}. nice to meet you!"
+msgstr "Hola {0}, encantat de coneixe't"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:243
+msgid "Create a password"
+msgstr "Crea una contrasenya"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:259
+#: frontend/src/metabase/user/components/SetUserPassword.jsx:116
+msgid "Shhh..."
+msgstr "Shhht..."
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:269
+msgid "Confirm password"
+msgstr "Confirma la contrasenya"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:278
+msgid "Shhh... but one more time so we get it right"
+msgstr "Shhht... una altra vegada per assegurar-nos que ho fem bé"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:287
+msgid "Your company or team name"
+msgstr "El nom de la teva empresa o equip"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:296
+msgid "Department of awesome"
+msgstr "Departament"
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:26
+msgid "Metabot is admiring your integers…"
+msgstr "El metabot està mirant els teus enters..."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:27
+msgid "Metabot is performing billions of differential equations…"
+msgstr "El Metabot està realitzant milers de milions d'equacions diferencials..."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:28
+msgid "Metabot is doing science…"
+msgstr "El Metabot està fent ciència..."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:29
+msgid "Metabot is checking out your metrics…"
+msgstr "El Metabot està revistant les teves mètriques..."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:30
+msgid "Metabot is looking for trends and outliers…"
+msgstr "El Metabot està buscant tendències i valors atípics..."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:31
+msgid "Metabot is consulting the quantum abacus…"
+msgstr "El Metabot està consultant l'ábac quantic"
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:32
+msgid "Metabot is feeling pretty good about all this…"
+msgstr "El Metabot està content amb tot això"
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:52
+msgid "We’ll show you some interesting explorations of your data in\n"
+"just a few minutes."
+msgstr "Et mostrarem algunes exploracions interessants de les teves dades en només uns minuts."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:72
+msgid "This seems to be taking a while. In the meantime, you can check out one of these example explorations to see what Metabase can do for you."
+msgstr "Sembla que això està tardant una estona. Mentrestant pots veure una de les exploracions d'exemple per veure el que el Metabase pot fer per tu."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:86
+msgid "I took a look at the data you just connected, and I have some explorations of interesting things I found. Hope you like them!"
+msgstr "He revistat les dades que acabes de connectar i tinc algunes exploracions de coses interessants que he trobat. Espero que t'agradin!"
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:98
+msgid "I'm done exploring for now"
+msgstr "He acabat d'explorar per ara"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:20
+msgid "Welcome to the Query Builder!"
+msgstr "Benvingut al generador de consultes!"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:22
+msgid "The Query Builder lets you assemble questions (or \"queries\") to ask about your data."
+msgstr "El generador de consultes et permet construir preguntes (o \"consultes\") per explorar sobre les teves dades"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:26
+msgid "Tell me more"
+msgstr "Explica'm més"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:43
+msgid "Start by picking the table with the data that you have a question about."
+msgstr "Comença escollint una taula amb les dades sobre les que vols fer una pregunta."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:45
+msgid "Go ahead and select the \"Orders\" table from the dropdown menu."
+msgstr "No dubtis i selecciona la taula \"Comandes\" del menú desplegable."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:78
+msgid "Filter your data to get just what you want."
+msgstr "Filtra les teves dades per obtenir exactament el que vols"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:79
+msgid "Click the plus button and select the \"Created At\" field."
+msgstr "Clica el botó més i selecciona el camp \"Creat a\""
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:93
+msgid "Here we can pick how many days we want to see data for, try 10"
+msgstr "Aquí podem escollir de quants dies volem veure les dades, intenta amb 10"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:116
+msgid "Here's where you can choose to add or average your data, count the number of rows in the table, or just view the raw data."
+msgstr "Aquí es on pots elegir si sumar o fer una mitja de les teves dades, contar el nombre de files o simplement veure les dades sense processar."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:118
+msgid "Try it: click on <strong>Raw Data</strong> to change it to <strong>Count of rows</strong> so we can count how many orders there are in this table."
+msgstr "Prova-ho. Clica a <strong>Dades brutes</strong> per a canviar-ho a <strong>Nombre de files</strong> per a que puguem contar cuantes comandes hi ha en aquesta taula"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:142
+msgid "Add a grouping to break out your results by category, day, month, and more."
+msgstr "Afegeix una agrupació per dividir els teus resultats per categoria, dia, mes i d'altres"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:144
+msgid "Let's do it: click on <strong>Add a grouping</strong>, and choose <strong>Created At: by Week</strong>."
+msgstr "Fem-ho. Clica a <strong>Afegir una agrupació</strong> i escull <strong>Creat a: per setmana</strong>."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:152
+msgid "Click on \"by day\" to change it to \"Week.\""
+msgstr "Clica a \"per dia\" per canviar-ho a \"setmana\""
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:173
+msgid "Run Your Query."
+msgstr "Executa la teva consulta"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:175
+msgid "You're doing so well! Click <strong>Run query</strong> to get your results!"
+msgstr "Ho estàs fent molt bé. Clica <strong> Executar consulta </strong> per obtenir els teus resultats."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:192
+msgid "You can view your results as a chart instead of a table."
+msgstr "Pots veure els teus resultats en una gràfica en comptes de en un ataula."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:194
+msgid "Everbody likes charts! Click the <strong>Visualization</strong> dropdown and select <strong>Line</strong>."
+msgstr "A tots ens agraden les gràfiques! Clica el menú <strong> Visualització </strong> i selecciona <strong> Línia </strong>."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:216
+msgid "Well done!"
+msgstr "Genial!"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:218
+msgid "That's all! If you still have questions, check out our"
+msgstr "Això es tot, si  encara tens preguntes revisa la nostra"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:223
+msgid "User's Guide"
+msgstr "Guia del usuari"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:223
+msgid "Have fun exploring your data!"
+msgstr "Diverteix-t'he explorant les teves dades"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:226
+msgid "Thanks"
+msgstr "Gràcies"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:235
+msgid "Save Your Questions"
+msgstr "Guarda les teves preguntes"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:237
+msgid "By the way, you can save your questions so you can refer to them later. Saved Questions can also be put into dashboards or Pulses."
+msgstr "Per cert, pots guardar les teves preguntes per a poder-les consultar més tard. Les preguntes guardades també es poden mostrar en quadres de comandament o polsos."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:241
+msgid "Sounds good"
+msgstr "Sona molt bé"
+
+#: frontend/src/metabase/tutorial/Tutorial.jsx:248
+msgid "Whoops!"
+msgstr "Uops!"
+
+#: frontend/src/metabase/tutorial/Tutorial.jsx:249
+msgid "Sorry, it looks like something went wrong. Please try restarting the tutorial in a minute."
+msgstr "Ho sentim, sembla que alguna cosa ha anat malament. Intenta reiniciar el tutorial en un minut."
+
+#: frontend/src/metabase/user/actions.js:34
+msgid "Password updated successfully!"
+msgstr "La contrasenya s'ha actualitzat correctament"
+
+#: frontend/src/metabase/user/actions.js:53
+msgid "Account updated successfully!"
+msgstr "El compte s'ha actualitzat amb èxit"
+
+#: frontend/src/metabase/user/components/SetUserPassword.jsx:107
+msgid "Current password"
+msgstr "Contrasenya actual"
+
+#: frontend/src/metabase/user/components/UpdateUserDetails.jsx:137
+msgid "Sign in with Google Email address"
+msgstr "Inicia sessió amb la direcció de correu electrònic de Googl"
+
+#: frontend/src/metabase/user/components/UserSettings.jsx:65
+msgid "User Details"
+msgstr "Detalls del usuari"
+
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:275
+msgid "Reset to defaults"
+msgstr "Restablir els valors predeterminats"
+
+#: frontend/src/metabase/visualizations/components/ChoroplethMap.jsx:133
+msgid "unknown map"
+msgstr "mapa desconegut"
+
+#: frontend/src/metabase/visualizations/components/LeafletGridHeatMap.jsx:26
+msgid "Grid map requires binned longitude/latitude."
+msgstr "El mapa de quadrícula necessita que la longitud i la latitud estigui agrupada."
+
+#: frontend/src/metabase/visualizations/components/LegendVertical.jsx:112
+msgid "more"
+msgstr "més"
+
+#: frontend/src/metabase/visualizations/components/LineAreaBarChart.jsx:101
+msgid "Which fields do you want to use for the X and Y axes?"
+msgstr "Quins camps vols fer servir pels eixos X i Y?"
+
+#: frontend/src/metabase/visualizations/components/LineAreaBarChart.jsx:103
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:60
+msgid "Choose fields"
+msgstr "Escull els camps"
+
+#: frontend/src/metabase/visualizations/components/PinMap.jsx:204
+msgid "Save as default view"
+msgstr "Guarda com a vista per defecte"
+
+#: frontend/src/metabase/visualizations/components/PinMap.jsx:226
+msgid "Draw box to filter"
+msgstr "Dibuixa una caixa per filtrar"
+
+#: frontend/src/metabase/visualizations/components/PinMap.jsx:226
+msgid "Cancel filter"
+msgstr "Cancel·la el filtre"
+
+#: frontend/src/metabase/visualizations/components/PinMap.jsx:47
+msgid "Pin Map"
+msgstr "Mapa de pin"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:303
+msgid "Unset"
+msgstr "Desmarcar"
+
+#: frontend/src/metabase/visualizations/components/TableSimple.jsx:253
+msgid "Rows {0}-{1} of {2}"
+msgstr "Files {0}-{1} de {2}"
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:189
+msgid "Data truncated to {0} rows."
+msgstr "Les dades s'han truncat a {0} files."
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:364
+msgid "Could not find visualization"
+msgstr "No s'ha pogut trobar la visualització"
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:371
+msgid "Could not display this chart with this data."
+msgstr "No s'ha pogut mostrar el gràfic amb aquesta informació."
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:469
+msgid "No results!"
+msgstr "Sense resultats"
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:490
+msgid "Still Waiting..."
+msgstr "Esperant..."
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:493
+msgid "This usually takes an average of {0}."
+msgstr "Normalment tarda una mitja de {0}"
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:499
+msgid "(This is a bit long for a dashboard)"
+msgstr "(es una mica llarg per a un quadre de comandament)"
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:503
+msgid "This is usually pretty fast but seems to be taking awhile right now."
+msgstr "Normalment això es bastant ràpid però sembla que ara mateix està tardant"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingFieldPicker.jsx:36
+msgid "Select a field"
+msgstr "Selecciona un camp"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingFieldsPicker.jsx:45
+msgid "error"
+msgstr "erro"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingOrderedColumns.jsx:126
+msgid "Click and drag to change their order"
+msgstr "Clica i arrastra per canviar l'ordre"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingOrderedColumns.jsx:139
+msgid "Add fields from the list below"
+msgstr "Afegeix camps de la llista inferior"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:24
+msgid "less than"
+msgstr "menor que"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:25
+msgid "greater than"
+msgstr "major que"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:26
+msgid "less than or equal to"
+msgstr "menor que"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:27
+msgid "greater than or equal to"
+msgstr "major que"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:28
+msgid "equal to"
+msgstr "igual a"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:29
+msgid "not equal to"
+msgstr "diferent de"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:191
+msgid "Conditional formatting"
+msgstr "Format condicional"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:193
+msgid "You can add rules to make the cells in this table change color if\n"
+"they meet certain conditions."
+msgstr "Pots afegir regles per a fer que les celes d'aquesta taula canviïn de valor si compleixen algunes condicions."
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:203
+msgid "Add a rule"
+msgstr "Afegeix una relga"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:208
+msgid "Rules will be applied in this order"
+msgstr "Les regles s'aplicaran en aquest ordre"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:209
+msgid "Click and drag to reorder."
+msgstr "Clica i arrastra per canviar l'ordre."
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:242
+msgid "No columns selected"
+msgstr "No s'ha seleccionat cap columna"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:290
+msgid "Cells in this column will be tinted based on their values."
+msgstr "Les cel·les d'aquesta columna es pintaran segons els seus valors."
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:279
+msgid "When a cell in these columns is {0} it will be tinted this color."
+msgstr "Quan una cel·la d'aquesta columna és {0} es pintara d'aquest color."
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:313
+msgid "Which columns should be affected?"
+msgstr "A quines columnes aplica?"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:335
+msgid "Formatting style"
+msgstr "Estil del format"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:339
+msgid "Single color"
+msgstr "Color únic"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:340
+msgid "Color range"
+msgstr "Rang de color"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:312
+msgid "When a cell in this column is…"
+msgstr "Quan una cel·la d'aquesta columna es..."
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:376
+msgid "…turn its background this color:"
+msgstr "...pinta el fons d'aquest color:"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:382
+msgid "Highlight the whole row"
+msgstr "Ressalta tota la fila"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:390
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:98
+msgid "Colors"
+msgstr "Colors"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:404
+msgid "Start the range at"
+msgstr "El rang comença"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:409
+msgid "Smallest value in this column"
+msgstr "El valor més petit d'aquesta columna"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:411
+msgid "Smallest value in each column"
+msgstr "El valor més petit de cada columna"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:413
+msgid "Smallest value in all of these columns"
+msgstr "El valor més petit en totes aquestes columnes"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:417
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:441
+msgid "Custom value"
+msgstr "Valor personalitzat"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:428
+msgid "End the range at"
+msgstr "Finalitzar el rang a"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:433
+msgid "Largest value in this column"
+msgstr "El valor més gran en aquesta columna"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:435
+msgid "Largest value in each column"
+msgstr "El valor més gran en cada columna"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:437
+msgid "Largest value in all of these columns"
+msgstr "El valor més gran en totes aquestes columnes"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:471
+msgid "Add rule"
+msgstr "Afegir una regla"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:471
+msgid "Update rule"
+msgstr "Actualitzar la regla"
+
+#: frontend/src/metabase/visualizations/index.js:33
+msgid "Visualization is null"
+msgstr "La visualització es buida"
+
+#: frontend/src/metabase/visualizations/index.js:38
+msgid "Visualization must define an 'identifier' static variable: "
+msgstr "La visualització ha de definir una variable 'identificadora' estàtica: "
+
+#: frontend/src/metabase/visualizations/index.js:44
+msgid "Visualization with that identifier is already registered: "
+msgstr "Ja s'ha registrat una visualització amb aquesta identificació:"
+
+#: frontend/src/metabase/visualizations/index.js:72
+msgid "No visualization for {0}"
+msgstr "No hi ha visualitzacions per {0}"
+
+#: frontend/src/metabase/visualizations/lib/LineAreaBarRenderer.js:75
+msgid "\"{0}\" is an unaggregated field: if it has more than one value at a point on the x-axis, the values will be summed."
+msgstr "El camp \"{0}\" no es un agregat: si hi ha més d'un valor en un punt del eix X els valors es sumaran."
+
+#: frontend/src/metabase/visualizations/lib/LineAreaBarRenderer.js:91
+msgid "This chart type requires at least 2 columns."
+msgstr "Aquest tipus de gràfic requereix com a mínim dos columnes"
+
+#: frontend/src/metabase/visualizations/lib/LineAreaBarRenderer.js:96
+msgid "This chart type doesn't support more than {0} series of data."
+msgstr "Aquest tipus de gràfic no permet més de {0} sèries de dades."
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:316
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:51
+msgid "Goal"
+msgstr "Objectiu"
+
+#: frontend/src/metabase/visualizations/lib/errors.js:11
+msgid "Doh! The data from your query doesn't fit the chosen display choice. This visualization requires at least {0} {1} of data."
+msgstr "Les dades de la teva consulta no s'ajusten a la opció de visualització escollida. Aquesta visualització necessita com a mínim {0} {1} de dades."
+
+#: frontend/src/metabase/visualizations/lib/errors.js:11
+msgid "column"
+msgid_plural "columns"
+msgstr[0] "columna"
+msgstr[1] "columnes"
+
+#: frontend/src/metabase/visualizations/lib/errors.js:23
+msgid "No dice. We have {0} data {1} to show and that's not enough for this visualization."
+msgstr "No hi ha sort. Tenim {0} {1} de dades per mostrar per no es suficient per aquesta visualització"
+
+#: frontend/src/metabase/visualizations/lib/errors.js:23
+msgid "point"
+msgid_plural "points"
+msgstr[0] "punt"
+msgstr[1] "punts"
+
+#: frontend/src/metabase/visualizations/lib/errors.js:35
+msgid "Bummer. We can't actually do a pin map for this data because we require both a latitude and longitude column."
+msgstr "No podem fer un mapa de pin per aquesta informació perquè es necessita la columna de longitud i latitud"
+
+#: frontend/src/metabase/visualizations/lib/errors.js:55
+msgid "Please configure this chart in the chart settings"
+msgstr "Si us plau, configura aquest gràfic a la configuració dels gràfics"
+
+#: frontend/src/metabase/visualizations/lib/errors.js:57
+msgid "Edit Settings"
+msgstr "Editar configuració"
+
+#: frontend/src/metabase/visualizations/lib/fill_data.js:37
+msgid "xValues missing!"
+msgstr "Falten valors per les x!"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:114
+#: frontend/src/metabase/visualizations/visualizations/RowChart.jsx:31
+msgid "X-axis"
+msgstr "Eix-X"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:140
+msgid "Add a series breakout..."
+msgstr "Afegeix un desglòs de series..."
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:153
+#: frontend/src/metabase/visualizations/visualizations/RowChart.jsx:35
+msgid "Y-axis"
+msgstr "Eix-Y"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:178
+msgid "Add another series..."
+msgstr "Afegeix una altra sèrie..."
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:195
+msgid "Bubble size"
+msgstr "Mida de la bombolla"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:71
+#: frontend/src/metabase/visualizations/visualizations/LineChart.jsx:16
+msgid "Line"
+msgstr "Línia"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:72
+msgid "Curve"
+msgstr "Curva"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:73
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:69
+msgid "Step"
+msgstr "Pas"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:170
+msgid "Show point markers on lines"
+msgstr "Mostra un marcador de punts a les línies"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:235
+msgid "Stacking"
+msgstr "Apilat"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:239
+msgid "Don't stack"
+msgstr "Sense apilar"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:240
+msgid "Stack"
+msgstr "Apilar"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:241
+msgid "Stack - 100%"
+msgstr "Apilat - 100%"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:300
+msgid "Show goal"
+msgstr "Mostrar objectiu"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:306
+msgid "Goal value"
+msgstr "Valor del objectiu"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:103
+msgid "Replace missing values with"
+msgstr "Reemplaça els valors buits amb"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:107
+msgid "Zero"
+msgstr "Zero"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:108
+msgid "Nothing"
+msgstr "Res"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:109
+msgid "Linear Interpolated"
+msgstr "Interpolació lineal"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:371
+msgid "X-axis scale"
+msgstr "Escala Eix-X"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:388
+msgid "Timeseries"
+msgstr "Series de temps"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:391
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:409
+msgid "Linear"
+msgstr "Lineal"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:393
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:410
+msgid "Power"
+msgstr "Exponencial"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:394
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:411
+msgid "Log"
+msgstr "Logarítimc"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:396
+msgid "Histogram"
+msgstr "Histograma"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:398
+msgid "Ordinal"
+msgstr "Ordinal"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:404
+msgid "Y-axis scale"
+msgstr "Escala Eix-Y"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:417
+msgid "Show x-axis line and marks"
+msgstr "Mostra lńia i marca del Eix-X"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:423
+msgid "Compact"
+msgstr "Compacte"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:424
+msgid "Rotate 45°"
+msgstr "Girar 45º"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:425
+msgid "Rotate 90°"
+msgstr "Girar 90º"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:432
+msgid "Show y-axis line and marks"
+msgstr "Mostra ínia i marques del Eix-Y"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:444
+msgid "Auto y-axis range"
+msgstr "Rang del Eix-Y automàtic"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:488
+msgid "Use a split y-axis when necessary"
+msgstr "Utilitza un Eix-Y dividit quan sigui necesàri"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:495
+msgid "Show label on x-axis"
+msgstr "Mostra etiqueta en l'Eix-X"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:501
+msgid "X-axis label"
+msgstr "Etiqueta Eix-X"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:510
+msgid "Show label on y-axis"
+msgstr "Mostra etiqueta en l'Eix-Y"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:516
+msgid "Y-axis label"
+msgstr "Etiqueta Eix-Y"
+
+#: frontend/src/metabase/visualizations/lib/utils.js:129
+msgid "Standard Deviation"
+msgstr "Desviació Estàndard"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:275
+#: frontend/src/metabase/visualizations/visualizations/AreaChart.jsx:17
+msgid "Area"
+msgstr "Àrea"
+
+#: frontend/src/metabase/visualizations/visualizations/AreaChart.jsx:20
+msgid "area chart"
+msgstr "Gràfic de àrea"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:276
+#: frontend/src/metabase/visualizations/visualizations/BarChart.jsx:16
+msgid "Bar"
+msgstr "Barra"
+
+#: frontend/src/metabase/visualizations/visualizations/BarChart.jsx:19
+msgid "bar chart"
+msgstr "Gràfic de barres"
+
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:58
+msgid "Which fields do you want to use?"
+msgstr "Quins camps vols utilitzar?"
+
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:32
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:87
+msgid "Funnel"
+msgstr "Embut"
+
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:76
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:76
+msgid "Measure"
+msgstr "Mesura"
+
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:82
+msgid "Funnel type"
+msgstr "Tipus d'embut"
+
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:88
+msgid "Bar chart"
+msgstr "Gràfic de barres"
+
+#: frontend/src/metabase/visualizations/visualizations/LineChart.jsx:19
+msgid "line chart"
+msgstr "Gràfic de línies"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:224
+msgid "Please select longitude and latitude columns in the chart settings."
+msgstr "Selecciona les columnes de longitud i latitud a la configuració del gràfic."
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:230
+msgid "Please select a region map."
+msgstr "Si us plau, selecciona un mapa de la regió"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:236
+msgid "Please select region and metric columns in the chart settings."
+msgstr "Selecciona les columnes de regió i mètriques a la configuració del gràfic."
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:38
+msgid "Map"
+msgstr "Mapa"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:53
+msgid "Map type"
+msgstr "Tipus de mapa"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:57
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:149
+msgid "Region map"
+msgstr "Mapa de la regió"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:58
+msgid "Pin map"
+msgstr "Mapa de pin"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:104
+msgid "Pin type"
+msgstr "Tipus de pin"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:109
+msgid "Tiles"
+msgstr "Rajoles"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:110
+msgid "Markers"
+msgstr "Marcados"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:126
+msgid "Latitude field"
+msgstr "Camp latitud"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:134
+msgid "Longitude field"
+msgstr "Camp longitud"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:142
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:168
+msgid "Metric field"
+msgstr "Camp mètrica"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:172
+msgid "Region field"
+msgstr "Camp regió"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:192
+msgid "Radius"
+msgstr "Radi"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:198
+msgid "Blur"
+msgstr "Difuminar"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:204
+msgid "Min Opacity"
+msgstr "Opacitat mínima"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:210
+msgid "Max Zoom"
+msgstr "Zoom Maxim"
+
+#: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:175
+msgid "No relationships found."
+msgstr "No s'han trobat relacions"
+
+#: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:213
+msgid "via {0}"
+msgstr "via {0}"
+
+#: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:290
+msgid "This {0} is connected to:"
+msgstr "Està {0} està connectada a:"
+
+#: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:47
+msgid "Object Detail"
+msgstr "Detall del objecte"
+
+#: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:50
+msgid "object"
+msgstr "objecte"
+
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:312
+msgid "Total"
+msgstr "Total"
+
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:61
+msgid "Which columns do you want to use?"
+msgstr "Quines columnes vols fer servir?"
+
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:44
+msgid "Pie"
+msgstr "Pastís"
+
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:71
+msgid "Dimension"
+msgstr "Dimesió"
+
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:81
+msgid "Show legend"
+msgstr "Mostra la llegenda"
+
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:86
+msgid "Show percentages in legend"
+msgstr "Mostra percentatges a la llegenda"
+
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:92
+msgid "Minimum slice percentage"
+msgstr "Percentatge mínim de la porció"
+
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:146
+msgid "Goal met"
+msgstr "Objectiu aconseguit"
+
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:148
+msgid "Goal exceeded"
+msgstr "Objectiu superat"
+
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:215
+msgid "Goal {0}"
+msgstr "Objectiu {0}"
+
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:39
+msgid "Progress visualization requires a number."
+msgstr "La visualització del progrès requereix un nombre"
+
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:27
+msgid "Progress"
+msgstr "Progrès"
+
+#: frontend/src/metabase/entities/collections.js:108
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:176
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:57
+msgid "Color"
+msgstr "Color"
+
+#: frontend/src/metabase/visualizations/visualizations/RowChart.jsx:13
+msgid "Row Chart"
+msgstr "Gràfic de files"
+
+#: frontend/src/metabase/visualizations/visualizations/RowChart.jsx:16
+msgid "row chart"
+msgstr "gràfic de files"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:357
+msgid "Separator style"
+msgstr "Estil del separador"
+
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:88
+msgid "Number of decimal places"
+msgstr "Nombre de decimals"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:381
+msgid "Add a prefix"
+msgstr "Afegeix un prefix"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:385
+msgid "Add a suffix"
+msgstr "Afegeix un sufix"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:374
+msgid "Multiply by a number"
+msgstr "Multiplica per un nombre"
+
+#: frontend/src/metabase/visualizations/visualizations/ScatterPlot.jsx:16
+msgid "Scatter"
+msgstr "Dispersió"
+
+#: frontend/src/metabase/visualizations/visualizations/ScatterPlot.jsx:19
+msgid "scatter plot"
+msgstr "gràfic de dispersió"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:78
+msgid "Pivot the table"
+msgstr "Pivota la taula"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:73
+msgid "Visible fields"
+msgstr "Camps visibles"
+
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:167
+msgid "Write here, and use Markdown if you''d like"
+msgstr "Escriu aquí. Pots fer servir Markdown si ho desiges"
+
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:73
+msgid "Vertical Alignment"
+msgstr "Alineació vertical"
+
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:77
+msgid "Top"
+msgstr "A dalt"
+
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:78
+msgid "Middle"
+msgstr "Al mig"
+
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:79
+msgid "Bottom"
+msgstr "A baix"
+
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:86
+msgid "Horizontal Alignment"
+msgstr "Alineació horitzontal:"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:126
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:90
+msgid "Left"
+msgstr "Esquerra"
+
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:91
+msgid "Center"
+msgstr "Centre"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:127
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:92
+msgid "Right"
+msgstr "Dreta"
+
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:99
+msgid "Show background"
+msgstr "Mostrar el fons"
+
+#: frontend/src/metabase-lib/lib/Dimension.js:553
+msgid "{0} bin"
+msgid_plural "{0} bins"
+msgstr[0] "{0} agrupació"
+msgstr[1] "{0} agrupacions"
+
+#: frontend/src/metabase-lib/lib/Dimension.js:559
+msgid "Auto binned"
+msgstr "Agrupació automàtica"
+
+#: src/metabase/api/alert.clj
+msgid "DELETE /api/alert/:id is deprecated. Instead, change its `archived` value via PUT /api/alert/:id."
+msgstr "DELETE /api/alert/:id està depreciat. Canvia el valor de `archived` mitjançant PUT /api/alert/:id."
+
+#: src/metabase/api/automagic_dashboards.clj
+msgid "invalid show value"
+msgstr "valor a mostrar invàlid"
+
+#: src/metabase/api/automagic_dashboards.clj
+msgid "invalid value for prefix"
+msgstr "el valor no es vàlid pel prefixes"
+
+#: src/metabase/api/automagic_dashboards.clj
+msgid "invalid value for rule name"
+msgstr "el valor no es vàlid pel nom de la regla"
+
+#: src/metabase/api/automagic_dashboards.clj
+msgid "value couldn''t be parsed as base64 encoded JSON"
+msgstr "el valor no s'ha pogut llegir com JSON codificat amb base64"
+
+#: src/metabase/api/automagic_dashboards.clj
+msgid "Invalid entity type"
+msgstr "Tipus d'entitat invàlida"
+
+#: src/metabase/api/automagic_dashboards.clj
+msgid "Invalid comparison entity type. Can only be one of \"table\", \"segment\", or \"adhoc\""
+msgstr "El tipus d'entitat de comparació no és correcta. Només pot ser \"taula\", \"segment\" o \"adhoc\""
+
+#: src/metabase/query_processor/async.clj
+msgid "Error running query to determine Card result metadata:"
+msgstr "Error determinant el tipus de resultat de la targeta"
+
+#: src/metabase/api/card.clj
+msgid "DELETE /api/card/:id is deprecated. Instead, change its `archived` value via PUT /api/card/:id."
+msgstr "DELETE /api/card/:id està depreciat. Canvia el valor de `archived` mitjançant PUT /api/card/:id."
+
+#: src/metabase/api/common.clj src/metabase/api/common/internal.clj
+msgid "Invalid field: {0}"
+msgstr "Camp invàlid: {0}"
+
+#: src/metabase/api/common.clj
+msgid "Invalid value ''{0}'' for ''{1}'': {2}"
+msgstr "El valor \"{0}\" no es vàlid per \"{1}\": {2}"
+
+#: src/metabase/api/common.clj
+msgid "must be one of: {0}"
+msgstr "Ha de ser un de: {0}"
+
+#: src/metabase/api/common.clj
+msgid "Invalid Request."
+msgstr "Petició invàlida"
+
+#: src/metabase/api/common.clj
+msgid "Not found."
+msgstr "No s'ha trobat"
+
+#: src/metabase/api/common.clj
+msgid "You don''t have permissions to do that."
+msgstr "No tens permisos per realitzar aquesta acció"
+
+#: src/metabase/api/common.clj
+msgid "Internal server error."
+msgstr "Error intern del servidor"
+
+#: src/metabase/api/common.clj
+msgid "Warning: endpoint {0}/{1} does not have a docstring."
+msgstr "Avís: El servei {0}/{1} no té un docstring."
+
+#: src/metabase/api/common.clj
+msgid "starting streaming request"
+msgstr "iniciant streaming"
+
+#: src/metabase/async/api_response.clj
+msgid "connection closed, canceling request"
+msgstr "la connexió s'ha tancat, cancel·lant la sol·licitud"
+
+#. a newline padding character as it's harmless and will allow us to check if the client is connected. If
+#. sending this character fails because the connection is closed, the chan will then close.  Newlines are
+#. no-ops when reading JSON which this depends upon.
+#: src/metabase/async/api_response.clj
+msgid "Response not ready, writing one byte & sleeping..."
+msgstr "La resposta no està llesta, escrivint un byte i esperan"
+
+#: src/metabase/api/common.clj
+msgid "Public sharing is not enabled."
+msgstr "La compartició en públic no està habilitada"
+
+#: src/metabase/api/common.clj
+msgid "Embedding is not enabled."
+msgstr "La incrustació no està habilitada"
+
+#: src/metabase/api/common.clj
+msgid "The object has been archived."
+msgstr "L'objecte ha estat arxivat."
+
+#: src/metabase/api/common/internal.clj
+msgid "Attempted to return a boolean as an API response. This is not allowed!"
+msgstr "S'ha intentat retornar una booleà en una resposta de la API. Això no està permès!"
+
+#: src/metabase/api/dataset.clj
+msgid "Source query for this query is Card {0}"
+msgstr "La consulta d'origen d'aquesta targeta es {0}"
+
+#: src/metabase/api/dataset.clj
+msgid "Invalid export format: {0}"
+msgstr "Format d'exportació invàlid: {0}"
+
+#: src/metabase/api/geojson.clj
+msgid "Invalid JSON URL or resource: {0}"
+msgstr "La URL del JSON o el recurs no es vàlid: {0}"
+
+#: src/metabase/api/geojson.clj
+msgid "JSON containing information about custom GeoJSON files for use in map visualizations instead of the default US State or World GeoJSON."
+msgstr "JSON que conté informació sobre arxius GeoJSON personalitzats per utilitzarlos en visualitzacions de mapes en comptes del GeoJSON per defecte de EEUU o del món."
+
+#: src/metabase/api/geojson.clj
+msgid "Invalid custom GeoJSON key: {0}"
+msgstr "Clau personalitzada GeoJSON invàlida: {0}"
+
+#. ...but if we *still* couldn't find a match, throw an Exception, because we don't want people
+#. trying to inject new params
+#: src/metabase/api/public.clj
+msgid "Invalid param: {0}"
+msgstr "Paràmetre invàlid: {0}"
+
+#: src/metabase/api/pulse.clj
+msgid "DELETE /api/pulse/:id is deprecated. Instead, change its `archived` value via PUT /api/pulse/:id."
+msgstr "DELETE /api/pulse/:id està depreciat. Heu de canviar el valor del camp `archived`a través de PUT /api/pulse/:id."
+
+#: src/metabase/api/routes.clj
+msgid "API endpoint does not exist."
+msgstr "No existeix aquest servei de la PAI"
+
+#: src/metabase/api/session.clj
+msgid "Password did not match stored password."
+msgstr "La contrasenya no coincideix amb la guardada"
+
+#: src/metabase/api/session.clj
+msgid "did not match stored password"
+msgstr "no coincideix amb la contrasenya guardada"
+
+#: src/metabase/api/session.clj
+msgid "Problem connecting to LDAP server, will fallback to local authentication {0}"
+msgstr "No s'ha pogut connectar amb el servidor LDAP, s'utiltizarà l'autentificació local {0}"
+
+#: src/metabase/api/session.clj
+msgid "Invalid reset token"
+msgstr "Clau de reinici invàlida"
+
+#: src/metabase/api/session.clj
+msgid "Client ID for Google Auth SSO. If this is set, Google Auth is considered to be enabled."
+msgstr "El ID de client per l'autentificació SSO de Google. Si aquest valor està configurat es considera que l'autentificació amb Google està habilitada."
+
+#: src/metabase/api/session.clj
+msgid "When set, allow users to sign up on their own if their Google account email address is from this domain."
+msgstr "Permet que els usuaris es registrin per si sols si la direcció de correu electrònic del seu compte de Google es d'aquest domini."
+
+#: src/metabase/api/session.clj
+msgid "Invalid Google Auth token."
+msgstr "El token d'autentificació de Google no es vàlid"
+
+#: src/metabase/api/session.clj
+msgid "Email is not verified."
+msgstr "Correu electrònic sense verificar."
+
+#: src/metabase/api/session.clj
+msgid "You''ll need an administrator to create a Metabase account before you can use Google to log in."
+msgstr "Es necessita un administrador per poder crear un compte de Metabase abans d'utilitzar Google per iniciar la sessió."
+
+#: src/metabase/api/session.clj
+msgid "Successfully authenticated Google Auth token for: {0} {1}"
+msgstr "S'ha autentificat amb èxit el token de Google Auth per {0} {1}"
+
+#: src/metabase/api/setup.clj
+msgid "Add a database"
+msgstr "Afegir una base de dades"
+
+#: src/metabase/api/setup.clj
+msgid "Get connected"
+msgstr "Connectar-se"
+
+#: src/metabase/api/setup.clj
+msgid "Connect to your data so your whole team can start to explore."
+msgstr "Connecta les teves dades per a que tot el teu equip pugui començar a explorar"
+
+#: src/metabase/api/setup.clj
+msgid "Set up email"
+msgstr "Configura el correu electrònic"
+
+#: src/metabase/api/setup.clj
+msgid "Add email credentials so you can more easily invite team members and get updates via Pulses."
+msgstr "Afegeix les credencials del correu electrònic per a poder invitar més facilment els membres del equip o obtenir actualitzacions a través de polsos."
+
+#: src/metabase/api/setup.clj
+msgid "Set Slack credentials"
+msgstr "Estableix les credencials de Slack"
+
+#: src/metabase/api/setup.clj
+msgid "Does your team use Slack? If so, you can send automated updates via pulses and ask questions with MetaBot."
+msgstr "¿El teu equip utilitza Slack? Si es així, pots enviar actualitzacions automàtiques de polsos i fer preguntes amb el Metabot."
+
+#: src/metabase/api/setup.clj
+msgid "Invite team members"
+msgstr "Invita a membre de l'equip"
+
+#: src/metabase/api/setup.clj
+msgid "Share answers and data with the rest of your team."
+msgstr "Comparteix respostes i dades amb la resta del teu equip"
+
+#: src/metabase/api/setup.clj
+msgid "Hide irrelevant tables"
+msgstr "Amaga les taules irrelevants"
+
+#: src/metabase/api/setup.clj
+msgid "Curate your data"
+msgstr "Mima les teves dades"
+
+#: src/metabase/api/setup.clj
+msgid "If your data contains technical or irrelevant info you can hide it."
+msgstr "Si les teves dades contenen informació tècnica o irrellevant pots amagar-la"
+
+#: src/metabase/api/setup.clj
+msgid "Organize questions"
+msgstr "Organitza les preguntes"
+
+#: src/metabase/api/setup.clj
+msgid "Have a lot of saved questions in {0}? Create collections to help manage them and add context."
+msgstr "Tens moltes preguntes guardades a {0}? Crea col·leccions per gestionar-les fàcilment i afegir context"
+
+#. This is the very first log message that will get printed.
+#. It's here because this is one of the very first namespaces that gets loaded, and the first that has access to the logger
+#. It shows up a solid 10-15 seconds before the "Starting Metabase in STANDALONE mode" message because so many other namespaces need to get loaded
+#: src/metabase/api/setup.clj
+msgid "Metabase"
+msgstr "Metabase"
+
+#: src/metabase/api/setup.clj
+msgid "Create metrics"
+msgstr "Crea mètriques"
+
+#: src/metabase/api/setup.clj
+msgid "Define canonical metrics to make it easier for the rest of your team to get the right answers."
+msgstr "Defineix les mètriques principals per a que la resta del teu equip obtingui les respostes correctes"
+
+#: src/metabase/api/setup.clj
+msgid "Create segments"
+msgstr "Crea segments"
+
+#: src/metabase/api/setup.clj
+msgid "Keep everyone on the same page by creating canonical sets of filters anyone can use while asking questions."
+msgstr "Manté a tothom a la mateia pàgina creant conjunts de filtres que podran ser utilitzats pels usuaris al fer preguntes"
+
+#: src/metabase/api/table.clj
+msgid "Table ''{0}'' is now visible. Resyncing."
+msgstr "Ha aparegut la taula \"{0}\". Sincrontizant"
+
+#: src/metabase/api/table.clj
+msgid "Auto bin"
+msgstr "Agrupació automàtica"
+
+#: src/metabase/api/table.clj
+msgid "Don''t bin"
+msgstr "Sense agrupació"
+
+#: frontend/src/metabase/lib/query_time.js:193 src/metabase/api/table.clj
+msgid "Day"
+msgid_plural "Days"
+msgstr[0] "Dia"
+msgstr[1] "Dies"
+
+#. note the order of these options corresponds to the order they will be shown to the user in the UI
+#: frontend/src/metabase/lib/query_time.js:189 src/metabase/api/table.clj
+msgid "Minute"
+msgid_plural "Minutes"
+msgstr[0] "Minut"
+msgstr[1] "Minuts"
+
+#: frontend/src/metabase/lib/query_time.js:191 src/metabase/api/table.clj
+msgid "Hour"
+msgid_plural "Hours"
+msgstr[0] "Hora"
+msgstr[1] "Hores"
+
+#: frontend/src/metabase/lib/query_time.js:199 src/metabase/api/table.clj
+msgid "Quarter"
+msgid_plural "Quarters"
+msgstr[0] "Trimestre"
+msgstr[1] "Trimestres"
+
+#: src/metabase/api/table.clj
+msgid "Minute of Hour"
+msgstr "Minut de la hora"
+
+#: src/metabase/api/table.clj
+msgid "Hour of Day"
+msgstr "Hora del dia"
+
+#: src/metabase/api/table.clj
+msgid "Day of Week"
+msgstr "Dia de la setmana"
+
+#: src/metabase/api/table.clj
+msgid "Day of Month"
+msgstr "Dia del mes"
+
+#: src/metabase/api/table.clj
+msgid "Day of Year"
+msgstr "Dia del any"
+
+#: src/metabase/api/table.clj
+msgid "Week of Year"
+msgstr "Setmana del any"
+
+#: src/metabase/api/table.clj
+msgid "Month of Year"
+msgstr "Més del any"
+
+#: src/metabase/api/table.clj
+msgid "Quarter of Year"
+msgstr "Trimestre del any"
+
+#: src/metabase/api/table.clj
+msgid "10 bins"
+msgstr "10 agrupacions"
+
+#: src/metabase/api/table.clj
+msgid "50 bins"
+msgstr "50 agrupacions"
+
+#: src/metabase/api/table.clj
+msgid "100 bins"
+msgstr "100 agrupacions"
+
+#: src/metabase/api/table.clj
+msgid "Bin every 0.1 degrees"
+msgstr "Agrupa cada 0.1 graus"
+
+#: src/metabase/api/table.clj
+msgid "Bin every 1 degree"
+msgstr "Agrupa cada grau"
+
+#: src/metabase/api/table.clj
+msgid "Bin every 10 degrees"
+msgstr "Agrupa cada 10 graus"
+
+#: src/metabase/api/table.clj
+msgid "Bin every 20 degrees"
+msgstr "Agrupa cada 20 graus"
+
+#. returns `true` if successful -- see JavaDoc
+#: src/metabase/api/tiles.clj src/metabase/pulse/render.clj
+msgid "No appropriate image writer found!"
+msgstr "No s'ha trobat un generador d'imatges apropiat!"
+
+#: src/metabase/api/user.clj
+msgid "Email address already in use."
+msgstr "La direcció de correu electrònic ja s'està utlitzant."
+
+#: src/metabase/api/user.clj
+msgid "Email address already associated to another user."
+msgstr "La direcció de correu electrònic ja està associada a una altre usuari"
+
+#: src/metabase/api/user.clj
+msgid "Not able to reactivate an active user"
+msgstr "No es pot activar un usuari actiu"
+
+#: src/metabase/api/user.clj
+msgid "Invalid password"
+msgstr "La contrasenya no es vàlida"
+
+#: src/metabase/automagic_dashboards/comparison.clj
+msgid "All {0}"
+msgstr "Tots els {0}"
+
+#: src/metabase/automagic_dashboards/comparison.clj
+msgid "{0}, all {1}"
+msgstr "{0}, tots {1}"
+
+#: src/metabase/automagic_dashboards/comparison.clj
+msgid "Comparison of {0} and {1}"
+msgstr "Comparativa de {0} i {1}"
+
+#: src/metabase/automagic_dashboards/comparison.clj
+msgid "Automatically generated comparison dashboard comparing {0} and {1}"
+msgstr "Crea automàticament comparatives de {0} i {1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "sum"
+msgstr "suma"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "average"
+msgstr "mitja"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "minumum"
+msgstr "minim"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "maximum"
+msgstr "màxim"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "distinct count"
+msgstr "compta diferents"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "standard deviation"
+msgstr "desviació estàndard"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "cumulative count"
+msgstr "recompte acumulatiu"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "cumulative sum"
+msgstr "suma acumulativa"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} and {1}"
+msgstr "{0} i {1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} of {1}"
+msgstr "{0} de {1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} by {1}"
+msgstr "{0} per {1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} in the {1} segment"
+msgstr "{0} al segment {1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} segment"
+msgstr "{0} segment"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} metric"
+msgstr "{0} mètrica"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} field"
+msgstr "{0} camp"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "\"{0}\" question"
+msgstr "\"{0}\" pregunta"
+
+#: src/metabase/automagic_dashboards/comparison.clj
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Compare with {0}"
+msgstr "Compara amb {0}"
+
+#: src/metabase/automagic_dashboards/comparison.clj
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Compare with entire dataset"
+msgstr "Compara amb totes les dades"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Applying heuristic %s to %s."
+msgstr "Aplicant la heurística %s a %s."
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Dimensions bindings:n%s"
+msgstr "Enllaços de dimensions:n%s"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Using definitions:nMetrics:n%snFilters:n%s"
+msgstr "Utilitzant definicions:nMétriques:n%snFiltres:n%s"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Can''t create dashboard for {0}"
+msgstr "No es pot crear una quadre de comandament per {0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0}st"
+msgstr "{0}er"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0}nd"
+msgstr "{0}n"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0}rd"
+msgstr "{0}er"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0}th"
+msgstr "{0}t"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "at {0}"
+msgstr "el {0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "on {0}"
+msgstr "en {0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "in {0} week - {1}"
+msgstr "en {0} setmana - {1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "in {0}"
+msgstr "en {0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "in Q{0} - {1}"
+msgstr "en T{0} - {1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Q{0}"
+msgstr "T{0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} is {1}"
+msgstr "{0} es {1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} is between {1} and {2}"
+msgstr "{0} està entre {1} i {2}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} is between {1} and {2}; and {3} is between {4} and {5}"
+msgstr "{0} està entre {1} i {2}; i {3} està entre {4} i {5}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "where {0}"
+msgstr "on {0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "A closer look at {0}"
+msgstr "Veure més detalls de {0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "A closer look at the {0}"
+msgstr "Veure més detalls de {0}"
+
+#: src/metabase/automagic_dashboards/populate.clj
+msgid "Adding %s cards to dashboard %s:n%s"
+msgstr "Afegint %s targetes al quadre de comandament %s:n%s"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "0 <= score <= {0}"
+msgstr "0 <= puntuació <= {0}"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "1 <= width <= {0}"
+msgstr "1 <= ample <= {0}"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Valid metrics references"
+msgstr "Referències de mètriques vàlides"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Valid filters references"
+msgstr "Referències de filtres vàlides"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Valid group references"
+msgstr "Referències de grups vàlides"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Valid order_by references"
+msgstr "Referències d'ordenació vàlides"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Valid dashboard filters references"
+msgstr "Referències de filtres de quadres de comandament vàlids"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Valid dimension references"
+msgstr "Referències de dimensions vàlides"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Valid card dimension references"
+msgstr "Referencies de dimensions de targeta vàlides"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Error parsing %s:n%s"
+msgstr "Error processant %s:n%s"
+
+#: src/metabase/cmd/reset_password.clj
+msgid "No user found with email address ''{0}''. "
+msgstr "No s'ha trobat un usuari amb correu electrònic \"{0}\" "
+
+#: src/metabase/cmd/reset_password.clj
+msgid "Please check the spelling and try again."
+msgstr "Si us plau, verifica-ho i torna-ho a intentar"
+
+#: src/metabase/cmd/reset_password.clj
+msgid "Resetting password for {0}..."
+msgstr "Restablint la contrasenya de {0}"
+
+#: src/metabase/cmd/reset_password.clj
+msgid "OK [[[{0}]]]"
+msgstr "CORRECTE [[[{0}]]]"
+
+#: src/metabase/cmd/reset_password.clj
+msgid "FAIL [[[{0}]]]"
+msgstr "FALLAT [[[{0}]]]"
+
+#: src/metabase/core.clj
+msgid "Please use the following URL to setup your Metabase installation:"
+msgstr "Utilitza la seguent URL per configurar la teva instal·lació de Metabase:"
+
+#: src/metabase/core.clj
+msgid "Metabase Shutting Down ..."
+msgstr "Apagant Metabase ..."
+
+#: src/metabase/core.clj
+msgid "Metabase Shutdown COMPLETE"
+msgstr "Metabase apacat correctamente"
+
+#: src/metabase/core.clj
+msgid "Starting Metabase version {0} ..."
+msgstr "Inicialitzant el Metabase {0}"
+
+#: src/metabase/core.clj
+msgid "System timezone is ''{0}'' ..."
+msgstr "La zona horària del sistema és \"{0}\""
+
+#. startup database.  validates connection & runs any necessary migrations
+#: src/metabase/core.clj
+msgid "Setting up and migrating Metabase DB. Please sit tight, this may take a minute..."
+msgstr "Configurant i migrant la base de dades de Metabase. Si us plau, sigues pacient, això pot tardar uns minuts"
+
+#: src/metabase/core.clj
+msgid "Looks like this is a new installation ... preparing setup wizard"
+msgstr "Sembla que es una instal·lació nova ... Iniciant el assistent de configuració"
+
+#: src/metabase/core.clj
+msgid "Metabase Initialization COMPLETE"
+msgstr "Inicialització del Metabase COMPLETADA"
+
+#: src/metabase/server.clj
+msgid "Launching Embedded Jetty Webserver with config:"
+msgstr "Iniciant el servidor incrustat Jetty amb la configuració:"
+
+#: src/metabase/server.clj
+msgid "Shutting Down Embedded Jetty Webserver"
+msgstr "Apagant el servidor incrustat Jetty"
+
+#: src/metabase/core.clj
+msgid "Starting Metabase in STANDALONE mode"
+msgstr "Iniciant metabase amb mode STANDAOLONe"
+
+#: src/metabase/core.clj
+msgid "Metabase Initialization FAILED"
+msgstr "La inicialització del Metabase ha FALLAT"
+
+#: src/metabase/db.clj
+msgid "Database has migration lock; cannot run migrations."
+msgstr "Hi ha una bloqueig de la migració a la base de dades: no podem executar migracions"
+
+#: src/metabase/db.clj
+msgid "You can force-release these locks by running `java -jar metabase.jar migrate release-locks`."
+msgstr "Pots forçar l'alliberació d'aquests bloquejos amb:  `java -jar metabase.jar migrate release-locks`."
+
+#: src/metabase/db.clj
+msgid "Checking if Database has unrun migrations..."
+msgstr "Comprovant si la base de dades té migracions sense finalitzar..."
+
+#: src/metabase/db.clj
+msgid "Database has unrun migrations. Waiting for migration lock to be cleared..."
+msgstr "La base de dades té migracions sense finalitzar. Esperant a que s'elimini el bloqueig de la migració"
+
+#: src/metabase/db.clj
+msgid "Migration lock is cleared. Running migrations..."
+msgstr "S'ha eliminat el bloqueig de la migració. Executant migracions..."
+
+#: src/metabase/db.clj
+msgid "Migration lock cleared, but nothing to do here! Migrations were finished by another instance."
+msgstr "S'ha esborrat el bloqueig de la migració però no hi ha res a fer. Les migracions s'han eliminat en una altra instància."
+
+#. Set up liquibase and let it do its thing
+#: src/metabase/db.clj
+msgid "Setting up Liquibase..."
+msgstr "Preparant Liquidbase..."
+
+#: src/metabase/db.clj
+msgid "Liquibase is ready."
+msgstr "El Liquidbase està preparat"
+
+#: src/metabase/db.clj
+msgid "Verifying {0} Database Connection ..."
+msgstr "Verificant la connexió a la base de dades {0} ..."
+
+#: src/metabase/db.clj
+msgid "Verify Database Connection ... "
+msgstr "Verifica la connexió a la base de dades ... "
+
+#: src/metabase/db.clj
+msgid "Running Database Migrations..."
+msgstr "Executant migracions de la base de dades..."
+
+#: src/metabase/db.clj
+msgid "Database Migrations Current ... "
+msgstr "Migracions de la base de dades actuals... "
+
+#: src/metabase/driver/common.clj
+msgid "Hmm, we couldn''t connect to the database."
+msgstr "Hmmm, no s'ha pogut conectar amb la base de dades."
+
+#: src/metabase/driver/common.clj
+msgid "Make sure your host and port settings are correct"
+msgstr "Asegura't que la configuració del host i port siguin correctes"
+
+#: src/metabase/driver/common.clj
+msgid "We couldn''t connect to the ssh tunnel host."
+msgstr "no s'ha pogut conectar amb el servidor de tunel ssh"
+
+#: src/metabase/driver/common.clj
+msgid "Check the username, password."
+msgstr "Verifica el nom d'usuari i la contrasenya"
+
+#: src/metabase/driver/common.clj
+msgid "Check the hostname and port."
+msgstr "Verifica el servidor i el port"
+
+#: src/metabase/driver/common.clj
+msgid "Looks like the database name is incorrect."
+msgstr "Sembla que el nom de la base de dades no es correcte"
+
+#: src/metabase/driver/common.clj
+msgid "It looks like your host is invalid."
+msgstr "Sembla que el seu servidor no es vàlid"
+
+#: src/metabase/driver/common.clj
+msgid "Please double-check it and try again."
+msgstr "Si us plau, revisa-ho de nou i torna-ho a probar"
+
+#: src/metabase/driver/common.clj
+msgid "Looks like your password is incorrect."
+msgstr "Sembla que la contrasenya no és correcta"
+
+#: src/metabase/driver/common.clj
+msgid "Looks like you forgot to enter your password."
+msgstr "Sembla que t'has deixat de ficar la contrasenya"
+
+#: src/metabase/driver/common.clj
+msgid "Looks like your username is incorrect."
+msgstr "Sembla que el teu nom d'usuari no es correcte"
+
+#: src/metabase/driver/common.clj
+msgid "Looks like the username or password is incorrect."
+msgstr "Sembla que el nom d'usuari o la contrasenya no són correctes"
+
+#. ## CONFIG
+#: src/metabase/driver.clj
+msgid "Connection timezone to use when executing queries. Defaults to system timezone."
+msgstr "La zona horària de connexió que s'utilitzara per executar les consultes. El valor predeterminat és la zona horària del sistema."
+
+#: src/metabase/driver.clj
+msgid "Registered driver {0} {1}"
+msgstr "S'ha registrat el controlador {0} {1}"
+
+#: src/metabase/driver.clj
+msgid "No -init-driver function found for ''{0}''"
+msgstr "No s'ha trobat cap funció --init--driver per a \"{0}\""
+
+#: src/metabase/driver/common.clj
+msgid "Unable to parse date string ''{0}'' for database engine ''{1}''"
+msgstr "No es pot analitzar la cadena de data \"{0}\" amb el motor de base de dades \"{1}\""
+
+#. all-NULL columns in DBs like Mongo w/o explicit types
+#: src/metabase/driver/common.clj
+msgid "Don''t know how to map class ''{0}'' to a Field base_type, falling back to :type/*."
+msgstr "No se com utilitzar la classe \"{0} com a tipus de camp base, tornant a :type/*."
+
+#: src/metabase/driver/util.clj
+msgid "Failed to connect to database: {0}"
+msgstr "No s'ha pogut connectar amb la base de dades: {0}"
+
+#: src/metabase/driver/bigquery.clj
+msgid "Invalid BigQuery identifier: ''{0}''"
+msgstr "Identificador de BigQuery invàlid: \"{0}\""
+
+#: src/metabase/driver/bigquery.clj
+msgid "BigQuery statements can't be parameterized!"
+msgstr "Les comandes de BigQuery no suporten paràmetres!"
+
+#: src/metabase/driver/sql_jdbc/execute.clj
+msgid "Failed to set timezone:"
+msgstr "No s'ha pogut establir la zona horària:"
+
+#: src/metabase/driver/googleanalytics.clj
+msgid "You must enable the Google Analytics API. Use this link to go to the Google Developers Console: {0}"
+msgstr "Has d'habilitar la API de Google Analyticss. Utilitza aquest enllaç per anar a la consola de desenvolupadors de Google: {0}"
+
+#: src/metabase/driver/h2.clj
+msgid "Running SQL queries against H2 databases using the default (admin) database user is forbidden."
+msgstr "No es permet executar consultes SQL a les bases de dades H2 utilitzant l'usuari per defecte (admin)"
+
+#: src/metabase/driver/sparksql.clj
+msgid "Error: metabase.driver.FixedHiveDriver is registered, but JDBC does not seem to be using it."
+msgstr "Error: metabase.driver.FixedHiveDriver està registrat però sembla que el JDBC no l'està utilitzant."
+
+#: src/metabase/driver/sparksql.clj
+msgid "Found metabase.driver.FixedHiveDriver."
+msgstr "S'ha trobat metabase.driver.FixedHiveDriver."
+
+#: src/metabase/driver/sparksql.clj
+msgid "Successfully registered metabase.driver.FixedHiveDriver with JDBC."
+msgstr "S'ha registrat metabase.driver.FixedHiveDriver a través de JDBC."
+
+#. CONFIG
+#. TODO - smtp-port should be switched to type :integer
+#: src/metabase/email.clj
+msgid "Email address you want to use as the sender of Metabase."
+msgstr "Direcció de correu electrònic que s'utilitzara com a remeitent del Metabase"
+
+#: src/metabase/email.clj
+msgid "The address of the SMTP server that handles your emails."
+msgstr "La direcció del servidor SMTP que gestiona els teus correus electrònics"
+
+#: src/metabase/email.clj
+msgid "SMTP username."
+msgstr "Usuari SMTP."
+
+#: src/metabase/email.clj
+msgid "SMTP password."
+msgstr "Contraseña SMTP"
+
+#: src/metabase/email.clj
+msgid "The port your SMTP server uses for outgoing emails."
+msgstr "El port qeu fa servir el teu servidor SMTP per als correus sortints."
+
+#: src/metabase/email.clj
+msgid "SMTP secure connection protocol. (tls, ssl, starttls, or none)"
+msgstr "Protocol de conexió segura SMTP (tts, ssl, starttls, o cap)"
+
+#: src/metabase/email.clj
+msgid "none"
+msgstr "cap"
+
+#: src/metabase/email.clj
+msgid "SMTP host is not set."
+msgstr "El servidor SMTP no està configurat"
+
+#: src/metabase/email.clj
+msgid "Failed to send email"
+msgstr "No s'ha pogut enviar el correu electrònic"
+
+#: src/metabase/email.clj
+msgid "Error testing SMTP connection"
+msgstr "Error al probar la conexió SMTP"
+
+#: src/metabase/integrations/ldap.clj
+msgid "Enable LDAP authentication."
+msgstr "Habilita l'autentificació per LDAP"
+
+#: src/metabase/integrations/ldap.clj
+msgid "Server hostname."
+msgstr "Nom del servidor"
+
+#: src/metabase/integrations/ldap.clj
+msgid "Server port, usually 389 or 636 if SSL is used."
+msgstr "Por del servidor, normalment 389 o bé 636 si s'usa SSL"
+
+#: src/metabase/integrations/ldap.clj
+msgid "Use SSL, TLS or plain text."
+msgstr "Utilitza SSL, TLS o text pla"
+
+#: src/metabase/integrations/ldap.clj
+msgid "The Distinguished Name to bind as (if any), this user will be used to lookup information about other users."
+msgstr "El nom distingit per enllaçar (si existeix), aquest usuari s'utilitzarà per buscar informació sobre altres usuaris."
+
+#: src/metabase/integrations/ldap.clj
+msgid "The password to bind with for the lookup user."
+msgstr "La contraseña per vincular amb l'usuari de la cerca"
+
+#: src/metabase/integrations/ldap.clj
+msgid "Search base for users. (Will be searched recursively)"
+msgstr "Base de cerca d'usuaris. (Es buscarà recursivament)"
+
+#: src/metabase/integrations/ldap.clj
+msgid "User lookup filter, the placeholder '{login}' will be replaced by the user supplied login."
+msgstr "Filtre de cerca d'usuari, la marca '{login}' es substituirà pel inicio de sessió proporcionat per l'usuari"
+
+#: src/metabase/integrations/ldap.clj
+msgid "Attribute to use for the user's email. (usually ''mail'', ''email'' or ''userPrincipalName'')"
+msgstr "Atribut del correu electrònic. Generalment \"correu\", \"correu_electronic\" o \"userPrincipalName\")"
+
+#: src/metabase/integrations/ldap.clj
+msgid "Attribute to use for the user''s first name. (usually ''givenName'')"
+msgstr "Atribut per utilitzar pel nom de l'usuari. Generalment \"givenName\""
+
+#: src/metabase/integrations/ldap.clj
+msgid "Attribute to use for the user''s last name. (usually ''sn'')"
+msgstr "Atribut per utilitzar pel cognom de l'usuari. Generalment \"sn\""
+
+#: src/metabase/integrations/ldap.clj
+msgid "Enable group membership synchronization with LDAP."
+msgstr "Activa la sincronització de grups amb LDAP."
+
+#: src/metabase/integrations/ldap.clj
+msgid "Search base for groups, not required if your LDAP directory provides a ''memberOf'' overlay. (Will be searched recursively)"
+msgstr "Base de cerca per grups. No es requereix si el teu directori LDAP proporciona una superposició \"memberOf\". Es buscarà recusrivament"
+
+#. Should be in the form: {"cn=Some Group,dc=...": [1, 2, 3]} where keys are LDAP groups and values are lists of MB groups IDs
+#: src/metabase/integrations/ldap.clj
+msgid "JSON containing LDAP to Metabase group mappings."
+msgstr "El JSON que conté la correspondència de LDAP als grups de Metabase."
+
+#. Define a setting which captures our Slack api token
+#: src/metabase/integrations/slack.clj
+msgid "Slack API bearer token obtained from https://api.slack.com/web#authentication"
+msgstr "Slack API bearer token obtingut de https://api.slack.com/web#authentication"
+
+#: src/metabase/metabot.clj
+msgid "Enable MetaBot, which lets you search for and view your saved questions directly via Slack."
+msgstr "Activa el Metabot, que et permet cercar i veure les teves preguntes guardades mitjançant Slack."
+
+#: src/metabase/metabot/instance.clj
+msgid "Last MetaBot checkin was {0} ago."
+msgstr "El últim accés del Metabot va ser fa {0}"
+
+#: src/metabase/metabot/instance.clj
+msgid "This instance will now handle MetaBot duties."
+msgstr "Aquest instal·lació manejara tasques de Metabot."
+
+#: src/metabase/metabot.clj
+msgid "Here''s what I can {0}:"
+msgstr "Això es lo que puc {0}"
+
+#: src/metabase/metabot.clj
+msgid "I don''t know how to {0} `{1}`.n{2}"
+msgstr "No se com {0} `{1}`.n{2}"
+
+#: src/metabase/metabot/slack.clj
+msgid "Uh oh! :cry:n> {0}"
+msgstr "Oh! :cry:n>"
+
+#: src/metabase/metabot/command.clj
+msgid "Here''s your {0} most recent cards:n{1}"
+msgstr "Aquí estan les teves  {0} targetes més recents: n{1}"
+
+#: src/metabase/metabot/command.clj
+msgid "Could you be a little more specific? I found these cards with names that matched:n{0}"
+msgstr "Podries ser una mica més específic? Em trobat aquestes targetes amb noms que coincideixen: n{0}"
+
+#: src/metabase/metabot/command.clj
+msgid "I don''t know what Card `{0}` is. Give me a Card ID or name."
+msgstr "No se el que es la targeta `{0}`. Donam un ID o nom de la targeta."
+
+#: src/metabase/metabot/command.clj
+msgid "Show which card? Give me a part of a card name or its ID and I can show it to you. If you don''t know which card you want, try `metabot list`."
+msgstr "Quina targeta vols mostrar? Dona'm una part del nom d'una targeta o el seu ID per a que te la mostri. Si no saps quina targeta vols, prova amb `metabot list`."
+
+#: src/metabase/metabot/command.clj
+msgid "Ok, just a second..."
+msgstr "D'acord, només un segon"
+
+#: src/metabase/metabot/command.clj
+msgid "Not Found"
+msgstr "No s'ha trobat"
+
+#: src/metabase/metabot/command.clj
+msgid "Loading Kanye quotes..."
+msgstr "Carregant les cites de Kanye"
+
+#: src/metabase/metabot/events.clj
+msgid "Evaluating Metabot command:"
+msgstr "Executant la comanda de Metabot"
+
+#: src/metabase/metabot.clj
+msgid "Go home websocket, you're drunk."
+msgstr "Ves cap a casa websocket, estàs begut"
+
+#: src/metabase/metabot/websocket.clj
+msgid "Error launching metabot:"
+msgstr "Error iniciant el metabot:"
+
+#: src/metabase/metabot/websocket.clj
+msgid "MetaBot WebSocket is closed. Reconnecting now."
+msgstr "El Websocket del Metabot està tancat. Reconectant"
+
+#: src/metabase/metabot/websocket.clj
+msgid "Error connecting websocket:"
+msgstr "Error al connectar al websocket:"
+
+#: src/metabase/metabot/instance.clj
+msgid "This instance is performing MetaBot duties."
+msgstr "Aquesta instància està manejant les tasques del Metabot"
+
+#: src/metabase/metabot/instance.clj
+msgid "Another instance is already handling MetaBot duties."
+msgstr "Una altra instància està manejant les tasques del Metabot"
+
+#: src/metabase/metabot.clj
+msgid "Starting MetaBot threads..."
+msgstr "Iniciant els  fils del Metabot"
+
+#: src/metabase/metabot.clj
+msgid "Stopping MetaBot...  🤖"
+msgstr "Parant MetaBot...  🤖"
+
+#: src/metabase/metabot.clj
+msgid "MetaBot already running. Killing the previous WebSocket listener first."
+msgstr "El Metabot ja s'està executant. Matant el Websocket d'escolta previ."
+
+#: src/metabase/middleware/security.clj
+msgid "Base-64 encoded public key for this site's SSL certificate."
+msgstr "Clau pública codificada amb base64 pel certificat SSL d'aquest lloc web"
+
+#: src/metabase/middleware/security.clj
+msgid "Specify this to enable HTTP Public Key Pinning."
+msgstr "Especifica aquest valor per habilitar el Pinning de la clau públic HTTP"
+
+#: src/metabase/middleware/security.clj
+msgid "See {0} for more information."
+msgstr "Veure {0} per més informació"
+
+#: src/metabase/models/card.clj
+msgid "Cannot save Question: source query has circular references."
+msgstr "No s'ha pogut guardar la pregunta degut a referències circulars"
+
+#: src/metabase/models/card.clj src/metabase/models/query/permissions.clj
+#: src/metabase/query_processor/middleware/permissions.clj
+msgid "Card {0} does not exist."
+msgstr "No existeix la targeta {0}"
+
+#: src/metabase/models/card.clj
+msgid "You do not have permissions to run ad-hoc native queries against Database {0}."
+msgstr "Ho sentim, no tens permisos per executar consultes directes a la base de dades {0}"
+
+#: src/metabase/models/collection.clj
+msgid "Invalid color"
+msgstr "Color invàlid"
+
+#: src/metabase/models/collection.clj
+msgid "must be a valid 6-character hex color code"
+msgstr "ha de ser un codi de color hexadecimal vàlid de 6 caràcters"
+
+#: src/metabase/models/collection.clj
+msgid "Collection name cannot be blank!"
+msgstr "El nom de la col·lecció no pot estar buit!"
+
+#: src/metabase/models/collection.clj
+msgid "cannot be blank"
+msgstr "no pot estar buit"
+
+#: src/metabase/models/collection.clj
+msgid "Invalid Collection location: path is invalid."
+msgstr "Ubicació de la col·lecció invàlida: la ruta no es vàlida."
+
+#: src/metabase/models/collection.clj
+msgid "You cannot move a Personal Collection."
+msgstr "No pots moure una col·lecció personal."
+
+#: src/metabase/models/collection.clj
+msgid "Invalid Collection location: some or all ancestors do not exist."
+msgstr "Ubicació de la col·lecció invàlida: un o més dels seus predecessors no existeixen."
+
+#: src/metabase/models/collection.clj
+msgid "You cannot archive the Root Collection."
+msgstr "No es pot arxivar la col·lecció arrel.."
+
+#: src/metabase/models/collection.clj
+msgid "You cannot archive a Personal Collection."
+msgstr "No es pot arxivar una col·lecció personal."
+
+#: src/metabase/models/collection.clj
+msgid "You cannot move the Root Collection."
+msgstr "No es pot moure la col·lecció arrel."
+
+#: src/metabase/models/collection.clj
+msgid "You cannot move a Collection into itself or into one of its descendants."
+msgstr "No pots moure una col·lecció dins de si mateixa o dins d'un dels seus descendents"
+
+#. first move this Collection
+#: src/metabase/models/collection.clj
+msgid "Moving Collection {0} and its descendants from {1} to {2}"
+msgstr "Movent la col·lecció {0} i els seu descendents de {1} a {2}"
+
+#: src/metabase/models/collection.clj
+msgid "You're not allowed to change the owner of a Personal Collection."
+msgstr "No es pot canviar el propietari de una col·lecció personal."
+
+#: src/metabase/models/collection.clj
+msgid "You're not allowed to move a Personal Collection."
+msgstr "No tens permisos per moure una col·lecció personal."
+
+#: src/metabase/models/collection.clj
+msgid "You cannot move a Collection and archive it at the same time."
+msgstr "No pots moure i arxivar una col·lecció al mateix temps."
+
+#: src/metabase/models/collection.clj
+msgid "You cannot delete a Personal Collection!"
+msgstr "No pots eliminar una col·lecció personal."
+
+#: src/metabase/models/collection.clj
+msgid "{0} {1}''s Personal Collection"
+msgstr "Col·lecció personal de {0} {1}"
+
+#: src/metabase/models/collection_revision.clj
+msgid "You cannot update a CollectionRevision!"
+msgstr "No pots actualitzar una revisió d'una col·lecció"
+
+#: src/metabase/models/field_values.clj
+msgid "Field {0} was previously automatically set to show a list widget, but now has {1} values."
+msgstr "El camp {0} es va establir automàticament per mostrar-se en un giny de llista però ara té {1} valors"
+
+#: src/metabase/models/field_values.clj
+msgid "Switching Field to use a search widget instead."
+msgstr "Canviant el camp per utilitzar un giny de cerca en el seu lloc"
+
+#: src/metabase/models/field_values.clj
+msgid "Storing updated FieldValues for Field {0}..."
+msgstr "Guardant valors del camp actualitzats per al camp {0}"
+
+#: src/metabase/models/field_values.clj
+msgid "Storing FieldValues for Field {0}..."
+msgstr "Guardant valor del camp per al camp {0}"
+
+#: src/metabase/models/humanization.clj
+msgid "Metabase can attempt to transform your table and field names into more sensible, human-readable versions, e.g. \"somehorriblename\" becomes \"Some Horrible Name\"."
+msgstr "El Metabase intenta transformar els noms de les taules i els camps en versions més comprensibles i llegibles per al ser humà. Per exemple: \"unnomhorrible\" es converteix en \"Un Nom Horrible\""
+
+#: src/metabase/models/humanization.clj
+msgid "This doesn’t work all that well if the names are in a language other than English, however."
+msgstr "Això no funciona molt bé si els noms estan en un idioma que no sigui el Anglès"
+
+#: src/metabase/models/humanization.clj
+msgid "Do you want us to take a guess?"
+msgstr "Vols que ho endevinem?"
+
+#: src/metabase/models/permissions.clj
+msgid "You cannot create or revoke permissions for the 'Admin' group."
+msgstr "No pots crear o eliminar permisos per al grup 'Admin'."
+
+#: src/metabase/models/permissions.clj
+msgid "Invalid permissions object path: ''{0}''."
+msgstr "Permisos incorrectes per la ruta al objecte: \"{0}\"."
+
+#: src/metabase/models/permissions.clj
+msgid "You cannot update a permissions entry!"
+msgstr "No pots actualitzar una registre de permisos!"
+
+#: src/metabase/models/permissions.clj
+msgid "Delete it and create a new one."
+msgstr "Elímina'l i crea un de nou"
+
+#: src/metabase/models/permissions.clj
+msgid "You cannot edit permissions for a Personal Collection or its descendants."
+msgstr "No pots editar els permisos de una col·lecció personal ni dels seus descendents."
+
+#: src/metabase/models/permissions.clj
+msgid "Looks like someone else edited the permissions and your data is out of date."
+msgstr "Sembla que algú altre també ha editat els permisos i les teves dades estan desactualitzades"
+
+#: src/metabase/models/permissions.clj
+msgid "Please fetch new data and try again."
+msgstr "Si us plau, refresqueu les dades i torneu-ho a intentar"
+
+#: src/metabase/models/permissions_group.clj
+msgid "Created magic permissions group ''{0}'' (ID = {1})"
+msgstr "S'ha creat el grup de permisos màgic \"{0}\" (ID = {1})"
+
+#: src/metabase/models/permissions_group.clj
+msgid "A group with that name already exists."
+msgstr "Ja existeix un grup amb aquest nom"
+
+#: src/metabase/models/permissions_group.clj
+msgid "You cannot edit or delete the ''{0}'' permissions group!"
+msgstr "No pots editar o eliminar el grup de permisos \"{0}\"!"
+
+#: src/metabase/models/permissions_group_membership.clj
+msgid "You cannot add or remove users to/from the 'MetaBot' group."
+msgstr "No pots afegir o eliminar usuaris del grup 'Metabot'."
+
+#: src/metabase/models/permissions_group_membership.clj
+msgid "You cannot add or remove users to/from the 'All Users' group."
+msgstr "No es pot afegir o eliminar usuaris del grup \"Tots els usuaris\"."
+
+#: src/metabase/models/permissions_group_membership.clj
+msgid "You cannot remove the last member of the 'Admin' group!"
+msgstr "No pots eliminar l'últim membre del grup 'Admin'."
+
+#: src/metabase/models/permissions_revision.clj
+msgid "You cannot update a PermissionsRevision!"
+msgstr "No pots actualitzar una revisió de permisos"
+
+#. if there's still not a Card, throw an Exception!
+#: src/metabase/models/pulse.clj
+msgid "Invalid Alert: Alert does not have a Card assoicated with it"
+msgstr "Alerta invàlida: no té associada cap targeta"
+
+#: src/metabase/models/pulse.clj
+msgid "value must be a map with the keys `{0}`, `{1}`, and `{2}`."
+msgstr "el valor ha de ser un mapa amb les claus `{0}`,`{1}` i `{2}`."
+
+#: src/metabase/models/pulse.clj
+msgid "value must be a map with the following keys `({0})`"
+msgstr "el valor ha de ser un mapa amb les claus `({0})`"
+
+#: src/metabase/models/query/permissions.clj
+msgid "Error calculating permissions for query: {0}"
+msgstr "Error calculant els permisos per a la consulta: {0}"
+
+#: src/metabase/models/query/permissions.clj
+msgid "Invalid query type: {0}"
+msgstr "Tipus de consulta invàlida: {0}"
+
+#: src/metabase/models/query_execution.clj
+msgid "You cannot update a QueryExecution!"
+msgstr "No pots actualitzar una execució de consulta."
+
+#: src/metabase/models/revision.clj
+msgid "You cannot update a Revision!"
+msgstr "No pots actualitzar una revisió."
+
+#: src/metabase/models/setting.clj
+msgid "Setting {0} does not exist.nFound: {1}"
+msgstr "No s'ha trobat la configuració {0}. S'ha trobat: {1}"
+
+#: src/metabase/models/setting/cache.clj
+msgid "Updating value of settings-last-updated in DB..."
+msgstr "Actualitzant el valor de la data de modificació del la configuració a la base de dades..."
+
+#: src/metabase/models/setting/cache.clj
+msgid "Checking whether settings cache is out of date (requires DB call)..."
+msgstr "Comprovant si la configuració de la memòria cau està desactualitzada"
+
+#: src/metabase/models/setting/cache.clj
+msgid "Settings have been changed on another instance, and will be reloaded here."
+msgstr "La configuració s'ha modificat en una altra instància i es tornarà a carregar aquí"
+
+#: src/metabase/models/setting/cache.clj
+msgid "Refreshing Settings cache..."
+msgstr "Actualitzat els paràmetres de la memòria cau"
+
+#: src/metabase/models/setting.clj
+msgid "Invalid value for string: must be either \"true\" or \"false\" (case-insensitive)."
+msgstr "Valor invàlid per la cadena: ha de ser \"true\" o \"false\" (no es distingeix entre majúscules i minúscules)"
+
+#: src/metabase/models/setting.clj
+msgid "You cannot update `settings-last-updated` yourself! This is done automatically."
+msgstr "El últim canvi de la configuració no es pot modificar perquè s'actualitza automàticament."
+
+#. go ahead and log the Exception anyway on the off chance that it *wasn't* just a race condition issue
+#: src/metabase/models/setting.clj
+msgid "Error inserting a new Setting:"
+msgstr "Error afegint una nova configuració:"
+
+#: src/metabase/models/setting.clj
+msgid "Assuming Setting already exists in DB and updating existing value."
+msgstr "Asumint que la configuració ja existeix a la base de dades i actualitzant el valor existen"
+
+#: src/metabase/models/user.clj
+msgid "value must be a map with each value either a string or number."
+msgstr "el valor ha de ser un mapa amb valor numèrics o de tipus cadena."
+
+#: src/metabase/plugins.clj
+msgid "Loading plugins in directory {0}..."
+msgstr "Carregant extensions al directori {0}..."
+
+#: src/metabase/plugins.clj
+msgid "Loading plugin {0}... "
+msgstr "Carregant extensió {0}..."
+
+#: src/metabase/plugins.clj
+msgid "It looks like you have some external dependencies in your Metabase plugins directory."
+msgstr "Sembla que tens algunes dependències externes al teu directori de complements de Metabase."
+
+#: src/metabase/plugins.clj
+msgid "With Java 9 or higher, Metabase cannot automatically add them to your classpath."
+msgstr "Amb el Java 9 o superior el Metabase no els pot afegir automàticament al teu classpath."
+
+#: src/metabase/plugins.clj
+msgid "Instead, you should include them at launch with the -cp option. For example:"
+msgstr "Els has d'incloure a la execució amb la opció -cp. Per exemple:"
+
+#: src/metabase/plugins.clj
+msgid "See https://metabase.com/docs/latest/operations-guide/start.html#java-versions for more details."
+msgstr "Vegeu https://metabase.com/docs/latest/operations-guide/start.html#java-versions per més detalls."
+
+#: src/metabase/plugins.clj
+msgid "(If you're already running Metabase this way, you can ignore this message.)"
+msgstr "(Si ja estas ejecutant el Metabase d'aquesta forma pots ignorar aquest missatge:)"
+
+#: src/metabase/public_settings.clj
+msgid "Identify when new versions of Metabase are available."
+msgstr "Informar quan hi ha noves versions de Metabase"
+
+#: src/metabase/public_settings.clj
+msgid "Information about available versions of Metabase."
+msgstr "Informació sobre les versions disponibles de Metabase"
+
+#: src/metabase/public_settings.clj
+msgid "The name used for this instance of Metabase."
+msgstr "El nom utilitzat per aquesta instància de Metabase"
+
+#: src/metabase/public_settings.clj
+msgid "The base URL of this Metabase instance, e.g. \"http://metabase.my-company.com\"."
+msgstr "La URL base d'aquesta instància del Metabase, p.e: \"http://metabase.my-company.com\""
+
+#: src/metabase/public_settings.clj
+msgid "The default language for this Metabase instance."
+msgstr "El idioma predeterminat per aquesta instància de Metabase."
+
+#: src/metabase/public_settings.clj
+msgid "This only applies to emails, Pulses, etc. Users'' browsers will specify the language used in the user interface."
+msgstr "Això només aplica per a correus electrònics, polsos, etc. Els navegadors dels usuaris especificaran l'idioma utilitzat a la interfície d'uduari"
+
+#: src/metabase/public_settings.clj
+msgid "The email address users should be referred to if they encounter a problem."
+msgstr "La direcció de correu electrònic a la que es dirigiran els usuaris si es troben amb algun problema."
+
+#: src/metabase/public_settings.clj
+msgid "Enable the collection of anonymous usage data in order to help Metabase improve."
+msgstr "Activa la recopilació de dades anònimes per ajudar a millorar Metabase."
+
+#: src/metabase/public_settings.clj
+msgid "The map tile server URL template used in map visualizations, for example from OpenStreetMaps or MapBox."
+msgstr "La plantilla del servidor de capes de mapes utilitzada en la visualització de mapes, per exemple des de OpenStreetMaps o MapBox"
+
+#: src/metabase/public_settings.clj
+msgid "Enable admins to create publicly viewable links (and embeddable iframes) for Questions and Dashboards?"
+msgstr "Permet als administradors crear enllaços visibles públicament (i iframes incrustats) per preguntes i quadres de comandament?"
+
+#: src/metabase/public_settings.clj
+msgid "Allow admins to securely embed questions and dashboards within other applications?"
+msgstr "Permetre als administradors afegir preguntes i quadres de comandament  a altres aplicacions de forma segura?"
+
+#: src/metabase/public_settings.clj
+msgid "Allow using a saved question as the source for other queries?"
+msgstr "Permetre utilitzar una pregunta guardada com a font d'una altra consulta?"
+
+#: src/metabase/public_settings.clj
+msgid "Enabling caching will save the results of queries that take a long time to run."
+msgstr "Al activar la memòria cau es guarden els resultats de les consultes que tarden molta estona en executar-se."
+
+#: src/metabase/public_settings.clj
+msgid "The maximum size of the cache, per saved question, in kilobytes:"
+msgstr "La mida màxima de la memòria cau, per pregunta guardada en kilobytes:"
+
+#: src/metabase/public_settings.clj
+msgid "The absolute maximum time to keep any cached query results, in seconds."
+msgstr "El temps màxim absolut per mantenir els resultats de les consultes a la memòria cau, en segons:"
+
+#: src/metabase/public_settings.clj
+msgid "Metabase will cache all saved questions with an average query execution time longer than this many seconds:"
+msgstr "El Metabase guardarà a la memòria cau totes les preguntes guardades amb un temps mig d'execució superior a aquests segons: "
+
+#: src/metabase/public_settings.clj
+msgid "To determine how long each saved question''s cached result should stick around, we take the query''s average execution time and multiply that by whatever you input here."
+msgstr "Per determinar quan temps s'ha de guardar el resultat a la memòria cau de cada pregunta guardada, agafem el valor del temps d'execució mig de la consulta i el multipliquem per valor que introdueixes aquí:"
+
+#: src/metabase/public_settings.clj
+msgid "So if a query takes on average 2 minutes to run, and you input 10 for your multiplier, its cache entry will persist for 20 minutes."
+msgstr "D'aquesta forma, si una consulta tarda una mitja de 2 minuts a executar-se i estableixes 10 com a multiplicador es guardara els seus resultats a la memòria cau durant 20 minuts."
+
+#: src/metabase/public_settings.clj
+msgid "When using the default binning strategy and a number of bins is not provided, this number will be used as the default."
+msgstr "Quan s'utilitza l'estratègia d'agrupació predeterminada i no es proporciona una quantitat de trams aquest número s'utilitzarà com el predeterminat"
+
+#: src/metabase/public_settings.clj
+msgid "When using the default binning strategy for a field of type Coordinate (such as Latitude and Longitude), this number will be used as the default bin width (in degrees)."
+msgstr "Quan s'utilitza l'estratègia d'agrupació predeterminada per un camp de tipus Coordenada (com Latitud i Longitud) aquest número s'utilitzarà com a amplada predeterminada del tram (en graus)"
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Unable to validate token."
+msgstr "No es pot validar el token"
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Error fetching token status:"
+msgstr "Error consultat el estat del Token:"
+
+#: src/metabase/public_settings/metastore.clj
+msgid "There was an error checking whether this token was valid."
+msgstr "S'ha produït un error al comprovar si aquest token es correcte."
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Token validation timed out."
+msgstr "S'ha esgotat el temps de sol·licitud per a la validació del token."
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Invalid token: token isn't in the right format."
+msgstr "Token invàlid: El format no es correcte."
+
+#. attempt to query the metastore API about the status of this token. If the request doesn't complete in a
+#. reasonable amount of time throw a timeout exception
+#: src/metabase/public_settings/metastore.clj
+msgid "Checking with the MetaStore to see whether {0} is valid..."
+msgstr "Verificant el el MetaStore per comprovar si {0} es vàlid ..."
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Token for premium embedding. Go to the MetaStore to get yours!"
+msgstr "Token per la incrustació premium. Ves a la tenda de MetaStore per obtenir el teu."
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Token is valid."
+msgstr "Token invàlid"
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Error setting premium embedding token"
+msgstr "Error al configurar el token d'incrustació premium"
+
+#: src/metabase/pulse.clj
+msgid "Unable to compare results to goal for alert."
+msgstr "No es poden comparar els resultats amb el objectiu de l'alerta."
+
+#: src/metabase/pulse.clj
+msgid "Question ID is ''{0}'' with visualization settings ''{1}''"
+msgstr "El ID de la pregunta és \"{0}\" amb la configuració de visualització \"{1}\""
+
+#: src/metabase/pulse.clj
+msgid "Unrecognized alert with condition ''{0}''"
+msgstr "Alerta desconeguda amb condició \"{0}\""
+
+#: src/metabase/pulse.clj
+msgid "Unrecognized channel type {0}"
+msgstr "El tipus de canal {0} es desconegut"
+
+#: src/metabase/pulse.clj
+msgid "Error sending notification!"
+msgstr "Error enviant la notificació."
+
+#: src/metabase/pulse/color.clj
+msgid "Can't find JS color selector at ''{0}''"
+msgstr "No s'ha pogut encontrar el selector JS a \"{0}\""
+
+#: src/metabase/pulse/render.clj
+msgid "Card has errors: {0}"
+msgstr "La targeta conté errors: {0}"
+
+#: src/metabase/pulse/render.clj
+msgid "Pulse card render error"
+msgstr "Error al processar el pols"
+
+#: src/metabase/query_processor/middleware/fetch_source_query.clj
+msgid "Trimming trailing comment from card with id {0}"
+msgstr "Eliminant el comentari final de la targeta amb id {0}"
+
+#: src/metabase/query_processor/middleware/parameters/sql.clj
+msgid "Can't find field with ID: {0}"
+msgstr "No es pot trobar el camp amb ID: {0}"
+
+#: src/metabase/query_processor/middleware/parameters/sql.clj
+msgid "''{0}'' is a required param."
+msgstr "El paràmetre \"{0}\" es obligatori."
+
+#: src/metabase/query_processor/middleware/parameters/sql.clj
+msgid "Found ''{0}'' with no terminating ''{1}'' in query ''{2}''"
+msgstr "S'ha trobat \"{0}\" sense terminació \"{1}\" a la consulta \"{2}\""
+
+#: src/metabase/query_processor/middleware/parameters/sql.clj
+msgid "Unable to substitute ''{0}'': param not specified.nFound: {1}"
+msgstr "No es pot substituir \"{0}\": paràmetre no especificat. S'ha trobat: {1}"
+
+#: src/metabase/query_processor/middleware/permissions.clj
+msgid "You do not have permissions to view Card {0}."
+msgstr "No tens permís per veure la targeta {0}."
+
+#: src/metabase/query_processor/middleware/permissions.clj
+msgid "You do not have permissions to run this query."
+msgstr "No tens permisos per executar aquesta consulta."
+
+#: src/metabase/sync/analyze.clj
+msgid "Fingerprint updates attempted {0}, updated {1}, no data found {2}, failed {3}"
+msgstr "Actualitzacions d'empremta digital intentades {0}, actualitzades {1}, no s'han trobat dades {2}, han fallat {3}."
+
+#: src/metabase/sync/analyze.clj
+msgid "Total number of fields classified {0}, {1} failed"
+msgstr "Nombre total de camps classificats {0}, {1} han fallat"
+
+#: src/metabase/sync/analyze.clj
+msgid "Total number of tables classified {0}, {1} updated"
+msgstr "Nombre total de taules classificats {0}, {1} actualitzades"
+
+#: src/metabase/sync/analyze/fingerprint/fingerprinters.clj
+msgid "Error generating fingerprint for {0}"
+msgstr "Error generant una petjada per {0}"
+
+#: src/metabase/sync/field_values.clj
+msgid "Updated {0} field value sets, created {1}, deleted {2} with {3} errors"
+msgstr "Conjunts de valors de camps actualitats {0}, creats {1}, eliminats {2}, {3} amb errors"
+
+#: src/metabase/sync/sync_metadata.clj
+msgid "Total number of fields sync''d {0}, number of fields updated {1}"
+msgstr "Nombre total de camps sincronitzats {0}, nombre total de camps actualitzas {1}"
+
+#: src/metabase/sync/sync_metadata.clj
+msgid "Total number of tables sync''d {0}, number of tables updated {1}"
+msgstr "Nombre total de taules sincronitzades {0}, nombre total de taules actualitzades {1}"
+
+#: src/metabase/sync/sync_metadata.clj
+msgid "Found timezone id {0}"
+msgstr "S'ha trobat la zona horària {0}"
+
+#: src/metabase/sync/sync_metadata.clj
+msgid "Total number of foreign keys sync''d {0}, {1} updated and {2} tables failed to update"
+msgstr "Nombre total de claus externes sincronitzades {0}, {1} actualitzades i {2} taules han fallat."
+
+#: src/metabase/sync/util.clj
+msgid "{0} Database {1} ''{2}''"
+msgstr "{0} Base de dades {1} \"{2}\""
+
+#: src/metabase/sync/util.clj
+msgid "Table {0} ''{1}''"
+msgstr "Taula {0} \"{1}\""
+
+#: src/metabase/sync/util.clj
+msgid "Field {0} ''{1}''"
+msgstr "Camp {0} \"{1}\""
+
+#: src/metabase/sync/util.clj
+msgid "Field ''{0}''"
+msgstr "Camp {0}"
+
+#: src/metabase/sync/util.clj
+msgid "step ''{0}'' for {1}"
+msgstr "pas \"{0}\" de {1}\""
+
+#: src/metabase/sync/util.clj
+msgid "Completed {0} on {1}"
+msgstr "Completades {0} de {1}"
+
+#: src/metabase/sync/util.clj
+msgid "Start: {0}"
+msgstr "Inici: {0}"
+
+#: src/metabase/sync/util.clj
+msgid "End: {0}"
+msgstr "Fi: {0}"
+
+#: src/metabase/sync/util.clj
+msgid "Duration: {0}"
+msgstr "Duració: {0}"
+
+#: src/metabase/sync/util.clj
+msgid "Completed step ''{0}''"
+msgstr "Ha realitzat el pas \"{0}\""
+
+#: src/metabase/task.clj
+msgid "Loading tasks namespace:"
+msgstr "Carregant el espai de noms per la tasca:"
+
+#: src/metabase/task.clj
+msgid "Starting Quartz Scheduler"
+msgstr "Inicialitzant el programador Quartz"
+
+#: src/metabase/task.clj
+msgid "Stopping Quartz Scheduler"
+msgstr "Parant el programador Quartz"
+
+#: src/metabase/task.clj
+msgid "Job already exists:"
+msgstr "La tasca ja existeix:"
+
+#. This is the very first log message that will get printed.  It's here because this is one of the very first
+#. namespaces that gets loaded, and the first that has access to the logger It shows up a solid 10-15 seconds before
+#. the "Starting Metabase in STANDALONE mode" message because so many other namespaces need to get loaded
+#: src/metabase/util.clj
+msgid "Loading Metabase..."
+msgstr "Carregant Metabase..."
+
+#: src/metabase/util/date.clj
+msgid "Possible timezone conflict found on database {0}."
+msgstr "Possible conflicte en la zona horària de la base de dades {0}"
+
+#: src/metabase/util/date.clj
+msgid "JVM timezone is {0} and detected database timezone is {1}."
+msgstr "La zona horària de la JVM és {0} y la zona horària de la base de dades és {1}"
+
+#: src/metabase/util/date.clj
+msgid "Configure a report timezone to ensure proper date and time conversions."
+msgstr "Configura la zona horària dels informes per tenir conversions correctes de data i hora."
+
+#: src/metabase/util/embed.clj
+msgid "Secret key used to sign JSON Web Tokens for requests to `/api/embed` endpoints."
+msgstr "La clau secreta utilitzada per firmar els tokens JSON per les sol·licituds `/api/embed` de l'API."
+
+#: src/metabase/util/encryption.clj
+msgid "MB_ENCRYPTION_SECRET_KEY must be at least 16 characters."
+msgstr "La clau MB_ENCRIPTION_SECRET_KEY  ha de tenir com a mínim 16 caràcters"
+
+#: src/metabase/util/encryption.clj
+msgid "Saved credentials encryption is ENABLED for this Metabase instance."
+msgstr "L'emmagatzematge de credencials encriptades està ACTIVAT per aquesta instància de Metabase."
+
+#: src/metabase/util/encryption.clj
+msgid "Saved credentials encryption is DISABLED for this Metabase instance."
+msgstr "L'emmagatzematge de credencials encriptades està DESACTIVAT per aquesta instància de Metabase."
+
+#: src/metabase/util/encryption.clj
+msgid "nFor more information, see"
+msgstr "Per mes informació mireu"
+
+#: src/metabase/util/schema.clj
+msgid "value must be an integer."
+msgstr "el valor ha de ser un enter."
+
+#: src/metabase/util/schema.clj
+msgid "value must be a string."
+msgstr "el valor ha de ser un text."
+
+#: src/metabase/util/schema.clj
+msgid "value must be a boolean."
+msgstr "el valor ha de ser un booleà."
+
+#: src/metabase/util/schema.clj
+msgid "value must be a string that matches the regex `{0}`."
+msgstr "el valor ha de ser un text que compleixi amb l'expressió regular `{0}`"
+
+#: src/metabase/util/schema.clj
+msgid "value must satisfy one of the following requirements: "
+msgstr "el valor ha de satisfer algun dels requisits següents:"
+
+#: src/metabase/util/schema.clj
+msgid "value may be nil, or if non-nil, {0}"
+msgstr "el valor pot ser nul o si no es null, {0}"
+
+#: src/metabase/util/schema.clj
+msgid "value must be one of: {0}."
+msgstr "el valor ha de ser un dels següents: {0}"
+
+#: src/metabase/util/schema.clj
+msgid "value must be an array."
+msgstr "el valor ha de ser un conjunt"
+
+#: src/metabase/util/schema.clj
+msgid "Each {0}"
+msgstr "Cada {0}"
+
+#: src/metabase/util/schema.clj
+msgid "The array cannot be empty."
+msgstr "El conjunt no pot estar buit."
+
+#: src/metabase/util/schema.clj
+msgid "value must be a non-blank string."
+msgstr "el valor ha de ser un text no vuit."
+
+#: src/metabase/util/schema.clj
+msgid "Integer greater than zero"
+msgstr "Un enter més gran que zero"
+
+#: src/metabase/util/schema.clj
+msgid "value must be an integer greater than zero."
+msgstr "e valor ha de ser un enter més gran que zero."
+
+#: src/metabase/util/schema.clj
+msgid "Number greater than zero"
+msgstr "Nombre més gran que zero"
+
+#: src/metabase/util/schema.clj
+msgid "value must be a number greater than zero."
+msgstr "El valor ha de ser un nombre més gran que zero"
+
+#: src/metabase/util/schema.clj
+msgid "Keyword or string"
+msgstr "Paraula clau o text"
+
+#: src/metabase/util/schema.clj
+msgid "Valid field type"
+msgstr "Tipus de camp valid"
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid field type."
+msgstr "El valor ha de ser un tipus de camp válid"
+
+#: src/metabase/util/schema.clj
+msgid "Valid field type (keyword or string)"
+msgstr "Tipus de camp vàlid (paraula clau o text)"
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid field type (keyword or string)."
+msgstr "El valor ha de ser un tipus de camp vàlid (paraula clau o text)"
+
+#: src/metabase/util/schema.clj
+msgid "Valid entity type (keyword or string)"
+msgstr "Tipus de camp invàlid (paraula clau o text)"
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid entity type (keyword or string)."
+msgstr "El valor ha de ser un tipus de camp vàlid (paraula clau o text)"
+
+#: src/metabase/util/schema.clj
+msgid "Valid map"
+msgstr "Mapa vàlid"
+
+#: src/metabase/util/schema.clj
+msgid "value must be a map."
+msgstr "el valor ha de ser un mapa"
+
+#: src/metabase/util/schema.clj
+msgid "Valid email address"
+msgstr "Direcció de correu electrònica vàlida"
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid email address."
+msgstr "el valor ha de ser una direcció de correu electrònic vàlida"
+
+#: src/metabase/util/schema.clj
+msgid "Insufficient password strength"
+msgstr "La contrasenya es massa simple"
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid integer."
+msgstr "el valor ha de ser un enter vàlid"
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid integer greater than zero."
+msgstr "el valor ha de ser un enter vàlid més gran que zero."
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid boolean string (''true'' or ''false'')."
+msgstr "el valor ha de ser un booleà vàlid (\"verdader\" o \"fals\")"
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid JSON string."
+msgstr "El valor ha de ser un text JSON vàlid"
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid embedding params map."
+msgstr "El valor ha de ser un mapa de paràmetres de integració vàlids."
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsTabs.jsx:12
+msgid "Data permissions"
+msgstr "Permís d'accés a les dade"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsTabs.jsx:13
+msgid "Collection permissions"
+msgstr "Permisos d'accés a les col·leccions"
+
+#: frontend/src/metabase/admin/permissions/containers/CollectionPermissionsModal.jsx:56
+msgid "See all collection permissions"
+msgstr "Veure tots els permisos de les col·leccions"
+
+#: frontend/src/metabase/admin/permissions/containers/TogglePropagateAction.jsx:25
+msgid "Also change sub-collections"
+msgstr "Canviar també les sub-col·leccions"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:282
+msgid "Can edit this collection and its contents"
+msgstr "Pot editar aquesta col·lecció i els seus continguts"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:289
+msgid "Can view items in this collection"
+msgstr "Pot veure el contingut d'aquesta col·lecció"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:749
+msgid "Collection Access"
+msgstr "Accés a la col·lecció"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:825
+msgid "This group has permission to view at least one subcollection of this collection."
+msgstr "Aquest grup té permisos per veure com a mínim una sub-col·lecció d'aquesta col·lecció"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:830
+msgid "This group has permission to edit at least one subcollection of this collection."
+msgstr "Aquest grup té permisos per editar com a mínim una sub-col·lecció d'aquesta col·lecció"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:843
+msgid "View sub-collections"
+msgstr "Mostra sub col·leccíó"
+
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:211
+msgid "Remember Me"
+msgstr "Recorda'm"
+
+#: frontend/src/metabase/components/BrowseApp.jsx:95
+msgid "X-ray this schema"
+msgstr "Aplica rajos-X a aquest esquema"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:258
+msgid "Edit the permissions for this collection"
+msgstr "Editeu els permisos d'accés a aquesta col·lecció"
+
+#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:55
+msgid "Add this question to a dashboard"
+msgstr "Afegiu aquesta pregunta a un quadre de comandament"
+
+#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:65
+msgid "Create a new dashboard"
+msgstr "Crea un quadre de comandament"
+
+#: frontend/src/metabase/containers/ErrorPages.jsx:45
+msgid "The page you asked for couldn't be found."
+msgstr "No s'ha trobat la pàgina que heu solicitat"
+
+#: frontend/src/metabase/containers/ItemSelect.jsx:30
+msgid "Select a {0}"
+msgstr "Selecciona un(a) {0}"
+
+#: frontend/src/metabase/containers/Overworld.jsx:185
+msgid "Save dashboards, questions, and collections in \"{0}\""
+msgstr "Guardar els quadres de comandament, preguntes i col·leccions a \"{0}\""
+
+#: frontend/src/metabase/containers/Overworld.jsx:188
+msgid "Access dashboards, questions, and collections in \"{0}\""
+msgstr "Accedir als quadres de comandament, preguntes i col·leccions de \"{0}\""
+
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:221
+msgid "Compare"
+msgstr "Compara"
+
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:229
+msgid "Zoom out"
+msgstr "Allunya"
+
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:233
+msgid "Related"
+msgstr "Relacionat"
+
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:293
+msgid "More X-rays"
+msgstr "Més rajos-X"
+
+#: frontend/src/metabase/home/containers/SearchApp.jsx:46
+msgid "No results"
+msgstr "No hi ha resultats"
+
+#: frontend/src/metabase/home/containers/SearchApp.jsx:47
+msgid "Metabase couldn't find any results for your search."
+msgstr "El Metabase no ha pogut trobar cap resultat per la seva cerca."
+
+#: frontend/src/metabase/new_query/containers/MetricSearch.jsx:111
+msgid "No metrics"
+msgstr "No s'ha trobat cap mètrica"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:31
+msgid "Aggregations"
+msgstr "Agregats"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:32
+msgid "Operators"
+msgstr "Operadors"
+
+#: frontend/src/metabase/query_builder/components/expressions/Expressions.jsx:30
+msgid "Custom fields"
+msgstr "Camps personalitzats"
+
+#. 2. Create the new collections.
+#: src/metabase/db/migrations.clj
+msgid "Migrated Dashboards"
+msgstr "Quadres de comandament migrats"
+
+#: src/metabase/db/migrations.clj
+msgid "Migrated Pulses"
+msgstr "Polsos migrats"
+
+#: src/metabase/db/migrations.clj
+msgid "Migrated Questions"
+msgstr "Preguntes migrades"
+
+#. 4. move everything not in this Collection to a new Collection
+#: src/metabase/db/migrations.clj
+msgid "Moving instances of {0} that aren't in a Collection to {1} Collection {2}"
+msgstr "Movent les instàncies de {0} que no estan a cap col·lecció a {1} col·lecció {2}"
+
+#: src/metabase/models/permissions.clj
+msgid "Failed to grant permissions: {0}"
+msgstr "Error al concedir permisos: {0}"
+
+#: src/metabase/util/encryption.clj
+msgid "Cannot decrypt encrypted string. Have you changed or forgot to set MB_ENCRYPTION_SECRET_KEY?"
+msgstr "No s'ha pogut desencriptar el text encriptat. Heu canviat o us no heu establer el valor de MB_ENCRYPTION_SECRET_KEY?"
+
+#: frontend/src/metabase/entities/collections.js:164
+msgid "All personal collections"
+msgstr "Totes les col·leccions personals"
+
+#: src/metabase/driver/common.clj
+msgid "Host"
+msgstr "Servidor"
+
+#: src/metabase/driver/common.clj
+msgid "Port"
+msgstr "Port"
+
+#: src/metabase/driver/common.clj
+msgid "Database username"
+msgstr "Nom d'usuari de la base de dades"
+
+#: src/metabase/driver/common.clj
+msgid "What username do you use to login to the database?"
+msgstr "Quin nom d'usuari utilitzes per iniciar sessió a la base de dades?"
+
+#: src/metabase/driver/common.clj
+msgid "Database password"
+msgstr "Contrasenya de la base de dades"
+
+#: src/metabase/driver/common.clj
+msgid "Database name"
+msgstr "Nom de la base de dades"
+
+#: src/metabase/driver/common.clj
+msgid "birds_of_the_world"
+msgstr "aus_del_mon"
+
+#: src/metabase/driver/common.clj
+msgid "Use a secure connection (SSL)?"
+msgstr "Utilitzar una connexió segura (SSL)?"
+
+#: src/metabase/driver/common.clj
+msgid "Additional JDBC connection string options"
+msgstr "Opcions addicionals de la cadena de connexió JDBC"
+
+#: src/metabase/driver/bigquery.clj
+msgid "Project ID"
+msgstr "ID del projecte"
+
+#: src/metabase/driver/bigquery.clj
+msgid "praxis-beacon-120871"
+msgstr "praxis-beacon-120871"
+
+#: src/metabase/driver/bigquery.clj
+msgid "Dataset ID"
+msgstr "ID del conjunt de dades"
+
+#: src/metabase/driver/bigquery.clj
+msgid "toucanSightings"
+msgstr "avistamentDeTucans"
+
+#: src/metabase/driver/bigquery.clj src/metabase/driver/googleanalytics.clj
+msgid "Client ID"
+msgstr "ID del Client"
+
+#: src/metabase/driver/bigquery.clj src/metabase/driver/googleanalytics.clj
+msgid "Client Secret"
+msgstr "Clau secreta del client"
+
+#: src/metabase/driver/bigquery.clj src/metabase/driver/googleanalytics.clj
+msgid "Auth Code"
+msgstr "Codi d'autorització"
+
+#: src/metabase/driver/crate.clj
+msgid "Hosts"
+msgstr "Servidors"
+
+#: src/metabase/driver/druid.clj
+msgid "Broker node port"
+msgstr "Port del node intermediari"
+
+#: src/metabase/driver/googleanalytics.clj
+msgid "Google Analytics Account ID"
+msgstr "ID del compte de Google Analytics"
+
+#: src/metabase/driver/h2.clj
+msgid "Connection String"
+msgstr "Cadena de connexió"
+
+#: src/metabase/driver/h2.clj
+msgid "Users/camsaul/bird_sightings/toucans"
+msgstr "Users/Camsuals/avistamentdeaus/tucans"
+
+#: src/metabase/driver/mongo.clj
+msgid "carrierPigeonDeliveries"
+msgstr "entreguesPerPardalsMissatges"
+
+#: src/metabase/driver/mongo.clj
+msgid "Authentication Database"
+msgstr "base de dades per l'autentificació"
+
+#: src/metabase/driver/mongo.clj
+msgid "Optional database to use when authenticating"
+msgstr "base de dades opcional per l'autentificació"
+
+#: src/metabase/driver/mongo.clj
+msgid "Additional Mongo connection string options"
+msgstr "Opcions addicionals de la cadena de connexió a Mongo"
+
+#: src/metabase/driver/oracle.clj
+msgid "Oracle system ID (SID)"
+msgstr "ID del sistema Oracle (SID)"
+
+#: src/metabase/driver/oracle.clj
+msgid "Usually something like ORCL or XE."
+msgstr "Normalment alguna cosa com ORCL o XE"
+
+#: src/metabase/driver/oracle.clj
+msgid "Optional if using service name"
+msgstr "Opcional si es fa servir el nom del servei"
+
+#: src/metabase/driver/oracle.clj
+msgid "Oracle service name"
+msgstr "Nom del servei Oracle"
+
+#: src/metabase/driver/oracle.clj
+msgid "Optional TNS alias"
+msgstr "Alies TNS (opcional)"
+
+#: src/metabase/driver/presto.clj
+msgid "hive"
+msgstr "hive"
+
+#: src/metabase/driver/redshift.clj
+msgid "my-cluster-name.abcd1234.us-east-1.redshift.amazonaws.com"
+msgstr "nom-del-meu-cluster.abcd1234.us-east-1.redshift.amazonaws.com"
+
+#: src/metabase/driver/redshift.clj
+msgid "toucan_sightings"
+msgstr "avistament_de_tucans"
+
+#: src/metabase/driver/sparksql.clj
+msgid "default"
+msgstr "per defecte"
+
+#: src/metabase/driver/sqlite.clj
+msgid "Filename"
+msgstr "Nom del fitxer"
+
+#: src/metabase/driver/sqlite.clj
+msgid "/home/camsaul/toucan_sightings.sqlite 😋"
+msgstr "/home/camsau/avistament_de_tucans.sqlite"
+
+#: src/metabase/driver/sqlserver.clj
+msgid "BirdsOfTheWorld"
+msgstr "AusDelMon"
+
+#: src/metabase/driver/sqlserver.clj
+msgid "Database instance name"
+msgstr "Nom de la instància de base de dades"
+
+#: src/metabase/driver/sqlserver.clj
+msgid "N/A"
+msgstr "N/A"
+
+#: src/metabase/driver/sqlserver.clj
+msgid "Windows domain"
+msgstr "Domini de Windows"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:494
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:500
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:509
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:515
+msgid "Labels"
+msgstr "Etiquetes"
+
+#: frontend/src/metabase/admin/people/components/GroupDetail.jsx:329
+msgid "Add members"
+msgstr "Afegir membres"
+
+#: frontend/src/metabase/entities/collections.js:115
+msgid "Collection it's saved in"
+msgstr "Col·lecció que es guarda a"
+
+#: frontend/src/metabase/lib/groups.js:4
+msgid "All Users"
+msgstr "Tots els usuaris"
+
+#: frontend/src/metabase/lib/groups.js:5
+msgid "Administrators"
+msgstr "Administradors"
+
+#: frontend/src/metabase/lib/groups.js:6
+msgid "MetaBot"
+msgstr "MetaBot"
+
+#: frontend/src/metabase/public/components/widgets/EmbedModalContent.jsx:290
+msgid "Sharing"
+msgstr "Compartir"
+
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:23
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:234
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:270
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:299
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:305
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:313
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:321
+#: frontend/src/metabase/visualizations/lib/settings/nested.js:126
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:83
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:80
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:85
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:91
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:97
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:50
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:56
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:72
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:85
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:98
+msgid "Display"
+msgstr "Visualitza"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:370
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:403
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:416
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:431
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:443
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:449
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:457
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:487
+msgid "Axes"
+msgstr "Eixos"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:222
+#: frontend/src/metabase/admin/settings/selectors.js:319
+#: frontend/src/metabase/modes/components/drill/FormatAction.jsx:27
+#: frontend/src/metabase/visualizations/lib/settings/column.js:63
+msgid "Formatting"
+msgstr "Format"
+
+#: frontend/src/metabase/containers/Overworld.jsx:102
+msgid "Try these x-rays based on your data."
+msgstr "Prova aquests rajos-X segons les teves dades"
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:36
+msgid "There was a problem displaying this chart."
+msgstr "Hi ha hagut un problema al mostrar aquesta gràfica"
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:37
+msgid "Sorry, you don't have permission to see this card."
+msgstr "Ho sentim, no tens permisos per veure aquesta targeta"
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:55
+msgid "Just a heads up:"
+msgstr "Només un avís:"
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:63
+msgid "{0} without the Sample Dataset, the Query Builder tutorial won't work. You can always restore the Sample Dataset, but any questions you've saved using this data will be lost."
+msgstr "{0} sense el conjunt de dades de mostra el tutorial del generador de consultes no funcionarà. Sempre es pot restaurar el conjunt de dades de mostra, però es perdrà qualsevol pregunta que s'hagi generat utilitzant aquesta informació."
+
+#: frontend/src/metabase/modes/components/drill/AutomaticDashboardDrill.jsx:33
+msgid "X-ray"
+msgstr "Aplica rajos-X"
+
+#: frontend/src/metabase/modes/components/drill/CompareToRestDrill.js:34
+msgid "Compare to the rest"
+msgstr "Compara amb a resta"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:244
+msgid "Use the Java Virtual Machine (JVM) timezone"
+msgstr "Utilitza la zona horària de la màquina virtual de Java (JVM)"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:246
+msgid "We suggest you leave this off unless you're doing manual timezone casting in\n"
+"many or most of your queries with this data."
+msgstr "Et suggerim que desactivis això excepte si estàs forçant manualment la zona horària a la majoria de consultes d'aquestes dades"
+
+#: frontend/src/metabase/containers/Overworld.jsx:310
+msgid "Your team's most important dashboards go here"
+msgstr "Els quadres de comandament més importants van aquí"
+
+#: frontend/src/metabase/containers/Overworld.jsx:311
+msgid "Pin dashboards in {0} to have them appear in this space for everyone"
+msgstr "Fixeu els quadres de comandament a {0] per a que es mostrin en aquest espai per a tots"
+
+#: src/metabase/db.clj
+msgid "Unable to release the Liquibase lock after a migration failure"
+msgstr "No s'ha pogut eliminar el bloqueig de LiquidBase desprès d'un error de migració."
+
+#: src/metabase/driver/bigquery.clj
+msgid "Use JVM Time Zone"
+msgstr "Utilitza la zona horària de la màquina virtual de Java (JVM)"
+
+#: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:29
+msgid "We're currently analyzing the tables and fields to help you explore your data."
+msgstr "Estem analitzant les taules i els camps per ajudar-te a explorar les teves dades"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:432
+msgid "Tip: "
+msgstr "Consell: "
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnItem.jsx:258
+msgid "Select a currency type"
+msgstr "Selecciona un tipus de moneda"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:318
+msgid "Field Type"
+msgstr "Tipo de camp"
+
+#: frontend/src/metabase/admin/routes.jsx:109
+#: frontend/src/metabase/nav/containers/Navbar.jsx:224
+msgid "Troubleshooting"
+msgstr "Solució de problemes"
+
+#: frontend/src/metabase/admin/settings/selectors.js:96
+msgid "Enable X-ray features"
+msgstr "Habilita les característiques de rajos-X"
+
+#: frontend/src/metabase/admin/settings/selectors.js:323
+msgid "Formatting Options"
+msgstr "Opcions de format"
+
+#: frontend/src/metabase/admin/tasks/containers/TaskModal.jsx:19
+msgid "Task details"
+msgstr "Detalls de la tasca"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:29
+msgid "Troubleshooting logs"
+msgstr "Registre de solucions de problemes"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:31
+msgid "Trying to get to the bottom of something? This section shows logs of Metabase's background tasks, which can help shed light on what's going on."
+msgstr "Intentant arribar al fons d'alguna cosa? Aquesta secció mostra els registres de les tasques en segon pla de Metabase. Això pot ajudar a aclarir el que està pasant"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:56
+msgid "Task"
+msgstr "Tasca"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:57
+msgid "DB ID"
+msgstr "ID BBDD"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:58
+msgid "Started at"
+msgstr "Iniciat a les"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:59
+msgid "Ended at"
+msgstr "Finalitza a les"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:60
+msgid "Duration (ms)"
+msgstr "Duració (ms)"
+
+#: frontend/src/metabase/lib/core.js:45
+msgid "Currency"
+msgstr "Modena"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:161
+msgid "Pick a user or channel..."
+msgstr "Escull un usuari o canal"
+
+#: frontend/src/metabase/visualizations/components/ColumnSettings.jsx:90
+msgid "No formatting settings"
+msgstr "Sense configuració de format"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:81
+msgid "Label for this range (optional)"
+msgstr "Nom per aquest rang (opcional)"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:93
+msgid "Add a range"
+msgstr "Afegeix un rang"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:26
+msgid "is less than"
+msgstr "és menor que"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:27
+msgid "is greater than"
+msgstr "és major que"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:28
+msgid "is less than or equal to"
+msgstr "és menor o igual que"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:29
+msgid "is greater than or equal to"
+msgstr "és major o igual que"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:30
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:37
+msgid "is equal to"
+msgstr "és igual que"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:31
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:38
+msgid "is not equal to"
+msgstr "no és igual que"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:32
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:39
+msgid "is null"
+msgstr "és null"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:33
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:40
+msgid "is not null"
+msgstr "no és nul"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:41
+msgid "contains"
+msgstr "conté"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:42
+msgid "does not contain"
+msgstr "no conté"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:43
+msgid "starts with"
+msgstr "comença per"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:44
+msgid "ends with"
+msgstr "acaba amb"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:292
+msgid "When a cell in these columns {0} it will be tinted this color."
+msgstr "Quan una cel·la d'aquestes columnes sigui {0} es pintarà d'aquest color"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:351
+msgid "When a cell in this column…"
+msgstr "Quan una cel·la en aquesta col·lumna..."
+
+#: frontend/src/metabase/visualizations/lib/errors.js:42
+msgid "This visualization requires you to group by a field."
+msgstr "Aquesta visualització requereix agrupar per un camp"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:178
+msgid "Date style"
+msgstr "Format de la data"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:196
+msgid "Date separators"
+msgstr "Separador de data"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:215
+msgid "Abbreviate names of days and months"
+msgstr "Abreviar nom dels dies i els mesos"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:225
+msgid "Show the time"
+msgstr "Mostrar l'hora"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:232
+msgid "HH:MM"
+msgstr "HH:MM"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:240
+msgid "HH:MM:SS"
+msgstr "HH:MM:SS"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:243
+msgid "HH:MM:SS.MS"
+msgstr "HH:MM:SS.MS"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:254
+msgid "Time style"
+msgstr "Format de l'hora"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:299
+msgid "Unit of currency"
+msgstr "Unitat de moneda"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:319
+msgid "Currency label style"
+msgstr "Format de l'etiqueta de moneda"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:337
+msgid "Where to display the unit of currency"
+msgstr "On mostrar l'unitat de la moneda"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:370
+msgid "Minimum number of decimal places"
+msgstr "Nombre mínim de decimals"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:271
+msgid "Stacked chart type"
+msgstr "Tipus de gràfic apilat"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:314
+msgid "Goal label"
+msgstr "Etiqueta de l'objectiu"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:322
+msgid "Show trend line"
+msgstr "Mostra la línia de tendència"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:67
+msgid "Line style"
+msgstr "Format de la línia"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:84
+msgid "Show dots on lines"
+msgstr "Mostrar punts a les línies"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:88
+#: frontend/src/metabase/visualizations/lib/settings/series.js:125
+msgid "Auto"
+msgstr "Automàtic"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:120
+msgid "Which axis?"
+msgstr "En quin eix?"
+
+#: frontend/src/metabase/visualizations/visualizations/ComboChart.jsx:16
+msgid "Line + Bar"
+msgstr "Línia + Barra"
+
+#: frontend/src/metabase/visualizations/visualizations/ComboChart.jsx:19
+msgid "line and bar chart"
+msgstr "Gràfic de línia i barra"
+
+#: frontend/src/metabase/visualizations/visualizations/Gauge.jsx:72
+msgid "Gauge visualization requires a number."
+msgstr "La visualització del comptador requereix un nombre"
+
+#: frontend/src/metabase/visualizations/visualizations/Gauge.jsx:60
+msgid "Gauge"
+msgstr "Comptador"
+
+#: frontend/src/metabase/visualizations/visualizations/Gauge.jsx:104
+msgid "Gauge ranges"
+msgstr "Rangs del comptador"
+
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:94
+msgid "Field to show"
+msgstr "Camp a mostrar"
+
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:121
+msgid "last {0}"
+msgstr "últim {0}"
+
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:185
+msgid "{0} was {1} {2}"
+msgstr "{0} era {1} {2}"
+
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:52
+msgid "Group by a time field to see how this has changed over time"
+msgstr "Agrupa per un cap temporal per veure com ha canviat al llarg del temps."
+
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:39
+msgid "Switch positive / negative colors?"
+msgstr "Mostrar colors positius/negatius"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:90
+msgid "Pivot column"
+msgstr "Columna pivot"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:107
+msgid "Cell column"
+msgstr "Columna celda"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:123
+msgid "Visible columns"
+msgstr "Columnes visibles"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:143
+msgid "Conditional Formatting"
+msgstr "Format condicional"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:165
+msgid "Column title"
+msgstr "Títol de la columna"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:172
+msgid "Show a mini bar chart"
+msgstr "Mostra una gràfica de barres en minuatura"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:183
+msgid "Link"
+msgstr "Enllaç"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:187
+msgid "Email link"
+msgstr "Enllaç de correu electrònic"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:191
+msgid "Image"
+msgstr "Imatge"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:195
+msgid "Automatic"
+msgstr "Automàtic"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:200
+msgid "View as link or image"
+msgstr "Mostra com un enllaç o una imatge"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:210
+msgid "Link text"
+msgstr "Text el enllaç"
+
+#: src/metabase/api/common/internal.clj
+msgid "Not a valid integer: ''{0}''"
+msgstr "No es un enter vàlid: \"{0}\""
+
+#: src/metabase/api/embed.clj
+msgid "Embedding is not enabled for this object."
+msgstr "No es pot incrustar aquest tipus d'objecte."
+
+#: src/metabase/api/session.clj
+msgid "Problem connecting to LDAP server, will fallback to local authentication: {0}"
+msgstr "Problema connectant al servidor LDAP, es farà servir la autentificació local: {0}"
+
+#: src/metabase/api/task.clj
+msgid "When including an offset, a limit must also be included."
+msgstr "Si s'especifica un desplaçament també s'ha d'especificar un límit."
+
+#: src/metabase/api/task.clj
+msgid "When including a limit, an offset must also be included."
+msgstr "Si s'especifica un limit també s'ha d'especificar un desplaçament.."
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Applying heuristic {0} to {1}."
+msgstr "Aplicant heurística {0} a {1}."
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Dimensions bindings:n{0}"
+msgstr "Fixacions de dimensions:n{0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Using definitions:nMetrics:n{0}nFilters:n{1}"
+msgstr "Utilitzant definicions:nMetriques:n{0}:nFiltres:n{1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "minute"
+msgstr "minut"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "hour"
+msgstr "hora"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "day of week"
+msgstr "dia de la setmana"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "day of month"
+msgstr "dia del més"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "day of year"
+msgstr "dia del any"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "week"
+msgstr "setmana"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "month"
+msgstr "mes"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "quarter"
+msgstr "trimestre"
+
+#: src/metabase/automagic_dashboards/populate.clj
+msgid "Adding {0} cards to dashboard {1}:n{2}"
+msgstr "Afegir {0} targetes al quadre de comandament {1}:n{2}"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Error parsing {0}:n{1}"
+msgstr "Error llegint {0}:n{1}"
+
+#: src/metabase/driver/druid/query_processor.clj
+msgid "WARNING: Filtering only works on dimensions! ''{0}'' is a metric. Ignoring filter."
+msgstr "AVIS: El filtres només funciona sobre dimensions! \"{0}\" es una mètrica i per tant s'ignorarà."
+
+#: src/metabase/driver/druid/query_processor.clj
+msgid "WARNING: A date can't belong to multiple discrete intervals, so ANDing them together doesn't make sense."
+msgstr "AVIS: Una data no pot pertànyer a múltiples intervals discrets i unir-los amb l'operador I no té sentit."
+
+#: src/metabase/driver/druid/query_processor.clj
+msgid "Ignoring these intervals: {0}"
+msgstr "Ignorant els intervals: {0}"
+
+#. We should never get to this point since the all non-string negations should get automatically rewritten
+#. by the query expander.
+#: src/metabase/driver/druid/query_processor.clj
+msgid "WARNING: Don't know how to negate: {0}"
+msgstr "AVÍS: No se com negar: {0}"
+
+#: src/metabase/driver/druid/query_processor.clj
+msgid "Sorting with Druid is only allowed in queries that have one or more breakout columns. Ignoring :order-by clause."
+msgstr "L'ordenació amb Druid només es permet en consultes que tenen una o més columnes de ruptura. Ignorant la clàusula d'ordre."
+
+#. TODO - this is not really true, is it
+#: src/metabase/driver/druid/query_processor.clj
+msgid "WARNING: It only makes sense to specify :fields for a query with no aggregation. Ignoring the clause."
+msgstr "ATENCIÓ: Nomes te sentit especificar camps d'una consulta sense agregat. Ignorant la cláusula."
+
+#: src/metabase/driver/druid/query_processor.clj
+msgid "WARNING: Druid doenst allow limitSpec in timeseries queries. Ignoring the LIMIT clause."
+msgstr "AVIS: Druid no permet limitSpec en consultes de series de temps. Ignorant la clausula LIMIT."
+
+#: src/metabase/driver/sql/query_processor.clj
+msgid "HoneySQL Form:"
+msgstr "Formulari HoneySQL:"
+
+#: src/metabase/driver/sql_jdbc/execute.clj
+msgid "Unable to parse date ''{0}''"
+msgstr "No s'ha pogut llegir la data \"{0}\""
+
+#: src/metabase/driver/sql_jdbc/execute.clj
+msgid "Client closed connection, cancelling query"
+msgstr "Connexió cancel·lada pel client, cancel·lant la consulta"
+
+#: src/metabase/driver/sql_jdbc/execute.clj
+msgid "Setting timezone with statement: {0}"
+msgstr "Establiu la zona horària amb la comanda: {0}"
+
+#: src/metabase/driver/googleanalytics/query_processor.clj
+msgid "Multiple date filters are not supported"
+msgstr "No es suporten els filtres amb múltiples dates"
+
+#: src/metabase/driver/googleanalytics/query_processor.clj
+msgid ":not is not yet implemented"
+msgstr ":no encara no està implementat"
+
+#: src/metabase/driver/googleanalytics/query_processor.clj
+msgid "Only one Google Analytics segment allowed at a time."
+msgstr "Només es permet un segment de Google Analytics a la vegada"
+
+#: src/metabase/driver/mongo/query_processor.clj
+msgid "MONGO AGGREGATION PIPELINE:"
+msgstr "PIPELINE D'AGREGACIÓ DE MONGO:"
+
+#: src/metabase/driver/mongo/query_processor.clj
+msgid "Error: mismatched columns in results! Expected: {0} Got: {1}"
+msgstr "Error: La columna no coincideix amb els resultats. S'esperava {0} però s'ha obtingut {1}"
+
+#: src/metabase/email/messages.clj
+msgid "Unable to create temp file in `{0}` for email attachments "
+msgstr "No s'ha pogut crear un fitxer temporal a '{0}' pels adjunts del correu electrònic"
+
+#: src/metabase/events/activity_feed.clj
+msgid "Error preprocessing query:"
+msgstr "Error processant la consulta:"
+
+#: src/metabase/mbql/normalize.clj
+msgid "Illegal filter clause: {0}"
+msgstr "Clàusula de filtre il·legal: {0}"
+
+#: src/metabase/mbql/normalize.clj
+msgid "Invalid clause:"
+msgstr "Clàusula invàlida:"
+
+#: src/metabase/mbql/util.clj
+msgid "Error: query's source query has not been resolved. You probably need to `preprocess` the query first."
+msgstr "Error: La font de la consulta no s'ha pogut resoldre. Es possible que necessiteu 'preprocessar' la consulta primer."
+
+#: src/metabase/mbql/util.clj
+msgid "No expression named ''{0}''"
+msgstr "No hi ha cap expressió anomenada: \"{0}\""
+
+#: src/metabase/mbql/util.clj
+msgid "No aggregation at index: {0}"
+msgstr "No hi ha agregat a l'index: {0}"
+
+#: src/metabase/models/field_values.clj
+msgid "Field values total length is {0} (max {1})."
+msgstr "La longitud total dels valors del camp és {0} però el màxim es {1}"
+
+#: src/metabase/models/field_values.clj
+msgid "FieldValues are allowed for this Field."
+msgstr "Es permeten valors de camp per aquest camp"
+
+#: src/metabase/models/field_values.clj
+msgid "FieldValues are NOT allowed for this Field."
+msgstr "No es permeten valors de camp per aquest camp"
+
+#: src/metabase/models/field_values.clj
+msgid "Field {0} ''{1}'' should have FieldValues and belongs to a Database with On-Demand FieldValues updating."
+msgstr "El camp {0} \"{1}\" ah de tenir valors de camp i pertany a una base de dades amb actualització de valors de camp segons demanda."
+
+#: src/metabase/models/permissions.clj
+msgid "You cannot create or revoke permissions for the ''Admin'' group."
+msgstr "No es pot crear ni eliminar permisos pel grup '\"Admin\""
+
+#: src/metabase/models/permissions_group_membership.clj
+msgid "You cannot add or remove users to/from the ''MetaBot'' group."
+msgstr "No es pot afegir ni eliminar usuaris del grup '\"MetaBot\""
+
+#: src/metabase/models/permissions_group_membership.clj
+msgid "You cannot add or remove users to/from the ''All Users'' group."
+msgstr "No es pot afegir o eliminar usuaris del grup \"Tots els usuaris\"."
+
+#: src/metabase/models/permissions_group_membership.clj
+msgid "You cannot remove the last member of the ''Admin'' group!"
+msgstr "No es pot eliminar el últim membre del grup \"Admin\"."
+
+#. go ahead and log the Exception anyway on the off chance that it *wasn't* just a race condition issue
+#: src/metabase/models/setting/cache.clj
+msgid "Error inserting a new Setting: {0}"
+msgstr "Error registrant la nova configuració: {0}"
+
+#: src/metabase/models/setting.clj
+msgid "defsetting descriptions strings must be `:internal?` or internationalized, found: `{0}`"
+msgstr "les cadenes de descripcions han de ser `:internal?`o traduïdes. S'ha trobat: `{0}`"
+
+#: src/metabase/plugins.clj
+msgid "Loading plugin {0}... {1}"
+msgstr "Carregant l'extensió {0} ... {1}"
+
+#: src/metabase/public_settings.clj
+msgid "Object keyed by type, containing formatting settings"
+msgstr "Objecte de claus per tipus, conté configuracions del format."
+
+#: src/metabase/public_settings.clj
+msgid "Allow users to explore data using X-rays"
+msgstr "Permetre que els usuaris utilitzin els rajos-X"
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Using this URL to check token: {0}"
+msgstr "Utilitzant aquesta URL per validar el token: {0}"
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Unable to validate token: 404 not found."
+msgstr "No s'ha pogut validar el otken: 404 no s'ha trobat"
+
+#: src/metabase/public_settings/metastore.clj
+msgid "There was an error checking whether this token was valid:"
+msgstr "S'ha produït un error al verificar si el token és correcte:"
+
+#. +----------------------------------------------------------------------------------------------------------------+
+#. |                                             SETTING & RELATED FNS                                              |
+#. +----------------------------------------------------------------------------------------------------------------+
+#. TODO - rename this to premium-features-token?
+#: src/metabase/public_settings/metastore.clj
+msgid "Token for premium features. Go to the MetaStore to get yours!"
+msgstr "Token per a característiques premium. Ves al MetaStore per aconsguir el teu."
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Token format is invalid. Token should be 64 hexadecimal characters."
+msgstr "El foramt del token no es vàlid. Ha de tenir 64 caràcters hexadecimals"
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Error setting premium features token"
+msgstr "Error al configurar el token de característiques premium"
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Error validating token:"
+msgstr "Error validant el token:"
+
+#: src/metabase/query_processor.clj
+msgid "Error preprocessing query"
+msgstr "Error processant la consulta"
+
+#: src/metabase/query_processor.clj
+msgid "No native form returned."
+msgstr "No s'ha obtingut un formulari natiu."
+
+#: src/metabase/query_processor.clj
+msgid "Invalid response from database driver. No :status provided."
+msgstr "Resposta invàlida del controlador de base de dades. No ha retornat cap estat."
+
+#: src/metabase/query_processor.clj
+msgid "General error"
+msgstr "Error general"
+
+#: src/metabase/query_processor.clj
+msgid "Missing query hash!"
+msgstr "Falta el hash de la consulta"
+
+#: src/metabase/query_processor/middleware/add_implicit_clauses.clj
+msgid "Table ''{0}'' has no Fields associated with it."
+msgstr "La taula \"{0}\" no té camps associats."
+
+#: src/metabase/query_processor/middleware/add_query_throttle.clj
+msgid "Max concurrent query limit reached"
+msgstr "S'ha assolit el nombre màxim de consultes concurrents"
+
+#. we should never reach this if our patterns are written right so this is more to catch code mistakes than
+#. something the user should expect to see
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "Don't know how to get information about Field:"
+msgstr "No se com obtenir informació del Camp:"
+
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "metabase.query-processor.interface/*driver* is unbound."
+msgstr "El metabase.query-processor.interface/*driver* no està definit"
+
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "Query processor error: mismatched number of columns in query and results."
+msgstr "Error al processar la consulta: el nombre de columnes no coincideix entra la consulta i els resultats"
+
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "Expected {0} fields, got {1}"
+msgstr "S'esperaven {0} camps però se n'han obtingut {1}"
+
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "Expected: {0}"
+msgstr "Esperat: {0}"
+
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "Actual: {0}"
+msgstr "Acutal: {0}"
+
+#: src/metabase/query_processor/middleware/binning.clj
+msgid "Unable to bin Field without a min/max value"
+msgstr "No es pot agrupar el camp sense un valor mínim/màxim"
+
+#: src/metabase/query_processor/middleware/check_features.clj
+msgid "{0} is not supported by this driver."
+msgstr "El controlador no soporta: {0}"
+
+#: src/metabase/query_processor/middleware/expand_macros.clj
+msgid "Segment {0} does not exist, or is invalid."
+msgstr "El segment {0} no existeix o és invàlid."
+
+#: src/metabase/query_processor/middleware/expand_macros.clj
+msgid "Metric {0} does not exist, or is invalid."
+msgstr "La mètrica {0} no existeix o és invàliad."
+
+#: src/metabase/query_processor/middleware/fetch_source_query.clj
+msgid "Missing source query in Card {0}"
+msgstr "Falta la consulta d'origen a la targeta {0}"
+
+#: src/metabase/query_processor/middleware/fetch_source_query.clj
+msgid "Fetched source query from Card {0}:"
+msgstr "S'ha llegit la consulta origen de la targeta {0}:"
+
+#: src/metabase/query_processor/middleware/mbql_to_native.clj
+msgid "Error transforming MBQL query to native:"
+msgstr "Error al transformar la consulta MBQL a natiu."
+
+#: src/metabase/query_processor/middleware/resolve_source_table.clj
+msgid "Cannot run query: could not find source table {0}."
+msgstr "No s'ha pogut executar la consulta: no s'ha trobat la taula {0}."
+
+#: src/metabase/query_processor/middleware/results_metadata.clj
+msgid "Error recording results metadata for query:"
+msgstr "Error al registra les metadades de resultats per la consulta:"
+
+#: src/metabase/query_processor/store.clj
+msgid "Error: Query Processor store is not initialized."
+msgstr "Error: El magatzem del Processador de Consultes no està incialitzat"
+
+#: src/metabase/query_processor/store.clj
+msgid "Error: Table {0} is not present in the Query Processor Store."
+msgstr "Error: la taula {0} no està present al magatzem del processador de consultes."
+
+#: src/metabase/query_processor/store.clj
+msgid "Error: Field {0} is not present in the Query Processor Store."
+msgstr "Error: el camp {0} no està present al magatzem del processador de consultes."
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Task history cleanup successful, rows were {0}deleted"
+msgstr "La neteja del històrial de tasques ha completat amb èxit. S'han eliminat {0} files"
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "not"
+msgstr "no"
+
+#: src/metabase/util/encryption.clj
+msgid "For more information, see"
+msgstr "Per obtenir més informació vistia"
+
+#: src/metabase/util/schema.clj
+msgid "Integer greater than or equal to zero"
+msgstr "Enter més gran o igual que zero"
+
+#: src/metabase/util/schema.clj
+msgid "value must be an integer greater than or equal to zero."
+msgstr "el valor ha de ser un enter igual o més gran que zero."
+
+#: src/metabase/util/schema.clj
+msgid "value must be an integer zero or greater."
+msgstr "el valor ha de ser un enter igual o més gran que zero."
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid integer greater than or equal to zero."
+msgstr "el valor ha de ser un enter igual o més gran que zero."
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "New users per state in the last 30 days"
+msgstr "Nous usuaris per estat en els últims 30 dies"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Created At by day of the week"
+msgstr "Creat per (dia de la setmana)"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Created At by quarter of the year"
+msgstr "Creat per (trimestre)"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] per country"
+msgstr "[[this.short-name]] per país"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Users per source"
+msgstr "Usuaris per origen"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "The top external pages that brought users to your site"
+msgstr "Les principals pàgines externes que han portat usuaris al teu lloc web"
+
+#: resources/automagic_dashboards/comparison/State.yaml
+#: resources/automagic_dashboards/comparison/FK.yaml
+#: resources/automagic_dashboards/comparison/Country.yaml
+#: resources/automagic_dashboards/comparison/GenericField.yaml
+msgid "How [[this]] is distributed and more."
+msgstr "Com es distribueix [[this]] i alguna cosa més."
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "The [[this]] over time"
+msgstr "El [[this]] al llarg del temps"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "User growth"
+msgstr "Creixement d'usuaris"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Whether or not there are any patterns to when they happen."
+msgstr "Si hi ha patrons o no i quan succeeixen"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Users per state"
+msgstr "Usuaris per estat"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Sessions"
+msgstr "Sessions"
+
+#: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
+msgid "How some of the numbers in [[this]] relate to each other"
+msgstr "Com algun dels nombres en [[this]] es relacionen entre ells"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Sales per country"
+msgstr "Ventes per país"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Join date by month of the year"
+msgstr "Unir la data pel més del any"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "[[Timestamp]] by hour of the day"
+msgstr "[[Timestamp]] per hora del día"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "A look at the [[this]]"
+msgstr "Feu una ullada a [[this]]"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "Bottom 5 per category"
+msgstr "Últims 5 per categoria"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Number of orders"
+msgstr "Número de comandes"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Event growth"
+msgstr "Creixement d'events"
+
+#: resources/automagic_dashboards/table/example/indepth.yaml
+msgid "Total [[GenericTable]]"
+msgstr "Total [[GenericTable]]"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Income growth"
+msgstr "Creixement d'ingressos"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Top 10 countries by sales in the last 30 days"
+msgstr "Primers 10 països per ventes en els últims 30 dies"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "[[this]] by month of the year"
+msgstr "[[this]] per més del any"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Transactions per day of the week"
+msgstr "Transaccions per dia de la setmana"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Sessions by device type"
+msgstr "Sessions per dispositiu"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Transactions per country"
+msgstr "Traduccions per país"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Join date by quarter of the year"
+msgstr "Data d'alta per trimestre de l'any"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per hour of the day"
+msgstr "Esdeveniments per hora del dia"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[Singleton]]"
+msgstr "[[Singleton]]"
+
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "Top 5 [[this]]"
+msgstr "Primers 5 [[this]]"
+
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "Bottom 5 [[this]]"
+msgstr "Ultims 5 [[this]]"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "[[Timestamp]] by day of the month"
+msgstr "[[Timestamp]] per dia del mes"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Per [[GenericCategoryLarge]]"
+msgstr "Per [[GenericCategoryLarge]]"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+msgid "Null values"
+msgstr "Valors nuls"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Total events"
+msgstr "Total events"
+
+#: resources/automagic_dashboards/field/GenericField.yaml
+msgid "A look at [[GenericTable]] across your [[this]], and how it changes over time."
+msgstr "Una mirada a [[GenericTable]] a través del teu [[this]] i com canvia a través del temps."
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per [[GenericCategoryMedium]]"
+msgstr "[[this]] per [[GenricCategoryMedium]]"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "How the [[this]] changes with time"
+msgstr "Com el [[this]] canvia al llarg del temps"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "How they compare by seasonality"
+msgstr "Com es comparen estacionalment"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Average income per transaction"
+msgstr "Ingressos mitjos per transacció"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per country"
+msgstr "[[this]] per país"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Income per state"
+msgstr "Ingressos per estat"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Per [[GenericCategoryMedium]]"
+msgstr "Per [[GenricCategoryMedium]]"
+
+#: resources/automagic_dashboards/question/GenericQuestion.yaml
+msgid "A closer look at your [[this]]"
+msgstr "Una mirada detallada als teus [[this]]"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "How [[GenericNumber]] is distributed"
+msgstr "Com es distribueix [[GenircNumber]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "[[Timestamp]] by quarter of year"
+msgstr "[[Timestamp]] per trimestre"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per country"
+msgstr "Esdeveniments per país"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Weekdays when [[this.short-name]] were added"
+msgstr "Dies de la setmana quan es fa afegir [[this.short-name]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Months when [[this.short-name]] were added"
+msgstr "Mes quan es fa afegir [[this.short-name]]"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How they compare across different categories"
+msgstr "Com es comparen entre diferents categories"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "New users per source in the last 30"
+msgstr "Nous usuaris per origen als últims 30 dias."
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per quarter of the year"
+msgstr "Esdeveniments per trimestre"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Heres a quick look at your [[this]]"
+msgstr "Una mirada ràpida als teus [[this]]"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per [[GenericCategoryLarge]], top 5"
+msgstr "[[this]] per [[GenericCategoryLarge]], els 5 primers"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Days when [[this.short-name]] were added"
+msgstr "Dies en els que es va afegir [[this.short-name]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Total orders per source"
+msgstr "Comandes totals per orígen"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "[[this]] by quarter of the year"
+msgstr "[[this]] per trimestre"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per [[GenericCategoryMedium]]"
+msgstr "Esdeveniments per [[GenericCategoryMedium]]"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per state"
+msgstr "Esdeveniments per estat"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Top landing pages"
+msgstr "Les millors pàgines d'ateratge"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Heres a closer look at your [[this]] over time"
+msgstr "Una mirada detallada als teus [[this]] a través del temps"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "Sum of [[this]] by [[Country]]"
+msgstr "Suma de [[this]] per [[Country]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "States that are performing best"
+msgstr "Les províncies amb millors resultats"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Created At by month of the year"
+msgstr "Creat el més del any"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "Sum of [[this]] by [[State]]"
+msgstr "Sumatori de [[this]] per [[State]]"
+
+#: resources/automagic_dashboards/field/State.yaml
+msgid "Sum of [[GenericNumber]] per [[this]]"
+msgstr "Sumatori de [[GenericNumber]] per [[ŧhis]]"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events by coordinates"
+msgstr "Events per coordenades"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Top referral pages"
+msgstr "Les millors pàgines de referència"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "An exploration of your users to get you started."
+msgstr "Una exploració dels teus usuaris per començar"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "An overview of your [[this]] and how its distributed across time, place, and categories."
+msgstr "Una visió general del teu [[this]] i com es distribueix amb el temps, lloc i categories."
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Average income per state"
+msgstr "Ingressos mitjos per província"
+
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+msgid "[[this]] by [[GenericCategoryMedium]]"
+msgstr "[[this]] per [[GenericCategoryMedium]]"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Total transactions"
+msgstr "Total transaccions"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] that have joined over time"
+msgstr "[[this.short-name] que s'han afegit al llarg del temps"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "The [[this]] by location"
+msgstr "Els [[this]] per ubicació"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per month of the year"
+msgstr "Esdeveniments per mes del any"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] by [[GenericNumber]]"
+msgstr "[[this]] per [[GenericNumber]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Quarters when [[this.short-name]] were added"
+msgstr "Trimestres als que s'ha afegit [[this.short-name]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "How these [[this.short-name]] are distributed"
+msgstr "Com es distribueixen [[this.short-name]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] by [[GenericNumber]]"
+msgstr "[[this.short-name]] per [[GenericNumber]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Where users are coming from"
+msgstr "D'on venen els usuaris"
+
+#: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
+msgid "[[this]] comparisons and correlations"
+msgstr "comparacions i correlacions de [[this]]"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Total income"
+msgstr "Ingressos totals"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Total income per month"
+msgstr "Ingressos totals per més"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Number of users per source"
+msgstr "Nombre d'usuaris per orígen"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Transactions per state"
+msgstr "Transaccions per província"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "[[this]] by [[Timestamp]]"
+msgstr "[[this]] per [[Timestamp]"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "New users per source in the last 30 days"
+msgstr "Nous usuaris per origen dels últims 30 dies."
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Join date by day of the month"
+msgstr "Data d'alta per dia del mes"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Average discount %"
+msgstr "% Descompte mig"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Autogenerated metrics about [[GenericTable]]."
+msgstr "Mètriques autogenerades sobre [[GenericTable]]"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per day of the month"
+msgstr "[[this]] per dia del més"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Total sessions in each country"
+msgstr "Sessions totals de cada pais"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Transactions per month of the year"
+msgstr "Transaccions per mes"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Sales per product"
+msgstr "Ventes per producte"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Users in each country"
+msgstr "Usuaris de cada país"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "[[this]] by hour of the day"
+msgstr "[[this]] per hora del día"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events in the last 30 days"
+msgstr "Esdeveniments en els últims 30 dies"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Transactions per source"
+msgstr "Transaccions per orígen"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Where youve acquired your users"
+msgstr "D'on provenen els usuaris"
+
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How they compare acrosss location"
+msgstr "Com es comparen per ubicació"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "[[this]] per product"
+msgstr "[[this]] per producte"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per month of the year"
+msgstr "[[this]] per més del any"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Per country"
+msgstr "Per país"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "A deeper look at how different countries are performing for you."
+msgstr "Una mira més profunda com els diferents països s'estan comportant per tu."
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Sales per state"
+msgstr "Ventes per provincia"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events by [[GenericNumber]]"
+msgstr "Esdeveniments per [[GenericNumber]"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "Sales per product [[ProductCategoryMedium]]"
+msgstr "Ventes per producte [[ProductCategoryMedium]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "User acquisition by country"
+msgstr "Adqusició d'usuaris per país"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "[[this]] per source"
+msgstr "[[this]] per orgien"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "[[this]] by day of the week"
+msgstr "[[this]] per dia de la setmana"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Days of the month when [[this.short-name]] joined"
+msgstr "Dia del més quan s'han unit [[this.short-name]]"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Heres an overview of the people in your [[this]]"
+msgstr "Una visió genera de les persones al teu [[this]]"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "How [[GenericTable]] are distributed across this time field, and if it has any seasonal patterns."
+msgstr "Com es distribueix [[GenericTable]] al llarg del temps i si té algun patró estacional."
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+#: resources/automagic_dashboards/table/EventTable.yaml
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Overview"
+msgstr "Visió general"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How this metric is distributed across different categories"
+msgstr "Com es distribueix aquesta mètrica en diferents categories"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] per state"
+msgstr "[[this.short-name]] per provincia"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Weekdays when [[this.short-name]] joined"
+msgstr "Dies de la setmana quan s'han unit els [[this.short-name]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Hours when [[this.short-name]] joined"
+msgstr "Hores quan s'han unit els [[this.short-name]]"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Total income by month"
+msgstr "Ingressos totals per mes"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "A breakdown of your [[this]] over time, and its min, max, average and more."
+msgstr "Un desglòs dell teu [[this]] al llarg del temps, el seu mínim, màxim, promitg i molt més."
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Average quantity per state"
+msgstr "Quantitat mitja per província"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How they compare by across different numbers"
+msgstr "Com es comporten per diferents nombres"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "New users per country in the last 30 days"
+msgstr "Nous usuaris per país en els últims 30 dies"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Transactions over time"
+msgstr "Transaccions al llarg del temps"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per [[GenericCategorySmall]]"
+msgstr "[[this]] per [[GenericCategorySmall]"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Some breakdown"
+msgstr "Un petit desglos"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "Average of [[this]] by [[State]]"
+msgstr "Mitja de [[this]] per [[State]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Transactions per quarter of the year"
+msgstr "Transaccions per trimestre"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "By coordinates"
+msgstr "Per coordenades"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "Heres a closer look at your [[this]] by products"
+msgstr "Una mirada detalla dels teus [[this]] per producte"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per quarter of the year"
+msgstr "[[this]] per trimestre"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Heres an overview of your [[this]] data from Google Analytics"
+msgstr "Aquí hi ha un resum de les teves dades [[this]] de Google Analytics"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Quarters when [[this.short-name]] joined"
+msgstr "Trimestres quan [[this.short-name] es va donar d'alta"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "New [[this.short-name]] in the last 30 days"
+msgstr "Nous [[this.short-name]] en els últims 30 dies"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Total sessions by desktop, mobile, or tablet"
+msgstr "Sessions totals per ordenador, mòbil o tauleta."
+
+#: resources/automagic_dashboards/table/example/indepth.yaml
+msgid "Indepth example"
+msgstr "Exemple amb profunditat"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Average income per source"
+msgstr "Ingressos mitjos per orígen"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "[[Timestamp]] by day of week"
+msgstr "[[Timestamp]] per dia de la setmana"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/question/GenericQuestion.yaml
+msgid "Heres a closer look at your [[this]]"
+msgstr "Aquí hi ha una mirada més detallada als teus [[this]]"
+
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "Heres a closer look at your [[this]] field"
+msgstr "Una mirada detallada del teu camp [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Summary"
+msgstr "Resum"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "How the [[this]] is distributed geographically"
+msgstr "Com es distribueix [[this]] geogràficament "
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "The pages with the most pageviews"
+msgstr "Les pàgines amb més visites"
+
+#: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
+msgid "How [[Number1]] is correlated with [[Number2]]"
+msgstr "La correlació entre [[Number1]] i [[Number2]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Top 10 states by sales in the last 30 days"
+msgstr "Primeres 10 províncies per venta els últims 30 dies"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Top 10 states by sales"
+msgstr "Primeres 10 províncies per ventes"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[Timestamp]]"
+msgstr "[[Timestamp]]"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Where these transactions happened"
+msgstr "On s'han dut a terme aquestes transaccions"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Top 10 countries by sales"
+msgstr "Primers 10 països per vendes"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Sales by state"
+msgstr "Vendes per provincia"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Where most of your sessions originate from"
+msgstr "D'on provenen la majoria de les sessions"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Top acquisition channels"
+msgstr "Els millors canals d'adquisició"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "These [[this.short-name]] across time"
+msgstr "Aquests [[this.short-name]] al llarg del temps"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Average quantity"
+msgstr "Quantitat mitja"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Sales per source"
+msgstr "Ventes per orígen"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Average income per country"
+msgstr "Ingressos mitjos per país"
+
+#: resources/automagic_dashboards/comparison/State.yaml
+#: resources/automagic_dashboards/comparison/FK.yaml
+#: resources/automagic_dashboards/comparison/Country.yaml
+#: resources/automagic_dashboards/comparison/GenericField.yaml
+msgid "How [[this]] is distributed"
+msgstr "Com es distribueix [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Distinct [[FK]]"
+msgstr "[[FK]] diferents"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "How these transactions are distributed"
+msgstr "Com es distribueixen aquestes transaccions"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Per state"
+msgstr "Per província"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "Count of [[GenericCategoryMedium]] by [[this]]"
+msgstr "Nombre de [[GenericCategoryMedium]] per [[this]]"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+#: resources/automagic_dashboards/table/UserTable.yaml
+#: resources/automagic_dashboards/comparison/State.yaml
+#: resources/automagic_dashboards/comparison/FK.yaml
+#: resources/automagic_dashboards/comparison/Country.yaml
+#: resources/automagic_dashboards/comparison/GenericField.yaml
+msgid "A look at your [[this]]"
+msgstr "Una mirada als teus [[this]]"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+msgid "[[GenericNumber]] by [[this]]"
+msgstr "[[GenericNumber]] per [[this]]"
+
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "Sum of [[GenericNumber]] by [[this]]"
+msgstr "Suma de [[GenericNumber]] per [[this]]"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "A look at your [[this]] table"
+msgstr "Una mirada a la teva taula [[this]]"
+
+#: resources/automagic_dashboards/field/State.yaml
+msgid "How many [[GenericTable]] there are per state, and how each state is represented across other categories."
+msgstr "Quants [[GenericTable]] hi ha per Província i com es representa cada Província sobre la resta de categories"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Most-viewed pages"
+msgstr "Pàgines més vistes"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Example exploration"
+msgstr "Exploració d'exemple"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "Sales vs. rating"
+msgstr "Ventes vs. Clasificació"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per hour of the day"
+msgstr "[[this]] per hora del dia"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Where your [[this.short-name]] are"
+msgstr "On estan els teus [[this.short-name]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "These are the same for all your [[this.short-name]]"
+msgstr "Aquests son els mateixos per tots els [[this.short-name]]"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events by different categories"
+msgstr "Esdeveniments per diferents categories"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Where these [[this.short-name]] are"
+msgstr "On estat aquests [[this.short-name]]"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "Over time"
+msgstr "Al llarg del temps"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "A summary of the events in your [[this]] table"
+msgstr "Un resum dels esdeveniments a la teva taula [[this]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Transactions per source over time"
+msgstr "Transaccions per origen al llarg del temps"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+msgid "How the [[this]] is distributed"
+msgstr "Com es distribueix el [[this]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Total income per source"
+msgstr "Ingressos totals per origen"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Total [[this.short-name]]"
+msgstr "Total [[this.short-name]]"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Some metrics we found about your transactions."
+msgstr "Alguna de les mètriques que em trobat de les teves transaccions"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "How your different products are performing."
+msgstr "Quin es el rendiment de cada un dels teus productes"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Where these events are happening"
+msgstr "On es produeixen aquests esdeveniments"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Which US states are bringing you the most business."
+msgstr "Quin estats dels EEUU aporten més al teu negoci"
+
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How they compare across time"
+msgstr "Com es comparen al llarg del temps"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Average transaction income per month"
+msgstr "Ingressos mitjos per transacció i mes"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Average quantity per month"
+msgstr "Quantitat mitja per mes"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "Seasonal patterns in the [[this]]"
+msgstr "Patrons estacionals en [[this]]"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events over time"
+msgstr "Esdeveniments al llarg del temps"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Orders and income per source"
+msgstr "Comandes i ingressos per origen"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Transactions per hour of the day"
+msgstr "Transaccions per hora del dia"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Where most of your traffic is coming from."
+msgstr "De on prové la majoria del teu tràfic"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "Heres a quick look at the [[this]]"
+msgstr "Aquí pots fer una ullada ràpida a [[this]]"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "It looks like your [[this]] has transactions, so heres a look at them"
+msgstr "Sembla que el teu [[this]] té transaccions. Aquí hi ho pots vistualitzar"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Average discount per month"
+msgstr "Descompte mig per més"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "[[Timestamp]] by month of the year"
+msgstr "[[Timestamp]] per més del any"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per [[GenericCategorySmall]] over time"
+msgstr "[[this]] per [[GenericCategorySmall]] al llarg del temps"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Distribution by coordinates"
+msgstr "Distribució per coordenades"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Sales by source"
+msgstr "Ventes per origen"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Sales for each product category"
+msgstr "Ventes per cada categoria de producte"
+
+#: resources/automagic_dashboards/question/GenericQuestion.yaml
+msgid "A closer look at the metrics and dimensions used in this saved question."
+msgstr "Una mirada detallada a les mètriques i dimensions utilitzades en aquesta pregunta guardada"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] per [[GenericCategoryMedium]]"
+msgstr "[[this.short-name]] per [[GenericCategoryMedium]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "Sales per product [[ProductCategoryLarge]]"
+msgstr "Ventes per producte [[ProductCategoryLarge]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Average quantity per country"
+msgstr "Quantitat mitja per pais"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] per [[GenericCategoryLarge]]"
+msgstr "[[this.short-name]] per [[GenericCategoryLarge]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Heres a closer look at your [[this]] per source"
+msgstr "Una mirada detallada al teu [[this]] per origen"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per day of the month"
+msgstr "Esdeveniments per dia del mes"
+
+#: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
+msgid "If youre into correlations, this is the x-ray for you."
+msgstr "Si t'interessen les correlacions, aquest és el teu raig-X"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Sessions by Country"
+msgstr "Sessions per pais"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Some interesting metrics about your GA stats to get you started."
+msgstr "Algunes mètriques interessants sobre les teves estadístiques de GAL per començar."
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per state"
+msgstr "[[this]] per província"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "[[Timestamp]] by quarter of the year"
+msgstr "[[Timestamp]] per trimestre"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How its distributed across time and other categories."
+msgstr "Com es distribueix a través del temps i altres categories"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "A look at your events over time and by several categories."
+msgstr "Una mirada als esdeveniments al llarg del temps per varies categories"
+
+#: resources/automagic_dashboards/field/State.yaml
+msgid "[[GenericTable]] per [[this]]"
+msgstr "[[GenericTable]] per [[this]"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Average quantity per source"
+msgstr "Quantitat mitja per origen"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "Top 5 per category"
+msgstr "Primers 5 per categoria"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per day of the week"
+msgstr "Esdeveniments per dia de la setmana"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "New [[this.short-name]] per month"
+msgstr "Nous [[this.short-name]] per mes"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Top performers"
+msgstr "Millor rendiment"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Transactions in the last 30 days"
+msgstr "Transaccions en els últims 30 dies"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "[[GenericTable]] by [[this]]"
+msgstr "[[Generictable]] per [[this]"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Overview of your [[this]] data from Google Analytics"
+msgstr "Visió general de les teves dades [[this] de Google Analytics"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Created At by hour of the day"
+msgstr "Creat el per hora del dia"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Sales by month"
+msgstr "Ventes per mes"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "How the [[this]] is distributed across categories"
+msgstr "Com es distribueix [[this]] entre categories"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "[[Timestamp]] by month of year"
+msgstr "[[Timestamp]] per mes del any"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "How many total sessions vs. how many individual users you had each day."
+msgstr "Quantes sessions totals vs. quants usuaris individuals has tingut cada dia."
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How this metric is distributed across different numbers"
+msgstr "Com es distribueix aquesta mètrica entre els diferents nombres."
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Sessions by page where the session began"
+msgstr "Sessions per pàgina on ha començat la sessió"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+msgid "Distinct values"
+msgstr "Valors diferents"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Hours when [[this.short-name]] were added"
+msgstr "hores a les que s'han afegit els [[this.short-name]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "[[Timestamp]] by day of the week"
+msgstr "[[Timestamp]] per dia de la setman"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[GenericNumber]] over time"
+msgstr "[[GenericNumber]] al llarg del temps"
+
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+#: resources/automagic_dashboards/comparison/State.yaml
+#: resources/automagic_dashboards/comparison/FK.yaml
+#: resources/automagic_dashboards/comparison/Country.yaml
+#: resources/automagic_dashboards/comparison/GenericField.yaml
+msgid "Heres an overview of your [[this]]"
+msgstr "Aquí hi ha una visió general dels teus [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] by coordinates"
+msgstr "[[this.short-name]] per coordenades"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Heres a closer look at your [[this]] per state"
+msgstr "Una mirada detallada als [[this]] per província"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Created At by day of the month"
+msgstr "Creat el per día del mes"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Sales by coordinates"
+msgstr "Ventes per coordenades"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "New [[this.short-name]] over time"
+msgstr "Nous [[this.short-name]] al llarg del temps"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Join date by hour of the day"
+msgstr "Data d'alta per hora del dia"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "[[Timestamp]] by hour of day"
+msgstr "[[Timestamp]] per hora del día"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Sessions and unique users per day"
+msgstr "Sessions i usuaris únic per día."
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per [[GenericCategoryLarge]]"
+msgstr "Esdeveniments per [[GenericCategoryLarge]]"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "How they compare by distribution"
+msgstr "Com es comparen per distribució"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Income per country"
+msgstr "Ingressos per pais"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Heres a closer look at your [[this]] per country"
+msgstr "Una mirada detallada dels teus [[this]] per pais"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Sales by product [[ProductCategory]]"
+msgstr "Ventes per producte [[ProductCategory]]"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per [[GenericCategoryLarge]], bottom 5"
+msgstr "[[this]] per [[GenericCategoryLarge]], els últims 5"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] added in the last 30 days"
+msgstr "[[this.short-name]] afegits els últims 30 dies"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Per [[Source]]"
+msgstr "Per [[Source]]"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Average item quantity per month"
+msgstr "Quantitat mitja per més"
+
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "The number of [[GenericTable]] per country, and how each country is represented in different categories."
+msgstr "El número de [[GenericTable]] per país i com cada país està representat en diferents categories"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per day of the week"
+msgstr "[[this]] per dia de la setman"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Average qunatity per source"
+msgstr "Quantitat mitja per origen"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] by [[Timestamp]]"
+msgstr "[[this.short-name]] per [[Timestamp]]"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "Summary statistics"
+msgstr "Resum d'estadístiques"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Sales per month"
+msgstr "Ventes per mes"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[GenericNumber]] by join date"
+msgstr "[[GenericNumber]] per data d'alta"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "Average of [[this]] by [[Country]]"
+msgstr "Mitja de [[this]] per [[Country]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "[[this]] over time"
+msgstr "[[this]] al llarg del temps"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Join date by day of the week"
+msgstr "Data d'alta per dia de la setmana"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "We crunched the numbers for your [[this]]"
+msgstr "Hem processat els nombres del teu [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Months when [[this.short-name]] joined"
+msgstr "Mesos quan s'ha unit [[this.short-name]]"
+
+#: src/metabase/api/geojson.clj
+msgid "Unable to parse resource `{0}` as JSON"
+msgstr "Resposta JSON incorrecta: `{0}`"
+
+#: src/metabase/api/geojson.clj
+msgid "Unable to find JSON via relative path `{0}`"
+msgstr "No s'ha pogut trobar el JSON mitjançant la ruta relativa `{0}`"
+
+#: src/metabase/api/geojson.clj
+msgid "Connection to host timed out for URL `{0}`"
+msgstr "La connexió amb el servidor ha caducat per la URL `{0}`"
+
+#: src/metabase/api/geojson.clj
+msgid "Unable to connect to unknown host at URL `{0}`"
+msgstr "No es pot connectar a un servidor desconegut a la URL `{0}`"
+
+#: src/metabase/api/geojson.clj
+msgid "Unable to connect to host at URL `{0}`"
+msgstr "No es pot connectar amb el servidor a la URL `{0}`"
+
+#: src/metabase/api/geojson.clj
+msgid "Connection refused by host at for URL `{0}`"
+msgstr "S'ha refusat la connexió amb el servidor a la URL `{0}`"
+
+#: src/metabase/api/geojson.clj
+msgid "Unable to retrieve resource at URL `{0}`"
+msgstr "No es pot recuperar el recurs a la URL `{0}`"
+
+#: src/metabase/api/geojson.clj
+msgid "Unable to parse resource at URL `{0}` as JSON"
+msgstr "No se pot analitzar el recurs de la url `{0}` com a JSON"
+
+#: src/metabase/api/session.clj
+msgid "Problem connecting to LDAP server, will fall back to local authentication: {0}"
+msgstr "S'has produït un problema amb la connexió al servidor LDAP, s'utilitzarà l'autentificació local: {0}"
+
+#: src/metabase/driver/bigquery.clj
+msgid "BigQuery statements can''t be parameterized!"
+msgstr "Les consultes BigQuery no es poden parametritzar!"
+
+#: src/metabase/driver/druid/query_processor.clj
+msgid "WARNING: Druid does not allow limitSpec in time series queries. Ignoring the LIMIT clause."
+msgstr "AVIS: Druid no permet limitSpec amb consultes de series de temps. Ignorant la clàusula LIMIT."
+
+#: src/metabase/driver/snowflake.clj
+msgid "Invalid Snowflake connection details: missing DB name."
+msgstr "Valors de connexió a SnowFlake invàlids: falta el nom de la Base de dades"
+
+#: src/metabase/email/messages.clj
+msgid "We’d love your feedback."
+msgstr "Ens encantarien els teus comentaris"
+
+#: src/metabase/email/messages.clj
+msgid "It looks like Metabase wasn’t quite a match for you."
+msgstr "Sembla que el Metabase no s'ha ajustat a les teves expectatives"
+
+#: src/metabase/email/messages.clj
+msgid "Would you mind taking a fast 5 question survey to help the Metabase team understand why and make things better in the future?"
+msgstr "T'importaria realitzar una enquesta ràpida de 5 preguntes per ajudar a l'equip de Metabase a entendre el perquè i a millorar les coses en un futur?"
+
+#: src/metabase/email/messages.clj
+msgid "We hope you''ve been enjoying Metabase."
+msgstr "Esperem que estiguis disfrutant el Metabase."
+
+#: src/metabase/email/messages.clj
+msgid "Would you mind taking a fast 6 question survey to tell us how it’s going?"
+msgstr "T'importaria fer una enquesta ràpida de 6 preguntes per dir-nos com va?"
+
+#: src/metabase/email/messages.clj
+msgid "{0} created a Metabase account"
+msgstr "{0} ha creat un compte de Metabase"
+
+#: src/metabase/email/messages.clj
+msgid "{0} accepted their Metabase invite"
+msgstr "{0} ha acceptat la teva invitació del Metabase"
+
+#: src/metabase/email/messages.clj
+msgid "[Metabase] Password Reset Request"
+msgstr "[Metabase] Sol·licitud de recuperació de la contrasenya"
+
+#: src/metabase/email/messages.clj
+msgid "[Metabase] Notification"
+msgstr "[Metabase] Notificació"
+
+#: src/metabase/email/messages.clj
+msgid "[Metabase] Help make Metabase better."
+msgstr "[Metabase] Ajuda'ns a millorar el Metabase."
+
+#: src/metabase/email/messages.clj
+msgid "[Metabase] Tell us how things are going."
+msgstr "[Metabase] Explica'ns com van les cosees."
+
+#: src/metabase/mbql/util.clj
+msgid "Error: query''s source query has not been resolved. You probably need to `preprocess` the query first."
+msgstr "Error: la font de la consulta no s'ha pogut resoldre. Possiblement es necessita preprocessar la pregunta primer."
+
+#: src/metabase/models/params.clj
+msgid "Don't know what to do with:"
+msgstr "No se que fer amb:"
+
+#: src/metabase/models/params.clj
+msgid "Don't know how to wrap:"
+msgstr "No se com embolicar: "
+
+#: src/metabase/public_settings.clj
+msgid "Failed setting `query-caching-max-kb` to {0}."
+msgstr "No s'ha pogut establir `query-caching-max-kb` a {0}"
+
+#: src/metabase/public_settings.clj
+msgid "Values greater than {1} are not allowed."
+msgstr "No es permeten valors superiors a {1}"
+
+#: src/metabase/query_processor/middleware/resolve_database.clj
+msgid "Database {0} does not exist."
+msgstr "La base de dades {0} no existeix"
+
+#: src/metabase/query_processor/store.clj
+msgid "Error: Database is not present in the Query Processor Store."
+msgstr "Error: La base de dades no està present al magatzem del processador de consultes."
+
+#: src/metabase/util/embed.clj
+msgid "Invalid embedding-secret-key! Secret key must be a hexadecimal-encoded 256-bit key (i.e., a 64-character string)."
+msgstr "La clau secreta és invàlida. La clau secreta ha de ser una clau de 256 bits codificada en hexadecimal (es a dir, una cadena de 64 caràcters)."
+
+#: src/metabase/util/embed.clj
+msgid "JWT is missing `alg`."
+msgstr "Falta el JWT `alg` "
+
+#: src/metabase/util/embed.clj
+msgid "JWT `alg` cannot be `none`."
+msgstr "El JWT `alg` no pot ser `none`"
+
+#: src/metabase/util/embed.clj
+msgid "The embedding secret key has not been set."
+msgstr "No s'ha establer la clau secreta pel incrustat"
+
+#: src/metabase/util/embed.clj
+msgid "Token is missing value for keypath"
+msgstr "Falta el valor del keypath al token."
+
+#: resources/automagic_dashboards/table/example/indepth.yaml
+msgid "In-depth example"
+msgstr "Exemple avançat"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:29
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:17
+msgid "Key"
+msgstr "Clau"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:30
+msgid "Class"
+msgstr "Clase"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:32
+msgid "Triggers"
+msgstr "Disparadors"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:48
+msgid "View triggers"
+msgstr "Veure disparadors"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:82
+msgid "Scheduler Info"
+msgstr "Informació sobre la programació"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:20
+msgid "Priority"
+msgstr "Prioridad"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:21
+msgid "Last Fired"
+msgstr "Última execució"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:22
+msgid "Next Fire Time"
+msgstr "Següent execució"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:23
+msgid "Start Time"
+msgstr "Hora inicial"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:24
+msgid "End Time"
+msgstr "Hora final"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:25
+msgid "Final Fire Time"
+msgstr "Hora última ejecució"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:26
+msgid "May Fire Again?"
+msgstr "Es pot tornar a executar?"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:75
+msgid "Triggers for {0}"
+msgstr "Disparadors per {0}"
+
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:25
+msgid "Tasks"
+msgstr "Tasques"
+
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:30
+msgid "Jobs"
+msgstr "Treballs"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:740
+msgid "Duplicated {0}"
+msgstr "S'ha duplicat {0}"
+
+#: frontend/src/metabase/components/EntityItem.jsx:55
+msgid "Duplicate this item"
+msgstr "Duplica aquest ítem"
+
+#: frontend/src/metabase/components/EntityItem.jsx:61
+msgid "Archive this item"
+msgstr "Arxiva aquest ítem"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:330
+msgid "Duplicate dashboard"
+msgstr "Duplica el quadre de comandaments"
+
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:16
+msgid "Duplicate \"{0}\""
+msgstr "Duplica {0}"
+
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:21
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:26
+msgid "Duplicate"
+msgstr "Duplica"
+
+#: frontend/src/metabase/lib/query_time.js:115
+msgid "Tomorrow"
+msgstr "Demà"
+
+#: frontend/src/metabase/lib/query_time.js:129
+#: frontend/src/metabase/lib/query_time.js:143
+msgid "This {0}"
+msgstr "Aquest {0}"
+
+#: frontend/src/metabase/lib/query_time.js:132
+msgid "Next {0}"
+msgstr "Següent {0}"
+
+#: frontend/src/metabase/lib/query_time.js:135
+msgid "Previous {0}"
+msgstr "{0} anterior"
+
+#: frontend/src/metabase/lib/query_time.js:139
+msgid "Previous {0} {1}"
+msgstr "Anterior {0} {1}"
+
+#: frontend/src/metabase/lib/query_time.js:141
+msgid "Next {0} {1}"
+msgstr "Seguents {0} {1}"
+
+#: frontend/src/metabase/lib/query_time.js:171
+msgid "Now"
+msgstr "Ara"
+
+#: frontend/src/metabase/lib/query_time.js:174
+msgid "{0} {1} ago"
+msgstr "fa {0} {1}"
+
+#: frontend/src/metabase/lib/query_time.js:175
+msgid "{0} {1} from now"
+msgstr "{0} {1} desde ara"
+
+#: frontend/src/metabase/lib/query_time.js:187
+msgid "Default period"
+msgid_plural "Default periods"
+msgstr[0] "Període per defecte"
+msgstr[1] "Períodes per defecte"
+
+#: frontend/src/metabase/lib/query_time.js:203
+msgid "Minute of hour"
+msgid_plural "Minutes of hour"
+msgstr[0] "Minut de la hora"
+msgstr[1] "Minuts de la hora"
+
+#: frontend/src/metabase/lib/query_time.js:205
+msgid "Hour of day"
+msgid_plural "Hours of day"
+msgstr[0] "Hora del dia"
+msgstr[1] "Hores del dia"
+
+#: frontend/src/metabase/lib/query_time.js:207
+msgid "Day of week"
+msgid_plural "Days of week"
+msgstr[0] "Dia de la setmana"
+msgstr[1] "Dies de la setmana"
+
+#: frontend/src/metabase/lib/query_time.js:209
+msgid "Day of month"
+msgid_plural "Days of month"
+msgstr[0] "Dia del mes"
+msgstr[1] "Dies del mes"
+
+#: frontend/src/metabase/lib/query_time.js:211
+msgid "Day of year"
+msgid_plural "Days of year"
+msgstr[0] "Dia de l'any"
+msgstr[1] "Dies de l'any"
+
+#: frontend/src/metabase/lib/query_time.js:213
+msgid "Week of year"
+msgid_plural "Weeks of year"
+msgstr[0] "Setmana de l'any"
+msgstr[1] "Setmanes de l'any"
+
+#: frontend/src/metabase/lib/query_time.js:215
+msgid "Month of year"
+msgid_plural "Months of year"
+msgstr[0] "Mes del any"
+msgstr[1] "Mesos de l'any"
+
+#: frontend/src/metabase/lib/query_time.js:217
+msgid "Quarter of year"
+msgid_plural "Quarters of year"
+msgstr[0] "Trimestre del any"
+msgstr[1] "Trimestres de l'any"
+
+#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:62
+#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:58
+#: frontend/src/metabase/query_builder/components/Filter.jsx:79
+msgid "{0} selection"
+msgid_plural "{0} selections"
+msgstr[0] "{0} seleccionat"
+msgstr[1] "{0} seleccionats"
+
+#: frontend/src/metabase/parameters/components/widgets/DateQuarterYearWidget.jsx:11
+msgid "[Q]Q"
+msgstr "[Q]Q"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:28
+msgid "This"
+msgstr "Aquest"
+
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:64
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:96
+msgid "Invalid"
+msgstr "Invàlid"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/SpecificDatePicker.jsx:147
+msgid "Add a time"
+msgstr "Afegeix una hora"
+
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:170
+msgid "Nothing to compare for the previous {0}."
+msgstr "Res que comprar amb el {0} anterior."
+
+#: frontend/src/metabase-lib/lib/Dimension.js:517
+msgid "by {0}"
+msgstr "per {0}."
+
+#: src/metabase/api/database.clj
+msgid "value must be a valid database engine."
+msgstr "el valor ha de ser un motor de base de dades vàlid"
+
+#: src/metabase/api/geojson.clj
+msgid "Connection refused by host for URL `{0}`"
+msgstr "La connexió al servidor mitjançant la URL `{0}`s'ha refusat"
+
+#: src/metabase/db.clj
+msgid "Warning: Postgres connection string with `ssl=true` detected."
+msgstr "Avís: S'ha detectat una connexió a Postgres amb 'ssl=True'."
+
+#: src/metabase/db.clj
+msgid "You may need to add `?sslmode=require` to your application DB connection string."
+msgstr "Potser hauries d'afegir `sslmode=require` a la cadena de connexió a la Base de dades."
+
+#: src/metabase/db.clj
+msgid "If Metabase fails to launch, please add it and try again."
+msgstr "Si el metabase falla al arrencar, si us plau, afegiu-ho i torneu-ho a intentar."
+
+#: src/metabase/db.clj
+msgid "See https://github.com/metabase/metabase/issues/8908 for more details."
+msgstr "Consulteu https://github.com/metabase/metabase/issues/8908 per més detalls."
+
+#: src/metabase/db.clj
+msgid "WARNING: Using Metabase with an H2 application database is not recomended for production deployments."
+msgstr "AVÍS: L'us del metabase amb una base de dades H2 no es recomana per entorns de producció."
+
+#: src/metabase/db.clj
+msgid "For production deployments, we highly recommend using Postgres, MySQL, or MariaDB instead."
+msgstr "Pels entorns de producció recomanem utilitzar Postgres, MySQL o MariaDB:"
+
+#: src/metabase/db.clj
+msgid "If you decide to continue to use H2, please be sure to back up the database file regularly."
+msgstr "Si decideixes seguir utilitzant H2, asegura't de fer una copia del arxiu de base de dades amb regularitat"
+
+#: src/metabase/db.clj
+msgid "See https://metabase.com/docs/latest/operations-guide/start.html#migrating-from-using-the-h2-database-to-mysql-or-postgres for more information."
+msgstr "Per més informació consulta: https://metabase.com/docs/latest/operations-guide/start.html#migrating-from-using-the-h2-database-to-mysql-or-postgres."
+
+#: src/metabase/db.clj
+msgid "Unable to connect to Metabase {0} DB."
+msgstr "No s'ha pogut connectar a la base de dades {0} del Metabase."
+
+#: src/metabase/db/migrations.clj
+msgid "Error adding legacy SQL directive to BigQuery saved Question"
+msgstr "Error al agregar la directiva SQL a la pregunta guardada en BigQuery"
+
+#: src/metabase/driver.clj
+msgid "Failed to notify {0} Database {1} updated"
+msgstr "Error al notificar {0} base de dades {1} actualitzada"
+
+#: src/metabase/driver.clj
+msgid "Loading driver {0} {1}"
+msgstr "Carregant el controlador {0} {1}"
+
+#: src/metabase/driver.clj
+msgid "Load driver {0}"
+msgstr "Carrega el controlador {0}"
+
+#: src/metabase/driver.clj
+msgid "Driver not registered after loading: {0}"
+msgstr "El controlador {0} no s'ha registrat després de la càrrega."
+
+#: src/metabase/driver.clj
+msgid "Error: attempting to change {0} property `:abstract?` from {1} to {2}."
+msgstr "Error intentant cambiar la proipetat {0} `:abstract?` de {1} a {2}."
+
+#: src/metabase/driver.clj
+msgid "Registered abstract driver {0}"
+msgstr "Controlador abstracte {0} registrat"
+
+#: src/metabase/driver.clj
+msgid "Registered driver {0}"
+msgstr "Controlador {0} registrat"
+
+#: src/metabase/driver.clj
+msgid "(parents: {0})"
+msgstr "(superiors: {0})"
+
+#: src/metabase/driver.clj
+msgid "Initializing driver {0}..."
+msgstr "Inicialitzant controlador {0}"
+
+#: src/metabase/driver.clj
+msgid "Reason:"
+msgstr "Raó:"
+
+#: src/metabase/driver.clj
+msgid "Invalid driver feature: {0}"
+msgstr "Funcionalitat del controlador invàlida: {0}"
+
+#: src/metabase/driver/sql/query_processor.clj
+msgid "Invalid HoneySQL form:"
+msgstr "Formulari HoneySQL invàlid:"
+
+#: src/metabase/driver/sql_jdbc/connection.clj
+msgid "Closing connection pool for database {0} ..."
+msgstr "Tancant el pool de connexions de la base de dades {0}"
+
+#: src/metabase/driver/util.clj
+msgid "Error loading namespace"
+msgstr "Error carregant l'espai de noms"
+
+#: src/metabase/events.clj
+msgid "Starting events listener:"
+msgstr "Inicialitzant controlador d'esdeveniments:"
+
+#: src/metabase/events.clj
+msgid "Unexpected error listening on events"
+msgstr "Error no esperat escoltant esdeveniments:"
+
+#: src/metabase/events/sync_database.clj
+msgid "Error syncing Database {0}"
+msgstr "Error sincronitzant la base de dades {0}"
+
+#: src/metabase/events/sync_database.clj
+msgid "Failed to process sync-database event."
+msgstr "Error al processar l'esdeveniment de sincronització de la base de dades"
+
+#: src/metabase/mbql/util.clj
+msgid "Bad nested-query-level: query does not have a source query"
+msgstr "Nivell de consulta anidada incorrecte: la consulta no té una consulta d'origen"
+
+#: src/metabase/metabot/command.clj
+msgid "I don''t know how to `{0}`."
+msgstr "No se com `{0}`"
+
+#: src/metabase/metabot/command.clj
+msgid "Here''s what I can do: "
+msgstr "Això es el que puc fer: "
+
+#: src/metabase/metabot/slack.clj
+msgid "Error in Metabot command"
+msgstr "Error a la comanda de Metabot"
+
+#: src/metabase/metabot/websocket.clj
+msgid "Websocket associated with this Slack event is different from the websocket we're currently using."
+msgstr "El Websocket associat amb aquest esdeveniment Slack es diferent del Websocket que estem utilitzant actualment."
+
+#: src/metabase/models/field_values.clj
+msgid "FieldValues for Field {0} remain unchanged. Skipping..."
+msgstr "Els valors del camp {0} continuen sense canvis. Saltant...."
+
+#: src/metabase/models/interface.clj
+msgid "Unable to normalize:"
+msgstr "No s'ha pogut normalitzar: "
+
+#: src/metabase/models/params.clj
+msgid "Could not find matching Field ID for target:"
+msgstr "No s'ha trobat el ID del camp coincident pel destí: "
+
+#: src/metabase/plugins.clj
+msgid "Metabase does not have permissions to write to plugins directory {0}"
+msgstr "Metabase no te permisos per escriure al directori d'extensions {0}"
+
+#: src/metabase/plugins.clj
+msgid "Metabase cannot use the plugins directory {0}"
+msgstr "El Metabase no pot utilitzar el directori d'extensions {0}"
+
+#: src/metabase/plugins.clj
+msgid "Please make sure the directory exists and that Metabase has permission to write to it."
+msgstr "Asegura't de que el directori existeix i que el metabase té permisos per escriure-hi."
+
+#: src/metabase/plugins.clj
+msgid "You can change the directory Metabase uses for modules by setting the environment variable MB_PLUGINS_DIR."
+msgstr "Pots canviar el directori que utilitza el Metabase pels mòduls establint la variable d'entorn MB_PLUGINS_DIR."
+
+#: src/metabase/plugins.clj
+msgid "Falling back to a temporary directory for now."
+msgstr "Utilitzant un directori temporal pel moment"
+
+#: src/metabase/plugins.clj
+msgid "Metabase cannot write to temporary directory. Please set MB_PLUGINS_DIR to a writable directory and restart Metabase."
+msgstr "El Metabase no pot escriure al directori temporal. Estableix MB_PLUGINS_DIR amb un directori escrivible i reinicia el Metabase."
+
+#: src/metabase/plugins.clj
+msgid "spark-deps.jar is no longer needed by Metabase 1.0+. You can delete it from the plugins directory."
+msgstr "Metabase 1.0+ ja no necesita spark-deps.jar. El pots eliminar del directori d'extensions."
+
+#: src/metabase/plugins.clj
+msgid "Failied to initialize plugin {0}"
+msgstr "No s'ha pogut inicialitzar la extensió {0}"
+
+#: src/metabase/plugins.clj
+msgid "Loading plugins in {0}..."
+msgstr "Carregant extensions en {0} ..."
+
+#: src/metabase/plugins/classloader.clj
+msgid "Using Clojure base loader as shared context classloader: {0}"
+msgstr "Utilitzant el carregador base de Clojure com a carregador de contexts de clases compartits: {0}"
+
+#: src/metabase/plugins/classloader.clj
+msgid "Setting current thread context classloader to shared classloader {0}..."
+msgstr "Establint el fil actual com a carregador de classes de contexts compartits {0}..."
+
+#. it's important that we deref the promise again here instead of using the one we just created because it is
+#. possible thru a race condition that somebody else delivered the promise before we did; in that case,
+#. Clojure ignores subsequent calls to `deliver`. Dereffing the promise guarantees that we'll get the actual
+#. value of it rather than one that ends up getting discarded
+#: src/metabase/plugins/classloader.clj
+msgid "Setting current thread context classloader to NEWLY CREATED classloader {0}..."
+msgstr "Configurant el context actual pel NOU carregador de classes {0}..."
+
+#: src/metabase/plugins/classloader.clj
+msgid "Added URL {0} to classpath"
+msgstr "S'ha afegit la URL {0} al classpath"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugin {0} declares a dependency that Metabase does not understand: {1}"
+msgstr "La extensió {0} declara una dependència que el Metabase no entén: {1}"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Refer to the plugin manifest reference for a complete list of valid plugin dependencies:"
+msgstr "Consulta el manifest de la extensió per obtenir una llista complerta de les seves dependències vàlides:"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Metabase cannot initialize plugin {0} due to required dependencies."
+msgstr "Metabase no pot inicialitzar l'extensió {0} degut a que falten dependències"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Class not found: {0}"
+msgstr "No s'ha trobat la classe: {0}"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugin ''{0}'' depends on plugin ''{1}''"
+msgstr "La extensió \"{0}\" depèn de l'extensió \"{1}\""
+
+#: src/metabase/plugins/dependencies.clj
+msgid "{0} dependency {1} satisfied? {2}"
+msgstr "{0} dependència {1} satisfeta? {2}"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugins with unsatisfied deps: {0}"
+msgstr "Extensions amb dependències insatisfetes: {0}"
+
+#: src/metabase/plugins/files.clj
+msgid "Extract file {0} -> {1}"
+msgstr "Extreure el fitxer {0} -> {1}"
+
+#: src/metabase/plugins/files.clj
+msgid "Resource does not exist."
+msgstr "El recurs no existeix"
+
+#: src/metabase/plugins/init_steps.clj
+msgid "Loading plugin namespace {0}..."
+msgstr "Carregant el espai de noms de les extensions {0}..."
+
+#: src/metabase/plugins/initialize.clj
+msgid "Dependencies satisfied; these plugins will now be loaded: {0}"
+msgstr "Dependències satisfetes; ara es carregaran les extensions: {0}"
+
+#: src/metabase/plugins/jdbc_proxy.clj
+msgid "Registering JDBC proxy driver for {0}..."
+msgstr "Registrant el controlador proxy JDBC per {0} ..."
+
+#: src/metabase/plugins/jdbc_proxy.clj
+msgid "Deregistering original JDBC driver {0}..."
+msgstr "Desfent el registre del controlador JDBC original {0} ..."
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Default connection property {0} does not exist."
+msgstr "La propietat de connexió per defecte {0} no existeix."
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Invalid connection property {0}: not a string or map."
+msgstr "La propietat de connexió {0} és invàlida: no es una cadena o un mapa."
+
+#. ok, do the init steps listed in the plugin mainfest
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Load lazy loading driver {0}"
+msgstr "Carregant el controlador de càrrega mandrosa {0}"
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Cannot initialize plugin: missing required property `driver-name`"
+msgstr "No es pot inicialitzar l'extensió: falta la propietat obligatòria `driver-name`"
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Warning: plugin manifest for {0} does not include connection properties"
+msgstr "Avís: el manifest de l'extensió {0} no inclou les propietats de connexió."
+
+#. finally, register the Metabase driver
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Registering lazy loading driver {0}..."
+msgstr "Registrant el controlador de càrrega mandrosa {0} ..."
+
+#: src/metabase/pulse.clj
+msgid "Error running query for Card {0}"
+msgstr "Error al executar la consulta per la targeta {0}"
+
+#: src/metabase/pulse/render.clj
+msgid "Last week"
+msgstr "La setmana pasada"
+
+#: src/metabase/pulse/render.clj
+msgid "This week"
+msgstr "Aquesta setmana"
+
+#: src/metabase/pulse/render.clj
+msgid "Last month"
+msgstr "El mes pasat"
+
+#: src/metabase/pulse/render.clj
+msgid "This month"
+msgstr "Aquest mes"
+
+#: src/metabase/pulse/render.clj
+msgid "Last quarter"
+msgstr "El trimestre pasat"
+
+#: src/metabase/pulse/render.clj
+msgid "This quarter"
+msgstr "Aquest trimestre"
+
+#: src/metabase/pulse/render.clj
+msgid "Last year"
+msgstr "L'any passat"
+
+#: src/metabase/pulse/render.clj
+msgid "This year"
+msgstr "Aquest any"
+
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "*driver* is unbound."
+msgstr "*controlador* no consolidat"
+
+#: src/metabase/sync/sync_metadata/fields.clj
+msgid "Error syncing Fields for Table ''{0}''"
+msgstr "Error sincronitzant els camps de la taula \"{0}\""
+
+#: src/metabase/sync/sync_metadata/fields.clj
+msgid "Hash of {0} matches stored hash, skipping Fields sync"
+msgstr "El hash de {0} no coincideix amb el hash guardat, s'omet la sincronització dels camps."
+
+#: src/metabase/sync/sync_metadata/fields/common.clj
+msgid "Field"
+msgstr "Camp"
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Error checking if Fields {0} need to be created or reactivated"
+msgstr "Error al verificar si els camps {0} necessiten ser creats o reactivats"
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Marking Field ''{0}'' as inactive."
+msgstr "Marcant el camp \"{0}\" com inactiu"
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Error retiring {0}"
+msgstr "Erro retirant {0}"
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Database type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr "El tipus de la base de dades {0} ha canviat de \"{1}\" a \"{2}\""
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Base type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr "El tipus base de {0} ha canviat de \"{1}\" a \"{2}\""
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Special type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr "El tipus especial de {0} ha canviat de \"{1}\" a \"{2}\""
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Comment has been added for {0}."
+msgstr "S'ha afegit un comentari per {0}."
+
+#: src/metabase/task.clj
+msgid "Stopping Quartz Scheduler {0}"
+msgstr "Parant el programador de Quartz {0}"
+
+#: src/metabase/task.clj
+msgid "Starting Quartz Scheduler {0}"
+msgstr "Iniciant el programador de Quartz {0}"
+
+#: src/metabase/task.clj
+msgid "Error loading tasks namespace {0}"
+msgstr "Error carregant el espai de noms de les tasques {0}"
+
+#. don't bother logging namespace for now, maybe in the future if there's tasks of the same name in multiple
+#. namespaces we can log it
+#: src/metabase/task.clj
+msgid "Initializing task {0}"
+msgstr "Iniciant la tasca {0}"
+
+#: src/metabase/task.clj
+msgid "Error initializing task {0}"
+msgstr "Error iniciant la tasca {0}"
+
+#: src/metabase/task/follow_up_emails.clj
+msgid "Problem sending abandonment email"
+msgstr "Problema enviant el correu electrònic d'abandonament"
+
+#: src/metabase/task/send_anonymous_stats.clj
+msgid "Sending anonymous usage stats."
+msgstr "Enviant estadístiques d'us anònimes"
+
+#: src/metabase/task/send_anonymous_stats.clj
+msgid "Error sending anonymous usage stats"
+msgstr "Error enviant estadístiques d'us anònimes"
+
+#: src/metabase/task/send_pulses.clj
+msgid "Error sending Pulse {0}"
+msgstr "Error enviant el pols {0}"
+
+#: src/metabase/task/send_pulses.clj
+msgid "Sending scheduled pulses..."
+msgstr "Enviat polsos programats...."
+
+#: src/metabase/task/send_pulses.clj
+msgid "SendPulses task failed"
+msgstr "La tasca Enviar Polsos ha fallat"
+
+#: src/metabase/task/sync_databases.clj
+msgid "Failed to scheduler tasks for Database {0}"
+msgstr "No s'ha pogut programar les tasques per la base de dades {0}"
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Cleaning up task history"
+msgstr "Netejant l'historial de tasques"
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Task history cleanup successful, rows were deleted"
+msgstr "La neteja del historial de tasques s'ha completat correctament. Les files han estat eliminades."
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Task history cleanup successful, no rows were deleted"
+msgstr "La neteja del historial de tasques no s'ha completat correctament. No s'ha eliminat cap fila."
+
+#: src/metabase/task/upgrade_checks.clj
+msgid "Checking for new Metabase version info."
+msgstr "Buscant informació sobre la nova versió del Metabase."
+
+#: src/metabase/task/upgrade_checks.clj
+msgid "Error fetching version info"
+msgstr "Error obtenint la informació de la versió."
+
+#: src/metabase/util.clj
+msgid "Maximum memory available to JVM: {0}"
+msgstr "Memòria màxima disponible pel JVM: {0}"
+
+#: src/metabase/util.clj
+msgid "Not something with an ID: {0}"
+msgstr "No es alguna cosa amb un ID: {0}"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by month of the year"
+msgstr "[[CreateDate]] per més del any"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Here's a quick look at your [[this]]"
+msgstr "Aquí hi ha una vista ràpida al teu [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by hour of the day"
+msgstr "[[CreateTimestamp]] per hora del día"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Where you've acquired your users"
+msgstr "D'on s'ha adquirit aquests usuaris"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How it's distributed across time and other categories."
+msgstr "Com es distribueix a través del temps i altres categories"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Here's a closer look at your [[this]] per source"
+msgstr "Aquí hi ha una vista amb més detall del teu [[this]] per orígen"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "Here's a quick look at the [[this]]"
+msgstr "Una vista ràpida de [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by day of the month"
+msgstr "[[CreateTimestamp]] per dia del més"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Here's an overview of the people in your [[this]]"
+msgstr "Un resum de les persones del teu [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by quarter of the year"
+msgstr "[[CreateTimestamp]] per trimestre del año"
+
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How they compare across location"
+msgstr "Com es comparen en diferents ubicaions"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "Here's a closer look at your [[this]] by products"
+msgstr "Aquí hi ha una vista amb més detall del teu [[this]] per productes"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by month of the year"
+msgstr "[[CreateTimestamp]] per mes del any"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "An overview of your [[this]] and how it's distributed across time, place, and categories."
+msgstr "Una visió general del teu [[this]], com es distribueix en el temps, lloc i categories"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/question/GenericQuestion.yaml
+msgid "Here's a closer look at your [[this]]"
+msgstr "Aquí una vista amb més detall del teu [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by day of the week"
+msgstr "[[CreateTimestamp]] per dia de la setmana"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Here's an overview of your [[this]] data from Google Analytics"
+msgstr "Aquí una descripció general de les teves dades [[this]] de Google Analytics"
+
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+#: resources/automagic_dashboards/comparison/State.yaml
+#: resources/automagic_dashboards/comparison/FK.yaml
+#: resources/automagic_dashboards/comparison/Country.yaml
+#: resources/automagic_dashboards/comparison/GenericField.yaml
+msgid "Here's an overview of your [[this]]"
+msgstr "Una visió general del teu [[this]]"
+
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "Here's a closer look at your [[this]] field"
+msgstr "Una vista amb més detall del camp [[this]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Here's a closer look at your [[this]] per country"
+msgstr "Una vista amb més detall del [[this]] per país"
+
+#: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
+msgid "If you're into correlations, this is the x-ray for you."
+msgstr "Si t'interessen les correlacions, aquest raig-X es per tu."
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by day of the week"
+msgstr "[[CreateDate]] per dia de la setmana"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "It looks like your [[this]] has transactions, so here's a look at them"
+msgstr "Sembla que el teu [[this]] tingui transaccions, així que a continuació en pots trobar el detall."
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Here's a closer look at your [[this]] per state"
+msgstr "Una vista amb més detall del teu [[this]] per estat."
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by day of the month"
+msgstr "[[CreaterDate]] per dia del mes."
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTime]] by hour of the day"
+msgstr "[[CreaterTime]] per hora del dia"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Here's a closer look at your [[this]] over time"
+msgstr "Una mirada amb més detall del teu [[this]] al llarg del temps"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by quarter of the year"
+msgstr "[[CreateDate]] per trimestre del any"
+
+#: frontend/src/metabase/admin/people/containers/EditUserModal.jsx:12
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:200
+msgid "Edit user"
+msgstr "Editar usuari"
+
+#: frontend/src/metabase/admin/people/containers/NewUserModal.jsx:13
+msgid "New user"
+msgstr "Nou usuari"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:204
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:69
+msgid "Reset password"
+msgstr "Restablir contrasenya"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:209
+msgid "Deactivate user"
+msgstr "Desactivar usuari"
+
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:47
+msgid "Reactivate {0}?"
+msgstr "Reactivar {0}?"
+
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:63
+msgid "We couldn’t send them an email invitation, so make sure to tell them to log in using {0} and this password we’ve generated for them:"
+msgstr "No s'ha pogut enviar la invitació per correu electrònic. Asegura't de dir-los-hi que el seu nom d'usuari es {0} i que facin servir la contrasenya temporal que em generat per ells:"
+
+#: frontend/src/metabase/entities/collections.js:21
+msgid "collection"
+msgstr "col·lecció"
+
+#: frontend/src/metabase/entities/collections.js:22
+msgid "collections"
+msgstr "col·leccions"
+
+#: frontend/src/metabase/entities/dashboards.js:29
+msgid "dashboard"
+msgstr "quadre de comandament"
+
+#: frontend/src/metabase/entities/dashboards.js:30
+msgid "dashboards"
+msgstr "quadres de comandament"
+
+#: frontend/src/metabase/entities/users.js:125
+msgid "First name is required"
+msgstr "El nom es obligatori"
+
+#: frontend/src/metabase/entities/users.js:126
+#: frontend/src/metabase/entities/users.js:133
+msgid "Must be 100 characters or less"
+msgstr "Ha de tenir 100 caràcters com a màxim"
+
+#: frontend/src/metabase/entities/users.js:132
+msgid "Last name is required"
+msgstr "El cognom es obligatori"
+
+#: frontend/src/metabase/entities/users.js:138
+msgid "Email is required"
+msgstr "El correu electrònic es obligatori"
+
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:90
+msgid "Items you archive will appear here."
+msgstr "Els ítems que arxivis es mostraran aquí"
+
+#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:16
+msgid "No description"
+msgstr "Sense descripció"
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:175
+msgid "Sum of all values"
+msgstr "Suma de tots els valors"
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:183
+msgid "See all distinct values"
+msgstr "Mostra tots els valors diferents"
+
+#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:12
+msgid "Browse the contents of your databases, tables, and columns. Pick a database to get started"
+msgstr "Explora el contingut de les teves bases de dades, taules i columnes. Selecciona una base de dades per començar."
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is VALID. Thanks!"
+msgstr "Les metadades del resultats de targetes que s'han enviat a la API son vàlids. Gràcies"
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is INVALID. Running query to fetch correct metadata."
+msgstr "Les metadades del resultats de targetes que s'han enviat a la API son invàlids. Executant la consulta per obtenir les metadades correctes."
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is  ISSING. Running query to fetch correct metadata."
+msgstr "Les metadades del resultats de targetes que s'han enviat a la API no estan disponibles. Executant la consulta per obtenir les metadades correctes."
+
+#: src/metabase/api/email.clj
+msgid "{0} was autocorrected to {1}"
+msgstr "S'ha corregit de forma automàtica el valor {0} per {1}"
+
+#: src/metabase/api/metric.clj
+msgid "DELETE /api/metric/:id is deprecated. Instead, change its `archived` value via PUT /api/metric/:id."
+msgstr "DELETE /api/metric/:id està depreciat. En el seu lloc heu de canviar el valor de `archived` amb un PUT /api/metric/:id."
+
+#: src/metabase/api/segment.clj
+msgid "DELETE /api/segment/:id is deprecated. Instead, change its `archived` value via PUT /api/segment/:id."
+msgstr "DELETE /api/segment/:id està depreciat. En el seu lloc heu de canviar el valor de `archived` amb un PUT /api/segment/:id."
+
+#: src/metabase/api/user.clj
+msgid "Value of is_superuser must correspond to presence of Admin group ID in group_ids."
+msgstr "El valor de is_superuser s'ha de correspondre amb la presencia del ID del grup d'administració a group_ids."
+
+#: src/metabase/async/api_response.clj
+msgid "Unexpected error writing keepalive characters"
+msgstr "Error inesperat al escriure els caràcters de keepalive"
+
+#: src/metabase/async/api_response.clj
+msgid "Unexpected output in async API response"
+msgstr "Resposta inesperada de la API asíncrona."
+
+#: src/metabase/async/api_response.clj
+msgid "starting streaming response"
+msgstr "iniciant a la resposta per streaming"
+
+#: src/metabase/async/api_response.clj
+msgid "Output chan closed, canceling keepalive request."
+msgstr "Sortida tancada, s'ha cancel·lat la sol·licitud de keepalive"
+
+#: src/metabase/async/api_response.clj
+msgid "Async response finished, closing channels."
+msgstr "Resposta asíncrona finalitzada, tancant canals."
+
+#: src/metabase/async/api_response.clj
+msgid "No response after waiting {0}. Canceling request."
+msgstr "No hi ha resposta desprès d'esperar {0}. Cancel·lant la sol·licitud"
+
+#: src/metabase/async/api_response.clj
+msgid "Input channel unexpectedly closed."
+msgstr "S'ha tancat inesperadament el canal d'entrada."
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "f finished, permit will be returned"
+msgstr "f ha termina, es retornara un permís"
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "request canceled, permit will be returned"
+msgstr "Sol·licitud cancel·lada, es retornarà el permis"
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Unexpected error attempting to run function after obtaining permit"
+msgstr "Error inesperat al intentar executar la funció desprès d'obtenir el permis"
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Not running pending function call: output channel already closed."
+msgstr "No s'ha executat la crida de funció pendent: el canal de sortida ja està tancat."
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Current thread already has a permit for {0}, will not wait to acquire another"
+msgstr "El fil actual ja te un permís per {0}, no esperam a obtenir-n'he un."
+
+#: src/metabase/async/util.clj
+msgid "Output channel closed, will skip running {0}."
+msgstr "Canal de sortida tancat, no s'executarà {0}."
+
+#: src/metabase/async/util.clj
+msgid "Running {0} on separate thread..."
+msgstr "Executant {0} en un fil separat..."
+
+#: src/metabase/async/util.clj
+msgid "Caught error running {0}"
+msgstr "S'ha trobat un error executant {0}"
+
+#: src/metabase/async/util.clj
+msgid "Request canceled, canceling future"
+msgstr "Sol·licitud cancel·lada, es cancel·la el futur"
+
+#: src/metabase/driver/sql_jdbc/connection.clj
+msgid "Closing old connection pool for database {0} ..."
+msgstr "Tancant el grup de connexions antigues a la base de dades {0}..."
+
+#: src/metabase/metabot/command.clj
+msgid "Here''s your {0} most recent cards:"
+msgstr "Aquí estan les teves {0} targetes més recents"
+
+#: src/metabase/metabot/command.clj
+msgid "Could you be a little more specific, or use the ID? I found these cards with names that matched:"
+msgstr "Pots ser una mica més específic o utilitzar la identificació? He trobat aquestes targetes amb noms que coincideixen:"
+
+#: src/metabase/metabot/command.clj
+msgid "Card {0} not found."
+msgstr "No s'ha trobat la targeta {0}"
+
+#: src/metabase/middleware/exceptions.clj
+msgid "Exception in API call"
+msgstr "Excepció a la crida de la API"
+
+#: src/metabase/middleware/exceptions.clj
+msgid "Request canceled before finishing."
+msgstr "Sol·licitud cancel·lada abans d'acabar"
+
+#: src/metabase/middleware/json.clj
+msgid "Metabase only supports JSON requests."
+msgstr "El Metabase només suporta sol·licituds JSON."
+
+#: src/metabase/middleware/json.clj
+msgid "Make sure you set a 'Content-Type: application/json' header."
+msgstr "Asegura't d'establir la capçalera 'Content-Type: application/json'."
+
+#: src/metabase/middleware/misc.clj
+msgid "Setting Metabase site URL to {0}"
+msgstr "Establint la URL de Metabase a {0}"
+
+#: src/metabase/models/database.clj
+msgid "Error scheduling tasks for DB"
+msgstr "Error  programant les tasques de la Base de dades"
+
+#: src/metabase/models/database.clj
+msgid "Error unscheduling tasks for DB."
+msgstr "Error desprogramant les tasques de la Base de dades"
+
+#: src/metabase/models/database.clj
+msgid "{0} Database ''{1}'' sync/analyze schedules have changed!"
+msgstr "\"{1}\" temps de sincronització/anàlisis han canviat a {0}"
+
+#: src/metabase/models/database.clj
+msgid "Sync metadata was: ''{0}'' is now: ''{1}''"
+msgstr "Sincronització de metadades \"{0}\" ara és \"{1}\""
+
+#: src/metabase/models/database.clj
+msgid "Cache FieldValues was: ''{0}'', is now: ''{1}''"
+msgstr "El valor del camp en la memòria cau era \"{0}\", ara és \"{1}\""
+
+#: src/metabase/models/metric.clj
+msgid "You cannot update the creator_id of a Metric."
+msgstr "No es pot canviar l'usuari de creació d'una mètrica."
+
+#: src/metabase/models/permissions.clj
+msgid "MetaBot can only have Collection permissions."
+msgstr "El Metabot només pot tenir permisos de col·lecció"
+
+#: src/metabase/models/permissions.clj
+msgid "Failed to grant permissions"
+msgstr "No s'ha pogut establir els permisos"
+
+#: src/metabase/models/permissions.clj
+msgid "Changing permissions"
+msgstr "Canviant els permisos"
+
+#: src/metabase/models/permissions.clj
+msgid "FROM:"
+msgstr "DE:"
+
+#: src/metabase/models/permissions.clj
+msgid "TO:"
+msgstr "A:"
+
+#: src/metabase/models/segment.clj
+msgid "You cannot update the creator_id of a Segment."
+msgstr "No es pot canviar l'usuari de creació d'un segment."
+
+#: src/metabase/models/setting.clj
+msgid "Attempted to set Setting {0} to obfuscated value. Ignoring change."
+msgstr "S'ha intentat establir la configuració {0} en un valor ofuscat. Ignorant el canvi. "
+
+#: src/metabase/models/setting.clj
+msgid "Using value of env var {0}"
+msgstr "Utilitzant el valor de la variable d'entorn {0}"
+
+#: src/metabase/models/user.clj
+msgid "Adding User {0} to All Users permissions group..."
+msgstr "Afegint l'usuari {0} al grup de tots els usuaris..."
+
+#: src/metabase/models/user.clj
+msgid "Adding User {0} to Admin permissions group..."
+msgstr "Afegint l'usuari {0} al grup de permisos d'administració..."
+
+#: src/metabase/query_processor.clj
+msgid "Query failure"
+msgstr "La consulta ha fallat"
+
+#: src/metabase/query_processor/async.clj
+msgid "Maximum number of simultaneous queries to allow per connected Database."
+msgstr "Nombre màxim de consultes simultànies que es permeten per a cada base de dades."
+
+#: src/metabase/util.clj
+msgid "Timed out after {0} milliseconds."
+msgstr "Temps de finalització desprès de {0} mil·lisegons"
+
diff --git a/locales/de.po b/locales/de.po
index 233a7ce56ef6fcb1e47bd565963ff9f965c42937..c530efe686c7ebfd024f9480556ca7abe9b22f35 100644
--- a/locales/de.po
+++ b/locales/de.po
@@ -140,54 +140,51 @@ msgstr "in dieses Eingabefeld:"
 #: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:87
 #: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:93
 #: frontend/src/metabase/admin/people/components/AddRow.jsx:27
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:250
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:302
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:322
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:343
 #: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:49
 #: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:52
 #: frontend/src/metabase/admin/permissions/containers/CollectionPermissionsModal.jsx:58
-#: frontend/src/metabase/admin/permissions/selectors.js:156
-#: frontend/src/metabase/admin/permissions/selectors.js:166
-#: frontend/src/metabase/admin/permissions/selectors.js:181
-#: frontend/src/metabase/admin/permissions/selectors.js:220
+#: frontend/src/metabase/admin/permissions/selectors.js:160
+#: frontend/src/metabase/admin/permissions/selectors.js:170
+#: frontend/src/metabase/admin/permissions/selectors.js:185
+#: frontend/src/metabase/admin/permissions/selectors.js:224
 #: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:355
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:181
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:247
 #: frontend/src/metabase/components/ConfirmContent.jsx:18
 #: frontend/src/metabase/components/DeleteModalWithConfirm.jsx:72
 #: frontend/src/metabase/components/HeaderModal.jsx:49
-#: frontend/src/metabase/components/form/StandardForm.jsx:59
+#: frontend/src/metabase/components/form/StandardForm.jsx:61
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:196
 #: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:289
 #: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:162
 #: frontend/src/metabase/dashboard/components/RemoveFromDashboardModal.jsx:38
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:189
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:192
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:352
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:191
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:354
 #: frontend/src/metabase/query_builder/components/RunButton.jsx:24
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:83
 #: frontend/src/metabase/query_builder/containers/ArchiveQuestionModal.jsx:48
 #: frontend/src/metabase/reference/components/EditHeader.jsx:34
 #: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:52
-#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:219
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:259
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:461
 msgid "Cancel"
 msgstr "Abbrechen"
 
 #: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:88
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:123
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:121
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:132
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:461
 msgid "Delete"
 msgstr "Löschen"
 
 #: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:128
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:76
-#: frontend/src/metabase/admin/permissions/selectors.js:316
-#: frontend/src/metabase/admin/permissions/selectors.js:323
-#: frontend/src/metabase/admin/permissions/selectors.js:419
-#: frontend/src/metabase/admin/routes.jsx:43
-#: frontend/src/metabase/nav/containers/Navbar.jsx:215
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:74
+#: frontend/src/metabase/admin/permissions/selectors.js:320
+#: frontend/src/metabase/admin/permissions/selectors.js:327
+#: frontend/src/metabase/admin/permissions/selectors.js:423
+#: frontend/src/metabase/admin/routes.jsx:53
+#: frontend/src/metabase/nav/containers/Navbar.jsx:214
 #: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:18
 #: frontend/src/metabase/reference/databases/TableSidebar.jsx:21
 msgid "Databases"
@@ -208,11 +205,10 @@ msgstr "Planung"
 #: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:170
 #: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:78
 #: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:84
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:253
 #: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:26
 #: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:221
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:182
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:354
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:356
 #: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:47
 msgid "Save changes"
 msgstr "Änderungen speichern"
@@ -262,58 +258,58 @@ msgid "Scan triggered!"
 msgstr "Scan gestartet!"
 
 #: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:215
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:399
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:401
 msgid "Danger Zone"
 msgstr "Gefahrenzone"
 
 #: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:221
 #: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:224
 msgid "Discard saved field values"
-msgstr "Verwefen gespeicherter Werte"
+msgstr "Verwerfen gespeicherter Werte"
 
 #: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:239
 msgid "Remove this database"
 msgstr "Diese Datenbank löschen"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:75
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:73
 msgid "Add database"
 msgstr "Datenbank hinzufügen"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:87
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:85
 #: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:36
 #: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:36
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:468
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:122
 #: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:183
 #: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:91
 #: frontend/src/metabase/components/DatabaseDetailsForm.jsx:399
 #: frontend/src/metabase/containers/EntitySearch.jsx:26
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:218
-#: frontend/src/metabase/entities/collections.js:86
-#: frontend/src/metabase/entities/dashboards.js:96
+#: frontend/src/metabase/entities/collections.js:93
+#: frontend/src/metabase/entities/dashboards.js:145
 #: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:461
-#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:78
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:81
 msgid "Name"
 msgstr "Name"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:88
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:86
 msgid "Engine"
 msgstr "Maschine"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:117
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:115
 msgid "Deleting..."
 msgstr "Löschen..."
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:147
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:145
 msgid "Loading ..."
 msgstr "Laden..."
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:163
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:161
 msgid "Bring the sample dataset back"
 msgstr "Wiederherstellen der Beispieldaten"
 
 #: frontend/src/metabase/admin/databases/database.js:175
 msgid "Couldn't connect to the database. Please check the connection details."
-msgstr "Konnte keine Verbindugn zur Datenbank herstellen. Bitte prüfe die Verbindungsdaten."
+msgstr "Konnte keine Verbindung zur Datenbank herstellen. Bitte prüfe die Verbindungsdaten."
 
 #: frontend/src/metabase/admin/databases/database.js:383
 msgid "Successfully created!"
@@ -326,7 +322,7 @@ msgstr "Erfolgreich gespeichert!"
 #: frontend/src/metabase/admin/datamodel/components/ObjectActionSelect.jsx:44
 #: frontend/src/metabase/dashboard/components/DashCard.jsx:278
 #: frontend/src/metabase/parameters/components/ParameterWidget.jsx:177
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:209
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:197
 #: frontend/src/metabase/reference/components/EditButton.jsx:18
 msgid "Edit"
 msgstr "Bearbeiten"
@@ -440,7 +436,7 @@ msgstr "Zusatzinformationen"
 
 #: frontend/src/metabase/admin/datamodel/components/database/MetadataSchemaList.jsx:44
 msgid "Find a schema"
-msgstr "Schema Suchen"
+msgstr "Schema suchen"
 
 #: frontend/src/metabase/admin/datamodel/components/database/MetadataSchemaList.jsx:51
 msgid "{0} schema"
@@ -503,7 +499,7 @@ msgstr "Schemata"
 #: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:189
 #: frontend/src/metabase/reference/metrics/MetricList.jsx:56
 #: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:21
-#: frontend/src/metabase/routes.jsx:231
+#: frontend/src/metabase/routes.jsx:232
 msgid "Metrics"
 msgstr "Metrik"
 
@@ -522,7 +518,7 @@ msgid "Create metrics to add them to the View dropdown in the query builder"
 msgstr "Erstelle Metriken, um diese einer Liste in der Ansicht des Abfragengenerators hinzuzufügen"
 
 #: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:24
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:922
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:930
 #: frontend/src/metabase/reference/guide/BaseSidebar.jsx:33
 #: frontend/src/metabase/reference/segments/SegmentFieldSidebar.jsx:19
 #: frontend/src/metabase/reference/segments/SegmentList.jsx:56
@@ -564,7 +560,7 @@ msgstr "einige Änderungen vorgenommen"
 
 #: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:46
 #: frontend/src/metabase/home/components/Activity.jsx:80
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:343
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:332
 msgid "You"
 msgstr "Du"
 
@@ -695,7 +691,7 @@ msgstr "Wähle eine beliebige Tabelle aus, um ihr Schema anzuzeigen und Metadate
 
 #: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:37
 #: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:34
-#: frontend/src/metabase/entities/collections.js:89
+#: frontend/src/metabase/entities/collections.js:96
 msgid "Name is required"
 msgstr "Name ist erforderlich"
 
@@ -817,10 +813,10 @@ msgid "This will show up in the revision history for this segment to help everyo
 msgstr "Dies wird in der Revisionshistorie für dieses Segment angezeigt, damit sich jeder daran erinnern kann, warum sich die Dinge geändert haben"
 
 #: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:88
-#: frontend/src/metabase/admin/routes.jsx:91
+#: frontend/src/metabase/admin/routes.jsx:127
 #: frontend/src/metabase/admin/settings/containers/SettingsEditorApp.jsx:266
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:96
-#: frontend/src/metabase/nav/containers/Navbar.jsx:200
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:87
+#: frontend/src/metabase/nav/containers/Navbar.jsx:199
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorSidebar.jsx:99
 msgid "Settings"
 msgstr "Einstellungen"
@@ -834,31 +830,26 @@ msgid "Re-scan this table"
 msgstr "Diese Tabelle erneut scannen"
 
 #: frontend/src/metabase/admin/people/components/AddRow.jsx:34
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:194
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:253
 #: frontend/src/metabase/dashboard/components/DashCard.jsx:278
 msgid "Add"
 msgstr "Hinzufügen"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:80
 #: frontend/src/metabase/setup/components/UserStep.jsx:103
 #: frontend/src/metabase/user/components/UpdateUserDetails.jsx:67
 msgid "Not a valid formatted email address"
 msgstr "Keine gültige formatierte E-Mail-Adresse"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:135
 #: frontend/src/metabase/setup/components/UserStep.jsx:186
 #: frontend/src/metabase/user/components/UpdateUserDetails.jsx:100
 msgid "First name"
 msgstr "Vorname"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:156
 #: frontend/src/metabase/setup/components/UserStep.jsx:203
 #: frontend/src/metabase/user/components/UpdateUserDetails.jsx:117
 msgid "Last name"
 msgstr "Nachname"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:178
 #: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:77
 #: frontend/src/metabase/auth/containers/LoginApp.jsx:158
 #: frontend/src/metabase/components/NewsletterForm.jsx:94
@@ -866,13 +857,13 @@ msgstr "Nachname"
 #: frontend/src/metabase/setup/components/UserStep.jsx:222
 #: frontend/src/metabase/user/components/UpdateUserDetails.jsx:138
 msgid "Email address"
-msgstr "Email Adresse"
+msgstr "E-Mail-Adresse"
 
 #: frontend/src/metabase/admin/people/components/EditUserForm.jsx:202
 msgid "Permission Groups"
 msgstr "Berechtigungsgruppen"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:238
+#: frontend/src/metabase/components/form/widgets/FormGroupsWidget.jsx:75
 msgid "Make this user an admin"
 msgstr "Diesen Benutzer zum Administrator machen"
 
@@ -892,25 +883,25 @@ msgid "To make sure you don't get locked out of Metabase, there always has to be
 msgstr "Um sicherzustellen, dass du nicht aus Metabase ausgeschlossen wirst, muss es immer mindestens einen Benutzer in dieser Gruppe geben."
 
 #: frontend/src/metabase/admin/people/components/GroupDetail.jsx:177
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:219
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:218
 msgid "Members"
 msgstr "Mitglieder"
 
 #: frontend/src/metabase/admin/people/components/GroupDetail.jsx:177
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:470
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:124
 #: frontend/src/metabase/admin/settings/selectors.js:113
 #: frontend/src/metabase/lib/core.js:55
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:298
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:301
 msgid "Email"
-msgstr "Email"
+msgstr "E-Mail"
 
 #: frontend/src/metabase/admin/people/components/GroupDetail.jsx:203
 msgid "A group is only as good as its members."
-msgstr "Eine Gruppe ist nur so gut, wie seine Mitglieder."
+msgstr "Eine Gruppe ist nur so gut wie ihre Mitglieder."
 
 #: frontend/src/metabase/admin/people/components/GroupSummary.jsx:15
-#: frontend/src/metabase/admin/routes.jsx:38
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:50
+#: frontend/src/metabase/admin/routes.jsx:48
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:49
 msgid "Admin"
 msgstr "Administrator"
 
@@ -931,70 +922,70 @@ msgstr[1] "{0} andere Gruppen"
 msgid "Default"
 msgstr "Standard"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:40
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:39
 msgid "Something like \"Marketing\""
 msgstr "Etwas wie \"Marketing\""
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:59
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:58
 msgid "Remove this group?"
 msgstr "Gruppe löschen?"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:61
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:60
 msgid "Are you sure? All members of this group will lose any permissions settings they have based on this group.\n"
 "This can't be undone."
 msgstr "Bist du sicher? Alle Mitglieder dieser Gruppe verlieren alle Berechtigungseinstellungen, die auf dieser Gruppe basieren.\n"
 "Das kann nicht rückgängig gemacht werden."
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:72
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:71
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:42
 #: frontend/src/metabase/components/ConfirmContent.jsx:17
 msgid "Yes"
 msgstr "Ja"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:75
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:74
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:42
 msgid "No"
 msgstr "Nein"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:93
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:92
 msgid "Edit Name"
 msgstr "Name bearbeiten"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:96
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:95
 msgid "Remove Group"
 msgstr "Gruppe löschen"
 
 #: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:46
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:139
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:225
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:263
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:367
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:385
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:138
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:42
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:41
 #: frontend/src/metabase/components/HeaderModal.jsx:43
 #: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:282
-#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:106
-#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:298
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:194
+#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:107
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:327
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:193
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:96
-#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:225
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:265
 msgid "Done"
 msgstr "Fertig"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:219
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:218
 msgid "Group name"
 msgstr "Gruppenname"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:399
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:363
 #: frontend/src/metabase/admin/people/containers/AdminPeopleApp.jsx:25
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:477
-#: frontend/src/metabase/admin/routes.jsx:76
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:131
+#: frontend/src/metabase/admin/routes.jsx:88
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:154
 msgid "Groups"
 msgstr "Gruppen"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:400
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:364
 msgid "Create a group"
 msgstr "Gruppe erstellen"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:406
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:370
 msgid "You can use groups to control your users' access to your data. Put users in groups and then go to the Permissions section to control each group's access. The Administrators and All Users groups are special default groups that can't be removed."
 msgstr "Mit Hilfe von Gruppen kannst du den Zugriff deiner Benutzer auf ihre Daten steuern. Lege Benutzer in Gruppen an und gehe dann zum Abschnitt Berechtigungen, um den Zugriff jeder Gruppe zu steuern. Die Gruppen Administratoren und Alle Benutzer sind spezielle Standardgruppen, die nicht entfernt werden können."
 
@@ -1010,15 +1001,14 @@ msgstr "Einladung erneut senden"
 msgid "Reset Password"
 msgstr "Passwort zurücksetzen"
 
-#: frontend/src/metabase/admin/people/components/UserActionsSelect.jsx:97
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:304
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:40
 msgid "Deactivate"
 msgstr "Deaktivieren"
 
 #: frontend/src/metabase/admin/people/containers/AdminPeopleApp.jsx:24
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:435
-#: frontend/src/metabase/admin/routes.jsx:74
-#: frontend/src/metabase/nav/containers/Navbar.jsx:205
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:93
+#: frontend/src/metabase/admin/routes.jsx:84
+#: frontend/src/metabase/nav/containers/Navbar.jsx:204
 msgid "People"
 msgstr "Mitglieder"
 
@@ -1030,8 +1020,7 @@ msgstr "Was möchtest du hinzufügen?"
 msgid "Edit {0}'s details"
 msgstr "Ändere {0}s Details"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:220
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:258
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:40
 msgid "{0} has been added"
 msgstr "{0} wurde hinzugefügt"
 
@@ -1046,11 +1035,11 @@ msgid "We couldn’t send them an email invitation,\n"
 "and this password we’ve generated for them:"
 msgstr "Wir konnten ihnen keine E-Mail-Einladung schicken, also stelle sicher, dass du ihnen mitgeteilt hast, sich mit {0} und diesem Passwort anzumelden:"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:242
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:73
 msgid "If you want to be able to send email invites, just go to the {0} page."
 msgstr "Wenn du Einladungen per E-Mail versenden möchtest, gehe einfach auf die Seite {0}."
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:268
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:55
 msgid "We’ve sent an invite to {0} with instructions to set their password."
 msgstr "Wir haben eine Einladung an {0} mit Anweisungen zum Setzen ihres Passworts geschickt."
 
@@ -1058,7 +1047,6 @@ msgstr "Wir haben eine Einladung an {0} mit Anweisungen zum Setzen ihres Passwor
 msgid "We've re-sent {0}'s invite"
 msgstr "Wir haben die Einladung von {0} erneut gesendet"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:285
 #: frontend/src/metabase/query_builder/components/SavedQuestionIntroModal.jsx:22
 #: frontend/src/metabase/tutorial/Tutorial.jsx:253
 msgid "Okay"
@@ -1068,11 +1056,11 @@ msgstr "In Ordnung"
 msgid "Any previous email invites they have will no longer work."
 msgstr "Alle früheren E-Mail-Einladungen funktionieren nicht mehr."
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:300
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:31
 msgid "Deactivate {0}?"
 msgstr "Deaktiviere {0}?"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:309
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:34
 msgid "{0} won't be able to log in anymore."
 msgstr "{0} wird sich nicht mehr anmelden können."
 
@@ -1080,35 +1068,33 @@ msgstr "{0} wird sich nicht mehr anmelden können."
 msgid "Reactivate {0}'s account?"
 msgstr "{0}s Benutzerkonto reaktivieren?"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:326
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:58
 msgid "Reactivate"
 msgstr "Reaktiviere"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:330
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:51
 msgid "They'll be able to log in again, and they'll be placed back into the groups they were in before their account was deactivated."
 msgstr "Sie können sich wieder einloggen und starten mit den Gruppen, in denen sie vor der Deaktivierung ihres Kontos waren."
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:341
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:51
 msgid "Reset {0}'s password?"
 msgstr "{0}s Passwort zurücksetzen?"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:347
-#: frontend/src/metabase/components/form/StandardForm.jsx:75
+#: frontend/src/metabase/components/form/StandardForm.jsx:77
 msgid "Reset"
 msgstr "Zurücksetzen"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:351
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:54
 #: frontend/src/metabase/components/ConfirmContent.jsx:13
 #: frontend/src/metabase/dashboard/components/ArchiveDashboardModal.jsx:44
 msgid "Are you sure you want to do this?"
 msgstr "Bist du sicher, dass du es tun möchtest?"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:362
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:384
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:41
 msgid "{0}'s password has been reset"
 msgstr "{0}s Passwort wurde zurückgesetzt"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:371
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:45
 msgid "Here’s a temporary password they can use to log in and then change their password."
 msgstr "Hier ist ein temporäres Passwort, mit dem sie sich einloggen und dann ihr Passwort ändern können."
 
@@ -1116,41 +1102,40 @@ msgstr "Hier ist ein temporäres Passwort, mit dem sie sich einloggen und dann i
 msgid "We've sent them an email with instructions for creating a new password."
 msgstr "Wir haben ihnen eine E-Mail mit Anweisungen zum Erstellen eines neuen Passworts geschickt."
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:443
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:101
 msgid "Active"
 msgstr "Aktivieren"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:444
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:473
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:102
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:127
 msgid "Deactivated"
 msgstr "Deaktivieren"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:459
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:115
 msgid "Add someone"
 msgstr "Jemanden hinzufügen"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:478
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:132
 msgid "Last Login"
 msgstr "Letzte Anmeldung"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:501
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:153
 msgid "Signed up via Google"
 msgstr "Anmeldung über Google"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:506
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:158
 msgid "Signed up via LDAP"
 msgstr "Anmeldung über LDAP"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:518
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:170
 msgid "Reactivate this account"
 msgstr "Reaktivieren des Accounts"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:545
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:193
 msgid "Never"
 msgstr "Nie"
 
 #: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:27
-#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:24
 #: src/metabase/automagic_dashboards/core.clj
 msgid "{0} table"
 msgid_plural "{0} tables"
@@ -1186,7 +1171,7 @@ msgid " native queries for "
 msgstr " native Abfragen für "
 
 #: frontend/src/metabase/admin/permissions/routes.jsx:12
-#: frontend/src/metabase/nav/containers/Navbar.jsx:220
+#: frontend/src/metabase/nav/containers/Navbar.jsx:219
 msgid "Permissions"
 msgstr "Berechtigungen"
 
@@ -1217,141 +1202,141 @@ msgstr "Berechtigungen dieser Sammlung"
 
 #: frontend/src/metabase/admin/permissions/containers/PermissionsApp.jsx:53
 msgid "You have unsaved changes"
-msgstr "Du hast ungespeicherte änderungen"
+msgstr "Du hast ungespeicherte Änderungen"
 
 #: frontend/src/metabase/admin/permissions/containers/PermissionsApp.jsx:54
 msgid "Do you want to leave this page and discard your changes?"
 msgstr "Möchtest du die Änderungen verwerfen und die Seite verlassen?"
 
-#: frontend/src/metabase/admin/permissions/permissions.js:137
+#: frontend/src/metabase/admin/permissions/permissions.js:126
 msgid "Sorry, an error occurred."
 msgstr "Es tut mir leid, es ist ein Fehler unterlaufen."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:59
+#: frontend/src/metabase/admin/permissions/selectors.js:65
 msgid "Administrators always have the highest level of access to everything in Metabase."
 msgstr "Administratoren haben stets die höchsten Zugriffsrechte auf alles in Metabase."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:61
+#: frontend/src/metabase/admin/permissions/selectors.js:67
 msgid "Every Metabase user belongs to the All Users group. If you want to limit or restrict a group's access to something, make sure the All Users group has an equal or lower level of access."
 msgstr "Jeder Benutzer von Metabase gehört zur Gruppe \"Alle Benutzer\". Wenn du den Zugriff einer Gruppe auf etwas beschränken oder einschränken möchtest, stelle sicher, dass die Gruppe \"Alle Benutzer\" eine gleiche oder niedrigere Zugriffsebene hat."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:63
+#: frontend/src/metabase/admin/permissions/selectors.js:69
 msgid "MetaBot is Metabase's Slack bot. You can choose what it has access to here."
 msgstr "MetaBot ist der Slack-Bot von Metabase. Du kannst hier auswählen, auf was er Zugriff hat."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:115
+#: frontend/src/metabase/admin/permissions/selectors.js:119
 msgid "The \"{0}\" group may have access to a different set of {1} than this group, which may give this group additional access to some {2}."
 msgstr "Die Gruppe \"{0}\" hat anderen Zugriff auf {1} als diese Gruppe, was dieser Gruppe somit weiteren Zugriff auf {2} gibt."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:120
+#: frontend/src/metabase/admin/permissions/selectors.js:124
 msgid "The \"{0}\" group has a higher level of access than this, which will override this setting. You should limit or revoke the \"{1}\" group's access to this item."
-msgstr "Die Gruppe \"{0}\" hat höheren Zugriff als diese, was widerrum ein Überschreiben dieser Einstellung mit sich bringt. Du solltest den Zugriff der Gruppe \"{1}\" auf das Element beschränken oder revidieren."
+msgstr "Die Gruppe \"{0}\" hat höheren Zugriff als diese, was wiederum ein Überschreiben dieser Einstellung mit sich bringt. Du solltest den Zugriff der Gruppe \"{1}\" auf das Element beschränken oder revidieren."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:150
+#: frontend/src/metabase/admin/permissions/selectors.js:154
 msgid "Limit"
 msgstr "Begrenzung"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:150
+#: frontend/src/metabase/admin/permissions/selectors.js:154
 msgid "Revoke"
 msgstr "Widerrufen"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:152
+#: frontend/src/metabase/admin/permissions/selectors.js:156
 msgid "access even though \"{0}\" has greater access?"
 msgstr "Zugriff, obwohl \"{0}\" einen größeren Zugriff hat?"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:155
-#: frontend/src/metabase/admin/permissions/selectors.js:254
+#: frontend/src/metabase/admin/permissions/selectors.js:159
+#: frontend/src/metabase/admin/permissions/selectors.js:258
 msgid "Limit access"
 msgstr "Zugriff beschränken"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:155
-#: frontend/src/metabase/admin/permissions/selectors.js:219
-#: frontend/src/metabase/admin/permissions/selectors.js:262
+#: frontend/src/metabase/admin/permissions/selectors.js:159
+#: frontend/src/metabase/admin/permissions/selectors.js:223
+#: frontend/src/metabase/admin/permissions/selectors.js:266
 msgid "Revoke access"
 msgstr "Zugriff widerrufen"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:164
+#: frontend/src/metabase/admin/permissions/selectors.js:168
 msgid "Change access to this database to limited?"
 msgstr "Soll der Zugriff dieser Datenbank auf beschränkt geändert werden?"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:165
+#: frontend/src/metabase/admin/permissions/selectors.js:169
 msgid "Change"
 msgstr "Änderung"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:178
+#: frontend/src/metabase/admin/permissions/selectors.js:182
 msgid "Allow Raw Query Writing?"
 msgstr "Schreiben von SQL-Abfragen zulassen?"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:179
+#: frontend/src/metabase/admin/permissions/selectors.js:183
 msgid "This will also change this group's data access to Unrestricted for this database."
 msgstr "Dadurch bekommt diese Gruppe unbeschränkten Zugriff auf die Datensätze dieser Datenbank."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:180
+#: frontend/src/metabase/admin/permissions/selectors.js:184
 msgid "Allow"
 msgstr "Erlauben"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:217
+#: frontend/src/metabase/admin/permissions/selectors.js:221
 msgid "Revoke access to all tables?"
 msgstr "Zugriff auf alle Tabellen widerrufen?"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:218
+#: frontend/src/metabase/admin/permissions/selectors.js:222
 msgid "This will also revoke this group's access to raw queries for this database."
 msgstr "Dadurch wird der Datenzugriff dieser Gruppe  auf die Datensätze der Datenbank widerrufen."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:247
+#: frontend/src/metabase/admin/permissions/selectors.js:251
 msgid "Grant unrestricted access"
 msgstr "Unbeschränkten Zugriff gewähren"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:248
+#: frontend/src/metabase/admin/permissions/selectors.js:252
 msgid "Unrestricted access"
 msgstr "Unbeschränkter Zugriff"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:255
+#: frontend/src/metabase/admin/permissions/selectors.js:259
 msgid "Limited access"
 msgstr "Eingeschränkter Zugriff"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:263
+#: frontend/src/metabase/admin/permissions/selectors.js:267
 msgid "No access"
 msgstr "Kein Zugriff"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:269
+#: frontend/src/metabase/admin/permissions/selectors.js:273
 msgid "Write raw queries"
 msgstr "Native Abfragen schreiben"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:270
+#: frontend/src/metabase/admin/permissions/selectors.js:274
 msgid "Can write raw queries"
 msgstr "Kann native Abfragen schreiben"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:277
+#: frontend/src/metabase/admin/permissions/selectors.js:281
 msgid "Curate collection"
 msgstr "Sammlung organisieren"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:284
+#: frontend/src/metabase/admin/permissions/selectors.js:288
 msgid "View collection"
 msgstr "Sammlung ansehen"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:327
-#: frontend/src/metabase/admin/permissions/selectors.js:423
-#: frontend/src/metabase/admin/permissions/selectors.js:520
+#: frontend/src/metabase/admin/permissions/selectors.js:331
+#: frontend/src/metabase/admin/permissions/selectors.js:427
+#: frontend/src/metabase/admin/permissions/selectors.js:524
 msgid "Data Access"
 msgstr "Datenzugriff"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:488
-#: frontend/src/metabase/admin/permissions/selectors.js:645
-#: frontend/src/metabase/admin/permissions/selectors.js:650
+#: frontend/src/metabase/admin/permissions/selectors.js:492
+#: frontend/src/metabase/admin/permissions/selectors.js:649
+#: frontend/src/metabase/admin/permissions/selectors.js:654
 msgid "View tables"
 msgstr "Tabellen ansehen"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:586
+#: frontend/src/metabase/admin/permissions/selectors.js:590
 msgid "SQL Queries"
 msgstr "SQL Queries"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:656
+#: frontend/src/metabase/admin/permissions/selectors.js:660
 msgid "View schemas"
 msgstr "Schemas ansehen"
 
-#: frontend/src/metabase/admin/routes.jsx:49
-#: frontend/src/metabase/nav/containers/Navbar.jsx:210
+#: frontend/src/metabase/admin/routes.jsx:59
+#: frontend/src/metabase/nav/containers/Navbar.jsx:209
 msgid "Data Model"
 msgstr "Datenmodell"
 
@@ -1363,7 +1348,7 @@ msgstr "Anmeldung über Google"
 #: frontend/src/metabase/admin/settings/components/SettingsAuthenticationOptions.jsx:13
 #: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:120
 msgid "Allows users with existing Metabase accounts to login with a Google account that matches their email address in addition to their Metabase username and password."
-msgstr "Ermöglicht es bestehenden Benutzerkonten, sich, neben ihren Metabase Benutzernamen udn Passwort, mit einem Google-Konto anzumelden, ihrer E-Mail-Adresse entspricht."
+msgstr "Ermöglicht es bestehenden Benutzerkonten, sich, neben ihren Metabase Benutzernamen und Passwort, mit einem Google-Konto anzumelden, das ihrer E-Mail-Adresse entspricht."
 
 #: frontend/src/metabase/admin/settings/components/SettingsAuthenticationOptions.jsx:17
 #: frontend/src/metabase/admin/settings/components/SettingsAuthenticationOptions.jsx:29
@@ -1385,7 +1370,7 @@ msgstr "Ermöglicht Benutzern innerhalb deines LDAP-Verzeichnisses, sich mit ihr
 #: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:69
 #: frontend/src/metabase/admin/settings/selectors.js:160
 msgid "That's not a valid email address"
-msgstr "Dies ist keine valide Email-Adresse"
+msgstr "Dies ist keine valide E-Mail-Adresse"
 
 #: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:21
 #: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:73
@@ -1405,7 +1390,7 @@ msgstr "Sieht so aus, als wären wir auf ein paar Probleme gestoßen"
 
 #: frontend/src/metabase/admin/settings/components/SettingsEmailForm.jsx:12
 msgid "Send test email"
-msgstr "Test Email senden"
+msgstr "Test-E-Mail senden"
 
 #: frontend/src/metabase/admin/settings/components/SettingsEmailForm.jsx:13
 msgid "Sending..."
@@ -1471,7 +1456,7 @@ msgstr "Deine Google client ID"
 
 #: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:142
 msgid "Allow users to sign up on their own if their Google account email address is from:"
-msgstr "Erlaube Benutzern sich selbst zu registrieren, wenn deren Google Account von folgender Email-Adresse stammt:"
+msgstr "Erlaube Benutzern sich selbst zu registrieren, wenn deren Google Account von folgender E-Mail-Adresse stammt:"
 
 #: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:242
 msgid "Answers sent right to your Slack #channels"
@@ -1494,7 +1479,7 @@ msgid "Metabase {0} is available.  You're running {1}"
 msgstr "Metabase {0} ist verfügbar. Du verwendest Version {1}"
 
 #: frontend/src/metabase/admin/settings/components/SettingsUpdatesForm.jsx:112
-#: frontend/src/metabase/components/form/StandardForm.jsx:67
+#: frontend/src/metabase/components/form/StandardForm.jsx:69
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:96
 msgid "Update"
 msgstr "Update"
@@ -1747,7 +1732,7 @@ msgstr "Site URL"
 
 #: frontend/src/metabase/admin/settings/selectors.js:43
 msgid "Email Address for Help Requests"
-msgstr "Email-Adresse für Hilfeanfragen"
+msgstr "E-Mail-Adresse für Hilfeanfragen"
 
 #: frontend/src/metabase/admin/settings/selectors.js:48
 msgid "Report Timezone"
@@ -1878,7 +1863,7 @@ msgstr "Überprüfe deine Klammern"
 
 #: frontend/src/metabase/admin/settings/selectors.js:270
 msgid "Email attribute"
-msgstr "Email-Attribute"
+msgstr "E-Mail-Attribute"
 
 #: frontend/src/metabase/admin/settings/selectors.js:275
 msgid "First name attribute"
@@ -1986,7 +1971,7 @@ msgstr "Dein Alarm wurde erfolgreich gelöscht."
 
 #: frontend/src/metabase/auth/auth.js:33
 msgid "Please enter a valid formatted email address."
-msgstr "Gib bitte eine valide Email-Adresse an."
+msgstr "Gib bitte eine valide E-Mail-Adresse an."
 
 #: frontend/src/metabase/auth/auth.js:116
 #: frontend/src/metabase/setup/components/UserStep.jsx:110
@@ -2020,15 +2005,15 @@ msgstr "Passwort vergessen"
 
 #: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:84
 msgid "The email you use for your Metabase account"
-msgstr "Deine Email für das Metabase-Konto"
+msgstr "Deine E-Mail-Adresse für das Metabase-Konto"
 
 #: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:99
 msgid "Send password reset email"
-msgstr "Sende Email zur Kennwortzurücksetzung"
+msgstr "Sende E-Mail zur Kennwortzurücksetzung"
 
 #: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:110
 msgid "Check your email for instructions on how to reset your password."
-msgstr "Prüfe deine Emails, um weitere Informationen zur Kennwortzurücksetzung zu erhalten."
+msgstr "Prüfe deine E-Mails, um weitere Informationen zur Kennwortzurücksetzung zu erhalten."
 
 #: frontend/src/metabase/auth/containers/LoginApp.jsx:128
 msgid "Sign in to Metabase"
@@ -2040,7 +2025,7 @@ msgstr "Oder"
 
 #: frontend/src/metabase/auth/containers/LoginApp.jsx:157
 msgid "Username or email address"
-msgstr "Benutzername oder Email-Adresse"
+msgstr "Benutzername oder E-Mail-Adresse"
 
 #: frontend/src/metabase/auth/containers/LoginApp.jsx:217
 msgid "Sign in"
@@ -2052,7 +2037,7 @@ msgstr "Ich habe mein Passwort vermeintlich vergessen"
 
 #: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:102
 msgid "request a new reset email"
-msgstr "benatrage eine neue Email zur Kennwortzurücksetzung"
+msgstr "beantrage eine neue E-Mail zur Kennwortzurücksetzung"
 
 #: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:120
 msgid "Whoops, that's an expired link"
@@ -2061,7 +2046,7 @@ msgstr "Ups, das ist ein abgelaufener Link"
 #: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:122
 msgid "For security reasons, password reset links expire after a little while. If you still need\n"
 "to reset your password, you can {0}."
-msgstr "Aus Sicherheitsgründen laufen Emails zur Kennwortzurücksetzung nach einer gewissen Weile ab. Solltest du dein Passwort weiterhin zurücksetzen wollen, kannst du {0}."
+msgstr "Aus Sicherheitsgründen laufen E-Mails zur Kennwortzurücksetzung nach einer gewissen Weile ab. Solltest du dein Passwort weiterhin zurücksetzen wollen, kannst du {0}."
 
 #: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:147
 #: frontend/src/metabase/user/components/SetUserPassword.jsx:126
@@ -2089,7 +2074,7 @@ msgstr "Bestätige neues Passwort"
 #: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:191
 #: frontend/src/metabase/user/components/SetUserPassword.jsx:159
 msgid "Make sure it matches the one you just entered"
-msgstr "Stelle sicher, dass es dem bereits Eingebenen entspricht"
+msgstr "Stelle sicher, dass es dem bereits Eingegebenen entspricht"
 
 #: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:216
 msgid "Your password has been reset."
@@ -2121,20 +2106,19 @@ msgstr "Gespeichert"
 msgid "Ok"
 msgstr "Ok"
 
-#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:40
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:38
 msgid "Archive this collection?"
 msgstr "Möchtest du die Sammlung archivieren?"
 
-#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:45
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:43
 msgid "The dashboards, collections, and pulses in this collection will also be archived."
 msgstr "Alle Dashboards, Sammlungen und Pulses in dieser Sammlung werden auch archiviert."
 
-#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:49
-#: frontend/src/metabase/components/CollectionLanding.jsx:587
-#: frontend/src/metabase/components/EntityItem.jsx:54
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:47
+#: frontend/src/metabase/components/CollectionLanding.jsx:624
 #: frontend/src/metabase/components/EntityMenu.info.js:31
 #: frontend/src/metabase/components/EntityMenu.info.js:87
-#: frontend/src/metabase/home/containers/ArchiveApp.jsx:48
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:47
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:195
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:200
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:201
@@ -2148,28 +2132,28 @@ msgstr "Archiv"
 msgid "This {0} has been archived"
 msgstr "Dieses {0} wurde archiviert"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:679
+#: frontend/src/metabase/components/CollectionLanding.jsx:715
 msgid "View the archive"
 msgstr "Sieh dir das Archiv an"
 
-#: frontend/src/metabase/components/ArchivedItem.jsx:39
+#: frontend/src/metabase/components/ArchivedItem.jsx:43
 msgid "Unarchive this {0}"
 msgstr "Stelle Archiv {0} wieder her"
 
-#: frontend/src/metabase/components/BrowseApp.jsx:95
-#: frontend/src/metabase/components/BrowseApp.jsx:157
-#: frontend/src/metabase/components/BrowseApp.jsx:250
-#: frontend/src/metabase/containers/Overworld.jsx:224
+#: frontend/src/metabase/components/BrowseApp.jsx:70
+#: frontend/src/metabase/components/BrowseApp.jsx:132
+#: frontend/src/metabase/components/BrowseApp.jsx:225
+#: frontend/src/metabase/containers/Overworld.jsx:219
 msgid "Our data"
 msgstr "Unsere Daten"
 
-#: frontend/src/metabase/components/BrowseApp.jsx:194
+#: frontend/src/metabase/components/BrowseApp.jsx:169
 #: frontend/src/metabase/reference/databases/TableSidebar.jsx:55
 msgid "X-ray this table"
 msgstr "X-Ray für diese Tabelle"
 
-#: frontend/src/metabase/components/BrowseApp.jsx:208
-#: frontend/src/metabase/containers/Overworld.jsx:251
+#: frontend/src/metabase/components/BrowseApp.jsx:183
+#: frontend/src/metabase/containers/Overworld.jsx:246
 msgid "Learn about this table"
 msgstr "Lerne etwas über diese Tabelle"
 
@@ -2181,37 +2165,37 @@ msgstr "Klicke auf"
 
 #: frontend/src/metabase/components/ButtonWithStatus.jsx:9
 msgid "Saved!"
-msgstr "Gespeicher!"
+msgstr "Gespeichert!"
 
 #: frontend/src/metabase/components/ButtonWithStatus.jsx:10
 msgid "Saving failed."
 msgstr "Speichern fehlgeschlagen."
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Su"
 msgstr "So"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Mo"
 msgstr "Mo"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Tu"
 msgstr "Di"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "We"
 msgstr "Mi"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Th"
 msgstr "Do"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Fr"
 msgstr "Fr"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Sa"
 msgstr "Sa"
 
@@ -2244,74 +2228,73 @@ msgstr "Du kannst Sammlungen verwenden, um Dashboards, Fragen und Pulses für de
 msgid "Create another collection"
 msgstr "Erstelle eine andere Sammlung"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:61
+#: frontend/src/metabase/components/CollectionLanding.jsx:68
 msgid "Dashboards let you collect and share data in one place."
 msgstr "Mit Dashboards kannst du Daten an einem Ort sammeln und veröffentlichen."
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:70
+#: frontend/src/metabase/components/CollectionLanding.jsx:77
 msgid "Pulses let you send out the latest data to your team on a schedule via email or slack."
-msgstr "Mit Pulses kannst du die aktuellsten Daten zeitlich geplant an dein Team mittels Email oder über Slack senden."
+msgstr "Mit Pulses kannst du die aktuellsten Daten zeitlich geplant an dein Team mittels E-Mail oder über Slack senden."
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:79
+#: frontend/src/metabase/components/CollectionLanding.jsx:86
 msgid "Questions are a saved look at your data."
 msgstr "Fragen sind ein gespeichertes Abbild deiner Daten."
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:275
+#: frontend/src/metabase/components/CollectionLanding.jsx:287
 msgid "Pins"
 msgstr "Pins"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:329
+#: frontend/src/metabase/components/CollectionLanding.jsx:341
 msgid "Drag something here to pin it to the top"
 msgstr "Ziehe etwas hierher, um es oben anzupinnen"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:733
-#: frontend/src/metabase/components/CollectionLanding.jsx:341
+#: frontend/src/metabase/admin/permissions/selectors.js:737
+#: frontend/src/metabase/components/CollectionLanding.jsx:353
 #: frontend/src/metabase/home/containers/SearchApp.jsx:35
-#: frontend/src/metabase/home/containers/SearchApp.jsx:96
+#: frontend/src/metabase/home/containers/SearchApp.jsx:92
 msgid "Collections"
 msgstr "Sammlungen"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:411
-#: frontend/src/metabase/components/CollectionLanding.jsx:434
+#: frontend/src/metabase/components/CollectionLanding.jsx:432
+#: frontend/src/metabase/components/CollectionLanding.jsx:455
 msgid "Drag here to un-pin"
 msgstr "Ziehe es hierher, um es das Anpinnen zu entfernen"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:469
+#: frontend/src/metabase/components/CollectionLanding.jsx:490
 msgid "{0} item selected"
 msgid_plural "{0} items selected"
 msgstr[0] "{0} Element ausgewählt"
 msgstr[1] "{0} Elemente ausgewählt"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:487
+#: frontend/src/metabase/components/CollectionLanding.jsx:522
 msgid "Move {0} items?"
 msgstr "Bewege {0} Elemente?"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:488
+#: frontend/src/metabase/components/CollectionLanding.jsx:523
 msgid "Move \"{0}\"?"
 msgstr "Bewege \"{0}\"?"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:594
+#: frontend/src/metabase/components/CollectionLanding.jsx:631
 #: frontend/src/metabase/components/EntityMenu.info.js:29
 #: frontend/src/metabase/components/EntityMenu.info.js:85
-#: frontend/src/metabase/containers/CollectionMoveModal.jsx:78
+#: frontend/src/metabase/containers/CollectionMoveModal.jsx:69
 msgid "Move"
 msgstr "Verschieben"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:656
+#: frontend/src/metabase/components/CollectionLanding.jsx:692
 msgid "Edit this collection"
 msgstr "Ändere diese Sammlung"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:664
+#: frontend/src/metabase/components/CollectionLanding.jsx:700
 msgid "Archive this collection"
 msgstr "Archiviere diese Sammlung"
 
 #: frontend/src/metabase/components/CollectionList.jsx:64
-#: frontend/src/metabase/entities/collections.js:148
+#: frontend/src/metabase/entities/collections.js:155
 msgid "My personal collection"
 msgstr "Meine persönliche Sammlung"
 
 #: frontend/src/metabase/components/CollectionList.jsx:106
-#: frontend/src/metabase/containers/CollectionForm.jsx:9
 msgid "New collection"
 msgstr "Neue Sammlung"
 
@@ -2382,17 +2365,18 @@ msgstr "Wie würdest du gerne auf diese Datenbank referenzieren?"
 #: frontend/src/metabase/setup/components/PreferencesStep.jsx:116
 #: frontend/src/metabase/setup/components/UserStep.jsx:308
 msgid "Next"
-msgstr "Weiter"
+msgstr "Nächste"
 
+#: frontend/src/metabase/components/ArchivedItem.jsx:52
 #: frontend/src/metabase/components/DeleteModalWithConfirm.jsx:80
 msgid "Delete this {0}"
 msgstr "Lösche {0}"
 
-#: frontend/src/metabase/components/EntityItem.jsx:42
+#: frontend/src/metabase/components/EntityItem.jsx:43
 msgid "Pin this item"
 msgstr "Fixiere dieses Element"
 
-#: frontend/src/metabase/components/EntityItem.jsx:48
+#: frontend/src/metabase/components/EntityItem.jsx:49
 msgid "Move this item"
 msgstr "Bewege dieses Element"
 
@@ -2433,7 +2417,7 @@ msgstr "Zu Dashboard hinzufügen"
 #: frontend/src/metabase/components/EntityMenu.info.js:49
 #: frontend/src/metabase/components/EntityMenu.info.js:101
 msgid "Download results"
-msgstr "Ergebniss downloaden"
+msgstr "Ergebnis downloaden"
 
 #: frontend/src/metabase/components/EntityMenu.info.js:51
 #: frontend/src/metabase/components/EntityMenu.info.js:103
@@ -2490,7 +2474,7 @@ msgstr "Liste durchsuchen"
 
 #: frontend/src/metabase/components/FieldValuesWidget.jsx:238
 msgid "Search by {0}"
-msgstr "Such nach {0}"
+msgstr "Suche nach {0}"
 
 #: frontend/src/metabase/components/FieldValuesWidget.jsx:240
 msgid " or enter an ID"
@@ -2538,6 +2522,7 @@ msgid "No description yet"
 msgstr "Noch keine Beschreibung"
 
 #: frontend/src/metabase/components/Header.jsx:112
+#: frontend/src/metabase/entities/containers/EntityForm.jsx:43
 msgid "New {0}"
 msgstr "Neue {0}"
 
@@ -2601,22 +2586,22 @@ msgid "Everything"
 msgstr "Alles"
 
 #: frontend/src/metabase/components/ItemTypeFilterBar.jsx:18
-#: frontend/src/metabase/home/containers/SearchApp.jsx:73
+#: frontend/src/metabase/home/containers/SearchApp.jsx:69
 msgid "Dashboards"
 msgstr "Ãœbersicht"
 
 #: frontend/src/metabase/components/ItemTypeFilterBar.jsx:23
-#: frontend/src/metabase/home/containers/SearchApp.jsx:119
+#: frontend/src/metabase/home/containers/SearchApp.jsx:115
 msgid "Questions"
 msgstr "Fragen"
 
 #: frontend/src/metabase/components/ItemTypeFilterBar.jsx:28
-#: frontend/src/metabase/routes.jsx:320
+#: frontend/src/metabase/routes.jsx:321
 msgid "Pulses"
-msgstr "Impuse"
+msgstr "Pulses"
 
 #: frontend/src/metabase/components/LeftNavPane.jsx:36
-#: frontend/src/metabase/query_builder/components/dataref/DataReference.jsx:86
+#: frontend/src/metabase/query_builder/components/dataref/DataReference.jsx:103
 msgid "Back"
 msgstr "Zurück"
 
@@ -2717,6 +2702,7 @@ msgid "First"
 msgstr "Erster"
 
 #: frontend/src/metabase/components/SchedulePicker.jsx:34
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:23
 msgid "Last"
 msgstr "Letzter"
 
@@ -2767,14 +2753,14 @@ msgstr "Nichts zu wählen"
 
 #: frontend/src/metabase/containers/ErrorPages.jsx:54
 msgid "Sorry, you don’t have permission to see that."
-msgstr "Tut mir leid, du hast keine berechtigung um das zu sehen."
+msgstr "Tut mir leid, du hast keine Berechtigung um das zu sehen."
 
 #: frontend/src/metabase/components/form/FormMessage.jsx:5
 msgid "Unknown error encountered"
 msgstr "Unbekannter Fehler aufgetreten"
 
-#: frontend/src/metabase/components/form/StandardForm.jsx:67
-#: frontend/src/metabase/nav/containers/Navbar.jsx:305
+#: frontend/src/metabase/components/form/StandardForm.jsx:69
+#: frontend/src/metabase/nav/containers/Navbar.jsx:304
 msgid "Create"
 msgstr "Erstellen"
 
@@ -2810,12 +2796,13 @@ msgid "View by"
 msgstr "Ansicht nach"
 
 #: frontend/src/metabase/containers/EntitySearch.jsx:494
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:84
 #: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:69
 #: frontend/src/metabase/tutorial/TutorialModal.jsx:34
 msgid "of"
 msgstr "von"
 
-#: frontend/src/metabase/containers/Overworld.jsx:80
+#: frontend/src/metabase/containers/Overworld.jsx:75
 msgid "Don't tell anyone, but you're my favorite."
 msgstr "Sag es niemandem, aber du bist mein Liebling."
 
@@ -2823,19 +2810,19 @@ msgstr "Sag es niemandem, aber du bist mein Liebling."
 msgid "Once you connect your own data, I can show you some automatic explorations called x-rays. Here are some examples with sample data."
 msgstr "Sobald du deine eigenen Daten verbunden hast, kann ich dir einige automatische Analysen zeigen, die X-Ray genannt werden. Anbei einige Beispieldaten."
 
-#: frontend/src/metabase/containers/Overworld.jsx:133
-#: frontend/src/metabase/containers/Overworld.jsx:304
+#: frontend/src/metabase/containers/Overworld.jsx:128
+#: frontend/src/metabase/containers/Overworld.jsx:299
 #: frontend/src/metabase/reference/components/GuideHeader.jsx:12
 msgid "Start here"
 msgstr "Beginne hier"
 
-#: frontend/src/metabase/containers/Overworld.jsx:299
-#: frontend/src/metabase/entities/collections.js:140
+#: frontend/src/metabase/containers/Overworld.jsx:294
+#: frontend/src/metabase/entities/collections.js:147
 #: src/metabase/models/collection.clj
 msgid "Our analytics"
 msgstr "Unsere Analysen"
 
-#: frontend/src/metabase/containers/Overworld.jsx:208
+#: frontend/src/metabase/containers/Overworld.jsx:203
 msgid "Browse all items"
 msgstr "Durchsuche alle Elemente"
 
@@ -2863,9 +2850,11 @@ msgstr "Speichere Frage"
 msgid "What is the name of your card?"
 msgstr "Wie lautet der Name deiner Karte?"
 
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:31
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:18
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:232
-#: frontend/src/metabase/entities/collections.js:94
-#: frontend/src/metabase/entities/dashboards.js:102
+#: frontend/src/metabase/entities/collections.js:101
+#: frontend/src/metabase/entities/dashboards.js:151
 #: frontend/src/metabase/lib/core.js:50 frontend/src/metabase/lib/core.js:205
 #: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:156
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:211
@@ -2878,12 +2867,12 @@ msgid "Description"
 msgstr "Beschreibung"
 
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:238
-#: frontend/src/metabase/entities/dashboards.js:104
+#: frontend/src/metabase/entities/dashboards.js:153
 msgid "It's optional but oh, so helpful"
 msgstr "Es ist optional, aber sehr hilfreich"
 
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:245
-#: frontend/src/metabase/entities/dashboards.js:108
+#: frontend/src/metabase/entities/dashboards.js:157
 msgid "Which collection should this go in?"
 msgstr "In welche Sammlung soll es gehen?"
 
@@ -2913,7 +2902,7 @@ msgstr "Suche nach einer Frage"
 
 #: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:339
 msgid "We're not sure if this question is compatible"
-msgstr "Wir sind uns nicht sicher, ob die Frage komptatibel ist"
+msgstr "Wir sind uns nicht sicher, ob die Frage kompatibel ist"
 
 #: frontend/src/metabase/dashboard/components/ArchiveDashboardModal.jsx:43
 msgid "Archive Dashboard"
@@ -2923,11 +2912,11 @@ msgstr "Dashboard archivieren"
 msgid "Make sure to make a selection for each series, or the filter won't work on this card."
 msgstr "Stelle sicher, dass du für jede Serie eine Auswahl triffst, sonst funktioniert der Filter auf dieser Karte nicht."
 
-#: frontend/src/metabase/dashboard/components/Dashboard.jsx:286
+#: frontend/src/metabase/dashboard/components/Dashboard.jsx:300
 msgid "This dashboard is looking empty."
 msgstr "Dieses Dashboard sieht leer aus."
 
-#: frontend/src/metabase/dashboard/components/Dashboard.jsx:289
+#: frontend/src/metabase/dashboard/components/Dashboard.jsx:301
 msgid "Add a question to start making it useful!"
 msgstr "Füge eine Frage hinzu, um es nützlicher zu machen!"
 
@@ -2975,23 +2964,23 @@ msgstr "Parameter"
 msgid "Add a text box"
 msgstr "Füge ein Textfeld hinzu"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:302
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:319
 msgid "Move dashboard"
 msgstr "Bewege das Dashboard"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:315
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:302
 msgid "Edit dashboard"
 msgstr "Ändere das Dashboard"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:319
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:306
 msgid "Edit Dashboard Layout"
 msgstr "Ändere das Dashboard-Layout"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:357
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:369
 msgid "You are editing a dashboard"
 msgstr "Du editierst ein Dashboard"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:362
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:374
 msgid "Select the field that should be filtered for each card"
 msgstr "Wähle das Feld aus, welches auf jeder Karte gefiltert werden soll"
 
@@ -3001,7 +2990,7 @@ msgstr "Bewege das Dashboard nach..."
 
 #: frontend/src/metabase/dashboard/components/DashboardMoveModal.jsx:52
 msgid "Dashboard moved to {0}"
-msgstr "Dashboard wurde nach {0} bewegt"
+msgstr "Dashboard wurde nach {0} verschoben"
 
 #: frontend/src/metabase/dashboard/components/ParametersPopover.jsx:82
 msgid "What do you want to filter?"
@@ -3058,6 +3047,7 @@ msgstr "Diese frage löschen?"
 msgid "Your dashboard was saved"
 msgstr "Dein Dashboard wurde gespeichert"
 
+#: frontend/src/metabase/components/CollectionLanding.jsx:745
 #: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:76
 msgid "See it"
 msgstr "Sieh es dir an"
@@ -3083,15 +3073,15 @@ msgstr "Die Werte in diesem Feld überschneiden sich nicht mit den Werten andere
 msgid "No valid fields"
 msgstr "Keine validen Felder"
 
-#: frontend/src/metabase/entities/collections.js:90
+#: frontend/src/metabase/entities/collections.js:97
 msgid "Name must be 100 characters or less"
 msgstr "Name darf maximal 100 Zeichen lang sein"
 
-#: frontend/src/metabase/entities/collections.js:104
+#: frontend/src/metabase/entities/collections.js:111
 msgid "Color is required"
 msgstr "Farbe ist notwendig"
 
-#: frontend/src/metabase/entities/dashboards.js:97
+#: frontend/src/metabase/entities/dashboards.js:146
 msgid "What is the name of your dashboard?"
 msgstr "Wie lautet der Name deines Dashboards?"
 
@@ -3137,14 +3127,16 @@ msgstr "fügte eine Frage zum Dashboard hinzu - "
 #: frontend/src/metabase/home/components/Activity.jsx:206
 #: frontend/src/metabase/home/components/Activity.jsx:221
 msgid "removed a question from the dashboard - "
-msgstr "Löshcte eine Frage vom Dashboard - "
+msgstr "Löschte eine Frage vom Dashboard - "
 
 #: frontend/src/metabase/home/components/Activity.jsx:231
 #: frontend/src/metabase/home/components/Activity.jsx:238
 msgid "received the latest data from"
 msgstr "erhielt aktuellste Daten von"
 
+#: frontend/src/metabase-lib/lib/Dimension.js:621
 #: frontend/src/metabase/home/components/Activity.jsx:244
+#: frontend/src/metabase/lib/query_time.js:180
 #: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:273
 msgid "Unknown"
 msgstr "Unbekannt"
@@ -3216,11 +3208,11 @@ msgstr "beigetreten!"
 
 #: frontend/src/metabase/home/components/Activity.jsx:529
 msgid "Hmmm, looks like nothing has happened yet."
-msgstr "Hmm, sieht so aus als wäre nichts bis jetzt passiert."
+msgstr "Hmm, sieht so aus als wäre bis jetzt nichts passiert."
 
 #: frontend/src/metabase/home/components/Activity.jsx:532
 msgid "Save a question and get this baby going!"
-msgstr "Speichere eine Frage und brigne damit das Baby zum Laufen!"
+msgstr "Speichere eine Frage und bringe damit das Baby zum Laufen!"
 
 #: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:19
 msgid "Ask questions and explore"
@@ -3236,7 +3228,7 @@ msgstr "Erstelle deine eigenen Diagramme"
 
 #: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:31
 msgid "Create line charts, scatter plots, maps, and more."
-msgstr "Erstelle Linien-, Streu-, Karten- oder weitere Diagrame."
+msgstr "Erstelle Linien-, Streu-, Karten- oder weitere Diagramme."
 
 #: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:41
 msgid "Share what you find"
@@ -3266,17 +3258,17 @@ msgstr "Vor Kurzem Anzeige"
 msgid "You haven't looked at any dashboards or questions recently"
 msgstr "Du hast dir in letzter Zeit keine Dashboards oder Fragen angeschaut"
 
-#: frontend/src/metabase/home/containers/ArchiveApp.jsx:82
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:99
 msgid "{0} items selected"
 msgstr "{0} Elemente ausgewählt"
 
-#: frontend/src/metabase/home/containers/ArchiveApp.jsx:102
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:121
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:172
 msgid "Unarchive"
 msgstr "Stelle aus dem Archiv wieder her"
 
 #: frontend/src/metabase/home/containers/HomepageApp.jsx:74
-#: frontend/src/metabase/nav/containers/Navbar.jsx:332
+#: frontend/src/metabase/nav/containers/Navbar.jsx:331
 msgid "Activity"
 msgstr "Aktivitäten"
 
@@ -3284,7 +3276,7 @@ msgstr "Aktivitäten"
 msgid "Results for \"{0}\""
 msgstr "Ergebnisse für \"{0}\""
 
-#: frontend/src/metabase/home/containers/SearchApp.jsx:142
+#: frontend/src/metabase/home/containers/SearchApp.jsx:138
 msgid "Pulse"
 msgstr "Pulse"
 
@@ -3347,7 +3339,7 @@ msgstr "Gemeinsam"
 
 #: frontend/src/metabase/lib/core.js:30
 #: frontend/src/metabase/meta/Dashboard.js:81
-#: frontend/src/metabase/qb/components/actions/PivotByCategoryAction.jsx:9
+#: frontend/src/metabase/modes/components/actions/PivotByCategoryAction.jsx:9
 msgid "Category"
 msgstr "Kategorie"
 
@@ -3383,11 +3375,12 @@ msgstr "Länge"
 
 #: frontend/src/metabase/lib/core.js:85
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:149
-#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:39
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:41
 msgid "Number"
 msgstr "Nummer"
 
 #. What is the context?
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:19
 #: frontend/src/metabase/lib/core.js:90
 #: frontend/src/metabase/meta/Dashboard.js:65
 msgid "State"
@@ -3551,7 +3544,7 @@ msgid "CumulativeCount"
 msgstr "Kumulative Zählung"
 
 #: frontend/src/metabase/lib/expressions/config.js:9
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:17
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:17
 #: frontend/src/metabase/visualizations/lib/utils.js:127
 msgid "Sum"
 msgstr "Summe"
@@ -3575,14 +3568,14 @@ msgid "Average"
 msgstr "Durchschnitt"
 
 #: frontend/src/metabase/lib/expressions/config.js:14
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:25
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:25
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:48
 #: frontend/src/metabase/visualizations/lib/settings/graph.js:450
 msgid "Min"
 msgstr "Min"
 
 #: frontend/src/metabase/lib/expressions/config.js:15
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:29
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:29
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:57
 #: frontend/src/metabase/visualizations/lib/settings/graph.js:458
 msgid "Max"
@@ -3592,13 +3585,13 @@ msgstr "Max"
 msgid "sad sad panda, lexing errors detected"
 msgstr "trauriger trauriger Panda, Lexing-Fehler entdeckt"
 
-#: frontend/src/metabase/lib/formatting.js:724
+#: frontend/src/metabase/lib/formatting.js:707
 msgid "{0} second"
 msgid_plural "{0} seconds"
 msgstr[0] "{0} Sekunde"
 msgstr[1] "{0} Sekunden"
 
-#: frontend/src/metabase/lib/formatting.js:727
+#: frontend/src/metabase/lib/formatting.js:710
 msgid "{0} minute"
 msgid_plural "{0} minutes"
 msgstr[0] "{0} Minute"
@@ -3611,7 +3604,7 @@ msgstr "Hallo"
 #: frontend/src/metabase/lib/greeting.js:5
 #: frontend/src/metabase/lib/greeting.js:29
 msgid "How's it going"
-msgstr "Wie ist es gehen"
+msgstr "Wie geht's"
 
 #: frontend/src/metabase/lib/greeting.js:6
 msgid "Howdy"
@@ -3619,7 +3612,7 @@ msgstr "Hallo"
 
 #: frontend/src/metabase/lib/greeting.js:7
 msgid "Greetings"
-msgstr "Grüße"
+msgstr "Sei gegrüßt"
 
 #: frontend/src/metabase/lib/greeting.js:8
 msgid "Good to see you"
@@ -3631,7 +3624,7 @@ msgstr "Was möchtest du wissen?"
 
 #: frontend/src/metabase/lib/greeting.js:13
 msgid "What's on your mind?"
-msgstr "Was auf dem herzen?"
+msgstr "Was hast du auf dem Herzen?"
 
 #: frontend/src/metabase/lib/greeting.js:14
 msgid "What do you want to find out?"
@@ -3804,7 +3797,7 @@ msgstr "Endet mit"
 #: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:264
 #: frontend/src/metabase/query_builder/components/filters/pickers/TimePicker.jsx:74
 msgid "Before"
-msgstr "Zuvor"
+msgstr "Vor"
 
 #: frontend/src/metabase/lib/schema_metadata.js:383
 #: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:271
@@ -3857,16 +3850,16 @@ msgid "Cumulative sum of ..."
 msgstr "Kumulative Summe von..."
 
 #: frontend/src/metabase/lib/schema_metadata.js:493
-msgid "Additive sum of all the values of a column.\\ne.x. total revenue over time."
-msgstr "Additive Summe aller Werte einer Spalte.\\ne.x. Gesamtumsatz über die Zeit."
+msgid "Additive sum of all the values of a column.\\\\ne.x. total revenue over time."
+msgstr "Additive Summe aller Werte einer Spalte.\\\\ne.x. Gesamtumsatz über die Zeit."
 
 #: frontend/src/metabase/lib/schema_metadata.js:499
 msgid "Cumulative count of rows"
 msgstr "Kumulative Zählung von Zeilen"
 
 #: frontend/src/metabase/lib/schema_metadata.js:501
-msgid "Additive count of the number of rows.\\ne.x. total number of sales over time."
-msgstr "Additive Zählung von Reihen.\\ne.x. Gesamtanzahl vom Verkauf über die Zeit."
+msgid "Additive count of the number of rows.\\\\ne.x. total number of sales over time."
+msgstr "Additive Zählung von Reihen.\\\\ne.x. Gesamtanzahl vom Verkauf über die Zeit."
 
 #: frontend/src/metabase/lib/schema_metadata.js:507
 msgid "Standard deviation of ..."
@@ -4032,7 +4025,7 @@ msgid "ID"
 msgstr "ID"
 
 #: frontend/src/metabase/meta/Dashboard.js:95
-#: frontend/src/metabase/qb/components/actions/PivotByTimeAction.jsx:8
+#: frontend/src/metabase/modes/components/actions/PivotByTimeAction.jsx:8
 msgid "Time"
 msgstr "Zeit"
 
@@ -4041,7 +4034,7 @@ msgid "Date range, relative date, time of day, etc."
 msgstr "Zeitspanne, relatives Datum, Zeitpunkt eines Tages, usw."
 
 #: frontend/src/metabase/meta/Dashboard.js:101
-#: frontend/src/metabase/qb/components/actions/PivotByLocationAction.jsx:8
+#: frontend/src/metabase/modes/components/actions/PivotByLocationAction.jsx:8
 msgid "Location"
 msgstr "Standort"
 
@@ -4061,73 +4054,73 @@ msgstr "Andere Kategorien"
 msgid "Category, Type, Model, Rating, etc."
 msgstr "Kategorie, Typ, Modell, Bewertung, usw."
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:43
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:42
 #: frontend/src/metabase/user/components/UserSettings.jsx:54
 msgid "Account settings"
 msgstr "Kontoeinstellungen"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:50
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:49
 msgid "Exit admin"
 msgstr "Verlasse Administration"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:60
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:34
 msgid "Logs"
 msgstr "Protokolle"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:67
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:58
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorSidebar.jsx:105
 msgid "Help"
 msgstr "Hilfe"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:76
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:67
 msgid "About Metabase"
 msgstr "Ãœber Metabase"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:82
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:73
 msgid "Sign out"
 msgstr "Abmelden"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:107
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:98
 msgid "Thanks for using"
 msgstr "Danke für die Nutzung"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:111
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:102
 msgid "You're on version"
 msgstr "Du nutzt Version"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:114
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:105
 msgid "Built on"
 msgstr "Aufgebaut auf"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:133
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:124
 msgid "is a Trademark of"
 msgstr "ist ein Warenzeichen von"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:135
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:126
 msgid "and is built with care in San Francisco, CA"
 msgstr "und wird mit Sorgfalt in San Francisco, CA gebaut"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:195
+#: frontend/src/metabase/nav/containers/Navbar.jsx:194
 msgid "Metabase Admin"
 msgstr "Metabase Administrator"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:301
+#: frontend/src/metabase/nav/containers/Navbar.jsx:300
 #: frontend/src/metabase/reference/databases/TableQuestions.jsx:36
 #: frontend/src/metabase/reference/metrics/MetricQuestions.jsx:37
 #: frontend/src/metabase/reference/segments/SegmentQuestions.jsx:37
 msgid "Ask a question"
 msgstr "Stelle eine Frage"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:310
+#: frontend/src/metabase/nav/containers/Navbar.jsx:309
 msgid "New dashboard"
 msgstr "Neues Dashboard"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:316
+#: frontend/src/metabase/nav/containers/Navbar.jsx:315
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:127
 msgid "New pulse"
 msgstr "Neuer Pulse"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:324
+#: frontend/src/metabase/nav/containers/Navbar.jsx:323
 msgid "Reference"
 msgstr "Referenz"
 
@@ -4176,17 +4169,22 @@ msgid "Select a default value…"
 msgstr "Wähle einen Standardwert…"
 
 #: frontend/src/metabase/parameters/components/widgets/DateAllOptionsWidget.jsx:149
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:390
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:404
 msgid "Update filter"
-msgstr "Aktualisiere einen Filter"
+msgstr "Filter anpassen"
 
+#: frontend/src/metabase/lib/query_time.js:112
+#: frontend/src/metabase/lib/query_time.js:123
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:9
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:144
+#: src/metabase/pulse/render.clj
 msgid "Today"
 msgstr "Heute"
 
+#: frontend/src/metabase/lib/query_time.js:118
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:14
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:148
+#: src/metabase/pulse/render.clj
 msgid "Yesterday"
 msgstr "Gestern"
 
@@ -4198,23 +4196,32 @@ msgstr "Vergangenen 7 Tage"
 msgid "Past 30 days"
 msgstr "Vergangenen 30 Tagen"
 
+#: frontend/src/metabase/lib/query_time.js:195
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:24
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:29
 #: src/metabase/api/table.clj
 msgid "Week"
-msgstr "Woche"
+msgid_plural "Weeks"
+msgstr[0] "Woche"
+msgstr[1] "Wochen"
 
+#: frontend/src/metabase/lib/query_time.js:197
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:25
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:30
 #: src/metabase/api/table.clj
 msgid "Month"
-msgstr "Monat"
+msgid_plural "Months"
+msgstr[0] "Monat"
+msgstr[1] "Monate"
 
+#: frontend/src/metabase/lib/query_time.js:201
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:26
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:31
 #: src/metabase/api/table.clj
 msgid "Year"
-msgstr "Jahr"
+msgid_plural "Years"
+msgstr[0] "Jahr"
+msgstr[1] "Jahre"
 
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:152
 msgid "Past 7 Days"
@@ -4248,7 +4255,7 @@ msgstr "Dieser Monat"
 msgid "This Year"
 msgstr "Dieses Jahr"
 
-#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:88
+#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:89
 #: frontend/src/metabase/parameters/components/widgets/TextWidget.jsx:54
 msgid "Enter a value..."
 msgstr "Gib einen Wert ein..."
@@ -4428,10 +4435,10 @@ msgstr "Diese Frage wird nicht in dein Pulse integriert"
 
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:92
 msgid "This pulse will no longer be emailed to {0} {1}"
-msgstr "Dieser Pulse wird nicht länger als Email an {0} {1} versendet"
+msgstr "Dieser Pulse wird nicht länger als E-Mail an {0} {1} versendet"
 
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:94
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:374
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:376
 msgid "{0} address"
 msgid_plural "{0} addresses"
 msgstr[0] "{0} Adresse"
@@ -4484,7 +4491,7 @@ msgstr "Anhang"
 
 #: frontend/src/metabase/pulse/components/PulseEditCards.jsx:104
 #: frontend/src/metabase/pulse/components/PulseEditCards.jsx:111
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:671
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:673
 msgid "Heads up"
 msgstr "Vorwarnung"
 
@@ -4494,7 +4501,7 @@ msgstr "Wir zeigen die ersten 10 Spalten und 20 Zeilen dieser Tabelle in deinem
 
 #: frontend/src/metabase/pulse/components/PulseEditCards.jsx:112
 msgid "Raw data questions can only be included as email attachments"
-msgstr "Rohdaten-Abfragen können nur als Email-Anhang hinzugefügt werden"
+msgstr "Rohdaten-Abfragen können nur als E-Mail-Anhang hinzugefügt werden"
 
 #: frontend/src/metabase/pulse/components/PulseEditCards.jsx:119
 msgid "Looks like this pulse is getting big"
@@ -4502,7 +4509,7 @@ msgstr "Sieht so aus, als würde der Pulse größer werden"
 
 #: frontend/src/metabase/pulse/components/PulseEditCards.jsx:120
 msgid "We recommend keeping pulses small and focused to help keep them digestible and useful to the whole team."
-msgstr "Wir empfehlen, die Pulse klein und essentiell zu halten, damit diese für das team verständlich bleiben."
+msgstr "Wir empfehlen, die Pulse klein und essentiell zu halten, damit diese für das Team verständlich bleiben."
 
 #: frontend/src/metabase/pulse/components/PulseEditCards.jsx:160
 msgid "Pick your data"
@@ -4512,56 +4519,56 @@ msgstr "Wähle deine Daten"
 msgid "Choose questions you'd like to send in this pulse"
 msgstr "Wähle Fragen, die du gerne in diesem Pulse senden möchtest"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:29
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:27
 msgid "Emails"
-msgstr "Emails"
+msgstr "E-Mails"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:30
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:28
 msgid "Slack messages"
 msgstr "Slack-Nachrichten"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:223
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:221
 msgid "Sent"
 msgstr "Versendet"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:224
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:222
 msgid "{0} will be sent at"
 msgstr "{0} wird gesendet an"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:226
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:224
 msgid "Messages"
 msgstr "Nachrichten"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:237
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:240
 msgid "Send email now"
 msgstr "E-Mail jetzt versenden"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:238
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:241
 msgid "Send to {0} now"
 msgstr "Jetzt an {0} versenden"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:240
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:243
 msgid "Sending…"
 msgstr "Senden…"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:241
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:244
 msgid "Sending failed"
 msgstr "Senden fehlgeschlagen"
 
 #. How to translate "Pulse"? Is it like Pulse / Heartbeat or the name of the untranslated metabase feature?
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:244
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:247
 msgid "Didn’t send because the pulse has no results."
 msgstr "Wurde nicht versandt, da der Pulse nichts beinhaltet."
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:245
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:248
 msgid "Pulse sent"
 msgstr "Pulse gesendet"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:284
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:287
 msgid "{0} needs to be set up by an administrator."
 msgstr "{0} muss von einem Administrator eingerichtet werden."
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:299
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:302
 msgid "Slack"
 msgstr "Slack"
 
@@ -4591,7 +4598,7 @@ msgstr "Ãœberspringe den Pulse, insofern die Fragen keine Ergebnisse besitzen"
 
 #: frontend/src/metabase/pulse/components/RecipientPicker.jsx:65
 msgid "Enter email addresses you'd like this data to go to"
-msgstr "Gib eine Email-Adresse ein, an welche die Daten gesendet werden sollen"
+msgstr "Gib eine E-Mail-Adresse ein, an welche die Daten gesendet werden sollen"
 
 #: frontend/src/metabase/pulse/components/WhatsAPulse.jsx:16
 msgid "Help everyone on your team stay in sync with your data."
@@ -4601,68 +4608,68 @@ msgstr "Helfe jedem in deinem Team, mit deinen Daten synchron zu bleiben."
 msgid "Pulses let you send data from Metabase to email or Slack on the schedule of your choice."
 msgstr "Mit Pulses können Daten aus Metabase per E-Mail oder Slack nach einem Zeitplan deiner Wahl versendet werden."
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:100
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:100
 msgid "After {0}"
 msgstr "Nach {0}"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:102
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:102
 msgid "Before {0}"
 msgstr "Vor {0}"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:104
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:104
 #: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:295
 msgid "Is Empty"
 msgstr "Ist leer"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:106
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:106
 #: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:301
 msgid "Not Empty"
 msgstr "Nicht leer"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:109
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:109
 #: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:213
 msgid "All Time"
 msgstr "Allzeit"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:154
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:154
 msgid "Apply"
 msgstr "Anwenden"
 
-#: frontend/src/metabase/qb/components/actions/CommonMetricsAction.jsx:21
+#: frontend/src/metabase/modes/components/actions/CommonMetricsAction.jsx:21
 msgid "View {0}"
 msgstr "Ansicht {0}"
 
-#: frontend/src/metabase/qb/components/actions/CompareWithTable.jsx:29
+#: frontend/src/metabase/modes/components/actions/CompareWithTable.jsx:29
 msgid "Compare this with all rows in the table"
 msgstr "Vergleiche dies mit allen Zeilen in der Tabelle"
 
-#: frontend/src/metabase/qb/components/actions/CompoundQueryAction.jsx:14
+#: frontend/src/metabase/modes/components/actions/CompoundQueryAction.jsx:14
 msgid "Analyze the results of this Query"
 msgstr "Das Ergebnis dieser Abfrage analysieren"
 
-#: frontend/src/metabase/qb/components/actions/CountByTimeAction.jsx:29
+#: frontend/src/metabase/modes/components/actions/CountByTimeAction.jsx:29
 msgid "Count of rows by time"
 msgstr "Anzahl der Zeilen nach Zeit"
 
 #. eher "aufschlüsseln" oder "herunterbrechen"?
-#: frontend/src/metabase/qb/components/actions/PivotByAction.jsx:55
+#: frontend/src/metabase/modes/components/actions/PivotByAction.jsx:52
 msgid "Break out by {0}"
 msgstr "Abbruch nach {0}"
 
 #. Summarize heisst m.E. (hier) "zusammenfassen"
-#: frontend/src/metabase/qb/components/actions/SummarizeBySegmentMetricAction.jsx:34
+#: frontend/src/metabase/modes/components/actions/SummarizeBySegmentMetricAction.jsx:31
 msgid "Summarize this segment"
 msgstr "Summiere dieses Segment"
 
-#: frontend/src/metabase/qb/components/actions/UnderlyingDataAction.jsx:14
+#: frontend/src/metabase/modes/components/actions/UnderlyingDataAction.jsx:14
 msgid "View this as a table"
 msgstr "Sieh dies als Tabelle an"
 
-#: frontend/src/metabase/qb/components/actions/UnderlyingRecordsAction.jsx:22
+#: frontend/src/metabase/modes/components/actions/UnderlyingRecordsAction.jsx:22
 msgid "View the underlying {0} records"
 msgstr "Sieh die zugrunde liegenden {0} Datensätze"
 
-#: frontend/src/metabase/qb/components/actions/XRayCard.jsx:20
+#: frontend/src/metabase/modes/components/actions/XRayCard.jsx:20
 msgid "X-Ray this question"
 msgstr "X-Ray für diese Frage"
 
@@ -4684,46 +4691,46 @@ msgstr "Dieses"
 msgid "Compare {0} {1} to the rest"
 msgstr "Vergleiche {0} {1} mit dem Rest"
 
-#: frontend/src/metabase/qb/components/drill/DistributionDrill.jsx:35
+#: frontend/src/metabase/modes/components/drill/DistributionDrill.jsx:35
 msgid "Distribution"
 msgstr "Beschreibung"
 
-#: frontend/src/metabase/qb/components/drill/ObjectDetailDrill.jsx:38
+#: frontend/src/metabase/modes/components/drill/ObjectDetailDrill.jsx:38
 msgid "View details"
 msgstr "Details anzeigen"
 
-#: frontend/src/metabase/qb/components/drill/QuickFilterDrill.jsx:54
+#: frontend/src/metabase/modes/components/drill/QuickFilterDrill.jsx:54
 msgid "View this {0}'s {1}"
 msgstr "Sieh dieses {0}s {1}"
 
-#: frontend/src/metabase/qb/components/drill/SortAction.jsx:41
+#: frontend/src/metabase/modes/components/drill/SortAction.jsx:42
 msgid "Ascending"
 msgstr "Aufsteigend"
 
-#: frontend/src/metabase/qb/components/drill/SortAction.jsx:49
+#: frontend/src/metabase/modes/components/drill/SortAction.jsx:50
 msgid "Descending"
 msgstr "Absteigend"
 
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnByTimeDrill.js:47
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnByTimeDrill.js:47
 msgid "over time"
 msgstr "über die Zeit"
 
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:21
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:21
 msgid "Avg"
 msgstr "Mittel"
 
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:33
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:33
 msgid "Distincts"
 msgstr "Besonderheiten"
 
-#: frontend/src/metabase/qb/components/drill/UnderlyingRecordsDrill.jsx:32
+#: frontend/src/metabase/modes/components/drill/UnderlyingRecordsDrill.jsx:32
 msgid "View this {0}"
 msgid_plural "View these {0}"
 msgstr[0] "Siehe dieses {0}"
 msgstr[1] "Siehe diese {0}"
 
 #: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:225
-#: frontend/src/metabase/qb/components/drill/ZoomDrill.jsx:26
+#: frontend/src/metabase/modes/components/drill/ZoomDrill.jsx:26
 msgid "Zoom in"
 msgstr "Heranzoomen"
 
@@ -4735,63 +4742,63 @@ msgstr "Benutzerdefinierter Ausdruck"
 msgid "Common Metrics"
 msgstr "Allgemeine Metriken"
 
-#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:182
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:209
 msgid "Metabasics"
 msgstr "Metabasics"
 
-#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:290
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:319
 msgid "Name (optional)"
 msgstr "Name (optional)"
 
-#: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:153
+#: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:156
 msgid "Choose an aggregation"
 msgstr "Wähle eine Aggregierung"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:115
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:100
 msgid "Set up your own alert"
 msgstr "Setze deinen eigenen Alarm auf"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:155
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:140
 msgid "Unsubscribing..."
 msgstr "Abmelden..."
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:160
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:145
 msgid "Failed to unsubscribe"
 msgstr "Abmeldung fehlgeschlagen"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:216
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:204
 msgid "Unsubscribe"
 msgstr "Abmelden"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:247
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:235
 msgid "No channel"
 msgstr "Kein Kanal"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:274
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:263
 msgid "Okay, you're unsubscribed"
 msgstr "Ok, du bist abgemeldet"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:346
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:335
 msgid "You're receiving {0}'s alerts"
 msgstr "Du erhältst {0}s Alarme"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:347
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:336
 msgid "{0} set up an alert"
 msgstr "{0} hat einen Alarm aufgesetzt"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:161
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:160
 msgid "alerts"
 msgstr "Alarme"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:184
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:183
 msgid "Let's set up your alert"
 msgstr "Lass uns deinen Alarm aufsetzen"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:215
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:214
 msgid "The wide world of alerts"
 msgstr "Die weite Welt der Alarme"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:216
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:215
 msgid "There are a few different kinds of alerts you can get"
 msgstr "Es gibt verschiedene Arten von Warnungen, die du erhalten kannst"
 
@@ -4803,123 +4810,123 @@ msgstr "Wenn eine native Datenabfrage {0}"
 msgid "returns any results"
 msgstr "gibt alle Ergebnisse zurück"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:240
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:241
 msgid "When a line or bar {0}"
 msgstr "Wenn eine Linie oder ein Balken {0}"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:241
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:242
 msgid "crosses a goal line"
 msgstr "überquere eine Ziellinien"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:251
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:253
 msgid "When a progress bar {0}"
 msgstr "Wenn eine Fortschrittsanzeige {0}"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:252
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:254
 msgid "reaches its goal"
 msgstr "erreicht sein Ziel"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:260
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:262
 msgid "Set up an alert"
 msgstr "Setze einen Alarm auf"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:329
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:331
 msgid "Edit your alert"
 msgstr "Ändere deinen Alarm"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:329
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:331
 msgid "Edit alert"
 msgstr "Ändere Alarm"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:372
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:374
 msgid "This alert will no longer be emailed to {0}."
-msgstr "Dieser Alarm wird nicht länger via Email verteilt an {0}."
+msgstr "Dieser Alarm wird nicht länger via E-Mail verteilt an {0}."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:380
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:382
 msgid "Slack channel {0} will no longer get this alert."
 msgstr "Der Slack Kanal {0} wird diesen Alarm nicht länger erhalten."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:384
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:386
 msgid "Channel {0} will no longer receive this alert."
 msgstr "Kanal {0} wird nicht länger diesen Alarm erhalten."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:401
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:403
 msgid "Delete this alert"
 msgstr "Lösche den Alarm"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:403
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:405
 msgid "Stop delivery and delete this alert. There's no undo, so be careful."
 msgstr "Stoppe die Zustellung und lösche diesen Alarm. Es gibt keine Wiederherstellung, also sei vorsichtig."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:411
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:413
 msgid "Delete this alert?"
 msgstr "Löschen dieses Alarms?"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:495
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:497
 msgid "Alert me when the line…"
 msgstr "Alarmiere mich, wenn die Linie…"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:496
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:498
 msgid "Alert me when the progress bar…"
 msgstr "Alarmiere mich, wenn die Fortschrittsanzeige…"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:499
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:501
 msgid "Goes above the goal line"
 msgstr "Ãœbertritt die Zielllinie"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:499
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:501
 msgid "Reaches the goal"
 msgstr "Erreicht das Ziel"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:502
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:504
 msgid "Goes below the goal line"
-msgstr "Geht vor die Ziellinie"
+msgstr "Unterschreitet die Ziellinie"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:502
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:504
 msgid "Goes below the goal"
-msgstr "Geht vor das Ziel"
+msgstr "Unterschreitet das Ziel"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:510
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:512
 msgid "The first time it crosses, or every time?"
-msgstr "Das erste Mal, wenn es überquert oder dauerhaft?"
+msgstr "Das erste Mal, wenn es überschneidet oder dauerhaft?"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:511
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:513
 msgid "The first time it reaches the goal, or every time?"
 msgstr "Das erste Mal, sobald das Ziel erreicht wird oder dauerhaft?"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:513
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:515
 msgid "The first time"
 msgstr "Das erste Mal"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:514
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:516
 msgid "Every time"
 msgstr "Dauerhaft"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:617
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:619
 msgid "Where do you want to send these alerts?"
 msgstr "An wen möchtest du die Alarme senden?"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:628
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:630
 msgid "Email alerts to:"
-msgstr "Email Alarme zu:"
+msgstr "E-Mail Alarme zu:"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:670
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:672
 msgid "{0} Goal-based alerts aren't yet supported for charts with more than one line, so this alert will be sent whenever the chart has {1}."
 msgstr "{0} zielbasierte Alarme werden für Diagramme mit mehr als einer Zeile noch nicht unterstützt, daher wird dieser Alarm immer dann gesendet, wenn das Diagramm {1} hat."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:673
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:675
 msgid "results"
-msgstr "Ergebniss"
+msgstr "Ergebnis"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:677
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:679
 msgid "{0} This kind of alert is most useful when your saved question doesn’t {1} return any results, but you want to know when it does."
 msgstr "{0} Diese Art der Warnung ist am nützlichsten, wenn deine gespeicherte Frage {1} keine Ergebnisse liefert, du aber wissen möchtest, wann sie es tut."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:678
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:680
 msgid "Tip"
 msgstr "Tipp"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:680
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:682
 msgid "usually"
 msgstr "normalerweise"
 
@@ -4942,28 +4949,28 @@ msgstr "Wähle..."
 msgid "Select a table"
 msgstr "Wähle eine Tabelle"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:785
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:793
 msgid "No tables found in this database."
 msgstr "Es wurde keine Tabelle in der Datenbank gefunden."
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:822
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:830
 msgid "Is a question missing?"
 msgstr "Fehlt hier eine Frage?"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:826
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:834
 msgid "Learn more about nested queries"
 msgstr "Lerne mehr über verschachtelte Abfragen"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:860
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:868
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:30
 msgid "Fields"
 msgstr "Felder"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:938
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:946
 msgid "No segments were found."
 msgstr "Es wurden keine Abschnitte gefunden."
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:961
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:969
 msgid "Find a segment"
 msgstr "Finde ein Segment"
 
@@ -4975,27 +4982,27 @@ msgstr "Weniger anzeigen"
 msgid "View more"
 msgstr "Mehr anzeigen"
 
-#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:111
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:112
 msgid "Pick a field to sort by"
 msgstr "Wähle ein Feld, nach dem sortiert werden soll"
 
-#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:124
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:125
 msgid "Sort"
 msgstr "Sortieren"
 
-#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:193
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:137
 msgid "Row limit"
 msgstr "Zeilenlimit"
 
-#: frontend/src/metabase/query_builder/components/FieldName.jsx:76
+#: frontend/src/metabase/query_builder/components/FieldName.jsx:69
 msgid "Unknown Field"
 msgstr "Unbekanntes Feld"
 
-#: frontend/src/metabase/query_builder/components/FieldName.jsx:79
+#: frontend/src/metabase/query_builder/components/FieldName.jsx:72
 msgid "field"
 msgstr "Feld"
 
-#: frontend/src/metabase/query_builder/components/Filter.jsx:113
+#: frontend/src/metabase/query_builder/components/Filter.jsx:114
 msgid "Matches"
 msgstr "Stimmt überein"
 
@@ -5016,11 +5023,11 @@ msgstr "Füge eine Gruppierung hinzu"
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:59
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:68
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:75
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:226
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:232
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:238
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:62
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:67
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:225
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:231
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:237
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:70
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:75
 msgid "Data"
 msgstr "Daten"
 
@@ -5028,7 +5035,7 @@ msgstr "Daten"
 msgid "Filtered by"
 msgstr "Gefiltert nach"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:82
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:75
 #: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:369
 msgid "View"
 msgstr "Ansicht"
@@ -5263,8 +5270,7 @@ msgstr "Zurück zur vorherigen Ausführung"
 msgid "Visualization"
 msgstr "Visualisierung"
 
-#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:17
-#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:151
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:96
 msgid "No description set."
 msgstr "Keine Beschreibung hinterlegt."
 
@@ -5272,12 +5278,11 @@ msgstr "Keine Beschreibung hinterlegt."
 msgid "Use for current question"
 msgstr "Benutze es für die aktuelle Frage"
 
-#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:33
 #: frontend/src/metabase/reference/components/UsefulQuestions.jsx:16
 msgid "Potentially useful questions"
 msgstr "Potentiell nützliche Frage"
 
-#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:156
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:166
 msgid "Group by {0}"
 msgstr "Gruppiert nach {0}"
 
@@ -5285,20 +5290,19 @@ msgstr "Gruppiert nach {0}"
 msgid "Sum of all values of {0}"
 msgstr "Summe aller Werte von {0}"
 
-#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:173
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:63
 #: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:51
 msgid "All distinct values of {0}"
 msgstr "Alle eindeutigen Werte von {0}"
 
-#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:177
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:187
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:39
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:51
 #: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:39
 msgid "Number of {0} grouped by {1}"
 msgstr "Anzahl von {0}, gruppiert nach {1}"
 
-#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:11
+#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:10
 #: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:20
 #: frontend/src/metabase/reference/databases/FieldSidebar.jsx:30
 #: frontend/src/metabase/reference/databases/TableSidebar.jsx:26
@@ -5353,15 +5357,15 @@ msgstr "Beim Laden der Tabelle ist ein Fehler aufgetreten"
 msgid "See the raw data for {0}"
 msgstr "Siehe die Rohdaten für {0}"
 
-#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:205
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:180
 msgid "More"
 msgstr "Mehr"
 
-#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:200
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:201
 msgid "Invalid expression"
 msgstr "Ungültiger Ausdruck"
 
-#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:275
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:276
 msgid "unknown error"
 msgstr "unbekannter Fehler"
 
@@ -5392,7 +5396,7 @@ msgstr "Füge ein eigenes Feld hinzu"
 
 #: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:17
 msgid "Include {0}"
-msgstr "Inkludiere {0}"
+msgstr "Ein­schließ­lich {0}"
 
 #: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:19
 msgid "Case sensitive"
@@ -5422,19 +5426,19 @@ msgstr "diese Minute"
 msgid "this hour"
 msgstr "diese Stunde"
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:285
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:290
 msgid "not implemented {0}"
 msgstr "nicht implementiert {0}"
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:286
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:291
 msgid "true"
 msgstr "wahr"
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:286
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:291
 msgid "false"
 msgstr "falsch"
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:390
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:404
 msgid "Add filter"
 msgstr "Füge einen Filter hinzu"
 
@@ -5444,7 +5448,7 @@ msgstr "Element"
 
 #: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:221
 msgid "Previous"
-msgstr "Vorherige"
+msgstr "Letzte"
 
 #: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:252
 msgid "Current"
@@ -5733,7 +5737,7 @@ msgstr "Dinge über die Datenbank, auf die man achten sollte"
 msgid "Databases and tables"
 msgstr "Datenbanken und Tabellen"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:68
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:61
 #: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:27
 #: frontend/src/metabase/reference/databases/FieldSidebar.jsx:41
 #: frontend/src/metabase/reference/databases/TableDetail.jsx:170
@@ -5886,7 +5890,7 @@ msgstr "Alle Metriken ansehen"
 
 #: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:235
 msgid "Segments and tables"
-msgstr "Segmente und tabellen"
+msgstr "Segmente und Tabellen"
 
 #: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:236
 msgid "Tables"
@@ -6120,7 +6124,7 @@ msgstr "Suche"
 msgid "Dashboard"
 msgstr "Dashboard"
 
-#: frontend/src/metabase/routes.jsx:227
+#: frontend/src/metabase/routes.jsx:228
 msgid "New Question"
 msgstr "Neue Frage"
 
@@ -6206,7 +6210,7 @@ msgstr "ist nur einen Klick entfernt."
 
 #: frontend/src/metabase/setup/components/Setup.jsx:95
 msgid "Welcome to Metabase"
-msgstr "Wilkommen bei Metabase"
+msgstr "Willkommen bei Metabase"
 
 #: frontend/src/metabase/setup/components/Setup.jsx:96
 msgid "Looks like everything is working. Now let’s get to know you, connect to your data, and start finding you some answers!"
@@ -6430,7 +6434,7 @@ msgstr "Mit Google E-Mail Adresse einloggen"
 msgid "User Details"
 msgstr "Benutzerdetails"
 
-#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:235
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:275
 msgid "Reset to defaults"
 msgstr "Auf Standard zurücksetzen"
 
@@ -6480,35 +6484,35 @@ msgid "Rows {0}-{1} of {2}"
 msgstr "Zeilen {0}-{1} von {2}"
 
 #. Daten auf {0} Zeilen gekürzt.
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:187
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:189
 msgid "Data truncated to {0} rows."
 msgstr "Daten auf {0} Zeilen gekürzt."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:352
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:364
 msgid "Could not find visualization"
 msgstr "Konnte keine Visualisierung finden"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:359
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:371
 msgid "Could not display this chart with this data."
 msgstr "Konnte das Diagramm mit diesen Daten nicht anzeigen."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:457
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:469
 msgid "No results!"
 msgstr "Keine Ergebnisse!"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:478
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:490
 msgid "Still Waiting..."
 msgstr "Warte weiterhin..."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:481
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:493
 msgid "This usually takes an average of {0}."
 msgstr "Das dauert gewöhnlich durchschnittlich {0}"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:487
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:499
 msgid "(This is a bit long for a dashboard)"
 msgstr "(Das ist ein wenig lange für ein Dashboard)"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:491
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:503
 msgid "This is usually pretty fast but seems to be taking awhile right now."
 msgstr "Das ist gewöhnlich ziemlich schnell, scheint jetzt aber eine Weile zu dauern."
 
@@ -6614,7 +6618,7 @@ msgid "Highlight the whole row"
 msgstr "Die gesamte Zeile hervorheben"
 
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:390
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:90
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:98
 msgid "Colors"
 msgstr "Farben"
 
@@ -6924,7 +6928,7 @@ msgid "Funnel"
 msgstr "Trichter"
 
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:76
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:68
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:76
 msgid "Measure"
 msgstr "Messen"
 
@@ -6940,15 +6944,15 @@ msgstr "Balkendiagramm"
 msgid "line chart"
 msgstr "Liniendiagramm"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:225
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:224
 msgid "Please select longitude and latitude columns in the chart settings."
 msgstr "Bitte wähle die Längen- und Breitengrad-Spalten in den Diagramm-Einstellungen."
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:231
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:230
 msgid "Please select a region map."
 msgstr "Bitte wähle eine Region-Karte."
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:237
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:236
 msgid "Please select region and metric columns in the chart settings."
 msgstr "Bitte wähle eine Region sowie die metrischen Spalten in den Diagramm-Einstellungen."
 
@@ -6998,19 +7002,19 @@ msgstr "Metrisches Feld"
 msgid "Region field"
 msgstr "Region-Feld"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:193
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:192
 msgid "Radius"
 msgstr "Radius"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:199
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:198
 msgid "Blur"
 msgstr "Unschärfe"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:205
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:204
 msgid "Min Opacity"
 msgstr "Min. Transparenz"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:211
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:210
 msgid "Max Zoom"
 msgstr "Max. Zoom"
 
@@ -7034,31 +7038,31 @@ msgstr "Objekt Detail"
 msgid "object"
 msgstr "Objekt"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:304
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:312
 msgid "Total"
 msgstr "Gesamt"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:53
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:61
 msgid "Which columns do you want to use?"
 msgstr "Welche Spalten möchtest du verwenden?"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:41
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:44
 msgid "Pie"
 msgstr "Torte"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:63
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:71
 msgid "Dimension"
 msgstr "Dimension"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:73
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:81
 msgid "Show legend"
 msgstr "Legende anzeigen"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:78
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:86
 msgid "Show percentages in legend"
 msgstr "Zeige Prozentangaben in der Legende"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:84
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:92
 msgid "Minimum slice percentage"
 msgstr "Mindestanteil"
 
@@ -7082,8 +7086,8 @@ msgstr "Fortschrittsanzeige benötigt eine Zahl."
 msgid "Progress"
 msgstr "Fortschritt"
 
-#: frontend/src/metabase/entities/collections.js:101
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:177
+#: frontend/src/metabase/entities/collections.js:108
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:176
 #: frontend/src/metabase/visualizations/visualizations/Progress.jsx:57
 msgid "Color"
 msgstr "Farbe"
@@ -7174,13 +7178,13 @@ msgstr "Rechts"
 msgid "Show background"
 msgstr "Hintergrund anzeigen"
 
-#: frontend/src/metabase-lib/lib/Dimension.js:492
+#: frontend/src/metabase-lib/lib/Dimension.js:553
 msgid "{0} bin"
 msgid_plural "{0} bins"
 msgstr[0] "Klasse"
 msgstr[1] "Klassen"
 
-#: frontend/src/metabase-lib/lib/Dimension.js:498
+#: frontend/src/metabase-lib/lib/Dimension.js:559
 #, fuzzy
 msgid "Auto binned"
 msgstr "Automatische Klassifizierung"
@@ -7204,7 +7208,7 @@ msgstr "Ungültiger Wert für Regelbezeichnung"
 #: src/metabase/api/automagic_dashboards.clj
 #, fuzzy
 msgid "value couldn''t be parsed as base64 encoded JSON"
-msgstr "Wert konnte nicht als base64-kodierter JSON zergliedert werden"
+msgstr "Wert konnte nicht als base64-kodierter JSON geparsed werden"
 
 #: src/metabase/api/automagic_dashboards.clj
 msgid "Invalid entity type"
@@ -7215,7 +7219,7 @@ msgstr "Ungültiger Entität-Typ"
 msgid "Invalid comparison entity type. Can only be one of \"table\", \"segment\", or \"adhoc\""
 msgstr "Ungültiger Vergleichs-Entity-Typ. Kann nur einer von \"Tabelle\", \"Segment\" oder \"Adhoc\" sein."
 
-#: src/metabase/api/card.clj
+#: src/metabase/query_processor/async.clj
 msgid "Error running query to determine Card result metadata:"
 msgstr "Fehler beim Ausführen der Abfrage zur Ermittlung der Metadaten des Kartenergebnisses:"
 
@@ -7259,14 +7263,14 @@ msgstr "Warnung: Endpunkt {0}/{1} hat keinen DocString."
 msgid "starting streaming request"
 msgstr "Starte Streaming-Anfrage"
 
-#: src/metabase/api/common.clj
+#: src/metabase/async/api_response.clj
 msgid "connection closed, canceling request"
 msgstr "Verbindung geschlossen, stoppe Anfrage"
 
 #. a newline padding character as it's harmless and will allow us to check if the client is connected. If
 #. sending this character fails because the connection is closed, the chan will then close.  Newlines are
 #. no-ops when reading JSON which this depends upon.
-#: src/metabase/api/common.clj
+#: src/metabase/async/api_response.clj
 msgid "Response not ready, writing one byte & sleeping..."
 msgstr "Antwort nicht bereit, schreibe ein Byte & schlafe..."
 
@@ -7363,11 +7367,11 @@ msgstr "Google Auth Token erfolgreich authentifiziert für: {0} {1}"
 
 #: src/metabase/api/setup.clj
 msgid "Add a database"
-msgstr "Fügen sue eine Übersicht"
+msgstr "Datenbank hinzufügen"
 
 #: src/metabase/api/setup.clj
 msgid "Get connected"
-msgstr "Werde verbunden"
+msgstr "Verbinde dich"
 
 #: src/metabase/api/setup.clj
 msgid "Connect to your data so your whole team can start to explore."
@@ -7408,7 +7412,7 @@ msgstr "Organisiere deine Daten"
 
 #: src/metabase/api/setup.clj
 msgid "If your data contains technical or irrelevant info you can hide it."
-msgstr "Wenn Ihre Daten technische oder irrelevante Informationen enthalten, kannst du sie ausblenden."
+msgstr "Wenn deine Daten technische oder irrelevante Informationen enthalten, kannst du sie ausblenden."
 
 #: src/metabase/api/setup.clj
 msgid "Organize questions"
@@ -7453,22 +7457,30 @@ msgstr "Automatische Klasseneinteilung"
 msgid "Don''t bin"
 msgstr "Keine Klasseneinteilung"
 
-#: src/metabase/api/table.clj
+#: frontend/src/metabase/lib/query_time.js:193 src/metabase/api/table.clj
 msgid "Day"
-msgstr "Tag"
+msgid_plural "Days"
+msgstr[0] "Tag"
+msgstr[1] "Tage"
 
 #. note the order of these options corresponds to the order they will be shown to the user in the UI
-#: src/metabase/api/table.clj
+#: frontend/src/metabase/lib/query_time.js:189 src/metabase/api/table.clj
 msgid "Minute"
-msgstr "Minute"
+msgid_plural "Minutes"
+msgstr[0] "Minute"
+msgstr[1] "Minuten"
 
-#: src/metabase/api/table.clj
+#: frontend/src/metabase/lib/query_time.js:191 src/metabase/api/table.clj
 msgid "Hour"
-msgstr "Stunde"
+msgid_plural "Hours"
+msgstr[0] "Stunde"
+msgstr[1] "Stunden"
 
-#: src/metabase/api/table.clj
+#: frontend/src/metabase/lib/query_time.js:199 src/metabase/api/table.clj
 msgid "Quarter"
-msgstr "Viertel"
+msgid_plural "Quarters"
+msgstr[0] "Quartal"
+msgstr[1] "Quartale"
 
 #: src/metabase/api/table.clj
 msgid "Minute of Hour"
@@ -7819,7 +7831,7 @@ msgstr "System-Zeitsone ist \"{0}\" ..."
 #. startup database.  validates connection & runs any necessary migrations
 #: src/metabase/core.clj
 msgid "Setting up and migrating Metabase DB. Please sit tight, this may take a minute..."
-msgstr "Einrichten und Migrieren der Metabase DB. Bitte warten, dies kann eine Minute in Anspruch nehmen..."
+msgstr "Einrichten und migrieren der Metabase DB. Bitte warten, dies kann eine Minute in Anspruch nehmen..."
 
 #: src/metabase/core.clj
 msgid "Looks like this is a new installation ... preparing setup wizard"
@@ -7829,11 +7841,11 @@ msgstr "Sieht aus als wäre dies eine neue Installation ... Starte Setup"
 msgid "Metabase Initialization COMPLETE"
 msgstr "Metabase Initialisierung KOMPLETT"
 
-#: src/metabase/core.clj
+#: src/metabase/server.clj
 msgid "Launching Embedded Jetty Webserver with config:"
 msgstr "Starte eingebetteten Jetty Webserver mit Konfiguration:"
 
-#: src/metabase/core.clj
+#: src/metabase/server.clj
 msgid "Shutting Down Embedded Jetty Webserver"
 msgstr "Fahre eingebetteten Jetty Webserver herunter"
 
@@ -7855,19 +7867,19 @@ msgstr "Du kannst das Lösen dieser Sperren erzwingen, indem du ' java-jar Metab
 
 #: src/metabase/db.clj
 msgid "Checking if Database has unrun migrations..."
-msgstr "Prüfe ob Datenbank Migrierungen benötigt..."
+msgstr "Prüfe ob Datenbank-Migrationen benötigt..."
 
 #: src/metabase/db.clj
 msgid "Database has unrun migrations. Waiting for migration lock to be cleared..."
-msgstr "Datenbank hat unverarbeitete Migrierungen. Warte auf bereinigung des Migrations-Locks..."
+msgstr "Datenbank hat unverarbeitete Migration. Warte auf Bereinigung des Migrations-Locks..."
 
 #: src/metabase/db.clj
 msgid "Migration lock is cleared. Running migrations..."
-msgstr "Migrations-Lock bereinigt. Verarbeite Migrierungen..."
+msgstr "Migrations-Lock bereinigt. Verarbeite Migrationen..."
 
 #: src/metabase/db.clj
 msgid "Migration lock cleared, but nothing to do here! Migrations were finished by another instance."
-msgstr "Migrations-Lock bereinigt, jedoch keine Migrierungen mehr zu verarbeiten! Migrierungen wurden von einer anderen Instanz verarbeitet."
+msgstr "Migrations-Lock bereinigt, jedoch keine Migrationen mehr zu verarbeiten!  Migrationen wurden von einer anderen Instanz verarbeitet."
 
 #. Set up liquibase and let it do its thing
 #: src/metabase/db.clj
@@ -7894,51 +7906,51 @@ msgstr "Verarbeite Datenbankmigration..."
 msgid "Database Migrations Current ... "
 msgstr "Datenbankmigrationen aktuell ... "
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Hmm, we couldn''t connect to the database."
 msgstr "Hmm, wir konnten uns nicht mit der Datenbank verbinden."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Make sure your host and port settings are correct"
 msgstr "Vergewissere dich, dass deine Host-und Port-Einstellungen korrekt sind"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "We couldn''t connect to the ssh tunnel host."
 msgstr "Wir konnten uns nicht mit dem SSH-Tunnel-Host verbinden."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Check the username, password."
 msgstr "Prüfe Nutzername, Passwort."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Check the hostname and port."
 msgstr "Prüfe Hostname und Port."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like the database name is incorrect."
 msgstr "Sieht so aus, als sei der Datenbankname falsch."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "It looks like your host is invalid."
 msgstr "Es sieht so aus, als ob der Host ungültig ist."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Please double-check it and try again."
 msgstr "Bitte überprüfe es und versuche es noch einmal."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like your password is incorrect."
 msgstr "Sieht aus als wäre dein Passwort falsch."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like you forgot to enter your password."
 msgstr "Sieht aus als hättest du vergessen dein Passwort einzutragen."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like your username is incorrect."
 msgstr "Sieht aus als wäre dein Nutzername falsch."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like the username or password is incorrect."
 msgstr "Sieht aus als wäre dein Nutzername oder Passwort falsch."
 
@@ -7955,16 +7967,16 @@ msgstr "Treiber {0} {1} registriert"
 msgid "No -init-driver function found for ''{0}''"
 msgstr "Keine -init-driver Funktion für \"{0}\" gefunden"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Unable to parse date string ''{0}'' for database engine ''{1}''"
 msgstr "Konnte Datum \"{0}\" mit Datenbank-Engine \"{1}\" nicht verarbeiten. "
 
 #. all-NULL columns in DBs like Mongo w/o explicit types
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Don''t know how to map class ''{0}'' to a Field base_type, falling back to :type/*."
 msgstr "Nicht möglich Klasse \"{0}\" zum Feld base_typ zu mappen. Falle auf :type/* zurück."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/util.clj
 msgid "Failed to connect to database: {0}"
 msgstr "Fehler beim Verbinden mit der Datenbank: {0}"
 
@@ -7978,7 +7990,7 @@ msgstr "Ungültiger BigQuery-Identifier: \"{0}\""
 msgid "BigQuery statements can't be parameterized!"
 msgstr "BigQuery-Anweisungen können nicht parameterisiert werden!"
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql_jdbc/execute.clj
 msgid "Failed to set timezone:"
 msgstr "Fehler beim Setzen der Zeitzone:"
 
@@ -8014,15 +8026,15 @@ msgstr "Die Adresse des SMTP-Servers der eine E-Mails verarbeitet."
 
 #: src/metabase/email.clj
 msgid "SMTP username."
-msgstr "SMTP Nutzername."
+msgstr "SMTP-Nutzername."
 
 #: src/metabase/email.clj
 msgid "SMTP password."
-msgstr "SMTP Passwort."
+msgstr "SMTP-Passwort."
 
 #: src/metabase/email.clj
 msgid "The port your SMTP server uses for outgoing emails."
-msgstr "Der Port den dein SMTP-Servers verwendet um E-Mails zu versenden."
+msgstr "Der Port den dein SMTP-Server verwendet um E-Mails zu versenden."
 
 #: src/metabase/email.clj
 msgid "SMTP secure connection protocol. (tls, ssl, starttls, or none)"
@@ -8117,11 +8129,11 @@ msgstr "Slack API bearer token, generiert unter https://api.slack.com/web#authen
 msgid "Enable MetaBot, which lets you search for and view your saved questions directly via Slack."
 msgstr "Aktiviere MetaBot, mit dem du deine gespeicherten Fragen direkt über Slack suchen und ansehen kannst."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
 msgid "Last MetaBot checkin was {0} ago."
 msgstr "Der letzte MetaBot-Checkin war vor {0}"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
 msgid "This instance will now handle MetaBot duties."
 msgstr "Diese Instanz wird nun MetaBot-Aufgaben verarbeiten."
 
@@ -8134,39 +8146,39 @@ msgstr "Hier ist, was ich kann {0}:"
 msgid "I don''t know how to {0} `{1}`.n{2}"
 msgstr "Ich weiß nicht wie {0} `{1}`.n{2}"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/slack.clj
 msgid "Uh oh! :cry:n> {0}"
 msgstr "Oh oh! :cry:n> {0}"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Here''s your {0} most recent cards:n{1}"
 msgstr "Hier sind deine {0} letzten Karten:n{1}"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Could you be a little more specific? I found these cards with names that matched:n{0}"
 msgstr "Könntest du etwas konkreter sein? Ich fand diese Karten mit Namen, die übereinstimmen: {0}"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "I don''t know what Card `{0}` is. Give me a Card ID or name."
 msgstr "Ich weiß nicht, welche Karte '{0}' ist. Gib mir eine Karten ID oder einen Namen."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Show which card? Give me a part of a card name or its ID and I can show it to you. If you don''t know which card you want, try `metabot list`."
 msgstr "Welche Karte soll ich anzeigen? Gib mir einen Teil der Kartenbezeichnung oder ihre ID und ich kann sie dir zeigen. Falls du nicht weißt welche Karte du sehen möchtest, versuche 'metabot list'."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Ok, just a second..."
 msgstr "Ok, nur seine Sekunde..."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Not Found"
 msgstr "Nicht gefunden"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Loading Kanye quotes..."
 msgstr "Lade Kanye Zitate..."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/events.clj
 msgid "Evaluating Metabot command:"
 msgstr "Evaluiere Metabot-Kommando:"
 
@@ -8174,23 +8186,23 @@ msgstr "Evaluiere Metabot-Kommando:"
 msgid "Go home websocket, you're drunk."
 msgstr "Geh' nach Hause Websocket, du bist betrunken."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/websocket.clj
 msgid "Error launching metabot:"
 msgstr "Fehler beim Starten von MetaBot:"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/websocket.clj
 msgid "MetaBot WebSocket is closed. Reconnecting now."
-msgstr "MetaBot WebSocket ist geschlossen. Wiederverbinde."
+msgstr "MetaBot WebSocket ist geschlossen. Verbinde erneut."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/websocket.clj
 msgid "Error connecting websocket:"
 msgstr "Fehler beim Verbinden vom WebSocket:"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
 msgid "This instance is performing MetaBot duties."
 msgstr "Diese Instanz verarbeitet MetaBot-Aufgaben."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
 msgid "Another instance is already handling MetaBot duties."
 msgstr "Eine andere Instanz verarbeitet bereits MetaBot-Aufgaben."
 
@@ -8206,15 +8218,15 @@ msgstr "Stoppe MetaBot...  🤖"
 msgid "MetaBot already running. Killing the previous WebSocket listener first."
 msgstr "MetaBot läuft bereits. Stoppe zuerst den vorherigen WebSocket listener."
 
-#: src/metabase/middleware.clj
+#: src/metabase/middleware/security.clj
 msgid "Base-64 encoded public key for this site's SSL certificate."
 msgstr "Base-64 verschlüsselter öffentlicher Schlüssel für das SSL-Zertifikat dieser Website."
 
-#: src/metabase/middleware.clj
+#: src/metabase/middleware/security.clj
 msgid "Specify this to enable HTTP Public Key Pinning."
 msgstr "Spezifizieren um HTTP Public Key Pinning zu aktivieren."
 
-#: src/metabase/middleware.clj
+#: src/metabase/middleware/security.clj
 msgid "See {0} for more information."
 msgstr "Siehe {0} für weitere Informationen."
 
@@ -8414,7 +8426,7 @@ msgstr "Ungültiger Abfrage-Typ: {0}"
 
 #: src/metabase/models/query_execution.clj
 msgid "You cannot update a QueryExecution!"
-msgstr "Du kannst keine Abfrage-Ausführung aktualiseren!"
+msgstr "Du kannst keine Abfrage-Ausführung aktualisieren!"
 
 #: src/metabase/models/revision.clj
 msgid "You cannot update a Revision!"
@@ -8424,19 +8436,19 @@ msgstr "Du kannst eine Revision nicht aktualisieren!"
 msgid "Setting {0} does not exist.nFound: {1}"
 msgstr "Einstellung {0} existiert nicht.nGefunden: {1}"
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Updating value of settings-last-updated in DB..."
 msgstr "Aktualisieren des Wertes von \"settings-last-updated\" in der Datenbank..."
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Checking whether settings cache is out of date (requires DB call)..."
 msgstr "Prüfe ob der Einstellungscache veraltet ist (benötigt Datenbankaufruf)"
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Settings have been changed on another instance, and will be reloaded here."
 msgstr "Einstellungen wurden in einer anderen Instanz geändert und werden hier neu geladen."
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Refreshing Settings cache..."
 msgstr "Aktualisiere Einstellungscache..."
 
@@ -8489,7 +8501,7 @@ msgstr "Weitere Informationen findest du auf https://Metabase.com/docs/Latest/Op
 
 #: src/metabase/plugins.clj
 msgid "(If you're already running Metabase this way, you can ignore this message.)"
-msgstr "(wenn du Metabase bereits auf diese Weise betreibest, kannst du diese Nachricht ignorieren.)"
+msgstr "(wenn du Metabase bereits auf diese Weise betreibst, kannst du diese Nachricht ignorieren.)"
 
 #: src/metabase/public_settings.clj
 msgid "Identify when new versions of Metabase are available."
@@ -8497,7 +8509,7 @@ msgstr "Erkenne wenn neue Versionen von Metabase zur Verfügung stehen."
 
 #: src/metabase/public_settings.clj
 msgid "Information about available versions of Metabase."
-msgstr "Informationen über verfügbare Metabaseversionen."
+msgstr "Informationen über verfügbare Metabase-Versionen."
 
 #: src/metabase/public_settings.clj
 msgid "The name used for this instance of Metabase."
@@ -8509,7 +8521,7 @@ msgstr "Die Basis-URL dieser Metabase-Instanz. Bspw.: \"http://metabase.meine-fi
 
 #: src/metabase/public_settings.clj
 msgid "The default language for this Metabase instance."
-msgstr "Die Standardsprache für diese Metabaseinstanz."
+msgstr "Die Standardsprache für diese Metabase-Instanz."
 
 #: src/metabase/public_settings.clj
 msgid "This only applies to emails, Pulses, etc. Users'' browsers will specify the language used in the user interface."
@@ -8569,7 +8581,7 @@ msgstr "Wenn du die Standard-Klasseneinteilung verwendest und keine Anzahl an Kl
 
 #: src/metabase/public_settings.clj
 msgid "When using the default binning strategy for a field of type Coordinate (such as Latitude and Longitude), this number will be used as the default bin width (in degrees)."
-msgstr "Wenn du die Standard-Klasseneinteilung für ein Feld vom Typ Koordinate (wie z.B. Längengrad und Breitengrad) verwendest, wird diese Nummer (in Grad) als Standartwert verwendet."
+msgstr "Wenn du die Standard-Klasseneinteilung für ein Feld vom Typ Koordinate (wie z.B. Längengrad und Breitengrad) verwendest, wird diese Nummer (in Grad) als Standardwert verwendet."
 
 #: src/metabase/public_settings/metastore.clj
 msgid "Unable to validate token."
@@ -8665,7 +8677,7 @@ msgstr "\"{0}\" ohne abschließendes \"{1}\" in Abfrage \"{2}\" gefunden"
 
 #: src/metabase/query_processor/middleware/parameters/sql.clj
 msgid "Unable to substitute ''{0}'': param not specified.nFound: {1}"
-msgstr "Unmöglich \"{0}\" zu ersetzen: Parameter ist nicht spezifiziert.nGefdunen: {1}"
+msgstr "Unmöglich \"{0}\" zu ersetzen: Parameter ist nicht spezifiziert.nGefunden: {1}"
 
 #: src/metabase/query_processor/middleware/permissions.clj
 msgid "You do not have permissions to view Card {0}."
@@ -8958,27 +8970,27 @@ msgstr "Alle Sammlungsberechtigungen sehen"
 msgid "Also change sub-collections"
 msgstr "Auch Untersammlungen ändern"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:278
+#: frontend/src/metabase/admin/permissions/selectors.js:282
 msgid "Can edit this collection and its contents"
 msgstr "Kann diese Sammlung und ihre Inhalte editieren"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:285
+#: frontend/src/metabase/admin/permissions/selectors.js:289
 msgid "Can view items in this collection"
 msgstr "Kann Objekte in dieser Sammlung sehen"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:745
+#: frontend/src/metabase/admin/permissions/selectors.js:749
 msgid "Collection Access"
 msgstr "Sammlungszugriff"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:821
+#: frontend/src/metabase/admin/permissions/selectors.js:825
 msgid "This group has permission to view at least one subcollection of this collection."
 msgstr "Diese Gruppe hat die Erlaubnis, mindestens eine Untersammlung dieser Sammlung zu sehen."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:826
+#: frontend/src/metabase/admin/permissions/selectors.js:830
 msgid "This group has permission to edit at least one subcollection of this collection."
 msgstr "Diese Gruppe hat die Erlaubnis, mindestens eine Untersammlung dieser Sammlung zu bearbeiten."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:839
+#: frontend/src/metabase/admin/permissions/selectors.js:843
 msgid "View sub-collections"
 msgstr "Untersammlungen anzeigen"
 
@@ -8986,19 +8998,19 @@ msgstr "Untersammlungen anzeigen"
 msgid "Remember Me"
 msgstr "Angemeldet bleiben"
 
-#: frontend/src/metabase/components/BrowseApp.jsx:120
+#: frontend/src/metabase/components/BrowseApp.jsx:95
 msgid "X-ray this schema"
 msgstr "Dieses Schema durchleuchten"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:246
+#: frontend/src/metabase/components/CollectionLanding.jsx:258
 msgid "Edit the permissions for this collection"
 msgstr "Berechtigungen für diese Sammlung bearbeiten"
 
-#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:51
+#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:55
 msgid "Add this question to a dashboard"
 msgstr "Füge diese Frage zu einem Dashboard hinzu "
 
-#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:61
+#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:65
 msgid "Create a new dashboard"
 msgstr "Neues Dashboard erstellen"
 
@@ -9010,11 +9022,11 @@ msgstr "Die von dir angeforderte Seite konnte nicht gefunden werden."
 msgid "Select a {0}"
 msgstr "Wähle eine/n {0}"
 
-#: frontend/src/metabase/containers/Overworld.jsx:190
+#: frontend/src/metabase/containers/Overworld.jsx:185
 msgid "Save dashboards, questions, and collections in \"{0}\""
 msgstr "Speichere Dashboards, Fragen und Sammlungen in \"{0}\""
 
-#: frontend/src/metabase/containers/Overworld.jsx:193
+#: frontend/src/metabase/containers/Overworld.jsx:188
 msgid "Access dashboards, questions, and collections in \"{0}\""
 msgstr "Öffne Dashboards, Fragen und Sammlungen in \"{0}\""
 
@@ -9034,11 +9046,11 @@ msgstr "Ähnlich"
 msgid "More X-rays"
 msgstr "Mehr X-Rays"
 
-#: frontend/src/metabase/home/containers/SearchApp.jsx:50
+#: frontend/src/metabase/home/containers/SearchApp.jsx:46
 msgid "No results"
 msgstr "Keine Ergebnisse"
 
-#: frontend/src/metabase/home/containers/SearchApp.jsx:51
+#: frontend/src/metabase/home/containers/SearchApp.jsx:47
 msgid "Metabase couldn't find any results for your search."
 msgstr "Metabase konnte keine Ergebnisse für deine Suche finden."
 
@@ -9085,43 +9097,43 @@ msgstr "Fehler beim Zuweisen der Berechtigungen: {0}"
 msgid "Cannot decrypt encrypted string. Have you changed or forgot to set MB_ENCRYPTION_SECRET_KEY?"
 msgstr "Konnte verschlüsselte Strings nicht entschlüsseln. Hast du vergessen MB_ENCRYPTION_SECRET_KEY zu setzen oder den Wert geändert?"
 
-#: frontend/src/metabase/entities/collections.js:157
+#: frontend/src/metabase/entities/collections.js:164
 msgid "All personal collections"
 msgstr "Alle persönlichen Sammlungen"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Host"
 msgstr "Host"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Port"
 msgstr "Port"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Database username"
 msgstr "Datenbank-Nutzername"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "What username do you use to login to the database?"
 msgstr "Welchen Nutzernamen nutzt du zum Login in die Datenbank?"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Database password"
 msgstr "Datenbank-Passwort"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Database name"
 msgstr "Datenbank-Name"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "birds_of_the_world"
 msgstr "birds_of_the_world"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Use a secure connection (SSL)?"
 msgstr "Eine sichere Verbindung (SSL) verwenden?"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Additional JDBC connection string options"
 msgstr "Zusätzliche JDBC-Verbindungs-String-Optionen"
 
@@ -9261,7 +9273,7 @@ msgstr "Beschriftungen"
 msgid "Add members"
 msgstr "Mitglieder hinzufügen"
 
-#: frontend/src/metabase/entities/collections.js:108
+#: frontend/src/metabase/entities/collections.js:115
 msgid "Collection it's saved in"
 msgstr "Sammlung in der es gespeichert ist"
 
@@ -9290,10 +9302,10 @@ msgstr "Teilen"
 #: frontend/src/metabase/visualizations/lib/settings/graph.js:321
 #: frontend/src/metabase/visualizations/lib/settings/nested.js:126
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:83
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:72
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:77
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:83
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:89
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:80
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:85
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:91
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:97
 #: frontend/src/metabase/visualizations/visualizations/Progress.jsx:50
 #: frontend/src/metabase/visualizations/visualizations/Progress.jsx:56
 #: frontend/src/metabase/visualizations/visualizations/Text.jsx:72
@@ -9315,20 +9327,20 @@ msgstr "Achsen"
 
 #: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:222
 #: frontend/src/metabase/admin/settings/selectors.js:319
-#: frontend/src/metabase/qb/components/drill/FormatAction.jsx:27
+#: frontend/src/metabase/modes/components/drill/FormatAction.jsx:27
 #: frontend/src/metabase/visualizations/lib/settings/column.js:63
 msgid "Formatting"
 msgstr "Formatierung"
 
-#: frontend/src/metabase/containers/Overworld.jsx:107
+#: frontend/src/metabase/containers/Overworld.jsx:102
 msgid "Try these x-rays based on your data."
 msgstr "Schaue dir diese X-Rays, basierend auf deinen Daten, an "
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:35
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:36
 msgid "There was a problem displaying this chart."
 msgstr "Es gab ein Problem, dieses Diagramm anzuzeigen."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:36
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:37
 msgid "Sorry, you don't have permission to see this card."
 msgstr "Es tut uns leid, du hast keine Erlaubnis, diese Karte zu sehen."
 
@@ -9340,11 +9352,11 @@ msgstr "Eine kurze Info:"
 msgid "{0} without the Sample Dataset, the Query Builder tutorial won't work. You can always restore the Sample Dataset, but any questions you've saved using this data will be lost."
 msgstr "{0} ohne die Beispieldaten wird die Abfragengenerator-Anleitung nicht funktionieren. Du kannst die Beispieldaten jederzeit wiederherstellen, aber jegliche Abfragen die du gesichert hast werden verloren gehen."
 
-#: frontend/src/metabase/qb/components/drill/AutomaticDashboardDrill.jsx:33
+#: frontend/src/metabase/modes/components/drill/AutomaticDashboardDrill.jsx:33
 msgid "X-ray"
 msgstr "X-Ray"
 
-#: frontend/src/metabase/qb/components/drill/CompareToRestDrill.js:34
+#: frontend/src/metabase/modes/components/drill/CompareToRestDrill.js:34
 msgid "Compare to the rest"
 msgstr "Vergleiche mit dem Rest"
 
@@ -9357,11 +9369,11 @@ msgid "We suggest you leave this off unless you're doing manual timezone casting
 "many or most of your queries with this data."
 msgstr "Wir empfehlen dir diesen Wert zu belassen, es sei denn, du machst manuelle Zeitzone-Castings in vielen oder den meisten deiner Abfragen mit diesen Daten."
 
-#: frontend/src/metabase/containers/Overworld.jsx:315
+#: frontend/src/metabase/containers/Overworld.jsx:310
 msgid "Your team's most important dashboards go here"
 msgstr "Die wichtigsten Dashboards deines Teams kommen hier hin"
 
-#: frontend/src/metabase/containers/Overworld.jsx:316
+#: frontend/src/metabase/containers/Overworld.jsx:311
 msgid "Pin dashboards in {0} to have them appear in this space for everyone"
 msgstr "Fixiere Dashboards in {0} damit sie für jeden an dieser Stelle erscheinen"
 
@@ -9391,8 +9403,8 @@ msgstr "Wähle einen Währungstypen"
 msgid "Field Type"
 msgstr "Feld-Typ"
 
-#: frontend/src/metabase/admin/routes.jsx:83
-#: frontend/src/metabase/nav/containers/Navbar.jsx:225
+#: frontend/src/metabase/admin/routes.jsx:109
+#: frontend/src/metabase/nav/containers/Navbar.jsx:224
 msgid "Troubleshooting"
 msgstr "Fehlerbehebung"
 
@@ -9404,35 +9416,35 @@ msgstr "X-Ray-Funktionen aktivieren"
 msgid "Formatting Options"
 msgstr "Formatierungsoptionen"
 
-#: frontend/src/metabase/admin/tasks/containers/TaskModal.jsx:20
+#: frontend/src/metabase/admin/tasks/containers/TaskModal.jsx:19
 msgid "Task details"
 msgstr "Aufgaben-Details"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:36
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:29
 msgid "Troubleshooting logs"
 msgstr "Fehlerprotokolle"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:38
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:31
 msgid "Trying to get to the bottom of something? This section shows logs of Metabase's background tasks, which can help shed light on what's going on."
 msgstr "Versuchst du, den Grund für etwas zu finden? In diesem Abschnitt werden Protokolle der Hintergrundaufgaben von Metabase angezeigt, die helfen, Aufschluss über das Geschehen zu geben."
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:63
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:56
 msgid "Task"
 msgstr "Aufgabe"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:64
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:57
 msgid "DB ID"
 msgstr "DB-ID"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:65
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:58
 msgid "Started at"
 msgstr "Startzeitpunkt"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:66
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:59
 msgid "Ended at"
 msgstr "Endzeitpunkt"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:67
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:60
 msgid "Duration (ms)"
 msgstr "Dauer (ms) "
 
@@ -9440,7 +9452,7 @@ msgstr "Dauer (ms) "
 msgid "Currency"
 msgstr "Währung"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:163
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:161
 msgid "Pick a user or channel..."
 msgstr "Wähle einen Benutzer oder einen Kanal"
 
@@ -9618,15 +9630,15 @@ msgstr "Tacho"
 msgid "Gauge ranges"
 msgstr "Messbereich"
 
-#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:91
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:94
 msgid "Field to show"
 msgstr "Feld zum Anzeigen"
 
-#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:118
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:121
 msgid "last {0}"
 msgstr "Letzte {0}"
 
-#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:176
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:185
 msgid "{0} was {1} {2}"
 msgstr "{0} war {1} {2}"
 
@@ -9668,7 +9680,7 @@ msgstr "Link"
 
 #: frontend/src/metabase/visualizations/visualizations/Table.jsx:187
 msgid "Email link"
-msgstr "Email-Link"
+msgstr "E-Mail-Link"
 
 #: frontend/src/metabase/visualizations/visualizations/Table.jsx:191
 msgid "Image"
@@ -9768,7 +9780,7 @@ msgstr "WARNUNG: Ein Datum kann nicht mehreren diskreten Intervallen angehören,
 
 #: src/metabase/driver/druid/query_processor.clj
 msgid "Ignoring these intervals: {0}"
-msgstr "Ignoriere diese Intrervalle: {0}"
+msgstr "Ignoriere diese Intervalle: {0}"
 
 #. We should never get to this point since the all non-string negations should get automatically rewritten
 #. by the query expander.
@@ -9789,19 +9801,19 @@ msgstr "WARNUNG: Es macht nur Sinn :fields ohne Aggregation zu spezifizieren. Ig
 msgid "WARNING: Druid doenst allow limitSpec in timeseries queries. Ignoring the LIMIT clause."
 msgstr "WARNUNG: Druid erlaubt limitSpec in Zeitserienabfragen zu verwenden. Ignoriere die LIMIT Klausel."
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql/query_processor.clj
 msgid "HoneySQL Form:"
 msgstr "HoneySQL Formular:"
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql_jdbc/execute.clj
 msgid "Unable to parse date ''{0}''"
 msgstr "Zerlegung des Datums \"{0}\" nicht möglich"
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql_jdbc/execute.clj
 msgid "Client closed connection, cancelling query"
 msgstr "Der Client hat die Verbindung beendet - Abbruch der Abfrage"
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql_jdbc/execute.clj
 msgid "Setting timezone with statement: {0}"
 msgstr "Setze Zeitzone mit Anweisung: {0}"
 
@@ -9887,7 +9899,7 @@ msgid "You cannot remove the last member of the ''Admin'' group!"
 msgstr "Du kannst nicht das letzte Mitglied der Gruppe \"Admin\" entfernen!"
 
 #. go ahead and log the Exception anyway on the off chance that it *wasn't* just a race condition issue
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Error inserting a new Setting: {0}"
 msgstr "Fehler beim Setzen einer Einstellung: {0}"
 
@@ -11346,3 +11358,1062 @@ msgstr "Token fehlt der Wert für den Schlüsselpfad"
 msgid "In-depth example"
 msgstr "Ausführliches Beispiel"
 
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:29
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:17
+msgid "Key"
+msgstr "Schlüssel"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:30
+msgid "Class"
+msgstr "Klasse"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:32
+msgid "Triggers"
+msgstr "Auslöser"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:48
+msgid "View triggers"
+msgstr "Auslöser anzeigen"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:82
+msgid "Scheduler Info"
+msgstr "Planer-Info"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:20
+msgid "Priority"
+msgstr "Priorität"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:21
+msgid "Last Fired"
+msgstr "Letzte Ausführung"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:22
+msgid "Next Fire Time"
+msgstr "Nächste Ausführung"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:23
+msgid "Start Time"
+msgstr "Startzeit"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:24
+msgid "End Time"
+msgstr "Endzeit"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:25
+msgid "Final Fire Time"
+msgstr "Finale Ausführungszeit"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:26
+msgid "May Fire Again?"
+msgstr "Erneut ausführen?"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:75
+msgid "Triggers for {0}"
+msgstr "Auslöser für {0}"
+
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:25
+msgid "Tasks"
+msgstr "Aufgaben"
+
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:30
+msgid "Jobs"
+msgstr "Jobs"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:740
+msgid "Duplicated {0}"
+msgstr "Doppelte {0}"
+
+#: frontend/src/metabase/components/EntityItem.jsx:55
+msgid "Duplicate this item"
+msgstr "Eintrag duplizieren"
+
+#: frontend/src/metabase/components/EntityItem.jsx:61
+msgid "Archive this item"
+msgstr "Eintrag archivieren"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:330
+msgid "Duplicate dashboard"
+msgstr "Dashboard duplizieren"
+
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:16
+msgid "Duplicate \"{0}\""
+msgstr "\"{0}\" duplizieren"
+
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:21
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:26
+msgid "Duplicate"
+msgstr "Duplizieren"
+
+#: frontend/src/metabase/lib/query_time.js:115
+msgid "Tomorrow"
+msgstr "Morgen"
+
+#: frontend/src/metabase/lib/query_time.js:129
+#: frontend/src/metabase/lib/query_time.js:143
+msgid "This {0}"
+msgstr "Diesen {0}"
+
+#: frontend/src/metabase/lib/query_time.js:132
+msgid "Next {0}"
+msgstr "Nächsten {0}"
+
+#: frontend/src/metabase/lib/query_time.js:135
+msgid "Previous {0}"
+msgstr "Vorheriger {0}"
+
+#: frontend/src/metabase/lib/query_time.js:139
+msgid "Previous {0} {1}"
+msgstr "Vorheriger {0} {1}"
+
+#: frontend/src/metabase/lib/query_time.js:141
+msgid "Next {0} {1}"
+msgstr "Nächster {0} {1}"
+
+#: frontend/src/metabase/lib/query_time.js:171
+msgid "Now"
+msgstr "Jetzt"
+
+#: frontend/src/metabase/lib/query_time.js:174
+msgid "{0} {1} ago"
+msgstr "vor {0} {1}"
+
+#: frontend/src/metabase/lib/query_time.js:175
+msgid "{0} {1} from now"
+msgstr "{0} {1} ab heute"
+
+#: frontend/src/metabase/lib/query_time.js:187
+msgid "Default period"
+msgid_plural "Default periods"
+msgstr[0] "Standard Zeitraum"
+msgstr[1] "Standard Zeiträume"
+
+#: frontend/src/metabase/lib/query_time.js:203
+msgid "Minute of hour"
+msgid_plural "Minutes of hour"
+msgstr[0] "Minute einer Stunde"
+msgstr[1] "Minuten einer Stunde"
+
+#: frontend/src/metabase/lib/query_time.js:205
+msgid "Hour of day"
+msgid_plural "Hours of day"
+msgstr[0] "Stunde am Tag"
+msgstr[1] "Stunden am Tag"
+
+#: frontend/src/metabase/lib/query_time.js:207
+msgid "Day of week"
+msgid_plural "Days of week"
+msgstr[0] "Tag in der Woche"
+msgstr[1] "Tage in der Woche"
+
+#: frontend/src/metabase/lib/query_time.js:209
+msgid "Day of month"
+msgid_plural "Days of month"
+msgstr[0] "Tag im Monat"
+msgstr[1] "Tage im Monat"
+
+#: frontend/src/metabase/lib/query_time.js:211
+msgid "Day of year"
+msgid_plural "Days of year"
+msgstr[0] "Tag im Jahr"
+msgstr[1] "Tage im Jahr"
+
+#: frontend/src/metabase/lib/query_time.js:213
+msgid "Week of year"
+msgid_plural "Weeks of year"
+msgstr[0] "Woche im Jahr"
+msgstr[1] "Wochen im Jahr"
+
+#: frontend/src/metabase/lib/query_time.js:215
+msgid "Month of year"
+msgid_plural "Months of year"
+msgstr[0] "Monat im Jahr"
+msgstr[1] "Monate im Jahr"
+
+#: frontend/src/metabase/lib/query_time.js:217
+msgid "Quarter of year"
+msgid_plural "Quarters of year"
+msgstr[0] "Quartal im Jahr"
+msgstr[1] "Quartale im Jahr"
+
+#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:62
+#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:58
+#: frontend/src/metabase/query_builder/components/Filter.jsx:79
+msgid "{0} selection"
+msgid_plural "{0} selections"
+msgstr[0] "{0} Auswahl"
+msgstr[1] "{0} Auswahlen"
+
+#: frontend/src/metabase/parameters/components/widgets/DateQuarterYearWidget.jsx:11
+msgid "[Q]Q"
+msgstr "[Q]Q"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:28
+msgid "This"
+msgstr "Dieses"
+
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:64
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:96
+msgid "Invalid"
+msgstr "Ungültig"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/SpecificDatePicker.jsx:147
+msgid "Add a time"
+msgstr "Zeit hinzufügen"
+
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:170
+msgid "Nothing to compare for the previous {0}."
+msgstr "Es gibt nichts zum vorigen {0} zu vergleichen."
+
+#: frontend/src/metabase-lib/lib/Dimension.js:517
+msgid "by {0}"
+msgstr "von {0}"
+
+#: src/metabase/api/database.clj
+msgid "value must be a valid database engine."
+msgstr "der Wert muss eine gültige Datenbank-Engine sein."
+
+#: src/metabase/api/geojson.clj
+msgid "Connection refused by host for URL `{0}`"
+msgstr "Die Verbindung wurde vom Host mit der URL `{0}` abgelehnt."
+
+#: src/metabase/db.clj
+msgid "Warning: Postgres connection string with `ssl=true` detected."
+msgstr "Warnung: Postgress Verbindung mit String 'ssl=true' erkannt."
+
+#: src/metabase/db.clj
+msgid "You may need to add `?sslmode=require` to your application DB connection string."
+msgstr "Eventuell musst Du '?sslmode=require' zu deiner Anwendung als DB Connection String hinzufügen."
+
+#: src/metabase/db.clj
+msgid "If Metabase fails to launch, please add it and try again."
+msgstr "Wenn Metabase nicht startet, füge es bitte hinzu und versuche es noch einmal."
+
+#: src/metabase/db.clj
+msgid "See https://github.com/metabase/metabase/issues/8908 for more details."
+msgstr "Siehe https://github.com/metabase/metabase/issues/8908 für mehr Details."
+
+#: src/metabase/db.clj
+msgid "WARNING: Using Metabase with an H2 application database is not recomended for production deployments."
+msgstr "WARNUNG: Es wird nicht empfohlen Metabase mit einer H2 Applikation in Produktionsumgebungen zu verwenden."
+
+#: src/metabase/db.clj
+msgid "For production deployments, we highly recommend using Postgres, MySQL, or MariaDB instead."
+msgstr "Für den Betrieb in Produktivumgebungen empfehlen wir stattdessen den Einsatz von Postgres, MySQL oder MariaDB."
+
+#: src/metabase/db.clj
+msgid "If you decide to continue to use H2, please be sure to back up the database file regularly."
+msgstr "Stellen Sie sicher, die Datenbank regelmäßig zu sichern, wenn sie sich entscheiden H2 zu verwenden."
+
+#: src/metabase/db.clj
+msgid "See https://metabase.com/docs/latest/operations-guide/start.html#migrating-from-using-the-h2-database-to-mysql-or-postgres for more information."
+msgstr "Hier gibt es mehr Informationen dazu: https://metabase.com/docs/latest/operations-guide/start.html#migrating-from-using-the-h2-database-to-mysql-or-postgres"
+
+#: src/metabase/db.clj
+msgid "Unable to connect to Metabase {0} DB."
+msgstr "Verbindung zur Metabase {0} DB nicht möglich."
+
+#: src/metabase/db/migrations.clj
+msgid "Error adding legacy SQL directive to BigQuery saved Question"
+msgstr "Fehler beim Hinzufügen der Legacy-SQL-Anweisung zur BigQuery Abfrage"
+
+#: src/metabase/driver.clj
+msgid "Failed to notify {0} Database {1} updated"
+msgstr "Fehlgeschlagene Information an {0} Datenbank {1} aktualisiert"
+
+#: src/metabase/driver.clj
+msgid "Loading driver {0} {1}"
+msgstr "Lade Treiber {0} {1}"
+
+#: src/metabase/driver.clj
+msgid "Load driver {0}"
+msgstr "Lade Treiber {0}"
+
+#: src/metabase/driver.clj
+msgid "Driver not registered after loading: {0}"
+msgstr "Treiber nach dem Laden nicht registriert: {0}"
+
+#: src/metabase/driver.clj
+msgid "Error: attempting to change {0} property `:abstract?` from {1} to {2}."
+msgstr ""
+
+#: src/metabase/driver.clj
+msgid "Registered abstract driver {0}"
+msgstr "Abstrakter Treiber {0} registriert"
+
+#: src/metabase/driver.clj
+msgid "Registered driver {0}"
+msgstr "Treiber {0} registriert"
+
+#: src/metabase/driver.clj
+msgid "(parents: {0})"
+msgstr "(Eltern: {0})"
+
+#: src/metabase/driver.clj
+msgid "Initializing driver {0}..."
+msgstr "Initialisiere Treiber {0}..."
+
+#: src/metabase/driver.clj
+msgid "Reason:"
+msgstr "Grund:"
+
+#: src/metabase/driver.clj
+msgid "Invalid driver feature: {0}"
+msgstr "Ungültiges Treiber-Feature"
+
+#: src/metabase/driver/sql/query_processor.clj
+msgid "Invalid HoneySQL form:"
+msgstr "Ungültige HoneySQL Anfrage:"
+
+#: src/metabase/driver/sql_jdbc/connection.clj
+msgid "Closing connection pool for database {0} ..."
+msgstr "Schließe Verbindungs-Pool für Datenbank {0} ..."
+
+#: src/metabase/driver/util.clj
+msgid "Error loading namespace"
+msgstr "Fehler beim Laden des Namensraums"
+
+#: src/metabase/events.clj
+msgid "Starting events listener:"
+msgstr "Starte Events-Listener:"
+
+#: src/metabase/events.clj
+msgid "Unexpected error listening on events"
+msgstr "Unerwarteter Fehler beim Warten auf Events"
+
+#: src/metabase/events/sync_database.clj
+msgid "Error syncing Database {0}"
+msgstr "Fehler beim Synchronisieren der Datenbank {0}"
+
+#: src/metabase/events/sync_database.clj
+msgid "Failed to process sync-database event."
+msgstr ""
+
+#: src/metabase/mbql/util.clj
+msgid "Bad nested-query-level: query does not have a source query"
+msgstr ""
+
+#: src/metabase/metabot/command.clj
+msgid "I don''t know how to `{0}`."
+msgstr "Ich weiß nicht wie man `{0}`."
+
+#: src/metabase/metabot/command.clj
+msgid "Here''s what I can do: "
+msgstr "Das ich was ich machen kann: "
+
+#: src/metabase/metabot/slack.clj
+msgid "Error in Metabot command"
+msgstr "Fehler in Metabot-Befehl"
+
+#: src/metabase/metabot/websocket.clj
+msgid "Websocket associated with this Slack event is different from the websocket we're currently using."
+msgstr "Der Websocket der mit diesem Slack-Event verbunden ist unterscheidet sich vom aktuellen Websocket."
+
+#: src/metabase/models/field_values.clj
+msgid "FieldValues for Field {0} remain unchanged. Skipping..."
+msgstr "Feldwerte für das Feld {0} bleiben unverändert. Überspringe..."
+
+#: src/metabase/models/interface.clj
+msgid "Unable to normalize:"
+msgstr "Konnte nicht normalisieren:"
+
+#: src/metabase/models/params.clj
+msgid "Could not find matching Field ID for target:"
+msgstr "Konnte keine passende Feld-ID finden für das Ziel:"
+
+#: src/metabase/plugins.clj
+msgid "Metabase does not have permissions to write to plugins directory {0}"
+msgstr "Metabse hat keine Berechtigungen, um direkt in das Plugin-Verzeichnis {0} zu schreiben"
+
+#: src/metabase/plugins.clj
+msgid "Metabase cannot use the plugins directory {0}"
+msgstr "Metabase kann das Plugin-Verzeichnis {0} nicht benutzen"
+
+#: src/metabase/plugins.clj
+msgid "Please make sure the directory exists and that Metabase has permission to write to it."
+msgstr "Bitte stelle sicher, dass das Verzeichnis existiert und dass Metabase die Berechtigung hat, dort zu schreiben."
+
+#: src/metabase/plugins.clj
+msgid "You can change the directory Metabase uses for modules by setting the environment variable MB_PLUGINS_DIR."
+msgstr "Du kannst das Modul-Verzeichnis von Metabase ändern, indem du die Umgebungsvariable MB_PLUGINS_DIR setzt."
+
+#: src/metabase/plugins.clj
+msgid "Falling back to a temporary directory for now."
+msgstr "Falle vorerst auf ein temporäres Verzeichnis zurück."
+
+#: src/metabase/plugins.clj
+msgid "Metabase cannot write to temporary directory. Please set MB_PLUGINS_DIR to a writable directory and restart Metabase."
+msgstr "Metabase kann nicht in das temporäre Verzeichnis schreiben. Bitte setze den Wert MB_PLUGINS_DIR auf ein schreibbares Verzeichnis und starte Metabase neu."
+
+#: src/metabase/plugins.clj
+msgid "spark-deps.jar is no longer needed by Metabase 1.0+. You can delete it from the plugins directory."
+msgstr "spark-deps.jar wird nicht länger für Metabase 1.0+ benötigt. Du kannst es aus deinem Modul-Verzeichnis entfernen."
+
+#: src/metabase/plugins.clj
+msgid "Failied to initialize plugin {0}"
+msgstr "Plugin {0} konnte nicht initialisiert werden"
+
+#: src/metabase/plugins.clj
+msgid "Loading plugins in {0}..."
+msgstr "Lade plugins in {0}..."
+
+#: src/metabase/plugins/classloader.clj
+msgid "Using Clojure base loader as shared context classloader: {0}"
+msgstr ""
+
+#: src/metabase/plugins/classloader.clj
+msgid "Setting current thread context classloader to shared classloader {0}..."
+msgstr ""
+
+#. it's important that we deref the promise again here instead of using the one we just created because it is
+#. possible thru a race condition that somebody else delivered the promise before we did; in that case,
+#. Clojure ignores subsequent calls to `deliver`. Dereffing the promise guarantees that we'll get the actual
+#. value of it rather than one that ends up getting discarded
+#: src/metabase/plugins/classloader.clj
+msgid "Setting current thread context classloader to NEWLY CREATED classloader {0}..."
+msgstr ""
+
+#: src/metabase/plugins/classloader.clj
+msgid "Added URL {0} to classpath"
+msgstr "URL {0} zu Classpath hinzugefügt"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugin {0} declares a dependency that Metabase does not understand: {1}"
+msgstr "Plugin {0} gibt eine Abhängigkeit an, die Metabase nicht versteht: {1}"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Refer to the plugin manifest reference for a complete list of valid plugin dependencies:"
+msgstr ""
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Metabase cannot initialize plugin {0} due to required dependencies."
+msgstr "Metabase kann das Plugin {0} wegen benötigten Abhängigkeiten nicht initialisieren."
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Class not found: {0}"
+msgstr "Klasse nicht gefunden: {0}"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugin ''{0}'' depends on plugin ''{1}''"
+msgstr "Plugin \"{0}\" hängt ab von Plugin \"{1}\""
+
+#: src/metabase/plugins/dependencies.clj
+msgid "{0} dependency {1} satisfied? {2}"
+msgstr "{0} Abhängigkeit {1} erfüllt? {2}"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugins with unsatisfied deps: {0}"
+msgstr "Plugins mit nicht erfüllten Abhängigkeiten: {0}"
+
+#: src/metabase/plugins/files.clj
+msgid "Extract file {0} -> {1}"
+msgstr "Extrahiere Datei {0} -> {1}"
+
+#: src/metabase/plugins/files.clj
+msgid "Resource does not exist."
+msgstr "Ressource existiert nicht."
+
+#: src/metabase/plugins/init_steps.clj
+msgid "Loading plugin namespace {0}..."
+msgstr "Lade Plugin-Namespace {0}..."
+
+#: src/metabase/plugins/initialize.clj
+msgid "Dependencies satisfied; these plugins will now be loaded: {0}"
+msgstr "Abhängigkeiten erfüllt; diese Plugins werden jetzt geladen: {0}"
+
+#: src/metabase/plugins/jdbc_proxy.clj
+msgid "Registering JDBC proxy driver for {0}..."
+msgstr "Registriere JDBC-Proxy-Treiber für {0}..."
+
+#: src/metabase/plugins/jdbc_proxy.clj
+msgid "Deregistering original JDBC driver {0}..."
+msgstr "Deregistriere den originalen JDBC-Treiber {0}..."
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Default connection property {0} does not exist."
+msgstr "Standard Verbindungs-Parameter {0} existiert nicht."
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Invalid connection property {0}: not a string or map."
+msgstr "Ungültiger Verbindungs-Parameter {0}: Kein String oder Map."
+
+#. ok, do the init steps listed in the plugin mainfest
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Load lazy loading driver {0}"
+msgstr ""
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Cannot initialize plugin: missing required property `driver-name`"
+msgstr "Kann Plugin nicht initialisieren: Benötigter Parameter `driver-name` fehlt"
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Warning: plugin manifest for {0} does not include connection properties"
+msgstr "Warnung: Plugin-Manifest für {0} enthält keine Verbindungs-Parameter"
+
+#. finally, register the Metabase driver
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Registering lazy loading driver {0}..."
+msgstr ""
+
+#: src/metabase/pulse.clj
+msgid "Error running query for Card {0}"
+msgstr "Fehler in der Abfrage für Karte {0}"
+
+#: src/metabase/pulse/render.clj
+msgid "Last week"
+msgstr "Letzte Woche"
+
+#: src/metabase/pulse/render.clj
+msgid "This week"
+msgstr "Diese Woche"
+
+#: src/metabase/pulse/render.clj
+msgid "Last month"
+msgstr "Letzer Monat"
+
+#: src/metabase/pulse/render.clj
+msgid "This month"
+msgstr "Dieser Monat"
+
+#: src/metabase/pulse/render.clj
+msgid "Last quarter"
+msgstr "Letztes Quartal"
+
+#: src/metabase/pulse/render.clj
+msgid "This quarter"
+msgstr "Dieses Quartal"
+
+#: src/metabase/pulse/render.clj
+msgid "Last year"
+msgstr "Letztes Jahr"
+
+#: src/metabase/pulse/render.clj
+msgid "This year"
+msgstr "Dieses Jahr"
+
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "*driver* is unbound."
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields.clj
+msgid "Error syncing Fields for Table ''{0}''"
+msgstr "Fehler beim Synchronisieren der Felder für Tabelle \"{0}\""
+
+#: src/metabase/sync/sync_metadata/fields.clj
+msgid "Hash of {0} matches stored hash, skipping Fields sync"
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/common.clj
+msgid "Field"
+msgstr "Feld"
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Error checking if Fields {0} need to be created or reactivated"
+msgstr "Fehler bei der Prüfung, ob die Felder {0} erstellt oder reaktiviert werden müssen"
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Marking Field ''{0}'' as inactive."
+msgstr "Markiere Feld \"{0}\" als inaktiv"
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Error retiring {0}"
+msgstr "Fehler beim Ausblenden {0}"
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Database type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr "Datenbanktyp von {0} hat sich von \"{1}\" auf \"{2}\" geändert."
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Base type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr "Basistyp von {0} hat sich von \"{1}\" auf \"{2}\" geändert."
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Special type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr "Spezialtyp von {0} hat sich von \"{1}\" auf \"{2}\" geändert."
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Comment has been added for {0}."
+msgstr "Kommentar für {0} hinzugefügt."
+
+#: src/metabase/task.clj
+msgid "Stopping Quartz Scheduler {0}"
+msgstr "Stoppe Quartz Scheduler {0}"
+
+#: src/metabase/task.clj
+msgid "Starting Quartz Scheduler {0}"
+msgstr "Starte Quartz Scheduler {0}"
+
+#: src/metabase/task.clj
+msgid "Error loading tasks namespace {0}"
+msgstr "Fehler beim Laden des \"task namespace\" {0}"
+
+#. don't bother logging namespace for now, maybe in the future if there's tasks of the same name in multiple
+#. namespaces we can log it
+#: src/metabase/task.clj
+msgid "Initializing task {0}"
+msgstr "Initialisiere Aufgabe {0}"
+
+#: src/metabase/task.clj
+msgid "Error initializing task {0}"
+msgstr "Fehler beim Initialisieren der Aufgabe {0}"
+
+#: src/metabase/task/follow_up_emails.clj
+msgid "Problem sending abandonment email"
+msgstr ""
+
+#: src/metabase/task/send_anonymous_stats.clj
+msgid "Sending anonymous usage stats."
+msgstr "Sende anonyme Nutzungsstatistiken."
+
+#: src/metabase/task/send_anonymous_stats.clj
+msgid "Error sending anonymous usage stats"
+msgstr "Fehler beim Senden anonymer Nutzungsstatistiken"
+
+#: src/metabase/task/send_pulses.clj
+msgid "Error sending Pulse {0}"
+msgstr "Fehler beim Senden des Pulse {0}"
+
+#: src/metabase/task/send_pulses.clj
+msgid "Sending scheduled pulses..."
+msgstr ""
+
+#: src/metabase/task/send_pulses.clj
+msgid "SendPulses task failed"
+msgstr "Aufgabe \"Puls Senden\" fehlgeschlagen"
+
+#. Is this a typo in the original snippet? I think it should read "Failed to schedule tasks for Database {0}"
+#: src/metabase/task/sync_databases.clj
+msgid "Failed to scheduler tasks for Database {0}"
+msgstr "Fehler beim Planen von Aufgaben zur Datenbank {0}"
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Cleaning up task history"
+msgstr "Aufgabenhistorie wird bereinigt"
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Task history cleanup successful, rows were deleted"
+msgstr "Bereinigung der Aufgabenhistorie erfolgreich, es wurden Einträge entfernt"
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Task history cleanup successful, no rows were deleted"
+msgstr "Bereinigung der Aufgabenhistorie erfolgreich, es wurden keine Einträge entfernt"
+
+#: src/metabase/task/upgrade_checks.clj
+msgid "Checking for new Metabase version info."
+msgstr "Prüfe auf neue Metabase Versionsinfo"
+
+#: src/metabase/task/upgrade_checks.clj
+msgid "Error fetching version info"
+msgstr "Fehler beim Ermitteln der Versions-Informationen"
+
+#: src/metabase/util.clj
+msgid "Maximum memory available to JVM: {0}"
+msgstr "Maximal für die JVM verfügbarer Speicher: {0}"
+
+#. Whithout any context, it is almost impossible to get the real meaning of this.
+#: src/metabase/util.clj
+msgid "Not something with an ID: {0}"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by month of the year"
+msgstr "[[CreateDate]] pro Monat des Jahres"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Here's a quick look at your [[this]]"
+msgstr "Hier ist ein kleiner Einblick in dein [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by hour of the day"
+msgstr "[[CreateTimestamp]] pro Stunde des Tages"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Where you've acquired your users"
+msgstr "Woher du deine Benutzer bekommen hast"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How it's distributed across time and other categories."
+msgstr "Wie es über die Zeit und andere Kategorien verteilt ist."
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Here's a closer look at your [[this]] per source"
+msgstr "Dies ist ein genauer Blick auf deine [[this]], nach Quelle"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "Here's a quick look at the [[this]]"
+msgstr "Dies ist ein kurzer Blick auf [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by day of the month"
+msgstr "[[CreateTimestamp]] pro Tag des Monats"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Here's an overview of the people in your [[this]]"
+msgstr "Hier ist eine Übersicht über die Personen in deiner/-em [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by quarter of the year"
+msgstr "[[CreateTimestamp]] pro Quartal des Jahres"
+
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How they compare across location"
+msgstr "Wie sie über Orte verteilt sind"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "Here's a closer look at your [[this]] by products"
+msgstr "Dies ist ein genauer Blick auf deine [[this]], nach Produkten"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by month of the year"
+msgstr " [[CreateTimestamp]] pro Monat des Jahres"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "An overview of your [[this]] and how it's distributed across time, place, and categories."
+msgstr "Eine Übersicht über deine [[this]] und deren Verteilung über Zeit, Ort und Kategorie."
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/question/GenericQuestion.yaml
+msgid "Here's a closer look at your [[this]]"
+msgstr "Dies ist ein genauer Blick auf deine [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by day of the week"
+msgstr "[[CreateTimestamp]] nach Wochentag"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Here's an overview of your [[this]] data from Google Analytics"
+msgstr "Dies ist eine Übersicht über deine Daten von Google Analytics zu [[this]]"
+
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+#: resources/automagic_dashboards/comparison/State.yaml
+#: resources/automagic_dashboards/comparison/FK.yaml
+#: resources/automagic_dashboards/comparison/Country.yaml
+#: resources/automagic_dashboards/comparison/GenericField.yaml
+msgid "Here's an overview of your [[this]]"
+msgstr "Dies ist eine Übersicht über deine [[this]]"
+
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "Here's a closer look at your [[this]] field"
+msgstr "Dies ist ein genauer Blick auf dein Feld [[this]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Here's a closer look at your [[this]] per country"
+msgstr "Dies ist ein genauer Blick auf deine [[this]], nach Produkten "
+
+#: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
+msgid "If you're into correlations, this is the x-ray for you."
+msgstr "Wenn dich Korrelationen interessieren, ist dies das X-Ray für dich."
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by day of the week"
+msgstr "[[CreateDate]] nach Wochentag"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "It looks like your [[this]] has transactions, so here's a look at them"
+msgstr "Es sieht so aus, als gäbe es Transaktionen für [[this]]. Hier sind sie"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Here's a closer look at your [[this]] per state"
+msgstr "Dies ist ein genauer Blick auf deine [[this]], nach Staat"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by day of the month"
+msgstr "[[CreateDate]] pro Tag des Monats"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTime]] by hour of the day"
+msgstr "[[CreateDate]] pro Stunde des Tages"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Here's a closer look at your [[this]] over time"
+msgstr "Dies ist ein genauer Blick auf deine [[this]], über die Zeit"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by quarter of the year"
+msgstr "[[CreateDate]] pro Quartal eines Jahres"
+
+#: frontend/src/metabase/admin/people/containers/EditUserModal.jsx:12
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:200
+msgid "Edit user"
+msgstr "Benutzer bearbeiten"
+
+#: frontend/src/metabase/admin/people/containers/NewUserModal.jsx:13
+msgid "New user"
+msgstr "Neuer Benutzer"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:204
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:69
+msgid "Reset password"
+msgstr "Passwort zurücksetzen"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:209
+msgid "Deactivate user"
+msgstr "Benutzer deaktivieren"
+
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:47
+msgid "Reactivate {0}?"
+msgstr "{0} wieder aktivieren?"
+
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:63
+msgid "We couldn’t send them an email invitation, so make sure to tell them to log in using {0} and this password we’ve generated for them:"
+msgstr "Wir konnten ihnen keine Einladung per E-Mail schicken, also bitte sie auf anderem Wege, sich als {0} einzuloggen. Das Kennwort lautet:"
+
+#: frontend/src/metabase/entities/collections.js:21
+msgid "collection"
+msgstr "Sammlung"
+
+#: frontend/src/metabase/entities/collections.js:22
+msgid "collections"
+msgstr "Sammlungen"
+
+#: frontend/src/metabase/entities/dashboards.js:29
+msgid "dashboard"
+msgstr "dashboard"
+
+#: frontend/src/metabase/entities/dashboards.js:30
+msgid "dashboards"
+msgstr "dashboards"
+
+#: frontend/src/metabase/entities/users.js:125
+msgid "First name is required"
+msgstr "Vorname muss angegeben werden"
+
+#: frontend/src/metabase/entities/users.js:126
+#: frontend/src/metabase/entities/users.js:133
+msgid "Must be 100 characters or less"
+msgstr "100 Zeichen oder weniger"
+
+#: frontend/src/metabase/entities/users.js:132
+msgid "Last name is required"
+msgstr "Nachname muss angegeben werden"
+
+#: frontend/src/metabase/entities/users.js:138
+msgid "Email is required"
+msgstr "Email muss angegeben werden"
+
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:90
+msgid "Items you archive will appear here."
+msgstr ""
+
+#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:16
+msgid "No description"
+msgstr "Kein Beschreibung"
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:175
+msgid "Sum of all values"
+msgstr "Summe aller Werte"
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:183
+msgid "See all distinct values"
+msgstr "Alle unterschiedlichen Werte ansehen"
+
+#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:12
+msgid "Browse the contents of your databases, tables, and columns. Pick a database to get started"
+msgstr "Durchstöbere den Inhalt deiner Datenbanken, Tabellen und Spalten. Wähle eine Datenbank um loszulegen."
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is VALID. Thanks!"
+msgstr "Die an die API übergebenen Metatdaten zum Ergebnis der Karte sind GÜLTIG. Vielen Dank!"
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is INVALID. Running query to fetch correct metadata."
+msgstr "Die an die API übergebenen Metatdaten zum Ergebnis der Karte sind UNGÜLTIG. Führe Abfrage zum Ermitteln der korrekten Metadaten aus."
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is  ISSING. Running query to fetch correct metadata."
+msgstr "Die an die API übergebenen Metatdaten zum Ergebnis der Karte FEHLEN. Führe Abfrage zum Ermitteln der korrekten Metadaten aus."
+
+#: src/metabase/api/email.clj
+msgid "{0} was autocorrected to {1}"
+msgstr "{0} wurde automatisch korrigiert zu {1}"
+
+#: src/metabase/api/metric.clj
+msgid "DELETE /api/metric/:id is deprecated. Instead, change its `archived` value via PUT /api/metric/:id."
+msgstr ""
+
+#: src/metabase/api/segment.clj
+msgid "DELETE /api/segment/:id is deprecated. Instead, change its `archived` value via PUT /api/segment/:id."
+msgstr ""
+
+#: src/metabase/api/user.clj
+msgid "Value of is_superuser must correspond to presence of Admin group ID in group_ids."
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "Unexpected error writing keepalive characters"
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "Unexpected output in async API response"
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "starting streaming response"
+msgstr "Starte den Antwort-Stream"
+
+#: src/metabase/async/api_response.clj
+msgid "Output chan closed, canceling keepalive request."
+msgstr "Ausgabekanal geschlossen, stoppe Keepalive-Anfrage."
+
+#: src/metabase/async/api_response.clj
+msgid "Async response finished, closing channels."
+msgstr "Ansynchrone Antwort abgeschlossen, schließe Kanäle."
+
+#: src/metabase/async/api_response.clj
+msgid "No response after waiting {0}. Canceling request."
+msgstr "Keine Antwort nach {0}. Breche Anfrage ab."
+
+#: src/metabase/async/api_response.clj
+msgid "Input channel unexpectedly closed."
+msgstr "Der Eingabekanal wurde unerwartet geschlossen."
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "f finished, permit will be returned"
+msgstr ""
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "request canceled, permit will be returned"
+msgstr ""
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Unexpected error attempting to run function after obtaining permit"
+msgstr ""
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Not running pending function call: output channel already closed."
+msgstr ""
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Current thread already has a permit for {0}, will not wait to acquire another"
+msgstr ""
+
+#: src/metabase/async/util.clj
+msgid "Output channel closed, will skip running {0}."
+msgstr "Ausgabekanal geschlossen, überspringe {0}."
+
+#: src/metabase/async/util.clj
+msgid "Running {0} on separate thread..."
+msgstr "Führe {0} auf separatem Thread aus..."
+
+#: src/metabase/async/util.clj
+msgid "Caught error running {0}"
+msgstr "Fehler abgefangen in {0}"
+
+#: src/metabase/async/util.clj
+msgid "Request canceled, canceling future"
+msgstr ""
+
+#: src/metabase/driver/sql_jdbc/connection.clj
+msgid "Closing old connection pool for database {0} ..."
+msgstr "Schließe alten Verbindungspool für Datenbank {0} ..."
+
+#: src/metabase/metabot/command.clj
+msgid "Here''s your {0} most recent cards:"
+msgstr "Hier sind deine letzten {0} Karten:"
+
+#: src/metabase/metabot/command.clj
+msgid "Could you be a little more specific, or use the ID? I found these cards with names that matched:"
+msgstr "Kannst du etwas genauer sein oder die ID verwenden? Ich habe folgende passende Karten gefunden:"
+
+#: src/metabase/metabot/command.clj
+msgid "Card {0} not found."
+msgstr "Karte {0} nicht gefunden."
+
+#: src/metabase/middleware/exceptions.clj
+msgid "Exception in API call"
+msgstr "Fehler in API-Anfrage"
+
+#: src/metabase/middleware/exceptions.clj
+msgid "Request canceled before finishing."
+msgstr "Die Anfrage wurde vorzeitig abgebrochen."
+
+#: src/metabase/middleware/json.clj
+msgid "Metabase only supports JSON requests."
+msgstr "Metabase unterstützt nur JSON-Anfragen."
+
+#: src/metabase/middleware/json.clj
+msgid "Make sure you set a 'Content-Type: application/json' header."
+msgstr "Verwende den Header 'Content-Type: application/json'"
+
+#: src/metabase/middleware/misc.clj
+msgid "Setting Metabase site URL to {0}"
+msgstr "Setze Metabase-URL auf {0}"
+
+#: src/metabase/models/database.clj
+msgid "Error scheduling tasks for DB"
+msgstr ""
+
+#: src/metabase/models/database.clj
+msgid "Error unscheduling tasks for DB."
+msgstr ""
+
+#: src/metabase/models/database.clj
+msgid "{0} Database ''{1}'' sync/analyze schedules have changed!"
+msgstr ""
+
+#: src/metabase/models/database.clj
+msgid "Sync metadata was: ''{0}'' is now: ''{1}''"
+msgstr ""
+
+#: src/metabase/models/database.clj
+msgid "Cache FieldValues was: ''{0}'', is now: ''{1}''"
+msgstr ""
+
+#: src/metabase/models/metric.clj
+msgid "You cannot update the creator_id of a Metric."
+msgstr ""
+
+#: src/metabase/models/permissions.clj
+msgid "MetaBot can only have Collection permissions."
+msgstr "MetaBot kann ausschließlich Sammlungsberechtigungen besitzen"
+
+#: src/metabase/models/permissions.clj
+msgid "Failed to grant permissions"
+msgstr "Fehler beim Gewähren der Berechtigungen"
+
+#: src/metabase/models/permissions.clj
+msgid "Changing permissions"
+msgstr "Ändere Berechtigungen"
+
+#: src/metabase/models/permissions.clj
+msgid "FROM:"
+msgstr "VON:"
+
+#: src/metabase/models/permissions.clj
+msgid "TO:"
+msgstr "AN:"
+
+#: src/metabase/models/segment.clj
+msgid "You cannot update the creator_id of a Segment."
+msgstr ""
+
+#: src/metabase/models/setting.clj
+msgid "Attempted to set Setting {0} to obfuscated value. Ignoring change."
+msgstr ""
+
+#: src/metabase/models/setting.clj
+msgid "Using value of env var {0}"
+msgstr "Verwende den Wert der Umgebungsvariable {0}"
+
+#: src/metabase/models/user.clj
+msgid "Adding User {0} to All Users permissions group..."
+msgstr "Füge Benutzer {0} zur \"Alle Benutzer\" Gruppe hinzu..."
+
+#: src/metabase/models/user.clj
+msgid "Adding User {0} to Admin permissions group..."
+msgstr "Füge Benutzer {0} zur \"Administrator\" Gruppe hinzu..."
+
+#: src/metabase/query_processor.clj
+msgid "Query failure"
+msgstr "Abfrage fehlgeschlagen"
+
+#: src/metabase/query_processor/async.clj
+msgid "Maximum number of simultaneous queries to allow per connected Database."
+msgstr ""
+
+#: src/metabase/util.clj
+msgid "Timed out after {0} milliseconds."
+msgstr "Zeitüberschreitung nach {0} Millisekunden."
+
diff --git a/locales/es.po b/locales/es.po
index 88d75e94b692da8119847ae22ee75445a61200a1..c704be9f3d87a376041cd6fbfe5f376c882f565b 100644
--- a/locales/es.po
+++ b/locales/es.po
@@ -46,7 +46,7 @@ msgstr "Guardar"
 
 #: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:122
 msgid "To do some of its magic, Metabase needs to scan your database. We will also rescan it periodically to keep the metadata up-to-date. You can control when the periodic rescans happen below."
-msgstr "Para hacer algo de su magia, Metabase necesita escanear la base de datos. Lo volveremosa hacer periódicamente para mantener actualizados los metadatos. Puedes controlar cuandose realizan los repasos periódicos a continuación."
+msgstr "Para hacer algo de magia, Metabase necesita escanear la base de datos. Lo volveremos a hacer periódicamente para mantener actualizados los metadatos. Puedes controlar cuando se realizan los repasos periódicos a continuación."
 
 #: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:127
 msgid "Database syncing"
@@ -94,8 +94,7 @@ msgstr "Solo cuando se añade un nuevo elemento de filtro"
 #: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:199
 msgid "When a user adds a new filter to a dashboard or a SQL question, Metabase will\n"
 "scan the field(s) mapped to that filter in order to show the list of selectable values."
-msgstr "Cuando un usuario añade un nuevo filtro a un cuadro de mando o a una pregunta SQL, Metabaseescaneará\n"
-"los campos asignados a ese filtro para mostrar la lista devalores seleccionables."
+msgstr "Cuando un usuario añade un nuevo filtro o una pregunta SQL al Dashboard, Metabase escaneará los campos asignados a ese filtro para mostrar la lista de valores seleccionables."
 
 #: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:210
 msgid "Never, I'll do this manually if I need to"
@@ -146,54 +145,51 @@ msgstr "en esta casilla:"
 #: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:87
 #: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:93
 #: frontend/src/metabase/admin/people/components/AddRow.jsx:27
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:250
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:302
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:322
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:343
 #: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:49
 #: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:52
 #: frontend/src/metabase/admin/permissions/containers/CollectionPermissionsModal.jsx:58
-#: frontend/src/metabase/admin/permissions/selectors.js:156
-#: frontend/src/metabase/admin/permissions/selectors.js:166
-#: frontend/src/metabase/admin/permissions/selectors.js:181
-#: frontend/src/metabase/admin/permissions/selectors.js:220
+#: frontend/src/metabase/admin/permissions/selectors.js:160
+#: frontend/src/metabase/admin/permissions/selectors.js:170
+#: frontend/src/metabase/admin/permissions/selectors.js:185
+#: frontend/src/metabase/admin/permissions/selectors.js:224
 #: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:355
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:181
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:247
 #: frontend/src/metabase/components/ConfirmContent.jsx:18
 #: frontend/src/metabase/components/DeleteModalWithConfirm.jsx:72
 #: frontend/src/metabase/components/HeaderModal.jsx:49
-#: frontend/src/metabase/components/form/StandardForm.jsx:59
+#: frontend/src/metabase/components/form/StandardForm.jsx:61
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:196
 #: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:289
 #: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:162
 #: frontend/src/metabase/dashboard/components/RemoveFromDashboardModal.jsx:38
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:189
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:192
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:352
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:191
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:354
 #: frontend/src/metabase/query_builder/components/RunButton.jsx:24
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:83
 #: frontend/src/metabase/query_builder/containers/ArchiveQuestionModal.jsx:48
 #: frontend/src/metabase/reference/components/EditHeader.jsx:34
 #: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:52
-#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:219
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:259
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:461
 msgid "Cancel"
 msgstr "Cancelar"
 
 #: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:88
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:123
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:121
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:132
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:461
 msgid "Delete"
 msgstr "Eliminar"
 
 #: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:128
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:76
-#: frontend/src/metabase/admin/permissions/selectors.js:316
-#: frontend/src/metabase/admin/permissions/selectors.js:323
-#: frontend/src/metabase/admin/permissions/selectors.js:419
-#: frontend/src/metabase/admin/routes.jsx:43
-#: frontend/src/metabase/nav/containers/Navbar.jsx:215
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:74
+#: frontend/src/metabase/admin/permissions/selectors.js:320
+#: frontend/src/metabase/admin/permissions/selectors.js:327
+#: frontend/src/metabase/admin/permissions/selectors.js:423
+#: frontend/src/metabase/admin/routes.jsx:53
+#: frontend/src/metabase/nav/containers/Navbar.jsx:214
 #: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:18
 #: frontend/src/metabase/reference/databases/TableSidebar.jsx:21
 msgid "Databases"
@@ -214,11 +210,10 @@ msgstr "Programación"
 #: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:170
 #: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:78
 #: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:84
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:253
 #: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:26
 #: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:221
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:182
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:354
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:356
 #: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:47
 msgid "Save changes"
 msgstr "Guardar cambios"
@@ -267,52 +262,52 @@ msgid "Scan triggered!"
 msgstr "Exploración iniciada!"
 
 #: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:215
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:399
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:401
 msgid "Danger Zone"
 msgstr "Zona Peligrosa"
 
 #: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:221
 #: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:224
 msgid "Discard saved field values"
-msgstr "Descartar valores de campo guardados"
+msgstr "Descartar valores de campos guardados"
 
 #: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:239
 msgid "Remove this database"
 msgstr "Eliminar esta base de datos"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:75
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:73
 msgid "Add database"
 msgstr "Añadir base de datos"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:87
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:85
 #: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:36
 #: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:36
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:468
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:122
 #: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:183
 #: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:91
 #: frontend/src/metabase/components/DatabaseDetailsForm.jsx:399
 #: frontend/src/metabase/containers/EntitySearch.jsx:26
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:218
-#: frontend/src/metabase/entities/collections.js:86
-#: frontend/src/metabase/entities/dashboards.js:96
+#: frontend/src/metabase/entities/collections.js:93
+#: frontend/src/metabase/entities/dashboards.js:145
 #: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:461
-#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:78
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:81
 msgid "Name"
 msgstr "Nombre"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:88
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:86
 msgid "Engine"
 msgstr "Motor"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:117
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:115
 msgid "Deleting..."
 msgstr "Eliminando..."
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:147
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:145
 msgid "Loading ..."
-msgstr "Cargando ..."
+msgstr "Cargando..."
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:163
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:161
 msgid "Bring the sample dataset back"
 msgstr "Recuperar la base de datos de prueba"
 
@@ -332,7 +327,7 @@ msgstr "¡Guardado con éxito!"
 #: frontend/src/metabase/admin/datamodel/components/ObjectActionSelect.jsx:44
 #: frontend/src/metabase/dashboard/components/DashCard.jsx:278
 #: frontend/src/metabase/parameters/components/ParameterWidget.jsx:177
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:209
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:197
 #: frontend/src/metabase/reference/components/EditButton.jsx:18
 msgid "Edit"
 msgstr "Editar"
@@ -371,7 +366,7 @@ msgstr "Ha fallado"
 
 #: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:61
 msgid "Success"
-msgstr "Exito"
+msgstr "Éxito"
 
 #: frontend/src/metabase/admin/datamodel/components/PartialQueryBuilder.jsx:118
 #: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:110
@@ -403,7 +398,7 @@ msgstr "Selección un tipo especial"
 
 #: frontend/src/metabase/admin/datamodel/components/database/ColumnItem.jsx:277
 msgid "Select a target"
-msgstr "Selecciona una referencia"
+msgstr "Seleccione un objetivo"
 
 #: frontend/src/metabase/admin/datamodel/components/database/ColumnsList.jsx:17
 #: frontend/src/metabase/visualizations/visualizations/Table.jsx:77
@@ -511,7 +506,7 @@ msgstr "Esquemas"
 #: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:189
 #: frontend/src/metabase/reference/metrics/MetricList.jsx:56
 #: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:21
-#: frontend/src/metabase/routes.jsx:231
+#: frontend/src/metabase/routes.jsx:232
 msgid "Metrics"
 msgstr "Métricas"
 
@@ -530,7 +525,7 @@ msgid "Create metrics to add them to the View dropdown in the query builder"
 msgstr "Crea métricas para añadirlas al menú Ver en el generador de consultas"
 
 #: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:24
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:922
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:930
 #: frontend/src/metabase/reference/guide/BaseSidebar.jsx:33
 #: frontend/src/metabase/reference/segments/SegmentFieldSidebar.jsx:19
 #: frontend/src/metabase/reference/segments/SegmentList.jsx:56
@@ -572,7 +567,7 @@ msgstr "he hecho algunos cambios"
 
 #: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:46
 #: frontend/src/metabase/home/components/Activity.jsx:80
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:343
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:332
 msgid "You"
 msgstr "Tu"
 
@@ -703,7 +698,7 @@ msgstr "Selecciona cualquier tabla para ver su esquema y añadir o editar metada
 
 #: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:37
 #: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:34
-#: frontend/src/metabase/entities/collections.js:89
+#: frontend/src/metabase/entities/collections.js:96
 msgid "Name is required"
 msgstr "Nombre es obligatorio"
 
@@ -825,10 +820,10 @@ msgid "This will show up in the revision history for this segment to help everyo
 msgstr "Esto aparecerá en el historial de revisiones de este segmento para ayudar a todos a recordar por qué se realizó el cambio"
 
 #: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:88
-#: frontend/src/metabase/admin/routes.jsx:91
+#: frontend/src/metabase/admin/routes.jsx:127
 #: frontend/src/metabase/admin/settings/containers/SettingsEditorApp.jsx:266
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:96
-#: frontend/src/metabase/nav/containers/Navbar.jsx:200
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:87
+#: frontend/src/metabase/nav/containers/Navbar.jsx:199
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorSidebar.jsx:99
 msgid "Settings"
 msgstr "Configuración"
@@ -842,31 +837,26 @@ msgid "Re-scan this table"
 msgstr "Re-Leer esta tabla"
 
 #: frontend/src/metabase/admin/people/components/AddRow.jsx:34
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:194
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:253
 #: frontend/src/metabase/dashboard/components/DashCard.jsx:278
 msgid "Add"
 msgstr "Añadir"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:80
 #: frontend/src/metabase/setup/components/UserStep.jsx:103
 #: frontend/src/metabase/user/components/UpdateUserDetails.jsx:67
 msgid "Not a valid formatted email address"
 msgstr "Formato de Email incorrecto"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:135
 #: frontend/src/metabase/setup/components/UserStep.jsx:186
 #: frontend/src/metabase/user/components/UpdateUserDetails.jsx:100
 msgid "First name"
 msgstr "Nombre"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:156
 #: frontend/src/metabase/setup/components/UserStep.jsx:203
 #: frontend/src/metabase/user/components/UpdateUserDetails.jsx:117
 msgid "Last name"
 msgstr "Apellidos"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:178
 #: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:77
 #: frontend/src/metabase/auth/containers/LoginApp.jsx:158
 #: frontend/src/metabase/components/NewsletterForm.jsx:94
@@ -880,14 +870,14 @@ msgstr "Dirección de Email"
 msgid "Permission Groups"
 msgstr "Grupos de Permisos"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:238
+#: frontend/src/metabase/components/form/widgets/FormGroupsWidget.jsx:75
 msgid "Make this user an admin"
 msgstr "Convertir a este usuario en administrador"
 
 #: frontend/src/metabase/admin/people/components/GroupDetail.jsx:32
 msgid "All users belong to the {0} group and can't be removed from it. Setting permissions for this group is a great way to\n"
 "make sure you know what new Metabase users will be able to see."
-msgstr "Todos los usuarios pertenecen al grupo {0} y no se pueden eliminar de él. Establecer permisos para este grupo es una excelente manera de asegurarte de saber qué podrán ver los nuevos usuarios de Metabase."
+msgstr "Todos los usuarios pertenecen al grupo {0} no se pueden eliminar. Establecer permisos para este grupo es una excelente manera de asegurarte qué podrán ver los nuevos usuarios de Metabase."
 
 #: frontend/src/metabase/admin/people/components/GroupDetail.jsx:41
 msgid "This is a special group whose members can see everything in the Metabase instance, and who can access and make changes to the\n"
@@ -899,15 +889,15 @@ msgid "To make sure you don't get locked out of Metabase, there always has to be
 msgstr "Para asegurarte de no quedar sin acceso a Metabase, siempre debe haber al menos un usuario en este grupo."
 
 #: frontend/src/metabase/admin/people/components/GroupDetail.jsx:177
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:219
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:218
 msgid "Members"
 msgstr "Miembros"
 
 #: frontend/src/metabase/admin/people/components/GroupDetail.jsx:177
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:470
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:124
 #: frontend/src/metabase/admin/settings/selectors.js:113
 #: frontend/src/metabase/lib/core.js:55
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:298
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:301
 msgid "Email"
 msgstr "Email"
 
@@ -916,8 +906,8 @@ msgid "A group is only as good as its members."
 msgstr "Un grupo solo vale lo que valen sus miembros."
 
 #: frontend/src/metabase/admin/people/components/GroupSummary.jsx:15
-#: frontend/src/metabase/admin/routes.jsx:38
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:50
+#: frontend/src/metabase/admin/routes.jsx:48
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:49
 msgid "Admin"
 msgstr "Admin"
 
@@ -938,70 +928,70 @@ msgstr[1] "[0] grupos más"
 msgid "Default"
 msgstr "Por defecto"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:40
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:39
 msgid "Something like \"Marketing\""
 msgstr "Algo como \"Marketing\""
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:59
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:58
 msgid "Remove this group?"
 msgstr "¿Eliminar este grupo?"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:61
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:60
 msgid "Are you sure? All members of this group will lose any permissions settings they have based on this group.\n"
 "This can't be undone."
 msgstr "¿Estás seguro? Todos los miembros de este grupo perderán las configuraciones de permisos que tengan basadas en este grupo.\n"
 "Esto no puede deshacerse."
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:72
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:71
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:42
 #: frontend/src/metabase/components/ConfirmContent.jsx:17
 msgid "Yes"
 msgstr "Sí"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:75
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:74
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:42
 msgid "No"
 msgstr "No"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:93
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:92
 msgid "Edit Name"
 msgstr "Editar Nombre"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:96
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:95
 msgid "Remove Group"
 msgstr "Borrar Grupo"
 
 #: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:46
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:139
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:225
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:263
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:367
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:385
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:138
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:42
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:41
 #: frontend/src/metabase/components/HeaderModal.jsx:43
 #: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:282
-#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:106
-#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:298
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:194
+#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:107
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:327
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:193
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:96
-#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:225
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:265
 msgid "Done"
 msgstr "Hecho"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:219
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:218
 msgid "Group name"
 msgstr "Nombre Grupo"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:399
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:363
 #: frontend/src/metabase/admin/people/containers/AdminPeopleApp.jsx:25
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:477
-#: frontend/src/metabase/admin/routes.jsx:76
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:131
+#: frontend/src/metabase/admin/routes.jsx:88
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:154
 msgid "Groups"
 msgstr "Grupos"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:400
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:364
 msgid "Create a group"
 msgstr "Crear un grupo"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:406
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:370
 msgid "You can use groups to control your users' access to your data. Put users in groups and then go to the Permissions section to control each group's access. The Administrators and All Users groups are special default groups that can't be removed."
 msgstr "Puedes usar grupos para controlar el acceso de tus usuarios a los datos. Coloca a los usuarios en grupos y después, ves a la sección de Permisos para controlar el acceso de cada grupo. Los grupos Administradores y All Users son grupos predeterminados especiales que no se pueden eliminar."
 
@@ -1017,15 +1007,14 @@ msgstr "Reenviar Invitación"
 msgid "Reset Password"
 msgstr "Restablecer la contraseña"
 
-#: frontend/src/metabase/admin/people/components/UserActionsSelect.jsx:97
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:304
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:40
 msgid "Deactivate"
 msgstr "Desactivar"
 
 #: frontend/src/metabase/admin/people/containers/AdminPeopleApp.jsx:24
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:435
-#: frontend/src/metabase/admin/routes.jsx:74
-#: frontend/src/metabase/nav/containers/Navbar.jsx:205
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:93
+#: frontend/src/metabase/admin/routes.jsx:84
+#: frontend/src/metabase/nav/containers/Navbar.jsx:204
 msgid "People"
 msgstr "Personas"
 
@@ -1037,8 +1026,7 @@ msgstr "¿A quien quieres añadir?"
 msgid "Edit {0}'s details"
 msgstr "Edita los detalles de {0}"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:220
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:258
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:40
 msgid "{0} has been added"
 msgstr "Se ha añadido {0}"
 
@@ -1053,11 +1041,11 @@ msgid "We couldn’t send them an email invitation,\n"
 "and this password we’ve generated for them:"
 msgstr "No se ha podido enviarles una invitación por correo electrónico, así que asegúraste de indicarles que inicien sesión con {0} y la contraseña que les hemos generado:"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:242
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:73
 msgid "If you want to be able to send email invites, just go to the {0} page."
 msgstr "Si quieres poder enviar invitaciones por correo electrónico, simplemente ves a la página {0}."
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:268
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:55
 msgid "We’ve sent an invite to {0} with instructions to set their password."
 msgstr "Hemos enviado una invitación a {0} con instrucciones para configurar su contraseña."
 
@@ -1065,7 +1053,6 @@ msgstr "Hemos enviado una invitación a {0} con instrucciones para configurar su
 msgid "We've re-sent {0}'s invite"
 msgstr "Hemos vuelto a enviar la invitación de {0}"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:285
 #: frontend/src/metabase/query_builder/components/SavedQuestionIntroModal.jsx:22
 #: frontend/src/metabase/tutorial/Tutorial.jsx:253
 msgid "Okay"
@@ -1075,11 +1062,11 @@ msgstr "Vale"
 msgid "Any previous email invites they have will no longer work."
 msgstr "Cualquier invitación de correo electrónico anterior que tengan ya no funcionará."
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:300
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:31
 msgid "Deactivate {0}?"
 msgstr "¿Desactivar {0}?"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:309
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:34
 msgid "{0} won't be able to log in anymore."
 msgstr "{0} ya no podrá iniciar sesión."
 
@@ -1087,35 +1074,33 @@ msgstr "{0} ya no podrá iniciar sesión."
 msgid "Reactivate {0}'s account?"
 msgstr "¿Activar la cuenta de {0}?"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:326
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:58
 msgid "Reactivate"
 msgstr "Activar"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:330
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:51
 msgid "They'll be able to log in again, and they'll be placed back into the groups they were in before their account was deactivated."
 msgstr "Podrán volver a iniciar sesión y se les volverá a colocar en los grupos en los que estaban antes de que se desactivara su cuenta."
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:341
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:51
 msgid "Reset {0}'s password?"
 msgstr "¿Restablecer la contraseña de {0}?"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:347
-#: frontend/src/metabase/components/form/StandardForm.jsx:75
+#: frontend/src/metabase/components/form/StandardForm.jsx:77
 msgid "Reset"
 msgstr "Reiniciar"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:351
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:54
 #: frontend/src/metabase/components/ConfirmContent.jsx:13
 #: frontend/src/metabase/dashboard/components/ArchiveDashboardModal.jsx:44
 msgid "Are you sure you want to do this?"
 msgstr "¿Seguro que quieres hacer esto?"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:362
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:384
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:41
 msgid "{0}'s password has been reset"
 msgstr "La contraseña de {0} ha sido restablecida"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:371
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:45
 msgid "Here’s a temporary password they can use to log in and then change their password."
 msgstr "Aquí hay una contraseña temporal que pueden usar para iniciar sesión y luego cambiar su contraseña."
 
@@ -1123,41 +1108,40 @@ msgstr "Aquí hay una contraseña temporal que pueden usar para iniciar sesión
 msgid "We've sent them an email with instructions for creating a new password."
 msgstr "Les hemos enviado un correo electrónico con instrucciones para crear una nueva contraseña."
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:443
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:101
 msgid "Active"
 msgstr "Activo"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:444
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:473
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:102
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:127
 msgid "Deactivated"
 msgstr "Desactivado"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:459
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:115
 msgid "Add someone"
 msgstr "Añadir alguien"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:478
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:132
 msgid "Last Login"
 msgstr "Ultimo acceso"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:501
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:153
 msgid "Signed up via Google"
 msgstr "Acceso via Google"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:506
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:158
 msgid "Signed up via LDAP"
 msgstr "Acceso via LDAP"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:518
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:170
 msgid "Reactivate this account"
 msgstr "Activar esta cuenta"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:545
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:193
 msgid "Never"
 msgstr "Nunca"
 
 #: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:27
-#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:24
 #: src/metabase/automagic_dashboards/core.clj
 msgid "{0} table"
 msgid_plural "{0} tables"
@@ -1193,7 +1177,7 @@ msgid " native queries for "
 msgstr "consultas nativas para"
 
 #: frontend/src/metabase/admin/permissions/routes.jsx:12
-#: frontend/src/metabase/nav/containers/Navbar.jsx:220
+#: frontend/src/metabase/nav/containers/Navbar.jsx:219
 msgid "Permissions"
 msgstr "Permisos"
 
@@ -1230,135 +1214,135 @@ msgstr "Tiene cambios sin guardar"
 msgid "Do you want to leave this page and discard your changes?"
 msgstr "¿Quieres abandonar esta página y descartar tus cambios?"
 
-#: frontend/src/metabase/admin/permissions/permissions.js:137
+#: frontend/src/metabase/admin/permissions/permissions.js:126
 msgid "Sorry, an error occurred."
 msgstr "Lo siento, ocurrió un error."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:59
+#: frontend/src/metabase/admin/permissions/selectors.js:65
 msgid "Administrators always have the highest level of access to everything in Metabase."
 msgstr "Los administradores siempre tienen el más alto nivel de acceso a todo en Metabase."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:61
+#: frontend/src/metabase/admin/permissions/selectors.js:67
 msgid "Every Metabase user belongs to the All Users group. If you want to limit or restrict a group's access to something, make sure the All Users group has an equal or lower level of access."
 msgstr "Todos los usuarios de Metabase pertenecen al grupo All Users. Si quieres limitar o restringir el acceso de un grupo a algo, asegúrate de que el grupo All Users tenga un nivel de acceso igual o inferior."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:63
+#: frontend/src/metabase/admin/permissions/selectors.js:69
 msgid "MetaBot is Metabase's Slack bot. You can choose what it has access to here."
 msgstr "MetaBot es el bot de Slack de Metabase. Puedes elegir a qué tiene acceso aquí."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:115
+#: frontend/src/metabase/admin/permissions/selectors.js:119
 msgid "The \"{0}\" group may have access to a different set of {1} than this group, which may give this group additional access to some {2}."
 msgstr "El grupo \"{0}\" puede tener acceso a un conjunto diferente de {1} que este grupo, lo que puede darle a este grupo acceso adicional a algún {2}."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:120
+#: frontend/src/metabase/admin/permissions/selectors.js:124
 msgid "The \"{0}\" group has a higher level of access than this, which will override this setting. You should limit or revoke the \"{1}\" group's access to this item."
 msgstr "El grupo \"{0}\" tiene un mayor nivel de acceso que este, lo que anulará esta configuración. Debes limitar o revocar el acceso del grupo \"{1}\" a este elemento."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:150
+#: frontend/src/metabase/admin/permissions/selectors.js:154
 msgid "Limit"
 msgstr "¿Limitar"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:150
+#: frontend/src/metabase/admin/permissions/selectors.js:154
 msgid "Revoke"
 msgstr "¿Revocar"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:152
+#: frontend/src/metabase/admin/permissions/selectors.js:156
 msgid "access even though \"{0}\" has greater access?"
 msgstr "el acceso a pesar de que el grupo \"{0}\" tiene mayor acceso?"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:155
-#: frontend/src/metabase/admin/permissions/selectors.js:254
+#: frontend/src/metabase/admin/permissions/selectors.js:159
+#: frontend/src/metabase/admin/permissions/selectors.js:258
 msgid "Limit access"
 msgstr "Limita el acceso"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:155
-#: frontend/src/metabase/admin/permissions/selectors.js:219
-#: frontend/src/metabase/admin/permissions/selectors.js:262
+#: frontend/src/metabase/admin/permissions/selectors.js:159
+#: frontend/src/metabase/admin/permissions/selectors.js:223
+#: frontend/src/metabase/admin/permissions/selectors.js:266
 msgid "Revoke access"
 msgstr "Revocar el acceso"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:164
+#: frontend/src/metabase/admin/permissions/selectors.js:168
 msgid "Change access to this database to limited?"
 msgstr "¿Cambiar el acceso a esta base de datos a limitado?"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:165
+#: frontend/src/metabase/admin/permissions/selectors.js:169
 msgid "Change"
 msgstr "Cambiar"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:178
+#: frontend/src/metabase/admin/permissions/selectors.js:182
 msgid "Allow Raw Query Writing?"
 msgstr "Permitir escritura de consultas directas"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:179
+#: frontend/src/metabase/admin/permissions/selectors.js:183
 msgid "This will also change this group's data access to Unrestricted for this database."
 msgstr "Esto también cambiará el acceso de datos de este grupo a Sin restricciones para esta base de datos."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:180
+#: frontend/src/metabase/admin/permissions/selectors.js:184
 msgid "Allow"
 msgstr "Permitir"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:217
+#: frontend/src/metabase/admin/permissions/selectors.js:221
 msgid "Revoke access to all tables?"
 msgstr "¿Revoca el acceso a todas las tablas?"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:218
+#: frontend/src/metabase/admin/permissions/selectors.js:222
 msgid "This will also revoke this group's access to raw queries for this database."
 msgstr "Esto también revocará el acceso de este grupo a consultas sin formato para esta base de datos."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:247
+#: frontend/src/metabase/admin/permissions/selectors.js:251
 msgid "Grant unrestricted access"
 msgstr "Conceder acceso sin restricciones"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:248
+#: frontend/src/metabase/admin/permissions/selectors.js:252
 msgid "Unrestricted access"
 msgstr "Acceso no restingido"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:255
+#: frontend/src/metabase/admin/permissions/selectors.js:259
 msgid "Limited access"
 msgstr "Acceso limitado"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:263
+#: frontend/src/metabase/admin/permissions/selectors.js:267
 msgid "No access"
 msgstr "Sin acceso"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:269
+#: frontend/src/metabase/admin/permissions/selectors.js:273
 msgid "Write raw queries"
 msgstr "Escribir consultas directas"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:270
+#: frontend/src/metabase/admin/permissions/selectors.js:274
 msgid "Can write raw queries"
 msgstr "Puede escribir consultas directas"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:277
+#: frontend/src/metabase/admin/permissions/selectors.js:281
 msgid "Curate collection"
 msgstr "Mima la colección"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:284
+#: frontend/src/metabase/admin/permissions/selectors.js:288
 msgid "View collection"
 msgstr "Ver colección"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:327
-#: frontend/src/metabase/admin/permissions/selectors.js:423
-#: frontend/src/metabase/admin/permissions/selectors.js:520
+#: frontend/src/metabase/admin/permissions/selectors.js:331
+#: frontend/src/metabase/admin/permissions/selectors.js:427
+#: frontend/src/metabase/admin/permissions/selectors.js:524
 msgid "Data Access"
 msgstr "Acceso a Datos"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:488
-#: frontend/src/metabase/admin/permissions/selectors.js:645
-#: frontend/src/metabase/admin/permissions/selectors.js:650
+#: frontend/src/metabase/admin/permissions/selectors.js:492
+#: frontend/src/metabase/admin/permissions/selectors.js:649
+#: frontend/src/metabase/admin/permissions/selectors.js:654
 msgid "View tables"
 msgstr "Ver tablas"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:586
+#: frontend/src/metabase/admin/permissions/selectors.js:590
 msgid "SQL Queries"
 msgstr "Consultas SQL"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:656
+#: frontend/src/metabase/admin/permissions/selectors.js:660
 msgid "View schemas"
 msgstr "Ver esquemas"
 
-#: frontend/src/metabase/admin/routes.jsx:49
-#: frontend/src/metabase/nav/containers/Navbar.jsx:210
+#: frontend/src/metabase/admin/routes.jsx:59
+#: frontend/src/metabase/nav/containers/Navbar.jsx:209
 msgid "Data Model"
 msgstr "Modelo de Datos"
 
@@ -1501,7 +1485,7 @@ msgid "Metabase {0} is available.  You're running {1}"
 msgstr "Metabase {0} está disponible.  Estás ejecutando {1}"
 
 #: frontend/src/metabase/admin/settings/components/SettingsUpdatesForm.jsx:112
-#: frontend/src/metabase/components/form/StandardForm.jsx:67
+#: frontend/src/metabase/components/form/StandardForm.jsx:69
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:96
 msgid "Update"
 msgstr "Actualiza"
@@ -1618,7 +1602,7 @@ msgstr "Embebido Premium habilitado"
 
 #: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLevel.jsx:26
 msgid "Enter the token you bought from the Metabase Store"
-msgstr "Ingresa el token que compraste en la Tienda Metabase"
+msgstr "Introduce el token que compraste en la Tienda Metabase"
 
 #: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLevel.jsx:53
 msgid "Premium embedding lets you disable \"Powered by Metabase\" on your embedded dashboards and questions."
@@ -1992,7 +1976,7 @@ msgstr "La alerta fue eliminada correctamente."
 
 #: frontend/src/metabase/auth/auth.js:33
 msgid "Please enter a valid formatted email address."
-msgstr "Por favor ingresa una dirección de correo electrónico con formato válido."
+msgstr "Por favor introduce una dirección de correo electrónico con formato válido."
 
 #: frontend/src/metabase/auth/auth.js:116
 #: frontend/src/metabase/setup/components/UserStep.jsx:110
@@ -2128,20 +2112,19 @@ msgstr "Guardado"
 msgid "Ok"
 msgstr "Vale"
 
-#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:40
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:38
 msgid "Archive this collection?"
 msgstr "¿Archivar esta colección?"
 
-#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:45
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:43
 msgid "The dashboards, collections, and pulses in this collection will also be archived."
 msgstr "Los cuadros de mando, colecciones y pulsos guardados en esta colección también se archivarán."
 
-#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:49
-#: frontend/src/metabase/components/CollectionLanding.jsx:587
-#: frontend/src/metabase/components/EntityItem.jsx:54
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:47
+#: frontend/src/metabase/components/CollectionLanding.jsx:624
 #: frontend/src/metabase/components/EntityMenu.info.js:31
 #: frontend/src/metabase/components/EntityMenu.info.js:87
-#: frontend/src/metabase/home/containers/ArchiveApp.jsx:48
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:47
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:195
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:200
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:201
@@ -2155,28 +2138,28 @@ msgstr "Archivar"
 msgid "This {0} has been archived"
 msgstr "Este {0} ha sido archivado"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:679
+#: frontend/src/metabase/components/CollectionLanding.jsx:715
 msgid "View the archive"
 msgstr "Ver el archivo"
 
-#: frontend/src/metabase/components/ArchivedItem.jsx:39
+#: frontend/src/metabase/components/ArchivedItem.jsx:43
 msgid "Unarchive this {0}"
 msgstr "Desarchive este {0}"
 
-#: frontend/src/metabase/components/BrowseApp.jsx:95
-#: frontend/src/metabase/components/BrowseApp.jsx:157
-#: frontend/src/metabase/components/BrowseApp.jsx:250
-#: frontend/src/metabase/containers/Overworld.jsx:224
+#: frontend/src/metabase/components/BrowseApp.jsx:70
+#: frontend/src/metabase/components/BrowseApp.jsx:132
+#: frontend/src/metabase/components/BrowseApp.jsx:225
+#: frontend/src/metabase/containers/Overworld.jsx:219
 msgid "Our data"
 msgstr "Nuestros datos"
 
-#: frontend/src/metabase/components/BrowseApp.jsx:194
+#: frontend/src/metabase/components/BrowseApp.jsx:169
 #: frontend/src/metabase/reference/databases/TableSidebar.jsx:55
 msgid "X-ray this table"
 msgstr "Aplica rayos-X a esta tabla"
 
-#: frontend/src/metabase/components/BrowseApp.jsx:208
-#: frontend/src/metabase/containers/Overworld.jsx:251
+#: frontend/src/metabase/components/BrowseApp.jsx:183
+#: frontend/src/metabase/containers/Overworld.jsx:246
 msgid "Learn about this table"
 msgstr "Aprende sobre esta tabla"
 
@@ -2194,31 +2177,31 @@ msgstr "Guardado!"
 msgid "Saving failed."
 msgstr "No se ha podido guardar."
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Su"
 msgstr "D"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Mo"
 msgstr "L"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Tu"
 msgstr "M"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "We"
 msgstr "X"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Th"
 msgstr "J"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Fr"
 msgstr "V"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Sa"
 msgstr "S"
 
@@ -2251,74 +2234,73 @@ msgstr "Puedes usar colecciones para organizar y agrupar cuadros de mando, pregu
 msgid "Create another collection"
 msgstr "Crea otra colección"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:61
+#: frontend/src/metabase/components/CollectionLanding.jsx:68
 msgid "Dashboards let you collect and share data in one place."
 msgstr "Los cuadros de mando te permiten recopilar y compartir datos en un solo lugar."
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:70
+#: frontend/src/metabase/components/CollectionLanding.jsx:77
 msgid "Pulses let you send out the latest data to your team on a schedule via email or slack."
 msgstr "Los pulsos te permiten enviar datos de Metabase a correo electrónico o Slack en el horario que deseas."
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:79
+#: frontend/src/metabase/components/CollectionLanding.jsx:86
 msgid "Questions are a saved look at your data."
 msgstr "Las preguntas son vistas guardadas de tus datos."
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:275
+#: frontend/src/metabase/components/CollectionLanding.jsx:287
 msgid "Pins"
 msgstr "Pins"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:329
+#: frontend/src/metabase/components/CollectionLanding.jsx:341
 msgid "Drag something here to pin it to the top"
 msgstr "Arrastra algo aquí para pegarlo arriba"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:733
-#: frontend/src/metabase/components/CollectionLanding.jsx:341
+#: frontend/src/metabase/admin/permissions/selectors.js:737
+#: frontend/src/metabase/components/CollectionLanding.jsx:353
 #: frontend/src/metabase/home/containers/SearchApp.jsx:35
-#: frontend/src/metabase/home/containers/SearchApp.jsx:96
+#: frontend/src/metabase/home/containers/SearchApp.jsx:92
 msgid "Collections"
 msgstr "Colecciones"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:411
-#: frontend/src/metabase/components/CollectionLanding.jsx:434
+#: frontend/src/metabase/components/CollectionLanding.jsx:432
+#: frontend/src/metabase/components/CollectionLanding.jsx:455
 msgid "Drag here to un-pin"
 msgstr "Arrastra aquí para despegarlo"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:469
+#: frontend/src/metabase/components/CollectionLanding.jsx:490
 msgid "{0} item selected"
 msgid_plural "{0} items selected"
 msgstr[0] "{0} elemento seleccionado"
 msgstr[1] "{0} elementos seleccionados"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:487
+#: frontend/src/metabase/components/CollectionLanding.jsx:522
 msgid "Move {0} items?"
 msgstr "¿Mover {1} elemento(s)?"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:488
+#: frontend/src/metabase/components/CollectionLanding.jsx:523
 msgid "Move \"{0}\"?"
 msgstr "¿Mover \"{0}\"?"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:594
+#: frontend/src/metabase/components/CollectionLanding.jsx:631
 #: frontend/src/metabase/components/EntityMenu.info.js:29
 #: frontend/src/metabase/components/EntityMenu.info.js:85
-#: frontend/src/metabase/containers/CollectionMoveModal.jsx:78
+#: frontend/src/metabase/containers/CollectionMoveModal.jsx:69
 msgid "Move"
 msgstr "Mover"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:656
+#: frontend/src/metabase/components/CollectionLanding.jsx:692
 msgid "Edit this collection"
 msgstr "Edita esta colección"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:664
+#: frontend/src/metabase/components/CollectionLanding.jsx:700
 msgid "Archive this collection"
 msgstr "Archivar esta colección"
 
 #: frontend/src/metabase/components/CollectionList.jsx:64
-#: frontend/src/metabase/entities/collections.js:148
+#: frontend/src/metabase/entities/collections.js:155
 msgid "My personal collection"
 msgstr "Mi colección personal"
 
 #: frontend/src/metabase/components/CollectionList.jsx:106
-#: frontend/src/metabase/containers/CollectionForm.jsx:9
 msgid "New collection"
 msgstr "Nueva colección"
 
@@ -2392,15 +2374,16 @@ msgstr "¿Cómo te gustaría llamar esta base de datos?"
 msgid "Next"
 msgstr "Siguiente"
 
+#: frontend/src/metabase/components/ArchivedItem.jsx:52
 #: frontend/src/metabase/components/DeleteModalWithConfirm.jsx:80
 msgid "Delete this {0}"
 msgstr "Elimina este {0}"
 
-#: frontend/src/metabase/components/EntityItem.jsx:42
+#: frontend/src/metabase/components/EntityItem.jsx:43
 msgid "Pin this item"
 msgstr "Fija este elemento"
 
-#: frontend/src/metabase/components/EntityItem.jsx:48
+#: frontend/src/metabase/components/EntityItem.jsx:49
 msgid "Move this item"
 msgstr "Mueve este elemento"
 
@@ -2546,6 +2529,7 @@ msgid "No description yet"
 msgstr "Sin descripción todavía"
 
 #: frontend/src/metabase/components/Header.jsx:112
+#: frontend/src/metabase/entities/containers/EntityForm.jsx:43
 msgid "New {0}"
 msgstr "Nuevo {0}"
 
@@ -2609,22 +2593,22 @@ msgid "Everything"
 msgstr "Todo"
 
 #: frontend/src/metabase/components/ItemTypeFilterBar.jsx:18
-#: frontend/src/metabase/home/containers/SearchApp.jsx:73
+#: frontend/src/metabase/home/containers/SearchApp.jsx:69
 msgid "Dashboards"
 msgstr "Cuadros de Mando"
 
 #: frontend/src/metabase/components/ItemTypeFilterBar.jsx:23
-#: frontend/src/metabase/home/containers/SearchApp.jsx:119
+#: frontend/src/metabase/home/containers/SearchApp.jsx:115
 msgid "Questions"
 msgstr "Preguntas"
 
 #: frontend/src/metabase/components/ItemTypeFilterBar.jsx:28
-#: frontend/src/metabase/routes.jsx:320
+#: frontend/src/metabase/routes.jsx:321
 msgid "Pulses"
 msgstr "Pulsos"
 
 #: frontend/src/metabase/components/LeftNavPane.jsx:36
-#: frontend/src/metabase/query_builder/components/dataref/DataReference.jsx:86
+#: frontend/src/metabase/query_builder/components/dataref/DataReference.jsx:103
 msgid "Back"
 msgstr "Atrás"
 
@@ -2725,6 +2709,7 @@ msgid "First"
 msgstr "Primero"
 
 #: frontend/src/metabase/components/SchedulePicker.jsx:34
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:23
 msgid "Last"
 msgstr "Ultimo"
 
@@ -2781,8 +2766,8 @@ msgstr "Lo siento, no tienes permiso para ver eso."
 msgid "Unknown error encountered"
 msgstr "Error desconocido encontrado"
 
-#: frontend/src/metabase/components/form/StandardForm.jsx:67
-#: frontend/src/metabase/nav/containers/Navbar.jsx:305
+#: frontend/src/metabase/components/form/StandardForm.jsx:69
+#: frontend/src/metabase/nav/containers/Navbar.jsx:304
 msgid "Create"
 msgstr "Crea"
 
@@ -2818,12 +2803,13 @@ msgid "View by"
 msgstr "Ver por"
 
 #: frontend/src/metabase/containers/EntitySearch.jsx:494
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:84
 #: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:69
 #: frontend/src/metabase/tutorial/TutorialModal.jsx:34
 msgid "of"
 msgstr "de"
 
-#: frontend/src/metabase/containers/Overworld.jsx:80
+#: frontend/src/metabase/containers/Overworld.jsx:75
 msgid "Don't tell anyone, but you're my favorite."
 msgstr "No se lo digas a nadie, pero eres mi favorito."
 
@@ -2831,19 +2817,19 @@ msgstr "No se lo digas a nadie, pero eres mi favorito."
 msgid "Once you connect your own data, I can show you some automatic explorations called x-rays. Here are some examples with sample data."
 msgstr "En cuanto conectas tus propios datos, puedo mostrarte algunas exploraciones automáticas llamadas rayos-X. Aquí hay algunos ejemplos con datos de muestra."
 
-#: frontend/src/metabase/containers/Overworld.jsx:133
-#: frontend/src/metabase/containers/Overworld.jsx:304
+#: frontend/src/metabase/containers/Overworld.jsx:128
+#: frontend/src/metabase/containers/Overworld.jsx:299
 #: frontend/src/metabase/reference/components/GuideHeader.jsx:12
 msgid "Start here"
 msgstr "Empieza aquí"
 
-#: frontend/src/metabase/containers/Overworld.jsx:299
-#: frontend/src/metabase/entities/collections.js:140
+#: frontend/src/metabase/containers/Overworld.jsx:294
+#: frontend/src/metabase/entities/collections.js:147
 #: src/metabase/models/collection.clj
 msgid "Our analytics"
 msgstr "Nuestra Analítica"
 
-#: frontend/src/metabase/containers/Overworld.jsx:208
+#: frontend/src/metabase/containers/Overworld.jsx:203
 msgid "Browse all items"
 msgstr "Ver todos los elementos"
 
@@ -2871,9 +2857,11 @@ msgstr "Guardar pregunta"
 msgid "What is the name of your card?"
 msgstr "¿Cuál es el nombre de tu tarjeta?"
 
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:31
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:18
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:232
-#: frontend/src/metabase/entities/collections.js:94
-#: frontend/src/metabase/entities/dashboards.js:102
+#: frontend/src/metabase/entities/collections.js:101
+#: frontend/src/metabase/entities/dashboards.js:151
 #: frontend/src/metabase/lib/core.js:50 frontend/src/metabase/lib/core.js:205
 #: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:156
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:211
@@ -2886,12 +2874,12 @@ msgid "Description"
 msgstr "Descripción"
 
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:238
-#: frontend/src/metabase/entities/dashboards.js:104
+#: frontend/src/metabase/entities/dashboards.js:153
 msgid "It's optional but oh, so helpful"
 msgstr "Es opcional pero, tan útil"
 
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:245
-#: frontend/src/metabase/entities/dashboards.js:108
+#: frontend/src/metabase/entities/dashboards.js:157
 msgid "Which collection should this go in?"
 msgstr "¿En qué colección debería ir esto?"
 
@@ -2931,11 +2919,11 @@ msgstr "Archivar Cuadro de Mando"
 msgid "Make sure to make a selection for each series, or the filter won't work on this card."
 msgstr "Asegúrate de hacer una selección para cada serie, o el filtro no funcionará en esta tarjeta."
 
-#: frontend/src/metabase/dashboard/components/Dashboard.jsx:286
+#: frontend/src/metabase/dashboard/components/Dashboard.jsx:300
 msgid "This dashboard is looking empty."
 msgstr "Este cuadro de mando parece estar vacío."
 
-#: frontend/src/metabase/dashboard/components/Dashboard.jsx:289
+#: frontend/src/metabase/dashboard/components/Dashboard.jsx:301
 msgid "Add a question to start making it useful!"
 msgstr "¡Añade una pregunta para hacerlo útil!"
 
@@ -2983,23 +2971,23 @@ msgstr "Parámetros"
 msgid "Add a text box"
 msgstr "Añade una caja de texto"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:302
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:319
 msgid "Move dashboard"
 msgstr "Mover cuadro de mando"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:315
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:302
 msgid "Edit dashboard"
 msgstr "Editar Cuadro de Mando"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:319
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:306
 msgid "Edit Dashboard Layout"
 msgstr "Editar Disposición del Cuadro de Mando"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:357
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:369
 msgid "You are editing a dashboard"
 msgstr "Estás editando un cuadro de mando"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:362
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:374
 msgid "Select the field that should be filtered for each card"
 msgstr "Selecciona el campo que debe filtrarse para cada tarjeta"
 
@@ -3066,6 +3054,7 @@ msgstr "¿Eliminar esta pregunta?"
 msgid "Your dashboard was saved"
 msgstr "Se ha guardado tu cuadro de mando."
 
+#: frontend/src/metabase/components/CollectionLanding.jsx:745
 #: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:76
 msgid "See it"
 msgstr "Verlo"
@@ -3091,15 +3080,15 @@ msgstr "Los valores en este campo no coinciden con los valores de ningún otro c
 msgid "No valid fields"
 msgstr "No hay campos válidos"
 
-#: frontend/src/metabase/entities/collections.js:90
+#: frontend/src/metabase/entities/collections.js:97
 msgid "Name must be 100 characters or less"
 msgstr "El nombre debe tener 100 caracteres o menos"
 
-#: frontend/src/metabase/entities/collections.js:104
+#: frontend/src/metabase/entities/collections.js:111
 msgid "Color is required"
 msgstr "Color es obligatorio"
 
-#: frontend/src/metabase/entities/dashboards.js:97
+#: frontend/src/metabase/entities/dashboards.js:146
 msgid "What is the name of your dashboard?"
 msgstr "¿Cuál es el nombre de tu cuadro de mando?"
 
@@ -3152,7 +3141,9 @@ msgstr "eliminado una pregunta del cuadro de mando - "
 msgid "received the latest data from"
 msgstr "recibido los últimos datos de"
 
+#: frontend/src/metabase-lib/lib/Dimension.js:621
 #: frontend/src/metabase/home/components/Activity.jsx:244
+#: frontend/src/metabase/lib/query_time.js:180
 #: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:273
 msgid "Unknown"
 msgstr "Desconocido"
@@ -3274,17 +3265,17 @@ msgstr "Visto Recientemente"
 msgid "You haven't looked at any dashboards or questions recently"
 msgstr "No has consultado ningún cuadro de mando o pregunta recientemente"
 
-#: frontend/src/metabase/home/containers/ArchiveApp.jsx:82
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:99
 msgid "{0} items selected"
 msgstr "{0} elemento(s) seleccionado(s)"
 
-#: frontend/src/metabase/home/containers/ArchiveApp.jsx:102
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:121
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:172
 msgid "Unarchive"
 msgstr "Desarchivar"
 
 #: frontend/src/metabase/home/containers/HomepageApp.jsx:74
-#: frontend/src/metabase/nav/containers/Navbar.jsx:332
+#: frontend/src/metabase/nav/containers/Navbar.jsx:331
 msgid "Activity"
 msgstr "Actividad"
 
@@ -3292,7 +3283,7 @@ msgstr "Actividad"
 msgid "Results for \"{0}\""
 msgstr "Resultados de \"{0}\""
 
-#: frontend/src/metabase/home/containers/SearchApp.jsx:142
+#: frontend/src/metabase/home/containers/SearchApp.jsx:138
 msgid "Pulse"
 msgstr "Pulso"
 
@@ -3355,7 +3346,7 @@ msgstr "Común"
 
 #: frontend/src/metabase/lib/core.js:30
 #: frontend/src/metabase/meta/Dashboard.js:81
-#: frontend/src/metabase/qb/components/actions/PivotByCategoryAction.jsx:9
+#: frontend/src/metabase/modes/components/actions/PivotByCategoryAction.jsx:9
 msgid "Category"
 msgstr "Categoría"
 
@@ -3391,10 +3382,11 @@ msgstr "Longitud"
 
 #: frontend/src/metabase/lib/core.js:85
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:149
-#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:39
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:41
 msgid "Number"
 msgstr "Número"
 
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:19
 #: frontend/src/metabase/lib/core.js:90
 #: frontend/src/metabase/meta/Dashboard.js:65
 msgid "State"
@@ -3424,9 +3416,10 @@ msgstr "Ingreso"
 msgid "Discount"
 msgstr "Descuento"
 
+#. Sé que parece una traducción muy literal, pero no sería una traducción más acertada "Sello de tiempo de creación"?
 #: frontend/src/metabase/lib/core.js:130
 msgid "Creation timestamp"
-msgstr "FechaHora de Creación"
+msgstr "Fecha y Hora de Creación"
 
 #: frontend/src/metabase/lib/core.js:135
 msgid "Creation time"
@@ -3558,7 +3551,7 @@ msgid "CumulativeCount"
 msgstr "RecuentoAcumulativo"
 
 #: frontend/src/metabase/lib/expressions/config.js:9
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:17
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:17
 #: frontend/src/metabase/visualizations/lib/utils.js:127
 msgid "Sum"
 msgstr "Suma"
@@ -3583,14 +3576,14 @@ msgid "Average"
 msgstr "Media"
 
 #: frontend/src/metabase/lib/expressions/config.js:14
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:25
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:25
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:48
 #: frontend/src/metabase/visualizations/lib/settings/graph.js:450
 msgid "Min"
 msgstr "Mín"
 
 #: frontend/src/metabase/lib/expressions/config.js:15
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:29
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:29
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:57
 #: frontend/src/metabase/visualizations/lib/settings/graph.js:458
 msgid "Max"
@@ -3600,13 +3593,13 @@ msgstr "Máx"
 msgid "sad sad panda, lexing errors detected"
 msgstr "triste panda triste, errores léxicos detectados"
 
-#: frontend/src/metabase/lib/formatting.js:724
+#: frontend/src/metabase/lib/formatting.js:707
 msgid "{0} second"
 msgid_plural "{0} seconds"
 msgstr[0] "{0} segundo"
 msgstr[1] "{0} segundos"
 
-#: frontend/src/metabase/lib/formatting.js:727
+#: frontend/src/metabase/lib/formatting.js:710
 msgid "{0} minute"
 msgid_plural "{0} minutes"
 msgstr[0] "{0} minuto"
@@ -3865,7 +3858,7 @@ msgid "Cumulative sum of ..."
 msgstr "Suma acumulada de ..."
 
 #: frontend/src/metabase/lib/schema_metadata.js:493
-msgid "Additive sum of all the values of a column.\\ne.x. total revenue over time."
+msgid "Additive sum of all the values of a column.\\\\ne.x. total revenue over time."
 msgstr "Suma aditiva de todos los valores de una columna.\n"
 " e.g. los ingresos totales a lo largo del tiempo"
 
@@ -3874,7 +3867,7 @@ msgid "Cumulative count of rows"
 msgstr "Recuento acumulado de filas"
 
 #: frontend/src/metabase/lib/schema_metadata.js:501
-msgid "Additive count of the number of rows.\\ne.x. total number of sales over time."
+msgid "Additive count of the number of rows.\\\\ne.x. total number of sales over time."
 msgstr "Recuento aditiva del número de filas.\n"
 " e.g. número total de ventas en el tiempo"
 
@@ -4042,7 +4035,7 @@ msgid "ID"
 msgstr "ID"
 
 #: frontend/src/metabase/meta/Dashboard.js:95
-#: frontend/src/metabase/qb/components/actions/PivotByTimeAction.jsx:8
+#: frontend/src/metabase/modes/components/actions/PivotByTimeAction.jsx:8
 msgid "Time"
 msgstr "Tiempo"
 
@@ -4051,7 +4044,7 @@ msgid "Date range, relative date, time of day, etc."
 msgstr "Rango de fechas, fecha relativa, hora del día, etc."
 
 #: frontend/src/metabase/meta/Dashboard.js:101
-#: frontend/src/metabase/qb/components/actions/PivotByLocationAction.jsx:8
+#: frontend/src/metabase/modes/components/actions/PivotByLocationAction.jsx:8
 msgid "Location"
 msgstr "Ubicación"
 
@@ -4071,73 +4064,73 @@ msgstr "Otras Categorías"
 msgid "Category, Type, Model, Rating, etc."
 msgstr "Categoría, Tipo, Modelo, Clasificación, etc."
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:43
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:42
 #: frontend/src/metabase/user/components/UserSettings.jsx:54
 msgid "Account settings"
 msgstr "Configuración de la cuenta"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:50
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:49
 msgid "Exit admin"
 msgstr "Salir de Configuración"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:60
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:34
 msgid "Logs"
 msgstr "Logs"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:67
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:58
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorSidebar.jsx:105
 msgid "Help"
 msgstr "Ayuda"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:76
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:67
 msgid "About Metabase"
 msgstr "Sobre Metabase"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:82
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:73
 msgid "Sign out"
 msgstr "Salir"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:107
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:98
 msgid "Thanks for using"
 msgstr "Gracias por utilizar"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:111
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:102
 msgid "You're on version"
 msgstr "Estás en la versión"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:114
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:105
 msgid "Built on"
 msgstr "Construida el"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:133
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:124
 msgid "is a Trademark of"
 msgstr "es una marca registrada de"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:135
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:126
 msgid "and is built with care in San Francisco, CA"
 msgstr "y está construido con cariño en San Francisco, CA"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:195
+#: frontend/src/metabase/nav/containers/Navbar.jsx:194
 msgid "Metabase Admin"
 msgstr "Configuración Metabase"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:301
+#: frontend/src/metabase/nav/containers/Navbar.jsx:300
 #: frontend/src/metabase/reference/databases/TableQuestions.jsx:36
 #: frontend/src/metabase/reference/metrics/MetricQuestions.jsx:37
 #: frontend/src/metabase/reference/segments/SegmentQuestions.jsx:37
 msgid "Ask a question"
 msgstr "Haz una pregunta"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:310
+#: frontend/src/metabase/nav/containers/Navbar.jsx:309
 msgid "New dashboard"
 msgstr "Añadir nuevo Cuadro de Mando"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:316
+#: frontend/src/metabase/nav/containers/Navbar.jsx:315
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:127
 msgid "New pulse"
 msgstr "Nuevo pulso"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:324
+#: frontend/src/metabase/nav/containers/Navbar.jsx:323
 msgid "Reference"
 msgstr "Referencia"
 
@@ -4186,17 +4179,22 @@ msgid "Select a default value…"
 msgstr "Selecciona un valor por defecto…"
 
 #: frontend/src/metabase/parameters/components/widgets/DateAllOptionsWidget.jsx:149
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:390
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:404
 msgid "Update filter"
 msgstr "Actualizar filtro"
 
+#: frontend/src/metabase/lib/query_time.js:112
+#: frontend/src/metabase/lib/query_time.js:123
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:9
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:144
+#: src/metabase/pulse/render.clj
 msgid "Today"
 msgstr "Hoy"
 
+#: frontend/src/metabase/lib/query_time.js:118
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:14
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:148
+#: src/metabase/pulse/render.clj
 msgid "Yesterday"
 msgstr "Ayer"
 
@@ -4208,23 +4206,32 @@ msgstr "Ultimos 7 días"
 msgid "Past 30 days"
 msgstr "Ultimos 30 días"
 
+#: frontend/src/metabase/lib/query_time.js:195
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:24
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:29
 #: src/metabase/api/table.clj
 msgid "Week"
-msgstr "Semana"
+msgid_plural "Weeks"
+msgstr[0] "Semana"
+msgstr[1] "Semanas"
 
+#: frontend/src/metabase/lib/query_time.js:197
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:25
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:30
 #: src/metabase/api/table.clj
 msgid "Month"
-msgstr "Mes"
+msgid_plural "Months"
+msgstr[0] "Mes"
+msgstr[1] "Meses"
 
+#: frontend/src/metabase/lib/query_time.js:201
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:26
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:31
 #: src/metabase/api/table.clj
 msgid "Year"
-msgstr "Año"
+msgid_plural "Years"
+msgstr[0] "Año"
+msgstr[1] "Años"
 
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:152
 msgid "Past 7 Days"
@@ -4240,11 +4247,11 @@ msgstr "Semana Pasada"
 
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:164
 msgid "Last Month"
-msgstr "Mes Pasado"
+msgstr "El mes pasado"
 
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:168
 msgid "Last Year"
-msgstr "Año Pasado"
+msgstr "El año pasado"
 
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:172
 msgid "This Week"
@@ -4258,7 +4265,7 @@ msgstr "Este Mes"
 msgid "This Year"
 msgstr "Este Año"
 
-#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:88
+#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:89
 #: frontend/src/metabase/parameters/components/widgets/TextWidget.jsx:54
 msgid "Enter a value..."
 msgstr "Introduce un valor..."
@@ -4441,7 +4448,7 @@ msgid "This pulse will no longer be emailed to {0} {1}"
 msgstr "Este pulso ya no se enviará por correo electrónico a la dirección {1}"
 
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:94
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:374
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:376
 msgid "{0} address"
 msgid_plural "{0} addresses"
 msgstr[0] "{0} dirección"
@@ -4493,7 +4500,7 @@ msgstr "Adjunto"
 
 #: frontend/src/metabase/pulse/components/PulseEditCards.jsx:104
 #: frontend/src/metabase/pulse/components/PulseEditCards.jsx:111
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:671
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:673
 msgid "Heads up"
 msgstr "Aviso"
 
@@ -4521,55 +4528,55 @@ msgstr "Elige tus datos"
 msgid "Choose questions you'd like to send in this pulse"
 msgstr "Elige las preguntas que te gustaría enviar en este pulso"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:29
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:27
 msgid "Emails"
 msgstr "Emails"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:30
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:28
 msgid "Slack messages"
 msgstr "Mensajes Slack"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:223
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:221
 msgid "Sent"
 msgstr "Enviado"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:224
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:222
 msgid "{0} will be sent at"
 msgstr "{0} se enviará a las"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:226
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:224
 msgid "Messages"
 msgstr "Mensajes"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:237
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:240
 msgid "Send email now"
 msgstr "Enviar email ahora"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:238
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:241
 msgid "Send to {0} now"
 msgstr "Enviar a {0} ahora"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:240
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:243
 msgid "Sending…"
 msgstr "Enviando…"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:241
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:244
 msgid "Sending failed"
 msgstr "Ha fallado el envío"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:244
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:247
 msgid "Didn’t send because the pulse has no results."
 msgstr "No se envió porque el pulso no tiene resultados."
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:245
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:248
 msgid "Pulse sent"
 msgstr "Pulso enviado"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:284
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:287
 msgid "{0} needs to be set up by an administrator."
 msgstr "{0} debe ser configurado por un administrador."
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:299
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:302
 msgid "Slack"
 msgstr "Slack"
 
@@ -4599,7 +4606,7 @@ msgstr "Omitir un pulso programado si ninguna de sus preguntas tiene resultado"
 
 #: frontend/src/metabase/pulse/components/RecipientPicker.jsx:65
 msgid "Enter email addresses you'd like this data to go to"
-msgstr "Ingresa las direcciones de correo electrónico a las que quieres que vayan estos datos"
+msgstr "Introduce las direcciones de correo electrónico a las que quieres que vayan estos datos"
 
 #: frontend/src/metabase/pulse/components/WhatsAPulse.jsx:16
 msgid "Help everyone on your team stay in sync with your data."
@@ -4609,66 +4616,66 @@ msgstr "Ayuda a todos los de tu equipo a mantenerse sincronizados con tus datos.
 msgid "Pulses let you send data from Metabase to email or Slack on the schedule of your choice."
 msgstr "Los pulsos te permiten enviar datos de Metabase a correo electrónico o Slack en el horario que desees."
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:100
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:100
 msgid "After {0}"
 msgstr "Después de {0}"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:102
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:102
 msgid "Before {0}"
 msgstr "Antes de {0}"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:104
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:104
 #: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:295
 msgid "Is Empty"
 msgstr "Vacío"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:106
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:106
 #: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:301
 msgid "Not Empty"
 msgstr "No Vacío"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:109
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:109
 #: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:213
 msgid "All Time"
 msgstr "Todo el Tiempo"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:154
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:154
 msgid "Apply"
 msgstr "Aplicar"
 
-#: frontend/src/metabase/qb/components/actions/CommonMetricsAction.jsx:21
+#: frontend/src/metabase/modes/components/actions/CommonMetricsAction.jsx:21
 msgid "View {0}"
 msgstr "Ver {0}"
 
-#: frontend/src/metabase/qb/components/actions/CompareWithTable.jsx:29
+#: frontend/src/metabase/modes/components/actions/CompareWithTable.jsx:29
 msgid "Compare this with all rows in the table"
 msgstr "Compara esto con todas las filas en la tabla"
 
-#: frontend/src/metabase/qb/components/actions/CompoundQueryAction.jsx:14
+#: frontend/src/metabase/modes/components/actions/CompoundQueryAction.jsx:14
 msgid "Analyze the results of this Query"
 msgstr "Analiza los resultados de esta consulta"
 
-#: frontend/src/metabase/qb/components/actions/CountByTimeAction.jsx:29
+#: frontend/src/metabase/modes/components/actions/CountByTimeAction.jsx:29
 msgid "Count of rows by time"
 msgstr "Número de filas por tiempo"
 
-#: frontend/src/metabase/qb/components/actions/PivotByAction.jsx:55
+#: frontend/src/metabase/modes/components/actions/PivotByAction.jsx:52
 msgid "Break out by {0}"
 msgstr "Distribuir por {0}"
 
-#: frontend/src/metabase/qb/components/actions/SummarizeBySegmentMetricAction.jsx:34
+#: frontend/src/metabase/modes/components/actions/SummarizeBySegmentMetricAction.jsx:31
 msgid "Summarize this segment"
 msgstr "Resume este segmento"
 
-#: frontend/src/metabase/qb/components/actions/UnderlyingDataAction.jsx:14
+#: frontend/src/metabase/modes/components/actions/UnderlyingDataAction.jsx:14
 msgid "View this as a table"
 msgstr "Ver esto como una tabla"
 
-#: frontend/src/metabase/qb/components/actions/UnderlyingRecordsAction.jsx:22
+#: frontend/src/metabase/modes/components/actions/UnderlyingRecordsAction.jsx:22
 msgid "View the underlying {0} records"
 msgstr "Ver los registros subyacentes de {0}"
 
-#: frontend/src/metabase/qb/components/actions/XRayCard.jsx:20
+#: frontend/src/metabase/modes/components/actions/XRayCard.jsx:20
 msgid "X-Ray this question"
 msgstr "Aplica rayos-X a esta pregunta"
 
@@ -4690,46 +4697,46 @@ msgstr "este"
 msgid "Compare {0} {1} to the rest"
 msgstr "Compara {0} {1} con el resto"
 
-#: frontend/src/metabase/qb/components/drill/DistributionDrill.jsx:35
+#: frontend/src/metabase/modes/components/drill/DistributionDrill.jsx:35
 msgid "Distribution"
 msgstr "Distribución"
 
-#: frontend/src/metabase/qb/components/drill/ObjectDetailDrill.jsx:38
+#: frontend/src/metabase/modes/components/drill/ObjectDetailDrill.jsx:38
 msgid "View details"
 msgstr "Ver detalles"
 
-#: frontend/src/metabase/qb/components/drill/QuickFilterDrill.jsx:54
+#: frontend/src/metabase/modes/components/drill/QuickFilterDrill.jsx:54
 msgid "View this {0}'s {1}"
 msgstr "Ver los {1} de {0}"
 
-#: frontend/src/metabase/qb/components/drill/SortAction.jsx:41
+#: frontend/src/metabase/modes/components/drill/SortAction.jsx:42
 msgid "Ascending"
 msgstr "Ascendente"
 
-#: frontend/src/metabase/qb/components/drill/SortAction.jsx:49
+#: frontend/src/metabase/modes/components/drill/SortAction.jsx:50
 msgid "Descending"
 msgstr "Descendente"
 
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnByTimeDrill.js:47
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnByTimeDrill.js:47
 msgid "over time"
 msgstr "a través del tiempo."
 
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:21
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:21
 msgid "Avg"
 msgstr "Media"
 
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:33
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:33
 msgid "Distincts"
 msgstr "Distintos"
 
-#: frontend/src/metabase/qb/components/drill/UnderlyingRecordsDrill.jsx:32
+#: frontend/src/metabase/modes/components/drill/UnderlyingRecordsDrill.jsx:32
 msgid "View this {0}"
 msgid_plural "View these {0}"
 msgstr[0] "Ver el {0}"
 msgstr[1] "Ver estos {0}"
 
 #: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:225
-#: frontend/src/metabase/qb/components/drill/ZoomDrill.jsx:26
+#: frontend/src/metabase/modes/components/drill/ZoomDrill.jsx:26
 msgid "Zoom in"
 msgstr "Ampliar"
 
@@ -4741,63 +4748,63 @@ msgstr "Expresión Personalizada"
 msgid "Common Metrics"
 msgstr "Métricas Comunes"
 
-#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:182
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:209
 msgid "Metabasics"
 msgstr "Metabasics"
 
-#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:290
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:319
 msgid "Name (optional)"
 msgstr "Nombre (opcional)"
 
-#: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:153
+#: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:156
 msgid "Choose an aggregation"
 msgstr "Elige una agregación"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:115
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:100
 msgid "Set up your own alert"
 msgstr "Configura tu propia alerta"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:155
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:140
 msgid "Unsubscribing..."
 msgstr "Dando de baja..."
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:160
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:145
 msgid "Failed to unsubscribe"
 msgstr "Error al darse de baja"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:216
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:204
 msgid "Unsubscribe"
 msgstr "Darse de baja"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:247
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:235
 msgid "No channel"
 msgstr "Sin canal"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:274
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:263
 msgid "Okay, you're unsubscribed"
 msgstr "De acuerdo, has sido dado de baja"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:346
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:335
 msgid "You're receiving {0}'s alerts"
 msgstr "Estás recibiendo las alertas de {0}"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:347
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:336
 msgid "{0} set up an alert"
 msgstr "{0} has configurado una alerta"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:161
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:160
 msgid "alerts"
 msgstr "alertas"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:184
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:183
 msgid "Let's set up your alert"
 msgstr "Vamos a configurar tu alerta"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:215
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:214
 msgid "The wide world of alerts"
 msgstr "El amplio mundo de las alertas"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:216
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:215
 msgid "There are a few different kinds of alerts you can get"
 msgstr "Hay algunos tipos diferentes de alertas que puedes obtener"
 
@@ -4809,123 +4816,123 @@ msgstr "Cuando una pregunta de datos {0}"
 msgid "returns any results"
 msgstr "arroja resultados"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:240
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:241
 msgid "When a line or bar {0}"
 msgstr "Cuando una línea o barra {0}"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:241
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:242
 msgid "crosses a goal line"
 msgstr "supera un objetivo"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:251
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:253
 msgid "When a progress bar {0}"
 msgstr "Cuando una barra de progreso {0}"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:252
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:254
 msgid "reaches its goal"
 msgstr "alcanza su objetivo"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:260
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:262
 msgid "Set up an alert"
 msgstr "Crea una alerta"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:329
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:331
 msgid "Edit your alert"
 msgstr "Edita tu alerta"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:329
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:331
 msgid "Edit alert"
 msgstr "Editar alerta"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:372
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:374
 msgid "This alert will no longer be emailed to {0}."
 msgstr "Esta alerta ya no se enviará por correo electrónico a {0}."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:380
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:382
 msgid "Slack channel {0} will no longer get this alert."
 msgstr "El canal Slack {0} ya no recibirá esta alerta."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:384
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:386
 msgid "Channel {0} will no longer receive this alert."
 msgstr "El canal {0} ya no recibirá esta alerta."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:401
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:403
 msgid "Delete this alert"
 msgstr "Elimina esta alerta"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:403
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:405
 msgid "Stop delivery and delete this alert. There's no undo, so be careful."
 msgstr "Detener el envío y elimina esta alerta. No se puede deshacer, así que ten cuidado."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:411
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:413
 msgid "Delete this alert?"
 msgstr "¿Eliminar esta alerta?"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:495
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:497
 msgid "Alert me when the line…"
 msgstr "Avísame cuando la línea…"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:496
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:498
 msgid "Alert me when the progress bar…"
 msgstr "Avísame cuando la barra de progreso…"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:499
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:501
 msgid "Goes above the goal line"
 msgstr "Va por encima de la línea de objetivo"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:499
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:501
 msgid "Reaches the goal"
 msgstr "Llega al objetivo"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:502
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:504
 msgid "Goes below the goal line"
 msgstr "Va por debajo de la línea de objetivo"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:502
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:504
 msgid "Goes below the goal"
 msgstr "Va por debajo del objetivo"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:510
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:512
 msgid "The first time it crosses, or every time?"
 msgstr "¿La primera vez que cruza, o cada vez?"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:511
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:513
 msgid "The first time it reaches the goal, or every time?"
 msgstr "¿La primera vez que alcanza el objetivo, o cada vez?"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:513
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:515
 msgid "The first time"
 msgstr "La primera vez"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:514
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:516
 msgid "Every time"
 msgstr "Cada vez"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:617
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:619
 msgid "Where do you want to send these alerts?"
 msgstr "¿A dónde quieres enviar estas alertas?"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:628
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:630
 msgid "Email alerts to:"
 msgstr "Envía emails de alerta a:"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:670
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:672
 msgid "{0} Goal-based alerts aren't yet supported for charts with more than one line, so this alert will be sent whenever the chart has {1}."
 msgstr "{0} Las alertas basadas en objetivos aún no son compatibles para gráficos con más de una línea, por lo que esta alerta se enviará siempre que el gráfico tenga {1}."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:673
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:675
 msgid "results"
 msgstr "resultados"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:677
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:679
 msgid "{0} This kind of alert is most useful when your saved question doesn’t {1} return any results, but you want to know when it does."
 msgstr "{0} Este tipo de alerta es más útil cuando tu pregunta {1} no arroja ningún resultado, pero quieres saber cuándo lo hace."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:678
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:680
 msgid "Tip"
 msgstr "Consejo:"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:680
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:682
 msgid "usually"
 msgstr "generalmente"
 
@@ -4948,28 +4955,28 @@ msgstr "Seleccionar..."
 msgid "Select a table"
 msgstr "Selecciona una tabla"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:785
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:793
 msgid "No tables found in this database."
 msgstr "No se encontraron tablas en esta base de datos."
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:822
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:830
 msgid "Is a question missing?"
 msgstr "¿Falta una pregunta?"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:826
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:834
 msgid "Learn more about nested queries"
 msgstr "Obtén más información sobre consultas anidadas"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:860
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:868
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:30
 msgid "Fields"
 msgstr "Campos"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:938
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:946
 msgid "No segments were found."
 msgstr "No se encontraron segmentos"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:961
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:969
 msgid "Find a segment"
 msgstr "Encuentra un segmento"
 
@@ -4981,27 +4988,27 @@ msgstr "Ver menos"
 msgid "View more"
 msgstr "Ver más"
 
-#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:111
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:112
 msgid "Pick a field to sort by"
 msgstr "Elige un campo para ordenar por"
 
-#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:124
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:125
 msgid "Sort"
 msgstr "Ordenar"
 
-#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:193
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:137
 msgid "Row limit"
 msgstr "Límite de filas"
 
-#: frontend/src/metabase/query_builder/components/FieldName.jsx:76
+#: frontend/src/metabase/query_builder/components/FieldName.jsx:69
 msgid "Unknown Field"
 msgstr "Campo Desconocido"
 
-#: frontend/src/metabase/query_builder/components/FieldName.jsx:79
+#: frontend/src/metabase/query_builder/components/FieldName.jsx:72
 msgid "field"
 msgstr "campo"
 
-#: frontend/src/metabase/query_builder/components/Filter.jsx:113
+#: frontend/src/metabase/query_builder/components/Filter.jsx:114
 msgid "Matches"
 msgstr "Conincidencias"
 
@@ -5022,11 +5029,11 @@ msgstr "Añadir una agrupación"
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:59
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:68
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:75
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:226
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:232
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:238
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:62
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:67
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:225
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:231
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:237
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:70
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:75
 msgid "Data"
 msgstr "Datos"
 
@@ -5034,7 +5041,7 @@ msgstr "Datos"
 msgid "Filtered by"
 msgstr "Filtrado por"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:82
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:75
 #: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:369
 msgid "View"
 msgstr "Ver"
@@ -5268,8 +5275,7 @@ msgstr "Volver a la última ejecución"
 msgid "Visualization"
 msgstr "Visualización"
 
-#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:17
-#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:151
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:96
 msgid "No description set."
 msgstr "Sin descripción"
 
@@ -5277,12 +5283,11 @@ msgstr "Sin descripción"
 msgid "Use for current question"
 msgstr "Usar para la pregunta actual"
 
-#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:33
 #: frontend/src/metabase/reference/components/UsefulQuestions.jsx:16
 msgid "Potentially useful questions"
 msgstr "Preguntas potencialmente útiles"
 
-#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:156
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:166
 msgid "Group by {0}"
 msgstr "Agrupar por {0}"
 
@@ -5290,20 +5295,19 @@ msgstr "Agrupar por {0}"
 msgid "Sum of all values of {0}"
 msgstr "Suma de todos los valores de {0}"
 
-#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:173
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:63
 #: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:51
 msgid "All distinct values of {0}"
 msgstr "Todos los valores distintos de {0}"
 
-#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:177
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:187
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:39
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:51
 #: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:39
 msgid "Number of {0} grouped by {1}"
 msgstr "Número de {0} agrupadas por {1}"
 
-#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:11
+#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:10
 #: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:20
 #: frontend/src/metabase/reference/databases/FieldSidebar.jsx:30
 #: frontend/src/metabase/reference/databases/TableSidebar.jsx:26
@@ -5358,15 +5362,15 @@ msgstr "Se produjo un error al cargar la tabla"
 msgid "See the raw data for {0}"
 msgstr "Ver los datos de {0}"
 
-#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:205
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:180
 msgid "More"
 msgstr "Más"
 
-#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:200
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:201
 msgid "Invalid expression"
 msgstr "Expresión inválida"
 
-#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:275
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:276
 msgid "unknown error"
 msgstr "error no controlado"
 
@@ -5427,19 +5431,19 @@ msgstr "este minuto"
 msgid "this hour"
 msgstr "esta hora"
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:285
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:290
 msgid "not implemented {0}"
 msgstr "{0} no está implementado"
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:286
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:291
 msgid "true"
 msgstr "verdadero"
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:286
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:291
 msgid "false"
 msgstr "falso"
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:390
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:404
 msgid "Add filter"
 msgstr "Añadir filtro"
 
@@ -5463,7 +5467,7 @@ msgstr "Activado"
 
 #: frontend/src/metabase/query_builder/components/filters/pickers/NumberPicker.jsx:47
 msgid "Enter desired number"
-msgstr "Ingresa el número deseado"
+msgstr "Introduce el número deseado"
 
 #: frontend/src/metabase/query_builder/components/filters/pickers/SelectPicker.jsx:83
 #: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:100
@@ -5484,11 +5488,11 @@ msgstr "Mostrar calendario"
 
 #: frontend/src/metabase/query_builder/components/filters/pickers/TextPicker.jsx:97
 msgid "You can enter multiple values separated by commas"
-msgstr "Puedes ingresar varios valores separados por comas"
+msgstr "Puedes introducir varios valores separados por comas"
 
 #: frontend/src/metabase/query_builder/components/filters/pickers/TextPicker.jsx:38
 msgid "Enter desired text"
-msgstr "Ingresa el texto deseado"
+msgstr "Introduce el texto deseado"
 
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:83
 msgid "Try it"
@@ -5576,7 +5580,7 @@ msgstr "¿Archivar esta pregunta?"
 
 #: frontend/src/metabase/query_builder/containers/ArchiveQuestionModal.jsx:57
 msgid "This question will be removed from any dashboards or pulses using it."
-msgstr "Esta pregunta se eliminará de cualquier cuadto de mando o pulso que lo usen."
+msgstr "Esta pregunta se eliminará de cualquier cuadro de mando o pulso que lo usen."
 
 #: frontend/src/metabase/query_builder/containers/QueryBuilder.jsx:136
 msgid "Question"
@@ -5738,7 +5742,7 @@ msgstr "Cosas a tener en cuenta acerca de esta base de datos"
 msgid "Databases and tables"
 msgstr "Bases de datos y tablas"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:68
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:61
 #: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:27
 #: frontend/src/metabase/reference/databases/FieldSidebar.jsx:41
 #: frontend/src/metabase/reference/databases/TableDetail.jsx:170
@@ -6124,7 +6128,7 @@ msgstr "Buscar"
 msgid "Dashboard"
 msgstr "Cuadro de Mando"
 
-#: frontend/src/metabase/routes.jsx:227
+#: frontend/src/metabase/routes.jsx:228
 msgid "New Question"
 msgstr "Nueva Pregunta"
 
@@ -6435,7 +6439,7 @@ msgstr "Inicia sesión con la dirección de correo electrónico de Google"
 msgid "User Details"
 msgstr "Detalles Usuario"
 
-#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:235
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:275
 msgid "Reset to defaults"
 msgstr "Restablecer los valores predeterminados"
 
@@ -6484,35 +6488,35 @@ msgstr "Desmarcar"
 msgid "Rows {0}-{1} of {2}"
 msgstr "Filas {0}-{1} de {2}"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:187
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:189
 msgid "Data truncated to {0} rows."
 msgstr "Datos truncados a {0} filas."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:352
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:364
 msgid "Could not find visualization"
 msgstr "No se pudo encontrar la visualización"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:359
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:371
 msgid "Could not display this chart with this data."
 msgstr "No se pudo mostrar este gráfico con esta información."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:457
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:469
 msgid "No results!"
 msgstr "Sin resultados!"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:478
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:490
 msgid "Still Waiting..."
 msgstr "Esperando..."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:481
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:493
 msgid "This usually takes an average of {0}."
 msgstr "Esto suele tardar unos {0}."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:487
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:499
 msgid "(This is a bit long for a dashboard)"
 msgstr "(Es un poco largo para un cuadro de mando)"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:491
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:503
 msgid "This is usually pretty fast but seems to be taking awhile right now."
 msgstr "Esto suele ser bastante rápido, pero parece estar tardando en este momento."
 
@@ -6619,7 +6623,7 @@ msgid "Highlight the whole row"
 msgstr "Resalta la fila entera"
 
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:390
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:90
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:98
 msgid "Colors"
 msgstr "Colores"
 
@@ -6928,7 +6932,7 @@ msgid "Funnel"
 msgstr "Embudo"
 
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:76
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:68
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:76
 msgid "Measure"
 msgstr "Medida"
 
@@ -6944,15 +6948,15 @@ msgstr "Gráfico de barras"
 msgid "line chart"
 msgstr "Gráfico de líneas"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:225
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:224
 msgid "Please select longitude and latitude columns in the chart settings."
 msgstr "Selecciona las columnas de longitud y latitud en la configuración del gráfico."
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:231
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:230
 msgid "Please select a region map."
 msgstr "Por favor, selecciona un mapa de la región."
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:237
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:236
 msgid "Please select region and metric columns in the chart settings."
 msgstr "Selecciona las columnas de región y métricas en la configuración del gráfico."
 
@@ -7002,19 +7006,19 @@ msgstr "Campo Métrica"
 msgid "Region field"
 msgstr "Campo Región"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:193
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:192
 msgid "Radius"
 msgstr "Radio"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:199
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:198
 msgid "Blur"
 msgstr "Difuminar"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:205
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:204
 msgid "Min Opacity"
 msgstr "Opacidad Mínima"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:211
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:210
 msgid "Max Zoom"
 msgstr "Acercamiento Máximo"
 
@@ -7038,31 +7042,31 @@ msgstr "Detalle del Objeto"
 msgid "object"
 msgstr "objeto"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:304
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:312
 msgid "Total"
 msgstr "Total"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:53
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:61
 msgid "Which columns do you want to use?"
 msgstr "¿Qué columnas quieres usar?"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:41
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:44
 msgid "Pie"
 msgstr "Pastel"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:63
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:71
 msgid "Dimension"
 msgstr "Dimensión"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:73
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:81
 msgid "Show legend"
 msgstr "Mostrar Leyenda"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:78
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:86
 msgid "Show percentages in legend"
 msgstr "Mostrar porcentajes en la leyenda"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:84
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:92
 msgid "Minimum slice percentage"
 msgstr "Porcentaje mínimo de porción"
 
@@ -7086,8 +7090,8 @@ msgstr "La visualización del progreso requiere un número."
 msgid "Progress"
 msgstr "Progreso"
 
-#: frontend/src/metabase/entities/collections.js:101
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:177
+#: frontend/src/metabase/entities/collections.js:108
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:176
 #: frontend/src/metabase/visualizations/visualizations/Progress.jsx:57
 msgid "Color"
 msgstr "Color"
@@ -7178,13 +7182,13 @@ msgstr "Derecho"
 msgid "Show background"
 msgstr "Mostrar fondo"
 
-#: frontend/src/metabase-lib/lib/Dimension.js:492
+#: frontend/src/metabase-lib/lib/Dimension.js:553
 msgid "{0} bin"
 msgid_plural "{0} bins"
 msgstr[0] "{0} agrupación"
 msgstr[1] "{0} agrupaciones"
 
-#: frontend/src/metabase-lib/lib/Dimension.js:498
+#: frontend/src/metabase-lib/lib/Dimension.js:559
 msgid "Auto binned"
 msgstr "Agrupación Auto"
 
@@ -7216,7 +7220,7 @@ msgstr "Tipo de entidad inválida"
 msgid "Invalid comparison entity type. Can only be one of \"table\", \"segment\", or \"adhoc\""
 msgstr "Tipo de entidad de comparación inválida. Solo puede ser \"tabla\", \"segmento\" o \"adhoc\""
 
-#: src/metabase/api/card.clj
+#: src/metabase/query_processor/async.clj
 msgid "Error running query to determine Card result metadata:"
 msgstr "Error determinando el tipo de resultado de la tarjeta"
 
@@ -7260,14 +7264,14 @@ msgstr "Aviso: la llamada {0}/{1} no tiene un docstring"
 msgid "starting streaming request"
 msgstr "iniciando streaming"
 
-#: src/metabase/api/common.clj
+#: src/metabase/async/api_response.clj
 msgid "connection closed, canceling request"
 msgstr "iniciando la solicitud de transmisión"
 
 #. a newline padding character as it's harmless and will allow us to check if the client is connected. If
 #. sending this character fails because the connection is closed, the chan will then close.  Newlines are
 #. no-ops when reading JSON which this depends upon.
-#: src/metabase/api/common.clj
+#: src/metabase/async/api_response.clj
 msgid "Response not ready, writing one byte & sleeping..."
 msgstr "La respuesta no está lista, escribiendo un byte y esperando..."
 
@@ -7387,7 +7391,7 @@ msgstr "Establecer credenciales de Slack"
 
 #: src/metabase/api/setup.clj
 msgid "Does your team use Slack? If so, you can send automated updates via pulses and ask questions with MetaBot."
-msgstr "¿Tu equipo usa Slack? Si es así, puedes enviar actualizaciones automáticas por pulsos y hacer preguntas con MedaBot."
+msgstr "¿Tu equipo usa Slack? Si es así, puedes enviar actualizaciones automáticas por pulsos y hacer preguntas con MetaBot."
 
 #: src/metabase/api/setup.clj
 msgid "Invite team members"
@@ -7452,22 +7456,30 @@ msgstr "Agrupación Auto"
 msgid "Don''t bin"
 msgstr "Sin Agrupación"
 
-#: src/metabase/api/table.clj
+#: frontend/src/metabase/lib/query_time.js:193 src/metabase/api/table.clj
 msgid "Day"
-msgstr "Día"
+msgid_plural "Days"
+msgstr[0] "Día"
+msgstr[1] "Días"
 
 #. note the order of these options corresponds to the order they will be shown to the user in the UI
-#: src/metabase/api/table.clj
+#: frontend/src/metabase/lib/query_time.js:189 src/metabase/api/table.clj
 msgid "Minute"
-msgstr "Minuto"
+msgid_plural "Minutes"
+msgstr[0] "Minuto"
+msgstr[1] "Minutos"
 
-#: src/metabase/api/table.clj
+#: frontend/src/metabase/lib/query_time.js:191 src/metabase/api/table.clj
 msgid "Hour"
-msgstr "Hora"
+msgid_plural "Hours"
+msgstr[0] "Hora"
+msgstr[1] "Horas"
 
-#: src/metabase/api/table.clj
+#: frontend/src/metabase/lib/query_time.js:199 src/metabase/api/table.clj
 msgid "Quarter"
-msgstr "Trimestre"
+msgid_plural "Quarters"
+msgstr[0] "Trimestre"
+msgstr[1] "Trimestres"
 
 #: src/metabase/api/table.clj
 msgid "Minute of Hour"
@@ -7817,11 +7829,11 @@ msgstr "Parece que es una instalación nueva ... iniciando el asistente de confi
 msgid "Metabase Initialization COMPLETE"
 msgstr "Inicialización de Metabase COMPLETADA"
 
-#: src/metabase/core.clj
+#: src/metabase/server.clj
 msgid "Launching Embedded Jetty Webserver with config:"
 msgstr "Iniciando el servidor embebido Jetty con la configuración:"
 
-#: src/metabase/core.clj
+#: src/metabase/server.clj
 msgid "Shutting Down Embedded Jetty Webserver"
 msgstr "Apagando el servidor Jetty embebido"
 
@@ -7882,51 +7894,51 @@ msgstr "Ejecutando migraciones de la base de datos..."
 msgid "Database Migrations Current ... "
 msgstr "Migraciones de la base de datos actuales ..."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Hmm, we couldn''t connect to the database."
 msgstr "Hmm, no he podido conectar con la base de datos."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Make sure your host and port settings are correct"
 msgstr "Asegúrate de que la configuración del host y del puerto sean correctas"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "We couldn''t connect to the ssh tunnel host."
 msgstr "no he podido conectar con el servidor del tunel ssh"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Check the username, password."
 msgstr "Verifica el nombre de usuario/contraseña."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Check the hostname and port."
 msgstr "Verifica el servidor y puerto"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like the database name is incorrect."
 msgstr "Parece que el nombre de la base de datos es incorrecto"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "It looks like your host is invalid."
 msgstr "Parece que tu servidor no es válido"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Please double-check it and try again."
 msgstr "Por favor, vuelve a verificarlo e intenta de nuevo"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like your password is incorrect."
 msgstr "Parece que tu contraseña es incorrecta"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like you forgot to enter your password."
 msgstr "Parece que olvidaste poner tu contraseña"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like your username is incorrect."
 msgstr "Parece que tu nombre de usuario es incorrecto."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like the username or password is incorrect."
 msgstr "Parece que el nombre de usuario o la contraseña son incorrectos."
 
@@ -7943,16 +7955,16 @@ msgstr "Controlador registrado {0} {1}"
 msgid "No -init-driver function found for ''{0}''"
 msgstr "No se ha encontrado ninguna función -init-driver para ''{0}''"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Unable to parse date string ''{0}'' for database engine ''{1}''"
 msgstr "No se puede analizar la cadena de fecha ''{0}'' para el motor de base de datos ''{1}''"
 
 #. all-NULL columns in DBs like Mongo w/o explicit types
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Don''t know how to map class ''{0}'' to a Field base_type, falling back to :type/*."
 msgstr "No se cómo utilizar la clase ''{0}'' como tipo base de campo, volviendo a :type/*."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/util.clj
 msgid "Failed to connect to database: {0}"
 msgstr "Error al conectarse a la base de datos: {0}"
 
@@ -7964,7 +7976,7 @@ msgstr "Identificador de BigQuery inválido: ''{0}''"
 msgid "BigQuery statements can't be parameterized!"
 msgstr "Los comandos BigQuery no soportan parámetros!"
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql_jdbc/execute.clj
 msgid "Failed to set timezone:"
 msgstr "No se pudo establecer la zona horaria:"
 
@@ -8096,11 +8108,11 @@ msgstr "Slack API bearer token obtenido de https://api.slack.com/web#authenticat
 msgid "Enable MetaBot, which lets you search for and view your saved questions directly via Slack."
 msgstr "Habilita MetaBot, que te permite buscar y ver tus preguntas guardadas directamente a través de Slack."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
 msgid "Last MetaBot checkin was {0} ago."
 msgstr "Ultimo acceso de MetaBot fue hace {0}"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
 msgid "This instance will now handle MetaBot duties."
 msgstr "Esta instalación ahora manejará tareas de MetaBot"
 
@@ -8112,39 +8124,39 @@ msgstr "Esto es lo que puedo {0}:"
 msgid "I don''t know how to {0} `{1}`.n{2}"
 msgstr "No se como {0} `{1}`.n{2}"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/slack.clj
 msgid "Uh oh! :cry:n> {0}"
 msgstr "Oh! :cry:n>"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Here''s your {0} most recent cards:n{1}"
 msgstr "Aquí están tus {0} tarjetas más recientes: n{1}"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Could you be a little more specific? I found these cards with names that matched:n{0}"
 msgstr "¿Podrías ser un poco más específico? He encontrado estas tarjetas con nombres que coinciden: n{0}"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "I don''t know what Card `{0}` is. Give me a Card ID or name."
 msgstr "No sé lo qué es la Tarjeta `{0}`. Dame un ID o nombre de tarjeta."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Show which card? Give me a part of a card name or its ID and I can show it to you. If you don''t know which card you want, try `metabot list`."
 msgstr "¿Qué tarjeta mostrar? Dame una parte del nombre de una tarjeta o su ID y te lo puedo mostrar. Si no sabes qué tarjeta quieres, prueba con `metabot list`."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Ok, just a second..."
 msgstr "Vale, solo un segundo..."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Not Found"
 msgstr "No Encontrado"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Loading Kanye quotes..."
 msgstr "Cargando citas de Kanye..."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/events.clj
 msgid "Evaluating Metabot command:"
 msgstr "Evaluando el comando de Metabot:"
 
@@ -8152,23 +8164,23 @@ msgstr "Evaluando el comando de Metabot:"
 msgid "Go home websocket, you're drunk."
 msgstr "El websocket esta borracho."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/websocket.clj
 msgid "Error launching metabot:"
 msgstr "Error al iniciar metabot:"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/websocket.clj
 msgid "MetaBot WebSocket is closed. Reconnecting now."
 msgstr "MetaBot WebSocket está cerrado. Reconectando ahora."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/websocket.clj
 msgid "Error connecting websocket:"
 msgstr "Error al conectar websocket:"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
 msgid "This instance is performing MetaBot duties."
 msgstr "Esta instalación está manejando tareas de MetaBot"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
 msgid "Another instance is already handling MetaBot duties."
 msgstr "Otra instalación está manejando las tareas de MetaBot"
 
@@ -8184,15 +8196,15 @@ msgstr "Parando MetaBot...  🤖"
 msgid "MetaBot already running. Killing the previous WebSocket listener first."
 msgstr "MetaBot ya se está ejecutando. Matando al oyente WebSocket previo primero."
 
-#: src/metabase/middleware.clj
+#: src/metabase/middleware/security.clj
 msgid "Base-64 encoded public key for this site's SSL certificate."
 msgstr "Clave pública codificada en Base-64 para el certificado SSL de este sitio."
 
-#: src/metabase/middleware.clj
+#: src/metabase/middleware/security.clj
 msgid "Specify this to enable HTTP Public Key Pinning."
 msgstr "Especifica esto para habilitar la fijación de clave pública HTTP."
 
-#: src/metabase/middleware.clj
+#: src/metabase/middleware/security.clj
 msgid "See {0} for more information."
 msgstr "Ver {0} para más información."
 
@@ -8340,7 +8352,7 @@ msgstr "Por favor, obtiene nuevos datos e intenta de nuevo"
 
 #: src/metabase/models/permissions_group.clj
 msgid "Created magic permissions group ''{0}'' (ID = {1})"
-msgstr "Creado grupo de permisos mágicos ''{0}'' (ID = {1}"
+msgstr "Creado grupo de permisos mágicos ''{0}'' (ID = {1})"
 
 #: src/metabase/models/permissions_group.clj
 msgid "A group with that name already exists."
@@ -8400,19 +8412,19 @@ msgid "Setting {0} does not exist.nFound: {1}"
 msgstr "El ajuste {0} no existe.\n"
 "Encontrado: {1}"
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Updating value of settings-last-updated in DB..."
 msgstr "Actualizando ulitmo cambio en configuración..."
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Checking whether settings cache is out of date (requires DB call)..."
 msgstr "Comprobando si la memoria caché de configuración está desactualizada..."
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Settings have been changed on another instance, and will be reloaded here."
 msgstr "La configuración se modificó en otra instancia y se volverá a cargar aquí."
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Refreshing Settings cache..."
 msgstr "Actualizando caché de Configuración"
 
@@ -8487,7 +8499,7 @@ msgstr "El idioma predeterminado para esta instancia de Metabase."
 
 #: src/metabase/public_settings.clj
 msgid "This only applies to emails, Pulses, etc. Users'' browsers will specify the language used in the user interface."
-msgstr " Esto solo se aplica a correos electrónicos, pulsos, etc. Los navegadores de los usuarios especificarán el idioma utilizado en la interfaz de usuario."
+msgstr "Esto solo se aplica a correos electrónicos, pulsos, etc. Los navegadores de los usuarios especificarán el idioma utilizado en la interfaz de usuario."
 
 #: src/metabase/public_settings.clj
 msgid "The email address users should be referred to if they encounter a problem."
@@ -8535,7 +8547,7 @@ msgstr "Para determinar cuánto tiempo debe permanecer el resultado guardado en
 
 #: src/metabase/public_settings.clj
 msgid "So if a query takes on average 2 minutes to run, and you input 10 for your multiplier, its cache entry will persist for 20 minutes."
-msgstr "Así que, si una consulta tarda un promedio de 2 minutos en ejecutarse, e ingresas 10 para su multiplicador, su entrada en la memoria caché se mantendrá por 20 minutos."
+msgstr "Así que, si una consulta tarda un promedio de 2 minutos en ejecutarse, e introduces 10 para su multiplicador, su entrada en la memoria caché se mantendrá por 20 minutos."
 
 #: src/metabase/public_settings.clj
 msgid "When using the default binning strategy and a number of bins is not provided, this number will be used as the default."
@@ -8753,7 +8765,7 @@ msgstr "La zona horaria de la JVM es {0} y la zona horaria de la base de datos e
 
 #: src/metabase/util/date.clj
 msgid "Configure a report timezone to ensure proper date and time conversions."
-msgstr "Configura un informe con huso horario para comprobar las conversiones correctas de fecha y hora."
+msgstr "Configura una zona horaria de los informes para realizar conversiones correctas de fecha y hora."
 
 #: src/metabase/util/embed.clj
 msgid "Secret key used to sign JSON Web Tokens for requests to `/api/embed` endpoints."
@@ -8919,27 +8931,27 @@ msgstr "Ver todos los permisos de colecciones"
 msgid "Also change sub-collections"
 msgstr "También cambiar sub-colecciones"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:278
+#: frontend/src/metabase/admin/permissions/selectors.js:282
 msgid "Can edit this collection and its contents"
 msgstr "Puede editar esta colección y sus contenidos"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:285
+#: frontend/src/metabase/admin/permissions/selectors.js:289
 msgid "Can view items in this collection"
 msgstr "Puede ver artículos en esta colección"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:745
+#: frontend/src/metabase/admin/permissions/selectors.js:749
 msgid "Collection Access"
 msgstr "Acceso a Colección"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:821
+#: frontend/src/metabase/admin/permissions/selectors.js:825
 msgid "This group has permission to view at least one subcollection of this collection."
 msgstr "Este grupo tiene permiso para ver al menos una subcolección de esta colección."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:826
+#: frontend/src/metabase/admin/permissions/selectors.js:830
 msgid "This group has permission to edit at least one subcollection of this collection."
 msgstr "Este grupo tiene permiso para editar al menos una subcolección de esta colección."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:839
+#: frontend/src/metabase/admin/permissions/selectors.js:843
 msgid "View sub-collections"
 msgstr "Ver subcolección"
 
@@ -8947,19 +8959,19 @@ msgstr "Ver subcolección"
 msgid "Remember Me"
 msgstr "Recuerdame"
 
-#: frontend/src/metabase/components/BrowseApp.jsx:120
+#: frontend/src/metabase/components/BrowseApp.jsx:95
 msgid "X-ray this schema"
 msgstr "Aplica rayos-X a este esquema"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:246
+#: frontend/src/metabase/components/CollectionLanding.jsx:258
 msgid "Edit the permissions for this collection"
 msgstr "Editar los permisos de acceso de esta colección"
 
-#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:51
+#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:55
 msgid "Add this question to a dashboard"
 msgstr "Añadir esta pregunta a un cuadro de mando"
 
-#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:61
+#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:65
 msgid "Create a new dashboard"
 msgstr "Crea un Cuadro de Mando"
 
@@ -8971,11 +8983,11 @@ msgstr "La página que pidió no ha sido encontrada."
 msgid "Select a {0}"
 msgstr "Seleccione un(a) {0}"
 
-#: frontend/src/metabase/containers/Overworld.jsx:190
+#: frontend/src/metabase/containers/Overworld.jsx:185
 msgid "Save dashboards, questions, and collections in \"{0}\""
 msgstr "Guardar cuadros de mando, preguntas, y colecciones en \"{0}\""
 
-#: frontend/src/metabase/containers/Overworld.jsx:193
+#: frontend/src/metabase/containers/Overworld.jsx:188
 msgid "Access dashboards, questions, and collections in \"{0}\""
 msgstr "Acceder cuadros de mando, preguntas, y colecciones en \"{0}\""
 
@@ -8995,11 +9007,11 @@ msgstr "Relacionado"
 msgid "More X-rays"
 msgstr "Más Rayos-X"
 
-#: frontend/src/metabase/home/containers/SearchApp.jsx:50
+#: frontend/src/metabase/home/containers/SearchApp.jsx:46
 msgid "No results"
 msgstr "No hay resultados"
 
-#: frontend/src/metabase/home/containers/SearchApp.jsx:51
+#: frontend/src/metabase/home/containers/SearchApp.jsx:47
 msgid "Metabase couldn't find any results for your search."
 msgstr "Metabase no pudo encontrar ningún resultado para su busqueda."
 
@@ -9045,43 +9057,43 @@ msgstr "Error al conceder permisos: {0}"
 msgid "Cannot decrypt encrypted string. Have you changed or forgot to set MB_ENCRYPTION_SECRET_KEY?"
 msgstr "No se ha podido desencriptar la cadena. ¿Has configurado correctamenteMB_ENCRYPTION_SECRET_KEY?"
 
-#: frontend/src/metabase/entities/collections.js:157
+#: frontend/src/metabase/entities/collections.js:164
 msgid "All personal collections"
 msgstr "Todas las colecciones personales"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Host"
 msgstr "Servidor"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Port"
 msgstr "Puerto"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Database username"
 msgstr "nombre de usuario de base de datos"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "What username do you use to login to the database?"
 msgstr "¿Qué nombre de usuario usas para iniciar sesión en la base de datos?"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Database password"
 msgstr "Contraseña de la base de datos"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Database name"
 msgstr "nombre de la base de datos"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "birds_of_the_world"
 msgstr "aves_del_mundo"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Use a secure connection (SSL)?"
 msgstr "¿Utilizar una conexión segura (SSL)?"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Additional JDBC connection string options"
 msgstr "Opciones adicionales de cadena de conexión JDBC"
 
@@ -9220,7 +9232,7 @@ msgstr "Etiquetas"
 msgid "Add members"
 msgstr "Añadir miembros"
 
-#: frontend/src/metabase/entities/collections.js:108
+#: frontend/src/metabase/entities/collections.js:115
 msgid "Collection it's saved in"
 msgstr "Colección que se guarda en"
 
@@ -9249,10 +9261,10 @@ msgstr "Compartir"
 #: frontend/src/metabase/visualizations/lib/settings/graph.js:321
 #: frontend/src/metabase/visualizations/lib/settings/nested.js:126
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:83
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:72
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:77
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:83
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:89
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:80
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:85
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:91
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:97
 #: frontend/src/metabase/visualizations/visualizations/Progress.jsx:50
 #: frontend/src/metabase/visualizations/visualizations/Progress.jsx:56
 #: frontend/src/metabase/visualizations/visualizations/Text.jsx:72
@@ -9274,20 +9286,20 @@ msgstr "Ejes"
 
 #: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:222
 #: frontend/src/metabase/admin/settings/selectors.js:319
-#: frontend/src/metabase/qb/components/drill/FormatAction.jsx:27
+#: frontend/src/metabase/modes/components/drill/FormatAction.jsx:27
 #: frontend/src/metabase/visualizations/lib/settings/column.js:63
 msgid "Formatting"
 msgstr "Formato"
 
-#: frontend/src/metabase/containers/Overworld.jsx:107
+#: frontend/src/metabase/containers/Overworld.jsx:102
 msgid "Try these x-rays based on your data."
 msgstr "Pruebe estos rayos-X en función de tus datos."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:35
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:36
 msgid "There was a problem displaying this chart."
 msgstr "Hubo un problema al mostrar esta gráfico."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:36
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:37
 msgid "Sorry, you don't have permission to see this card."
 msgstr "Lo siento, no tienes permiso para ver etsa tarjeta."
 
@@ -9299,11 +9311,11 @@ msgstr "Solo un aviso:"
 msgid "{0} without the Sample Dataset, the Query Builder tutorial won't work. You can always restore the Sample Dataset, but any questions you've saved using this data will be lost."
 msgstr "{0} sin el conjunto de datos de muestra, el tutorial del generador de consultas no funcionará. Siempre puede restaurar el conjunto de datos de muestra, pero cualquier pregunta que haya guardado con esta información se perderá"
 
-#: frontend/src/metabase/qb/components/drill/AutomaticDashboardDrill.jsx:33
+#: frontend/src/metabase/modes/components/drill/AutomaticDashboardDrill.jsx:33
 msgid "X-ray"
 msgstr "Aplica rayos-X"
 
-#: frontend/src/metabase/qb/components/drill/CompareToRestDrill.js:34
+#: frontend/src/metabase/modes/components/drill/CompareToRestDrill.js:34
 msgid "Compare to the rest"
 msgstr "Compara con el resto"
 
@@ -9317,11 +9329,11 @@ msgid "We suggest you leave this off unless you're doing manual timezone casting
 msgstr "Te sugerimos que desactives esto a menos que estés forzando manualmente la zona horaria en\n"
 "muchas o la mayoría de tus consultas con estos datos."
 
-#: frontend/src/metabase/containers/Overworld.jsx:315
+#: frontend/src/metabase/containers/Overworld.jsx:310
 msgid "Your team's most important dashboards go here"
 msgstr "Los cuadros de mando más importantes van aquí"
 
-#: frontend/src/metabase/containers/Overworld.jsx:316
+#: frontend/src/metabase/containers/Overworld.jsx:311
 msgid "Pin dashboards in {0} to have them appear in this space for everyone"
 msgstr "Fija los cuadros de mando en {0} para que aparezcan en este espacio para todos"
 
@@ -9349,8 +9361,8 @@ msgstr "Selecciona un tipo de moneda"
 msgid "Field Type"
 msgstr "Tipo Campo"
 
-#: frontend/src/metabase/admin/routes.jsx:83
-#: frontend/src/metabase/nav/containers/Navbar.jsx:225
+#: frontend/src/metabase/admin/routes.jsx:109
+#: frontend/src/metabase/nav/containers/Navbar.jsx:224
 msgid "Troubleshooting"
 msgstr "Solución de problemas"
 
@@ -9362,35 +9374,35 @@ msgstr "Habilitar características de Rayos-X"
 msgid "Formatting Options"
 msgstr "Opciones de Formato"
 
-#: frontend/src/metabase/admin/tasks/containers/TaskModal.jsx:20
+#: frontend/src/metabase/admin/tasks/containers/TaskModal.jsx:19
 msgid "Task details"
 msgstr "Detalles de la tarea"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:36
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:29
 msgid "Troubleshooting logs"
 msgstr "Registro de solución de problemas"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:38
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:31
 msgid "Trying to get to the bottom of something? This section shows logs of Metabase's background tasks, which can help shed light on what's going on."
 msgstr "¿Tratando de llegar al fondo de algo? Esta sección muestra los registros de las tareas en segundo plano de Metabase, que pueden ayudar a aclarar lo que está pasando."
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:63
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:56
 msgid "Task"
 msgstr "Tarea"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:64
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:57
 msgid "DB ID"
 msgstr "ID BBDD"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:65
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:58
 msgid "Started at"
 msgstr "Iniciado a las"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:66
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:59
 msgid "Ended at"
 msgstr "Terminado a las"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:67
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:60
 msgid "Duration (ms)"
 msgstr "Duración (ms)"
 
@@ -9398,7 +9410,7 @@ msgstr "Duración (ms)"
 msgid "Currency"
 msgstr "Moneda"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:163
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:161
 msgid "Pick a user or channel..."
 msgstr "Elige un usuario o canal..."
 
@@ -9575,15 +9587,15 @@ msgstr "Contador"
 msgid "Gauge ranges"
 msgstr "Rangos del contador"
 
-#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:91
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:94
 msgid "Field to show"
 msgstr "Campo a mostrar"
 
-#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:118
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:121
 msgid "last {0}"
 msgstr "último {0}"
 
-#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:176
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:185
 msgid "{0} was {1} {2}"
 msgstr "{0} era {1} {2}"
 
@@ -9673,7 +9685,7 @@ msgstr "Fijaciones de dimensiones:n{0}"
 
 #: src/metabase/automagic_dashboards/core.clj
 msgid "Using definitions:nMetrics:n{0}nFilters:n{1}"
-msgstr "Utilizando definiciones:\nMétricas{0}\nFiltros:\n{1}"
+msgstr "Utilizando definiciones:\\nMétricas{0}\\nFiltros:\\n{1}"
 
 #: src/metabase/automagic_dashboards/core.clj
 msgid "minute"
@@ -9746,19 +9758,19 @@ msgstr "ADVERTENCIA: Solo tiene sentido especificar campos para una consulta sin
 msgid "WARNING: Druid doenst allow limitSpec in timeseries queries. Ignoring the LIMIT clause."
 msgstr "ADVERTENCIA: Druid no permite limitSpec en consultas de series de tiempo. Ignorando la cláusula LIMIT."
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql/query_processor.clj
 msgid "HoneySQL Form:"
 msgstr "Formulario HoneySQL:"
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql_jdbc/execute.clj
 msgid "Unable to parse date ''{0}''"
 msgstr "No se ha podido leer la fecha \"{0}\""
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql_jdbc/execute.clj
 msgid "Client closed connection, cancelling query"
 msgstr "Conecxión cerrada por el cliente, cancelando consulta"
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql_jdbc/execute.clj
 msgid "Setting timezone with statement: {0}"
 msgstr "Establecer zona horaria con declaración: {0}"
 
@@ -9843,7 +9855,7 @@ msgid "You cannot remove the last member of the ''Admin'' group!"
 msgstr "¡No puedes eliminar al último miembro del grupo ''Admin''!"
 
 #. go ahead and log the Exception anyway on the off chance that it *wasn't* just a race condition issue
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Error inserting a new Setting: {0}"
 msgstr "Error registrando la nueva configuración: {0}"
 
@@ -10070,7 +10082,7 @@ msgstr "Si hay o no patrones para cuando suceden."
 
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 msgid "Users per state"
-msgstr "Usuarios por estado"
+msgstr "Usuarios por provincia"
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "Sessions"
@@ -10207,7 +10219,7 @@ msgstr "[[this]] por país"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 msgid "Income per state"
-msgstr "Ingreso por estado"
+msgstr "Ingresos por provincia"
 
 #: resources/automagic_dashboards/table/UserTable.yaml
 msgid "Per [[GenericCategoryMedium]]"
@@ -10275,7 +10287,7 @@ msgstr "Eventos por [[GenericCategoryMedium]]"
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "Events per state"
-msgstr "Eventos por estado"
+msgstr "Eventos por provincia"
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "Top landing pages"
@@ -10291,7 +10303,7 @@ msgstr "Suma de [[this]] por [[Country]]"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 msgid "States that are performing best"
-msgstr "Los estados con mejores resultados"
+msgstr "Las provincia con mejores resultados"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Created At by month of the year"
@@ -10323,7 +10335,7 @@ msgstr "Una visión general de tu [[this]] y cómo se distribuye en el tiempo, e
 
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 msgid "Average income per state"
-msgstr "Ingreso medio por estado"
+msgstr "Ingresos medios por provincia"
 
 #: resources/automagic_dashboards/field/State.yaml
 #: resources/automagic_dashboards/field/Number.yaml
@@ -10387,7 +10399,7 @@ msgstr "Número de usuarios por origen"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 msgid "Transactions per state"
-msgstr "Transacciones por estado"
+msgstr "Transacciones por provincia"
 
 #: resources/automagic_dashboards/field/Number.yaml
 msgid "[[this]] by [[Timestamp]]"
@@ -10448,7 +10460,7 @@ msgstr "De dónde provienen tus usuarios"
 #: resources/automagic_dashboards/field/Number.yaml
 #: resources/automagic_dashboards/table/GenericTable.yaml
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
-msgid "How they compare across location"
+msgid "How they compare acrosss location"
 msgstr "Como se comparan por ubicación"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
@@ -10470,7 +10482,7 @@ msgstr "Una mirada más profunda al rendimiento de los diferentes países."
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Sales per state"
-msgstr "Ventas por estado"
+msgstr "Ventas por provincia"
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "Events by [[GenericNumber]]"
@@ -10521,7 +10533,7 @@ msgstr "Cómo se distribuye esta métrica en diferentes categorías."
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "[[this.short-name]] per state"
-msgstr "[[this.short-name]] por estado"
+msgstr "[[this.short-name]] por provincia"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Weekdays when [[this.short-name]] joined"
@@ -10541,7 +10553,7 @@ msgstr "Un desglose de tu [[this]] a lo largo del tiempo, y su mínimo, máximo,
 
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 msgid "Average quantity per state"
-msgstr "Cantidad media por estado"
+msgstr "Cantidad media por provincia"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "How they compare by across different numbers"
@@ -10639,11 +10651,11 @@ msgstr "La correlación entre [[Number1]] y [[Number2]]"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 msgid "Top 10 states by sales in the last 30 days"
-msgstr "Primeros 10 estados por venta en los últimos 30 días"
+msgstr "Primeras 10 provincias por venta en los últimos 30 días"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 msgid "Top 10 states by sales"
-msgstr "Primeros 10 estados por ventas"
+msgstr "Primeras 10 provincia por ventas"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "[[Timestamp]]"
@@ -10659,7 +10671,7 @@ msgstr "Primeros 10 paises por ventas"
 
 #: resources/automagic_dashboards/table/example.yaml
 msgid "Sales by state"
-msgstr "Ventas por estado"
+msgstr "Ventas por provincia"
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "Where most of your sessions originate from"
@@ -10702,7 +10714,7 @@ msgstr "Como se distribuyen estas transacciones"
 
 #: resources/automagic_dashboards/table/UserTable.yaml
 msgid "Per state"
-msgstr "Por estado"
+msgstr "Por provincias"
 
 #: resources/automagic_dashboards/field/DateTime.yaml
 msgid "Count of [[GenericCategoryMedium]] by [[this]]"
@@ -10738,7 +10750,7 @@ msgstr "Una mirada a tu tabla [[this]]"
 
 #: resources/automagic_dashboards/field/State.yaml
 msgid "How many [[GenericTable]] there are per state, and how each state is represented across other categories."
-msgstr "Cuántos [[GenericTable]] hay por estado y cómo se representa cada estado en otras categorías."
+msgstr "Cuántos [[GenericTable]] hay por provincia y cómo se representa cada estado en otras categorías."
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "Most-viewed pages"
@@ -10927,7 +10939,7 @@ msgstr "Algunas métricas interesantes sobre tus estadísticas de GA para empeza
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "[[this]] per state"
-msgstr "[[this]] por estado"
+msgstr "[[this]] por provincia"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 #: resources/automagic_dashboards/table/EventTable.yaml
@@ -11042,7 +11054,7 @@ msgstr "[[this.short-name]] por coordenadas"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 msgid "Heres a closer look at your [[this]] per state"
-msgstr "Una mirada detallada a los [[this]] por estado"
+msgstr "Una mirada detallada a los [[this]] por provincia"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Created At by day of the month"
@@ -11151,7 +11163,7 @@ msgstr "Unir fecha por día de la semana"
 
 #: resources/automagic_dashboards/field/Number.yaml
 msgid "We crunched the numbers for your [[this]]"
-msgstr "Hemos procesado los números de tu [[this[["
+msgstr "Hemos procesado los números de tu [[this]]"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Months when [[this.short-name]] joined"
@@ -11301,3 +11313,1060 @@ msgstr "Falta el valor de keypath en el token."
 msgid "In-depth example"
 msgstr "Ejemplo avanzado"
 
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:29
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:17
+msgid "Key"
+msgstr "Clave"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:30
+msgid "Class"
+msgstr "Clase"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:32
+msgid "Triggers"
+msgstr "Disparadores"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:48
+msgid "View triggers"
+msgstr "Ver disparadores"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:82
+msgid "Scheduler Info"
+msgstr "Información del Programador"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:20
+msgid "Priority"
+msgstr "Prioridad"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:21
+msgid "Last Fired"
+msgstr "Última vez ejecutada"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:22
+msgid "Next Fire Time"
+msgstr "Próxima vez que se ejecuta"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:23
+msgid "Start Time"
+msgstr "Hora Inicial"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:24
+msgid "End Time"
+msgstr "Hora Final"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:25
+msgid "Final Fire Time"
+msgstr "Ultima Ejecución"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:26
+msgid "May Fire Again?"
+msgstr "¿Puede ejecutarse de nuevo?"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:75
+msgid "Triggers for {0}"
+msgstr "Disparadores para {0}"
+
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:25
+msgid "Tasks"
+msgstr "Tareas"
+
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:30
+msgid "Jobs"
+msgstr "Trabajos"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:740
+msgid "Duplicated {0}"
+msgstr "Duplicado {0}"
+
+#: frontend/src/metabase/components/EntityItem.jsx:55
+msgid "Duplicate this item"
+msgstr "Duplica este ítem"
+
+#: frontend/src/metabase/components/EntityItem.jsx:61
+msgid "Archive this item"
+msgstr "Archiva este ítem"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:330
+msgid "Duplicate dashboard"
+msgstr "Duplicar Cuadro de Mando"
+
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:16
+msgid "Duplicate \"{0}\""
+msgstr "Duplicar \"{0}\""
+
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:21
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:26
+msgid "Duplicate"
+msgstr "Duplicar"
+
+#: frontend/src/metabase/lib/query_time.js:115
+msgid "Tomorrow"
+msgstr "Mañana"
+
+#: frontend/src/metabase/lib/query_time.js:129
+#: frontend/src/metabase/lib/query_time.js:143
+msgid "This {0}"
+msgstr "Este {0}"
+
+#: frontend/src/metabase/lib/query_time.js:132
+msgid "Next {0}"
+msgstr "Siguiente {0}"
+
+#: frontend/src/metabase/lib/query_time.js:135
+msgid "Previous {0}"
+msgstr "Anterior {0}"
+
+#: frontend/src/metabase/lib/query_time.js:139
+msgid "Previous {0} {1}"
+msgstr "Anterior {0} {1}"
+
+#: frontend/src/metabase/lib/query_time.js:141
+msgid "Next {0} {1}"
+msgstr "Siguiente {0} {1}"
+
+#: frontend/src/metabase/lib/query_time.js:171
+msgid "Now"
+msgstr "Ahora"
+
+#: frontend/src/metabase/lib/query_time.js:174
+msgid "{0} {1} ago"
+msgstr "hace {0} {1}"
+
+#: frontend/src/metabase/lib/query_time.js:175
+msgid "{0} {1} from now"
+msgstr "{0} {1} desde ahora"
+
+#: frontend/src/metabase/lib/query_time.js:187
+msgid "Default period"
+msgid_plural "Default periods"
+msgstr[0] "Periodo por defecto"
+msgstr[1] "Periodos por defecto"
+
+#: frontend/src/metabase/lib/query_time.js:203
+msgid "Minute of hour"
+msgid_plural "Minutes of hour"
+msgstr[0] "Minuto de la hora"
+msgstr[1] "Minutos de la hora"
+
+#: frontend/src/metabase/lib/query_time.js:205
+msgid "Hour of day"
+msgid_plural "Hours of day"
+msgstr[0] "Hora del día"
+msgstr[1] "Horas del día"
+
+#: frontend/src/metabase/lib/query_time.js:207
+msgid "Day of week"
+msgid_plural "Days of week"
+msgstr[0] "Día de la semana"
+msgstr[1] "Días de la semana"
+
+#: frontend/src/metabase/lib/query_time.js:209
+msgid "Day of month"
+msgid_plural "Days of month"
+msgstr[0] "Día del mes"
+msgstr[1] "Días del mes"
+
+#: frontend/src/metabase/lib/query_time.js:211
+msgid "Day of year"
+msgid_plural "Days of year"
+msgstr[0] "Día del año"
+msgstr[1] "Días del año"
+
+#: frontend/src/metabase/lib/query_time.js:213
+msgid "Week of year"
+msgid_plural "Weeks of year"
+msgstr[0] "Semana del año"
+msgstr[1] "Semanas del año"
+
+#: frontend/src/metabase/lib/query_time.js:215
+msgid "Month of year"
+msgid_plural "Months of year"
+msgstr[0] "Mes del año"
+msgstr[1] "Meses del año"
+
+#: frontend/src/metabase/lib/query_time.js:217
+msgid "Quarter of year"
+msgid_plural "Quarters of year"
+msgstr[0] "Trimestre del año"
+msgstr[1] "Trimestres del año"
+
+#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:62
+#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:58
+#: frontend/src/metabase/query_builder/components/Filter.jsx:79
+msgid "{0} selection"
+msgid_plural "{0} selections"
+msgstr[0] "{0} seleccionado"
+msgstr[1] "{0} seleccionados"
+
+#: frontend/src/metabase/parameters/components/widgets/DateQuarterYearWidget.jsx:11
+msgid "[Q]Q"
+msgstr "[Q]Q"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:28
+msgid "This"
+msgstr "Este"
+
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:64
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:96
+msgid "Invalid"
+msgstr "Inválido"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/SpecificDatePicker.jsx:147
+msgid "Add a time"
+msgstr "Añade una hora"
+
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:170
+msgid "Nothing to compare for the previous {0}."
+msgstr "Nada que comparar en el {0} anterior."
+
+#: frontend/src/metabase-lib/lib/Dimension.js:517
+msgid "by {0}"
+msgstr "por {0}."
+
+#: src/metabase/api/database.clj
+msgid "value must be a valid database engine."
+msgstr "el valor debe ser un motor de base de datos válido."
+
+#: src/metabase/api/geojson.clj
+msgid "Connection refused by host for URL `{0}`"
+msgstr "La conexión ha sido rechazada por el host a través de la URL  `{0}`"
+
+#: src/metabase/db.clj
+msgid "Warning: Postgres connection string with `ssl=true` detected."
+msgstr "Advertencia: Una conexión a Postgres con 'ssl=true' ha sido detectada."
+
+#: src/metabase/db.clj
+msgid "You may need to add `?sslmode=require` to your application DB connection string."
+msgstr "Puedes requerir agregar `?sslmode=require` a la cadena de conexión a la BD."
+
+#: src/metabase/db.clj
+msgid "If Metabase fails to launch, please add it and try again."
+msgstr "Si Metabase falla al arrancar, por favor agréguelo e intente de nuevo."
+
+#: src/metabase/db.clj
+msgid "See https://github.com/metabase/metabase/issues/8908 for more details."
+msgstr "Consultar https://github.com/metabase/metabase/issues/8908 para más detalles."
+
+#: src/metabase/db.clj
+msgid "WARNING: Using Metabase with an H2 application database is not recomended for production deployments."
+msgstr "ADVERTENCIA: el uso de Metabase con una base de datos de aplicaciones H2 no se recomienda para implementaciones de producción."
+
+#: src/metabase/db.clj
+msgid "For production deployments, we highly recommend using Postgres, MySQL, or MariaDB instead."
+msgstr "Para las implementaciones de producción, te recomendamos que utilices Postgres, MySQL o MariaDB."
+
+#: src/metabase/db.clj
+msgid "If you decide to continue to use H2, please be sure to back up the database file regularly."
+msgstr "Si decides continuar usando H2, asegúrate de hacer una copia de seguridad del archivo de la base de datos con regularidad."
+
+#: src/metabase/db.clj
+msgid "See https://metabase.com/docs/latest/operations-guide/start.html#migrating-from-using-the-h2-database-to-mysql-or-postgres for more information."
+msgstr "Para obtener más información, consulta https://metabase.com/docs/latest/operations-guide/start.html#migrating-from-using-the-h2-database-to-mysql-or-postgres."
+
+#: src/metabase/db.clj
+msgid "Unable to connect to Metabase {0} DB."
+msgstr "No se ha podido conectar a la base de datos {0} de Metabase."
+
+#: src/metabase/db/migrations.clj
+msgid "Error adding legacy SQL directive to BigQuery saved Question"
+msgstr "Error al agregar la directiva SQL a la pregunta guardada de BigQuery"
+
+#: src/metabase/driver.clj
+msgid "Failed to notify {0} Database {1} updated"
+msgstr "Error al notificar {0} Base de datos {1} actualizada"
+
+#: src/metabase/driver.clj
+msgid "Loading driver {0} {1}"
+msgstr "Cargando controlador {0} {1}"
+
+#: src/metabase/driver.clj
+msgid "Load driver {0}"
+msgstr "Cargar controlador {0}"
+
+#: src/metabase/driver.clj
+msgid "Driver not registered after loading: {0}"
+msgstr "Controlador no registrado después de la carga: {0}"
+
+#: src/metabase/driver.clj
+msgid "Error: attempting to change {0} property `:abstract?` from {1} to {2}."
+msgstr "Error: al intentar cambiar la propiedad {0} `:abstract?` de {1} a {2}."
+
+#: src/metabase/driver.clj
+msgid "Registered abstract driver {0}"
+msgstr "Controlador {0} abstracto registrado"
+
+#: src/metabase/driver.clj
+msgid "Registered driver {0}"
+msgstr "Controlador {0} registrado"
+
+#: src/metabase/driver.clj
+msgid "(parents: {0})"
+msgstr "(superiores: {0})"
+
+#: src/metabase/driver.clj
+msgid "Initializing driver {0}..."
+msgstr "Inicializando controlador {0}"
+
+#: src/metabase/driver.clj
+msgid "Reason:"
+msgstr "Razón:"
+
+#: src/metabase/driver.clj
+msgid "Invalid driver feature: {0}"
+msgstr "Característica de controlador inválida: {0}"
+
+#: src/metabase/driver/sql/query_processor.clj
+msgid "Invalid HoneySQL form:"
+msgstr "Formulario HoneySQL inválido:"
+
+#: src/metabase/driver/sql_jdbc/connection.clj
+msgid "Closing connection pool for database {0} ..."
+msgstr "Cerrando el pool de conexiones para la base de datos {0} ..."
+
+#: src/metabase/driver/util.clj
+msgid "Error loading namespace"
+msgstr "Error cargando el espacio de nombres"
+
+#: src/metabase/events.clj
+msgid "Starting events listener:"
+msgstr "Inicializando controlador de eventos:"
+
+#: src/metabase/events.clj
+msgid "Unexpected error listening on events"
+msgstr "Error no esperado escuchando eventos:"
+
+#: src/metabase/events/sync_database.clj
+msgid "Error syncing Database {0}"
+msgstr "Error sincronizando la base de datos {0}"
+
+#: src/metabase/events/sync_database.clj
+msgid "Failed to process sync-database event."
+msgstr "Error al procesar el evento de sincronización de la base de datos."
+
+#: src/metabase/mbql/util.clj
+msgid "Bad nested-query-level: query does not have a source query"
+msgstr "Nivel de consulta anidado incorrecto: la consulta no tiene una consulta de origen"
+
+#: src/metabase/metabot/command.clj
+msgid "I don''t know how to `{0}`."
+msgstr "No se como `{0}`."
+
+#: src/metabase/metabot/command.clj
+msgid "Here''s what I can do: "
+msgstr "Esto es lo que puedo hacer: "
+
+#: src/metabase/metabot/slack.clj
+msgid "Error in Metabot command"
+msgstr "Error en el comando de Metabot"
+
+#: src/metabase/metabot/websocket.clj
+msgid "Websocket associated with this Slack event is different from the websocket we're currently using."
+msgstr "El Websocket asociado con este evento Slack es diferente del websocket que estamos usando actualmente."
+
+#: src/metabase/models/field_values.clj
+msgid "FieldValues for Field {0} remain unchanged. Skipping..."
+msgstr "Los valores para el campo {0} permanecen sin cambios. Saltando..."
+
+#: src/metabase/models/interface.clj
+msgid "Unable to normalize:"
+msgstr "No se ha podido normalizar:"
+
+#: src/metabase/models/params.clj
+msgid "Could not find matching Field ID for target:"
+msgstr "No se pudo encontrar el ID de campo coincidente para el destino:"
+
+#: src/metabase/plugins.clj
+msgid "Metabase does not have permissions to write to plugins directory {0}"
+msgstr "Metabase no tiene permisos para escribir en el directorio de extensiones {0}"
+
+#: src/metabase/plugins.clj
+msgid "Metabase cannot use the plugins directory {0}"
+msgstr "Metabase no puede utilizar el directorio de extensiones {0}"
+
+#: src/metabase/plugins.clj
+msgid "Please make sure the directory exists and that Metabase has permission to write to it."
+msgstr "Asegúrate de que el directorio existe y que Metabase tiene permiso para escribir en él."
+
+#: src/metabase/plugins.clj
+msgid "You can change the directory Metabase uses for modules by setting the environment variable MB_PLUGINS_DIR."
+msgstr "Puedes cambiar el directorio que utiliza Metabase para los módulos configurando la variable de entorno MB_PLUGINS_DIR."
+
+#: src/metabase/plugins.clj
+msgid "Falling back to a temporary directory for now."
+msgstr "Volviendo a un directorio temporal por ahora."
+
+#: src/metabase/plugins.clj
+msgid "Metabase cannot write to temporary directory. Please set MB_PLUGINS_DIR to a writable directory and restart Metabase."
+msgstr "Metabase no puede escribir en el directorio temporal. Configura MB_PLUGINS_DIR en un directorio escribible y reinicia Metabase."
+
+#: src/metabase/plugins.clj
+msgid "spark-deps.jar is no longer needed by Metabase 1.0+. You can delete it from the plugins directory."
+msgstr "Metabase 1.0+ ya no necesita spark-deps.jar. Puedes eliminarlo del directorio de extensiones."
+
+#: src/metabase/plugins.clj
+msgid "Failied to initialize plugin {0}"
+msgstr "No se ha podido inicializar la extensión {0}"
+
+#: src/metabase/plugins.clj
+msgid "Loading plugins in {0}..."
+msgstr "Cargando extensiones en {0}..."
+
+#: src/metabase/plugins/classloader.clj
+msgid "Using Clojure base loader as shared context classloader: {0}"
+msgstr "Uso del cargador base de Clojure como cargador de clases de contexto compartido: {0}"
+
+#: src/metabase/plugins/classloader.clj
+msgid "Setting current thread context classloader to shared classloader {0}..."
+msgstr "Estableciendo el contexto de subprocesos al cargador de clases compartido {0}..."
+
+#. it's important that we deref the promise again here instead of using the one we just created because it is
+#. possible thru a race condition that somebody else delivered the promise before we did; in that case,
+#. Clojure ignores subsequent calls to `deliver`. Dereffing the promise guarantees that we'll get the actual
+#. value of it rather than one that ends up getting discarded
+#: src/metabase/plugins/classloader.clj
+msgid "Setting current thread context classloader to NEWLY CREATED classloader {0}..."
+msgstr "Configurando el contexto actual para el NUEVO cargador de clases {0} ..."
+
+#: src/metabase/plugins/classloader.clj
+msgid "Added URL {0} to classpath"
+msgstr "URL {0} añadida a classpath"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugin {0} declares a dependency that Metabase does not understand: {1}"
+msgstr "La extensión {0} declara una dependencia que Metabase no entiende: {1}"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Refer to the plugin manifest reference for a complete list of valid plugin dependencies:"
+msgstr "Consulta la referencia del manifest de la extensión para obtener una lista completa de las dependencias válidas del mismo:"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Metabase cannot initialize plugin {0} due to required dependencies."
+msgstr "Metabase no puede inicializar el complemento {0} debido a las dependencias requeridas."
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Class not found: {0}"
+msgstr "Clase {0} no encontrada"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugin ''{0}'' depends on plugin ''{1}''"
+msgstr "La extensión ''{0}'' depende de la extensión ''{1}''"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "{0} dependency {1} satisfied? {2}"
+msgstr "{0} dependencia {1} satisfecha? {2}"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugins with unsatisfied deps: {0}"
+msgstr "Extensiones con dependencias no satisfechas: {0}"
+
+#: src/metabase/plugins/files.clj
+msgid "Extract file {0} -> {1}"
+msgstr "Extraer fichero {0} -> {1}"
+
+#: src/metabase/plugins/files.clj
+msgid "Resource does not exist."
+msgstr "Recurso no existe."
+
+#: src/metabase/plugins/init_steps.clj
+msgid "Loading plugin namespace {0}..."
+msgstr "Cargando espacio de nombres de extensiones {0}..."
+
+#: src/metabase/plugins/initialize.clj
+msgid "Dependencies satisfied; these plugins will now be loaded: {0}"
+msgstr "Dependencias satisfechas; se cargarán las extensiones: {0}"
+
+#: src/metabase/plugins/jdbc_proxy.clj
+msgid "Registering JDBC proxy driver for {0}..."
+msgstr "Registrando el controlador proxy JDBC para {0} ..."
+
+#: src/metabase/plugins/jdbc_proxy.clj
+msgid "Deregistering original JDBC driver {0}..."
+msgstr "Anulación del registro del controlador JDBC original {0} ..."
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Default connection property {0} does not exist."
+msgstr "La propiedad de conexión predeterminada {0} no existe."
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Invalid connection property {0}: not a string or map."
+msgstr "Propiedad de conexión no válida {0}: no es una cadena o un mapa."
+
+#. ok, do the init steps listed in the plugin mainfest
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Load lazy loading driver {0}"
+msgstr "Cargar el controlador de carga oportunista {0}"
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Cannot initialize plugin: missing required property `driver-name`"
+msgstr "No se puede inicializar la extensión: falta la propiedad requerida `driver-name`"
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Warning: plugin manifest for {0} does not include connection properties"
+msgstr "Advertencia: el manifest de la extensión {0} no incluye las propiedades de conexión"
+
+#. finally, register the Metabase driver
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Registering lazy loading driver {0}..."
+msgstr "Registrando el controlador de carga oportunista {0} ..."
+
+#: src/metabase/pulse.clj
+msgid "Error running query for Card {0}"
+msgstr "Error al ejecutar la consulta para la tarjeta {0}"
+
+#: src/metabase/pulse/render.clj
+msgid "Last week"
+msgstr "La semana pasada"
+
+#: src/metabase/pulse/render.clj
+msgid "This week"
+msgstr "Esta semana"
+
+#: src/metabase/pulse/render.clj
+msgid "Last month"
+msgstr "El mes pasado"
+
+#: src/metabase/pulse/render.clj
+msgid "This month"
+msgstr "Este mes"
+
+#: src/metabase/pulse/render.clj
+msgid "Last quarter"
+msgstr "El trimestre pasado"
+
+#: src/metabase/pulse/render.clj
+msgid "This quarter"
+msgstr "Este trimestre"
+
+#: src/metabase/pulse/render.clj
+msgid "Last year"
+msgstr "El año pasado"
+
+#: src/metabase/pulse/render.clj
+msgid "This year"
+msgstr "Este año"
+
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "*driver* is unbound."
+msgstr "*controlador* no consolidado."
+
+#: src/metabase/sync/sync_metadata/fields.clj
+msgid "Error syncing Fields for Table ''{0}''"
+msgstr "Error sincronizando Campos de la Tabla \"{0}\""
+
+#: src/metabase/sync/sync_metadata/fields.clj
+msgid "Hash of {0} matches stored hash, skipping Fields sync"
+msgstr "El hash de {0} coincide con el hash almacenado, omitiendo la sincronización de campos"
+
+#: src/metabase/sync/sync_metadata/fields/common.clj
+msgid "Field"
+msgstr "Campo"
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Error checking if Fields {0} need to be created or reactivated"
+msgstr "Error al verificar si los Campos {0} necesitan ser creados o reactivados"
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Marking Field ''{0}'' as inactive."
+msgstr "Marcando el campo \"{0}\" como inactivo"
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Error retiring {0}"
+msgstr "Error retirando {0}"
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Database type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr "El tipo de base de datos de {0} ha cambiado de ''{1}'' a ''{2}''."
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Base type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr "El tipo base de {0} ha cambiado de ''{1}'' a ''{2}''."
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Special type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr "El tipo especial de {0} ha cambiado de ''{1}'' a ''{2}''."
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Comment has been added for {0}."
+msgstr "Se ha añadido un comentario para {0}."
+
+#: src/metabase/task.clj
+msgid "Stopping Quartz Scheduler {0}"
+msgstr "Deteniendo Porgramador {0} de Quartz"
+
+#: src/metabase/task.clj
+msgid "Starting Quartz Scheduler {0}"
+msgstr "Inicializando Porgramador {0} de Quartz"
+
+#: src/metabase/task.clj
+msgid "Error loading tasks namespace {0}"
+msgstr "Error cargando el espacio de nombre de tareas {0}"
+
+#. don't bother logging namespace for now, maybe in the future if there's tasks of the same name in multiple
+#. namespaces we can log it
+#: src/metabase/task.clj
+msgid "Initializing task {0}"
+msgstr "Inicializando tarea {0}"
+
+#: src/metabase/task.clj
+msgid "Error initializing task {0}"
+msgstr "Error inicializando tarea {0}"
+
+#: src/metabase/task/follow_up_emails.clj
+msgid "Problem sending abandonment email"
+msgstr "Problema enviando correo electrónico de abandono"
+
+#: src/metabase/task/send_anonymous_stats.clj
+msgid "Sending anonymous usage stats."
+msgstr "Enviando estadísticas anónimas de uso."
+
+#: src/metabase/task/send_anonymous_stats.clj
+msgid "Error sending anonymous usage stats"
+msgstr "Error enviando estadísticas anónimas de uso."
+
+#: src/metabase/task/send_pulses.clj
+msgid "Error sending Pulse {0}"
+msgstr "Error enviando pulso {0}"
+
+#: src/metabase/task/send_pulses.clj
+msgid "Sending scheduled pulses..."
+msgstr "Enviando pulsos programados..."
+
+#: src/metabase/task/send_pulses.clj
+msgid "SendPulses task failed"
+msgstr "La tarea Enviar Pulsos ha fallado"
+
+#: src/metabase/task/sync_databases.clj
+msgid "Failed to scheduler tasks for Database {0}"
+msgstr "No se ha podido programar tareas para la base de datos {0}"
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Cleaning up task history"
+msgstr "Limpiando el historial de tareas"
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Task history cleanup successful, rows were deleted"
+msgstr "La limpieza del historial de tareas fue exitosa, las filas fueron eliminadas"
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Task history cleanup successful, no rows were deleted"
+msgstr "La limpieza del historial de tareas fue exitosa, no se ha eliminado ninguna fila"
+
+#: src/metabase/task/upgrade_checks.clj
+msgid "Checking for new Metabase version info."
+msgstr "Buscando información de la versión de Metabase."
+
+#: src/metabase/task/upgrade_checks.clj
+msgid "Error fetching version info"
+msgstr "Error obteniendo la información de versión"
+
+#: src/metabase/util.clj
+msgid "Maximum memory available to JVM: {0}"
+msgstr "Memoria máxima disponible para JVM: {0}"
+
+#: src/metabase/util.clj
+msgid "Not something with an ID: {0}"
+msgstr "No es algo con un ID: {0}"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by month of the year"
+msgstr "[[CreateDate]] por mes del año"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Here's a quick look at your [[this]]"
+msgstr "Aquí hay un vistazo rápido a tu [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by hour of the day"
+msgstr "[[CreateTimestamp]] por hora del día"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Where you've acquired your users"
+msgstr "Donde has adquirido tus usuarios"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How it's distributed across time and other categories."
+msgstr "Cómo se distribuye a través del tiempo y otras categorías."
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Here's a closer look at your [[this]] per source"
+msgstr "Aquí hay una vista más detallada a tu [[this]] por origen"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "Here's a quick look at the [[this]]"
+msgstr "Aquí hay un vistazo rápido a [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by day of the month"
+msgstr "[[CreateTimestamp]] por día del mes"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Here's an overview of the people in your [[this]]"
+msgstr "Aquí hay un resumen de las personas en tu [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by quarter of the year"
+msgstr "[[CreateTimestamp]] por trimestre del año"
+
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How they compare across location"
+msgstr "Cómo se comparan a través de la ubicación"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "Here's a closer look at your [[this]] by products"
+msgstr "Aquí hay una vista con más detalle de tu [[this]] por productos"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by month of the year"
+msgstr "[[CreateTimestamp]] por mes del año"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "An overview of your [[this]] and how it's distributed across time, place, and categories."
+msgstr "Una visión general de tu [[this]] y cómo se distribuye en el tiempo, el lugar y las categorías."
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/question/GenericQuestion.yaml
+msgid "Here's a closer look at your [[this]]"
+msgstr "Aquí hay una vista con más detalle de tu [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by day of the week"
+msgstr "[[CreateTimestamp]] por día de la semana"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Here's an overview of your [[this]] data from Google Analytics"
+msgstr "Aquí hay una descripción general de tus datos [[this]] de Google Analytics"
+
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+#: resources/automagic_dashboards/comparison/State.yaml
+#: resources/automagic_dashboards/comparison/FK.yaml
+#: resources/automagic_dashboards/comparison/Country.yaml
+#: resources/automagic_dashboards/comparison/GenericField.yaml
+msgid "Here's an overview of your [[this]]"
+msgstr "Aquí hay una visión general de tu [[this]]"
+
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "Here's a closer look at your [[this]] field"
+msgstr "Aquí hay una vista con más detalle de tu campo [[this]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Here's a closer look at your [[this]] per country"
+msgstr "Aquí hay una vista con más detalle de tu [[this]] por país"
+
+#: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
+msgid "If you're into correlations, this is the x-ray for you."
+msgstr "Si te interesan las correlaciones, esta es la radiografía para ti."
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by day of the week"
+msgstr "[[CreateDate]] por día de la semana"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "It looks like your [[this]] has transactions, so here's a look at them"
+msgstr "Parece que tu [[this]] tiene transacciones, así que aquí hay un vistazo a ellas"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Here's a closer look at your [[this]] per state"
+msgstr "Aquí hay una vista con más detalle de tu [[this]] por estado"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by day of the month"
+msgstr "[[CreateDate]] por día del mes"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTime]] by hour of the day"
+msgstr "[[CreateTime]] por hora del día"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Here's a closer look at your [[this]] over time"
+msgstr "Aquí hay una mirada con más detalle de tu [[this]] a lo largo del tiempo"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by quarter of the year"
+msgstr "[[CreateDate]] por trimestre del año"
+
+#: frontend/src/metabase/admin/people/containers/EditUserModal.jsx:12
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:200
+msgid "Edit user"
+msgstr "Editar usuario"
+
+#: frontend/src/metabase/admin/people/containers/NewUserModal.jsx:13
+msgid "New user"
+msgstr "Nuevo usuario"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:204
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:69
+msgid "Reset password"
+msgstr "Restablecer contraseña"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:209
+msgid "Deactivate user"
+msgstr "Desactivar usuario"
+
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:47
+msgid "Reactivate {0}?"
+msgstr "¿Reactivar {0}?"
+
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:63
+msgid "We couldn’t send them an email invitation, so make sure to tell them to log in using {0} and this password we’ve generated for them:"
+msgstr "No se ha podido enviar la invitación por correo electrónico, así que asegúrate de decirles que inicien sesión utilizando {0} y esta contraseña que hemos generado para ellos:"
+
+#: frontend/src/metabase/entities/collections.js:21
+msgid "collection"
+msgstr "colección"
+
+#: frontend/src/metabase/entities/collections.js:22
+msgid "collections"
+msgstr "colecciones"
+
+#: frontend/src/metabase/entities/dashboards.js:29
+msgid "dashboard"
+msgstr "cuadro de mando"
+
+#: frontend/src/metabase/entities/dashboards.js:30
+msgid "dashboards"
+msgstr "cuadros de mando"
+
+#: frontend/src/metabase/entities/users.js:125
+msgid "First name is required"
+msgstr "El nombre es obligatorio"
+
+#: frontend/src/metabase/entities/users.js:126
+#: frontend/src/metabase/entities/users.js:133
+msgid "Must be 100 characters or less"
+msgstr "Debe ser 100 caracteres o menos"
+
+#: frontend/src/metabase/entities/users.js:132
+msgid "Last name is required"
+msgstr "El apellido es obligatorio"
+
+#: frontend/src/metabase/entities/users.js:138
+msgid "Email is required"
+msgstr "El email es obligatorio"
+
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:90
+msgid "Items you archive will appear here."
+msgstr "Los artículos que archives aparecerán aquí."
+
+#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:16
+msgid "No description"
+msgstr "Sin descripción"
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:175
+msgid "Sum of all values"
+msgstr "Suma de todos los valores"
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:183
+msgid "See all distinct values"
+msgstr "Ver todos los valores distintos"
+
+#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:12
+msgid "Browse the contents of your databases, tables, and columns. Pick a database to get started"
+msgstr "Examina el contenido de tus bases de datos, tablas y columnas. Elija una base de datos para empezar"
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is VALID. Thanks!"
+msgstr "Los metadatos de resultados de tarjetas pasados a API son VÁLIDOS. ¡Gracias!"
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is INVALID. Running query to fetch correct metadata."
+msgstr "Los metadatos de resultados de tarjetas pasados a API son INVÁLIDOS. Ejecutando la consulta para obtener los metadatos correctos."
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is  ISSING. Running query to fetch correct metadata."
+msgstr "Los metadatos de resultados de tarjetas pasados a API NO ESTÁN. Ejecutando la consulta para obtener los metadatos correctos."
+
+#: src/metabase/api/email.clj
+msgid "{0} was autocorrected to {1}"
+msgstr "se ha autocorregido {0} a {1}"
+
+#: src/metabase/api/metric.clj
+msgid "DELETE /api/metric/:id is deprecated. Instead, change its `archived` value via PUT /api/metric/:id."
+msgstr "DELETE /api/metric/:id está obsoleta. En su lugar cambia el valor de `archivado` con PUT /api/metric/:id."
+
+#: src/metabase/api/segment.clj
+msgid "DELETE /api/segment/:id is deprecated. Instead, change its `archived` value via PUT /api/segment/:id."
+msgstr "DELETE /api/segment/:id está obsoleta. En su lugar cambia el valor de `archivado` con PUT /api/segment/:id."
+
+#: src/metabase/api/user.clj
+msgid "Value of is_superuser must correspond to presence of Admin group ID in group_ids."
+msgstr "El valor de is_superuser debe corresponder a la presencia de ID de grupo de administración en group_ids."
+
+#: src/metabase/async/api_response.clj
+msgid "Unexpected error writing keepalive characters"
+msgstr "Error inesperado al escribir caracteres keepalive"
+
+#: src/metabase/async/api_response.clj
+msgid "Unexpected output in async API response"
+msgstr "Salida inesperada en la respuesta de la API asíncrona"
+
+#: src/metabase/async/api_response.clj
+msgid "starting streaming response"
+msgstr "iniciando la respuesta de streaming"
+
+#: src/metabase/async/api_response.clj
+msgid "Output chan closed, canceling keepalive request."
+msgstr "Salida cerrada, cancelando la solicitud de keepalive."
+
+#: src/metabase/async/api_response.clj
+msgid "Async response finished, closing channels."
+msgstr "Respuesta asincrónica finalizada, cerando canales."
+
+#: src/metabase/async/api_response.clj
+msgid "No response after waiting {0}. Canceling request."
+msgstr "No hay respuesta después de esperar {0}. Cancelando solicitud."
+
+#: src/metabase/async/api_response.clj
+msgid "Input channel unexpectedly closed."
+msgstr "Se ha cerrado inesperadamente el canal de entrada."
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "f finished, permit will be returned"
+msgstr "f ha terminado, se devolverá el permiso"
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "request canceled, permit will be returned"
+msgstr "solicitud cancelada, se devolverá el permiso"
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Unexpected error attempting to run function after obtaining permit"
+msgstr "Error inesperado al intentar ejecutar la función después de obtener el permiso"
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Not running pending function call: output channel already closed."
+msgstr "No se está ejecutando la llamada de función pendiente: el canal de salida ya está cerrado."
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Current thread already has a permit for {0}, will not wait to acquire another"
+msgstr "El hilo actual ya tiene un permiso para {0}, no esperamos a adquirir otro"
+
+#: src/metabase/async/util.clj
+msgid "Output channel closed, will skip running {0}."
+msgstr "Canal de salida cerrado, no se ejecutará {0}."
+
+#: src/metabase/async/util.clj
+msgid "Running {0} on separate thread..."
+msgstr "Ejecutando {0} en un hilo separado..."
+
+#: src/metabase/async/util.clj
+msgid "Caught error running {0}"
+msgstr "Error capturado ejecutando {0}"
+
+#: src/metabase/async/util.clj
+msgid "Request canceled, canceling future"
+msgstr "Solicitud cancelada, cancelando futuro"
+
+#: src/metabase/driver/sql_jdbc/connection.clj
+msgid "Closing old connection pool for database {0} ..."
+msgstr "Cerrando el grupo de conexiones antiguas de la base de datos {0} ..."
+
+#: src/metabase/metabot/command.clj
+msgid "Here''s your {0} most recent cards:"
+msgstr "Aquí están tus {0} tarjetas más recientes:"
+
+#: src/metabase/metabot/command.clj
+msgid "Could you be a little more specific, or use the ID? I found these cards with names that matched:"
+msgstr "¿Podrías ser un poco más específico, o usar la identificación? He encontrado estas tarjetas con nombres que coinciden:"
+
+#: src/metabase/metabot/command.clj
+msgid "Card {0} not found."
+msgstr "No se ha encontrado la tarjeta {0}"
+
+#: src/metabase/middleware/exceptions.clj
+msgid "Exception in API call"
+msgstr "Excepción en la llamada a la API"
+
+#: src/metabase/middleware/exceptions.clj
+msgid "Request canceled before finishing."
+msgstr "Solicitud cancelada antes de terminar."
+
+#: src/metabase/middleware/json.clj
+msgid "Metabase only supports JSON requests."
+msgstr "Metabase solo admite solicitudes JSON."
+
+#: src/metabase/middleware/json.clj
+msgid "Make sure you set a 'Content-Type: application/json' header."
+msgstr "Asegúrate de establecer un encabezado 'Content-Type: application / json'."
+
+#: src/metabase/middleware/misc.clj
+msgid "Setting Metabase site URL to {0}"
+msgstr "Estableciendo la URL de Metabase a {0}"
+
+#: src/metabase/models/database.clj
+msgid "Error scheduling tasks for DB"
+msgstr "Error programando tareas para DB"
+
+#: src/metabase/models/database.clj
+msgid "Error unscheduling tasks for DB."
+msgstr "Error desprogramando tareas para DB"
+
+#: src/metabase/models/database.clj
+msgid "{0} Database ''{1}'' sync/analyze schedules have changed!"
+msgstr "\"{1}\" tiempos de sincronización/análisis han cambiado en {0}"
+
+#: src/metabase/models/database.clj
+msgid "Sync metadata was: ''{0}'' is now: ''{1}''"
+msgstr "Sincronización de metadatos: ''{0}'' es ahora: ''{1}''"
+
+#: src/metabase/models/database.clj
+msgid "Cache FieldValues was: ''{0}'', is now: ''{1}''"
+msgstr "Valor de campo en cache era: ''{0}'', ahora es: ''{1}''"
+
+#: src/metabase/models/metric.clj
+msgid "You cannot update the creator_id of a Metric."
+msgstr "No se puede cambiar el creado de una métrica."
+
+#: src/metabase/models/permissions.clj
+msgid "MetaBot can only have Collection permissions."
+msgstr "MetaBot solo puede tener permisos de Colección."
+
+#: src/metabase/models/permissions.clj
+msgid "Failed to grant permissions"
+msgstr "Error al otorgar permisos"
+
+#: src/metabase/models/permissions.clj
+msgid "Changing permissions"
+msgstr "Cambiando los permisos"
+
+#: src/metabase/models/permissions.clj
+msgid "FROM:"
+msgstr "DE:"
+
+#: src/metabase/models/permissions.clj
+msgid "TO:"
+msgstr "A:"
+
+#: src/metabase/models/segment.clj
+msgid "You cannot update the creator_id of a Segment."
+msgstr "No se puede cambiar el creador de un segmento."
+
+#: src/metabase/models/setting.clj
+msgid "Attempted to set Setting {0} to obfuscated value. Ignoring change."
+msgstr "Se intentó establecer la configuración {0} en un valor obfuscado. Ignorando el cambio."
+
+#: src/metabase/models/setting.clj
+msgid "Using value of env var {0}"
+msgstr "Utilizando el valor de la variable de entorno {0}"
+
+#: src/metabase/models/user.clj
+msgid "Adding User {0} to All Users permissions group..."
+msgstr "Agregando el usuario {0} al grupo de todos los usuarios..."
+
+#: src/metabase/models/user.clj
+msgid "Adding User {0} to Admin permissions group..."
+msgstr "Agregando el usuario {0} al grupo de permisos de administrador..."
+
+#: src/metabase/query_processor.clj
+msgid "Query failure"
+msgstr "Fallo en la consulta"
+
+#: src/metabase/query_processor/async.clj
+msgid "Maximum number of simultaneous queries to allow per connected Database."
+msgstr "Número máximo de consultas simultáneas permitidas por base de datos conectada."
+
+#: src/metabase/util.clj
+msgid "Timed out after {0} milliseconds."
+msgstr "Tiempo agotado después de {0} milisegundos."
+
diff --git a/locales/fa.po b/locales/fa.po
index a0f599b094b7b0ff82fc23d09b946d71df5e8f2f..65d02fdfecaf9b587bc2eaa6a6e28e504bfdfb6f 100644
--- a/locales/fa.po
+++ b/locales/fa.po
@@ -155,54 +155,51 @@ msgstr "داخل این کادر:"
 #: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:87
 #: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:93
 #: frontend/src/metabase/admin/people/components/AddRow.jsx:27
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:250
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:302
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:322
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:343
 #: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:49
 #: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:52
 #: frontend/src/metabase/admin/permissions/containers/CollectionPermissionsModal.jsx:58
-#: frontend/src/metabase/admin/permissions/selectors.js:156
-#: frontend/src/metabase/admin/permissions/selectors.js:166
-#: frontend/src/metabase/admin/permissions/selectors.js:181
-#: frontend/src/metabase/admin/permissions/selectors.js:220
+#: frontend/src/metabase/admin/permissions/selectors.js:160
+#: frontend/src/metabase/admin/permissions/selectors.js:170
+#: frontend/src/metabase/admin/permissions/selectors.js:185
+#: frontend/src/metabase/admin/permissions/selectors.js:224
 #: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:355
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:181
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:247
 #: frontend/src/metabase/components/ConfirmContent.jsx:18
 #: frontend/src/metabase/components/DeleteModalWithConfirm.jsx:72
 #: frontend/src/metabase/components/HeaderModal.jsx:49
-#: frontend/src/metabase/components/form/StandardForm.jsx:59
+#: frontend/src/metabase/components/form/StandardForm.jsx:61
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:196
 #: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:289
 #: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:162
 #: frontend/src/metabase/dashboard/components/RemoveFromDashboardModal.jsx:38
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:189
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:192
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:352
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:191
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:354
 #: frontend/src/metabase/query_builder/components/RunButton.jsx:24
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:83
 #: frontend/src/metabase/query_builder/containers/ArchiveQuestionModal.jsx:48
 #: frontend/src/metabase/reference/components/EditHeader.jsx:34
 #: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:52
-#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:219
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:259
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:461
 msgid "Cancel"
 msgstr "لغو"
 
 #: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:88
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:123
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:121
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:132
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:461
 msgid "Delete"
 msgstr "حذف"
 
 #: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:128
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:76
-#: frontend/src/metabase/admin/permissions/selectors.js:316
-#: frontend/src/metabase/admin/permissions/selectors.js:323
-#: frontend/src/metabase/admin/permissions/selectors.js:419
-#: frontend/src/metabase/admin/routes.jsx:43
-#: frontend/src/metabase/nav/containers/Navbar.jsx:215
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:74
+#: frontend/src/metabase/admin/permissions/selectors.js:320
+#: frontend/src/metabase/admin/permissions/selectors.js:327
+#: frontend/src/metabase/admin/permissions/selectors.js:423
+#: frontend/src/metabase/admin/routes.jsx:53
+#: frontend/src/metabase/nav/containers/Navbar.jsx:214
 #: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:18
 #: frontend/src/metabase/reference/databases/TableSidebar.jsx:21
 msgid "Databases"
@@ -223,11 +220,10 @@ msgstr "برنامه ریزی کردن"
 #: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:170
 #: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:78
 #: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:84
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:253
 #: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:26
 #: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:221
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:182
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:354
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:356
 #: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:47
 msgid "Save changes"
 msgstr "ذخیره کردن تغییرات"
@@ -276,7 +272,7 @@ msgid "Scan triggered!"
 msgstr "اسکن باعث شده است!"
 
 #: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:215
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:399
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:401
 msgid "Danger Zone"
 msgstr "منطقه خطر"
 
@@ -289,39 +285,39 @@ msgstr "نادیده گرفتن مقادیر فیلد ذخیره شده"
 msgid "Remove this database"
 msgstr "این پایگاه داده را حذف کنید"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:75
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:73
 msgid "Add database"
 msgstr "اضافه کردن پایگاه داده"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:87
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:85
 #: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:36
 #: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:36
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:468
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:122
 #: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:183
 #: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:91
 #: frontend/src/metabase/components/DatabaseDetailsForm.jsx:399
 #: frontend/src/metabase/containers/EntitySearch.jsx:26
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:218
-#: frontend/src/metabase/entities/collections.js:86
-#: frontend/src/metabase/entities/dashboards.js:96
+#: frontend/src/metabase/entities/collections.js:93
+#: frontend/src/metabase/entities/dashboards.js:145
 #: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:461
-#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:78
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:81
 msgid "Name"
 msgstr "نام"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:88
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:86
 msgid "Engine"
 msgstr "موتور"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:117
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:115
 msgid "Deleting..."
 msgstr "درحال حذف کردن"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:147
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:145
 msgid "Loading ..."
 msgstr "در حال بارگذاری"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:163
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:161
 msgid "Bring the sample dataset back"
 msgstr "مجموعه داده نمونه را بازگردانید"
 
@@ -340,7 +336,7 @@ msgstr "با موفقیت ذخیره شد!"
 #: frontend/src/metabase/admin/datamodel/components/ObjectActionSelect.jsx:44
 #: frontend/src/metabase/dashboard/components/DashCard.jsx:278
 #: frontend/src/metabase/parameters/components/ParameterWidget.jsx:177
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:209
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:197
 #: frontend/src/metabase/reference/components/EditButton.jsx:18
 msgid "Edit"
 msgstr "ویرایش"
@@ -515,7 +511,7 @@ msgstr "طرح ها"
 #: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:189
 #: frontend/src/metabase/reference/metrics/MetricList.jsx:56
 #: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:21
-#: frontend/src/metabase/routes.jsx:231
+#: frontend/src/metabase/routes.jsx:232
 msgid "Metrics"
 msgstr "متریک‌ها"
 
@@ -534,7 +530,7 @@ msgid "Create metrics to add them to the View dropdown in the query builder"
 msgstr "ایجاد متریک برای اضافه کردن آنها به نمایش کشویی در سازنده پرس و جو"
 
 #: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:24
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:922
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:930
 #: frontend/src/metabase/reference/guide/BaseSidebar.jsx:33
 #: frontend/src/metabase/reference/segments/SegmentFieldSidebar.jsx:19
 #: frontend/src/metabase/reference/segments/SegmentList.jsx:56
@@ -576,7 +572,7 @@ msgstr "ایجاد بعضی تغییرات"
 
 #: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:46
 #: frontend/src/metabase/home/components/Activity.jsx:80
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:343
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:332
 msgid "You"
 msgstr "شما"
 
@@ -707,7 +703,7 @@ msgstr "جدولی را برای مشاهد شما و یا ویرایش متاد
 
 #: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:37
 #: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:34
-#: frontend/src/metabase/entities/collections.js:89
+#: frontend/src/metabase/entities/collections.js:96
 #, fuzzy
 msgid "Name is required"
 msgstr "نام مورد نیاز است"
@@ -830,10 +826,10 @@ msgid "This will show up in the revision history for this segment to help everyo
 msgstr "این در تاریخ تجدید نظر برای این بخش نشان داده خواهد شد تا به همه کمک کند که به یاد داشته باشید که چرا همه چیز تغییر کرده است"
 
 #: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:88
-#: frontend/src/metabase/admin/routes.jsx:91
+#: frontend/src/metabase/admin/routes.jsx:127
 #: frontend/src/metabase/admin/settings/containers/SettingsEditorApp.jsx:266
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:96
-#: frontend/src/metabase/nav/containers/Navbar.jsx:200
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:87
+#: frontend/src/metabase/nav/containers/Navbar.jsx:199
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorSidebar.jsx:99
 msgid "Settings"
 msgstr "تنضیمات"
@@ -847,31 +843,26 @@ msgid "Re-scan this table"
 msgstr "دوباره این جدول را اسکن کنید"
 
 #: frontend/src/metabase/admin/people/components/AddRow.jsx:34
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:194
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:253
 #: frontend/src/metabase/dashboard/components/DashCard.jsx:278
 msgid "Add"
 msgstr "اضافه کردن"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:80
 #: frontend/src/metabase/setup/components/UserStep.jsx:103
 #: frontend/src/metabase/user/components/UpdateUserDetails.jsx:67
 msgid "Not a valid formatted email address"
 msgstr "یک آدرس ایمیل فرمت معتبر نیست"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:135
 #: frontend/src/metabase/setup/components/UserStep.jsx:186
 #: frontend/src/metabase/user/components/UpdateUserDetails.jsx:100
 msgid "First name"
 msgstr "نام"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:156
 #: frontend/src/metabase/setup/components/UserStep.jsx:203
 #: frontend/src/metabase/user/components/UpdateUserDetails.jsx:117
 msgid "Last name"
 msgstr "نام خانوادگی"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:178
 #: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:77
 #: frontend/src/metabase/auth/containers/LoginApp.jsx:158
 #: frontend/src/metabase/components/NewsletterForm.jsx:94
@@ -885,7 +876,7 @@ msgstr "آدرس ایمیل"
 msgid "Permission Groups"
 msgstr "گروه های مجوز"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:238
+#: frontend/src/metabase/components/form/widgets/FormGroupsWidget.jsx:75
 msgid "Make this user an admin"
 msgstr "این کاربر را admin کنید"
 
@@ -906,15 +897,15 @@ msgid "To make sure you don't get locked out of Metabase, there always has to be
 msgstr "برای اینکه اطمینان حاصل کنید که از Metabase قفل نشده اید، همیشه باید حداقل یک کاربر در این گروه باشد."
 
 #: frontend/src/metabase/admin/people/components/GroupDetail.jsx:177
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:219
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:218
 msgid "Members"
 msgstr "اعضا"
 
 #: frontend/src/metabase/admin/people/components/GroupDetail.jsx:177
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:470
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:124
 #: frontend/src/metabase/admin/settings/selectors.js:113
 #: frontend/src/metabase/lib/core.js:55
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:298
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:301
 msgid "Email"
 msgstr "ایمیل"
 
@@ -923,8 +914,8 @@ msgid "A group is only as good as its members."
 msgstr "گروه فقط به عنوان اعضای آن است."
 
 #: frontend/src/metabase/admin/people/components/GroupSummary.jsx:15
-#: frontend/src/metabase/admin/routes.jsx:38
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:50
+#: frontend/src/metabase/admin/routes.jsx:48
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:49
 msgid "Admin"
 msgstr "مدیر/ مدیر سیستم"
 
@@ -944,70 +935,70 @@ msgstr[0] "{0} گروه دیگر"
 msgid "Default"
 msgstr "پیش‌فرض"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:40
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:39
 msgid "Something like \"Marketing\""
 msgstr "چیزی شبیه \"بازاریابی\""
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:59
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:58
 msgid "Remove this group?"
 msgstr "این گروه حذف شود؟"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:61
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:60
 msgid "Are you sure? All members of this group will lose any permissions settings they have based on this group.\n"
 "This can't be undone."
 msgstr "شما مطمئن هستید؟ همه اعضای این گروه هر تنظیمات مجوزی که براساس این گروه قرار دارند را از دست خواهند داد.\n"
 "این نمیتواند لغو شود"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:72
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:71
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:42
 #: frontend/src/metabase/components/ConfirmContent.jsx:17
 msgid "Yes"
 msgstr "بله"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:75
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:74
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:42
 msgid "No"
 msgstr "خیر"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:93
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:92
 msgid "Edit Name"
 msgstr "ویرایش نام"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:96
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:95
 msgid "Remove Group"
 msgstr "حذف گروه"
 
 #: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:46
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:139
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:225
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:263
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:367
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:385
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:138
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:42
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:41
 #: frontend/src/metabase/components/HeaderModal.jsx:43
 #: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:282
-#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:106
-#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:298
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:194
+#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:107
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:327
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:193
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:96
-#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:225
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:265
 msgid "Done"
 msgstr "انجام شد"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:219
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:218
 msgid "Group name"
 msgstr "نام گروه"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:399
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:363
 #: frontend/src/metabase/admin/people/containers/AdminPeopleApp.jsx:25
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:477
-#: frontend/src/metabase/admin/routes.jsx:76
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:131
+#: frontend/src/metabase/admin/routes.jsx:88
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:154
 msgid "Groups"
 msgstr "گروه‌ها"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:400
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:364
 msgid "Create a group"
 msgstr "یک گروه بساز/ ساختن گروه"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:406
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:370
 msgid "You can use groups to control your users' access to your data. Put users in groups and then go to the Permissions section to control each group's access. The Administrators and All Users groups are special default groups that can't be removed."
 msgstr "شما می توانید از گروه ها برای کنترل دسترسی کاربران به اطلاعات خود استفاده کنید. کاربران را در گروه قرار دهید و سپس به قسمت مجوز دسترسی داشته باشید تا هر گروه را کنترل کنید. مدیران و گروه های همه کاربران گروه های پیش فرض خاصی هستند که قابل حذف نیستند."
 
@@ -1023,15 +1014,14 @@ msgstr "ارسال مجدد دعوت"
 msgid "Reset Password"
 msgstr "بازیابی گذرواژه"
 
-#: frontend/src/metabase/admin/people/components/UserActionsSelect.jsx:97
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:304
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:40
 msgid "Deactivate"
 msgstr "غیرفعال"
 
 #: frontend/src/metabase/admin/people/containers/AdminPeopleApp.jsx:24
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:435
-#: frontend/src/metabase/admin/routes.jsx:74
-#: frontend/src/metabase/nav/containers/Navbar.jsx:205
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:93
+#: frontend/src/metabase/admin/routes.jsx:84
+#: frontend/src/metabase/nav/containers/Navbar.jsx:204
 msgid "People"
 msgstr "مردم"
 
@@ -1043,8 +1033,7 @@ msgstr "چه کسی را میخواهید اضافه کید؟"
 msgid "Edit {0}'s details"
 msgstr "ویرایش {0} جزئیات"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:220
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:258
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:40
 msgid "{0} has been added"
 msgstr "{0} اضافه شد"
 
@@ -1061,11 +1050,11 @@ msgstr "ما نمی توانیم آنها را دعوت نامه ای بفرست
 "بنابراین اطمینان حاصل کنید که آنها را وارد کنید با استفاده از {0}\n"
 "و این رمز عبور که برای آنها ایجاد کردیم:"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:242
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:73
 msgid "If you want to be able to send email invites, just go to the {0} page."
 msgstr "اگر می خواهید دعوت نامه های ایمیل را ارسال کنید، فقط به صفحه {0} بروید."
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:268
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:55
 msgid "We’ve sent an invite to {0} with instructions to set their password."
 msgstr "ما دعوت نامه ای برای {0} با دستورالعمل هایی برای تنظیم رمز عبور خود فرستاده ایم."
 
@@ -1073,7 +1062,6 @@ msgstr "ما دعوت نامه ای برای {0} با دستورالعمل ها
 msgid "We've re-sent {0}'s invite"
 msgstr "دعوت {0} را دوباره فرستادیم"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:285
 #: frontend/src/metabase/query_builder/components/SavedQuestionIntroModal.jsx:22
 #: frontend/src/metabase/tutorial/Tutorial.jsx:253
 msgid "Okay"
@@ -1083,11 +1071,11 @@ msgstr "باشه"
 msgid "Any previous email invites they have will no longer work."
 msgstr "هر گونه دعوتنامه ایمیل قبلی آنها دیگر کار نخواهد کرد."
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:300
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:31
 msgid "Deactivate {0}?"
 msgstr "غیر فعال کردن {0}"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:309
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:34
 msgid "{0} won't be able to log in anymore."
 msgstr "{0} دیگر قادر به ورود به سیستم نخواهد بود."
 
@@ -1095,35 +1083,33 @@ msgstr "{0} دیگر قادر به ورود به سیستم نخواهد بود.
 msgid "Reactivate {0}'s account?"
 msgstr "مجدد {0} حساب کاربری را فعال کنید؟"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:326
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:58
 msgid "Reactivate"
 msgstr "فعالسازی مجدد"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:330
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:51
 msgid "They'll be able to log in again, and they'll be placed back into the groups they were in before their account was deactivated."
 msgstr "آنها دوباره قادر به ورود به سیستم خواهند بود و قبل از اینکه حساب کاربری آنها غیرفعال شود، آنها را به گروههایی که در آن قرار داشتند، قرار می دهند."
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:341
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:51
 msgid "Reset {0}'s password?"
 msgstr "رمز عبور {0} را دوباره تنظیم کنید؟"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:347
-#: frontend/src/metabase/components/form/StandardForm.jsx:75
+#: frontend/src/metabase/components/form/StandardForm.jsx:77
 msgid "Reset"
 msgstr "بارگذازی مجدد"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:351
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:54
 #: frontend/src/metabase/components/ConfirmContent.jsx:13
 #: frontend/src/metabase/dashboard/components/ArchiveDashboardModal.jsx:44
 msgid "Are you sure you want to do this?"
 msgstr "آیا مطمئنید که می خواهید این کار را انجام دهید؟"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:362
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:384
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:41
 msgid "{0}'s password has been reset"
 msgstr "{0} رمز عبور تنظیم مجدد شده است"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:371
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:45
 msgid "Here’s a temporary password they can use to log in and then change their password."
 msgstr "در اینجا یک گذرواژه موقت است که می تواند برای ورود به سیستم و سپس رمز عبور خود را تغییر دهد."
 
@@ -1131,41 +1117,40 @@ msgstr "در اینجا یک گذرواژه موقت است که می تواند
 msgid "We've sent them an email with instructions for creating a new password."
 msgstr "ما آنها را یک ایمیل با دستورالعمل برای ایجاد یک رمز عبور جدید فرستاده ایم."
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:443
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:101
 msgid "Active"
 msgstr "فعال"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:444
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:473
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:102
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:127
 msgid "Deactivated"
 msgstr "غیرفعالسازی"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:459
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:115
 msgid "Add someone"
 msgstr "کسی را اضافه کنید"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:478
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:132
 msgid "Last Login"
 msgstr "آخرین ورود"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:501
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:153
 msgid "Signed up via Google"
 msgstr "ثبت نام شده به وسیله گوگل"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:506
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:158
 msgid "Signed up via LDAP"
 msgstr "ثبت نام شده به وسیله LDAP"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:518
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:170
 msgid "Reactivate this account"
 msgstr "این اکانت را مجددا فعال کنید"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:545
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:193
 msgid "Never"
 msgstr "هرگز"
 
 #: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:27
-#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:24
 #: src/metabase/automagic_dashboards/core.clj
 msgid "{0} table"
 msgid_plural "{0} tables"
@@ -1200,7 +1185,7 @@ msgid " native queries for "
 msgstr " نمایش داده بومی برای"
 
 #: frontend/src/metabase/admin/permissions/routes.jsx:12
-#: frontend/src/metabase/nav/containers/Navbar.jsx:220
+#: frontend/src/metabase/nav/containers/Navbar.jsx:219
 msgid "Permissions"
 msgstr "دسترسی ها"
 
@@ -1237,135 +1222,135 @@ msgstr "شما تغییرات ذخیره نشده دارید"
 msgid "Do you want to leave this page and discard your changes?"
 msgstr "آیا می خواهید این صفحه را ترک کنید و تغییرات خود را رد کنید؟"
 
-#: frontend/src/metabase/admin/permissions/permissions.js:137
+#: frontend/src/metabase/admin/permissions/permissions.js:126
 msgid "Sorry, an error occurred."
 msgstr "متاسفم، خطایی رخ داده است."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:59
+#: frontend/src/metabase/admin/permissions/selectors.js:65
 msgid "Administrators always have the highest level of access to everything in Metabase."
 msgstr "مدیران همیشه دارای بالاترین سطح دسترسی به همه چیز در Metabase هستند."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:61
+#: frontend/src/metabase/admin/permissions/selectors.js:67
 msgid "Every Metabase user belongs to the All Users group. If you want to limit or restrict a group's access to something, make sure the All Users group has an equal or lower level of access."
 msgstr "هر کاربر Metabase متعلق به گروه همه کاربران است. اگر میخواهید دسترسی گروهی به چیزی محدود یا محدود شود، مطمئن شوید که تمام کاربران گروه دارای دسترسی برابر یا کمتر هستند."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:63
+#: frontend/src/metabase/admin/permissions/selectors.js:69
 msgid "MetaBot is Metabase's Slack bot. You can choose what it has access to here."
 msgstr "MetaBot ربات Slack Metabase است. شما می توانید آنچه را که به آن دسترسی داشته اید را انتخاب کنید."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:115
+#: frontend/src/metabase/admin/permissions/selectors.js:119
 msgid "The \"{0}\" group may have access to a different set of {1} than this group, which may give this group additional access to some {2}."
 msgstr "گروه \"{0}\" ممکن است به یک مجموعه متفاوت از {1} از این گروه دسترسی داشته باشد، که ممکن است این گروه دسترسی اضافی به برخی {2} را داشته باشد."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:120
+#: frontend/src/metabase/admin/permissions/selectors.js:124
 msgid "The \"{0}\" group has a higher level of access than this, which will override this setting. You should limit or revoke the \"{1}\" group's access to this item."
 msgstr "گروه \"{0}\" سطح دسترسی بیشتری نسبت به این دارد که این تنظیم را برطرف می کند. شما باید \"{1}\" دسترسی گروه به این مورد را محدود یا لغو کنید."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:150
+#: frontend/src/metabase/admin/permissions/selectors.js:154
 msgid "Limit"
 msgstr "محدودیت"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:150
+#: frontend/src/metabase/admin/permissions/selectors.js:154
 msgid "Revoke"
 msgstr "لغو"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:152
+#: frontend/src/metabase/admin/permissions/selectors.js:156
 msgid "access even though \"{0}\" has greater access?"
 msgstr "حتی اگر {0} دسترسی بیشتری داشته باشد"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:155
-#: frontend/src/metabase/admin/permissions/selectors.js:254
+#: frontend/src/metabase/admin/permissions/selectors.js:159
+#: frontend/src/metabase/admin/permissions/selectors.js:258
 msgid "Limit access"
 msgstr "محدودیت دسترسی"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:155
-#: frontend/src/metabase/admin/permissions/selectors.js:219
-#: frontend/src/metabase/admin/permissions/selectors.js:262
+#: frontend/src/metabase/admin/permissions/selectors.js:159
+#: frontend/src/metabase/admin/permissions/selectors.js:223
+#: frontend/src/metabase/admin/permissions/selectors.js:266
 msgid "Revoke access"
 msgstr "لغو دسترسی"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:164
+#: frontend/src/metabase/admin/permissions/selectors.js:168
 msgid "Change access to this database to limited?"
 msgstr "تغییر دسترسی به این پایگاه داده به محدود؟"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:165
+#: frontend/src/metabase/admin/permissions/selectors.js:169
 msgid "Change"
 msgstr "تغییر"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:178
+#: frontend/src/metabase/admin/permissions/selectors.js:182
 msgid "Allow Raw Query Writing?"
 msgstr "اجازه نوشتن پرس و جو خام را بدهید؟"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:179
+#: frontend/src/metabase/admin/permissions/selectors.js:183
 msgid "This will also change this group's data access to Unrestricted for this database."
 msgstr "این امر همچنین دسترسی داده های این گروه را به Unrestricted برای این پایگاه داده تغییر خواهد داد."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:180
+#: frontend/src/metabase/admin/permissions/selectors.js:184
 msgid "Allow"
 msgstr "مجاز"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:217
+#: frontend/src/metabase/admin/permissions/selectors.js:221
 msgid "Revoke access to all tables?"
 msgstr "دسترسی به تمام جداول را لغو کنید؟"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:218
+#: frontend/src/metabase/admin/permissions/selectors.js:222
 msgid "This will also revoke this group's access to raw queries for this database."
 msgstr "این همچنین دسترسی این گروه به درخواستهای خام برای این پایگاه داده را لغو خواهد کرد."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:247
+#: frontend/src/metabase/admin/permissions/selectors.js:251
 msgid "Grant unrestricted access"
 msgstr "دسترسی غیر محدود"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:248
+#: frontend/src/metabase/admin/permissions/selectors.js:252
 msgid "Unrestricted access"
 msgstr "دسترسی نامحدود"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:255
+#: frontend/src/metabase/admin/permissions/selectors.js:259
 msgid "Limited access"
 msgstr "دسترسی محدود"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:263
+#: frontend/src/metabase/admin/permissions/selectors.js:267
 msgid "No access"
 msgstr "دسترسی ندارید"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:269
+#: frontend/src/metabase/admin/permissions/selectors.js:273
 msgid "Write raw queries"
 msgstr "نامه های خام را بنویسید"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:270
+#: frontend/src/metabase/admin/permissions/selectors.js:274
 msgid "Can write raw queries"
 msgstr "می توانید پرس و جوهای خام را بنویسید"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:277
+#: frontend/src/metabase/admin/permissions/selectors.js:281
 msgid "Curate collection"
 msgstr "مجموعه گردنبند"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:284
+#: frontend/src/metabase/admin/permissions/selectors.js:288
 msgid "View collection"
 msgstr "مشاهده مجموعه"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:327
-#: frontend/src/metabase/admin/permissions/selectors.js:423
-#: frontend/src/metabase/admin/permissions/selectors.js:520
+#: frontend/src/metabase/admin/permissions/selectors.js:331
+#: frontend/src/metabase/admin/permissions/selectors.js:427
+#: frontend/src/metabase/admin/permissions/selectors.js:524
 msgid "Data Access"
 msgstr "دسترسی به داده ها"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:488
-#: frontend/src/metabase/admin/permissions/selectors.js:645
-#: frontend/src/metabase/admin/permissions/selectors.js:650
+#: frontend/src/metabase/admin/permissions/selectors.js:492
+#: frontend/src/metabase/admin/permissions/selectors.js:649
+#: frontend/src/metabase/admin/permissions/selectors.js:654
 msgid "View tables"
 msgstr "مشاهده جداول"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:586
+#: frontend/src/metabase/admin/permissions/selectors.js:590
 msgid "SQL Queries"
 msgstr "SQL Queries"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:656
+#: frontend/src/metabase/admin/permissions/selectors.js:660
 msgid "View schemas"
 msgstr "نمایش طرح ها"
 
-#: frontend/src/metabase/admin/routes.jsx:49
-#: frontend/src/metabase/nav/containers/Navbar.jsx:210
+#: frontend/src/metabase/admin/routes.jsx:59
+#: frontend/src/metabase/nav/containers/Navbar.jsx:209
 msgid "Data Model"
 msgstr "مدل داده"
 
@@ -1508,7 +1493,7 @@ msgid "Metabase {0} is available.  You're running {1}"
 msgstr "Metabase {0} در دسترس است شما در حال اجرا {1}"
 
 #: frontend/src/metabase/admin/settings/components/SettingsUpdatesForm.jsx:112
-#: frontend/src/metabase/components/form/StandardForm.jsx:67
+#: frontend/src/metabase/components/form/StandardForm.jsx:69
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:96
 msgid "Update"
 msgstr "به روز رسانی"
@@ -2137,20 +2122,19 @@ msgstr "ذخیره شد"
 msgid "Ok"
 msgstr "خوب"
 
-#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:40
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:38
 msgid "Archive this collection?"
 msgstr "این مجموعه را بایگانی کنید؟"
 
-#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:45
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:43
 msgid "The dashboards, collections, and pulses in this collection will also be archived."
 msgstr "داشبورد، مجموعه ها و پالس ها در این مجموعه نیز بایگانی خواهند شد."
 
-#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:49
-#: frontend/src/metabase/components/CollectionLanding.jsx:587
-#: frontend/src/metabase/components/EntityItem.jsx:54
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:47
+#: frontend/src/metabase/components/CollectionLanding.jsx:624
 #: frontend/src/metabase/components/EntityMenu.info.js:31
 #: frontend/src/metabase/components/EntityMenu.info.js:87
-#: frontend/src/metabase/home/containers/ArchiveApp.jsx:48
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:47
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:195
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:200
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:201
@@ -2164,28 +2148,28 @@ msgstr "آرشیو"
 msgid "This {0} has been archived"
 msgstr "این {0} بایگانی شده است"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:679
+#: frontend/src/metabase/components/CollectionLanding.jsx:715
 msgid "View the archive"
 msgstr "آرشیو را ببینید"
 
-#: frontend/src/metabase/components/ArchivedItem.jsx:39
+#: frontend/src/metabase/components/ArchivedItem.jsx:43
 msgid "Unarchive this {0}"
 msgstr "این را {0} بایگانی کنید"
 
-#: frontend/src/metabase/components/BrowseApp.jsx:95
-#: frontend/src/metabase/components/BrowseApp.jsx:157
-#: frontend/src/metabase/components/BrowseApp.jsx:250
-#: frontend/src/metabase/containers/Overworld.jsx:224
+#: frontend/src/metabase/components/BrowseApp.jsx:70
+#: frontend/src/metabase/components/BrowseApp.jsx:132
+#: frontend/src/metabase/components/BrowseApp.jsx:225
+#: frontend/src/metabase/containers/Overworld.jsx:219
 msgid "Our data"
 msgstr "اطلاعات ما"
 
-#: frontend/src/metabase/components/BrowseApp.jsx:194
+#: frontend/src/metabase/components/BrowseApp.jsx:169
 #: frontend/src/metabase/reference/databases/TableSidebar.jsx:55
 msgid "X-ray this table"
 msgstr "اشعه ایکس این جدول"
 
-#: frontend/src/metabase/components/BrowseApp.jsx:208
-#: frontend/src/metabase/containers/Overworld.jsx:251
+#: frontend/src/metabase/components/BrowseApp.jsx:183
+#: frontend/src/metabase/containers/Overworld.jsx:246
 msgid "Learn about this table"
 msgstr "درباره این جدول اطلاعاتی کسب کنید"
 
@@ -2203,31 +2187,31 @@ msgstr "ذخیره شد!"
 msgid "Saving failed."
 msgstr "ذخیره سازی ناموفق بود."
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Su"
 msgstr "ی‌ش"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Mo"
 msgstr "دش"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Tu"
 msgstr "س‌ش"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "We"
 msgstr "چ‌ش"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Th"
 msgstr "پ‌ش"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Fr"
 msgstr "جم"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Sa"
 msgstr "شن"
 
@@ -2260,73 +2244,72 @@ msgstr "شما می توانید از مجموعه ها برای سازماند
 msgid "Create another collection"
 msgstr "یک مجموعه دیگر ایجاد کنید"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:61
+#: frontend/src/metabase/components/CollectionLanding.jsx:68
 msgid "Dashboards let you collect and share data in one place."
 msgstr "داشبورد به شما اجازه می دهد اطلاعات را در یک مکان جمع آوری و به اشتراک بگذارید."
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:70
+#: frontend/src/metabase/components/CollectionLanding.jsx:77
 msgid "Pulses let you send out the latest data to your team on a schedule via email or slack."
 msgstr "پالس ها به شما اجازه می دهد تا آخرین اطلاعات را به تیم خود ارسال کنید."
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:79
+#: frontend/src/metabase/components/CollectionLanding.jsx:86
 msgid "Questions are a saved look at your data."
 msgstr "سوالات نگاه ذخیره شده به اطلاعات شما هستند."
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:275
+#: frontend/src/metabase/components/CollectionLanding.jsx:287
 msgid "Pins"
 msgstr "پین"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:329
+#: frontend/src/metabase/components/CollectionLanding.jsx:341
 msgid "Drag something here to pin it to the top"
 msgstr "چیزی را در اینجا بکشید تا آن را به بالا ببرید"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:733
-#: frontend/src/metabase/components/CollectionLanding.jsx:341
+#: frontend/src/metabase/admin/permissions/selectors.js:737
+#: frontend/src/metabase/components/CollectionLanding.jsx:353
 #: frontend/src/metabase/home/containers/SearchApp.jsx:35
-#: frontend/src/metabase/home/containers/SearchApp.jsx:96
+#: frontend/src/metabase/home/containers/SearchApp.jsx:92
 msgid "Collections"
 msgstr "مجموعه‌ها"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:411
-#: frontend/src/metabase/components/CollectionLanding.jsx:434
+#: frontend/src/metabase/components/CollectionLanding.jsx:432
+#: frontend/src/metabase/components/CollectionLanding.jsx:455
 msgid "Drag here to un-pin"
 msgstr "برای un-pin به اینجا بکشید"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:469
+#: frontend/src/metabase/components/CollectionLanding.jsx:490
 msgid "{0} item selected"
 msgid_plural "{0} items selected"
 msgstr[0] "{0} مورد انتخاب شده است"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:487
+#: frontend/src/metabase/components/CollectionLanding.jsx:522
 msgid "Move {0} items?"
 msgstr "{0} موارد را انتقال دهید؟"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:488
+#: frontend/src/metabase/components/CollectionLanding.jsx:523
 msgid "Move \"{0}\"?"
 msgstr "حرکت \"{0}\"؟"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:594
+#: frontend/src/metabase/components/CollectionLanding.jsx:631
 #: frontend/src/metabase/components/EntityMenu.info.js:29
 #: frontend/src/metabase/components/EntityMenu.info.js:85
-#: frontend/src/metabase/containers/CollectionMoveModal.jsx:78
+#: frontend/src/metabase/containers/CollectionMoveModal.jsx:69
 msgid "Move"
 msgstr "انتقال"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:656
+#: frontend/src/metabase/components/CollectionLanding.jsx:692
 msgid "Edit this collection"
 msgstr "این مجموعه را ویرایش کنید"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:664
+#: frontend/src/metabase/components/CollectionLanding.jsx:700
 msgid "Archive this collection"
 msgstr "بایگانی این مجموعه"
 
 #: frontend/src/metabase/components/CollectionList.jsx:64
-#: frontend/src/metabase/entities/collections.js:148
+#: frontend/src/metabase/entities/collections.js:155
 msgid "My personal collection"
 msgstr "مجموعه شخصی من"
 
 #: frontend/src/metabase/components/CollectionList.jsx:106
-#: frontend/src/metabase/containers/CollectionForm.jsx:9
 msgid "New collection"
 msgstr "مجموعه جدید"
 
@@ -2400,15 +2383,16 @@ msgstr "چگونه می خواهید به این پایگاه داده مراج
 msgid "Next"
 msgstr "بعدی"
 
+#: frontend/src/metabase/components/ArchivedItem.jsx:52
 #: frontend/src/metabase/components/DeleteModalWithConfirm.jsx:80
 msgid "Delete this {0}"
 msgstr "حذف این {0}"
 
-#: frontend/src/metabase/components/EntityItem.jsx:42
+#: frontend/src/metabase/components/EntityItem.jsx:43
 msgid "Pin this item"
 msgstr "این مورد را پین کنید"
 
-#: frontend/src/metabase/components/EntityItem.jsx:48
+#: frontend/src/metabase/components/EntityItem.jsx:49
 msgid "Move this item"
 msgstr "این گزینه را انتقال بدین"
 
@@ -2554,6 +2538,7 @@ msgid "No description yet"
 msgstr "هنوز توضیحی ندارید"
 
 #: frontend/src/metabase/components/Header.jsx:112
+#: frontend/src/metabase/entities/containers/EntityForm.jsx:43
 msgid "New {0}"
 msgstr "جدید {0}"
 
@@ -2617,22 +2602,22 @@ msgid "Everything"
 msgstr "هر چیز"
 
 #: frontend/src/metabase/components/ItemTypeFilterBar.jsx:18
-#: frontend/src/metabase/home/containers/SearchApp.jsx:73
+#: frontend/src/metabase/home/containers/SearchApp.jsx:69
 msgid "Dashboards"
 msgstr "داشبورد"
 
 #: frontend/src/metabase/components/ItemTypeFilterBar.jsx:23
-#: frontend/src/metabase/home/containers/SearchApp.jsx:119
+#: frontend/src/metabase/home/containers/SearchApp.jsx:115
 msgid "Questions"
 msgstr "سوال"
 
 #: frontend/src/metabase/components/ItemTypeFilterBar.jsx:28
-#: frontend/src/metabase/routes.jsx:320
+#: frontend/src/metabase/routes.jsx:321
 msgid "Pulses"
 msgstr "پالس ها"
 
 #: frontend/src/metabase/components/LeftNavPane.jsx:36
-#: frontend/src/metabase/query_builder/components/dataref/DataReference.jsx:86
+#: frontend/src/metabase/query_builder/components/dataref/DataReference.jsx:103
 msgid "Back"
 msgstr "بازگشت"
 
@@ -2733,6 +2718,7 @@ msgid "First"
 msgstr "اولین"
 
 #: frontend/src/metabase/components/SchedulePicker.jsx:34
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:23
 msgid "Last"
 msgstr "دومین"
 
@@ -2789,8 +2775,8 @@ msgstr "با عرض پوزش، شما مجاز به دیدن آن نیستید"
 msgid "Unknown error encountered"
 msgstr "خطای ناشناخته رخ داده است"
 
-#: frontend/src/metabase/components/form/StandardForm.jsx:67
-#: frontend/src/metabase/nav/containers/Navbar.jsx:305
+#: frontend/src/metabase/components/form/StandardForm.jsx:69
+#: frontend/src/metabase/nav/containers/Navbar.jsx:304
 msgid "Create"
 msgstr "بسازید"
 
@@ -2826,12 +2812,13 @@ msgid "View by"
 msgstr "مشاهده توسط"
 
 #: frontend/src/metabase/containers/EntitySearch.jsx:494
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:84
 #: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:69
 #: frontend/src/metabase/tutorial/TutorialModal.jsx:34
 msgid "of"
 msgstr "از"
 
-#: frontend/src/metabase/containers/Overworld.jsx:80
+#: frontend/src/metabase/containers/Overworld.jsx:75
 msgid "Don't tell anyone, but you're my favorite."
 msgstr "به کسی نگویید، اما شما مورد علاقه من است."
 
@@ -2839,19 +2826,19 @@ msgstr "به کسی نگویید، اما شما مورد علاقه من است
 msgid "Once you connect your own data, I can show you some automatic explorations called x-rays. Here are some examples with sample data."
 msgstr "هنگامی که دادههای خود را به هم وصل میکنید، میتوانم به شما برخی از کاوشهای خودکار را به نام اشعه ایکس نشان دهم. در اینجا چند نمونه با داده های نمونه است."
 
-#: frontend/src/metabase/containers/Overworld.jsx:133
-#: frontend/src/metabase/containers/Overworld.jsx:304
+#: frontend/src/metabase/containers/Overworld.jsx:128
+#: frontend/src/metabase/containers/Overworld.jsx:299
 #: frontend/src/metabase/reference/components/GuideHeader.jsx:12
 msgid "Start here"
 msgstr "از اینجا شروع کنید"
 
-#: frontend/src/metabase/containers/Overworld.jsx:299
-#: frontend/src/metabase/entities/collections.js:140
+#: frontend/src/metabase/containers/Overworld.jsx:294
+#: frontend/src/metabase/entities/collections.js:147
 #: src/metabase/models/collection.clj
 msgid "Our analytics"
 msgstr "تجزیه و تحلیل ما"
 
-#: frontend/src/metabase/containers/Overworld.jsx:208
+#: frontend/src/metabase/containers/Overworld.jsx:203
 msgid "Browse all items"
 msgstr "همه موارد را مرور کنید"
 
@@ -2879,9 +2866,11 @@ msgstr "صرفه جویی در سوال"
 msgid "What is the name of your card?"
 msgstr "نام کارت شما چیست؟"
 
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:31
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:18
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:232
-#: frontend/src/metabase/entities/collections.js:94
-#: frontend/src/metabase/entities/dashboards.js:102
+#: frontend/src/metabase/entities/collections.js:101
+#: frontend/src/metabase/entities/dashboards.js:151
 #: frontend/src/metabase/lib/core.js:50 frontend/src/metabase/lib/core.js:205
 #: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:156
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:211
@@ -2894,12 +2883,12 @@ msgid "Description"
 msgstr "توضیحات"
 
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:238
-#: frontend/src/metabase/entities/dashboards.js:104
+#: frontend/src/metabase/entities/dashboards.js:153
 msgid "It's optional but oh, so helpful"
 msgstr "این اختیاری است اما اوه، خیلی مفید است"
 
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:245
-#: frontend/src/metabase/entities/dashboards.js:108
+#: frontend/src/metabase/entities/dashboards.js:157
 msgid "Which collection should this go in?"
 msgstr "کدام مجموعه باید این باشد؟"
 
@@ -2939,11 +2928,11 @@ msgstr "داشبورد بایگانی"
 msgid "Make sure to make a selection for each series, or the filter won't work on this card."
 msgstr "اطمینان حاصل کنید که انتخاب برای هر سری، یا فیلتر بر روی این کارت کار نخواهد کرد."
 
-#: frontend/src/metabase/dashboard/components/Dashboard.jsx:286
+#: frontend/src/metabase/dashboard/components/Dashboard.jsx:300
 msgid "This dashboard is looking empty."
 msgstr "این داشبورد خالی است."
 
-#: frontend/src/metabase/dashboard/components/Dashboard.jsx:289
+#: frontend/src/metabase/dashboard/components/Dashboard.jsx:301
 msgid "Add a question to start making it useful!"
 msgstr "یک سوال برای شروع مفید بودن اضافه کنید"
 
@@ -2991,23 +2980,23 @@ msgstr "مولفه های"
 msgid "Add a text box"
 msgstr "یک جعبه متن را اضافه کنید"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:302
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:319
 msgid "Move dashboard"
 msgstr "حرکت داشبورد"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:315
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:302
 msgid "Edit dashboard"
 msgstr "ویرایش داشبورد"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:319
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:306
 msgid "Edit Dashboard Layout"
 msgstr "ویرایش طرح بندی داشبورد"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:357
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:369
 msgid "You are editing a dashboard"
 msgstr "شما در حال ویرایش داشبورد هستید"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:362
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:374
 msgid "Select the field that should be filtered for each card"
 msgstr "فیلد را انتخاب کنید که باید برای هر کارت فیلتر شود"
 
@@ -3074,6 +3063,7 @@ msgstr "این سوال پاک شود؟"
 msgid "Your dashboard was saved"
 msgstr "پایگاه داده شما ذخیره شده است"
 
+#: frontend/src/metabase/components/CollectionLanding.jsx:745
 #: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:76
 msgid "See it"
 msgstr "آن را ببینید"
@@ -3099,15 +3089,15 @@ msgstr "مقادیر این فیلد با مقادیر هر فیلد دیگری
 msgid "No valid fields"
 msgstr "هیچ فیلد معتبر وجود ندارد"
 
-#: frontend/src/metabase/entities/collections.js:90
+#: frontend/src/metabase/entities/collections.js:97
 msgid "Name must be 100 characters or less"
 msgstr "نام باید 100 عدد یا کمتر باشد"
 
-#: frontend/src/metabase/entities/collections.js:104
+#: frontend/src/metabase/entities/collections.js:111
 msgid "Color is required"
 msgstr "رنگ مورد نیاز است"
 
-#: frontend/src/metabase/entities/dashboards.js:97
+#: frontend/src/metabase/entities/dashboards.js:146
 msgid "What is the name of your dashboard?"
 msgstr "نام داشبورد شما چیست؟"
 
@@ -3160,7 +3150,9 @@ msgstr "یک سوال از داشبورد حذف شد -"
 msgid "received the latest data from"
 msgstr "آخرین اطلاعات دریافت شده از"
 
+#: frontend/src/metabase-lib/lib/Dimension.js:621
 #: frontend/src/metabase/home/components/Activity.jsx:244
+#: frontend/src/metabase/lib/query_time.js:180
 #: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:273
 msgid "Unknown"
 msgstr "ناشناخته"
@@ -3282,17 +3274,17 @@ msgstr "به تازگی بازدید شده"
 msgid "You haven't looked at any dashboards or questions recently"
 msgstr "شما اخیرا به هیچ داشبورد یا سوالی نگاه نکردید"
 
-#: frontend/src/metabase/home/containers/ArchiveApp.jsx:82
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:99
 msgid "{0} items selected"
 msgstr "{0} مورد انتخاب شده است"
 
-#: frontend/src/metabase/home/containers/ArchiveApp.jsx:102
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:121
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:172
 msgid "Unarchive"
 msgstr "بازخوانی"
 
 #: frontend/src/metabase/home/containers/HomepageApp.jsx:74
-#: frontend/src/metabase/nav/containers/Navbar.jsx:332
+#: frontend/src/metabase/nav/containers/Navbar.jsx:331
 msgid "Activity"
 msgstr "فعالیت"
 
@@ -3300,7 +3292,7 @@ msgstr "فعالیت"
 msgid "Results for \"{0}\""
 msgstr "نتایج برای \"{0}\""
 
-#: frontend/src/metabase/home/containers/SearchApp.jsx:142
+#: frontend/src/metabase/home/containers/SearchApp.jsx:138
 msgid "Pulse"
 msgstr "نبض"
 
@@ -3363,7 +3355,7 @@ msgstr "مشترک"
 
 #: frontend/src/metabase/lib/core.js:30
 #: frontend/src/metabase/meta/Dashboard.js:81
-#: frontend/src/metabase/qb/components/actions/PivotByCategoryAction.jsx:9
+#: frontend/src/metabase/modes/components/actions/PivotByCategoryAction.jsx:9
 msgid "Category"
 msgstr "دسته بندی"
 
@@ -3399,10 +3391,11 @@ msgstr "عرض جغرافیایی"
 
 #: frontend/src/metabase/lib/core.js:85
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:149
-#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:39
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:41
 msgid "Number"
 msgstr "شماره"
 
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:19
 #: frontend/src/metabase/lib/core.js:90
 #: frontend/src/metabase/meta/Dashboard.js:65
 msgid "State"
@@ -3566,7 +3559,7 @@ msgid "CumulativeCount"
 msgstr "جمع انباشته"
 
 #: frontend/src/metabase/lib/expressions/config.js:9
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:17
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:17
 #: frontend/src/metabase/visualizations/lib/utils.js:127
 msgid "Sum"
 msgstr "جمع"
@@ -3590,14 +3583,14 @@ msgid "Average"
 msgstr "میانگین"
 
 #: frontend/src/metabase/lib/expressions/config.js:14
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:25
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:25
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:48
 #: frontend/src/metabase/visualizations/lib/settings/graph.js:450
 msgid "Min"
 msgstr "کمترین"
 
 #: frontend/src/metabase/lib/expressions/config.js:15
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:29
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:29
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:57
 #: frontend/src/metabase/visualizations/lib/settings/graph.js:458
 msgid "Max"
@@ -3607,12 +3600,12 @@ msgstr "بیشترین"
 msgid "sad sad panda, lexing errors detected"
 msgstr "غم انگیز غم انگیز پاندا، اشتباهات لایسنس شناسایی شده است"
 
-#: frontend/src/metabase/lib/formatting.js:724
+#: frontend/src/metabase/lib/formatting.js:707
 msgid "{0} second"
 msgid_plural "{0} seconds"
 msgstr[0] "{0} ثانیه"
 
-#: frontend/src/metabase/lib/formatting.js:727
+#: frontend/src/metabase/lib/formatting.js:710
 msgid "{0} minute"
 msgid_plural "{0} minutes"
 msgstr[0] "{0} دقیقه"
@@ -3870,16 +3863,16 @@ msgid "Cumulative sum of ..."
 msgstr "جمع تجمعی ..."
 
 #: frontend/src/metabase/lib/schema_metadata.js:493
-msgid "Additive sum of all the values of a column.\\ne.x. total revenue over time."
-msgstr "مجموع افزودنی تمام مقادیر یک ستون. \\ ne.x. درآمد کل در طول زمان."
+msgid "Additive sum of all the values of a column.\\\\ne.x. total revenue over time."
+msgstr "مجموع افزودنی تمام مقادیر یک ستون. \\\\ ne.x. درآمد کل در طول زمان."
 
 #: frontend/src/metabase/lib/schema_metadata.js:499
 msgid "Cumulative count of rows"
 msgstr "تعداد تجمعی ردیف"
 
 #: frontend/src/metabase/lib/schema_metadata.js:501
-msgid "Additive count of the number of rows.\\ne.x. total number of sales over time."
-msgstr "تعداد افزودنی تعداد ردیفها. \\ ne.x. تعداد کل فروش در طول زمان."
+msgid "Additive count of the number of rows.\\\\ne.x. total number of sales over time."
+msgstr "تعداد افزودنی تعداد ردیفها. \\\\ ne.x. تعداد کل فروش در طول زمان."
 
 #: frontend/src/metabase/lib/schema_metadata.js:507
 msgid "Standard deviation of ..."
@@ -4045,7 +4038,7 @@ msgid "ID"
 msgstr "شناسه"
 
 #: frontend/src/metabase/meta/Dashboard.js:95
-#: frontend/src/metabase/qb/components/actions/PivotByTimeAction.jsx:8
+#: frontend/src/metabase/modes/components/actions/PivotByTimeAction.jsx:8
 msgid "Time"
 msgstr "زمان"
 
@@ -4054,7 +4047,7 @@ msgid "Date range, relative date, time of day, etc."
 msgstr "دامنه تاریخ، تاریخ نسبی، زمان روز و غیره"
 
 #: frontend/src/metabase/meta/Dashboard.js:101
-#: frontend/src/metabase/qb/components/actions/PivotByLocationAction.jsx:8
+#: frontend/src/metabase/modes/components/actions/PivotByLocationAction.jsx:8
 msgid "Location"
 msgstr "محل"
 
@@ -4074,73 +4067,73 @@ msgstr "سایر دسته بندی ها"
 msgid "Category, Type, Model, Rating, etc."
 msgstr "رده، نوع، مدل، رتبه و غیره"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:43
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:42
 #: frontend/src/metabase/user/components/UserSettings.jsx:54
 msgid "Account settings"
 msgstr "تنظیمات حساب"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:50
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:49
 msgid "Exit admin"
 msgstr "خروج از مدیر"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:60
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:34
 msgid "Logs"
 msgstr "سیاههها"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:67
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:58
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorSidebar.jsx:105
 msgid "Help"
 msgstr "Ú©Ù…Ú©"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:76
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:67
 msgid "About Metabase"
 msgstr "درباره Metabase"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:82
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:73
 msgid "Sign out"
 msgstr "خروج"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:107
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:98
 msgid "Thanks for using"
 msgstr "با تشکر برای استفاده"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:111
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:102
 msgid "You're on version"
 msgstr "شما در نسخه هستید"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:114
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:105
 msgid "Built on"
 msgstr "ساخته شده بر پایه ی"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:133
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:124
 msgid "is a Trademark of"
 msgstr "علامت تجاری است"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:135
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:126
 msgid "and is built with care in San Francisco, CA"
 msgstr "و با مراقبت در سان فرانسیسکو، کالیفرنیا ساخته شده است"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:195
+#: frontend/src/metabase/nav/containers/Navbar.jsx:194
 msgid "Metabase Admin"
 msgstr "مدیر متاباکس"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:301
+#: frontend/src/metabase/nav/containers/Navbar.jsx:300
 #: frontend/src/metabase/reference/databases/TableQuestions.jsx:36
 #: frontend/src/metabase/reference/metrics/MetricQuestions.jsx:37
 #: frontend/src/metabase/reference/segments/SegmentQuestions.jsx:37
 msgid "Ask a question"
 msgstr "یک سوال بپرس"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:310
+#: frontend/src/metabase/nav/containers/Navbar.jsx:309
 msgid "New dashboard"
 msgstr "داشبورد جدید"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:316
+#: frontend/src/metabase/nav/containers/Navbar.jsx:315
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:127
 msgid "New pulse"
 msgstr "پالس جدید"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:324
+#: frontend/src/metabase/nav/containers/Navbar.jsx:323
 msgid "Reference"
 msgstr "ارجاع"
 
@@ -4189,17 +4182,22 @@ msgid "Select a default value…"
 msgstr "یک مقدار پیش فرض را انتخاب کنید ..."
 
 #: frontend/src/metabase/parameters/components/widgets/DateAllOptionsWidget.jsx:149
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:390
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:404
 msgid "Update filter"
 msgstr "به روز رسانی فیلتر"
 
+#: frontend/src/metabase/lib/query_time.js:112
+#: frontend/src/metabase/lib/query_time.js:123
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:9
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:144
+#: src/metabase/pulse/render.clj
 msgid "Today"
 msgstr "امروز"
 
+#: frontend/src/metabase/lib/query_time.js:118
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:14
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:148
+#: src/metabase/pulse/render.clj
 msgid "Yesterday"
 msgstr "دیروز"
 
@@ -4211,23 +4209,29 @@ msgstr "7 روز گذشته"
 msgid "Past 30 days"
 msgstr "30 روز گذشته"
 
+#: frontend/src/metabase/lib/query_time.js:195
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:24
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:29
 #: src/metabase/api/table.clj
 msgid "Week"
-msgstr "هفته"
+msgid_plural "Weeks"
+msgstr[0] "هفته"
 
+#: frontend/src/metabase/lib/query_time.js:197
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:25
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:30
 #: src/metabase/api/table.clj
 msgid "Month"
-msgstr "ماه"
+msgid_plural "Months"
+msgstr[0] "ماه"
 
+#: frontend/src/metabase/lib/query_time.js:201
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:26
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:31
 #: src/metabase/api/table.clj
 msgid "Year"
-msgstr "سال"
+msgid_plural "Years"
+msgstr[0] "سال"
 
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:152
 msgid "Past 7 Days"
@@ -4261,7 +4265,7 @@ msgstr "این ماه"
 msgid "This Year"
 msgstr "امسال"
 
-#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:88
+#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:89
 #: frontend/src/metabase/parameters/components/widgets/TextWidget.jsx:54
 msgid "Enter a value..."
 msgstr "یک مقدار را وارد کنید"
@@ -4444,7 +4448,7 @@ msgid "This pulse will no longer be emailed to {0} {1}"
 msgstr "این پالس دیگر به {0} {1} ایمیل نخواهد شد"
 
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:94
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:374
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:376
 msgid "{0} address"
 msgid_plural "{0} addresses"
 msgstr[0] "{0} آدرس"
@@ -4495,7 +4499,7 @@ msgstr "ضمیمه"
 
 #: frontend/src/metabase/pulse/components/PulseEditCards.jsx:104
 #: frontend/src/metabase/pulse/components/PulseEditCards.jsx:111
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:671
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:673
 msgid "Heads up"
 msgstr "سر به بالا"
 
@@ -4523,55 +4527,55 @@ msgstr "اطلاعات خود را انتخاب کنید"
 msgid "Choose questions you'd like to send in this pulse"
 msgstr "سؤالاتی را که میخواهید در این پالس ارسال کنید را انتخاب کنید"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:29
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:27
 msgid "Emails"
 msgstr "ایمیل ها"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:30
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:28
 msgid "Slack messages"
 msgstr "پیام های خالی"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:223
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:221
 msgid "Sent"
 msgstr "ارسال شد"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:224
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:222
 msgid "{0} will be sent at"
 msgstr "{0} فرستاده خواهد شد"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:226
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:224
 msgid "Messages"
 msgstr "پیام ها"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:237
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:240
 msgid "Send email now"
 msgstr "اکنون ایمیل بفرست"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:238
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:241
 msgid "Send to {0} now"
 msgstr "ارسال به {0} در حال حاضر"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:240
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:243
 msgid "Sending…"
 msgstr "در حال ارسال…"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:241
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:244
 msgid "Sending failed"
 msgstr "ارسال نشد"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:244
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:247
 msgid "Didn’t send because the pulse has no results."
 msgstr "فرستاده نشد زیرا پالس هیچ نتیجه ای ندارد"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:245
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:248
 msgid "Pulse sent"
 msgstr "پالس ارسال شد"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:284
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:287
 msgid "{0} needs to be set up by an administrator."
 msgstr "{0} باید توسط یک مدیر تنظیم شود."
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:299
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:302
 msgid "Slack"
 msgstr "لاغر"
 
@@ -4611,66 +4615,66 @@ msgstr "هر کس در تیم خود کمک کند با داده های خود 
 msgid "Pulses let you send data from Metabase to email or Slack on the schedule of your choice."
 msgstr "پالس ها به شما اجازه می دهند اطلاعات را از Metabase به ایمیل یا Slack در برنامه انتخابی خود ارسال کنید."
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:100
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:100
 msgid "After {0}"
 msgstr "پس از {0}"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:102
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:102
 msgid "Before {0}"
 msgstr "قبل از {0}"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:104
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:104
 #: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:295
 msgid "Is Empty"
 msgstr "خالی است"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:106
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:106
 #: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:301
 msgid "Not Empty"
 msgstr "خالی نیست"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:109
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:109
 #: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:213
 msgid "All Time"
 msgstr "همیشه"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:154
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:154
 msgid "Apply"
 msgstr "درخواست دادن"
 
-#: frontend/src/metabase/qb/components/actions/CommonMetricsAction.jsx:21
+#: frontend/src/metabase/modes/components/actions/CommonMetricsAction.jsx:21
 msgid "View {0}"
 msgstr "نمایش {0}"
 
-#: frontend/src/metabase/qb/components/actions/CompareWithTable.jsx:29
+#: frontend/src/metabase/modes/components/actions/CompareWithTable.jsx:29
 msgid "Compare this with all rows in the table"
 msgstr "این را با تمام سطرهای جدول مقایسه کنید"
 
-#: frontend/src/metabase/qb/components/actions/CompoundQueryAction.jsx:14
+#: frontend/src/metabase/modes/components/actions/CompoundQueryAction.jsx:14
 msgid "Analyze the results of this Query"
 msgstr "نتایج این درخواست را تجزیه و تحلیل کنید"
 
-#: frontend/src/metabase/qb/components/actions/CountByTimeAction.jsx:29
+#: frontend/src/metabase/modes/components/actions/CountByTimeAction.jsx:29
 msgid "Count of rows by time"
 msgstr "شمار ردیف ها بر اساس زمان"
 
-#: frontend/src/metabase/qb/components/actions/PivotByAction.jsx:55
+#: frontend/src/metabase/modes/components/actions/PivotByAction.jsx:52
 msgid "Break out by {0}"
 msgstr "شکستن توسط {0}"
 
-#: frontend/src/metabase/qb/components/actions/SummarizeBySegmentMetricAction.jsx:34
+#: frontend/src/metabase/modes/components/actions/SummarizeBySegmentMetricAction.jsx:31
 msgid "Summarize this segment"
 msgstr "خلاصه این بخش"
 
-#: frontend/src/metabase/qb/components/actions/UnderlyingDataAction.jsx:14
+#: frontend/src/metabase/modes/components/actions/UnderlyingDataAction.jsx:14
 msgid "View this as a table"
 msgstr "این را به عنوان یک جدول مشاهده کنید"
 
-#: frontend/src/metabase/qb/components/actions/UnderlyingRecordsAction.jsx:22
+#: frontend/src/metabase/modes/components/actions/UnderlyingRecordsAction.jsx:22
 msgid "View the underlying {0} records"
 msgstr "اسناد زیر {0} را مشاهده کنید"
 
-#: frontend/src/metabase/qb/components/actions/XRayCard.jsx:20
+#: frontend/src/metabase/modes/components/actions/XRayCard.jsx:20
 msgid "X-Ray this question"
 msgstr "X-Ray این سوال"
 
@@ -4692,45 +4696,45 @@ msgstr "این"
 msgid "Compare {0} {1} to the rest"
 msgstr "{0} {1} را به بقیه مقایسه کنید"
 
-#: frontend/src/metabase/qb/components/drill/DistributionDrill.jsx:35
+#: frontend/src/metabase/modes/components/drill/DistributionDrill.jsx:35
 msgid "Distribution"
 msgstr "توزیع"
 
-#: frontend/src/metabase/qb/components/drill/ObjectDetailDrill.jsx:38
+#: frontend/src/metabase/modes/components/drill/ObjectDetailDrill.jsx:38
 msgid "View details"
 msgstr "دیدن جزئیات"
 
-#: frontend/src/metabase/qb/components/drill/QuickFilterDrill.jsx:54
+#: frontend/src/metabase/modes/components/drill/QuickFilterDrill.jsx:54
 msgid "View this {0}'s {1}"
 msgstr "مشاهده این {0} {1}"
 
-#: frontend/src/metabase/qb/components/drill/SortAction.jsx:41
+#: frontend/src/metabase/modes/components/drill/SortAction.jsx:42
 msgid "Ascending"
 msgstr "صعودی"
 
-#: frontend/src/metabase/qb/components/drill/SortAction.jsx:49
+#: frontend/src/metabase/modes/components/drill/SortAction.jsx:50
 msgid "Descending"
 msgstr "نزولی"
 
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnByTimeDrill.js:47
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnByTimeDrill.js:47
 msgid "over time"
 msgstr "اضافه کاری"
 
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:21
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:21
 msgid "Avg"
 msgstr "میانگین"
 
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:33
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:33
 msgid "Distincts"
 msgstr "تمایز"
 
-#: frontend/src/metabase/qb/components/drill/UnderlyingRecordsDrill.jsx:32
+#: frontend/src/metabase/modes/components/drill/UnderlyingRecordsDrill.jsx:32
 msgid "View this {0}"
 msgid_plural "View these {0}"
 msgstr[0] "مشاهده این {0}"
 
 #: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:225
-#: frontend/src/metabase/qb/components/drill/ZoomDrill.jsx:26
+#: frontend/src/metabase/modes/components/drill/ZoomDrill.jsx:26
 msgid "Zoom in"
 msgstr "بزرگنمایی"
 
@@ -4742,63 +4746,63 @@ msgstr "عبارتی سفارشی"
 msgid "Common Metrics"
 msgstr "معیارهای معمول"
 
-#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:182
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:209
 msgid "Metabasics"
 msgstr "متابازیک"
 
-#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:290
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:319
 msgid "Name (optional)"
 msgstr "نام (اختیاری)"
 
-#: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:153
+#: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:156
 msgid "Choose an aggregation"
 msgstr "یک تجمع را انتخاب کنید"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:115
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:100
 msgid "Set up your own alert"
 msgstr "هشدار خود را تنظیم کنید"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:155
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:140
 msgid "Unsubscribing..."
 msgstr "لغو اشتراک ..."
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:160
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:145
 msgid "Failed to unsubscribe"
 msgstr "لغو عضویت لغو نشد"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:216
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:204
 msgid "Unsubscribe"
 msgstr "لغو اشتراک"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:247
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:235
 msgid "No channel"
 msgstr "هیچ کانال"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:274
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:263
 msgid "Okay, you're unsubscribed"
 msgstr "خوب، شما لغو اشتراک هستید"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:346
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:335
 msgid "You're receiving {0}'s alerts"
 msgstr "شما هشدار {0} دریافت می کنید"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:347
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:336
 msgid "{0} set up an alert"
 msgstr "{0} هشدار را تنظیم کنید"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:161
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:160
 msgid "alerts"
 msgstr "هشدار"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:184
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:183
 msgid "Let's set up your alert"
 msgstr "بیایید هشدارمان را تنظیم کنیم"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:215
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:214
 msgid "The wide world of alerts"
 msgstr "دنیای گسترده ای از هشدارها"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:216
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:215
 msgid "There are a few different kinds of alerts you can get"
 msgstr "چند نوع هشدار وجود دارد که می توانید دریافت کنید"
 
@@ -4810,123 +4814,123 @@ msgstr "هنگامی که یک داده خام سوال {0}"
 msgid "returns any results"
 msgstr "هر نتیجه ای را برمی گرداند"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:240
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:241
 msgid "When a line or bar {0}"
 msgstr "وقتی یک خط یا نوار {0}"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:241
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:242
 msgid "crosses a goal line"
 msgstr "عبور از یک خط دروازه"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:251
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:253
 msgid "When a progress bar {0}"
 msgstr "هنگامی که یک نوار پیشرفت {0}"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:252
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:254
 msgid "reaches its goal"
 msgstr "به هدف خود می رسد"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:260
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:262
 msgid "Set up an alert"
 msgstr "هشدار را تنظیم کنید"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:329
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:331
 msgid "Edit your alert"
 msgstr "هشدار خود را ویرایش کنید"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:329
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:331
 msgid "Edit alert"
 msgstr "هشدار را ویرایش کنید"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:372
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:374
 msgid "This alert will no longer be emailed to {0}."
 msgstr "این هشدار دیگر به {0} ایمیل نخواهد شد."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:380
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:382
 msgid "Slack channel {0} will no longer get this alert."
 msgstr "کانال Slack {0} دیگر این هشدار را دریافت نخواهد کرد."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:384
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:386
 msgid "Channel {0} will no longer receive this alert."
 msgstr "کانال {0} دیگر این هشدار را دریافت نخواهد کرد."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:401
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:403
 msgid "Delete this alert"
 msgstr "این هشدار را حذف کنید"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:403
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:405
 msgid "Stop delivery and delete this alert. There's no undo, so be careful."
 msgstr "تحویل را متوقف کنید و این هشدار را حذف کنید. هیچ واکنشی وجود ندارد، پس مراقب باشید."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:411
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:413
 msgid "Delete this alert?"
 msgstr "این هشدار را حذف کنید؟"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:495
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:497
 msgid "Alert me when the line…"
 msgstr "خط خطی من ..."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:496
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:498
 msgid "Alert me when the progress bar…"
 msgstr "وقتی نوار پیشرفت من را آزار ..."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:499
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:501
 msgid "Goes above the goal line"
 msgstr "می رود بالاتر از خط دروازه"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:499
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:501
 msgid "Reaches the goal"
 msgstr "رسیدن به هدف"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:502
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:504
 msgid "Goes below the goal line"
 msgstr "می رود زیر خط دروازه"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:502
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:504
 msgid "Goes below the goal"
 msgstr "می رود زیر هدف"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:510
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:512
 msgid "The first time it crosses, or every time?"
 msgstr "اولین بار از آن عبور می کند یا هر بار؟"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:511
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:513
 msgid "The first time it reaches the goal, or every time?"
 msgstr "اولین بار به هدف یا هر زمان برمیگردد؟"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:513
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:515
 msgid "The first time"
 msgstr "اولین بار"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:514
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:516
 msgid "Every time"
 msgstr "هر زمان"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:617
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:619
 msgid "Where do you want to send these alerts?"
 msgstr "کجا می خواهید این هشدارها را ارسال کنید؟"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:628
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:630
 msgid "Email alerts to:"
 msgstr "هشدار ایمیل به:"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:670
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:672
 msgid "{0} Goal-based alerts aren't yet supported for charts with more than one line, so this alert will be sent whenever the chart has {1}."
 msgstr "{0} هشدارهای مبتنی بر هدف برای نمودارها با بیش از یک خط هنوز پشتیبانی نمی شوند بنابراین این هشدار هر بار که {1} نمودار ارسال می شود ارسال می شود."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:673
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:675
 msgid "results"
 msgstr "نتایج"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:677
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:679
 msgid "{0} This kind of alert is most useful when your saved question doesn’t {1} return any results, but you want to know when it does."
 msgstr "{0} این نوع هشدار بیشتر مفید است وقتی که پرسش ذخیره شده شما {1} هر نتیجه را بر نمی گرداند، اما شما می خواهید بدانید که چه زمانی انجام می شود."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:678
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:680
 msgid "Tip"
 msgstr "نکته"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:680
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:682
 msgid "usually"
 msgstr "معمولا"
 
@@ -4949,28 +4953,28 @@ msgstr "انتخاب کنید..."
 msgid "Select a table"
 msgstr "یک جدول را انتخاب کنید"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:785
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:793
 msgid "No tables found in this database."
 msgstr "هیچ جداول موجود در این پایگاه داده یافت نشد."
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:822
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:830
 msgid "Is a question missing?"
 msgstr "یک سوال گم شده است؟"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:826
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:834
 msgid "Learn more about nested queries"
 msgstr "درباره پرس و جوهای توزیع شده بیشتر بدانید"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:860
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:868
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:30
 msgid "Fields"
 msgstr "زمینه های"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:938
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:946
 msgid "No segments were found."
 msgstr "هیچ بخش یافت نشد"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:961
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:969
 msgid "Find a segment"
 msgstr "یک قطعه را پیدا کنید"
 
@@ -4982,27 +4986,27 @@ msgstr "نمایش کمتر"
 msgid "View more"
 msgstr "بیشتر ببینید"
 
-#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:111
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:112
 msgid "Pick a field to sort by"
 msgstr "فیلد مرتب سازی را انتخاب کنید"
 
-#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:124
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:125
 msgid "Sort"
 msgstr "مرتب سازی"
 
-#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:193
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:137
 msgid "Row limit"
 msgstr "محدودیت ردیف"
 
-#: frontend/src/metabase/query_builder/components/FieldName.jsx:76
+#: frontend/src/metabase/query_builder/components/FieldName.jsx:69
 msgid "Unknown Field"
 msgstr "میدان ناشناخته"
 
-#: frontend/src/metabase/query_builder/components/FieldName.jsx:79
+#: frontend/src/metabase/query_builder/components/FieldName.jsx:72
 msgid "field"
 msgstr "رشته"
 
-#: frontend/src/metabase/query_builder/components/Filter.jsx:113
+#: frontend/src/metabase/query_builder/components/Filter.jsx:114
 msgid "Matches"
 msgstr "مسابقات"
 
@@ -5023,11 +5027,11 @@ msgstr "یک گروه را اضافه کنید"
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:59
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:68
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:75
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:226
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:232
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:238
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:62
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:67
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:225
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:231
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:237
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:70
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:75
 msgid "Data"
 msgstr "داده ها"
 
@@ -5035,7 +5039,7 @@ msgstr "داده ها"
 msgid "Filtered by"
 msgstr "فیلتر شده توسط"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:82
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:75
 #: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:369
 msgid "View"
 msgstr "چشم انداز"
@@ -5268,8 +5272,7 @@ msgstr "بازگشت به آخرین اجرا"
 msgid "Visualization"
 msgstr "تجسم"
 
-#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:17
-#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:151
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:96
 msgid "No description set."
 msgstr "بدون شرح"
 
@@ -5277,12 +5280,11 @@ msgstr "بدون شرح"
 msgid "Use for current question"
 msgstr "برای سوال فعلی استفاده کنید"
 
-#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:33
 #: frontend/src/metabase/reference/components/UsefulQuestions.jsx:16
 msgid "Potentially useful questions"
 msgstr "سوالات بالقوه مفید"
 
-#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:156
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:166
 msgid "Group by {0}"
 msgstr "گروه توسط {0}"
 
@@ -5290,20 +5292,19 @@ msgstr "گروه توسط {0}"
 msgid "Sum of all values of {0}"
 msgstr "مجموع تمام مقادیر {0}"
 
-#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:173
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:63
 #: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:51
 msgid "All distinct values of {0}"
 msgstr "تمام مقادیر متمایز {0}"
 
-#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:177
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:187
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:39
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:51
 #: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:39
 msgid "Number of {0} grouped by {1}"
 msgstr "تعداد {0} گروه بندی شده توسط {1}"
 
-#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:11
+#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:10
 #: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:20
 #: frontend/src/metabase/reference/databases/FieldSidebar.jsx:30
 #: frontend/src/metabase/reference/databases/TableSidebar.jsx:26
@@ -5358,15 +5359,15 @@ msgstr "هنگام بارگیری جدول خطایی روی داد"
 msgid "See the raw data for {0}"
 msgstr "داده های خام برای {0}"
 
-#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:205
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:180
 msgid "More"
 msgstr "بیشتر"
 
-#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:200
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:201
 msgid "Invalid expression"
 msgstr "عبارت نادرست"
 
-#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:275
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:276
 msgid "unknown error"
 msgstr "خطای ناشناخته"
 
@@ -5427,19 +5428,19 @@ msgstr "این لحظه"
 msgid "this hour"
 msgstr "این ساعت"
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:285
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:290
 msgid "not implemented {0}"
 msgstr "اجرا نشده {0}"
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:286
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:291
 msgid "true"
 msgstr "درست است"
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:286
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:291
 msgid "false"
 msgstr "نادرست"
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:390
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:404
 msgid "Add filter"
 msgstr "اضافه کردن فیلتر"
 
@@ -5738,7 +5739,7 @@ msgstr "چیزهایی که باید درباره این پایگاه اطلاع
 msgid "Databases and tables"
 msgstr "پایگاه های داده و جداول"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:68
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:61
 #: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:27
 #: frontend/src/metabase/reference/databases/FieldSidebar.jsx:41
 #: frontend/src/metabase/reference/databases/TableDetail.jsx:170
@@ -6124,7 +6125,7 @@ msgstr "جستجو کردن"
 msgid "Dashboard"
 msgstr "داشبورد"
 
-#: frontend/src/metabase/routes.jsx:227
+#: frontend/src/metabase/routes.jsx:228
 msgid "New Question"
 msgstr "سوال جدید"
 
@@ -6435,7 +6436,7 @@ msgstr "با آدرس ایمیل Google وارد شوید"
 msgid "User Details"
 msgstr "اطلاعات کاربر"
 
-#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:235
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:275
 msgid "Reset to defaults"
 msgstr "بازنشانی به پیش فرضها"
 
@@ -6484,35 +6485,35 @@ msgstr "گمشده"
 msgid "Rows {0}-{1} of {2}"
 msgstr "ردیف {0} - {1} از {2}"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:187
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:189
 msgid "Data truncated to {0} rows."
 msgstr "داده های کوتاه شده به {0} ردیف."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:352
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:364
 msgid "Could not find visualization"
 msgstr "تجسم یافت نشد"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:359
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:371
 msgid "Could not display this chart with this data."
 msgstr "این نمودار را نمیتوان با این اطلاعات نمایش داد."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:457
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:469
 msgid "No results!"
 msgstr "هیچ نتیجه ای!"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:478
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:490
 msgid "Still Waiting..."
 msgstr "هنوز منتظرم..."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:481
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:493
 msgid "This usually takes an average of {0}."
 msgstr "این معمولا طول می کشد به طور متوسط ​​{0}."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:487
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:499
 msgid "(This is a bit long for a dashboard)"
 msgstr "(این کمی طولانی برای داشبورد است)"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:491
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:503
 msgid "This is usually pretty fast but seems to be taking awhile right now."
 msgstr "این معمولا خیلی سریع است اما به نظر می رسد در حال حاضر به مدت طولانی مصرف شود."
 
@@ -6619,7 +6620,7 @@ msgid "Highlight the whole row"
 msgstr "تمام سطر را برجسته کنید"
 
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:390
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:90
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:98
 msgid "Colors"
 msgstr "رنگ ها"
 
@@ -6926,7 +6927,7 @@ msgid "Funnel"
 msgstr "کانال"
 
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:76
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:68
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:76
 msgid "Measure"
 msgstr "اندازه گرفتن"
 
@@ -6942,15 +6943,15 @@ msgstr "نمودار میله ای"
 msgid "line chart"
 msgstr "نمودار خط"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:225
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:224
 msgid "Please select longitude and latitude columns in the chart settings."
 msgstr "لطفا ستون طول و عرض جغرافیایی را در تنظیمات نمودار انتخاب کنید."
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:231
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:230
 msgid "Please select a region map."
 msgstr "لطفا یک نقشه منطقه را انتخاب کنید"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:237
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:236
 msgid "Please select region and metric columns in the chart settings."
 msgstr "لطفا ستون های منطقه و متریک را در تنظیمات نمودار انتخاب کنید."
 
@@ -7000,19 +7001,19 @@ msgstr "زمینه متریک"
 msgid "Region field"
 msgstr "زمینه منطقه"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:193
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:192
 msgid "Radius"
 msgstr "شعاع"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:199
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:198
 msgid "Blur"
 msgstr "تاری"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:205
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:204
 msgid "Min Opacity"
 msgstr "حداقل ابعاد"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:211
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:210
 msgid "Max Zoom"
 msgstr "حداکثر زوم"
 
@@ -7036,31 +7037,31 @@ msgstr "جزئیات شیء"
 msgid "object"
 msgstr "هدف - شی"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:304
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:312
 msgid "Total"
 msgstr "جمع"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:53
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:61
 msgid "Which columns do you want to use?"
 msgstr "کدام ستون ها می خواهید استفاده کنید؟"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:41
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:44
 msgid "Pie"
 msgstr "پای"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:63
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:71
 msgid "Dimension"
 msgstr "بعد، ابعاد، اندازه"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:73
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:81
 msgid "Show legend"
 msgstr "نمایش افسانه"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:78
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:86
 msgid "Show percentages in legend"
 msgstr "نمایش درصد در افسانه"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:84
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:92
 msgid "Minimum slice percentage"
 msgstr "حداقل قطعه قطعه"
 
@@ -7084,8 +7085,8 @@ msgstr "تجسم پیشرفت نیاز به یک عدد دارد"
 msgid "Progress"
 msgstr "پیش رفتن"
 
-#: frontend/src/metabase/entities/collections.js:101
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:177
+#: frontend/src/metabase/entities/collections.js:108
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:176
 #: frontend/src/metabase/visualizations/visualizations/Progress.jsx:57
 msgid "Color"
 msgstr "رنگ"
@@ -7176,12 +7177,12 @@ msgstr "درست"
 msgid "Show background"
 msgstr "نمایش پس زمینه"
 
-#: frontend/src/metabase-lib/lib/Dimension.js:492
+#: frontend/src/metabase-lib/lib/Dimension.js:553
 msgid "{0} bin"
 msgid_plural "{0} bins"
 msgstr[0] "{0} بن"
 
-#: frontend/src/metabase-lib/lib/Dimension.js:498
+#: frontend/src/metabase-lib/lib/Dimension.js:559
 msgid "Auto binned"
 msgstr "خودکار متصل"
 
@@ -7213,7 +7214,7 @@ msgstr "نوع موجودیت نامعتبر است"
 msgid "Invalid comparison entity type. Can only be one of \"table\", \"segment\", or \"adhoc\""
 msgstr "نوع موجودیت مقایسه نادرست فقط می تواند یکی از \"جدول\"، \"بخش\" یا \"adhoc\" باشد"
 
-#: src/metabase/api/card.clj
+#: src/metabase/query_processor/async.clj
 msgid "Error running query to determine Card result metadata:"
 msgstr "خطا در اجرای پرس و جو برای تعیین Metadata نتیجه کارت:"
 
@@ -7257,14 +7258,14 @@ msgstr "هشدار: نقطه پایانی {0} / {1} دایرکتوری را ند
 msgid "starting streaming request"
 msgstr "با شروع درخواست جریان"
 
-#: src/metabase/api/common.clj
+#: src/metabase/async/api_response.clj
 msgid "connection closed, canceling request"
 msgstr "اتصال بسته، لغو درخواست"
 
 #. a newline padding character as it's harmless and will allow us to check if the client is connected. If
 #. sending this character fails because the connection is closed, the chan will then close.  Newlines are
 #. no-ops when reading JSON which this depends upon.
-#: src/metabase/api/common.clj
+#: src/metabase/async/api_response.clj
 msgid "Response not ready, writing one byte & sleeping..."
 msgstr "پاسخ آماده نیست، نوشتن یک بایت و خواب ..."
 
@@ -7449,22 +7450,26 @@ msgstr "بنز اتوماتیک"
 msgid "Don''t bin"
 msgstr "نه بیرون"
 
-#: src/metabase/api/table.clj
+#: frontend/src/metabase/lib/query_time.js:193 src/metabase/api/table.clj
 msgid "Day"
-msgstr "روز"
+msgid_plural "Days"
+msgstr[0] "روز"
 
 #. note the order of these options corresponds to the order they will be shown to the user in the UI
-#: src/metabase/api/table.clj
+#: frontend/src/metabase/lib/query_time.js:189 src/metabase/api/table.clj
 msgid "Minute"
-msgstr "دقیقه"
+msgid_plural "Minutes"
+msgstr[0] "دقیقه"
 
-#: src/metabase/api/table.clj
+#: frontend/src/metabase/lib/query_time.js:191 src/metabase/api/table.clj
 msgid "Hour"
-msgstr "ساعت"
+msgid_plural "Hours"
+msgstr[0] "ساعت"
 
-#: src/metabase/api/table.clj
+#: frontend/src/metabase/lib/query_time.js:199 src/metabase/api/table.clj
 msgid "Quarter"
-msgstr "ربع"
+msgid_plural "Quarters"
+msgstr[0] "ربع"
 
 #: src/metabase/api/table.clj
 msgid "Minute of Hour"
@@ -7814,11 +7819,11 @@ msgstr "به نظر می رسد این یک نصب جدید است ... آماد
 msgid "Metabase Initialization COMPLETE"
 msgstr "شروع اولیه Metabase"
 
-#: src/metabase/core.clj
+#: src/metabase/server.clj
 msgid "Launching Embedded Jetty Webserver with config:"
 msgstr "راه اندازی جاسازی شده جتتی وب سرور با پیکربندی:"
 
-#: src/metabase/core.clj
+#: src/metabase/server.clj
 msgid "Shutting Down Embedded Jetty Webserver"
 msgstr "وب سایت جتتی جاسازی شده را خاموش می کند"
 
@@ -7879,51 +7884,51 @@ msgstr "مهاجرت پایگاه داده در حال اجرا ..."
 msgid "Database Migrations Current ... "
 msgstr "..."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Hmm, we couldn''t connect to the database."
 msgstr "هوم، ما نمی توانیم به پایگاه داده وصل شویم."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Make sure your host and port settings are correct"
 msgstr "اطمینان حاصل کنید که تنظیمات میزبان و پورت شما صحیح است"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "We couldn''t connect to the ssh tunnel host."
 msgstr "ما نمی توانیم به میزبان تونل ssh متصل شویم."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Check the username, password."
 msgstr "نام کاربری، رمز عبور را بررسی کنید."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Check the hostname and port."
 msgstr "نام میزبان و پورت را بررسی کنید."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like the database name is incorrect."
 msgstr "به نظر می رسد نام پایگاه داده نادرست است."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "It looks like your host is invalid."
 msgstr "به نظر می رسد میزبان شما نامعتبر است"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Please double-check it and try again."
 msgstr "لطفا آن را بررسی کنید و دوباره امتحان کنید."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like your password is incorrect."
 msgstr "به نظر می رسد رمز عبور شما اشتباه است"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like you forgot to enter your password."
 msgstr "به نظر می رسد که رمز عبور خود را فراموش کرده اید."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like your username is incorrect."
 msgstr "به نظر می رسد نام کاربری شما نادرست است."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like the username or password is incorrect."
 msgstr "به نظر می رسد که نام کاربری یا رمز عبور نادرست است."
 
@@ -7940,16 +7945,16 @@ msgstr "راننده ثبت شده {0} {1}"
 msgid "No -init-driver function found for ''{0}''"
 msgstr "هیچ تابع راننده برای '' {0} '' یافت نشد"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Unable to parse date string ''{0}'' for database engine ''{1}''"
 msgstr "قادر به تجزیه تاریخ رشته '' {0} '' برای موتور پایگاه داده '' {1} ''"
 
 #. all-NULL columns in DBs like Mongo w/o explicit types
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Don''t know how to map class ''{0}'' to a Field base_type, falling back to :type/*."
 msgstr "نمی دانید که چگونه کلاس '' {0} '' را به یک فیلد base_type ارجاع دهید، به نوع: / *."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/util.clj
 msgid "Failed to connect to database: {0}"
 msgstr "اتصال به پایگاه داده نشد: {0}"
 
@@ -7961,7 +7966,7 @@ msgstr "شناسه BigQuery نامعتبر است: '' {0} ''"
 msgid "BigQuery statements can't be parameterized!"
 msgstr "اظهارات BigQuery نمی تواند پارامتر شود!"
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql_jdbc/execute.clj
 msgid "Failed to set timezone:"
 msgstr "تنظیم منطقه زمانی تنظیم نشد"
 
@@ -8093,11 +8098,11 @@ msgstr "نشانه حامل Slack API از https://api.slack.com/web#authenticat
 msgid "Enable MetaBot, which lets you search for and view your saved questions directly via Slack."
 msgstr "فعال کردن MetaBot، که به شما اجازه می دهد به طور مستقیم از طریق Slack جستجو و مشاهده سوالات ذخیره شده خود را مشاهده کنید."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
 msgid "Last MetaBot checkin was {0} ago."
 msgstr "آخرین چک چک MetaBot {0} پیش بود."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
 msgid "This instance will now handle MetaBot duties."
 msgstr "این مثال اکنون وظایف MetaBot را انجام خواهد داد."
 
@@ -8109,39 +8114,39 @@ msgstr "در اینجا چیزی است که می توانم {0}:"
 msgid "I don''t know how to {0} `{1}`.n{2}"
 msgstr "من نمی دانم چگونه {0} `{1}` .n {2}"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/slack.clj
 msgid "Uh oh! :cry:n> {0}"
 msgstr "اوه آه! : گریه: n> {0}"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Here''s your {0} most recent cards:n{1}"
 msgstr "در اینجا آخرین کارت های {0} شما وجود دارد: n {1}"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Could you be a little more specific? I found these cards with names that matched:n{0}"
 msgstr "می توانید کمی بیشتر مشخص کنید؟ من این کارت ها را با نام هایی یافتم که با هم مطابقت داشتند: n {0}"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "I don''t know what Card `{0}` is. Give me a Card ID or name."
 msgstr "من نمی دانم چه کارت {0} `است. یک شناسه یا نام کارت را به من بدهید"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Show which card? Give me a part of a card name or its ID and I can show it to you. If you don''t know which card you want, try `metabot list`."
 msgstr "نمایش کدام کارت بخشی از یک نام کارت یا شناسه آن را به من بدهید و می توانم آن را به شما نشان دهم. اگر شما نمی دانید که کدام کارت را می خواهید، سعی کنید به لیست متابوت بپردازید."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Ok, just a second..."
 msgstr "خوب، فقط یک ثانیه ..."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Not Found"
 msgstr "پیدا نشد"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Loading Kanye quotes..."
 msgstr "Loading Kanye نقل قول ..."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/events.clj
 msgid "Evaluating Metabot command:"
 msgstr "ارزیابی فرمان Metabot:"
 
@@ -8149,23 +8154,23 @@ msgstr "ارزیابی فرمان Metabot:"
 msgid "Go home websocket, you're drunk."
 msgstr "به وب سایت ما بپیوندید، شما مست هستید"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/websocket.clj
 msgid "Error launching metabot:"
 msgstr "خطا در راه اندازی متابوت:"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/websocket.clj
 msgid "MetaBot WebSocket is closed. Reconnecting now."
 msgstr "MetaBot WebSocket بسته است در حال اتصال مجدد"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/websocket.clj
 msgid "Error connecting websocket:"
 msgstr "خطا در اتصال websocket:"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
 msgid "This instance is performing MetaBot duties."
 msgstr "این مثال انجام وظایف MetaBot است."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
 msgid "Another instance is already handling MetaBot duties."
 msgstr "مثال دیگر در حال حاضر با وظایف MetaBot کار می کند."
 
@@ -8181,15 +8186,15 @@ msgstr "متوقف سازی ربات متا... 🤖"
 msgid "MetaBot already running. Killing the previous WebSocket listener first."
 msgstr "ربات متا درحال اجرا می باشد. اول شنونده وبسوکت قبلی را متوقف سازید."
 
-#: src/metabase/middleware.clj
+#: src/metabase/middleware/security.clj
 msgid "Base-64 encoded public key for this site's SSL certificate."
 msgstr "Base-64 رمزگذاری شده برای کلید عمومی برای گواهی SSL این سایت."
 
-#: src/metabase/middleware.clj
+#: src/metabase/middleware/security.clj
 msgid "Specify this to enable HTTP Public Key Pinning."
 msgstr "این را برای فعال کردن پین کردن کلید عمومی HTTP فعال کنید."
 
-#: src/metabase/middleware.clj
+#: src/metabase/middleware/security.clj
 msgid "See {0} for more information."
 msgstr "{0} را برای اطلاعات بیشتر ببینید"
 
@@ -8396,19 +8401,19 @@ msgstr "شما نمی توانید یک نسخه را به روز کنید!"
 msgid "Setting {0} does not exist.nFound: {1}"
 msgstr "تنظیم {0} وجود ندارد. نکته: {1}"
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Updating value of settings-last-updated in DB..."
 msgstr "به روز رسانی ارزش تنظیمات - آخرین به روز رسانی در DB ..."
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Checking whether settings cache is out of date (requires DB call)..."
 msgstr "بررسی اینکه آیا حافظه پنهان تنظیم شده است (نیاز به تماس DB) ..."
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Settings have been changed on another instance, and will be reloaded here."
 msgstr "تنظیمات در مثال دیگری تغییر کرده است و در اینجا دوباره بارگیری خواهد شد."
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Refreshing Settings cache..."
 msgstr "حافظه تنظیمات بازخوانی ..."
 
@@ -8914,27 +8919,27 @@ msgstr "تمام مجوزهای مجموعه را مشاهده کنید"
 msgid "Also change sub-collections"
 msgstr "همچنین زیر مجموعه ها را تغییر دهید"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:278
+#: frontend/src/metabase/admin/permissions/selectors.js:282
 msgid "Can edit this collection and its contents"
 msgstr "می توانید این مجموعه و محتویات آن را ویرایش کنید"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:285
+#: frontend/src/metabase/admin/permissions/selectors.js:289
 msgid "Can view items in this collection"
 msgstr "می توانید آیتم های موجود در این مجموعه را مشاهده کنید"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:745
+#: frontend/src/metabase/admin/permissions/selectors.js:749
 msgid "Collection Access"
 msgstr "دسترسی به مجموعه"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:821
+#: frontend/src/metabase/admin/permissions/selectors.js:825
 msgid "This group has permission to view at least one subcollection of this collection."
 msgstr "این گروه اجازه می دهد حداقل یک زیر مجموعه از این مجموعه را مشاهده کنید."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:826
+#: frontend/src/metabase/admin/permissions/selectors.js:830
 msgid "This group has permission to edit at least one subcollection of this collection."
 msgstr "این گروه اجازه ویرایش حداقل یک زیر مجموعه از این مجموعه را دارد."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:839
+#: frontend/src/metabase/admin/permissions/selectors.js:843
 msgid "View sub-collections"
 msgstr "مشاهده زیر مجموعه ها"
 
@@ -8942,19 +8947,19 @@ msgstr "مشاهده زیر مجموعه ها"
 msgid "Remember Me"
 msgstr "مرا به خاطر بسپار"
 
-#: frontend/src/metabase/components/BrowseApp.jsx:120
+#: frontend/src/metabase/components/BrowseApp.jsx:95
 msgid "X-ray this schema"
 msgstr "اشعه ایکس این طرح"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:246
+#: frontend/src/metabase/components/CollectionLanding.jsx:258
 msgid "Edit the permissions for this collection"
 msgstr "ویرایش مجوزهای این مجموعه"
 
-#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:51
+#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:55
 msgid "Add this question to a dashboard"
 msgstr "این سوال را به یک داشبورد اضافه کنید"
 
-#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:61
+#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:65
 msgid "Create a new dashboard"
 msgstr "ساخت داشبورد جدید"
 
@@ -8966,11 +8971,11 @@ msgstr "صفحه درخواستی شما یافت نشد"
 msgid "Select a {0}"
 msgstr "یک {0} را انتخاب کنید"
 
-#: frontend/src/metabase/containers/Overworld.jsx:190
+#: frontend/src/metabase/containers/Overworld.jsx:185
 msgid "Save dashboards, questions, and collections in \"{0}\""
 msgstr "ذخیره داشبورد ها، سوالات و مجموعه ها در \"{0}\""
 
-#: frontend/src/metabase/containers/Overworld.jsx:193
+#: frontend/src/metabase/containers/Overworld.jsx:188
 msgid "Access dashboards, questions, and collections in \"{0}\""
 msgstr "دسترسی به داشبورد ها، سوالات و مجموعه ها در \"{0}\""
 
@@ -8990,11 +8995,11 @@ msgstr "مربوط"
 msgid "More X-rays"
 msgstr "اشعه X بیشتر"
 
-#: frontend/src/metabase/home/containers/SearchApp.jsx:50
+#: frontend/src/metabase/home/containers/SearchApp.jsx:46
 msgid "No results"
 msgstr "بدون نتیجه"
 
-#: frontend/src/metabase/home/containers/SearchApp.jsx:51
+#: frontend/src/metabase/home/containers/SearchApp.jsx:47
 msgid "Metabase couldn't find any results for your search."
 msgstr "Metabase نمی تواند برای جستجوی شما هیچ نتیجه ای پیدا کند."
 
@@ -9040,43 +9045,43 @@ msgstr "مجوزها مجاز نبود: {0}"
 msgid "Cannot decrypt encrypted string. Have you changed or forgot to set MB_ENCRYPTION_SECRET_KEY?"
 msgstr "رشته رمزنگاری را نمی توان رمزگشایی کرد. آیا تغییر کرده اید یا فراموش کرده اید MB_ENCRYPTION_SECRET_KEY را تنظیم کنید؟"
 
-#: frontend/src/metabase/entities/collections.js:157
+#: frontend/src/metabase/entities/collections.js:164
 msgid "All personal collections"
 msgstr "همه مجموعه های شخصی"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Host"
 msgstr "میزبان"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Port"
 msgstr "پورت"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Database username"
 msgstr "نام کاربری پایگاه داده"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "What username do you use to login to the database?"
 msgstr "از چه نام کاربری ای برای ورود به پایگاه داده استفاده می‌ کنید؟"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Database password"
 msgstr "رمز پایگاه داده"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Database name"
 msgstr "نام پایگاه داده"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "birds_of_the_world"
 msgstr "birds_of_the_world"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Use a secure connection (SSL)?"
 msgstr "آیا از اتصال امن (SSL) استفاده می کنید؟"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Additional JDBC connection string options"
 msgstr "گزینه های رشته اتصال JDBC اضافی"
 
@@ -9216,7 +9221,7 @@ msgstr "برچسب ها"
 msgid "Add members"
 msgstr "افزودن عضو"
 
-#: frontend/src/metabase/entities/collections.js:108
+#: frontend/src/metabase/entities/collections.js:115
 msgid "Collection it's saved in"
 msgstr "مجموعه آن ذخیره شده است"
 
@@ -9245,10 +9250,10 @@ msgstr "اشتراک گذاری"
 #: frontend/src/metabase/visualizations/lib/settings/graph.js:321
 #: frontend/src/metabase/visualizations/lib/settings/nested.js:126
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:83
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:72
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:77
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:83
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:89
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:80
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:85
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:91
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:97
 #: frontend/src/metabase/visualizations/visualizations/Progress.jsx:50
 #: frontend/src/metabase/visualizations/visualizations/Progress.jsx:56
 #: frontend/src/metabase/visualizations/visualizations/Text.jsx:72
@@ -9270,20 +9275,20 @@ msgstr "محورها"
 
 #: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:222
 #: frontend/src/metabase/admin/settings/selectors.js:319
-#: frontend/src/metabase/qb/components/drill/FormatAction.jsx:27
+#: frontend/src/metabase/modes/components/drill/FormatAction.jsx:27
 #: frontend/src/metabase/visualizations/lib/settings/column.js:63
 msgid "Formatting"
 msgstr "در حال پاک‌سازی"
 
-#: frontend/src/metabase/containers/Overworld.jsx:107
+#: frontend/src/metabase/containers/Overworld.jsx:102
 msgid "Try these x-rays based on your data."
 msgstr "با استفاده از داده های خود این اشعه ایکس را امتحان کنید."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:35
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:36
 msgid "There was a problem displaying this chart."
 msgstr "مشکلی در نمایش نمودار وجود دارد."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:36
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:37
 msgid "Sorry, you don't have permission to see this card."
 msgstr "شرمنده، شما اجازه مشاهده این کارت را ندارید."
 
@@ -9295,11 +9300,11 @@ msgstr "فقط یک سر:"
 msgid "{0} without the Sample Dataset, the Query Builder tutorial won't work. You can always restore the Sample Dataset, but any questions you've saved using this data will be lost."
 msgstr "{0} بدون مجموعه داده های نمونه، آموزش Query Builder کار نخواهد کرد. شما همیشه می توانید مجموعه داده های نمونه را بازگردانید، اما هر سوالی که با استفاده از این داده ها ذخیره کرده اید، از بین می رود."
 
-#: frontend/src/metabase/qb/components/drill/AutomaticDashboardDrill.jsx:33
+#: frontend/src/metabase/modes/components/drill/AutomaticDashboardDrill.jsx:33
 msgid "X-ray"
 msgstr "اشعه X"
 
-#: frontend/src/metabase/qb/components/drill/CompareToRestDrill.js:34
+#: frontend/src/metabase/modes/components/drill/CompareToRestDrill.js:34
 msgid "Compare to the rest"
 msgstr "با بقیه مقایسه کن."
 
@@ -9313,11 +9318,11 @@ msgid "We suggest you leave this off unless you're doing manual timezone casting
 msgstr "ما پیشنهاد می کنیم که این کار را ترک کنید مگر اینکه در حال انجام مراحل مربوط به زمان بندی کاربر هستید\n"
 "بسیاری از یا بیشتر از پرس و جو خود را با این داده ها."
 
-#: frontend/src/metabase/containers/Overworld.jsx:315
+#: frontend/src/metabase/containers/Overworld.jsx:310
 msgid "Your team's most important dashboards go here"
 msgstr "مهمترین داشبورد تیم شما در اینجا قرار دارد"
 
-#: frontend/src/metabase/containers/Overworld.jsx:316
+#: frontend/src/metabase/containers/Overworld.jsx:311
 msgid "Pin dashboards in {0} to have them appear in this space for everyone"
 msgstr "پانل داشبورد در {0} برای اینکه آنها در این فضا برای همه ظاهر شوند"
 
@@ -9343,10 +9348,10 @@ msgstr "یک واحد پول انتخاب کنید"
 
 #: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:318
 msgid "Field Type"
-msgstr ""
+msgstr "نوع فیلد"
 
-#: frontend/src/metabase/admin/routes.jsx:83
-#: frontend/src/metabase/nav/containers/Navbar.jsx:225
+#: frontend/src/metabase/admin/routes.jsx:109
+#: frontend/src/metabase/nav/containers/Navbar.jsx:224
 msgid "Troubleshooting"
 msgstr "عیب‌یابی"
 
@@ -9356,37 +9361,37 @@ msgstr "فعال‌کردن ویژگی X-ray"
 
 #: frontend/src/metabase/admin/settings/selectors.js:323
 msgid "Formatting Options"
-msgstr ""
+msgstr "گزینه های قالب بندی"
 
-#: frontend/src/metabase/admin/tasks/containers/TaskModal.jsx:20
+#: frontend/src/metabase/admin/tasks/containers/TaskModal.jsx:19
 msgid "Task details"
-msgstr ""
+msgstr "جزییات کار"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:36
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:29
 msgid "Troubleshooting logs"
 msgstr "لاگ‌های عیب‌یابی"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:38
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:31
 msgid "Trying to get to the bottom of something? This section shows logs of Metabase's background tasks, which can help shed light on what's going on."
 msgstr ""
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:63
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:56
 msgid "Task"
-msgstr ""
+msgstr "کار"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:64
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:57
 msgid "DB ID"
 msgstr "شناسه پایگاه‌داده"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:65
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:58
 msgid "Started at"
 msgstr "زمان شروع"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:66
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:59
 msgid "Ended at"
 msgstr "زمان پایان"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:67
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:60
 msgid "Duration (ms)"
 msgstr "دیرش (میلی ثانیه)"
 
@@ -9394,17 +9399,17 @@ msgstr "دیرش (میلی ثانیه)"
 msgid "Currency"
 msgstr "واحد پول"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:163
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:161
 msgid "Pick a user or channel..."
 msgstr "یک کاربر یا کانال را انتخاب کنید..."
 
 #: frontend/src/metabase/visualizations/components/ColumnSettings.jsx:90
 msgid "No formatting settings"
-msgstr ""
+msgstr "بدون تنظیمات قالب بندی"
 
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:81
 msgid "Label for this range (optional)"
-msgstr ""
+msgstr "برچسب برای این بازه (اختیاری)"
 
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:93
 msgid "Add a range"
@@ -9412,24 +9417,24 @@ msgstr "یک بازه اضافه کنید"
 
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:26
 msgid "is less than"
-msgstr ""
+msgstr "کمتر از"
 
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:27
 msgid "is greater than"
-msgstr ""
+msgstr "بزرگتر از"
 
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:28
 msgid "is less than or equal to"
-msgstr ""
+msgstr "کمتر از یا برابر با"
 
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:29
 msgid "is greater than or equal to"
-msgstr ""
+msgstr "بزرگتر از یا برابر با"
 
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:30
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:37
 msgid "is equal to"
-msgstr ""
+msgstr "برابر با"
 
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:31
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:38
@@ -9571,15 +9576,15 @@ msgstr ""
 msgid "Gauge ranges"
 msgstr ""
 
-#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:91
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:94
 msgid "Field to show"
 msgstr ""
 
-#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:118
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:121
 msgid "last {0}"
 msgstr ""
 
-#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:176
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:185
 msgid "{0} was {1} {2}"
 msgstr ""
 
@@ -9742,19 +9747,19 @@ msgstr ""
 msgid "WARNING: Druid doenst allow limitSpec in timeseries queries. Ignoring the LIMIT clause."
 msgstr ""
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql/query_processor.clj
 msgid "HoneySQL Form:"
 msgstr ""
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql_jdbc/execute.clj
 msgid "Unable to parse date ''{0}''"
 msgstr ""
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql_jdbc/execute.clj
 msgid "Client closed connection, cancelling query"
 msgstr ""
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql_jdbc/execute.clj
 msgid "Setting timezone with statement: {0}"
 msgstr ""
 
@@ -9839,7 +9844,7 @@ msgid "You cannot remove the last member of the ''Admin'' group!"
 msgstr ""
 
 #. go ahead and log the Exception anyway on the off chance that it *wasn't* just a race condition issue
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Error inserting a new Setting: {0}"
 msgstr ""
 
@@ -10444,7 +10449,7 @@ msgstr ""
 #: resources/automagic_dashboards/field/Number.yaml
 #: resources/automagic_dashboards/table/GenericTable.yaml
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
-msgid "How they compare across location"
+msgid "How they compare acrosss location"
 msgstr ""
 
 #: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
@@ -11297,3 +11302,1050 @@ msgstr ""
 msgid "In-depth example"
 msgstr ""
 
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:29
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:17
+msgid "Key"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:30
+msgid "Class"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:32
+msgid "Triggers"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:48
+msgid "View triggers"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:82
+msgid "Scheduler Info"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:20
+msgid "Priority"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:21
+msgid "Last Fired"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:22
+msgid "Next Fire Time"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:23
+msgid "Start Time"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:24
+msgid "End Time"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:25
+msgid "Final Fire Time"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:26
+msgid "May Fire Again?"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:75
+msgid "Triggers for {0}"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:25
+msgid "Tasks"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:30
+msgid "Jobs"
+msgstr ""
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:740
+msgid "Duplicated {0}"
+msgstr ""
+
+#: frontend/src/metabase/components/EntityItem.jsx:55
+msgid "Duplicate this item"
+msgstr ""
+
+#: frontend/src/metabase/components/EntityItem.jsx:61
+msgid "Archive this item"
+msgstr ""
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:330
+msgid "Duplicate dashboard"
+msgstr ""
+
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:16
+msgid "Duplicate \"{0}\""
+msgstr ""
+
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:21
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:26
+msgid "Duplicate"
+msgstr ""
+
+#: frontend/src/metabase/lib/query_time.js:115
+msgid "Tomorrow"
+msgstr ""
+
+#: frontend/src/metabase/lib/query_time.js:129
+#: frontend/src/metabase/lib/query_time.js:143
+msgid "This {0}"
+msgstr ""
+
+#: frontend/src/metabase/lib/query_time.js:132
+msgid "Next {0}"
+msgstr ""
+
+#: frontend/src/metabase/lib/query_time.js:135
+msgid "Previous {0}"
+msgstr ""
+
+#: frontend/src/metabase/lib/query_time.js:139
+msgid "Previous {0} {1}"
+msgstr ""
+
+#: frontend/src/metabase/lib/query_time.js:141
+msgid "Next {0} {1}"
+msgstr ""
+
+#: frontend/src/metabase/lib/query_time.js:171
+msgid "Now"
+msgstr ""
+
+#: frontend/src/metabase/lib/query_time.js:174
+msgid "{0} {1} ago"
+msgstr ""
+
+#: frontend/src/metabase/lib/query_time.js:175
+msgid "{0} {1} from now"
+msgstr ""
+
+#: frontend/src/metabase/lib/query_time.js:187
+msgid "Default period"
+msgid_plural "Default periods"
+msgstr[0] ""
+
+#: frontend/src/metabase/lib/query_time.js:203
+msgid "Minute of hour"
+msgid_plural "Minutes of hour"
+msgstr[0] ""
+
+#: frontend/src/metabase/lib/query_time.js:205
+msgid "Hour of day"
+msgid_plural "Hours of day"
+msgstr[0] ""
+
+#: frontend/src/metabase/lib/query_time.js:207
+msgid "Day of week"
+msgid_plural "Days of week"
+msgstr[0] ""
+
+#: frontend/src/metabase/lib/query_time.js:209
+msgid "Day of month"
+msgid_plural "Days of month"
+msgstr[0] ""
+
+#: frontend/src/metabase/lib/query_time.js:211
+msgid "Day of year"
+msgid_plural "Days of year"
+msgstr[0] ""
+
+#: frontend/src/metabase/lib/query_time.js:213
+msgid "Week of year"
+msgid_plural "Weeks of year"
+msgstr[0] ""
+
+#: frontend/src/metabase/lib/query_time.js:215
+msgid "Month of year"
+msgid_plural "Months of year"
+msgstr[0] ""
+
+#: frontend/src/metabase/lib/query_time.js:217
+msgid "Quarter of year"
+msgid_plural "Quarters of year"
+msgstr[0] ""
+
+#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:62
+#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:58
+#: frontend/src/metabase/query_builder/components/Filter.jsx:79
+msgid "{0} selection"
+msgid_plural "{0} selections"
+msgstr[0] ""
+
+#: frontend/src/metabase/parameters/components/widgets/DateQuarterYearWidget.jsx:11
+msgid "[Q]Q"
+msgstr ""
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:28
+msgid "This"
+msgstr ""
+
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:64
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:96
+msgid "Invalid"
+msgstr ""
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/SpecificDatePicker.jsx:147
+msgid "Add a time"
+msgstr ""
+
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:170
+msgid "Nothing to compare for the previous {0}."
+msgstr ""
+
+#: frontend/src/metabase-lib/lib/Dimension.js:517
+msgid "by {0}"
+msgstr ""
+
+#: src/metabase/api/database.clj
+msgid "value must be a valid database engine."
+msgstr ""
+
+#: src/metabase/api/geojson.clj
+msgid "Connection refused by host for URL `{0}`"
+msgstr ""
+
+#: src/metabase/db.clj
+msgid "Warning: Postgres connection string with `ssl=true` detected."
+msgstr ""
+
+#: src/metabase/db.clj
+msgid "You may need to add `?sslmode=require` to your application DB connection string."
+msgstr ""
+
+#: src/metabase/db.clj
+msgid "If Metabase fails to launch, please add it and try again."
+msgstr ""
+
+#: src/metabase/db.clj
+msgid "See https://github.com/metabase/metabase/issues/8908 for more details."
+msgstr ""
+
+#: src/metabase/db.clj
+msgid "WARNING: Using Metabase with an H2 application database is not recomended for production deployments."
+msgstr ""
+
+#: src/metabase/db.clj
+msgid "For production deployments, we highly recommend using Postgres, MySQL, or MariaDB instead."
+msgstr ""
+
+#: src/metabase/db.clj
+msgid "If you decide to continue to use H2, please be sure to back up the database file regularly."
+msgstr ""
+
+#: src/metabase/db.clj
+msgid "See https://metabase.com/docs/latest/operations-guide/start.html#migrating-from-using-the-h2-database-to-mysql-or-postgres for more information."
+msgstr ""
+
+#: src/metabase/db.clj
+msgid "Unable to connect to Metabase {0} DB."
+msgstr ""
+
+#: src/metabase/db/migrations.clj
+msgid "Error adding legacy SQL directive to BigQuery saved Question"
+msgstr ""
+
+#: src/metabase/driver.clj
+msgid "Failed to notify {0} Database {1} updated"
+msgstr ""
+
+#: src/metabase/driver.clj
+msgid "Loading driver {0} {1}"
+msgstr ""
+
+#: src/metabase/driver.clj
+msgid "Load driver {0}"
+msgstr ""
+
+#: src/metabase/driver.clj
+msgid "Driver not registered after loading: {0}"
+msgstr ""
+
+#: src/metabase/driver.clj
+msgid "Error: attempting to change {0} property `:abstract?` from {1} to {2}."
+msgstr ""
+
+#: src/metabase/driver.clj
+msgid "Registered abstract driver {0}"
+msgstr ""
+
+#: src/metabase/driver.clj
+msgid "Registered driver {0}"
+msgstr ""
+
+#: src/metabase/driver.clj
+msgid "(parents: {0})"
+msgstr ""
+
+#: src/metabase/driver.clj
+msgid "Initializing driver {0}..."
+msgstr ""
+
+#: src/metabase/driver.clj
+msgid "Reason:"
+msgstr ""
+
+#: src/metabase/driver.clj
+msgid "Invalid driver feature: {0}"
+msgstr ""
+
+#: src/metabase/driver/sql/query_processor.clj
+msgid "Invalid HoneySQL form:"
+msgstr ""
+
+#: src/metabase/driver/sql_jdbc/connection.clj
+msgid "Closing connection pool for database {0} ..."
+msgstr ""
+
+#: src/metabase/driver/util.clj
+msgid "Error loading namespace"
+msgstr ""
+
+#: src/metabase/events.clj
+msgid "Starting events listener:"
+msgstr ""
+
+#: src/metabase/events.clj
+msgid "Unexpected error listening on events"
+msgstr ""
+
+#: src/metabase/events/sync_database.clj
+msgid "Error syncing Database {0}"
+msgstr ""
+
+#: src/metabase/events/sync_database.clj
+msgid "Failed to process sync-database event."
+msgstr ""
+
+#: src/metabase/mbql/util.clj
+msgid "Bad nested-query-level: query does not have a source query"
+msgstr ""
+
+#: src/metabase/metabot/command.clj
+msgid "I don''t know how to `{0}`."
+msgstr ""
+
+#: src/metabase/metabot/command.clj
+msgid "Here''s what I can do: "
+msgstr ""
+
+#: src/metabase/metabot/slack.clj
+msgid "Error in Metabot command"
+msgstr ""
+
+#: src/metabase/metabot/websocket.clj
+msgid "Websocket associated with this Slack event is different from the websocket we're currently using."
+msgstr ""
+
+#: src/metabase/models/field_values.clj
+msgid "FieldValues for Field {0} remain unchanged. Skipping..."
+msgstr ""
+
+#: src/metabase/models/interface.clj
+msgid "Unable to normalize:"
+msgstr ""
+
+#: src/metabase/models/params.clj
+msgid "Could not find matching Field ID for target:"
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid "Metabase does not have permissions to write to plugins directory {0}"
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid "Metabase cannot use the plugins directory {0}"
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid "Please make sure the directory exists and that Metabase has permission to write to it."
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid "You can change the directory Metabase uses for modules by setting the environment variable MB_PLUGINS_DIR."
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid "Falling back to a temporary directory for now."
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid "Metabase cannot write to temporary directory. Please set MB_PLUGINS_DIR to a writable directory and restart Metabase."
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid "spark-deps.jar is no longer needed by Metabase 1.0+. You can delete it from the plugins directory."
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid "Failied to initialize plugin {0}"
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid "Loading plugins in {0}..."
+msgstr ""
+
+#: src/metabase/plugins/classloader.clj
+msgid "Using Clojure base loader as shared context classloader: {0}"
+msgstr ""
+
+#: src/metabase/plugins/classloader.clj
+msgid "Setting current thread context classloader to shared classloader {0}..."
+msgstr ""
+
+#. it's important that we deref the promise again here instead of using the one we just created because it is
+#. possible thru a race condition that somebody else delivered the promise before we did; in that case,
+#. Clojure ignores subsequent calls to `deliver`. Dereffing the promise guarantees that we'll get the actual
+#. value of it rather than one that ends up getting discarded
+#: src/metabase/plugins/classloader.clj
+msgid "Setting current thread context classloader to NEWLY CREATED classloader {0}..."
+msgstr ""
+
+#: src/metabase/plugins/classloader.clj
+msgid "Added URL {0} to classpath"
+msgstr ""
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugin {0} declares a dependency that Metabase does not understand: {1}"
+msgstr ""
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Refer to the plugin manifest reference for a complete list of valid plugin dependencies:"
+msgstr ""
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Metabase cannot initialize plugin {0} due to required dependencies."
+msgstr ""
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Class not found: {0}"
+msgstr ""
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugin ''{0}'' depends on plugin ''{1}''"
+msgstr ""
+
+#: src/metabase/plugins/dependencies.clj
+msgid "{0} dependency {1} satisfied? {2}"
+msgstr ""
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugins with unsatisfied deps: {0}"
+msgstr ""
+
+#: src/metabase/plugins/files.clj
+msgid "Extract file {0} -> {1}"
+msgstr ""
+
+#: src/metabase/plugins/files.clj
+msgid "Resource does not exist."
+msgstr ""
+
+#: src/metabase/plugins/init_steps.clj
+msgid "Loading plugin namespace {0}..."
+msgstr ""
+
+#: src/metabase/plugins/initialize.clj
+msgid "Dependencies satisfied; these plugins will now be loaded: {0}"
+msgstr ""
+
+#: src/metabase/plugins/jdbc_proxy.clj
+msgid "Registering JDBC proxy driver for {0}..."
+msgstr ""
+
+#: src/metabase/plugins/jdbc_proxy.clj
+msgid "Deregistering original JDBC driver {0}..."
+msgstr ""
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Default connection property {0} does not exist."
+msgstr ""
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Invalid connection property {0}: not a string or map."
+msgstr ""
+
+#. ok, do the init steps listed in the plugin mainfest
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Load lazy loading driver {0}"
+msgstr ""
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Cannot initialize plugin: missing required property `driver-name`"
+msgstr ""
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Warning: plugin manifest for {0} does not include connection properties"
+msgstr ""
+
+#. finally, register the Metabase driver
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Registering lazy loading driver {0}..."
+msgstr ""
+
+#: src/metabase/pulse.clj
+msgid "Error running query for Card {0}"
+msgstr ""
+
+#: src/metabase/pulse/render.clj
+msgid "Last week"
+msgstr ""
+
+#: src/metabase/pulse/render.clj
+msgid "This week"
+msgstr ""
+
+#: src/metabase/pulse/render.clj
+msgid "Last month"
+msgstr ""
+
+#: src/metabase/pulse/render.clj
+msgid "This month"
+msgstr ""
+
+#: src/metabase/pulse/render.clj
+msgid "Last quarter"
+msgstr ""
+
+#: src/metabase/pulse/render.clj
+msgid "This quarter"
+msgstr ""
+
+#: src/metabase/pulse/render.clj
+msgid "Last year"
+msgstr ""
+
+#: src/metabase/pulse/render.clj
+msgid "This year"
+msgstr ""
+
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "*driver* is unbound."
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields.clj
+msgid "Error syncing Fields for Table ''{0}''"
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields.clj
+msgid "Hash of {0} matches stored hash, skipping Fields sync"
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/common.clj
+msgid "Field"
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Error checking if Fields {0} need to be created or reactivated"
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Marking Field ''{0}'' as inactive."
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Error retiring {0}"
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Database type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Base type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Special type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Comment has been added for {0}."
+msgstr ""
+
+#: src/metabase/task.clj
+msgid "Stopping Quartz Scheduler {0}"
+msgstr ""
+
+#: src/metabase/task.clj
+msgid "Starting Quartz Scheduler {0}"
+msgstr ""
+
+#: src/metabase/task.clj
+msgid "Error loading tasks namespace {0}"
+msgstr ""
+
+#. don't bother logging namespace for now, maybe in the future if there's tasks of the same name in multiple
+#. namespaces we can log it
+#: src/metabase/task.clj
+msgid "Initializing task {0}"
+msgstr ""
+
+#: src/metabase/task.clj
+msgid "Error initializing task {0}"
+msgstr ""
+
+#: src/metabase/task/follow_up_emails.clj
+msgid "Problem sending abandonment email"
+msgstr ""
+
+#: src/metabase/task/send_anonymous_stats.clj
+msgid "Sending anonymous usage stats."
+msgstr ""
+
+#: src/metabase/task/send_anonymous_stats.clj
+msgid "Error sending anonymous usage stats"
+msgstr ""
+
+#: src/metabase/task/send_pulses.clj
+msgid "Error sending Pulse {0}"
+msgstr ""
+
+#: src/metabase/task/send_pulses.clj
+msgid "Sending scheduled pulses..."
+msgstr ""
+
+#: src/metabase/task/send_pulses.clj
+msgid "SendPulses task failed"
+msgstr ""
+
+#: src/metabase/task/sync_databases.clj
+msgid "Failed to scheduler tasks for Database {0}"
+msgstr ""
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Cleaning up task history"
+msgstr ""
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Task history cleanup successful, rows were deleted"
+msgstr ""
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Task history cleanup successful, no rows were deleted"
+msgstr ""
+
+#: src/metabase/task/upgrade_checks.clj
+msgid "Checking for new Metabase version info."
+msgstr ""
+
+#: src/metabase/task/upgrade_checks.clj
+msgid "Error fetching version info"
+msgstr ""
+
+#: src/metabase/util.clj
+msgid "Maximum memory available to JVM: {0}"
+msgstr ""
+
+#: src/metabase/util.clj
+msgid "Not something with an ID: {0}"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by month of the year"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Here's a quick look at your [[this]]"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by hour of the day"
+msgstr ""
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Where you've acquired your users"
+msgstr ""
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How it's distributed across time and other categories."
+msgstr ""
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Here's a closer look at your [[this]] per source"
+msgstr ""
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "Here's a quick look at the [[this]]"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by day of the month"
+msgstr ""
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Here's an overview of the people in your [[this]]"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by quarter of the year"
+msgstr ""
+
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How they compare across location"
+msgstr ""
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "Here's a closer look at your [[this]] by products"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by month of the year"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "An overview of your [[this]] and how it's distributed across time, place, and categories."
+msgstr ""
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/question/GenericQuestion.yaml
+msgid "Here's a closer look at your [[this]]"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by day of the week"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Here's an overview of your [[this]] data from Google Analytics"
+msgstr ""
+
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+#: resources/automagic_dashboards/comparison/State.yaml
+#: resources/automagic_dashboards/comparison/FK.yaml
+#: resources/automagic_dashboards/comparison/Country.yaml
+#: resources/automagic_dashboards/comparison/GenericField.yaml
+msgid "Here's an overview of your [[this]]"
+msgstr ""
+
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "Here's a closer look at your [[this]] field"
+msgstr ""
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Here's a closer look at your [[this]] per country"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
+msgid "If you're into correlations, this is the x-ray for you."
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by day of the week"
+msgstr ""
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "It looks like your [[this]] has transactions, so here's a look at them"
+msgstr ""
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Here's a closer look at your [[this]] per state"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by day of the month"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTime]] by hour of the day"
+msgstr ""
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Here's a closer look at your [[this]] over time"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by quarter of the year"
+msgstr ""
+
+#: frontend/src/metabase/admin/people/containers/EditUserModal.jsx:12
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:200
+msgid "Edit user"
+msgstr ""
+
+#: frontend/src/metabase/admin/people/containers/NewUserModal.jsx:13
+msgid "New user"
+msgstr ""
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:204
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:69
+msgid "Reset password"
+msgstr ""
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:209
+msgid "Deactivate user"
+msgstr ""
+
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:47
+msgid "Reactivate {0}?"
+msgstr ""
+
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:63
+msgid "We couldn’t send them an email invitation, so make sure to tell them to log in using {0} and this password we’ve generated for them:"
+msgstr ""
+
+#: frontend/src/metabase/entities/collections.js:21
+msgid "collection"
+msgstr ""
+
+#: frontend/src/metabase/entities/collections.js:22
+msgid "collections"
+msgstr ""
+
+#: frontend/src/metabase/entities/dashboards.js:29
+msgid "dashboard"
+msgstr ""
+
+#: frontend/src/metabase/entities/dashboards.js:30
+msgid "dashboards"
+msgstr ""
+
+#: frontend/src/metabase/entities/users.js:125
+msgid "First name is required"
+msgstr ""
+
+#: frontend/src/metabase/entities/users.js:126
+#: frontend/src/metabase/entities/users.js:133
+msgid "Must be 100 characters or less"
+msgstr ""
+
+#: frontend/src/metabase/entities/users.js:132
+msgid "Last name is required"
+msgstr ""
+
+#: frontend/src/metabase/entities/users.js:138
+msgid "Email is required"
+msgstr ""
+
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:90
+msgid "Items you archive will appear here."
+msgstr ""
+
+#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:16
+msgid "No description"
+msgstr ""
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:175
+msgid "Sum of all values"
+msgstr ""
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:183
+msgid "See all distinct values"
+msgstr ""
+
+#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:12
+msgid "Browse the contents of your databases, tables, and columns. Pick a database to get started"
+msgstr ""
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is VALID. Thanks!"
+msgstr ""
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is INVALID. Running query to fetch correct metadata."
+msgstr ""
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is  ISSING. Running query to fetch correct metadata."
+msgstr ""
+
+#: src/metabase/api/email.clj
+msgid "{0} was autocorrected to {1}"
+msgstr ""
+
+#: src/metabase/api/metric.clj
+msgid "DELETE /api/metric/:id is deprecated. Instead, change its `archived` value via PUT /api/metric/:id."
+msgstr ""
+
+#: src/metabase/api/segment.clj
+msgid "DELETE /api/segment/:id is deprecated. Instead, change its `archived` value via PUT /api/segment/:id."
+msgstr ""
+
+#: src/metabase/api/user.clj
+msgid "Value of is_superuser must correspond to presence of Admin group ID in group_ids."
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "Unexpected error writing keepalive characters"
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "Unexpected output in async API response"
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "starting streaming response"
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "Output chan closed, canceling keepalive request."
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "Async response finished, closing channels."
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "No response after waiting {0}. Canceling request."
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "Input channel unexpectedly closed."
+msgstr ""
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "f finished, permit will be returned"
+msgstr ""
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "request canceled, permit will be returned"
+msgstr ""
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Unexpected error attempting to run function after obtaining permit"
+msgstr ""
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Not running pending function call: output channel already closed."
+msgstr ""
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Current thread already has a permit for {0}, will not wait to acquire another"
+msgstr ""
+
+#: src/metabase/async/util.clj
+msgid "Output channel closed, will skip running {0}."
+msgstr ""
+
+#: src/metabase/async/util.clj
+msgid "Running {0} on separate thread..."
+msgstr ""
+
+#: src/metabase/async/util.clj
+msgid "Caught error running {0}"
+msgstr ""
+
+#: src/metabase/async/util.clj
+msgid "Request canceled, canceling future"
+msgstr ""
+
+#: src/metabase/driver/sql_jdbc/connection.clj
+msgid "Closing old connection pool for database {0} ..."
+msgstr ""
+
+#: src/metabase/metabot/command.clj
+msgid "Here''s your {0} most recent cards:"
+msgstr ""
+
+#: src/metabase/metabot/command.clj
+msgid "Could you be a little more specific, or use the ID? I found these cards with names that matched:"
+msgstr ""
+
+#: src/metabase/metabot/command.clj
+msgid "Card {0} not found."
+msgstr ""
+
+#: src/metabase/middleware/exceptions.clj
+msgid "Exception in API call"
+msgstr ""
+
+#: src/metabase/middleware/exceptions.clj
+msgid "Request canceled before finishing."
+msgstr ""
+
+#: src/metabase/middleware/json.clj
+msgid "Metabase only supports JSON requests."
+msgstr ""
+
+#: src/metabase/middleware/json.clj
+msgid "Make sure you set a 'Content-Type: application/json' header."
+msgstr ""
+
+#: src/metabase/middleware/misc.clj
+msgid "Setting Metabase site URL to {0}"
+msgstr ""
+
+#: src/metabase/models/database.clj
+msgid "Error scheduling tasks for DB"
+msgstr ""
+
+#: src/metabase/models/database.clj
+msgid "Error unscheduling tasks for DB."
+msgstr ""
+
+#: src/metabase/models/database.clj
+msgid "{0} Database ''{1}'' sync/analyze schedules have changed!"
+msgstr ""
+
+#: src/metabase/models/database.clj
+msgid "Sync metadata was: ''{0}'' is now: ''{1}''"
+msgstr ""
+
+#: src/metabase/models/database.clj
+msgid "Cache FieldValues was: ''{0}'', is now: ''{1}''"
+msgstr ""
+
+#: src/metabase/models/metric.clj
+msgid "You cannot update the creator_id of a Metric."
+msgstr ""
+
+#: src/metabase/models/permissions.clj
+msgid "MetaBot can only have Collection permissions."
+msgstr ""
+
+#: src/metabase/models/permissions.clj
+msgid "Failed to grant permissions"
+msgstr ""
+
+#: src/metabase/models/permissions.clj
+msgid "Changing permissions"
+msgstr ""
+
+#: src/metabase/models/permissions.clj
+msgid "FROM:"
+msgstr ""
+
+#: src/metabase/models/permissions.clj
+msgid "TO:"
+msgstr ""
+
+#: src/metabase/models/segment.clj
+msgid "You cannot update the creator_id of a Segment."
+msgstr ""
+
+#: src/metabase/models/setting.clj
+msgid "Attempted to set Setting {0} to obfuscated value. Ignoring change."
+msgstr ""
+
+#: src/metabase/models/setting.clj
+msgid "Using value of env var {0}"
+msgstr ""
+
+#: src/metabase/models/user.clj
+msgid "Adding User {0} to All Users permissions group..."
+msgstr ""
+
+#: src/metabase/models/user.clj
+msgid "Adding User {0} to Admin permissions group..."
+msgstr ""
+
+#: src/metabase/query_processor.clj
+msgid "Query failure"
+msgstr ""
+
+#: src/metabase/query_processor/async.clj
+msgid "Maximum number of simultaneous queries to allow per connected Database."
+msgstr ""
+
+#: src/metabase/util.clj
+msgid "Timed out after {0} milliseconds."
+msgstr ""
+
diff --git a/locales/fr.po b/locales/fr.po
index fdc1346397bd5ea0eae7fb0763539e088637e9a6..2528b4c4706e2740503e2dc69445364ed193498b 100644
--- a/locales/fr.po
+++ b/locales/fr.po
@@ -27,7 +27,7 @@ msgstr "Explorer ces données"
 
 #: frontend/src/metabase/admin/databases/components/DatabaseEditForms.jsx:42
 msgid "Select a database type"
-msgstr "Sélectionnez un type de base de données"
+msgstr "Sélectionner un type de base de données"
 
 #: frontend/src/metabase/admin/databases/components/DatabaseEditForms.jsx:75
 #: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:170
@@ -142,54 +142,51 @@ msgstr "dans cette case :"
 #: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:87
 #: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:93
 #: frontend/src/metabase/admin/people/components/AddRow.jsx:27
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:250
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:302
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:322
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:343
 #: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:49
 #: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:52
 #: frontend/src/metabase/admin/permissions/containers/CollectionPermissionsModal.jsx:58
-#: frontend/src/metabase/admin/permissions/selectors.js:156
-#: frontend/src/metabase/admin/permissions/selectors.js:166
-#: frontend/src/metabase/admin/permissions/selectors.js:181
-#: frontend/src/metabase/admin/permissions/selectors.js:220
+#: frontend/src/metabase/admin/permissions/selectors.js:160
+#: frontend/src/metabase/admin/permissions/selectors.js:170
+#: frontend/src/metabase/admin/permissions/selectors.js:185
+#: frontend/src/metabase/admin/permissions/selectors.js:224
 #: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:355
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:181
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:247
 #: frontend/src/metabase/components/ConfirmContent.jsx:18
 #: frontend/src/metabase/components/DeleteModalWithConfirm.jsx:72
 #: frontend/src/metabase/components/HeaderModal.jsx:49
-#: frontend/src/metabase/components/form/StandardForm.jsx:59
+#: frontend/src/metabase/components/form/StandardForm.jsx:61
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:196
 #: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:289
 #: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:162
 #: frontend/src/metabase/dashboard/components/RemoveFromDashboardModal.jsx:38
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:189
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:192
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:352
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:191
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:354
 #: frontend/src/metabase/query_builder/components/RunButton.jsx:24
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:83
 #: frontend/src/metabase/query_builder/containers/ArchiveQuestionModal.jsx:48
 #: frontend/src/metabase/reference/components/EditHeader.jsx:34
 #: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:52
-#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:219
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:259
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:461
 msgid "Cancel"
 msgstr "Annuler"
 
 #: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:88
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:123
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:121
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:132
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:461
 msgid "Delete"
 msgstr "Supprimer"
 
 #: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:128
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:76
-#: frontend/src/metabase/admin/permissions/selectors.js:316
-#: frontend/src/metabase/admin/permissions/selectors.js:323
-#: frontend/src/metabase/admin/permissions/selectors.js:419
-#: frontend/src/metabase/admin/routes.jsx:43
-#: frontend/src/metabase/nav/containers/Navbar.jsx:215
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:74
+#: frontend/src/metabase/admin/permissions/selectors.js:320
+#: frontend/src/metabase/admin/permissions/selectors.js:327
+#: frontend/src/metabase/admin/permissions/selectors.js:423
+#: frontend/src/metabase/admin/routes.jsx:53
+#: frontend/src/metabase/nav/containers/Navbar.jsx:214
 #: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:18
 #: frontend/src/metabase/reference/databases/TableSidebar.jsx:21
 msgid "Databases"
@@ -210,11 +207,10 @@ msgstr "Planification"
 #: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:170
 #: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:78
 #: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:84
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:253
 #: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:26
 #: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:221
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:182
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:354
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:356
 #: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:47
 msgid "Save changes"
 msgstr "Sauvegarder les modifications"
@@ -263,7 +259,7 @@ msgid "Scan triggered!"
 msgstr "Analyse déclenchée !"
 
 #: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:215
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:399
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:401
 msgid "Danger Zone"
 msgstr "Zone Dangereuse"
 
@@ -277,39 +273,39 @@ msgstr "Supprimer les valeurs mises en cache"
 msgid "Remove this database"
 msgstr "Retirer cette base de données de Metabase"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:75
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:73
 msgid "Add database"
 msgstr "Ajouter une base de données"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:87
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:85
 #: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:36
 #: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:36
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:468
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:122
 #: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:183
 #: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:91
 #: frontend/src/metabase/components/DatabaseDetailsForm.jsx:399
 #: frontend/src/metabase/containers/EntitySearch.jsx:26
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:218
-#: frontend/src/metabase/entities/collections.js:86
-#: frontend/src/metabase/entities/dashboards.js:96
+#: frontend/src/metabase/entities/collections.js:93
+#: frontend/src/metabase/entities/dashboards.js:145
 #: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:461
-#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:78
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:81
 msgid "Name"
 msgstr "Nom"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:88
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:86
 msgid "Engine"
 msgstr "Moteur"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:117
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:115
 msgid "Deleting..."
 msgstr "Suppression ..."
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:147
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:145
 msgid "Loading ..."
 msgstr "Chargement ..."
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:163
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:161
 msgid "Bring the sample dataset back"
 msgstr "Charger de nouveau le jeu de données d'exemple"
 
@@ -328,7 +324,7 @@ msgstr "Sauvegarde réussie!"
 #: frontend/src/metabase/admin/datamodel/components/ObjectActionSelect.jsx:44
 #: frontend/src/metabase/dashboard/components/DashCard.jsx:278
 #: frontend/src/metabase/parameters/components/ParameterWidget.jsx:177
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:209
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:197
 #: frontend/src/metabase/reference/components/EditButton.jsx:18
 msgid "Edit"
 msgstr "Modifier"
@@ -505,7 +501,7 @@ msgstr "Schémas"
 #: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:189
 #: frontend/src/metabase/reference/metrics/MetricList.jsx:56
 #: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:21
-#: frontend/src/metabase/routes.jsx:231
+#: frontend/src/metabase/routes.jsx:232
 msgid "Metrics"
 msgstr "Métriques"
 
@@ -525,7 +521,7 @@ msgid "Create metrics to add them to the View dropdown in the query builder"
 msgstr "Créer des métriques pour les ajouter au menu déroulant 'Vue' du générateur de requêtes"
 
 #: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:24
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:922
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:930
 #: frontend/src/metabase/reference/guide/BaseSidebar.jsx:33
 #: frontend/src/metabase/reference/segments/SegmentFieldSidebar.jsx:19
 #: frontend/src/metabase/reference/segments/SegmentList.jsx:56
@@ -567,7 +563,7 @@ msgstr "a fait des modifications"
 
 #: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:46
 #: frontend/src/metabase/home/components/Activity.jsx:80
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:343
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:332
 msgid "You"
 msgstr "Vous"
 
@@ -658,7 +654,7 @@ msgstr "S'il vous plaît, sélectionnez une colonne à utiliser pour l'affichage
 
 #: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:771
 msgid "Tip:"
-msgstr "Astuce :"
+msgstr "Astuce:"
 
 #: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:433
 msgid "You might want to update the field name to make sure it still makes sense based on your remapping choices."
@@ -675,7 +671,7 @@ msgstr "Metabase peut analyser les valeurs de ce champ pour proposer des filtres
 
 #: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:14
 msgid "Re-scan this field"
-msgstr "Analyse à nouveau ce champ"
+msgstr "Analyser à nouveau ce champ"
 
 #: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:22
 #: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:116
@@ -698,7 +694,7 @@ msgstr "Sélectionner une table pour voir son schéma et enrichir ses métadonn
 
 #: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:37
 #: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:34
-#: frontend/src/metabase/entities/collections.js:89
+#: frontend/src/metabase/entities/collections.js:96
 msgid "Name is required"
 msgstr "Le nom est requis"
 
@@ -777,7 +773,7 @@ msgstr "Sera affiché dans l'historique des révisions de cette métrique afin d
 
 #: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:49
 msgid "At least one filter is required"
-msgstr "Un filter minimum est requis"
+msgstr "Au moins un filtre est requis"
 
 #: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:116
 msgid "Edit Your Segment"
@@ -809,7 +805,7 @@ msgstr "Décrivez votre segment"
 
 #: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:171
 msgid "Give your segment a description to help others understand what it's about."
-msgstr "Donner une description à votre segment pour aider les autres à mieux l'utiliser."
+msgstr "Donnez une description à votre segment pour aider les autres à mieux l'utiliser."
 
 #: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:175
 msgid "This is a good place to be more specific about less obvious segment rules"
@@ -820,10 +816,10 @@ msgid "This will show up in the revision history for this segment to help everyo
 msgstr "Ce sera affiché dans l'historique des révisions pour ce segement, afin d'aider tout le monde à se souvenir pour ça a été changé"
 
 #: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:88
-#: frontend/src/metabase/admin/routes.jsx:91
+#: frontend/src/metabase/admin/routes.jsx:127
 #: frontend/src/metabase/admin/settings/containers/SettingsEditorApp.jsx:266
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:96
-#: frontend/src/metabase/nav/containers/Navbar.jsx:200
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:87
+#: frontend/src/metabase/nav/containers/Navbar.jsx:199
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorSidebar.jsx:99
 msgid "Settings"
 msgstr "Paramètres"
@@ -837,31 +833,26 @@ msgid "Re-scan this table"
 msgstr "Analyser à nouveau cette table"
 
 #: frontend/src/metabase/admin/people/components/AddRow.jsx:34
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:194
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:253
 #: frontend/src/metabase/dashboard/components/DashCard.jsx:278
 msgid "Add"
 msgstr "Ajouter"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:80
 #: frontend/src/metabase/setup/components/UserStep.jsx:103
 #: frontend/src/metabase/user/components/UpdateUserDetails.jsx:67
 msgid "Not a valid formatted email address"
 msgstr "Format de l'adresse électronique invalide"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:135
 #: frontend/src/metabase/setup/components/UserStep.jsx:186
 #: frontend/src/metabase/user/components/UpdateUserDetails.jsx:100
 msgid "First name"
 msgstr "Prénom"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:156
 #: frontend/src/metabase/setup/components/UserStep.jsx:203
 #: frontend/src/metabase/user/components/UpdateUserDetails.jsx:117
 msgid "Last name"
 msgstr "Nom"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:178
 #: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:77
 #: frontend/src/metabase/auth/containers/LoginApp.jsx:158
 #: frontend/src/metabase/components/NewsletterForm.jsx:94
@@ -875,7 +866,7 @@ msgstr "Adresse électronique"
 msgid "Permission Groups"
 msgstr "Groupes de permissions"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:238
+#: frontend/src/metabase/components/form/widgets/FormGroupsWidget.jsx:75
 msgid "Make this user an admin"
 msgstr "Faire de cet utilisateur un administrateur"
 
@@ -894,15 +885,15 @@ msgid "To make sure you don't get locked out of Metabase, there always has to be
 msgstr "Pour s'assurer de ne pas être exclu de Metabase, il doit toujours y avoir au moins un utilisateur dans ce groupe."
 
 #: frontend/src/metabase/admin/people/components/GroupDetail.jsx:177
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:219
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:218
 msgid "Members"
 msgstr "Membres"
 
 #: frontend/src/metabase/admin/people/components/GroupDetail.jsx:177
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:470
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:124
 #: frontend/src/metabase/admin/settings/selectors.js:113
 #: frontend/src/metabase/lib/core.js:55
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:298
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:301
 msgid "Email"
 msgstr "Adresse électronique"
 
@@ -912,8 +903,8 @@ msgstr "Un groupe n'a de valeur que lorsqu'il contient des utilisateurs."
 
 #. tous les items du menu paramètres sont des noms...
 #: frontend/src/metabase/admin/people/components/GroupSummary.jsx:15
-#: frontend/src/metabase/admin/routes.jsx:38
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:50
+#: frontend/src/metabase/admin/routes.jsx:48
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:49
 msgid "Admin"
 msgstr "Administration"
 
@@ -934,70 +925,70 @@ msgstr[1] "{0} autres groupes"
 msgid "Default"
 msgstr "Défaut"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:40
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:39
 msgid "Something like \"Marketing\""
 msgstr "Quelque chose comme \"Marketing\""
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:59
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:58
 msgid "Remove this group?"
 msgstr "Supprimer ce groupe ?"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:61
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:60
 msgid "Are you sure? All members of this group will lose any permissions settings they have based on this group.\n"
 "This can't be undone."
 msgstr "Êtes-vous sûr ? Tous les membres de ce groupe perdront toutes leurs  autorisations basées sur ce groupe.\n"
 "Cette action ne peut pas être annulée."
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:72
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:71
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:42
 #: frontend/src/metabase/components/ConfirmContent.jsx:17
 msgid "Yes"
 msgstr "Oui"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:75
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:74
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:42
 msgid "No"
 msgstr "Non"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:93
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:92
 msgid "Edit Name"
 msgstr "Modifier le Nom"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:96
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:95
 msgid "Remove Group"
 msgstr "Supprimer le groupe"
 
 #: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:46
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:139
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:225
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:263
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:367
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:385
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:138
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:42
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:41
 #: frontend/src/metabase/components/HeaderModal.jsx:43
 #: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:282
-#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:106
-#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:298
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:194
+#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:107
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:327
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:193
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:96
-#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:225
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:265
 msgid "Done"
 msgstr "Fait"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:219
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:218
 msgid "Group name"
 msgstr "Nom du groupe"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:399
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:363
 #: frontend/src/metabase/admin/people/containers/AdminPeopleApp.jsx:25
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:477
-#: frontend/src/metabase/admin/routes.jsx:76
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:131
+#: frontend/src/metabase/admin/routes.jsx:88
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:154
 msgid "Groups"
 msgstr "Groupes"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:400
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:364
 msgid "Create a group"
 msgstr "Créer un groupe"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:406
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:370
 msgid "You can use groups to control your users' access to your data. Put users in groups and then go to the Permissions section to control each group's access. The Administrators and All Users groups are special default groups that can't be removed."
 msgstr "Vous pouvez utiliser des groupes pour contrôler l'accès de vos utilisateurs à vos données. Placez les utilisateurs dans des groupes, puis accédez à la section Autorisations pour contrôler l'accès de chaque groupe. Les groupes Administrateurs et \"Tous les utilisateurs\" sont des groupes par défaut spéciaux qui ne peuvent être supprimés."
 
@@ -1013,28 +1004,26 @@ msgstr "Renvoyer l'invitation"
 msgid "Reset Password"
 msgstr "Réinitialiser le mot de passe"
 
-#: frontend/src/metabase/admin/people/components/UserActionsSelect.jsx:97
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:304
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:40
 msgid "Deactivate"
 msgstr "Désactiver"
 
 #: frontend/src/metabase/admin/people/containers/AdminPeopleApp.jsx:24
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:435
-#: frontend/src/metabase/admin/routes.jsx:74
-#: frontend/src/metabase/nav/containers/Navbar.jsx:205
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:93
+#: frontend/src/metabase/admin/routes.jsx:84
+#: frontend/src/metabase/nav/containers/Navbar.jsx:204
 msgid "People"
 msgstr "Utilisateurs"
 
 #: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:192
 msgid "Who do you want to add?"
-msgstr "Que voulez vous ajouter?"
+msgstr "Que voulez-vous ajouter?"
 
 #: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:207
 msgid "Edit {0}'s details"
 msgstr "Modifier les détails de {0}"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:220
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:258
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:40
 msgid "{0} has been added"
 msgstr "{0} a été ajouté"
 
@@ -1049,11 +1038,11 @@ msgid "We couldn’t send them an email invitation,\n"
 "and this password we’ve generated for them:"
 msgstr "Nous n'avons pas pu lui envoyer un courriel d'invitation, assurez-vous donc qu'il se connecte en utilisant {0} et le mot de passe que nous avons généré :"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:242
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:73
 msgid "If you want to be able to send email invites, just go to the {0} page."
 msgstr "Si vous souhaitez pouvoir envoyer des courriels d'invitation, accédez à la page {0}."
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:268
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:55
 msgid "We’ve sent an invite to {0} with instructions to set their password."
 msgstr "Nous avons envoyé une invitation à {0} avec les instructions pour modifier le mot de passe"
 
@@ -1061,7 +1050,6 @@ msgstr "Nous avons envoyé une invitation à {0} avec les instructions pour modi
 msgid "We've re-sent {0}'s invite"
 msgstr "Nous avons renvoyé l'invitation de {0}"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:285
 #: frontend/src/metabase/query_builder/components/SavedQuestionIntroModal.jsx:22
 #: frontend/src/metabase/tutorial/Tutorial.jsx:253
 msgid "Okay"
@@ -1071,11 +1059,11 @@ msgstr "OK"
 msgid "Any previous email invites they have will no longer work."
 msgstr "Les invitations précédentes, envoyées par courriel, ne fonctionneront plus."
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:300
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:31
 msgid "Deactivate {0}?"
 msgstr "Désactiver {0}?"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:309
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:34
 msgid "{0} won't be able to log in anymore."
 msgstr "{0} ne pourra plus se connecter."
 
@@ -1083,35 +1071,33 @@ msgstr "{0} ne pourra plus se connecter."
 msgid "Reactivate {0}'s account?"
 msgstr "Réactiver le compte de {0}?"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:326
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:58
 msgid "Reactivate"
 msgstr "Réactiver"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:330
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:51
 msgid "They'll be able to log in again, and they'll be placed back into the groups they were in before their account was deactivated."
 msgstr "Ces utilisateurs pourront se connecter à nouveau et ils seront replacés dans les groupes où ils se trouvaient avant que leur compte ne soit désactivé."
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:341
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:51
 msgid "Reset {0}'s password?"
 msgstr "Réinitialiser le mot de passe de {0}"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:347
-#: frontend/src/metabase/components/form/StandardForm.jsx:75
+#: frontend/src/metabase/components/form/StandardForm.jsx:77
 msgid "Reset"
 msgstr "Réinitialiser"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:351
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:54
 #: frontend/src/metabase/components/ConfirmContent.jsx:13
 #: frontend/src/metabase/dashboard/components/ArchiveDashboardModal.jsx:44
 msgid "Are you sure you want to do this?"
 msgstr "Êtes-vous sûr de vouloir faire cela ?"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:362
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:384
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:41
 msgid "{0}'s password has been reset"
 msgstr "Le mot de passe de {0} a été réinitialisé"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:371
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:45
 msgid "Here’s a temporary password they can use to log in and then change their password."
 msgstr "Voici un mot de passe temporaire que les utilisateurs peuvent utiliser pour se connecter, puis modifier leur mot de passe."
 
@@ -1119,41 +1105,40 @@ msgstr "Voici un mot de passe temporaire que les utilisateurs peuvent utiliser p
 msgid "We've sent them an email with instructions for creating a new password."
 msgstr "Nous avons envoyé un courriel à cet utilisateur avec les instructions pour créer un nouveau mot de passe."
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:443
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:101
 msgid "Active"
 msgstr "Actif"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:444
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:473
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:102
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:127
 msgid "Deactivated"
 msgstr "Désactivé"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:459
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:115
 msgid "Add someone"
 msgstr "Ajouter quelqu'un"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:478
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:132
 msgid "Last Login"
 msgstr "Dernier login"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:501
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:153
 msgid "Signed up via Google"
 msgstr "Inscription via Google"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:506
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:158
 msgid "Signed up via LDAP"
 msgstr "Inscription via LDAP"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:518
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:170
 msgid "Reactivate this account"
 msgstr "Ré-activer ce compte"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:545
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:193
 msgid "Never"
 msgstr "Jamais"
 
 #: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:27
-#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:24
 #: src/metabase/automagic_dashboards/core.clj
 msgid "{0} table"
 msgid_plural "{0} tables"
@@ -1189,7 +1174,7 @@ msgid " native queries for "
 msgstr " questions brutes pour "
 
 #: frontend/src/metabase/admin/permissions/routes.jsx:12
-#: frontend/src/metabase/nav/containers/Navbar.jsx:220
+#: frontend/src/metabase/nav/containers/Navbar.jsx:219
 msgid "Permissions"
 msgstr "Permissions"
 
@@ -1226,135 +1211,135 @@ msgstr "Vous avez des modifications non sauvegardées"
 msgid "Do you want to leave this page and discard your changes?"
 msgstr "Voulez-vous quitter cette page et ignorer vos modifications ?"
 
-#: frontend/src/metabase/admin/permissions/permissions.js:137
+#: frontend/src/metabase/admin/permissions/permissions.js:126
 msgid "Sorry, an error occurred."
 msgstr "Désolé, une erreur est survenue."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:59
+#: frontend/src/metabase/admin/permissions/selectors.js:65
 msgid "Administrators always have the highest level of access to everything in Metabase."
 msgstr "Les administrateurs ont toujours le plus haut niveau d'accès à tout dans Metabase."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:61
+#: frontend/src/metabase/admin/permissions/selectors.js:67
 msgid "Every Metabase user belongs to the All Users group. If you want to limit or restrict a group's access to something, make sure the All Users group has an equal or lower level of access."
 msgstr "Tous les utilisateurs de Metabase appartiennent au groupe \"Tous les utilisateurs\". Si vous voulez limiter ou restreindre l'accès d'un groupe à un élément, assurez-vous que le groupe \"Tous les utilisateurs\" a un niveau d'accès égal ou inférieur."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:63
+#: frontend/src/metabase/admin/permissions/selectors.js:69
 msgid "MetaBot is Metabase's Slack bot. You can choose what it has access to here."
 msgstr "MetaBot est le bot Slack de Metabase. Vous pouvez choisir à quoi il a accès ici."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:115
+#: frontend/src/metabase/admin/permissions/selectors.js:119
 msgid "The \"{0}\" group may have access to a different set of {1} than this group, which may give this group additional access to some {2}."
 msgstr "Le groupe \"{0}\" peut avoir accès à un ensemble différent de {1} que ce groupe, ce qui peut donner à ce groupe un accès supplémentaire à certains {2}."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:120
+#: frontend/src/metabase/admin/permissions/selectors.js:124
 msgid "The \"{0}\" group has a higher level of access than this, which will override this setting. You should limit or revoke the \"{1}\" group's access to this item."
 msgstr "Le groupe \"{0}\" a un niveau d'accès plus élevé que celui-ci, qui remplacera ce paramètre. Vous devez limiter ou révoquer l'accès du groupe \"{1}\" à cet élément."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:150
+#: frontend/src/metabase/admin/permissions/selectors.js:154
 msgid "Limit"
 msgstr "Limite"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:150
+#: frontend/src/metabase/admin/permissions/selectors.js:154
 msgid "Revoke"
 msgstr "Révoquer"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:152
+#: frontend/src/metabase/admin/permissions/selectors.js:156
 msgid "access even though \"{0}\" has greater access?"
 msgstr "accéder même si \"{0}\" a accès supérieur?"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:155
-#: frontend/src/metabase/admin/permissions/selectors.js:254
+#: frontend/src/metabase/admin/permissions/selectors.js:159
+#: frontend/src/metabase/admin/permissions/selectors.js:258
 msgid "Limit access"
 msgstr "Limiter l'accès"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:155
-#: frontend/src/metabase/admin/permissions/selectors.js:219
-#: frontend/src/metabase/admin/permissions/selectors.js:262
+#: frontend/src/metabase/admin/permissions/selectors.js:159
+#: frontend/src/metabase/admin/permissions/selectors.js:223
+#: frontend/src/metabase/admin/permissions/selectors.js:266
 msgid "Revoke access"
 msgstr "Révoquer l'accès"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:164
+#: frontend/src/metabase/admin/permissions/selectors.js:168
 msgid "Change access to this database to limited?"
 msgstr "Changer l'accès de cette base de données à limité ?"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:165
+#: frontend/src/metabase/admin/permissions/selectors.js:169
 msgid "Change"
 msgstr "Changer"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:178
+#: frontend/src/metabase/admin/permissions/selectors.js:182
 msgid "Allow Raw Query Writing?"
 msgstr "Autoriser l'écriture de requête brute ?"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:179
+#: frontend/src/metabase/admin/permissions/selectors.js:183
 msgid "This will also change this group's data access to Unrestricted for this database."
 msgstr "Cela aura aussi pour effet de donner à ce groupe un accès non restreint aux données de cette base."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:180
+#: frontend/src/metabase/admin/permissions/selectors.js:184
 msgid "Allow"
 msgstr "Autoriser"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:217
+#: frontend/src/metabase/admin/permissions/selectors.js:221
 msgid "Revoke access to all tables?"
 msgstr "Révoquer l'accès à toutes les tables ?"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:218
+#: frontend/src/metabase/admin/permissions/selectors.js:222
 msgid "This will also revoke this group's access to raw queries for this database."
 msgstr "Cela aura aussi pour effet de révoquer à ce groupe l'usage des questions brutes vers cette base de données."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:247
+#: frontend/src/metabase/admin/permissions/selectors.js:251
 msgid "Grant unrestricted access"
 msgstr "Accorder un accès non restreint"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:248
+#: frontend/src/metabase/admin/permissions/selectors.js:252
 msgid "Unrestricted access"
 msgstr "Accès non restreint"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:255
+#: frontend/src/metabase/admin/permissions/selectors.js:259
 msgid "Limited access"
 msgstr "Accès limité"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:263
+#: frontend/src/metabase/admin/permissions/selectors.js:267
 msgid "No access"
 msgstr "Aucun accès"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:269
+#: frontend/src/metabase/admin/permissions/selectors.js:273
 msgid "Write raw queries"
 msgstr "Ecrire des questions brutes"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:270
+#: frontend/src/metabase/admin/permissions/selectors.js:274
 msgid "Can write raw queries"
 msgstr "Peut/peuvent écrire des questions brutes"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:277
+#: frontend/src/metabase/admin/permissions/selectors.js:281
 msgid "Curate collection"
 msgstr "Organiser une collection"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:284
+#: frontend/src/metabase/admin/permissions/selectors.js:288
 msgid "View collection"
 msgstr "Voir le contenu d'une collection"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:327
-#: frontend/src/metabase/admin/permissions/selectors.js:423
-#: frontend/src/metabase/admin/permissions/selectors.js:520
+#: frontend/src/metabase/admin/permissions/selectors.js:331
+#: frontend/src/metabase/admin/permissions/selectors.js:427
+#: frontend/src/metabase/admin/permissions/selectors.js:524
 msgid "Data Access"
 msgstr "Accès aux données"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:488
-#: frontend/src/metabase/admin/permissions/selectors.js:645
-#: frontend/src/metabase/admin/permissions/selectors.js:650
+#: frontend/src/metabase/admin/permissions/selectors.js:492
+#: frontend/src/metabase/admin/permissions/selectors.js:649
+#: frontend/src/metabase/admin/permissions/selectors.js:654
 msgid "View tables"
 msgstr "Voir les tables"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:586
+#: frontend/src/metabase/admin/permissions/selectors.js:590
 msgid "SQL Queries"
 msgstr "Requêtes SQL"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:656
+#: frontend/src/metabase/admin/permissions/selectors.js:660
 msgid "View schemas"
 msgstr "Voir les schémas"
 
-#: frontend/src/metabase/admin/routes.jsx:49
-#: frontend/src/metabase/nav/containers/Navbar.jsx:210
+#: frontend/src/metabase/admin/routes.jsx:59
+#: frontend/src/metabase/nav/containers/Navbar.jsx:209
 msgid "Data Model"
 msgstr "Modèles de données"
 
@@ -1399,7 +1384,7 @@ msgstr "Ce n'est pas un entier valide"
 #: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:161
 #: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:223
 msgid "Changes saved!"
-msgstr "Modifications sauvegardées  !"
+msgstr "Modifications sauvegardées!"
 
 #: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:157
 #: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:132
@@ -1497,7 +1482,7 @@ msgid "Metabase {0} is available.  You're running {1}"
 msgstr "Metabase {0} est disponible. Vous faites actuellement tourner {1}"
 
 #: frontend/src/metabase/admin/settings/components/SettingsUpdatesForm.jsx:112
-#: frontend/src/metabase/components/form/StandardForm.jsx:67
+#: frontend/src/metabase/components/form/StandardForm.jsx:69
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:96
 msgid "Update"
 msgstr "Mettre à jour"
@@ -2127,20 +2112,19 @@ msgstr "Sauvegardé"
 msgid "Ok"
 msgstr "C'est tout bon"
 
-#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:40
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:38
 msgid "Archive this collection?"
 msgstr "Archiver cette collection ?"
 
-#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:45
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:43
 msgid "The dashboards, collections, and pulses in this collection will also be archived."
 msgstr "Les tableaux de bord, collections et pulses de cette collection seront aussi archivés."
 
-#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:49
-#: frontend/src/metabase/components/CollectionLanding.jsx:587
-#: frontend/src/metabase/components/EntityItem.jsx:54
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:47
+#: frontend/src/metabase/components/CollectionLanding.jsx:624
 #: frontend/src/metabase/components/EntityMenu.info.js:31
 #: frontend/src/metabase/components/EntityMenu.info.js:87
-#: frontend/src/metabase/home/containers/ArchiveApp.jsx:48
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:47
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:195
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:200
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:201
@@ -2154,28 +2138,28 @@ msgstr "Archiver"
 msgid "This {0} has been archived"
 msgstr "Ce/cette {0} a été archivé(e)"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:679
+#: frontend/src/metabase/components/CollectionLanding.jsx:715
 msgid "View the archive"
 msgstr "Voir l'archive"
 
-#: frontend/src/metabase/components/ArchivedItem.jsx:39
+#: frontend/src/metabase/components/ArchivedItem.jsx:43
 msgid "Unarchive this {0}"
 msgstr "Annuler l'archivage de ce/cette {0}"
 
-#: frontend/src/metabase/components/BrowseApp.jsx:95
-#: frontend/src/metabase/components/BrowseApp.jsx:157
-#: frontend/src/metabase/components/BrowseApp.jsx:250
-#: frontend/src/metabase/containers/Overworld.jsx:224
+#: frontend/src/metabase/components/BrowseApp.jsx:70
+#: frontend/src/metabase/components/BrowseApp.jsx:132
+#: frontend/src/metabase/components/BrowseApp.jsx:225
+#: frontend/src/metabase/containers/Overworld.jsx:219
 msgid "Our data"
 msgstr "Nos données"
 
-#: frontend/src/metabase/components/BrowseApp.jsx:194
+#: frontend/src/metabase/components/BrowseApp.jsx:169
 #: frontend/src/metabase/reference/databases/TableSidebar.jsx:55
 msgid "X-ray this table"
 msgstr "Radiographier cette table"
 
-#: frontend/src/metabase/components/BrowseApp.jsx:208
-#: frontend/src/metabase/containers/Overworld.jsx:251
+#: frontend/src/metabase/components/BrowseApp.jsx:183
+#: frontend/src/metabase/containers/Overworld.jsx:246
 msgid "Learn about this table"
 msgstr "Apprendre au sujet de cette table"
 
@@ -2193,31 +2177,31 @@ msgstr "Sauvegardé !"
 msgid "Saving failed."
 msgstr "La sauvegarde a échoué."
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Su"
 msgstr "dim."
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Mo"
 msgstr "lun."
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Tu"
 msgstr "mar."
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "We"
 msgstr "mer."
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Th"
 msgstr "jeu."
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Fr"
 msgstr "ven."
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Sa"
 msgstr "sam."
 
@@ -2250,74 +2234,73 @@ msgstr "Vous pouvez utiliser les collections pour organiser et grouper vos table
 msgid "Create another collection"
 msgstr "Créer une autre collection"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:61
+#: frontend/src/metabase/components/CollectionLanding.jsx:68
 msgid "Dashboards let you collect and share data in one place."
 msgstr "Les tableaux de bord vous permettent de rassembler et partager la donnée à un seul endroit."
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:70
+#: frontend/src/metabase/components/CollectionLanding.jsx:77
 msgid "Pulses let you send out the latest data to your team on a schedule via email or slack."
 msgstr "Les Pulses vous permettent d'envoyer les plus récentes données à votre équipe de façon planifiée, par courriel ou via slack."
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:79
+#: frontend/src/metabase/components/CollectionLanding.jsx:86
 msgid "Questions are a saved look at your data."
 msgstr "Une question est une vue sauvegardée de vos données."
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:275
+#: frontend/src/metabase/components/CollectionLanding.jsx:287
 msgid "Pins"
 msgstr "Epingles"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:329
+#: frontend/src/metabase/components/CollectionLanding.jsx:341
 msgid "Drag something here to pin it to the top"
 msgstr "Déposer quelque chose ici pour l'épingler en haut"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:733
-#: frontend/src/metabase/components/CollectionLanding.jsx:341
+#: frontend/src/metabase/admin/permissions/selectors.js:737
+#: frontend/src/metabase/components/CollectionLanding.jsx:353
 #: frontend/src/metabase/home/containers/SearchApp.jsx:35
-#: frontend/src/metabase/home/containers/SearchApp.jsx:96
+#: frontend/src/metabase/home/containers/SearchApp.jsx:92
 msgid "Collections"
 msgstr "Collections"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:411
-#: frontend/src/metabase/components/CollectionLanding.jsx:434
+#: frontend/src/metabase/components/CollectionLanding.jsx:432
+#: frontend/src/metabase/components/CollectionLanding.jsx:455
 msgid "Drag here to un-pin"
 msgstr "Déposer ici pour ôter une épingle"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:469
+#: frontend/src/metabase/components/CollectionLanding.jsx:490
 msgid "{0} item selected"
 msgid_plural "{0} items selected"
 msgstr[0] "{0} élément sélectionné"
 msgstr[1] "{0} éléments sélectionnés"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:487
+#: frontend/src/metabase/components/CollectionLanding.jsx:522
 msgid "Move {0} items?"
 msgstr "Déplacer {0} éléments"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:488
+#: frontend/src/metabase/components/CollectionLanding.jsx:523
 msgid "Move \"{0}\"?"
 msgstr "Déplacer \"{0}\" ?"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:594
+#: frontend/src/metabase/components/CollectionLanding.jsx:631
 #: frontend/src/metabase/components/EntityMenu.info.js:29
 #: frontend/src/metabase/components/EntityMenu.info.js:85
-#: frontend/src/metabase/containers/CollectionMoveModal.jsx:78
+#: frontend/src/metabase/containers/CollectionMoveModal.jsx:69
 msgid "Move"
 msgstr "Déplacer"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:656
+#: frontend/src/metabase/components/CollectionLanding.jsx:692
 msgid "Edit this collection"
 msgstr "Modifier cette collection"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:664
+#: frontend/src/metabase/components/CollectionLanding.jsx:700
 msgid "Archive this collection"
 msgstr "Archiver cette collection"
 
 #: frontend/src/metabase/components/CollectionList.jsx:64
-#: frontend/src/metabase/entities/collections.js:148
+#: frontend/src/metabase/entities/collections.js:155
 msgid "My personal collection"
 msgstr "Ma collection personnelle"
 
 #: frontend/src/metabase/components/CollectionList.jsx:106
-#: frontend/src/metabase/containers/CollectionForm.jsx:9
 msgid "New collection"
 msgstr "Nouvelle collection"
 
@@ -2389,15 +2372,16 @@ msgstr "Sous quel nom souhaitez-vous référencer cette base de données ?"
 msgid "Next"
 msgstr "Suivant"
 
+#: frontend/src/metabase/components/ArchivedItem.jsx:52
 #: frontend/src/metabase/components/DeleteModalWithConfirm.jsx:80
 msgid "Delete this {0}"
 msgstr "Supprimer ce/cette {0}"
 
-#: frontend/src/metabase/components/EntityItem.jsx:42
+#: frontend/src/metabase/components/EntityItem.jsx:43
 msgid "Pin this item"
 msgstr "Epingler cet élément"
 
-#: frontend/src/metabase/components/EntityItem.jsx:48
+#: frontend/src/metabase/components/EntityItem.jsx:49
 msgid "Move this item"
 msgstr "Déplacer cet élément"
 
@@ -2543,6 +2527,7 @@ msgid "No description yet"
 msgstr "Aucune description"
 
 #: frontend/src/metabase/components/Header.jsx:112
+#: frontend/src/metabase/entities/containers/EntityForm.jsx:43
 msgid "New {0}"
 msgstr "Nouveau/nouvelle {0}"
 
@@ -2606,22 +2591,22 @@ msgid "Everything"
 msgstr "Tout"
 
 #: frontend/src/metabase/components/ItemTypeFilterBar.jsx:18
-#: frontend/src/metabase/home/containers/SearchApp.jsx:73
+#: frontend/src/metabase/home/containers/SearchApp.jsx:69
 msgid "Dashboards"
 msgstr "Tableaux de bord"
 
 #: frontend/src/metabase/components/ItemTypeFilterBar.jsx:23
-#: frontend/src/metabase/home/containers/SearchApp.jsx:119
+#: frontend/src/metabase/home/containers/SearchApp.jsx:115
 msgid "Questions"
 msgstr "Questions"
 
 #: frontend/src/metabase/components/ItemTypeFilterBar.jsx:28
-#: frontend/src/metabase/routes.jsx:320
+#: frontend/src/metabase/routes.jsx:321
 msgid "Pulses"
 msgstr "Pulses"
 
 #: frontend/src/metabase/components/LeftNavPane.jsx:36
-#: frontend/src/metabase/query_builder/components/dataref/DataReference.jsx:86
+#: frontend/src/metabase/query_builder/components/dataref/DataReference.jsx:103
 msgid "Back"
 msgstr "Retour"
 
@@ -2722,6 +2707,7 @@ msgid "First"
 msgstr "Premier"
 
 #: frontend/src/metabase/components/SchedulePicker.jsx:34
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:23
 msgid "Last"
 msgstr "Dernier"
 
@@ -2778,8 +2764,8 @@ msgstr "Désolé, vous n'avez pas la permission de voir cela."
 msgid "Unknown error encountered"
 msgstr "Un erreur inconnue a été rencontrée"
 
-#: frontend/src/metabase/components/form/StandardForm.jsx:67
-#: frontend/src/metabase/nav/containers/Navbar.jsx:305
+#: frontend/src/metabase/components/form/StandardForm.jsx:69
+#: frontend/src/metabase/nav/containers/Navbar.jsx:304
 msgid "Create"
 msgstr "Créer"
 
@@ -2815,12 +2801,13 @@ msgid "View by"
 msgstr "Voir par"
 
 #: frontend/src/metabase/containers/EntitySearch.jsx:494
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:84
 #: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:69
 #: frontend/src/metabase/tutorial/TutorialModal.jsx:34
 msgid "of"
 msgstr "de"
 
-#: frontend/src/metabase/containers/Overworld.jsx:80
+#: frontend/src/metabase/containers/Overworld.jsx:75
 msgid "Don't tell anyone, but you're my favorite."
 msgstr "Ne le dites à personne, mais vous êtes mon favori."
 
@@ -2828,19 +2815,19 @@ msgstr "Ne le dites à personne, mais vous êtes mon favori."
 msgid "Once you connect your own data, I can show you some automatic explorations called x-rays. Here are some examples with sample data."
 msgstr "Une fois connecté à vos propres données, je peux vous montrer quelques explorations automatiquement générées, appelées radiographies. En voici quelques exemples basés sur des données de démonstration."
 
-#: frontend/src/metabase/containers/Overworld.jsx:133
-#: frontend/src/metabase/containers/Overworld.jsx:304
+#: frontend/src/metabase/containers/Overworld.jsx:128
+#: frontend/src/metabase/containers/Overworld.jsx:299
 #: frontend/src/metabase/reference/components/GuideHeader.jsx:12
 msgid "Start here"
 msgstr "Commencez ici"
 
-#: frontend/src/metabase/containers/Overworld.jsx:299
-#: frontend/src/metabase/entities/collections.js:140
+#: frontend/src/metabase/containers/Overworld.jsx:294
+#: frontend/src/metabase/entities/collections.js:147
 #: src/metabase/models/collection.clj
 msgid "Our analytics"
 msgstr "Notre décisionnel"
 
-#: frontend/src/metabase/containers/Overworld.jsx:208
+#: frontend/src/metabase/containers/Overworld.jsx:203
 msgid "Browse all items"
 msgstr "Parcourir tous les éléments"
 
@@ -2868,9 +2855,11 @@ msgstr "Sauvegarder la question"
 msgid "What is the name of your card?"
 msgstr "Quel est le nom de votre carte ?"
 
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:31
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:18
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:232
-#: frontend/src/metabase/entities/collections.js:94
-#: frontend/src/metabase/entities/dashboards.js:102
+#: frontend/src/metabase/entities/collections.js:101
+#: frontend/src/metabase/entities/dashboards.js:151
 #: frontend/src/metabase/lib/core.js:50 frontend/src/metabase/lib/core.js:205
 #: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:156
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:211
@@ -2883,12 +2872,12 @@ msgid "Description"
 msgstr "Description"
 
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:238
-#: frontend/src/metabase/entities/dashboards.js:104
+#: frontend/src/metabase/entities/dashboards.js:153
 msgid "It's optional but oh, so helpful"
 msgstr "C'est facultatif, mais ô combien utile"
 
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:245
-#: frontend/src/metabase/entities/dashboards.js:108
+#: frontend/src/metabase/entities/dashboards.js:157
 msgid "Which collection should this go in?"
 msgstr "Dans quelle collection cela devrait-il aller ?"
 
@@ -2928,11 +2917,11 @@ msgstr "Archiver le tableau de bord"
 msgid "Make sure to make a selection for each series, or the filter won't work on this card."
 msgstr "Assurez-vous de faire un choix pour chaque série de données, ou le filtre ne fonctionnera pas avec cette carte."
 
-#: frontend/src/metabase/dashboard/components/Dashboard.jsx:286
+#: frontend/src/metabase/dashboard/components/Dashboard.jsx:300
 msgid "This dashboard is looking empty."
 msgstr "Ce tableau de bord semble vide."
 
-#: frontend/src/metabase/dashboard/components/Dashboard.jsx:289
+#: frontend/src/metabase/dashboard/components/Dashboard.jsx:301
 msgid "Add a question to start making it useful!"
 msgstr "Ajoutez une question pour commencer à le rendre utile !"
 
@@ -2980,23 +2969,23 @@ msgstr "Paramètres"
 msgid "Add a text box"
 msgstr "Ajouter une zone de texte"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:302
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:319
 msgid "Move dashboard"
 msgstr "Déplacer le tableau de bord"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:315
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:302
 msgid "Edit dashboard"
 msgstr "Modifier le tableau de bord"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:319
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:306
 msgid "Edit Dashboard Layout"
 msgstr "Modifier l'agencement du tableau de bord"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:357
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:369
 msgid "You are editing a dashboard"
 msgstr "Vous modifiez un tableau de bord"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:362
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:374
 msgid "Select the field that should be filtered for each card"
 msgstr "Sélectionner le champ qui devrait être filtré pour chaque carte"
 
@@ -3063,6 +3052,7 @@ msgstr "Enlever cette question ?"
 msgid "Your dashboard was saved"
 msgstr "Votre tableau de bord a été sauvegardé"
 
+#: frontend/src/metabase/components/CollectionLanding.jsx:745
 #: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:76
 msgid "See it"
 msgstr "Voir le résultat"
@@ -3088,15 +3078,15 @@ msgstr "Les valeurs de ce champ ne chevauchent les valeurs d'aucun autre champ s
 msgid "No valid fields"
 msgstr "Aucun champ valide"
 
-#: frontend/src/metabase/entities/collections.js:90
+#: frontend/src/metabase/entities/collections.js:97
 msgid "Name must be 100 characters or less"
 msgstr "Le nom ne pas contenir plus de 100 caractères"
 
-#: frontend/src/metabase/entities/collections.js:104
+#: frontend/src/metabase/entities/collections.js:111
 msgid "Color is required"
 msgstr "Une couleur est exigée"
 
-#: frontend/src/metabase/entities/dashboards.js:97
+#: frontend/src/metabase/entities/dashboards.js:146
 msgid "What is the name of your dashboard?"
 msgstr "Quel est le nom de votre tableau de bord"
 
@@ -3150,7 +3140,9 @@ msgstr "a enlevé une question du tableau de bord - "
 msgid "received the latest data from"
 msgstr "a reçu les dernières données de"
 
+#: frontend/src/metabase-lib/lib/Dimension.js:621
 #: frontend/src/metabase/home/components/Activity.jsx:244
+#: frontend/src/metabase/lib/query_time.js:180
 #: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:273
 msgid "Unknown"
 msgstr "Inconnu"
@@ -3272,17 +3264,17 @@ msgstr "Consulté récemment"
 msgid "You haven't looked at any dashboards or questions recently"
 msgstr "Vous n'avez consulté aucun tableau de bord ou question récemment"
 
-#: frontend/src/metabase/home/containers/ArchiveApp.jsx:82
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:99
 msgid "{0} items selected"
 msgstr "{0} élément(s) sélectionné(s)"
 
-#: frontend/src/metabase/home/containers/ArchiveApp.jsx:102
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:121
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:172
 msgid "Unarchive"
 msgstr "Désarchiver"
 
 #: frontend/src/metabase/home/containers/HomepageApp.jsx:74
-#: frontend/src/metabase/nav/containers/Navbar.jsx:332
+#: frontend/src/metabase/nav/containers/Navbar.jsx:331
 msgid "Activity"
 msgstr "Activité"
 
@@ -3291,7 +3283,7 @@ msgid "Results for \"{0}\""
 msgstr "Résultats pour \"{0}\""
 
 #. Le terme "Pulse" désigne une fonctionnalité bien spécifique de Metabase, je pense qu'on ne devrait pas le traduire. Surtout qu'en Français "Pulse" est très compréhensible.
-#: frontend/src/metabase/home/containers/SearchApp.jsx:142
+#: frontend/src/metabase/home/containers/SearchApp.jsx:138
 msgid "Pulse"
 msgstr "Pulse"
 
@@ -3354,7 +3346,7 @@ msgstr "Commun"
 
 #: frontend/src/metabase/lib/core.js:30
 #: frontend/src/metabase/meta/Dashboard.js:81
-#: frontend/src/metabase/qb/components/actions/PivotByCategoryAction.jsx:9
+#: frontend/src/metabase/modes/components/actions/PivotByCategoryAction.jsx:9
 msgid "Category"
 msgstr "Catégorie"
 
@@ -3390,10 +3382,11 @@ msgstr "Longitude"
 
 #: frontend/src/metabase/lib/core.js:85
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:149
-#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:39
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:41
 msgid "Number"
 msgstr "Numérique"
 
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:19
 #: frontend/src/metabase/lib/core.js:90
 #: frontend/src/metabase/meta/Dashboard.js:65
 msgid "State"
@@ -3558,7 +3551,7 @@ msgid "CumulativeCount"
 msgstr "Nombre cumulé de lignes"
 
 #: frontend/src/metabase/lib/expressions/config.js:9
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:17
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:17
 #: frontend/src/metabase/visualizations/lib/utils.js:127
 msgid "Sum"
 msgstr "Somme"
@@ -3582,14 +3575,14 @@ msgid "Average"
 msgstr "Moyenne"
 
 #: frontend/src/metabase/lib/expressions/config.js:14
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:25
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:25
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:48
 #: frontend/src/metabase/visualizations/lib/settings/graph.js:450
 msgid "Min"
 msgstr "Minimum"
 
 #: frontend/src/metabase/lib/expressions/config.js:15
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:29
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:29
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:57
 #: frontend/src/metabase/visualizations/lib/settings/graph.js:458
 msgid "Max"
@@ -3599,13 +3592,13 @@ msgstr "Maximum"
 msgid "sad sad panda, lexing errors detected"
 msgstr "Des ereurs syntaxiques ou lexicales ont été détectées"
 
-#: frontend/src/metabase/lib/formatting.js:724
+#: frontend/src/metabase/lib/formatting.js:707
 msgid "{0} second"
 msgid_plural "{0} seconds"
 msgstr[0] "{0} seconde"
 msgstr[1] "{0} secondes"
 
-#: frontend/src/metabase/lib/formatting.js:727
+#: frontend/src/metabase/lib/formatting.js:710
 msgid "{0} minute"
 msgid_plural "{0} minutes"
 msgstr[0] "{0} minute"
@@ -3864,7 +3857,7 @@ msgid "Cumulative sum of ..."
 msgstr "Somme cumulée de ..."
 
 #: frontend/src/metabase/lib/schema_metadata.js:493
-msgid "Additive sum of all the values of a column.\\ne.x. total revenue over time."
+msgid "Additive sum of all the values of a column.\\\\ne.x. total revenue over time."
 msgstr "Somme cumulée de toutes les valeurs d'une colonne. Ex : Gain total au cours du temps."
 
 #: frontend/src/metabase/lib/schema_metadata.js:499
@@ -3872,7 +3865,7 @@ msgid "Cumulative count of rows"
 msgstr "Nombre cumulé de lignes"
 
 #: frontend/src/metabase/lib/schema_metadata.js:501
-msgid "Additive count of the number of rows.\\ne.x. total number of sales over time."
+msgid "Additive count of the number of rows.\\\\ne.x. total number of sales over time."
 msgstr "Nombre cumulé de lignes. Ex : Nombre total de ventes au cours du temps."
 
 #: frontend/src/metabase/lib/schema_metadata.js:507
@@ -4039,7 +4032,7 @@ msgid "ID"
 msgstr "ID"
 
 #: frontend/src/metabase/meta/Dashboard.js:95
-#: frontend/src/metabase/qb/components/actions/PivotByTimeAction.jsx:8
+#: frontend/src/metabase/modes/components/actions/PivotByTimeAction.jsx:8
 msgid "Time"
 msgstr "Heure"
 
@@ -4048,7 +4041,7 @@ msgid "Date range, relative date, time of day, etc."
 msgstr "Intervalle de date, date relative, heure du jour, etc."
 
 #: frontend/src/metabase/meta/Dashboard.js:101
-#: frontend/src/metabase/qb/components/actions/PivotByLocationAction.jsx:8
+#: frontend/src/metabase/modes/components/actions/PivotByLocationAction.jsx:8
 msgid "Location"
 msgstr "Lieu"
 
@@ -4068,75 +4061,75 @@ msgstr "Autres catégories"
 msgid "Category, Type, Model, Rating, etc."
 msgstr "Catégorie, Type, Modèle, Classement"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:43
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:42
 #: frontend/src/metabase/user/components/UserSettings.jsx:54
 msgid "Account settings"
 msgstr "Réglages du compte utilisateur"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:50
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:49
 msgid "Exit admin"
 msgstr "Quitter le panneau d'administration"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:60
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:34
 msgid "Logs"
 msgstr "Journaux"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:67
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:58
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorSidebar.jsx:105
 msgid "Help"
 msgstr "Aide"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:76
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:67
 msgid "About Metabase"
 msgstr "A propos de Metabase"
 
 #. Les items du menu sont tous des noms...
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:82
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:73
 msgid "Sign out"
 msgstr "Déconnexion"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:107
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:98
 msgid "Thanks for using"
 msgstr "Merci d'utiliser"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:111
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:102
 msgid "You're on version"
 msgstr "Vous êtes en version"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:114
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:105
 msgid "Built on"
 msgstr "Sortie le"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:133
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:124
 msgid "is a Trademark of"
 msgstr "est une marque de"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:135
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:126
 msgid "and is built with care in San Francisco, CA"
 msgstr "et est fabriqué avec soin à San Francisco, CA"
 
 #. C'est le texte dans le coin haut gauche du panneau d'administration
-#: frontend/src/metabase/nav/containers/Navbar.jsx:195
+#: frontend/src/metabase/nav/containers/Navbar.jsx:194
 msgid "Metabase Admin"
 msgstr "Admin Metabase"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:301
+#: frontend/src/metabase/nav/containers/Navbar.jsx:300
 #: frontend/src/metabase/reference/databases/TableQuestions.jsx:36
 #: frontend/src/metabase/reference/metrics/MetricQuestions.jsx:37
 #: frontend/src/metabase/reference/segments/SegmentQuestions.jsx:37
 msgid "Ask a question"
 msgstr "Poser une question"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:310
+#: frontend/src/metabase/nav/containers/Navbar.jsx:309
 msgid "New dashboard"
 msgstr "Nouveau tableau de bord"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:316
+#: frontend/src/metabase/nav/containers/Navbar.jsx:315
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:127
 msgid "New pulse"
 msgstr "Nouveau pulse"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:324
+#: frontend/src/metabase/nav/containers/Navbar.jsx:323
 msgid "Reference"
 msgstr "Référentiel"
 
@@ -4186,17 +4179,22 @@ msgid "Select a default value…"
 msgstr "Choisir une valeur par défaut"
 
 #: frontend/src/metabase/parameters/components/widgets/DateAllOptionsWidget.jsx:149
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:390
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:404
 msgid "Update filter"
 msgstr "Mettre à jour le filtre"
 
+#: frontend/src/metabase/lib/query_time.js:112
+#: frontend/src/metabase/lib/query_time.js:123
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:9
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:144
+#: src/metabase/pulse/render.clj
 msgid "Today"
 msgstr "Aujourd'hui"
 
+#: frontend/src/metabase/lib/query_time.js:118
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:14
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:148
+#: src/metabase/pulse/render.clj
 msgid "Yesterday"
 msgstr "Hier"
 
@@ -4208,23 +4206,32 @@ msgstr "Les 7 derniers jours"
 msgid "Past 30 days"
 msgstr "Les 30 derniers jours"
 
+#: frontend/src/metabase/lib/query_time.js:195
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:24
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:29
 #: src/metabase/api/table.clj
 msgid "Week"
-msgstr "Semaine"
+msgid_plural "Weeks"
+msgstr[0] "Semaine"
+msgstr[1] "Semaines"
 
+#: frontend/src/metabase/lib/query_time.js:197
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:25
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:30
 #: src/metabase/api/table.clj
 msgid "Month"
-msgstr "Mois"
+msgid_plural "Months"
+msgstr[0] "Mois"
+msgstr[1] "Mois"
 
+#: frontend/src/metabase/lib/query_time.js:201
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:26
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:31
 #: src/metabase/api/table.clj
 msgid "Year"
-msgstr "Année"
+msgid_plural "Years"
+msgstr[0] "Année"
+msgstr[1] "Années"
 
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:152
 msgid "Past 7 Days"
@@ -4258,7 +4265,7 @@ msgstr "Ce mois-ci"
 msgid "This Year"
 msgstr "Cette année"
 
-#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:88
+#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:89
 #: frontend/src/metabase/parameters/components/widgets/TextWidget.jsx:54
 msgid "Enter a value..."
 msgstr "Saisir une valeur..."
@@ -4442,7 +4449,7 @@ msgid "This pulse will no longer be emailed to {0} {1}"
 msgstr "Ce pulse ne sera plus envoyée par courriel à {0} {1}"
 
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:94
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:374
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:376
 msgid "{0} address"
 msgid_plural "{0} addresses"
 msgstr[0] "{0} adresse"
@@ -4496,7 +4503,7 @@ msgstr "Pièce jointe"
 
 #: frontend/src/metabase/pulse/components/PulseEditCards.jsx:104
 #: frontend/src/metabase/pulse/components/PulseEditCards.jsx:111
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:671
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:673
 msgid "Heads up"
 msgstr "Avertissement"
 
@@ -4524,55 +4531,55 @@ msgstr "Sélectionner vos données"
 msgid "Choose questions you'd like to send in this pulse"
 msgstr "Choisissez les questions que vous voudriez envoyer dans ce pulse"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:29
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:27
 msgid "Emails"
 msgstr "Courriels"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:30
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:28
 msgid "Slack messages"
 msgstr "Messages Slack"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:223
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:221
 msgid "Sent"
 msgstr "Envoyé"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:224
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:222
 msgid "{0} will be sent at"
 msgstr "{0} sera envoyé à"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:226
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:224
 msgid "Messages"
 msgstr "Messages"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:237
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:240
 msgid "Send email now"
 msgstr "Envoyer par courriel maintenant"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:238
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:241
 msgid "Send to {0} now"
 msgstr "Envoyer à {0} maintenant"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:240
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:243
 msgid "Sending…"
 msgstr "Envoi en cours..."
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:241
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:244
 msgid "Sending failed"
 msgstr "L'envoi a échoué"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:244
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:247
 msgid "Didn’t send because the pulse has no results."
 msgstr "L'envoi n'a pas été fait car le pulse n'a aucun résultat."
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:245
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:248
 msgid "Pulse sent"
 msgstr "Pulse envoyé"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:284
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:287
 msgid "{0} needs to be set up by an administrator."
 msgstr "{0} a besoin d'être configuré(e) par un administrateur."
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:299
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:302
 msgid "Slack"
 msgstr "Slack"
 
@@ -4612,66 +4619,66 @@ msgstr "Aidez chacun de vos utilisateurs à rester en phase avec vos données."
 msgid "Pulses let you send data from Metabase to email or Slack on the schedule of your choice."
 msgstr "Les Pulses vous permettent d'envoyer vos données de façon planifiée, par e-mail ou via slack."
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:100
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:100
 msgid "After {0}"
 msgstr "Après {0}"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:102
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:102
 msgid "Before {0}"
 msgstr "Avant {0}"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:104
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:104
 #: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:295
 msgid "Is Empty"
 msgstr "Est vide"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:106
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:106
 #: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:301
 msgid "Not Empty"
 msgstr "N'est pas vide"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:109
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:109
 #: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:213
 msgid "All Time"
 msgstr "Tout le temps"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:154
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:154
 msgid "Apply"
 msgstr "Appliquer les modifications"
 
-#: frontend/src/metabase/qb/components/actions/CommonMetricsAction.jsx:21
+#: frontend/src/metabase/modes/components/actions/CommonMetricsAction.jsx:21
 msgid "View {0}"
 msgstr "Vue {0}"
 
-#: frontend/src/metabase/qb/components/actions/CompareWithTable.jsx:29
+#: frontend/src/metabase/modes/components/actions/CompareWithTable.jsx:29
 msgid "Compare this with all rows in the table"
 msgstr "Comparer cela avec toutes les lignes de la table"
 
-#: frontend/src/metabase/qb/components/actions/CompoundQueryAction.jsx:14
+#: frontend/src/metabase/modes/components/actions/CompoundQueryAction.jsx:14
 msgid "Analyze the results of this Query"
 msgstr "Analyser les résultats de cette requête"
 
-#: frontend/src/metabase/qb/components/actions/CountByTimeAction.jsx:29
+#: frontend/src/metabase/modes/components/actions/CountByTimeAction.jsx:29
 msgid "Count of rows by time"
 msgstr "Nombre de lignes au fil du temps"
 
-#: frontend/src/metabase/qb/components/actions/PivotByAction.jsx:55
+#: frontend/src/metabase/modes/components/actions/PivotByAction.jsx:52
 msgid "Break out by {0}"
 msgstr "Eclater par {0}"
 
-#: frontend/src/metabase/qb/components/actions/SummarizeBySegmentMetricAction.jsx:34
+#: frontend/src/metabase/modes/components/actions/SummarizeBySegmentMetricAction.jsx:31
 msgid "Summarize this segment"
 msgstr "Résumez ce segment"
 
-#: frontend/src/metabase/qb/components/actions/UnderlyingDataAction.jsx:14
+#: frontend/src/metabase/modes/components/actions/UnderlyingDataAction.jsx:14
 msgid "View this as a table"
 msgstr "Voir ceci comme un tableau"
 
-#: frontend/src/metabase/qb/components/actions/UnderlyingRecordsAction.jsx:22
+#: frontend/src/metabase/modes/components/actions/UnderlyingRecordsAction.jsx:22
 msgid "View the underlying {0} records"
 msgstr "Afficher les enregistrements sous-jacents {0}"
 
-#: frontend/src/metabase/qb/components/actions/XRayCard.jsx:20
+#: frontend/src/metabase/modes/components/actions/XRayCard.jsx:20
 msgid "X-Ray this question"
 msgstr "Radiographier cette question"
 
@@ -4693,46 +4700,46 @@ msgstr "ce/cette"
 msgid "Compare {0} {1} to the rest"
 msgstr "Comparer {0} {1} au reste"
 
-#: frontend/src/metabase/qb/components/drill/DistributionDrill.jsx:35
+#: frontend/src/metabase/modes/components/drill/DistributionDrill.jsx:35
 msgid "Distribution"
 msgstr "Distribution"
 
-#: frontend/src/metabase/qb/components/drill/ObjectDetailDrill.jsx:38
+#: frontend/src/metabase/modes/components/drill/ObjectDetailDrill.jsx:38
 msgid "View details"
 msgstr "Voir les détails"
 
-#: frontend/src/metabase/qb/components/drill/QuickFilterDrill.jsx:54
+#: frontend/src/metabase/modes/components/drill/QuickFilterDrill.jsx:54
 msgid "View this {0}'s {1}"
 msgstr "Voir les {1} de ce/cette {0}"
 
-#: frontend/src/metabase/qb/components/drill/SortAction.jsx:41
+#: frontend/src/metabase/modes/components/drill/SortAction.jsx:42
 msgid "Ascending"
 msgstr "Croissant"
 
-#: frontend/src/metabase/qb/components/drill/SortAction.jsx:49
+#: frontend/src/metabase/modes/components/drill/SortAction.jsx:50
 msgid "Descending"
 msgstr "Décroissant"
 
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnByTimeDrill.js:47
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnByTimeDrill.js:47
 msgid "over time"
 msgstr "au cours du temps"
 
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:21
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:21
 msgid "Avg"
 msgstr "Moyenne"
 
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:33
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:33
 msgid "Distincts"
 msgstr "Valeurs distinctes"
 
-#: frontend/src/metabase/qb/components/drill/UnderlyingRecordsDrill.jsx:32
+#: frontend/src/metabase/modes/components/drill/UnderlyingRecordsDrill.jsx:32
 msgid "View this {0}"
 msgid_plural "View these {0}"
 msgstr[0] "Visualiser ce/cette {0}"
 msgstr[1] "Visualiser ces {0}"
 
 #: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:225
-#: frontend/src/metabase/qb/components/drill/ZoomDrill.jsx:26
+#: frontend/src/metabase/modes/components/drill/ZoomDrill.jsx:26
 msgid "Zoom in"
 msgstr "Agrandir"
 
@@ -4744,63 +4751,63 @@ msgstr "Expression personnalisée"
 msgid "Common Metrics"
 msgstr "Métriques communes"
 
-#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:182
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:209
 msgid "Metabasics"
 msgstr "Metabasiques"
 
-#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:290
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:319
 msgid "Name (optional)"
 msgstr "Nom (optionnel)"
 
-#: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:153
+#: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:156
 msgid "Choose an aggregation"
 msgstr "Choisir un agrégat"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:115
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:100
 msgid "Set up your own alert"
 msgstr "Configurez votre propre alerte"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:155
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:140
 msgid "Unsubscribing..."
 msgstr "En cours de désinscription..."
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:160
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:145
 msgid "Failed to unsubscribe"
 msgstr "Echec de la désinscription"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:216
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:204
 msgid "Unsubscribe"
 msgstr "Se désinscrire"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:247
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:235
 msgid "No channel"
 msgstr "Aucun canal"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:274
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:263
 msgid "Okay, you're unsubscribed"
 msgstr "Voilà, vous êtes désinscrit"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:346
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:335
 msgid "You're receiving {0}'s alerts"
 msgstr "Vous recevez les alertes de {0}"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:347
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:336
 msgid "{0} set up an alert"
 msgstr "{0} a configuré une alerte"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:161
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:160
 msgid "alerts"
 msgstr "alertes"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:184
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:183
 msgid "Let's set up your alert"
 msgstr "Configurons votre alerte"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:215
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:214
 msgid "The wide world of alerts"
 msgstr "Le vaste monde des alertes"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:216
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:215
 msgid "There are a few different kinds of alerts you can get"
 msgstr "Il y a une poignée de types d'alerte que vous pouvez recevoir"
 
@@ -4812,123 +4819,123 @@ msgstr "Quand une question de données brutes {0}"
 msgid "returns any results"
 msgstr "ramène un résultat"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:240
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:241
 msgid "When a line or bar {0}"
 msgstr "Quand une ligne de graphique ou une barre d'histogramme {0}"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:241
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:242
 msgid "crosses a goal line"
 msgstr "traverse une ligne d'objectif"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:251
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:253
 msgid "When a progress bar {0}"
 msgstr "Quand une barre de progression {0}"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:252
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:254
 msgid "reaches its goal"
 msgstr "objectif atteint"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:260
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:262
 msgid "Set up an alert"
 msgstr "Configurer une alerte"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:329
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:331
 msgid "Edit your alert"
 msgstr "Modifier votre alerte"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:329
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:331
 msgid "Edit alert"
 msgstr "Modifier l'alerte"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:372
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:374
 msgid "This alert will no longer be emailed to {0}."
 msgstr "Cette alerte ne sera plus envoyée par e-mail à {0}."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:380
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:382
 msgid "Slack channel {0} will no longer get this alert."
 msgstr "Le channel Slack {0} ne recevra plus cette alerte."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:384
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:386
 msgid "Channel {0} will no longer receive this alert."
 msgstr "Le canal {0} ne recevra plus cette alerte."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:401
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:403
 msgid "Delete this alert"
 msgstr "Supprimer cette alerte"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:403
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:405
 msgid "Stop delivery and delete this alert. There's no undo, so be careful."
 msgstr "Arrêter la génération et supprimer cette alerte. Il n'y a aucun retour arrière, soyez donc prudent."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:411
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:413
 msgid "Delete this alert?"
 msgstr "Supprimer cette alerte ?"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:495
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:497
 msgid "Alert me when the line…"
 msgstr "Prévenez moi quand la ligne ..."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:496
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:498
 msgid "Alert me when the progress bar…"
 msgstr "Me prévenir quand la barre de progression"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:499
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:501
 msgid "Goes above the goal line"
 msgstr "Passe au dessus de la ligne d'objectif"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:499
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:501
 msgid "Reaches the goal"
 msgstr "Objectif atteint"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:502
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:504
 msgid "Goes below the goal line"
 msgstr "Passe en dessous de la ligne d'objectif"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:502
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:504
 msgid "Goes below the goal"
 msgstr "Passe sous l'objectif"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:510
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:512
 msgid "The first time it crosses, or every time?"
 msgstr "Au premier croisement, ou à chaque fois ?"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:511
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:513
 msgid "The first time it reaches the goal, or every time?"
 msgstr "La première fois que l'objectif est atteint, ou à chaque fois ?"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:513
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:515
 msgid "The first time"
 msgstr "La première fois"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:514
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:516
 msgid "Every time"
 msgstr "Chaque fois"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:617
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:619
 msgid "Where do you want to send these alerts?"
 msgstr "Où voulez-vous envoyer ces alertes ?"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:628
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:630
 msgid "Email alerts to:"
 msgstr "Envoyer par courriel à :"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:670
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:672
 msgid "{0} Goal-based alerts aren't yet supported for charts with more than one line, so this alert will be sent whenever the chart has {1}."
 msgstr "{0} Les alertes basées sur l'objectif ne prennent pas encore en charge les graphiques multi-lignes, cette alerte sera donc envoyée chaque fois que le graphique a {1}."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:673
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:675
 msgid "results"
 msgstr "résultats"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:677
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:679
 msgid "{0} This kind of alert is most useful when your saved question doesn’t {1} return any results, but you want to know when it does."
 msgstr "{0} ce type d'alerte est surtout utile quand votre question sauvegardée ne retourne {1} pas de résutat, mais que vous voulez savoir quand elle en retourne un."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:678
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:680
 msgid "Tip"
 msgstr "Astuce"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:680
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:682
 msgid "usually"
 msgstr "habituellement"
 
@@ -4951,29 +4958,29 @@ msgstr "Sélectionner..."
 msgid "Select a table"
 msgstr "Sélectionner une table"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:785
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:793
 msgid "No tables found in this database."
 msgstr "Aucune table trouvé dans cette base de données"
 
 #. Manque-t-il ? https://www.lalanguefrancaise.com/orthographe/y-a-t-il-orthographe/
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:822
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:830
 msgid "Is a question missing?"
 msgstr "Manque-t-il une question ?"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:826
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:834
 msgid "Learn more about nested queries"
 msgstr "En savoir plus sur les questions imbriquées"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:860
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:868
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:30
 msgid "Fields"
 msgstr "Champs"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:938
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:946
 msgid "No segments were found."
 msgstr "Aucun segment trouvé."
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:961
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:969
 msgid "Find a segment"
 msgstr "Trouver un segment"
 
@@ -4985,27 +4992,27 @@ msgstr "Voir l'essentiel"
 msgid "View more"
 msgstr "Voir en détails"
 
-#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:111
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:112
 msgid "Pick a field to sort by"
 msgstr "Choisir un champ selon lequel trier"
 
-#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:124
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:125
 msgid "Sort"
 msgstr "Trier"
 
-#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:193
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:137
 msgid "Row limit"
 msgstr "Nombre de lignes maximum"
 
-#: frontend/src/metabase/query_builder/components/FieldName.jsx:76
+#: frontend/src/metabase/query_builder/components/FieldName.jsx:69
 msgid "Unknown Field"
 msgstr "Champ inconnu"
 
-#: frontend/src/metabase/query_builder/components/FieldName.jsx:79
+#: frontend/src/metabase/query_builder/components/FieldName.jsx:72
 msgid "field"
 msgstr "champ"
 
-#: frontend/src/metabase/query_builder/components/Filter.jsx:113
+#: frontend/src/metabase/query_builder/components/Filter.jsx:114
 msgid "Matches"
 msgstr "Correspondances"
 
@@ -5026,11 +5033,11 @@ msgstr "Ajouter une agrégation"
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:59
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:68
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:75
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:226
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:232
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:238
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:62
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:67
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:225
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:231
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:237
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:70
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:75
 msgid "Data"
 msgstr "Données"
 
@@ -5040,7 +5047,7 @@ msgid "Filtered by"
 msgstr "Filtre"
 
 #. Bonjour Fabrice, je propose de conserver "Vue" comme tu l'avais indiqué la première fois dans le générateur de requête on aurait alors : "Données" / "Filtrées par" / "Vue" / "Groupées par".
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:82
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:75
 #: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:369
 msgid "View"
 msgstr "Vue"
@@ -5275,8 +5282,7 @@ msgstr "Retourner à la dernière exécution"
 msgid "Visualization"
 msgstr "Visualisation"
 
-#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:17
-#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:151
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:96
 msgid "No description set."
 msgstr "Aucune description."
 
@@ -5284,12 +5290,11 @@ msgstr "Aucune description."
 msgid "Use for current question"
 msgstr "Utiliser pour la question actuelle"
 
-#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:33
 #: frontend/src/metabase/reference/components/UsefulQuestions.jsx:16
 msgid "Potentially useful questions"
 msgstr "Questions potentiellement utiles"
 
-#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:156
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:166
 msgid "Group by {0}"
 msgstr "Aggréger par {0}"
 
@@ -5297,20 +5302,19 @@ msgstr "Aggréger par {0}"
 msgid "Sum of all values of {0}"
 msgstr "Somme de toutes les valeurs de {0}"
 
-#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:173
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:63
 #: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:51
 msgid "All distinct values of {0}"
 msgstr "Toutes les valeurs distinctes de {0}"
 
-#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:177
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:187
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:39
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:51
 #: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:39
 msgid "Number of {0} grouped by {1}"
 msgstr "Nombre de {0} aggrégés par {1}"
 
-#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:11
+#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:10
 #: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:20
 #: frontend/src/metabase/reference/databases/FieldSidebar.jsx:30
 #: frontend/src/metabase/reference/databases/TableSidebar.jsx:26
@@ -5365,15 +5369,15 @@ msgstr "Une erreur est survenue au chargement de la table"
 msgid "See the raw data for {0}"
 msgstr "Voir les données brutes de {0}"
 
-#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:205
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:180
 msgid "More"
 msgstr "Plus"
 
-#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:200
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:201
 msgid "Invalid expression"
 msgstr "Expression invalide"
 
-#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:275
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:276
 msgid "unknown error"
 msgstr "erreur inconnue"
 
@@ -5434,19 +5438,19 @@ msgstr "cette minute"
 msgid "this hour"
 msgstr "cette heure"
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:285
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:290
 msgid "not implemented {0}"
 msgstr "{0} non implémenté {0"
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:286
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:291
 msgid "true"
 msgstr "vrai"
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:286
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:291
 msgid "false"
 msgstr "faux"
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:390
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:404
 msgid "Add filter"
 msgstr "Ajouter un filtre"
 
@@ -5753,7 +5757,7 @@ msgstr "Choses dont on doit être conscient à propos de cette base de données"
 msgid "Databases and tables"
 msgstr "Bases de données et tables"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:68
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:61
 #: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:27
 #: frontend/src/metabase/reference/databases/FieldSidebar.jsx:41
 #: frontend/src/metabase/reference/databases/TableDetail.jsx:170
@@ -6141,7 +6145,7 @@ msgstr "Rechercher"
 msgid "Dashboard"
 msgstr "Tableau de bord"
 
-#: frontend/src/metabase/routes.jsx:227
+#: frontend/src/metabase/routes.jsx:228
 msgid "New Question"
 msgstr "Nouvelle question"
 
@@ -6452,7 +6456,7 @@ msgstr "Se connecter avec Google"
 msgid "User Details"
 msgstr "Détails de l'utilisateur"
 
-#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:235
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:275
 msgid "Reset to defaults"
 msgstr "Réinitialiser"
 
@@ -6501,35 +6505,35 @@ msgstr "Désactiver"
 msgid "Rows {0}-{1} of {2}"
 msgstr "Lignes {0}-{1} parmi {2}"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:187
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:189
 msgid "Data truncated to {0} rows."
 msgstr "Données tronquées à {0} lignes."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:352
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:364
 msgid "Could not find visualization"
 msgstr "Impossible de trouver la visualisation"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:359
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:371
 msgid "Could not display this chart with this data."
 msgstr "Impossible d'afficher cet graphique avec ces données."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:457
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:469
 msgid "No results!"
 msgstr "Pas de résultat!"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:478
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:490
 msgid "Still Waiting..."
 msgstr "Toujours en attente..."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:481
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:493
 msgid "This usually takes an average of {0}."
 msgstr "Cela prend habituellement en moyenne {0}."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:487
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:499
 msgid "(This is a bit long for a dashboard)"
 msgstr "(C'est un peu long pour un tableau de bord)"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:491
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:503
 msgid "This is usually pretty fast but seems to be taking awhile right now."
 msgstr "C'est habituellement rapide mais il semble que cela commence à durer maintenant."
 
@@ -6641,7 +6645,7 @@ msgid "Highlight the whole row"
 msgstr "Surligner toute la ligne"
 
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:390
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:90
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:98
 msgid "Colors"
 msgstr "Couleurs"
 
@@ -6950,7 +6954,7 @@ msgid "Funnel"
 msgstr "Entonnoir"
 
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:76
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:68
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:76
 msgid "Measure"
 msgstr "Mesure"
 
@@ -6966,15 +6970,15 @@ msgstr "Diagramme en colonnes"
 msgid "line chart"
 msgstr "Courbe"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:225
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:224
 msgid "Please select longitude and latitude columns in the chart settings."
 msgstr "Choisissez s'il vous plaît les colonnes de longitude et latitude."
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:231
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:230
 msgid "Please select a region map."
 msgstr "Choisissez s'il vous plaît une carte régionale."
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:237
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:236
 msgid "Please select region and metric columns in the chart settings."
 msgstr "Choisissez s'il vous plaît les colonnes de métrique et de région."
 
@@ -7024,19 +7028,19 @@ msgstr "Champ de métrique"
 msgid "Region field"
 msgstr "Champ de région"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:193
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:192
 msgid "Radius"
 msgstr "Rayon"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:199
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:198
 msgid "Blur"
 msgstr "Flouter"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:205
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:204
 msgid "Min Opacity"
 msgstr "Opacité minimale"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:211
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:210
 msgid "Max Zoom"
 msgstr "Zoom maximum"
 
@@ -7060,31 +7064,31 @@ msgstr "Détail de l'objet"
 msgid "object"
 msgstr "objet"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:304
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:312
 msgid "Total"
 msgstr "Total"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:53
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:61
 msgid "Which columns do you want to use?"
 msgstr "Quelles colonnes voulez-vous utiliser ?"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:41
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:44
 msgid "Pie"
 msgstr "Pie"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:63
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:71
 msgid "Dimension"
 msgstr "Dimension"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:73
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:81
 msgid "Show legend"
 msgstr "Montrer la légende"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:78
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:86
 msgid "Show percentages in legend"
 msgstr "Montrer les pourcentages en légende"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:84
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:92
 msgid "Minimum slice percentage"
 msgstr "Pourcentage minimum d'une part"
 
@@ -7108,8 +7112,8 @@ msgstr "La visualisation en barre de progession nécessite un nombre."
 msgid "Progress"
 msgstr "Barre de progession"
 
-#: frontend/src/metabase/entities/collections.js:101
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:177
+#: frontend/src/metabase/entities/collections.js:108
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:176
 #: frontend/src/metabase/visualizations/visualizations/Progress.jsx:57
 msgid "Color"
 msgstr "Couleur"
@@ -7200,15 +7204,15 @@ msgstr "Droite"
 msgid "Show background"
 msgstr "Montrer l'arrière plan"
 
-#: frontend/src/metabase-lib/lib/Dimension.js:492
+#: frontend/src/metabase-lib/lib/Dimension.js:553
 msgid "{0} bin"
 msgid_plural "{0} bins"
 msgstr[0] "{0} cellule"
 msgstr[1] "{0} cellules"
 
-#: frontend/src/metabase-lib/lib/Dimension.js:498
+#: frontend/src/metabase-lib/lib/Dimension.js:559
 msgid "Auto binned"
-msgstr "Binnage automatique"
+msgstr "Binning automatique"
 
 #: src/metabase/api/alert.clj
 msgid "DELETE /api/alert/:id is deprecated. Instead, change its `archived` value via PUT /api/alert/:id."
@@ -7238,7 +7242,7 @@ msgstr "Type d'entité invalide"
 msgid "Invalid comparison entity type. Can only be one of \"table\", \"segment\", or \"adhoc\""
 msgstr "Type d'entité de comparaison invalide. Peut seulement prendre ses valeurs dans \"table\", \"segment\" ou \"adhoc\""
 
-#: src/metabase/api/card.clj
+#: src/metabase/query_processor/async.clj
 msgid "Error running query to determine Card result metadata:"
 msgstr "Erreur lors de la détermination des métadonnées du résultat de la Carte :"
 
@@ -7282,14 +7286,14 @@ msgstr "Avertissement : l'endpoint {0}/{1} n'a pas de docstring."
 msgid "starting streaming request"
 msgstr "démarrage de la requête de flux"
 
-#: src/metabase/api/common.clj
+#: src/metabase/async/api_response.clj
 msgid "connection closed, canceling request"
 msgstr "connexion fermée, requête en cours d'annulation"
 
 #. a newline padding character as it's harmless and will allow us to check if the client is connected. If
 #. sending this character fails because the connection is closed, the chan will then close.  Newlines are
 #. no-ops when reading JSON which this depends upon.
-#: src/metabase/api/common.clj
+#: src/metabase/async/api_response.clj
 msgid "Response not ready, writing one byte & sleeping..."
 msgstr "Réponse pas encore prête, écriture d'un octet & mise en sommeil..."
 
@@ -7468,28 +7472,36 @@ msgstr "La table \"{0}\" n'est pas visible. Resynchronisation en cours."
 
 #: src/metabase/api/table.clj
 msgid "Auto bin"
-msgstr "Binnage automatique"
+msgstr "Binning automatique"
 
 #: src/metabase/api/table.clj
 msgid "Don''t bin"
-msgstr "Aucun binnage"
+msgstr "Aucun binning"
 
-#: src/metabase/api/table.clj
+#: frontend/src/metabase/lib/query_time.js:193 src/metabase/api/table.clj
 msgid "Day"
-msgstr "Jour"
+msgid_plural "Days"
+msgstr[0] "Jour"
+msgstr[1] "Jours"
 
 #. note the order of these options corresponds to the order they will be shown to the user in the UI
-#: src/metabase/api/table.clj
+#: frontend/src/metabase/lib/query_time.js:189 src/metabase/api/table.clj
 msgid "Minute"
-msgstr "Minute"
+msgid_plural "Minutes"
+msgstr[0] "Minute"
+msgstr[1] "Minutes"
 
-#: src/metabase/api/table.clj
+#: frontend/src/metabase/lib/query_time.js:191 src/metabase/api/table.clj
 msgid "Hour"
-msgstr "Heure"
+msgid_plural "Hours"
+msgstr[0] "Heure"
+msgstr[1] "Heures"
 
-#: src/metabase/api/table.clj
+#: frontend/src/metabase/lib/query_time.js:199 src/metabase/api/table.clj
 msgid "Quarter"
-msgstr "Semestre"
+msgid_plural "Quarters"
+msgstr[0] "Trimestre"
+msgstr[1] "Trimestres"
 
 #: src/metabase/api/table.clj
 msgid "Minute of Hour"
@@ -7839,11 +7851,11 @@ msgstr "I semble que ce soit une nouvelle installation... Préparation de l'assi
 msgid "Metabase Initialization COMPLETE"
 msgstr "Initialisation de Metabase EFFECTIVE"
 
-#: src/metabase/core.clj
+#: src/metabase/server.clj
 msgid "Launching Embedded Jetty Webserver with config:"
 msgstr "Lancement du serveur web Jetty intégré avec la configuration :"
 
-#: src/metabase/core.clj
+#: src/metabase/server.clj
 msgid "Shutting Down Embedded Jetty Webserver"
 msgstr "Arrêt du serveur web Jetty intégré"
 
@@ -7904,51 +7916,51 @@ msgstr "Application des migrations de base de données..."
 msgid "Database Migrations Current ... "
 msgstr "Migrations de la base de données en cours... "
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Hmm, we couldn''t connect to the database."
 msgstr "Hum, nous n'avons pas pu nous connecter à la base de données"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Make sure your host and port settings are correct"
 msgstr "Assurez-vous que les réglages d'hôte et de numéro de port sont corrects"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "We couldn''t connect to the ssh tunnel host."
 msgstr "Nous n'avons pas pu ouvrir le tunnel ssh."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Check the username, password."
 msgstr "Vérifier le nom d'utilisateur, son mot de passe."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Check the hostname and port."
 msgstr "Vérifier le nom d'hôte et son numéro de port."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like the database name is incorrect."
 msgstr "Il semble que le nom de la base de données soit incorrect."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "It looks like your host is invalid."
 msgstr "Il semble que votre hôte soit invalide."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Please double-check it and try again."
 msgstr "Faîtes s'il vous plaît une contre-vérification et essayez à nouveau."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like your password is incorrect."
 msgstr "Il semble que votre mot de passe soit incorrect."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like you forgot to enter your password."
 msgstr "Il semble que vous ayez oublié de saisir votre mot de passe."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like your username is incorrect."
 msgstr "Il semble que votre nom d'utilisateur soit incorrect."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like the username or password is incorrect."
 msgstr "Il semble que le nom d'utilisateur ou le mot de passe soit incorrect."
 
@@ -7965,16 +7977,16 @@ msgstr "Gestionnaire enregistré {0} {1}"
 msgid "No -init-driver function found for ''{0}''"
 msgstr "Pas de fonction -init-driver trouvé pour \"{0}\""
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Unable to parse date string ''{0}'' for database engine ''{1}''"
 msgstr "Dans l'incapacité d'analyser la date représentée par \"{0}\" dans le moteur de base de données \"{1}\""
 
 #. all-NULL columns in DBs like Mongo w/o explicit types
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Don''t know how to map class ''{0}'' to a Field base_type, falling back to :type/*."
 msgstr "Pas de connaissance sur la façon d'associer la classe \"{0}\" à un \"base_type\" de champ, solution de repli vers : type/*"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/util.clj
 msgid "Failed to connect to database: {0}"
 msgstr "Echec de connexion à la base de données : {0}"
 
@@ -7986,7 +7998,7 @@ msgstr "Identifiant BigQuery invalide : \"{0}\""
 msgid "BigQuery statements can't be parameterized!"
 msgstr "Les instructions BigQuery n'acceptent pas de paramètre !"
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql_jdbc/execute.clj
 msgid "Failed to set timezone:"
 msgstr "Echec du réglage du fuseau horaire :"
 
@@ -8119,11 +8131,11 @@ msgstr "Jeton de l'API Slack obtenu à partir de https://api.slack.com/web#authe
 msgid "Enable MetaBot, which lets you search for and view your saved questions directly via Slack."
 msgstr "Activer MetaBot, qui vous permet de rechercher et voir vos questions sauvegardées directement via Slack."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
 msgid "Last MetaBot checkin was {0} ago."
 msgstr "La dernière vérification MetaBot a eu lieu il y a {0}."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
 msgid "This instance will now handle MetaBot duties."
 msgstr "Cette instance gérera désormais les tâches MetaBot."
 
@@ -8135,39 +8147,39 @@ msgstr "Voici ce que je peux {0} :"
 msgid "I don''t know how to {0} `{1}`.n{2}"
 msgstr "Je ne sais pas comment {0} `{1}`.n{2}"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/slack.clj
 msgid "Uh oh! :cry:n> {0}"
 msgstr "Uh oh! : cry:n> {0}"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Here''s your {0} most recent cards:n{1}"
 msgstr "Voici vos {0} plus récentes Cartes : n{1}"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Could you be a little more specific? I found these cards with names that matched:n{0}"
 msgstr "Pourriez-vous être un peu plus précis ? J'ai trouvé ces cartes au nom correspondant : {0}"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "I don''t know what Card `{0}` is. Give me a Card ID or name."
 msgstr "Je ne sais pas ce qu'est la Carte `{0}`. Donnez-moi un ID ou un nom de Carte."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Show which card? Give me a part of a card name or its ID and I can show it to you. If you don''t know which card you want, try `metabot list`."
 msgstr "Quelle carte montrer ? Donnez-moi une partie de son nom ou son ID et je peux vous la présenter. Si vous ne savez pas quelle carte vous souhaitez, essayez `metabot list`."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Ok, just a second..."
 msgstr "D'accord, une seconde s'il vous plaît..."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Not Found"
 msgstr "Recherche infructueuse"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Loading Kanye quotes..."
 msgstr "Chargement des citations de Kanye..."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/events.clj
 msgid "Evaluating Metabot command:"
 msgstr "Evaluation de la commande MetaBot :"
 
@@ -8175,23 +8187,23 @@ msgstr "Evaluation de la commande MetaBot :"
 msgid "Go home websocket, you're drunk."
 msgstr "Rentre chez toi websocket, tu es saoûle."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/websocket.clj
 msgid "Error launching metabot:"
 msgstr "Erreur au lancement de MetaBot :"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/websocket.clj
 msgid "MetaBot WebSocket is closed. Reconnecting now."
 msgstr "La websocket MetaBot est fermée. Reconnexion en cours."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/websocket.clj
 msgid "Error connecting websocket:"
 msgstr "Erreur lors de la connexion de la websocket :"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
 msgid "This instance is performing MetaBot duties."
 msgstr "Cette instance effectue les tâches MetaBot"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
 msgid "Another instance is already handling MetaBot duties."
 msgstr "Une autre instance gère déjà les tâches MetaBot."
 
@@ -8207,15 +8219,15 @@ msgstr "Arrêt de MetaBot... 🤖"
 msgid "MetaBot already running. Killing the previous WebSocket listener first."
 msgstr "MetaBot est déjà en route. Arrêt préliminaire du précédent écouteur de websocket."
 
-#: src/metabase/middleware.clj
+#: src/metabase/middleware/security.clj
 msgid "Base-64 encoded public key for this site's SSL certificate."
 msgstr "Clé publique encodée en base64 du certificat SSL de ce site."
 
-#: src/metabase/middleware.clj
+#: src/metabase/middleware/security.clj
 msgid "Specify this to enable HTTP Public Key Pinning."
 msgstr "Activer l'épinglage des clés publiques HTTP."
 
-#: src/metabase/middleware.clj
+#: src/metabase/middleware/security.clj
 msgid "See {0} for more information."
 msgstr "Consulter {0} pour plus d'information."
 
@@ -8422,19 +8434,19 @@ msgstr "Vous ne pouvez mettre à jour une révision !"
 msgid "Setting {0} does not exist.nFound: {1}"
 msgstr "Le réglage {0} n'existe pas. nRéglage trouvé : {1}"
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Updating value of settings-last-updated in DB..."
 msgstr "Mise à jour de la valeur de `settings-last-updated` en base de données..."
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Checking whether settings cache is out of date (requires DB call)..."
 msgstr "Vérification de la péremption du cache des réglages (nécessite un appel à la base de données)..."
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Settings have been changed on another instance, and will be reloaded here."
 msgstr "Les réglages ont été changés sur une autre instance, et seront rechargés sur celle-ci."
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Refreshing Settings cache..."
 msgstr "Rafraîchissement du cache des réglages..."
 
@@ -8561,11 +8573,11 @@ msgstr "Ainsi avec un coefficient 10, le résultat d'une requête prenant en moy
 
 #: src/metabase/public_settings.clj
 msgid "When using the default binning strategy and a number of bins is not provided, this number will be used as the default."
-msgstr "Valeur par défaut du nombre de cellules (bins) pour le binnage."
+msgstr "Valeur par défaut du nombre de cellules (bins) pour le binning"
 
 #: src/metabase/public_settings.clj
 msgid "When using the default binning strategy for a field of type Coordinate (such as Latitude and Longitude), this number will be used as the default bin width (in degrees)."
-msgstr "Valeur par défaut en degrés du côté d'une cellule (bin) pour le binnage d'un champ de type Coordonnées (tels que Latitude ou Longitude)."
+msgstr "Valeur par défaut en degrés du côté d'une cellule (bin) pour le binning d'un champ de type Coordonnées (tels que Latitude ou Longitude)."
 
 #: src/metabase/public_settings/metastore.clj
 msgid "Unable to validate token."
@@ -8940,27 +8952,27 @@ msgstr "Voir toutes les permissions sur la collection"
 msgid "Also change sub-collections"
 msgstr "Changer aussi les sous-collections"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:278
+#: frontend/src/metabase/admin/permissions/selectors.js:282
 msgid "Can edit this collection and its contents"
 msgstr "Peut modifier cette collection et son contenu"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:285
+#: frontend/src/metabase/admin/permissions/selectors.js:289
 msgid "Can view items in this collection"
 msgstr "Peut voir les items de cette collection"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:745
+#: frontend/src/metabase/admin/permissions/selectors.js:749
 msgid "Collection Access"
 msgstr "Accès à la collection"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:821
+#: frontend/src/metabase/admin/permissions/selectors.js:825
 msgid "This group has permission to view at least one subcollection of this collection."
 msgstr "Ce groupe a la permission de voir au moins une sous-collection de cette collection."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:826
+#: frontend/src/metabase/admin/permissions/selectors.js:830
 msgid "This group has permission to edit at least one subcollection of this collection."
 msgstr "Ce groupe a le droit de modifier au moins une sous-collection de cette colleciton."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:839
+#: frontend/src/metabase/admin/permissions/selectors.js:843
 msgid "View sub-collections"
 msgstr "Voir les sous-collections"
 
@@ -8968,19 +8980,19 @@ msgstr "Voir les sous-collections"
 msgid "Remember Me"
 msgstr "Se souvenir de moi"
 
-#: frontend/src/metabase/components/BrowseApp.jsx:120
+#: frontend/src/metabase/components/BrowseApp.jsx:95
 msgid "X-ray this schema"
 msgstr "Radiographier ce schéma"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:246
+#: frontend/src/metabase/components/CollectionLanding.jsx:258
 msgid "Edit the permissions for this collection"
 msgstr "Modifier les permissions sur cette collection"
 
-#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:51
+#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:55
 msgid "Add this question to a dashboard"
 msgstr "Ajouter cette question au tableau de bord"
 
-#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:61
+#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:65
 msgid "Create a new dashboard"
 msgstr "Créer un nouveau tableau de bord"
 
@@ -8992,11 +9004,11 @@ msgstr "La page que vous avez demandé n'a pas pu être trouvée."
 msgid "Select a {0}"
 msgstr "Sélectionner un(e) {0}"
 
-#: frontend/src/metabase/containers/Overworld.jsx:190
+#: frontend/src/metabase/containers/Overworld.jsx:185
 msgid "Save dashboards, questions, and collections in \"{0}\""
 msgstr "Sauvegarder les tableaux de bord, questions et collections de \"{0}\""
 
-#: frontend/src/metabase/containers/Overworld.jsx:193
+#: frontend/src/metabase/containers/Overworld.jsx:188
 msgid "Access dashboards, questions, and collections in \"{0}\""
 msgstr "Accéder aux tableaux de bord, questions et collections de \"{0}\""
 
@@ -9016,11 +9028,11 @@ msgstr "En lien"
 msgid "More X-rays"
 msgstr "Plus de radiographies"
 
-#: frontend/src/metabase/home/containers/SearchApp.jsx:50
+#: frontend/src/metabase/home/containers/SearchApp.jsx:46
 msgid "No results"
 msgstr "Pas de résultats"
 
-#: frontend/src/metabase/home/containers/SearchApp.jsx:51
+#: frontend/src/metabase/home/containers/SearchApp.jsx:47
 msgid "Metabase couldn't find any results for your search."
 msgstr "Metabase n'a trouvé aucun résultat à votre recherche."
 
@@ -9066,43 +9078,43 @@ msgstr "Echec de l'attribution de permissions : {0}"
 msgid "Cannot decrypt encrypted string. Have you changed or forgot to set MB_ENCRYPTION_SECRET_KEY?"
 msgstr "Impossible de déchiffrer la chaîne chiffrée. Avez-vous changé ou oublié de régler MB_ENCRIPTION_SECRET_KEY ?"
 
-#: frontend/src/metabase/entities/collections.js:157
+#: frontend/src/metabase/entities/collections.js:164
 msgid "All personal collections"
 msgstr "Toutes les collections personnelles"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Host"
 msgstr "Hôte"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Port"
 msgstr "Port"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Database username"
 msgstr "Nom utilisateur de la base de données"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "What username do you use to login to the database?"
 msgstr "Quel nom d'utilisateur utilisez-vous pour vous connecter à la base de données?"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Database password"
 msgstr "Mot de passe de la base de données"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Database name"
 msgstr "Nom de la base de données"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "birds_of_the_world"
 msgstr "birds_of_the_world"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Use a secure connection (SSL)?"
 msgstr "Utiliser une connexion sécurisée (SSL) ?"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Additional JDBC connection string options"
 msgstr "Options additionnelles de la chaîne de connexion JDBC"
 
@@ -9242,7 +9254,7 @@ msgstr "Libellés"
 msgid "Add members"
 msgstr "Ajouter des membres"
 
-#: frontend/src/metabase/entities/collections.js:108
+#: frontend/src/metabase/entities/collections.js:115
 msgid "Collection it's saved in"
 msgstr "La collection est enregistrée dans"
 
@@ -9272,10 +9284,10 @@ msgstr "Partage"
 #: frontend/src/metabase/visualizations/lib/settings/graph.js:321
 #: frontend/src/metabase/visualizations/lib/settings/nested.js:126
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:83
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:72
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:77
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:83
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:89
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:80
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:85
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:91
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:97
 #: frontend/src/metabase/visualizations/visualizations/Progress.jsx:50
 #: frontend/src/metabase/visualizations/visualizations/Progress.jsx:56
 #: frontend/src/metabase/visualizations/visualizations/Text.jsx:72
@@ -9297,20 +9309,20 @@ msgstr "Axes"
 
 #: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:222
 #: frontend/src/metabase/admin/settings/selectors.js:319
-#: frontend/src/metabase/qb/components/drill/FormatAction.jsx:27
+#: frontend/src/metabase/modes/components/drill/FormatAction.jsx:27
 #: frontend/src/metabase/visualizations/lib/settings/column.js:63
 msgid "Formatting"
 msgstr "Formatage"
 
-#: frontend/src/metabase/containers/Overworld.jsx:107
+#: frontend/src/metabase/containers/Overworld.jsx:102
 msgid "Try these x-rays based on your data."
 msgstr "Essayez ces radiographies basées sur vos données."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:35
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:36
 msgid "There was a problem displaying this chart."
 msgstr "Un problème est survenu lors de l'affichage de ce graphique."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:36
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:37
 msgid "Sorry, you don't have permission to see this card."
 msgstr "Désolé, vous n'êtes pas autorisé à voir cette question."
 
@@ -9322,11 +9334,11 @@ msgstr "Juste un aperçu :"
 msgid "{0} without the Sample Dataset, the Query Builder tutorial won't work. You can always restore the Sample Dataset, but any questions you've saved using this data will be lost."
 msgstr "{0} sans le jeu de données exemple, le didacticiel du générateur de requêtes ne fonctionnera pas. Vous pouvez restaurer le jeu de données, mais toutes les questions que vous avez enregistrées à l'aide de ces données seront perdues."
 
-#: frontend/src/metabase/qb/components/drill/AutomaticDashboardDrill.jsx:33
+#: frontend/src/metabase/modes/components/drill/AutomaticDashboardDrill.jsx:33
 msgid "X-ray"
 msgstr "Radiographie"
 
-#: frontend/src/metabase/qb/components/drill/CompareToRestDrill.js:34
+#: frontend/src/metabase/modes/components/drill/CompareToRestDrill.js:34
 msgid "Compare to the rest"
 msgstr "Comparer au reste"
 
@@ -9339,11 +9351,11 @@ msgid "We suggest you leave this off unless you're doing manual timezone casting
 "many or most of your queries with this data."
 msgstr "Nous vous suggérons de le laisser cela désactivé à moins que vous ne procédiez à un paramétrage manuel du fuseau horaire dans la plupart de vos requêtes avec ces données."
 
-#: frontend/src/metabase/containers/Overworld.jsx:315
+#: frontend/src/metabase/containers/Overworld.jsx:310
 msgid "Your team's most important dashboards go here"
 msgstr "Les tableaux de bord les plus importants pour votre équipe vont ici"
 
-#: frontend/src/metabase/containers/Overworld.jsx:316
+#: frontend/src/metabase/containers/Overworld.jsx:311
 msgid "Pin dashboards in {0} to have them appear in this space for everyone"
 msgstr "Épingler les tableaux de bord dans {0} pour qu'ils apparaissent dans cet espace pour tout le monde"
 
@@ -9371,8 +9383,8 @@ msgstr "Sélectionnez un type de devise"
 msgid "Field Type"
 msgstr "Type de champ"
 
-#: frontend/src/metabase/admin/routes.jsx:83
-#: frontend/src/metabase/nav/containers/Navbar.jsx:225
+#: frontend/src/metabase/admin/routes.jsx:109
+#: frontend/src/metabase/nav/containers/Navbar.jsx:224
 msgid "Troubleshooting"
 msgstr "Dépannage"
 
@@ -9384,35 +9396,35 @@ msgstr "Activer la radiographie"
 msgid "Formatting Options"
 msgstr "Options de mise en forme"
 
-#: frontend/src/metabase/admin/tasks/containers/TaskModal.jsx:20
+#: frontend/src/metabase/admin/tasks/containers/TaskModal.jsx:19
 msgid "Task details"
 msgstr "Détails de la tâche"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:36
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:29
 msgid "Troubleshooting logs"
 msgstr "Journaux de dépannage"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:38
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:31
 msgid "Trying to get to the bottom of something? This section shows logs of Metabase's background tasks, which can help shed light on what's going on."
 msgstr "Vous voulez voir le côté obscur ? Cette section affiche les journaux des tâches en arrière-plan de Metabase, qui peuvent aider à mieux comprendre ce qui se passe."
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:63
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:56
 msgid "Task"
 msgstr "Tâche"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:64
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:57
 msgid "DB ID"
 msgstr "DB ID"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:65
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:58
 msgid "Started at"
 msgstr "Commencé à"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:66
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:59
 msgid "Ended at"
 msgstr "Terminé à"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:67
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:60
 msgid "Duration (ms)"
 msgstr "Durée (ms)"
 
@@ -9420,7 +9432,7 @@ msgstr "Durée (ms)"
 msgid "Currency"
 msgstr "Devise"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:163
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:161
 msgid "Pick a user or channel..."
 msgstr "Choisissez un utilisateur ou un canal ..."
 
@@ -9597,15 +9609,15 @@ msgstr "Jauge"
 msgid "Gauge ranges"
 msgstr "Intervalle de jauge"
 
-#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:91
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:94
 msgid "Field to show"
 msgstr "Champ à afficher"
 
-#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:118
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:121
 msgid "last {0}"
 msgstr "dernier {0}"
 
-#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:176
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:185
 msgid "{0} was {1} {2}"
 msgstr "{0} était {1} {2}"
 
@@ -9768,19 +9780,19 @@ msgstr "AVERTISSEMENT: il est uniquement utile de spécifier les champs d'une re
 msgid "WARNING: Druid doenst allow limitSpec in timeseries queries. Ignoring the LIMIT clause."
 msgstr "AVERTISSEMENT: Druid n'autorise pas les requêtes limitSpec dans les séries chronologiques. J'ignore la clause LIMIT."
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql/query_processor.clj
 msgid "HoneySQL Form:"
 msgstr "Formulaire HoneySQL :"
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql_jdbc/execute.clj
 msgid "Unable to parse date ''{0}''"
 msgstr "Impossible d'évaluer la date \"{0}\""
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql_jdbc/execute.clj
 msgid "Client closed connection, cancelling query"
 msgstr "Connexion fermée, annulation de la requête"
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql_jdbc/execute.clj
 msgid "Setting timezone with statement: {0}"
 msgstr "Définition du fuseau horaire avec l'instruction : {0}"
 
@@ -9865,7 +9877,7 @@ msgid "You cannot remove the last member of the ''Admin'' group!"
 msgstr "Vous ne pouvez pas supprimer le dernier membre du groupe \"Admin\" !"
 
 #. go ahead and log the Exception anyway on the off chance that it *wasn't* just a race condition issue
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Error inserting a new Setting: {0}"
 msgstr "Erreur dans l'ajout du nouveau paramètre : {0}"
 
@@ -10470,7 +10482,7 @@ msgstr "Où avez-vous acquis vos utilisateurs?"
 #: resources/automagic_dashboards/field/Number.yaml
 #: resources/automagic_dashboards/table/GenericTable.yaml
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
-msgid "How they compare across location"
+msgid "How they compare acrosss location"
 msgstr "Comment ils se comparent à travers l'emplacement"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
@@ -11279,9 +11291,11 @@ msgstr "Erreur: la requête source de la requête n'a pas été résolue. Vous d
 msgid "Don't know what to do with:"
 msgstr "Je ne sais pas quoi faire avec:"
 
+#. Could someone provide context about this string? I cannot figure out where it's used 🤔
 #: src/metabase/models/params.clj
+#, fuzzy
 msgid "Don't know how to wrap:"
-msgstr ""
+msgstr "\"Encapsulation inconnue pour :\""
 
 #: src/metabase/public_settings.clj
 msgid "Failed setting `query-caching-max-kb` to {0}."
@@ -11301,15 +11315,15 @@ msgstr "Erreur: la base de données n'est pas présente dans le stockage du proc
 
 #: src/metabase/util/embed.clj
 msgid "Invalid embedding-secret-key! Secret key must be a hexadecimal-encoded 256-bit key (i.e., a 64-character string)."
-msgstr ""
+msgstr "Clé d'intégration invalide ! La clé secrète doit être une clé codée en hexadécimal de 256 bits (c'est-à-dire une chaîne de 64 caractères)"
 
 #: src/metabase/util/embed.clj
 msgid "JWT is missing `alg`."
-msgstr ""
+msgstr "Le champ `alg` du JWT est manquant"
 
 #: src/metabase/util/embed.clj
 msgid "JWT `alg` cannot be `none`."
-msgstr ""
+msgstr "Le champ `alg`du JWT ne peut être `none`"
 
 #: src/metabase/util/embed.clj
 msgid "The embedding secret key has not been set."
@@ -11323,3 +11337,1060 @@ msgstr "Le jeton est man"
 msgid "In-depth example"
 msgstr "Exemple en profondeur"
 
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:29
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:17
+msgid "Key"
+msgstr "Clé"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:30
+msgid "Class"
+msgstr "Classe"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:32
+msgid "Triggers"
+msgstr "Déclencheurs"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:48
+msgid "View triggers"
+msgstr "Voir les déclencheurs"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:82
+msgid "Scheduler Info"
+msgstr "Informations sur le planificateur"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:20
+msgid "Priority"
+msgstr "Priorité"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:21
+msgid "Last Fired"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:22
+msgid "Next Fire Time"
+msgstr "Prochain déclenchement"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:23
+msgid "Start Time"
+msgstr "Heure de début"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:24
+msgid "End Time"
+msgstr "Heure de finalisation"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:25
+msgid "Final Fire Time"
+msgstr "Dernier déclenchement"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:26
+msgid "May Fire Again?"
+msgstr "Peut se déclencher à nouveau ?"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:75
+msgid "Triggers for {0}"
+msgstr "Déclencheurs pour {0}"
+
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:25
+msgid "Tasks"
+msgstr "Tâches"
+
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:30
+msgid "Jobs"
+msgstr "Tâches"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:740
+msgid "Duplicated {0}"
+msgstr "Dupliqué {0}"
+
+#: frontend/src/metabase/components/EntityItem.jsx:55
+msgid "Duplicate this item"
+msgstr "Dupliquer cet élément"
+
+#: frontend/src/metabase/components/EntityItem.jsx:61
+msgid "Archive this item"
+msgstr "Archiver cet élément"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:330
+msgid "Duplicate dashboard"
+msgstr "Dupliquer le tableau de bord"
+
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:16
+msgid "Duplicate \"{0}\""
+msgstr "Dupliquer \"{0}\""
+
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:21
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:26
+msgid "Duplicate"
+msgstr "Dupliquer"
+
+#: frontend/src/metabase/lib/query_time.js:115
+msgid "Tomorrow"
+msgstr "Demain"
+
+#: frontend/src/metabase/lib/query_time.js:129
+#: frontend/src/metabase/lib/query_time.js:143
+msgid "This {0}"
+msgstr "Ce {0}"
+
+#: frontend/src/metabase/lib/query_time.js:132
+msgid "Next {0}"
+msgstr "Suivant {0}"
+
+#: frontend/src/metabase/lib/query_time.js:135
+msgid "Previous {0}"
+msgstr "Précédent {0}"
+
+#: frontend/src/metabase/lib/query_time.js:139
+msgid "Previous {0} {1}"
+msgstr "Précédent {0} {1}"
+
+#: frontend/src/metabase/lib/query_time.js:141
+msgid "Next {0} {1}"
+msgstr "Suivant {0} {1}"
+
+#: frontend/src/metabase/lib/query_time.js:171
+msgid "Now"
+msgstr "Maintenant"
+
+#: frontend/src/metabase/lib/query_time.js:174
+msgid "{0} {1} ago"
+msgstr "Il y a {0} {1}"
+
+#: frontend/src/metabase/lib/query_time.js:175
+msgid "{0} {1} from now"
+msgstr "Il y a {0} {1}"
+
+#: frontend/src/metabase/lib/query_time.js:187
+msgid "Default period"
+msgid_plural "Default periods"
+msgstr[0] "Période par défaut"
+msgstr[1] "Périodes par défaut"
+
+#: frontend/src/metabase/lib/query_time.js:203
+msgid "Minute of hour"
+msgid_plural "Minutes of hour"
+msgstr[0] "Minute d'heure"
+msgstr[1] "Minutes d'heure"
+
+#: frontend/src/metabase/lib/query_time.js:205
+msgid "Hour of day"
+msgid_plural "Hours of day"
+msgstr[0] "Heure du jour"
+msgstr[1] "Heures du jour"
+
+#: frontend/src/metabase/lib/query_time.js:207
+msgid "Day of week"
+msgid_plural "Days of week"
+msgstr[0] "Jour de la semaine"
+msgstr[1] "Jours de la semaine"
+
+#: frontend/src/metabase/lib/query_time.js:209
+msgid "Day of month"
+msgid_plural "Days of month"
+msgstr[0] "Jour du mois"
+msgstr[1] "Jours du mois"
+
+#: frontend/src/metabase/lib/query_time.js:211
+msgid "Day of year"
+msgid_plural "Days of year"
+msgstr[0] "Jour de l'année"
+msgstr[1] "Jours de l'année"
+
+#: frontend/src/metabase/lib/query_time.js:213
+msgid "Week of year"
+msgid_plural "Weeks of year"
+msgstr[0] "Semaine de l'année"
+msgstr[1] "Semaines de l'année"
+
+#: frontend/src/metabase/lib/query_time.js:215
+msgid "Month of year"
+msgid_plural "Months of year"
+msgstr[0] "Mois de l'année"
+msgstr[1] "Mois de l'année"
+
+#: frontend/src/metabase/lib/query_time.js:217
+msgid "Quarter of year"
+msgid_plural "Quarters of year"
+msgstr[0] "Trimestre de l'année"
+msgstr[1] "Trimestres de l'année"
+
+#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:62
+#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:58
+#: frontend/src/metabase/query_builder/components/Filter.jsx:79
+msgid "{0} selection"
+msgid_plural "{0} selections"
+msgstr[0] "{0} sélectionné"
+msgstr[1] "{0} sélectionnés"
+
+#: frontend/src/metabase/parameters/components/widgets/DateQuarterYearWidget.jsx:11
+msgid "[Q]Q"
+msgstr "[Q]Q"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:28
+msgid "This"
+msgstr "Ce"
+
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:64
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:96
+msgid "Invalid"
+msgstr "Invalide"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/SpecificDatePicker.jsx:147
+msgid "Add a time"
+msgstr "Ajouter une heure"
+
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:170
+msgid "Nothing to compare for the previous {0}."
+msgstr "Rien à comparer pour les {0} précédents."
+
+#: frontend/src/metabase-lib/lib/Dimension.js:517
+msgid "by {0}"
+msgstr "par {0}"
+
+#: src/metabase/api/database.clj
+msgid "value must be a valid database engine."
+msgstr "la valeur doit être un miteir de base de données valide"
+
+#: src/metabase/api/geojson.clj
+msgid "Connection refused by host for URL `{0}`"
+msgstr "Connexion refusée par l'hôte pour l'URL `{0}`"
+
+#: src/metabase/db.clj
+msgid "Warning: Postgres connection string with `ssl=true` detected."
+msgstr "Attention : La chaîne de connexion Postgres contient `ssl=true`."
+
+#: src/metabase/db.clj
+msgid "You may need to add `?sslmode=require` to your application DB connection string."
+msgstr "Vous devrez peut-être ajouter `?sslmode=true` à la chaîne de connexion de votre application à la base de données."
+
+#: src/metabase/db.clj
+msgid "If Metabase fails to launch, please add it and try again."
+msgstr "Si Metabase échoue à démarrer, ajoutez le et essayez à nouveau."
+
+#: src/metabase/db.clj
+msgid "See https://github.com/metabase/metabase/issues/8908 for more details."
+msgstr "Consultez https://github.com/metabase/metabase/issues/8908 pour plus de détails."
+
+#: src/metabase/db.clj
+msgid "WARNING: Using Metabase with an H2 application database is not recomended for production deployments."
+msgstr "ATTENTION : l'utilisation de base de données H2 n'est pas recommandée en production."
+
+#: src/metabase/db.clj
+msgid "For production deployments, we highly recommend using Postgres, MySQL, or MariaDB instead."
+msgstr "Pour le déploiement en production, nous recommendons vivement l'utilisation de Postgres, MySQL ou MariaDB à la place."
+
+#: src/metabase/db.clj
+msgid "If you decide to continue to use H2, please be sure to back up the database file regularly."
+msgstr "Si vous décidez de continuer à utiliser H2, assurez vous de sauvegarder régulièrement le fichier de base de données"
+
+#: src/metabase/db.clj
+msgid "See https://metabase.com/docs/latest/operations-guide/start.html#migrating-from-using-the-h2-database-to-mysql-or-postgres for more information."
+msgstr "Consultez https://metabase.com/docs/latest/operations-guide/start.html#migrating-from-using-the-h2-database-to-mysql-or-postgres pour plus de détails"
+
+#: src/metabase/db.clj
+msgid "Unable to connect to Metabase {0} DB."
+msgstr "Impossible de se connecter à la base de données Metabase {0}."
+
+#: src/metabase/db/migrations.clj
+msgid "Error adding legacy SQL directive to BigQuery saved Question"
+msgstr "Erreur lors de l'ajout de la directive SQL legacy à la Question sauvegardé sous BigQuery"
+
+#: src/metabase/driver.clj
+msgid "Failed to notify {0} Database {1} updated"
+msgstr "Impossible de notifier {0} Base de données {1} mise à jour"
+
+#: src/metabase/driver.clj
+msgid "Loading driver {0} {1}"
+msgstr "Chargement du driver {0} {1}"
+
+#: src/metabase/driver.clj
+msgid "Load driver {0}"
+msgstr "Chargement du pilote {0}"
+
+#: src/metabase/driver.clj
+msgid "Driver not registered after loading: {0}"
+msgstr "Pilote non enregistré après le chargement {0}"
+
+#: src/metabase/driver.clj
+msgid "Error: attempting to change {0} property `:abstract?` from {1} to {2}."
+msgstr "Erreur : tentative de changer la propriété {0} `:abstract?` de {1} à {2}."
+
+#: src/metabase/driver.clj
+msgid "Registered abstract driver {0}"
+msgstr "Driver abstract enregistré {0}"
+
+#: src/metabase/driver.clj
+msgid "Registered driver {0}"
+msgstr "Pilote enregistré {0}"
+
+#: src/metabase/driver.clj
+msgid "(parents: {0})"
+msgstr "(parents: {0})"
+
+#: src/metabase/driver.clj
+msgid "Initializing driver {0}..."
+msgstr "Initialisation du pilote {0}"
+
+#: src/metabase/driver.clj
+msgid "Reason:"
+msgstr "Raison :"
+
+#: src/metabase/driver.clj
+msgid "Invalid driver feature: {0}"
+msgstr "Fonctionnalité du pilote invalide : {0}"
+
+#: src/metabase/driver/sql/query_processor.clj
+msgid "Invalid HoneySQL form:"
+msgstr "Formulaire HoneySQL invalide :"
+
+#: src/metabase/driver/sql_jdbc/connection.clj
+msgid "Closing connection pool for database {0} ..."
+msgstr "Fermeture du pool de connexions pour la base de données {0}..."
+
+#: src/metabase/driver/util.clj
+msgid "Error loading namespace"
+msgstr "Erreur lors du chargement du namespace"
+
+#: src/metabase/events.clj
+msgid "Starting events listener:"
+msgstr "Début de l'écoute des événements :"
+
+#: src/metabase/events.clj
+msgid "Unexpected error listening on events"
+msgstr "Erreur inattendue lors de l'écoute des événements"
+
+#: src/metabase/events/sync_database.clj
+msgid "Error syncing Database {0}"
+msgstr "Erreur de synchronisation de la base de données {0}"
+
+#: src/metabase/events/sync_database.clj
+msgid "Failed to process sync-database event."
+msgstr "Échec du traitement de l'événement sync-database."
+
+#: src/metabase/mbql/util.clj
+msgid "Bad nested-query-level: query does not have a source query"
+msgstr "nested-query-level incorrect: la requête n'a pas de requête source"
+
+#: src/metabase/metabot/command.clj
+msgid "I don''t know how to `{0}`."
+msgstr "Je ne sais pas comment faire `{0}`"
+
+#: src/metabase/metabot/command.clj
+msgid "Here''s what I can do: "
+msgstr "Voici ce que je peux faire : "
+
+#: src/metabase/metabot/slack.clj
+msgid "Error in Metabot command"
+msgstr "Erreur dans la commande Metabot"
+
+#: src/metabase/metabot/websocket.clj
+msgid "Websocket associated with this Slack event is different from the websocket we're currently using."
+msgstr "Le websocket associé à cet évènement Slack est différent du websocket que nous utilisons actuellement"
+
+#: src/metabase/models/field_values.clj
+msgid "FieldValues for Field {0} remain unchanged. Skipping..."
+msgstr "FieldValues pour Field {0} restent inchangées. Passer..."
+
+#: src/metabase/models/interface.clj
+msgid "Unable to normalize:"
+msgstr "Impossible de normaliser :"
+
+#: src/metabase/models/params.clj
+msgid "Could not find matching Field ID for target:"
+msgstr "Impossible de trouver l'ID du champ correspondant pour la cible :"
+
+#: src/metabase/plugins.clj
+msgid "Metabase does not have permissions to write to plugins directory {0}"
+msgstr "Metabase n'a pas les droits d'écriture dans le répertoire des plug-ins {0}"
+
+#: src/metabase/plugins.clj
+msgid "Metabase cannot use the plugins directory {0}"
+msgstr "Metabase ne peut pas utiliser le répertoire des plug-ins {0}"
+
+#: src/metabase/plugins.clj
+msgid "Please make sure the directory exists and that Metabase has permission to write to it."
+msgstr "Veuillez vérifier que le dossier existe et que Metabase y a les droits d'écriture"
+
+#: src/metabase/plugins.clj
+msgid "You can change the directory Metabase uses for modules by setting the environment variable MB_PLUGINS_DIR."
+msgstr "Vous pouvez changer le répertoire que Metabase utilise pour les plug-ins en définissant la variable d'environnement MB_PLUGINS_DIR."
+
+#: src/metabase/plugins.clj
+msgid "Falling back to a temporary directory for now."
+msgstr "Retour à un répertoire temporaire pour le moment."
+
+#: src/metabase/plugins.clj
+msgid "Metabase cannot write to temporary directory. Please set MB_PLUGINS_DIR to a writable directory and restart Metabase."
+msgstr "Metabase ne peut pas écrire dans le dossier temporaire. Définissez MB_PLUGINS_DIR slvers un dossier accessible en écriture et redémarrez Matebase"
+
+#: src/metabase/plugins.clj
+msgid "spark-deps.jar is no longer needed by Metabase 1.0+. You can delete it from the plugins directory."
+msgstr "spark-deps.jar n'est plus nécessaire avec Metabase 1.0+. Vous pouvez le supprimer du répertoire des plugins."
+
+#: src/metabase/plugins.clj
+msgid "Failied to initialize plugin {0}"
+msgstr "Erreur d'initialisation du plugin {0}"
+
+#: src/metabase/plugins.clj
+msgid "Loading plugins in {0}..."
+msgstr "Chargement de plugins dans {0} ..."
+
+#: src/metabase/plugins/classloader.clj
+msgid "Using Clojure base loader as shared context classloader: {0}"
+msgstr ""
+
+#: src/metabase/plugins/classloader.clj
+msgid "Setting current thread context classloader to shared classloader {0}..."
+msgstr ""
+
+#. it's important that we deref the promise again here instead of using the one we just created because it is
+#. possible thru a race condition that somebody else delivered the promise before we did; in that case,
+#. Clojure ignores subsequent calls to `deliver`. Dereffing the promise guarantees that we'll get the actual
+#. value of it rather than one that ends up getting discarded
+#: src/metabase/plugins/classloader.clj
+msgid "Setting current thread context classloader to NEWLY CREATED classloader {0}..."
+msgstr ""
+
+#: src/metabase/plugins/classloader.clj
+msgid "Added URL {0} to classpath"
+msgstr "URL {0} ajoutée au classpath"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugin {0} declares a dependency that Metabase does not understand: {1}"
+msgstr "Le plugin {0} déclare une dépendance que Metabase ne comprend pas {1}"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Refer to the plugin manifest reference for a complete list of valid plugin dependencies:"
+msgstr "Référez-vous au manifest du plugin pour la liste complète des dépendances valides :"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Metabase cannot initialize plugin {0} due to required dependencies."
+msgstr "Metabase ne peut pas initialiser le plug-in {0} en raison des dépendances requises."
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Class not found: {0}"
+msgstr "Classe non trouvée: {0}"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugin ''{0}'' depends on plugin ''{1}''"
+msgstr "Le plugin ''{0}'' dépend du plugin ''{1}''"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "{0} dependency {1} satisfied? {2}"
+msgstr "{0} dépendance {1} satisfaite ? {2}"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugins with unsatisfied deps: {0}"
+msgstr "Plug-ins avec des dépendances non satisfaites : {0}"
+
+#: src/metabase/plugins/files.clj
+msgid "Extract file {0} -> {1}"
+msgstr "Extraire le fichier {0} -> {1}"
+
+#: src/metabase/plugins/files.clj
+msgid "Resource does not exist."
+msgstr "La ressource n'existe pas."
+
+#: src/metabase/plugins/init_steps.clj
+msgid "Loading plugin namespace {0}..."
+msgstr "Chargement du namespace du plugin {0}..."
+
+#: src/metabase/plugins/initialize.clj
+msgid "Dependencies satisfied; these plugins will now be loaded: {0}"
+msgstr "Les dépendances ont été satisfaites ; Ces plug-ins seront désormais chargés : {0}"
+
+#: src/metabase/plugins/jdbc_proxy.clj
+msgid "Registering JDBC proxy driver for {0}..."
+msgstr "Enregistrement du pilote proxy JDBC pour {0}..."
+
+#: src/metabase/plugins/jdbc_proxy.clj
+msgid "Deregistering original JDBC driver {0}..."
+msgstr "Désenregistrement du pilote JDBC d'origine {0}..."
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Default connection property {0} does not exist."
+msgstr "La propriété de connexion par défaut {0} n'existe pas."
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Invalid connection property {0}: not a string or map."
+msgstr "Propriété de connexion invalide {0}: pas un texte ou une carte."
+
+#. ok, do the init steps listed in the plugin mainfest
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Load lazy loading driver {0}"
+msgstr ""
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Cannot initialize plugin: missing required property `driver-name`"
+msgstr "Impossible d'initialiser le plug-in: propriété requise manquante `driver-name`"
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Warning: plugin manifest for {0} does not include connection properties"
+msgstr "Avertissement : le manifeste du plug-in pour {0} n'inclut pas les propriétés de connexion"
+
+#. finally, register the Metabase driver
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Registering lazy loading driver {0}..."
+msgstr ""
+
+#: src/metabase/pulse.clj
+msgid "Error running query for Card {0}"
+msgstr "Erreur lors de l'exécution de la requête pour la carte {0}"
+
+#: src/metabase/pulse/render.clj
+msgid "Last week"
+msgstr "Semaine dernière"
+
+#: src/metabase/pulse/render.clj
+msgid "This week"
+msgstr "Semaine en cours"
+
+#: src/metabase/pulse/render.clj
+msgid "Last month"
+msgstr "Mois dernier"
+
+#: src/metabase/pulse/render.clj
+msgid "This month"
+msgstr "Mois en cours"
+
+#: src/metabase/pulse/render.clj
+msgid "Last quarter"
+msgstr "Dernier trimestre"
+
+#: src/metabase/pulse/render.clj
+msgid "This quarter"
+msgstr "Ce trimestre"
+
+#: src/metabase/pulse/render.clj
+msgid "Last year"
+msgstr "Année dernière"
+
+#: src/metabase/pulse/render.clj
+msgid "This year"
+msgstr "Cette année"
+
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "*driver* is unbound."
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields.clj
+msgid "Error syncing Fields for Table ''{0}''"
+msgstr "Erreur lors de la synchronisation des champs pour la table ''{0}''"
+
+#: src/metabase/sync/sync_metadata/fields.clj
+msgid "Hash of {0} matches stored hash, skipping Fields sync"
+msgstr "Le hash de {0} correspond au hash stocké, synchronisation des champs ignorée"
+
+#: src/metabase/sync/sync_metadata/fields/common.clj
+msgid "Field"
+msgstr "Champ"
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Error checking if Fields {0} need to be created or reactivated"
+msgstr "Erreur en vérifiant si les champs {0} ont besoin d'être créés ou réactivés"
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Marking Field ''{0}'' as inactive."
+msgstr "Marquage du champ \"{0}\" comme inactif."
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Error retiring {0}"
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Database type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Base type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Special type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Comment has been added for {0}."
+msgstr "Le commentaire a été ajouté pour {0}"
+
+#: src/metabase/task.clj
+msgid "Stopping Quartz Scheduler {0}"
+msgstr "Arrêt du planificateur Quartz {0}"
+
+#: src/metabase/task.clj
+msgid "Starting Quartz Scheduler {0}"
+msgstr "Démarrage du planificateur Quartz {0}"
+
+#: src/metabase/task.clj
+msgid "Error loading tasks namespace {0}"
+msgstr "Erreur au chargement de l'espace de nommage des tâches {0}"
+
+#. don't bother logging namespace for now, maybe in the future if there's tasks of the same name in multiple
+#. namespaces we can log it
+#: src/metabase/task.clj
+msgid "Initializing task {0}"
+msgstr "Initialisation de la tâche {0}"
+
+#: src/metabase/task.clj
+msgid "Error initializing task {0}"
+msgstr "Erreur lors de l'initialisation de la tâche {0}"
+
+#: src/metabase/task/follow_up_emails.clj
+msgid "Problem sending abandonment email"
+msgstr "Problème à l'envoi du courriel d'abandon"
+
+#: src/metabase/task/send_anonymous_stats.clj
+msgid "Sending anonymous usage stats."
+msgstr "Envoi des statistiques anonymes d'utilisation."
+
+#: src/metabase/task/send_anonymous_stats.clj
+msgid "Error sending anonymous usage stats"
+msgstr "Erreur durant l'envoi des statistiques anonymes d'utilisation"
+
+#: src/metabase/task/send_pulses.clj
+msgid "Error sending Pulse {0}"
+msgstr "Erreur à l'envoi du Pulse {0}"
+
+#: src/metabase/task/send_pulses.clj
+msgid "Sending scheduled pulses..."
+msgstr "Envoi des Pulses planifiés..."
+
+#: src/metabase/task/send_pulses.clj
+msgid "SendPulses task failed"
+msgstr "La tâche SendPulses a échoué"
+
+#: src/metabase/task/sync_databases.clj
+msgid "Failed to scheduler tasks for Database {0}"
+msgstr "Échec de planification des tâche pour la base de données {0}"
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Cleaning up task history"
+msgstr "Nettoyage de l'historique des tâches"
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Task history cleanup successful, rows were deleted"
+msgstr "Historique des tâches nettoyé avec succès, les lignes ont été supprimées"
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Task history cleanup successful, no rows were deleted"
+msgstr "Historique des tâches nettoyé avec succès, aucune ligne n'a été supprimée"
+
+#: src/metabase/task/upgrade_checks.clj
+msgid "Checking for new Metabase version info."
+msgstr "Vérification des informations de nouvelle version de Metabase."
+
+#: src/metabase/task/upgrade_checks.clj
+msgid "Error fetching version info"
+msgstr "Erreur lors de la récupération des informations de version"
+
+#: src/metabase/util.clj
+msgid "Maximum memory available to JVM: {0}"
+msgstr ""
+
+#: src/metabase/util.clj
+msgid "Not something with an ID: {0}"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by month of the year"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Here's a quick look at your [[this]]"
+msgstr "Voici un rapide coup d'oeil à votre [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by hour of the day"
+msgstr ""
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Where you've acquired your users"
+msgstr ""
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How it's distributed across time and other categories."
+msgstr "Comment est-il réparti dans le temps et dans d'autres catégories."
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Here's a closer look at your [[this]] per source"
+msgstr ""
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "Here's a quick look at the [[this]]"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by day of the month"
+msgstr ""
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Here's an overview of the people in your [[this]]"
+msgstr "Voici une vue d'ensemble des personnes dans votre [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by quarter of the year"
+msgstr "[[CreateTimestamp]] par trimestre de l'année"
+
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How they compare across location"
+msgstr "Comment ils se comparent par localisation"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "Here's a closer look at your [[this]] by products"
+msgstr "Voici un vue plus précise de votre [[this]] par produits"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by month of the year"
+msgstr "[[CreateTimestamp]] par mois de l'année"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "An overview of your [[this]] and how it's distributed across time, place, and categories."
+msgstr "Une vue d'ensemble de votre [[this]] et de leur distribution temporelle, spatiale et catégorielle."
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/question/GenericQuestion.yaml
+msgid "Here's a closer look at your [[this]]"
+msgstr "Voici un coup d'oeil de plus près à votre [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by day of the week"
+msgstr "[[CreateTimestamp]] par jour de la semaine"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Here's an overview of your [[this]] data from Google Analytics"
+msgstr "Voici une vue d'ensemble de vos données [[this]] de Google Analytics"
+
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+#: resources/automagic_dashboards/comparison/State.yaml
+#: resources/automagic_dashboards/comparison/FK.yaml
+#: resources/automagic_dashboards/comparison/Country.yaml
+#: resources/automagic_dashboards/comparison/GenericField.yaml
+msgid "Here's an overview of your [[this]]"
+msgstr "Voici une vue d'ensemble de votre [[this]]"
+
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "Here's a closer look at your [[this]] field"
+msgstr "Voici une vue plus précise de votre champ [[this]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Here's a closer look at your [[this]] per country"
+msgstr "Voici une vue plus précise de votre [[this]] par pays"
+
+#: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
+msgid "If you're into correlations, this is the x-ray for you."
+msgstr "Si vous êtes dans les corrélations, ce sont les x-ray pour vous."
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by day of the week"
+msgstr "[[CreateDate]] par jour de la semaine"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "It looks like your [[this]] has transactions, so here's a look at them"
+msgstr "Il semble que votre [[this]] a des transactions, en voici une vue"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Here's a closer look at your [[this]] per state"
+msgstr "Voici une vue plus précise de votre [[this]] par état"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by day of the month"
+msgstr "[[CreateDate]] par jour du mois"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTime]] by hour of the day"
+msgstr "[[CreateTime]] par heure de la journée"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Here's a closer look at your [[this]] over time"
+msgstr "Voici une vue plus précise de votre [[this]] au cours du temps"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by quarter of the year"
+msgstr "[[CreateDate]] par semestre de l'année"
+
+#: frontend/src/metabase/admin/people/containers/EditUserModal.jsx:12
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:200
+msgid "Edit user"
+msgstr "Modifier l'utilisateur"
+
+#: frontend/src/metabase/admin/people/containers/NewUserModal.jsx:13
+msgid "New user"
+msgstr "Nouvel utilisateur"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:204
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:69
+msgid "Reset password"
+msgstr "Réinitialiser le mot de passe"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:209
+msgid "Deactivate user"
+msgstr "Désactiver l'utilisateur"
+
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:47
+msgid "Reactivate {0}?"
+msgstr "Réactiver {0}?"
+
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:63
+msgid "We couldn’t send them an email invitation, so make sure to tell them to log in using {0} and this password we’ve generated for them:"
+msgstr "Nous n'avons pas pu leur envoyer un courriel d'invitation, assurez-vous donc de leur dire de se connecter en utilisant {0} et ce mot de passe généré pour eux:"
+
+#: frontend/src/metabase/entities/collections.js:21
+msgid "collection"
+msgstr "collection"
+
+#: frontend/src/metabase/entities/collections.js:22
+msgid "collections"
+msgstr "collections"
+
+#: frontend/src/metabase/entities/dashboards.js:29
+msgid "dashboard"
+msgstr "tableau de bord"
+
+#: frontend/src/metabase/entities/dashboards.js:30
+msgid "dashboards"
+msgstr "tableaux de bord"
+
+#: frontend/src/metabase/entities/users.js:125
+msgid "First name is required"
+msgstr "Le prénom est obligatoire"
+
+#: frontend/src/metabase/entities/users.js:126
+#: frontend/src/metabase/entities/users.js:133
+msgid "Must be 100 characters or less"
+msgstr "Doit être d'au plus 100 caractères de long"
+
+#: frontend/src/metabase/entities/users.js:132
+msgid "Last name is required"
+msgstr "Le nom est requis"
+
+#: frontend/src/metabase/entities/users.js:138
+msgid "Email is required"
+msgstr "Email est requis"
+
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:90
+msgid "Items you archive will appear here."
+msgstr "Les éléments archivés apparaîtront ici"
+
+#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:16
+msgid "No description"
+msgstr "Pas de description"
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:175
+msgid "Sum of all values"
+msgstr ""
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:183
+msgid "See all distinct values"
+msgstr ""
+
+#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:12
+msgid "Browse the contents of your databases, tables, and columns. Pick a database to get started"
+msgstr ""
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is VALID. Thanks!"
+msgstr ""
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is INVALID. Running query to fetch correct metadata."
+msgstr ""
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is  ISSING. Running query to fetch correct metadata."
+msgstr ""
+
+#: src/metabase/api/email.clj
+msgid "{0} was autocorrected to {1}"
+msgstr ""
+
+#: src/metabase/api/metric.clj
+msgid "DELETE /api/metric/:id is deprecated. Instead, change its `archived` value via PUT /api/metric/:id."
+msgstr ""
+
+#: src/metabase/api/segment.clj
+msgid "DELETE /api/segment/:id is deprecated. Instead, change its `archived` value via PUT /api/segment/:id."
+msgstr ""
+
+#: src/metabase/api/user.clj
+msgid "Value of is_superuser must correspond to presence of Admin group ID in group_ids."
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "Unexpected error writing keepalive characters"
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "Unexpected output in async API response"
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "starting streaming response"
+msgstr "démarrer la réponse en streaming"
+
+#: src/metabase/async/api_response.clj
+msgid "Output chan closed, canceling keepalive request."
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "Async response finished, closing channels."
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "No response after waiting {0}. Canceling request."
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "Input channel unexpectedly closed."
+msgstr ""
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "f finished, permit will be returned"
+msgstr ""
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "request canceled, permit will be returned"
+msgstr ""
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Unexpected error attempting to run function after obtaining permit"
+msgstr ""
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Not running pending function call: output channel already closed."
+msgstr ""
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Current thread already has a permit for {0}, will not wait to acquire another"
+msgstr ""
+
+#: src/metabase/async/util.clj
+msgid "Output channel closed, will skip running {0}."
+msgstr ""
+
+#: src/metabase/async/util.clj
+msgid "Running {0} on separate thread..."
+msgstr ""
+
+#: src/metabase/async/util.clj
+msgid "Caught error running {0}"
+msgstr "Erreur interceptée en cours d'exécution {0}"
+
+#: src/metabase/async/util.clj
+msgid "Request canceled, canceling future"
+msgstr ""
+
+#: src/metabase/driver/sql_jdbc/connection.clj
+msgid "Closing old connection pool for database {0} ..."
+msgstr ""
+
+#: src/metabase/metabot/command.clj
+msgid "Here''s your {0} most recent cards:"
+msgstr ""
+
+#: src/metabase/metabot/command.clj
+msgid "Could you be a little more specific, or use the ID? I found these cards with names that matched:"
+msgstr ""
+
+#: src/metabase/metabot/command.clj
+msgid "Card {0} not found."
+msgstr "Carte {0} introuvable."
+
+#: src/metabase/middleware/exceptions.clj
+msgid "Exception in API call"
+msgstr ""
+
+#: src/metabase/middleware/exceptions.clj
+msgid "Request canceled before finishing."
+msgstr ""
+
+#: src/metabase/middleware/json.clj
+msgid "Metabase only supports JSON requests."
+msgstr "Metabase ne prend en charge que les requêtes JSON."
+
+#: src/metabase/middleware/json.clj
+msgid "Make sure you set a 'Content-Type: application/json' header."
+msgstr ""
+
+#: src/metabase/middleware/misc.clj
+msgid "Setting Metabase site URL to {0}"
+msgstr ""
+
+#: src/metabase/models/database.clj
+msgid "Error scheduling tasks for DB"
+msgstr ""
+
+#: src/metabase/models/database.clj
+msgid "Error unscheduling tasks for DB."
+msgstr ""
+
+#: src/metabase/models/database.clj
+msgid "{0} Database ''{1}'' sync/analyze schedules have changed!"
+msgstr ""
+
+#: src/metabase/models/database.clj
+msgid "Sync metadata was: ''{0}'' is now: ''{1}''"
+msgstr ""
+
+#: src/metabase/models/database.clj
+msgid "Cache FieldValues was: ''{0}'', is now: ''{1}''"
+msgstr ""
+
+#: src/metabase/models/metric.clj
+msgid "You cannot update the creator_id of a Metric."
+msgstr ""
+
+#: src/metabase/models/permissions.clj
+msgid "MetaBot can only have Collection permissions."
+msgstr ""
+
+#: src/metabase/models/permissions.clj
+msgid "Failed to grant permissions"
+msgstr ""
+
+#: src/metabase/models/permissions.clj
+msgid "Changing permissions"
+msgstr ""
+
+#: src/metabase/models/permissions.clj
+msgid "FROM:"
+msgstr ""
+
+#: src/metabase/models/permissions.clj
+msgid "TO:"
+msgstr ""
+
+#: src/metabase/models/segment.clj
+msgid "You cannot update the creator_id of a Segment."
+msgstr ""
+
+#: src/metabase/models/setting.clj
+msgid "Attempted to set Setting {0} to obfuscated value. Ignoring change."
+msgstr ""
+
+#: src/metabase/models/setting.clj
+msgid "Using value of env var {0}"
+msgstr ""
+
+#: src/metabase/models/user.clj
+msgid "Adding User {0} to All Users permissions group..."
+msgstr ""
+
+#: src/metabase/models/user.clj
+msgid "Adding User {0} to Admin permissions group..."
+msgstr ""
+
+#: src/metabase/query_processor.clj
+msgid "Query failure"
+msgstr ""
+
+#: src/metabase/query_processor/async.clj
+msgid "Maximum number of simultaneous queries to allow per connected Database."
+msgstr ""
+
+#: src/metabase/util.clj
+msgid "Timed out after {0} milliseconds."
+msgstr ""
+
diff --git a/locales/it.po b/locales/it.po
new file mode 100644
index 0000000000000000000000000000000000000000..dd332fdbf9c142930abe687c438d9ede1c8cc8e1
--- /dev/null
+++ b/locales/it.po
@@ -0,0 +1,12366 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: POEditor.com\n"
+"Project-Id-Version: Metabase\n"
+"Language: it\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:24
+msgid "Your database has been added!"
+msgstr "Il database è stato aggiunto!"
+
+#: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:28
+msgid "We took a look at your data, and we have some automated explorations that we can show you!"
+msgstr "Stiamo dando uno sguardo ai tuoi dati e abbiamo alcune esplorazioni automatiche che possiamo mostrarti!"
+
+#: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:35
+msgid "I'm good thanks"
+msgstr "A posto così, grazie"
+
+#: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:42
+msgid "Explore this data"
+msgstr "Analizza questi dati"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseEditForms.jsx:42
+msgid "Select a database type"
+msgstr "Selezionare il tipo di database"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseEditForms.jsx:75
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:170
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:401
+#: frontend/src/metabase/admin/permissions/containers/CollectionPermissionsModal.jsx:71
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:182
+#: frontend/src/metabase/components/ActionButton.jsx:51
+#: frontend/src/metabase/components/ButtonWithStatus.jsx:7
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:180
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:197
+#: frontend/src/metabase/reference/components/EditHeader.jsx:54
+#: frontend/src/metabase/reference/components/EditHeader.jsx:69
+#: frontend/src/metabase/user/components/SetUserPassword.jsx:171
+#: frontend/src/metabase/user/components/UpdateUserDetails.jsx:164
+msgid "Save"
+msgstr "Salva"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:122
+msgid "To do some of its magic, Metabase needs to scan your database. We will also rescan it periodically to keep the metadata up-to-date. You can control when the periodic rescans happen below."
+msgstr "Per fare qualcosa di magico Metabase ha bisogno di esplorare il tuo database. L'esplorazione viene periodicamente rieseguita. Di seguito puoi controllare quando avverrà la prossima esplorazione."
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:127
+msgid "Database syncing"
+msgstr "Database sincronizzato"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:128
+msgid "This is a lightweight process that checks for\n"
+"updates to this database’s schema. In most cases, you should be fine leaving this\n"
+"set to sync hourly."
+msgstr "Questo é un processo leggero che controlla aggiornamenti allo schema del database. Nella maggior parte dei casi, andrá bene impostarlo ad ogni ora"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:147
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:184
+msgid "Scan"
+msgstr "Scansione"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:152
+msgid "Scanning for Filter Values"
+msgstr "ricerca di Valori Filtro"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:153
+msgid "Metabase can scan the values present in each\n"
+"field in this database to enable checkbox filters in dashboards and questions. This\n"
+"can be a somewhat resource-intensive process, particularly if you have a very large\n"
+"database."
+msgstr "Metabase puó cercare i valori presenti in ogni campo di questo database per abilitare i checkbox dei filtri nelle dashboard e questions. Questo processo puó essere intensivo, in particolare se hai un database molto grande."
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:159
+msgid "When should Metabase automatically scan and cache field values?"
+msgstr "Quando Metabase dovrebbe automaticamente scansionare e fare cache dei valori?"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:164
+msgid "Regularly, on a schedule"
+msgstr "Regolarmente secondo schedulazione"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:195
+msgid "Only when adding a new filter widget"
+msgstr "Solo quando si aggiunge un nuovo filtro nel widget"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:199
+msgid "When a user adds a new filter to a dashboard or a SQL question, Metabase will\n"
+"scan the field(s) mapped to that filter in order to show the list of selectable values."
+msgstr "Quando un utente aggiunge un nuovo filtro a una Dashboard o Question, Metabase cercherá nei campi mappati dal filtro per mostrare la lista dei valori selezionabili."
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:210
+msgid "Never, I'll do this manually if I need to"
+msgstr "Mai, lo farò manualmente se necessario"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:222
+#: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:27
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:222
+#: frontend/src/metabase/components/ActionButton.jsx:52
+#: frontend/src/metabase/components/ButtonWithStatus.jsx:8
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:426
+msgid "Saving..."
+msgstr "Salvataggio..."
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:39
+#: frontend/src/metabase/components/form/FormMessage.jsx:4
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:144
+msgid "Server error encountered"
+msgstr "Errore nel server"
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:58
+msgid "Delete this database?"
+msgstr "Cancellare il database?"
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:66
+msgid "All saved questions, metrics, and segments that rely on this database will be lost."
+msgstr "Tutte le Questions, Metriche e segmenti salvati per questo database andranno persi."
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:67
+msgid "This cannot be undone."
+msgstr "Questo non può essere ripristinato"
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:70
+msgid "If you're sure, please type"
+msgstr "Se sei sicuro digita"
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:53
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:70
+msgid "DELETE"
+msgstr "CANCELLA"
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:71
+msgid "in this box:"
+msgstr "in questa casella:"
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:82
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:50
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:87
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:93
+#: frontend/src/metabase/admin/people/components/AddRow.jsx:27
+#: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:49
+#: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:52
+#: frontend/src/metabase/admin/permissions/containers/CollectionPermissionsModal.jsx:58
+#: frontend/src/metabase/admin/permissions/selectors.js:160
+#: frontend/src/metabase/admin/permissions/selectors.js:170
+#: frontend/src/metabase/admin/permissions/selectors.js:185
+#: frontend/src/metabase/admin/permissions/selectors.js:224
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:355
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:181
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:247
+#: frontend/src/metabase/components/ConfirmContent.jsx:18
+#: frontend/src/metabase/components/DeleteModalWithConfirm.jsx:72
+#: frontend/src/metabase/components/HeaderModal.jsx:49
+#: frontend/src/metabase/components/form/StandardForm.jsx:61
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:196
+#: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:289
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:162
+#: frontend/src/metabase/dashboard/components/RemoveFromDashboardModal.jsx:38
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:189
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:191
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:354
+#: frontend/src/metabase/query_builder/components/RunButton.jsx:24
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:83
+#: frontend/src/metabase/query_builder/containers/ArchiveQuestionModal.jsx:48
+#: frontend/src/metabase/reference/components/EditHeader.jsx:34
+#: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:52
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:259
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:461
+msgid "Cancel"
+msgstr "Annulla"
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:88
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:121
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:132
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:461
+msgid "Delete"
+msgstr "Elimina"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:128
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:74
+#: frontend/src/metabase/admin/permissions/selectors.js:320
+#: frontend/src/metabase/admin/permissions/selectors.js:327
+#: frontend/src/metabase/admin/permissions/selectors.js:423
+#: frontend/src/metabase/admin/routes.jsx:53
+#: frontend/src/metabase/nav/containers/Navbar.jsx:214
+#: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:18
+#: frontend/src/metabase/reference/databases/TableSidebar.jsx:21
+msgid "Databases"
+msgstr "Basi di Dati"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:129
+msgid "Add Database"
+msgstr "Aggiungi un Database"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:60
+msgid "Connection"
+msgstr "Connessione"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:61
+msgid "Scheduling"
+msgstr "Schedulazione"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:170
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:78
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:84
+#: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:26
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:221
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:182
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:356
+#: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:47
+msgid "Save changes"
+msgstr "Salva i cambiamenti"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:185
+#: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:38
+#: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:38
+msgid "Actions"
+msgstr "Azioni"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:193
+msgid "Sync database schema now"
+msgstr "Sincronizza lo schema database ora"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:194
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:206
+#: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:15
+#: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:23
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:109
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:117
+msgid "Starting…"
+msgstr "Avvio..."
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:195
+msgid "Failed to sync"
+msgstr "Sync fallito"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:196
+msgid "Sync triggered!"
+msgstr "Sync azionato!"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:205
+msgid "Re-scan field values now"
+msgstr "Ri-scansiona i valori dei campi adesso"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:207
+#: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:16
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:110
+msgid "Failed to start scan"
+msgstr "Inizio della scansione fallito"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:208
+#: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:17
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:111
+msgid "Scan triggered!"
+msgstr "Scan azionato!"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:215
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:401
+msgid "Danger Zone"
+msgstr "Zona Pericolosa"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:221
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:224
+msgid "Discard saved field values"
+msgstr "Scarta valori campo salvati"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:239
+msgid "Remove this database"
+msgstr "Rimuovere questo database"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:73
+msgid "Add database"
+msgstr "Aggiungi un database"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:85
+#: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:36
+#: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:36
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:122
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:183
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:91
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:399
+#: frontend/src/metabase/containers/EntitySearch.jsx:26
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:218
+#: frontend/src/metabase/entities/collections.js:93
+#: frontend/src/metabase/entities/dashboards.js:145
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:461
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:81
+msgid "Name"
+msgstr "Nome"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:86
+msgid "Engine"
+msgstr "Motore"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:115
+msgid "Deleting..."
+msgstr "In cancellazione..."
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:145
+msgid "Loading ..."
+msgstr "Caricamento..."
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:161
+msgid "Bring the sample dataset back"
+msgstr "Ripristinare i dati d'esempio"
+
+#: frontend/src/metabase/admin/databases/database.js:175
+msgid "Couldn't connect to the database. Please check the connection details."
+msgstr "Impossibile collegarsi al database. Controlla i parametri connessione"
+
+#: frontend/src/metabase/admin/databases/database.js:383
+msgid "Successfully created!"
+msgstr "Creazione riuscita!"
+
+#: frontend/src/metabase/admin/databases/database.js:393
+msgid "Successfully saved!"
+msgstr "Salvataggio riuscito!"
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectActionSelect.jsx:44
+#: frontend/src/metabase/dashboard/components/DashCard.jsx:278
+#: frontend/src/metabase/parameters/components/ParameterWidget.jsx:177
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:197
+#: frontend/src/metabase/reference/components/EditButton.jsx:18
+msgid "Edit"
+msgstr "Edita"
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectActionSelect.jsx:59
+msgid "Revision History"
+msgstr "Storico Revisioni"
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:33
+msgid "Retire this {0}?"
+msgstr "Rimuoverlo {0}?"
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:38
+msgid "Saved questions and other things that depend on this {0} will continue to work, but this {1} will no longer be selectable from the query builder."
+msgstr "Le domande salvate e altre cose che dipendono da questo {0} continueranno a funzionare, ma questo {1} non sarà più selezionabile dal generatore di query."
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:39
+msgid "If you're sure you want to retire this {0}, please write a quick explanation of why it's being retired:"
+msgstr "Se sei sicuro di voler rimuovere questo {0}, ti preghiamo di scrivere una rapida spiegazione del motivo per cui è stato rimosso:"
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:43
+msgid "This will show up in the activity feed and in an email that will be sent to anyone on your team who created something that uses this {0}."
+msgstr "Questo verrà visualizzato nel feed di attività e in un'email che verrà inviata a chiunque nel tuo team che ha creato qualcosa che utilizza questo {0}."
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:58
+msgid "Retire"
+msgstr "Rimuovi"
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:59
+msgid "Retiring…"
+msgstr "Rimozione..."
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:60
+msgid "Failed"
+msgstr "Fallito"
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:61
+msgid "Success"
+msgstr "Riuscito"
+
+#: frontend/src/metabase/admin/datamodel/components/PartialQueryBuilder.jsx:118
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:110
+msgid "Preview"
+msgstr "Anteprima"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnItem.jsx:99
+msgid "No column description yet"
+msgstr "Ancora nessuna descrizione della colonna"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnItem.jsx:135
+msgid "Select a field visibility"
+msgstr "Selezionare la visibilità del campo"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnItem.jsx:210
+msgid "No special type"
+msgstr "Nessun tipo speciale"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnItem.jsx:211
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:34
+#: frontend/src/metabase/reference/components/Field.jsx:57
+#: frontend/src/metabase/reference/components/FieldTypeDetail.jsx:42
+msgid "Other"
+msgstr "Altri"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnItem.jsx:231
+msgid "Select a special type"
+msgstr "Seleziona uno speciale tipo"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnItem.jsx:277
+msgid "Select a target"
+msgstr "Seleziona una destinazione"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnsList.jsx:17
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:77
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:89
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:106
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:122
+msgid "Columns"
+msgstr "Colonne"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnsList.jsx:22
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataSchema.jsx:44
+msgid "Column"
+msgstr "Colonna"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnsList.jsx:24
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:121
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:306
+msgid "Visibility"
+msgstr "Visibilità"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnsList.jsx:25
+msgid "Type"
+msgstr "Tipo"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataHeader.jsx:87
+msgid "Current database:"
+msgstr "Database corrente:"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataHeader.jsx:92
+msgid "Show original schema"
+msgstr "Mostra lo schema originale"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataSchema.jsx:45
+msgid "Data Type"
+msgstr "Tipo dei dati"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataSchema.jsx:46
+msgid "Additional Info"
+msgstr "Informazioni addizionali"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataSchemaList.jsx:44
+msgid "Find a schema"
+msgstr "Trova uno schema"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataSchemaList.jsx:51
+msgid "{0} schema"
+msgid_plural "{0} schemas"
+msgstr[0] "schema"
+msgstr[1] "schemi"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:82
+msgid "Why Hide?"
+msgstr "Perché nasconderlo?"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:83
+msgid "Technical Data"
+msgstr "Dati Tecnici"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:84
+msgid "Irrelevant/Cruft"
+msgstr "Irrilevante/Mal progettato"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:90
+msgid "Queryable"
+msgstr "Interrogabile"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:91
+msgid "Hidden"
+msgstr "Nascosto"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:117
+msgid "No table description yet"
+msgstr "Nessuna descrizione della tabella ancora"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:124
+msgid "Metadata Strength"
+msgstr "Forza del metadata"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTableList.jsx:87
+msgid "{0} Queryable Table"
+msgid_plural "{0} Queryable Tables"
+msgstr[0] "Tabella interrogabile"
+msgstr[1] "Tabelle interrogabili"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTableList.jsx:96
+msgid "{0} Hidden Table"
+msgid_plural "{0} Hidden Tables"
+msgstr[0] "Tabella nascosta"
+msgstr[1] "Tabelle nascoste"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTableList.jsx:113
+msgid "Find a table"
+msgstr "Trova una tabella"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTableList.jsx:126
+msgid "Schemas"
+msgstr "Schemi"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:24
+#: frontend/src/metabase/new_query/containers/NewQueryOptions.jsx:137
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:33
+#: frontend/src/metabase/reference/guide/BaseSidebar.jsx:27
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:189
+#: frontend/src/metabase/reference/metrics/MetricList.jsx:56
+#: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:21
+#: frontend/src/metabase/routes.jsx:232
+msgid "Metrics"
+msgstr "Metriche"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:30
+msgid "Add a Metric"
+msgstr "Aggiungi una metrica"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:37
+#: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:37
+#: frontend/src/metabase/query_builder/components/QueryDefinitionTooltip.jsx:30
+msgid "Definition"
+msgstr "Definizione"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:54
+msgid "Create metrics to add them to the View dropdown in the query builder"
+msgstr "Crea metriche per aggiungerle al menu a discesa dela Vista nel generatore di query"
+
+#: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:24
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:930
+#: frontend/src/metabase/reference/guide/BaseSidebar.jsx:33
+#: frontend/src/metabase/reference/segments/SegmentFieldSidebar.jsx:19
+#: frontend/src/metabase/reference/segments/SegmentList.jsx:56
+#: frontend/src/metabase/reference/segments/SegmentSidebar.jsx:21
+msgid "Segments"
+msgstr "Segmenti"
+
+#: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:30
+msgid "Add a Segment"
+msgstr "Aggiungi un segmento"
+
+#: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:54
+msgid "Create segments to add them to the Filter dropdown in the query builder"
+msgstr "Crea segmenti per aggiungerle nel menu a discesa dei Filtri nel generatore di query"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:24
+msgid "created"
+msgstr "creato"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:27
+msgid "reverted to a previous version"
+msgstr "ritornare alla versione precedente"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:33
+msgid "edited the title"
+msgstr "titolo modificato"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:35
+msgid "edited the description"
+msgstr "Modificato la descrizione"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:37
+msgid "edited the "
+msgstr "Modificato il␣"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:40
+msgid "made some changes"
+msgstr "fatte alcune modifiche"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:46
+#: frontend/src/metabase/home/components/Activity.jsx:80
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:332
+msgid "You"
+msgstr "Tu"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/RevisionHistory.jsx:37
+msgid "Datamodel"
+msgstr "Modello dei dati"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/RevisionHistory.jsx:43
+msgid " History"
+msgstr "Storico"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/RevisionHistory.jsx:48
+msgid "Revision History for"
+msgstr "Cronologia delle revisioni per"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:239
+msgid "{0} – Field Settings"
+msgstr "{0} – Impostazioni dei campi"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:307
+msgid "Where this field will appear throughout Metabase"
+msgstr "Dove questo campo apparirà in tutto Metabase"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:329
+msgid "Filtering on this field"
+msgstr "Filtra per questo campo"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:330
+msgid "When this field is used in a filter, what should people use to enter the value they want to filter on?"
+msgstr "Quando questo campo é usato in un filtro, cosa dovrebbero usare le persone per inserire il valore per il quale vogliono filtrare?"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:453
+msgid "No description for this field yet"
+msgstr "Nessuna descrizione per questo campo fino ad ora"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:379
+msgid "Original value"
+msgstr "Valore originale"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:380
+msgid "Mapped value"
+msgstr "Valore mappato"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:423
+msgid "Enter value"
+msgstr "Inserire valore"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:25
+msgid "Use original value"
+msgstr "Usa il valore originale"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:26
+msgid "Use foreign key"
+msgstr "Usa la chiave esterna"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:27
+msgid "Custom mapping"
+msgstr "Mapping personalizzato"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:55
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:155
+msgid "Unrecognized mapping type"
+msgstr "Tipo mapping non riconosciuto"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:89
+msgid "Current field isn't a foreign key or FK target table metadata is missing"
+msgstr "Il campo corrente non é una Foreign Key o il metadata della tabella target della FK é mancante"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:187
+msgid "The selected field isn't a foreign key"
+msgstr "Il campo selezionato non é una foreign key"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:347
+msgid "Display values"
+msgstr "Visualizza valori"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:348
+msgid "Choose to show the original value from the database, or have this field display associated or custom information."
+msgstr "Scegli se mostrare il valore originale dal database o se visualizzare questo campo associato o informazioni personalizzate."
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:268
+msgid "Choose a field"
+msgstr "Scegli un campo"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:289
+msgid "Please select a column to use for display."
+msgstr "Prego selezionare una colonna da usare per visualizzazione"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:771
+msgid "Tip:"
+msgstr "Suggerimento:"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:433
+msgid "You might want to update the field name to make sure it still makes sense based on your remapping choices."
+msgstr "Potresti voler aggiornare il nome del campo per assicurarti che abbia ancora senso in base alle tue scelte di rimappatura."
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:364
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:102
+msgid "Cached field values"
+msgstr "Valori del campo memorizzato nella cache"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:365
+msgid "Metabase can scan the values for this field to enable checkbox filters in dashboards and questions."
+msgstr "Metabase può analizzare i valori per questo campo in modo da abilitare i filtri delle caselle di controllo nelle 'dashboard' e nelle 'question'."
+
+#: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:14
+msgid "Re-scan this field"
+msgstr "Ri-scansiona questo campo"
+
+#: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:22
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:116
+msgid "Discard cached field values"
+msgstr "Scarta la cache dei valori"
+
+#: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:24
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:118
+msgid "Failed to discard values"
+msgstr "Errore durante la cancellazione del valore"
+
+#: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:25
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:119
+msgid "Discard triggered!"
+msgstr "Cancellazione avviata"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetadataEditorApp.jsx:105
+msgid "Select any table to see its schema and add or edit metadata."
+msgstr "Seleziona una qualsiasi tabella per vederne lo schema o cambiarne i metadati"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:37
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:34
+#: frontend/src/metabase/entities/collections.js:96
+msgid "Name is required"
+msgstr "Nome è obbligatorio"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:40
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:37
+msgid "Description is required"
+msgstr "Descrizione è obbligatorio"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:44
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:41
+msgid "Revision message is required"
+msgstr "Sono richieste le informazioni di revisione"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:50
+msgid "Aggregation is required"
+msgstr "E' richiesta un' aggregazione"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:110
+msgid "Edit Your Metric"
+msgstr "Modifica la tua Metrica"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:111
+msgid "Create Your Metric"
+msgstr "Crea la tua metrica"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:115
+msgid "Make changes to your metric and leave an explanatory note."
+msgstr "Cambia le tue metriche e aggiungi una nota esplicativa"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:116
+msgid "You can create saved metrics to add a named metric option to this table. Saved metrics include the aggregation type, the aggregated field, and optionally any filter you add. As an example, you might use this to create something like the official way of calculating \"Average Price\" for an Orders table."
+msgstr "È possibile creare metriche salvate per aggiungere un'opzione metrica con nome a questa tabella. Le metriche salvate includono il tipo di aggregazione, il campo aggregato e, facoltativamente, qualsiasi filtro aggiunto. Ad esempio, è possibile utilizzarlo per creare qualcosa come il modo ufficiale di calcolare 'Prezzo medio' per una tabella Ordini."
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:149
+msgid "Result: "
+msgstr "Risultato:"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:157
+msgid "Name Your Metric"
+msgstr "Dai un nome alla tua Metrica"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:158
+msgid "Give your metric a name to help others find it."
+msgstr "Dai un nome alla tua Metrica per aiutare gli altri a trovarla."
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:162
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:166
+msgid "Something descriptive but not too long"
+msgstr "Qualcosa di descrittivo ma non troppo dettagliato"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:166
+msgid "Describe Your Metric"
+msgstr "Descrivi la tua Metrica"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:167
+msgid "Give your metric a description to help others understand what it's about."
+msgstr "Dai alla tua Metrica una descrizione per aiutare gli altri a capire di cosa tratta"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:171
+msgid "This is a good place to be more specific about less obvious metric rules"
+msgstr "Questo é un buon posto per essere piú specifici riguardo le metriche meno ovvie"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:175
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:179
+msgid "Reason For Changes"
+msgstr "Motivo per le modifiche"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:177
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:181
+msgid "Leave a note to explain what changes you made and why they were required."
+msgstr "Lascia un commento per spiegare quali cambiamenti hai fatto e perché li ritenevi necessari."
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:181
+msgid "This will show up in the revision history for this metric to help everyone remember why things changed"
+msgstr "Questo verrá mostrato nello storico revisioni di questa metrica per aiutare tutti a ricordarsi perché le cose sono cambiate"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:49
+msgid "At least one filter is required"
+msgstr "Al meno uno filtro è obbligatorio"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:116
+msgid "Edit Your Segment"
+msgstr "Modifica il tuo Segmento"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:117
+msgid "Create Your Segment"
+msgstr "Crea il tuo Segmento"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:121
+msgid "Make changes to your segment and leave an explanatory note."
+msgstr "Cambia il tuo segmento e aggiungi una nota esplicativa"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:122
+msgid "Select and add filters to create your new segment for the {0} table"
+msgstr "Seleziona un filtro da aggiungere per creare un nuovo segmento sulla tabella {0}"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:161
+msgid "Name Your Segment"
+msgstr "Dai un nome al tuo Segmento"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:162
+msgid "Give your segment a name to help others find it."
+msgstr "Dai un nome al tuo segmento per aiutare gli altri a trovarlo"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:170
+msgid "Describe Your Segment"
+msgstr "Discrivi il tuo segmento"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:171
+msgid "Give your segment a description to help others understand what it's about."
+msgstr "Dai una descrizione al tuo segmento per aiutare gli altri a capire di cosa si tratta."
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:175
+msgid "This is a good place to be more specific about less obvious segment rules"
+msgstr "questo e' un buon posto per essere precisi nel descrivere le regole di segmento meno ovvie"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:185
+msgid "This will show up in the revision history for this segment to help everyone remember why things changed"
+msgstr "Questo verrà visualizzato nella cronologia delle revisioni di questo segmento per aiutare tutti a ricordare perché le cose sono cambiate"
+
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:88
+#: frontend/src/metabase/admin/routes.jsx:127
+#: frontend/src/metabase/admin/settings/containers/SettingsEditorApp.jsx:266
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:87
+#: frontend/src/metabase/nav/containers/Navbar.jsx:199
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorSidebar.jsx:99
+msgid "Settings"
+msgstr "Impostazioni"
+
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:103
+msgid "Metabase can scan the values in this table to enable checkbox filters in dashboards and questions."
+msgstr "Metabase può analizzare i valori per questa tabella in modo da abilitare i filtri delle caselle di controllo nelle 'dashboard' e nelle 'question'. "
+
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:108
+msgid "Re-scan this table"
+msgstr "Riscansiona questa tabella"
+
+#: frontend/src/metabase/admin/people/components/AddRow.jsx:34
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:253
+#: frontend/src/metabase/dashboard/components/DashCard.jsx:278
+msgid "Add"
+msgstr "Aggiungi"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:103
+#: frontend/src/metabase/user/components/UpdateUserDetails.jsx:67
+msgid "Not a valid formatted email address"
+msgstr "Indirizzo email formattato non correttamente"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:186
+#: frontend/src/metabase/user/components/UpdateUserDetails.jsx:100
+msgid "First name"
+msgstr "Primo nome"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:203
+#: frontend/src/metabase/user/components/UpdateUserDetails.jsx:117
+msgid "Last name"
+msgstr "Cognome"
+
+#: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:77
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:158
+#: frontend/src/metabase/components/NewsletterForm.jsx:94
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:470
+#: frontend/src/metabase/setup/components/UserStep.jsx:222
+#: frontend/src/metabase/user/components/UpdateUserDetails.jsx:138
+msgid "Email address"
+msgstr "Indirizzo email"
+
+#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:202
+msgid "Permission Groups"
+msgstr "Gruppi di Sicurezza"
+
+#: frontend/src/metabase/components/form/widgets/FormGroupsWidget.jsx:75
+msgid "Make this user an admin"
+msgstr "Rendi admin questo user"
+
+#: frontend/src/metabase/admin/people/components/GroupDetail.jsx:32
+msgid "All users belong to the {0} group and can't be removed from it. Setting permissions for this group is a great way to\n"
+"make sure you know what new Metabase users will be able to see."
+msgstr "Tutti gli utenti appartengono al gruppo {0} e non possono essere rimossi da esso. L'impostazione dei permessi per questo gruppo è un ottimo modo per \n"
+"assicurarti di sapere quali nuovi utenti di Metabase saranno in grado di vedere."
+
+#: frontend/src/metabase/admin/people/components/GroupDetail.jsx:41
+msgid "This is a special group whose members can see everything in the Metabase instance, and who can access and make changes to the\n"
+"settings in the Admin Panel, including changing permissions! So, add people to this group with care."
+msgstr "Questo è un gruppo speciale i cui membri possono vedere tutto dell'istanza di Metabase e chi vi accede può apportare modifiche alle\n"
+"impostazioni nel Pannello di amministrazione, compresi i permessi di modifica! Quindi, aggiungi le persone a questo gruppo con cura."
+
+#: frontend/src/metabase/admin/people/components/GroupDetail.jsx:45
+msgid "To make sure you don't get locked out of Metabase, there always has to be at least one user in this group."
+msgstr "Per essere sicuro di non restare bloccato da Metabase, deve sempre esserci almeno un utente in questo gruppo."
+
+#: frontend/src/metabase/admin/people/components/GroupDetail.jsx:177
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:218
+msgid "Members"
+msgstr "Utenti"
+
+#: frontend/src/metabase/admin/people/components/GroupDetail.jsx:177
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:124
+#: frontend/src/metabase/admin/settings/selectors.js:113
+#: frontend/src/metabase/lib/core.js:55
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:301
+msgid "Email"
+msgstr "Email"
+
+#: frontend/src/metabase/admin/people/components/GroupDetail.jsx:203
+msgid "A group is only as good as its members."
+msgstr "Un gruppo é tanto buono quanto lo sono i suoi membri."
+
+#: frontend/src/metabase/admin/people/components/GroupSummary.jsx:15
+#: frontend/src/metabase/admin/routes.jsx:48
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:49
+msgid "Admin"
+msgstr "Admin"
+
+#: frontend/src/metabase/admin/people/components/GroupSummary.jsx:16
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:237
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:290
+msgid "and"
+msgstr "e"
+
+#: frontend/src/metabase/admin/people/components/GroupSummary.jsx:19
+#: frontend/src/metabase/admin/people/components/GroupSummary.jsx:31
+msgid "{0} other group"
+msgid_plural "{0} other groups"
+msgstr[0] "{0} altro gruppo"
+msgstr[1] "{0} altri gruppi"
+
+#: frontend/src/metabase/admin/people/components/GroupSummary.jsx:37
+msgid "Default"
+msgstr "Default"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:39
+msgid "Something like \"Marketing\""
+msgstr "Qualcosa simile a \"marketing\""
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:58
+msgid "Remove this group?"
+msgstr "Rimuovere questo gruppo?"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:60
+msgid "Are you sure? All members of this group will lose any permissions settings they have based on this group.\n"
+"This can't be undone."
+msgstr "Sei sicuro? Tutti i membri di questo gruppo perderanno tutti i permessi basati su di esso. Operazione irreversibile."
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:71
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:42
+#: frontend/src/metabase/components/ConfirmContent.jsx:17
+msgid "Yes"
+msgstr "Sì"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:74
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:42
+msgid "No"
+msgstr "No"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:92
+msgid "Edit Name"
+msgstr "Modifica nome"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:95
+msgid "Remove Group"
+msgstr "Rimuovi gruppo"
+
+#: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:46
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:138
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:42
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:41
+#: frontend/src/metabase/components/HeaderModal.jsx:43
+#: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:282
+#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:107
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:327
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:193
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:96
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:265
+msgid "Done"
+msgstr "Fatto"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:218
+msgid "Group name"
+msgstr "Nome del gruppo"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:363
+#: frontend/src/metabase/admin/people/containers/AdminPeopleApp.jsx:25
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:131
+#: frontend/src/metabase/admin/routes.jsx:88
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:154
+msgid "Groups"
+msgstr "Gruppi"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:364
+msgid "Create a group"
+msgstr "Crea un gruppo"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:370
+msgid "You can use groups to control your users' access to your data. Put users in groups and then go to the Permissions section to control each group's access. The Administrators and All Users groups are special default groups that can't be removed."
+msgstr "Puoi utilizzare i gruppi per controllare l'accesso dei tuoi utenti ai tuoi dati. Metti gli utenti in gruppi e poi vai alla sezione Permessi per controllare l'accesso di ciascun gruppo. I gruppi 'Amministratori' (Administrators) e 'Tutti gli utenti' (All Uses) sono gruppi predefiniti speciali che non possono essere rimossi."
+
+#: frontend/src/metabase/admin/people/components/UserActionsSelect.jsx:79
+msgid "Edit Details"
+msgstr "Modifica dettagli"
+
+#: frontend/src/metabase/admin/people/components/UserActionsSelect.jsx:85
+msgid "Re-send Invite"
+msgstr "Rimanda invito"
+
+#: frontend/src/metabase/admin/people/components/UserActionsSelect.jsx:90
+msgid "Reset Password"
+msgstr "Password dimenticata"
+
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:40
+msgid "Deactivate"
+msgstr "Disattiva"
+
+#: frontend/src/metabase/admin/people/containers/AdminPeopleApp.jsx:24
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:93
+#: frontend/src/metabase/admin/routes.jsx:84
+#: frontend/src/metabase/nav/containers/Navbar.jsx:204
+msgid "People"
+msgstr "Persone"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:192
+msgid "Who do you want to add?"
+msgstr "Chi vuoi aggiungere?"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:207
+msgid "Edit {0}'s details"
+msgstr "Modifica i dettagli di  {0}"
+
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:40
+msgid "{0} has been added"
+msgstr "{0} è stato aggiunto"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:224
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:262
+msgid "Add another person"
+msgstr "Aggiungi un'altra persona"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:231
+msgid "We couldn’t send them an email invitation,\n"
+"so make sure to tell them to log in using {0}\n"
+"and this password we’ve generated for them:"
+msgstr "Non è stato possibile inviare agli utenti un invito via email, \n"
+"assicurati di comunicare di accedere utilizzando {0} \n"
+"e questa password che abbiamo generato:"
+
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:73
+msgid "If you want to be able to send email invites, just go to the {0} page."
+msgstr "Se vuoi essere in grado di inviare inviti e-mail, vai alla pagina {0}."
+
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:55
+msgid "We’ve sent an invite to {0} with instructions to set their password."
+msgstr "Abbiamo inviato un invito a {0} con le istruzioni per impostare la password."
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:283
+msgid "We've re-sent {0}'s invite"
+msgstr "Sono stati inviati gli inviti di {0}"
+
+#: frontend/src/metabase/query_builder/components/SavedQuestionIntroModal.jsx:22
+#: frontend/src/metabase/tutorial/Tutorial.jsx:253
+msgid "Okay"
+msgstr "Ok"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:289
+msgid "Any previous email invites they have will no longer work."
+msgstr " Qualsiasi email precedente inviti non funzionerà più."
+
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:31
+msgid "Deactivate {0}?"
+msgstr "Disattiva {0}?"
+
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:34
+msgid "{0} won't be able to log in anymore."
+msgstr "{0} non sarà più in grado di accedere."
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:320
+msgid "Reactivate {0}'s account?"
+msgstr "Vuoi riattivare l'account di {0}?"
+
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:58
+msgid "Reactivate"
+msgstr "Riattivare"
+
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:51
+msgid "They'll be able to log in again, and they'll be placed back into the groups they were in before their account was deactivated."
+msgstr "Saranno in grado di accedere di nuovo e verranno reinseriti nei gruppi in cui si trovavano prima che il loro account fosse disattivato."
+
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:51
+msgid "Reset {0}'s password?"
+msgstr "Reimposta la password di {0}?"
+
+#: frontend/src/metabase/components/form/StandardForm.jsx:77
+msgid "Reset"
+msgstr "Reset"
+
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:54
+#: frontend/src/metabase/components/ConfirmContent.jsx:13
+#: frontend/src/metabase/dashboard/components/ArchiveDashboardModal.jsx:44
+msgid "Are you sure you want to do this?"
+msgstr "Sei sicuro di volerlo fare?"
+
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:41
+msgid "{0}'s password has been reset"
+msgstr "La password di {0} è stata ripristinata"
+
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:45
+msgid "Here’s a temporary password they can use to log in and then change their password."
+msgstr "Ecco una password temporanea si può utilizzare per accedere ,sucessivamente modificare la password"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:388
+msgid "We've sent them an email with instructions for creating a new password."
+msgstr "Abbiamo spedito una email con le istruzioni per creare una nuova password"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:101
+msgid "Active"
+msgstr "Attivo"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:102
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:127
+msgid "Deactivated"
+msgstr "Deattivato"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:115
+msgid "Add someone"
+msgstr "Aggiungi qualcuno"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:132
+msgid "Last Login"
+msgstr "Ultimo Login"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:153
+msgid "Signed up via Google"
+msgstr "Iscritto  tramite  Google"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:158
+msgid "Signed up via LDAP"
+msgstr "Accesso con LDAP"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:170
+msgid "Reactivate this account"
+msgstr "Riattivare questo account"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:193
+msgid "Never"
+msgstr "Mai"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:27
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} table"
+msgid_plural "{0} tables"
+msgstr[0] "{0} tabella"
+msgstr[1] "{0} tabelle"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:45
+msgid " will be "
+msgstr " sarà "
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:48
+msgid "given access to"
+msgstr "Accesso permesso a"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:53
+msgid " and "
+msgstr " e "
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:56
+msgid "denied access to"
+msgstr "Accesso proibito a"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:70
+msgid " will no longer be able to "
+msgstr " non sarà più in grado di "
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:71
+msgid " will now be able to "
+msgstr " non sarà in grado di "
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:79
+msgid " native queries for "
+msgstr " query native per "
+
+#: frontend/src/metabase/admin/permissions/routes.jsx:12
+#: frontend/src/metabase/nav/containers/Navbar.jsx:219
+msgid "Permissions"
+msgstr "Permessi"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:32
+msgid "Save permissions?"
+msgstr "Salvare i permessi?"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:38
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:161
+msgid "Save Changes"
+msgstr "Salva le modifiche"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:44
+msgid "Discard changes?"
+msgstr "Scartare le modifiche?"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:46
+msgid "No changes to permissions will be made."
+msgstr "Nessun cambiamento ai permessi sará fatto"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:65
+msgid "You've made changes to permissions."
+msgstr "Hai cambiato i permessi"
+
+#: frontend/src/metabase/admin/permissions/containers/CollectionPermissionsModal.jsx:52
+msgid "Permissions for this collection"
+msgstr "Permessi per questa collection"
+
+#: frontend/src/metabase/admin/permissions/containers/PermissionsApp.jsx:53
+msgid "You have unsaved changes"
+msgstr "Hai modifiche non salvate"
+
+#: frontend/src/metabase/admin/permissions/containers/PermissionsApp.jsx:54
+msgid "Do you want to leave this page and discard your changes?"
+msgstr "Vuoi lasciare questa pagina e scartare le tue modifiche?"
+
+#: frontend/src/metabase/admin/permissions/permissions.js:126
+msgid "Sorry, an error occurred."
+msgstr "Spiacenti, si é verificato un errore"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:65
+msgid "Administrators always have the highest level of access to everything in Metabase."
+msgstr "Gli amministratori hanno sempre il più alto livello di accesso a tutto Metabase."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:67
+msgid "Every Metabase user belongs to the All Users group. If you want to limit or restrict a group's access to something, make sure the All Users group has an equal or lower level of access."
+msgstr "Ogni utente di Metabase appartiene al gruppo 'Tutti gli utenti' (All Users). Se si desidera limitare o limitare l'accesso di un gruppo a qualcosa, assicurarsi che il gruppo 'Tutti gli utenti' abbia un livello di accesso uguale o inferiore."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:69
+msgid "MetaBot is Metabase's Slack bot. You can choose what it has access to here."
+msgstr "MetaBot è il bot Slack di Metabase. Puoi scegliere a cosa può accedere qui."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:119
+msgid "The \"{0}\" group may have access to a different set of {1} than this group, which may give this group additional access to some {2}."
+msgstr "Il \"{0}\" gruppo può avere accesso a un diverso insieme di {1} rispetto a questo gruppo, che può dare a questo gruppo ulteriore accesso ad alcune {2}."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:124
+msgid "The \"{0}\" group has a higher level of access than this, which will override this setting. You should limit or revoke the \"{1}\" group's access to this item."
+msgstr "Il gruppo \"{0}\" ha un livello di accesso superiore a questo, per cui sarà sostutuita questa impostazione. Devi limitare o revocare l'accesso del gruppo \"{1}\" a questo elemento."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:154
+msgid "Limit"
+msgstr "Limita"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:154
+msgid "Revoke"
+msgstr "Revoca"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:156
+msgid "access even though \"{0}\" has greater access?"
+msgstr "accesso anche se \"{0}\" ha un accesso maggiore?"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:159
+#: frontend/src/metabase/admin/permissions/selectors.js:258
+msgid "Limit access"
+msgstr "Limita l'accesso"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:159
+#: frontend/src/metabase/admin/permissions/selectors.js:223
+#: frontend/src/metabase/admin/permissions/selectors.js:266
+msgid "Revoke access"
+msgstr "Revoca L'accesso"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:168
+msgid "Change access to this database to limited?"
+msgstr "Modificare l'accesso a questo database a limitato?"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:169
+msgid "Change"
+msgstr "Cambia"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:182
+msgid "Allow Raw Query Writing?"
+msgstr "Consenti scrittura di query?"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:183
+msgid "This will also change this group's data access to Unrestricted for this database."
+msgstr "Questo cambierà anche l'accesso ai dati di questo gruppo a 'Non ristretto' (Unrestricted) per questo database."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:184
+msgid "Allow"
+msgstr "Permetto"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:221
+msgid "Revoke access to all tables?"
+msgstr "Revocare l'accesso a tutte le tabelle?"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:222
+msgid "This will also revoke this group's access to raw queries for this database."
+msgstr "Questo revocherà anche l'accesso di questo gruppo alle query per questo database."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:251
+msgid "Grant unrestricted access"
+msgstr "Concedere l'accesso illimitato"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:252
+msgid "Unrestricted access"
+msgstr "Accesso Illimitato"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:259
+msgid "Limited access"
+msgstr "Acceso limitato"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:267
+msgid "No access"
+msgstr "Accesso Negato"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:273
+msgid "Write raw queries"
+msgstr "Scrivi Query"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:274
+msgid "Can write raw queries"
+msgstr "Puoi scrivere query brutali"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:281
+msgid "Curate collection"
+msgstr "Cura la collezione"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:288
+msgid "View collection"
+msgstr "Vedi collezione"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:331
+#: frontend/src/metabase/admin/permissions/selectors.js:427
+#: frontend/src/metabase/admin/permissions/selectors.js:524
+msgid "Data Access"
+msgstr "Accesso ai dati"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:492
+#: frontend/src/metabase/admin/permissions/selectors.js:649
+#: frontend/src/metabase/admin/permissions/selectors.js:654
+msgid "View tables"
+msgstr "Vedi tabelle"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:590
+msgid "SQL Queries"
+msgstr "SQL query"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:660
+msgid "View schemas"
+msgstr "Vedi schemi"
+
+#: frontend/src/metabase/admin/routes.jsx:59
+#: frontend/src/metabase/nav/containers/Navbar.jsx:209
+msgid "Data Model"
+msgstr "Modello dei dati"
+
+#: frontend/src/metabase/admin/settings/components/SettingsAuthenticationOptions.jsx:11
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:118
+msgid "Sign in with Google"
+msgstr "Accesso con Google"
+
+#: frontend/src/metabase/admin/settings/components/SettingsAuthenticationOptions.jsx:13
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:120
+msgid "Allows users with existing Metabase accounts to login with a Google account that matches their email address in addition to their Metabase username and password."
+msgstr "Consente agli utenti con account Metabase esistenti di accedere con un account Google che corrisponda al loro indirizzo email oltre al nome utente e alla password di Metabase."
+
+#: frontend/src/metabase/admin/settings/components/SettingsAuthenticationOptions.jsx:17
+#: frontend/src/metabase/admin/settings/components/SettingsAuthenticationOptions.jsx:29
+#: frontend/src/metabase/components/ChannelSetupMessage.jsx:32
+msgid "Configure"
+msgstr "Configurare"
+
+#: frontend/src/metabase/admin/settings/components/SettingsAuthenticationOptions.jsx:23
+#: frontend/src/metabase/admin/settings/components/SettingsLdapForm.jsx:13
+#: frontend/src/metabase/admin/settings/selectors.js:207
+msgid "LDAP"
+msgstr "LDAP"
+
+#: frontend/src/metabase/admin/settings/components/SettingsAuthenticationOptions.jsx:25
+msgid "Allows users within your LDAP directory to log in to Metabase with their LDAP credentials, and allows automatic mapping of LDAP groups to Metabase groups."
+msgstr "Consente agli utenti all'interno della directory LDAP di accedere a Metabase con le proprie credenziali LDAP e consente la mappatura automatica dei gruppi LDAP ai gruppi di metabase."
+
+#: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:17
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:69
+#: frontend/src/metabase/admin/settings/selectors.js:160
+msgid "That's not a valid email address"
+msgstr "Email non valida"
+
+#: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:21
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:73
+msgid "That's not a valid integer"
+msgstr "Intero non valido"
+
+#: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:28
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:161
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:223
+msgid "Changes saved!"
+msgstr "Modifiche Salvate!"
+
+#: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:157
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:132
+msgid "Looks like we ran into some problems"
+msgstr "Mi"
+
+#: frontend/src/metabase/admin/settings/components/SettingsEmailForm.jsx:12
+msgid "Send test email"
+msgstr "Spedisci email di test"
+
+#: frontend/src/metabase/admin/settings/components/SettingsEmailForm.jsx:13
+msgid "Sending..."
+msgstr "Invio..."
+
+#: frontend/src/metabase/admin/settings/components/SettingsEmailForm.jsx:14
+msgid "Sent!"
+msgstr "Inviato!"
+
+#: frontend/src/metabase/admin/settings/components/SettingsEmailForm.jsx:82
+msgid "Clear"
+msgstr "Pulisci"
+
+#: frontend/src/metabase/admin/settings/components/SettingsLdapForm.jsx:12
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:113
+#: frontend/src/metabase/admin/settings/selectors.js:202
+msgid "Authentication"
+msgstr "Autenticazione"
+
+#: frontend/src/metabase/admin/settings/components/SettingsLdapForm.jsx:18
+msgid "Server Settings"
+msgstr "Parametri Server"
+
+#: frontend/src/metabase/admin/settings/components/SettingsLdapForm.jsx:29
+msgid "User Schema"
+msgstr "Schema Utente"
+
+#: frontend/src/metabase/admin/settings/components/SettingsLdapForm.jsx:33
+msgid "Attributes"
+msgstr "Attributi"
+
+#: frontend/src/metabase/admin/settings/components/SettingsLdapForm.jsx:42
+msgid "Group Schema"
+msgstr "Schema Gruppo"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSetting.jsx:28
+msgid "Using "
+msgstr "Usando "
+
+#: frontend/src/metabase/admin/settings/components/SettingsSetupList.jsx:105
+msgid "Getting set up"
+msgstr "Prepararsi"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSetupList.jsx:106
+msgid "A few things you can do to get the most out of Metabase."
+msgstr "Alcune cose che puoi fare per ottenere il massimo da Metabase."
+
+#: frontend/src/metabase/admin/settings/components/SettingsSetupList.jsx:115
+msgid "Recommended next step"
+msgstr "Prossimo passo (raccomandato)"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:114
+msgid "Google Sign-In"
+msgstr "Google Sign-In"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:123
+msgid "To allow users to sign in with Google you'll need to give Metabase a Google Developers console application client ID. It only takes a few steps and instructions on how to create a key can be found {0}"
+msgstr "Per consentire agli utenti di accedere con Google, devi fornire a Metabase un ID client dell'applicazione Google Developers Console. Ci vogliono solo pochi passi e le istruzioni su come creare una chiave possono essere trovate {0}"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:137
+msgid "Your Google client ID"
+msgstr "il tuo Google ID"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:142
+msgid "Allow users to sign up on their own if their Google account email address is from:"
+msgstr "Consenti agli utenti di registrarsi da soli se il loro indirizzo email dell'account Google proviene da:"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:242
+msgid "Answers sent right to your Slack #channels"
+msgstr "Le risposte vengono inviate direttamente ai tuoi #channels di Slack"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:251
+msgid "Create a Slack Bot User for MetaBot"
+msgstr "Crea un Utente Bot Slack per MetaBot"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:261
+msgid "Once you're there, give it a name and click {0}. Then copy and paste the Bot API Token into the field below. Once you are done, create a \"metabase_files\" channel in Slack. Metabase needs this to upload graphs."
+msgstr "Una volta che sei lì, dagli un nome e fai clicca {0}. Quindi copia e incolla il token API Bot nel campo sottostante. Una volta terminato, crea un canale \"metabase_files\" in Slack. Metabase ha bisogno di questo per caricare grafici."
+
+#: frontend/src/metabase/admin/settings/components/SettingsUpdatesForm.jsx:90
+msgid "You're running Metabase {0} which is the latest and greatest!"
+msgstr "Stai usando Metabase {0} che é l'ultimo e il migliore!"
+
+#: frontend/src/metabase/admin/settings/components/SettingsUpdatesForm.jsx:99
+msgid "Metabase {0} is available.  You're running {1}"
+msgstr "É disponibile Metabase {0}. La versione in uso é la {1}."
+
+#: frontend/src/metabase/admin/settings/components/SettingsUpdatesForm.jsx:112
+#: frontend/src/metabase/components/form/StandardForm.jsx:69
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:96
+msgid "Update"
+msgstr "Aggiornare"
+
+#: frontend/src/metabase/admin/settings/components/SettingsUpdatesForm.jsx:116
+msgid "What's Changed:"
+msgstr "Cos'è cambiato:"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:131
+msgid "Add a map"
+msgstr "Aggiungi una mappa"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:184
+#: frontend/src/metabase/lib/core.js:105
+msgid "URL"
+msgstr "URL"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:199
+msgid "Delete custom map"
+msgstr "Cancellare mappa personalizzata"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:201
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:327
+#: frontend/src/metabase/dashboard/components/RemoveFromDashboardModal.jsx:40
+#: frontend/src/metabase/parameters/components/ParameterWidget.jsx:181
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:104
+msgid "Remove"
+msgstr "Rimuovere"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:226
+#: frontend/src/metabase/dashboard/containers/DashCardCardParameterMapper.jsx:187
+#: frontend/src/metabase/parameters/components/ParameterValueWidget.jsx:241
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:145
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:187
+msgid "Select…"
+msgstr "Seleziona..."
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:241
+msgid "Sample values:"
+msgstr "Valori di esempio:"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:279
+msgid "Add a new map"
+msgstr "Aggiungi una nuova mappa"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:279
+msgid "Edit map"
+msgstr "Modifica mappa"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:280
+msgid "What do you want to call this map?"
+msgstr "Come vuoi chiamare questa mappa?"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:285
+msgid "e.g. United Kingdom, Brazil, Mars"
+msgstr "p.es. United Kingdom, Brazil, Mars"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:292
+msgid "URL for the GeoJSON file you want to use"
+msgstr "URL per il file GeoJSON che vuoi usare"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:298
+msgid "Like https://my-mb-server.com/maps/my-map.json"
+msgstr "Come https://my-mb-server.com/maps/my-map.json"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:309
+#: frontend/src/metabase/query_builder/components/RunButton.jsx:33
+msgid "Refresh"
+msgstr "Aggiorna"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:309
+msgid "Load"
+msgstr "Carica"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:315
+msgid "Which property specifies the region’s identifier?"
+msgstr "Quale proprietà specifica l'identificativo della regione?"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:324
+msgid "Which property specifies the region’s display name?"
+msgstr "Quale proprietà specifica il nome da mostrare della regione?"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:345
+msgid "Load a GeoJSON file to see a preview"
+msgstr "Carica un file GeoJSON per vedere l'anteprima"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:363
+msgid "Save map"
+msgstr "Salva mappa"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:363
+msgid "Add map"
+msgstr "Aggiungi mappa"
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLegalese.jsx:7
+msgid "Using embedding"
+msgstr "Usa la modalità \"embedded\""
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLegalese.jsx:9
+msgid "By enabling embedding you're agreeing to the embedding license located at"
+msgstr "Abilitando l'incorporamento accetti la licenza di incorporamento situata in"
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLegalese.jsx:19
+msgid "In plain English, when you embed charts or dashboards from Metabase in your own application, that application isn't subject to the Affero General Public License that covers the rest of Metabase, provided you keep the Metabase logo and the \"Powered by Metabase\" visible on those embeds. You should, however, read the license text linked above as that is the actual license that you will be agreeing to by enabling this feature."
+msgstr "In italiano semplice, quando si incorporano grafici o 'dashboard' da Metabase nella propria applicazione, tale applicazione non è soggetta alla 'Affero General Public License' che copre il resto di Metabase, purché si mantenga visibile il logo della metabase e il \"Powered by Metabase\" su quegli elementi inclusi. Tuttavia, dovresti leggere il testo della licenza linkato in alto, poiché questa è la licenza effettiva a cui dovrai accettare abilitando questa funzione."
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLegalese.jsx:32
+msgid "Enable"
+msgstr "Abilita"
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLevel.jsx:24
+msgid "Premium embedding enabled"
+msgstr "Abilitazione Premium \"embedding \" attivata"
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLevel.jsx:26
+msgid "Enter the token you bought from the Metabase Store"
+msgstr "Inserisci il token che hai comprato dal negozio Metabase"
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLevel.jsx:53
+msgid "Premium embedding lets you disable \"Powered by Metabase\" on your embedded dashboards and questions."
+msgstr "il Premium ti consente di disattivare 'Powered by Metabase' nelle dashboard e domande embeddate"
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLevel.jsx:60
+msgid "Buy a token"
+msgstr "Acquista un token"
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLevel.jsx:63
+msgid "Enter a token"
+msgstr "Inserisci un Token"
+
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:134
+msgid "Edit Mappings"
+msgstr "Modifica Mapping"
+
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:140
+msgid "Group Mappings"
+msgstr "Raggruppa Mapping"
+
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:147
+msgid "Create a mapping"
+msgstr "Crea Mapping"
+
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:149
+msgid "Mappings allow Metabase to automatically add and remove users from groups based on the membership information provided by the\n"
+"directory server. Membership to the Admin group can be granted through mappings, but will not be automatically removed as a\n"
+"failsafe measure."
+msgstr "I mapping consentono a Metabase di aggiungere e rimuovere automaticamente utenti dai gruppi in base alle informazioni sull'appartenenza fornite dal server di directory \n"
+". L'appartenenza al gruppo di amministrazione può essere concessa tramite associazioni, ma non verrà automaticamente rimossa come misura \n"
+"failsafe."
+
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:154
+msgid "Distinguished Name"
+msgstr "Nome distinto"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:92
+msgid "Public Link"
+msgstr "Link Pubblico"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:93
+msgid "Revoke Link"
+msgstr "Revoca Link"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:121
+msgid "Disable this link?"
+msgstr "Vuoi disabilitare questo link"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:122
+msgid "They won't work anymore, and can't be restored, but you can create new links."
+msgstr "Non funzioneranno più e non possono essere ripristinati, ma puoi creare nuovi collegamenti."
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:149
+msgid "Public Dashboard Listing"
+msgstr "Lista delle 'dashboard' pubbliche"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:152
+msgid "No dashboards have been publicly shared yet."
+msgstr "Nessuna dashboard è stato ancora pubblicamente condivisa."
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:160
+msgid "Public Card Listing"
+msgstr "Lista delle card pubbliche"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:163
+msgid "No questions have been publicly shared yet."
+msgstr "Nessuna domanda è stato ancora pubblicamente condivisa."
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:172
+msgid "Embedded Dashboard Listing"
+msgstr "Lista delle  'dashboard'  inserite"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:173
+msgid "No dashboards have been embedded yet."
+msgstr "Nessuna 'dashboard' è stata ancora inserita"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:183
+msgid "Embedded Card Listing"
+msgstr "Lista delle card incorporate"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:184
+msgid "No questions have been embedded yet."
+msgstr "Nessuna domanda è stata ancora incorporata."
+
+#: frontend/src/metabase/admin/settings/components/widgets/SecretKeyWidget.jsx:35
+msgid "Regenerate embedding key?"
+msgstr "Rigenerare la chiave incorporata?"
+
+#: frontend/src/metabase/admin/settings/components/widgets/SecretKeyWidget.jsx:36
+msgid "This will cause existing embeds to stop working until they are updated with the new key."
+msgstr "Ciò causerà l'interruzione del funzionamento delle parti incorporate esistenti finché non vengono aggiornati con la nuova chiave"
+
+#: frontend/src/metabase/admin/settings/components/widgets/SecretKeyWidget.jsx:39
+msgid "Regenerate key"
+msgstr "Chiave rigenerata"
+
+#: frontend/src/metabase/admin/settings/components/widgets/SecretKeyWidget.jsx:47
+msgid "Generate Key"
+msgstr "Chiave generata"
+
+#: frontend/src/metabase/admin/settings/components/widgets/SettingToggle.jsx:11
+#: frontend/src/metabase/admin/settings/selectors.js:78
+#: frontend/src/metabase/admin/settings/selectors.js:87
+msgid "Enabled"
+msgstr "Abilitata"
+
+#: frontend/src/metabase/admin/settings/components/widgets/SettingToggle.jsx:11
+#: frontend/src/metabase/admin/settings/selectors.js:83
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:103
+msgid "Disabled"
+msgstr "Disabilitato"
+
+#: frontend/src/metabase/admin/settings/containers/SettingsEditorApp.jsx:116
+msgid "Unknown setting {0}"
+msgstr "Impostazione sconosciuta {0}"
+
+#: frontend/src/metabase/admin/settings/selectors.js:23
+msgid "Setup"
+msgstr "Imposta"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:217
+#: frontend/src/metabase/admin/settings/selectors.js:28
+msgid "General"
+msgstr "Generale"
+
+#: frontend/src/metabase/admin/settings/selectors.js:33
+msgid "Site Name"
+msgstr "Nome del Sito"
+
+#: frontend/src/metabase/admin/settings/selectors.js:38
+msgid "Site URL"
+msgstr "URL del sito"
+
+#: frontend/src/metabase/admin/settings/selectors.js:43
+msgid "Email Address for Help Requests"
+msgstr "Indirizzo email per richieste di assistenza"
+
+#: frontend/src/metabase/admin/settings/selectors.js:48
+msgid "Report Timezone"
+msgstr "Segnala fuso orario"
+
+#: frontend/src/metabase/admin/settings/selectors.js:51
+msgid "Database Default"
+msgstr "Database predefinito"
+
+#: frontend/src/metabase/admin/settings/selectors.js:54
+msgid "Select a timezone"
+msgstr "Seleziona una timezone"
+
+#: frontend/src/metabase/admin/settings/selectors.js:55
+msgid "Not all databases support timezones, in which case this setting won't take effect."
+msgstr "Non tutti i database supportano i fusi orari, nel qual caso questa impostazione non avrà effetto."
+
+#: frontend/src/metabase/admin/settings/selectors.js:60
+msgid "Language"
+msgstr "Lingua"
+
+#: frontend/src/metabase/admin/settings/selectors.js:65
+msgid "Select a language"
+msgstr "Seleziona una lingua"
+
+#: frontend/src/metabase/admin/settings/selectors.js:70
+msgid "Anonymous Tracking"
+msgstr "Tracciamento Anonimo"
+
+#: frontend/src/metabase/admin/settings/selectors.js:75
+msgid "Friendly Table and Field Names"
+msgstr "Nomi tabelle e campi amichevoli"
+
+#: frontend/src/metabase/admin/settings/selectors.js:81
+msgid "Only replace underscores and dashes with spaces"
+msgstr "Sostituisci solo caratteri di sottolineatura e trattini con spazi"
+
+#: frontend/src/metabase/admin/settings/selectors.js:91
+msgid "Enable Nested Queries"
+msgstr "Abilita le query annidate"
+
+#: frontend/src/metabase/admin/settings/selectors.js:102
+msgid "Updates"
+msgstr "Aggiornamenti"
+
+#: frontend/src/metabase/admin/settings/selectors.js:107
+msgid "Check for updates"
+msgstr "Controlla Aggiornamenti"
+
+#: frontend/src/metabase/admin/settings/selectors.js:118
+msgid "SMTP Host"
+msgstr "Host SMTP"
+
+#: frontend/src/metabase/admin/settings/selectors.js:126
+msgid "SMTP Port"
+msgstr "Porta SMTP"
+
+#: frontend/src/metabase/admin/settings/selectors.js:130
+#: frontend/src/metabase/admin/settings/selectors.js:230
+msgid "That's not a valid port number"
+msgstr "Questo non e' un numero diporta valido"
+
+#: frontend/src/metabase/admin/settings/selectors.js:134
+msgid "SMTP Security"
+msgstr "Tipo sicurezza SMTP"
+
+#: frontend/src/metabase/admin/settings/selectors.js:142
+msgid "SMTP Username"
+msgstr "SMTP Username"
+
+#: frontend/src/metabase/admin/settings/selectors.js:149
+msgid "SMTP Password"
+msgstr "SMTP Password"
+
+#: frontend/src/metabase/admin/settings/selectors.js:156
+msgid "From Address"
+msgstr "\"Da\" Indirizzo"
+
+#: frontend/src/metabase/admin/settings/selectors.js:170
+msgid "Slack API Token"
+msgstr "Slack API Token"
+
+#: frontend/src/metabase/admin/settings/selectors.js:172
+msgid "Enter the token you received from Slack"
+msgstr "Inserisci il token di slack"
+
+#: frontend/src/metabase/admin/settings/selectors.js:189
+msgid "Single Sign-On"
+msgstr "Single Sign-On"
+
+#: frontend/src/metabase/admin/settings/selectors.js:213
+msgid "LDAP Authentication"
+msgstr "Autenticazione LDAP"
+
+#: frontend/src/metabase/admin/settings/selectors.js:219
+msgid "LDAP Host"
+msgstr "LDAP Host"
+
+#: frontend/src/metabase/admin/settings/selectors.js:227
+msgid "LDAP Port"
+msgstr "Porta LDAP"
+
+#: frontend/src/metabase/admin/settings/selectors.js:234
+msgid "LDAP Security"
+msgstr "Sicurezza LDAP"
+
+#: frontend/src/metabase/admin/settings/selectors.js:242
+msgid "Username or DN"
+msgstr "Username o DN"
+
+#: frontend/src/metabase/admin/settings/selectors.js:247
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:188
+#: frontend/src/metabase/user/components/UserSettings.jsx:72
+msgid "Password"
+msgstr "Password"
+
+#: frontend/src/metabase/admin/settings/selectors.js:252
+msgid "User search base"
+msgstr "Base di ricerca degli utenti"
+
+#: frontend/src/metabase/admin/settings/selectors.js:258
+msgid "User filter"
+msgstr "Filtro utente"
+
+#: frontend/src/metabase/admin/settings/selectors.js:264
+msgid "Check your parentheses"
+msgstr "Controlla le tue parentesi"
+
+#: frontend/src/metabase/admin/settings/selectors.js:270
+msgid "Email attribute"
+msgstr "Attributo email"
+
+#: frontend/src/metabase/admin/settings/selectors.js:275
+msgid "First name attribute"
+msgstr "Attributo nome"
+
+#: frontend/src/metabase/admin/settings/selectors.js:280
+msgid "Last name attribute"
+msgstr "Attributo cognome"
+
+#: frontend/src/metabase/admin/settings/selectors.js:285
+msgid "Synchronize group memberships"
+msgstr "Sincronizza le appartenenze ai gruppi"
+
+#: frontend/src/metabase/admin/settings/selectors.js:291
+msgid "Group search base"
+msgstr "Ricerca base gruppo"
+
+#: frontend/src/metabase/admin/settings/selectors.js:300
+msgid "Maps"
+msgstr "Mappe"
+
+#: frontend/src/metabase/admin/settings/selectors.js:305
+msgid "Map tile server URL"
+msgstr "URL del MAP TILE SERVER"
+
+#: frontend/src/metabase/admin/settings/selectors.js:306
+msgid "Metabase uses OpenStreetMaps by default."
+msgstr "Metabase utilizza OpenStreetMaps per impostazione predefinita."
+
+#: frontend/src/metabase/admin/settings/selectors.js:311
+msgid "Custom Maps"
+msgstr "Mappe personalizzate"
+
+#: frontend/src/metabase/admin/settings/selectors.js:312
+msgid "Add your own GeoJSON files to enable different region map visualizations"
+msgstr "Aggiungi i tuoi file GeoJSON per abilitare visualizzazioni di mappe di regioni diverse"
+
+#: frontend/src/metabase/admin/settings/selectors.js:331
+msgid "Public Sharing"
+msgstr "Condivisione pubblica"
+
+#: frontend/src/metabase/admin/settings/selectors.js:336
+msgid "Enable Public Sharing"
+msgstr "Abilita la condivisione pubblica"
+
+#: frontend/src/metabase/admin/settings/selectors.js:341
+msgid "Shared Dashboards"
+msgstr "'Dashboard' condivise"
+
+#: frontend/src/metabase/admin/settings/selectors.js:347
+msgid "Shared Questions"
+msgstr "Question condivise"
+
+#: frontend/src/metabase/admin/settings/selectors.js:354
+msgid "Embedding in other Applications"
+msgstr "Incorporamento in altre applicazioni"
+
+#: frontend/src/metabase/admin/settings/selectors.js:381
+msgid "Enable Embedding Metabase in other Applications"
+msgstr "Abilita incorporamento di Metabase in altre applicazioni"
+
+#: frontend/src/metabase/admin/settings/selectors.js:391
+msgid "Embedding secret key"
+msgstr "Chiave segreta incorporata"
+
+#: frontend/src/metabase/admin/settings/selectors.js:397
+msgid "Embedded Dashboards"
+msgstr "'Dashboard' incorporate"
+
+#: frontend/src/metabase/admin/settings/selectors.js:403
+msgid "Embedded Questions"
+msgstr "Question incorporate"
+
+#: frontend/src/metabase/admin/settings/selectors.js:410
+msgid "Caching"
+msgstr "Caching"
+
+#: frontend/src/metabase/admin/settings/selectors.js:415
+msgid "Enable Caching"
+msgstr "Abilita caching"
+
+#: frontend/src/metabase/admin/settings/selectors.js:420
+msgid "Minimum Query Duration"
+msgstr "Durata minima Query"
+
+#: frontend/src/metabase/admin/settings/selectors.js:427
+msgid "Cache Time-To-Live (TTL) multiplier"
+msgstr "Moltiplicatore Time-To-Live (TTL) della cache"
+
+#: frontend/src/metabase/admin/settings/selectors.js:434
+msgid "Max Cache Entry Size"
+msgstr "Dimensione massima della cache"
+
+#: frontend/src/metabase/alert/alert.js:60
+msgid "Your alert is all set up."
+msgstr "Il tuo avviso è tutto configurato."
+
+#: frontend/src/metabase/alert/alert.js:101
+msgid "Your alert was updated."
+msgstr "L'avviso è stato aggiornato."
+
+#: frontend/src/metabase/alert/alert.js:149
+msgid "The alert was successfully deleted."
+msgstr "L'avviso è stato cancellato con successo."
+
+#: frontend/src/metabase/auth/auth.js:33
+msgid "Please enter a valid formatted email address."
+msgstr "Per piacere inserisci un indirizzo email valido"
+
+#: frontend/src/metabase/auth/auth.js:116
+#: frontend/src/metabase/setup/components/UserStep.jsx:110
+#: frontend/src/metabase/user/components/SetUserPassword.jsx:69
+msgid "Passwords do not match"
+msgstr "La password non corrisponde"
+
+#: frontend/src/metabase/auth/components/BackToLogin.jsx:6
+msgid "Back to login"
+msgstr "Torna alla login"
+
+#: frontend/src/metabase/auth/components/GoogleNoAccount.jsx:15
+msgid "No Metabase account exists for this Google account."
+msgstr "Nessun account Metabase esiste per questo account Google."
+
+#: frontend/src/metabase/auth/components/GoogleNoAccount.jsx:17
+msgid "You'll need an administrator to create a Metabase account before you can use Google to log in."
+msgstr "Avrai bisogno di un amministratore per creare un account Metabase prima di poter utilizzare Google per accedere."
+
+#: frontend/src/metabase/auth/components/SSOLoginButton.jsx:18
+msgid "Sign in with {0}"
+msgstr "Accedi con {0}"
+
+#: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:56
+msgid "Please contact an administrator to have them reset your password"
+msgstr "Contatta un amministratore per fare in modo che reimposti la password"
+
+#: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:69
+msgid "Forgot password"
+msgstr "Password dimenticata"
+
+#: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:84
+msgid "The email you use for your Metabase account"
+msgstr "L'email che usi per il tuo account Metabase"
+
+#: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:99
+msgid "Send password reset email"
+msgstr "Invia email di reimpostazione della password"
+
+#: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:110
+msgid "Check your email for instructions on how to reset your password."
+msgstr "Controlla la tua e-mail per le istruzioni su come reimpostare la password."
+
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:128
+msgid "Sign in to Metabase"
+msgstr "Accedi a Metabase"
+
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:138
+msgid "OR"
+msgstr "O"
+
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:157
+msgid "Username or email address"
+msgstr "Username e indirizzo email"
+
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:217
+msgid "Sign in"
+msgstr "Accedi"
+
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:230
+msgid "I seem to have forgotten my password"
+msgstr "Mi sembra di aver dimenticato la mia password"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:102
+msgid "request a new reset email"
+msgstr "richiedi una nuova email di ripristino"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:120
+msgid "Whoops, that's an expired link"
+msgstr "Ops, questo è un link scaduto"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:122
+msgid "For security reasons, password reset links expire after a little while. If you still need\n"
+"to reset your password, you can {0}."
+msgstr "Per motivi di sicurezza, i link di reimpostazione password scadono dopo un po 'di tempo. Se hai ancora bisogno\n"
+"per resettare la tua password, puoi {0}."
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:147
+#: frontend/src/metabase/user/components/SetUserPassword.jsx:126
+msgid "New password"
+msgstr "Nuova password"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:149
+msgid "To keep your data secure, passwords {0}"
+msgstr "Per proteggere i dati, password {0}"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:163
+msgid "Create a new password"
+msgstr "Crea una nuova password"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:170
+#: frontend/src/metabase/user/components/SetUserPassword.jsx:141
+msgid "Make sure its secure like the instructions above"
+msgstr "Assicurati che sia sicuro come le istruzioni sopra"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:184
+#: frontend/src/metabase/user/components/SetUserPassword.jsx:150
+msgid "Confirm new password"
+msgstr "Conferma la nuova password"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:191
+#: frontend/src/metabase/user/components/SetUserPassword.jsx:159
+msgid "Make sure it matches the one you just entered"
+msgstr "Assicurati che corrisponda a quello che hai appena inserito"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:216
+msgid "Your password has been reset."
+msgstr "La tua password è stata appena reimpostata"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:222
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:227
+msgid "Sign in with your new password"
+msgstr "Accedi con la tua nuova password"
+
+#: frontend/src/metabase/components/ActionButton.jsx:53
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:182
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:184
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:251
+msgid "Save failed"
+msgstr "salvataggio fallito"
+
+#: frontend/src/metabase/components/ActionButton.jsx:54
+#: frontend/src/metabase/components/SaveStatus.jsx:60
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:183
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:129
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:185
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:225
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:252
+msgid "Saved"
+msgstr "Salvato"
+
+#: frontend/src/metabase/components/Alert.jsx:12
+msgid "Ok"
+msgstr "Ok"
+
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:38
+msgid "Archive this collection?"
+msgstr "Archiviare questa collezione"
+
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:43
+msgid "The dashboards, collections, and pulses in this collection will also be archived."
+msgstr "Anche le 'dashboard', le collezioni, e i 'pulse' in questa collezione saranno archiviati"
+
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:47
+#: frontend/src/metabase/components/CollectionLanding.jsx:624
+#: frontend/src/metabase/components/EntityMenu.info.js:31
+#: frontend/src/metabase/components/EntityMenu.info.js:87
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:47
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:195
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:200
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:201
+#: frontend/src/metabase/query_builder/containers/ArchiveQuestionModal.jsx:40
+#: frontend/src/metabase/query_builder/containers/ArchiveQuestionModal.jsx:53
+#: frontend/src/metabase/routes.jsx:199
+msgid "Archive"
+msgstr "Archivia"
+
+#: frontend/src/metabase/containers/ErrorPages.jsx:63
+msgid "This {0} has been archived"
+msgstr "Questo {0} è stato archiviato"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:715
+msgid "View the archive"
+msgstr "Vedi l'archivio"
+
+#: frontend/src/metabase/components/ArchivedItem.jsx:43
+msgid "Unarchive this {0}"
+msgstr "Annulla questo {0}"
+
+#: frontend/src/metabase/components/BrowseApp.jsx:70
+#: frontend/src/metabase/components/BrowseApp.jsx:132
+#: frontend/src/metabase/components/BrowseApp.jsx:225
+#: frontend/src/metabase/containers/Overworld.jsx:219
+msgid "Our data"
+msgstr "I tuoi dati"
+
+#: frontend/src/metabase/components/BrowseApp.jsx:169
+#: frontend/src/metabase/reference/databases/TableSidebar.jsx:55
+msgid "X-ray this table"
+msgstr "Verifica questa tabella"
+
+#: frontend/src/metabase/components/BrowseApp.jsx:183
+#: frontend/src/metabase/containers/Overworld.jsx:246
+msgid "Learn about this table"
+msgstr "Ulteriori informazioni su questa tabella"
+
+#: frontend/src/metabase/components/Button.info.js:11
+#: frontend/src/metabase/components/Button.info.js:12
+#: frontend/src/metabase/components/Button.info.js:13
+msgid "Clickity click"
+msgstr "click ripetuti"
+
+#: frontend/src/metabase/components/ButtonWithStatus.jsx:9
+msgid "Saved!"
+msgstr "salvato!"
+
+#: frontend/src/metabase/components/ButtonWithStatus.jsx:10
+msgid "Saving failed."
+msgstr "Salvataggio fallito."
+
+#: frontend/src/metabase/components/Calendar.jsx:118
+msgid "Su"
+msgstr "Do"
+
+#: frontend/src/metabase/components/Calendar.jsx:118
+msgid "Mo"
+msgstr "Lu"
+
+#: frontend/src/metabase/components/Calendar.jsx:118
+msgid "Tu"
+msgstr "Ma"
+
+#: frontend/src/metabase/components/Calendar.jsx:118
+msgid "We"
+msgstr "Me"
+
+#: frontend/src/metabase/components/Calendar.jsx:118
+msgid "Th"
+msgstr "Gio"
+
+#: frontend/src/metabase/components/Calendar.jsx:118
+msgid "Fr"
+msgstr "Ve"
+
+#: frontend/src/metabase/components/Calendar.jsx:118
+msgid "Sa"
+msgstr "Sa"
+
+#: frontend/src/metabase/components/ChannelSetupMessage.jsx:41
+msgid "Your admin's email address"
+msgstr "La tua email d'amministratore"
+
+#: frontend/src/metabase/components/ChannelSetupModal.jsx:37
+msgid "To send {0}, you'll need to set up {1} integration."
+msgstr "Per inviare {0},  devi {1} integrare."
+
+#: frontend/src/metabase/components/ChannelSetupModal.jsx:38
+#: frontend/src/metabase/components/ChannelSetupModal.jsx:41
+msgid " or "
+msgstr " oppure "
+
+#: frontend/src/metabase/components/ChannelSetupModal.jsx:40
+msgid "To send {0}, an admin needs to set up {1} integration."
+msgstr "Per inviare {0}, un amministratore deve impostare l'integrazione {1}."
+
+#: frontend/src/metabase/components/CollectionEmptyState.jsx:15
+msgid "This collection is empty, like a blank canvas"
+msgstr "Questa collezione è vuota, come una tela bianca"
+
+#: frontend/src/metabase/components/CollectionEmptyState.jsx:16
+msgid "You can use collections to organize and group dashboards, questions and pulses for your team or yourself"
+msgstr "Puoi utilizzare le raccolte per organizzare e raggruppare dashboard, domande e spunti per la tua squadra o per te stesso"
+
+#: frontend/src/metabase/components/CollectionEmptyState.jsx:28
+msgid "Create another collection"
+msgstr "Crea una nuova collezione"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:68
+msgid "Dashboards let you collect and share data in one place."
+msgstr "Le dashboard ti consentono di raccogliere e condividere i dati in un'unica posizione."
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:77
+msgid "Pulses let you send out the latest data to your team on a schedule via email or slack."
+msgstr "Le pulsazioni ti consentono di inviare gli ultimi dati al tuo team in base a una temporizzazione via email o slack."
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:86
+msgid "Questions are a saved look at your data."
+msgstr "Le richieste (question) sono una vista salvata dei tuoi dati."
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:287
+msgid "Pins"
+msgstr "Fissa"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:341
+msgid "Drag something here to pin it to the top"
+msgstr "Trascina qualcosa qui per fissarlo in cima"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:737
+#: frontend/src/metabase/components/CollectionLanding.jsx:353
+#: frontend/src/metabase/home/containers/SearchApp.jsx:35
+#: frontend/src/metabase/home/containers/SearchApp.jsx:92
+msgid "Collections"
+msgstr "Collezioni"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:432
+#: frontend/src/metabase/components/CollectionLanding.jsx:455
+msgid "Drag here to un-pin"
+msgstr "Trascian qui per sbloccare"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:490
+msgid "{0} item selected"
+msgid_plural "{0} items selected"
+msgstr[0] "{0} elemento selezionato"
+msgstr[1] "{0} elementi selezionati"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:522
+msgid "Move {0} items?"
+msgstr "Vuoi spostare {0} elementi"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:523
+msgid "Move \"{0}\"?"
+msgstr "Vuoi spostare \"{0}\"?"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:631
+#: frontend/src/metabase/components/EntityMenu.info.js:29
+#: frontend/src/metabase/components/EntityMenu.info.js:85
+#: frontend/src/metabase/containers/CollectionMoveModal.jsx:69
+msgid "Move"
+msgstr "Sposta"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:692
+msgid "Edit this collection"
+msgstr "Modifica la collezione"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:700
+msgid "Archive this collection"
+msgstr "Archivia questa collezione"
+
+#: frontend/src/metabase/components/CollectionList.jsx:64
+#: frontend/src/metabase/entities/collections.js:155
+msgid "My personal collection"
+msgstr "La mia collezione personale"
+
+#: frontend/src/metabase/components/CollectionList.jsx:106
+msgid "New collection"
+msgstr "Nuova collezione"
+
+#: frontend/src/metabase/components/CopyButton.jsx:35
+msgid "Copied!"
+msgstr "Copiato!"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:216
+msgid "Use an SSH-tunnel for database connections"
+msgstr "Usa un tunnel-SSH per le connessioni col database"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:218
+msgid "Some database installations can only be accessed by connecting through an SSH bastion host.\n"
+"This option also provides an extra layer of security when a VPN is not available.\n"
+"Enabling this is usually slower than a direct connection."
+msgstr "È possibile accedere ad alcune installazioni di database solo collegandosi tramite un host protetto SSH.\n"
+"Questa opzione fornisce anche un ulteriore livello di sicurezza quando una VPN non è disponibile.\n"
+"Abilitare ciò è di solito più lento rispetto ad una connessione diretta."
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:271
+msgid "This is a large database, so let me choose when Metabase syncs and scans"
+msgstr "Questo è un database grande, quindi lasciami scegliere quando Metabase deve sincronizzare e scansionare"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:273
+msgid "By default, Metabase does a lightweight hourly sync and an intensive daily scan of field values.\n"
+"If you have a large database, we recommend turning this on and reviewing when and how often the field value scans happen."
+msgstr "Come impostazione predefinita, Metabase esegue una sincronizzazione oraria leggera e un'analisi giornaliera intensiva dei valori dei campi.\n"
+"Se si dispone di un database di grandi dimensioni, si consiglia di attivarlo e rivedere quando e con quale frequenza si verificano le scansioni dei valori di campo."
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:289
+msgid "{0} to generate a Client ID and Client Secret for your project."
+msgstr "{0} per generare un ID client e un client segreto per il progetto."
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:291
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:318
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:353
+msgid "Click here"
+msgstr "Clicca qui"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:294
+msgid "Choose \"Other\" as the application type. Name it whatever you'd like."
+msgstr "Scegli \"Altro\" come tipo di applicazione. Chiamalo come preferisci."
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:316
+msgid "{0} to get an auth code"
+msgstr "{0} per prendere un codice di autenticazione"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:328
+msgid "with Google Drive permissions"
+msgstr "con i permessi di Google Drive"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:348
+msgid "To use Metabase with this data you must enable API access in the Google Developers Console."
+msgstr "Per usare Metabase con questi dati, devi abilitare l'accesso API nella console degli sviluppatori Google (Google Developers Console)."
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:351
+msgid "{0} to go to the console if you haven't already done so."
+msgstr "{0} per andare alla console se non lo hai già fatto"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:400
+msgid "How would you like to refer to this database?"
+msgstr "Come vorresti fare riferimento a questo database?"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:427
+#: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:97
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:237
+#: frontend/src/metabase/setup/components/DatabaseConnectionStep.jsx:188
+#: frontend/src/metabase/setup/components/DatabaseSchedulingStep.jsx:74
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:116
+#: frontend/src/metabase/setup/components/UserStep.jsx:308
+msgid "Next"
+msgstr "Successivo"
+
+#: frontend/src/metabase/components/ArchivedItem.jsx:52
+#: frontend/src/metabase/components/DeleteModalWithConfirm.jsx:80
+msgid "Delete this {0}"
+msgstr "Cancella questo {0}"
+
+#: frontend/src/metabase/components/EntityItem.jsx:43
+msgid "Pin this item"
+msgstr "Blocca questo elemento"
+
+#: frontend/src/metabase/components/EntityItem.jsx:49
+msgid "Move this item"
+msgstr "Sposta questo elemento"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:24
+#: frontend/src/metabase/components/EntityMenu.info.js:80
+msgid "Edit this question"
+msgstr "Modifica questa domanda (question)"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:26
+#: frontend/src/metabase/components/EntityMenu.info.js:47
+#: frontend/src/metabase/components/EntityMenu.info.js:82
+#: frontend/src/metabase/components/EntityMenu.info.js:99
+msgid "Action type"
+msgstr "Tipo di azione"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:28
+#: frontend/src/metabase/components/EntityMenu.info.js:84
+msgid "View revision history"
+msgstr "Vedi storia di revisione"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:29
+#: frontend/src/metabase/components/EntityMenu.info.js:85
+msgid "Move action"
+msgstr "Sposta l'azione"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:33
+#: frontend/src/metabase/components/EntityMenu.info.js:89
+msgid "Archive action"
+msgstr "Archivia azione"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:45
+#: frontend/src/metabase/components/EntityMenu.info.js:97
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:329
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:342
+msgid "Add to dashboard"
+msgstr "Aggiungi alla 'dashboard'"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:49
+#: frontend/src/metabase/components/EntityMenu.info.js:101
+msgid "Download results"
+msgstr "Scarica i risultati"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:51
+#: frontend/src/metabase/components/EntityMenu.info.js:103
+#: frontend/src/metabase/public/components/widgets/EmbedWidget.jsx:52
+msgid "Sharing and embedding"
+msgstr "Condividi e incorpora"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:53
+#: frontend/src/metabase/components/EntityMenu.info.js:105
+msgid "Another action type"
+msgstr "Un altro tipo di azione"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:65
+#: frontend/src/metabase/components/EntityMenu.info.js:67
+#: frontend/src/metabase/components/EntityMenu.info.js:113
+#: frontend/src/metabase/components/EntityMenu.info.js:115
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:449
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:454
+msgid "Get alerts about this"
+msgstr "Ricevi avvisi su questo"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:69
+#: frontend/src/metabase/components/EntityMenu.info.js:117
+msgid "View the SQL"
+msgstr "Mostra SQL"
+
+#: frontend/src/metabase/components/EntitySegments.jsx:18
+msgid "Segments for this"
+msgstr "Segmenti per questo"
+
+#: frontend/src/metabase/components/ErrorDetails.jsx:20
+msgid "Show error details"
+msgstr "Mostra dettagli di errore"
+
+#: frontend/src/metabase/components/ErrorDetails.jsx:26
+msgid "Here's the full error message"
+msgstr "Qui c'è un messaggio completo di errore"
+
+#: frontend/src/metabase/components/ExplorePane.jsx:19
+msgid "Hi, Metabot here."
+msgstr "Ciao, sono Metabot"
+
+#: frontend/src/metabase/components/ExplorePane.jsx:95
+msgid "Based on the schema"
+msgstr "Basato sullo schema"
+
+#: frontend/src/metabase/components/ExplorePane.jsx:174
+msgid "A look at your"
+msgstr "Uno sguardo alla tua"
+
+#: frontend/src/metabase/components/FieldValuesWidget.jsx:234
+msgid "Search the list"
+msgstr "Cerca la lista"
+
+#: frontend/src/metabase/components/FieldValuesWidget.jsx:238
+msgid "Search by {0}"
+msgstr "Cercato da {0}"
+
+#: frontend/src/metabase/components/FieldValuesWidget.jsx:240
+msgid " or enter an ID"
+msgstr " o inserisci un ID"
+
+#: frontend/src/metabase/components/FieldValuesWidget.jsx:244
+msgid "Enter an ID"
+msgstr "Inserisci un ID"
+
+#: frontend/src/metabase/components/FieldValuesWidget.jsx:246
+msgid "Enter a number"
+msgstr "Inserisci un numero"
+
+#: frontend/src/metabase/components/FieldValuesWidget.jsx:248
+msgid "Enter some text"
+msgstr "Inserisci del testo"
+
+#: frontend/src/metabase/components/FieldValuesWidget.jsx:355
+msgid "No matching {0} found."
+msgstr "Nessun {0} corrispondente trovato"
+
+#: frontend/src/metabase/components/FieldValuesWidget.jsx:363
+msgid "Including every option in your filter probably won’t do much…"
+msgstr "Includendo tutte le opzioni nel tuo filtro probabilmente non farai molto..."
+
+#: frontend/src/metabase/containers/ErrorPages.jsx:24
+msgid "Something's gone wrong"
+msgstr "Qualcosa è andato storto"
+
+#: frontend/src/metabase/containers/ErrorPages.jsx:25
+msgid "We've run into an error. You can try refreshing the page, or just go back."
+msgstr "Ci siamo imbattuti in un errore. Puoi provare ad aggiornare la pagina, o semplicemente tornare indietro."
+
+#: frontend/src/metabase/components/Header.jsx:97
+#: frontend/src/metabase/components/HeaderBar.jsx:45
+#: frontend/src/metabase/components/ListItem.jsx:37
+#: frontend/src/metabase/reference/components/Detail.jsx:47
+#: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:158
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:213
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:191
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:205
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:209
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:209
+msgid "No description yet"
+msgstr "Ancora nessuna descrizione"
+
+#: frontend/src/metabase/components/Header.jsx:112
+#: frontend/src/metabase/entities/containers/EntityForm.jsx:43
+msgid "New {0}"
+msgstr "Nuovo {0}"
+
+#: frontend/src/metabase/components/Header.jsx:123
+msgid "Asked by {0}"
+msgstr "Chiesto da {0}"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:13
+msgid "Today, "
+msgstr "Oggi, "
+
+#: frontend/src/metabase/components/HistoryModal.jsx:15
+msgid "Yesterday, "
+msgstr "Ieri, "
+
+#: frontend/src/metabase/components/HistoryModal.jsx:68
+msgid "First revision."
+msgstr "Prima revisione."
+
+#: frontend/src/metabase/components/HistoryModal.jsx:70
+msgid "Reverted to an earlier revision and {0}"
+msgstr "Ripristinato a una revisione precedente e {0}"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:82
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:289
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:379
+#: frontend/src/metabase/reference/segments/SegmentSidebar.jsx:58
+msgid "Revision history"
+msgstr "Storia di revisione"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:90
+msgid "When"
+msgstr "Quando"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:91
+msgid "Who"
+msgstr "Chi"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:92
+msgid "What"
+msgstr "Cosa"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:113
+msgid "Revert"
+msgstr "Ripristina"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:114
+msgid "Reverting…"
+msgstr "Ripristino..."
+
+#: frontend/src/metabase/components/HistoryModal.jsx:115
+msgid "Revert failed"
+msgstr "Ripristino fallito"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:116
+msgid "Reverted"
+msgstr "Ripristinato"
+
+#: frontend/src/metabase/components/ItemTypeFilterBar.jsx:13
+msgid "Everything"
+msgstr "Ogni cosa"
+
+#: frontend/src/metabase/components/ItemTypeFilterBar.jsx:18
+#: frontend/src/metabase/home/containers/SearchApp.jsx:69
+msgid "Dashboards"
+msgstr "Dashboard"
+
+#: frontend/src/metabase/components/ItemTypeFilterBar.jsx:23
+#: frontend/src/metabase/home/containers/SearchApp.jsx:115
+msgid "Questions"
+msgstr "Domande"
+
+#: frontend/src/metabase/components/ItemTypeFilterBar.jsx:28
+#: frontend/src/metabase/routes.jsx:321
+msgid "Pulses"
+msgstr "Pulse"
+
+#: frontend/src/metabase/components/LeftNavPane.jsx:36
+#: frontend/src/metabase/query_builder/components/dataref/DataReference.jsx:103
+msgid "Back"
+msgstr "Indietro"
+
+#: frontend/src/metabase/components/ListSearchField.jsx:18
+msgid "Find..."
+msgstr "Trova..."
+
+#: frontend/src/metabase/components/LoadingAndErrorWrapper.jsx:48
+msgid "An error occured"
+msgstr "Si è verificato un errore"
+
+#: frontend/src/metabase/components/LoadingAndErrorWrapper.jsx:35
+msgid "Loading..."
+msgstr "Caricamento..."
+
+#: frontend/src/metabase/components/NewsletterForm.jsx:71
+msgid "Metabase Newsletter"
+msgstr "Newsletter di Metabase"
+
+#: frontend/src/metabase/components/NewsletterForm.jsx:81
+msgid "Get infrequent emails about new releases and feature updates."
+msgstr "Ricevi e-mail non frequenti su nuove versioni e aggiornamenti delle funzionalità."
+
+#: frontend/src/metabase/components/NewsletterForm.jsx:99
+msgid "Subscribe"
+msgstr "Iscriviti"
+
+#: frontend/src/metabase/components/NewsletterForm.jsx:106
+msgid "You're subscribed. Thanks for using Metabase!"
+msgstr "Sei iscritto. Grazie per aver usato Metabase"
+
+#: frontend/src/metabase/containers/ErrorPages.jsx:44
+msgid "We're a little lost..."
+msgstr "Siamo un po' persi..."
+
+#: frontend/src/metabase/components/PasswordReveal.jsx:27
+msgid "Temporary Password"
+msgstr "Password temporanea"
+
+#: frontend/src/metabase/components/PasswordReveal.jsx:68
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:421
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:436
+msgid "Hide"
+msgstr "Nascondi"
+
+#: frontend/src/metabase/components/PasswordReveal.jsx:68
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:422
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:437
+msgid "Show"
+msgstr "Mostra"
+
+#: frontend/src/metabase/components/QuestionSavedModal.jsx:17
+msgid "Saved! Add this to a dashboard?"
+msgstr "Salvato! Aggiungo alla 'dashboard'?"
+
+#: frontend/src/metabase/components/QuestionSavedModal.jsx:25
+msgid "Yes please!"
+msgstr "Si grazie!"
+
+#: frontend/src/metabase/components/QuestionSavedModal.jsx:29
+msgid "Not now"
+msgstr "Non ora"
+
+#: frontend/src/metabase/components/SaveStatus.jsx:53
+msgid "Error:"
+msgstr "Errore:"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:23
+msgid "Sunday"
+msgstr "Domenica"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:24
+msgid "Monday"
+msgstr "Lunedì"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:25
+msgid "Tuesday"
+msgstr "Martedì"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:26
+msgid "Wednesday"
+msgstr "Mercoledì"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:27
+msgid "Thursday"
+msgstr "Giovedì"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:28
+msgid "Friday"
+msgstr "Venerdì"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:29
+msgid "Saturday"
+msgstr "Sabato"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:33
+msgid "First"
+msgstr "Primo"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:34
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:23
+msgid "Last"
+msgstr "Ultimo"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:35
+msgid "15th (Midpoint)"
+msgstr "15mo (Medio)"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:125
+msgid "Calendar Day"
+msgstr "Giorno di calendario"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:210
+msgid "your Metabase timezone"
+msgstr "il tuo timezone di Metabase"
+
+#: frontend/src/metabase/components/SearchHeader.jsx:21
+msgid "Filter this list..."
+msgstr "Filtra questa lista..."
+
+#: frontend/src/metabase/components/Select.info.js:8
+msgid "Blue"
+msgstr "Blu"
+
+#: frontend/src/metabase/components/Select.info.js:9
+msgid "Green"
+msgstr "Verde"
+
+#: frontend/src/metabase/components/Select.info.js:10
+msgid "Red"
+msgstr "Rosso"
+
+#: frontend/src/metabase/components/Select.info.js:11
+msgid "Yellow"
+msgstr "Giallo"
+
+#: frontend/src/metabase/components/Select.info.js:14
+msgid "A component used to make a selection"
+msgstr "Un componente utilizzato per fare una selezione"
+
+#: frontend/src/metabase/components/Select.info.js:20
+#: frontend/src/metabase/components/Select.info.js:28
+msgid "Selected"
+msgstr "Selezionato"
+
+#: frontend/src/metabase/components/Select.jsx:297
+msgid "Nothing to select"
+msgstr "Niente da selezionare"
+
+#: frontend/src/metabase/containers/ErrorPages.jsx:54
+msgid "Sorry, you don’t have permission to see that."
+msgstr "Mi spiace, non hai i permessi per vederlo."
+
+#: frontend/src/metabase/components/form/FormMessage.jsx:5
+msgid "Unknown error encountered"
+msgstr "C'è stato un errore sconosciuto"
+
+#: frontend/src/metabase/components/form/StandardForm.jsx:69
+#: frontend/src/metabase/nav/containers/Navbar.jsx:304
+msgid "Create"
+msgstr "Crea"
+
+#: frontend/src/metabase/containers/DashboardForm.jsx:9
+msgid "Create dashboard"
+msgstr "Crea una 'dashboard'"
+
+#: frontend/src/metabase/containers/EntitySearch.jsx:35
+#: frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx:331
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:60
+msgid "Table"
+msgstr "Tabella"
+
+#: frontend/src/metabase/containers/EntitySearch.jsx:42
+#: frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx:306
+msgid "Database"
+msgstr "Database"
+
+#: frontend/src/metabase/containers/EntitySearch.jsx:49
+msgid "Creator"
+msgstr "Creatore"
+
+#: frontend/src/metabase/containers/EntitySearch.jsx:238
+msgid "No results found"
+msgstr "Nessun risultto trovato"
+
+#: frontend/src/metabase/containers/EntitySearch.jsx:239
+msgid "Try adjusting your filter to find what you’re looking for."
+msgstr "Prova ad aggiustare il tuo filtro per trovare ciò che stai cercando."
+
+#: frontend/src/metabase/containers/EntitySearch.jsx:258
+msgid "View by"
+msgstr "Visto da"
+
+#: frontend/src/metabase/containers/EntitySearch.jsx:494
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:84
+#: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:69
+#: frontend/src/metabase/tutorial/TutorialModal.jsx:34
+msgid "of"
+msgstr "di"
+
+#: frontend/src/metabase/containers/Overworld.jsx:75
+msgid "Don't tell anyone, but you're my favorite."
+msgstr "Non dirlo a nessuno, ma tu sei il mio preferito."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:85
+msgid "Once you connect your own data, I can show you some automatic explorations called x-rays. Here are some examples with sample data."
+msgstr "Una volta che hai collegato i tuoi dati, posso mostrarti alcune esplorazioni automatiche chiamate raggi X. Ecco alcuni esempi con dati di esempio."
+
+#: frontend/src/metabase/containers/Overworld.jsx:128
+#: frontend/src/metabase/containers/Overworld.jsx:299
+#: frontend/src/metabase/reference/components/GuideHeader.jsx:12
+msgid "Start here"
+msgstr "Inizia qui"
+
+#: frontend/src/metabase/containers/Overworld.jsx:294
+#: frontend/src/metabase/entities/collections.js:147
+#: src/metabase/models/collection.clj
+msgid "Our analytics"
+msgstr "La nostra analisi"
+
+#: frontend/src/metabase/containers/Overworld.jsx:203
+msgid "Browse all items"
+msgstr "Sfoglia tutti gli elementi"
+
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:165
+msgid "Replace or save as new?"
+msgstr "Sostituisci o salva come nuovo?"
+
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:173
+msgid "Replace original question, \"{0}\""
+msgstr "Sostituisci la richiesta (`question`) originaria, {0}"
+
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:178
+msgid "Save as new question"
+msgstr "Salva come nuova richiesta (`question`)"
+
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:187
+msgid "First, save your question"
+msgstr "Prima, salva la tua richiesta (`question`)"
+
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:188
+msgid "Save question"
+msgstr "Salva la richiesta (`question`)"
+
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:224
+msgid "What is the name of your card?"
+msgstr "Quale è il nome della tua card?"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:31
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:18
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:232
+#: frontend/src/metabase/entities/collections.js:101
+#: frontend/src/metabase/entities/dashboards.js:151
+#: frontend/src/metabase/lib/core.js:50 frontend/src/metabase/lib/core.js:205
+#: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:156
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:211
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:189
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:203
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:207
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:207
+#: frontend/src/metabase/visualizations/lib/settings/visualization.js:24
+msgid "Description"
+msgstr "Descrizione"
+
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:238
+#: frontend/src/metabase/entities/dashboards.js:153
+msgid "It's optional but oh, so helpful"
+msgstr "E' opzionale ma oh, così utile"
+
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:245
+#: frontend/src/metabase/entities/dashboards.js:157
+msgid "Which collection should this go in?"
+msgstr "In quale raccolta dovrebbe andare?"
+
+#: frontend/src/metabase/containers/UndoListing.jsx:34
+msgid "modified"
+msgstr "modificato"
+
+#: frontend/src/metabase/containers/UndoListing.jsx:34
+msgid "item"
+msgstr "elemento"
+
+#: frontend/src/metabase/containers/UndoListing.jsx:81
+msgid "Undo"
+msgstr "Annulla"
+
+#: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:270
+msgid "Applying Question"
+msgstr "Inoltrando Richiesta (`Question`)"
+
+#: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:274
+msgid "That question isn't compatible"
+msgstr "Questa richiesta non è compatibile"
+
+#: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:310
+msgid "Search for a question"
+msgstr "Cercando la richiesta"
+
+#: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:339
+msgid "We're not sure if this question is compatible"
+msgstr "Non siamo sicuri che questa richiesta sia compatibile"
+
+#: frontend/src/metabase/dashboard/components/ArchiveDashboardModal.jsx:43
+msgid "Archive Dashboard"
+msgstr "Archivia la 'dashboard'"
+
+#: frontend/src/metabase/dashboard/components/DashCardParameterMapper.jsx:20
+msgid "Make sure to make a selection for each series, or the filter won't work on this card."
+msgstr "Assicurati di fare una selezione per ogni serie, altrimenti il filtro non funzionerà su questa card."
+
+#: frontend/src/metabase/dashboard/components/Dashboard.jsx:300
+msgid "This dashboard is looking empty."
+msgstr "Questa dashboard sembra vuota"
+
+#: frontend/src/metabase/dashboard/components/Dashboard.jsx:301
+msgid "Add a question to start making it useful!"
+msgstr "Aggiungi una richiesta(Question) per iniziare a renderla utile!"
+
+#: frontend/src/metabase/dashboard/components/DashboardActions.jsx:38
+msgid "Daytime mode"
+msgstr "Modalità giorno"
+
+#: frontend/src/metabase/dashboard/components/DashboardActions.jsx:38
+msgid "Nighttime mode"
+msgstr "Modalità notte"
+
+#: frontend/src/metabase/dashboard/components/DashboardActions.jsx:56
+msgid "Exit fullscreen"
+msgstr "Esci dallo schermo intero"
+
+#: frontend/src/metabase/dashboard/components/DashboardActions.jsx:56
+msgid "Enter fullscreen"
+msgstr "Porta a tutto schermo"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:181
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:183
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:250
+msgid "Saving…"
+msgstr "Salvataggio...."
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:216
+msgid "Add a question"
+msgstr "Aggiungi una richiesta (question)"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:219
+msgid "Add a question to this dashboard"
+msgstr "Aggiungi una richiesta (question) alla dashboard"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:248
+msgid "Add a filter"
+msgstr "Aggiungi un filtro"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:254
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:78
+msgid "Parameters"
+msgstr "Parametri"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:275
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:279
+msgid "Add a text box"
+msgstr "Aggiungi un campo di testo"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:319
+msgid "Move dashboard"
+msgstr "Sposta la Dashboard"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:302
+msgid "Edit dashboard"
+msgstr "Modifica la dashboard"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:306
+msgid "Edit Dashboard Layout"
+msgstr "Modifica il layout della dashboard"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:369
+msgid "You are editing a dashboard"
+msgstr "Stai modificando una dashboard"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:374
+msgid "Select the field that should be filtered for each card"
+msgstr "Seleziona il campo che vorresti fosse filtrato per ogni card"
+
+#: frontend/src/metabase/dashboard/components/DashboardMoveModal.jsx:28
+msgid "Move dashboard to..."
+msgstr "Sposta la dasboard in..."
+
+#: frontend/src/metabase/dashboard/components/DashboardMoveModal.jsx:52
+msgid "Dashboard moved to {0}"
+msgstr "Dashboard spostata in {0}"
+
+#: frontend/src/metabase/dashboard/components/ParametersPopover.jsx:82
+msgid "What do you want to filter?"
+msgstr "Cosa vuoi filtrare?"
+
+#: frontend/src/metabase/dashboard/components/ParametersPopover.jsx:115
+msgid "What kind of filter?"
+msgstr "Che tipo di filtro?"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:13
+#: frontend/src/metabase/visualizations/lib/settings/column.js:231
+#: frontend/src/metabase/visualizations/lib/settings/series.js:90
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:179
+msgid "Off"
+msgstr "Spegni"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:14
+msgid "1 minute"
+msgstr "1 minuto"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:15
+msgid "5 minutes"
+msgstr "5 minuti"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:16
+msgid "10 minutes"
+msgstr "10 minuti"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:17
+msgid "15 minutes"
+msgstr "15 minuti"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:18
+msgid "30 minutes"
+msgstr "30 minuti"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:19
+msgid "60 minutes"
+msgstr "60 minuti"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:31
+msgid "Auto-refresh"
+msgstr "Auto-aggiorna"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:37
+msgid "Refreshing in"
+msgstr "Aggiornando in"
+
+#: frontend/src/metabase/dashboard/components/RemoveFromDashboardModal.jsx:36
+msgid "Remove this question?"
+msgstr "Eliminare la richiesta (Question)?"
+
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:71
+msgid "Your dashboard was saved"
+msgstr "La tua dashboard è stata salvata"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:745
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:76
+msgid "See it"
+msgstr "Guardalo"
+
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:137
+msgid "Save this"
+msgstr "Salvalo"
+
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:170
+msgid "Show more about this"
+msgstr "Mostra di più su questo"
+
+#: frontend/src/metabase/dashboard/containers/DashCardCardParameterMapper.jsx:140
+msgid "This card doesn't have any fields or parameters that can be mapped to this parameter type."
+msgstr "Questa scheda non ha campi o parametri che possono essere associati a questo tipo di parametro."
+
+#: frontend/src/metabase/dashboard/containers/DashCardCardParameterMapper.jsx:142
+msgid "The values in this field don't overlap with the values of any other fields you've chosen."
+msgstr "I valori in questo campo non si sovrappongono ai valori di altri campi che hai scelto."
+
+#: frontend/src/metabase/dashboard/containers/DashCardCardParameterMapper.jsx:186
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingFieldPicker.jsx:37
+msgid "No valid fields"
+msgstr "Nessun campo valido."
+
+#: frontend/src/metabase/entities/collections.js:97
+msgid "Name must be 100 characters or less"
+msgstr "Il nome deve avere 100 caratteri o meno"
+
+#: frontend/src/metabase/entities/collections.js:111
+msgid "Color is required"
+msgstr "Colore richiesto"
+
+#: frontend/src/metabase/entities/dashboards.js:146
+msgid "What is the name of your dashboard?"
+msgstr "Quale è il nome della tua dashboard?"
+
+#: frontend/src/metabase/home/components/Activity.jsx:92
+msgid "did some super awesome stuff that's hard to describe"
+msgstr "ha fatto delle cose fantastiche che è difficile da descrivere"
+
+#: frontend/src/metabase/home/components/Activity.jsx:101
+#: frontend/src/metabase/home/components/Activity.jsx:116
+msgid "created an alert about - "
+msgstr "creata una alert su - "
+
+#: frontend/src/metabase/home/components/Activity.jsx:126
+#: frontend/src/metabase/home/components/Activity.jsx:141
+msgid "deleted an alert about - "
+msgstr "cancellata una alert su - "
+
+#: frontend/src/metabase/home/components/Activity.jsx:152
+msgid "saved a question about "
+msgstr "salvata una richiesta (Question) su "
+
+#: frontend/src/metabase/home/components/Activity.jsx:165
+msgid "saved a question"
+msgstr "salvata una richiesta"
+
+#: frontend/src/metabase/home/components/Activity.jsx:169
+msgid "deleted a question"
+msgstr "cancellata una richiesta"
+
+#: frontend/src/metabase/home/components/Activity.jsx:172
+msgid "created a dashboard"
+msgstr "creata una dashboard"
+
+#: frontend/src/metabase/home/components/Activity.jsx:175
+msgid "deleted a dashboard"
+msgstr "cancellata una dashboard"
+
+#: frontend/src/metabase/home/components/Activity.jsx:181
+#: frontend/src/metabase/home/components/Activity.jsx:196
+msgid "added a question to the dashboard - "
+msgstr "aggiunta una richiesta (Question) alla dashboard"
+
+#: frontend/src/metabase/home/components/Activity.jsx:206
+#: frontend/src/metabase/home/components/Activity.jsx:221
+msgid "removed a question from the dashboard - "
+msgstr "eliminata una richiesta dalla dashboard - "
+
+#: frontend/src/metabase/home/components/Activity.jsx:231
+#: frontend/src/metabase/home/components/Activity.jsx:238
+msgid "received the latest data from"
+msgstr "ricevuti gli ultimi dati da"
+
+#: frontend/src/metabase-lib/lib/Dimension.js:621
+#: frontend/src/metabase/home/components/Activity.jsx:244
+#: frontend/src/metabase/lib/query_time.js:180
+#: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:273
+msgid "Unknown"
+msgstr "Sconosciuto"
+
+#: frontend/src/metabase/home/components/Activity.jsx:251
+msgid "Hello World!"
+msgstr "Ciao Mondo!"
+
+#: frontend/src/metabase/home/components/Activity.jsx:252
+msgid "Metabase is up and running."
+msgstr "Metabase è su ed è in funzione"
+
+#: frontend/src/metabase/home/components/Activity.jsx:258
+#: frontend/src/metabase/home/components/Activity.jsx:288
+msgid "added the metric "
+msgstr "aggiunta la metrica "
+
+#: frontend/src/metabase/home/components/Activity.jsx:272
+#: frontend/src/metabase/home/components/Activity.jsx:362
+msgid " to the "
+msgstr " al "
+
+#: frontend/src/metabase/home/components/Activity.jsx:282
+#: frontend/src/metabase/home/components/Activity.jsx:322
+#: frontend/src/metabase/home/components/Activity.jsx:372
+#: frontend/src/metabase/home/components/Activity.jsx:413
+msgid " table"
+msgstr " tabella"
+
+#: frontend/src/metabase/home/components/Activity.jsx:298
+#: frontend/src/metabase/home/components/Activity.jsx:328
+msgid "made changes to the metric "
+msgstr "fatti cambiamenti alla metrica "
+
+#: frontend/src/metabase/home/components/Activity.jsx:312
+#: frontend/src/metabase/home/components/Activity.jsx:403
+msgid " in the "
+msgstr " nel "
+
+#: frontend/src/metabase/home/components/Activity.jsx:335
+msgid "removed the metric "
+msgstr "cancellata la metrica "
+
+#: frontend/src/metabase/home/components/Activity.jsx:338
+msgid "created a pulse"
+msgstr "creato un pulse"
+
+#: frontend/src/metabase/home/components/Activity.jsx:341
+msgid "deleted a pulse"
+msgstr "cancellato un pulse"
+
+#: frontend/src/metabase/home/components/Activity.jsx:347
+#: frontend/src/metabase/home/components/Activity.jsx:378
+msgid "added the filter"
+msgstr "aggiunto un filtro"
+
+#: frontend/src/metabase/home/components/Activity.jsx:388
+#: frontend/src/metabase/home/components/Activity.jsx:419
+msgid "made changes to the filter"
+msgstr "fatti cambiamenti al filtro"
+
+#: frontend/src/metabase/home/components/Activity.jsx:426
+msgid "removed the filter {0}"
+msgstr "cancellato il filtro {0}"
+
+#: frontend/src/metabase/home/components/Activity.jsx:429
+msgid "joined!"
+msgstr "iscritto!"
+
+#: frontend/src/metabase/home/components/Activity.jsx:529
+msgid "Hmmm, looks like nothing has happened yet."
+msgstr "mmm, sembra che non sia ancora successo nulla."
+
+#: frontend/src/metabase/home/components/Activity.jsx:532
+msgid "Save a question and get this baby going!"
+msgstr "Salva una richiesta e fai andare questa bambina!"
+
+#: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:19
+msgid "Ask questions and explore"
+msgstr "Poni una richiesta e esplora"
+
+#: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:20
+msgid "Click on charts or tables to explore, or ask a new question using the easy interface or the powerful SQL editor."
+msgstr "Fai clic su grafici o tabelle per esplorare o fare una nuova richiesta utilizzando l'interfaccia facile o il potente editor SQL."
+
+#: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:30
+msgid "Make your own charts"
+msgstr "Crea il tuo grafico"
+
+#: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:31
+msgid "Create line charts, scatter plots, maps, and more."
+msgstr "Crea grafici a linee, grafici a dispersione, mappe e altro."
+
+#: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:41
+msgid "Share what you find"
+msgstr "Condividi ciò che trovi"
+
+#: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:42
+msgid "Create powerful and flexible dashboards, and send regular updates via email or Slack."
+msgstr "Crea dashboard potenti e flessibili e invia aggiornamenti regolari via e-mail o Slack."
+
+#: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:97
+msgid "Let's go"
+msgstr "Andiamo"
+
+#: frontend/src/metabase/home/components/NextStep.jsx:34
+msgid "Setup Tip"
+msgstr "Suggerimento di installazione"
+
+#: frontend/src/metabase/home/components/NextStep.jsx:40
+msgid "View all"
+msgstr "Vedi tutto"
+
+#: frontend/src/metabase/home/components/RecentViews.jsx:40
+msgid "Recently Viewed"
+msgstr "Recentemente visualizzato"
+
+#: frontend/src/metabase/home/components/RecentViews.jsx:75
+msgid "You haven't looked at any dashboards or questions recently"
+msgstr "Di recente non hai guardato dashboard o domande"
+
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:99
+msgid "{0} items selected"
+msgstr "{0} elementi selezionati"
+
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:121
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:172
+msgid "Unarchive"
+msgstr "Non archiviare"
+
+#: frontend/src/metabase/home/containers/HomepageApp.jsx:74
+#: frontend/src/metabase/nav/containers/Navbar.jsx:331
+msgid "Activity"
+msgstr "Attività"
+
+#: frontend/src/metabase/home/containers/SearchApp.jsx:28
+msgid "Results for \"{0}\""
+msgstr "Risultati per \"{0}\""
+
+#: frontend/src/metabase/home/containers/SearchApp.jsx:138
+msgid "Pulse"
+msgstr "Pulse"
+
+#: frontend/src/metabase/lib/core.js:7
+msgid "Entity Key"
+msgstr "Chiave di entità"
+
+#: frontend/src/metabase/lib/core.js:8 frontend/src/metabase/lib/core.js:14
+#: frontend/src/metabase/lib/core.js:20
+msgid "Overall Row"
+msgstr "Riga generale"
+
+#: frontend/src/metabase/lib/core.js:9
+msgid "The primary key for this table."
+msgstr "La chiave primaria per questa tabella"
+
+#: frontend/src/metabase/lib/core.js:13
+msgid "Entity Name"
+msgstr "Nome Entità"
+
+#: frontend/src/metabase/lib/core.js:15
+msgid "The \"name\" of each record. Usually a column called \"name\", \"title\", etc."
+msgstr "il \"nome\" di ogni record. Normalmente una colonna chiamata \"nome\", \"titolo\", ecc."
+
+#: frontend/src/metabase/lib/core.js:19
+msgid "Foreign Key"
+msgstr "Chiave esterna"
+
+#: frontend/src/metabase/lib/core.js:21
+msgid "Points to another table to make a connection."
+msgstr "Punta a un'altra tabella per stabilire una connessione."
+
+#: frontend/src/metabase/lib/core.js:25
+msgid "Avatar Image URL"
+msgstr "URL dell'immagine di avatar"
+
+#: frontend/src/metabase/lib/core.js:26 frontend/src/metabase/lib/core.js:31
+#: frontend/src/metabase/lib/core.js:36 frontend/src/metabase/lib/core.js:41
+#: frontend/src/metabase/lib/core.js:46 frontend/src/metabase/lib/core.js:51
+#: frontend/src/metabase/lib/core.js:56 frontend/src/metabase/lib/core.js:61
+#: frontend/src/metabase/lib/core.js:66 frontend/src/metabase/lib/core.js:71
+#: frontend/src/metabase/lib/core.js:76 frontend/src/metabase/lib/core.js:81
+#: frontend/src/metabase/lib/core.js:86 frontend/src/metabase/lib/core.js:91
+#: frontend/src/metabase/lib/core.js:96 frontend/src/metabase/lib/core.js:101
+#: frontend/src/metabase/lib/core.js:106 frontend/src/metabase/lib/core.js:111
+#: frontend/src/metabase/lib/core.js:116 frontend/src/metabase/lib/core.js:121
+#: frontend/src/metabase/lib/core.js:126 frontend/src/metabase/lib/core.js:131
+#: frontend/src/metabase/lib/core.js:136 frontend/src/metabase/lib/core.js:141
+#: frontend/src/metabase/lib/core.js:146 frontend/src/metabase/lib/core.js:151
+#: frontend/src/metabase/lib/core.js:156 frontend/src/metabase/lib/core.js:161
+#: frontend/src/metabase/lib/core.js:166 frontend/src/metabase/lib/core.js:171
+#: frontend/src/metabase/lib/core.js:176 frontend/src/metabase/lib/core.js:181
+#: frontend/src/metabase/lib/core.js:186 frontend/src/metabase/lib/core.js:191
+#: frontend/src/metabase/lib/core.js:196 frontend/src/metabase/lib/core.js:201
+#: frontend/src/metabase/lib/core.js:206 frontend/src/metabase/lib/core.js:211
+#: frontend/src/metabase/lib/core.js:216 frontend/src/metabase/lib/core.js:221
+#: frontend/src/metabase/lib/core.js:226 frontend/src/metabase/lib/core.js:231
+msgid "Common"
+msgstr "Comune"
+
+#: frontend/src/metabase/lib/core.js:30
+#: frontend/src/metabase/meta/Dashboard.js:81
+#: frontend/src/metabase/modes/components/actions/PivotByCategoryAction.jsx:9
+msgid "Category"
+msgstr "Categoria"
+
+#: frontend/src/metabase/lib/core.js:35
+#: frontend/src/metabase/meta/Dashboard.js:61
+msgid "City"
+msgstr "Città"
+
+#: frontend/src/metabase/lib/core.js:40
+#: frontend/src/metabase/meta/Dashboard.js:73
+msgid "Country"
+msgstr "Paese"
+
+#: frontend/src/metabase/lib/core.js:60
+msgid "Enum"
+msgstr "Enum"
+
+#: frontend/src/metabase/lib/core.js:65
+msgid "Image URL"
+msgstr "URL immagine"
+
+#: frontend/src/metabase/lib/core.js:70
+msgid "Field containing JSON"
+msgstr "Campo contenente il JSON"
+
+#: frontend/src/metabase/lib/core.js:75
+msgid "Latitude"
+msgstr "Latitudine"
+
+#: frontend/src/metabase/lib/core.js:80
+msgid "Longitude"
+msgstr "Longitudine"
+
+#: frontend/src/metabase/lib/core.js:85
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:149
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:41
+msgid "Number"
+msgstr "Numero"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:19
+#: frontend/src/metabase/lib/core.js:90
+#: frontend/src/metabase/meta/Dashboard.js:65
+msgid "State"
+msgstr "Stato"
+
+#: frontend/src/metabase/lib/core.js:95
+msgid "UNIX Timestamp (Seconds)"
+msgstr "UNIX timestamp (secondi)"
+
+#: frontend/src/metabase/lib/core.js:100
+msgid "UNIX Timestamp (Milliseconds)"
+msgstr "UNIX timestamp (millisecondi)"
+
+#: frontend/src/metabase/lib/core.js:110
+msgid "Zip Code"
+msgstr "Codice Postale"
+
+#: frontend/src/metabase/lib/core.js:115
+msgid "Quantity"
+msgstr "Quantità"
+
+#: frontend/src/metabase/lib/core.js:120
+msgid "Income"
+msgstr "Ingresso"
+
+#: frontend/src/metabase/lib/core.js:125
+msgid "Discount"
+msgstr "Sconto"
+
+#: frontend/src/metabase/lib/core.js:130
+msgid "Creation timestamp"
+msgstr "Data e ora della creazione"
+
+#: frontend/src/metabase/lib/core.js:135
+msgid "Creation time"
+msgstr "ora di creazione "
+
+#: frontend/src/metabase/lib/core.js:140
+msgid "Creation date"
+msgstr "Data creazione "
+
+#: frontend/src/metabase/lib/core.js:145
+msgid "Product"
+msgstr "Prodotto"
+
+#: frontend/src/metabase/lib/core.js:150
+msgid "User"
+msgstr "Utente"
+
+#: frontend/src/metabase/lib/core.js:155
+msgid "Source"
+msgstr "Sorgente"
+
+#: frontend/src/metabase/lib/core.js:160
+msgid "Price"
+msgstr "Prezzo"
+
+#: frontend/src/metabase/lib/core.js:165
+msgid "Join timestamp"
+msgstr "Timestamp di iscrizione"
+
+#: frontend/src/metabase/lib/core.js:170
+msgid "Join time"
+msgstr "Orario di iscrizione"
+
+#: frontend/src/metabase/lib/core.js:175
+msgid "Join date"
+msgstr "Data di iscrizione"
+
+#: frontend/src/metabase/lib/core.js:180
+msgid "Share"
+msgstr "Condividi"
+
+#: frontend/src/metabase/lib/core.js:185
+msgid "Owner"
+msgstr "Proprietario"
+
+#: frontend/src/metabase/lib/core.js:190
+msgid "Company"
+msgstr "Società"
+
+#: frontend/src/metabase/lib/core.js:195
+msgid "Subscription"
+msgstr "Sottoscrizione"
+
+#: frontend/src/metabase/lib/core.js:200
+msgid "Score"
+msgstr "Punteggio"
+
+#: frontend/src/metabase/lib/core.js:210
+#: frontend/src/metabase/public/components/widgets/DisplayOptionsPane.jsx:49
+#: frontend/src/metabase/visualizations/lib/settings/visualization.js:17
+msgid "Title"
+msgstr "Titolo"
+
+#: frontend/src/metabase/lib/core.js:215
+msgid "Comment"
+msgstr "Commento"
+
+#: frontend/src/metabase/lib/core.js:220
+msgid "Cost"
+msgstr "Costo"
+
+#: frontend/src/metabase/lib/core.js:225
+msgid "Gross margin"
+msgstr "Margine lordo"
+
+#: frontend/src/metabase/lib/core.js:230
+msgid "Birthday"
+msgstr "Compleanno"
+
+#: frontend/src/metabase/lib/core.js:241
+msgid "Search box"
+msgstr "Casella di ricerca"
+
+#: frontend/src/metabase/lib/core.js:242
+msgid "A list of all values"
+msgstr "Una lista di tutti i valori"
+
+#: frontend/src/metabase/lib/core.js:243
+msgid "Plain input box"
+msgstr "Casella di input normale"
+
+#: frontend/src/metabase/lib/core.js:249
+msgid "Everywhere"
+msgstr "Ovunque"
+
+#: frontend/src/metabase/lib/core.js:250
+msgid "The default setting. This field will be displayed normally in tables and charts."
+msgstr "L'impostazione predefinita Questo campo verrà visualizzato normalmente in tabelle e grafici."
+
+#: frontend/src/metabase/lib/core.js:254
+msgid "Only in Detail Views"
+msgstr "Solo nelle viste di dettaglio"
+
+#: frontend/src/metabase/lib/core.js:255
+msgid "This field will only be displayed when viewing the details of a single record. Use this for information that's lengthy or that isn't useful in a table or chart."
+msgstr "Questo campo verrà visualizzato solo quando si visualizzano i dettagli di un singolo record. Usalo per informazioni lunghe o inutili in una tabella o in un grafico."
+
+#: frontend/src/metabase/lib/core.js:259
+msgid "Do Not Include"
+msgstr "Non include"
+
+#: frontend/src/metabase/lib/core.js:260
+msgid "Metabase will never retrieve this field. Use this for sensitive or irrelevant information."
+msgstr "Metabase non recupererà mai questo campo. Utilizzare questo per informazioni sensibili o irrilevanti."
+
+#: frontend/src/metabase/lib/expressions/config.js:7
+#: frontend/src/metabase/lib/query.js:614
+#: frontend/src/metabase/visualizations/lib/utils.js:126
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+msgid "Count"
+msgstr "Conteggio"
+
+#: frontend/src/metabase/lib/expressions/config.js:8
+msgid "CumulativeCount"
+msgstr "Conteggio cumulativo"
+
+#: frontend/src/metabase/lib/expressions/config.js:9
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:17
+#: frontend/src/metabase/visualizations/lib/utils.js:127
+msgid "Sum"
+msgstr "Somma"
+
+#: frontend/src/metabase/lib/expressions/config.js:10
+msgid "CumulativeSum"
+msgstr "Somma cumulativa"
+
+#: frontend/src/metabase/lib/expressions/config.js:11
+#: frontend/src/metabase/visualizations/lib/utils.js:128
+msgid "Distinct"
+msgstr "Distinto"
+
+#: frontend/src/metabase/lib/expressions/config.js:12
+msgid "StandardDeviation"
+msgstr "DeviazioneStandard"
+
+#: frontend/src/metabase/lib/expressions/config.js:13
+#: frontend/src/metabase/visualizations/lib/utils.js:125
+msgid "Average"
+msgstr "Media"
+
+#: frontend/src/metabase/lib/expressions/config.js:14
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:25
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:48
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:450
+msgid "Min"
+msgstr "Min"
+
+#: frontend/src/metabase/lib/expressions/config.js:15
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:29
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:57
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:458
+msgid "Max"
+msgstr "Max"
+
+#: frontend/src/metabase/lib/expressions/parser.js:384
+msgid "sad sad panda, lexing errors detected"
+msgstr "rilevati errori di lessico"
+
+#: frontend/src/metabase/lib/formatting.js:707
+msgid "{0} second"
+msgid_plural "{0} seconds"
+msgstr[0] "{0} secondo"
+msgstr[1] "{0} secondi"
+
+#: frontend/src/metabase/lib/formatting.js:710
+msgid "{0} minute"
+msgid_plural "{0} minutes"
+msgstr[0] "{0} minuto"
+msgstr[1] "{0} minuti"
+
+#: frontend/src/metabase/lib/greeting.js:4
+msgid "Hey there"
+msgstr "Ehilà"
+
+#: frontend/src/metabase/lib/greeting.js:5
+#: frontend/src/metabase/lib/greeting.js:29
+msgid "How's it going"
+msgstr "Come va"
+
+#: frontend/src/metabase/lib/greeting.js:6
+msgid "Howdy"
+msgstr "Salve"
+
+#: frontend/src/metabase/lib/greeting.js:7
+msgid "Greetings"
+msgstr "Saluti"
+
+#: frontend/src/metabase/lib/greeting.js:8
+msgid "Good to see you"
+msgstr "E' bello rivederti"
+
+#: frontend/src/metabase/lib/greeting.js:12
+msgid "What do you want to know?"
+msgstr "Cosa vuoi sapere?"
+
+#: frontend/src/metabase/lib/greeting.js:13
+msgid "What's on your mind?"
+msgstr "Cosa hai in mente?"
+
+#: frontend/src/metabase/lib/greeting.js:14
+msgid "What do you want to find out?"
+msgstr "Cosa vuoi scoprire?"
+
+#: frontend/src/metabase/lib/query.js:612
+#: frontend/src/metabase/lib/schema_metadata.js:451
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:246
+msgid "Raw data"
+msgstr "Dati grezzi"
+
+#: frontend/src/metabase/lib/query.js:616
+msgid "Cumulative count"
+msgstr "Conto cumulativo"
+
+#: frontend/src/metabase/lib/query.js:619
+msgid "Average of "
+msgstr "Media di "
+
+#: frontend/src/metabase/lib/query.js:624
+msgid "Distinct values of "
+msgstr "Valori distinti di "
+
+#: frontend/src/metabase/lib/query.js:629
+msgid "Standard deviation of "
+msgstr "Deviazione standard di "
+
+#: frontend/src/metabase/lib/query.js:634
+msgid "Sum of "
+msgstr "Somma di "
+
+#: frontend/src/metabase/lib/query.js:639
+msgid "Cumulative sum of "
+msgstr "Somma cumulativa di "
+
+#: frontend/src/metabase/lib/query.js:644
+msgid "Maximum of "
+msgstr "Massimo di "
+
+#: frontend/src/metabase/lib/query.js:649
+msgid "Minimum of "
+msgstr "Minimo di "
+
+#: frontend/src/metabase/lib/query.js:663
+msgid "Grouped by "
+msgstr "Raggruppato per "
+
+#: frontend/src/metabase/lib/query.js:677
+msgid "Filtered by "
+msgstr "Filtrato per "
+
+#: frontend/src/metabase/lib/query.js:706
+msgid "Sorted by "
+msgstr "Ordinato per "
+
+#: frontend/src/metabase/lib/schema_metadata.js:221
+msgid "True"
+msgstr "Vero"
+
+#: frontend/src/metabase/lib/schema_metadata.js:221
+msgid "False"
+msgstr "Falso"
+
+#: frontend/src/metabase/lib/schema_metadata.js:305
+msgid "Select longitude field"
+msgstr "Seleziona il campo longitudine"
+
+#: frontend/src/metabase/lib/schema_metadata.js:306
+msgid "Enter upper latitude"
+msgstr "Inserisci la latituine superiore"
+
+#: frontend/src/metabase/lib/schema_metadata.js:307
+msgid "Enter left longitude"
+msgstr "inserisci la longitudine a sinistra"
+
+#: frontend/src/metabase/lib/schema_metadata.js:308
+msgid "Enter lower latitude"
+msgstr "Inserisci la latitudine inferiore"
+
+#: frontend/src/metabase/lib/schema_metadata.js:309
+msgid "Enter right longitude"
+msgstr "Inserisci la longitudine a destra"
+
+#: frontend/src/metabase/lib/schema_metadata.js:345
+#: frontend/src/metabase/lib/schema_metadata.js:365
+#: frontend/src/metabase/lib/schema_metadata.js:375
+#: frontend/src/metabase/lib/schema_metadata.js:381
+#: frontend/src/metabase/lib/schema_metadata.js:389
+#: frontend/src/metabase/lib/schema_metadata.js:395
+#: frontend/src/metabase/lib/schema_metadata.js:400
+msgid "Is"
+msgstr "E'"
+
+#: frontend/src/metabase/lib/schema_metadata.js:346
+#: frontend/src/metabase/lib/schema_metadata.js:366
+#: frontend/src/metabase/lib/schema_metadata.js:376
+#: frontend/src/metabase/lib/schema_metadata.js:390
+#: frontend/src/metabase/lib/schema_metadata.js:396
+msgid "Is not"
+msgstr "Non è"
+
+#: frontend/src/metabase/lib/schema_metadata.js:347
+#: frontend/src/metabase/lib/schema_metadata.js:361
+#: frontend/src/metabase/lib/schema_metadata.js:369
+#: frontend/src/metabase/lib/schema_metadata.js:377
+#: frontend/src/metabase/lib/schema_metadata.js:385
+#: frontend/src/metabase/lib/schema_metadata.js:391
+#: frontend/src/metabase/lib/schema_metadata.js:401
+msgid "Is empty"
+msgstr "E' vuoto"
+
+#: frontend/src/metabase/lib/schema_metadata.js:348
+#: frontend/src/metabase/lib/schema_metadata.js:362
+#: frontend/src/metabase/lib/schema_metadata.js:370
+#: frontend/src/metabase/lib/schema_metadata.js:378
+#: frontend/src/metabase/lib/schema_metadata.js:386
+#: frontend/src/metabase/lib/schema_metadata.js:392
+#: frontend/src/metabase/lib/schema_metadata.js:402
+msgid "Not empty"
+msgstr "Non vuoto"
+
+#: frontend/src/metabase/lib/schema_metadata.js:354
+msgid "Equal to"
+msgstr "Uguale a"
+
+#: frontend/src/metabase/lib/schema_metadata.js:355
+msgid "Not equal to"
+msgstr "Non uguale a "
+
+#: frontend/src/metabase/lib/schema_metadata.js:356
+msgid "Greater than"
+msgstr "Più grande di"
+
+#: frontend/src/metabase/lib/schema_metadata.js:357
+msgid "Less than"
+msgstr "Meno di"
+
+#: frontend/src/metabase/lib/schema_metadata.js:358
+#: frontend/src/metabase/lib/schema_metadata.js:384
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:285
+#: frontend/src/metabase/query_builder/components/filters/pickers/TimePicker.jsx:96
+msgid "Between"
+msgstr "Tra"
+
+#: frontend/src/metabase/lib/schema_metadata.js:359
+msgid "Greater than or equal to"
+msgstr "Più grande o uguale a"
+
+#: frontend/src/metabase/lib/schema_metadata.js:360
+msgid "Less than or equal to"
+msgstr "Meno di o uguale a"
+
+#: frontend/src/metabase/lib/schema_metadata.js:367
+msgid "Contains"
+msgstr "Contiene"
+
+#: frontend/src/metabase/lib/schema_metadata.js:368
+msgid "Does not contain"
+msgstr "Non contiene"
+
+#: frontend/src/metabase/lib/schema_metadata.js:371
+msgid "Starts with"
+msgstr "Inizia con"
+
+#: frontend/src/metabase/lib/schema_metadata.js:372
+msgid "Ends with"
+msgstr "Finisce con"
+
+#: frontend/src/metabase/lib/schema_metadata.js:382
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:264
+#: frontend/src/metabase/query_builder/components/filters/pickers/TimePicker.jsx:74
+msgid "Before"
+msgstr "Prima"
+
+#: frontend/src/metabase/lib/schema_metadata.js:383
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:271
+#: frontend/src/metabase/query_builder/components/filters/pickers/TimePicker.jsx:85
+msgid "After"
+msgstr "Dopo"
+
+#: frontend/src/metabase/lib/schema_metadata.js:397
+msgid "Inside"
+msgstr "Dentro"
+
+#: frontend/src/metabase/lib/schema_metadata.js:453
+msgid "Just a table with the rows in the answer, no additional operations."
+msgstr "Solo una tabella con le righe nella risposta, nessuna operazione aggiuntiva."
+
+#: frontend/src/metabase/lib/schema_metadata.js:459
+msgid "Count of rows"
+msgstr "Conteggio di righe"
+
+#: frontend/src/metabase/lib/schema_metadata.js:461
+msgid "Total number of rows in the answer."
+msgstr "Numero totale di righe nella risposta"
+
+#: frontend/src/metabase/lib/schema_metadata.js:467
+msgid "Sum of ..."
+msgstr "Somma di ..."
+
+#: frontend/src/metabase/lib/schema_metadata.js:469
+msgid "Sum of all the values of a column."
+msgstr "Somma di tutti i valori di una colonna"
+
+#: frontend/src/metabase/lib/schema_metadata.js:475
+msgid "Average of ..."
+msgstr "Media di ..."
+
+#: frontend/src/metabase/lib/schema_metadata.js:477
+msgid "Average of all the values of a column"
+msgstr "Media di tutti i valori di una colonna"
+
+#: frontend/src/metabase/lib/schema_metadata.js:483
+msgid "Number of distinct values of ..."
+msgstr "Numeri di valori distinti di ..."
+
+#: frontend/src/metabase/lib/schema_metadata.js:485
+msgid "Number of unique values of a column among all the rows in the answer."
+msgstr "Numero di valori univoci di una colonna tra tutte le righe nella risposta."
+
+#: frontend/src/metabase/lib/schema_metadata.js:491
+msgid "Cumulative sum of ..."
+msgstr "Somma cumulativa di ..."
+
+#: frontend/src/metabase/lib/schema_metadata.js:493
+msgid "Additive sum of all the values of a column.\\\\ne.x. total revenue over time."
+msgstr "Somma additiva di tutti i valori di una colonna. \\\\ ne.x. entrate totali nel tempo."
+
+#: frontend/src/metabase/lib/schema_metadata.js:499
+msgid "Cumulative count of rows"
+msgstr "Conteggio cumulativo di righe"
+
+#: frontend/src/metabase/lib/schema_metadata.js:501
+msgid "Additive count of the number of rows.\\\\ne.x. total number of sales over time."
+msgstr "Conteggio additivo del numero di righe. \\\\ ne.x. numero totale di vendite nel tempo."
+
+#: frontend/src/metabase/lib/schema_metadata.js:507
+msgid "Standard deviation of ..."
+msgstr "Deviazione standard di ..."
+
+#: frontend/src/metabase/lib/schema_metadata.js:509
+msgid "Number which expresses how much the values of a column vary among all rows in the answer."
+msgstr "Numero che esprime quanto i valori di una colonna variano tra tutte le righe nella risposta."
+
+#: frontend/src/metabase/lib/schema_metadata.js:515
+msgid "Minimum of ..."
+msgstr "Minimo di ..."
+
+#: frontend/src/metabase/lib/schema_metadata.js:517
+msgid "Minimum value of a column"
+msgstr "Minimo valore di una colonna"
+
+#: frontend/src/metabase/lib/schema_metadata.js:523
+msgid "Maximum of ..."
+msgstr "Massimo di ..."
+
+#: frontend/src/metabase/lib/schema_metadata.js:525
+msgid "Maximum value of a column"
+msgstr "Massimo valore di una colonna"
+
+#: frontend/src/metabase/lib/schema_metadata.js:533
+msgid "Break out by dimension"
+msgstr "Scoppia per dimensione"
+
+#: frontend/src/metabase/lib/settings.js:93
+msgid "lower case letter"
+msgstr "lettera minuscola"
+
+#: frontend/src/metabase/lib/settings.js:95
+msgid "upper case letter"
+msgstr "lettera maiuscola"
+
+#: frontend/src/metabase/lib/settings.js:97
+#: src/metabase/automagic_dashboards/core.clj
+msgid "number"
+msgstr "numero"
+
+#: frontend/src/metabase/lib/settings.js:99
+msgid "special character"
+msgstr "carattere speciale"
+
+#: frontend/src/metabase/lib/settings.js:105
+msgid "must be"
+msgstr "deve essere"
+
+#: frontend/src/metabase/lib/settings.js:105
+#: frontend/src/metabase/lib/settings.js:106
+msgid "characters long"
+msgstr "carattere lungo"
+
+#: frontend/src/metabase/lib/settings.js:106
+msgid "Must be"
+msgstr "Deve essere"
+
+#: frontend/src/metabase/lib/settings.js:122
+msgid "and include"
+msgstr "e include"
+
+#: frontend/src/metabase/lib/utils.js:92
+msgid "zero"
+msgstr "zero"
+
+#: frontend/src/metabase/lib/utils.js:93
+msgid "one"
+msgstr "uno"
+
+#: frontend/src/metabase/lib/utils.js:94
+msgid "two"
+msgstr "due"
+
+#: frontend/src/metabase/lib/utils.js:95
+msgid "three"
+msgstr "tre"
+
+#: frontend/src/metabase/lib/utils.js:96
+msgid "four"
+msgstr "quattro"
+
+#: frontend/src/metabase/lib/utils.js:97
+msgid "five"
+msgstr "cinque"
+
+#: frontend/src/metabase/lib/utils.js:98
+msgid "six"
+msgstr "sei"
+
+#: frontend/src/metabase/lib/utils.js:99
+msgid "seven"
+msgstr "sette"
+
+#: frontend/src/metabase/lib/utils.js:100
+msgid "eight"
+msgstr "otto"
+
+#: frontend/src/metabase/lib/utils.js:101
+msgid "nine"
+msgstr "nove"
+
+#: frontend/src/metabase/meta/Dashboard.js:30
+msgid "Month and Year"
+msgstr "Mese e Anno"
+
+#: frontend/src/metabase/meta/Dashboard.js:31
+msgid "Like January, 2016"
+msgstr "Come Gennaio, 2016"
+
+#: frontend/src/metabase/meta/Dashboard.js:35
+msgid "Quarter and Year"
+msgstr "Trimestre e Anno"
+
+#: frontend/src/metabase/meta/Dashboard.js:36
+msgid "Like Q1, 2016"
+msgstr "Come T1, 2016"
+
+#: frontend/src/metabase/meta/Dashboard.js:40
+msgid "Single Date"
+msgstr "Data Singola"
+
+#: frontend/src/metabase/meta/Dashboard.js:41
+msgid "Like January 31, 2016"
+msgstr "Come Gennaio 31, 2016"
+
+#: frontend/src/metabase/meta/Dashboard.js:45
+msgid "Date Range"
+msgstr "Intervallo di date"
+
+#: frontend/src/metabase/meta/Dashboard.js:46
+msgid "Like December 25, 2015 - February 14, 2016"
+msgstr "Come Dicembre 25, 2015 - Febbraio 14, 2016"
+
+#: frontend/src/metabase/meta/Dashboard.js:50
+msgid "Relative Date"
+msgstr "Date relative"
+
+#: frontend/src/metabase/meta/Dashboard.js:51
+msgid "Like \"the last 7 days\" or \"this month\""
+msgstr "Come \"gli ultimi 7 giorni\" o \"questo mese\""
+
+#: frontend/src/metabase/meta/Dashboard.js:55
+msgid "Date Filter"
+msgstr "Filtro per data"
+
+#: frontend/src/metabase/meta/Dashboard.js:56
+msgid "All Options"
+msgstr "Tutte le Opzioni"
+
+#: frontend/src/metabase/meta/Dashboard.js:57
+msgid "Contains all of the above"
+msgstr "Contiene tutto quanto sopra"
+
+#: frontend/src/metabase/meta/Dashboard.js:69
+msgid "ZIP or Postal Code"
+msgstr "CAP o Codice Postale"
+
+#: frontend/src/metabase/meta/Dashboard.js:77
+#: frontend/src/metabase/meta/Dashboard.js:107
+msgid "ID"
+msgstr "ID"
+
+#: frontend/src/metabase/meta/Dashboard.js:95
+#: frontend/src/metabase/modes/components/actions/PivotByTimeAction.jsx:8
+msgid "Time"
+msgstr "Tempo"
+
+#: frontend/src/metabase/meta/Dashboard.js:96
+msgid "Date range, relative date, time of day, etc."
+msgstr "Intervallo di date, data relativa, Ora del giorno, ecc,"
+
+#: frontend/src/metabase/meta/Dashboard.js:101
+#: frontend/src/metabase/modes/components/actions/PivotByLocationAction.jsx:8
+msgid "Location"
+msgstr "Posizione"
+
+#: frontend/src/metabase/meta/Dashboard.js:102
+msgid "City, State, Country, ZIP code."
+msgstr "Citta, Stato, Paese, CAP."
+
+#: frontend/src/metabase/meta/Dashboard.js:108
+msgid "User ID, product ID, event ID, etc."
+msgstr "ID utente, ID prodotto, ID evento, ecc"
+
+#: frontend/src/metabase/meta/Dashboard.js:113
+msgid "Other Categories"
+msgstr "Altre categorie"
+
+#: frontend/src/metabase/meta/Dashboard.js:114
+msgid "Category, Type, Model, Rating, etc."
+msgstr "Categoria, Tipo, Valutazione, ecc."
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:42
+#: frontend/src/metabase/user/components/UserSettings.jsx:54
+msgid "Account settings"
+msgstr "Impostazioni di account"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:49
+msgid "Exit admin"
+msgstr "Esci da amministratore"
+
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:34
+msgid "Logs"
+msgstr "I log"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:58
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorSidebar.jsx:105
+msgid "Help"
+msgstr "Aiuto"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:67
+msgid "About Metabase"
+msgstr "Su Metabase"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:73
+msgid "Sign out"
+msgstr "Esci"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:98
+msgid "Thanks for using"
+msgstr "Grazie per l'uso"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:102
+msgid "You're on version"
+msgstr "Tu stai usando la versione"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:105
+msgid "Built on"
+msgstr "Costruita su"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:124
+msgid "is a Trademark of"
+msgstr "E un Marchio di"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:126
+msgid "and is built with care in San Francisco, CA"
+msgstr "ed è costruito con cura a San Francisco, in California"
+
+#: frontend/src/metabase/nav/containers/Navbar.jsx:194
+msgid "Metabase Admin"
+msgstr "Amministratore Metabase"
+
+#: frontend/src/metabase/nav/containers/Navbar.jsx:300
+#: frontend/src/metabase/reference/databases/TableQuestions.jsx:36
+#: frontend/src/metabase/reference/metrics/MetricQuestions.jsx:37
+#: frontend/src/metabase/reference/segments/SegmentQuestions.jsx:37
+msgid "Ask a question"
+msgstr "Poni una domanda"
+
+#: frontend/src/metabase/nav/containers/Navbar.jsx:309
+msgid "New dashboard"
+msgstr "Nuova Dashboard"
+
+#: frontend/src/metabase/nav/containers/Navbar.jsx:315
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:127
+msgid "New pulse"
+msgstr "Nuovo Pulse"
+
+#: frontend/src/metabase/nav/containers/Navbar.jsx:323
+msgid "Reference"
+msgstr "Referente"
+
+#: frontend/src/metabase/new_query/containers/MetricSearch.jsx:83
+msgid "Which metric?"
+msgstr "Quale metrica?"
+
+#: frontend/src/metabase/new_query/containers/MetricSearch.jsx:110
+#: frontend/src/metabase/reference/metrics/MetricList.jsx:24
+msgid "Defining common metrics for your team makes it even easier to ask questions"
+msgstr "Definire metriche comuni per il tuo team rende ancora più facile fare domande"
+
+#: frontend/src/metabase/new_query/containers/MetricSearch.jsx:113
+msgid "How to create metrics"
+msgstr "Come creare metriche"
+
+#: frontend/src/metabase/new_query/containers/NewQueryOptions.jsx:138
+msgid "See data over time, as a map, or pivoted to help you understand trends or changes."
+msgstr "Visualizza i dati nel tempo, come una mappa o ruotati per aiutarti a capire tendenze o cambiamenti."
+
+#: frontend/src/metabase/new_query/containers/NewQueryOptions.jsx:149
+msgid "Custom"
+msgstr "Personalizzato"
+
+#: frontend/src/metabase/new_query/containers/NewQueryOptions.jsx:150
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:517
+msgid "New question"
+msgstr "Nuove domande"
+
+#: frontend/src/metabase/new_query/containers/NewQueryOptions.jsx:152
+msgid "Use the simple question builder to see trends, lists of things, or to create your own metrics."
+msgstr "Utilizza il semplice generatore di domande per visualizzare tendenze, elenchi di cose o per creare le tue metriche."
+
+#: frontend/src/metabase/new_query/containers/NewQueryOptions.jsx:161
+#: src/metabase/automagic_dashboards/core.clj
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Native query"
+msgstr "Query native"
+
+#: frontend/src/metabase/new_query/containers/NewQueryOptions.jsx:162
+msgid "For more complicated questions, you can write your own SQL or native query."
+msgstr "Per domande più complicate, puoi scrivere la tua query SQL o nativa."
+
+#: frontend/src/metabase/parameters/components/ParameterValueWidget.jsx:240
+msgid "Select a default value…"
+msgstr "Seleziona un valore predefinito ..."
+
+#: frontend/src/metabase/parameters/components/widgets/DateAllOptionsWidget.jsx:149
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:404
+msgid "Update filter"
+msgstr "Filtro di aggiornamento"
+
+#: frontend/src/metabase/lib/query_time.js:112
+#: frontend/src/metabase/lib/query_time.js:123
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:9
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:144
+#: src/metabase/pulse/render.clj
+msgid "Today"
+msgstr "Oggi"
+
+#: frontend/src/metabase/lib/query_time.js:118
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:14
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:148
+#: src/metabase/pulse/render.clj
+msgid "Yesterday"
+msgstr "Ieri"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:18
+msgid "Past 7 days"
+msgstr "Ultimi 7 giorni"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:19
+msgid "Past 30 days"
+msgstr "Ultimi 30 giorni"
+
+#: frontend/src/metabase/lib/query_time.js:195
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:24
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:29
+#: src/metabase/api/table.clj
+msgid "Week"
+msgid_plural "Weeks"
+msgstr[0] "Settimana"
+msgstr[1] "Settimane"
+
+#: frontend/src/metabase/lib/query_time.js:197
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:25
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:30
+#: src/metabase/api/table.clj
+msgid "Month"
+msgid_plural "Months"
+msgstr[0] "Mese"
+msgstr[1] "Mesi"
+
+#: frontend/src/metabase/lib/query_time.js:201
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:26
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:31
+#: src/metabase/api/table.clj
+msgid "Year"
+msgid_plural "Years"
+msgstr[0] "Anno"
+msgstr[1] "Anni"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:152
+msgid "Past 7 Days"
+msgstr "Ultimi 7 Giorni"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:156
+msgid "Past 30 Days"
+msgstr "Ultimi 30 Giorni"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:160
+msgid "Last Week"
+msgstr "Ultima Settimana"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:164
+msgid "Last Month"
+msgstr "Ultimo Mese"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:168
+msgid "Last Year"
+msgstr "Ultimo Anno"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:172
+msgid "This Week"
+msgstr "Questa settimana"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:176
+msgid "This Month"
+msgstr "Questo mese"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:180
+msgid "This Year"
+msgstr "Quest'anno"
+
+#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:89
+#: frontend/src/metabase/parameters/components/widgets/TextWidget.jsx:54
+msgid "Enter a value..."
+msgstr "Inserisci un valore"
+
+#: frontend/src/metabase/parameters/components/widgets/TextWidget.jsx:90
+msgid "Enter a default value..."
+msgstr "Inserisci un valore predefinito..."
+
+#: frontend/src/metabase/public/components/PublicError.jsx:18
+msgid "An error occurred"
+msgstr "C'è stato un errore"
+
+#: frontend/src/metabase/public/components/PublicNotFound.jsx:11
+msgid "Not found"
+msgstr "Non trovato"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:82
+msgid "You’ve made changes that need to be published before they will be reflected in your application embed."
+msgstr "Hai apportato modifiche che devono essere pubblicate prima che si riflettano nell'applicazione incorporata."
+
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:83
+msgid "You will need to publish this {0} before you can embed it in another application."
+msgstr "Dovrai pubblicare questo {0} prima di poterlo incorporare in un'altra applicazione."
+
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:92
+msgid "Discard Changes"
+msgstr "Scartare le modifiche"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:99
+msgid "Updating..."
+msgstr "Aggiornamento..."
+
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:100
+msgid "Updated"
+msgstr "Aggiornato"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:101
+msgid "Failed!"
+msgstr "Fallito!"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:102
+msgid "Publish"
+msgstr "Pubblicato"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:111
+msgid "Code"
+msgstr "Codice"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:70
+#: frontend/src/metabase/visualizations/lib/settings/column.js:282
+msgid "Style"
+msgstr "Stile"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:80
+msgid "Which parameters can users of this embed use?"
+msgstr "Quali parametri possono utilizzare gli utenti di questo embed?"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:83
+msgid "This {0} doesn't have any parameters to configure yet."
+msgstr "Questo {0} non ha ancora parametri da configurare."
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:104
+msgid "Editable"
+msgstr "Modificabile"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:105
+msgid "Locked"
+msgstr "Bloccato"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:113
+msgid "Preview Locked Parameters"
+msgstr "Anteprima dei parametri bloccati"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:115
+msgid "Try passing some values to your locked parameters here. Your server will have to provide the actual values in the signed token when using this for real."
+msgstr "Prova a passare alcuni valori ai tuoi parametri bloccati qui. Il tuo server dovrà fornire i valori reali nel token firmato quando lo utilizzi per davvero."
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:126
+msgid "Danger zone"
+msgstr "Zona pericolosa"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:127
+msgid "This will disable embedding for this {0}."
+msgstr "Questo disabiliterà l'incorporamento per questo {0}."
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:128
+msgid "Unpublish"
+msgstr "Spubblicato"
+
+#: frontend/src/metabase/public/components/widgets/DisplayOptionsPane.jsx:17
+msgid "Light"
+msgstr "Chiaro"
+
+#: frontend/src/metabase/public/components/widgets/DisplayOptionsPane.jsx:18
+msgid "Dark"
+msgstr "Scuro"
+
+#: frontend/src/metabase/public/components/widgets/DisplayOptionsPane.jsx:37
+msgid "Border"
+msgstr "Bordo"
+
+#: frontend/src/metabase/public/components/widgets/EmbedCodePane.jsx:62
+msgid "To embed this {0} in your application:"
+msgstr "per incorporare questo {0} nella tua applicazione:"
+
+#: frontend/src/metabase/public/components/widgets/EmbedCodePane.jsx:64
+msgid "Insert this code snippet in your server code to generate the signed embedding URL "
+msgstr "Inserisci questo snippet di codice nel codice del server per generare l'URL di incorporamento firmato "
+
+#: frontend/src/metabase/public/components/widgets/EmbedCodePane.jsx:87
+msgid "Then insert this code snippet in your HTML template or single page app."
+msgstr "Quindi inserisci questo snippet di codice nel modello HTML o nell'app singola pagina."
+
+#: frontend/src/metabase/public/components/widgets/EmbedCodePane.jsx:94
+msgid "Embed code snippet for your HTML or Frontend Application"
+msgstr "Incorpora lo snippet di codice per la tua applicazione HTML o Frontend"
+
+#: frontend/src/metabase/public/components/widgets/EmbedCodePane.jsx:101
+msgid "More {0}"
+msgstr "Più {0}"
+
+#: frontend/src/metabase/public/components/widgets/EmbedCodePane.jsx:103
+msgid "examples on GitHub"
+msgstr "esempi su GitHub"
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:72
+msgid "Enable sharing"
+msgstr "Abilita condivisione"
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:76
+msgid "Disable this public link?"
+msgstr "Disabilitare link pubblico?"
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:77
+msgid "This will cause the existing link to stop working. You can re-enable it, but when you do it will be a different link."
+msgstr "Ciò causerà l'interruzione del funzionamento del collegamento esistente. Puoi riattivarlo, ma quando lo fai sarà un link diverso."
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:117
+msgid "Public link"
+msgstr "Link pubblico"
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:118
+msgid "Share this {0} with people who don't have a Metabase account using the URL below:"
+msgstr "Condividi questo {0} con persone che non hanno un account Metabase utilizzando l'URL di seguito:"
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:158
+msgid "Public embed"
+msgstr "Inserimento pubblico"
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:159
+msgid "Embed this {0} in blog posts or web pages by copying and pasting this snippet:"
+msgstr "Incorpora questo {0} nei post del blog o nelle pagine Web copiando e incollando questo snippet:"
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:176
+msgid "Embed this {0} in an application"
+msgstr "Incorpora questo {0} in un'applicazione"
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:177
+msgid "By integrating with your application server code, you can provide a secure stats {0} limited to a specific user, customer, organization, etc."
+msgstr "Integrando con il codice del server delle applicazioni, è possibile fornire statistiche sicure {0} limitate a uno specifico utente, cliente, organizzazione, ecc."
+
+#: frontend/src/metabase/pulse/components/PulseCardPreview.jsx:94
+msgid "Remove attachment"
+msgstr "Rimuovi allegato"
+
+#: frontend/src/metabase/pulse/components/PulseCardPreview.jsx:95
+msgid "Attach file with results"
+msgstr "Allega file con risultati"
+
+#: frontend/src/metabase/pulse/components/PulseCardPreview.jsx:127
+msgid "This question will be added as a file attachment"
+msgstr "Questa domanda verrà aggiunta come allegato al file"
+
+#: frontend/src/metabase/pulse/components/PulseCardPreview.jsx:128
+msgid "This question won't be included in your Pulse"
+msgstr "Questa domanda non sarà inclusa nel tuo Pulse"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:92
+msgid "This pulse will no longer be emailed to {0} {1}"
+msgstr "Questo impulso non verrà più inviato via email a {0} {1}"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:94
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:376
+msgid "{0} address"
+msgid_plural "{0} addresses"
+msgstr[0] "{0} Indirizzo"
+msgstr[1] "{0} indirizzi"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:102
+msgid "Slack channel {0} will no longer get this pulse {1}"
+msgstr "Il canale Slack {0} non riceverà più questo impulso {1}"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:110
+msgid "Channel {0} will no longer receive this pulse {1}"
+msgstr "Il canale {0} non riceverà più questo impulso {1}"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:127
+msgid "Edit pulse"
+msgstr "modifica pulse"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:131
+msgid "What's a Pulse?"
+msgstr "Cosa è un Pulse?"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:141
+msgid "Got it"
+msgstr "Fatto"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:157
+msgid "Where should this data go?"
+msgstr "Dove dovrebbero andare questi dati?"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:173
+msgid "Unarchiving…"
+msgstr "Sto togliendo dall'archivio..."
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:174
+msgid "Unarchive failed"
+msgstr "Eliminazione dall'archivio fallita"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:175
+msgid "Unarchived"
+msgstr "Non archiviato"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:182
+msgid "Create pulse"
+msgstr "Cra un pulse"
+
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:90
+msgid "Attachment"
+msgstr "Allegato"
+
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:104
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:111
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:673
+msgid "Heads up"
+msgstr "Dritta"
+
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:105
+msgid "We'll show the first 10 columns and 20 rows of this table in your Pulse. If you email this, we'll add a file attachment with all columns and up to 2,000 rows."
+msgstr "Mostreremo le prime 10 colonne e 20 righe di questa tabella nel tuo Pulse. Se invii un'email a questo, aggiungeremo un allegato con tutte le colonne e fino a 2.000 righe."
+
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:112
+msgid "Raw data questions can only be included as email attachments"
+msgstr "Le domande relative ai dati non elaborati possono essere incluse solo come allegati di posta elettronica"
+
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:119
+msgid "Looks like this pulse is getting big"
+msgstr "Sembra che questo pulse stia diventando grande"
+
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:120
+msgid "We recommend keeping pulses small and focused to help keep them digestible and useful to the whole team."
+msgstr "Raccomandiamo di mantenere gli impulsi piccoli e concentrati per mantenerli digeribili e utili a tutta la squadra."
+
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:160
+msgid "Pick your data"
+msgstr "Scegli i tuoi dati"
+
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:162
+msgid "Choose questions you'd like to send in this pulse"
+msgstr "Dai un nome al tuo polso per aiutare gli altri a capire di cosa si tratta"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:27
+msgid "Emails"
+msgstr "Email"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:28
+msgid "Slack messages"
+msgstr "Messaggi Slack"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:221
+msgid "Sent"
+msgstr "Spedito"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:222
+msgid "{0} will be sent at"
+msgstr "{0} saranno spediti a"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:224
+msgid "Messages"
+msgstr "Messaggi"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:240
+msgid "Send email now"
+msgstr "Spedisci email ora"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:241
+msgid "Send to {0} now"
+msgstr "Spedisci {0} ora"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:243
+msgid "Sending…"
+msgstr "Invio..."
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:244
+msgid "Sending failed"
+msgstr "Invio fallito"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:247
+msgid "Didn’t send because the pulse has no results."
+msgstr "Non spedire in quanto pulse non ha risultati"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:248
+msgid "Pulse sent"
+msgstr "Pulse ha inviato"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:287
+msgid "{0} needs to be set up by an administrator."
+msgstr "{0} deve essere impostato da un amministratore."
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:302
+msgid "Slack"
+msgstr "Slack"
+
+#: frontend/src/metabase/pulse/components/PulseEditCollection.jsx:12
+msgid "Which collection should this pulse live in?"
+msgstr "In quale collezione dovrebbe vivere questa pulsazione?"
+
+#: frontend/src/metabase/pulse/components/PulseEditName.jsx:35
+msgid "Name your pulse"
+msgstr "Nome del tuo Pulse"
+
+#: frontend/src/metabase/pulse/components/PulseEditName.jsx:37
+msgid "Give your pulse a name to help others understand what it's about"
+msgstr "Dai un nome al tuo polso per aiutare gli altri a capire di cosa si tratta"
+
+#: frontend/src/metabase/pulse/components/PulseEditName.jsx:49
+msgid "Important metrics"
+msgstr "Metriche importanti"
+
+#: frontend/src/metabase/pulse/components/PulseEditSkip.jsx:22
+msgid "Skip if no results"
+msgstr "Salta se non ci sono risultati"
+
+#: frontend/src/metabase/pulse/components/PulseEditSkip.jsx:24
+msgid "Skip a scheduled Pulse if none of its questions have any results"
+msgstr "Salta l'invio del Pulse se nessuna question ha risultati"
+
+#: frontend/src/metabase/pulse/components/RecipientPicker.jsx:65
+msgid "Enter email addresses you'd like this data to go to"
+msgstr "Inserisci l'indirizzo email a cui vuoi che vengano inviati questi dati"
+
+#: frontend/src/metabase/pulse/components/WhatsAPulse.jsx:16
+msgid "Help everyone on your team stay in sync with your data."
+msgstr "Aiuta il tuo team a restare aggiornato con i vostri dati"
+
+#: frontend/src/metabase/pulse/components/WhatsAPulse.jsx:30
+msgid "Pulses let you send data from Metabase to email or Slack on the schedule of your choice."
+msgstr "I Pulse ti fanno inviare informazioni da Metabase per email o a Slack in maniera schedulata"
+
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:100
+msgid "After {0}"
+msgstr "Dopo {0}"
+
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:102
+msgid "Before {0}"
+msgstr "Prima {0}"
+
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:104
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:295
+msgid "Is Empty"
+msgstr "è vuoto"
+
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:106
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:301
+msgid "Not Empty"
+msgstr "Non vuoto"
+
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:109
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:213
+msgid "All Time"
+msgstr "Sempre"
+
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:154
+msgid "Apply"
+msgstr "Applica"
+
+#: frontend/src/metabase/modes/components/actions/CommonMetricsAction.jsx:21
+msgid "View {0}"
+msgstr "Vedi {0}"
+
+#: frontend/src/metabase/modes/components/actions/CompareWithTable.jsx:29
+msgid "Compare this with all rows in the table"
+msgstr "Confrontalo con tutte le righe nella tabella"
+
+#: frontend/src/metabase/modes/components/actions/CompoundQueryAction.jsx:14
+msgid "Analyze the results of this Query"
+msgstr "Analizza i risultati di questa Query"
+
+#: frontend/src/metabase/modes/components/actions/CountByTimeAction.jsx:29
+msgid "Count of rows by time"
+msgstr "Conteggio delle righe per tempo"
+
+#: frontend/src/metabase/modes/components/actions/PivotByAction.jsx:52
+msgid "Break out by {0}"
+msgstr "Spezza per {0}"
+
+#: frontend/src/metabase/modes/components/actions/SummarizeBySegmentMetricAction.jsx:31
+msgid "Summarize this segment"
+msgstr "Totalizza questo segmento"
+
+#: frontend/src/metabase/modes/components/actions/UnderlyingDataAction.jsx:14
+msgid "View this as a table"
+msgstr "Vedi come tabella"
+
+#: frontend/src/metabase/modes/components/actions/UnderlyingRecordsAction.jsx:22
+msgid "View the underlying {0} records"
+msgstr "Mostra i sottostanti {0} record"
+
+#: frontend/src/metabase/modes/components/actions/XRayCard.jsx:20
+msgid "X-Ray this question"
+msgstr "Applica i Raggi-X alla question"
+
+#: frontend/src/metabase/qb/components/drill/AutomaticDashboardDrill.jsx:32
+msgid "X-ray {0} {1}"
+msgstr "Raggi-X {0} {1}"
+
+#: frontend/src/metabase/qb/components/drill/AutomaticDashboardDrill.jsx:32
+#: frontend/src/metabase/qb/components/drill/CompareToRestDrill.js:32
+msgid "these"
+msgstr "questi"
+
+#: frontend/src/metabase/qb/components/drill/AutomaticDashboardDrill.jsx:32
+#: frontend/src/metabase/qb/components/drill/CompareToRestDrill.js:32
+msgid "this"
+msgstr "questo"
+
+#: frontend/src/metabase/qb/components/drill/CompareToRestDrill.js:32
+msgid "Compare {0} {1} to the rest"
+msgstr "Confronta {0} {1} al resto"
+
+#: frontend/src/metabase/modes/components/drill/DistributionDrill.jsx:35
+msgid "Distribution"
+msgstr "Distribuzione"
+
+#: frontend/src/metabase/modes/components/drill/ObjectDetailDrill.jsx:38
+msgid "View details"
+msgstr "Vedi dettagli"
+
+#: frontend/src/metabase/modes/components/drill/QuickFilterDrill.jsx:54
+msgid "View this {0}'s {1}"
+msgstr "Mostra {1} di questo {0}"
+
+#: frontend/src/metabase/modes/components/drill/SortAction.jsx:42
+msgid "Ascending"
+msgstr "Ascendente"
+
+#: frontend/src/metabase/modes/components/drill/SortAction.jsx:50
+msgid "Descending"
+msgstr "Discentente"
+
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnByTimeDrill.js:47
+msgid "over time"
+msgstr "Fuori tempo"
+
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:21
+msgid "Avg"
+msgstr "Media"
+
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:33
+msgid "Distincts"
+msgstr "Distinti"
+
+#: frontend/src/metabase/modes/components/drill/UnderlyingRecordsDrill.jsx:32
+msgid "View this {0}"
+msgid_plural "View these {0}"
+msgstr[0] "Mostra questo {0}"
+msgstr[1] "Mostra questi {0}"
+
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:225
+#: frontend/src/metabase/modes/components/drill/ZoomDrill.jsx:26
+msgid "Zoom in"
+msgstr "Avvicina"
+
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:19
+msgid "Custom Expression"
+msgstr "Espressione custom"
+
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:20
+msgid "Common Metrics"
+msgstr "Metriche standard"
+
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:209
+msgid "Metabasics"
+msgstr "Metabasi"
+
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:319
+msgid "Name (optional)"
+msgstr "Nome (opzionale)"
+
+#: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:156
+msgid "Choose an aggregation"
+msgstr "Scegli una aggregazione"
+
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:100
+msgid "Set up your own alert"
+msgstr "Imposta il tuo alert"
+
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:140
+msgid "Unsubscribing..."
+msgstr "Disiscrivendo..."
+
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:145
+msgid "Failed to unsubscribe"
+msgstr "Errore nel cancellarsi"
+
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:204
+msgid "Unsubscribe"
+msgstr "Cancellati"
+
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:235
+msgid "No channel"
+msgstr "Nessun canale"
+
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:263
+msgid "Okay, you're unsubscribed"
+msgstr "Ok, sei stato cancellato"
+
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:335
+msgid "You're receiving {0}'s alerts"
+msgstr "Stai ricevendo {0} alert"
+
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:336
+msgid "{0} set up an alert"
+msgstr "{0} imposta un alert"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:160
+msgid "alerts"
+msgstr "alert"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:183
+msgid "Let's set up your alert"
+msgstr "Impostiamo i tuoi alert"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:214
+msgid "The wide world of alerts"
+msgstr "Il vasto mondo degli alert"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:215
+msgid "There are a few different kinds of alerts you can get"
+msgstr "Puoi ottenere diversi tipi di alert"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:229
+msgid "When a raw data question {0}"
+msgstr "Quando è una domanda di dati piatti {0}"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:230
+msgid "returns any results"
+msgstr "restituisci ogni risultato"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:241
+msgid "When a line or bar {0}"
+msgstr "Quando è una linea o una barra {0}"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:242
+msgid "crosses a goal line"
+msgstr "supera una linea gol"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:253
+msgid "When a progress bar {0}"
+msgstr "Quando è una barra di progresso {0}"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:254
+msgid "reaches its goal"
+msgstr "raggiunge il suo gol"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:262
+msgid "Set up an alert"
+msgstr "Imposta un alert"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:331
+msgid "Edit your alert"
+msgstr "Modifica il tuo alert"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:331
+msgid "Edit alert"
+msgstr "Modifica alert"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:374
+msgid "This alert will no longer be emailed to {0}."
+msgstr "Questo alert non sarà più inviato a {0}."
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:382
+msgid "Slack channel {0} will no longer get this alert."
+msgstr "Il canale Sllack {0} non riceverà più questo alert."
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:386
+msgid "Channel {0} will no longer receive this alert."
+msgstr "Il canale {0} non riceverà più questo alert."
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:403
+msgid "Delete this alert"
+msgstr "Cancella questo alert"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:405
+msgid "Stop delivery and delete this alert. There's no undo, so be careful."
+msgstr "Ferma l'invio e cancella l'alert. Non si torna indietro, quindi sii attento."
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:413
+msgid "Delete this alert?"
+msgstr "Eliminare l'alert?"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:497
+msgid "Alert me when the line…"
+msgstr "Avvisami quando la linea..."
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:498
+msgid "Alert me when the progress bar…"
+msgstr "Avvisami quando la barra..."
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:501
+msgid "Goes above the goal line"
+msgstr "Supera la linea gol"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:501
+msgid "Reaches the goal"
+msgstr "Raggiunge il gol"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:504
+msgid "Goes below the goal line"
+msgstr "Va sotto la linea gol"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:504
+msgid "Goes below the goal"
+msgstr "Va sotto il gol"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:512
+msgid "The first time it crosses, or every time?"
+msgstr "La prima volta che lo supera, oppure ogni volta?"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:513
+msgid "The first time it reaches the goal, or every time?"
+msgstr "La prima volta che raggiunge l'obiettivo, oppure sempre?"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:515
+msgid "The first time"
+msgstr "La prima volta"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:516
+msgid "Every time"
+msgstr "Ogni volta"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:619
+msgid "Where do you want to send these alerts?"
+msgstr "Dove vuoi inviare questi alert?"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:630
+msgid "Email alerts to:"
+msgstr "Invia una email con gli alert a:"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:672
+msgid "{0} Goal-based alerts aren't yet supported for charts with more than one line, so this alert will be sent whenever the chart has {1}."
+msgstr "{0} Gli alert basati sugli obiettivi non sono al momento supportati per più di una linea, per cui questo alert sarà inviato ogni qualvolta il grafico abbia {1}."
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:675
+msgid "results"
+msgstr "risultati"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:679
+msgid "{0} This kind of alert is most useful when your saved question doesn’t {1} return any results, but you want to know when it does."
+msgstr "{0} Questo tipo di alert è più utile quando la tua domanda salvata "
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:680
+msgid "Tip"
+msgstr "Consiglio"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:682
+msgid "usually"
+msgstr "solitamente"
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:57
+msgid "Pick a segment or table"
+msgstr "Seleziona un segmento o una tabella"
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:73
+msgid "Select a database"
+msgstr "Seleziona un database"
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:88
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:87
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:187
+#: frontend/src/metabase/reference/components/MetricImportantFieldsDetail.jsx:35
+msgid "Select..."
+msgstr "Seleziona..."
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:128
+msgid "Select a table"
+msgstr "Seleziona una tabella"
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:793
+msgid "No tables found in this database."
+msgstr "In questo database non è stata trovata nessuna tabella."
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:830
+msgid "Is a question missing?"
+msgstr "Manca una domanda?"
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:834
+msgid "Learn more about nested queries"
+msgstr "Scopri di più sulle query annidate"
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:868
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:30
+msgid "Fields"
+msgstr "Campi"
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:946
+msgid "No segments were found."
+msgstr "Non è stato trovato alcun segmento"
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:969
+msgid "Find a segment"
+msgstr "Trova un segmento"
+
+#: frontend/src/metabase/query_builder/components/ExpandableString.jsx:46
+msgid "View less"
+msgstr "Mostra meno"
+
+#: frontend/src/metabase/query_builder/components/ExpandableString.jsx:56
+msgid "View more"
+msgstr "Mostra di più"
+
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:112
+msgid "Pick a field to sort by"
+msgstr "Seleziona il campo in base al quale ordinare"
+
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:125
+msgid "Sort"
+msgstr "Ordina"
+
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:137
+msgid "Row limit"
+msgstr "Limite di righe"
+
+#: frontend/src/metabase/query_builder/components/FieldName.jsx:69
+msgid "Unknown Field"
+msgstr "Campo sconosciuto"
+
+#: frontend/src/metabase/query_builder/components/FieldName.jsx:72
+msgid "field"
+msgstr "campo"
+
+#: frontend/src/metabase/query_builder/components/Filter.jsx:114
+msgid "Matches"
+msgstr "Combinazioni"
+
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:152
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:160
+msgid "Add filters to narrow your answer"
+msgstr "Aggiungi filtri per restringere la tua risposta"
+
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:284
+msgid "Add a grouping"
+msgstr "Aggiungi un raggruppamento"
+
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:322
+#: frontend/src/metabase/visualizations/components/LineAreaBarChart.jsx:102
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:113
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:152
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:194
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:59
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:68
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:75
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:225
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:231
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:237
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:70
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:75
+msgid "Data"
+msgstr "Dati"
+
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:352
+msgid "Filtered by"
+msgstr "Filtrati per"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:75
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:369
+msgid "View"
+msgstr "Vista"
+
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:386
+msgid "Grouped By"
+msgstr "Raggruppati per"
+
+#: frontend/src/metabase/query_builder/components/LimitWidget.jsx:27
+msgid "None"
+msgstr "Nessuno"
+
+#: frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx:345
+msgid "This question is written in {0}."
+msgstr "Questa domanda è scritta in {0}"
+
+#: frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx:353
+msgid "Hide Editor"
+msgstr "Nascondi Editor"
+
+#: frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx:354
+msgid "Hide Query"
+msgstr "Nascondi Query"
+
+#: frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx:359
+msgid "Open Editor"
+msgstr "Apri Editor"
+
+#: frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx:360
+msgid "Show Query"
+msgstr "Mostra Query"
+
+#: frontend/src/metabase/query_builder/components/QueryDefinitionTooltip.jsx:25
+msgid "This metric has been retired.  It's no longer available for use."
+msgstr "Questa metrica è stata ritirata. Non può più essere utilizzata."
+
+#: frontend/src/metabase/query_builder/components/QueryDownloadWidget.jsx:34
+#: frontend/src/metabase/query_builder/components/QueryDownloadWidget.jsx:46
+msgid "Download full results"
+msgstr "Scarica i risultati completi"
+
+#: frontend/src/metabase/query_builder/components/QueryDownloadWidget.jsx:35
+msgid "Download this data"
+msgstr "Scarica questi dati"
+
+#: frontend/src/metabase/query_builder/components/QueryDownloadWidget.jsx:46
+msgid "Warning"
+msgstr "Attenzione"
+
+#: frontend/src/metabase/query_builder/components/QueryDownloadWidget.jsx:52
+msgid "Your answer has a large number of rows so it could take a while to download."
+msgstr "La tua risposta ha molte righe, per cui il download potrebbe metterci un po'."
+
+#: frontend/src/metabase/query_builder/components/QueryDownloadWidget.jsx:53
+msgid "The maximum download size is 1 million rows."
+msgstr "La massima dimensione scaricabile è 1 milione di righe."
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:232
+msgid "Edit question"
+msgstr "Modifica la domanda"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:249
+msgid "SAVE CHANGES"
+msgstr "SALVA LE MODIFICHE"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:263
+msgid "CANCEL"
+msgstr "ANNULLA"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:276
+msgid "Move question"
+msgstr "Sposta la domanda"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:283
+msgid "Which collection should this be in?"
+msgstr "In quale collezione va inserito?"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:313
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:110
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorSidebar.jsx:83
+msgid "Variables"
+msgstr "Variabili"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:432
+msgid "Learn about your data"
+msgstr "Scopri di più sui tuoi dati"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:460
+msgid "Alerts are on"
+msgstr "Gli allarmi sono attivi"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:522
+msgid "started from"
+msgstr "iniziato da"
+
+#: frontend/src/metabase/query_builder/components/QueryModeButton.jsx:48
+msgid "SQL"
+msgstr "SQL"
+
+#: frontend/src/metabase/query_builder/components/QueryModeButton.jsx:48
+msgid "native query"
+msgstr "query nativa"
+
+#: frontend/src/metabase/query_builder/components/QueryModeButton.jsx:52
+msgid "Not Supported"
+msgstr "Non supportato"
+
+#: frontend/src/metabase/query_builder/components/QueryModeButton.jsx:58
+msgid "View the {0}"
+msgstr "Mostra il {0}"
+
+#: frontend/src/metabase/query_builder/components/QueryModeButton.jsx:59
+msgid "Switch to {0}"
+msgstr "Cambia a {0}"
+
+#: frontend/src/metabase/query_builder/components/QueryModeButton.jsx:62
+msgid "Switch to Builder"
+msgstr "Passa al Costruttore"
+
+#: frontend/src/metabase/query_builder/components/QueryModeButton.jsx:87
+msgid "{0} for this question"
+msgstr "{0} per questa domanda"
+
+#: frontend/src/metabase/query_builder/components/QueryModeButton.jsx:111
+msgid "Convert this question to {0}"
+msgstr "Trasforma questa domanda in {0}"
+
+#: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:122
+msgid "This question will take approximately {0} to refresh"
+msgstr "Questa domanda impiegherà circa {0} per aggiornarsi"
+
+#: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:131
+msgid "Updated {0}"
+msgstr "Aggiornato {0}"
+
+#: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:141
+msgid "row"
+msgid_plural "rows"
+msgstr[0] "riga"
+msgstr[1] "righe"
+
+#: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:148
+msgid "Showing first {0} {1}"
+msgstr "Mostra i primi {0} {1}"
+
+#: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:151
+msgid "Showing {0} {1}"
+msgstr "Mostra {0} {1}"
+
+#: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:281
+msgid "Doing science"
+msgstr "Calcolando"
+
+#: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:294
+msgid "If you give me some data I can show you something cool. Run a Query!"
+msgstr "Se mi dai dei dati, posso mostrarti qualcosa di interessante. Lancia una Query!"
+
+#: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:299
+msgid "How do I use this thing?"
+msgstr "Come uso questa cosa?"
+
+#: frontend/src/metabase/query_builder/components/RunButton.jsx:28
+msgid "Get Answer"
+msgstr "Ottieni la risposta"
+
+#: frontend/src/metabase/query_builder/components/SavedQuestionIntroModal.jsx:12
+msgid "It's okay to play around with saved questions"
+msgstr "Puoi fare delle prove con le domande salvate"
+
+#: frontend/src/metabase/query_builder/components/SavedQuestionIntroModal.jsx:14
+msgid "You won't make any permanent changes to a saved question unless you click the edit icon in the top-right."
+msgstr "Non effettuerai alcuna modifica permanente a una domanda salvata a meno che non clicchi sull'icona di modifica in alto a destra."
+
+#: frontend/src/metabase/query_builder/components/SearchBar.jsx:28
+msgid "Search for"
+msgstr "Cerca"
+
+#: frontend/src/metabase/query_builder/components/SelectionModule.jsx:158
+msgid "Advanced..."
+msgstr "Avanzate..."
+
+#: frontend/src/metabase/query_builder/components/SelectionModule.jsx:167
+msgid "Sorry. Something went wrong."
+msgstr "Mi dispiace. Qualcosa è andato storto."
+
+#: frontend/src/metabase/query_builder/components/TimeGroupingPopover.jsx:40
+msgid "Group time by"
+msgstr "Aggrega il tempo per"
+
+#: frontend/src/metabase/query_builder/components/VisualizationError.jsx:46
+msgid "Your question took too long"
+msgstr "La tua domanda ci ha messo troppo tempo"
+
+#: frontend/src/metabase/query_builder/components/VisualizationError.jsx:47
+msgid "We didn't get an answer back from your database in time, so we had to stop. You can try again in a minute, or if the problem persists, you can email an admin to let them know."
+msgstr "Non abbiamo ricevuto una risposta in tempo dal tuo database, per cui ci siamo fermati. Puoi riprovare tra un minuto e, se il problema rimane, inviare una mail a un amministratore per informarlo."
+
+#: frontend/src/metabase/query_builder/components/VisualizationError.jsx:55
+msgid "We're experiencing server issues"
+msgstr "Stiamo avendo problemi con il database"
+
+#: frontend/src/metabase/query_builder/components/VisualizationError.jsx:56
+msgid "Try refreshing the page after waiting a minute or two. If the problem persists we'd recommend you contact an admin."
+msgstr "Prova a rinfrescare la pagina tra un paio di minuti. Se il problema rimane, ti consigliamo di contattare un amministratore."
+
+#: frontend/src/metabase/query_builder/components/VisualizationError.jsx:88
+msgid "There was a problem with your question"
+msgstr "C'è stato un problema con la tua domanda"
+
+#: frontend/src/metabase/query_builder/components/VisualizationError.jsx:89
+msgid "Most of the time this is caused by an invalid selection or bad input value. Double check your inputs and retry your query."
+msgstr "La maggior parte delle volte questo è causato da una selezione invalida o dall'inserimento di un valore anomalo. Ricontrolla l'inserimento e rilancia la query."
+
+#: frontend/src/metabase/query_builder/components/VisualizationResult.jsx:60
+msgid "This may be the answer you’re looking for. If not, try removing or changing your filters to make them less specific."
+msgstr "Questa potrebbe essere la risposta che stai cercando. In caso contrario, prova a togliere o modificare i filtri in modo che siano meno specifici."
+
+#: frontend/src/metabase/query_builder/components/VisualizationResult.jsx:66
+msgid "You can also {0} when there are some results."
+msgstr "Puoi anche {0} quando ci sono dei risultati"
+
+#: frontend/src/metabase/query_builder/components/VisualizationResult.jsx:68
+msgid "get an alert"
+msgstr "ricevi un alert"
+
+#: frontend/src/metabase/query_builder/components/VisualizationResult.jsx:77
+msgid "Back to last run"
+msgstr "Torna all'ultima esecuzione"
+
+#: frontend/src/metabase/query_builder/components/VisualizationSettings.jsx:100
+msgid "Visualization"
+msgstr "Visualizzazione"
+
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:96
+msgid "No description set."
+msgstr "Nessuna descrizione impostata."
+
+#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:21
+msgid "Use for current question"
+msgstr "Usa per la domanda corrente"
+
+#: frontend/src/metabase/reference/components/UsefulQuestions.jsx:16
+msgid "Potentially useful questions"
+msgstr "Domande potenzialmente utili"
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:166
+msgid "Group by {0}"
+msgstr "Raggruppa per {0}"
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:165
+msgid "Sum of all values of {0}"
+msgstr "Somma di tutti i valori di {0}"
+
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:63
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:51
+msgid "All distinct values of {0}"
+msgstr "Tutti i valori che assume {0}"
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:187
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:39
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:51
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:39
+msgid "Number of {0} grouped by {1}"
+msgstr "Numero di {0} raggruppato per {1}"
+
+#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:10
+#: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:20
+#: frontend/src/metabase/reference/databases/FieldSidebar.jsx:30
+#: frontend/src/metabase/reference/databases/TableSidebar.jsx:26
+#: frontend/src/metabase/reference/guide/BaseSidebar.jsx:17
+#: frontend/src/metabase/reference/guide/BaseSidebar.jsx:19
+#: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:23
+#: frontend/src/metabase/reference/segments/SegmentFieldSidebar.jsx:24
+#: frontend/src/metabase/reference/segments/SegmentSidebar.jsx:23
+msgid "Data Reference"
+msgstr "Riferimento dati"
+
+#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:13
+msgid "Learn more about your data structure to ask more useful questions"
+msgstr "Scopri di più sulla struttura dei dati per fare domande più utili"
+
+#: frontend/src/metabase/query_builder/components/dataref/MetricPane.jsx:58
+#: frontend/src/metabase/query_builder/components/dataref/SegmentPane.jsx:84
+msgid "Could not find the table metadata prior to creating a new question"
+msgstr "Non posso trovare i metadati della tabella prima di creare una nuova domanda"
+
+#: frontend/src/metabase/query_builder/components/dataref/MetricPane.jsx:80
+msgid "See {0}"
+msgstr "Vedi {0}"
+
+#: frontend/src/metabase/query_builder/components/dataref/MetricPane.jsx:94
+msgid "Metric Definition"
+msgstr "Definizione della metrica"
+
+#: frontend/src/metabase/query_builder/components/dataref/SegmentPane.jsx:118
+msgid "Filter by {0}"
+msgstr "Filtra per {0}"
+
+#: frontend/src/metabase/query_builder/components/dataref/SegmentPane.jsx:127
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:36
+msgid "Number of {0}"
+msgstr "Numero di {0}"
+
+#: frontend/src/metabase/query_builder/components/dataref/SegmentPane.jsx:134
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:46
+msgid "See all {0}"
+msgstr "Mostra tutti {0}"
+
+#: frontend/src/metabase/query_builder/components/dataref/SegmentPane.jsx:148
+msgid "Segment Definition"
+msgstr "Definizione del segmento"
+
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:50
+msgid "An error occurred loading the table"
+msgstr "Si è verificato un errore durante il caricamento della tabella"
+
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:74
+msgid "See the raw data for {0}"
+msgstr "Mostra i dati grezzi per {0}"
+
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:180
+msgid "More"
+msgstr "Altro"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:201
+msgid "Invalid expression"
+msgstr "Espressione non valida"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:276
+msgid "unknown error"
+msgstr "errore sconosciuto"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:46
+msgid "Field formula"
+msgstr "Campo formula"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:57
+msgid "Think of this as being kind of like writing a formula in a spreadsheet program: you can use numbers, fields in this table, mathematical symbols like +, and some functions. So you could type something like Subtotal - Cost."
+msgstr "Pensa che è come scrivere una formula in un foglio di calcolo: puoi usare numeri, campi in questa tabella, simboli matematici come + e alcune funzioni. Quindi puoi digitare qualcosa come Subtotal - Cost."
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:62
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:126
+msgid "Learn more"
+msgstr "Scopri di più"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:66
+msgid "Give it a name"
+msgstr "Assegna un nome"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:72
+msgid "Something nice and descriptive"
+msgstr "Qualcosa di chiaro e descrittivo"
+
+#: frontend/src/metabase/query_builder/components/expressions/Expressions.jsx:60
+msgid "Add a custom field"
+msgstr "Aggiungi un campo personalizzato"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:17
+msgid "Include {0}"
+msgstr "Includi {0}"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:19
+msgid "Case sensitive"
+msgstr "Tiene conto del maiuscolo e del minuscolo"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:23
+msgid "today"
+msgstr "oggi"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:24
+msgid "this week"
+msgstr "settimana corrente"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:25
+msgid "this month"
+msgstr "mese corrente"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:26
+msgid "this year"
+msgstr "anno corrente"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:27
+msgid "this minute"
+msgstr "questo minuto"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:28
+msgid "this hour"
+msgstr "quest'ora"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:290
+msgid "not implemented {0}"
+msgstr "non implementato {0}"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:291
+msgid "true"
+msgstr "vero"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:291
+msgid "false"
+msgstr "falso"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:404
+msgid "Add filter"
+msgstr "Aggiungi un filtro"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterWidgetList.jsx:64
+msgid "Item"
+msgstr "Elemento"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:221
+msgid "Previous"
+msgstr "Precedente"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:252
+msgid "Current"
+msgstr "Corrente"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:278
+#: frontend/src/metabase/visualizations/lib/settings/column.js:246
+#: frontend/src/metabase/visualizations/lib/settings/series.js:89
+msgid "On"
+msgstr "On"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/NumberPicker.jsx:47
+msgid "Enter desired number"
+msgstr "Inserisci il numero desiderato"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/SelectPicker.jsx:83
+#: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:100
+msgid "Empty"
+msgstr "Vuoto"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/SelectPicker.jsx:116
+msgid "Find a value"
+msgstr "Trova un valore"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/SpecificDatePicker.jsx:113
+msgid "Hide calendar"
+msgstr "Nascondi il calendario"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/SpecificDatePicker.jsx:113
+msgid "Show calendar"
+msgstr "Mostra il calendario"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/TextPicker.jsx:97
+msgid "You can enter multiple values separated by commas"
+msgstr "Puoi inserire più valori separati da virgola"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/TextPicker.jsx:38
+msgid "Enter desired text"
+msgstr "Inserisci il testo desiderato"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:83
+msgid "Try it"
+msgstr "Prova"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:105
+msgid "What's this for?"
+msgstr "A cosa serve?"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:107
+msgid "Variables in native queries let you dynamically replace values in your queries using filter widgets or through the URL."
+msgstr "Le variabili nelle query native ti permettono di sostituire dinamicamente i valori nelle tue query utilizzando i filtri widget o attraverso l'URL."
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:112
+msgid "{0} creates a variable in this SQL template called \"variable_name\". Variables can be given types in the side panel, which changes their behavior. All variable types other than \"Field Filter\" will automatically cause a filter widget to be placed on this question; with Field Filters, this is optional. When this filter widget is filled in, that value replaces the variable in the SQL template."
+msgstr "{0} crea una variabile in questo modello SQL chiamato \"nome_variabile\". Le variabili possono essere tipi dati nel pannello laterale, che cambia il loro comportamento. Tutti i tipi di variabile diversi da \"Field Filter\" causeranno automaticamente il posizionamento di un filtro su questa domanda; con i filtri di campo, questo è opzionale. Quando questo widget di filtro viene utilizzato, tale valore sostituisce la variabile nel modello SQL."
+
+#. Per essere più intuitivi utilizzerei il termine colonna così che gli utenti sanno che questi sono i filtri che poi si basano sui dati presenti nella colonna che andranno a scegliere
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:121
+msgid "Field Filters"
+msgstr "Filtri per colonna"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:123
+msgid "Giving a variable the \"Field Filter\" type allows you to link SQL cards to dashboard filter widgets or use more types of filter widgets on your SQL question. A Field Filter variable inserts SQL similar to that generated by the GUI query builder when adding filters on existing columns."
+msgstr "Fornendo una variabile il tipo \"Campo Filtro\" consente di collegare le schede SQL ai widget filtro dashboard o utilizzare più tipi di widget filtro sulla richiesta SQL. Una variabile Field Filter inserisce SQL simile a quello generato dal generatore di query della GUI quando si aggiungono filtri su colonne esistenti."
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:126
+msgid "When adding a Field Filter variable, you'll need to map it to a specific field. You can then choose to display a filter widget on your question, but even if you don't, you can now map your Field Filter variable to a dashboard filter when adding this question to a dashboard. Field Filters should be used inside of a \"WHERE\" clause."
+msgstr "Quando aggiungi una variabile Field Filter, dovrai mapparla a un campo specifico. Puoi quindi scegliere di visualizzare un widget filtro nella tua domanda, ma anche se non lo fai, puoi ora mappare la variabile Filtro campo a un filtro dashboard quando aggiungi questa domanda a una dashboard. I filtri di campo dovrebbero essere utilizzati all'interno di una clausola \"WHERE\"."
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:130
+msgid "Optional Clauses"
+msgstr "Clausole opzionali"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:132
+msgid "brackets around a {0} create an optional clause in the template. If \"variable\" is set, then the entire clause is placed into the template. If not, then the entire clause is ignored."
+msgstr "parentesi attorno a {0} creano una clausola facoltativa nel modello. Se è impostata \"variabile\", l'intera clausola viene inserita nel modello. In caso contrario, l'intera clausola viene ignorata."
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:142
+msgid "To use multiple optional clauses you can include at least one non-optional WHERE clause followed by optional clauses starting with \"AND\"."
+msgstr "Per utilizzare più clausole facoltative, è possibile includere almeno una clausola WHERE non facoltativa seguita da clausole facoltative che iniziano con \"AND\"."
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:154
+msgid "Read the full documentation"
+msgstr "Leggi la documentazione completa"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:127
+msgid "Filter label"
+msgstr "Etichetta di filtro"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:139
+msgid "Variable type"
+msgstr "Tipo di variabile"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:148
+msgid "Text"
+msgstr "Testo"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:150
+msgid "Date"
+msgstr "Data"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:151
+msgid "Field Filter"
+msgstr "Filtro per colonna"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:157
+msgid "Field to map to"
+msgstr "Campo a cui mappare"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:179
+msgid "Filter widget type"
+msgstr "Filtro tipo di widget"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:201
+msgid "Required?"
+msgstr "Richiesto?"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:211
+msgid "Default filter widget value"
+msgstr "Valore di default del widget"
+
+#: frontend/src/metabase/query_builder/containers/ArchiveQuestionModal.jsx:46
+msgid "Archive this question?"
+msgstr "Archivia questa domanda?"
+
+#: frontend/src/metabase/query_builder/containers/ArchiveQuestionModal.jsx:57
+msgid "This question will be removed from any dashboards or pulses using it."
+msgstr "Questa domanda sarà rimossa da ogni dashboard o pulse che la contiene"
+
+#: frontend/src/metabase/query_builder/containers/QueryBuilder.jsx:136
+msgid "Question"
+msgstr "Domanda"
+
+#: frontend/src/metabase/questions/containers/AddToDashboard.jsx:11
+msgid "Pick a question to add"
+msgstr "Scegli una domanda da aggiungere"
+
+#: frontend/src/metabase/reference/components/EditHeader.jsx:19
+msgid "You are editing this page"
+msgstr "Stai modificando questa pagina"
+
+#: frontend/src/metabase/reference/components/EditableReferenceHeader.jsx:101
+#: frontend/src/metabase/reference/components/ReferenceHeader.jsx:63
+msgid "See this {0}"
+msgstr "Guarda questo {0}"
+
+#: frontend/src/metabase/reference/components/EditableReferenceHeader.jsx:120
+msgid "A subset of"
+msgstr "Un sottoinsieme di"
+
+#: frontend/src/metabase/reference/components/Field.jsx:47
+#: frontend/src/metabase/reference/components/Field.jsx:86
+#: frontend/src/metabase/reference/components/FieldTypeDetail.jsx:32
+#: frontend/src/metabase/reference/components/FieldTypeDetail.jsx:68
+msgid "Select a field type"
+msgstr "Scegli un tipo di campo"
+
+#: frontend/src/metabase/reference/components/Field.jsx:56
+#: frontend/src/metabase/reference/components/Field.jsx:71
+#: frontend/src/metabase/reference/components/FieldTypeDetail.jsx:41
+#: frontend/src/metabase/reference/components/FieldTypeDetail.jsx:57
+msgid "No field type"
+msgstr "Nessun tipo di campo"
+
+#: frontend/src/metabase/reference/components/FieldToGroupBy.jsx:22
+msgid "by"
+msgstr "per"
+
+#: frontend/src/metabase/reference/components/FieldTypeDetail.jsx:25
+#: frontend/src/metabase/reference/databases/FieldList.jsx:152
+#: frontend/src/metabase/reference/segments/SegmentFieldList.jsx:153
+msgid "Field type"
+msgstr "Tipo di campo"
+
+#: frontend/src/metabase/reference/components/FieldTypeDetail.jsx:72
+msgid "Select a Foreign Key"
+msgstr "Degli una chiave esterna"
+
+#: frontend/src/metabase/reference/components/Formula.jsx:53
+msgid "View the {0} formula"
+msgstr "Vedi la formula {0}"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:80
+msgid "Why this {0} is important"
+msgstr "Perché questo {0} è importante"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:81
+msgid "Why this {0} is interesting"
+msgstr "Perché questo {0} è interessante"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:87
+msgid "Nothing important yet"
+msgstr "Nulla di importante per ora"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:88
+#: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:168
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:233
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:211
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:215
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:219
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:229
+msgid "Nothing interesting yet"
+msgstr "Nulla di interessante per ora"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:93
+msgid "Things to be aware of about this {0}"
+msgstr "Cose da sapere su questo {0}"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:97
+#: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:178
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:243
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:221
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:225
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:229
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:239
+msgid "Nothing to be aware of yet"
+msgstr "Niente di cui essere ancora a conoscenza"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:103
+msgid "Explore this metric"
+msgstr "Esplore questa metrica"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:105
+msgid "View this metric"
+msgstr "Vedi questa metrica"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:112
+msgid "By {0}"
+msgstr "Per {0}"
+
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:146
+msgid "Remove item"
+msgstr "Rimuovi l'elemento"
+
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:155
+msgid "Why is this dashboard the most important?"
+msgstr "Perché questa dashboard è la più importante?"
+
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:156
+msgid "What is useful or interesting about this {0}?"
+msgstr "Cosa c'è di utile o interessante su questo {0}?"
+
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:160
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:174
+msgid "Write something helpful here"
+msgstr "Scrivi qualcosa di utile"
+
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:169
+msgid "Is there anything users of this dashboard should be aware of?"
+msgstr "C'è qualcosa di cui gli utenti di questa dashboard debbano essere a conoscenza?"
+
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:170
+msgid "Anything users should be aware of about this {0}?"
+msgstr "Qualcosa di cui gli utenti debbano essere a conoscenza di questo {0}?"
+
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:182
+#: frontend/src/metabase/reference/components/MetricImportantFieldsDetail.jsx:26
+msgid "Which 2-3 fields do you usually group this metric by?"
+msgstr "Secondo quali 2 o 3 campi raggruppi solitamente questa metrica?"
+
+#: frontend/src/metabase/reference/components/GuideHeader.jsx:23
+msgid "This is the perfect place to start if you’re new to your company’s data, or if you just want to check in on what’s going on."
+msgstr "Questo è il punto di partenza perfetto se sei nuovo ai dati della tua azienda o se vuoi semplicemente controllare cosa sta succedendo."
+
+#: frontend/src/metabase/reference/components/MetricImportantFieldsDetail.jsx:65
+msgid "Most useful fields to group this metric by"
+msgstr "Campi più utili secondo cui raggruppare questa metrica"
+
+#: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:32
+msgid "Reason for changes"
+msgstr "Motivo delle modifiche"
+
+#: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:36
+msgid "Leave a note to explain what changes you made and why they were required"
+msgstr "Lascia una nota per spiegare quali modifiche hai effettuato e perché erano necessarie"
+
+#: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:166
+msgid "Why this database is interesting"
+msgstr "Perchè questo database è interessante"
+
+#: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:176
+msgid "Things to be aware of about this database"
+msgstr "Punti di attenzione su questo database"
+
+#: frontend/src/metabase/reference/databases/DatabaseList.jsx:46
+#: frontend/src/metabase/reference/guide/BaseSidebar.jsx:39
+msgid "Databases and tables"
+msgstr "Database e tabelle"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:61
+#: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:27
+#: frontend/src/metabase/reference/databases/FieldSidebar.jsx:41
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:170
+#: frontend/src/metabase/reference/databases/TableSidebar.jsx:34
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:184
+#: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:30
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:188
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:187
+#: frontend/src/metabase/reference/segments/SegmentFieldSidebar.jsx:31
+#: frontend/src/metabase/reference/segments/SegmentSidebar.jsx:30
+msgid "Details"
+msgstr "Dettagli"
+
+#: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:33
+#: frontend/src/metabase/reference/databases/TableList.jsx:111
+msgid "Tables in {0}"
+msgstr "Tabelle in {0}"
+
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:222
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:200
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:218
+msgid "Actual name in database"
+msgstr "Nome reale nel database"
+
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:231
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:227
+msgid "Why this field is interesting"
+msgstr "Perché questo campo è interessante"
+
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:241
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:237
+msgid "Things to be aware of about this field"
+msgstr "Punti di attenzione su questo campo"
+
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:253
+#: frontend/src/metabase/reference/databases/FieldList.jsx:155
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:249
+#: frontend/src/metabase/reference/segments/SegmentFieldList.jsx:156
+msgid "Data type"
+msgstr "Tipo dati"
+
+#: frontend/src/metabase/reference/databases/FieldList.jsx:39
+#: frontend/src/metabase/reference/segments/SegmentFieldList.jsx:39
+msgid "Fields in this table will appear here as they're added"
+msgstr "I campi in questa tabella appariranno qui man mano verranno aggiunti"
+
+#: frontend/src/metabase/reference/databases/FieldList.jsx:134
+#: frontend/src/metabase/reference/segments/SegmentFieldList.jsx:135
+msgid "Fields in {0}"
+msgstr "Campi in {0}"
+
+#: frontend/src/metabase/reference/databases/FieldList.jsx:149
+#: frontend/src/metabase/reference/segments/SegmentFieldList.jsx:150
+msgid "Field name"
+msgstr "Nome del campo"
+
+#: frontend/src/metabase/reference/databases/FieldSidebar.jsx:49
+msgid "X-ray this field"
+msgstr "Fai un x-ray al campo"
+
+#: frontend/src/metabase/reference/databases/NoDatabasesEmptyState.jsx:8
+msgid "Metabase is no fun without any data"
+msgstr "Metabase non è divertente senza dati"
+
+#: frontend/src/metabase/reference/databases/NoDatabasesEmptyState.jsx:9
+msgid "Your databases will appear here once you connect one"
+msgstr "I tuoi database appariranno qui quando li collegherai"
+
+#: frontend/src/metabase/reference/databases/NoDatabasesEmptyState.jsx:10
+msgid "Databases will appear here once your admins have added some"
+msgstr "I database appariranno qui quando i tuoi amministratori li avranno aggiunti"
+
+#: frontend/src/metabase/reference/databases/NoDatabasesEmptyState.jsx:12
+msgid "Connect a database"
+msgstr "Connetti un database"
+
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:38
+msgid "Count of {0}"
+msgstr "Conteggio di {0}"
+
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:47
+msgid "See raw data for {0}"
+msgstr "Visualizza i dati piatti di {0}"
+
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:209
+msgid "Why this table is interesting"
+msgstr "Perchè questa tabella è interessante"
+
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:219
+msgid "Things to be aware of about this table"
+msgstr "Cose di cui essere a conoscenza riguardanti questa tabella"
+
+#: frontend/src/metabase/reference/databases/TableList.jsx:30
+msgid "Tables in this database will appear here as they're added"
+msgstr "Le tabelle in questo database appariranno qui man mano verranno aggiunte"
+
+#: frontend/src/metabase/reference/databases/TableQuestions.jsx:34
+msgid "Questions about this table will appear here as they're added"
+msgstr "Le domande su questa tabella appariranno qui man mano verranno aggiunte"
+
+#: frontend/src/metabase/reference/databases/TableQuestions.jsx:71
+#: frontend/src/metabase/reference/metrics/MetricQuestions.jsx:75
+#: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:36
+#: frontend/src/metabase/reference/segments/SegmentQuestions.jsx:74
+msgid "Questions about {0}"
+msgstr "Domande riguardanti {0}"
+
+#: frontend/src/metabase/reference/databases/TableQuestions.jsx:95
+#: frontend/src/metabase/reference/metrics/MetricQuestions.jsx:99
+#: frontend/src/metabase/reference/segments/SegmentQuestions.jsx:98
+msgid "Created {0} by {1}"
+msgstr "Creato {0} per {1}"
+
+#: frontend/src/metabase/reference/databases/TableSidebar.jsx:40
+msgid "Fields in this table"
+msgstr "Campi in questa tabella"
+
+#: frontend/src/metabase/reference/databases/TableSidebar.jsx:48
+msgid "Questions about this table"
+msgstr "Domande relative a questa tabella"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:157
+msgid "Help your team get started with your data."
+msgstr "Aiuta il tuo team ad iniziare a lavorare con i vostri dati."
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:159
+msgid "Show your team what’s most important by choosing your top dashboard, metrics, and segments."
+msgstr "Mostra al tuo team la cosa più importante scegliendo la dashboard, le metriche e i segmenti più importanti."
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:165
+msgid "Get started"
+msgstr "Inizia"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:173
+msgid "Our most important dashboard"
+msgstr "La nostra dashboard più importante"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:188
+msgid "Numbers that we pay attention to"
+msgstr "Numeri importanti per noi"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:213
+msgid "Metrics are important numbers your company cares about. They often represent a core indicator of how the business is performing."
+msgstr "Le metriche sono numeri importanti che la tua azienda ritiene essenziali. Rappresentano spesso un indicatore chiave di come si sta svolgendo l'attività."
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:221
+msgid "See all metrics"
+msgstr "Mostra tutte le metriche"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:235
+msgid "Segments and tables"
+msgstr "Segmenti e tabelle"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:236
+msgid "Tables"
+msgstr "Tabelle"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:262
+msgid "Segments and tables are the building blocks of your company's data. Tables are collections of the raw information while segments are specific slices with specific meanings, like {0}"
+msgstr "Segmenti e tabelle sono gli elementi costitutivi dei dati della tua azienda. Le tabelle sono raccolte delle informazioni non elaborate mentre i segmenti sono sezioni specifiche con significati specifici, come {0}"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:267
+msgid "Tables are the building blocks of your company's data."
+msgstr "Le tabelle sono i mattoncini che compongono l'insieme dei dati della vostra azienda."
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:277
+msgid "See all segments"
+msgstr "Mostra tutti i segmenti"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:293
+msgid "See all tables"
+msgstr "Mostra tutte le tabelle"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:301
+msgid "Other things to know about our data"
+msgstr "Altre cose da sapere sui nostri dati"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:302
+msgid "Find out more"
+msgstr "Scopri di più"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:307
+msgid "A good way to get to know your data is by spending a bit of time exploring the different tables and other info available to you. It may take a while, but you'll start to recognize names and meanings over time."
+msgstr "Un buon modo per conoscere i tuoi dati è trascorrere un po 'di tempo esplorando le diverse tabelle e altre informazioni disponibili. Potrebbe volerci un po ', ma inizierai a riconoscere nomi e significati nel tempo."
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:313
+msgid "Explore our data"
+msgstr "Esplora i nostri dati"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:321
+msgid "Have questions?"
+msgstr "Ci sono domande?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:326
+msgid "Contact {0}"
+msgstr "Contatta {0}"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:248
+msgid "Help new Metabase users find their way around."
+msgstr "Aiuta i nuovi utenti di Metabase a sentirsi a casa."
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:251
+msgid "The Getting Started guide highlights the dashboard, metrics, segments, and tables that matter most, and informs your users of important things they should know before digging into the data."
+msgstr "La Guida introduttiva evidenzia la dashboard, le metriche, i segmenti e le tabelle che contano di più e informa gli utenti delle cose importanti che dovrebbero sapere prima di scavare nei dati."
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:258
+msgid "Is there an important dashboard for your team?"
+msgstr "C'è una dashboard importante per il tuo team?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:260
+msgid "Create a dashboard now"
+msgstr "Crea ora una dashboard"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:266
+msgid "What is your most important dashboard?"
+msgstr "Qual è la tua dashboard più importante?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:285
+msgid "Do you have any commonly referenced metrics?"
+msgstr "Hai delle metriche a cui fai riferimento di frequente?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:287
+msgid "Learn how to define a metric"
+msgstr "Impara come definire una metrica"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:300
+msgid "What are your 3-5 most commonly referenced metrics?"
+msgstr "Quali solo le 3-5 metriche più richiamate?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:344
+msgid "Add another metric"
+msgstr "Aggiungi un'altra metrica"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:357
+msgid "Do you have any commonly referenced segments or tables?"
+msgstr "Hai dei segmenti o delle tabelle che sono richiamati frequentemente?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:359
+msgid "Learn how to create a segment"
+msgstr "Impara come creare un segmento"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:372
+msgid "What are 3-5 commonly referenced segments or tables that would be useful for this audience?"
+msgstr "Quali sono 3-5 segmenti o tabelle comunemente citati che sarebbero utili per questo pubblico?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:418
+msgid "Add another segment or table"
+msgstr "Aggiungi un'altro segmento o tabella"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:427
+msgid "Is there anything your users should understand or know before they start accessing the data?"
+msgstr "C'è qualcosa che i tuoi utenti dovrebbero capire o sapere prima di iniziare ad accedere ai dati?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:433
+msgid "What should a user of this data know before they start accessing it?"
+msgstr "Cosa deve sapere un utente di questi dati prima di iniziare ad accedervi?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:437
+msgid "E.g., expectations around data privacy and use, common pitfalls or misunderstandings, information about data warehouse performance, legal notices, etc."
+msgstr "p.e., aspettative sulla privacy e sull'uso dei dati, insidie o incomprensioni comuni, informazioni sulle prestazioni del data warehouse, note legali, ecc."
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:448
+msgid "Is there someone your users could contact for help if they're confused about this guide?"
+msgstr "C'è qualcuno che i tuoi utenti potrebbero contattare per chiedere aiuto se sono confusi su questa guida?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:457
+msgid "Who should users contact for help if they're confused about this data?"
+msgstr "Chi dovrebbe contattare gli utenti per chiedere assistenza se sono confusi su questi dati?"
+
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:75
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:95
+msgid "Please enter a revision message"
+msgstr "Per favore scrivi un messaggio per la revisione"
+
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:213
+msgid "Why this Metric is interesting"
+msgstr "Perché questa metrica è interessante"
+
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:223
+msgid "Things to be aware of about this Metric"
+msgstr "Cose di che dovresti sapere riguardo questa metrica"
+
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:233
+msgid "How this Metric is calculated"
+msgstr "Come viene calcolata questa metrica"
+
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:235
+msgid "Nothing on how it's calculated yet"
+msgstr "Per ora nulla rispetto a come è calcolato"
+
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:293
+msgid "Other fields you can group this metric by"
+msgstr "Altri campi puoi raggruppare questa metrica per"
+
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:294
+msgid "Fields you can group this metric by"
+msgstr "Campi con cui puoi raggruppare questa metrica"
+
+#: frontend/src/metabase/reference/metrics/MetricList.jsx:23
+msgid "Metrics are the official numbers that your team cares about"
+msgstr "Le metriche sono i numeri ufficiali di cui il tuo team si prende cura"
+
+#: frontend/src/metabase/reference/metrics/MetricList.jsx:25
+msgid "Metrics will appear here once your admins have created some"
+msgstr "Le metriche appariranno qui una volta che i tuoi amministratori ne avranno creati alcuni"
+
+#: frontend/src/metabase/reference/metrics/MetricList.jsx:27
+msgid "Learn how to create metrics"
+msgstr "Scopri come si creano metriche"
+
+#: frontend/src/metabase/reference/metrics/MetricQuestions.jsx:35
+msgid "Questions about this metric will appear here as they're added"
+msgstr "Le 'question' su questa metrica verranno visualizzate qui man mano che vengono aggiunte"
+
+#: frontend/src/metabase/reference/metrics/MetricRevisions.jsx:29
+msgid "There are no revisions for this metric"
+msgstr "Non ci sono revisioni per questa metrica"
+
+#: frontend/src/metabase/reference/metrics/MetricRevisions.jsx:88
+#: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:52
+#: frontend/src/metabase/reference/segments/SegmentRevisions.jsx:88
+msgid "Revision history for {0}"
+msgstr "Storia delle revisioni per {0}"
+
+#: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:43
+msgid "X-ray this metric"
+msgstr "Esegui raggi-X su questa metrica"
+
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:217
+msgid "Why this Segment is interesting"
+msgstr "Perché questo segmento è interessante"
+
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:227
+msgid "Things to be aware of about this Segment"
+msgstr "Cose da sapere su questo segmento"
+
+#: frontend/src/metabase/reference/segments/SegmentList.jsx:23
+msgid "Segments are interesting subsets of tables"
+msgstr "I segmenti sono sottoinsiemi interessanti di tabelle"
+
+#: frontend/src/metabase/reference/segments/SegmentList.jsx:24
+msgid "Defining common segments for your team makes it even easier to ask questions"
+msgstr "Definire segmenti comuni per il tuo team rende ancora più facile fare domande"
+
+#: frontend/src/metabase/reference/segments/SegmentList.jsx:25
+msgid "Segments will appear here once your admins have created some"
+msgstr "I segmenti appariranno qui non appena i tuoi admin ne avranno creati"
+
+#: frontend/src/metabase/reference/segments/SegmentList.jsx:27
+msgid "Learn how to create segments"
+msgstr "Impara come creare dei segmenti"
+
+#: frontend/src/metabase/reference/segments/SegmentQuestions.jsx:35
+msgid "Questions about this segment will appear here as they're added"
+msgstr "Le domande su questo segmento appariranno qui non appena saranno aggiunte"
+
+#: frontend/src/metabase/reference/segments/SegmentRevisions.jsx:29
+msgid "There are no revisions for this segment"
+msgstr "Non ci sono revisioni per questo segmento"
+
+#: frontend/src/metabase/reference/segments/SegmentSidebar.jsx:36
+msgid "Fields in this segment"
+msgstr "Campi in questo segmento"
+
+#: frontend/src/metabase/reference/segments/SegmentSidebar.jsx:42
+msgid "Questions about this segment"
+msgstr "Domande su questo segmento"
+
+#. Purtroppo in italiano non possiamo essere così snelli come in inglese...
+#: frontend/src/metabase/reference/segments/SegmentSidebar.jsx:49
+msgid "X-ray this segment"
+msgstr "Analizza il segmento ai Raggi-X"
+
+#: frontend/src/metabase/routes.jsx:182
+msgid "Login"
+msgstr "Accedi"
+
+#: frontend/src/metabase/nav/containers/Navbar.jsx:130
+#: frontend/src/metabase/routes.jsx:198
+msgid "Search"
+msgstr "Cerca"
+
+#. Usare cruscotto lo trovo agghiacciante
+#: frontend/src/metabase/routes.jsx:217
+msgid "Dashboard"
+msgstr "Dashboard"
+
+#: frontend/src/metabase/routes.jsx:228
+msgid "New Question"
+msgstr "Nuova domanda"
+
+#: frontend/src/metabase/setup/components/DatabaseConnectionStep.jsx:125
+msgid "Select the type of Database you use"
+msgstr "Seleziona il tipo di Database che utilizzi"
+
+#: frontend/src/metabase/setup/components/DatabaseConnectionStep.jsx:141
+msgid "Add your data"
+msgstr "Aggiungi i tuoi dati"
+
+#: frontend/src/metabase/setup/components/DatabaseConnectionStep.jsx:145
+msgid "I'll add my own data later"
+msgstr "Aggiungerò i miei dati più tardi"
+
+#: frontend/src/metabase/setup/components/DatabaseConnectionStep.jsx:146
+msgid "Connecting to {0}"
+msgstr "Mi sto connettendo a {0}"
+
+#: frontend/src/metabase/setup/components/DatabaseConnectionStep.jsx:165
+msgid "You’ll need some info about your database, like the username and password. If you don’t have that right now, Metabase also comes with a sample dataset you can get started with."
+msgstr "Avrai bisogno di alcune informazioni sul tuo database, come il nome utente e la password. Se non lo hai in questo momento, Metabase viene fornito con un set di dati di esempio con cui puoi iniziare."
+
+#: frontend/src/metabase/setup/components/DatabaseConnectionStep.jsx:196
+msgid "I'll add my data later"
+msgstr "Aggiungerò i miei dati più tardi"
+
+#: frontend/src/metabase/setup/components/DatabaseSchedulingStep.jsx:41
+msgid "Control automatic scans"
+msgstr "Controlla le scansioni automatiche"
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:53
+msgid "Usage data preferences"
+msgstr "Preferenze di utilizzo dei dati "
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:56
+msgid "Thanks for helping us improve"
+msgstr "Grazie per averci aiutato a migliorare"
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:57
+msgid "We won't collect any usage events"
+msgstr "Non raccoglieremo eventi di utilizzo"
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:76
+msgid "In order to help us improve Metabase, we'd like to collect certain data about usage through Google Analytics."
+msgstr "Per aiutarci a migliorare Metabase, desideriamo raccogliere determinati dati sull'utilizzo tramite Google Analytics."
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:85
+msgid "Here's a full list of everything we track and why."
+msgstr "Qui trovi la lista completa di cosa tracciamo e perché"
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:98
+msgid "Allow Metabase to anonymously collect usage events"
+msgstr "Consenti a Metabase di raccogliere dati anonimi sugli eventi"
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:105
+msgid "Metabase {0} collects anything about your data or question results."
+msgstr "Metabase {0} reccoglie nulla riguardo i tuoi dati e risultati."
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:106
+msgid "never"
+msgstr "mai"
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:108
+msgid "All collection is completely anonymous."
+msgstr "Tutte le raccolte dati sono completamente anonime."
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:110
+msgid "Collection can be turned off at any point in your admin settings."
+msgstr "La raccolta dati può essere disabilitata in qualsiasi momento dalle impostazioni di amministrazione."
+
+#: frontend/src/metabase/setup/components/Setup.jsx:45
+msgid "If you feel stuck"
+msgstr "Se ti senti bloccato"
+
+#: frontend/src/metabase/setup/components/Setup.jsx:52
+msgid "our getting started guide"
+msgstr "la nostra guida rapida"
+
+#: frontend/src/metabase/setup/components/Setup.jsx:53
+msgid "is just a click away."
+msgstr "ti manca solo un click."
+
+#: frontend/src/metabase/setup/components/Setup.jsx:95
+msgid "Welcome to Metabase"
+msgstr "Benvenuto in Metabase"
+
+#: frontend/src/metabase/setup/components/Setup.jsx:96
+msgid "Looks like everything is working. Now let’s get to know you, connect to your data, and start finding you some answers!"
+msgstr "Sembra che tutto funzioni. Ora ti conosciamo, ti colleghiamo ai tuoi dati e inizi a trovarti delle risposte!"
+
+#: frontend/src/metabase/setup/components/Setup.jsx:100
+msgid "Let's get started"
+msgstr "Iniziamo"
+
+#: frontend/src/metabase/setup/components/Setup.jsx:145
+msgid "You're all set up!"
+msgstr "Abbiamo impostato tutto!"
+
+#: frontend/src/metabase/setup/components/Setup.jsx:156
+msgid "Take me to Metabase"
+msgstr "Portami su Metabase"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:155
+msgid "What should we call you?"
+msgstr "Perché dovremmo chiamarti?"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:156
+msgid "Hi, {0}. nice to meet you!"
+msgstr "Ciao {0}. Piacere di conoscerti!"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:243
+msgid "Create a password"
+msgstr "Crea una password"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:259
+#: frontend/src/metabase/user/components/SetUserPassword.jsx:116
+msgid "Shhh..."
+msgstr "Shhh..."
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:269
+msgid "Confirm password"
+msgstr "Conferma la password"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:278
+msgid "Shhh... but one more time so we get it right"
+msgstr "Shhh... un'ultima volta così non sbagliamo"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:287
+msgid "Your company or team name"
+msgstr "Il nome della tua Società o del tuo team"
+
+#. Propongo lieve cambio
+#: frontend/src/metabase/setup/components/UserStep.jsx:296
+msgid "Department of awesome"
+msgstr "Team che spacca"
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:26
+msgid "Metabot is admiring your integers…"
+msgstr "Metabot sta ammirando i tuoi interi..."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:27
+msgid "Metabot is performing billions of differential equations…"
+msgstr "Metabot sta effettuando miliardi di equazioni differenziali..."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:28
+msgid "Metabot is doing science…"
+msgstr "Metabot sta facendo scienza..."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:29
+msgid "Metabot is checking out your metrics…"
+msgstr "Metabot sta ammirando le tue metriche..."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:30
+msgid "Metabot is looking for trends and outliers…"
+msgstr "Metabot sta cercando tendenze e anomalie..."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:31
+msgid "Metabot is consulting the quantum abacus…"
+msgstr "Metabot sta consultando l'abaco quantistico..."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:32
+msgid "Metabot is feeling pretty good about all this…"
+msgstr "Metabot ha un ottimo presentimento riguardo tutto ciò..."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:52
+msgid "We’ll show you some interesting explorations of your data in\n"
+"just a few minutes."
+msgstr "Tra pochi minuti ti mostreremo alcune indagini molto interessanti sui tuoi dati."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:72
+msgid "This seems to be taking a while. In the meantime, you can check out one of these example explorations to see what Metabase can do for you."
+msgstr "Sembra che ci voglia un po'. Nel frattempo, puoi dare un'occhiata a una di queste esplorazioni di esempio per vedere cosa Metabase può fare per te."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:86
+msgid "I took a look at the data you just connected, and I have some explorations of interesting things I found. Hope you like them!"
+msgstr "Ho dato un'occhiata ai dati che hai appena collegato, e ho alcune esplorazioni di cose interessanti che ho trovato. Spero che ti piacciano!"
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:98
+msgid "I'm done exploring for now"
+msgstr "Per ora ho finito di esplorare"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:20
+msgid "Welcome to the Query Builder!"
+msgstr "Benvenuto nel costruttore di query!"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:22
+msgid "The Query Builder lets you assemble questions (or \"queries\") to ask about your data."
+msgstr "Query Builder ti consente di riunire domande (o \"query\") per chiedere informazioni sui tuoi dati."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:26
+msgid "Tell me more"
+msgstr "Dimmi di più"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:43
+msgid "Start by picking the table with the data that you have a question about."
+msgstr "Inizia scegliendo la tabella con i dati di cui hai una domanda."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:45
+msgid "Go ahead and select the \"Orders\" table from the dropdown menu."
+msgstr "Vai avanti e seleziona la tabella \"Ordini\" dal menu a discesa."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:78
+msgid "Filter your data to get just what you want."
+msgstr "Filtra i dati per vedere ciò che vuoi."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:79
+msgid "Click the plus button and select the \"Created At\" field."
+msgstr "Clicca il pulsante più  e seleziona il campo \"Creato alle\""
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:93
+msgid "Here we can pick how many days we want to see data for, try 10"
+msgstr "Qui possiamo selezionare per quanti giorni vogliamo vedere i dati, prova 10"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:116
+msgid "Here's where you can choose to add or average your data, count the number of rows in the table, or just view the raw data."
+msgstr "Qui puoi scegliere di aggiungere o calcolare i tuoi dati, contare il numero di righe nella tabella o semplicemente visualizzare i dati non elaborati."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:118
+msgid "Try it: click on <strong>Raw Data</strong> to change it to <strong>Count of rows</strong> so we can count how many orders there are in this table."
+msgstr "Provalo: fai clic su <strong> Dati grezzi (Raw data) </ strong> per cambiarlo in <strong> Numero di righe </ strong> in modo che possiamo contare quanti ordini ci sono in questa tabella."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:142
+msgid "Add a grouping to break out your results by category, day, month, and more."
+msgstr "Aggiungi un raggruppamento per suddividere i risultati per categoria, giorno, mese e altro."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:144
+msgid "Let's do it: click on <strong>Add a grouping</strong>, and choose <strong>Created At: by Week</strong>."
+msgstr "Facciamolo: fai clic su <strong> Aggiungi un gruppo </ strong> e scegli <strong> Creato a: per settimana </ strong>."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:152
+msgid "Click on \"by day\" to change it to \"Week.\""
+msgstr "Clicca su \"per giorno\" per cambiarlo in \"Settimana\"."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:173
+msgid "Run Your Query."
+msgstr "Esegui la tua query."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:175
+msgid "You're doing so well! Click <strong>Run query</strong> to get your results!"
+msgstr "Stai andando così bene! Fai clic su <strong> Esegui query </ strong> per ottenere i risultati!"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:192
+msgid "You can view your results as a chart instead of a table."
+msgstr "Puoi visualizzare i risultati come grafico invece di un a tabella."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:194
+msgid "Everbody likes charts! Click the <strong>Visualization</strong> dropdown and select <strong>Line</strong>."
+msgstr "A tutti piacciono i grafici! Clicca <strong>Visualizzazione</strong> e seleziona <strong>Linea</strong>."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:216
+msgid "Well done!"
+msgstr "Ben fatto!"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:218
+msgid "That's all! If you still have questions, check out our"
+msgstr "E' tutto! Se hai altre domande, chiedi pure"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:223
+msgid "User's Guide"
+msgstr "Manuale Utente"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:223
+msgid "Have fun exploring your data!"
+msgstr "Divertiti ad esplorare i tuoi dati"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:226
+msgid "Thanks"
+msgstr "Grazie"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:235
+msgid "Save Your Questions"
+msgstr "Salva le tue domande"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:237
+msgid "By the way, you can save your questions so you can refer to them later. Saved Questions can also be put into dashboards or Pulses."
+msgstr "In ogni caso, puoi salvare le tue domande (question) così puoi recuperarle dopo. Le Domande (question) salvate possono anche essere messe all'interno di Dashboard o Pulse"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:241
+msgid "Sounds good"
+msgstr "Suona bene"
+
+#: frontend/src/metabase/tutorial/Tutorial.jsx:248
+msgid "Whoops!"
+msgstr "Ooops!"
+
+#: frontend/src/metabase/tutorial/Tutorial.jsx:249
+msgid "Sorry, it looks like something went wrong. Please try restarting the tutorial in a minute."
+msgstr "Ci spiace, sembra qualcosa sia andato storto. Prova a ricominciare il tutorial tra un minuto."
+
+#: frontend/src/metabase/user/actions.js:34
+msgid "Password updated successfully!"
+msgstr "Password aggiornata correttamente!"
+
+#: frontend/src/metabase/user/actions.js:53
+msgid "Account updated successfully!"
+msgstr "Account aggiornato correttamente!"
+
+#: frontend/src/metabase/user/components/SetUserPassword.jsx:107
+msgid "Current password"
+msgstr "Password attuale"
+
+#: frontend/src/metabase/user/components/UpdateUserDetails.jsx:137
+msgid "Sign in with Google Email address"
+msgstr "Accedi con Google"
+
+#: frontend/src/metabase/user/components/UserSettings.jsx:65
+msgid "User Details"
+msgstr "Dettagli utente"
+
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:275
+msgid "Reset to defaults"
+msgstr "Ripristina i valori di default"
+
+#: frontend/src/metabase/visualizations/components/ChoroplethMap.jsx:133
+msgid "unknown map"
+msgstr "mappa sconosciuta"
+
+#: frontend/src/metabase/visualizations/components/LeafletGridHeatMap.jsx:26
+msgid "Grid map requires binned longitude/latitude."
+msgstr "La mappa a griglia richiede longitudine / latitudine separate."
+
+#: frontend/src/metabase/visualizations/components/LegendVertical.jsx:112
+msgid "more"
+msgstr "di più"
+
+#: frontend/src/metabase/visualizations/components/LineAreaBarChart.jsx:101
+msgid "Which fields do you want to use for the X and Y axes?"
+msgstr "Quali campi vuoi usare per le coordinate X e Y?"
+
+#: frontend/src/metabase/visualizations/components/LineAreaBarChart.jsx:103
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:60
+msgid "Choose fields"
+msgstr "Scegli i campi"
+
+#: frontend/src/metabase/visualizations/components/PinMap.jsx:204
+msgid "Save as default view"
+msgstr "Salva come vista di default"
+
+#: frontend/src/metabase/visualizations/components/PinMap.jsx:226
+msgid "Draw box to filter"
+msgstr "Disegna un box per filtrare"
+
+#: frontend/src/metabase/visualizations/components/PinMap.jsx:226
+msgid "Cancel filter"
+msgstr "Annulla filtro"
+
+#: frontend/src/metabase/visualizations/components/PinMap.jsx:47
+msgid "Pin Map"
+msgstr "Mappa a punti"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:303
+msgid "Unset"
+msgstr "Non impostato"
+
+#: frontend/src/metabase/visualizations/components/TableSimple.jsx:253
+msgid "Rows {0}-{1} of {2}"
+msgstr "Righe {0}-{1} di {2}"
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:189
+msgid "Data truncated to {0} rows."
+msgstr "Dati troncati a {0} righe"
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:364
+msgid "Could not find visualization"
+msgstr "Impossibile trovare visualizzazione"
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:371
+msgid "Could not display this chart with this data."
+msgstr "Impossibile visualizzare questo grafico con questi dati"
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:469
+msgid "No results!"
+msgstr "Nessun risultato!"
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:490
+msgid "Still Waiting..."
+msgstr "Sto ancora aspettando..."
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:493
+msgid "This usually takes an average of {0}."
+msgstr "Solitamente impiega una media di {0}"
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:499
+msgid "(This is a bit long for a dashboard)"
+msgstr "(Questo è un po' lungo per una dashboard)"
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:503
+msgid "This is usually pretty fast but seems to be taking awhile right now."
+msgstr "Di solito è abbastanza veloce, ma sembra che ci stia prendendo un po' troppo"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingFieldPicker.jsx:36
+msgid "Select a field"
+msgstr "Seleziona un campo"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingFieldsPicker.jsx:45
+msgid "error"
+msgstr "errore"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingOrderedColumns.jsx:126
+msgid "Click and drag to change their order"
+msgstr "Clicca e trascina per cambiarne l'ordine"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingOrderedColumns.jsx:139
+msgid "Add fields from the list below"
+msgstr "Aggiungi i campi dalla lista sotto"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:24
+msgid "less than"
+msgstr "minore di"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:25
+msgid "greater than"
+msgstr "maggiore di"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:26
+msgid "less than or equal to"
+msgstr "minore o uguale a"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:27
+msgid "greater than or equal to"
+msgstr "maggiore o uguale a"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:28
+msgid "equal to"
+msgstr "uguale a"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:29
+msgid "not equal to"
+msgstr "diverso da"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:191
+msgid "Conditional formatting"
+msgstr "Formattazione condizionale"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:193
+msgid "You can add rules to make the cells in this table change color if\n"
+"they meet certain conditions."
+msgstr "Puoi aggiungere regole per fare in modo che le celle di questa tabella cambino colore se soddisfano determinate condizioni."
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:203
+msgid "Add a rule"
+msgstr "Aggiungi un regola"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:208
+msgid "Rules will be applied in this order"
+msgstr "Le regole saranno applicate in quest'ordine"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:209
+msgid "Click and drag to reorder."
+msgstr "Clicca e trascina per riordinare"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:242
+msgid "No columns selected"
+msgstr "Nessuna colonna selezionata"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:290
+msgid "Cells in this column will be tinted based on their values."
+msgstr "Le celle in questa colonna saranno colorate in base ai loro valori."
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:279
+msgid "When a cell in these columns is {0} it will be tinted this color."
+msgstr "Quando una cella in queste colonne è {0}, verrà colorato di questo colore."
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:313
+msgid "Which columns should be affected?"
+msgstr "Quali colonne dovrebbero essere influenzate?"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:335
+msgid "Formatting style"
+msgstr "Stile di formattazione"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:339
+msgid "Single color"
+msgstr "Singolo colore"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:340
+msgid "Color range"
+msgstr "Intervallo di colori"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:312
+msgid "When a cell in this column is…"
+msgstr "Quando una cella in questa colonna è..."
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:376
+msgid "…turn its background this color:"
+msgstr "...cambia il suo sfondo con questo colore:"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:382
+msgid "Highlight the whole row"
+msgstr "Evidenzia l'intera riga"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:390
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:98
+msgid "Colors"
+msgstr "Colori"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:404
+msgid "Start the range at"
+msgstr "Inizia la serie a"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:409
+msgid "Smallest value in this column"
+msgstr "Il più piccolo valore in questa colonna"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:411
+msgid "Smallest value in each column"
+msgstr "Il più piccolo valore in ogni colonna"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:413
+msgid "Smallest value in all of these columns"
+msgstr "Il più piccolo valore in tutte queste colonne"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:417
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:441
+msgid "Custom value"
+msgstr "Valore personalizzato"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:428
+msgid "End the range at"
+msgstr "Fine della serie a"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:433
+msgid "Largest value in this column"
+msgstr "Il più grande valore in questa colonna"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:435
+msgid "Largest value in each column"
+msgstr "Il più grande valore in ogni colonna"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:437
+msgid "Largest value in all of these columns"
+msgstr "Il valore maggiore di tutte queste colonne"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:471
+msgid "Add rule"
+msgstr "Aggiungi regola"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:471
+msgid "Update rule"
+msgstr "Aggiorna regola"
+
+#: frontend/src/metabase/visualizations/index.js:33
+msgid "Visualization is null"
+msgstr "La visualizzazione è nulla"
+
+#: frontend/src/metabase/visualizations/index.js:38
+msgid "Visualization must define an 'identifier' static variable: "
+msgstr "La visualizzazione deve definire una variabile statica 'identificatore':"
+
+#: frontend/src/metabase/visualizations/index.js:44
+msgid "Visualization with that identifier is already registered: "
+msgstr "La visualizzazione con quell'identificatore è già registrata"
+
+#: frontend/src/metabase/visualizations/index.js:72
+msgid "No visualization for {0}"
+msgstr "Nessuna visualizzazione per {0}"
+
+#: frontend/src/metabase/visualizations/lib/LineAreaBarRenderer.js:75
+msgid "\"{0}\" is an unaggregated field: if it has more than one value at a point on the x-axis, the values will be summed."
+msgstr "\"{0}\" è un campo non aggregato: se ha più di un valore nello stesso punto dell'asse X, i valori saranno sommati"
+
+#: frontend/src/metabase/visualizations/lib/LineAreaBarRenderer.js:91
+msgid "This chart type requires at least 2 columns."
+msgstr "Questo tipo di grafico richiede almeno 2 colonne"
+
+#: frontend/src/metabase/visualizations/lib/LineAreaBarRenderer.js:96
+msgid "This chart type doesn't support more than {0} series of data."
+msgstr "Questo tipo di grafico non supporta più di {0} serie di dati"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:316
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:51
+msgid "Goal"
+msgstr "Obbiettivo"
+
+#: frontend/src/metabase/visualizations/lib/errors.js:11
+msgid "Doh! The data from your query doesn't fit the chosen display choice. This visualization requires at least {0} {1} of data."
+msgstr "Mannaggia! I dati della tua query non ci stanno nella modalità di visualizzazione scelta. La visualizzazione richiede almeno {0} {1} di dati,"
+
+#: frontend/src/metabase/visualizations/lib/errors.js:11
+msgid "column"
+msgid_plural "columns"
+msgstr[0] "colonna"
+msgstr[1] "colonne"
+
+#: frontend/src/metabase/visualizations/lib/errors.js:23
+msgid "No dice. We have {0} data {1} to show and that's not enough for this visualization."
+msgstr "Niente da fare. Abbiamo {0} dati {1} da mostrare e non è abbastanza per questa visualizzazione."
+
+#: frontend/src/metabase/visualizations/lib/errors.js:23
+msgid "point"
+msgid_plural "points"
+msgstr[0] "punto"
+msgstr[1] "punti"
+
+#: frontend/src/metabase/visualizations/lib/errors.js:35
+msgid "Bummer. We can't actually do a pin map for this data because we require both a latitude and longitude column."
+msgstr "Non possiamo fare una mappa a punti con questi dati perchè servono le colonne con latitudine e longitudine"
+
+#: frontend/src/metabase/visualizations/lib/errors.js:55
+msgid "Please configure this chart in the chart settings"
+msgstr "Per favore configura questo grafico nelle impostazioni"
+
+#: frontend/src/metabase/visualizations/lib/errors.js:57
+msgid "Edit Settings"
+msgstr "Modifica Impostazioni"
+
+#: frontend/src/metabase/visualizations/lib/fill_data.js:37
+msgid "xValues missing!"
+msgstr "Manca il valore X!"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:114
+#: frontend/src/metabase/visualizations/visualizations/RowChart.jsx:31
+msgid "X-axis"
+msgstr "Asse-X"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:140
+msgid "Add a series breakout..."
+msgstr "Aggiungi una serie di interruzioni..."
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:153
+#: frontend/src/metabase/visualizations/visualizations/RowChart.jsx:35
+msgid "Y-axis"
+msgstr "Asse-Y"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:178
+msgid "Add another series..."
+msgstr "Aggiungi un'altra serie..."
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:195
+msgid "Bubble size"
+msgstr "Dimensione del fumetto"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:71
+#: frontend/src/metabase/visualizations/visualizations/LineChart.jsx:16
+msgid "Line"
+msgstr "Linea"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:72
+msgid "Curve"
+msgstr "Curva"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:73
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:69
+msgid "Step"
+msgstr "Passaggio"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:170
+msgid "Show point markers on lines"
+msgstr "Mostra marcatori di punti sulle linee"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:235
+msgid "Stacking"
+msgstr "impilabile"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:239
+msgid "Don't stack"
+msgstr "Non impilare"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:240
+msgid "Stack"
+msgstr "Pila"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:241
+msgid "Stack - 100%"
+msgstr "Pila - 100%"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:300
+msgid "Show goal"
+msgstr "Mostra obiettivo"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:306
+msgid "Goal value"
+msgstr "Valore da raggiungere"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:103
+msgid "Replace missing values with"
+msgstr "Sostituisci i valori mancanti con"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:107
+msgid "Zero"
+msgstr "Zero"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:108
+msgid "Nothing"
+msgstr "Niente"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:109
+msgid "Linear Interpolated"
+msgstr "Interpolato lineare"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:371
+msgid "X-axis scale"
+msgstr "Scala dell'asse-X"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:388
+msgid "Timeseries"
+msgstr "Serie temporali"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:391
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:409
+msgid "Linear"
+msgstr "Lineare"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:393
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:410
+msgid "Power"
+msgstr "Esponente"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:394
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:411
+msgid "Log"
+msgstr "Log"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:396
+msgid "Histogram"
+msgstr "Istogramma"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:398
+msgid "Ordinal"
+msgstr "Ordinale"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:404
+msgid "Y-axis scale"
+msgstr "scala asse Y"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:417
+msgid "Show x-axis line and marks"
+msgstr "Mostra linea e punti sull'asse X"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:423
+msgid "Compact"
+msgstr "Compatta"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:424
+msgid "Rotate 45°"
+msgstr "Ruota di 45°"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:425
+msgid "Rotate 90°"
+msgstr "Ruota di 90°"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:432
+msgid "Show y-axis line and marks"
+msgstr "Mostra linea e punti sull'asse X"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:444
+msgid "Auto y-axis range"
+msgstr "Auto range l'asse Y"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:488
+msgid "Use a split y-axis when necessary"
+msgstr "Dividi l'asse Y quando necessario"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:495
+msgid "Show label on x-axis"
+msgstr "Mostra etichetta sul asse X"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:501
+msgid "X-axis label"
+msgstr "Etichetta asse X"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:510
+msgid "Show label on y-axis"
+msgstr "Mostra etichetta sul asse Y"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:516
+msgid "Y-axis label"
+msgstr "Etichetta asse Y"
+
+#: frontend/src/metabase/visualizations/lib/utils.js:129
+msgid "Standard Deviation"
+msgstr "Deviazione Standard"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:275
+#: frontend/src/metabase/visualizations/visualizations/AreaChart.jsx:17
+msgid "Area"
+msgstr "Area"
+
+#: frontend/src/metabase/visualizations/visualizations/AreaChart.jsx:20
+msgid "area chart"
+msgstr "grafico ad area"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:276
+#: frontend/src/metabase/visualizations/visualizations/BarChart.jsx:16
+msgid "Bar"
+msgstr "barre"
+
+#: frontend/src/metabase/visualizations/visualizations/BarChart.jsx:19
+msgid "bar chart"
+msgstr "grafico a barre"
+
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:58
+msgid "Which fields do you want to use?"
+msgstr "Quali campi vuoi usare?"
+
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:32
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:87
+msgid "Funnel"
+msgstr "Imbuto"
+
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:76
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:76
+msgid "Measure"
+msgstr "Misura"
+
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:82
+msgid "Funnel type"
+msgstr "Tipo di imbuto"
+
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:88
+msgid "Bar chart"
+msgstr "grafico a barre"
+
+#: frontend/src/metabase/visualizations/visualizations/LineChart.jsx:19
+msgid "line chart"
+msgstr "grafico lineare"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:224
+msgid "Please select longitude and latitude columns in the chart settings."
+msgstr "Si prega di selezionare le colonne di longitudine e latitudine nelle impostazioni del grafico."
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:230
+msgid "Please select a region map."
+msgstr "Si prega di selezionare una mappa della regione."
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:236
+msgid "Please select region and metric columns in the chart settings."
+msgstr "Seleziona le colonne della regione e delle metriche nelle impostazioni del grafico."
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:38
+msgid "Map"
+msgstr "Mappa"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:53
+msgid "Map type"
+msgstr "Tipo di mappa"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:57
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:149
+msgid "Region map"
+msgstr "Mappa della regione"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:58
+msgid "Pin map"
+msgstr "Mappa puntine"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:104
+msgid "Pin type"
+msgstr "Tipo di puntine"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:109
+msgid "Tiles"
+msgstr "Riquadri"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:110
+msgid "Markers"
+msgstr "Marcatori"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:126
+msgid "Latitude field"
+msgstr "Campo latitudine"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:134
+msgid "Longitude field"
+msgstr "Campo longitudine"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:142
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:168
+msgid "Metric field"
+msgstr "Campo per Metrica"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:172
+msgid "Region field"
+msgstr "Campo Regione"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:192
+msgid "Radius"
+msgstr "Raggio"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:198
+msgid "Blur"
+msgstr "Offusca"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:204
+msgid "Min Opacity"
+msgstr "Opacità minima"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:210
+msgid "Max Zoom"
+msgstr "Max Zoom"
+
+#: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:175
+msgid "No relationships found."
+msgstr "Nessuna relazione trovata"
+
+#: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:213
+msgid "via {0}"
+msgstr "via {0}"
+
+#: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:290
+msgid "This {0} is connected to:"
+msgstr "Questo {0} è connesso a:"
+
+#: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:47
+msgid "Object Detail"
+msgstr "Dettagli oggetto"
+
+#: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:50
+msgid "object"
+msgstr "oggetto"
+
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:312
+msgid "Total"
+msgstr "Totale"
+
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:61
+msgid "Which columns do you want to use?"
+msgstr "Quali colonne vuoi usare?"
+
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:44
+msgid "Pie"
+msgstr "Torta"
+
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:71
+msgid "Dimension"
+msgstr "Dimensione"
+
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:81
+msgid "Show legend"
+msgstr "Mostra legenda"
+
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:86
+msgid "Show percentages in legend"
+msgstr "Mostra percentuali nella legenda"
+
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:92
+msgid "Minimum slice percentage"
+msgstr "Percentuale della fetta minore"
+
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:146
+msgid "Goal met"
+msgstr "Obiettivo raggiunto"
+
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:148
+msgid "Goal exceeded"
+msgstr "Obiettivo superato"
+
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:215
+msgid "Goal {0}"
+msgstr "Obiettivo {0}"
+
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:39
+msgid "Progress visualization requires a number."
+msgstr "La visualizzazione del progresso richiede un numero."
+
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:27
+msgid "Progress"
+msgstr "Avanzamento"
+
+#: frontend/src/metabase/entities/collections.js:108
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:176
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:57
+msgid "Color"
+msgstr "Colore"
+
+#: frontend/src/metabase/visualizations/visualizations/RowChart.jsx:13
+msgid "Row Chart"
+msgstr "Grafico a righe"
+
+#: frontend/src/metabase/visualizations/visualizations/RowChart.jsx:16
+msgid "row chart"
+msgstr "grafico a righe"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:357
+msgid "Separator style"
+msgstr "stile del separatore"
+
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:88
+msgid "Number of decimal places"
+msgstr "Numero di posizioni decimali"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:381
+msgid "Add a prefix"
+msgstr "Aggiungi un prefisso"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:385
+msgid "Add a suffix"
+msgstr "Aggiungi un suffisso"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:374
+msgid "Multiply by a number"
+msgstr "Moltiplica per un numero"
+
+#: frontend/src/metabase/visualizations/visualizations/ScatterPlot.jsx:16
+msgid "Scatter"
+msgstr "Dispersione"
+
+#: frontend/src/metabase/visualizations/visualizations/ScatterPlot.jsx:19
+msgid "scatter plot"
+msgstr "Trama sparsa"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:78
+msgid "Pivot the table"
+msgstr "Tabella Pivot"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:73
+msgid "Visible fields"
+msgstr "Campi visibili"
+
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:167
+msgid "Write here, and use Markdown if you''d like"
+msgstr "Scrivi qui, e usa il `Markdown` se preferisci"
+
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:73
+msgid "Vertical Alignment"
+msgstr "Allineamento verticale"
+
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:77
+msgid "Top"
+msgstr "Alto"
+
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:78
+msgid "Middle"
+msgstr "Medio"
+
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:79
+msgid "Bottom"
+msgstr "Basso"
+
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:86
+msgid "Horizontal Alignment"
+msgstr "Allineamento Orizzontale"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:126
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:90
+msgid "Left"
+msgstr "Sinistra"
+
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:91
+msgid "Center"
+msgstr "Centro"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:127
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:92
+msgid "Right"
+msgstr "Destra"
+
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:99
+msgid "Show background"
+msgstr "Mostra sfondo"
+
+#: frontend/src/metabase-lib/lib/Dimension.js:553
+msgid "{0} bin"
+msgid_plural "{0} bins"
+msgstr[0] "{0} bidone"
+msgstr[1] "{0} bidoni"
+
+#: frontend/src/metabase-lib/lib/Dimension.js:559
+msgid "Auto binned"
+msgstr "intervallo automatico"
+
+#: src/metabase/api/alert.clj
+msgid "DELETE /api/alert/:id is deprecated. Instead, change its `archived` value via PUT /api/alert/:id."
+msgstr "DELETE /api/alert/:id è deprecato. Modifica il valore `archiviato` tramite PUT /api/alert/:id."
+
+#: src/metabase/api/automagic_dashboards.clj
+msgid "invalid show value"
+msgstr "Mostra valore non valido"
+
+#: src/metabase/api/automagic_dashboards.clj
+msgid "invalid value for prefix"
+msgstr "valore invalido per il prefisso"
+
+#: src/metabase/api/automagic_dashboards.clj
+msgid "invalid value for rule name"
+msgstr "valore invalido per il nome della regola"
+
+#: src/metabase/api/automagic_dashboards.clj
+msgid "value couldn''t be parsed as base64 encoded JSON"
+msgstr "Il valore non può essere convertito in un JSON a codifica base64"
+
+#: src/metabase/api/automagic_dashboards.clj
+msgid "Invalid entity type"
+msgstr "tipo di entità invalido"
+
+#: src/metabase/api/automagic_dashboards.clj
+msgid "Invalid comparison entity type. Can only be one of \"table\", \"segment\", or \"adhoc\""
+msgstr "Comparazione non valida tra tipi di entità. Può essere solo uno di \"tabella\", \"segmento\" or \"adhoc\""
+
+#: src/metabase/query_processor/async.clj
+msgid "Error running query to determine Card result metadata:"
+msgstr "Errore durante lo svolgimento della query atto a determinare la Carta metadato risultato:"
+
+#: src/metabase/api/card.clj
+msgid "DELETE /api/card/:id is deprecated. Instead, change its `archived` value via PUT /api/card/:id."
+msgstr "DELETE /api/alert/:id è deprecato. Modifica il valore `archiviato` tramite PUT /api/alert/:id."
+
+#: src/metabase/api/common.clj src/metabase/api/common/internal.clj
+msgid "Invalid field: {0}"
+msgstr "Campo non valido: {0}"
+
+#: src/metabase/api/common.clj
+msgid "Invalid value ''{0}'' for ''{1}'': {2}"
+msgstr "Valore non valido \"{0}\" per \"{1}\": {2}"
+
+#: src/metabase/api/common.clj
+msgid "must be one of: {0}"
+msgstr "dev'essere uno di: {0}"
+
+#: src/metabase/api/common.clj
+msgid "Invalid Request."
+msgstr "Richiesta invalida"
+
+#: src/metabase/api/common.clj
+msgid "Not found."
+msgstr "Non trovato."
+
+#: src/metabase/api/common.clj
+msgid "You don''t have permissions to do that."
+msgstr "Non hai i permessi per farlo."
+
+#: src/metabase/api/common.clj
+msgid "Internal server error."
+msgstr "Errore interno del server."
+
+#: src/metabase/api/common.clj
+msgid "Warning: endpoint {0}/{1} does not have a docstring."
+msgstr "Avviso: l'endpoint {0}/{1} non ha una docstring."
+
+#: src/metabase/api/common.clj
+msgid "starting streaming request"
+msgstr "avviare la richiesta di streaming"
+
+#: src/metabase/async/api_response.clj
+msgid "connection closed, canceling request"
+msgstr "connessione chiusa, richiesta di cancellazione"
+
+#. a newline padding character as it's harmless and will allow us to check if the client is connected. If
+#. sending this character fails because the connection is closed, the chan will then close.  Newlines are
+#. no-ops when reading JSON which this depends upon.
+#: src/metabase/async/api_response.clj
+msgid "Response not ready, writing one byte & sleeping..."
+msgstr "Risposta non pronta, scrittura di un byte e sospensione ..."
+
+#: src/metabase/api/common.clj
+msgid "Public sharing is not enabled."
+msgstr "La condivisione pubblica non è abilitata."
+
+#: src/metabase/api/common.clj
+msgid "Embedding is not enabled."
+msgstr "L'incorporamento non è abilitato."
+
+#: src/metabase/api/common.clj
+msgid "The object has been archived."
+msgstr "L'oggetto è stato archiviato."
+
+#: src/metabase/api/common/internal.clj
+msgid "Attempted to return a boolean as an API response. This is not allowed!"
+msgstr "Tentato di tornare un boolean come una risposta API. Non è permesso."
+
+#: src/metabase/api/dataset.clj
+msgid "Source query for this query is Card {0}"
+msgstr "La query sorgente per questa query è Carta {0}"
+
+#: src/metabase/api/dataset.clj
+msgid "Invalid export format: {0}"
+msgstr "Formato di esportazione non valido: {0}"
+
+#: src/metabase/api/geojson.clj
+msgid "Invalid JSON URL or resource: {0}"
+msgstr "JSON URL o risorsa non valida: {0}"
+
+#: src/metabase/api/geojson.clj
+msgid "JSON containing information about custom GeoJSON files for use in map visualizations instead of the default US State or World GeoJSON."
+msgstr "JSON contenente le informazioni riguardo i file GeoJSON da usare nelle visualizzazioni su mappa al posto di quelli US o mondiali presenti di default"
+
+#: src/metabase/api/geojson.clj
+msgid "Invalid custom GeoJSON key: {0}"
+msgstr "Chiave GeoJSON personalizzata non valida: {0}"
+
+#. ...but if we *still* couldn't find a match, throw an Exception, because we don't want people
+#. trying to inject new params
+#: src/metabase/api/public.clj
+msgid "Invalid param: {0}"
+msgstr "Parametro invalido: {0} "
+
+#: src/metabase/api/pulse.clj
+msgid "DELETE /api/pulse/:id is deprecated. Instead, change its `archived` value via PUT /api/pulse/:id."
+msgstr " DELETE /api/pulse/:id è deprecato. Cambia il suo valore `archiviato` tramite PUT /api/pulse/:id."
+
+#: src/metabase/api/routes.clj
+msgid "API endpoint does not exist."
+msgstr "Endpoint della API non esiste"
+
+#: src/metabase/api/session.clj
+msgid "Password did not match stored password."
+msgstr "La password non corrisponde a quella salvata"
+
+#: src/metabase/api/session.clj
+msgid "did not match stored password"
+msgstr "non corrisponde alla password salvata"
+
+#: src/metabase/api/session.clj
+msgid "Problem connecting to LDAP server, will fallback to local authentication {0}"
+msgstr "Problemi di connessione a un server LDAP, ricadrà su autenticazione locale"
+
+#: src/metabase/api/session.clj
+msgid "Invalid reset token"
+msgstr "Token di reset invalido"
+
+#: src/metabase/api/session.clj
+msgid "Client ID for Google Auth SSO. If this is set, Google Auth is considered to be enabled."
+msgstr "Client ID per Google Auth SSO. Se impostato, Google Auth è considerato abilitato"
+
+#: src/metabase/api/session.clj
+msgid "When set, allow users to sign up on their own if their Google account email address is from this domain."
+msgstr "Quando è impostato, consente agli utenti di registrarsi autonomamente se l'indirizzo email riferito al proprio Google account appartiene a questo dominio."
+
+#: src/metabase/api/session.clj
+msgid "Invalid Google Auth token."
+msgstr " Google Auth token invalido."
+
+#: src/metabase/api/session.clj
+msgid "Email is not verified."
+msgstr "Email non verificata"
+
+#: src/metabase/api/session.clj
+msgid "You''ll need an administrator to create a Metabase account before you can use Google to log in."
+msgstr "Avrai bisogno di un amministratore per creare un account su Metabase prima che tu possa usare Google per accedere."
+
+#: src/metabase/api/session.clj
+msgid "Successfully authenticated Google Auth token for: {0} {1}"
+msgstr "Autenticato con successo Google Auth token per: {0} {1}"
+
+#: src/metabase/api/setup.clj
+msgid "Add a database"
+msgstr "Aggiungi database"
+
+#: src/metabase/api/setup.clj
+msgid "Get connected"
+msgstr "Resta connesso"
+
+#: src/metabase/api/setup.clj
+msgid "Connect to your data so your whole team can start to explore."
+msgstr "Connetti i tuoi dati così tutto il tuo team puoi iniziare ad esplorare."
+
+#: src/metabase/api/setup.clj
+msgid "Set up email"
+msgstr "Imposta una email"
+
+#: src/metabase/api/setup.clj
+msgid "Add email credentials so you can more easily invite team members and get updates via Pulses."
+msgstr "Aggiungi le credenziali email così puoi invitare i membri del team e avere aggiornamenti tramite Pulse."
+
+#: src/metabase/api/setup.clj
+msgid "Set Slack credentials"
+msgstr "Imposta credenziali slack"
+
+#: src/metabase/api/setup.clj
+msgid "Does your team use Slack? If so, you can send automated updates via pulses and ask questions with MetaBot."
+msgstr "Il tuo team usa Slack? Se cos', puoi inviare aggiornamenti automatici tramite pulse e chiedere domande con MetaBot"
+
+#: src/metabase/api/setup.clj
+msgid "Invite team members"
+msgstr "Invita i membri del tuo team"
+
+#: src/metabase/api/setup.clj
+msgid "Share answers and data with the rest of your team."
+msgstr "Condividi risposte e dati con il resto del tuo team."
+
+#: src/metabase/api/setup.clj
+msgid "Hide irrelevant tables"
+msgstr "Nascondi tabelle non rilevanti"
+
+#: src/metabase/api/setup.clj
+msgid "Curate your data"
+msgstr "Cura i tuoi dati"
+
+#: src/metabase/api/setup.clj
+msgid "If your data contains technical or irrelevant info you can hide it."
+msgstr "Se i tuoi dati contengono informazioni tecniche o irrilevanti puoi nasconderle."
+
+#: src/metabase/api/setup.clj
+msgid "Organize questions"
+msgstr "Organizza le Question"
+
+#: src/metabase/api/setup.clj
+msgid "Have a lot of saved questions in {0}? Create collections to help manage them and add context."
+msgstr "Hai molte Question salvate in {0}? Crea collezioni per aiutare a gestirle e aggiungi il contesto."
+
+#. This is the very first log message that will get printed.
+#. It's here because this is one of the very first namespaces that gets loaded, and the first that has access to the logger
+#. It shows up a solid 10-15 seconds before the "Starting Metabase in STANDALONE mode" message because so many other namespaces need to get loaded
+#: src/metabase/api/setup.clj
+msgid "Metabase"
+msgstr "Metabase"
+
+#: src/metabase/api/setup.clj
+msgid "Create metrics"
+msgstr "Crea metriche"
+
+#: src/metabase/api/setup.clj
+msgid "Define canonical metrics to make it easier for the rest of your team to get the right answers."
+msgstr "Stabilisce metriche canoniche per rendere più facile ottenere le giuste risposte agli altri membri del tuo gruppo"
+
+#: src/metabase/api/setup.clj
+msgid "Create segments"
+msgstr "Crea segmenti"
+
+#: src/metabase/api/setup.clj
+msgid "Keep everyone on the same page by creating canonical sets of filters anyone can use while asking questions."
+msgstr "Mantieni ognuno sulla stessa pagina creando insiemi canonici di filtri che ognuno può utilizzare quando interroga"
+
+#: src/metabase/api/table.clj
+msgid "Table ''{0}'' is now visible. Resyncing."
+msgstr "La tabella \"{0}\" è ora visibile. Risincronizza."
+
+#: src/metabase/api/table.clj
+msgid "Auto bin"
+msgstr "intervallo automatico"
+
+#: src/metabase/api/table.clj
+msgid "Don''t bin"
+msgstr "nessun intervallo"
+
+#: frontend/src/metabase/lib/query_time.js:193 src/metabase/api/table.clj
+msgid "Day"
+msgid_plural "Days"
+msgstr[0] "Giorno"
+msgstr[1] "Giorni"
+
+#. note the order of these options corresponds to the order they will be shown to the user in the UI
+#: frontend/src/metabase/lib/query_time.js:189 src/metabase/api/table.clj
+msgid "Minute"
+msgid_plural "Minutes"
+msgstr[0] "Minuto"
+msgstr[1] "Minuti"
+
+#: frontend/src/metabase/lib/query_time.js:191 src/metabase/api/table.clj
+msgid "Hour"
+msgid_plural "Hours"
+msgstr[0] "Ora"
+msgstr[1] "Ore"
+
+#: frontend/src/metabase/lib/query_time.js:199 src/metabase/api/table.clj
+msgid "Quarter"
+msgid_plural "Quarters"
+msgstr[0] "Quadrimestre"
+msgstr[1] "Quadrimestri"
+
+#: src/metabase/api/table.clj
+msgid "Minute of Hour"
+msgstr "Minute dell'ora"
+
+#: src/metabase/api/table.clj
+msgid "Hour of Day"
+msgstr "Ore del giorno"
+
+#: src/metabase/api/table.clj
+msgid "Day of Week"
+msgstr "Giorno della settimana"
+
+#: src/metabase/api/table.clj
+msgid "Day of Month"
+msgstr "Giorno del mese"
+
+#: src/metabase/api/table.clj
+msgid "Day of Year"
+msgstr "Giorno dell'anno"
+
+#: src/metabase/api/table.clj
+msgid "Week of Year"
+msgstr "Settimana dell'anno"
+
+#: src/metabase/api/table.clj
+msgid "Month of Year"
+msgstr "Mese dell'anno"
+
+#: src/metabase/api/table.clj
+msgid "Quarter of Year"
+msgstr "Quadrimestre dell'anno"
+
+#: src/metabase/api/table.clj
+msgid "10 bins"
+msgstr "10 bidoni"
+
+#: src/metabase/api/table.clj
+msgid "50 bins"
+msgstr "50 bidoni"
+
+#: src/metabase/api/table.clj
+msgid "100 bins"
+msgstr "100 bidoni"
+
+#: src/metabase/api/table.clj
+msgid "Bin every 0.1 degrees"
+msgstr "intervalla ogni 0.1 gradi"
+
+#: src/metabase/api/table.clj
+msgid "Bin every 1 degree"
+msgstr "intervalla ogni 1 grado"
+
+#: src/metabase/api/table.clj
+msgid "Bin every 10 degrees"
+msgstr "intervalla ogni 10 gradi"
+
+#: src/metabase/api/table.clj
+msgid "Bin every 20 degrees"
+msgstr "intervalla ogni 20 gradi"
+
+#. returns `true` if successful -- see JavaDoc
+#: src/metabase/api/tiles.clj src/metabase/pulse/render.clj
+msgid "No appropriate image writer found!"
+msgstr "Nessun Image Writer appropriato trovato!"
+
+#: src/metabase/api/user.clj
+msgid "Email address already in use."
+msgstr "Indirizzo email già utilizzato"
+
+#: src/metabase/api/user.clj
+msgid "Email address already associated to another user."
+msgstr "Indirizzo email già associato ad un altro utente."
+
+#: src/metabase/api/user.clj
+msgid "Not able to reactivate an active user"
+msgstr "Non è possibile riattivare un utente attivo"
+
+#: src/metabase/api/user.clj
+msgid "Invalid password"
+msgstr "Password non valida"
+
+#: src/metabase/automagic_dashboards/comparison.clj
+msgid "All {0}"
+msgstr "Tutto {0}"
+
+#: src/metabase/automagic_dashboards/comparison.clj
+msgid "{0}, all {1}"
+msgstr "{0}, tutto {1}"
+
+#: src/metabase/automagic_dashboards/comparison.clj
+msgid "Comparison of {0} and {1}"
+msgstr "Confronto di {0} e {1}"
+
+#: src/metabase/automagic_dashboards/comparison.clj
+msgid "Automatically generated comparison dashboard comparing {0} and {1}"
+msgstr "Dashboard di confronto generato automaticamente che confronta {0} e {1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "sum"
+msgstr "somma"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "average"
+msgstr "media"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "minumum"
+msgstr "minimo"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "maximum"
+msgstr "massimo"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "distinct count"
+msgstr "conta distinti"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "standard deviation"
+msgstr "deviazione standard"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "cumulative count"
+msgstr "conta comulato"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "cumulative sum"
+msgstr "somma cumulata"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} and {1}"
+msgstr "{0} e {1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} of {1}"
+msgstr "{0} di {1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} by {1}"
+msgstr "{0} per {1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} in the {1} segment"
+msgstr "{0} nel segmento di {1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} segment"
+msgstr "{0} segmento"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} metric"
+msgstr "{0} metrica"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} field"
+msgstr "{0} campo"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "\"{0}\" question"
+msgstr "\"{0}\" question"
+
+#: src/metabase/automagic_dashboards/comparison.clj
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Compare with {0}"
+msgstr "Confronta con {0}"
+
+#: src/metabase/automagic_dashboards/comparison.clj
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Compare with entire dataset"
+msgstr "Confronta con l'intero dataset"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Applying heuristic %s to %s."
+msgstr "Applicando l'euristico %s a %s."
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Dimensions bindings:n%s"
+msgstr "Dimensioni delle associazioni: n%s"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Using definitions:nMetrics:n%snFilters:n%s"
+msgstr "Utilizzando le definizioni::nMetrics:n%snFilters:n%s"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Can''t create dashboard for {0}"
+msgstr "Non posso creare la dashboard per {0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0}st"
+msgstr "{0}primo"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0}nd"
+msgstr "{0}secondo"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0}rd"
+msgstr "{0}terzo"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0}th"
+msgstr "{0}mo"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "at {0}"
+msgstr "a {0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "on {0}"
+msgstr "su {0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "in {0} week - {1}"
+msgstr "in {0} settimane - {1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "in {0}"
+msgstr "in {0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "in Q{0} - {1}"
+msgstr "in Q{0} - {1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Q{0}"
+msgstr "Q{0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} is {1}"
+msgstr "{0} è {1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} is between {1} and {2}"
+msgstr "0} è tra {1} e {2}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} is between {1} and {2}; and {3} is between {4} and {5}"
+msgstr "0} è tra {1} e {2}; e {3} è tra {4} e {5}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "where {0}"
+msgstr "dove {0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "A closer look at {0}"
+msgstr "Uno sguardo più da vicino a {0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "A closer look at the {0}"
+msgstr "Uno sguardo più da vicino al {0}"
+
+#: src/metabase/automagic_dashboards/populate.clj
+msgid "Adding %s cards to dashboard %s:n%s"
+msgstr "Aggiungendo %s cards alla dashboard %s:n%s"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "0 <= score <= {0}"
+msgstr "0 <= punteggio <= {0}"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "1 <= width <= {0}"
+msgstr "1 <= larghezza <= {0}"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Valid metrics references"
+msgstr "Riferimenti di metrica validi"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Valid filters references"
+msgstr "Riferimenti validi per i filtri"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Valid group references"
+msgstr "Riferimenti validi per il raggruppamento"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Valid order_by references"
+msgstr "Riferimenti validi per order_by"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Valid dashboard filters references"
+msgstr "Riferimenti validi per i filtri della dashboard"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Valid dimension references"
+msgstr "Riferimenti validi per la dimensione"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Valid card dimension references"
+msgstr "Riferimenti validi per la dimensione "
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Error parsing %s:n%s"
+msgstr "Errore nel parsing %s:n%s"
+
+#: src/metabase/cmd/reset_password.clj
+msgid "No user found with email address ''{0}''. "
+msgstr "Nessun utente trovato con l'indirizzo email \"{0}\""
+
+#: src/metabase/cmd/reset_password.clj
+msgid "Please check the spelling and try again."
+msgstr "Per favore verifica lo spelling e prova ancora."
+
+#: src/metabase/cmd/reset_password.clj
+msgid "Resetting password for {0}..."
+msgstr "Sto resettando la password per {0}"
+
+#: src/metabase/cmd/reset_password.clj
+msgid "OK [[[{0}]]]"
+msgstr "OK [[[{0}]]]"
+
+#: src/metabase/cmd/reset_password.clj
+msgid "FAIL [[[{0}]]]"
+msgstr "FALLITO [[[{0}]]]"
+
+#: src/metabase/core.clj
+msgid "Please use the following URL to setup your Metabase installation:"
+msgstr "Per favore usare il seguente URL per settare l'installazione di Metabase:"
+
+#: src/metabase/core.clj
+msgid "Metabase Shutting Down ..."
+msgstr "Metabase si sta spegnendo"
+
+#: src/metabase/core.clj
+msgid "Metabase Shutdown COMPLETE"
+msgstr "Metabase si è spento completamente"
+
+#: src/metabase/core.clj
+msgid "Starting Metabase version {0} ..."
+msgstr "Metabase versione {0} in avvio ..."
+
+#: src/metabase/core.clj
+msgid "System timezone is ''{0}'' ..."
+msgstr "La timezone di sistema è \"{0}\" ..."
+
+#. startup database.  validates connection & runs any necessary migrations
+#: src/metabase/core.clj
+msgid "Setting up and migrating Metabase DB. Please sit tight, this may take a minute..."
+msgstr "Prepariamo e migriamo il database di Metabase"
+
+#: src/metabase/core.clj
+msgid "Looks like this is a new installation ... preparing setup wizard"
+msgstr "Sembra che questa sia una nuova installazione... prepariamo il wizard di setup"
+
+#: src/metabase/core.clj
+msgid "Metabase Initialization COMPLETE"
+msgstr "Inizializzazione Metabase COMPLETA"
+
+#: src/metabase/server.clj
+msgid "Launching Embedded Jetty Webserver with config:"
+msgstr "Lanciando il Webserver Jetty Embedded"
+
+#: src/metabase/server.clj
+msgid "Shutting Down Embedded Jetty Webserver"
+msgstr "Shutting down il Webserver Jetty Embedded"
+
+#: src/metabase/core.clj
+msgid "Starting Metabase in STANDALONE mode"
+msgstr "Start di Metabase in STANDALONE mode"
+
+#: src/metabase/core.clj
+msgid "Metabase Initialization FAILED"
+msgstr "Inizializzazione di Metabase FALLITA"
+
+#: src/metabase/db.clj
+msgid "Database has migration lock; cannot run migrations."
+msgstr "Il database ha un lock di migrazione; non è possibile lanciare migrazioni"
+
+#: src/metabase/db.clj
+msgid "You can force-release these locks by running `java -jar metabase.jar migrate release-locks`."
+msgstr "Puoi forzare il rilascio di questi vincoli tramite `java -jar metabase.jar migrate release-locks`."
+
+#: src/metabase/db.clj
+msgid "Checking if Database has unrun migrations..."
+msgstr "Verifica se il Database ha migrazioni non eseguite"
+
+#: src/metabase/db.clj
+msgid "Database has unrun migrations. Waiting for migration lock to be cleared..."
+msgstr "Il Database ha migrazioni non eseguite. Attendere che il blocco migrazione sia cancellato..."
+
+#: src/metabase/db.clj
+msgid "Migration lock is cleared. Running migrations..."
+msgstr "Il blocco della migrazione è cancellato. Esecuzione migrazioni ..."
+
+#: src/metabase/db.clj
+msgid "Migration lock cleared, but nothing to do here! Migrations were finished by another instance."
+msgstr "vincoli di migrazione ripuliti, ma non c'è nulla da fare qui! Le migrazioni sono state terminate da un'altra istanza."
+
+#. Set up liquibase and let it do its thing
+#: src/metabase/db.clj
+msgid "Setting up Liquibase..."
+msgstr "Settando Liquibase"
+
+#: src/metabase/db.clj
+msgid "Liquibase is ready."
+msgstr "Liquibase è pronto"
+
+#: src/metabase/db.clj
+msgid "Verifying {0} Database Connection ..."
+msgstr "Verifica {0} Database Connection ..."
+
+#: src/metabase/db.clj
+msgid "Verify Database Connection ... "
+msgstr "Verifica delle Connessioni al database..."
+
+#: src/metabase/db.clj
+msgid "Running Database Migrations..."
+msgstr "Migrazione Database in corso"
+
+#: src/metabase/db.clj
+msgid "Database Migrations Current ... "
+msgstr "Migrazione Database corrente ..."
+
+#: src/metabase/driver/common.clj
+msgid "Hmm, we couldn''t connect to the database."
+msgstr "Mmm, non abbiamo potuto connetterci al database"
+
+#: src/metabase/driver/common.clj
+msgid "Make sure your host and port settings are correct"
+msgstr "Verifica che host e porte siano settate correttamente"
+
+#: src/metabase/driver/common.clj
+msgid "We couldn''t connect to the ssh tunnel host."
+msgstr "Non abbiamo potuto connetterci al host del tunnel ssh"
+
+#: src/metabase/driver/common.clj
+msgid "Check the username, password."
+msgstr "Verifica username e password."
+
+#: src/metabase/driver/common.clj
+msgid "Check the hostname and port."
+msgstr "Controlla l'hostname e la porta"
+
+#: src/metabase/driver/common.clj
+msgid "Looks like the database name is incorrect."
+msgstr "Sembra che il nome del database non sia corretto"
+
+#: src/metabase/driver/common.clj
+msgid "It looks like your host is invalid."
+msgstr "Sembra che il tuo host non sia valido."
+
+#: src/metabase/driver/common.clj
+msgid "Please double-check it and try again."
+msgstr "Per favore fare una doppia verifica e provare ancora"
+
+#: src/metabase/driver/common.clj
+msgid "Looks like your password is incorrect."
+msgstr "Sembra che la tua password sia errata."
+
+#: src/metabase/driver/common.clj
+msgid "Looks like you forgot to enter your password."
+msgstr "Sembra che hai dimenticato di inserire la tua password"
+
+#: src/metabase/driver/common.clj
+msgid "Looks like your username is incorrect."
+msgstr "Sembra che il tuo username non sia corretto"
+
+#: src/metabase/driver/common.clj
+msgid "Looks like the username or password is incorrect."
+msgstr "Sembra che username e password siano incorretti"
+
+#. ## CONFIG
+#: src/metabase/driver.clj
+msgid "Connection timezone to use when executing queries. Defaults to system timezone."
+msgstr "Timezone da usare quando si eseguino le query. Il default è la timezone di sistema"
+
+#: src/metabase/driver.clj
+msgid "Registered driver {0} {1}"
+msgstr "Driver registrati {0} {1}"
+
+#: src/metabase/driver.clj
+msgid "No -init-driver function found for ''{0}''"
+msgstr "Nessuna funzione -init-driver trovata per \"{0}\""
+
+#: src/metabase/driver/common.clj
+msgid "Unable to parse date string ''{0}'' for database engine ''{1}''"
+msgstr "Impossibile adattare la stringa data \"{0}\" per il sistema base di dati \"{1}\""
+
+#. all-NULL columns in DBs like Mongo w/o explicit types
+#: src/metabase/driver/common.clj
+msgid "Don''t know how to map class ''{0}'' to a Field base_type, falling back to :type/*."
+msgstr "Non si riesce a mappare la classe \"{0}\" ad un Campo base_type, ritorno a :type/*."
+
+#: src/metabase/driver/util.clj
+msgid "Failed to connect to database: {0}"
+msgstr "Connessione fallita al database {0}"
+
+#: src/metabase/driver/bigquery.clj
+msgid "Invalid BigQuery identifier: ''{0}''"
+msgstr "Idendificatore BigQuery non valido: \"{0}\""
+
+#: src/metabase/driver/bigquery.clj
+msgid "BigQuery statements can't be parameterized!"
+msgstr "L'istruzione BigQuery non può essere parametrizzata!"
+
+#: src/metabase/driver/sql_jdbc/execute.clj
+msgid "Failed to set timezone:"
+msgstr "Impostazione timezone fallita:"
+
+#: src/metabase/driver/googleanalytics.clj
+msgid "You must enable the Google Analytics API. Use this link to go to the Google Developers Console: {0}"
+msgstr "Devi abilitare le Google Analytics API. Usa questo link per accedere alla Google Developers Console: {0}"
+
+#: src/metabase/driver/h2.clj
+msgid "Running SQL queries against H2 databases using the default (admin) database user is forbidden."
+msgstr "è vietato utilizzare query SQL per database H2 mediante l'utente database di default (admin)"
+
+#: src/metabase/driver/sparksql.clj
+msgid "Error: metabase.driver.FixedHiveDriver is registered, but JDBC does not seem to be using it."
+msgstr "Errore: metabase.driver.FixedHiveDriver è registrato, ma sembra che JDBC non lo stia usando."
+
+#: src/metabase/driver/sparksql.clj
+msgid "Found metabase.driver.FixedHiveDriver."
+msgstr "Trovato metabase.driver.FixedHiveDriver."
+
+#: src/metabase/driver/sparksql.clj
+msgid "Successfully registered metabase.driver.FixedHiveDriver with JDBC."
+msgstr "Registrato con successo il metabase.driver.FixedHiveDriver con JDBC."
+
+#. CONFIG
+#. TODO - smtp-port should be switched to type :integer
+#: src/metabase/email.clj
+msgid "Email address you want to use as the sender of Metabase."
+msgstr "L'indirizzo email che vuoi usare come mittente di Metabase"
+
+#: src/metabase/email.clj
+msgid "The address of the SMTP server that handles your emails."
+msgstr "L'indirizzo del server SMTP che invia le tue email."
+
+#: src/metabase/email.clj
+msgid "SMTP username."
+msgstr "Username SMTP"
+
+#: src/metabase/email.clj
+msgid "SMTP password."
+msgstr "Password SMTP"
+
+#: src/metabase/email.clj
+msgid "The port your SMTP server uses for outgoing emails."
+msgstr "La porta che il server SMTP usa per le email outgoing"
+
+#: src/metabase/email.clj
+msgid "SMTP secure connection protocol. (tls, ssl, starttls, or none)"
+msgstr "Protocollo SMTP sicuro (tls, ssl, starttls, o nessuno)"
+
+#: src/metabase/email.clj
+msgid "none"
+msgstr "nessuno"
+
+#: src/metabase/email.clj
+msgid "SMTP host is not set."
+msgstr "L'host SMTP non è settato"
+
+#: src/metabase/email.clj
+msgid "Failed to send email"
+msgstr "L'invio email è fallito"
+
+#: src/metabase/email.clj
+msgid "Error testing SMTP connection"
+msgstr "Errore nel test della connessione SMTP"
+
+#: src/metabase/integrations/ldap.clj
+msgid "Enable LDAP authentication."
+msgstr "Abilitare autenticazione LDAP"
+
+#: src/metabase/integrations/ldap.clj
+msgid "Server hostname."
+msgstr "Hostname server"
+
+#: src/metabase/integrations/ldap.clj
+msgid "Server port, usually 389 or 636 if SSL is used."
+msgstr "Porta server, normalmente 389 o 636, se si usa SSL"
+
+#: src/metabase/integrations/ldap.clj
+msgid "Use SSL, TLS or plain text."
+msgstr "Usa SSL, TLS o testo in chiaro"
+
+#: src/metabase/integrations/ldap.clj
+msgid "The Distinguished Name to bind as (if any), this user will be used to lookup information about other users."
+msgstr "Il Nome Unificativo da associare (se presente), questo utente verrà utilizzato per gestire le informazioni sugli altri utenti."
+
+#: src/metabase/integrations/ldap.clj
+msgid "The password to bind with for the lookup user."
+msgstr "La password da associare per il gestore."
+
+#: src/metabase/integrations/ldap.clj
+msgid "Search base for users. (Will be searched recursively)"
+msgstr "Ricerca base per utenti (verrà fatta ricorsivamente)"
+
+#: src/metabase/integrations/ldap.clj
+msgid "User lookup filter, the placeholder '{login}' will be replaced by the user supplied login."
+msgstr "filtri di ricerca utente, il segnaposto '{login}' verrà rimpiazzato dall'utente autenticato"
+
+#: src/metabase/integrations/ldap.clj
+msgid "Attribute to use for the user's email. (usually ''mail'', ''email'' or ''userPrincipalName'')"
+msgstr "Attributo per usare l'email dell'utente. (solitamente \"mail\", \"email\" o \"userPrincipalName\")"
+
+#: src/metabase/integrations/ldap.clj
+msgid "Attribute to use for the user''s first name. (usually ''givenName'')"
+msgstr "Attributo da utilizzare per il nome dell'utente (generalmente \"givenName\")"
+
+#: src/metabase/integrations/ldap.clj
+msgid "Attribute to use for the user''s last name. (usually ''sn'')"
+msgstr "Attributo da utilizzare per il cognome dell'utente (generalmente \"sn\")"
+
+#: src/metabase/integrations/ldap.clj
+msgid "Enable group membership synchronization with LDAP."
+msgstr "Abilita la sincronizzazione dei gruppi di utenze con LDAP"
+
+#: src/metabase/integrations/ldap.clj
+msgid "Search base for groups, not required if your LDAP directory provides a ''memberOf'' overlay. (Will be searched recursively)"
+msgstr "Ricerca base per gruppi, non è richiesta se la tua cartella LDAP fornisce uno strato \"memberOf\". (ricercherà ricorsivamente)"
+
+#. Should be in the form: {"cn=Some Group,dc=...": [1, 2, 3]} where keys are LDAP groups and values are lists of MB groups IDs
+#: src/metabase/integrations/ldap.clj
+msgid "JSON containing LDAP to Metabase group mappings."
+msgstr "JSON contiene le mappature di LDAP ai gruppi Metabase."
+
+#. Define a setting which captures our Slack api token
+#: src/metabase/integrations/slack.clj
+msgid "Slack API bearer token obtained from https://api.slack.com/web#authentication"
+msgstr "token di trasporto delle API Slack ottenuto da https://api.slack.com/web#authentication"
+
+#: src/metabase/metabot.clj
+msgid "Enable MetaBot, which lets you search for and view your saved questions directly via Slack."
+msgstr "Abilita MetaBot, per effettuare le tue ricerche e vedere le domande salvate direttamente tramite Slack"
+
+#: src/metabase/metabot/instance.clj
+msgid "Last MetaBot checkin was {0} ago."
+msgstr "L'ultima controllo MetaBot è stato {0} fa."
+
+#: src/metabase/metabot/instance.clj
+msgid "This instance will now handle MetaBot duties."
+msgstr "Questa istanza ora gestirà i compiti di MetaBot."
+
+#: src/metabase/metabot.clj
+msgid "Here''s what I can {0}:"
+msgstr "Ecco cosa posso {0}:"
+
+#: src/metabase/metabot.clj
+msgid "I don''t know how to {0} `{1}`.n{2}"
+msgstr "Non so come {0} `{1}` .n{2}"
+
+#: src/metabase/metabot/slack.clj
+msgid "Uh oh! :cry:n> {0}"
+msgstr "Uh oh! :piangi:n> {0}"
+
+#: src/metabase/metabot/command.clj
+msgid "Here''s your {0} most recent cards:n{1}"
+msgstr "Ecco le tua {0} più recenti cards:n{1}"
+
+#: src/metabase/metabot/command.clj
+msgid "Could you be a little more specific? I found these cards with names that matched:n{0}"
+msgstr "Potresti essere un po' più preciso? Ho trovato queste cards con nomi corrispondenti:n{0}"
+
+#: src/metabase/metabot/command.clj
+msgid "I don''t know what Card `{0}` is. Give me a Card ID or name."
+msgstr "Non so cos'è la Card `{0}`. Dammi un Card ID o il nome"
+
+#: src/metabase/metabot/command.clj
+msgid "Show which card? Give me a part of a card name or its ID and I can show it to you. If you don''t know which card you want, try `metabot list`."
+msgstr "Quale carta visualizzare? Dammi una parte di nome o ID e te la mostro. Se non sai quale carta vuoi visualizzare prova la `lista di metabot`"
+
+#: src/metabase/metabot/command.clj
+msgid "Ok, just a second..."
+msgstr "Ok, solo un secondo ..."
+
+#: src/metabase/metabot/command.clj
+msgid "Not Found"
+msgstr "Non trovato"
+
+#: src/metabase/metabot/command.clj
+msgid "Loading Kanye quotes..."
+msgstr "Carica le citazioni di Kanye"
+
+#: src/metabase/metabot/events.clj
+msgid "Evaluating Metabot command:"
+msgstr "Valutazione comando Metabot:"
+
+#: src/metabase/metabot.clj
+msgid "Go home websocket, you're drunk."
+msgstr "Vai a casa websocket, sei ubriaco."
+
+#: src/metabase/metabot/websocket.clj
+msgid "Error launching metabot:"
+msgstr "Errore lanciando il metabot:"
+
+#: src/metabase/metabot/websocket.clj
+msgid "MetaBot WebSocket is closed. Reconnecting now."
+msgstr "Il MetaBot WebSocket è chiuso. Riconnessione ora."
+
+#: src/metabase/metabot/websocket.clj
+msgid "Error connecting websocket:"
+msgstr "Errore connettendo il websocket:"
+
+#: src/metabase/metabot/instance.clj
+msgid "This instance is performing MetaBot duties."
+msgstr "Questa istanza sta eseguendo i compiti di MetaBot."
+
+#: src/metabase/metabot/instance.clj
+msgid "Another instance is already handling MetaBot duties."
+msgstr "Un'altra istanza stra gestendo i compiti di MetaBot."
+
+#: src/metabase/metabot.clj
+msgid "Starting MetaBot threads..."
+msgstr "Avvio dei thread di MetaBot..."
+
+#: src/metabase/metabot.clj
+msgid "Stopping MetaBot...  🤖"
+msgstr "Arresto di MetaBot..."
+
+#: src/metabase/metabot.clj
+msgid "MetaBot already running. Killing the previous WebSocket listener first."
+msgstr "MetaBot è già avviato. Ferma prima il precedente WebSocket listener."
+
+#: src/metabase/middleware/security.clj
+msgid "Base-64 encoded public key for this site's SSL certificate."
+msgstr "Chiave pubblica a codifica Base-64 per il certificato SSL di questo sito"
+
+#: src/metabase/middleware/security.clj
+msgid "Specify this to enable HTTP Public Key Pinning."
+msgstr "Specificalo per abilitare il Pinning della chiave pubblica HTTP"
+
+#: src/metabase/middleware/security.clj
+msgid "See {0} for more information."
+msgstr "Vedi {0} per ulteriori informazioni."
+
+#: src/metabase/models/card.clj
+msgid "Cannot save Question: source query has circular references."
+msgstr "Non puoi salvare la Domanda: la query ha riferimenti circolari"
+
+#: src/metabase/models/card.clj src/metabase/models/query/permissions.clj
+#: src/metabase/query_processor/middleware/permissions.clj
+msgid "Card {0} does not exist."
+msgstr "La Carta {0} non esiste."
+
+#: src/metabase/models/card.clj
+msgid "You do not have permissions to run ad-hoc native queries against Database {0}."
+msgstr "Non possiedi i permessi per eseguire query native sul database {0}."
+
+#: src/metabase/models/collection.clj
+msgid "Invalid color"
+msgstr "Colore non valido"
+
+#: src/metabase/models/collection.clj
+msgid "must be a valid 6-character hex color code"
+msgstr "deve essere un colore con codice hex di 6 caratteri"
+
+#: src/metabase/models/collection.clj
+msgid "Collection name cannot be blank!"
+msgstr "Il nome della collezione non può essere vuoto!"
+
+#: src/metabase/models/collection.clj
+msgid "cannot be blank"
+msgstr "non può essere vuoto"
+
+#: src/metabase/models/collection.clj
+msgid "Invalid Collection location: path is invalid."
+msgstr "locazione della Collezione non valida: percorso non valido"
+
+#: src/metabase/models/collection.clj
+msgid "You cannot move a Personal Collection."
+msgstr "Non puoi muovere una Collezione Personale"
+
+#: src/metabase/models/collection.clj
+msgid "Invalid Collection location: some or all ancestors do not exist."
+msgstr "locazione della Collezione non valida: alcuni degli ancestori non esistono"
+
+#: src/metabase/models/collection.clj
+msgid "You cannot archive the Root Collection."
+msgstr "Non puoi archiviare la Collezione Root"
+
+#: src/metabase/models/collection.clj
+msgid "You cannot archive a Personal Collection."
+msgstr "Non puoi archiviare la Collezione Personale"
+
+#: src/metabase/models/collection.clj
+msgid "You cannot move the Root Collection."
+msgstr "Non puoi spostare la Collezione Root"
+
+#: src/metabase/models/collection.clj
+msgid "You cannot move a Collection into itself or into one of its descendants."
+msgstr "Non puoi spostare una Collezione dentro se stessa o in una discendente da se stessa."
+
+#. first move this Collection
+#: src/metabase/models/collection.clj
+msgid "Moving Collection {0} and its descendants from {1} to {2}"
+msgstr "Sto spostando la Collezione {0} e le proprie discendenti da {1} a {2}"
+
+#: src/metabase/models/collection.clj
+msgid "You're not allowed to change the owner of a Personal Collection."
+msgstr "Non sei autorizzato a cambiare il proprietario di una Collezione Personale."
+
+#: src/metabase/models/collection.clj
+msgid "You're not allowed to move a Personal Collection."
+msgstr "Non sei autorizzatio a spostare una Collezione Personale."
+
+#: src/metabase/models/collection.clj
+msgid "You cannot move a Collection and archive it at the same time."
+msgstr "Non puoi spostare una collezione e archiviarla allo stesso tempo."
+
+#: src/metabase/models/collection.clj
+msgid "You cannot delete a Personal Collection!"
+msgstr "Non puoi cancellare una Collezione Personale!"
+
+#: src/metabase/models/collection.clj
+msgid "{0} {1}''s Personal Collection"
+msgstr "{0} {1} è una Collezione Personale"
+
+#: src/metabase/models/collection_revision.clj
+msgid "You cannot update a CollectionRevision!"
+msgstr "Non puoi aggiornare una Revisione di una Collezione!"
+
+#: src/metabase/models/field_values.clj
+msgid "Field {0} was previously automatically set to show a list widget, but now has {1} values."
+msgstr "Il campo {0} è stato impostato prima automaticamente per visualizzare una lista di widget ma adesso ha {1} valori."
+
+#: src/metabase/models/field_values.clj
+msgid "Switching Field to use a search widget instead."
+msgstr "Cambia il campo per usare lo strumento di ricerca"
+
+#: src/metabase/models/field_values.clj
+msgid "Storing updated FieldValues for Field {0}..."
+msgstr "Memorizzo i valori aggornati per il Campo {0}..."
+
+#: src/metabase/models/field_values.clj
+msgid "Storing FieldValues for Field {0}..."
+msgstr "In registrazione il valore per il campo {0}..."
+
+#: src/metabase/models/humanization.clj
+msgid "Metabase can attempt to transform your table and field names into more sensible, human-readable versions, e.g. \"somehorriblename\" becomes \"Some Horrible Name\"."
+msgstr "Metabase può tentare di trasformare i nomi della tua tabella e dei campi in una versione più umana, esempio \"somehorriblename\" diventa \"Some Horrible Name\""
+
+#: src/metabase/models/humanization.clj
+msgid "This doesn’t work all that well if the names are in a language other than English, however."
+msgstr "In ogni caso, non è garantito che funzioni bene se i nomi non sono in inglese."
+
+#: src/metabase/models/humanization.clj
+msgid "Do you want us to take a guess?"
+msgstr "Vuoi che indoviniamo?"
+
+#: src/metabase/models/permissions.clj
+msgid "You cannot create or revoke permissions for the 'Admin' group."
+msgstr "Non puoi creare o revocare permessi per il gruppo `Admin`"
+
+#: src/metabase/models/permissions.clj
+msgid "Invalid permissions object path: ''{0}''."
+msgstr "permessi non validi per il percorso: \"{0}\""
+
+#: src/metabase/models/permissions.clj
+msgid "You cannot update a permissions entry!"
+msgstr "Non puoi modificare un campo di permessi!"
+
+#: src/metabase/models/permissions.clj
+msgid "Delete it and create a new one."
+msgstr "Cancellalo e creane uno nuovo."
+
+#: src/metabase/models/permissions.clj
+msgid "You cannot edit permissions for a Personal Collection or its descendants."
+msgstr "Non puoi modificare i permessi per una Collezione Personale o sue discendenti."
+
+#: src/metabase/models/permissions.clj
+msgid "Looks like someone else edited the permissions and your data is out of date."
+msgstr "Sembra che qualcun altro abbia modificato i permessi ed i tuoi dati siano scaduti."
+
+#: src/metabase/models/permissions.clj
+msgid "Please fetch new data and try again."
+msgstr "Per favore controlla i nuovi dati e riprova."
+
+#: src/metabase/models/permissions_group.clj
+msgid "Created magic permissions group ''{0}'' (ID = {1})"
+msgstr "Creato il magico gruppo di permessi \"{0}\" (ID = {1})"
+
+#: src/metabase/models/permissions_group.clj
+msgid "A group with that name already exists."
+msgstr "Un gruppo con questo nome è già presente."
+
+#: src/metabase/models/permissions_group.clj
+msgid "You cannot edit or delete the ''{0}'' permissions group!"
+msgstr "Non puoi modificare o eliminare i permessi del gruppo \"{0}\" "
+
+#: src/metabase/models/permissions_group_membership.clj
+msgid "You cannot add or remove users to/from the 'MetaBot' group."
+msgstr "Non puoi aggiungere né rimuovere utenti dal gruppo `MetaBot`."
+
+#: src/metabase/models/permissions_group_membership.clj
+msgid "You cannot add or remove users to/from the 'All Users' group."
+msgstr "Non puoi aggiungere né rimuovere utenti dal gruppo `Tutti gli Utenti`."
+
+#: src/metabase/models/permissions_group_membership.clj
+msgid "You cannot remove the last member of the 'Admin' group!"
+msgstr "Non puoi rimuovere l'ultimo utente del gruppo `Amministratori`."
+
+#: src/metabase/models/permissions_revision.clj
+msgid "You cannot update a PermissionsRevision!"
+msgstr "Non puoi aggiornare una Revisione di Permessi."
+
+#. if there's still not a Card, throw an Exception!
+#: src/metabase/models/pulse.clj
+msgid "Invalid Alert: Alert does not have a Card assoicated with it"
+msgstr "Allarme non valido: non ha una Carta associata."
+
+#: src/metabase/models/pulse.clj
+msgid "value must be a map with the keys `{0}`, `{1}`, and `{2}`."
+msgstr "Il valore deve essere una mappa con le chiavi  `{0}`, `{1}` e `{2}`."
+
+#: src/metabase/models/pulse.clj
+msgid "value must be a map with the following keys `({0})`"
+msgstr "Il valore deve essere una mappa con le seguenti chiavi  `{0}`"
+
+#: src/metabase/models/query/permissions.clj
+msgid "Error calculating permissions for query: {0}"
+msgstr "Errore nell'elaborazione dei permessi per la query: {0}"
+
+#: src/metabase/models/query/permissions.clj
+msgid "Invalid query type: {0}"
+msgstr "Tipo di query non valido: {0}"
+
+#: src/metabase/models/query_execution.clj
+msgid "You cannot update a QueryExecution!"
+msgstr "Non puoi aggiornare una Esecuzione di Query!"
+
+#: src/metabase/models/revision.clj
+msgid "You cannot update a Revision!"
+msgstr "Non puoi aggiornare una Revisione!"
+
+#: src/metabase/models/setting.clj
+msgid "Setting {0} does not exist.nFound: {1}"
+msgstr "Impostazione {0} non esiste. nTrovato: {1}"
+
+#: src/metabase/models/setting/cache.clj
+msgid "Updating value of settings-last-updated in DB..."
+msgstr "Aggiornamento del valore dei settings-last-updated nel DB..."
+
+#: src/metabase/models/setting/cache.clj
+msgid "Checking whether settings cache is out of date (requires DB call)..."
+msgstr "Controlla se le impostazioni in cache sono scadute (con chiamata al DB)"
+
+#: src/metabase/models/setting/cache.clj
+msgid "Settings have been changed on another instance, and will be reloaded here."
+msgstr "Le impostazioni sono stata modificate su un'altra istanza, e saranno ricaricate qui."
+
+#: src/metabase/models/setting/cache.clj
+msgid "Refreshing Settings cache..."
+msgstr "Ricaricamento delle impostazioni di cache..."
+
+#: src/metabase/models/setting.clj
+msgid "Invalid value for string: must be either \"true\" or \"false\" (case-insensitive)."
+msgstr "Stringa non valida: deve essere o \"true\" o \"false\" (case-insensitive)."
+
+#: src/metabase/models/setting.clj
+msgid "You cannot update `settings-last-updated` yourself! This is done automatically."
+msgstr "Non puoi aggiornare  `settings-last-updated` direttamente! Verrà fatto automaticamente."
+
+#. go ahead and log the Exception anyway on the off chance that it *wasn't* just a race condition issue
+#: src/metabase/models/setting.clj
+msgid "Error inserting a new Setting:"
+msgstr "Errore nell'inserire una nuova Impostazione:"
+
+#: src/metabase/models/setting.clj
+msgid "Assuming Setting already exists in DB and updating existing value."
+msgstr "Presupposto che Setting esiste già nel DB e aggiornando il valore esistente."
+
+#: src/metabase/models/user.clj
+msgid "value must be a map with each value either a string or number."
+msgstr "il valore deve essere una mappa per ogni valore che sia una stringa che un numero."
+
+#: src/metabase/plugins.clj
+msgid "Loading plugins in directory {0}..."
+msgstr "Caricamento dei plugins nella cartella {0}..."
+
+#: src/metabase/plugins.clj
+msgid "Loading plugin {0}... "
+msgstr "Caricamento plugin {0}..."
+
+#: src/metabase/plugins.clj
+msgid "It looks like you have some external dependencies in your Metabase plugins directory."
+msgstr "Sembra che non hai alcune dipendenze esterne nella cartella di plugin di Metabase."
+
+#: src/metabase/plugins.clj
+msgid "With Java 9 or higher, Metabase cannot automatically add them to your classpath."
+msgstr "Con Java 9 o superiore, Metabase non può aggiungerli automaticamente nel tuo classpath."
+
+#: src/metabase/plugins.clj
+msgid "Instead, you should include them at launch with the -cp option. For example:"
+msgstr "Invece, dovresti includerli all'avvio con l'opzione -op. Per esempio:"
+
+#: src/metabase/plugins.clj
+msgid "See https://metabase.com/docs/latest/operations-guide/start.html#java-versions for more details."
+msgstr "Per maggiori dettagli, visita https://metabase.com/docs/latest/operations-guide/start.html#java-versions."
+
+#: src/metabase/plugins.clj
+msgid "(If you're already running Metabase this way, you can ignore this message.)"
+msgstr "(Se stai già eseguendo Metabase in questa maniera, puoi ignorare questo messaggio.)"
+
+#: src/metabase/public_settings.clj
+msgid "Identify when new versions of Metabase are available."
+msgstr "Identifica quando le nuove versioni di Metabase sono disponibili."
+
+#: src/metabase/public_settings.clj
+msgid "Information about available versions of Metabase."
+msgstr "Informazioni sulle versioni disponibili di Metabase."
+
+#: src/metabase/public_settings.clj
+msgid "The name used for this instance of Metabase."
+msgstr "Nome utilizzato per questa istanza di Metabase"
+
+#: src/metabase/public_settings.clj
+msgid "The base URL of this Metabase instance, e.g. \"http://metabase.my-company.com\"."
+msgstr "URL base di questa istanza di Metabase. es.  \"http://metabase.my-company.com\"."
+
+#: src/metabase/public_settings.clj
+msgid "The default language for this Metabase instance."
+msgstr "La lingua principale per questa istanza di Metabase."
+
+#: src/metabase/public_settings.clj
+msgid "This only applies to emails, Pulses, etc. Users'' browsers will specify the language used in the user interface."
+msgstr "Questo sarà applicato solo alle email, Picchi, etc. Il browser specificherà la lingua utilizzata nell'interfaccia utente."
+
+#: src/metabase/public_settings.clj
+msgid "The email address users should be referred to if they encounter a problem."
+msgstr "L'indirizzo email di riferimento in caso di incontro di un problema."
+
+#: src/metabase/public_settings.clj
+msgid "Enable the collection of anonymous usage data in order to help Metabase improve."
+msgstr "Consenti di raccogliere anonimamente l'utilizzo dei dati per aiutarci a migliorare Metabase."
+
+#: src/metabase/public_settings.clj
+msgid "The map tile server URL template used in map visualizations, for example from OpenStreetMaps or MapBox."
+msgstr "Il template URL del map tile server usato nelle visualizzazioni della mappa, per esempio da OpenStreetMaps o MapBox."
+
+#: src/metabase/public_settings.clj
+msgid "Enable admins to create publicly viewable links (and embeddable iframes) for Questions and Dashboards?"
+msgstr "Abilita gli amministratori per creare link di visualizzazione pubblica (ed iframes integrabili) per Domande e Dashboard?"
+
+#: src/metabase/public_settings.clj
+msgid "Allow admins to securely embed questions and dashboards within other applications?"
+msgstr "Consentire agli amministratori di integrare in sicurezza domande e dashboard all'interno di altre applicazioni?"
+
+#: src/metabase/public_settings.clj
+msgid "Allow using a saved question as the source for other queries?"
+msgstr "Consentire di utilizzare le domande salvate come sorgente per altre query?"
+
+#: src/metabase/public_settings.clj
+msgid "Enabling caching will save the results of queries that take a long time to run."
+msgstr "Abilitare la cache consentirà di salvare i risultati delle query che richiedono un lungo tempo di esecuzione"
+
+#: src/metabase/public_settings.clj
+msgid "The maximum size of the cache, per saved question, in kilobytes:"
+msgstr "La dimensione massima della cache, per domanda salvata, in kilobytes:"
+
+#: src/metabase/public_settings.clj
+msgid "The absolute maximum time to keep any cached query results, in seconds."
+msgstr "Il tempo massimo assoluto (secondi) per gestire i risultati delle query in cache"
+
+#: src/metabase/public_settings.clj
+msgid "Metabase will cache all saved questions with an average query execution time longer than this many seconds:"
+msgstr "Metabase registrerà tutte le domande salvate con un tempo medio di esecuzione delle query superiore in secondi di:"
+
+#: src/metabase/public_settings.clj
+msgid "To determine how long each saved question''s cached result should stick around, we take the query''s average execution time and multiply that by whatever you input here."
+msgstr "Per determinare quanto tempo i risultati delle query devono restare in cache, prendiamo il tempo di esecuzione medio e lo moltiplichiamo per questo valore."
+
+#: src/metabase/public_settings.clj
+msgid "So if a query takes on average 2 minutes to run, and you input 10 for your multiplier, its cache entry will persist for 20 minutes."
+msgstr "Così se una query impiega mediamente 2 minuti, impostando un moltiplicatore di 10, il suo risultato rimarrà in cache per 20 minuti."
+
+#: src/metabase/public_settings.clj
+msgid "When using the default binning strategy and a number of bins is not provided, this number will be used as the default."
+msgstr "Quando si utilizza la strategia degli intervalli predefinita e non viene fornito un numero di intervalli, questo numero verrà utilizzato come predefinito."
+
+#: src/metabase/public_settings.clj
+msgid "When using the default binning strategy for a field of type Coordinate (such as Latitude and Longitude), this number will be used as the default bin width (in degrees)."
+msgstr "Quando si utilizza la strategia degli intervalli predefinita per un campo di tipo Coordinate (come Latitudine e Longitudine), questo numero verrà utilizzato come larghezza predefinita dell'intervallo (in gradi)."
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Unable to validate token."
+msgstr "Impossibile validare il token."
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Error fetching token status:"
+msgstr "Errore nel recuperare lo stato del token:"
+
+#: src/metabase/public_settings/metastore.clj
+msgid "There was an error checking whether this token was valid."
+msgstr "Si è verificato un errore durante il controllo della validità di questo token."
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Token validation timed out."
+msgstr "Convalida del token scaduta."
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Invalid token: token isn't in the right format."
+msgstr "Token non valido: il token non è nel formato giusto."
+
+#. attempt to query the metastore API about the status of this token. If the request doesn't complete in a
+#. reasonable amount of time throw a timeout exception
+#: src/metabase/public_settings/metastore.clj
+msgid "Checking with the MetaStore to see whether {0} is valid..."
+msgstr "Controllo con il MetaStore per vedere se {0} è valido..."
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Token for premium embedding. Go to the MetaStore to get yours!"
+msgstr "Token per l'incorporamento premium. Vai al MetaStore per ottenere il tuo!"
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Token is valid."
+msgstr "Il token è valido."
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Error setting premium embedding token"
+msgstr "Errore nell'installazione dell'incorporamento premium"
+
+#: src/metabase/pulse.clj
+msgid "Unable to compare results to goal for alert."
+msgstr "Impossibile confrontare il risultato con l'obiettivo per l'avviso."
+
+#: src/metabase/pulse.clj
+msgid "Question ID is ''{0}'' with visualization settings ''{1}''"
+msgstr "L'ID della domanda è ''{0}'' con le impostazioni di visualizzazione ''{1}''"
+
+#: src/metabase/pulse.clj
+msgid "Unrecognized alert with condition ''{0}''"
+msgstr "Avviso non riconosciuto con condizione \"{0}\""
+
+#: src/metabase/pulse.clj
+msgid "Unrecognized channel type {0}"
+msgstr "Tipo di canale {0} non riconosciuto"
+
+#: src/metabase/pulse.clj
+msgid "Error sending notification!"
+msgstr "Errore nell'inviare la notifica!"
+
+#: src/metabase/pulse/color.clj
+msgid "Can't find JS color selector at ''{0}''"
+msgstr "Impossibile trovare il selettore di colori JS a ''{0}''"
+
+#: src/metabase/pulse/render.clj
+msgid "Card has errors: {0}"
+msgstr "La carta ha errori: {0}"
+
+#: src/metabase/pulse/render.clj
+msgid "Pulse card render error"
+msgstr "Errore di rendering della carta a impulsi"
+
+#: src/metabase/query_processor/middleware/fetch_source_query.clj
+msgid "Trimming trailing comment from card with id {0}"
+msgstr "Ritaglio del commento finale dalla carta con ID {0}"
+
+#: src/metabase/query_processor/middleware/parameters/sql.clj
+msgid "Can't find field with ID: {0}"
+msgstr "Non si trova il campo con ID: {0}"
+
+#: src/metabase/query_processor/middleware/parameters/sql.clj
+msgid "''{0}'' is a required param."
+msgstr "\"{0}\" è un campo richiesto."
+
+#: src/metabase/query_processor/middleware/parameters/sql.clj
+msgid "Found ''{0}'' with no terminating ''{1}'' in query ''{2}''"
+msgstr "Trovato \"{0}\" senza terminazione \"{1}\" nella query \"{2}\""
+
+#: src/metabase/query_processor/middleware/parameters/sql.clj
+msgid "Unable to substitute ''{0}'': param not specified.nFound: {1}"
+msgstr "Impossibile di sostituire \"{0}\": parametro non specificato.nTrovato: {1}"
+
+#: src/metabase/query_processor/middleware/permissions.clj
+msgid "You do not have permissions to view Card {0}."
+msgstr "Non possiedi i permessi per visualizzare Card {0}."
+
+#: src/metabase/query_processor/middleware/permissions.clj
+msgid "You do not have permissions to run this query."
+msgstr "Non hai i permessi per eseguire questa query."
+
+#: src/metabase/sync/analyze.clj
+msgid "Fingerprint updates attempted {0}, updated {1}, no data found {2}, failed {3}"
+msgstr "Aggiornamento Impronta eseguita {0}, aggiornata {1}, nessun dato trovato {2}, fallito {3}."
+
+#: src/metabase/sync/analyze.clj
+msgid "Total number of fields classified {0}, {1} failed"
+msgstr "Numero totale di campi classificati {0}, {1} falliti"
+
+#: src/metabase/sync/analyze.clj
+msgid "Total number of tables classified {0}, {1} updated"
+msgstr "Numero totale di tabelle classificate {0}, modificate {1}"
+
+#: src/metabase/sync/analyze/fingerprint/fingerprinters.clj
+msgid "Error generating fingerprint for {0}"
+msgstr "Errore nel generare l'impronta per {0}"
+
+#: src/metabase/sync/field_values.clj
+msgid "Updated {0} field value sets, created {1}, deleted {2} with {3} errors"
+msgstr "Aggiornati {0} campi set di valore, creati {1}, rimossi {2} con {3} errori."
+
+#: src/metabase/sync/sync_metadata.clj
+msgid "Total number of fields sync''d {0}, number of fields updated {1}"
+msgstr "Numero totale di campi: sincronizzati {0}, aggiornati {1}"
+
+#: src/metabase/sync/sync_metadata.clj
+msgid "Total number of tables sync''d {0}, number of tables updated {1}"
+msgstr "Numero totale di tabelle: sincronizzate {0}, aggiornate {1}"
+
+#: src/metabase/sync/sync_metadata.clj
+msgid "Found timezone id {0}"
+msgstr "Trovato timezone id {0}"
+
+#: src/metabase/sync/sync_metadata.clj
+msgid "Total number of foreign keys sync''d {0}, {1} updated and {2} tables failed to update"
+msgstr "Numero totale di chiavi esterne sincronizzate {0}, aggiornate {1}, {2} tabelle fallite durante l'aggiornamento."
+
+#: src/metabase/sync/util.clj
+msgid "{0} Database {1} ''{2}''"
+msgstr "{0} Database {1} \"{2}\""
+
+#: src/metabase/sync/util.clj
+msgid "Table {0} ''{1}''"
+msgstr "Tabella {0} \"{1}\""
+
+#: src/metabase/sync/util.clj
+msgid "Field {0} ''{1}''"
+msgstr "Campo {0} \"{1}\""
+
+#: src/metabase/sync/util.clj
+msgid "Field ''{0}''"
+msgstr "Campo {0}"
+
+#: src/metabase/sync/util.clj
+msgid "step ''{0}'' for {1}"
+msgstr "passo \"{0}\" per {1}"
+
+#: src/metabase/sync/util.clj
+msgid "Completed {0} on {1}"
+msgstr "Completati {0} su {1}"
+
+#: src/metabase/sync/util.clj
+msgid "Start: {0}"
+msgstr "Inizio: {0}"
+
+#: src/metabase/sync/util.clj
+msgid "End: {0}"
+msgstr "Fine: {0}"
+
+#: src/metabase/sync/util.clj
+msgid "Duration: {0}"
+msgstr "Durata: {0}"
+
+#: src/metabase/sync/util.clj
+msgid "Completed step ''{0}''"
+msgstr "Step completato \"{0}\""
+
+#: src/metabase/task.clj
+msgid "Loading tasks namespace:"
+msgstr "Caricando lo spazio dei nomi delle attività:"
+
+#: src/metabase/task.clj
+msgid "Starting Quartz Scheduler"
+msgstr "Schedulatore Quartz in avvio"
+
+#: src/metabase/task.clj
+msgid "Stopping Quartz Scheduler"
+msgstr "Schedulatore Quartz in fase di arresto"
+
+#: src/metabase/task.clj
+msgid "Job already exists:"
+msgstr "Il lavoro esiste già:"
+
+#. This is the very first log message that will get printed.  It's here because this is one of the very first
+#. namespaces that gets loaded, and the first that has access to the logger It shows up a solid 10-15 seconds before
+#. the "Starting Metabase in STANDALONE mode" message because so many other namespaces need to get loaded
+#: src/metabase/util.clj
+msgid "Loading Metabase..."
+msgstr "Caricamento in corso di Metabase..."
+
+#: src/metabase/util/date.clj
+msgid "Possible timezone conflict found on database {0}."
+msgstr "Possibile conflitto di fuso orario trovato nel database {0}."
+
+#: src/metabase/util/date.clj
+msgid "JVM timezone is {0} and detected database timezone is {1}."
+msgstr "Il fuso orario della JVM è {0} e il fuso orario rilevato del database è {1}."
+
+#: src/metabase/util/date.clj
+msgid "Configure a report timezone to ensure proper date and time conversions."
+msgstr "Configura un rapporto del fuso orario per garantire conversioni corrette di data e ora."
+
+#: src/metabase/util/embed.clj
+msgid "Secret key used to sign JSON Web Tokens for requests to `/api/embed` endpoints."
+msgstr "Chiave segreta utilizzata per firmare Token Web JSON per le richieste agli endpoint `/ api / embed`."
+
+#: src/metabase/util/encryption.clj
+msgid "MB_ENCRYPTION_SECRET_KEY must be at least 16 characters."
+msgstr "MB_ENCRYPTION_SECRET_KEY deve essere di almeno 16 caratteri."
+
+#: src/metabase/util/encryption.clj
+msgid "Saved credentials encryption is ENABLED for this Metabase instance."
+msgstr "La crittografia delle credenziali salvate è ABILITATA per questa istanza di Metabase."
+
+#: src/metabase/util/encryption.clj
+msgid "Saved credentials encryption is DISABLED for this Metabase instance."
+msgstr "La crittografia delle credenziali salvate è DISABILITATA per questa istanza di Metabase."
+
+#: src/metabase/util/encryption.clj
+msgid "nFor more information, see"
+msgstr "nPer ulteriori informazioni, vedere"
+
+#: src/metabase/util/schema.clj
+msgid "value must be an integer."
+msgstr "il valore deve essere un numero intero."
+
+#: src/metabase/util/schema.clj
+msgid "value must be a string."
+msgstr "il valore deve essere una stringa."
+
+#: src/metabase/util/schema.clj
+msgid "value must be a boolean."
+msgstr "il valore deve essere un booleano."
+
+#: src/metabase/util/schema.clj
+msgid "value must be a string that matches the regex `{0}`."
+msgstr "il valore deve essere una stringa che corrisponde all'espressione regolare '{0}'."
+
+#: src/metabase/util/schema.clj
+msgid "value must satisfy one of the following requirements: "
+msgstr "il valore deve soddisfare uno dei seguenti requisiti: "
+
+#: src/metabase/util/schema.clj
+msgid "value may be nil, or if non-nil, {0}"
+msgstr "il valore potrebbe essere 0, o se non 0, {0}"
+
+#: src/metabase/util/schema.clj
+msgid "value must be one of: {0}."
+msgstr "il valore deve essere uno di: {0}."
+
+#: src/metabase/util/schema.clj
+msgid "value must be an array."
+msgstr "il valore deve essere un array."
+
+#: src/metabase/util/schema.clj
+msgid "Each {0}"
+msgstr "Ogni {0}"
+
+#: src/metabase/util/schema.clj
+msgid "The array cannot be empty."
+msgstr "L'array non può essere vuoto"
+
+#: src/metabase/util/schema.clj
+msgid "value must be a non-blank string."
+msgstr "il valore non deve essere una stringa vuota."
+
+#: src/metabase/util/schema.clj
+msgid "Integer greater than zero"
+msgstr "Numero intero maggiore di zero"
+
+#: src/metabase/util/schema.clj
+msgid "value must be an integer greater than zero."
+msgstr "Il valore deve essere un numero intero maggiore di zero."
+
+#: src/metabase/util/schema.clj
+msgid "Number greater than zero"
+msgstr "Numero maggiore di zero"
+
+#: src/metabase/util/schema.clj
+msgid "value must be a number greater than zero."
+msgstr "il valore deve essere un numero maggiore di zero."
+
+#: src/metabase/util/schema.clj
+msgid "Keyword or string"
+msgstr "Parola chiave o stringa"
+
+#: src/metabase/util/schema.clj
+msgid "Valid field type"
+msgstr "Tipo di campo valido"
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid field type."
+msgstr "il valore deve essere un tipo di campo valido"
+
+#: src/metabase/util/schema.clj
+msgid "Valid field type (keyword or string)"
+msgstr "Tipo di campo valido (parola chiave o stringa)"
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid field type (keyword or string)."
+msgstr "il valore deve essere un tipo di campo valido (parola chiave o stringa)"
+
+#: src/metabase/util/schema.clj
+msgid "Valid entity type (keyword or string)"
+msgstr "Tipo di entità valido (parola chiave o stringa)"
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid entity type (keyword or string)."
+msgstr "il valore deve essere un tipo di entità valido (parola chiave o stringa)."
+
+#: src/metabase/util/schema.clj
+msgid "Valid map"
+msgstr "Mappa valida"
+
+#: src/metabase/util/schema.clj
+msgid "value must be a map."
+msgstr "il valore deve essere una mappa."
+
+#: src/metabase/util/schema.clj
+msgid "Valid email address"
+msgstr "Indirizzo email valido"
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid email address."
+msgstr "il valore deve essere un indirizzo email valido."
+
+#: src/metabase/util/schema.clj
+msgid "Insufficient password strength"
+msgstr "Password non abbastanza robusta"
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid integer."
+msgstr "il valore deve essere un numero intero valido."
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid integer greater than zero."
+msgstr "il valore deve essere un numero intero valido maggiore di zero."
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid boolean string (''true'' or ''false'')."
+msgstr "il valore deve essere una stringa booleana valida (\"true\" or \"false\")"
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid JSON string."
+msgstr "il valore deve essere una stringa JSON valida."
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid embedding params map."
+msgstr "Il valore deve essere presente nei parametri della mappa"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsTabs.jsx:12
+msgid "Data permissions"
+msgstr "Permesso dati"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsTabs.jsx:13
+msgid "Collection permissions"
+msgstr "Permessi della raccolta"
+
+#: frontend/src/metabase/admin/permissions/containers/CollectionPermissionsModal.jsx:56
+msgid "See all collection permissions"
+msgstr "Vedi tutti i permessi della raccolta"
+
+#: frontend/src/metabase/admin/permissions/containers/TogglePropagateAction.jsx:25
+msgid "Also change sub-collections"
+msgstr "Cambia anche sotto-raccolte"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:282
+msgid "Can edit this collection and its contents"
+msgstr "Puoi modificare questa raccolta e i suoi contenuti"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:289
+msgid "Can view items in this collection"
+msgstr "Può visualizzare gli elementi in questa raccolta"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:749
+msgid "Collection Access"
+msgstr "Accesso alla raccolta"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:825
+msgid "This group has permission to view at least one subcollection of this collection."
+msgstr "Questo gruppo ha il permesso di vedere almeno una sottoraccolta di questa raccolta."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:830
+msgid "This group has permission to edit at least one subcollection of this collection."
+msgstr "Questo gruppo ha il permesso di modificare almeno una sottoraccolta di questa raccolta."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:843
+msgid "View sub-collections"
+msgstr "Visualizza sotto-raccolte"
+
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:211
+msgid "Remember Me"
+msgstr "Ricordami"
+
+#: frontend/src/metabase/components/BrowseApp.jsx:95
+msgid "X-ray this schema"
+msgstr "Raggi X di questo schema"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:258
+msgid "Edit the permissions for this collection"
+msgstr "Modifica i permessi per questa raccolta"
+
+#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:55
+msgid "Add this question to a dashboard"
+msgstr "Aggiungi questa domanda alla dashboard"
+
+#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:65
+msgid "Create a new dashboard"
+msgstr "Creare una nuova dashboard"
+
+#: frontend/src/metabase/containers/ErrorPages.jsx:45
+msgid "The page you asked for couldn't be found."
+msgstr "La pagina che hai rihiesto non può essere trovata."
+
+#: frontend/src/metabase/containers/ItemSelect.jsx:30
+msgid "Select a {0}"
+msgstr "Seleziona un {0}"
+
+#: frontend/src/metabase/containers/Overworld.jsx:185
+msgid "Save dashboards, questions, and collections in \"{0}\""
+msgstr "Salva dashboard, domande e collezioni in \"{0}\""
+
+#: frontend/src/metabase/containers/Overworld.jsx:188
+msgid "Access dashboards, questions, and collections in \"{0}\""
+msgstr "Accedi a dashboard, domande e collezioni in \"{0}\" "
+
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:221
+msgid "Compare"
+msgstr "Confronto"
+
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:229
+msgid "Zoom out"
+msgstr "Rimpicciolire"
+
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:233
+msgid "Related"
+msgstr "Relazionato"
+
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:293
+msgid "More X-rays"
+msgstr "Altri raggi X"
+
+#: frontend/src/metabase/home/containers/SearchApp.jsx:46
+msgid "No results"
+msgstr "Nessun risultato"
+
+#: frontend/src/metabase/home/containers/SearchApp.jsx:47
+msgid "Metabase couldn't find any results for your search."
+msgstr "Metabase non può trovare nessun risultato per la tua ricerca."
+
+#: frontend/src/metabase/new_query/containers/MetricSearch.jsx:111
+msgid "No metrics"
+msgstr "Nessuna metrica presente"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:31
+msgid "Aggregations"
+msgstr "aggregazioni"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:32
+msgid "Operators"
+msgstr "operatori"
+
+#: frontend/src/metabase/query_builder/components/expressions/Expressions.jsx:30
+msgid "Custom fields"
+msgstr "campi personalizzati"
+
+#. 2. Create the new collections.
+#: src/metabase/db/migrations.clj
+msgid "Migrated Dashboards"
+msgstr "Dashboard migrati"
+
+#: src/metabase/db/migrations.clj
+msgid "Migrated Pulses"
+msgstr "Pulse migrati"
+
+#: src/metabase/db/migrations.clj
+msgid "Migrated Questions"
+msgstr "Domande migrate"
+
+#. 4. move everything not in this Collection to a new Collection
+#: src/metabase/db/migrations.clj
+msgid "Moving instances of {0} that aren't in a Collection to {1} Collection {2}"
+msgstr "Spostamento di istanze di {0} che non sono in una collezione nella collezione {1} {2}"
+
+#: src/metabase/models/permissions.clj
+msgid "Failed to grant permissions: {0}"
+msgstr "Impossibile concedere le autorizzazioni: {0}"
+
+#: src/metabase/util/encryption.clj
+msgid "Cannot decrypt encrypted string. Have you changed or forgot to set MB_ENCRYPTION_SECRET_KEY?"
+msgstr "Impossibile decodificare la stringa crittografata. Hai cambiato o ti sei dimenticato di impostare MB_ENCRYPTION_SECRET_KEY?"
+
+#: frontend/src/metabase/entities/collections.js:164
+msgid "All personal collections"
+msgstr "tutte le collezioni personali"
+
+#: src/metabase/driver/common.clj
+msgid "Host"
+msgstr "Host"
+
+#: src/metabase/driver/common.clj
+msgid "Port"
+msgstr "Porta"
+
+#: src/metabase/driver/common.clj
+msgid "Database username"
+msgstr "Username del database"
+
+#: src/metabase/driver/common.clj
+msgid "What username do you use to login to the database?"
+msgstr "Quale username usi per accedere al database?"
+
+#: src/metabase/driver/common.clj
+msgid "Database password"
+msgstr "Password del database"
+
+#: src/metabase/driver/common.clj
+msgid "Database name"
+msgstr "Nome del database"
+
+#: src/metabase/driver/common.clj
+msgid "birds_of_the_world"
+msgstr "birds_of_the_world"
+
+#: src/metabase/driver/common.clj
+msgid "Use a secure connection (SSL)?"
+msgstr "Usi una connesione sicura (SSL)?"
+
+#: src/metabase/driver/common.clj
+msgid "Additional JDBC connection string options"
+msgstr "Opzioni stringhe di connessione JDBC aggiuntive"
+
+#: src/metabase/driver/bigquery.clj
+msgid "Project ID"
+msgstr "ID del progetto"
+
+#: src/metabase/driver/bigquery.clj
+msgid "praxis-beacon-120871"
+msgstr "praxis-beacon-120871"
+
+#: src/metabase/driver/bigquery.clj
+msgid "Dataset ID"
+msgstr "ID del Dataset"
+
+#: src/metabase/driver/bigquery.clj
+msgid "toucanSightings"
+msgstr "toucanSightings"
+
+#: src/metabase/driver/bigquery.clj src/metabase/driver/googleanalytics.clj
+msgid "Client ID"
+msgstr "ID client"
+
+#: src/metabase/driver/bigquery.clj src/metabase/driver/googleanalytics.clj
+msgid "Client Secret"
+msgstr "Client segreto"
+
+#: src/metabase/driver/bigquery.clj src/metabase/driver/googleanalytics.clj
+msgid "Auth Code"
+msgstr "codice di autorizzazione"
+
+#: src/metabase/driver/crate.clj
+msgid "Hosts"
+msgstr "Hosts"
+
+#: src/metabase/driver/druid.clj
+msgid "Broker node port"
+msgstr "Porta del nodo intermediario"
+
+#: src/metabase/driver/googleanalytics.clj
+msgid "Google Analytics Account ID"
+msgstr "Id dell'account di Google Analytics"
+
+#: src/metabase/driver/h2.clj
+msgid "Connection String"
+msgstr "stringa di connessione"
+
+#: src/metabase/driver/h2.clj
+msgid "Users/camsaul/bird_sightings/toucans"
+msgstr "Utenti/camsaul/bird_sightings/toucans"
+
+#: src/metabase/driver/mongo.clj
+msgid "carrierPigeonDeliveries"
+msgstr "carrierPigeonDeliveries"
+
+#: src/metabase/driver/mongo.clj
+msgid "Authentication Database"
+msgstr "Database di autenticazione"
+
+#: src/metabase/driver/mongo.clj
+msgid "Optional database to use when authenticating"
+msgstr "database optionale da usare in autenticazione"
+
+#: src/metabase/driver/mongo.clj
+msgid "Additional Mongo connection string options"
+msgstr "opzioni aggiuntive di stringa di connessione Mongo"
+
+#: src/metabase/driver/oracle.clj
+msgid "Oracle system ID (SID)"
+msgstr "ID di Sistema di Oracle (SID)"
+
+#: src/metabase/driver/oracle.clj
+msgid "Usually something like ORCL or XE."
+msgstr "Normalmente qualcosa come ORCL o XE"
+
+#: src/metabase/driver/oracle.clj
+msgid "Optional if using service name"
+msgstr "opzionale se usi il nome del servizio"
+
+#: src/metabase/driver/oracle.clj
+msgid "Oracle service name"
+msgstr "Nome del servizio Oracle"
+
+#: src/metabase/driver/oracle.clj
+msgid "Optional TNS alias"
+msgstr "alias opzionale TNS"
+
+#: src/metabase/driver/presto.clj
+msgid "hive"
+msgstr "alveare"
+
+#: src/metabase/driver/redshift.clj
+msgid "my-cluster-name.abcd1234.us-east-1.redshift.amazonaws.com"
+msgstr "my-cluster-name.abcd1234.us-east-1.redshift.amazonaws.com"
+
+#. not sure for the context
+#: src/metabase/driver/redshift.clj
+msgid "toucan_sightings"
+msgstr "toucan_sightings"
+
+#: src/metabase/driver/sparksql.clj
+msgid "default"
+msgstr "predefinito"
+
+#: src/metabase/driver/sqlite.clj
+msgid "Filename"
+msgstr "Nomefile"
+
+#: src/metabase/driver/sqlite.clj
+msgid "/home/camsaul/toucan_sightings.sqlite 😋"
+msgstr "/home/camsaul/toucan_sightings.sqlite"
+
+#: src/metabase/driver/sqlserver.clj
+msgid "BirdsOfTheWorld"
+msgstr "BirdsOfTheWorld"
+
+#: src/metabase/driver/sqlserver.clj
+msgid "Database instance name"
+msgstr "Nome dell'istanza del Database"
+
+#: src/metabase/driver/sqlserver.clj
+msgid "N/A"
+msgstr "N/A"
+
+#: src/metabase/driver/sqlserver.clj
+msgid "Windows domain"
+msgstr "dominio Windows"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:494
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:500
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:509
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:515
+msgid "Labels"
+msgstr "Etichette"
+
+#: frontend/src/metabase/admin/people/components/GroupDetail.jsx:329
+msgid "Add members"
+msgstr "Aggiungi membri"
+
+#: frontend/src/metabase/entities/collections.js:115
+msgid "Collection it's saved in"
+msgstr "Collezione in cui è salvato"
+
+#: frontend/src/metabase/lib/groups.js:4
+msgid "All Users"
+msgstr "Tutti gli utenti"
+
+#: frontend/src/metabase/lib/groups.js:5
+msgid "Administrators"
+msgstr "Amministratori"
+
+#: frontend/src/metabase/lib/groups.js:6
+msgid "MetaBot"
+msgstr "Metabot"
+
+#: frontend/src/metabase/public/components/widgets/EmbedModalContent.jsx:290
+msgid "Sharing"
+msgstr "Condividi"
+
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:23
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:234
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:270
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:299
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:305
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:313
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:321
+#: frontend/src/metabase/visualizations/lib/settings/nested.js:126
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:83
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:80
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:85
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:91
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:97
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:50
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:56
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:72
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:85
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:98
+msgid "Display"
+msgstr "Display"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:370
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:403
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:416
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:431
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:443
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:449
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:457
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:487
+msgid "Axes"
+msgstr "Assi"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:222
+#: frontend/src/metabase/admin/settings/selectors.js:319
+#: frontend/src/metabase/modes/components/drill/FormatAction.jsx:27
+#: frontend/src/metabase/visualizations/lib/settings/column.js:63
+msgid "Formatting"
+msgstr "Formattazione"
+
+#: frontend/src/metabase/containers/Overworld.jsx:102
+msgid "Try these x-rays based on your data."
+msgstr "Prova questi raggi-x basati sui tuoi dati"
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:36
+msgid "There was a problem displaying this chart."
+msgstr "Si é verificato un errore nel visualizzare questo grafico."
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:37
+msgid "Sorry, you don't have permission to see this card."
+msgstr "Spiacenti, non hai i permessi per vedere questa card."
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:55
+msgid "Just a heads up:"
+msgstr "Solo un avviso:"
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:63
+msgid "{0} without the Sample Dataset, the Query Builder tutorial won't work. You can always restore the Sample Dataset, but any questions you've saved using this data will be lost."
+msgstr "{0} senza il 'Sample Dataset', il tutorial del 'Query Builder' non funzionerà. Puoi sempre ripristinare il set di dati campione, ma tutte le domande che hai salvato utilizzando questi dati andranno perse."
+
+#: frontend/src/metabase/modes/components/drill/AutomaticDashboardDrill.jsx:33
+msgid "X-ray"
+msgstr "Raggi-X"
+
+#: frontend/src/metabase/modes/components/drill/CompareToRestDrill.js:34
+msgid "Compare to the rest"
+msgstr "Confronta con il resto"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:244
+msgid "Use the Java Virtual Machine (JVM) timezone"
+msgstr "Usa la timezone di Java Virtual Machine (JVM)"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:246
+msgid "We suggest you leave this off unless you're doing manual timezone casting in\n"
+"many or most of your queries with this data."
+msgstr "Ti suggeriamo di lasciar perdere, a meno che tu non stia eseguendo manualmente il fuso orario in molte o la maggior parte delle tue query con questi dati."
+
+#: frontend/src/metabase/containers/Overworld.jsx:310
+msgid "Your team's most important dashboards go here"
+msgstr "le dashboard più importanti del tuo team vanno qui"
+
+#: frontend/src/metabase/containers/Overworld.jsx:311
+msgid "Pin dashboards in {0} to have them appear in this space for everyone"
+msgstr "Inserisci le dashboard in {0} per visualizzarli in questo spazio per tutti"
+
+#: src/metabase/db.clj
+msgid "Unable to release the Liquibase lock after a migration failure"
+msgstr "Impossibile rilasciare il blocco Liquibase dopo una migrazione fallita"
+
+#: src/metabase/driver/bigquery.clj
+msgid "Use JVM Time Zone"
+msgstr "Usa Il Time Zone di JVM"
+
+#: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:29
+msgid "We're currently analyzing the tables and fields to help you explore your data."
+msgstr "Stiamo analizzando le tabelle e i campi per aiutarti a esplorare i tuoi dati."
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:432
+msgid "Tip: "
+msgstr "Suggerimento: "
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnItem.jsx:258
+msgid "Select a currency type"
+msgstr "Seleziona un tipo di valuta"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:318
+msgid "Field Type"
+msgstr "Tipo Campo"
+
+#: frontend/src/metabase/admin/routes.jsx:109
+#: frontend/src/metabase/nav/containers/Navbar.jsx:224
+msgid "Troubleshooting"
+msgstr "Risoluzione Problemi"
+
+#: frontend/src/metabase/admin/settings/selectors.js:96
+msgid "Enable X-ray features"
+msgstr "Abilita funzioni raggi X"
+
+#: frontend/src/metabase/admin/settings/selectors.js:323
+msgid "Formatting Options"
+msgstr "Opzioni formattazione"
+
+#: frontend/src/metabase/admin/tasks/containers/TaskModal.jsx:19
+msgid "Task details"
+msgstr "Dettagli processo"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:29
+msgid "Troubleshooting logs"
+msgstr "Log di Troubleshooting"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:31
+msgid "Trying to get to the bottom of something? This section shows logs of Metabase's background tasks, which can help shed light on what's going on."
+msgstr "Stai cercando di arrivare al fondo di qualcosa? Questa sezione mostra i log delle attività in background di Metabase, che possono aiutare a far luce su cosa sta succedendo."
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:56
+msgid "Task"
+msgstr "Attività"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:57
+msgid "DB ID"
+msgstr "DB ID"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:58
+msgid "Started at"
+msgstr "Iniziato alle"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:59
+msgid "Ended at"
+msgstr "Finito alle"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:60
+msgid "Duration (ms)"
+msgstr "Durata (ms)"
+
+#: frontend/src/metabase/lib/core.js:45
+msgid "Currency"
+msgstr "Valuta"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:161
+msgid "Pick a user or channel..."
+msgstr "Scegli un utente o un canale..."
+
+#: frontend/src/metabase/visualizations/components/ColumnSettings.jsx:90
+msgid "No formatting settings"
+msgstr "Nessuna impostazione di formattazione"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:81
+msgid "Label for this range (optional)"
+msgstr "Etichetta per questo intervallo (facoltativo)"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:93
+msgid "Add a range"
+msgstr "Aggiungi un intervallo"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:26
+msgid "is less than"
+msgstr "è minore di"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:27
+msgid "is greater than"
+msgstr "è maggiore di"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:28
+msgid "is less than or equal to"
+msgstr "è uguale o minore di"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:29
+msgid "is greater than or equal to"
+msgstr "è uguale o maggiore di"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:30
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:37
+msgid "is equal to"
+msgstr "è uguale a"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:31
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:38
+msgid "is not equal to"
+msgstr "è diverso da"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:32
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:39
+msgid "is null"
+msgstr "è nullo"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:33
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:40
+msgid "is not null"
+msgstr "non è nullo"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:41
+msgid "contains"
+msgstr "contiene"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:42
+msgid "does not contain"
+msgstr "non contiene"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:43
+msgid "starts with"
+msgstr "inizia con"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:44
+msgid "ends with"
+msgstr "finisce con"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:292
+msgid "When a cell in these columns {0} it will be tinted this color."
+msgstr "Quando una cella in queste colonne {0} sarà colorata in questo colore."
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:351
+msgid "When a cell in this column…"
+msgstr "Quando una cella in questa colonna..."
+
+#: frontend/src/metabase/visualizations/lib/errors.js:42
+msgid "This visualization requires you to group by a field."
+msgstr "La visualizzazione richiede che raggruppi per un campo."
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:178
+msgid "Date style"
+msgstr "Stile Data"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:196
+msgid "Date separators"
+msgstr "Separatori della data"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:215
+msgid "Abbreviate names of days and months"
+msgstr "Abbrevia i nomi dei giorni e dei mesi"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:225
+msgid "Show the time"
+msgstr "Mostra l'ora"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:232
+msgid "HH:MM"
+msgstr "HH:MM"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:240
+msgid "HH:MM:SS"
+msgstr "HH:MM:SS"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:243
+msgid "HH:MM:SS.MS"
+msgstr "HH:MM:SS.MS"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:254
+msgid "Time style"
+msgstr "Stile ora"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:299
+msgid "Unit of currency"
+msgstr "Unità per valuta"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:319
+msgid "Currency label style"
+msgstr "Stile etichetta valuta"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:337
+msgid "Where to display the unit of currency"
+msgstr "Dove mostrare l'unità della valuta"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:370
+msgid "Minimum number of decimal places"
+msgstr "Numero minimo di posizioni decimali"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:271
+msgid "Stacked chart type"
+msgstr "Tipo di grafico in pila"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:314
+msgid "Goal label"
+msgstr "etichetta obbiettivo"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:322
+msgid "Show trend line"
+msgstr "Mostra la linea del trend"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:67
+msgid "Line style"
+msgstr "Stile della linea"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:84
+msgid "Show dots on lines"
+msgstr "Mostra i punti sulla linea"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:88
+#: frontend/src/metabase/visualizations/lib/settings/series.js:125
+msgid "Auto"
+msgstr "Auto"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:120
+msgid "Which axis?"
+msgstr "Quale asse?"
+
+#: frontend/src/metabase/visualizations/visualizations/ComboChart.jsx:16
+msgid "Line + Bar"
+msgstr "Linea + Barra"
+
+#: frontend/src/metabase/visualizations/visualizations/ComboChart.jsx:19
+msgid "line and bar chart"
+msgstr "Grafico a barre e linea"
+
+#: frontend/src/metabase/visualizations/visualizations/Gauge.jsx:72
+msgid "Gauge visualization requires a number."
+msgstr "La visualizzazione Gauge richiede un numero."
+
+#: frontend/src/metabase/visualizations/visualizations/Gauge.jsx:60
+msgid "Gauge"
+msgstr "Gauge"
+
+#: frontend/src/metabase/visualizations/visualizations/Gauge.jsx:104
+msgid "Gauge ranges"
+msgstr "Intervallo Gauge"
+
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:94
+msgid "Field to show"
+msgstr "Campo da mostrare"
+
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:121
+msgid "last {0}"
+msgstr "l'ultimo {0}"
+
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:185
+msgid "{0} was {1} {2}"
+msgstr "{0} era {1} {2}"
+
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:52
+msgid "Group by a time field to see how this has changed over time"
+msgstr "Raggruppa per un campo \"time\" per vedere come è cambiato nel tempo"
+
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:39
+msgid "Switch positive / negative colors?"
+msgstr "Cambia colori positivi / negativi"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:90
+msgid "Pivot column"
+msgstr "Colonna Pivot"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:107
+msgid "Cell column"
+msgstr "Colonna della cella"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:123
+msgid "Visible columns"
+msgstr "Colonne visibili"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:143
+msgid "Conditional Formatting"
+msgstr "Formattazione condizionale"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:165
+msgid "Column title"
+msgstr "Titolo della colonna"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:172
+msgid "Show a mini bar chart"
+msgstr "Mostra un grafico a barre mini"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:183
+msgid "Link"
+msgstr "Link"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:187
+msgid "Email link"
+msgstr "Link dell'email"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:191
+msgid "Image"
+msgstr "Immagine"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:195
+msgid "Automatic"
+msgstr "Automatico"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:200
+msgid "View as link or image"
+msgstr "Visualizza come link o immagine"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:210
+msgid "Link text"
+msgstr "Testo del link"
+
+#: src/metabase/api/common/internal.clj
+msgid "Not a valid integer: ''{0}''"
+msgstr "Non è un intero valido: \"{0}\""
+
+#: src/metabase/api/embed.clj
+msgid "Embedding is not enabled for this object."
+msgstr "L'incorporamento non è abilitato per questo oggetto."
+
+#: src/metabase/api/session.clj
+msgid "Problem connecting to LDAP server, will fallback to local authentication: {0}"
+msgstr "Il problema di connessione al server LDAP fallirà con l'autenticazione locale: {0}"
+
+#: src/metabase/api/task.clj
+msgid "When including an offset, a limit must also be included."
+msgstr "Quando si include un offset, deve essere incluso anche un limite."
+
+#: src/metabase/api/task.clj
+msgid "When including a limit, an offset must also be included."
+msgstr "Quando si include un limite, deve essere incluso anche un offset."
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Applying heuristic {0} to {1}."
+msgstr "Applicando l'euristico {0} a {1}."
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Dimensions bindings:n{0}"
+msgstr "Vincoli di dimensione:n{0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Using definitions:nMetrics:n{0}nFilters:n{1}"
+msgstr "Utilizzo delle definizioni:nMetrica:n{0}Filtri:n{1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "minute"
+msgstr "minuto"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "hour"
+msgstr "ora"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "day of week"
+msgstr "giorno della settimana"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "day of month"
+msgstr "giorno del mese"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "day of year"
+msgstr "giorno dell'anno"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "week"
+msgstr "settimana"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "month"
+msgstr "mese"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "quarter"
+msgstr "quarto"
+
+#: src/metabase/automagic_dashboards/populate.clj
+msgid "Adding {0} cards to dashboard {1}:n{2}"
+msgstr "Aggiunta di {0} carte alla dashboard {1}: n {2}"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Error parsing {0}:n{1}"
+msgstr "Analisi degli errori {0}:n{1}"
+
+#: src/metabase/driver/druid/query_processor.clj
+msgid "WARNING: Filtering only works on dimensions! ''{0}'' is a metric. Ignoring filter."
+msgstr "ATTENZIONE: il filtraggio funziona solo sulle dimensioni! '' {0} '' è una metrica. Filtro ignorato."
+
+#: src/metabase/driver/druid/query_processor.clj
+msgid "WARNING: A date can't belong to multiple discrete intervals, so ANDing them together doesn't make sense."
+msgstr "ATTENZIONE: una data non può appartenere a più intervalli discreti, quindi usarli insieme con AND non ha senso."
+
+#: src/metabase/driver/druid/query_processor.clj
+msgid "Ignoring these intervals: {0}"
+msgstr "Questi intervalli sono ignorati: {0}"
+
+#. We should never get to this point since the all non-string negations should get automatically rewritten
+#. by the query expander.
+#: src/metabase/driver/druid/query_processor.clj
+msgid "WARNING: Don't know how to negate: {0}"
+msgstr "ATTENZIONE: non so come negare: {0}"
+
+#: src/metabase/driver/druid/query_processor.clj
+msgid "Sorting with Druid is only allowed in queries that have one or more breakout columns. Ignoring :order-by clause."
+msgstr "L'ordinamento con Druid è consentito solo nelle query che hanno una o più colonne di breakout. Ignorando: clausola order-by."
+
+#. TODO - this is not really true, is it
+#: src/metabase/driver/druid/query_processor.clj
+msgid "WARNING: It only makes sense to specify :fields for a query with no aggregation. Ignoring the clause."
+msgstr "ATTENZIONE: ha senso solo specificare: campi per una query senza aggregazione. Ignorando la clausola."
+
+#: src/metabase/driver/druid/query_processor.clj
+msgid "WARNING: Druid doenst allow limitSpec in timeseries queries. Ignoring the LIMIT clause."
+msgstr "AVVISO: Druid non permette limitSpec nelle query timeseries. La clausola LIMIT verrà ignorata."
+
+#: src/metabase/driver/sql/query_processor.clj
+msgid "HoneySQL Form:"
+msgstr "Form per HoneySQL:"
+
+#: src/metabase/driver/sql_jdbc/execute.clj
+msgid "Unable to parse date ''{0}''"
+msgstr "Impossibile analizzare la data \"{0}\""
+
+#: src/metabase/driver/sql_jdbc/execute.clj
+msgid "Client closed connection, cancelling query"
+msgstr "Connessione del client chiusa, annullamento della query"
+
+#: src/metabase/driver/sql_jdbc/execute.clj
+msgid "Setting timezone with statement: {0}"
+msgstr "Impostazione del fusorario con istruzione: {0}"
+
+#: src/metabase/driver/googleanalytics/query_processor.clj
+msgid "Multiple date filters are not supported"
+msgstr "Non sono supportati più filtri di data"
+
+#: src/metabase/driver/googleanalytics/query_processor.clj
+msgid ":not is not yet implemented"
+msgstr ":not non è ancora stato implementato"
+
+#: src/metabase/driver/googleanalytics/query_processor.clj
+msgid "Only one Google Analytics segment allowed at a time."
+msgstr "È consentito un solo segmento di Google Analytics alla volta."
+
+#: src/metabase/driver/mongo/query_processor.clj
+msgid "MONGO AGGREGATION PIPELINE:"
+msgstr "MONGO AGGREGATION PIPELINE:"
+
+#: src/metabase/driver/mongo/query_processor.clj
+msgid "Error: mismatched columns in results! Expected: {0} Got: {1}"
+msgstr "Errore: colonne non corrispondenti nei risultati! Previsto: {0} Got: {1}"
+
+#: src/metabase/email/messages.clj
+msgid "Unable to create temp file in `{0}` for email attachments "
+msgstr "Impossibile creare il file temp in `{0}` per gli allegati di posta elettronica"
+
+#: src/metabase/events/activity_feed.clj
+msgid "Error preprocessing query:"
+msgstr "Errore nella richiesta di pre-elaborazione:"
+
+#: src/metabase/mbql/normalize.clj
+msgid "Illegal filter clause: {0}"
+msgstr "Clausola del filtro non valida: {0}"
+
+#: src/metabase/mbql/normalize.clj
+msgid "Invalid clause:"
+msgstr "Clausola non valida:"
+
+#: src/metabase/mbql/util.clj
+msgid "Error: query's source query has not been resolved. You probably need to `preprocess` the query first."
+msgstr "Errore: la query di origine della query non è stata risolta. Probabilmente hai prima bisogno di 'pre-elaborare' la query."
+
+#: src/metabase/mbql/util.clj
+msgid "No expression named ''{0}''"
+msgstr "Nessuna espressione chiamata \"{0}\""
+
+#: src/metabase/mbql/util.clj
+msgid "No aggregation at index: {0}"
+msgstr "Nessuna aggregazione all'indice: {0}"
+
+#: src/metabase/models/field_values.clj
+msgid "Field values total length is {0} (max {1})."
+msgstr "La lunghezza totale dei valori del campo è {0} (max {1})."
+
+#: src/metabase/models/field_values.clj
+msgid "FieldValues are allowed for this Field."
+msgstr "Valori ammessi per questo Campo."
+
+#: src/metabase/models/field_values.clj
+msgid "FieldValues are NOT allowed for this Field."
+msgstr "Valori non ammessi per questo Campo."
+
+#: src/metabase/models/field_values.clj
+msgid "Field {0} ''{1}'' should have FieldValues and belongs to a Database with On-Demand FieldValues updating."
+msgstr "Il campo {0} ''{1}'' dovrebbe avere FieldValues ​​e appartiene a un database con l'aggiornamento FieldValues ​​On-Demand."
+
+#: src/metabase/models/permissions.clj
+msgid "You cannot create or revoke permissions for the ''Admin'' group."
+msgstr "Non puoi creare o revocare i permessi per il gruppo \"Admin\"."
+
+#: src/metabase/models/permissions_group_membership.clj
+msgid "You cannot add or remove users to/from the ''MetaBot'' group."
+msgstr "Non puoi aggiungere o rimuovere utenti al/dal gruppo \"MetaBot\"."
+
+#: src/metabase/models/permissions_group_membership.clj
+msgid "You cannot add or remove users to/from the ''All Users'' group."
+msgstr "Non puoi aggiungere o rimuovere utenti al/dal gruppo \"All Users\"."
+
+#: src/metabase/models/permissions_group_membership.clj
+msgid "You cannot remove the last member of the ''Admin'' group!"
+msgstr "Non puoi rimuovere l'ultimo membro del gruppo \"Admin\"!"
+
+#. go ahead and log the Exception anyway on the off chance that it *wasn't* just a race condition issue
+#: src/metabase/models/setting/cache.clj
+msgid "Error inserting a new Setting: {0}"
+msgstr "Errore nell'inserimento di una nuova Impostazione: {0}"
+
+#: src/metabase/models/setting.clj
+msgid "defsetting descriptions strings must be `:internal?` or internationalized, found: `{0}`"
+msgstr "le descrizioni defsetting devono essere ':internal?' o internazionalizzate, trovate: '{0}'"
+
+#: src/metabase/plugins.clj
+msgid "Loading plugin {0}... {1}"
+msgstr "Caricamento plugin {0}...{1}"
+
+#: src/metabase/public_settings.clj
+msgid "Object keyed by type, containing formatting settings"
+msgstr "Oggetto digitato per tipo, contenente le impostazioni di formattazione"
+
+#: src/metabase/public_settings.clj
+msgid "Allow users to explore data using X-rays"
+msgstr "Permettere agli utenti di esplorare i dati usando i raggi X"
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Using this URL to check token: {0}"
+msgstr "Usando questo URL per controllare il token: {0}"
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Unable to validate token: 404 not found."
+msgstr "Impossibile validare il token: 404 non trovato."
+
+#: src/metabase/public_settings/metastore.clj
+msgid "There was an error checking whether this token was valid:"
+msgstr "Si è verificato un errore durante il controllo della validità di questo token:"
+
+#. +----------------------------------------------------------------------------------------------------------------+
+#. |                                             SETTING & RELATED FNS                                              |
+#. +----------------------------------------------------------------------------------------------------------------+
+#. TODO - rename this to premium-features-token?
+#: src/metabase/public_settings/metastore.clj
+msgid "Token for premium features. Go to the MetaStore to get yours!"
+msgstr "Token per funzionalità premium. Vai al MetaStore per ottenere il tuo!"
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Token format is invalid. Token should be 64 hexadecimal characters."
+msgstr "Il formato del token non è valido. Il token dovrebbe essere 64 caratteri esadecimali."
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Error setting premium features token"
+msgstr "Errore durante l'impostazione delle funzioni premium del token"
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Error validating token:"
+msgstr "Errore durante la convalida del token:"
+
+#: src/metabase/query_processor.clj
+msgid "Error preprocessing query"
+msgstr "Errore durante la pre-elaborazione della query"
+
+#: src/metabase/query_processor.clj
+msgid "No native form returned."
+msgstr "Nessun form nativo è stato restituito"
+
+#: src/metabase/query_processor.clj
+msgid "Invalid response from database driver. No :status provided."
+msgstr "Risposta non valida dal driver del database. Nessuno stato fornito."
+
+#: src/metabase/query_processor.clj
+msgid "General error"
+msgstr "Errore generale"
+
+#: src/metabase/query_processor.clj
+msgid "Missing query hash!"
+msgstr "Hash della query mancante!"
+
+#: src/metabase/query_processor/middleware/add_implicit_clauses.clj
+msgid "Table ''{0}'' has no Fields associated with it."
+msgstr "La tabella ''{0}'' non ha campi associati."
+
+#: src/metabase/query_processor/middleware/add_query_throttle.clj
+msgid "Max concurrent query limit reached"
+msgstr "È stato raggiunto il limite massimo di query simultanee"
+
+#. we should never reach this if our patterns are written right so this is more to catch code mistakes than
+#. something the user should expect to see
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "Don't know how to get information about Field:"
+msgstr "Non so come ottenere informazioni sul Campo:"
+
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "metabase.query-processor.interface/*driver* is unbound."
+msgstr "metabase.query-processor.interface/*driver* non associato."
+
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "Query processor error: mismatched number of columns in query and results."
+msgstr "Errore nel processo di query: numero non corrispondente di colonne nella query e nei risultati."
+
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "Expected {0} fields, got {1}"
+msgstr "{0} campi previsti, {1} ottenuti"
+
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "Expected: {0}"
+msgstr "Previsti: {0}"
+
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "Actual: {0}"
+msgstr "Effettivo: {0}"
+
+#: src/metabase/query_processor/middleware/binning.clj
+msgid "Unable to bin Field without a min/max value"
+msgstr "Impossbile binnare il Campo senza un valore min/max"
+
+#: src/metabase/query_processor/middleware/check_features.clj
+msgid "{0} is not supported by this driver."
+msgstr "{0} non supportato da questo driver."
+
+#: src/metabase/query_processor/middleware/expand_macros.clj
+msgid "Segment {0} does not exist, or is invalid."
+msgstr "Segmento {0} non esistente o non valido."
+
+#: src/metabase/query_processor/middleware/expand_macros.clj
+msgid "Metric {0} does not exist, or is invalid."
+msgstr "Metrica {0} non esistente o non valido."
+
+#: src/metabase/query_processor/middleware/fetch_source_query.clj
+msgid "Missing source query in Card {0}"
+msgstr "Query sorgente mancante nella Scheda {0}"
+
+#: src/metabase/query_processor/middleware/fetch_source_query.clj
+msgid "Fetched source query from Card {0}:"
+msgstr "Query sorgente recuperata dalla Scheda {0}:"
+
+#: src/metabase/query_processor/middleware/mbql_to_native.clj
+msgid "Error transforming MBQL query to native:"
+msgstr "Errore durante la conversione della query MBQL in nativa:"
+
+#: src/metabase/query_processor/middleware/resolve_source_table.clj
+msgid "Cannot run query: could not find source table {0}."
+msgstr "Non riesco a eseguire la query: non posso trovare la tabella sorgente {0}."
+
+#: src/metabase/query_processor/middleware/results_metadata.clj
+msgid "Error recording results metadata for query:"
+msgstr "Errore durante la registrazione dei metadati dei risultati della query:"
+
+#: src/metabase/query_processor/store.clj
+msgid "Error: Query Processor store is not initialized."
+msgstr "Errore: Query Processor Store non inizializzato."
+
+#: src/metabase/query_processor/store.clj
+msgid "Error: Table {0} is not present in the Query Processor Store."
+msgstr "Errore: la tabella {0} non è presente nel Query Processor Store."
+
+#: src/metabase/query_processor/store.clj
+msgid "Error: Field {0} is not present in the Query Processor Store."
+msgstr "Errore: il Campo {0} non è presente nel Query Processor Store."
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Task history cleanup successful, rows were {0}deleted"
+msgstr "Elenco attività pulito con successo, eliminate {0} righe."
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "not"
+msgstr "no"
+
+#: src/metabase/util/encryption.clj
+msgid "For more information, see"
+msgstr "Per maggiori informazioni, guardare"
+
+#: src/metabase/util/schema.clj
+msgid "Integer greater than or equal to zero"
+msgstr "Numero intero maggiore o uguale a zero"
+
+#: src/metabase/util/schema.clj
+msgid "value must be an integer greater than or equal to zero."
+msgstr "il valore deve essere un numero intero maggiore o uguale a zero."
+
+#: src/metabase/util/schema.clj
+msgid "value must be an integer zero or greater."
+msgstr "il valore deve essere 0 o un numero intero maggiore."
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid integer greater than or equal to zero."
+msgstr "il valore deve essere un numero intero valido, maggiore o uguale a zero."
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "New users per state in the last 30 days"
+msgstr "Nuovi utenti per stato negli ultimi 30 giorni"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Created At by day of the week"
+msgstr "Creato il, per giorno della settimana"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Created At by quarter of the year"
+msgstr "Creato il, per quarto di anno"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] per country"
+msgstr "[[this.short-name]] per paese"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Users per source"
+msgstr "Utenti per sorgente"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "The top external pages that brought users to your site"
+msgstr "Le principali pagine esterne che hanno portato gli utenti al tuo sito"
+
+#: resources/automagic_dashboards/comparison/State.yaml
+#: resources/automagic_dashboards/comparison/FK.yaml
+#: resources/automagic_dashboards/comparison/Country.yaml
+#: resources/automagic_dashboards/comparison/GenericField.yaml
+msgid "How [[this]] is distributed and more."
+msgstr "Come [[this]] è distribuito e altro."
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "The [[this]] over time"
+msgstr "Il [[this]] nel tempo"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "User growth"
+msgstr "Crescita dell'utente"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Whether or not there are any patterns to when they happen."
+msgstr "Indipendentemente dal fatto che ci siano o no dei modelli in cui accadono."
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Users per state"
+msgstr "Utenti per stato"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Sessions"
+msgstr "Sessioni"
+
+#: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
+msgid "How some of the numbers in [[this]] relate to each other"
+msgstr "Come alcuni dei numeri in [[this]] si mettono in relazione l'uno con l'altro"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Sales per country"
+msgstr "Vendite per paese"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Join date by month of the year"
+msgstr "Unire la data per mese dell'anno"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "[[Timestamp]] by hour of the day"
+msgstr "[[Timestamp]] per ora del giorno"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "A look at the [[this]]"
+msgstr "Uno sguardo a [[this]]"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "Bottom 5 per category"
+msgstr "Le ultime 5 per catogoria"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Number of orders"
+msgstr "Numero di ordini"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Event growth"
+msgstr "Crescita degli eventi"
+
+#: resources/automagic_dashboards/table/example/indepth.yaml
+msgid "Total [[GenericTable]]"
+msgstr "Totale [[GenericTable]]"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Income growth"
+msgstr "Crescita degli incassi"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Top 10 countries by sales in the last 30 days"
+msgstr "10 migliori paesi per vendite negli ultimi 30 giorni"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "[[this]] by month of the year"
+msgstr "[[this]] per mese dell'anno"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Transactions per day of the week"
+msgstr "Transazioni per giorno della settimana"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Sessions by device type"
+msgstr "Sessioni per tipo di dispositivo"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Transactions per country"
+msgstr "Transazioni per paese"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Join date by quarter of the year"
+msgstr "Unisci la data per trimestre"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per hour of the day"
+msgstr "Eventi per ora del giorno"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[Singleton]]"
+msgstr "[[Singleton]]"
+
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "Top 5 [[this]]"
+msgstr "Top 5 [[this]]"
+
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "Bottom 5 [[this]]"
+msgstr "Ultimi 5 [[this]]"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "[[Timestamp]] by day of the month"
+msgstr "[[Timestamp]] per giorno del mese"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Per [[GenericCategoryLarge]]"
+msgstr "Per [[GenericCategoryLarge]]"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+msgid "Null values"
+msgstr "Valori nulli"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Total events"
+msgstr "Eventi totali"
+
+#: resources/automagic_dashboards/field/GenericField.yaml
+msgid "A look at [[GenericTable]] across your [[this]], and how it changes over time."
+msgstr "Uno sguardo a [[GenericTable]] attraverso il tuo [[this]], e come cambia nel tempo."
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per [[GenericCategoryMedium]]"
+msgstr "[[this]] per [[GenericCategoryMedium]]"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "How the [[this]] changes with time"
+msgstr "Come [[this]] cambia nel tempo"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "How they compare by seasonality"
+msgstr "Come si confrontano per stagionalità"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Average income per transaction"
+msgstr "Reddito medio per transazione"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per country"
+msgstr "[[this]] per paese"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Income per state"
+msgstr "Reddito per stato"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Per [[GenericCategoryMedium]]"
+msgstr "Per [[GenericCategoryMedium]]"
+
+#: resources/automagic_dashboards/question/GenericQuestion.yaml
+msgid "A closer look at your [[this]]"
+msgstr "Un'occhiata da vicino al tuo [[this]]"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "How [[GenericNumber]] is distributed"
+msgstr "Come è distribuito [[GenericNumber]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "[[Timestamp]] by quarter of year"
+msgstr "[[Timestamp]] per trimestre"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per country"
+msgstr "Eventi per paese"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Weekdays when [[this.short-name]] were added"
+msgstr "Giorni della settimana in cui [[this.short-name]] sono stati aggiunti"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Months when [[this.short-name]] were added"
+msgstr "Mesi in cui [[this.short-name]] sono stati aggiunti"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How they compare across different categories"
+msgstr "Come si confrontano tra categorie diverse"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "New users per source in the last 30"
+msgstr "Nuovi utenti per sorgente negli ultimi 30"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per quarter of the year"
+msgstr "Eventi per trimestre"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Heres a quick look at your [[this]]"
+msgstr "Ecco una rapida occhiata al tuo [[this]]"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per [[GenericCategoryLarge]], top 5"
+msgstr "[[this]] per [[GenericCategoryLarge]], primi 5"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Days when [[this.short-name]] were added"
+msgstr "Giorni in cui [[this.short-name]] sono stati aggiunti"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Total orders per source"
+msgstr "Totale ordini per sorgente"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "[[this]] by quarter of the year"
+msgstr "[[this]] per trimestre"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per [[GenericCategoryMedium]]"
+msgstr "Eventi per [[GenericCategoryMedium]]"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per state"
+msgstr "Eventi per stato"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Top landing pages"
+msgstr "Top landing pages"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Heres a closer look at your [[this]] over time"
+msgstr "Ecco uno sguardo più vicino al tuo [[this]] nel tempo"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "Sum of [[this]] by [[Country]]"
+msgstr "Somma di [[this]] per [[Country]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "States that are performing best"
+msgstr "Stati che stanno ottenendo i migliori risultati"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Created At by month of the year"
+msgstr "Creato per mese dell'anno"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "Sum of [[this]] by [[State]]"
+msgstr "Somma di [[this]] per [[State]]"
+
+#: resources/automagic_dashboards/field/State.yaml
+msgid "Sum of [[GenericNumber]] per [[this]]"
+msgstr "Somma di [[GenericNumber]] per [[this]]"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events by coordinates"
+msgstr "Eventi per coordinate"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Top referral pages"
+msgstr "Migliori pagine di riferimento"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "An exploration of your users to get you started."
+msgstr "Un'esplorazione ai tuoi utenti per cominciare."
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "An overview of your [[this]] and how its distributed across time, place, and categories."
+msgstr "Una panoramica del tuo [[this]] e di come è distribuito nel tempo, luogo e categorie."
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Average income per state"
+msgstr "Entrate medie per stato"
+
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+msgid "[[this]] by [[GenericCategoryMedium]]"
+msgstr "[[this]] per [[GenericCategoryMedium]]"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Total transactions"
+msgstr "Transazioni totali"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] that have joined over time"
+msgstr "[[this.short-name]] che si sono uniti nel tempo"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "The [[this]] by location"
+msgstr "Il [[this]] per luogo"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per month of the year"
+msgstr "Eventi per mese dell'anno"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] by [[GenericNumber]]"
+msgstr "[[this]] per [[GenericNumber]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Quarters when [[this.short-name]] were added"
+msgstr "Quarti quando [[this.short-name]] sono stati aggiunti"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "How these [[this.short-name]] are distributed"
+msgstr "Come questi [[this.short-name]] sono distribuiti"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] by [[GenericNumber]]"
+msgstr "[[this.short-name]] per [[GenericNumber]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Where users are coming from"
+msgstr "Da dove stanno arrivando gli utenti"
+
+#: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
+msgid "[[this]] comparisons and correlations"
+msgstr "[[this]] confronti e correlazioni"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Total income"
+msgstr "Entrate totali"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Total income per month"
+msgstr "Entrate totali per mese"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Number of users per source"
+msgstr "Numero di utenti per sorgente"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Transactions per state"
+msgstr "Transazioni per stato"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "[[this]] by [[Timestamp]]"
+msgstr "[[this]] per [[Timestamp]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "New users per source in the last 30 days"
+msgstr "Nuovi utenti per sorgente negli ultimi 30 giorni"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Join date by day of the month"
+msgstr "Unisci la data per giorno del mese"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Average discount %"
+msgstr "Sconto medio %"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Autogenerated metrics about [[GenericTable]]."
+msgstr "Metrica generata automaticamente su [[GenericTable]]"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per day of the month"
+msgstr "[[this]] per giorno del mese"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Total sessions in each country"
+msgstr "Sessioni totali in ogni paese"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Transactions per month of the year"
+msgstr "Transazioni per mese dell'anno"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Sales per product"
+msgstr "Vendite per prodotto"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Users in each country"
+msgstr "Utenti in ogni paese"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "[[this]] by hour of the day"
+msgstr "[[this]] per ora del giorno"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events in the last 30 days"
+msgstr "Eventi negli ultimi 30 giorni"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Transactions per source"
+msgstr "Transazioni per sorgente"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Where youve acquired your users"
+msgstr "Dove hai acquisito i tuoi utenti"
+
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How they compare acrosss location"
+msgstr "Come si confrontano attraverso la posizione"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "[[this]] per product"
+msgstr "[[this]] per prodotto"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per month of the year"
+msgstr "[[this]] per mese dell'anno"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Per country"
+msgstr "Per paese"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "A deeper look at how different countries are performing for you."
+msgstr "Uno sguardo profondo a come i paesi operino in modo differente per te."
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Sales per state"
+msgstr "Vendite per stato"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events by [[GenericNumber]]"
+msgstr "Eventi per [[GenericNumber]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "Sales per product [[ProductCategoryMedium]]"
+msgstr "Vendite per prodotto [[ProductCategoryMedium]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "User acquisition by country"
+msgstr "Acquisizione degli utenti per paesi"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "[[this]] per source"
+msgstr "[[this]] per sorgente"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "[[this]] by day of the week"
+msgstr "[[this]] per giorno della settimana"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Days of the month when [[this.short-name]] joined"
+msgstr "Giorni del mese in cui [[this.short-name]] si sono uniti"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Heres an overview of the people in your [[this]]"
+msgstr "Ecco una panoramica delle persone nel tuo [[this]]"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "How [[GenericTable]] are distributed across this time field, and if it has any seasonal patterns."
+msgstr "Come [[GenericTable]] sono distribuiti in questo campo temporale e se ha schemi stagionali."
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+#: resources/automagic_dashboards/table/EventTable.yaml
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Overview"
+msgstr "Panoramica"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How this metric is distributed across different categories"
+msgstr "In che modo questa metrica è distribuita tra diverse categorie"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] per state"
+msgstr "[[this.short-name]] per stato"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Weekdays when [[this.short-name]] joined"
+msgstr "Giorni ferial quando [[this.short-name]] si è unito."
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Hours when [[this.short-name]] joined"
+msgstr "Ore quando [[this.short-name]] si è unito"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Total income by month"
+msgstr "Entrate totali per mese"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "A breakdown of your [[this]] over time, and its min, max, average and more."
+msgstr "Una ripartizione del tuo [[this]] nel tempo, il suo minimo, massimo, medio e altro."
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Average quantity per state"
+msgstr "Quantità media per stato"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How they compare by across different numbers"
+msgstr "Come confrontare attraverso numeri diversi"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "New users per country in the last 30 days"
+msgstr "Nuovi utenti per paese negli ultimi 30 giorni"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Transactions over time"
+msgstr "Transazioni nel tempo"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per [[GenericCategorySmall]]"
+msgstr "[[this]] per [[GenericCategorySmall]]"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Some breakdown"
+msgstr "Qualche ripartizione"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "Average of [[this]] by [[State]]"
+msgstr "Media di [[this]] per [[State]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Transactions per quarter of the year"
+msgstr "Transazioni per trimestre"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "By coordinates"
+msgstr "Per coordinate"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "Heres a closer look at your [[this]] by products"
+msgstr "Un'occhiata da vicino al tuo [[this]] per prodotti"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per quarter of the year"
+msgstr "[[this]] per trimestre"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Heres an overview of your [[this]] data from Google Analytics"
+msgstr "Una panoramica del tuo dato [[this]] da Google Analytics"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Quarters when [[this.short-name]] joined"
+msgstr "Quarti quando [[this.short-name]] si è unito"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "New [[this.short-name]] in the last 30 days"
+msgstr "Nuovo [[this.short-name]] negli ultimi 30 giorni"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Total sessions by desktop, mobile, or tablet"
+msgstr "Sessioni totali per desktop, mobile o tablet"
+
+#: resources/automagic_dashboards/table/example/indepth.yaml
+msgid "Indepth example"
+msgstr "Esempio approfondito"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Average income per source"
+msgstr "Entrata media per sorgente"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "[[Timestamp]] by day of week"
+msgstr "[[Timestamp]] per giorno della settimana"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/question/GenericQuestion.yaml
+msgid "Heres a closer look at your [[this]]"
+msgstr "Un'occhiata da vicino al tuo [[this]]"
+
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "Heres a closer look at your [[this]] field"
+msgstr "Ecco uno sguardo più vicino al tuo [[this]] field"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Summary"
+msgstr "Riepilogo"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "How the [[this]] is distributed geographically"
+msgstr "Come [[this]] è distribuito geograficamente"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "The pages with the most pageviews"
+msgstr "Le pagine con le visite maggiori"
+
+#: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
+msgid "How [[Number1]] is correlated with [[Number2]]"
+msgstr "Come [[Number1]] è correlato con [[Number2]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Top 10 states by sales in the last 30 days"
+msgstr "Migliori 10 stati per vendite negli ultimi 30 giorni"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Top 10 states by sales"
+msgstr "Top 10 stati per vendite"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[Timestamp]]"
+msgstr "[[Timestamp]]"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Where these transactions happened"
+msgstr "Dove queste transazioni sono avvenute"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Top 10 countries by sales"
+msgstr "Migliori 10 paesi per vendite"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Sales by state"
+msgstr "Vendite per stato"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Where most of your sessions originate from"
+msgstr "Da dove proviene la maggior parte delle sessioni"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Top acquisition channels"
+msgstr "Migliori canali di acquisizione"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "These [[this.short-name]] across time"
+msgstr "Questi [[this.short-name]] nel tempo"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Average quantity"
+msgstr "Quantità media"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Sales per source"
+msgstr "Vendite per sorgente"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Average income per country"
+msgstr "Reddito medio per paese"
+
+#: resources/automagic_dashboards/comparison/State.yaml
+#: resources/automagic_dashboards/comparison/FK.yaml
+#: resources/automagic_dashboards/comparison/Country.yaml
+#: resources/automagic_dashboards/comparison/GenericField.yaml
+msgid "How [[this]] is distributed"
+msgstr "Come [[this]] è distribuito"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Distinct [[FK]]"
+msgstr "Distinti [[FK]]"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "How these transactions are distributed"
+msgstr "Come sono distribuite queste transazioni"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Per state"
+msgstr "Per stato"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "Count of [[GenericCategoryMedium]] by [[this]]"
+msgstr "Conteggio di [[GenericCategoryMedium]] per [[this]]"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+#: resources/automagic_dashboards/table/UserTable.yaml
+#: resources/automagic_dashboards/comparison/State.yaml
+#: resources/automagic_dashboards/comparison/FK.yaml
+#: resources/automagic_dashboards/comparison/Country.yaml
+#: resources/automagic_dashboards/comparison/GenericField.yaml
+msgid "A look at your [[this]]"
+msgstr "Uno sguardo al tuo [[this]]"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+msgid "[[GenericNumber]] by [[this]]"
+msgstr "[[GenericNumber]] per [[this]]"
+
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "Sum of [[GenericNumber]] by [[this]]"
+msgstr "Somma di [[GenericNumber]] per [[this]]"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "A look at your [[this]] table"
+msgstr "Uno sguardo alla tua tabella [[this]]"
+
+#: resources/automagic_dashboards/field/State.yaml
+msgid "How many [[GenericTable]] there are per state, and how each state is represented across other categories."
+msgstr "Quante [[GenericTable]] ci sono per stato, e quanto è rappresentato ogni stato per altre categorie"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Most-viewed pages"
+msgstr "Pagine più visitate"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Example exploration"
+msgstr "Esplorazione di esempio"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "Sales vs. rating"
+msgstr "Vendite vs Rating"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per hour of the day"
+msgstr "[[this]] per ora del giorno"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Where your [[this.short-name]] are"
+msgstr "Dove sono i tuoi [[this.short-name]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "These are the same for all your [[this.short-name]]"
+msgstr "Queste sono le stesse per tutti i tuoi [[this.short-name]]"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events by different categories"
+msgstr "Eventi per categorie diverse"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Where these [[this.short-name]] are"
+msgstr "Dove sono questi [[this.short-name]]"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "Over time"
+msgstr "Fuori tempo"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "A summary of the events in your [[this]] table"
+msgstr "Un riepilogo degli eventi nella tua tabella [[this]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Transactions per source over time"
+msgstr "Transazioni per sorgente nel tempo"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+msgid "How the [[this]] is distributed"
+msgstr "Come è stato distribuito il [[this]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Total income per source"
+msgstr "Reddito totale per sorgente"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Total [[this.short-name]]"
+msgstr "Totale [[this.short-time]]"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Some metrics we found about your transactions."
+msgstr "Alcune metriche che abbiamo trovato sulle tue transazioni."
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "How your different products are performing."
+msgstr "Come stanno andando i tuoi diversi prodotti."
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Where these events are happening"
+msgstr "Dove questi eventi stanno accadendo"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Which US states are bringing you the most business."
+msgstr "Quali stati USA ti stanno portando più affari."
+
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How they compare across time"
+msgstr "Come si paragonano nel tempo"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Average transaction income per month"
+msgstr "Entrate medie delle transazioni al mese"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Average quantity per month"
+msgstr "Quantità media al mese"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "Seasonal patterns in the [[this]]"
+msgstr "Modelli stagionali in [[this]]"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events over time"
+msgstr "Eventi nel tempo"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Orders and income per source"
+msgstr "Ordini e reddito per sorgente"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Transactions per hour of the day"
+msgstr "Transazioni per ora del giorno"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Where most of your traffic is coming from."
+msgstr "Da dove proviene la maggior parte del tuo traffico."
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "Heres a quick look at the [[this]]"
+msgstr "Ecco uno sguardo veloce a [[this]]"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "It looks like your [[this]] has transactions, so heres a look at them"
+msgstr "Sembra che il tuo [[this]] abbia transazioni, quindi ecco uno sguardo ad esse"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Average discount per month"
+msgstr "Sconto medio al mese"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "[[Timestamp]] by month of the year"
+msgstr "[[Timestamp]] per mese dell'anno"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per [[GenericCategorySmall]] over time"
+msgstr "[[this]] per [[GenericCategorySmall]] nel tempo"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Distribution by coordinates"
+msgstr "Distribuzione per coordinate"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Sales by source"
+msgstr "Vendite per sorgente"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Sales for each product category"
+msgstr "Vendite per ogni categoria di prodotto"
+
+#: resources/automagic_dashboards/question/GenericQuestion.yaml
+msgid "A closer look at the metrics and dimensions used in this saved question."
+msgstr "Un'occhiata da vicino alle metriche ed alle dimensioni utilizzate nella question salvata."
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] per [[GenericCategoryMedium]]"
+msgstr "[[this.short-name]] per [[GenericCategoryMedium]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "Sales per product [[ProductCategoryLarge]]"
+msgstr "Vendite per prodotto [[ProductCategoryLarge]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Average quantity per country"
+msgstr "Quantità media per paese"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] per [[GenericCategoryLarge]]"
+msgstr "[[this.short-name]] per [[GenericCategoryLarge]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Heres a closer look at your [[this]] per source"
+msgstr "Ecco uno sguardo al tuo [[this]] per sorgente"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per day of the month"
+msgstr "Eventi per giorno del mese"
+
+#: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
+msgid "If youre into correlations, this is the x-ray for you."
+msgstr "Se sei in correlazioni, questi sono i raggi-X per te."
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Sessions by Country"
+msgstr "Sessioni per paese"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Some interesting metrics about your GA stats to get you started."
+msgstr "Qualche metrica interessante sulle tue statistiche GA per iniziare."
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per state"
+msgstr "[[this]] per stato"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "[[Timestamp]] by quarter of the year"
+msgstr "[[Timestamp]] per trimestre"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How its distributed across time and other categories."
+msgstr "Com'è distribuito attraverso il tempo e altre categorie."
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "A look at your events over time and by several categories."
+msgstr "Uno sguardo ai tuoi eventi nel tempo e per varie categorie."
+
+#: resources/automagic_dashboards/field/State.yaml
+msgid "[[GenericTable]] per [[this]]"
+msgstr "[[GenericTable]] per [[this]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Average quantity per source"
+msgstr "Quantità media per sorgente"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "Top 5 per category"
+msgstr "Top 5 per categoria"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per day of the week"
+msgstr "Eventi per giorno della settimana"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "New [[this.short-name]] per month"
+msgstr "Nuovo [[this.short-name]] per mese"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Top performers"
+msgstr "I migliori esecutori"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Transactions in the last 30 days"
+msgstr "Transazioni negli ultimi 30 giorni"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "[[GenericTable]] by [[this]]"
+msgstr "[[GenericTable]] per [[this]]"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Overview of your [[this]] data from Google Analytics"
+msgstr "Panoramica dei tuoi [[this]] dati da Google Analytics"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Created At by hour of the day"
+msgstr "Creato Il per ora del giorno"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Sales by month"
+msgstr "Vendite mensili"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "How the [[this]] is distributed across categories"
+msgstr "Come il [[this]] è distribuito per categorie"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "[[Timestamp]] by month of year"
+msgstr "[[Timestamp]] per mese dell'anno"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "How many total sessions vs. how many individual users you had each day."
+msgstr "Quante sessioni totali rispetto a quanti singoli utenti hai avuto ogni giorno."
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How this metric is distributed across different numbers"
+msgstr "Come questa metrica è distribuira attraverso numeri differenti"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Sessions by page where the session began"
+msgstr "Sessioni per pagina in cui è iniziata la sessione"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+msgid "Distinct values"
+msgstr "Valori distinti"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Hours when [[this.short-name]] were added"
+msgstr "Ore quando [[this.short-name]] è stato aggiunto"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "[[Timestamp]] by day of the week"
+msgstr "[[Timestamp]] per giorno della settimana"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[GenericNumber]] over time"
+msgstr "[[GenericNumber]] attraverso il tempo"
+
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+#: resources/automagic_dashboards/comparison/State.yaml
+#: resources/automagic_dashboards/comparison/FK.yaml
+#: resources/automagic_dashboards/comparison/Country.yaml
+#: resources/automagic_dashboards/comparison/GenericField.yaml
+msgid "Heres an overview of your [[this]]"
+msgstr "Ecco una panoramica del tuo [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] by coordinates"
+msgstr "[[this.short-name]] per coordinate"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Heres a closer look at your [[this]] per state"
+msgstr "Ecco uno sguardo più vicino al tuo [[this]] per stato"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Created At by day of the month"
+msgstr "\"Creato il\" per giorno del mese"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Sales by coordinates"
+msgstr "Vendite per coordinate"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "New [[this.short-name]] over time"
+msgstr "Nuovo [[this.short-name]] nel tempo"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Join date by hour of the day"
+msgstr "Unire la data per ora del giorno"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "[[Timestamp]] by hour of day"
+msgstr "[[Timestamp]] per ora del giorno"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Sessions and unique users per day"
+msgstr "Sessioni e utenti unici per giorno"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per [[GenericCategoryLarge]]"
+msgstr "Eventi per [[GenericCategoryLarge]]"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "How they compare by distribution"
+msgstr "Come confrontano per distribuzione"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Income per country"
+msgstr "Entrata per paese"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Heres a closer look at your [[this]] per country"
+msgstr "Eccoti alcuni dettagli in merito al tuo [[this]] per regione"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Sales by product [[ProductCategory]]"
+msgstr "Vendite per prodotto [[ProductCategory]]"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per [[GenericCategoryLarge]], bottom 5"
+msgstr "[[this]] per [[GenericCategoryLarge]], ultimi 5"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] added in the last 30 days"
+msgstr "[[this.short-name]] aggiunti negli ultimi 30 giorni"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Per [[Source]]"
+msgstr "Per [[Source]]"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Average item quantity per month"
+msgstr "Quantità media articolo per mese"
+
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "The number of [[GenericTable]] per country, and how each country is represented in different categories."
+msgstr "Il numero di [[GenericTable]] per paese, e come ogni paese è rappresentato in categorie diverse."
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per day of the week"
+msgstr "[[this]] per giorno della settimana"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Average qunatity per source"
+msgstr "Quantità media per sorgente"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] by [[Timestamp]]"
+msgstr "[[this.short-name]] by [[Timestamp]]"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "Summary statistics"
+msgstr "Riepilogo statistiche"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Sales per month"
+msgstr "Vendite per mese"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[GenericNumber]] by join date"
+msgstr "[[GenericNumber]] per data di unione"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "Average of [[this]] by [[Country]]"
+msgstr "Media di [[this]] per [[Country]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "[[this]] over time"
+msgstr "[[this]] attraverso il tempo"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Join date by day of the week"
+msgstr "Unire la data per giorno della settimana"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "We crunched the numbers for your [[this]]"
+msgstr "Abbiamo ridotto i numeri per il tuo [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Months when [[this.short-name]] joined"
+msgstr "Mesi quando [[this.short-name]] si è unito"
+
+#: src/metabase/api/geojson.clj
+msgid "Unable to parse resource `{0}` as JSON"
+msgstr "Impossibile analizzare la risorsa `{0}` come JSON"
+
+#: src/metabase/api/geojson.clj
+msgid "Unable to find JSON via relative path `{0}`"
+msgstr "Impossibile trovare JSON tramite il percorso relativo `{0}`"
+
+#: src/metabase/api/geojson.clj
+msgid "Connection to host timed out for URL `{0}`"
+msgstr "Connessione all'host scaduta per URL `{0}`"
+
+#: src/metabase/api/geojson.clj
+msgid "Unable to connect to unknown host at URL `{0}`"
+msgstr "Impossibile collegare URL `{0}` ad un host sconosciuto "
+
+#: src/metabase/api/geojson.clj
+msgid "Unable to connect to host at URL `{0}`"
+msgstr "Impossibile collegare URL `{0}` ad un host"
+
+#: src/metabase/api/geojson.clj
+msgid "Connection refused by host at for URL `{0}`"
+msgstr "Connessione a URL `{0}` rifiutata dall'host"
+
+#: src/metabase/api/geojson.clj
+msgid "Unable to retrieve resource at URL `{0}`"
+msgstr "Impossibile trovare la risorsa su URL `{0}`"
+
+#: src/metabase/api/geojson.clj
+msgid "Unable to parse resource at URL `{0}` as JSON"
+msgstr "Impossibile formattare la risorsa su URL `{0}` come JSON"
+
+#: src/metabase/api/session.clj
+msgid "Problem connecting to LDAP server, will fall back to local authentication: {0}"
+msgstr "Problemi durante la connessione al server LDAP, procedere con l'autenticazione in locale: {0}"
+
+#: src/metabase/driver/bigquery.clj
+msgid "BigQuery statements can''t be parameterized!"
+msgstr "Gli stati delle BigQuery non possono essere parametrizzate."
+
+#: src/metabase/driver/druid/query_processor.clj
+msgid "WARNING: Druid does not allow limitSpec in time series queries. Ignoring the LIMIT clause."
+msgstr "ATTENZIONE: Druid non consente limitSpec nelle query di serie temporali. Ignorare la condizione LIMIT"
+
+#: src/metabase/driver/snowflake.clj
+msgid "Invalid Snowflake connection details: missing DB name."
+msgstr "Dettagli di connessione Snowflake non validi: Manca il nome del DB"
+
+#: src/metabase/email/messages.clj
+msgid "We’d love your feedback."
+msgstr "Apprezzeremo il tuo feedback"
+
+#: src/metabase/email/messages.clj
+msgid "It looks like Metabase wasn’t quite a match for you."
+msgstr "Sembra che Metabase non sia rientrato nelle tue aspettative"
+
+#: src/metabase/email/messages.clj
+msgid "Would you mind taking a fast 5 question survey to help the Metabase team understand why and make things better in the future?"
+msgstr "Ti andrebbe di rispondere a 5 domandine veloci per aiutare il nostro team a comprendere perchè e migliorare le cose in futuro?"
+
+#: src/metabase/email/messages.clj
+msgid "We hope you''ve been enjoying Metabase."
+msgstr "Ci auguriamo che ti sia trovato bene con Metabase."
+
+#: src/metabase/email/messages.clj
+msgid "Would you mind taking a fast 6 question survey to tell us how it’s going?"
+msgstr "Ti andrebbe di dirci come sta andando, rispondendo a 6 domandine veloci?"
+
+#: src/metabase/email/messages.clj
+msgid "{0} created a Metabase account"
+msgstr "{0} ha creato un account Metabase."
+
+#: src/metabase/email/messages.clj
+msgid "{0} accepted their Metabase invite"
+msgstr "{0} ha accettato l'invito a Metabase."
+
+#: src/metabase/email/messages.clj
+msgid "[Metabase] Password Reset Request"
+msgstr "[Metabase] Richiesta di recupero Password"
+
+#: src/metabase/email/messages.clj
+msgid "[Metabase] Notification"
+msgstr "[Metabase] Notifica"
+
+#: src/metabase/email/messages.clj
+msgid "[Metabase] Help make Metabase better."
+msgstr "[Metabase] Aiuta a migiorare Metabase"
+
+#: src/metabase/email/messages.clj
+msgid "[Metabase] Tell us how things are going."
+msgstr "[Metabase] Raccontaci come vanno le cose."
+
+#: src/metabase/mbql/util.clj
+msgid "Error: query''s source query has not been resolved. You probably need to `preprocess` the query first."
+msgstr "Errore: la query di origine della query non è stata risolta. Probabilmente hai prima bisogno di 'pre-elaborare' la query."
+
+#: src/metabase/models/params.clj
+msgid "Don't know what to do with:"
+msgstr "Non so che farci"
+
+#: src/metabase/models/params.clj
+msgid "Don't know how to wrap:"
+msgstr "Non so come impacchettare:"
+
+#: src/metabase/public_settings.clj
+msgid "Failed setting `query-caching-max-kb` to {0}."
+msgstr "Impostazione di `query-caching-max-kb` a {0} fallita."
+
+#: src/metabase/public_settings.clj
+msgid "Values greater than {1} are not allowed."
+msgstr "Valori maggiori a {1} non sono consentiti."
+
+#: src/metabase/query_processor/middleware/resolve_database.clj
+msgid "Database {0} does not exist."
+msgstr "Il database {0} non esiste"
+
+#: src/metabase/query_processor/store.clj
+msgid "Error: Database is not present in the Query Processor Store."
+msgstr "Errore: Il database non risulta presente nel Query Processor Store"
+
+#: src/metabase/util/embed.clj
+msgid "Invalid embedding-secret-key! Secret key must be a hexadecimal-encoded 256-bit key (i.e., a 64-character string)."
+msgstr "Chiave segreta per l'inclusione non valida! Deve essere una chiave esadecimale a codifica 256-bit (ad esempio una stringa di 64 caratteri)."
+
+#: src/metabase/util/embed.clj
+msgid "JWT is missing `alg`."
+msgstr "JWT manca `alg`."
+
+#: src/metabase/util/embed.clj
+msgid "JWT `alg` cannot be `none`."
+msgstr "JWT `alg` non può essere `none`"
+
+#: src/metabase/util/embed.clj
+msgid "The embedding secret key has not been set."
+msgstr "La chiave segreta per l'inclusione non è stata configurata"
+
+#: src/metabase/util/embed.clj
+msgid "Token is missing value for keypath"
+msgstr "Token mancante nel keypath"
+
+#: resources/automagic_dashboards/table/example/indepth.yaml
+msgid "In-depth example"
+msgstr "esempio in profondità"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:29
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:17
+msgid "Key"
+msgstr "Chiave"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:30
+msgid "Class"
+msgstr "Classe"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:32
+msgid "Triggers"
+msgstr "Trigger"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:48
+msgid "View triggers"
+msgstr "Vedi trigger"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:82
+msgid "Scheduler Info"
+msgstr "Informazioni sullo scheduler"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:20
+msgid "Priority"
+msgstr "Priorità"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:21
+msgid "Last Fired"
+msgstr "Ultima Esecuzione"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:22
+msgid "Next Fire Time"
+msgstr "Prossima Esecuzione"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:23
+msgid "Start Time"
+msgstr "Data inizio"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:24
+msgid "End Time"
+msgstr "Data fine"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:25
+msgid "Final Fire Time"
+msgstr "Tempo di innesco finale"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:26
+msgid "May Fire Again?"
+msgstr "Può Lanciare ancora?"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:75
+msgid "Triggers for {0}"
+msgstr "Innesco per {0}"
+
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:25
+msgid "Tasks"
+msgstr "Tasks"
+
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:30
+msgid "Jobs"
+msgstr "Jobs"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:740
+msgid "Duplicated {0}"
+msgstr "Duplicato {0}"
+
+#: frontend/src/metabase/components/EntityItem.jsx:55
+msgid "Duplicate this item"
+msgstr "Duplica questo elemento"
+
+#: frontend/src/metabase/components/EntityItem.jsx:61
+msgid "Archive this item"
+msgstr "Archivia questo elemento"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:330
+msgid "Duplicate dashboard"
+msgstr "Duplica dashboard"
+
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:16
+msgid "Duplicate \"{0}\""
+msgstr "Duplica \"{0}\""
+
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:21
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:26
+msgid "Duplicate"
+msgstr "Duplica"
+
+#: frontend/src/metabase/lib/query_time.js:115
+msgid "Tomorrow"
+msgstr "Domani"
+
+#: frontend/src/metabase/lib/query_time.js:129
+#: frontend/src/metabase/lib/query_time.js:143
+msgid "This {0}"
+msgstr "Questo {0}"
+
+#: frontend/src/metabase/lib/query_time.js:132
+msgid "Next {0}"
+msgstr "Prossimo {0}"
+
+#: frontend/src/metabase/lib/query_time.js:135
+msgid "Previous {0}"
+msgstr "Precedente {0}"
+
+#: frontend/src/metabase/lib/query_time.js:139
+msgid "Previous {0} {1}"
+msgstr "Precedente {0} {1}"
+
+#: frontend/src/metabase/lib/query_time.js:141
+msgid "Next {0} {1}"
+msgstr "Prossimo {0} {1}"
+
+#: frontend/src/metabase/lib/query_time.js:171
+msgid "Now"
+msgstr "Ora"
+
+#: frontend/src/metabase/lib/query_time.js:174
+msgid "{0} {1} ago"
+msgstr "{0} {1} fa"
+
+#: frontend/src/metabase/lib/query_time.js:175
+msgid "{0} {1} from now"
+msgstr "{0} {1} da ora"
+
+#: frontend/src/metabase/lib/query_time.js:187
+msgid "Default period"
+msgid_plural "Default periods"
+msgstr[0] "Intervallo di default"
+msgstr[1] "Intervalli di default"
+
+#: frontend/src/metabase/lib/query_time.js:203
+msgid "Minute of hour"
+msgid_plural "Minutes of hour"
+msgstr[0] "Minuto dell'ora"
+msgstr[1] "Minuti dell'ora"
+
+#: frontend/src/metabase/lib/query_time.js:205
+msgid "Hour of day"
+msgid_plural "Hours of day"
+msgstr[0] "Ora del giorno"
+msgstr[1] "Ore del giorno"
+
+#: frontend/src/metabase/lib/query_time.js:207
+msgid "Day of week"
+msgid_plural "Days of week"
+msgstr[0] "Giorno della settimana"
+msgstr[1] "Giorni della settimana"
+
+#: frontend/src/metabase/lib/query_time.js:209
+msgid "Day of month"
+msgid_plural "Days of month"
+msgstr[0] "Giorno del mese"
+msgstr[1] "Giorni del mese"
+
+#: frontend/src/metabase/lib/query_time.js:211
+msgid "Day of year"
+msgid_plural "Days of year"
+msgstr[0] "Giorno dell'anno"
+msgstr[1] "Giorni dell'anno"
+
+#: frontend/src/metabase/lib/query_time.js:213
+msgid "Week of year"
+msgid_plural "Weeks of year"
+msgstr[0] "Settimana dell'anno"
+msgstr[1] "Settimane dell'anno"
+
+#: frontend/src/metabase/lib/query_time.js:215
+msgid "Month of year"
+msgid_plural "Months of year"
+msgstr[0] "Mese dell'anno"
+msgstr[1] "Mesi dell'anno"
+
+#: frontend/src/metabase/lib/query_time.js:217
+msgid "Quarter of year"
+msgid_plural "Quarters of year"
+msgstr[0] "Trimestre dell'anno"
+msgstr[1] "Trimestri dell'anno"
+
+#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:62
+#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:58
+#: frontend/src/metabase/query_builder/components/Filter.jsx:79
+msgid "{0} selection"
+msgid_plural "{0} selections"
+msgstr[0] "{0} selezione"
+msgstr[1] "{0} selezioni"
+
+#: frontend/src/metabase/parameters/components/widgets/DateQuarterYearWidget.jsx:11
+msgid "[Q]Q"
+msgstr "[Q]Q"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:28
+msgid "This"
+msgstr "Questo"
+
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:64
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:96
+msgid "Invalid"
+msgstr "Invalido"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/SpecificDatePicker.jsx:147
+msgid "Add a time"
+msgstr "Aggiungi tempo"
+
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:170
+msgid "Nothing to compare for the previous {0}."
+msgstr "Niente da confrontare con il precedente {0}"
+
+#: frontend/src/metabase-lib/lib/Dimension.js:517
+msgid "by {0}"
+msgstr "di {0}"
+
+#: src/metabase/api/database.clj
+msgid "value must be a valid database engine."
+msgstr "il valore deve essere un tipo di database valido"
+
+#: src/metabase/api/geojson.clj
+msgid "Connection refused by host for URL `{0}`"
+msgstr "Connessione rifiutata dall'host per URL `{0}`"
+
+#: src/metabase/db.clj
+msgid "Warning: Postgres connection string with `ssl=true` detected."
+msgstr "Attenzione: rilevata stringa di connessione Postgres con `ssl=true`"
+
+#: src/metabase/db.clj
+msgid "You may need to add `?sslmode=require` to your application DB connection string."
+msgstr "Potresti aver bisogno di aggiungere `?sslmode=require` alla stringa di connessione al tuo DB."
+
+#: src/metabase/db.clj
+msgid "If Metabase fails to launch, please add it and try again."
+msgstr "Se Metabase fallisce l'avvio, per favore aggiungilo e riprova."
+
+#: src/metabase/db.clj
+msgid "See https://github.com/metabase/metabase/issues/8908 for more details."
+msgstr "Vedi https://github.com/metabase/metabase/issues/8908 per ulteriori dettagli."
+
+#: src/metabase/db.clj
+msgid "WARNING: Using Metabase with an H2 application database is not recomended for production deployments."
+msgstr "ATTENZIONE: Utilizzare Metabase con H2 come database interno non è raccomandato per ambienti di produzione."
+
+#: src/metabase/db.clj
+msgid "For production deployments, we highly recommend using Postgres, MySQL, or MariaDB instead."
+msgstr "Per installazioni di produzione si raccomanda caldamente di usare invece Postgres, MySQL o MariaDB."
+
+#: src/metabase/db.clj
+msgid "If you decide to continue to use H2, please be sure to back up the database file regularly."
+msgstr "Se decidi di utilizzare ancora H2, si prega di eseguire regolarmente il backup del file di database."
+
+#: src/metabase/db.clj
+msgid "See https://metabase.com/docs/latest/operations-guide/start.html#migrating-from-using-the-h2-database-to-mysql-or-postgres for more information."
+msgstr "Vedi https://metabase.com/docs/latest/operations-guide/start.html#migrating-from-using-the-h2-database-to-mysql-or-postgres per ulteriori informazioni"
+
+#: src/metabase/db.clj
+msgid "Unable to connect to Metabase {0} DB."
+msgstr "Impossibile collegarsi al DB Metabase {0}"
+
+#. I have more than one doubt about this. How can we translate Question in general in this software?
+#: src/metabase/db/migrations.clj
+msgid "Error adding legacy SQL directive to BigQuery saved Question"
+msgstr "Errore nell'aggiunta della direttiva SQL sulla Domanda (`Question`) salvata di BigQuery"
+
+#: src/metabase/driver.clj
+msgid "Failed to notify {0} Database {1} updated"
+msgstr "Fallimento della notifica {0} Database {1} aggiornato"
+
+#: src/metabase/driver.clj
+msgid "Loading driver {0} {1}"
+msgstr "Caricamento driver {0} {1}"
+
+#: src/metabase/driver.clj
+msgid "Load driver {0}"
+msgstr "Carica driver {0}"
+
+#: src/metabase/driver.clj
+msgid "Driver not registered after loading: {0}"
+msgstr "Driver non registrato dopo il caricamento: {0}"
+
+#: src/metabase/driver.clj
+msgid "Error: attempting to change {0} property `:abstract?` from {1} to {2}."
+msgstr "Errore: tentativo di modificare {0} proprietà `:abstract?` da {1} a {2}."
+
+#: src/metabase/driver.clj
+msgid "Registered abstract driver {0}"
+msgstr "Registrato driver astratto {0}"
+
+#: src/metabase/driver.clj
+msgid "Registered driver {0}"
+msgstr "Driver registrato {0}"
+
+#: src/metabase/driver.clj
+msgid "(parents: {0})"
+msgstr "(genitori: {0})"
+
+#: src/metabase/driver.clj
+msgid "Initializing driver {0}..."
+msgstr "Inizializzazione del driver {0}..."
+
+#: src/metabase/driver.clj
+msgid "Reason:"
+msgstr "Ragione:"
+
+#: src/metabase/driver.clj
+msgid "Invalid driver feature: {0}"
+msgstr "Caratteristiche del driver non valido: {0}"
+
+#: src/metabase/driver/sql/query_processor.clj
+msgid "Invalid HoneySQL form:"
+msgstr "Modulo HoneySQL non valido:"
+
+#: src/metabase/driver/sql_jdbc/connection.clj
+msgid "Closing connection pool for database {0} ..."
+msgstr "Chiusura del pool di connessioni per il database {0} ..."
+
+#: src/metabase/driver/util.clj
+msgid "Error loading namespace"
+msgstr "Errore di caricamento del namespace"
+
+#: src/metabase/events.clj
+msgid "Starting events listener:"
+msgstr "Avvio listener di eventi:"
+
+#: src/metabase/events.clj
+msgid "Unexpected error listening on events"
+msgstr "Errore inaspettato ascoltando eventi"
+
+#: src/metabase/events/sync_database.clj
+msgid "Error syncing Database {0}"
+msgstr "Errore di sincronizzazione Database {0}"
+
+#: src/metabase/events/sync_database.clj
+msgid "Failed to process sync-database event."
+msgstr "Impossibile eseguire la sincronizzazione del database."
+
+#: src/metabase/mbql/util.clj
+msgid "Bad nested-query-level: query does not have a source query"
+msgstr "Livello della query nidificata errato: la query non ha una query sorgente"
+
+#: src/metabase/metabot/command.clj
+msgid "I don''t know how to `{0}`."
+msgstr "Non so come fare {0}"
+
+#: src/metabase/metabot/command.clj
+msgid "Here''s what I can do: "
+msgstr "Qui c'è cosa posso fare: "
+
+#: src/metabase/metabot/slack.clj
+msgid "Error in Metabot command"
+msgstr "Errore nel comando Metabot"
+
+#: src/metabase/metabot/websocket.clj
+msgid "Websocket associated with this Slack event is different from the websocket we're currently using."
+msgstr "Websocket associato a questo evento Slack è diverso dal websocket che si sta attualmente utilizzando."
+
+#: src/metabase/models/field_values.clj
+msgid "FieldValues for Field {0} remain unchanged. Skipping..."
+msgstr "Il ValoreDelCampo per il Campo {0} rimane invariato. Saltando..."
+
+#: src/metabase/models/interface.clj
+msgid "Unable to normalize:"
+msgstr "Impossibile normalizzare: "
+
+#: src/metabase/models/params.clj
+msgid "Could not find matching Field ID for target:"
+msgstr "Impossibile trovare l'ID campo corrispondente per la destinazione:"
+
+#: src/metabase/plugins.clj
+msgid "Metabase does not have permissions to write to plugins directory {0}"
+msgstr "Metabase non ha le autorizzazioni per scrivere nella directory dei plugin {0}"
+
+#: src/metabase/plugins.clj
+msgid "Metabase cannot use the plugins directory {0}"
+msgstr "Metabase non può utilizzare la directory dei plugin {0}"
+
+#: src/metabase/plugins.clj
+msgid "Please make sure the directory exists and that Metabase has permission to write to it."
+msgstr "Controlla che la directory esista e che Metabase abbia i permessi per scriverci."
+
+#: src/metabase/plugins.clj
+msgid "You can change the directory Metabase uses for modules by setting the environment variable MB_PLUGINS_DIR."
+msgstr "Puoi cambiare la directory che Metabase utilizza per i moduli impostando la variabile d'ambiente MB_PLUGINS_DIR."
+
+#: src/metabase/plugins.clj
+msgid "Falling back to a temporary directory for now."
+msgstr "Tornando a una directory temporanea per ora."
+
+#: src/metabase/plugins.clj
+msgid "Metabase cannot write to temporary directory. Please set MB_PLUGINS_DIR to a writable directory and restart Metabase."
+msgstr "Metabase non può scrivere sulla cartella temporanea. Imposta MB_PLUGINS_DIR su una directory scrivibile e riavvia Metabase."
+
+#: src/metabase/plugins.clj
+msgid "spark-deps.jar is no longer needed by Metabase 1.0+. You can delete it from the plugins directory."
+msgstr "spark-deps.jar non è più richiesto da Metabase 1.0+. Puoi cancellarlo dalla directory dei plugin."
+
+#: src/metabase/plugins.clj
+msgid "Failied to initialize plugin {0}"
+msgstr "Inizializzazione plugin fallita {0}"
+
+#: src/metabase/plugins.clj
+msgid "Loading plugins in {0}..."
+msgstr "Caricamento plugin in {0}..."
+
+#: src/metabase/plugins/classloader.clj
+msgid "Using Clojure base loader as shared context classloader: {0}"
+msgstr "Utilizzo del caricatore di base Clojure come classloader di contesto condiviso: {0}"
+
+#: src/metabase/plugins/classloader.clj
+msgid "Setting current thread context classloader to shared classloader {0}..."
+msgstr "Impostando il classloader del contesto thread corrente a classloader condiviso {0} ..."
+
+#. it's important that we deref the promise again here instead of using the one we just created because it is
+#. possible thru a race condition that somebody else delivered the promise before we did; in that case,
+#. Clojure ignores subsequent calls to `deliver`. Dereffing the promise guarantees that we'll get the actual
+#. value of it rather than one that ends up getting discarded
+#: src/metabase/plugins/classloader.clj
+msgid "Setting current thread context classloader to NEWLY CREATED classloader {0}..."
+msgstr "Impostando il classloader del contesto thread a classloader APPENA CREATO {0} ..."
+
+#: src/metabase/plugins/classloader.clj
+msgid "Added URL {0} to classpath"
+msgstr "Aggiunto l'URL {0} al classpath"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugin {0} declares a dependency that Metabase does not understand: {1}"
+msgstr "Il plugin {0} dichiara una dipendenza che Metabase non comprende: {1}"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Refer to the plugin manifest reference for a complete list of valid plugin dependencies:"
+msgstr "Fare riferimento al riferimento manifest del plugin per un elenco completo delle dipendenze del plugin valide:"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Metabase cannot initialize plugin {0} due to required dependencies."
+msgstr "Metabase non può inizializzare il plugin {0} per via di dipendenze richieste."
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Class not found: {0}"
+msgstr "Classe non trovata: {0}"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugin ''{0}'' depends on plugin ''{1}''"
+msgstr "Il plugin ''{0}'' dipende dal plugin ''{1}''"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "{0} dependency {1} satisfied? {2}"
+msgstr "{0} dipendenza {1} soddisfatta? {2}"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugins with unsatisfied deps: {0}"
+msgstr "Plugins con dipendenze insoddisfatte: {0}"
+
+#: src/metabase/plugins/files.clj
+msgid "Extract file {0} -> {1}"
+msgstr "Estrai file {0} -> {1}"
+
+#: src/metabase/plugins/files.clj
+msgid "Resource does not exist."
+msgstr "La risorsa è inesistente"
+
+#: src/metabase/plugins/init_steps.clj
+msgid "Loading plugin namespace {0}..."
+msgstr "Caricamento plugin namespace {0} ..."
+
+#: src/metabase/plugins/initialize.clj
+msgid "Dependencies satisfied; these plugins will now be loaded: {0}"
+msgstr "Dipendenze soddisfatte; questi plugin verranno caricati adesso: {0}"
+
+#: src/metabase/plugins/jdbc_proxy.clj
+msgid "Registering JDBC proxy driver for {0}..."
+msgstr "Registrazione del driver proxy JDBC per {0} ..."
+
+#: src/metabase/plugins/jdbc_proxy.clj
+msgid "Deregistering original JDBC driver {0}..."
+msgstr "Annullamento della registrazione del driver JDBC originale {0} ..."
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Default connection property {0} does not exist."
+msgstr "Proprietà di connessione predefinita {0} non esiste."
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Invalid connection property {0}: not a string or map."
+msgstr "proprietà di connessione non valida {0}: non una stringa o una mappa."
+
+#. ok, do the init steps listed in the plugin mainfest
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Load lazy loading driver {0}"
+msgstr "Carica driver di caricamento in modo `lazy` {0}"
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Cannot initialize plugin: missing required property `driver-name`"
+msgstr "Impossibile inizializzare il plugin: manca la proprieta' richiesta 'nome-driver'"
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Warning: plugin manifest for {0} does not include connection properties"
+msgstr "Attenzione: Il plugin manifest per {0} non contiene proprieta' di connessione"
+
+#. finally, register the Metabase driver
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Registering lazy loading driver {0}..."
+msgstr "Registrazione del driver di caricamento in modo `lazy` {0}..."
+
+#: src/metabase/pulse.clj
+msgid "Error running query for Card {0}"
+msgstr "Errore nell'esecuzione della query per la Scheda {0}"
+
+#: src/metabase/pulse/render.clj
+msgid "Last week"
+msgstr "Ultima settimana"
+
+#: src/metabase/pulse/render.clj
+msgid "This week"
+msgstr "Questa settimana"
+
+#: src/metabase/pulse/render.clj
+msgid "Last month"
+msgstr "Ultimo mese"
+
+#: src/metabase/pulse/render.clj
+msgid "This month"
+msgstr "Questo mese"
+
+#: src/metabase/pulse/render.clj
+msgid "Last quarter"
+msgstr "Ultimo trimestre"
+
+#: src/metabase/pulse/render.clj
+msgid "This quarter"
+msgstr "Questo trimestre"
+
+#: src/metabase/pulse/render.clj
+msgid "Last year"
+msgstr "Ultimo anno"
+
+#: src/metabase/pulse/render.clj
+msgid "This year"
+msgstr "Quest'anno"
+
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "*driver* is unbound."
+msgstr "*driver* senza restrizioni."
+
+#: src/metabase/sync/sync_metadata/fields.clj
+msgid "Error syncing Fields for Table ''{0}''"
+msgstr "Errore di sincronizzazione dei campi per Tabella \"{0}\""
+
+#: src/metabase/sync/sync_metadata/fields.clj
+msgid "Hash of {0} matches stored hash, skipping Fields sync"
+msgstr "L'hash di {0} corrispende all'hash registrato, salto la sincronizzazione dei campi"
+
+#: src/metabase/sync/sync_metadata/fields/common.clj
+msgid "Field"
+msgstr "Campo"
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Error checking if Fields {0} need to be created or reactivated"
+msgstr "Si è verificato un errore verificando se il camp {0} ha bisogno di essere creato o riattivato"
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Marking Field ''{0}'' as inactive."
+msgstr "Sto marcando il campo \"{0}\" come inattivo."
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Error retiring {0}"
+msgstr "Errore di ritiro {0}"
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Database type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr "Il tipo Database di {0} è stato modificato da \"{1}\" a \"{2}\"."
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Base type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr "Il tipo base di {0} è stato modificato da \"{1}\" a \"{2}\"."
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Special type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr "Il tipo Speciale di {0} è stato modificato da \"{1}\" a \"{2}\"."
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Comment has been added for {0}."
+msgstr "Il commento è stato aggiunto per {0}."
+
+#: src/metabase/task.clj
+msgid "Stopping Quartz Scheduler {0}"
+msgstr "Schedulatore Quartz in fase di arresto {0}"
+
+#: src/metabase/task.clj
+msgid "Starting Quartz Scheduler {0}"
+msgstr "Schedulatore Quartz in fase di avvio {0}"
+
+#: src/metabase/task.clj
+msgid "Error loading tasks namespace {0}"
+msgstr "Errore nel caricamento dello spazio dei nomi delle attività {0}"
+
+#. don't bother logging namespace for now, maybe in the future if there's tasks of the same name in multiple
+#. namespaces we can log it
+#: src/metabase/task.clj
+msgid "Initializing task {0}"
+msgstr "Inizializzazione task {0}"
+
+#: src/metabase/task.clj
+msgid "Error initializing task {0}"
+msgstr "Errore nell'inizializzazione task {0}"
+
+#: src/metabase/task/follow_up_emails.clj
+msgid "Problem sending abandonment email"
+msgstr "Problema nell'invio dell'email di abbandono"
+
+#: src/metabase/task/send_anonymous_stats.clj
+msgid "Sending anonymous usage stats."
+msgstr "Invio statistiche anonime in corso"
+
+#: src/metabase/task/send_anonymous_stats.clj
+msgid "Error sending anonymous usage stats"
+msgstr "Errore di invio statistiche d'uso anonime"
+
+#: src/metabase/task/send_pulses.clj
+msgid "Error sending Pulse {0}"
+msgstr "Errore nell'invio di Pulse {0}"
+
+#: src/metabase/task/send_pulses.clj
+msgid "Sending scheduled pulses..."
+msgstr "Invio pulse pianificati"
+
+#: src/metabase/task/send_pulses.clj
+msgid "SendPulses task failed"
+msgstr "Task SendPulses fallito"
+
+#: src/metabase/task/sync_databases.clj
+msgid "Failed to scheduler tasks for Database {0}"
+msgstr "Impossibile eseguire le attività di pianificazione per il database {0}"
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Cleaning up task history"
+msgstr "Cancella l'history dei task"
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Task history cleanup successful, rows were deleted"
+msgstr "Task history eliminata correttamente, le righe sono state cancellate"
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Task history cleanup successful, no rows were deleted"
+msgstr "Task history eliminata correttamente, nessuna riga è stata cancellata"
+
+#: src/metabase/task/upgrade_checks.clj
+msgid "Checking for new Metabase version info."
+msgstr "Controllo le informazioni della nuova versione di Metabase"
+
+#: src/metabase/task/upgrade_checks.clj
+msgid "Error fetching version info"
+msgstr "Errore nel recupero delle informazioni di versione"
+
+#: src/metabase/util.clj
+msgid "Maximum memory available to JVM: {0}"
+msgstr "Massima memoria disponibile per la JVM: {0}"
+
+#: src/metabase/util.clj
+msgid "Not something with an ID: {0}"
+msgstr "Non qualcosa con un ID: {0}"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by month of the year"
+msgstr "[[CreateDate]] per mese dell'anno"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Here's a quick look at your [[this]]"
+msgstr "Ecco un rapido sguardo al tuo [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by hour of the day"
+msgstr "[[CreateTimestamp]] con l'ora del giorno"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Where you've acquired your users"
+msgstr "Dove hai acquisito i tuoi utenti"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How it's distributed across time and other categories."
+msgstr "Com'è distribuito attraverso il tempo e altre categorie"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Here's a closer look at your [[this]] per source"
+msgstr "Ecco uno sguardo più da vicino al tuo [[this]] per sorgente"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "Here's a quick look at the [[this]]"
+msgstr "Ecco un rapido sguardo al [[this]] "
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by day of the month"
+msgstr "[[CreateTimestamp]] con il giorno del mese"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Here's an overview of the people in your [[this]]"
+msgstr "Ecco una panoramica delle persone nel tuo [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by quarter of the year"
+msgstr "[[CreateTimestamp]] con il trimestre dell'anno"
+
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How they compare across location"
+msgstr "Come confrontano tramite il luogo"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "Here's a closer look at your [[this]] by products"
+msgstr "Ecco uno sguardo più da vicino al tuo [[this]] per prodotto"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by month of the year"
+msgstr "[[CreateTimestamp]] con il mese dell'anno"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "An overview of your [[this]] and how it's distributed across time, place, and categories."
+msgstr "Una panoramica del tuo [[this]] e com'è distribuito attraverso il tempo, il luogo e le categorie"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/question/GenericQuestion.yaml
+msgid "Here's a closer look at your [[this]]"
+msgstr "Ecco uno sguardo più da vicino al tuo [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by day of the week"
+msgstr "[[CreateTimestamp]] con il giorno della settimana"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Here's an overview of your [[this]] data from Google Analytics"
+msgstr "Ecco una panoramica dei dati del tuo [[this]] da Google Analytics"
+
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+#: resources/automagic_dashboards/comparison/State.yaml
+#: resources/automagic_dashboards/comparison/FK.yaml
+#: resources/automagic_dashboards/comparison/Country.yaml
+#: resources/automagic_dashboards/comparison/GenericField.yaml
+msgid "Here's an overview of your [[this]]"
+msgstr "Ecco una panoramica del tuo [[this]]"
+
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "Here's a closer look at your [[this]] field"
+msgstr "Ecco uno sguardo più da vicino al campo del tuo [[this]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Here's a closer look at your [[this]] per country"
+msgstr "Ecco uno sguardo più da vicino al tuo [[this]] per nazione"
+
+#: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
+msgid "If you're into correlations, this is the x-ray for you."
+msgstr "Se ti interessano le correlazioni, questa è la `x-ray` per te."
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by day of the week"
+msgstr "[[CreateDate]] con il giorno della settimana"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "It looks like your [[this]] has transactions, so here's a look at them"
+msgstr "Sembra che il tuo [[this]] abbia delle transazioni, quindi eccone uno sguardo"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Here's a closer look at your [[this]] per state"
+msgstr "Ecco uno sguardo più da vicino al tuo [[this]] per stato"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by day of the month"
+msgstr "[[CreateTime]] per giorno del mese"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTime]] by hour of the day"
+msgstr "[[CreateTime]] per ora del giorno"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Here's a closer look at your [[this]] over time"
+msgstr "Ecco uno sguardo più da vicino al tuo [[this]] nel tempo"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by quarter of the year"
+msgstr "[[CreateDate]] per trimestre dell'anno"
+
+#: frontend/src/metabase/admin/people/containers/EditUserModal.jsx:12
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:200
+msgid "Edit user"
+msgstr "Modifica utente"
+
+#: frontend/src/metabase/admin/people/containers/NewUserModal.jsx:13
+msgid "New user"
+msgstr "Nuovo utente"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:204
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:69
+msgid "Reset password"
+msgstr "Reset password"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:209
+msgid "Deactivate user"
+msgstr "Disattiva utente"
+
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:47
+msgid "Reactivate {0}?"
+msgstr "Riattivare {0}?"
+
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:63
+msgid "We couldn’t send them an email invitation, so make sure to tell them to log in using {0} and this password we’ve generated for them:"
+msgstr "Non è stato possibile inviare loro un invito via email, quindi assicurati di dire loro di accedere al log utilizzando {0} e questa password che abbiamo generato per loro:"
+
+#: frontend/src/metabase/entities/collections.js:21
+msgid "collection"
+msgstr "collezione"
+
+#: frontend/src/metabase/entities/collections.js:22
+msgid "collections"
+msgstr "collezioni"
+
+#: frontend/src/metabase/entities/dashboards.js:29
+msgid "dashboard"
+msgstr "dashboard"
+
+#: frontend/src/metabase/entities/dashboards.js:30
+msgid "dashboards"
+msgstr "dashboards"
+
+#: frontend/src/metabase/entities/users.js:125
+msgid "First name is required"
+msgstr "Il nome è richiesto"
+
+#: frontend/src/metabase/entities/users.js:126
+#: frontend/src/metabase/entities/users.js:133
+msgid "Must be 100 characters or less"
+msgstr "Deve essere 100 caratteri o meno"
+
+#: frontend/src/metabase/entities/users.js:132
+msgid "Last name is required"
+msgstr "Il cognome è richiesto"
+
+#: frontend/src/metabase/entities/users.js:138
+msgid "Email is required"
+msgstr "L'email è obbligatoria"
+
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:90
+msgid "Items you archive will appear here."
+msgstr "Gli oggetti che archivierai appariranno qui."
+
+#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:16
+msgid "No description"
+msgstr "Nessuna descrizione"
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:175
+msgid "Sum of all values"
+msgstr "Somma di tutti i valori"
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:183
+msgid "See all distinct values"
+msgstr "Vedi tutti i valori DISTINCT"
+
+#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:12
+msgid "Browse the contents of your databases, tables, and columns. Pick a database to get started"
+msgstr "Sfoglia i contenuti dei tuoi database, tabelle e colonne. Scegli un database per iniziare"
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is VALID. Thanks!"
+msgstr "I metadati dei risultati delle carte passati alle API sono VALIDI. Grazie!"
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is INVALID. Running query to fetch correct metadata."
+msgstr "i metadati dei risultati delle card passati alle API sono NON VALIDI. Esecuzione della query per recuperare i metadati corretti."
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is  ISSING. Running query to fetch correct metadata."
+msgstr "I metadati dei risultati delle carte trasmessi all'API sono MANCANTI. Esecuzione della query per recuperare i metadati corretti."
+
+#: src/metabase/api/email.clj
+msgid "{0} was autocorrected to {1}"
+msgstr "{0} è stato corretto automaticamente in {1}"
+
+#: src/metabase/api/metric.clj
+msgid "DELETE /api/metric/:id is deprecated. Instead, change its `archived` value via PUT /api/metric/:id."
+msgstr "DELETE /api/metric/:id è deprecato. Invece, modifica il valore `archiviato` tramite PUT /api/metric/:id."
+
+#: src/metabase/api/segment.clj
+msgid "DELETE /api/segment/:id is deprecated. Instead, change its `archived` value via PUT /api/segment/:id."
+msgstr "DELETE /api/segment/:id è deprecato. Invece, modifica il valore `archiviato` tramite PUT /api/segment/:id."
+
+#: src/metabase/api/user.clj
+msgid "Value of is_superuser must correspond to presence of Admin group ID in group_ids."
+msgstr "Il valore di is_superuser deve corrispondere alla presenza dell'ID del gruppo di amministratori in group_ids."
+
+#: src/metabase/async/api_response.clj
+msgid "Unexpected error writing keepalive characters"
+msgstr "Errore imprevisto durante la scrittura di caratteri `keepalive`"
+
+#: src/metabase/async/api_response.clj
+msgid "Unexpected output in async API response"
+msgstr "Output imprevisto nella risposta asincrona delle API"
+
+#: src/metabase/async/api_response.clj
+msgid "starting streaming response"
+msgstr "avvio della risposta in streaming"
+
+#: src/metabase/async/api_response.clj
+msgid "Output chan closed, canceling keepalive request."
+msgstr "Uscita chiusa, annullamento della richiesta keepalive."
+
+#: src/metabase/async/api_response.clj
+msgid "Async response finished, closing channels."
+msgstr "Finita la risposta asincrona, chiusura dei canali."
+
+#: src/metabase/async/api_response.clj
+msgid "No response after waiting {0}. Canceling request."
+msgstr "Nessuna risposta dopo aver atteso {0}. Annullamento della richiesta."
+
+#: src/metabase/async/api_response.clj
+msgid "Input channel unexpectedly closed."
+msgstr "Canale di input chiuso inaspettatamente."
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "f finished, permit will be returned"
+msgstr "f finito, il permesso verrà restituito"
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "request canceled, permit will be returned"
+msgstr "richiesta annullata, il permesso verrà restituito"
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Unexpected error attempting to run function after obtaining permit"
+msgstr "Errore imprevisto che tenta di eseguire la funzione dopo aver ottenuto il permesso"
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Not running pending function call: output channel already closed."
+msgstr "Non è in esecuzione la chiamata di funzione in attesa: canale di output già chiuso."
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Current thread already has a permit for {0}, will not wait to acquire another"
+msgstr "Il thread corrente ha già un permesso per {0}, non aspetterà di acquisirne un altro"
+
+#: src/metabase/async/util.clj
+msgid "Output channel closed, will skip running {0}."
+msgstr "Canale di output chiuso, salterà l'esecuzione di {0}."
+
+#: src/metabase/async/util.clj
+msgid "Running {0} on separate thread..."
+msgstr "Eseguendo {0} su thread separati..."
+
+#: src/metabase/async/util.clj
+msgid "Caught error running {0}"
+msgstr "Errore in esecuzione {0}"
+
+#: src/metabase/async/util.clj
+msgid "Request canceled, canceling future"
+msgstr "Richiesta annullata, annullamento futuro"
+
+#: src/metabase/driver/sql_jdbc/connection.clj
+msgid "Closing old connection pool for database {0} ..."
+msgstr "Chiusura del vecchio pool di connessioni per il database {0} ..."
+
+#: src/metabase/metabot/command.clj
+msgid "Here''s your {0} most recent cards:"
+msgstr "Ecco le tue {0} carte più recenti:"
+
+#: src/metabase/metabot/command.clj
+msgid "Could you be a little more specific, or use the ID? I found these cards with names that matched:"
+msgstr "Potresti essere un po' più specifico o usare l'ID? Ho trovato queste carte con nomi corrispondenti:"
+
+#: src/metabase/metabot/command.clj
+msgid "Card {0} not found."
+msgstr "Scheda {0} non trovata."
+
+#: src/metabase/middleware/exceptions.clj
+msgid "Exception in API call"
+msgstr "Eccezione nella chiamata API"
+
+#: src/metabase/middleware/exceptions.clj
+msgid "Request canceled before finishing."
+msgstr "Richiesta annullata prima della fine."
+
+#: src/metabase/middleware/json.clj
+msgid "Metabase only supports JSON requests."
+msgstr "Metabase supporta solo richieste di tipo JSON."
+
+#: src/metabase/middleware/json.clj
+msgid "Make sure you set a 'Content-Type: application/json' header."
+msgstr "Assicurati di aver impostato l'header 'Content-Type: application/json'"
+
+#: src/metabase/middleware/misc.clj
+msgid "Setting Metabase site URL to {0}"
+msgstr "Impostazione dell'URL del sito di Metabase su {0}"
+
+#: src/metabase/models/database.clj
+msgid "Error scheduling tasks for DB"
+msgstr "Errore schedulando l'attività per il DB"
+
+#: src/metabase/models/database.clj
+msgid "Error unscheduling tasks for DB."
+msgstr "Errore eliminando la schedulazione dell'attività per il DB"
+
+#: src/metabase/models/database.clj
+msgid "{0} Database ''{1}'' sync/analyze schedules have changed!"
+msgstr "{0} Database \"{1}\" la schedulazione della sincronizzazione/analisi è stata modificata!"
+
+#: src/metabase/models/database.clj
+msgid "Sync metadata was: ''{0}'' is now: ''{1}''"
+msgstr "La sincronizzazione dei metadati era: \"{0}\" - ora è: \"{1}\""
+
+#: src/metabase/models/database.clj
+msgid "Cache FieldValues was: ''{0}'', is now: ''{1}''"
+msgstr "La cache dei `FieldValues` era: ''{0}'', ora è: ''{1}''"
+
+#: src/metabase/models/metric.clj
+msgid "You cannot update the creator_id of a Metric."
+msgstr "Non puoi aggiornare il \"creator_id\" della Metrica"
+
+#: src/metabase/models/permissions.clj
+msgid "MetaBot can only have Collection permissions."
+msgstr "MetaBot può avere soltanto i permessi della Collezione"
+
+#: src/metabase/models/permissions.clj
+msgid "Failed to grant permissions"
+msgstr "Impossibile concedere i permessi"
+
+#: src/metabase/models/permissions.clj
+msgid "Changing permissions"
+msgstr "Modifica permessi"
+
+#: src/metabase/models/permissions.clj
+msgid "FROM:"
+msgstr "DA:"
+
+#: src/metabase/models/permissions.clj
+msgid "TO:"
+msgstr "A:"
+
+#: src/metabase/models/segment.clj
+msgid "You cannot update the creator_id of a Segment."
+msgstr "Non puoi aggiornare il \"creator_id\" di un Segmento"
+
+#: src/metabase/models/setting.clj
+msgid "Attempted to set Setting {0} to obfuscated value. Ignoring change."
+msgstr "Tentativo di impostare l'impostazione {0} su valore offuscato. Cambiamento ignorato."
+
+#: src/metabase/models/setting.clj
+msgid "Using value of env var {0}"
+msgstr "Usando il valore della variabile ambiente {0}"
+
+#: src/metabase/models/user.clj
+msgid "Adding User {0} to All Users permissions group..."
+msgstr "Sto aggiungendo l'utente {0} al gruppo di Tutti gli Utenti"
+
+#: src/metabase/models/user.clj
+msgid "Adding User {0} to Admin permissions group..."
+msgstr "Sto aggiungendo l'utente {0} al gruppo dell'Amministratore"
+
+#: src/metabase/query_processor.clj
+msgid "Query failure"
+msgstr "Fallimento query"
+
+#: src/metabase/query_processor/async.clj
+msgid "Maximum number of simultaneous queries to allow per connected Database."
+msgstr "Numero massimo di query contemporanee per il Database a cui si è connessi"
+
+#: src/metabase/util.clj
+msgid "Timed out after {0} milliseconds."
+msgstr "Si è verificato un Time out dopo {0} millisecondi."
+
diff --git a/locales/ja.po b/locales/ja.po
index 68a77d24f8be37de0cba8b2852bf3353cdef8eeb..3eaf1899f6bfe4922781482ab68cf451f47a3dc8 100644
--- a/locales/ja.po
+++ b/locales/ja.po
@@ -68,12 +68,13 @@ msgstr "スキャン"
 msgid "Scanning for Filter Values"
 msgstr "フィルター値をスキャン中"
 
+#. リソース負荷の高い、という意味だとは思いますが、リソース集約的という表現は一般的な表現でしょうか?私は聞いたことがなかったもので。
 #: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:153
 msgid "Metabase can scan the values present in each\n"
 "field in this database to enable checkbox filters in dashboards and questions. This\n"
 "can be a somewhat resource-intensive process, particularly if you have a very large\n"
 "database."
-msgstr "Metabaseは、このデータベースの各フィールドの値をスキャンして、ダッシュボードや質問のチェックボックスフィルタを有効にすることができます。 データベースが非常に大きい場合は、ややリソース集約的な処理となります。"
+msgstr "Metabaseは、このデータベースの各フィールドの値をスキャンして、ダッシュボードや質問のチェックボックスフィルタを有効にすることができます。 データベースが非常に大きい場合は、ややリソースに負荷がかかる処理となります。"
 
 #: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:159
 msgid "When should Metabase automatically scan and cache field values?"
@@ -141,54 +142,51 @@ msgstr "このテキストボックスに"
 #: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:87
 #: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:93
 #: frontend/src/metabase/admin/people/components/AddRow.jsx:27
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:250
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:302
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:322
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:343
 #: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:49
 #: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:52
 #: frontend/src/metabase/admin/permissions/containers/CollectionPermissionsModal.jsx:58
-#: frontend/src/metabase/admin/permissions/selectors.js:156
-#: frontend/src/metabase/admin/permissions/selectors.js:166
-#: frontend/src/metabase/admin/permissions/selectors.js:181
-#: frontend/src/metabase/admin/permissions/selectors.js:220
+#: frontend/src/metabase/admin/permissions/selectors.js:160
+#: frontend/src/metabase/admin/permissions/selectors.js:170
+#: frontend/src/metabase/admin/permissions/selectors.js:185
+#: frontend/src/metabase/admin/permissions/selectors.js:224
 #: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:355
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:181
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:247
 #: frontend/src/metabase/components/ConfirmContent.jsx:18
 #: frontend/src/metabase/components/DeleteModalWithConfirm.jsx:72
 #: frontend/src/metabase/components/HeaderModal.jsx:49
-#: frontend/src/metabase/components/form/StandardForm.jsx:59
+#: frontend/src/metabase/components/form/StandardForm.jsx:61
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:196
 #: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:289
 #: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:162
 #: frontend/src/metabase/dashboard/components/RemoveFromDashboardModal.jsx:38
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:189
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:192
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:352
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:191
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:354
 #: frontend/src/metabase/query_builder/components/RunButton.jsx:24
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:83
 #: frontend/src/metabase/query_builder/containers/ArchiveQuestionModal.jsx:48
 #: frontend/src/metabase/reference/components/EditHeader.jsx:34
 #: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:52
-#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:219
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:259
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:461
 msgid "Cancel"
 msgstr "キャンセル"
 
 #: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:88
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:123
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:121
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:132
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:461
 msgid "Delete"
 msgstr "削除"
 
 #: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:128
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:76
-#: frontend/src/metabase/admin/permissions/selectors.js:316
-#: frontend/src/metabase/admin/permissions/selectors.js:323
-#: frontend/src/metabase/admin/permissions/selectors.js:419
-#: frontend/src/metabase/admin/routes.jsx:43
-#: frontend/src/metabase/nav/containers/Navbar.jsx:215
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:74
+#: frontend/src/metabase/admin/permissions/selectors.js:320
+#: frontend/src/metabase/admin/permissions/selectors.js:327
+#: frontend/src/metabase/admin/permissions/selectors.js:423
+#: frontend/src/metabase/admin/routes.jsx:53
+#: frontend/src/metabase/nav/containers/Navbar.jsx:214
 #: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:18
 #: frontend/src/metabase/reference/databases/TableSidebar.jsx:21
 msgid "Databases"
@@ -209,11 +207,10 @@ msgstr "スケジューリング"
 #: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:170
 #: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:78
 #: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:84
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:253
 #: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:26
 #: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:221
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:182
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:354
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:356
 #: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:47
 msgid "Save changes"
 msgstr "変更を保存"
@@ -262,7 +259,7 @@ msgid "Scan triggered!"
 msgstr "スキャンを開始しました!"
 
 #: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:215
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:399
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:401
 msgid "Danger Zone"
 msgstr "危険ゾーン"
 
@@ -275,39 +272,39 @@ msgstr "フィールド値を破棄する"
 msgid "Remove this database"
 msgstr "このデータベースを削除する"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:75
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:73
 msgid "Add database"
 msgstr "データベースを追加"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:87
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:85
 #: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:36
 #: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:36
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:468
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:122
 #: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:183
 #: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:91
 #: frontend/src/metabase/components/DatabaseDetailsForm.jsx:399
 #: frontend/src/metabase/containers/EntitySearch.jsx:26
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:218
-#: frontend/src/metabase/entities/collections.js:86
-#: frontend/src/metabase/entities/dashboards.js:96
+#: frontend/src/metabase/entities/collections.js:93
+#: frontend/src/metabase/entities/dashboards.js:145
 #: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:461
-#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:78
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:81
 msgid "Name"
 msgstr "名前"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:88
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:86
 msgid "Engine"
 msgstr "エンジン"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:117
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:115
 msgid "Deleting..."
 msgstr "削除中..."
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:147
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:145
 msgid "Loading ..."
 msgstr "読込中..."
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:163
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:161
 msgid "Bring the sample dataset back"
 msgstr "サンプルデータセットを復元"
 
@@ -326,7 +323,7 @@ msgstr "保存されました!"
 #: frontend/src/metabase/admin/datamodel/components/ObjectActionSelect.jsx:44
 #: frontend/src/metabase/dashboard/components/DashCard.jsx:278
 #: frontend/src/metabase/parameters/components/ParameterWidget.jsx:177
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:209
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:197
 #: frontend/src/metabase/reference/components/EditButton.jsx:18
 msgid "Edit"
 msgstr "編集"
@@ -461,7 +458,7 @@ msgstr "無関係/不正データ"
 
 #: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:90
 msgid "Queryable"
-msgstr "Queryable"
+msgstr "利用可能"
 
 #: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:91
 msgid "Hidden"
@@ -478,7 +475,7 @@ msgstr "メタデータ強度"
 #: frontend/src/metabase/admin/datamodel/components/database/MetadataTableList.jsx:87
 msgid "{0} Queryable Table"
 msgid_plural "{0} Queryable Tables"
-msgstr[0] "{0} クエリ可能なテーブル"
+msgstr[0] "{0} 件の利用可能なテーブル"
 
 #: frontend/src/metabase/admin/datamodel/components/database/MetadataTableList.jsx:96
 msgid "{0} Hidden Table"
@@ -500,7 +497,7 @@ msgstr "スキーマ"
 #: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:189
 #: frontend/src/metabase/reference/metrics/MetricList.jsx:56
 #: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:21
-#: frontend/src/metabase/routes.jsx:231
+#: frontend/src/metabase/routes.jsx:232
 msgid "Metrics"
 msgstr "メトリクス"
 
@@ -519,7 +516,7 @@ msgid "Create metrics to add them to the View dropdown in the query builder"
 msgstr "クエリビルダーの表示ドロップダウンにメトリクスを作成し追加する"
 
 #: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:24
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:922
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:930
 #: frontend/src/metabase/reference/guide/BaseSidebar.jsx:33
 #: frontend/src/metabase/reference/segments/SegmentFieldSidebar.jsx:19
 #: frontend/src/metabase/reference/segments/SegmentList.jsx:56
@@ -561,7 +558,7 @@ msgstr "変更されました"
 
 #: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:46
 #: frontend/src/metabase/home/components/Activity.jsx:80
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:343
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:332
 msgid "You"
 msgstr "あなた"
 
@@ -692,7 +689,7 @@ msgstr "テーブルを選択し、スキーマを見てメタデータを追加
 
 #: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:37
 #: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:34
-#: frontend/src/metabase/entities/collections.js:89
+#: frontend/src/metabase/entities/collections.js:96
 msgid "Name is required"
 msgstr "名前が必要です"
 
@@ -814,10 +811,10 @@ msgid "This will show up in the revision history for this segment to help everyo
 msgstr "他ユーザーにも変更理由がわかるよう、このセグメントの履歴に表示されます"
 
 #: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:88
-#: frontend/src/metabase/admin/routes.jsx:91
+#: frontend/src/metabase/admin/routes.jsx:127
 #: frontend/src/metabase/admin/settings/containers/SettingsEditorApp.jsx:266
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:96
-#: frontend/src/metabase/nav/containers/Navbar.jsx:200
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:87
+#: frontend/src/metabase/nav/containers/Navbar.jsx:199
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorSidebar.jsx:99
 msgid "Settings"
 msgstr "設定"
@@ -831,31 +828,26 @@ msgid "Re-scan this table"
 msgstr "このテーブルを再スキャンする"
 
 #: frontend/src/metabase/admin/people/components/AddRow.jsx:34
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:194
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:253
 #: frontend/src/metabase/dashboard/components/DashCard.jsx:278
 msgid "Add"
 msgstr "追加"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:80
 #: frontend/src/metabase/setup/components/UserStep.jsx:103
 #: frontend/src/metabase/user/components/UpdateUserDetails.jsx:67
 msgid "Not a valid formatted email address"
 msgstr "有効なメールアドレスではありません"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:135
 #: frontend/src/metabase/setup/components/UserStep.jsx:186
 #: frontend/src/metabase/user/components/UpdateUserDetails.jsx:100
 msgid "First name"
 msgstr "名"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:156
 #: frontend/src/metabase/setup/components/UserStep.jsx:203
 #: frontend/src/metabase/user/components/UpdateUserDetails.jsx:117
 msgid "Last name"
 msgstr "姓"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:178
 #: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:77
 #: frontend/src/metabase/auth/containers/LoginApp.jsx:158
 #: frontend/src/metabase/components/NewsletterForm.jsx:94
@@ -869,7 +861,7 @@ msgstr "メールアドレス"
 msgid "Permission Groups"
 msgstr "承認グループ"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:238
+#: frontend/src/metabase/components/form/widgets/FormGroupsWidget.jsx:75
 msgid "Make this user an admin"
 msgstr "このユーザを管理者にする"
 
@@ -888,15 +880,15 @@ msgid "To make sure you don't get locked out of Metabase, there always has to be
 msgstr "Metabaseからロックアウトされないため、このグループには最低1ユーザーの登録が必要です"
 
 #: frontend/src/metabase/admin/people/components/GroupDetail.jsx:177
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:219
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:218
 msgid "Members"
 msgstr "メンバー"
 
 #: frontend/src/metabase/admin/people/components/GroupDetail.jsx:177
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:470
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:124
 #: frontend/src/metabase/admin/settings/selectors.js:113
 #: frontend/src/metabase/lib/core.js:55
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:298
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:301
 msgid "Email"
 msgstr "メール"
 
@@ -905,8 +897,8 @@ msgid "A group is only as good as its members."
 msgstr "グループもそのメンバーもどちらも大事です。"
 
 #: frontend/src/metabase/admin/people/components/GroupSummary.jsx:15
-#: frontend/src/metabase/admin/routes.jsx:38
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:50
+#: frontend/src/metabase/admin/routes.jsx:48
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:49
 msgid "Admin"
 msgstr "管理者"
 
@@ -926,69 +918,69 @@ msgstr[0] "{0} 他グループ"
 msgid "Default"
 msgstr "デフォルト"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:40
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:39
 msgid "Something like \"Marketing\""
 msgstr "「マーケティング」等"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:59
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:58
 msgid "Remove this group?"
 msgstr "このグループを削除しますか?"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:61
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:60
 msgid "Are you sure? All members of this group will lose any permissions settings they have based on this group.\n"
 "This can't be undone."
 msgstr "よろしいですか?このグループの全メンバーが。この操作はやり直すことができません。"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:72
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:71
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:42
 #: frontend/src/metabase/components/ConfirmContent.jsx:17
 msgid "Yes"
 msgstr "はい"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:75
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:74
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:42
 msgid "No"
 msgstr "いいえ"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:93
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:92
 msgid "Edit Name"
 msgstr "名前を編集する"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:96
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:95
 msgid "Remove Group"
 msgstr "グループを削除する"
 
 #: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:46
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:139
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:225
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:263
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:367
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:385
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:138
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:42
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:41
 #: frontend/src/metabase/components/HeaderModal.jsx:43
 #: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:282
-#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:106
-#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:298
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:194
+#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:107
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:327
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:193
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:96
-#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:225
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:265
 msgid "Done"
 msgstr "完了"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:219
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:218
 msgid "Group name"
 msgstr "グループ名"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:399
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:363
 #: frontend/src/metabase/admin/people/containers/AdminPeopleApp.jsx:25
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:477
-#: frontend/src/metabase/admin/routes.jsx:76
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:131
+#: frontend/src/metabase/admin/routes.jsx:88
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:154
 msgid "Groups"
 msgstr "グループ"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:400
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:364
 msgid "Create a group"
 msgstr "グループを作成する"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:406
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:370
 msgid "You can use groups to control your users' access to your data. Put users in groups and then go to the Permissions section to control each group's access. The Administrators and All Users groups are special default groups that can't be removed."
 msgstr "グループを使用して、ユーザーのデータへのアクセスを管理することができます。 ユーザーをグループに入れた後、権限のセクションに移動して各グループのアクセスを管理してください。 管理者グループと全ユーザーグループは、削除できない特殊なデフォルトグループです。"
 
@@ -1004,15 +996,14 @@ msgstr "招待を再送する"
 msgid "Reset Password"
 msgstr "パスワードをリセットする"
 
-#: frontend/src/metabase/admin/people/components/UserActionsSelect.jsx:97
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:304
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:40
 msgid "Deactivate"
 msgstr "無効化"
 
 #: frontend/src/metabase/admin/people/containers/AdminPeopleApp.jsx:24
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:435
-#: frontend/src/metabase/admin/routes.jsx:74
-#: frontend/src/metabase/nav/containers/Navbar.jsx:205
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:93
+#: frontend/src/metabase/admin/routes.jsx:84
+#: frontend/src/metabase/nav/containers/Navbar.jsx:204
 msgid "People"
 msgstr "ユーザー"
 
@@ -1024,8 +1015,7 @@ msgstr "誰を追加したいですか?"
 msgid "Edit {0}'s details"
 msgstr "{0}の詳細を編集する"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:220
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:258
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:40
 msgid "{0} has been added"
 msgstr "{0}が追加されました"
 
@@ -1040,11 +1030,11 @@ msgid "We couldn’t send them an email invitation,\n"
 "and this password we’ve generated for them:"
 msgstr "招待メールを送信できませんでした。{0}とこのパスワードを利用してログインいただくようご指示ください。"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:242
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:73
 msgid "If you want to be able to send email invites, just go to the {0} page."
 msgstr "招待メールを送信したい場合は、{0}ページへお進みください"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:268
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:55
 msgid "We’ve sent an invite to {0} with instructions to set their password."
 msgstr "パスワード設定方法を記載した招待メールを{0}へ送信しました"
 
@@ -1052,7 +1042,6 @@ msgstr "パスワード設定方法を記載した招待メールを{0}へ送信
 msgid "We've re-sent {0}'s invite"
 msgstr "招待メールを{0}に再送しました"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:285
 #: frontend/src/metabase/query_builder/components/SavedQuestionIntroModal.jsx:22
 #: frontend/src/metabase/tutorial/Tutorial.jsx:253
 msgid "Okay"
@@ -1062,11 +1051,11 @@ msgstr "確認しました"
 msgid "Any previous email invites they have will no longer work."
 msgstr "これより前に送信された招待メールは無効です"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:300
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:31
 msgid "Deactivate {0}?"
 msgstr "{0}を無効化しますか?"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:309
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:34
 msgid "{0} won't be able to log in anymore."
 msgstr "{0}はログインすることができません"
 
@@ -1074,35 +1063,33 @@ msgstr "{0}はログインすることができません"
 msgid "Reactivate {0}'s account?"
 msgstr "{0}のアカウントを再有効化しますか?"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:326
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:58
 msgid "Reactivate"
 msgstr "再有効化する"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:330
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:51
 msgid "They'll be able to log in again, and they'll be placed back into the groups they were in before their account was deactivated."
 msgstr "ログインが可能になり、無効化される前のグループに戻りました。"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:341
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:51
 msgid "Reset {0}'s password?"
 msgstr "{0}のパスワードをリセットしますか?"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:347
-#: frontend/src/metabase/components/form/StandardForm.jsx:75
+#: frontend/src/metabase/components/form/StandardForm.jsx:77
 msgid "Reset"
 msgstr "リセットする"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:351
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:54
 #: frontend/src/metabase/components/ConfirmContent.jsx:13
 #: frontend/src/metabase/dashboard/components/ArchiveDashboardModal.jsx:44
 msgid "Are you sure you want to do this?"
 msgstr "よろしいですか?"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:362
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:384
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:41
 msgid "{0}'s password has been reset"
 msgstr "{0}のパスワードがリセットされました"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:371
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:45
 msgid "Here’s a temporary password they can use to log in and then change their password."
 msgstr "この仮パスワードでログインし、パスワードを変更してください"
 
@@ -1110,41 +1097,40 @@ msgstr "この仮パスワードでログインし、パスワードを変更し
 msgid "We've sent them an email with instructions for creating a new password."
 msgstr "新しいパスワードの作成方法を記載したメールを送信しました"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:443
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:101
 msgid "Active"
 msgstr "有効化する"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:444
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:473
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:102
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:127
 msgid "Deactivated"
 msgstr "無効化する"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:459
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:115
 msgid "Add someone"
 msgstr "追加する"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:478
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:132
 msgid "Last Login"
 msgstr "最終ログイン"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:501
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:153
 msgid "Signed up via Google"
 msgstr "Googleを利用して登録する"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:506
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:158
 msgid "Signed up via LDAP"
 msgstr "LDAPを利用して登録する"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:518
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:170
 msgid "Reactivate this account"
 msgstr "このアカウントを再有効化する"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:545
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:193
 msgid "Never"
 msgstr "しない"
 
 #: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:27
-#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:24
 #: src/metabase/automagic_dashboards/core.clj
 msgid "{0} table"
 msgid_plural "{0} tables"
@@ -1179,7 +1165,7 @@ msgid " native queries for "
 msgstr "のネイティブクエリ"
 
 #: frontend/src/metabase/admin/permissions/routes.jsx:12
-#: frontend/src/metabase/nav/containers/Navbar.jsx:220
+#: frontend/src/metabase/nav/containers/Navbar.jsx:219
 msgid "Permissions"
 msgstr "権限"
 
@@ -1216,135 +1202,135 @@ msgstr "保存されていない変更があります"
 msgid "Do you want to leave this page and discard your changes?"
 msgstr "変更を破棄してこのページから離れますか?"
 
-#: frontend/src/metabase/admin/permissions/permissions.js:137
+#: frontend/src/metabase/admin/permissions/permissions.js:126
 msgid "Sorry, an error occurred."
 msgstr "申し訳ありません、エラーが発生しました"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:59
+#: frontend/src/metabase/admin/permissions/selectors.js:65
 msgid "Administrators always have the highest level of access to everything in Metabase."
 msgstr "管理者にはMetabaseの全データへのアクセス権限があります"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:61
+#: frontend/src/metabase/admin/permissions/selectors.js:67
 msgid "Every Metabase user belongs to the All Users group. If you want to limit or restrict a group's access to something, make sure the All Users group has an equal or lower level of access."
 msgstr "全てのMetabseユーザーは、全ユーザーグループに属します。 グループへのアクセスを制限またはブロックする場合は、全ユーザーグループのアクセスレベルが同等かそれ以下であることをご確認ください。"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:63
+#: frontend/src/metabase/admin/permissions/selectors.js:69
 msgid "MetaBot is Metabase's Slack bot. You can choose what it has access to here."
 msgstr "MetaBotはMetabseのSlackボットです。 ここにアクセスできるものを選択できます。"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:115
+#: frontend/src/metabase/admin/permissions/selectors.js:119
 msgid "The \"{0}\" group may have access to a different set of {1} than this group, which may give this group additional access to some {2}."
 msgstr "\"{0}\"グループは、このグループとは異なる{1}セットにアクセスする可能性があります。その場合、{0}グループには{2}への追加アクセス権が与えられます。"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:120
+#: frontend/src/metabase/admin/permissions/selectors.js:124
 msgid "The \"{0}\" group has a higher level of access than this, which will override this setting. You should limit or revoke the \"{1}\" group's access to this item."
 msgstr "\"{0}\"グループのアクセスレベルはこれより高くなり、この設定が上書きされます。 \"{1}\"グループのこのアイテムへのアクセスをブロックまたは取り消す必要があります。"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:150
+#: frontend/src/metabase/admin/permissions/selectors.js:154
 msgid "Limit"
 msgstr "制限する"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:150
+#: frontend/src/metabase/admin/permissions/selectors.js:154
 msgid "Revoke"
 msgstr "無効にする"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:152
+#: frontend/src/metabase/admin/permissions/selectors.js:156
 msgid "access even though \"{0}\" has greater access?"
 msgstr "{0}の方がより広いアクセス権限を持っていますが、アクセスを"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:155
-#: frontend/src/metabase/admin/permissions/selectors.js:254
+#: frontend/src/metabase/admin/permissions/selectors.js:159
+#: frontend/src/metabase/admin/permissions/selectors.js:258
 msgid "Limit access"
 msgstr "アクセスを制限する"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:155
-#: frontend/src/metabase/admin/permissions/selectors.js:219
-#: frontend/src/metabase/admin/permissions/selectors.js:262
+#: frontend/src/metabase/admin/permissions/selectors.js:159
+#: frontend/src/metabase/admin/permissions/selectors.js:223
+#: frontend/src/metabase/admin/permissions/selectors.js:266
 msgid "Revoke access"
 msgstr "アクセスを無効にする"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:164
+#: frontend/src/metabase/admin/permissions/selectors.js:168
 msgid "Change access to this database to limited?"
 msgstr "このデータベースへのアクセスを制限しますか?"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:165
+#: frontend/src/metabase/admin/permissions/selectors.js:169
 msgid "Change"
 msgstr "変更する"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:178
+#: frontend/src/metabase/admin/permissions/selectors.js:182
 msgid "Allow Raw Query Writing?"
 msgstr "ロークエリの作成を許可しますか?"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:179
+#: frontend/src/metabase/admin/permissions/selectors.js:183
 msgid "This will also change this group's data access to Unrestricted for this database."
 msgstr "このグループのデータベースへのアクセス権が「無制限」に変更されます。"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:180
+#: frontend/src/metabase/admin/permissions/selectors.js:184
 msgid "Allow"
 msgstr "許可する"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:217
+#: frontend/src/metabase/admin/permissions/selectors.js:221
 msgid "Revoke access to all tables?"
 msgstr "すべてのテーブルへのアクセスを無効にしますか?"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:218
+#: frontend/src/metabase/admin/permissions/selectors.js:222
 msgid "This will also revoke this group's access to raw queries for this database."
 msgstr "このグループのデータベースのロークエリへのアクセスも取り消されます。"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:247
+#: frontend/src/metabase/admin/permissions/selectors.js:251
 msgid "Grant unrestricted access"
 msgstr "無制限のアクセスを許可する"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:248
+#: frontend/src/metabase/admin/permissions/selectors.js:252
 msgid "Unrestricted access"
 msgstr "無制限のアクセス"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:255
+#: frontend/src/metabase/admin/permissions/selectors.js:259
 msgid "Limited access"
 msgstr "制限されたアクセス"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:263
+#: frontend/src/metabase/admin/permissions/selectors.js:267
 msgid "No access"
 msgstr "アクセスがありません"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:269
+#: frontend/src/metabase/admin/permissions/selectors.js:273
 msgid "Write raw queries"
 msgstr "ロークエリを書く"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:270
+#: frontend/src/metabase/admin/permissions/selectors.js:274
 msgid "Can write raw queries"
 msgstr "ロークエリを書くことができる"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:277
+#: frontend/src/metabase/admin/permissions/selectors.js:281
 msgid "Curate collection"
 msgstr "コレクションを公開する"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:284
+#: frontend/src/metabase/admin/permissions/selectors.js:288
 msgid "View collection"
 msgstr "コレクションを見る"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:327
-#: frontend/src/metabase/admin/permissions/selectors.js:423
-#: frontend/src/metabase/admin/permissions/selectors.js:520
+#: frontend/src/metabase/admin/permissions/selectors.js:331
+#: frontend/src/metabase/admin/permissions/selectors.js:427
+#: frontend/src/metabase/admin/permissions/selectors.js:524
 msgid "Data Access"
 msgstr "データアクセス"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:488
-#: frontend/src/metabase/admin/permissions/selectors.js:645
-#: frontend/src/metabase/admin/permissions/selectors.js:650
+#: frontend/src/metabase/admin/permissions/selectors.js:492
+#: frontend/src/metabase/admin/permissions/selectors.js:649
+#: frontend/src/metabase/admin/permissions/selectors.js:654
 msgid "View tables"
 msgstr "テーブルを見る"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:586
+#: frontend/src/metabase/admin/permissions/selectors.js:590
 msgid "SQL Queries"
 msgstr "SQLクエリ"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:656
+#: frontend/src/metabase/admin/permissions/selectors.js:660
 msgid "View schemas"
 msgstr "スキーマを見る"
 
-#: frontend/src/metabase/admin/routes.jsx:49
-#: frontend/src/metabase/nav/containers/Navbar.jsx:210
+#: frontend/src/metabase/admin/routes.jsx:59
+#: frontend/src/metabase/nav/containers/Navbar.jsx:209
 msgid "Data Model"
 msgstr "データモデル"
 
@@ -1487,7 +1473,7 @@ msgid "Metabase {0} is available.  You're running {1}"
 msgstr "Metabse {0}が利用可能です。現在{1}を利用中です。"
 
 #: frontend/src/metabase/admin/settings/components/SettingsUpdatesForm.jsx:112
-#: frontend/src/metabase/components/form/StandardForm.jsx:67
+#: frontend/src/metabase/components/form/StandardForm.jsx:69
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:96
 msgid "Update"
 msgstr "アップデートする"
@@ -2113,20 +2099,19 @@ msgstr "保存されました"
 msgid "Ok"
 msgstr "確認しました"
 
-#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:40
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:38
 msgid "Archive this collection?"
 msgstr "このコレクションをアーカイブしますか?"
 
-#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:45
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:43
 msgid "The dashboards, collections, and pulses in this collection will also be archived."
 msgstr "このコレクション内のダッシュボード、コレクション、パルスもアーカイブされます"
 
-#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:49
-#: frontend/src/metabase/components/CollectionLanding.jsx:587
-#: frontend/src/metabase/components/EntityItem.jsx:54
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:47
+#: frontend/src/metabase/components/CollectionLanding.jsx:624
 #: frontend/src/metabase/components/EntityMenu.info.js:31
 #: frontend/src/metabase/components/EntityMenu.info.js:87
-#: frontend/src/metabase/home/containers/ArchiveApp.jsx:48
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:47
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:195
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:200
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:201
@@ -2140,28 +2125,28 @@ msgstr "アーカイブ"
 msgid "This {0} has been archived"
 msgstr "この{0}はアーカイブされました"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:679
+#: frontend/src/metabase/components/CollectionLanding.jsx:715
 msgid "View the archive"
 msgstr "アーカイブを見る"
 
-#: frontend/src/metabase/components/ArchivedItem.jsx:39
+#: frontend/src/metabase/components/ArchivedItem.jsx:43
 msgid "Unarchive this {0}"
 msgstr "この[0}のアーカイブを取り消す"
 
-#: frontend/src/metabase/components/BrowseApp.jsx:95
-#: frontend/src/metabase/components/BrowseApp.jsx:157
-#: frontend/src/metabase/components/BrowseApp.jsx:250
-#: frontend/src/metabase/containers/Overworld.jsx:224
+#: frontend/src/metabase/components/BrowseApp.jsx:70
+#: frontend/src/metabase/components/BrowseApp.jsx:132
+#: frontend/src/metabase/components/BrowseApp.jsx:225
+#: frontend/src/metabase/containers/Overworld.jsx:219
 msgid "Our data"
 msgstr "データ"
 
-#: frontend/src/metabase/components/BrowseApp.jsx:194
+#: frontend/src/metabase/components/BrowseApp.jsx:169
 #: frontend/src/metabase/reference/databases/TableSidebar.jsx:55
 msgid "X-ray this table"
 msgstr "このテーブルを自動探査(X-ray)する"
 
-#: frontend/src/metabase/components/BrowseApp.jsx:208
-#: frontend/src/metabase/containers/Overworld.jsx:251
+#: frontend/src/metabase/components/BrowseApp.jsx:183
+#: frontend/src/metabase/containers/Overworld.jsx:246
 msgid "Learn about this table"
 msgstr "このテーブルについて詳細を見る"
 
@@ -2179,31 +2164,31 @@ msgstr "保存されました!"
 msgid "Saving failed."
 msgstr "保存が失敗しました"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Su"
 msgstr "æ—¥"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Mo"
 msgstr "月"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Tu"
 msgstr "火"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "We"
 msgstr "æ°´"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Th"
 msgstr "木"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Fr"
 msgstr "金"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Sa"
 msgstr "土"
 
@@ -2236,73 +2221,72 @@ msgstr "コレクションを使用して、ダッシュボード、質問とパ
 msgid "Create another collection"
 msgstr "他のコレクションを作成する"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:61
+#: frontend/src/metabase/components/CollectionLanding.jsx:68
 msgid "Dashboards let you collect and share data in one place."
 msgstr "ダッシュボードを利用することで、データを一箇所に集約し共有することができます"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:70
+#: frontend/src/metabase/components/CollectionLanding.jsx:77
 msgid "Pulses let you send out the latest data to your team on a schedule via email or slack."
 msgstr "パルスを利用することで、メールやスラックを通じて定期的にチームメンバーへ最新情報を送ることができます"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:79
+#: frontend/src/metabase/components/CollectionLanding.jsx:86
 msgid "Questions are a saved look at your data."
 msgstr "データのクエリは質問として保存されました"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:275
+#: frontend/src/metabase/components/CollectionLanding.jsx:287
 msgid "Pins"
 msgstr "固定"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:329
+#: frontend/src/metabase/components/CollectionLanding.jsx:341
 msgid "Drag something here to pin it to the top"
 msgstr "ドラッグしてトップに固定してください"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:733
-#: frontend/src/metabase/components/CollectionLanding.jsx:341
+#: frontend/src/metabase/admin/permissions/selectors.js:737
+#: frontend/src/metabase/components/CollectionLanding.jsx:353
 #: frontend/src/metabase/home/containers/SearchApp.jsx:35
-#: frontend/src/metabase/home/containers/SearchApp.jsx:96
+#: frontend/src/metabase/home/containers/SearchApp.jsx:92
 msgid "Collections"
 msgstr "コレクション"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:411
-#: frontend/src/metabase/components/CollectionLanding.jsx:434
+#: frontend/src/metabase/components/CollectionLanding.jsx:432
+#: frontend/src/metabase/components/CollectionLanding.jsx:455
 msgid "Drag here to un-pin"
 msgstr "固定を外すにはドラッグしてください"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:469
+#: frontend/src/metabase/components/CollectionLanding.jsx:490
 msgid "{0} item selected"
 msgid_plural "{0} items selected"
 msgstr[0] "{0}アイテムが選択されました"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:487
+#: frontend/src/metabase/components/CollectionLanding.jsx:522
 msgid "Move {0} items?"
 msgstr "{0}アイテムを移動しますか?"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:488
+#: frontend/src/metabase/components/CollectionLanding.jsx:523
 msgid "Move \"{0}\"?"
 msgstr "{0}を移動しますか?"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:594
+#: frontend/src/metabase/components/CollectionLanding.jsx:631
 #: frontend/src/metabase/components/EntityMenu.info.js:29
 #: frontend/src/metabase/components/EntityMenu.info.js:85
-#: frontend/src/metabase/containers/CollectionMoveModal.jsx:78
+#: frontend/src/metabase/containers/CollectionMoveModal.jsx:69
 msgid "Move"
 msgstr "移動する"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:656
+#: frontend/src/metabase/components/CollectionLanding.jsx:692
 msgid "Edit this collection"
 msgstr "このコレクションを編集する"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:664
+#: frontend/src/metabase/components/CollectionLanding.jsx:700
 msgid "Archive this collection"
 msgstr "このコレクションをアーカイブする"
 
 #: frontend/src/metabase/components/CollectionList.jsx:64
-#: frontend/src/metabase/entities/collections.js:148
+#: frontend/src/metabase/entities/collections.js:155
 msgid "My personal collection"
 msgstr "個人のコレクション"
 
 #: frontend/src/metabase/components/CollectionList.jsx:106
-#: frontend/src/metabase/containers/CollectionForm.jsx:9
 msgid "New collection"
 msgstr "新しいコレクション"
 
@@ -2373,15 +2357,16 @@ msgstr "どのようにこのデータベースを参照しますか?"
 msgid "Next"
 msgstr "次へ"
 
+#: frontend/src/metabase/components/ArchivedItem.jsx:52
 #: frontend/src/metabase/components/DeleteModalWithConfirm.jsx:80
 msgid "Delete this {0}"
 msgstr "この{0}を削除する"
 
-#: frontend/src/metabase/components/EntityItem.jsx:42
+#: frontend/src/metabase/components/EntityItem.jsx:43
 msgid "Pin this item"
 msgstr "このアイテムを固定する"
 
-#: frontend/src/metabase/components/EntityItem.jsx:48
+#: frontend/src/metabase/components/EntityItem.jsx:49
 msgid "Move this item"
 msgstr "このアイテムを移動する"
 
@@ -2527,6 +2512,7 @@ msgid "No description yet"
 msgstr "まだ説明がありません"
 
 #: frontend/src/metabase/components/Header.jsx:112
+#: frontend/src/metabase/entities/containers/EntityForm.jsx:43
 msgid "New {0}"
 msgstr "新しい{0}"
 
@@ -2590,22 +2576,22 @@ msgid "Everything"
 msgstr "全て"
 
 #: frontend/src/metabase/components/ItemTypeFilterBar.jsx:18
-#: frontend/src/metabase/home/containers/SearchApp.jsx:73
+#: frontend/src/metabase/home/containers/SearchApp.jsx:69
 msgid "Dashboards"
 msgstr "ダッシュボード"
 
 #: frontend/src/metabase/components/ItemTypeFilterBar.jsx:23
-#: frontend/src/metabase/home/containers/SearchApp.jsx:119
+#: frontend/src/metabase/home/containers/SearchApp.jsx:115
 msgid "Questions"
 msgstr "質問"
 
 #: frontend/src/metabase/components/ItemTypeFilterBar.jsx:28
-#: frontend/src/metabase/routes.jsx:320
+#: frontend/src/metabase/routes.jsx:321
 msgid "Pulses"
 msgstr "パルス"
 
 #: frontend/src/metabase/components/LeftNavPane.jsx:36
-#: frontend/src/metabase/query_builder/components/dataref/DataReference.jsx:86
+#: frontend/src/metabase/query_builder/components/dataref/DataReference.jsx:103
 msgid "Back"
 msgstr "戻る"
 
@@ -2706,6 +2692,7 @@ msgid "First"
 msgstr "最初"
 
 #: frontend/src/metabase/components/SchedulePicker.jsx:34
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:23
 msgid "Last"
 msgstr "最後"
 
@@ -2762,8 +2749,8 @@ msgstr "申し訳ありません、閲覧権限がありません"
 msgid "Unknown error encountered"
 msgstr "不明エラーが発生しました"
 
-#: frontend/src/metabase/components/form/StandardForm.jsx:67
-#: frontend/src/metabase/nav/containers/Navbar.jsx:305
+#: frontend/src/metabase/components/form/StandardForm.jsx:69
+#: frontend/src/metabase/nav/containers/Navbar.jsx:304
 msgid "Create"
 msgstr "作成する"
 
@@ -2799,12 +2786,13 @@ msgid "View by"
 msgstr "で見る"
 
 #: frontend/src/metabase/containers/EntitySearch.jsx:494
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:84
 #: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:69
 #: frontend/src/metabase/tutorial/TutorialModal.jsx:34
 msgid "of"
 msgstr "の"
 
-#: frontend/src/metabase/containers/Overworld.jsx:80
+#: frontend/src/metabase/containers/Overworld.jsx:75
 msgid "Don't tell anyone, but you're my favorite."
 msgstr "皆には内緒ですが、あなたは私のお気に入りです"
 
@@ -2812,19 +2800,19 @@ msgstr "皆には内緒ですが、あなたは私のお気に入りです"
 msgid "Once you connect your own data, I can show you some automatic explorations called x-rays. Here are some examples with sample data."
 msgstr "データを接続すると、X線と呼ばれる自動探査を表示できます。サンプルデータの例をいくつか表示します。"
 
-#: frontend/src/metabase/containers/Overworld.jsx:133
-#: frontend/src/metabase/containers/Overworld.jsx:304
+#: frontend/src/metabase/containers/Overworld.jsx:128
+#: frontend/src/metabase/containers/Overworld.jsx:299
 #: frontend/src/metabase/reference/components/GuideHeader.jsx:12
 msgid "Start here"
 msgstr "ここから開始する"
 
-#: frontend/src/metabase/containers/Overworld.jsx:299
-#: frontend/src/metabase/entities/collections.js:140
+#: frontend/src/metabase/containers/Overworld.jsx:294
+#: frontend/src/metabase/entities/collections.js:147
 #: src/metabase/models/collection.clj
 msgid "Our analytics"
 msgstr "分析"
 
-#: frontend/src/metabase/containers/Overworld.jsx:208
+#: frontend/src/metabase/containers/Overworld.jsx:203
 msgid "Browse all items"
 msgstr "全データをブラウズする"
 
@@ -2852,9 +2840,11 @@ msgstr "質問を保存する"
 msgid "What is the name of your card?"
 msgstr "カードの名前は?"
 
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:31
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:18
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:232
-#: frontend/src/metabase/entities/collections.js:94
-#: frontend/src/metabase/entities/dashboards.js:102
+#: frontend/src/metabase/entities/collections.js:101
+#: frontend/src/metabase/entities/dashboards.js:151
 #: frontend/src/metabase/lib/core.js:50 frontend/src/metabase/lib/core.js:205
 #: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:156
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:211
@@ -2867,12 +2857,12 @@ msgid "Description"
 msgstr "説明"
 
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:238
-#: frontend/src/metabase/entities/dashboards.js:104
+#: frontend/src/metabase/entities/dashboards.js:153
 msgid "It's optional but oh, so helpful"
 msgstr "任意ですが、とても便利です"
 
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:245
-#: frontend/src/metabase/entities/dashboards.js:108
+#: frontend/src/metabase/entities/dashboards.js:157
 msgid "Which collection should this go in?"
 msgstr "これはどのコレクションに保存しますか?"
 
@@ -2912,11 +2902,11 @@ msgstr "ダッシュボードをアーカイブする"
 msgid "Make sure to make a selection for each series, or the filter won't work on this card."
 msgstr "各シリーズを必ず選択してください。選択しない場合、このカードでのフィルターが機能しません。"
 
-#: frontend/src/metabase/dashboard/components/Dashboard.jsx:286
+#: frontend/src/metabase/dashboard/components/Dashboard.jsx:300
 msgid "This dashboard is looking empty."
 msgstr "このダッシュボードは空です"
 
-#: frontend/src/metabase/dashboard/components/Dashboard.jsx:289
+#: frontend/src/metabase/dashboard/components/Dashboard.jsx:301
 msgid "Add a question to start making it useful!"
 msgstr "質問を追加して使い易くしましょう!"
 
@@ -2964,23 +2954,23 @@ msgstr "パラメーター"
 msgid "Add a text box"
 msgstr "テキストボックスを追加する"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:302
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:319
 msgid "Move dashboard"
 msgstr "ダッシュボードを移動する"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:315
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:302
 msgid "Edit dashboard"
 msgstr "ダッシュボードを編集する"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:319
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:306
 msgid "Edit Dashboard Layout"
 msgstr "ダッシュボードのレイアウトを編集する"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:357
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:369
 msgid "You are editing a dashboard"
 msgstr "ダッシュボード編集中"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:362
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:374
 msgid "Select the field that should be filtered for each card"
 msgstr "各カードにフィルタリングするフィールドを選択する"
 
@@ -3047,6 +3037,7 @@ msgstr "この質問を削除しますか?"
 msgid "Your dashboard was saved"
 msgstr "ダッシュボードが保存されました"
 
+#: frontend/src/metabase/components/CollectionLanding.jsx:745
 #: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:76
 msgid "See it"
 msgstr "見る"
@@ -3072,15 +3063,15 @@ msgstr "このフィールドの値は、選択した他のフィールドの値
 msgid "No valid fields"
 msgstr "有効なフィールドがありません"
 
-#: frontend/src/metabase/entities/collections.js:90
+#: frontend/src/metabase/entities/collections.js:97
 msgid "Name must be 100 characters or less"
 msgstr "名前は100文字以下で入力してください"
 
-#: frontend/src/metabase/entities/collections.js:104
+#: frontend/src/metabase/entities/collections.js:111
 msgid "Color is required"
 msgstr "色が必要です"
 
-#: frontend/src/metabase/entities/dashboards.js:97
+#: frontend/src/metabase/entities/dashboards.js:146
 msgid "What is the name of your dashboard?"
 msgstr "このダッシュボードの名前は?"
 
@@ -3133,7 +3124,9 @@ msgstr "ダッシュボードから質問を削除しました"
 msgid "received the latest data from"
 msgstr "から最新のデータを受信しました"
 
+#: frontend/src/metabase-lib/lib/Dimension.js:621
 #: frontend/src/metabase/home/components/Activity.jsx:244
+#: frontend/src/metabase/lib/query_time.js:180
 #: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:273
 msgid "Unknown"
 msgstr "不明"
@@ -3255,17 +3248,17 @@ msgstr "最近見たデータ"
 msgid "You haven't looked at any dashboards or questions recently"
 msgstr "最近ダッシュボードや質問を見ていないようです"
 
-#: frontend/src/metabase/home/containers/ArchiveApp.jsx:82
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:99
 msgid "{0} items selected"
 msgstr "{0}アイテムが選択されました"
 
-#: frontend/src/metabase/home/containers/ArchiveApp.jsx:102
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:121
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:172
 msgid "Unarchive"
 msgstr "アーカイブを取り消す"
 
 #: frontend/src/metabase/home/containers/HomepageApp.jsx:74
-#: frontend/src/metabase/nav/containers/Navbar.jsx:332
+#: frontend/src/metabase/nav/containers/Navbar.jsx:331
 msgid "Activity"
 msgstr "アクティビティ"
 
@@ -3273,7 +3266,7 @@ msgstr "アクティビティ"
 msgid "Results for \"{0}\""
 msgstr "{0}の結果"
 
-#: frontend/src/metabase/home/containers/SearchApp.jsx:142
+#: frontend/src/metabase/home/containers/SearchApp.jsx:138
 msgid "Pulse"
 msgstr "パルス"
 
@@ -3336,7 +3329,7 @@ msgstr "一般"
 
 #: frontend/src/metabase/lib/core.js:30
 #: frontend/src/metabase/meta/Dashboard.js:81
-#: frontend/src/metabase/qb/components/actions/PivotByCategoryAction.jsx:9
+#: frontend/src/metabase/modes/components/actions/PivotByCategoryAction.jsx:9
 msgid "Category"
 msgstr "カテゴリー"
 
@@ -3372,10 +3365,11 @@ msgstr "経度"
 
 #: frontend/src/metabase/lib/core.js:85
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:149
-#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:39
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:41
 msgid "Number"
 msgstr "番号"
 
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:19
 #: frontend/src/metabase/lib/core.js:90
 #: frontend/src/metabase/meta/Dashboard.js:65
 msgid "State"
@@ -3539,7 +3533,7 @@ msgid "CumulativeCount"
 msgstr "累積AE計数"
 
 #: frontend/src/metabase/lib/expressions/config.js:9
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:17
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:17
 #: frontend/src/metabase/visualizations/lib/utils.js:127
 msgid "Sum"
 msgstr "合計"
@@ -3563,14 +3557,14 @@ msgid "Average"
 msgstr "平均"
 
 #: frontend/src/metabase/lib/expressions/config.js:14
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:25
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:25
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:48
 #: frontend/src/metabase/visualizations/lib/settings/graph.js:450
 msgid "Min"
 msgstr "最低"
 
 #: frontend/src/metabase/lib/expressions/config.js:15
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:29
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:29
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:57
 #: frontend/src/metabase/visualizations/lib/settings/graph.js:458
 msgid "Max"
@@ -3580,12 +3574,12 @@ msgstr "最高"
 msgid "sad sad panda, lexing errors detected"
 msgstr "字句エラーが検出されました"
 
-#: frontend/src/metabase/lib/formatting.js:724
+#: frontend/src/metabase/lib/formatting.js:707
 msgid "{0} second"
 msgid_plural "{0} seconds"
 msgstr[0] "{0}秒"
 
-#: frontend/src/metabase/lib/formatting.js:727
+#: frontend/src/metabase/lib/formatting.js:710
 msgid "{0} minute"
 msgid_plural "{0} minutes"
 msgstr[0] "{0}分"
@@ -3843,16 +3837,16 @@ msgid "Cumulative sum of ..."
 msgstr "累積合計"
 
 #: frontend/src/metabase/lib/schema_metadata.js:493
-msgid "Additive sum of all the values of a column.\\ne.x. total revenue over time."
-msgstr "列の全値の合計\\ne.x. 経年の全収入"
+msgid "Additive sum of all the values of a column.\\\\ne.x. total revenue over time."
+msgstr "列の全値の合計\\\\ne.x. 経年の全収入"
 
 #: frontend/src/metabase/lib/schema_metadata.js:499
 msgid "Cumulative count of rows"
 msgstr "行の累積AE計数"
 
 #: frontend/src/metabase/lib/schema_metadata.js:501
-msgid "Additive count of the number of rows.\\ne.x. total number of sales over time."
-msgstr "行数の合計\\ne.x.経年の販売数合計"
+msgid "Additive count of the number of rows.\\\\ne.x. total number of sales over time."
+msgstr "行数の合計\\\\ne.x.経年の販売数合計"
 
 #: frontend/src/metabase/lib/schema_metadata.js:507
 msgid "Standard deviation of ..."
@@ -4018,7 +4012,7 @@ msgid "ID"
 msgstr "ID"
 
 #: frontend/src/metabase/meta/Dashboard.js:95
-#: frontend/src/metabase/qb/components/actions/PivotByTimeAction.jsx:8
+#: frontend/src/metabase/modes/components/actions/PivotByTimeAction.jsx:8
 msgid "Time"
 msgstr "時間"
 
@@ -4027,7 +4021,7 @@ msgid "Date range, relative date, time of day, etc."
 msgstr "時間範囲、相対日付、時間等"
 
 #: frontend/src/metabase/meta/Dashboard.js:101
-#: frontend/src/metabase/qb/components/actions/PivotByLocationAction.jsx:8
+#: frontend/src/metabase/modes/components/actions/PivotByLocationAction.jsx:8
 msgid "Location"
 msgstr "場所"
 
@@ -4047,73 +4041,73 @@ msgstr "他カテゴリー"
 msgid "Category, Type, Model, Rating, etc."
 msgstr "カテゴリー、タイプ、モデル、レーティング等"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:43
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:42
 #: frontend/src/metabase/user/components/UserSettings.jsx:54
 msgid "Account settings"
 msgstr "アカウント設定"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:50
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:49
 msgid "Exit admin"
 msgstr "管理画面から離れる"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:60
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:34
 msgid "Logs"
 msgstr "ログ"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:67
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:58
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorSidebar.jsx:105
 msgid "Help"
 msgstr "ヘルプ"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:76
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:67
 msgid "About Metabase"
 msgstr "Metabaseについて"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:82
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:73
 msgid "Sign out"
 msgstr "サインアウト"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:107
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:98
 msgid "Thanks for using"
 msgstr "ご利用ありがとうございました"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:111
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:102
 msgid "You're on version"
 msgstr "バージョンをご利用中です"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:114
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:105
 msgid "Built on"
 msgstr "構築された"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:133
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:124
 msgid "is a Trademark of"
 msgstr "の商標です"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:135
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:126
 msgid "and is built with care in San Francisco, CA"
 msgstr "カリフォルニアのサンフランシスコで構築されています"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:195
+#: frontend/src/metabase/nav/containers/Navbar.jsx:194
 msgid "Metabase Admin"
 msgstr "Metabase管理者"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:301
+#: frontend/src/metabase/nav/containers/Navbar.jsx:300
 #: frontend/src/metabase/reference/databases/TableQuestions.jsx:36
 #: frontend/src/metabase/reference/metrics/MetricQuestions.jsx:37
 #: frontend/src/metabase/reference/segments/SegmentQuestions.jsx:37
 msgid "Ask a question"
 msgstr "照会する"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:310
+#: frontend/src/metabase/nav/containers/Navbar.jsx:309
 msgid "New dashboard"
 msgstr "新しいダッシュボード"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:316
+#: frontend/src/metabase/nav/containers/Navbar.jsx:315
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:127
 msgid "New pulse"
 msgstr "新しいパルス"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:324
+#: frontend/src/metabase/nav/containers/Navbar.jsx:323
 msgid "Reference"
 msgstr "参照"
 
@@ -4162,17 +4156,22 @@ msgid "Select a default value…"
 msgstr "デフォルト値を選択する"
 
 #: frontend/src/metabase/parameters/components/widgets/DateAllOptionsWidget.jsx:149
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:390
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:404
 msgid "Update filter"
 msgstr "フィルターをアップデートする"
 
+#: frontend/src/metabase/lib/query_time.js:112
+#: frontend/src/metabase/lib/query_time.js:123
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:9
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:144
+#: src/metabase/pulse/render.clj
 msgid "Today"
 msgstr "本日"
 
+#: frontend/src/metabase/lib/query_time.js:118
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:14
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:148
+#: src/metabase/pulse/render.clj
 msgid "Yesterday"
 msgstr "昨日"
 
@@ -4184,23 +4183,29 @@ msgstr "過去7日"
 msgid "Past 30 days"
 msgstr "過去30日"
 
+#: frontend/src/metabase/lib/query_time.js:195
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:24
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:29
 #: src/metabase/api/table.clj
 msgid "Week"
-msgstr "週"
+msgid_plural "Weeks"
+msgstr[0] "週"
 
+#: frontend/src/metabase/lib/query_time.js:197
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:25
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:30
 #: src/metabase/api/table.clj
 msgid "Month"
-msgstr "月"
+msgid_plural "Months"
+msgstr[0] "月"
 
+#: frontend/src/metabase/lib/query_time.js:201
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:26
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:31
 #: src/metabase/api/table.clj
 msgid "Year"
-msgstr "å¹´"
+msgid_plural "Years"
+msgstr[0] "å¹´"
 
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:152
 msgid "Past 7 Days"
@@ -4234,7 +4239,7 @@ msgstr "今月"
 msgid "This Year"
 msgstr "今年"
 
-#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:88
+#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:89
 #: frontend/src/metabase/parameters/components/widgets/TextWidget.jsx:54
 msgid "Enter a value..."
 msgstr "値を入力する..."
@@ -4417,7 +4422,7 @@ msgid "This pulse will no longer be emailed to {0} {1}"
 msgstr "このクエスチョンは{0} {1}にメールされません"
 
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:94
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:374
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:376
 msgid "{0} address"
 msgid_plural "{0} addresses"
 msgstr[0] "{0}アドレス"
@@ -4468,7 +4473,7 @@ msgstr "添付"
 
 #: frontend/src/metabase/pulse/components/PulseEditCards.jsx:104
 #: frontend/src/metabase/pulse/components/PulseEditCards.jsx:111
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:671
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:673
 msgid "Heads up"
 msgstr "警告"
 
@@ -4496,55 +4501,55 @@ msgstr "データを選ぶ"
 msgid "Choose questions you'd like to send in this pulse"
 msgstr "このパルス内で送信したい質問を選択する"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:29
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:27
 msgid "Emails"
 msgstr "メール"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:30
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:28
 msgid "Slack messages"
 msgstr "Slackメッセージ"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:223
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:221
 msgid "Sent"
 msgstr "送信しました"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:224
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:222
 msgid "{0} will be sent at"
 msgstr "{0}が送信されます"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:226
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:224
 msgid "Messages"
 msgstr "メッセージ"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:237
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:240
 msgid "Send email now"
 msgstr "今すぐメールを送信する"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:238
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:241
 msgid "Send to {0} now"
 msgstr "今すぐ{0}に送信する"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:240
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:243
 msgid "Sending…"
 msgstr "送信中..."
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:241
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:244
 msgid "Sending failed"
 msgstr "送信に失敗しました"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:244
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:247
 msgid "Didn’t send because the pulse has no results."
 msgstr "パルスの結果が存在しないため送信できませんでした"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:245
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:248
 msgid "Pulse sent"
 msgstr "パルスが送信されました"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:284
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:287
 msgid "{0} needs to be set up by an administrator."
 msgstr "{0}は管理者が設定する必要があります"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:299
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:302
 msgid "Slack"
 msgstr "Slack"
 
@@ -4584,66 +4589,66 @@ msgstr "チームが常にあなたのデータと同期されるよう心がけ
 msgid "Pulses let you send data from Metabase to email or Slack on the schedule of your choice."
 msgstr "Metabaseのデータをご自身で設定した予定通りにメールまたはSlackで送信することができます"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:100
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:100
 msgid "After {0}"
 msgstr "{0}後"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:102
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:102
 msgid "Before {0}"
 msgstr "{0}前"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:104
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:104
 #: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:295
 msgid "Is Empty"
 msgstr "空"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:106
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:106
 #: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:301
 msgid "Not Empty"
 msgstr "空ではない"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:109
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:109
 #: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:213
 msgid "All Time"
 msgstr "全期間"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:154
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:154
 msgid "Apply"
 msgstr "適用する"
 
-#: frontend/src/metabase/qb/components/actions/CommonMetricsAction.jsx:21
+#: frontend/src/metabase/modes/components/actions/CommonMetricsAction.jsx:21
 msgid "View {0}"
 msgstr "{0}を見る"
 
-#: frontend/src/metabase/qb/components/actions/CompareWithTable.jsx:29
+#: frontend/src/metabase/modes/components/actions/CompareWithTable.jsx:29
 msgid "Compare this with all rows in the table"
 msgstr "表内の全行と比較する"
 
-#: frontend/src/metabase/qb/components/actions/CompoundQueryAction.jsx:14
+#: frontend/src/metabase/modes/components/actions/CompoundQueryAction.jsx:14
 msgid "Analyze the results of this Query"
 msgstr "このクエリの結果を分析する"
 
-#: frontend/src/metabase/qb/components/actions/CountByTimeAction.jsx:29
+#: frontend/src/metabase/modes/components/actions/CountByTimeAction.jsx:29
 msgid "Count of rows by time"
 msgstr "時間ごとの行数"
 
-#: frontend/src/metabase/qb/components/actions/PivotByAction.jsx:55
+#: frontend/src/metabase/modes/components/actions/PivotByAction.jsx:52
 msgid "Break out by {0}"
 msgstr "{0}ごとに分割する"
 
-#: frontend/src/metabase/qb/components/actions/SummarizeBySegmentMetricAction.jsx:34
+#: frontend/src/metabase/modes/components/actions/SummarizeBySegmentMetricAction.jsx:31
 msgid "Summarize this segment"
 msgstr "このセグメントを要約する"
 
-#: frontend/src/metabase/qb/components/actions/UnderlyingDataAction.jsx:14
+#: frontend/src/metabase/modes/components/actions/UnderlyingDataAction.jsx:14
 msgid "View this as a table"
 msgstr "表として見る"
 
-#: frontend/src/metabase/qb/components/actions/UnderlyingRecordsAction.jsx:22
+#: frontend/src/metabase/modes/components/actions/UnderlyingRecordsAction.jsx:22
 msgid "View the underlying {0} records"
 msgstr "{0}の基本的な記録を見る"
 
-#: frontend/src/metabase/qb/components/actions/XRayCard.jsx:20
+#: frontend/src/metabase/modes/components/actions/XRayCard.jsx:20
 msgid "X-Ray this question"
 msgstr "この質問を自動探査(X-ray)する"
 
@@ -4665,46 +4670,46 @@ msgstr "これ"
 msgid "Compare {0} {1} to the rest"
 msgstr "{0} {1}を結果と比較する"
 
-#: frontend/src/metabase/qb/components/drill/DistributionDrill.jsx:35
+#: frontend/src/metabase/modes/components/drill/DistributionDrill.jsx:35
 msgid "Distribution"
 msgstr "分布"
 
-#: frontend/src/metabase/qb/components/drill/ObjectDetailDrill.jsx:38
+#: frontend/src/metabase/modes/components/drill/ObjectDetailDrill.jsx:38
 msgid "View details"
 msgstr "詳細を見る"
 
-#: frontend/src/metabase/qb/components/drill/QuickFilterDrill.jsx:54
+#: frontend/src/metabase/modes/components/drill/QuickFilterDrill.jsx:54
 msgid "View this {0}'s {1}"
 msgstr "{0}の{1}を見る"
 
-#: frontend/src/metabase/qb/components/drill/SortAction.jsx:41
+#: frontend/src/metabase/modes/components/drill/SortAction.jsx:42
 msgid "Ascending"
 msgstr "上昇"
 
-#: frontend/src/metabase/qb/components/drill/SortAction.jsx:49
+#: frontend/src/metabase/modes/components/drill/SortAction.jsx:50
 msgid "Descending"
 msgstr "下降"
 
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnByTimeDrill.js:47
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnByTimeDrill.js:47
 msgid "over time"
 msgstr "時間とともに"
 
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:21
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:21
 msgid "Avg"
 msgstr "平均"
 
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:33
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:33
 msgid "Distincts"
 msgstr "Distinct"
 
-#: frontend/src/metabase/qb/components/drill/UnderlyingRecordsDrill.jsx:32
+#: frontend/src/metabase/modes/components/drill/UnderlyingRecordsDrill.jsx:32
 msgid "View this {0}"
 msgid_plural "View these {0}"
 msgstr[0] "この{0}を見る\n"
 "Plural:これらの{0}を見る"
 
 #: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:225
-#: frontend/src/metabase/qb/components/drill/ZoomDrill.jsx:26
+#: frontend/src/metabase/modes/components/drill/ZoomDrill.jsx:26
 msgid "Zoom in"
 msgstr "拡大する"
 
@@ -4716,63 +4721,63 @@ msgstr "カスタムエクスプレッション"
 msgid "Common Metrics"
 msgstr "共通のメトリクス"
 
-#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:182
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:209
 msgid "Metabasics"
 msgstr "Metabasics"
 
-#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:290
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:319
 msgid "Name (optional)"
 msgstr "名前(任意)"
 
-#: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:153
+#: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:156
 msgid "Choose an aggregation"
 msgstr "集約を選択する"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:115
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:100
 msgid "Set up your own alert"
 msgstr "アラートを設定する"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:155
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:140
 msgid "Unsubscribing..."
 msgstr "購読解除中..."
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:160
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:145
 msgid "Failed to unsubscribe"
 msgstr "購読解除に失敗しました"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:216
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:204
 msgid "Unsubscribe"
 msgstr "購読解除する"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:247
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:235
 msgid "No channel"
 msgstr "チャンネルがありません"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:274
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:263
 msgid "Okay, you're unsubscribed"
 msgstr "購読解除しました"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:346
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:335
 msgid "You're receiving {0}'s alerts"
 msgstr "{0}のアラートを受け取る設定になっています"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:347
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:336
 msgid "{0} set up an alert"
 msgstr "{0}アラートを設定しました。"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:161
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:160
 msgid "alerts"
 msgstr "アラート"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:184
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:183
 msgid "Let's set up your alert"
 msgstr "アラートを設定しましょう"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:215
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:214
 msgid "The wide world of alerts"
 msgstr "アラートの広い世界"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:216
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:215
 msgid "There are a few different kinds of alerts you can get"
 msgstr "様々な種類のアラートがあります"
 
@@ -4784,123 +4789,123 @@ msgstr "ローデータ質問が{0}のとき"
 msgid "returns any results"
 msgstr "どんな結果も返す"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:240
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:241
 msgid "When a line or bar {0}"
 msgstr "折れ線グラフまたは棒グラフが{0}のとき"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:241
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:242
 msgid "crosses a goal line"
 msgstr "目標値を超える"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:251
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:253
 msgid "When a progress bar {0}"
 msgstr "進捗バーが{0}のとき"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:252
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:254
 msgid "reaches its goal"
 msgstr "目標に到達する"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:260
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:262
 msgid "Set up an alert"
 msgstr "アラートを設定する"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:329
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:331
 msgid "Edit your alert"
 msgstr "アラートを編有する"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:329
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:331
 msgid "Edit alert"
 msgstr "アラートを編集する"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:372
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:374
 msgid "This alert will no longer be emailed to {0}."
 msgstr "このアラートは{0}にメール送信されません"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:380
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:382
 msgid "Slack channel {0} will no longer get this alert."
 msgstr "Slackチャンネル{0}では、このアラートを取得できません"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:384
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:386
 msgid "Channel {0} will no longer receive this alert."
 msgstr "チャンネル{0}では、このアラートを受信できません"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:401
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:403
 msgid "Delete this alert"
 msgstr "このアラートを削除する"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:403
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:405
 msgid "Stop delivery and delete this alert. There's no undo, so be careful."
 msgstr "このアラートを削除する。この操作はやり直しできませんので、ご注意ください"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:411
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:413
 msgid "Delete this alert?"
 msgstr "このアラートを削除しますか?"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:495
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:497
 msgid "Alert me when the line…"
 msgstr "線が...のときアラートする"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:496
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:498
 msgid "Alert me when the progress bar…"
 msgstr "進捗バーが...のときアラートする"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:499
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:501
 msgid "Goes above the goal line"
 msgstr "目標値を超える"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:499
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:501
 msgid "Reaches the goal"
 msgstr "目標に到達する"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:502
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:504
 msgid "Goes below the goal line"
 msgstr "目標値を下回る"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:502
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:504
 msgid "Goes below the goal"
 msgstr "目標を下回る"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:510
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:512
 msgid "The first time it crosses, or every time?"
 msgstr "最初に超えたときのみ、または超えたときは毎回"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:511
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:513
 msgid "The first time it reaches the goal, or every time?"
 msgstr "最初に目標に到達したときのみ、または目標に到達したときは毎回"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:513
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:515
 msgid "The first time"
 msgstr "最初のみ"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:514
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:516
 msgid "Every time"
 msgstr "毎回"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:617
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:619
 msgid "Where do you want to send these alerts?"
 msgstr "アラートをどこに送信しますか?"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:628
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:630
 msgid "Email alerts to:"
 msgstr "にアラートをメール送信する"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:670
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:672
 msgid "{0} Goal-based alerts aren't yet supported for charts with more than one line, so this alert will be sent whenever the chart has {1}."
 msgstr "{0} 2行以上のグラフでは目標ベースのアラートがサポートされていないため、図に{1}があるたびにアラートが送信されます。"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:673
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:675
 msgid "results"
 msgstr "結果"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:677
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:679
 msgid "{0} This kind of alert is most useful when your saved question doesn’t {1} return any results, but you want to know when it does."
 msgstr "{0}このタイプのアラートは、保存された質問が{1}結果を返さない場合でも、いつ実行したかを知りたいときに最も便利です。"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:678
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:680
 msgid "Tip"
 msgstr "ヒント"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:680
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:682
 msgid "usually"
 msgstr "通常"
 
@@ -4923,28 +4928,28 @@ msgstr "選択する..."
 msgid "Select a table"
 msgstr "表を選択する"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:785
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:793
 msgid "No tables found in this database."
 msgstr "このデータベースにはテーブルが見つかりませんでした"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:822
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:830
 msgid "Is a question missing?"
 msgstr "質問がありませんか?"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:826
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:834
 msgid "Learn more about nested queries"
 msgstr "ネストしたクエリについてもっと調べる"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:860
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:868
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:30
 msgid "Fields"
 msgstr "フィールド"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:938
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:946
 msgid "No segments were found."
 msgstr "セグメントが見つかりませんでした"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:961
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:969
 msgid "Find a segment"
 msgstr "セグメントを探す"
 
@@ -4956,27 +4961,27 @@ msgstr "少く表示"
 msgid "View more"
 msgstr "さらに表示"
 
-#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:111
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:112
 msgid "Pick a field to sort by"
 msgstr "ソートするフィールドを選ぶ"
 
-#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:124
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:125
 msgid "Sort"
 msgstr "ソート"
 
-#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:193
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:137
 msgid "Row limit"
 msgstr "行数制限"
 
-#: frontend/src/metabase/query_builder/components/FieldName.jsx:76
+#: frontend/src/metabase/query_builder/components/FieldName.jsx:69
 msgid "Unknown Field"
 msgstr "不明なフィールド"
 
-#: frontend/src/metabase/query_builder/components/FieldName.jsx:79
+#: frontend/src/metabase/query_builder/components/FieldName.jsx:72
 msgid "field"
 msgstr "フィールド"
 
-#: frontend/src/metabase/query_builder/components/Filter.jsx:113
+#: frontend/src/metabase/query_builder/components/Filter.jsx:114
 msgid "Matches"
 msgstr "一致"
 
@@ -4997,11 +5002,11 @@ msgstr "グルーピングを追加する"
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:59
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:68
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:75
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:226
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:232
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:238
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:62
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:67
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:225
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:231
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:237
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:70
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:75
 msgid "Data"
 msgstr "データ"
 
@@ -5009,7 +5014,7 @@ msgstr "データ"
 msgid "Filtered by"
 msgstr "フィルターされた"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:82
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:75
 #: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:369
 msgid "View"
 msgstr "閲覧"
@@ -5242,8 +5247,7 @@ msgstr "最後の実行に戻る"
 msgid "Visualization"
 msgstr "ビジュアライゼーション"
 
-#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:17
-#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:151
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:96
 msgid "No description set."
 msgstr "まだ説明がありません"
 
@@ -5251,12 +5255,11 @@ msgstr "まだ説明がありません"
 msgid "Use for current question"
 msgstr "現在の質問で使用する"
 
-#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:33
 #: frontend/src/metabase/reference/components/UsefulQuestions.jsx:16
 msgid "Potentially useful questions"
 msgstr "役立つかもしれない質問"
 
-#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:156
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:166
 msgid "Group by {0}"
 msgstr "{0}でグループ化する"
 
@@ -5264,20 +5267,19 @@ msgstr "{0}でグループ化する"
 msgid "Sum of all values of {0}"
 msgstr "{0}の全値の合計"
 
-#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:173
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:63
 #: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:51
 msgid "All distinct values of {0}"
 msgstr "{0}の全ディスティンクト値"
 
-#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:177
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:187
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:39
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:51
 #: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:39
 msgid "Number of {0} grouped by {1}"
 msgstr "{1}でグループ化された{0}の数字"
 
-#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:11
+#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:10
 #: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:20
 #: frontend/src/metabase/reference/databases/FieldSidebar.jsx:30
 #: frontend/src/metabase/reference/databases/TableSidebar.jsx:26
@@ -5332,15 +5334,15 @@ msgstr "テーブルの読み込み中にエラーが発生しました"
 msgid "See the raw data for {0}"
 msgstr "{0}のローデータを見る"
 
-#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:205
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:180
 msgid "More"
 msgstr "さらに"
 
-#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:200
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:201
 msgid "Invalid expression"
 msgstr "無効な表現"
 
-#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:275
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:276
 msgid "unknown error"
 msgstr "不明なエラー"
 
@@ -5401,19 +5403,19 @@ msgstr "現在の分"
 msgid "this hour"
 msgstr "現在の時間"
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:285
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:290
 msgid "not implemented {0}"
 msgstr "未実装の{0}"
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:286
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:291
 msgid "true"
 msgstr "æ­£"
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:286
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:291
 msgid "false"
 msgstr "誤"
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:390
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:404
 msgid "Add filter"
 msgstr "フィルターを追加する"
 
@@ -5712,7 +5714,7 @@ msgstr "このデータベースに関して知っておくべきこと"
 msgid "Databases and tables"
 msgstr "データベースとテーブル"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:68
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:61
 #: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:27
 #: frontend/src/metabase/reference/databases/FieldSidebar.jsx:41
 #: frontend/src/metabase/reference/databases/TableDetail.jsx:170
@@ -6098,7 +6100,7 @@ msgstr "検索"
 msgid "Dashboard"
 msgstr "ダッシュボード"
 
-#: frontend/src/metabase/routes.jsx:227
+#: frontend/src/metabase/routes.jsx:228
 msgid "New Question"
 msgstr "新しい質問"
 
@@ -6408,7 +6410,7 @@ msgstr "Googleメールアドレスでサインインする"
 msgid "User Details"
 msgstr "ユーザー詳細"
 
-#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:235
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:275
 msgid "Reset to defaults"
 msgstr "デフォルトに戻す"
 
@@ -6457,35 +6459,35 @@ msgstr "解除する"
 msgid "Rows {0}-{1} of {2}"
 msgstr "{2}の行{0}〜{1}"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:187
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:189
 msgid "Data truncated to {0} rows."
 msgstr "{0}行に切り捨てされたデータ"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:352
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:364
 msgid "Could not find visualization"
 msgstr "ビジュアライゼーションが見つかりませんでした"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:359
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:371
 msgid "Could not display this chart with this data."
 msgstr "このデータでは図が表示できません"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:457
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:469
 msgid "No results!"
 msgstr "結果が見つかりませんでした"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:478
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:490
 msgid "Still Waiting..."
 msgstr "待機中..."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:481
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:493
 msgid "This usually takes an average of {0}."
 msgstr "通常約{0}かかります"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:487
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:499
 msgid "(This is a bit long for a dashboard)"
 msgstr "(通常のダッシュボード処理より時間がかかっています)"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:491
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:503
 msgid "This is usually pretty fast but seems to be taking awhile right now."
 msgstr "通常より時間がかかっています"
 
@@ -6591,7 +6593,7 @@ msgid "Highlight the whole row"
 msgstr "全行をハイライトする"
 
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:390
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:90
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:98
 msgid "Colors"
 msgstr "色"
 
@@ -6898,7 +6900,7 @@ msgid "Funnel"
 msgstr "ファネル"
 
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:76
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:68
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:76
 msgid "Measure"
 msgstr "測定"
 
@@ -6914,15 +6916,15 @@ msgstr "棒グラフ"
 msgid "line chart"
 msgstr "折れ線グラフ"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:225
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:224
 msgid "Please select longitude and latitude columns in the chart settings."
 msgstr "図設定で緯度と経度を選択してください"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:231
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:230
 msgid "Please select a region map."
 msgstr "地域マップを選択してください"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:237
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:236
 msgid "Please select region and metric columns in the chart settings."
 msgstr "図設定で地域とメトリクス列を選択してください"
 
@@ -6972,19 +6974,19 @@ msgstr "メトリクスフィールド"
 msgid "Region field"
 msgstr "地域フィールド"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:193
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:192
 msgid "Radius"
 msgstr "半径"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:199
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:198
 msgid "Blur"
 msgstr "ぼかし"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:205
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:204
 msgid "Min Opacity"
 msgstr "最小不透明度"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:211
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:210
 msgid "Max Zoom"
 msgstr "最大ズーム"
 
@@ -7008,31 +7010,31 @@ msgstr "オブジェクト詳細"
 msgid "object"
 msgstr "オブジェクト"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:304
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:312
 msgid "Total"
 msgstr "合計"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:53
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:61
 msgid "Which columns do you want to use?"
 msgstr "どの列を使用しますか?"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:41
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:44
 msgid "Pie"
 msgstr "円"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:63
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:71
 msgid "Dimension"
 msgstr "ディメンション"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:73
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:81
 msgid "Show legend"
 msgstr "凡例"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:78
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:86
 msgid "Show percentages in legend"
 msgstr "凡例にパーセンテージを表示する"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:84
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:92
 msgid "Minimum slice percentage"
 msgstr "最小パーセンテージ"
 
@@ -7056,8 +7058,8 @@ msgstr "ビジュアライゼーションには数字が必要です。"
 msgid "Progress"
 msgstr "プログレス"
 
-#: frontend/src/metabase/entities/collections.js:101
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:177
+#: frontend/src/metabase/entities/collections.js:108
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:176
 #: frontend/src/metabase/visualizations/visualizations/Progress.jsx:57
 msgid "Color"
 msgstr "色"
@@ -7148,12 +7150,12 @@ msgstr "右"
 msgid "Show background"
 msgstr "背景を表示する"
 
-#: frontend/src/metabase-lib/lib/Dimension.js:492
+#: frontend/src/metabase-lib/lib/Dimension.js:553
 msgid "{0} bin"
 msgid_plural "{0} bins"
 msgstr[0] "{0}ビン"
 
-#: frontend/src/metabase-lib/lib/Dimension.js:498
+#: frontend/src/metabase-lib/lib/Dimension.js:559
 msgid "Auto binned"
 msgstr "自動ビニングされた"
 
@@ -7185,7 +7187,7 @@ msgstr "無効なエンティティタイプ"
 msgid "Invalid comparison entity type. Can only be one of \"table\", \"segment\", or \"adhoc\""
 msgstr "無効な比較エンティティタイプです。「表」「セグメント」または「アドホック」のうち一つのみが選択可能です。"
 
-#: src/metabase/api/card.clj
+#: src/metabase/query_processor/async.clj
 msgid "Error running query to determine Card result metadata:"
 msgstr "カードの結果メタデータを測定するためのクエリ実行中にエラーが発生しました"
 
@@ -7229,14 +7231,14 @@ msgstr "警告:エンドポイント{0}/{1}はdocstringがありません"
 msgid "starting streaming request"
 msgstr "ストリーミングリクエスト開始中..."
 
-#: src/metabase/api/common.clj
+#: src/metabase/async/api_response.clj
 msgid "connection closed, canceling request"
 msgstr "接続終了:リクエストをキャンセルしています"
 
 #. a newline padding character as it's harmless and will allow us to check if the client is connected. If
 #. sending this character fails because the connection is closed, the chan will then close.  Newlines are
 #. no-ops when reading JSON which this depends upon.
-#: src/metabase/api/common.clj
+#: src/metabase/async/api_response.clj
 msgid "Response not ready, writing one byte & sleeping..."
 msgstr "準備中..."
 
@@ -7421,22 +7423,26 @@ msgstr "自動ビン"
 msgid "Don''t bin"
 msgstr "ビニングしない"
 
-#: src/metabase/api/table.clj
+#: frontend/src/metabase/lib/query_time.js:193 src/metabase/api/table.clj
 msgid "Day"
-msgstr "æ—¥"
+msgid_plural "Days"
+msgstr[0] "æ—¥"
 
 #. note the order of these options corresponds to the order they will be shown to the user in the UI
-#: src/metabase/api/table.clj
+#: frontend/src/metabase/lib/query_time.js:189 src/metabase/api/table.clj
 msgid "Minute"
-msgstr "分"
+msgid_plural "Minutes"
+msgstr[0] "分"
 
-#: src/metabase/api/table.clj
+#: frontend/src/metabase/lib/query_time.js:191 src/metabase/api/table.clj
 msgid "Hour"
-msgstr "時間"
+msgid_plural "Hours"
+msgstr[0] "時間"
 
-#: src/metabase/api/table.clj
+#: frontend/src/metabase/lib/query_time.js:199 src/metabase/api/table.clj
 msgid "Quarter"
-msgstr "4分の1"
+msgid_plural "Quarters"
+msgstr[0] "4分の1"
 
 #: src/metabase/api/table.clj
 msgid "Minute of Hour"
@@ -7786,11 +7792,11 @@ msgstr "新インストールのようです。セットアップウィザード
 msgid "Metabase Initialization COMPLETE"
 msgstr "Metabaseの初期化が完了しました"
 
-#: src/metabase/core.clj
+#: src/metabase/server.clj
 msgid "Launching Embedded Jetty Webserver with config:"
 msgstr "configで埋め込みJetty Webserverを起動中:"
 
-#: src/metabase/core.clj
+#: src/metabase/server.clj
 msgid "Shutting Down Embedded Jetty Webserver"
 msgstr "埋め込みJetty Webserverをシャットダウン中"
 
@@ -7851,51 +7857,51 @@ msgstr "Database移行を実行中"
 msgid "Database Migrations Current ... "
 msgstr "Database移行は現在..."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Hmm, we couldn''t connect to the database."
 msgstr "データベースに接続できませんでした"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Make sure your host and port settings are correct"
 msgstr "ホストとポート設定が正しいことをお確かめください"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "We couldn''t connect to the ssh tunnel host."
 msgstr "SSHトンネルホストに接続できませんでした"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Check the username, password."
 msgstr "ユーザーネームとパスワードをお確かめください"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Check the hostname and port."
 msgstr "ホスト名とポートをお確かめください"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like the database name is incorrect."
 msgstr "データベース名が間違っているようです"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "It looks like your host is invalid."
 msgstr "ホストが無効のようです"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Please double-check it and try again."
 msgstr "再度ご確認の上お試しください"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like your password is incorrect."
 msgstr "パスワードが間違っているようです"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like you forgot to enter your password."
 msgstr "パスワードが入力されていないようです"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like your username is incorrect."
 msgstr "ユーザー名が間違っているようです"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like the username or password is incorrect."
 msgstr "ユーザーネームまたはパスワードが間違っているようです"
 
@@ -7912,16 +7918,16 @@ msgstr "登録されたドライバー{0} {1}"
 msgid "No -init-driver function found for ''{0}''"
 msgstr "\"{0}\"の初期ドライバ機能が見つかりません。"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Unable to parse date string ''{0}'' for database engine ''{1}''"
 msgstr "データベースエンジン\"{1}\"の日付文字列\"{0}\"を解析できません。"
 
 #. all-NULL columns in DBs like Mongo w/o explicit types
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Don''t know how to map class ''{0}'' to a Field base_type, falling back to :type/*."
 msgstr "クラス\"{0}\"をフィールドbase_typeにマップする方法が不明です。:type/*.にお戻りください。"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/util.clj
 msgid "Failed to connect to database: {0}"
 msgstr "データベースへの接続が失敗しました:{0}"
 
@@ -7933,7 +7939,7 @@ msgstr "無効なBigQuery識別子:\"{0}\""
 msgid "BigQuery statements can't be parameterized!"
 msgstr "BigQueryステートメントをパラメータ化することはできません。"
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql_jdbc/execute.clj
 msgid "Failed to set timezone:"
 msgstr "タイムゾーンの設定に失敗しました:"
 
@@ -8065,11 +8071,11 @@ msgstr "https://api.slack.com/web#authenticationから入手したSlack APIベ
 msgid "Enable MetaBot, which lets you search for and view your saved questions directly via Slack."
 msgstr "MetaBotを有効化すると、Slackで保存された質問を直接検索したり見たりすることができます"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
 msgid "Last MetaBot checkin was {0} ago."
 msgstr "MetaBotへの最後のチェックインは{0}前でした。"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
 msgid "This instance will now handle MetaBot duties."
 msgstr "このインスタンスはMetaBotのタスクを処理しています。"
 
@@ -8081,39 +8087,39 @@ msgstr "できること"
 msgid "I don''t know how to {0} `{1}`.n{2}"
 msgstr "'{1}と{2}の{0}方法が不明です。"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/slack.clj
 msgid "Uh oh! :cry:n> {0}"
 msgstr ":cry:n> {0}"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Here''s your {0} most recent cards:n{1}"
 msgstr "最新{0}のカードがあります:n{1}"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Could you be a little more specific? I found these cards with names that matched:n{0}"
 msgstr "より詳細に誤入力ください。名前が一致するカードが見つかりました:n{0}"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "I don''t know what Card `{0}` is. Give me a Card ID or name."
 msgstr "カード'{0}'が不明です。カードIDかカード名をご入力ください。"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Show which card? Give me a part of a card name or its ID and I can show it to you. If you don''t know which card you want, try `metabot list`."
 msgstr "どのカードを表示しますか? カード名やカードIDの一部を入力していただくと、ご希望のカードを表示することができます。 どのカードが必要なのかわからない場合は、「metabotリスト」をお試しください。"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Ok, just a second..."
 msgstr "少々お待ちください..."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Not Found"
 msgstr "見つかりませんでした"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Loading Kanye quotes..."
 msgstr "処理中..."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/events.clj
 msgid "Evaluating Metabot command:"
 msgstr "Metabotコマンドを診断中..."
 
@@ -8121,23 +8127,23 @@ msgstr "Metabotコマンドを診断中..."
 msgid "Go home websocket, you're drunk."
 msgstr "websocketで問題が発生しました"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/websocket.clj
 msgid "Error launching metabot:"
 msgstr "metabot起動中にエラーが発生しました:"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/websocket.clj
 msgid "MetaBot WebSocket is closed. Reconnecting now."
 msgstr "MetaBot WebSocketが終了しました。再接続中。"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/websocket.clj
 msgid "Error connecting websocket:"
 msgstr "websocketへの接続中にエラーが発生しまいsた。"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
 msgid "This instance is performing MetaBot duties."
 msgstr "このインスタンスはMetaBotのタスクを処理しています。"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
 msgid "Another instance is already handling MetaBot duties."
 msgstr "別のインスタンスが既にMetaBotのタスクを処理しています。"
 
@@ -8153,15 +8159,15 @@ msgstr "Metabotを停止しています..."
 msgid "MetaBot already running. Killing the previous WebSocket listener first."
 msgstr "MetaBotは既に実行中です。 前のWebSocketリスナーを強制終了します。"
 
-#: src/metabase/middleware.clj
+#: src/metabase/middleware/security.clj
 msgid "Base-64 encoded public key for this site's SSL certificate."
 msgstr "このサイトのSSL証明書のBase-64でエンコードされた公開キー"
 
-#: src/metabase/middleware.clj
+#: src/metabase/middleware/security.clj
 msgid "Specify this to enable HTTP Public Key Pinning."
 msgstr "これを指定すると、HTTP公開キーのピン設定が有効になります。"
 
-#: src/metabase/middleware.clj
+#: src/metabase/middleware/security.clj
 msgid "See {0} for more information."
 msgstr "詳細は{0}を参照してください。"
 
@@ -8368,19 +8374,19 @@ msgstr "履歴をアップデートできません!"
 msgid "Setting {0} does not exist.nFound: {1}"
 msgstr "設定{0}は存在しません:{1}"
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Updating value of settings-last-updated in DB..."
 msgstr "データベース内で最後に更新された値をアップデート中"
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Checking whether settings cache is out of date (requires DB call)..."
 msgstr "キャッシュ設定が最新か確認中(データベースコースが必要)..."
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Settings have been changed on another instance, and will be reloaded here."
 msgstr "別のインスタンスで変更された設定は、ここで再読み込みされます。"
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Refreshing Settings cache..."
 msgstr "設定キャッシュを更新中..."
 
@@ -8886,27 +8892,27 @@ msgstr "全てのコレクション権限を見る"
 msgid "Also change sub-collections"
 msgstr "サブコレクションを変更することもできます"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:278
+#: frontend/src/metabase/admin/permissions/selectors.js:282
 msgid "Can edit this collection and its contents"
 msgstr "このコレクションとコンテンツを編集することができます"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:285
+#: frontend/src/metabase/admin/permissions/selectors.js:289
 msgid "Can view items in this collection"
 msgstr "このコレクション内のアイテムを見ることができます"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:745
+#: frontend/src/metabase/admin/permissions/selectors.js:749
 msgid "Collection Access"
 msgstr "コレクションアクセス"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:821
+#: frontend/src/metabase/admin/permissions/selectors.js:825
 msgid "This group has permission to view at least one subcollection of this collection."
 msgstr "このグループには、コレクション内の最低一つのサブコレクションの閲覧権限があります"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:826
+#: frontend/src/metabase/admin/permissions/selectors.js:830
 msgid "This group has permission to edit at least one subcollection of this collection."
 msgstr "このグループは、このコレクションの最低1つのサブコレクションを編集する権限があります"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:839
+#: frontend/src/metabase/admin/permissions/selectors.js:843
 msgid "View sub-collections"
 msgstr "サブコレクションを見る"
 
@@ -8914,19 +8920,19 @@ msgstr "サブコレクションを見る"
 msgid "Remember Me"
 msgstr "記憶する"
 
-#: frontend/src/metabase/components/BrowseApp.jsx:120
+#: frontend/src/metabase/components/BrowseApp.jsx:95
 msgid "X-ray this schema"
 msgstr "このスキーマを自動探査(X-ray)する"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:246
+#: frontend/src/metabase/components/CollectionLanding.jsx:258
 msgid "Edit the permissions for this collection"
 msgstr "このコレクションの権限を編集する"
 
-#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:51
+#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:55
 msgid "Add this question to a dashboard"
 msgstr "ダッシュボードにこの質問を追加する"
 
-#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:61
+#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:65
 msgid "Create a new dashboard"
 msgstr "新ダッシュボードを作成する"
 
@@ -8938,11 +8944,11 @@ msgstr "リクエストしたページが見つかりませんでした"
 msgid "Select a {0}"
 msgstr "{0}を選択する"
 
-#: frontend/src/metabase/containers/Overworld.jsx:190
+#: frontend/src/metabase/containers/Overworld.jsx:185
 msgid "Save dashboards, questions, and collections in \"{0}\""
 msgstr "\"{0}\"にダッシュボード、質問、コレクションを保存する"
 
-#: frontend/src/metabase/containers/Overworld.jsx:193
+#: frontend/src/metabase/containers/Overworld.jsx:188
 msgid "Access dashboards, questions, and collections in \"{0}\""
 msgstr "\"{0}\"のダッシュボード、質問、コレクションにアクセスする"
 
@@ -8962,11 +8968,11 @@ msgstr "関連"
 msgid "More X-rays"
 msgstr "さらに自動探査(X-ray)"
 
-#: frontend/src/metabase/home/containers/SearchApp.jsx:50
+#: frontend/src/metabase/home/containers/SearchApp.jsx:46
 msgid "No results"
 msgstr "結果がありません"
 
-#: frontend/src/metabase/home/containers/SearchApp.jsx:51
+#: frontend/src/metabase/home/containers/SearchApp.jsx:47
 msgid "Metabase couldn't find any results for your search."
 msgstr "検索結果が見つかりませんでした"
 
@@ -9012,43 +9018,43 @@ msgstr "権限を付与できませんでした:{0}"
 msgid "Cannot decrypt encrypted string. Have you changed or forgot to set MB_ENCRYPTION_SECRET_KEY?"
 msgstr "暗号化された文字列を復号化できません。 MB_ENCRYPTION_SECRET_KEYを変更または設定しましたか?"
 
-#: frontend/src/metabase/entities/collections.js:157
+#: frontend/src/metabase/entities/collections.js:164
 msgid "All personal collections"
 msgstr "全てのパーソナルコレクション"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Host"
 msgstr "ホスト"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Port"
 msgstr "ポート"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Database username"
 msgstr "データベースユーザー名"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "What username do you use to login to the database?"
 msgstr "データベースへのログインにどのユーザー名を使用しますか?"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Database password"
 msgstr "データベースパスワード"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Database name"
 msgstr "データベース名"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "birds_of_the_world"
 msgstr "birds_of_the_world"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Use a secure connection (SSL)?"
 msgstr "セキュア接続(SSL)を使用しますか?"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Additional JDBC connection string options"
 msgstr "追加のJDBC接続文字列オプション"
 
@@ -9187,7 +9193,7 @@ msgstr "ラベル"
 msgid "Add members"
 msgstr "メンバーを追加する"
 
-#: frontend/src/metabase/entities/collections.js:108
+#: frontend/src/metabase/entities/collections.js:115
 msgid "Collection it's saved in"
 msgstr "保存先のコレクション"
 
@@ -9216,10 +9222,10 @@ msgstr "共有"
 #: frontend/src/metabase/visualizations/lib/settings/graph.js:321
 #: frontend/src/metabase/visualizations/lib/settings/nested.js:126
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:83
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:72
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:77
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:83
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:89
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:80
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:85
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:91
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:97
 #: frontend/src/metabase/visualizations/visualizations/Progress.jsx:50
 #: frontend/src/metabase/visualizations/visualizations/Progress.jsx:56
 #: frontend/src/metabase/visualizations/visualizations/Text.jsx:72
@@ -9241,20 +9247,20 @@ msgstr "軸"
 
 #: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:222
 #: frontend/src/metabase/admin/settings/selectors.js:319
-#: frontend/src/metabase/qb/components/drill/FormatAction.jsx:27
+#: frontend/src/metabase/modes/components/drill/FormatAction.jsx:27
 #: frontend/src/metabase/visualizations/lib/settings/column.js:63
 msgid "Formatting"
 msgstr "フォーマット中"
 
-#: frontend/src/metabase/containers/Overworld.jsx:107
+#: frontend/src/metabase/containers/Overworld.jsx:102
 msgid "Try these x-rays based on your data."
 msgstr "データに基づく自動探査(X-ray)を試す"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:35
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:36
 msgid "There was a problem displaying this chart."
 msgstr "図の表示で問題が発生しました"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:36
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:37
 msgid "Sorry, you don't have permission to see this card."
 msgstr "申し訳ありません、このカードの閲覧権限がありません。"
 
@@ -9266,11 +9272,11 @@ msgstr "注意喚起:"
 msgid "{0} without the Sample Dataset, the Query Builder tutorial won't work. You can always restore the Sample Dataset, but any questions you've saved using this data will be lost."
 msgstr "サンプルデータセットのない{0}では、クエリビルダのチュートリアルは機能しません。 サンプルデータセットはいつでも復元できますが、このデータを使用して保存した質問は失われます。"
 
-#: frontend/src/metabase/qb/components/drill/AutomaticDashboardDrill.jsx:33
+#: frontend/src/metabase/modes/components/drill/AutomaticDashboardDrill.jsx:33
 msgid "X-ray"
 msgstr "自動探査(X-ray)"
 
-#: frontend/src/metabase/qb/components/drill/CompareToRestDrill.js:34
+#: frontend/src/metabase/modes/components/drill/CompareToRestDrill.js:34
 msgid "Compare to the rest"
 msgstr "残りと比較する"
 
@@ -9283,11 +9289,11 @@ msgid "We suggest you leave this off unless you're doing manual timezone casting
 "many or most of your queries with this data."
 msgstr "もしほとんどのクエリで手動でタイムゾーンのキャストをしていない限り、この設定はそのままにしておくことをおすすめします"
 
-#: frontend/src/metabase/containers/Overworld.jsx:315
+#: frontend/src/metabase/containers/Overworld.jsx:310
 msgid "Your team's most important dashboards go here"
 msgstr "あなたのチームの最も重要なダッシュボードがここに表示されます"
 
-#: frontend/src/metabase/containers/Overworld.jsx:316
+#: frontend/src/metabase/containers/Overworld.jsx:311
 msgid "Pin dashboards in {0} to have them appear in this space for everyone"
 msgstr "他の人も閲覧できるようこの場所に表示させるため、ダッシュボードを{0}でピン留めする"
 
@@ -9315,8 +9321,8 @@ msgstr "通貨単位を選択"
 msgid "Field Type"
 msgstr "フィールドタイプ"
 
-#: frontend/src/metabase/admin/routes.jsx:83
-#: frontend/src/metabase/nav/containers/Navbar.jsx:225
+#: frontend/src/metabase/admin/routes.jsx:109
+#: frontend/src/metabase/nav/containers/Navbar.jsx:224
 msgid "Troubleshooting"
 msgstr "トラブルシューティング"
 
@@ -9328,35 +9334,35 @@ msgstr "X-ray機能を有効化"
 msgid "Formatting Options"
 msgstr "書式オプション"
 
-#: frontend/src/metabase/admin/tasks/containers/TaskModal.jsx:20
+#: frontend/src/metabase/admin/tasks/containers/TaskModal.jsx:19
 msgid "Task details"
 msgstr "タスク詳細"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:36
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:29
 msgid "Troubleshooting logs"
 msgstr "トラブルシューティングログ"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:38
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:31
 msgid "Trying to get to the bottom of something? This section shows logs of Metabase's background tasks, which can help shed light on what's going on."
-msgstr ""
+msgstr "何かの原因究明をしようとしていますか?このセクションではMetabaseのバックグラウンドタスクのログを表示しています。これを見れば何が起こっているかを知る助けになるでしょう。"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:63
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:56
 msgid "Task"
 msgstr "タスク"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:64
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:57
 msgid "DB ID"
 msgstr "データベースID"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:65
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:58
 msgid "Started at"
 msgstr "に開始"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:66
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:59
 msgid "Ended at"
 msgstr "に終了"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:67
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:60
 msgid "Duration (ms)"
 msgstr "実行時間(ms)"
 
@@ -9364,7 +9370,7 @@ msgstr "実行時間(ms)"
 msgid "Currency"
 msgstr "通貨"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:163
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:161
 msgid "Pick a user or channel..."
 msgstr "ユーザーかチャンネルを選択"
 
@@ -9462,15 +9468,15 @@ msgstr "時間を表示"
 
 #: frontend/src/metabase/visualizations/lib/settings/column.js:232
 msgid "HH:MM"
-msgstr ""
+msgstr "HH:MM"
 
 #: frontend/src/metabase/visualizations/lib/settings/column.js:240
 msgid "HH:MM:SS"
-msgstr ""
+msgstr "HH:MM:SS"
 
 #: frontend/src/metabase/visualizations/lib/settings/column.js:243
 msgid "HH:MM:SS.MS"
-msgstr ""
+msgstr "HH:MM:SS.MS"
 
 #: frontend/src/metabase/visualizations/lib/settings/column.js:254
 msgid "Time style"
@@ -9543,15 +9549,15 @@ msgstr "ゲージ"
 msgid "Gauge ranges"
 msgstr "ゲージの範囲"
 
-#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:91
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:94
 msgid "Field to show"
 msgstr "表示するフィールド"
 
-#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:118
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:121
 msgid "last {0}"
 msgstr "最後の {0}"
 
-#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:176
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:185
 msgid "{0} was {1} {2}"
 msgstr ""
 
@@ -9714,19 +9720,19 @@ msgstr ""
 msgid "WARNING: Druid doenst allow limitSpec in timeseries queries. Ignoring the LIMIT clause."
 msgstr ""
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql/query_processor.clj
 msgid "HoneySQL Form:"
 msgstr "HoneySQLフォーム:"
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql_jdbc/execute.clj
 msgid "Unable to parse date ''{0}''"
 msgstr "日付として解析できません: \"{0}\""
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql_jdbc/execute.clj
 msgid "Client closed connection, cancelling query"
 msgstr "クライアントは切断しました。クエリをキャンセルしています。"
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql_jdbc/execute.clj
 msgid "Setting timezone with statement: {0}"
 msgstr ""
 
@@ -9744,7 +9750,7 @@ msgstr "同時に複数のGoogle Analyticsセグメントは利用できませ
 
 #: src/metabase/driver/mongo/query_processor.clj
 msgid "MONGO AGGREGATION PIPELINE:"
-msgstr ""
+msgstr "MongoDB集約パイプライン:"
 
 #: src/metabase/driver/mongo/query_processor.clj
 msgid "Error: mismatched columns in results! Expected: {0} Got: {1}"
@@ -9811,7 +9817,7 @@ msgid "You cannot remove the last member of the ''Admin'' group!"
 msgstr "Adminグループには最低1人のメンバーを残さないといけません!"
 
 #. go ahead and log the Exception anyway on the off chance that it *wasn't* just a race condition issue
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Error inserting a new Setting: {0}"
 msgstr "新しい設定の追加に失敗: {0}"
 
@@ -9889,7 +9895,7 @@ msgstr "テーブル \"{0}\" には指定されたフィールドに関連する
 
 #: src/metabase/query_processor/middleware/add_query_throttle.clj
 msgid "Max concurrent query limit reached"
-msgstr ""
+msgstr "最大同時クエリ数に達しました"
 
 #. we should never reach this if our patterns are written right so this is more to catch code mistakes than
 #. something the user should expect to see
@@ -9903,7 +9909,7 @@ msgstr ""
 
 #: src/metabase/query_processor/middleware/annotate.clj
 msgid "Query processor error: mismatched number of columns in query and results."
-msgstr ""
+msgstr "クエリプロセッサエラー:クエリと結果におけるコラム数が一致していません"
 
 #: src/metabase/query_processor/middleware/annotate.clj
 msgid "Expected {0} fields, got {1}"
@@ -10259,7 +10265,7 @@ msgstr "[[Country]] 別の [[this]] 合計"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 msgid "States that are performing best"
-msgstr ""
+msgstr "最もパフォーマンスが良い州"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Created At by month of the year"
@@ -10416,7 +10422,7 @@ msgstr ""
 #: resources/automagic_dashboards/field/Number.yaml
 #: resources/automagic_dashboards/table/GenericTable.yaml
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
-msgid "How they compare across location"
+msgid "How they compare acrosss location"
 msgstr ""
 
 #: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
@@ -10481,7 +10487,7 @@ msgstr ""
 #: resources/automagic_dashboards/table/EventTable.yaml
 #: resources/automagic_dashboards/table/UserTable.yaml
 msgid "Overview"
-msgstr ""
+msgstr "概要"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "How this metric is distributed across different categories"
@@ -10599,7 +10605,7 @@ msgstr ""
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "The pages with the most pageviews"
-msgstr ""
+msgstr "最大のビュー数があるページ"
 
 #: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
 msgid "How [[Number1]] is correlated with [[Number2]]"
@@ -10607,11 +10613,11 @@ msgstr ""
 
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 msgid "Top 10 states by sales in the last 30 days"
-msgstr ""
+msgstr "直近30日間における売り上げトップ10の州"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 msgid "Top 10 states by sales"
-msgstr ""
+msgstr "売り上げトップ10の州"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "[[Timestamp]]"
@@ -10623,7 +10629,7 @@ msgstr ""
 
 #: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
 msgid "Top 10 countries by sales"
-msgstr ""
+msgstr "売り上げトップ10の国"
 
 #: resources/automagic_dashboards/table/example.yaml
 msgid "Sales by state"
@@ -10651,7 +10657,7 @@ msgstr "ソースごとの売上"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
 msgid "Average income per country"
-msgstr ""
+msgstr "国別の平均収入"
 
 #: resources/automagic_dashboards/comparison/State.yaml
 #: resources/automagic_dashboards/comparison/FK.yaml
@@ -10710,7 +10716,7 @@ msgstr ""
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "Most-viewed pages"
-msgstr ""
+msgstr "最もビュー数の多いページ"
 
 #: resources/automagic_dashboards/table/example.yaml
 msgid "Example exploration"
@@ -10817,7 +10823,7 @@ msgstr ""
 
 #: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
 msgid "Where most of your traffic is coming from."
-msgstr ""
+msgstr "最大のトラフィックがどこから来ているか"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "Heres a quick look at the [[this]]"
@@ -10952,7 +10958,7 @@ msgstr ""
 
 #: resources/automagic_dashboards/table/example.yaml
 msgid "Sales by month"
-msgstr ""
+msgstr "月別の売り上げ"
 
 #: resources/automagic_dashboards/field/Number.yaml
 msgid "How the [[this]] is distributed across categories"
@@ -10980,11 +10986,11 @@ msgstr ""
 #: resources/automagic_dashboards/field/Country.yaml
 #: resources/automagic_dashboards/field/GenericField.yaml
 msgid "Distinct values"
-msgstr ""
+msgstr "重複のない値"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Hours when [[this.short-name]] were added"
-msgstr ""
+msgstr "[[this.short-name]] が追加された時間"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 #: resources/automagic_dashboards/table/EventTable.yaml
@@ -11099,7 +11105,7 @@ msgstr ""
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Sales per month"
-msgstr ""
+msgstr "月別の売り上げ"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "[[GenericNumber]] by join date"
@@ -11171,7 +11177,7 @@ msgstr ""
 
 #: src/metabase/driver/snowflake.clj
 msgid "Invalid Snowflake connection details: missing DB name."
-msgstr ""
+msgstr "無効なSnowflakeへの接続の詳細:データベース名が指定されていません"
 
 #: src/metabase/email/messages.clj
 msgid "We’d love your feedback."
@@ -11187,11 +11193,11 @@ msgstr ""
 
 #: src/metabase/email/messages.clj
 msgid "We hope you''ve been enjoying Metabase."
-msgstr ""
+msgstr "Metabaseを楽しんでくださいね"
 
 #: src/metabase/email/messages.clj
 msgid "Would you mind taking a fast 6 question survey to tell us how it’s going?"
-msgstr ""
+msgstr "どのような感じだったか私たちが知るため簡単な6つの質問に答えてくれませんか?"
 
 #: src/metabase/email/messages.clj
 msgid "{0} created a Metabase account"
@@ -11203,19 +11209,19 @@ msgstr "{0} はMetabaseへの招待を受付けました"
 
 #: src/metabase/email/messages.clj
 msgid "[Metabase] Password Reset Request"
-msgstr ""
+msgstr "[Metabase] パスワードリセット申告"
 
 #: src/metabase/email/messages.clj
 msgid "[Metabase] Notification"
-msgstr ""
+msgstr "[Metabase] 通知"
 
 #: src/metabase/email/messages.clj
 msgid "[Metabase] Help make Metabase better."
-msgstr ""
+msgstr "[Metabase] Metabaseの改善にご協力ください"
 
 #: src/metabase/email/messages.clj
 msgid "[Metabase] Tell us how things are going."
-msgstr ""
+msgstr "[Metabase] 感想をお聞かせください"
 
 #: src/metabase/mbql/util.clj
 msgid "Error: query''s source query has not been resolved. You probably need to `preprocess` the query first."
@@ -11269,3 +11275,1050 @@ msgstr ""
 msgid "In-depth example"
 msgstr ""
 
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:29
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:17
+msgid "Key"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:30
+msgid "Class"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:32
+msgid "Triggers"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:48
+msgid "View triggers"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:82
+msgid "Scheduler Info"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:20
+msgid "Priority"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:21
+msgid "Last Fired"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:22
+msgid "Next Fire Time"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:23
+msgid "Start Time"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:24
+msgid "End Time"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:25
+msgid "Final Fire Time"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:26
+msgid "May Fire Again?"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:75
+msgid "Triggers for {0}"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:25
+msgid "Tasks"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:30
+msgid "Jobs"
+msgstr ""
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:740
+msgid "Duplicated {0}"
+msgstr ""
+
+#: frontend/src/metabase/components/EntityItem.jsx:55
+msgid "Duplicate this item"
+msgstr ""
+
+#: frontend/src/metabase/components/EntityItem.jsx:61
+msgid "Archive this item"
+msgstr ""
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:330
+msgid "Duplicate dashboard"
+msgstr ""
+
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:16
+msgid "Duplicate \"{0}\""
+msgstr ""
+
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:21
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:26
+msgid "Duplicate"
+msgstr ""
+
+#: frontend/src/metabase/lib/query_time.js:115
+msgid "Tomorrow"
+msgstr ""
+
+#: frontend/src/metabase/lib/query_time.js:129
+#: frontend/src/metabase/lib/query_time.js:143
+msgid "This {0}"
+msgstr ""
+
+#: frontend/src/metabase/lib/query_time.js:132
+msgid "Next {0}"
+msgstr ""
+
+#: frontend/src/metabase/lib/query_time.js:135
+msgid "Previous {0}"
+msgstr ""
+
+#: frontend/src/metabase/lib/query_time.js:139
+msgid "Previous {0} {1}"
+msgstr ""
+
+#: frontend/src/metabase/lib/query_time.js:141
+msgid "Next {0} {1}"
+msgstr ""
+
+#: frontend/src/metabase/lib/query_time.js:171
+msgid "Now"
+msgstr ""
+
+#: frontend/src/metabase/lib/query_time.js:174
+msgid "{0} {1} ago"
+msgstr ""
+
+#: frontend/src/metabase/lib/query_time.js:175
+msgid "{0} {1} from now"
+msgstr ""
+
+#: frontend/src/metabase/lib/query_time.js:187
+msgid "Default period"
+msgid_plural "Default periods"
+msgstr[0] ""
+
+#: frontend/src/metabase/lib/query_time.js:203
+msgid "Minute of hour"
+msgid_plural "Minutes of hour"
+msgstr[0] ""
+
+#: frontend/src/metabase/lib/query_time.js:205
+msgid "Hour of day"
+msgid_plural "Hours of day"
+msgstr[0] ""
+
+#: frontend/src/metabase/lib/query_time.js:207
+msgid "Day of week"
+msgid_plural "Days of week"
+msgstr[0] ""
+
+#: frontend/src/metabase/lib/query_time.js:209
+msgid "Day of month"
+msgid_plural "Days of month"
+msgstr[0] ""
+
+#: frontend/src/metabase/lib/query_time.js:211
+msgid "Day of year"
+msgid_plural "Days of year"
+msgstr[0] ""
+
+#: frontend/src/metabase/lib/query_time.js:213
+msgid "Week of year"
+msgid_plural "Weeks of year"
+msgstr[0] ""
+
+#: frontend/src/metabase/lib/query_time.js:215
+msgid "Month of year"
+msgid_plural "Months of year"
+msgstr[0] ""
+
+#: frontend/src/metabase/lib/query_time.js:217
+msgid "Quarter of year"
+msgid_plural "Quarters of year"
+msgstr[0] ""
+
+#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:62
+#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:58
+#: frontend/src/metabase/query_builder/components/Filter.jsx:79
+msgid "{0} selection"
+msgid_plural "{0} selections"
+msgstr[0] ""
+
+#: frontend/src/metabase/parameters/components/widgets/DateQuarterYearWidget.jsx:11
+msgid "[Q]Q"
+msgstr ""
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:28
+msgid "This"
+msgstr ""
+
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:64
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:96
+msgid "Invalid"
+msgstr ""
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/SpecificDatePicker.jsx:147
+msgid "Add a time"
+msgstr ""
+
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:170
+msgid "Nothing to compare for the previous {0}."
+msgstr ""
+
+#: frontend/src/metabase-lib/lib/Dimension.js:517
+msgid "by {0}"
+msgstr ""
+
+#: src/metabase/api/database.clj
+msgid "value must be a valid database engine."
+msgstr ""
+
+#: src/metabase/api/geojson.clj
+msgid "Connection refused by host for URL `{0}`"
+msgstr ""
+
+#: src/metabase/db.clj
+msgid "Warning: Postgres connection string with `ssl=true` detected."
+msgstr ""
+
+#: src/metabase/db.clj
+msgid "You may need to add `?sslmode=require` to your application DB connection string."
+msgstr ""
+
+#: src/metabase/db.clj
+msgid "If Metabase fails to launch, please add it and try again."
+msgstr ""
+
+#: src/metabase/db.clj
+msgid "See https://github.com/metabase/metabase/issues/8908 for more details."
+msgstr ""
+
+#: src/metabase/db.clj
+msgid "WARNING: Using Metabase with an H2 application database is not recomended for production deployments."
+msgstr ""
+
+#: src/metabase/db.clj
+msgid "For production deployments, we highly recommend using Postgres, MySQL, or MariaDB instead."
+msgstr ""
+
+#: src/metabase/db.clj
+msgid "If you decide to continue to use H2, please be sure to back up the database file regularly."
+msgstr ""
+
+#: src/metabase/db.clj
+msgid "See https://metabase.com/docs/latest/operations-guide/start.html#migrating-from-using-the-h2-database-to-mysql-or-postgres for more information."
+msgstr ""
+
+#: src/metabase/db.clj
+msgid "Unable to connect to Metabase {0} DB."
+msgstr ""
+
+#: src/metabase/db/migrations.clj
+msgid "Error adding legacy SQL directive to BigQuery saved Question"
+msgstr ""
+
+#: src/metabase/driver.clj
+msgid "Failed to notify {0} Database {1} updated"
+msgstr ""
+
+#: src/metabase/driver.clj
+msgid "Loading driver {0} {1}"
+msgstr ""
+
+#: src/metabase/driver.clj
+msgid "Load driver {0}"
+msgstr ""
+
+#: src/metabase/driver.clj
+msgid "Driver not registered after loading: {0}"
+msgstr ""
+
+#: src/metabase/driver.clj
+msgid "Error: attempting to change {0} property `:abstract?` from {1} to {2}."
+msgstr ""
+
+#: src/metabase/driver.clj
+msgid "Registered abstract driver {0}"
+msgstr ""
+
+#: src/metabase/driver.clj
+msgid "Registered driver {0}"
+msgstr ""
+
+#: src/metabase/driver.clj
+msgid "(parents: {0})"
+msgstr ""
+
+#: src/metabase/driver.clj
+msgid "Initializing driver {0}..."
+msgstr ""
+
+#: src/metabase/driver.clj
+msgid "Reason:"
+msgstr ""
+
+#: src/metabase/driver.clj
+msgid "Invalid driver feature: {0}"
+msgstr ""
+
+#: src/metabase/driver/sql/query_processor.clj
+msgid "Invalid HoneySQL form:"
+msgstr ""
+
+#: src/metabase/driver/sql_jdbc/connection.clj
+msgid "Closing connection pool for database {0} ..."
+msgstr ""
+
+#: src/metabase/driver/util.clj
+msgid "Error loading namespace"
+msgstr ""
+
+#: src/metabase/events.clj
+msgid "Starting events listener:"
+msgstr ""
+
+#: src/metabase/events.clj
+msgid "Unexpected error listening on events"
+msgstr ""
+
+#: src/metabase/events/sync_database.clj
+msgid "Error syncing Database {0}"
+msgstr ""
+
+#: src/metabase/events/sync_database.clj
+msgid "Failed to process sync-database event."
+msgstr ""
+
+#: src/metabase/mbql/util.clj
+msgid "Bad nested-query-level: query does not have a source query"
+msgstr ""
+
+#: src/metabase/metabot/command.clj
+msgid "I don''t know how to `{0}`."
+msgstr ""
+
+#: src/metabase/metabot/command.clj
+msgid "Here''s what I can do: "
+msgstr ""
+
+#: src/metabase/metabot/slack.clj
+msgid "Error in Metabot command"
+msgstr ""
+
+#: src/metabase/metabot/websocket.clj
+msgid "Websocket associated with this Slack event is different from the websocket we're currently using."
+msgstr ""
+
+#: src/metabase/models/field_values.clj
+msgid "FieldValues for Field {0} remain unchanged. Skipping..."
+msgstr ""
+
+#: src/metabase/models/interface.clj
+msgid "Unable to normalize:"
+msgstr ""
+
+#: src/metabase/models/params.clj
+msgid "Could not find matching Field ID for target:"
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid "Metabase does not have permissions to write to plugins directory {0}"
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid "Metabase cannot use the plugins directory {0}"
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid "Please make sure the directory exists and that Metabase has permission to write to it."
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid "You can change the directory Metabase uses for modules by setting the environment variable MB_PLUGINS_DIR."
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid "Falling back to a temporary directory for now."
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid "Metabase cannot write to temporary directory. Please set MB_PLUGINS_DIR to a writable directory and restart Metabase."
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid "spark-deps.jar is no longer needed by Metabase 1.0+. You can delete it from the plugins directory."
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid "Failied to initialize plugin {0}"
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid "Loading plugins in {0}..."
+msgstr ""
+
+#: src/metabase/plugins/classloader.clj
+msgid "Using Clojure base loader as shared context classloader: {0}"
+msgstr ""
+
+#: src/metabase/plugins/classloader.clj
+msgid "Setting current thread context classloader to shared classloader {0}..."
+msgstr ""
+
+#. it's important that we deref the promise again here instead of using the one we just created because it is
+#. possible thru a race condition that somebody else delivered the promise before we did; in that case,
+#. Clojure ignores subsequent calls to `deliver`. Dereffing the promise guarantees that we'll get the actual
+#. value of it rather than one that ends up getting discarded
+#: src/metabase/plugins/classloader.clj
+msgid "Setting current thread context classloader to NEWLY CREATED classloader {0}..."
+msgstr ""
+
+#: src/metabase/plugins/classloader.clj
+msgid "Added URL {0} to classpath"
+msgstr ""
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugin {0} declares a dependency that Metabase does not understand: {1}"
+msgstr ""
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Refer to the plugin manifest reference for a complete list of valid plugin dependencies:"
+msgstr ""
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Metabase cannot initialize plugin {0} due to required dependencies."
+msgstr ""
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Class not found: {0}"
+msgstr ""
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugin ''{0}'' depends on plugin ''{1}''"
+msgstr ""
+
+#: src/metabase/plugins/dependencies.clj
+msgid "{0} dependency {1} satisfied? {2}"
+msgstr ""
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugins with unsatisfied deps: {0}"
+msgstr ""
+
+#: src/metabase/plugins/files.clj
+msgid "Extract file {0} -> {1}"
+msgstr ""
+
+#: src/metabase/plugins/files.clj
+msgid "Resource does not exist."
+msgstr ""
+
+#: src/metabase/plugins/init_steps.clj
+msgid "Loading plugin namespace {0}..."
+msgstr ""
+
+#: src/metabase/plugins/initialize.clj
+msgid "Dependencies satisfied; these plugins will now be loaded: {0}"
+msgstr ""
+
+#: src/metabase/plugins/jdbc_proxy.clj
+msgid "Registering JDBC proxy driver for {0}..."
+msgstr ""
+
+#: src/metabase/plugins/jdbc_proxy.clj
+msgid "Deregistering original JDBC driver {0}..."
+msgstr ""
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Default connection property {0} does not exist."
+msgstr ""
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Invalid connection property {0}: not a string or map."
+msgstr ""
+
+#. ok, do the init steps listed in the plugin mainfest
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Load lazy loading driver {0}"
+msgstr ""
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Cannot initialize plugin: missing required property `driver-name`"
+msgstr ""
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Warning: plugin manifest for {0} does not include connection properties"
+msgstr ""
+
+#. finally, register the Metabase driver
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Registering lazy loading driver {0}..."
+msgstr ""
+
+#: src/metabase/pulse.clj
+msgid "Error running query for Card {0}"
+msgstr ""
+
+#: src/metabase/pulse/render.clj
+msgid "Last week"
+msgstr ""
+
+#: src/metabase/pulse/render.clj
+msgid "This week"
+msgstr ""
+
+#: src/metabase/pulse/render.clj
+msgid "Last month"
+msgstr ""
+
+#: src/metabase/pulse/render.clj
+msgid "This month"
+msgstr ""
+
+#: src/metabase/pulse/render.clj
+msgid "Last quarter"
+msgstr ""
+
+#: src/metabase/pulse/render.clj
+msgid "This quarter"
+msgstr ""
+
+#: src/metabase/pulse/render.clj
+msgid "Last year"
+msgstr ""
+
+#: src/metabase/pulse/render.clj
+msgid "This year"
+msgstr ""
+
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "*driver* is unbound."
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields.clj
+msgid "Error syncing Fields for Table ''{0}''"
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields.clj
+msgid "Hash of {0} matches stored hash, skipping Fields sync"
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/common.clj
+msgid "Field"
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Error checking if Fields {0} need to be created or reactivated"
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Marking Field ''{0}'' as inactive."
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Error retiring {0}"
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Database type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Base type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Special type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Comment has been added for {0}."
+msgstr ""
+
+#: src/metabase/task.clj
+msgid "Stopping Quartz Scheduler {0}"
+msgstr ""
+
+#: src/metabase/task.clj
+msgid "Starting Quartz Scheduler {0}"
+msgstr ""
+
+#: src/metabase/task.clj
+msgid "Error loading tasks namespace {0}"
+msgstr ""
+
+#. don't bother logging namespace for now, maybe in the future if there's tasks of the same name in multiple
+#. namespaces we can log it
+#: src/metabase/task.clj
+msgid "Initializing task {0}"
+msgstr ""
+
+#: src/metabase/task.clj
+msgid "Error initializing task {0}"
+msgstr ""
+
+#: src/metabase/task/follow_up_emails.clj
+msgid "Problem sending abandonment email"
+msgstr ""
+
+#: src/metabase/task/send_anonymous_stats.clj
+msgid "Sending anonymous usage stats."
+msgstr ""
+
+#: src/metabase/task/send_anonymous_stats.clj
+msgid "Error sending anonymous usage stats"
+msgstr "匿名の利用統計の送信に失敗しました"
+
+#: src/metabase/task/send_pulses.clj
+msgid "Error sending Pulse {0}"
+msgstr "パルス {0} の送信に失敗しました"
+
+#: src/metabase/task/send_pulses.clj
+msgid "Sending scheduled pulses..."
+msgstr "スケジュールされたパルスを送信しています…"
+
+#: src/metabase/task/send_pulses.clj
+msgid "SendPulses task failed"
+msgstr "SendPlusesタスクが失敗しました"
+
+#: src/metabase/task/sync_databases.clj
+msgid "Failed to scheduler tasks for Database {0}"
+msgstr "データベース {0} のスケジューラタスクが失敗しました"
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Cleaning up task history"
+msgstr "タスク履歴の削除"
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Task history cleanup successful, rows were deleted"
+msgstr "タスク履歴の削除は成功しました。行が削除されました。"
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Task history cleanup successful, no rows were deleted"
+msgstr "タスク履歴の削除は成功しました。削除された行はありませんでした。"
+
+#: src/metabase/task/upgrade_checks.clj
+msgid "Checking for new Metabase version info."
+msgstr "新しいバージョンのMetabaseの確認"
+
+#: src/metabase/task/upgrade_checks.clj
+msgid "Error fetching version info"
+msgstr "バージョン情報の取得に失敗しました"
+
+#: src/metabase/util.clj
+msgid "Maximum memory available to JVM: {0}"
+msgstr ""
+
+#: src/metabase/util.clj
+msgid "Not something with an ID: {0}"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by month of the year"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Here's a quick look at your [[this]]"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by hour of the day"
+msgstr ""
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Where you've acquired your users"
+msgstr ""
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How it's distributed across time and other categories."
+msgstr ""
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Here's a closer look at your [[this]] per source"
+msgstr ""
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "Here's a quick look at the [[this]]"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by day of the month"
+msgstr ""
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Here's an overview of the people in your [[this]]"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by quarter of the year"
+msgstr ""
+
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How they compare across location"
+msgstr ""
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "Here's a closer look at your [[this]] by products"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by month of the year"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "An overview of your [[this]] and how it's distributed across time, place, and categories."
+msgstr ""
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/question/GenericQuestion.yaml
+msgid "Here's a closer look at your [[this]]"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by day of the week"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Here's an overview of your [[this]] data from Google Analytics"
+msgstr ""
+
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+#: resources/automagic_dashboards/comparison/State.yaml
+#: resources/automagic_dashboards/comparison/FK.yaml
+#: resources/automagic_dashboards/comparison/Country.yaml
+#: resources/automagic_dashboards/comparison/GenericField.yaml
+msgid "Here's an overview of your [[this]]"
+msgstr ""
+
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "Here's a closer look at your [[this]] field"
+msgstr ""
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Here's a closer look at your [[this]] per country"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
+msgid "If you're into correlations, this is the x-ray for you."
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by day of the week"
+msgstr ""
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "It looks like your [[this]] has transactions, so here's a look at them"
+msgstr ""
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Here's a closer look at your [[this]] per state"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by day of the month"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTime]] by hour of the day"
+msgstr ""
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Here's a closer look at your [[this]] over time"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by quarter of the year"
+msgstr ""
+
+#: frontend/src/metabase/admin/people/containers/EditUserModal.jsx:12
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:200
+msgid "Edit user"
+msgstr ""
+
+#: frontend/src/metabase/admin/people/containers/NewUserModal.jsx:13
+msgid "New user"
+msgstr ""
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:204
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:69
+msgid "Reset password"
+msgstr ""
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:209
+msgid "Deactivate user"
+msgstr ""
+
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:47
+msgid "Reactivate {0}?"
+msgstr ""
+
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:63
+msgid "We couldn’t send them an email invitation, so make sure to tell them to log in using {0} and this password we’ve generated for them:"
+msgstr ""
+
+#: frontend/src/metabase/entities/collections.js:21
+msgid "collection"
+msgstr ""
+
+#: frontend/src/metabase/entities/collections.js:22
+msgid "collections"
+msgstr ""
+
+#: frontend/src/metabase/entities/dashboards.js:29
+msgid "dashboard"
+msgstr ""
+
+#: frontend/src/metabase/entities/dashboards.js:30
+msgid "dashboards"
+msgstr ""
+
+#: frontend/src/metabase/entities/users.js:125
+msgid "First name is required"
+msgstr ""
+
+#: frontend/src/metabase/entities/users.js:126
+#: frontend/src/metabase/entities/users.js:133
+msgid "Must be 100 characters or less"
+msgstr ""
+
+#: frontend/src/metabase/entities/users.js:132
+msgid "Last name is required"
+msgstr ""
+
+#: frontend/src/metabase/entities/users.js:138
+msgid "Email is required"
+msgstr ""
+
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:90
+msgid "Items you archive will appear here."
+msgstr ""
+
+#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:16
+msgid "No description"
+msgstr ""
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:175
+msgid "Sum of all values"
+msgstr ""
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:183
+msgid "See all distinct values"
+msgstr ""
+
+#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:12
+msgid "Browse the contents of your databases, tables, and columns. Pick a database to get started"
+msgstr ""
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is VALID. Thanks!"
+msgstr ""
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is INVALID. Running query to fetch correct metadata."
+msgstr ""
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is  ISSING. Running query to fetch correct metadata."
+msgstr ""
+
+#: src/metabase/api/email.clj
+msgid "{0} was autocorrected to {1}"
+msgstr ""
+
+#: src/metabase/api/metric.clj
+msgid "DELETE /api/metric/:id is deprecated. Instead, change its `archived` value via PUT /api/metric/:id."
+msgstr ""
+
+#: src/metabase/api/segment.clj
+msgid "DELETE /api/segment/:id is deprecated. Instead, change its `archived` value via PUT /api/segment/:id."
+msgstr ""
+
+#: src/metabase/api/user.clj
+msgid "Value of is_superuser must correspond to presence of Admin group ID in group_ids."
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "Unexpected error writing keepalive characters"
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "Unexpected output in async API response"
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "starting streaming response"
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "Output chan closed, canceling keepalive request."
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "Async response finished, closing channels."
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "No response after waiting {0}. Canceling request."
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "Input channel unexpectedly closed."
+msgstr ""
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "f finished, permit will be returned"
+msgstr ""
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "request canceled, permit will be returned"
+msgstr ""
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Unexpected error attempting to run function after obtaining permit"
+msgstr ""
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Not running pending function call: output channel already closed."
+msgstr ""
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Current thread already has a permit for {0}, will not wait to acquire another"
+msgstr ""
+
+#: src/metabase/async/util.clj
+msgid "Output channel closed, will skip running {0}."
+msgstr ""
+
+#: src/metabase/async/util.clj
+msgid "Running {0} on separate thread..."
+msgstr ""
+
+#: src/metabase/async/util.clj
+msgid "Caught error running {0}"
+msgstr ""
+
+#: src/metabase/async/util.clj
+msgid "Request canceled, canceling future"
+msgstr ""
+
+#: src/metabase/driver/sql_jdbc/connection.clj
+msgid "Closing old connection pool for database {0} ..."
+msgstr ""
+
+#: src/metabase/metabot/command.clj
+msgid "Here''s your {0} most recent cards:"
+msgstr ""
+
+#: src/metabase/metabot/command.clj
+msgid "Could you be a little more specific, or use the ID? I found these cards with names that matched:"
+msgstr ""
+
+#: src/metabase/metabot/command.clj
+msgid "Card {0} not found."
+msgstr ""
+
+#: src/metabase/middleware/exceptions.clj
+msgid "Exception in API call"
+msgstr ""
+
+#: src/metabase/middleware/exceptions.clj
+msgid "Request canceled before finishing."
+msgstr ""
+
+#: src/metabase/middleware/json.clj
+msgid "Metabase only supports JSON requests."
+msgstr ""
+
+#: src/metabase/middleware/json.clj
+msgid "Make sure you set a 'Content-Type: application/json' header."
+msgstr ""
+
+#: src/metabase/middleware/misc.clj
+msgid "Setting Metabase site URL to {0}"
+msgstr ""
+
+#: src/metabase/models/database.clj
+msgid "Error scheduling tasks for DB"
+msgstr ""
+
+#: src/metabase/models/database.clj
+msgid "Error unscheduling tasks for DB."
+msgstr ""
+
+#: src/metabase/models/database.clj
+msgid "{0} Database ''{1}'' sync/analyze schedules have changed!"
+msgstr ""
+
+#: src/metabase/models/database.clj
+msgid "Sync metadata was: ''{0}'' is now: ''{1}''"
+msgstr ""
+
+#: src/metabase/models/database.clj
+msgid "Cache FieldValues was: ''{0}'', is now: ''{1}''"
+msgstr ""
+
+#: src/metabase/models/metric.clj
+msgid "You cannot update the creator_id of a Metric."
+msgstr ""
+
+#: src/metabase/models/permissions.clj
+msgid "MetaBot can only have Collection permissions."
+msgstr ""
+
+#: src/metabase/models/permissions.clj
+msgid "Failed to grant permissions"
+msgstr ""
+
+#: src/metabase/models/permissions.clj
+msgid "Changing permissions"
+msgstr ""
+
+#: src/metabase/models/permissions.clj
+msgid "FROM:"
+msgstr ""
+
+#: src/metabase/models/permissions.clj
+msgid "TO:"
+msgstr ""
+
+#: src/metabase/models/segment.clj
+msgid "You cannot update the creator_id of a Segment."
+msgstr ""
+
+#: src/metabase/models/setting.clj
+msgid "Attempted to set Setting {0} to obfuscated value. Ignoring change."
+msgstr ""
+
+#: src/metabase/models/setting.clj
+msgid "Using value of env var {0}"
+msgstr ""
+
+#: src/metabase/models/user.clj
+msgid "Adding User {0} to All Users permissions group..."
+msgstr ""
+
+#: src/metabase/models/user.clj
+msgid "Adding User {0} to Admin permissions group..."
+msgstr ""
+
+#: src/metabase/query_processor.clj
+msgid "Query failure"
+msgstr ""
+
+#: src/metabase/query_processor/async.clj
+msgid "Maximum number of simultaneous queries to allow per connected Database."
+msgstr ""
+
+#: src/metabase/util.clj
+msgid "Timed out after {0} milliseconds."
+msgstr ""
+
diff --git a/locales/metabase.pot b/locales/metabase.pot
index b0faf516e42a302b8f7ccbc71962cfd1bd2ecc68..ff3a86e14c0fbf2c20e639f3c47b00d8f574d875 100644
--- a/locales/metabase.pot
+++ b/locales/metabase.pot
@@ -13,7 +13,7 @@ msgstr ""
 "#-#-#-#-#  metabase-backend.pot (metabase)  #-#-#-#-#\n"
 "Project-Id-Version: metabase\n"
 "Report-Msgid-Bugs-To: docs@metabase.com\n"
-"POT-Creation-Date: 2018-11-08 14:15-0800\n"
+"POT-Creation-Date: 2019-03-18 14:07-0700\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -47,18 +47,16 @@ msgid "Explore this data"
 msgstr ""
 
 #: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:46
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:139
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:225
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:263
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:367
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:385
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:138
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:42
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:41
 #: frontend/src/metabase/components/HeaderModal.jsx:43
 #: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:282
-#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:106
-#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:298
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:194
+#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:107
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:327
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:193
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:96
-#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:225
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:265
 msgid "Done"
 msgstr ""
 
@@ -202,43 +200,40 @@ msgstr ""
 #: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:87
 #: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:93
 #: frontend/src/metabase/admin/people/components/AddRow.jsx:27
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:250
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:302
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:322
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:343
 #: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:49
 #: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:52
 #: frontend/src/metabase/admin/permissions/containers/CollectionPermissionsModal.jsx:58
-#: frontend/src/metabase/admin/permissions/selectors.js:156
-#: frontend/src/metabase/admin/permissions/selectors.js:166
-#: frontend/src/metabase/admin/permissions/selectors.js:181
-#: frontend/src/metabase/admin/permissions/selectors.js:220
+#: frontend/src/metabase/admin/permissions/selectors.js:160
+#: frontend/src/metabase/admin/permissions/selectors.js:170
+#: frontend/src/metabase/admin/permissions/selectors.js:185
+#: frontend/src/metabase/admin/permissions/selectors.js:224
 #: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:355
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:181
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:247
 #: frontend/src/metabase/components/ConfirmContent.jsx:18
 #: frontend/src/metabase/components/DeleteModalWithConfirm.jsx:72
 #: frontend/src/metabase/components/HeaderModal.jsx:49
-#: frontend/src/metabase/components/form/StandardForm.jsx:59
+#: frontend/src/metabase/components/form/StandardForm.jsx:61
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:196
 #: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:289
 #: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:162
 #: frontend/src/metabase/dashboard/components/RemoveFromDashboardModal.jsx:38
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:189
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:192
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:352
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:191
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:354
 #: frontend/src/metabase/query_builder/components/RunButton.jsx:24
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:83
 #: frontend/src/metabase/query_builder/containers/ArchiveQuestionModal.jsx:48
 #: frontend/src/metabase/reference/components/EditHeader.jsx:34
 #: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:52
-#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:219
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:259
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:461
 msgid "Cancel"
 msgstr ""
 
 #: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:88
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:123
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:121
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:132
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:461
 msgid "Delete"
 msgstr ""
@@ -252,12 +247,12 @@ msgid "Scheduling"
 msgstr ""
 
 #: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:128
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:76
-#: frontend/src/metabase/admin/permissions/selectors.js:316
-#: frontend/src/metabase/admin/permissions/selectors.js:323
-#: frontend/src/metabase/admin/permissions/selectors.js:419
-#: frontend/src/metabase/admin/routes.jsx:43
-#: frontend/src/metabase/nav/containers/Navbar.jsx:215
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:74
+#: frontend/src/metabase/admin/permissions/selectors.js:320
+#: frontend/src/metabase/admin/permissions/selectors.js:327
+#: frontend/src/metabase/admin/permissions/selectors.js:423
+#: frontend/src/metabase/admin/routes.jsx:53
+#: frontend/src/metabase/nav/containers/Navbar.jsx:214
 #: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:18
 #: frontend/src/metabase/reference/databases/TableSidebar.jsx:21
 msgid "Databases"
@@ -270,11 +265,10 @@ msgstr ""
 #: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:170
 #: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:78
 #: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:84
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:253
 #: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:26
 #: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:221
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:182
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:354
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:356
 #: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:47
 msgid "Save changes"
 msgstr ""
@@ -323,7 +317,7 @@ msgid "Scan triggered!"
 msgstr ""
 
 #: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:215
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:399
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:401
 msgid "Danger Zone"
 msgstr ""
 
@@ -336,39 +330,39 @@ msgstr ""
 msgid "Remove this database"
 msgstr ""
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:75
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:73
 msgid "Add database"
 msgstr ""
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:87
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:85
 #: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:36
 #: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:36
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:468
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:122
 #: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:183
 #: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:91
 #: frontend/src/metabase/components/DatabaseDetailsForm.jsx:399
 #: frontend/src/metabase/containers/EntitySearch.jsx:26
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:218
-#: frontend/src/metabase/entities/collections.js:86
-#: frontend/src/metabase/entities/dashboards.js:96
+#: frontend/src/metabase/entities/collections.js:93
+#: frontend/src/metabase/entities/dashboards.js:145
 #: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:461
-#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:78
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:81
 msgid "Name"
 msgstr ""
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:88
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:86
 msgid "Engine"
 msgstr ""
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:117
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:115
 msgid "Deleting..."
 msgstr ""
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:147
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:145
 msgid "Loading ..."
 msgstr ""
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:163
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:161
 msgid "Bring the sample dataset back"
 msgstr ""
 
@@ -443,7 +437,7 @@ msgstr ""
 #: frontend/src/metabase/admin/datamodel/components/ObjectActionSelect.jsx:44
 #: frontend/src/metabase/dashboard/components/DashCard.jsx:278
 #: frontend/src/metabase/parameters/components/ParameterWidget.jsx:177
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:209
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:197
 #: frontend/src/metabase/reference/components/EditButton.jsx:18
 msgid "Edit"
 msgstr ""
@@ -649,7 +643,7 @@ msgstr ""
 #: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:189
 #: frontend/src/metabase/reference/metrics/MetricList.jsx:56
 #: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:21
-#: frontend/src/metabase/routes.jsx:231
+#: frontend/src/metabase/routes.jsx:232
 msgid "Metrics"
 msgstr ""
 
@@ -668,7 +662,7 @@ msgid "Create metrics to add them to the View dropdown in the query builder"
 msgstr ""
 
 #: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:24
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:922
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:930
 #: frontend/src/metabase/reference/guide/BaseSidebar.jsx:33
 #: frontend/src/metabase/reference/segments/SegmentFieldSidebar.jsx:19
 #: frontend/src/metabase/reference/segments/SegmentList.jsx:56
@@ -710,7 +704,7 @@ msgstr ""
 
 #: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:46
 #: frontend/src/metabase/home/components/Activity.jsx:80
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:343
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:332
 msgid "You"
 msgstr ""
 
@@ -733,7 +727,7 @@ msgstr ""
 
 #: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:222
 #: frontend/src/metabase/admin/settings/selectors.js:319
-#: frontend/src/metabase/qb/components/drill/FormatAction.jsx:27
+#: frontend/src/metabase/modes/components/drill/FormatAction.jsx:27
 #: frontend/src/metabase/visualizations/lib/settings/column.js:63
 msgid "Formatting"
 msgstr ""
@@ -791,7 +785,7 @@ msgstr ""
 
 #: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:37
 #: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:34
-#: frontend/src/metabase/entities/collections.js:89
+#: frontend/src/metabase/entities/collections.js:96
 msgid "Name is required"
 msgstr ""
 
@@ -927,10 +921,10 @@ msgid ""
 msgstr ""
 
 #: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:88
-#: frontend/src/metabase/admin/routes.jsx:91
+#: frontend/src/metabase/admin/routes.jsx:127
 #: frontend/src/metabase/admin/settings/containers/SettingsEditorApp.jsx:266
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:96
-#: frontend/src/metabase/nav/containers/Navbar.jsx:200
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:87
+#: frontend/src/metabase/nav/containers/Navbar.jsx:199
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorSidebar.jsx:99
 msgid "Settings"
 msgstr ""
@@ -946,48 +940,11 @@ msgid "Re-scan this table"
 msgstr ""
 
 #: frontend/src/metabase/admin/people/components/AddRow.jsx:34
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:194
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:253
 #: frontend/src/metabase/dashboard/components/DashCard.jsx:278
 msgid "Add"
 msgstr ""
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:80
-#: frontend/src/metabase/setup/components/UserStep.jsx:103
-#: frontend/src/metabase/user/components/UpdateUserDetails.jsx:67
-msgid "Not a valid formatted email address"
-msgstr ""
-
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:135
-#: frontend/src/metabase/setup/components/UserStep.jsx:186
-#: frontend/src/metabase/user/components/UpdateUserDetails.jsx:100
-msgid "First name"
-msgstr ""
-
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:156
-#: frontend/src/metabase/setup/components/UserStep.jsx:203
-#: frontend/src/metabase/user/components/UpdateUserDetails.jsx:117
-msgid "Last name"
-msgstr ""
-
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:178
-#: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:77
-#: frontend/src/metabase/auth/containers/LoginApp.jsx:158
-#: frontend/src/metabase/components/NewsletterForm.jsx:94
-#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:470
-#: frontend/src/metabase/setup/components/UserStep.jsx:222
-#: frontend/src/metabase/user/components/UpdateUserDetails.jsx:138
-msgid "Email address"
-msgstr ""
-
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:202
-msgid "Permission Groups"
-msgstr ""
-
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:238
-msgid "Make this user an admin"
-msgstr ""
-
 #: frontend/src/metabase/admin/people/components/GroupDetail.jsx:32
 msgid ""
 "All users belong to the {0} group and can't be removed from it. Setting "
@@ -1010,15 +967,15 @@ msgid ""
 msgstr ""
 
 #: frontend/src/metabase/admin/people/components/GroupDetail.jsx:177
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:219
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:218
 msgid "Members"
 msgstr ""
 
 #: frontend/src/metabase/admin/people/components/GroupDetail.jsx:177
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:470
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:124
 #: frontend/src/metabase/admin/settings/selectors.js:113
 #: frontend/src/metabase/lib/core.js:55
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:298
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:301
 msgid "Email"
 msgstr ""
 
@@ -1031,8 +988,8 @@ msgid "Add members"
 msgstr ""
 
 #: frontend/src/metabase/admin/people/components/GroupSummary.jsx:15
-#: frontend/src/metabase/admin/routes.jsx:38
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:50
+#: frontend/src/metabase/admin/routes.jsx:48
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:49
 msgid "Admin"
 msgstr ""
 
@@ -1053,55 +1010,57 @@ msgstr[1] ""
 msgid "Default"
 msgstr ""
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:40
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:39
 msgid "Something like \"Marketing\""
 msgstr ""
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:59
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:58
 msgid "Remove this group?"
 msgstr ""
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:61
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:60
 msgid ""
 "Are you sure? All members of this group will lose any permissions settings "
 "they have based on this group.\n"
 "This can't be undone."
 msgstr ""
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:72
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:71
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:42
 #: frontend/src/metabase/components/ConfirmContent.jsx:17
 msgid "Yes"
 msgstr ""
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:75
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:74
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:42
 msgid "No"
 msgstr ""
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:93
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:92
 msgid "Edit Name"
 msgstr ""
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:96
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:95
 msgid "Remove Group"
 msgstr ""
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:219
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:218
 msgid "Group name"
 msgstr ""
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:399
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:363
 #: frontend/src/metabase/admin/people/containers/AdminPeopleApp.jsx:25
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:477
-#: frontend/src/metabase/admin/routes.jsx:76
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:131
+#: frontend/src/metabase/admin/routes.jsx:88
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:154
 msgid "Groups"
 msgstr ""
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:400
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:364
 msgid "Create a group"
 msgstr ""
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:406
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:370
 msgid ""
 "You can use groups to control your users' access to your data. Put users in "
 "groups and then go to the Permissions section to control each group's "
@@ -1109,164 +1068,129 @@ msgid ""
 "that can't be removed."
 msgstr ""
 
-#: frontend/src/metabase/admin/people/components/UserActionsSelect.jsx:79
-msgid "Edit Details"
-msgstr ""
-
-#: frontend/src/metabase/admin/people/components/UserActionsSelect.jsx:85
-msgid "Re-send Invite"
-msgstr ""
-
-#: frontend/src/metabase/admin/people/components/UserActionsSelect.jsx:90
-msgid "Reset Password"
+#: frontend/src/metabase/admin/people/containers/AdminPeopleApp.jsx:24
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:93
+#: frontend/src/metabase/admin/routes.jsx:84
+#: frontend/src/metabase/nav/containers/Navbar.jsx:204
+msgid "People"
 msgstr ""
 
-#: frontend/src/metabase/admin/people/components/UserActionsSelect.jsx:97
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:304
-msgid "Deactivate"
+#: frontend/src/metabase/admin/people/containers/EditUserModal.jsx:12
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:200
+msgid "Edit user"
 msgstr ""
 
-#: frontend/src/metabase/admin/people/containers/AdminPeopleApp.jsx:24
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:435
-#: frontend/src/metabase/admin/routes.jsx:74
-#: frontend/src/metabase/nav/containers/Navbar.jsx:205
-msgid "People"
+#: frontend/src/metabase/admin/people/containers/NewUserModal.jsx:13
+msgid "New user"
 msgstr ""
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:192
-msgid "Who do you want to add?"
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:101
+msgid "Active"
 msgstr ""
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:207
-msgid "Edit {0}'s details"
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:102
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:127
+msgid "Deactivated"
 msgstr ""
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:220
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:258
-msgid "{0} has been added"
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:115
+msgid "Add someone"
 msgstr ""
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:224
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:262
-msgid "Add another person"
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:132
+msgid "Last Login"
 msgstr ""
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:231
-msgid ""
-"We couldn’t send them an email invitation,\n"
-"so make sure to tell them to log in using {0}\n"
-"and this password we’ve generated for them:"
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:153
+msgid "Signed up via Google"
 msgstr ""
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:242
-msgid "If you want to be able to send email invites, just go to the {0} page."
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:158
+msgid "Signed up via LDAP"
 msgstr ""
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:268
-msgid "We’ve sent an invite to {0} with instructions to set their password."
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:170
+msgid "Reactivate this account"
 msgstr ""
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:283
-msgid "We've re-sent {0}'s invite"
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:193
+msgid "Never"
 msgstr ""
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:285
-#: frontend/src/metabase/query_builder/components/SavedQuestionIntroModal.jsx:22
-#: frontend/src/metabase/tutorial/Tutorial.jsx:253
-msgid "Okay"
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:204
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:69
+msgid "Reset password"
 msgstr ""
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:289
-msgid "Any previous email invites they have will no longer work."
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:209
+msgid "Deactivate user"
 msgstr ""
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:300
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:31
 msgid "Deactivate {0}?"
 msgstr ""
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:309
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:34
 msgid "{0} won't be able to log in anymore."
 msgstr ""
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:320
-msgid "Reactivate {0}'s account?"
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:40
+msgid "Deactivate"
 msgstr ""
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:326
-msgid "Reactivate"
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:47
+msgid "Reactivate {0}?"
 msgstr ""
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:330
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:51
 msgid ""
 "They'll be able to log in again, and they'll be placed back into the groups "
 "they were in before their account was deactivated."
 msgstr ""
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:341
-msgid "Reset {0}'s password?"
-msgstr ""
-
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:347
-#: frontend/src/metabase/components/form/StandardForm.jsx:75
-msgid "Reset"
-msgstr ""
-
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:351
-#: frontend/src/metabase/components/ConfirmContent.jsx:13
-#: frontend/src/metabase/dashboard/components/ArchiveDashboardModal.jsx:44
-msgid "Are you sure you want to do this?"
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:58
+msgid "Reactivate"
 msgstr ""
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:362
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:384
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:41
 msgid "{0}'s password has been reset"
 msgstr ""
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:371
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:45
 msgid ""
 "Here’s a temporary password they can use to log in and then change their "
 "password."
 msgstr ""
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:388
-msgid "We've sent them an email with instructions for creating a new password."
-msgstr ""
-
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:443
-msgid "Active"
-msgstr ""
-
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:444
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:473
-msgid "Deactivated"
-msgstr ""
-
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:459
-msgid "Add someone"
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:51
+msgid "Reset {0}'s password?"
 msgstr ""
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:478
-msgid "Last Login"
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:54
+#: frontend/src/metabase/components/ConfirmContent.jsx:13
+#: frontend/src/metabase/dashboard/components/ArchiveDashboardModal.jsx:44
+msgid "Are you sure you want to do this?"
 msgstr ""
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:501
-msgid "Signed up via Google"
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:40
+msgid "{0} has been added"
 msgstr ""
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:506
-msgid "Signed up via LDAP"
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:55
+msgid "We’ve sent an invite to {0} with instructions to set their password."
 msgstr ""
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:518
-msgid "Reactivate this account"
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:63
+msgid ""
+"We couldn’t send them an email invitation, so make sure to tell them to log "
+"in using {0} and this password we’ve generated for them:"
 msgstr ""
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:545
-msgid "Never"
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:73
+msgid "If you want to be able to send email invites, just go to the {0} page."
 msgstr ""
 
 #: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:27
-#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:24
 #: src/metabase/automagic_dashboards/core.clj
 #, fuzzy
 msgid "{0} table"
@@ -1353,194 +1277,194 @@ msgstr ""
 msgid "Also change sub-collections"
 msgstr ""
 
-#: frontend/src/metabase/admin/permissions/permissions.js:137
+#: frontend/src/metabase/admin/permissions/permissions.js:126
 msgid "Sorry, an error occurred."
 msgstr ""
 
 #: frontend/src/metabase/admin/permissions/routes.jsx:12
-#: frontend/src/metabase/nav/containers/Navbar.jsx:220
+#: frontend/src/metabase/nav/containers/Navbar.jsx:219
 msgid "Permissions"
 msgstr ""
 
-#: frontend/src/metabase/admin/permissions/selectors.js:59
+#: frontend/src/metabase/admin/permissions/selectors.js:65
 msgid ""
 "Administrators always have the highest level of access to everything in "
 "Metabase."
 msgstr ""
 
-#: frontend/src/metabase/admin/permissions/selectors.js:61
+#: frontend/src/metabase/admin/permissions/selectors.js:67
 msgid ""
 "Every Metabase user belongs to the All Users group. If you want to limit or "
 "restrict a group's access to something, make sure the All Users group has an "
 "equal or lower level of access."
 msgstr ""
 
-#: frontend/src/metabase/admin/permissions/selectors.js:63
+#: frontend/src/metabase/admin/permissions/selectors.js:69
 msgid ""
 "MetaBot is Metabase's Slack bot. You can choose what it has access to here."
 msgstr ""
 
-#: frontend/src/metabase/admin/permissions/selectors.js:115
+#: frontend/src/metabase/admin/permissions/selectors.js:119
 msgid ""
 "The \"{0}\" group may have access to a different set of {1} than this group, "
 "which may give this group additional access to some {2}."
 msgstr ""
 
-#: frontend/src/metabase/admin/permissions/selectors.js:120
+#: frontend/src/metabase/admin/permissions/selectors.js:124
 msgid ""
 "The \"{0}\" group has a higher level of access than this, which will "
 "override this setting. You should limit or revoke the \"{1}\" group's access "
 "to this item."
 msgstr ""
 
-#: frontend/src/metabase/admin/permissions/selectors.js:150
+#: frontend/src/metabase/admin/permissions/selectors.js:154
 msgid "Limit"
 msgstr ""
 
-#: frontend/src/metabase/admin/permissions/selectors.js:150
+#: frontend/src/metabase/admin/permissions/selectors.js:154
 msgid "Revoke"
 msgstr ""
 
-#: frontend/src/metabase/admin/permissions/selectors.js:152
+#: frontend/src/metabase/admin/permissions/selectors.js:156
 msgid "access even though \"{0}\" has greater access?"
 msgstr ""
 
-#: frontend/src/metabase/admin/permissions/selectors.js:155
-#: frontend/src/metabase/admin/permissions/selectors.js:254
+#: frontend/src/metabase/admin/permissions/selectors.js:159
+#: frontend/src/metabase/admin/permissions/selectors.js:258
 msgid "Limit access"
 msgstr ""
 
-#: frontend/src/metabase/admin/permissions/selectors.js:155
-#: frontend/src/metabase/admin/permissions/selectors.js:219
-#: frontend/src/metabase/admin/permissions/selectors.js:262
+#: frontend/src/metabase/admin/permissions/selectors.js:159
+#: frontend/src/metabase/admin/permissions/selectors.js:223
+#: frontend/src/metabase/admin/permissions/selectors.js:266
 msgid "Revoke access"
 msgstr ""
 
-#: frontend/src/metabase/admin/permissions/selectors.js:164
+#: frontend/src/metabase/admin/permissions/selectors.js:168
 msgid "Change access to this database to limited?"
 msgstr ""
 
-#: frontend/src/metabase/admin/permissions/selectors.js:165
+#: frontend/src/metabase/admin/permissions/selectors.js:169
 msgid "Change"
 msgstr ""
 
-#: frontend/src/metabase/admin/permissions/selectors.js:178
+#: frontend/src/metabase/admin/permissions/selectors.js:182
 msgid "Allow Raw Query Writing?"
 msgstr ""
 
-#: frontend/src/metabase/admin/permissions/selectors.js:179
+#: frontend/src/metabase/admin/permissions/selectors.js:183
 msgid ""
 "This will also change this group's data access to Unrestricted for this "
 "database."
 msgstr ""
 
-#: frontend/src/metabase/admin/permissions/selectors.js:180
+#: frontend/src/metabase/admin/permissions/selectors.js:184
 msgid "Allow"
 msgstr ""
 
-#: frontend/src/metabase/admin/permissions/selectors.js:217
+#: frontend/src/metabase/admin/permissions/selectors.js:221
 msgid "Revoke access to all tables?"
 msgstr ""
 
-#: frontend/src/metabase/admin/permissions/selectors.js:218
+#: frontend/src/metabase/admin/permissions/selectors.js:222
 msgid ""
 "This will also revoke this group's access to raw queries for this database."
 msgstr ""
 
-#: frontend/src/metabase/admin/permissions/selectors.js:247
+#: frontend/src/metabase/admin/permissions/selectors.js:251
 msgid "Grant unrestricted access"
 msgstr ""
 
-#: frontend/src/metabase/admin/permissions/selectors.js:248
+#: frontend/src/metabase/admin/permissions/selectors.js:252
 msgid "Unrestricted access"
 msgstr ""
 
-#: frontend/src/metabase/admin/permissions/selectors.js:255
+#: frontend/src/metabase/admin/permissions/selectors.js:259
 msgid "Limited access"
 msgstr ""
 
-#: frontend/src/metabase/admin/permissions/selectors.js:263
+#: frontend/src/metabase/admin/permissions/selectors.js:267
 msgid "No access"
 msgstr ""
 
-#: frontend/src/metabase/admin/permissions/selectors.js:269
+#: frontend/src/metabase/admin/permissions/selectors.js:273
 msgid "Write raw queries"
 msgstr ""
 
-#: frontend/src/metabase/admin/permissions/selectors.js:270
+#: frontend/src/metabase/admin/permissions/selectors.js:274
 msgid "Can write raw queries"
 msgstr ""
 
-#: frontend/src/metabase/admin/permissions/selectors.js:277
+#: frontend/src/metabase/admin/permissions/selectors.js:281
 msgid "Curate collection"
 msgstr ""
 
-#: frontend/src/metabase/admin/permissions/selectors.js:278
+#: frontend/src/metabase/admin/permissions/selectors.js:282
 msgid "Can edit this collection and its contents"
 msgstr ""
 
-#: frontend/src/metabase/admin/permissions/selectors.js:284
+#: frontend/src/metabase/admin/permissions/selectors.js:288
 msgid "View collection"
 msgstr ""
 
-#: frontend/src/metabase/admin/permissions/selectors.js:285
+#: frontend/src/metabase/admin/permissions/selectors.js:289
 msgid "Can view items in this collection"
 msgstr ""
 
-#: frontend/src/metabase/admin/permissions/selectors.js:327
-#: frontend/src/metabase/admin/permissions/selectors.js:423
-#: frontend/src/metabase/admin/permissions/selectors.js:520
+#: frontend/src/metabase/admin/permissions/selectors.js:331
+#: frontend/src/metabase/admin/permissions/selectors.js:427
+#: frontend/src/metabase/admin/permissions/selectors.js:524
 msgid "Data Access"
 msgstr ""
 
-#: frontend/src/metabase/admin/permissions/selectors.js:488
-#: frontend/src/metabase/admin/permissions/selectors.js:645
-#: frontend/src/metabase/admin/permissions/selectors.js:650
+#: frontend/src/metabase/admin/permissions/selectors.js:492
+#: frontend/src/metabase/admin/permissions/selectors.js:649
+#: frontend/src/metabase/admin/permissions/selectors.js:654
 msgid "View tables"
 msgstr ""
 
-#: frontend/src/metabase/admin/permissions/selectors.js:586
+#: frontend/src/metabase/admin/permissions/selectors.js:590
 msgid "SQL Queries"
 msgstr ""
 
-#: frontend/src/metabase/admin/permissions/selectors.js:656
+#: frontend/src/metabase/admin/permissions/selectors.js:660
 msgid "View schemas"
 msgstr ""
 
-#: frontend/src/metabase/admin/permissions/selectors.js:733
-#: frontend/src/metabase/components/CollectionLanding.jsx:341
+#: frontend/src/metabase/admin/permissions/selectors.js:737
+#: frontend/src/metabase/components/CollectionLanding.jsx:353
 #: frontend/src/metabase/home/containers/SearchApp.jsx:35
-#: frontend/src/metabase/home/containers/SearchApp.jsx:96
+#: frontend/src/metabase/home/containers/SearchApp.jsx:92
 msgid "Collections"
 msgstr ""
 
-#: frontend/src/metabase/admin/permissions/selectors.js:745
+#: frontend/src/metabase/admin/permissions/selectors.js:749
 msgid "Collection Access"
 msgstr ""
 
-#: frontend/src/metabase/admin/permissions/selectors.js:821
+#: frontend/src/metabase/admin/permissions/selectors.js:825
 msgid ""
 "This group has permission to view at least one subcollection of this "
 "collection."
 msgstr ""
 
-#: frontend/src/metabase/admin/permissions/selectors.js:826
+#: frontend/src/metabase/admin/permissions/selectors.js:830
 msgid ""
 "This group has permission to edit at least one subcollection of this "
 "collection."
 msgstr ""
 
-#: frontend/src/metabase/admin/permissions/selectors.js:839
+#: frontend/src/metabase/admin/permissions/selectors.js:843
 msgid "View sub-collections"
 msgstr ""
 
-#: frontend/src/metabase/admin/routes.jsx:49
-#: frontend/src/metabase/nav/containers/Navbar.jsx:210
+#: frontend/src/metabase/admin/routes.jsx:59
+#: frontend/src/metabase/nav/containers/Navbar.jsx:209
 msgid "Data Model"
 msgstr ""
 
-#: frontend/src/metabase/admin/routes.jsx:83
-#: frontend/src/metabase/nav/containers/Navbar.jsx:225
+#: frontend/src/metabase/admin/routes.jsx:109
+#: frontend/src/metabase/nav/containers/Navbar.jsx:224
 msgid "Troubleshooting"
 msgstr ""
 
@@ -1697,7 +1621,7 @@ msgid "Metabase {0} is available.  You're running {1}"
 msgstr ""
 
 #: frontend/src/metabase/admin/settings/components/SettingsUpdatesForm.jsx:112
-#: frontend/src/metabase/components/form/StandardForm.jsx:67
+#: frontend/src/metabase/components/form/StandardForm.jsx:69
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:96
 msgid "Update"
 msgstr ""
@@ -2195,41 +2119,116 @@ msgstr ""
 msgid "Max Cache Entry Size"
 msgstr ""
 
-#: frontend/src/metabase/admin/tasks/containers/TaskModal.jsx:20
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:29
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:17
+msgid "Key"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:30
+msgid "Class"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:31
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:18
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:232
+#: frontend/src/metabase/entities/collections.js:101
+#: frontend/src/metabase/entities/dashboards.js:151
+#: frontend/src/metabase/lib/core.js:50 frontend/src/metabase/lib/core.js:205
+#: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:156
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:211
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:189
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:203
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:207
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:207
+#: frontend/src/metabase/visualizations/lib/settings/visualization.js:24
+msgid "Description"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:32
+msgid "Triggers"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:48
+msgid "View triggers"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:82
+msgid "Scheduler Info"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:19
+#: frontend/src/metabase/lib/core.js:90
+#: frontend/src/metabase/meta/Dashboard.js:65
+msgid "State"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:20
+msgid "Priority"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:21
+msgid "Last Fired"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:22
+msgid "Next Fire Time"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:23
+msgid "Start Time"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:24
+msgid "End Time"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:25
+msgid "Final Fire Time"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:26
+msgid "May Fire Again?"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:75
+msgid "Triggers for {0}"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/TaskModal.jsx:19
 msgid "Task details"
 msgstr ""
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:36
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:29
 msgid "Troubleshooting logs"
 msgstr ""
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:38
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:31
 msgid ""
 "Trying to get to the bottom of something? This section shows logs of "
 "Metabase's background tasks, which can help shed light on what's going on."
 msgstr ""
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:63
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:56
 msgid "Task"
 msgstr ""
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:64
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:57
 msgid "DB ID"
 msgstr ""
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:65
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:58
 msgid "Started at"
 msgstr ""
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:66
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:59
 msgid "Ended at"
 msgstr ""
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:67
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:60
 msgid "Duration (ms)"
 msgstr ""
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:68
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:61
 #: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:27
 #: frontend/src/metabase/reference/databases/FieldSidebar.jsx:41
 #: frontend/src/metabase/reference/databases/TableDetail.jsx:170
@@ -2243,11 +2242,23 @@ msgstr ""
 msgid "Details"
 msgstr ""
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:82
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:75
 #: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:369
 msgid "View"
 msgstr ""
 
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:25
+msgid "Tasks"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:30
+msgid "Jobs"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:34
+msgid "Logs"
+msgstr ""
+
 #: frontend/src/metabase/alert/alert.js:60
 msgid "Your alert is all set up."
 msgstr ""
@@ -2296,6 +2307,15 @@ msgstr ""
 msgid "Forgot password"
 msgstr ""
 
+#: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:77
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:158
+#: frontend/src/metabase/components/NewsletterForm.jsx:94
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:470
+#: frontend/src/metabase/setup/components/UserStep.jsx:222
+#: frontend/src/metabase/user/components/UpdateUserDetails.jsx:138
+msgid "Email address"
+msgstr ""
+
 #: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:84
 msgid "The email you use for your Metabase account"
 msgstr ""
@@ -2405,22 +2425,21 @@ msgstr ""
 msgid "Ok"
 msgstr ""
 
-#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:40
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:38
 msgid "Archive this collection?"
 msgstr ""
 
-#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:45
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:43
 msgid ""
 "The dashboards, collections, and pulses in this collection will also be "
 "archived."
 msgstr ""
 
-#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:49
-#: frontend/src/metabase/components/CollectionLanding.jsx:587
-#: frontend/src/metabase/components/EntityItem.jsx:54
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:47
+#: frontend/src/metabase/components/CollectionLanding.jsx:624
 #: frontend/src/metabase/components/EntityMenu.info.js:31
 #: frontend/src/metabase/components/EntityMenu.info.js:87
-#: frontend/src/metabase/home/containers/ArchiveApp.jsx:48
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:47
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:195
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:200
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:201
@@ -2430,28 +2449,33 @@ msgstr ""
 msgid "Archive"
 msgstr ""
 
-#: frontend/src/metabase/components/ArchivedItem.jsx:39
+#: frontend/src/metabase/components/ArchivedItem.jsx:43
 msgid "Unarchive this {0}"
 msgstr ""
 
-#: frontend/src/metabase/components/BrowseApp.jsx:95
-#: frontend/src/metabase/components/BrowseApp.jsx:157
-#: frontend/src/metabase/components/BrowseApp.jsx:250
-#: frontend/src/metabase/containers/Overworld.jsx:224
+#: frontend/src/metabase/components/ArchivedItem.jsx:52
+#: frontend/src/metabase/components/DeleteModalWithConfirm.jsx:80
+msgid "Delete this {0}"
+msgstr ""
+
+#: frontend/src/metabase/components/BrowseApp.jsx:70
+#: frontend/src/metabase/components/BrowseApp.jsx:132
+#: frontend/src/metabase/components/BrowseApp.jsx:225
+#: frontend/src/metabase/containers/Overworld.jsx:219
 msgid "Our data"
 msgstr ""
 
-#: frontend/src/metabase/components/BrowseApp.jsx:120
+#: frontend/src/metabase/components/BrowseApp.jsx:95
 msgid "X-ray this schema"
 msgstr ""
 
-#: frontend/src/metabase/components/BrowseApp.jsx:194
+#: frontend/src/metabase/components/BrowseApp.jsx:169
 #: frontend/src/metabase/reference/databases/TableSidebar.jsx:55
 msgid "X-ray this table"
 msgstr ""
 
-#: frontend/src/metabase/components/BrowseApp.jsx:208
-#: frontend/src/metabase/containers/Overworld.jsx:251
+#: frontend/src/metabase/components/BrowseApp.jsx:183
+#: frontend/src/metabase/containers/Overworld.jsx:246
 msgid "Learn about this table"
 msgstr ""
 
@@ -2469,31 +2493,31 @@ msgstr ""
 msgid "Saving failed."
 msgstr ""
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Su"
 msgstr ""
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Mo"
 msgstr ""
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Tu"
 msgstr ""
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "We"
 msgstr ""
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Th"
 msgstr ""
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Fr"
 msgstr ""
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Sa"
 msgstr ""
 
@@ -2528,77 +2552,85 @@ msgstr ""
 msgid "Create another collection"
 msgstr ""
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:61
+#: frontend/src/metabase/components/CollectionLanding.jsx:68
 msgid "Dashboards let you collect and share data in one place."
 msgstr ""
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:70
+#: frontend/src/metabase/components/CollectionLanding.jsx:77
 msgid ""
 "Pulses let you send out the latest data to your team on a schedule via email "
 "or slack."
 msgstr ""
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:79
+#: frontend/src/metabase/components/CollectionLanding.jsx:86
 msgid "Questions are a saved look at your data."
 msgstr ""
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:246
+#: frontend/src/metabase/components/CollectionLanding.jsx:258
 msgid "Edit the permissions for this collection"
 msgstr ""
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:275
+#: frontend/src/metabase/components/CollectionLanding.jsx:287
 msgid "Pins"
 msgstr ""
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:329
+#: frontend/src/metabase/components/CollectionLanding.jsx:341
 msgid "Drag something here to pin it to the top"
 msgstr ""
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:411
-#: frontend/src/metabase/components/CollectionLanding.jsx:434
+#: frontend/src/metabase/components/CollectionLanding.jsx:432
+#: frontend/src/metabase/components/CollectionLanding.jsx:455
 msgid "Drag here to un-pin"
 msgstr ""
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:469
+#: frontend/src/metabase/components/CollectionLanding.jsx:490
 msgid "{0} item selected"
 msgid_plural "{0} items selected"
 msgstr[0] ""
 msgstr[1] ""
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:487
+#: frontend/src/metabase/components/CollectionLanding.jsx:522
 msgid "Move {0} items?"
 msgstr ""
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:488
+#: frontend/src/metabase/components/CollectionLanding.jsx:523
 msgid "Move \"{0}\"?"
 msgstr ""
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:594
+#: frontend/src/metabase/components/CollectionLanding.jsx:631
 #: frontend/src/metabase/components/EntityMenu.info.js:29
 #: frontend/src/metabase/components/EntityMenu.info.js:85
-#: frontend/src/metabase/containers/CollectionMoveModal.jsx:78
+#: frontend/src/metabase/containers/CollectionMoveModal.jsx:69
 msgid "Move"
 msgstr ""
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:656
+#: frontend/src/metabase/components/CollectionLanding.jsx:692
 msgid "Edit this collection"
 msgstr ""
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:664
+#: frontend/src/metabase/components/CollectionLanding.jsx:700
 msgid "Archive this collection"
 msgstr ""
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:679
+#: frontend/src/metabase/components/CollectionLanding.jsx:715
 msgid "View the archive"
 msgstr ""
 
+#: frontend/src/metabase/components/CollectionLanding.jsx:740
+msgid "Duplicated {0}"
+msgstr ""
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:745
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:76
+msgid "See it"
+msgstr ""
+
 #: frontend/src/metabase/components/CollectionList.jsx:64
-#: frontend/src/metabase/entities/collections.js:148
+#: frontend/src/metabase/entities/collections.js:155
 msgid "My personal collection"
 msgstr ""
 
 #: frontend/src/metabase/components/CollectionList.jsx:106
-#: frontend/src/metabase/containers/CollectionForm.jsx:9
 msgid "New collection"
 msgstr ""
 
@@ -2689,18 +2721,22 @@ msgstr ""
 msgid "Next"
 msgstr ""
 
-#: frontend/src/metabase/components/DeleteModalWithConfirm.jsx:80
-msgid "Delete this {0}"
-msgstr ""
-
-#: frontend/src/metabase/components/EntityItem.jsx:42
+#: frontend/src/metabase/components/EntityItem.jsx:43
 msgid "Pin this item"
 msgstr ""
 
-#: frontend/src/metabase/components/EntityItem.jsx:48
+#: frontend/src/metabase/components/EntityItem.jsx:49
 msgid "Move this item"
 msgstr ""
 
+#: frontend/src/metabase/components/EntityItem.jsx:55
+msgid "Duplicate this item"
+msgstr ""
+
+#: frontend/src/metabase/components/EntityItem.jsx:61
+msgid "Archive this item"
+msgstr ""
+
 #: frontend/src/metabase/components/EntityMenu.info.js:24
 #: frontend/src/metabase/components/EntityMenu.info.js:80
 msgid "Edit this question"
@@ -2835,6 +2871,7 @@ msgid "No description yet"
 msgstr ""
 
 #: frontend/src/metabase/components/Header.jsx:112
+#: frontend/src/metabase/entities/containers/EntityForm.jsx:43
 msgid "New {0}"
 msgstr ""
 
@@ -2898,22 +2935,22 @@ msgid "Everything"
 msgstr ""
 
 #: frontend/src/metabase/components/ItemTypeFilterBar.jsx:18
-#: frontend/src/metabase/home/containers/SearchApp.jsx:73
+#: frontend/src/metabase/home/containers/SearchApp.jsx:69
 msgid "Dashboards"
 msgstr ""
 
 #: frontend/src/metabase/components/ItemTypeFilterBar.jsx:23
-#: frontend/src/metabase/home/containers/SearchApp.jsx:119
+#: frontend/src/metabase/home/containers/SearchApp.jsx:115
 msgid "Questions"
 msgstr ""
 
 #: frontend/src/metabase/components/ItemTypeFilterBar.jsx:28
-#: frontend/src/metabase/routes.jsx:320
+#: frontend/src/metabase/routes.jsx:321
 msgid "Pulses"
 msgstr ""
 
 #: frontend/src/metabase/components/LeftNavPane.jsx:36
-#: frontend/src/metabase/query_builder/components/dataref/DataReference.jsx:86
+#: frontend/src/metabase/query_builder/components/dataref/DataReference.jsx:103
 msgid "Back"
 msgstr ""
 
@@ -3010,6 +3047,7 @@ msgid "First"
 msgstr ""
 
 #: frontend/src/metabase/components/SchedulePicker.jsx:34
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:23
 msgid "Last"
 msgstr ""
 
@@ -3062,21 +3100,25 @@ msgstr ""
 msgid "Unknown error encountered"
 msgstr ""
 
-#: frontend/src/metabase/components/form/StandardForm.jsx:67
-#: frontend/src/metabase/nav/containers/Navbar.jsx:305
+#: frontend/src/metabase/components/form/StandardForm.jsx:69
+#: frontend/src/metabase/nav/containers/Navbar.jsx:304
 msgid "Create"
 msgstr ""
 
-#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:51
-msgid "Add this question to a dashboard"
+#: frontend/src/metabase/components/form/StandardForm.jsx:77
+msgid "Reset"
 msgstr ""
 
-#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:61
-msgid "Create a new dashboard"
+#: frontend/src/metabase/components/form/widgets/FormGroupsWidget.jsx:75
+msgid "Make this user an admin"
+msgstr ""
+
+#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:55
+msgid "Add this question to a dashboard"
 msgstr ""
 
-#: frontend/src/metabase/containers/DashboardForm.jsx:9
-msgid "Create dashboard"
+#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:65
+msgid "Create a new dashboard"
 msgstr ""
 
 #: frontend/src/metabase/containers/EntitySearch.jsx:35
@@ -3107,6 +3149,7 @@ msgid "View by"
 msgstr ""
 
 #: frontend/src/metabase/containers/EntitySearch.jsx:494
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:84
 #: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:69
 #: frontend/src/metabase/tutorial/TutorialModal.jsx:34
 msgid "of"
@@ -3141,43 +3184,43 @@ msgstr ""
 msgid "Select a {0}"
 msgstr ""
 
-#: frontend/src/metabase/containers/Overworld.jsx:80
+#: frontend/src/metabase/containers/Overworld.jsx:75
 msgid "Don't tell anyone, but you're my favorite."
 msgstr ""
 
-#: frontend/src/metabase/containers/Overworld.jsx:107
+#: frontend/src/metabase/containers/Overworld.jsx:102
 msgid "Try these x-rays based on your data."
 msgstr ""
 
-#: frontend/src/metabase/containers/Overworld.jsx:133
-#: frontend/src/metabase/containers/Overworld.jsx:304
+#: frontend/src/metabase/containers/Overworld.jsx:128
+#: frontend/src/metabase/containers/Overworld.jsx:299
 #: frontend/src/metabase/reference/components/GuideHeader.jsx:12
 msgid "Start here"
 msgstr ""
 
-#: frontend/src/metabase/containers/Overworld.jsx:190
+#: frontend/src/metabase/containers/Overworld.jsx:185
 msgid "Save dashboards, questions, and collections in \"{0}\""
 msgstr ""
 
-#: frontend/src/metabase/containers/Overworld.jsx:193
+#: frontend/src/metabase/containers/Overworld.jsx:188
 msgid "Access dashboards, questions, and collections in \"{0}\""
 msgstr ""
 
-#: frontend/src/metabase/containers/Overworld.jsx:208
+#: frontend/src/metabase/containers/Overworld.jsx:203
 msgid "Browse all items"
 msgstr ""
 
-#: frontend/src/metabase/containers/Overworld.jsx:299
-#: frontend/src/metabase/entities/collections.js:140
+#: frontend/src/metabase/containers/Overworld.jsx:294
+#: frontend/src/metabase/entities/collections.js:147
 #: src/metabase/models/collection.clj
 msgid "Our analytics"
 msgstr ""
 
-#: frontend/src/metabase/containers/Overworld.jsx:315
+#: frontend/src/metabase/containers/Overworld.jsx:310
 msgid "Your team's most important dashboards go here"
 msgstr ""
 
-#: frontend/src/metabase/containers/Overworld.jsx:316
+#: frontend/src/metabase/containers/Overworld.jsx:311
 msgid "Pin dashboards in {0} to have them appear in this space for everyone"
 msgstr ""
 
@@ -3205,27 +3248,13 @@ msgstr ""
 msgid "What is the name of your card?"
 msgstr ""
 
-#: frontend/src/metabase/containers/SaveQuestionModal.jsx:232
-#: frontend/src/metabase/entities/collections.js:94
-#: frontend/src/metabase/entities/dashboards.js:102
-#: frontend/src/metabase/lib/core.js:50 frontend/src/metabase/lib/core.js:205
-#: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:156
-#: frontend/src/metabase/reference/databases/FieldDetail.jsx:211
-#: frontend/src/metabase/reference/databases/TableDetail.jsx:189
-#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:203
-#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:207
-#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:207
-#: frontend/src/metabase/visualizations/lib/settings/visualization.js:24
-msgid "Description"
-msgstr ""
-
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:238
-#: frontend/src/metabase/entities/dashboards.js:104
+#: frontend/src/metabase/entities/dashboards.js:153
 msgid "It's optional but oh, so helpful"
 msgstr ""
 
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:245
-#: frontend/src/metabase/entities/dashboards.js:108
+#: frontend/src/metabase/entities/dashboards.js:157
 msgid "Which collection should this go in?"
 msgstr ""
 
@@ -3267,11 +3296,11 @@ msgid ""
 "this card."
 msgstr ""
 
-#: frontend/src/metabase/dashboard/components/Dashboard.jsx:286
+#: frontend/src/metabase/dashboard/components/Dashboard.jsx:300
 msgid "This dashboard is looking empty."
 msgstr ""
 
-#: frontend/src/metabase/dashboard/components/Dashboard.jsx:289
+#: frontend/src/metabase/dashboard/components/Dashboard.jsx:301
 msgid "Add a question to start making it useful!"
 msgstr ""
 
@@ -3320,22 +3349,26 @@ msgid "Add a text box"
 msgstr ""
 
 #: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:302
-msgid "Move dashboard"
+msgid "Edit dashboard"
 msgstr ""
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:315
-msgid "Edit dashboard"
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:306
+msgid "Edit Dashboard Layout"
 msgstr ""
 
 #: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:319
-msgid "Edit Dashboard Layout"
+msgid "Move dashboard"
+msgstr ""
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:330
+msgid "Duplicate dashboard"
 msgstr ""
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:357
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:369
 msgid "You are editing a dashboard"
 msgstr ""
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:362
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:374
 msgid "Select the field that should be filtered for each card"
 msgstr ""
 
@@ -3402,10 +3435,6 @@ msgstr ""
 msgid "Your dashboard was saved"
 msgstr ""
 
-#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:76
-msgid "See it"
-msgstr ""
-
 #: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:137
 msgid "Save this"
 msgstr ""
@@ -3419,7 +3448,7 @@ msgid "Compare"
 msgstr ""
 
 #: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:225
-#: frontend/src/metabase/qb/components/drill/ZoomDrill.jsx:26
+#: frontend/src/metabase/modes/components/drill/ZoomDrill.jsx:26
 msgid "Zoom in"
 msgstr ""
 
@@ -3452,32 +3481,74 @@ msgstr ""
 msgid "No valid fields"
 msgstr ""
 
-#: frontend/src/metabase/entities/collections.js:90
+#: frontend/src/metabase/entities/collections.js:21
+msgid "collection"
+msgstr ""
+
+#: frontend/src/metabase/entities/collections.js:22
+msgid "collections"
+msgstr ""
+
+#: frontend/src/metabase/entities/collections.js:97
 msgid "Name must be 100 characters or less"
 msgstr ""
 
-#: frontend/src/metabase/entities/collections.js:101
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:177
+#: frontend/src/metabase/entities/collections.js:108
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:176
 #: frontend/src/metabase/visualizations/visualizations/Progress.jsx:57
 msgid "Color"
 msgstr ""
 
-#: frontend/src/metabase/entities/collections.js:104
+#: frontend/src/metabase/entities/collections.js:111
 msgid "Color is required"
 msgstr ""
 
-#: frontend/src/metabase/entities/collections.js:108
+#: frontend/src/metabase/entities/collections.js:115
 msgid "Collection it's saved in"
 msgstr ""
 
-#: frontend/src/metabase/entities/collections.js:157
+#: frontend/src/metabase/entities/collections.js:164
 msgid "All personal collections"
 msgstr ""
 
-#: frontend/src/metabase/entities/dashboards.js:97
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:16
+msgid "Duplicate \"{0}\""
+msgstr ""
+
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:21
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:26
+msgid "Duplicate"
+msgstr ""
+
+#: frontend/src/metabase/entities/dashboards.js:29
+msgid "dashboard"
+msgstr ""
+
+#: frontend/src/metabase/entities/dashboards.js:30
+msgid "dashboards"
+msgstr ""
+
+#: frontend/src/metabase/entities/dashboards.js:146
 msgid "What is the name of your dashboard?"
 msgstr ""
 
+#: frontend/src/metabase/entities/users.js:125
+msgid "First name is required"
+msgstr ""
+
+#: frontend/src/metabase/entities/users.js:126
+#: frontend/src/metabase/entities/users.js:133
+msgid "Must be 100 characters or less"
+msgstr ""
+
+#: frontend/src/metabase/entities/users.js:132
+msgid "Last name is required"
+msgstr ""
+
+#: frontend/src/metabase/entities/users.js:138
+msgid "Email is required"
+msgstr ""
+
 #: frontend/src/metabase/home/components/Activity.jsx:92
 msgid "did some super awesome stuff that's hard to describe"
 msgstr ""
@@ -3527,7 +3598,9 @@ msgstr ""
 msgid "received the latest data from"
 msgstr ""
 
+#: frontend/src/metabase-lib/lib/Dimension.js:621
 #: frontend/src/metabase/home/components/Activity.jsx:244
+#: frontend/src/metabase/lib/query_time.js:180
 #: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:273
 msgid "Unknown"
 msgstr ""
@@ -3653,17 +3726,21 @@ msgstr ""
 msgid "You haven't looked at any dashboards or questions recently"
 msgstr ""
 
-#: frontend/src/metabase/home/containers/ArchiveApp.jsx:82
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:90
+msgid "Items you archive will appear here."
+msgstr ""
+
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:99
 msgid "{0} items selected"
 msgstr ""
 
-#: frontend/src/metabase/home/containers/ArchiveApp.jsx:102
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:121
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:172
 msgid "Unarchive"
 msgstr ""
 
 #: frontend/src/metabase/home/containers/HomepageApp.jsx:74
-#: frontend/src/metabase/nav/containers/Navbar.jsx:332
+#: frontend/src/metabase/nav/containers/Navbar.jsx:331
 msgid "Activity"
 msgstr ""
 
@@ -3671,15 +3748,15 @@ msgstr ""
 msgid "Results for \"{0}\""
 msgstr ""
 
-#: frontend/src/metabase/home/containers/SearchApp.jsx:50
+#: frontend/src/metabase/home/containers/SearchApp.jsx:46
 msgid "No results"
 msgstr ""
 
-#: frontend/src/metabase/home/containers/SearchApp.jsx:51
+#: frontend/src/metabase/home/containers/SearchApp.jsx:47
 msgid "Metabase couldn't find any results for your search."
 msgstr ""
 
-#: frontend/src/metabase/home/containers/SearchApp.jsx:142
+#: frontend/src/metabase/home/containers/SearchApp.jsx:138
 msgid "Pulse"
 msgstr ""
 
@@ -3744,7 +3821,7 @@ msgstr ""
 
 #: frontend/src/metabase/lib/core.js:30
 #: frontend/src/metabase/meta/Dashboard.js:81
-#: frontend/src/metabase/qb/components/actions/PivotByCategoryAction.jsx:9
+#: frontend/src/metabase/modes/components/actions/PivotByCategoryAction.jsx:9
 msgid "Category"
 msgstr ""
 
@@ -3784,15 +3861,10 @@ msgstr ""
 
 #: frontend/src/metabase/lib/core.js:85
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:149
-#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:39
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:41
 msgid "Number"
 msgstr ""
 
-#: frontend/src/metabase/lib/core.js:90
-#: frontend/src/metabase/meta/Dashboard.js:65
-msgid "State"
-msgstr ""
-
 #: frontend/src/metabase/lib/core.js:95
 msgid "UNIX Timestamp (Seconds)"
 msgstr ""
@@ -3958,7 +4030,7 @@ msgid "CumulativeCount"
 msgstr ""
 
 #: frontend/src/metabase/lib/expressions/config.js:9
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:17
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:17
 #: frontend/src/metabase/visualizations/lib/utils.js:127
 msgid "Sum"
 msgstr ""
@@ -3982,14 +4054,14 @@ msgid "Average"
 msgstr ""
 
 #: frontend/src/metabase/lib/expressions/config.js:14
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:25
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:25
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:48
 #: frontend/src/metabase/visualizations/lib/settings/graph.js:450
 msgid "Min"
 msgstr ""
 
 #: frontend/src/metabase/lib/expressions/config.js:15
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:29
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:29
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:57
 #: frontend/src/metabase/visualizations/lib/settings/graph.js:458
 msgid "Max"
@@ -3999,13 +4071,13 @@ msgstr ""
 msgid "sad sad panda, lexing errors detected"
 msgstr ""
 
-#: frontend/src/metabase/lib/formatting.js:724
+#: frontend/src/metabase/lib/formatting.js:707
 msgid "{0} second"
 msgid_plural "{0} seconds"
 msgstr[0] ""
 msgstr[1] ""
 
-#: frontend/src/metabase/lib/formatting.js:727
+#: frontend/src/metabase/lib/formatting.js:710
 msgid "{0} minute"
 msgid_plural "{0} minutes"
 msgstr[0] ""
@@ -4106,16 +4178,196 @@ msgstr ""
 msgid "Sorted by "
 msgstr ""
 
-#: frontend/src/metabase/lib/schema_metadata.js:221
-msgid "True"
+#: frontend/src/metabase/lib/query_time.js:112
+#: frontend/src/metabase/lib/query_time.js:123
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:9
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:144
+#: src/metabase/pulse/render.clj
+msgid "Today"
 msgstr ""
 
-#: frontend/src/metabase/lib/schema_metadata.js:221
-msgid "False"
+#: frontend/src/metabase/lib/query_time.js:115
+msgid "Tomorrow"
 msgstr ""
 
-#: frontend/src/metabase/lib/schema_metadata.js:305
-msgid "Select longitude field"
+#: frontend/src/metabase/lib/query_time.js:118
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:14
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:148
+#: src/metabase/pulse/render.clj
+msgid "Yesterday"
+msgstr ""
+
+#: frontend/src/metabase/lib/query_time.js:129
+#: frontend/src/metabase/lib/query_time.js:143
+msgid "This {0}"
+msgstr ""
+
+#: frontend/src/metabase/lib/query_time.js:132
+msgid "Next {0}"
+msgstr ""
+
+#: frontend/src/metabase/lib/query_time.js:135
+msgid "Previous {0}"
+msgstr ""
+
+#: frontend/src/metabase/lib/query_time.js:139
+msgid "Previous {0} {1}"
+msgstr ""
+
+#: frontend/src/metabase/lib/query_time.js:141
+msgid "Next {0} {1}"
+msgstr ""
+
+#: frontend/src/metabase/lib/query_time.js:171
+msgid "Now"
+msgstr ""
+
+#: frontend/src/metabase/lib/query_time.js:174
+msgid "{0} {1} ago"
+msgstr ""
+
+#: frontend/src/metabase/lib/query_time.js:175
+msgid "{0} {1} from now"
+msgstr ""
+
+#: frontend/src/metabase/lib/query_time.js:187
+msgid "Default period"
+msgid_plural "Default periods"
+msgstr[0] ""
+msgstr[1] ""
+
+#. #-#-#-#-#  metabase-backend.pot (metabase)  #-#-#-#-#
+#. note the order of these options corresponds to the order they will be shown to the user in the UI
+#: frontend/src/metabase/lib/query_time.js:189 src/metabase/api/table.clj
+#, fuzzy
+msgid "Minute"
+msgid_plural "Minutes"
+msgstr[0] ""
+"#-#-#-#-#  metabase-frontend.pot  #-#-#-#-#\n"
+"#-#-#-#-#  metabase-backend.pot (metabase)  #-#-#-#-#\n"
+msgstr[1] "#-#-#-#-#  metabase-frontend.pot  #-#-#-#-#\n"
+
+#: frontend/src/metabase/lib/query_time.js:191 src/metabase/api/table.clj
+#, fuzzy
+msgid "Hour"
+msgid_plural "Hours"
+msgstr[0] ""
+"#-#-#-#-#  metabase-frontend.pot  #-#-#-#-#\n"
+"#-#-#-#-#  metabase-backend.pot (metabase)  #-#-#-#-#\n"
+msgstr[1] "#-#-#-#-#  metabase-frontend.pot  #-#-#-#-#\n"
+
+#: frontend/src/metabase/lib/query_time.js:193 src/metabase/api/table.clj
+#, fuzzy
+msgid "Day"
+msgid_plural "Days"
+msgstr[0] ""
+"#-#-#-#-#  metabase-frontend.pot  #-#-#-#-#\n"
+"#-#-#-#-#  metabase-backend.pot (metabase)  #-#-#-#-#\n"
+msgstr[1] "#-#-#-#-#  metabase-frontend.pot  #-#-#-#-#\n"
+
+#: frontend/src/metabase/lib/query_time.js:195
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:24
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:29
+#: src/metabase/api/table.clj
+#, fuzzy
+msgid "Week"
+msgid_plural "Weeks"
+msgstr[0] ""
+"#-#-#-#-#  metabase-frontend.pot  #-#-#-#-#\n"
+"#-#-#-#-#  metabase-backend.pot (metabase)  #-#-#-#-#\n"
+msgstr[1] "#-#-#-#-#  metabase-frontend.pot  #-#-#-#-#\n"
+
+#: frontend/src/metabase/lib/query_time.js:197
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:25
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:30
+#: src/metabase/api/table.clj
+#, fuzzy
+msgid "Month"
+msgid_plural "Months"
+msgstr[0] ""
+"#-#-#-#-#  metabase-frontend.pot  #-#-#-#-#\n"
+"#-#-#-#-#  metabase-backend.pot (metabase)  #-#-#-#-#\n"
+msgstr[1] "#-#-#-#-#  metabase-frontend.pot  #-#-#-#-#\n"
+
+#: frontend/src/metabase/lib/query_time.js:199 src/metabase/api/table.clj
+#, fuzzy
+msgid "Quarter"
+msgid_plural "Quarters"
+msgstr[0] ""
+"#-#-#-#-#  metabase-frontend.pot  #-#-#-#-#\n"
+"#-#-#-#-#  metabase-backend.pot (metabase)  #-#-#-#-#\n"
+msgstr[1] "#-#-#-#-#  metabase-frontend.pot  #-#-#-#-#\n"
+
+#: frontend/src/metabase/lib/query_time.js:201
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:26
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:31
+#: src/metabase/api/table.clj
+#, fuzzy
+msgid "Year"
+msgid_plural "Years"
+msgstr[0] ""
+"#-#-#-#-#  metabase-frontend.pot  #-#-#-#-#\n"
+"#-#-#-#-#  metabase-backend.pot (metabase)  #-#-#-#-#\n"
+msgstr[1] "#-#-#-#-#  metabase-frontend.pot  #-#-#-#-#\n"
+
+#: frontend/src/metabase/lib/query_time.js:203
+msgid "Minute of hour"
+msgid_plural "Minutes of hour"
+msgstr[0] ""
+msgstr[1] ""
+
+#: frontend/src/metabase/lib/query_time.js:205
+msgid "Hour of day"
+msgid_plural "Hours of day"
+msgstr[0] ""
+msgstr[1] ""
+
+#: frontend/src/metabase/lib/query_time.js:207
+msgid "Day of week"
+msgid_plural "Days of week"
+msgstr[0] ""
+msgstr[1] ""
+
+#: frontend/src/metabase/lib/query_time.js:209
+msgid "Day of month"
+msgid_plural "Days of month"
+msgstr[0] ""
+msgstr[1] ""
+
+#: frontend/src/metabase/lib/query_time.js:211
+msgid "Day of year"
+msgid_plural "Days of year"
+msgstr[0] ""
+msgstr[1] ""
+
+#: frontend/src/metabase/lib/query_time.js:213
+msgid "Week of year"
+msgid_plural "Weeks of year"
+msgstr[0] ""
+msgstr[1] ""
+
+#: frontend/src/metabase/lib/query_time.js:215
+msgid "Month of year"
+msgid_plural "Months of year"
+msgstr[0] ""
+msgstr[1] ""
+
+#: frontend/src/metabase/lib/query_time.js:217
+msgid "Quarter of year"
+msgid_plural "Quarters of year"
+msgstr[0] ""
+msgstr[1] ""
+
+#: frontend/src/metabase/lib/schema_metadata.js:221
+msgid "True"
+msgstr ""
+
+#: frontend/src/metabase/lib/schema_metadata.js:221
+msgid "False"
+msgstr ""
+
+#: frontend/src/metabase/lib/schema_metadata.js:305
+msgid "Select longitude field"
 msgstr ""
 
 #: frontend/src/metabase/lib/schema_metadata.js:306
@@ -4455,7 +4707,7 @@ msgid "ID"
 msgstr ""
 
 #: frontend/src/metabase/meta/Dashboard.js:95
-#: frontend/src/metabase/qb/components/actions/PivotByTimeAction.jsx:8
+#: frontend/src/metabase/modes/components/actions/PivotByTimeAction.jsx:8
 msgid "Time"
 msgstr ""
 
@@ -4464,7 +4716,7 @@ msgid "Date range, relative date, time of day, etc."
 msgstr ""
 
 #: frontend/src/metabase/meta/Dashboard.js:101
-#: frontend/src/metabase/qb/components/actions/PivotByLocationAction.jsx:8
+#: frontend/src/metabase/modes/components/actions/PivotByLocationAction.jsx:8
 msgid "Location"
 msgstr ""
 
@@ -4484,49 +4736,154 @@ msgstr ""
 msgid "Category, Type, Model, Rating, etc."
 msgstr ""
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:43
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:100
+msgid "After {0}"
+msgstr ""
+
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:102
+msgid "Before {0}"
+msgstr ""
+
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:104
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:295
+msgid "Is Empty"
+msgstr ""
+
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:106
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:301
+msgid "Not Empty"
+msgstr ""
+
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:109
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:213
+msgid "All Time"
+msgstr ""
+
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:154
+msgid "Apply"
+msgstr ""
+
+#: frontend/src/metabase/modes/components/actions/CommonMetricsAction.jsx:21
+msgid "View {0}"
+msgstr ""
+
+#: frontend/src/metabase/modes/components/actions/CompareWithTable.jsx:29
+msgid "Compare this with all rows in the table"
+msgstr ""
+
+#: frontend/src/metabase/modes/components/actions/CompoundQueryAction.jsx:14
+msgid "Analyze the results of this Query"
+msgstr ""
+
+#: frontend/src/metabase/modes/components/actions/CountByTimeAction.jsx:29
+msgid "Count of rows by time"
+msgstr ""
+
+#: frontend/src/metabase/modes/components/actions/PivotByAction.jsx:52
+msgid "Break out by {0}"
+msgstr ""
+
+#: frontend/src/metabase/modes/components/actions/SummarizeBySegmentMetricAction.jsx:31
+msgid "Summarize this segment"
+msgstr ""
+
+#: frontend/src/metabase/modes/components/actions/UnderlyingDataAction.jsx:14
+msgid "View this as a table"
+msgstr ""
+
+#: frontend/src/metabase/modes/components/actions/UnderlyingRecordsAction.jsx:22
+msgid "View the underlying {0} records"
+msgstr ""
+
+#: frontend/src/metabase/modes/components/actions/XRayCard.jsx:20
+msgid "X-Ray this question"
+msgstr ""
+
+#: frontend/src/metabase/modes/components/drill/AutomaticDashboardDrill.jsx:33
+msgid "X-ray"
+msgstr ""
+
+#: frontend/src/metabase/modes/components/drill/CompareToRestDrill.js:34
+msgid "Compare to the rest"
+msgstr ""
+
+#: frontend/src/metabase/modes/components/drill/DistributionDrill.jsx:35
+msgid "Distribution"
+msgstr ""
+
+#: frontend/src/metabase/modes/components/drill/ObjectDetailDrill.jsx:38
+msgid "View details"
+msgstr ""
+
+#: frontend/src/metabase/modes/components/drill/QuickFilterDrill.jsx:54
+msgid "View this {0}'s {1}"
+msgstr ""
+
+#: frontend/src/metabase/modes/components/drill/SortAction.jsx:42
+msgid "Ascending"
+msgstr ""
+
+#: frontend/src/metabase/modes/components/drill/SortAction.jsx:50
+msgid "Descending"
+msgstr ""
+
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnByTimeDrill.js:47
+msgid "over time"
+msgstr ""
+
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:21
+msgid "Avg"
+msgstr ""
+
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:33
+msgid "Distincts"
+msgstr ""
+
+#: frontend/src/metabase/modes/components/drill/UnderlyingRecordsDrill.jsx:32
+msgid "View this {0}"
+msgid_plural "View these {0}"
+msgstr[0] ""
+msgstr[1] ""
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:42
 #: frontend/src/metabase/user/components/UserSettings.jsx:54
 msgid "Account settings"
 msgstr ""
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:50
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:49
 msgid "Exit admin"
 msgstr ""
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:60
-msgid "Logs"
-msgstr ""
-
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:67
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:58
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorSidebar.jsx:105
 msgid "Help"
 msgstr ""
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:76
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:67
 msgid "About Metabase"
 msgstr ""
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:82
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:73
 msgid "Sign out"
 msgstr ""
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:107
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:98
 msgid "Thanks for using"
 msgstr ""
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:111
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:102
 msgid "You're on version"
 msgstr ""
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:114
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:105
 msgid "Built on"
 msgstr ""
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:133
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:124
 msgid "is a Trademark of"
 msgstr ""
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:135
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:126
 msgid "and is built with care in San Francisco, CA"
 msgstr ""
 
@@ -4535,27 +4892,27 @@ msgstr ""
 msgid "Search"
 msgstr ""
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:195
+#: frontend/src/metabase/nav/containers/Navbar.jsx:194
 msgid "Metabase Admin"
 msgstr ""
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:301
+#: frontend/src/metabase/nav/containers/Navbar.jsx:300
 #: frontend/src/metabase/reference/databases/TableQuestions.jsx:36
 #: frontend/src/metabase/reference/metrics/MetricQuestions.jsx:37
 #: frontend/src/metabase/reference/segments/SegmentQuestions.jsx:37
 msgid "Ask a question"
 msgstr ""
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:310
+#: frontend/src/metabase/nav/containers/Navbar.jsx:309
 msgid "New dashboard"
 msgstr ""
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:316
+#: frontend/src/metabase/nav/containers/Navbar.jsx:315
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:127
 msgid "New pulse"
 msgstr ""
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:324
+#: frontend/src/metabase/nav/containers/Navbar.jsx:323
 msgid "Reference"
 msgstr ""
 
@@ -4613,19 +4970,21 @@ msgstr ""
 msgid "Select a default value…"
 msgstr ""
 
+#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:62
+#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:58
+#: frontend/src/metabase/query_builder/components/Filter.jsx:79
+msgid "{0} selection"
+msgid_plural "{0} selections"
+msgstr[0] ""
+msgstr[1] ""
+
 #: frontend/src/metabase/parameters/components/widgets/DateAllOptionsWidget.jsx:149
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:390
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:404
 msgid "Update filter"
 msgstr ""
 
-#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:9
-#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:144
-msgid "Today"
-msgstr ""
-
-#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:14
-#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:148
-msgid "Yesterday"
+#: frontend/src/metabase/parameters/components/widgets/DateQuarterYearWidget.jsx:11
+msgid "[Q]Q"
 msgstr ""
 
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:18
@@ -4636,22 +4995,8 @@ msgstr ""
 msgid "Past 30 days"
 msgstr ""
 
-#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:24
-#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:29
-#: src/metabase/api/table.clj
-msgid "Week"
-msgstr ""
-
-#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:25
-#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:30
-#: src/metabase/api/table.clj
-msgid "Month"
-msgstr ""
-
-#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:26
-#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:31
-#: src/metabase/api/table.clj
-msgid "Year"
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:28
+msgid "This"
 msgstr ""
 
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:152
@@ -4686,7 +5031,7 @@ msgstr ""
 msgid "This Year"
 msgstr ""
 
-#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:88
+#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:89
 #: frontend/src/metabase/parameters/components/widgets/TextWidget.jsx:54
 msgid "Enter a value..."
 msgstr ""
@@ -4890,7 +5235,7 @@ msgid "This pulse will no longer be emailed to {0} {1}"
 msgstr ""
 
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:94
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:374
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:376
 msgid "{0} address"
 msgid_plural "{0} addresses"
 msgstr[0] ""
@@ -4942,7 +5287,7 @@ msgstr ""
 
 #: frontend/src/metabase/pulse/components/PulseEditCards.jsx:104
 #: frontend/src/metabase/pulse/components/PulseEditCards.jsx:111
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:671
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:673
 msgid "Heads up"
 msgstr ""
 
@@ -4975,59 +5320,59 @@ msgstr ""
 msgid "Choose questions you'd like to send in this pulse"
 msgstr ""
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:29
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:27
 msgid "Emails"
 msgstr ""
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:30
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:28
 msgid "Slack messages"
 msgstr ""
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:163
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:161
 msgid "Pick a user or channel..."
 msgstr ""
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:223
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:221
 msgid "Sent"
 msgstr ""
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:224
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:222
 msgid "{0} will be sent at"
 msgstr ""
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:226
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:224
 msgid "Messages"
 msgstr ""
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:237
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:240
 msgid "Send email now"
 msgstr ""
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:238
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:241
 msgid "Send to {0} now"
 msgstr ""
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:240
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:243
 msgid "Sending…"
 msgstr ""
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:241
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:244
 msgid "Sending failed"
 msgstr ""
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:244
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:247
 msgid "Didn’t send because the pulse has no results."
 msgstr ""
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:245
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:248
 msgid "Pulse sent"
 msgstr ""
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:284
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:287
 msgid "{0} needs to be set up by an administrator."
 msgstr ""
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:299
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:302
 msgid "Slack"
 msgstr ""
 
@@ -5069,180 +5414,76 @@ msgid ""
 "your choice."
 msgstr ""
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:100
-msgid "After {0}"
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:64
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:96
+msgid "Invalid"
 msgstr ""
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:102
-msgid "Before {0}"
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:19
+msgid "Custom Expression"
 msgstr ""
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:104
-#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:295
-msgid "Is Empty"
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:20
+msgid "Common Metrics"
 msgstr ""
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:106
-#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:301
-msgid "Not Empty"
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:209
+msgid "Metabasics"
 msgstr ""
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:109
-#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:213
-msgid "All Time"
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:319
+msgid "Name (optional)"
 msgstr ""
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:154
-msgid "Apply"
+#: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:156
+msgid "Choose an aggregation"
 msgstr ""
 
-#: frontend/src/metabase/qb/components/actions/CommonMetricsAction.jsx:21
-msgid "View {0}"
-msgstr ""
-
-#: frontend/src/metabase/qb/components/actions/CompareWithTable.jsx:29
-msgid "Compare this with all rows in the table"
-msgstr ""
-
-#: frontend/src/metabase/qb/components/actions/CompoundQueryAction.jsx:14
-msgid "Analyze the results of this Query"
-msgstr ""
-
-#: frontend/src/metabase/qb/components/actions/CountByTimeAction.jsx:29
-msgid "Count of rows by time"
-msgstr ""
-
-#: frontend/src/metabase/qb/components/actions/PivotByAction.jsx:55
-msgid "Break out by {0}"
-msgstr ""
-
-#: frontend/src/metabase/qb/components/actions/SummarizeBySegmentMetricAction.jsx:34
-msgid "Summarize this segment"
-msgstr ""
-
-#: frontend/src/metabase/qb/components/actions/UnderlyingDataAction.jsx:14
-msgid "View this as a table"
-msgstr ""
-
-#: frontend/src/metabase/qb/components/actions/UnderlyingRecordsAction.jsx:22
-msgid "View the underlying {0} records"
-msgstr ""
-
-#: frontend/src/metabase/qb/components/actions/XRayCard.jsx:20
-msgid "X-Ray this question"
-msgstr ""
-
-#: frontend/src/metabase/qb/components/drill/AutomaticDashboardDrill.jsx:33
-msgid "X-ray"
-msgstr ""
-
-#: frontend/src/metabase/qb/components/drill/CompareToRestDrill.js:34
-msgid "Compare to the rest"
-msgstr ""
-
-#: frontend/src/metabase/qb/components/drill/DistributionDrill.jsx:35
-msgid "Distribution"
-msgstr ""
-
-#: frontend/src/metabase/qb/components/drill/ObjectDetailDrill.jsx:38
-msgid "View details"
-msgstr ""
-
-#: frontend/src/metabase/qb/components/drill/QuickFilterDrill.jsx:54
-msgid "View this {0}'s {1}"
-msgstr ""
-
-#: frontend/src/metabase/qb/components/drill/SortAction.jsx:41
-msgid "Ascending"
-msgstr ""
-
-#: frontend/src/metabase/qb/components/drill/SortAction.jsx:49
-msgid "Descending"
-msgstr ""
-
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnByTimeDrill.js:47
-msgid "over time"
-msgstr ""
-
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:21
-msgid "Avg"
-msgstr ""
-
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:33
-msgid "Distincts"
-msgstr ""
-
-#: frontend/src/metabase/qb/components/drill/UnderlyingRecordsDrill.jsx:32
-msgid "View this {0}"
-msgid_plural "View these {0}"
-msgstr[0] ""
-msgstr[1] ""
-
-#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:19
-msgid "Custom Expression"
-msgstr ""
-
-#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:20
-msgid "Common Metrics"
-msgstr ""
-
-#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:182
-msgid "Metabasics"
-msgstr ""
-
-#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:290
-msgid "Name (optional)"
-msgstr ""
-
-#: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:153
-msgid "Choose an aggregation"
-msgstr ""
-
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:115
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:100
 msgid "Set up your own alert"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:155
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:140
 msgid "Unsubscribing..."
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:160
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:145
 msgid "Failed to unsubscribe"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:216
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:204
 msgid "Unsubscribe"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:247
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:235
 msgid "No channel"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:274
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:263
 msgid "Okay, you're unsubscribed"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:346
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:335
 msgid "You're receiving {0}'s alerts"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:347
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:336
 msgid "{0} set up an alert"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:161
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:160
 msgid "alerts"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:184
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:183
 msgid "Let's set up your alert"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:215
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:214
 msgid "The wide world of alerts"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:216
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:215
 msgid "There are a few different kinds of alerts you can get"
 msgstr ""
 
@@ -5254,127 +5495,127 @@ msgstr ""
 msgid "returns any results"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:240
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:241
 msgid "When a line or bar {0}"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:241
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:242
 msgid "crosses a goal line"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:251
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:253
 msgid "When a progress bar {0}"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:252
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:254
 msgid "reaches its goal"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:260
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:262
 msgid "Set up an alert"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:329
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:331
 msgid "Edit your alert"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:329
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:331
 msgid "Edit alert"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:372
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:374
 msgid "This alert will no longer be emailed to {0}."
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:380
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:382
 msgid "Slack channel {0} will no longer get this alert."
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:384
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:386
 msgid "Channel {0} will no longer receive this alert."
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:401
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:403
 msgid "Delete this alert"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:403
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:405
 msgid "Stop delivery and delete this alert. There's no undo, so be careful."
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:411
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:413
 msgid "Delete this alert?"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:495
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:497
 msgid "Alert me when the line…"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:496
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:498
 msgid "Alert me when the progress bar…"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:499
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:501
 msgid "Goes above the goal line"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:499
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:501
 msgid "Reaches the goal"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:502
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:504
 msgid "Goes below the goal line"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:502
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:504
 msgid "Goes below the goal"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:510
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:512
 msgid "The first time it crosses, or every time?"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:511
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:513
 msgid "The first time it reaches the goal, or every time?"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:513
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:515
 msgid "The first time"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:514
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:516
 msgid "Every time"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:617
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:619
 msgid "Where do you want to send these alerts?"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:628
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:630
 msgid "Email alerts to:"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:670
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:672
 msgid ""
 "{0} Goal-based alerts aren't yet supported for charts with more than one "
 "line, so this alert will be sent whenever the chart has {1}."
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:673
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:675
 msgid "results"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:677
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:679
 msgid ""
 "{0} This kind of alert is most useful when your saved question doesn’t {1} "
 "return any results, but you want to know when it does."
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:678
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:680
 msgid "Tip"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:680
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:682
 msgid "usually"
 msgstr ""
 
@@ -5397,28 +5638,28 @@ msgstr ""
 msgid "Select a table"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:785
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:793
 msgid "No tables found in this database."
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:822
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:830
 msgid "Is a question missing?"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:826
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:834
 msgid "Learn more about nested queries"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:860
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:868
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:30
 msgid "Fields"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:938
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:946
 msgid "No segments were found."
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:961
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:969
 msgid "Find a segment"
 msgstr ""
 
@@ -5430,27 +5671,27 @@ msgstr ""
 msgid "View more"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:111
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:112
 msgid "Pick a field to sort by"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:124
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:125
 msgid "Sort"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:193
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:137
 msgid "Row limit"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/FieldName.jsx:76
+#: frontend/src/metabase/query_builder/components/FieldName.jsx:69
 msgid "Unknown Field"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/FieldName.jsx:79
+#: frontend/src/metabase/query_builder/components/FieldName.jsx:72
 msgid "field"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/Filter.jsx:113
+#: frontend/src/metabase/query_builder/components/Filter.jsx:114
 msgid "Matches"
 msgstr ""
 
@@ -5471,11 +5712,11 @@ msgstr ""
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:59
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:68
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:75
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:226
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:232
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:238
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:62
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:67
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:225
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:231
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:237
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:70
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:75
 msgid "Data"
 msgstr ""
 
@@ -5651,6 +5892,11 @@ msgid ""
 "the edit icon in the top-right."
 msgstr ""
 
+#: frontend/src/metabase/query_builder/components/SavedQuestionIntroModal.jsx:22
+#: frontend/src/metabase/tutorial/Tutorial.jsx:253
+msgid "Okay"
+msgstr ""
+
 #: frontend/src/metabase/query_builder/components/SearchBar.jsx:28
 msgid "Search for"
 msgstr ""
@@ -5720,42 +5966,30 @@ msgstr ""
 msgid "Visualization"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:17
-#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:151
-msgid "No description set."
-msgstr ""
-
-#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:21
-msgid "Use for current question"
-msgstr ""
-
-#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:33
-#: frontend/src/metabase/reference/components/UsefulQuestions.jsx:16
-msgid "Potentially useful questions"
+#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:16
+msgid "No description"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:156
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:166
 msgid "Group by {0}"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:165
-msgid "Sum of all values of {0}"
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:175
+msgid "Sum of all values"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:173
-#: frontend/src/metabase/reference/databases/FieldDetail.jsx:63
-#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:51
-msgid "All distinct values of {0}"
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:183
+msgid "See all distinct values"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:177
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:187
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:39
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:51
 #: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:39
 msgid "Number of {0} grouped by {1}"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:11
+#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:10
 #: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:20
 #: frontend/src/metabase/reference/databases/FieldSidebar.jsx:30
 #: frontend/src/metabase/reference/databases/TableSidebar.jsx:26
@@ -5767,8 +6001,10 @@ msgstr ""
 msgid "Data Reference"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:13
-msgid "Learn more about your data structure to ask more useful questions"
+#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:12
+msgid ""
+"Browse the contents of your databases, tables, and columns. Pick a database "
+"to get started"
 msgstr ""
 
 #: frontend/src/metabase/query_builder/components/dataref/MetricPane.jsx:58
@@ -5806,11 +6042,11 @@ msgstr ""
 msgid "An error occurred loading the table"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:74
-msgid "See the raw data for {0}"
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:96
+msgid "No description set."
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:205
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:180
 msgid "More"
 msgstr ""
 
@@ -5822,11 +6058,11 @@ msgstr ""
 msgid "Operators"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:200
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:201
 msgid "Invalid expression"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:275
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:276
 msgid "unknown error"
 msgstr ""
 
@@ -5894,19 +6130,19 @@ msgstr ""
 msgid "this hour"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:285
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:290
 msgid "not implemented {0}"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:286
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:291
 msgid "true"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:286
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:291
 msgid "false"
 msgstr ""
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:390
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:404
 msgid "Add filter"
 msgstr ""
 
@@ -5949,6 +6185,10 @@ msgstr ""
 msgid "Show calendar"
 msgstr ""
 
+#: frontend/src/metabase/query_builder/components/filters/pickers/SpecificDatePicker.jsx:147
+msgid "Add a time"
+msgstr ""
+
 #: frontend/src/metabase/query_builder/components/filters/pickers/TextPicker.jsx:97
 msgid "You can enter multiple values separated by commas"
 msgstr ""
@@ -6217,6 +6457,10 @@ msgid ""
 "Leave a note to explain what changes you made and why they were required"
 msgstr ""
 
+#: frontend/src/metabase/reference/components/UsefulQuestions.jsx:16
+msgid "Potentially useful questions"
+msgstr ""
+
 #: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:166
 msgid "Why this database is interesting"
 msgstr ""
@@ -6235,6 +6479,11 @@ msgstr ""
 msgid "Tables in {0}"
 msgstr ""
 
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:63
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:51
+msgid "All distinct values of {0}"
+msgstr ""
+
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:222
 #: frontend/src/metabase/reference/databases/TableDetail.jsx:200
 #: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:218
@@ -6620,7 +6869,7 @@ msgstr ""
 msgid "Dashboard"
 msgstr ""
 
-#: frontend/src/metabase/routes.jsx:227
+#: frontend/src/metabase/routes.jsx:228
 msgid "New Question"
 msgstr ""
 
@@ -6731,6 +6980,11 @@ msgstr ""
 msgid "Take me to Metabase"
 msgstr ""
 
+#: frontend/src/metabase/setup/components/UserStep.jsx:103
+#: frontend/src/metabase/user/components/UpdateUserDetails.jsx:67
+msgid "Not a valid formatted email address"
+msgstr ""
+
 #: frontend/src/metabase/setup/components/UserStep.jsx:155
 msgid "What should we call you?"
 msgstr ""
@@ -6739,6 +6993,16 @@ msgstr ""
 msgid "Hi, {0}. nice to meet you!"
 msgstr ""
 
+#: frontend/src/metabase/setup/components/UserStep.jsx:186
+#: frontend/src/metabase/user/components/UpdateUserDetails.jsx:100
+msgid "First name"
+msgstr ""
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:203
+#: frontend/src/metabase/user/components/UpdateUserDetails.jsx:117
+msgid "Last name"
+msgstr ""
+
 #: frontend/src/metabase/setup/components/UserStep.jsx:243
 msgid "Create a password"
 msgstr ""
@@ -6974,10 +7238,10 @@ msgstr ""
 #: frontend/src/metabase/visualizations/lib/settings/graph.js:321
 #: frontend/src/metabase/visualizations/lib/settings/nested.js:126
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:83
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:72
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:77
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:83
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:89
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:80
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:85
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:91
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:97
 #: frontend/src/metabase/visualizations/visualizations/Progress.jsx:50
 #: frontend/src/metabase/visualizations/visualizations/Progress.jsx:56
 #: frontend/src/metabase/visualizations/visualizations/Text.jsx:72
@@ -6986,7 +7250,7 @@ msgstr ""
 msgid "Display"
 msgstr ""
 
-#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:235
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:275
 msgid "Reset to defaults"
 msgstr ""
 
@@ -7035,44 +7299,44 @@ msgstr ""
 msgid "Rows {0}-{1} of {2}"
 msgstr ""
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:35
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:36
 msgid "There was a problem displaying this chart."
 msgstr ""
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:36
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:37
 msgid "Sorry, you don't have permission to see this card."
 msgstr ""
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:187
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:189
 msgid "Data truncated to {0} rows."
 msgstr ""
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:352
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:364
 msgid "Could not find visualization"
 msgstr ""
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:359
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:371
 msgid "Could not display this chart with this data."
 msgstr ""
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:457
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:469
 msgid "No results!"
 msgstr ""
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:478
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:490
 msgid "Still Waiting..."
 msgstr ""
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:481
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:493
 msgid "This usually takes an average of {0}."
 msgstr ""
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:487
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:499
 msgid "(This is a bit long for a dashboard)"
 msgstr ""
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:491
-msgid "This is usually pretty fast but seems to be taking awhile right now."
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:503
+msgid "This is usually pretty fast but seems to be taking a while right now."
 msgstr ""
 
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingFieldPicker.jsx:36
@@ -7214,7 +7478,7 @@ msgid "Highlight the whole row"
 msgstr ""
 
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:390
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:90
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:98
 msgid "Colors"
 msgstr ""
 
@@ -7660,7 +7924,7 @@ msgid "Funnel"
 msgstr ""
 
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:76
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:68
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:76
 msgid "Measure"
 msgstr ""
 
@@ -7688,15 +7952,15 @@ msgstr ""
 msgid "line chart"
 msgstr ""
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:225
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:224
 msgid "Please select longitude and latitude columns in the chart settings."
 msgstr ""
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:231
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:230
 msgid "Please select a region map."
 msgstr ""
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:237
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:236
 msgid "Please select region and metric columns in the chart settings."
 msgstr ""
 
@@ -7746,19 +8010,19 @@ msgstr ""
 msgid "Region field"
 msgstr ""
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:193
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:192
 msgid "Radius"
 msgstr ""
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:199
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:198
 msgid "Blur"
 msgstr ""
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:205
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:204
 msgid "Min Opacity"
 msgstr ""
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:211
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:210
 msgid "Max Zoom"
 msgstr ""
 
@@ -7782,31 +8046,31 @@ msgstr ""
 msgid "object"
 msgstr ""
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:304
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:312
 msgid "Total"
 msgstr ""
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:53
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:61
 msgid "Which columns do you want to use?"
 msgstr ""
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:41
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:44
 msgid "Pie"
 msgstr ""
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:63
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:71
 msgid "Dimension"
 msgstr ""
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:73
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:81
 msgid "Show legend"
 msgstr ""
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:78
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:86
 msgid "Show percentages in legend"
 msgstr ""
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:84
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:92
 msgid "Minimum slice percentage"
 msgstr ""
 
@@ -7838,7 +8102,7 @@ msgstr ""
 msgid "row chart"
 msgstr ""
 
-#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:91
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:94
 msgid "Field to show"
 msgstr ""
 
@@ -7850,11 +8114,15 @@ msgstr ""
 msgid "scatter plot"
 msgstr ""
 
-#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:118
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:121
 msgid "last {0}"
 msgstr ""
 
-#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:176
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:170
+msgid "Nothing to compare for the previous {0}."
+msgstr ""
+
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:185
 msgid "{0} was {1} {2}"
 msgstr ""
 
@@ -7954,13 +8222,17 @@ msgstr ""
 msgid "Show background"
 msgstr ""
 
-#: frontend/src/metabase-lib/lib/Dimension.js:492
+#: frontend/src/metabase-lib/lib/Dimension.js:517
+msgid "by {0}"
+msgstr ""
+
+#: frontend/src/metabase-lib/lib/Dimension.js:553
 msgid "{0} bin"
 msgid_plural "{0} bins"
 msgstr[0] ""
 msgstr[1] ""
 
-#: frontend/src/metabase-lib/lib/Dimension.js:498
+#: frontend/src/metabase-lib/lib/Dimension.js:559
 msgid "Auto binned"
 msgstr ""
 
@@ -7997,7 +8269,19 @@ msgid ""
 msgstr ""
 
 #: src/metabase/api/card.clj
-msgid "Error running query to determine Card result metadata:"
+msgid "Card results metadata passed in to API is VALID. Thanks!"
+msgstr ""
+
+#: src/metabase/api/card.clj
+msgid ""
+"Card results metadata passed in to API is INVALID. Running query to fetch "
+"correct metadata."
+msgstr ""
+
+#: src/metabase/api/card.clj
+msgid ""
+"Card results metadata passed in to API is  ISSING. Running query to fetch "
+"correct metadata."
 msgstr ""
 
 #: src/metabase/api/card.clj
@@ -8038,21 +8322,6 @@ msgstr ""
 msgid "Warning: endpoint {0}/{1} does not have a docstring."
 msgstr ""
 
-#: src/metabase/api/common.clj
-msgid "starting streaming request"
-msgstr ""
-
-#: src/metabase/api/common.clj
-msgid "connection closed, canceling request"
-msgstr ""
-
-#. a newline padding character as it's harmless and will allow us to check if the client is connected. If
-#. sending this character fails because the connection is closed, the chan will then close.  Newlines are
-#. no-ops when reading JSON which this depends upon.
-#: src/metabase/api/common.clj
-msgid "Response not ready, writing one byte & sleeping..."
-msgstr ""
-
 #: src/metabase/api/common.clj
 msgid "Public sharing is not enabled."
 msgstr ""
@@ -8073,6 +8342,10 @@ msgstr ""
 msgid "Attempted to return a boolean as an API response. This is not allowed!"
 msgstr ""
 
+#: src/metabase/api/database.clj
+msgid "value must be a valid database engine."
+msgstr ""
+
 #: src/metabase/api/dataset.clj
 msgid "Source query for this query is Card {0}"
 msgstr ""
@@ -8081,6 +8354,10 @@ msgstr ""
 msgid "Invalid export format: {0}"
 msgstr ""
 
+#: src/metabase/api/email.clj
+msgid "{0} was autocorrected to {1}"
+msgstr ""
+
 #: src/metabase/api/embed.clj
 msgid "Embedding is not enabled for this object."
 msgstr ""
@@ -8106,7 +8383,7 @@ msgid "Unable to connect to host at URL `{0}`"
 msgstr ""
 
 #: src/metabase/api/geojson.clj
-msgid "Connection refused by host at for URL `{0}`"
+msgid "Connection refused by host for URL `{0}`"
 msgstr ""
 
 #: src/metabase/api/geojson.clj
@@ -8131,6 +8408,12 @@ msgstr ""
 msgid "Invalid custom GeoJSON key: {0}"
 msgstr ""
 
+#: src/metabase/api/metric.clj
+msgid ""
+"DELETE /api/metric/:id is deprecated. Instead, change its `archived` value "
+"via PUT /api/metric/:id."
+msgstr ""
+
 #. ...but if we *still* couldn't find a match, throw an Exception, because we don't want people
 #. trying to inject new params
 #: src/metabase/api/public.clj
@@ -8147,6 +8430,12 @@ msgstr ""
 msgid "API endpoint does not exist."
 msgstr ""
 
+#: src/metabase/api/segment.clj
+msgid ""
+"DELETE /api/segment/:id is deprecated. Instead, change its `archived` value "
+"via PUT /api/segment/:id."
+msgstr ""
+
 #: src/metabase/api/session.clj
 msgid "Password did not match stored password."
 msgstr ""
@@ -8293,23 +8582,6 @@ msgstr ""
 msgid "Don''t bin"
 msgstr ""
 
-#: src/metabase/api/table.clj
-msgid "Day"
-msgstr ""
-
-#. note the order of these options corresponds to the order they will be shown to the user in the UI
-#: src/metabase/api/table.clj
-msgid "Minute"
-msgstr ""
-
-#: src/metabase/api/table.clj
-msgid "Hour"
-msgstr ""
-
-#: src/metabase/api/table.clj
-msgid "Quarter"
-msgstr ""
-
 #: src/metabase/api/table.clj
 msgid "Minute of Hour"
 msgstr ""
@@ -8383,6 +8655,12 @@ msgstr ""
 msgid "No appropriate image writer found!"
 msgstr ""
 
+#: src/metabase/api/user.clj
+msgid ""
+"Value of is_superuser must correspond to presence of Admin group ID in "
+"group_ids."
+msgstr ""
+
 #: src/metabase/api/user.clj
 msgid "Email address already in use."
 msgstr ""
@@ -8399,6 +8677,79 @@ msgstr ""
 msgid "Invalid password"
 msgstr ""
 
+#: src/metabase/async/api_response.clj
+msgid "connection closed, canceling request"
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "Unexpected error writing keepalive characters"
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "Unexpected output in async API response"
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "starting streaming response"
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "Response not ready, writing one byte & sleeping..."
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "Output chan closed, canceling keepalive request."
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "Async response finished, closing channels."
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "No response after waiting {0}. Canceling request."
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "Input channel unexpectedly closed."
+msgstr ""
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "f finished, permit will be returned"
+msgstr ""
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "request canceled, permit will be returned"
+msgstr ""
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Unexpected error attempting to run function after obtaining permit"
+msgstr ""
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Not running pending function call: output channel already closed."
+msgstr ""
+
+#: src/metabase/async/semaphore_channel.clj
+msgid ""
+"Current thread already has a permit for {0}, will not wait to acquire another"
+msgstr ""
+
+#: src/metabase/async/util.clj
+msgid "Output channel closed, will skip running {0}."
+msgstr ""
+
+#: src/metabase/async/util.clj
+msgid "Running {0} on separate thread..."
+msgstr ""
+
+#: src/metabase/async/util.clj
+msgid "Caught error running {0}"
+msgstr ""
+
+#: src/metabase/async/util.clj
+msgid "Request canceled, canceling future"
+msgstr ""
+
 #: src/metabase/automagic_dashboards/comparison.clj
 #: src/metabase/automagic_dashboards/core.clj
 msgid "Compare with {0}"
@@ -8700,14 +9051,6 @@ msgstr ""
 msgid "Metabase Initialization COMPLETE"
 msgstr ""
 
-#: src/metabase/core.clj
-msgid "Launching Embedded Jetty Webserver with config:"
-msgstr ""
-
-#: src/metabase/core.clj
-msgid "Shutting Down Embedded Jetty Webserver"
-msgstr ""
-
 #: src/metabase/core.clj
 msgid "Starting Metabase in STANDALONE mode"
 msgstr ""
@@ -8717,331 +9060,275 @@ msgid "Metabase Initialization FAILED"
 msgstr ""
 
 #: src/metabase/db.clj
-msgid "Database has migration lock; cannot run migrations."
+msgid "Warning: Postgres connection string with `ssl=true` detected."
 msgstr ""
 
 #: src/metabase/db.clj
 msgid ""
-"You can force-release these locks by running `java -jar metabase.jar migrate "
-"release-locks`."
+"You may need to add `?sslmode=require` to your application DB connection "
+"string."
 msgstr ""
 
 #: src/metabase/db.clj
-msgid "Checking if Database has unrun migrations..."
+msgid "If Metabase fails to launch, please add it and try again."
 msgstr ""
 
 #: src/metabase/db.clj
-msgid ""
-"Database has unrun migrations. Waiting for migration lock to be cleared..."
+msgid "See https://github.com/metabase/metabase/issues/8908 for more details."
 msgstr ""
 
 #: src/metabase/db.clj
-msgid "Migration lock is cleared. Running migrations..."
+msgid ""
+"WARNING: Using Metabase with an H2 application database is not recomended "
+"for production deployments."
 msgstr ""
 
 #: src/metabase/db.clj
 msgid ""
-"Migration lock cleared, but nothing to do here! Migrations were finished by "
-"another instance."
+"For production deployments, we highly recommend using Postgres, MySQL, or "
+"MariaDB instead."
 msgstr ""
 
 #: src/metabase/db.clj
-msgid "Unable to release the Liquibase lock after a migration failure"
+msgid ""
+"If you decide to continue to use H2, please be sure to back up the database "
+"file regularly."
 msgstr ""
 
-#. Set up liquibase and let it do its thing
 #: src/metabase/db.clj
-msgid "Setting up Liquibase..."
+msgid ""
+"See https://metabase.com/docs/latest/operations-guide/start.html#migrating-"
+"from-using-the-h2-database-to-mysql-or-postgres for more information."
 msgstr ""
 
 #: src/metabase/db.clj
-msgid "Liquibase is ready."
+msgid "Database has migration lock; cannot run migrations."
 msgstr ""
 
 #: src/metabase/db.clj
-msgid "Verifying {0} Database Connection ..."
+msgid ""
+"You can force-release these locks by running `java -jar metabase.jar migrate "
+"release-locks`."
 msgstr ""
 
 #: src/metabase/db.clj
-msgid "Verify Database Connection ... "
+msgid "Checking if Database has unrun migrations..."
 msgstr ""
 
 #: src/metabase/db.clj
-msgid "Running Database Migrations..."
+msgid ""
+"Database has unrun migrations. Waiting for migration lock to be cleared..."
 msgstr ""
 
 #: src/metabase/db.clj
-msgid "Database Migrations Current ... "
-msgstr ""
-
-#. 2. Create the new collections.
-#: src/metabase/db/migrations.clj
-msgid "Migrated Dashboards"
-msgstr ""
-
-#: src/metabase/db/migrations.clj
-msgid "Migrated Pulses"
-msgstr ""
-
-#: src/metabase/db/migrations.clj
-msgid "Migrated Questions"
+msgid "Migration lock is cleared. Running migrations..."
 msgstr ""
 
-#. 4. move everything not in this Collection to a new Collection
-#: src/metabase/db/migrations.clj
+#: src/metabase/db.clj
 msgid ""
-"Moving instances of {0} that aren't in a Collection to {1} Collection {2}"
+"Migration lock cleared, but nothing to do here! Migrations were finished by "
+"another instance."
 msgstr ""
 
-#: src/metabase/driver.clj
-msgid "Hmm, we couldn''t connect to the database."
+#: src/metabase/db.clj
+msgid "Unable to release the Liquibase lock after a migration failure"
 msgstr ""
 
-#: src/metabase/driver.clj
-msgid "Make sure your host and port settings are correct"
+#. Set up liquibase and let it do its thing
+#: src/metabase/db.clj
+msgid "Setting up Liquibase..."
 msgstr ""
 
-#: src/metabase/driver.clj
-msgid "We couldn''t connect to the ssh tunnel host."
+#: src/metabase/db.clj
+msgid "Liquibase is ready."
 msgstr ""
 
-#: src/metabase/driver.clj
-msgid "Check the username, password."
+#: src/metabase/db.clj
+msgid "Verifying {0} Database Connection ..."
 msgstr ""
 
-#: src/metabase/driver.clj
-msgid "Check the hostname and port."
+#: src/metabase/db.clj
+msgid "Unable to connect to Metabase {0} DB."
 msgstr ""
 
-#: src/metabase/driver.clj
-msgid "Looks like the database name is incorrect."
+#: src/metabase/db.clj
+msgid "Verify Database Connection ... "
 msgstr ""
 
-#: src/metabase/driver.clj
-msgid "It looks like your host is invalid."
+#: src/metabase/db.clj
+msgid "Running Database Migrations..."
 msgstr ""
 
-#: src/metabase/driver.clj
-msgid "Please double-check it and try again."
+#: src/metabase/db.clj
+msgid "Database Migrations Current ... "
 msgstr ""
 
-#: src/metabase/driver.clj
-msgid "Looks like your password is incorrect."
+#: src/metabase/db/migrations.clj
+msgid "Error adding legacy SQL directive to BigQuery saved Question"
 msgstr ""
 
-#: src/metabase/driver.clj
-msgid "Looks like you forgot to enter your password."
+#. 2. Create the new collections.
+#: src/metabase/db/migrations.clj
+msgid "Migrated Dashboards"
 msgstr ""
 
-#: src/metabase/driver.clj
-msgid "Looks like your username is incorrect."
+#: src/metabase/db/migrations.clj
+msgid "Migrated Pulses"
 msgstr ""
 
-#: src/metabase/driver.clj
-msgid "Looks like the username or password is incorrect."
+#: src/metabase/db/migrations.clj
+msgid "Migrated Questions"
 msgstr ""
 
-#: src/metabase/driver.clj
-msgid "Host"
+#. 4. move everything not in this Collection to a new Collection
+#: src/metabase/db/migrations.clj
+msgid ""
+"Moving instances of {0} that aren't in a Collection to {1} Collection {2}"
 msgstr ""
 
 #: src/metabase/driver.clj
-msgid "Port"
+msgid "Failed to notify {0} Database {1} updated"
 msgstr ""
 
 #: src/metabase/driver.clj
-msgid "Database username"
+msgid ""
+"Connection timezone to use when executing queries. Defaults to system "
+"timezone."
 msgstr ""
 
 #: src/metabase/driver.clj
-msgid "What username do you use to login to the database?"
+msgid "Loading driver {0} {1}"
 msgstr ""
 
 #: src/metabase/driver.clj
-msgid "Database password"
+msgid "Load driver {0}"
 msgstr ""
 
 #: src/metabase/driver.clj
-msgid "Database name"
+msgid "Driver not registered after loading: {0}"
 msgstr ""
 
 #: src/metabase/driver.clj
-msgid "birds_of_the_world"
+msgid "Error: attempting to change {0} property `:abstract?` from {1} to {2}."
 msgstr ""
 
 #: src/metabase/driver.clj
-msgid "Use a secure connection (SSL)?"
+msgid "Registered abstract driver {0}"
 msgstr ""
 
 #: src/metabase/driver.clj
-msgid "Additional JDBC connection string options"
+msgid "Registered driver {0}"
 msgstr ""
 
-#. ## CONFIG
 #: src/metabase/driver.clj
-msgid ""
-"Connection timezone to use when executing queries. Defaults to system "
-"timezone."
+msgid "(parents: {0})"
 msgstr ""
 
 #: src/metabase/driver.clj
-msgid "Registered driver {0} {1}"
+msgid "Initializing driver {0}..."
 msgstr ""
 
 #: src/metabase/driver.clj
-msgid "No -init-driver function found for ''{0}''"
+msgid "Reason:"
 msgstr ""
 
 #: src/metabase/driver.clj
-msgid "Unable to parse date string ''{0}'' for database engine ''{1}''"
-msgstr ""
-
-#. all-NULL columns in DBs like Mongo w/o explicit types
-#: src/metabase/driver.clj
-msgid ""
-"Don''t know how to map class ''{0}'' to a Field base_type, falling back to :"
-"type/*."
-msgstr ""
-
-#: src/metabase/driver.clj
-msgid "Failed to connect to database: {0}"
-msgstr ""
-
-#: src/metabase/driver/bigquery.clj
-msgid "Invalid BigQuery identifier: ''{0}''"
-msgstr ""
-
-#: src/metabase/driver/bigquery.clj
-msgid "BigQuery statements can''t be parameterized!"
-msgstr ""
-
-#: src/metabase/driver/bigquery.clj
-msgid "Project ID"
-msgstr ""
-
-#: src/metabase/driver/bigquery.clj
-msgid "praxis-beacon-120871"
-msgstr ""
-
-#: src/metabase/driver/bigquery.clj
-msgid "Dataset ID"
-msgstr ""
-
-#: src/metabase/driver/bigquery.clj
-msgid "toucanSightings"
-msgstr ""
-
-#: src/metabase/driver/bigquery.clj src/metabase/driver/googleanalytics.clj
-msgid "Client ID"
+msgid "Invalid driver feature: {0}"
 msgstr ""
 
-#: src/metabase/driver/bigquery.clj src/metabase/driver/googleanalytics.clj
-msgid "Client Secret"
+#: src/metabase/driver/common.clj
+msgid "Hmm, we couldn''t connect to the database."
 msgstr ""
 
-#: src/metabase/driver/bigquery.clj src/metabase/driver/googleanalytics.clj
-msgid "Auth Code"
+#: src/metabase/driver/common.clj
+msgid "Make sure your host and port settings are correct"
 msgstr ""
 
-#: src/metabase/driver/bigquery.clj
-msgid "Use JVM Time Zone"
+#: src/metabase/driver/common.clj
+msgid "We couldn''t connect to the ssh tunnel host."
 msgstr ""
 
-#: src/metabase/driver/crate.clj
-msgid "Hosts"
+#: src/metabase/driver/common.clj
+msgid "Check the username, password."
 msgstr ""
 
-#: src/metabase/driver/druid.clj
-msgid "Broker node port"
+#: src/metabase/driver/common.clj
+msgid "Check the hostname and port."
 msgstr ""
 
-#: src/metabase/driver/druid/query_processor.clj
-msgid ""
-"WARNING: Filtering only works on dimensions! ''{0}'' is a metric. Ignoring "
-"filter."
+#: src/metabase/driver/common.clj
+msgid "Looks like the database name is incorrect."
 msgstr ""
 
-#: src/metabase/driver/druid/query_processor.clj
-msgid ""
-"WARNING: A date can't belong to multiple discrete intervals, so ANDing them "
-"together doesn't make sense."
+#: src/metabase/driver/common.clj
+msgid "It looks like your host is invalid."
 msgstr ""
 
-#: src/metabase/driver/druid/query_processor.clj
-msgid "Ignoring these intervals: {0}"
+#: src/metabase/driver/common.clj
+msgid "Please double-check it and try again."
 msgstr ""
 
-#. We should never get to this point since the all non-string negations should get automatically rewritten
-#. by the query expander.
-#: src/metabase/driver/druid/query_processor.clj
-msgid "WARNING: Don't know how to negate: {0}"
+#: src/metabase/driver/common.clj
+msgid "Looks like your password is incorrect."
 msgstr ""
 
-#: src/metabase/driver/druid/query_processor.clj
-msgid ""
-"Sorting with Druid is only allowed in queries that have one or more breakout "
-"columns. Ignoring :order-by clause."
+#: src/metabase/driver/common.clj
+msgid "Looks like you forgot to enter your password."
 msgstr ""
 
-#. TODO - this is not really true, is it
-#: src/metabase/driver/druid/query_processor.clj
-msgid ""
-"WARNING: It only makes sense to specify :fields for a query with no "
-"aggregation. Ignoring the clause."
+#: src/metabase/driver/common.clj
+msgid "Looks like your username is incorrect."
 msgstr ""
 
-#: src/metabase/driver/druid/query_processor.clj
-msgid ""
-"WARNING: Druid does not allow limitSpec in time series queries. Ignoring the "
-"LIMIT clause."
+#: src/metabase/driver/common.clj
+msgid "Looks like the username or password is incorrect."
 msgstr ""
 
-#: src/metabase/driver/generic_sql/query_processor.clj
-msgid "HoneySQL Form:"
+#: src/metabase/driver/common.clj
+msgid "Host"
 msgstr ""
 
-#: src/metabase/driver/generic_sql/query_processor.clj
-msgid "Unable to parse date ''{0}''"
+#: src/metabase/driver/common.clj
+msgid "Port"
 msgstr ""
 
-#: src/metabase/driver/generic_sql/query_processor.clj
-msgid "Client closed connection, cancelling query"
+#: src/metabase/driver/common.clj
+msgid "Database username"
 msgstr ""
 
-#: src/metabase/driver/generic_sql/query_processor.clj
-msgid "Setting timezone with statement: {0}"
+#: src/metabase/driver/common.clj
+msgid "What username do you use to login to the database?"
 msgstr ""
 
-#: src/metabase/driver/generic_sql/query_processor.clj
-msgid "Failed to set timezone:"
+#: src/metabase/driver/common.clj
+msgid "Database password"
 msgstr ""
 
-#: src/metabase/driver/googleanalytics.clj
-msgid ""
-"You must enable the Google Analytics API. Use this link to go to the Google "
-"Developers Console: {0}"
+#: src/metabase/driver/common.clj
+msgid "Database name"
 msgstr ""
 
-#: src/metabase/driver/googleanalytics.clj
-msgid "Google Analytics Account ID"
+#: src/metabase/driver/common.clj
+msgid "birds_of_the_world"
 msgstr ""
 
-#: src/metabase/driver/googleanalytics/query_processor.clj
-msgid "Multiple date filters are not supported"
+#: src/metabase/driver/common.clj
+msgid "Use a secure connection (SSL)?"
 msgstr ""
 
-#: src/metabase/driver/googleanalytics/query_processor.clj
-msgid ":not is not yet implemented"
+#: src/metabase/driver/common.clj
+msgid "Additional JDBC connection string options"
 msgstr ""
 
-#: src/metabase/driver/googleanalytics/query_processor.clj
-msgid "Only one Google Analytics segment allowed at a time."
+#: src/metabase/driver/common.clj
+msgid "Unable to parse date string ''{0}'' for database engine ''{1}''"
 msgstr ""
 
-#: src/metabase/driver/h2.clj
+#. all-NULL columns in DBs like Mongo w/o explicit types
+#: src/metabase/driver/common.clj
 msgid ""
-"Running SQL queries against H2 databases using the default (admin) database "
-"user is forbidden."
+"Don''t know how to map class ''{0}'' to a Field base_type, falling back to :"
+"type/*."
 msgstr ""
 
 #: src/metabase/driver/h2.clj
@@ -9052,110 +9339,48 @@ msgstr ""
 msgid "Users/camsaul/bird_sightings/toucans"
 msgstr ""
 
-#: src/metabase/driver/mongo.clj
-msgid "carrierPigeonDeliveries"
-msgstr ""
-
-#: src/metabase/driver/mongo.clj
-msgid "Authentication Database"
-msgstr ""
-
-#: src/metabase/driver/mongo.clj
-msgid "Optional database to use when authenticating"
-msgstr ""
-
-#: src/metabase/driver/mongo.clj
-msgid "Additional Mongo connection string options"
-msgstr ""
-
-#: src/metabase/driver/mongo/query_processor.clj
-msgid "MONGO AGGREGATION PIPELINE:"
-msgstr ""
-
-#: src/metabase/driver/mongo/query_processor.clj
-msgid "Error: mismatched columns in results! Expected: {0} Got: {1}"
-msgstr ""
-
-#: src/metabase/driver/oracle.clj
-msgid "Oracle system ID (SID)"
-msgstr ""
-
-#: src/metabase/driver/oracle.clj
-msgid "Usually something like ORCL or XE."
-msgstr ""
-
-#: src/metabase/driver/oracle.clj
-msgid "Optional if using service name"
-msgstr ""
-
-#: src/metabase/driver/oracle.clj
-msgid "Oracle service name"
-msgstr ""
-
-#: src/metabase/driver/oracle.clj
-msgid "Optional TNS alias"
-msgstr ""
-
-#: src/metabase/driver/presto.clj
-msgid "hive"
-msgstr ""
-
-#: src/metabase/driver/redshift.clj
-msgid "my-cluster-name.abcd1234.us-east-1.redshift.amazonaws.com"
-msgstr ""
-
-#: src/metabase/driver/redshift.clj
-msgid "toucan_sightings"
-msgstr ""
-
-#: src/metabase/driver/snowflake.clj
-msgid "Invalid Snowflake connection details: missing DB name."
-msgstr ""
-
-#: src/metabase/driver/sparksql.clj
-msgid "default"
+#: src/metabase/driver/h2.clj
+msgid ""
+"Running SQL queries against H2 databases using the default (admin) database "
+"user is forbidden."
 msgstr ""
 
-#: src/metabase/driver/sparksql.clj
-msgid ""
-"Error: metabase.driver.FixedHiveDriver is registered, but JDBC does not seem "
-"to be using it."
+#: src/metabase/driver/sql/query_processor.clj
+msgid "HoneySQL Form:"
 msgstr ""
 
-#: src/metabase/driver/sparksql.clj
-msgid "Found metabase.driver.FixedHiveDriver."
+#: src/metabase/driver/sql/query_processor.clj
+msgid "Invalid HoneySQL form:"
 msgstr ""
 
-#: src/metabase/driver/sparksql.clj
-msgid "Successfully registered metabase.driver.FixedHiveDriver with JDBC."
+#: src/metabase/driver/sql_jdbc/connection.clj
+msgid "Closing old connection pool for database {0} ..."
 msgstr ""
 
-#: src/metabase/driver/sqlite.clj
-msgid "Filename"
+#: src/metabase/driver/sql_jdbc/execute.clj
+msgid "Unable to parse date ''{0}''"
 msgstr ""
 
-#: src/metabase/driver/sqlite.clj
-msgid "/home/camsaul/toucan_sightings.sqlite 😋"
+#: src/metabase/driver/sql_jdbc/execute.clj
+msgid "Client closed connection, cancelling query"
 msgstr ""
 
-#: src/metabase/driver/sqlserver.clj
-msgid "BirdsOfTheWorld"
+#: src/metabase/driver/sql_jdbc/execute.clj
+msgid "Setting timezone with statement: {0}"
 msgstr ""
 
-#: src/metabase/driver/sqlserver.clj
-msgid "Database instance name"
+#: src/metabase/driver/sql_jdbc/execute.clj
+msgid "Failed to set timezone:"
 msgstr ""
 
-#: src/metabase/driver/sqlserver.clj
-msgid "N/A"
+#: src/metabase/driver/util.clj
+msgid "Failed to connect to database: {0}"
 msgstr ""
 
-#: src/metabase/driver/sqlserver.clj
-msgid "Windows domain"
+#: src/metabase/driver/util.clj
+msgid "Error loading namespace"
 msgstr ""
 
-#. CONFIG
-#. TODO - smtp-port should be switched to type :integer
 #: src/metabase/email.clj
 msgid "Email address you want to use as the sender of Metabase."
 msgstr ""
@@ -9247,10 +9472,26 @@ msgstr ""
 msgid "Unable to create temp file in `{0}` for email attachments "
 msgstr ""
 
+#: src/metabase/events.clj
+msgid "Starting events listener:"
+msgstr ""
+
+#: src/metabase/events.clj
+msgid "Unexpected error listening on events"
+msgstr ""
+
 #: src/metabase/events/activity_feed.clj
 msgid "Error preprocessing query:"
 msgstr ""
 
+#: src/metabase/events/sync_database.clj
+msgid "Error syncing Database {0}"
+msgstr ""
+
+#: src/metabase/events/sync_database.clj
+msgid "Failed to process sync-database event."
+msgstr ""
+
 #: src/metabase/integrations/ldap.clj
 msgid "Enable LDAP authentication."
 msgstr ""
@@ -9336,6 +9577,10 @@ msgid ""
 "`preprocess` the query first."
 msgstr ""
 
+#: src/metabase/mbql/util.clj
+msgid "Bad nested-query-level: query does not have a source query"
+msgstr ""
+
 #: src/metabase/mbql/util.clj
 msgid "No expression named ''{0}''"
 msgstr ""
@@ -9351,106 +9596,132 @@ msgid ""
 msgstr ""
 
 #: src/metabase/metabot.clj
-msgid "Last MetaBot checkin was {0} ago."
-msgstr ""
-
-#: src/metabase/metabot.clj
-msgid "This instance will now handle MetaBot duties."
+msgid "Starting MetaBot threads..."
 msgstr ""
 
 #: src/metabase/metabot.clj
-msgid "Here''s what I can {0}:"
+msgid "Stopping MetaBot...  🤖"
 msgstr ""
 
 #: src/metabase/metabot.clj
-msgid "I don''t know how to {0} `{1}`.n{2}"
+msgid "MetaBot already running. Killing the previous WebSocket listener first."
 msgstr ""
 
-#: src/metabase/metabot.clj
-msgid "Uh oh! :cry:n> {0}"
+#: src/metabase/metabot/command.clj
+msgid "I don''t know how to `{0}`."
 msgstr ""
 
-#: src/metabase/metabot.clj
-msgid "Here''s your {0} most recent cards:n{1}"
+#: src/metabase/metabot/command.clj
+msgid "Here''s your {0} most recent cards:"
 msgstr ""
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid ""
-"Could you be a little more specific? I found these cards with names that "
-"matched:n{0}"
+"Could you be a little more specific, or use the ID? I found these cards with "
+"names that matched:"
 msgstr ""
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "I don''t know what Card `{0}` is. Give me a Card ID or name."
 msgstr ""
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid ""
 "Show which card? Give me a part of a card name or its ID and I can show it "
 "to you. If you don''t know which card you want, try `metabot list`."
 msgstr ""
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
+msgid "Card {0} not found."
+msgstr ""
+
+#: src/metabase/metabot/command.clj
 msgid "Ok, just a second..."
 msgstr ""
 
-#: src/metabase/metabot.clj
-msgid "Not Found"
+#: src/metabase/metabot/command.clj
+msgid "Here''s what I can do: "
 msgstr ""
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Loading Kanye quotes..."
 msgstr ""
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/events.clj
 msgid "Evaluating Metabot command:"
 msgstr ""
 
-#: src/metabase/metabot.clj
-msgid "Go home websocket, you're drunk."
+#: src/metabase/metabot/instance.clj
+msgid "Last MetaBot checkin was {0} ago."
 msgstr ""
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
+msgid "This instance will now handle MetaBot duties."
+msgstr ""
+
+#: src/metabase/metabot/instance.clj
+msgid "This instance is performing MetaBot duties."
+msgstr ""
+
+#: src/metabase/metabot/instance.clj
+msgid "Another instance is already handling MetaBot duties."
+msgstr ""
+
+#: src/metabase/metabot/slack.clj
+msgid "Uh oh! :cry:n> {0}"
+msgstr ""
+
+#: src/metabase/metabot/slack.clj
+msgid "Error in Metabot command"
+msgstr ""
+
+#: src/metabase/metabot/websocket.clj
+msgid ""
+"Websocket associated with this Slack event is different from the websocket "
+"we're currently using."
+msgstr ""
+
+#: src/metabase/metabot/websocket.clj
 msgid "Error launching metabot:"
 msgstr ""
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/websocket.clj
 msgid "MetaBot WebSocket is closed. Reconnecting now."
 msgstr ""
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/websocket.clj
 msgid "Error connecting websocket:"
 msgstr ""
 
-#: src/metabase/metabot.clj
-msgid "This instance is performing MetaBot duties."
+#: src/metabase/middleware/exceptions.clj
+msgid "Exception in API call"
 msgstr ""
 
-#: src/metabase/metabot.clj
-msgid "Another instance is already handling MetaBot duties."
+#: src/metabase/middleware/exceptions.clj
+msgid "Request canceled before finishing."
 msgstr ""
 
-#: src/metabase/metabot.clj
-msgid "Starting MetaBot threads..."
+#: src/metabase/middleware/json.clj
+msgid "Metabase only supports JSON requests."
 msgstr ""
 
-#: src/metabase/metabot.clj
-msgid "Stopping MetaBot...  🤖"
+#: src/metabase/middleware/json.clj
+msgid "Make sure you set a 'Content-Type: application/json' header."
 msgstr ""
 
-#: src/metabase/metabot.clj
-msgid "MetaBot already running. Killing the previous WebSocket listener first."
+#: src/metabase/middleware/misc.clj
+msgid "Setting Metabase site URL to {0}"
 msgstr ""
 
-#: src/metabase/middleware.clj
+#: src/metabase/middleware/security.clj
 msgid "Base-64 encoded public key for this site's SSL certificate."
 msgstr ""
 
-#: src/metabase/middleware.clj
+#: src/metabase/middleware/security.clj
 msgid "Specify this to enable HTTP Public Key Pinning."
 msgstr ""
 
-#: src/metabase/middleware.clj
+#: src/metabase/middleware/security.clj
 msgid "See {0} for more information."
 msgstr ""
 
@@ -9543,6 +9814,26 @@ msgstr ""
 msgid "You cannot update a CollectionRevision!"
 msgstr ""
 
+#: src/metabase/models/database.clj
+msgid "Error scheduling tasks for DB"
+msgstr ""
+
+#: src/metabase/models/database.clj
+msgid "Error unscheduling tasks for DB."
+msgstr ""
+
+#: src/metabase/models/database.clj
+msgid "{0} Database ''{1}'' sync/analyze schedules have changed!"
+msgstr ""
+
+#: src/metabase/models/database.clj
+msgid "Sync metadata was: ''{0}'' is now: ''{1}''"
+msgstr ""
+
+#: src/metabase/models/database.clj
+msgid "Cache FieldValues was: ''{0}'', is now: ''{1}''"
+msgstr ""
+
 #: src/metabase/models/field_values.clj
 msgid "Field values total length is {0} (max {1})."
 msgstr ""
@@ -9565,6 +9856,10 @@ msgstr ""
 msgid "Switching Field to use a search widget instead."
 msgstr ""
 
+#: src/metabase/models/field_values.clj
+msgid "FieldValues for Field {0} remain unchanged. Skipping..."
+msgstr ""
+
 #: src/metabase/models/field_values.clj
 msgid "Storing updated FieldValues for Field {0}..."
 msgstr ""
@@ -9596,14 +9891,22 @@ msgstr ""
 msgid "Do you want us to take a guess?"
 msgstr ""
 
-#: src/metabase/models/params.clj
-msgid "Don't know what to do with:"
+#: src/metabase/models/interface.clj
+msgid "Unable to normalize:"
+msgstr ""
+
+#: src/metabase/models/metric.clj
+msgid "You cannot update the creator_id of a Metric."
 msgstr ""
 
 #: src/metabase/models/params.clj
 msgid "Don't know how to wrap:"
 msgstr ""
 
+#: src/metabase/models/params.clj
+msgid "Could not find matching Field ID for target:"
+msgstr ""
+
 #: src/metabase/models/permissions.clj
 msgid "You cannot create or revoke permissions for the ''Admin'' group."
 msgstr ""
@@ -9612,6 +9915,10 @@ msgstr ""
 msgid "Invalid permissions object path: ''{0}''."
 msgstr ""
 
+#: src/metabase/models/permissions.clj
+msgid "MetaBot can only have Collection permissions."
+msgstr ""
+
 #: src/metabase/models/permissions.clj
 msgid "You cannot update a permissions entry!"
 msgstr ""
@@ -9621,7 +9928,7 @@ msgid "Delete it and create a new one."
 msgstr ""
 
 #: src/metabase/models/permissions.clj
-msgid "Failed to grant permissions: {0}"
+msgid "Failed to grant permissions"
 msgstr ""
 
 #: src/metabase/models/permissions.clj
@@ -9638,6 +9945,18 @@ msgstr ""
 msgid "Please fetch new data and try again."
 msgstr ""
 
+#: src/metabase/models/permissions.clj
+msgid "Changing permissions"
+msgstr ""
+
+#: src/metabase/models/permissions.clj
+msgid "FROM:"
+msgstr ""
+
+#: src/metabase/models/permissions.clj
+msgid "TO:"
+msgstr ""
+
 #: src/metabase/models/permissions_group.clj
 msgid "Created magic permissions group ''{0}'' (ID = {1})"
 msgstr ""
@@ -9695,96 +10014,226 @@ msgstr ""
 msgid "You cannot update a Revision!"
 msgstr ""
 
+#: src/metabase/models/segment.clj
+msgid "You cannot update the creator_id of a Segment."
+msgstr ""
+
 #: src/metabase/models/setting.clj
 msgid "Setting {0} does not exist.nFound: {1}"
 msgstr ""
 
 #: src/metabase/models/setting.clj
+msgid ""
+"Invalid value for string: must be either \"true\" or \"false\" (case-"
+"insensitive)."
+msgstr ""
+
+#: src/metabase/models/setting.clj
+msgid ""
+"You cannot update `settings-last-updated` yourself! This is done "
+"automatically."
+msgstr ""
+
+#: src/metabase/models/setting.clj
+msgid "Error inserting a new Setting:"
+msgstr ""
+
+#: src/metabase/models/setting.clj
+msgid "Assuming Setting already exists in DB and updating existing value."
+msgstr ""
+
+#: src/metabase/models/setting.clj
+msgid "Attempted to set Setting {0} to obfuscated value. Ignoring change."
+msgstr ""
+
+#: src/metabase/models/setting.clj
+msgid ""
+"defsetting descriptions strings must be `:internal?` or internationalized, "
+"found: `{0}`"
+msgstr ""
+
+#: src/metabase/models/setting.clj
+msgid "Using value of env var {0}"
+msgstr ""
+
+#: src/metabase/models/setting/cache.clj
 msgid "Updating value of settings-last-updated in DB..."
 msgstr ""
 
 #. go ahead and log the Exception anyway on the off chance that it *wasn't* just a race condition issue
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Error inserting a new Setting: {0}"
 msgstr ""
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Checking whether settings cache is out of date (requires DB call)..."
 msgstr ""
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid ""
 "Settings have been changed on another instance, and will be reloaded here."
 msgstr ""
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Refreshing Settings cache..."
 msgstr ""
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/user.clj
+msgid "Adding User {0} to All Users permissions group..."
+msgstr ""
+
+#: src/metabase/models/user.clj
+msgid "Adding User {0} to Admin permissions group..."
+msgstr ""
+
+#: src/metabase/models/user.clj
+msgid "value must be a map with each value either a string or number."
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid "Metabase does not have permissions to write to plugins directory {0}"
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid "Metabase cannot use the plugins directory {0}"
+msgstr ""
+
+#: src/metabase/plugins.clj
 msgid ""
-"Invalid value for string: must be either \"true\" or \"false\" (case-"
-"insensitive)."
+"Please make sure the directory exists and that Metabase has permission to "
+"write to it."
 msgstr ""
 
-#: src/metabase/models/setting.clj
+#: src/metabase/plugins.clj
 msgid ""
-"You cannot update `settings-last-updated` yourself! This is done "
-"automatically."
+"You can change the directory Metabase uses for modules by setting the "
+"environment variable MB_PLUGINS_DIR."
 msgstr ""
 
-#: src/metabase/models/setting.clj
-msgid "Error inserting a new Setting:"
+#: src/metabase/plugins.clj
+msgid "Falling back to a temporary directory for now."
 msgstr ""
 
-#: src/metabase/models/setting.clj
-msgid "Assuming Setting already exists in DB and updating existing value."
+#: src/metabase/plugins.clj
+msgid ""
+"Metabase cannot write to temporary directory. Please set MB_PLUGINS_DIR to a "
+"writable directory and restart Metabase."
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid ""
+"spark-deps.jar is no longer needed by Metabase 1.0+. You can delete it from "
+"the plugins directory."
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid "Failied to initialize plugin {0}"
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid "Loading plugins in {0}..."
+msgstr ""
+
+#: src/metabase/plugins/classloader.clj
+msgid "Using Clojure base loader as shared context classloader: {0}"
+msgstr ""
+
+#: src/metabase/plugins/classloader.clj
+msgid "Setting current thread context classloader to shared classloader {0}..."
+msgstr ""
+
+#. it's important that we deref the promise again here instead of using the one we just created because it is
+#. possible thru a race condition that somebody else delivered the promise before we did; in that case,
+#. Clojure ignores subsequent calls to `deliver`. Dereffing the promise guarantees that we'll get the actual
+#. value of it rather than one that ends up getting discarded
+#: src/metabase/plugins/classloader.clj
+msgid ""
+"Setting current thread context classloader to NEWLY CREATED classloader "
+"{0}..."
+msgstr ""
+
+#: src/metabase/plugins/classloader.clj
+msgid "Added URL {0} to classpath"
+msgstr ""
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugin {0} declares a dependency that Metabase does not understand: {1}"
+msgstr ""
+
+#: src/metabase/plugins/dependencies.clj
+msgid ""
+"Refer to the plugin manifest reference for a complete list of valid plugin "
+"dependencies:"
+msgstr ""
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Metabase cannot initialize plugin {0} due to required dependencies."
+msgstr ""
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Class not found: {0}"
+msgstr ""
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugin ''{0}'' depends on plugin ''{1}''"
+msgstr ""
+
+#: src/metabase/plugins/dependencies.clj
+msgid "{0} dependency {1} satisfied? {2}"
+msgstr ""
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugins with unsatisfied deps: {0}"
+msgstr ""
+
+#: src/metabase/plugins/files.clj
+msgid "Extract file {0} -> {1}"
+msgstr ""
+
+#: src/metabase/plugins/files.clj
+msgid "Resource does not exist."
+msgstr ""
+
+#: src/metabase/plugins/init_steps.clj
+msgid "Loading plugin namespace {0}..."
 msgstr ""
 
-#: src/metabase/models/setting.clj
-msgid ""
-"defsetting descriptions strings must be `:internal?` or internationalized, "
-"found: `{0}`"
+#: src/metabase/plugins/initialize.clj
+msgid "Dependencies satisfied; these plugins will now be loaded: {0}"
 msgstr ""
 
-#: src/metabase/models/user.clj
-msgid "value must be a map with each value either a string or number."
+#: src/metabase/plugins/jdbc_proxy.clj
+msgid "Registering JDBC proxy driver for {0}..."
 msgstr ""
 
-#: src/metabase/plugins.clj
-msgid "Loading plugins in directory {0}..."
+#: src/metabase/plugins/jdbc_proxy.clj
+msgid "Deregistering original JDBC driver {0}..."
 msgstr ""
 
-#: src/metabase/plugins.clj
-msgid "Loading plugin {0}... {1}"
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Default connection property {0} does not exist."
 msgstr ""
 
-#: src/metabase/plugins.clj
-msgid ""
-"It looks like you have some external dependencies in your Metabase plugins "
-"directory."
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Invalid connection property {0}: not a string or map."
 msgstr ""
 
-#: src/metabase/plugins.clj
-msgid ""
-"With Java 9 or higher, Metabase cannot automatically add them to your "
-"classpath."
+#. ok, do the init steps listed in the plugin mainfest
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Load lazy loading driver {0}"
 msgstr ""
 
-#: src/metabase/plugins.clj
-msgid ""
-"Instead, you should include them at launch with the -cp option. For example:"
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Cannot initialize plugin: missing required property `driver-name`"
 msgstr ""
 
-#: src/metabase/plugins.clj
-msgid ""
-"See https://metabase.com/docs/latest/operations-guide/start.html#java-"
-"versions for more details."
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Warning: plugin manifest for {0} does not include connection properties"
 msgstr ""
 
-#: src/metabase/plugins.clj
-msgid ""
-"(If you're already running Metabase this way, you can ignore this message.)"
+#. finally, register the Metabase driver
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Registering lazy loading driver {0}..."
 msgstr ""
 
 #: src/metabase/public_settings.clj
@@ -9960,6 +10409,10 @@ msgstr ""
 msgid "Error validating token:"
 msgstr ""
 
+#: src/metabase/pulse.clj
+msgid "Error running query for Card {0}"
+msgstr ""
+
 #: src/metabase/pulse.clj
 msgid "Unable to compare results to goal for alert."
 msgstr ""
@@ -9984,6 +10437,38 @@ msgstr ""
 msgid "Can't find JS color selector at ''{0}''"
 msgstr ""
 
+#: src/metabase/pulse/render.clj
+msgid "Last week"
+msgstr ""
+
+#: src/metabase/pulse/render.clj
+msgid "This week"
+msgstr ""
+
+#: src/metabase/pulse/render.clj
+msgid "Last month"
+msgstr ""
+
+#: src/metabase/pulse/render.clj
+msgid "This month"
+msgstr ""
+
+#: src/metabase/pulse/render.clj
+msgid "Last quarter"
+msgstr ""
+
+#: src/metabase/pulse/render.clj
+msgid "This quarter"
+msgstr ""
+
+#: src/metabase/pulse/render.clj
+msgid "Last year"
+msgstr ""
+
+#: src/metabase/pulse/render.clj
+msgid "This year"
+msgstr ""
+
 #: src/metabase/pulse/render.clj
 msgid "Card has errors: {0}"
 msgstr ""
@@ -10012,12 +10497,20 @@ msgstr ""
 msgid "Missing query hash!"
 msgstr ""
 
-#: src/metabase/query_processor/middleware/add_implicit_clauses.clj
-msgid "Table ''{0}'' has no Fields associated with it."
+#: src/metabase/query_processor.clj
+msgid "Query failure"
+msgstr ""
+
+#: src/metabase/query_processor/async.clj
+msgid "Maximum number of simultaneous queries to allow per connected Database."
+msgstr ""
+
+#: src/metabase/query_processor/async.clj
+msgid "Error running query to determine Card result metadata:"
 msgstr ""
 
-#: src/metabase/query_processor/middleware/add_query_throttle.clj
-msgid "Max concurrent query limit reached"
+#: src/metabase/query_processor/middleware/add_implicit_clauses.clj
+msgid "Table ''{0}'' has no Fields associated with it."
 msgstr ""
 
 #. we should never reach this if our patterns are written right so this is more to catch code mistakes than
@@ -10027,7 +10520,7 @@ msgid "Don't know how to get information about Field:"
 msgstr ""
 
 #: src/metabase/query_processor/middleware/annotate.clj
-msgid "metabase.query-processor.interface/*driver* is unbound."
+msgid "*driver* is unbound."
 msgstr ""
 
 #: src/metabase/query_processor/middleware/annotate.clj
@@ -10131,6 +10624,14 @@ msgstr ""
 msgid "Error: Field {0} is not present in the Query Processor Store."
 msgstr ""
 
+#: src/metabase/server.clj
+msgid "Launching Embedded Jetty Webserver with config:"
+msgstr ""
+
+#: src/metabase/server.clj
+msgid "Shutting Down Embedded Jetty Webserver"
+msgstr ""
+
 #: src/metabase/sync/analyze.clj
 msgid ""
 "Fingerprint updates attempted {0}, updated {1}, no data found {2}, failed {3}"
@@ -10170,6 +10671,46 @@ msgid ""
 "to update"
 msgstr ""
 
+#: src/metabase/sync/sync_metadata/fields.clj
+msgid "Error syncing Fields for Table ''{0}''"
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields.clj
+msgid "Hash of {0} matches stored hash, skipping Fields sync"
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/common.clj
+msgid "Field"
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Error checking if Fields {0} need to be created or reactivated"
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Marking Field ''{0}'' as inactive."
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Error retiring {0}"
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Database type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Base type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Special type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Comment has been added for {0}."
+msgstr ""
+
 #: src/metabase/sync/util.clj
 msgid "{0} Database {1} ''{2}''"
 msgstr ""
@@ -10210,37 +10751,100 @@ msgstr ""
 msgid "Completed step ''{0}''"
 msgstr ""
 
+#: src/metabase/task.clj
+msgid "Stopping Quartz Scheduler {0}"
+msgstr ""
+
+#: src/metabase/task.clj
+msgid "Starting Quartz Scheduler {0}"
+msgstr ""
+
 #: src/metabase/task.clj
 msgid "Loading tasks namespace:"
 msgstr ""
 
 #: src/metabase/task.clj
-msgid "Starting Quartz Scheduler"
+msgid "Error loading tasks namespace {0}"
 msgstr ""
 
+#. don't bother logging namespace for now, maybe in the future if there's tasks of the same name in multiple
+#. namespaces we can log it
 #: src/metabase/task.clj
-msgid "Stopping Quartz Scheduler"
+msgid "Initializing task {0}"
+msgstr ""
+
+#: src/metabase/task.clj
+msgid "Error initializing task {0}"
 msgstr ""
 
 #: src/metabase/task.clj
 msgid "Job already exists:"
 msgstr ""
 
+#: src/metabase/task/follow_up_emails.clj
+msgid "Problem sending abandonment email"
+msgstr ""
+
+#: src/metabase/task/send_anonymous_stats.clj
+msgid "Sending anonymous usage stats."
+msgstr ""
+
+#: src/metabase/task/send_anonymous_stats.clj
+msgid "Error sending anonymous usage stats"
+msgstr ""
+
+#: src/metabase/task/send_pulses.clj
+msgid "Error sending Pulse {0}"
+msgstr ""
+
+#: src/metabase/task/send_pulses.clj
+msgid "Sending scheduled pulses..."
+msgstr ""
+
+#: src/metabase/task/send_pulses.clj
+msgid "SendPulses task failed"
+msgstr ""
+
+#: src/metabase/task/sync_databases.clj
+msgid "Failed to scheduler tasks for Database {0}"
+msgstr ""
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Cleaning up task history"
+msgstr ""
+
 #: src/metabase/task/task_history_cleanup.clj
-msgid "Task history cleanup successful, rows were {0}deleted"
+msgid "Task history cleanup successful, rows were deleted"
 msgstr ""
 
 #: src/metabase/task/task_history_cleanup.clj
-msgid "not"
+msgid "Task history cleanup successful, no rows were deleted"
+msgstr ""
+
+#: src/metabase/task/upgrade_checks.clj
+msgid "Checking for new Metabase version info."
+msgstr ""
+
+#: src/metabase/task/upgrade_checks.clj
+msgid "Error fetching version info"
 msgstr ""
 
-#. This is the very first log message that will get printed.
-#. It's here because this is one of the very first namespaces that gets loaded, and the first that has access to the logger
-#. It shows up a solid 10-15 seconds before the "Starting Metabase in STANDALONE mode" message because so many other namespaces need to get loaded
 #: src/metabase/util.clj
 msgid "Loading Metabase..."
 msgstr ""
 
+#: src/metabase/util.clj
+msgid "Maximum memory available to JVM: {0}"
+msgstr ""
+
+#: src/metabase/util.clj
+msgid "Timed out after {0} milliseconds."
+msgstr ""
+
+#: src/metabase/util.clj
+msgid "Not something with an ID: {0}"
+msgstr ""
+
 #: src/metabase/util/date.clj
 msgid "Possible timezone conflict found on database {0}."
 msgstr ""
@@ -10452,15 +11056,11 @@ msgid "New users per state in the last 30 days"
 msgstr ""
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
-msgid "Created At by day of the week"
-msgstr ""
-
-#: resources/automagic_dashboards/table/GenericTable.yaml
-msgid "Created At by quarter of the year"
+msgid "[[this.short-name]] per country"
 msgstr ""
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
-msgid "[[this.short-name]] per country"
+msgid "[[CreateDate]] by month of the year"
 msgstr ""
 
 #: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
@@ -10494,6 +11094,10 @@ msgstr ""
 msgid "Users per state"
 msgstr ""
 
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Here's a quick look at your [[this]]"
+msgstr ""
+
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "Sessions"
 msgstr ""
@@ -10502,6 +11106,10 @@ msgstr ""
 msgid "How some of the numbers in [[this]] relate to each other"
 msgstr ""
 
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by hour of the day"
+msgstr ""
+
 #: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Sales per country"
@@ -10552,6 +11160,10 @@ msgstr ""
 msgid "Transactions per day of the week"
 msgstr ""
 
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Where you've acquired your users"
+msgstr ""
+
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "Sessions by device type"
 msgstr ""
@@ -10590,6 +11202,10 @@ msgstr ""
 msgid "Per [[GenericCategoryLarge]]"
 msgstr ""
 
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How it's distributed across time and other categories."
+msgstr ""
+
 #: resources/automagic_dashboards/field/DateTime.yaml
 #: resources/automagic_dashboards/field/State.yaml
 #: resources/automagic_dashboards/field/Number.yaml
@@ -10673,10 +11289,6 @@ msgstr ""
 msgid "Events per quarter of the year"
 msgstr ""
 
-#: resources/automagic_dashboards/table/GenericTable.yaml
-msgid "Heres a quick look at your [[this]]"
-msgstr ""
-
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "[[this]] per [[GenericCategoryLarge]], top 5"
 msgstr ""
@@ -10685,6 +11297,10 @@ msgstr ""
 msgid "Days when [[this.short-name]] were added"
 msgstr ""
 
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Here's a closer look at your [[this]] per source"
+msgstr ""
+
 #: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
 msgid "Total orders per source"
 msgstr ""
@@ -10697,6 +11313,10 @@ msgstr ""
 msgid "Events per [[GenericCategoryMedium]]"
 msgstr ""
 
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "Here's a quick look at the [[this]]"
+msgstr ""
+
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "Events per state"
 msgstr ""
@@ -10705,10 +11325,6 @@ msgstr ""
 msgid "Top landing pages"
 msgstr ""
 
-#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
-msgid "Heres a closer look at your [[this]] over time"
-msgstr ""
-
 #: resources/automagic_dashboards/field/Number.yaml
 msgid "Sum of [[this]] by [[Country]]"
 msgstr ""
@@ -10717,10 +11333,6 @@ msgstr ""
 msgid "States that are performing best"
 msgstr ""
 
-#: resources/automagic_dashboards/table/GenericTable.yaml
-msgid "Created At by month of the year"
-msgstr ""
-
 #: resources/automagic_dashboards/field/Number.yaml
 msgid "Sum of [[this]] by [[State]]"
 msgstr ""
@@ -10741,12 +11353,6 @@ msgstr ""
 msgid "An exploration of your users to get you started."
 msgstr ""
 
-#: resources/automagic_dashboards/table/GenericTable.yaml
-msgid ""
-"An overview of your [[this]] and how its distributed across time, place, and "
-"categories."
-msgstr ""
-
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 msgid "Average income per state"
 msgstr ""
@@ -10827,6 +11433,10 @@ msgstr ""
 msgid "New users per source in the last 30 days"
 msgstr ""
 
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by day of the month"
+msgstr ""
+
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Join date by day of the month"
 msgstr ""
@@ -10871,14 +11481,12 @@ msgstr ""
 msgid "Transactions per source"
 msgstr ""
 
-#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
-msgid "Where youve acquired your users"
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Here's an overview of the people in your [[this]]"
 msgstr ""
 
-#: resources/automagic_dashboards/field/Number.yaml
 #: resources/automagic_dashboards/table/GenericTable.yaml
-#: resources/automagic_dashboards/metric/GenericMetric.yaml
-msgid "How they compare across location"
+msgid "[[CreateTimestamp]] by quarter of the year"
 msgstr ""
 
 #: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
@@ -10910,6 +11518,12 @@ msgstr ""
 msgid "Sales per product [[ProductCategoryMedium]]"
 msgstr ""
 
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How they compare across location"
+msgstr ""
+
 #: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
 msgid "User acquisition by country"
 msgstr ""
@@ -10926,8 +11540,8 @@ msgstr ""
 msgid "Days of the month when [[this.short-name]] joined"
 msgstr ""
 
-#: resources/automagic_dashboards/table/UserTable.yaml
-msgid "Heres an overview of the people in your [[this]]"
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "Here's a closer look at your [[this]] by products"
 msgstr ""
 
 #: resources/automagic_dashboards/field/DateTime.yaml
@@ -10963,10 +11577,20 @@ msgstr ""
 msgid "Hours when [[this.short-name]] joined"
 msgstr ""
 
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by month of the year"
+msgstr ""
+
 #: resources/automagic_dashboards/table/example.yaml
 msgid "Total income by month"
 msgstr ""
 
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid ""
+"An overview of your [[this]] and how it's distributed across time, place, "
+"and categories."
+msgstr ""
+
 #: resources/automagic_dashboards/field/Number.yaml
 msgid ""
 "A breakdown of your [[this]] over time, and its min, max, average and more."
@@ -11008,18 +11632,10 @@ msgstr ""
 msgid "By coordinates"
 msgstr ""
 
-#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
-msgid "Heres a closer look at your [[this]] by products"
-msgstr ""
-
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "[[this]] per quarter of the year"
 msgstr ""
 
-#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
-msgid "Heres an overview of your [[this]] data from Google Analytics"
-msgstr ""
-
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Quarters when [[this.short-name]] joined"
 msgstr ""
@@ -11042,11 +11658,7 @@ msgstr ""
 
 #: resources/automagic_dashboards/field/DateTime.yaml
 #: resources/automagic_dashboards/question/GenericQuestion.yaml
-msgid "Heres a closer look at your [[this]]"
-msgstr ""
-
-#: resources/automagic_dashboards/field/Country.yaml
-msgid "Heres a closer look at your [[this]] field"
+msgid "Here's a closer look at your [[this]]"
 msgstr ""
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
@@ -11078,6 +11690,10 @@ msgstr ""
 msgid "[[Timestamp]]"
 msgstr ""
 
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by day of the week"
+msgstr ""
+
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Where these transactions happened"
 msgstr ""
@@ -11098,6 +11714,10 @@ msgstr ""
 msgid "Top acquisition channels"
 msgstr ""
 
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Here's an overview of your [[this]] data from Google Analytics"
+msgstr ""
+
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "These [[this.short-name]] across time"
 msgstr ""
@@ -11110,6 +11730,15 @@ msgstr ""
 msgid "Sales per source"
 msgstr ""
 
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+#: resources/automagic_dashboards/comparison/State.yaml
+#: resources/automagic_dashboards/comparison/FK.yaml
+#: resources/automagic_dashboards/comparison/Country.yaml
+#: resources/automagic_dashboards/comparison/GenericField.yaml
+msgid "Here's an overview of your [[this]]"
+msgstr ""
+
 #: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
 msgid "Average income per country"
 msgstr ""
@@ -11175,6 +11804,10 @@ msgstr ""
 msgid "Most-viewed pages"
 msgstr ""
 
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "Here's a closer look at your [[this]] field"
+msgstr ""
+
 #: resources/automagic_dashboards/table/example.yaml
 msgid "Example exploration"
 msgstr ""
@@ -11203,6 +11836,10 @@ msgstr ""
 msgid "Where these [[this.short-name]] are"
 msgstr ""
 
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Here's a closer look at your [[this]] per country"
+msgstr ""
+
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "Over time"
 msgstr ""
@@ -11282,16 +11919,12 @@ msgstr ""
 msgid "Where most of your traffic is coming from."
 msgstr ""
 
-#: resources/automagic_dashboards/metric/GenericMetric.yaml
-msgid "Heres a quick look at the [[this]]"
-msgstr ""
-
 #: resources/automagic_dashboards/table/TransactionTable.yaml
-msgid "It looks like your [[this]] has transactions, so heres a look at them"
+msgid "Average discount per month"
 msgstr ""
 
-#: resources/automagic_dashboards/table/TransactionTable.yaml
-msgid "Average discount per month"
+#: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
+msgid "If you're into correlations, this is the x-ray for you."
 msgstr ""
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
@@ -11299,6 +11932,10 @@ msgstr ""
 msgid "[[Timestamp]] by month of the year"
 msgstr ""
 
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by day of the week"
+msgstr ""
+
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "[[this]] per [[GenericCategorySmall]] over time"
 msgstr ""
@@ -11307,6 +11944,10 @@ msgstr ""
 msgid "Distribution by coordinates"
 msgstr ""
 
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "It looks like your [[this]] has transactions, so here's a look at them"
+msgstr ""
+
 #: resources/automagic_dashboards/table/example.yaml
 msgid "Sales by source"
 msgstr ""
@@ -11336,18 +11977,10 @@ msgstr ""
 msgid "[[this.short-name]] per [[GenericCategoryLarge]]"
 msgstr ""
 
-#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
-msgid "Heres a closer look at your [[this]] per source"
-msgstr ""
-
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "Events per day of the month"
 msgstr ""
 
-#: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
-msgid "If youre into correlations, this is the x-ray for you."
-msgstr ""
-
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "Sessions by Country"
 msgstr ""
@@ -11366,10 +11999,6 @@ msgstr ""
 msgid "[[Timestamp]] by quarter of the year"
 msgstr ""
 
-#: resources/automagic_dashboards/metric/GenericMetric.yaml
-msgid "How its distributed across time and other categories."
-msgstr ""
-
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "A look at your events over time and by several categories."
 msgstr ""
@@ -11410,8 +12039,8 @@ msgstr ""
 msgid "Overview of your [[this]] data from Google Analytics"
 msgstr ""
 
-#: resources/automagic_dashboards/table/GenericTable.yaml
-msgid "Created At by hour of the day"
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Here's a closer look at your [[this]] per state"
 msgstr ""
 
 #: resources/automagic_dashboards/table/example.yaml
@@ -11446,6 +12075,10 @@ msgstr ""
 msgid "Distinct values"
 msgstr ""
 
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by day of the month"
+msgstr ""
+
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Hours when [[this.short-name]] were added"
 msgstr ""
@@ -11459,25 +12092,12 @@ msgstr ""
 msgid "[[GenericNumber]] over time"
 msgstr ""
 
-#: resources/automagic_dashboards/field/State.yaml
-#: resources/automagic_dashboards/field/GenericField.yaml
-#: resources/automagic_dashboards/comparison/State.yaml
-#: resources/automagic_dashboards/comparison/FK.yaml
-#: resources/automagic_dashboards/comparison/Country.yaml
-#: resources/automagic_dashboards/comparison/GenericField.yaml
-msgid "Heres an overview of your [[this]]"
-msgstr ""
-
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "[[this.short-name]] by coordinates"
 msgstr ""
 
-#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
-msgid "Heres a closer look at your [[this]] per state"
-msgstr ""
-
 #: resources/automagic_dashboards/table/GenericTable.yaml
-msgid "Created At by day of the month"
+msgid "[[CreateTime]] by hour of the day"
 msgstr ""
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
@@ -11492,6 +12112,10 @@ msgstr ""
 msgid "Join date by hour of the day"
 msgstr ""
 
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Here's a closer look at your [[this]] over time"
+msgstr ""
+
 #: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
 msgid "[[Timestamp]] by hour of day"
 msgstr ""
@@ -11517,10 +12141,6 @@ msgstr ""
 msgid "Income per country"
 msgstr ""
 
-#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
-msgid "Heres a closer look at your [[this]] per country"
-msgstr ""
-
 #: resources/automagic_dashboards/table/example.yaml
 msgid "Sales by product [[ProductCategory]]"
 msgstr ""
@@ -11567,6 +12187,10 @@ msgstr ""
 msgid "[[GenericNumber]] by join date"
 msgstr ""
 
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by quarter of the year"
+msgstr ""
+
 #: resources/automagic_dashboards/field/Number.yaml
 msgid "Average of [[this]] by [[Country]]"
 msgstr ""
diff --git a/locales/nb.po b/locales/nb.po
index 743bd038f4698731e645bd263637be6a4a34dadf..590d418e3e1890d34a5635b0e174a7cdfd6a718a 100644
--- a/locales/nb.po
+++ b/locales/nb.po
@@ -141,54 +141,51 @@ msgstr "I denne boksen:"
 #: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:87
 #: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:93
 #: frontend/src/metabase/admin/people/components/AddRow.jsx:27
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:250
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:302
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:322
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:343
 #: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:49
 #: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:52
 #: frontend/src/metabase/admin/permissions/containers/CollectionPermissionsModal.jsx:58
-#: frontend/src/metabase/admin/permissions/selectors.js:156
-#: frontend/src/metabase/admin/permissions/selectors.js:166
-#: frontend/src/metabase/admin/permissions/selectors.js:181
-#: frontend/src/metabase/admin/permissions/selectors.js:220
+#: frontend/src/metabase/admin/permissions/selectors.js:160
+#: frontend/src/metabase/admin/permissions/selectors.js:170
+#: frontend/src/metabase/admin/permissions/selectors.js:185
+#: frontend/src/metabase/admin/permissions/selectors.js:224
 #: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:355
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:181
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:247
 #: frontend/src/metabase/components/ConfirmContent.jsx:18
 #: frontend/src/metabase/components/DeleteModalWithConfirm.jsx:72
 #: frontend/src/metabase/components/HeaderModal.jsx:49
-#: frontend/src/metabase/components/form/StandardForm.jsx:59
+#: frontend/src/metabase/components/form/StandardForm.jsx:61
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:196
 #: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:289
 #: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:162
 #: frontend/src/metabase/dashboard/components/RemoveFromDashboardModal.jsx:38
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:189
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:192
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:352
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:191
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:354
 #: frontend/src/metabase/query_builder/components/RunButton.jsx:24
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:83
 #: frontend/src/metabase/query_builder/containers/ArchiveQuestionModal.jsx:48
 #: frontend/src/metabase/reference/components/EditHeader.jsx:34
 #: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:52
-#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:219
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:259
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:461
 msgid "Cancel"
 msgstr "Avbryt"
 
 #: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:88
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:123
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:121
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:132
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:461
 msgid "Delete"
 msgstr "Slett"
 
 #: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:128
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:76
-#: frontend/src/metabase/admin/permissions/selectors.js:316
-#: frontend/src/metabase/admin/permissions/selectors.js:323
-#: frontend/src/metabase/admin/permissions/selectors.js:419
-#: frontend/src/metabase/admin/routes.jsx:43
-#: frontend/src/metabase/nav/containers/Navbar.jsx:215
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:74
+#: frontend/src/metabase/admin/permissions/selectors.js:320
+#: frontend/src/metabase/admin/permissions/selectors.js:327
+#: frontend/src/metabase/admin/permissions/selectors.js:423
+#: frontend/src/metabase/admin/routes.jsx:53
+#: frontend/src/metabase/nav/containers/Navbar.jsx:214
 #: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:18
 #: frontend/src/metabase/reference/databases/TableSidebar.jsx:21
 msgid "Databases"
@@ -209,11 +206,10 @@ msgstr "Planlegging"
 #: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:170
 #: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:78
 #: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:84
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:253
 #: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:26
 #: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:221
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:182
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:354
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:356
 #: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:47
 msgid "Save changes"
 msgstr "Lagre endringer"
@@ -262,7 +258,7 @@ msgid "Scan triggered!"
 msgstr "Skanning påbegynt!"
 
 #: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:215
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:399
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:401
 msgid "Danger Zone"
 msgstr "Faresone"
 
@@ -275,39 +271,39 @@ msgstr "Forkast lagrede feltverdier"
 msgid "Remove this database"
 msgstr "Fjern denne databasen"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:75
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:73
 msgid "Add database"
 msgstr "Legg til database"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:87
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:85
 #: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:36
 #: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:36
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:468
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:122
 #: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:183
 #: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:91
 #: frontend/src/metabase/components/DatabaseDetailsForm.jsx:399
 #: frontend/src/metabase/containers/EntitySearch.jsx:26
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:218
-#: frontend/src/metabase/entities/collections.js:86
-#: frontend/src/metabase/entities/dashboards.js:96
+#: frontend/src/metabase/entities/collections.js:93
+#: frontend/src/metabase/entities/dashboards.js:145
 #: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:461
-#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:78
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:81
 msgid "Name"
 msgstr "Navn"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:88
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:86
 msgid "Engine"
 msgstr "Motor"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:117
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:115
 msgid "Deleting..."
 msgstr "Sletter..."
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:147
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:145
 msgid "Loading ..."
 msgstr "Laster..."
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:163
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:161
 msgid "Bring the sample dataset back"
 msgstr "Hent eksempel-datasettet tilbake"
 
@@ -326,7 +322,7 @@ msgstr "Lagring vellykket!"
 #: frontend/src/metabase/admin/datamodel/components/ObjectActionSelect.jsx:44
 #: frontend/src/metabase/dashboard/components/DashCard.jsx:278
 #: frontend/src/metabase/parameters/components/ParameterWidget.jsx:177
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:209
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:197
 #: frontend/src/metabase/reference/components/EditButton.jsx:18
 msgid "Edit"
 msgstr "Rediger"
@@ -503,7 +499,7 @@ msgstr "Skjemaer"
 #: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:189
 #: frontend/src/metabase/reference/metrics/MetricList.jsx:56
 #: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:21
-#: frontend/src/metabase/routes.jsx:231
+#: frontend/src/metabase/routes.jsx:232
 msgid "Metrics"
 msgstr "Indikatorer"
 
@@ -522,7 +518,7 @@ msgid "Create metrics to add them to the View dropdown in the query builder"
 msgstr "Lag indikatorer som vises i nedtrekksmenyen i spørsmålsbyggeren"
 
 #: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:24
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:922
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:930
 #: frontend/src/metabase/reference/guide/BaseSidebar.jsx:33
 #: frontend/src/metabase/reference/segments/SegmentFieldSidebar.jsx:19
 #: frontend/src/metabase/reference/segments/SegmentList.jsx:56
@@ -564,7 +560,7 @@ msgstr "gjorde noen endringer"
 
 #: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:46
 #: frontend/src/metabase/home/components/Activity.jsx:80
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:343
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:332
 msgid "You"
 msgstr "Du"
 
@@ -695,7 +691,7 @@ msgstr "Velg en hvilken som helst tabell for å se tabellens skjema og for å le
 
 #: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:37
 #: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:34
-#: frontend/src/metabase/entities/collections.js:89
+#: frontend/src/metabase/entities/collections.js:96
 msgid "Name is required"
 msgstr "Navn er påkrevd"
 
@@ -817,10 +813,10 @@ msgid "This will show up in the revision history for this segment to help everyo
 msgstr "Dette vil vises i revisjonshistorikken for dette segmentet for å hjelpe alle å huske hvorfor ting ble endret"
 
 #: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:88
-#: frontend/src/metabase/admin/routes.jsx:91
+#: frontend/src/metabase/admin/routes.jsx:127
 #: frontend/src/metabase/admin/settings/containers/SettingsEditorApp.jsx:266
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:96
-#: frontend/src/metabase/nav/containers/Navbar.jsx:200
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:87
+#: frontend/src/metabase/nav/containers/Navbar.jsx:199
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorSidebar.jsx:99
 msgid "Settings"
 msgstr "Innstillinger"
@@ -834,31 +830,26 @@ msgid "Re-scan this table"
 msgstr "Skan denne tabellen på nytt"
 
 #: frontend/src/metabase/admin/people/components/AddRow.jsx:34
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:194
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:253
 #: frontend/src/metabase/dashboard/components/DashCard.jsx:278
 msgid "Add"
 msgstr "Legg til"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:80
 #: frontend/src/metabase/setup/components/UserStep.jsx:103
 #: frontend/src/metabase/user/components/UpdateUserDetails.jsx:67
 msgid "Not a valid formatted email address"
 msgstr "Ikke ett gyldig format på e-post adresse"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:135
 #: frontend/src/metabase/setup/components/UserStep.jsx:186
 #: frontend/src/metabase/user/components/UpdateUserDetails.jsx:100
 msgid "First name"
 msgstr "Fornavn"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:156
 #: frontend/src/metabase/setup/components/UserStep.jsx:203
 #: frontend/src/metabase/user/components/UpdateUserDetails.jsx:117
 msgid "Last name"
 msgstr "Etternavn"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:178
 #: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:77
 #: frontend/src/metabase/auth/containers/LoginApp.jsx:158
 #: frontend/src/metabase/components/NewsletterForm.jsx:94
@@ -872,7 +863,7 @@ msgstr "E-post adresse"
 msgid "Permission Groups"
 msgstr "Tillatelsesgrupper"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:238
+#: frontend/src/metabase/components/form/widgets/FormGroupsWidget.jsx:75
 msgid "Make this user an admin"
 msgstr "Gjør denne bruker til administrator"
 
@@ -891,15 +882,15 @@ msgid "To make sure you don't get locked out of Metabase, there always has to be
 msgstr "For å sikre at du ikke blir låst ute av Metabase, må det alltid være igjen en bruker i denne gruppen."
 
 #: frontend/src/metabase/admin/people/components/GroupDetail.jsx:177
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:219
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:218
 msgid "Members"
 msgstr "Medlemmer"
 
 #: frontend/src/metabase/admin/people/components/GroupDetail.jsx:177
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:470
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:124
 #: frontend/src/metabase/admin/settings/selectors.js:113
 #: frontend/src/metabase/lib/core.js:55
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:298
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:301
 msgid "Email"
 msgstr "E-post"
 
@@ -908,8 +899,8 @@ msgid "A group is only as good as its members."
 msgstr "En gruppe er kun like bra som sine medlemmer."
 
 #: frontend/src/metabase/admin/people/components/GroupSummary.jsx:15
-#: frontend/src/metabase/admin/routes.jsx:38
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:50
+#: frontend/src/metabase/admin/routes.jsx:48
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:49
 msgid "Admin"
 msgstr "Administrator"
 
@@ -930,70 +921,70 @@ msgstr[1] "{0} andre grupper"
 msgid "Default"
 msgstr "Standard"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:40
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:39
 msgid "Something like \"Marketing\""
 msgstr "Noe sånt som \"markedsføring\""
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:59
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:58
 msgid "Remove this group?"
 msgstr "Fjern denne gruppen?"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:61
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:60
 msgid "Are you sure? All members of this group will lose any permissions settings they have based on this group.\n"
 "This can't be undone."
 msgstr "Er du sikker? Alle medlemmer av denne gruppen vil miste tilganger fra denne gruppen.\n"
 "Denne kan ikke bli gjennopprettet."
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:72
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:71
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:42
 #: frontend/src/metabase/components/ConfirmContent.jsx:17
 msgid "Yes"
 msgstr "Ja"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:75
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:74
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:42
 msgid "No"
 msgstr "Nei"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:93
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:92
 msgid "Edit Name"
 msgstr "Rediger navn"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:96
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:95
 msgid "Remove Group"
 msgstr "Fjern gruppe"
 
 #: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:46
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:139
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:225
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:263
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:367
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:385
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:138
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:42
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:41
 #: frontend/src/metabase/components/HeaderModal.jsx:43
 #: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:282
-#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:106
-#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:298
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:194
+#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:107
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:327
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:193
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:96
-#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:225
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:265
 msgid "Done"
 msgstr "Ferdig"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:219
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:218
 msgid "Group name"
 msgstr "Gruppenavn"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:399
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:363
 #: frontend/src/metabase/admin/people/containers/AdminPeopleApp.jsx:25
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:477
-#: frontend/src/metabase/admin/routes.jsx:76
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:131
+#: frontend/src/metabase/admin/routes.jsx:88
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:154
 msgid "Groups"
 msgstr "Grupper"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:400
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:364
 msgid "Create a group"
 msgstr "Opprett en gruppe"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:406
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:370
 msgid "You can use groups to control your users' access to your data. Put users in groups and then go to the Permissions section to control each group's access. The Administrators and All Users groups are special default groups that can't be removed."
 msgstr "Du kan bruke grupper for og kontrollere din brukers tilgang til dataene. Putt brukere i grupper og endre hver gruppes tilgang under tilgangseksjonen. Gruppene \"Administratorer\" og \"Alle brukere\" er spesielle grupper som ikke kan slettes."
 
@@ -1009,15 +1000,14 @@ msgstr "Send invitasjon på nytt"
 msgid "Reset Password"
 msgstr "Tilbakestill passord"
 
-#: frontend/src/metabase/admin/people/components/UserActionsSelect.jsx:97
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:304
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:40
 msgid "Deactivate"
 msgstr "Deaktiver"
 
 #: frontend/src/metabase/admin/people/containers/AdminPeopleApp.jsx:24
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:435
-#: frontend/src/metabase/admin/routes.jsx:74
-#: frontend/src/metabase/nav/containers/Navbar.jsx:205
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:93
+#: frontend/src/metabase/admin/routes.jsx:84
+#: frontend/src/metabase/nav/containers/Navbar.jsx:204
 msgid "People"
 msgstr "Folk"
 
@@ -1029,8 +1019,7 @@ msgstr "Hvem vil du legge til?"
 msgid "Edit {0}'s details"
 msgstr "Rediger {0}s detaljer"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:220
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:258
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:40
 msgid "{0} has been added"
 msgstr "{0} har blitt lagt til"
 
@@ -1045,11 +1034,11 @@ msgid "We couldn’t send them an email invitation,\n"
 "and this password we’ve generated for them:"
 msgstr "Vi klarte ikke å sende dem en e-post invitasjon, vennligst sørg for at du forklarer at de logger inn med {0} og dette passordet vi har generert for dem:"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:242
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:73
 msgid "If you want to be able to send email invites, just go to the {0} page."
 msgstr "Hvis du vil ha muligheten til å sende e-post invitasjoner, gå til denne siden {0}."
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:268
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:55
 msgid "We’ve sent an invite to {0} with instructions to set their password."
 msgstr "Vi har sendt ut en invitasjon til {0} med instruksjoner om å sette passordet sitt."
 
@@ -1057,7 +1046,6 @@ msgstr "Vi har sendt ut en invitasjon til {0} med instruksjoner om å sette pass
 msgid "We've re-sent {0}'s invite"
 msgstr "Vi har sendt ut invitasjon på nytt til {0}"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:285
 #: frontend/src/metabase/query_builder/components/SavedQuestionIntroModal.jsx:22
 #: frontend/src/metabase/tutorial/Tutorial.jsx:253
 msgid "Okay"
@@ -1067,11 +1055,11 @@ msgstr "Okei"
 msgid "Any previous email invites they have will no longer work."
 msgstr "Tidligere sendte invitasjoner vil ikke fungere lenger."
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:300
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:31
 msgid "Deactivate {0}?"
 msgstr "Deaktiver {0}?"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:309
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:34
 msgid "{0} won't be able to log in anymore."
 msgstr "{0} vil ikke kunne logge inn lenger."
 
@@ -1079,35 +1067,33 @@ msgstr "{0} vil ikke kunne logge inn lenger."
 msgid "Reactivate {0}'s account?"
 msgstr "Reaktiver {0} sin konto?"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:326
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:58
 msgid "Reactivate"
 msgstr "Reaktiver"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:330
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:51
 msgid "They'll be able to log in again, and they'll be placed back into the groups they were in before their account was deactivated."
 msgstr "De vil kunne logge inn igjen, de vil da bli plassert tilbake i gruppene de var i før de ble deaktiverte."
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:341
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:51
 msgid "Reset {0}'s password?"
 msgstr "Tilbakestill {0} sitt passord?"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:347
-#: frontend/src/metabase/components/form/StandardForm.jsx:75
+#: frontend/src/metabase/components/form/StandardForm.jsx:77
 msgid "Reset"
 msgstr "Tilbakestill"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:351
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:54
 #: frontend/src/metabase/components/ConfirmContent.jsx:13
 #: frontend/src/metabase/dashboard/components/ArchiveDashboardModal.jsx:44
 msgid "Are you sure you want to do this?"
 msgstr "Er du sikker du vil gjøre dette?"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:362
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:384
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:41
 msgid "{0}'s password has been reset"
 msgstr "{0} sitt passord har blitt nullstilt"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:371
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:45
 msgid "Here’s a temporary password they can use to log in and then change their password."
 msgstr "Her er ett midlertidig passord de kan bruke for å logge inn og bytte passordet."
 
@@ -1115,41 +1101,40 @@ msgstr "Her er ett midlertidig passord de kan bruke for å logge inn og bytte pa
 msgid "We've sent them an email with instructions for creating a new password."
 msgstr "Vi har sendt dem en e-post med instruksjoner for å lage ett nytt passord."
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:443
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:101
 msgid "Active"
 msgstr "Aktiv"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:444
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:473
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:102
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:127
 msgid "Deactivated"
 msgstr "Deaktivert"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:459
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:115
 msgid "Add someone"
 msgstr "Legg til noen"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:478
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:132
 msgid "Last Login"
 msgstr "Siste innlogging"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:501
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:153
 msgid "Signed up via Google"
 msgstr "Meldt inn via Google"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:506
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:158
 msgid "Signed up via LDAP"
 msgstr "Meldt inn via LDAP"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:518
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:170
 msgid "Reactivate this account"
 msgstr "Reaktiver denne kontoen"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:545
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:193
 msgid "Never"
 msgstr "Aldri"
 
 #: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:27
-#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:24
 #: src/metabase/automagic_dashboards/core.clj
 msgid "{0} table"
 msgid_plural "{0} tables"
@@ -1185,7 +1170,7 @@ msgid " native queries for "
 msgstr " lokal spørring for "
 
 #: frontend/src/metabase/admin/permissions/routes.jsx:12
-#: frontend/src/metabase/nav/containers/Navbar.jsx:220
+#: frontend/src/metabase/nav/containers/Navbar.jsx:219
 msgid "Permissions"
 msgstr "Tillatelser"
 
@@ -1222,135 +1207,135 @@ msgstr "Du har ulagrede endringer"
 msgid "Do you want to leave this page and discard your changes?"
 msgstr "Vil du gå bort fra siden uten å lagre endringene?"
 
-#: frontend/src/metabase/admin/permissions/permissions.js:137
+#: frontend/src/metabase/admin/permissions/permissions.js:126
 msgid "Sorry, an error occurred."
 msgstr "Beklager, en feil oppstod."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:59
+#: frontend/src/metabase/admin/permissions/selectors.js:65
 msgid "Administrators always have the highest level of access to everything in Metabase."
 msgstr "Administratorer har alltid høyeste tilgangsnivå til alt i Metabase."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:61
+#: frontend/src/metabase/admin/permissions/selectors.js:67
 msgid "Every Metabase user belongs to the All Users group. If you want to limit or restrict a group's access to something, make sure the All Users group has an equal or lower level of access."
 msgstr "Hver Metabase bruker tilhører i \"alle brukere\" gruppen. Hvis du vil begrense gruppe tilgang til noe, valider om \"alle brukere\" gruppen har samme eller mindre nivå med tilganger."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:63
+#: frontend/src/metabase/admin/permissions/selectors.js:69
 msgid "MetaBot is Metabase's Slack bot. You can choose what it has access to here."
 msgstr "MetaBot er Metabase sin Slack-bot. Du kan velge hva den skal ha tilgang til her."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:115
+#: frontend/src/metabase/admin/permissions/selectors.js:119
 msgid "The \"{0}\" group may have access to a different set of {1} than this group, which may give this group additional access to some {2}."
 msgstr "Gruppen {0} kan ha tilgang til et annet sett av {1} enn denne gruppen, som kan gi gruppen tilgang til noe av {2}"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:120
+#: frontend/src/metabase/admin/permissions/selectors.js:124
 msgid "The \"{0}\" group has a higher level of access than this, which will override this setting. You should limit or revoke the \"{1}\" group's access to this item."
 msgstr "\"{0}\"-gruppen har et høyere nivå av adgang enn dette, det vil overstyre denne innstillingen. Du bør begrense eller fjerne \"{1}\"-gruppens tilgang til denne ressursen."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:150
+#: frontend/src/metabase/admin/permissions/selectors.js:154
 msgid "Limit"
 msgstr "Grense"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:150
+#: frontend/src/metabase/admin/permissions/selectors.js:154
 msgid "Revoke"
 msgstr "Fjern"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:152
+#: frontend/src/metabase/admin/permissions/selectors.js:156
 msgid "access even though \"{0}\" has greater access?"
 msgstr "tilgang selv om \"{0}\" har høyere tilgangsnivå?"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:155
-#: frontend/src/metabase/admin/permissions/selectors.js:254
+#: frontend/src/metabase/admin/permissions/selectors.js:159
+#: frontend/src/metabase/admin/permissions/selectors.js:258
 msgid "Limit access"
 msgstr "Tilgangsgrense"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:155
-#: frontend/src/metabase/admin/permissions/selectors.js:219
-#: frontend/src/metabase/admin/permissions/selectors.js:262
+#: frontend/src/metabase/admin/permissions/selectors.js:159
+#: frontend/src/metabase/admin/permissions/selectors.js:223
+#: frontend/src/metabase/admin/permissions/selectors.js:266
 msgid "Revoke access"
 msgstr "Fjern tilgang"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:164
+#: frontend/src/metabase/admin/permissions/selectors.js:168
 msgid "Change access to this database to limited?"
 msgstr "Bytt tilgang til denne databasen til begrenset?"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:165
+#: frontend/src/metabase/admin/permissions/selectors.js:169
 msgid "Change"
 msgstr "Bytt"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:178
+#: frontend/src/metabase/admin/permissions/selectors.js:182
 msgid "Allow Raw Query Writing?"
 msgstr "Tillatt direkte spørringer?"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:179
+#: frontend/src/metabase/admin/permissions/selectors.js:183
 msgid "This will also change this group's data access to Unrestricted for this database."
 msgstr "Dette vil også endre denne gruppens data tilgang til ubegrenset for denne databasen."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:180
+#: frontend/src/metabase/admin/permissions/selectors.js:184
 msgid "Allow"
 msgstr "Tillatt"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:217
+#: frontend/src/metabase/admin/permissions/selectors.js:221
 msgid "Revoke access to all tables?"
 msgstr "Fjern tilgang til alle tabeller?"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:218
+#: frontend/src/metabase/admin/permissions/selectors.js:222
 msgid "This will also revoke this group's access to raw queries for this database."
 msgstr "Dette vil også fjerne denne gruppens tilgang til rå spørringer for denne databasen."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:247
+#: frontend/src/metabase/admin/permissions/selectors.js:251
 msgid "Grant unrestricted access"
 msgstr "Gi ubegrenset tilgang"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:248
+#: frontend/src/metabase/admin/permissions/selectors.js:252
 msgid "Unrestricted access"
 msgstr "Ubegrenset tilgang"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:255
+#: frontend/src/metabase/admin/permissions/selectors.js:259
 msgid "Limited access"
 msgstr "Begrenset tilgang"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:263
+#: frontend/src/metabase/admin/permissions/selectors.js:267
 msgid "No access"
 msgstr "Ingen tilgang"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:269
+#: frontend/src/metabase/admin/permissions/selectors.js:273
 msgid "Write raw queries"
 msgstr "Skriv rå spørringer"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:270
+#: frontend/src/metabase/admin/permissions/selectors.js:274
 msgid "Can write raw queries"
 msgstr "Kan skrive direkte spørringer"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:277
+#: frontend/src/metabase/admin/permissions/selectors.js:281
 msgid "Curate collection"
 msgstr "Organiser samlingen"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:284
+#: frontend/src/metabase/admin/permissions/selectors.js:288
 msgid "View collection"
 msgstr "Vis samling"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:327
-#: frontend/src/metabase/admin/permissions/selectors.js:423
-#: frontend/src/metabase/admin/permissions/selectors.js:520
+#: frontend/src/metabase/admin/permissions/selectors.js:331
+#: frontend/src/metabase/admin/permissions/selectors.js:427
+#: frontend/src/metabase/admin/permissions/selectors.js:524
 msgid "Data Access"
 msgstr "Tilgang til data"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:488
-#: frontend/src/metabase/admin/permissions/selectors.js:645
-#: frontend/src/metabase/admin/permissions/selectors.js:650
+#: frontend/src/metabase/admin/permissions/selectors.js:492
+#: frontend/src/metabase/admin/permissions/selectors.js:649
+#: frontend/src/metabase/admin/permissions/selectors.js:654
 msgid "View tables"
 msgstr "Vis tabeller"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:586
+#: frontend/src/metabase/admin/permissions/selectors.js:590
 msgid "SQL Queries"
 msgstr "SQL spørsmål"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:656
+#: frontend/src/metabase/admin/permissions/selectors.js:660
 msgid "View schemas"
 msgstr "Vis skjemaer"
 
-#: frontend/src/metabase/admin/routes.jsx:49
-#: frontend/src/metabase/nav/containers/Navbar.jsx:210
+#: frontend/src/metabase/admin/routes.jsx:59
+#: frontend/src/metabase/nav/containers/Navbar.jsx:209
 msgid "Data Model"
 msgstr "Datamodell"
 
@@ -1495,7 +1480,7 @@ msgid "Metabase {0} is available.  You're running {1}"
 msgstr "Metabase {0} er tilgjengelig. Du bruker {1}"
 
 #: frontend/src/metabase/admin/settings/components/SettingsUpdatesForm.jsx:112
-#: frontend/src/metabase/components/form/StandardForm.jsx:67
+#: frontend/src/metabase/components/form/StandardForm.jsx:69
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:96
 msgid "Update"
 msgstr "Oppdater"
@@ -2124,20 +2109,19 @@ msgstr "Lagret"
 msgid "Ok"
 msgstr "Ok"
 
-#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:40
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:38
 msgid "Archive this collection?"
 msgstr "Arkiver denne samlingen?"
 
-#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:45
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:43
 msgid "The dashboards, collections, and pulses in this collection will also be archived."
 msgstr "Infotavlene, samlingene og pulsene i denne samlingen vil også bli arkivert."
 
-#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:49
-#: frontend/src/metabase/components/CollectionLanding.jsx:587
-#: frontend/src/metabase/components/EntityItem.jsx:54
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:47
+#: frontend/src/metabase/components/CollectionLanding.jsx:624
 #: frontend/src/metabase/components/EntityMenu.info.js:31
 #: frontend/src/metabase/components/EntityMenu.info.js:87
-#: frontend/src/metabase/home/containers/ArchiveApp.jsx:48
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:47
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:195
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:200
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:201
@@ -2151,28 +2135,28 @@ msgstr "Arkiv"
 msgid "This {0} has been archived"
 msgstr "{0} har blitt arkiverr"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:679
+#: frontend/src/metabase/components/CollectionLanding.jsx:715
 msgid "View the archive"
 msgstr "Se arkivet"
 
-#: frontend/src/metabase/components/ArchivedItem.jsx:39
+#: frontend/src/metabase/components/ArchivedItem.jsx:43
 msgid "Unarchive this {0}"
 msgstr "Dearkiver {0}"
 
-#: frontend/src/metabase/components/BrowseApp.jsx:95
-#: frontend/src/metabase/components/BrowseApp.jsx:157
-#: frontend/src/metabase/components/BrowseApp.jsx:250
-#: frontend/src/metabase/containers/Overworld.jsx:224
+#: frontend/src/metabase/components/BrowseApp.jsx:70
+#: frontend/src/metabase/components/BrowseApp.jsx:132
+#: frontend/src/metabase/components/BrowseApp.jsx:225
+#: frontend/src/metabase/containers/Overworld.jsx:219
 msgid "Our data"
 msgstr "VÃ¥r data"
 
-#: frontend/src/metabase/components/BrowseApp.jsx:194
+#: frontend/src/metabase/components/BrowseApp.jsx:169
 #: frontend/src/metabase/reference/databases/TableSidebar.jsx:55
 msgid "X-ray this table"
 msgstr "Kjør X-ray på denne tabellen"
 
-#: frontend/src/metabase/components/BrowseApp.jsx:208
-#: frontend/src/metabase/containers/Overworld.jsx:251
+#: frontend/src/metabase/components/BrowseApp.jsx:183
+#: frontend/src/metabase/containers/Overworld.jsx:246
 msgid "Learn about this table"
 msgstr "Lær mer om denne tabellen"
 
@@ -2190,31 +2174,31 @@ msgstr "Lagret!"
 msgid "Saving failed."
 msgstr "Lagring feilet."
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Su"
 msgstr "Sø"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Mo"
 msgstr "Ma"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Tu"
 msgstr "Ti"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "We"
 msgstr "On"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Th"
 msgstr "To"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Fr"
 msgstr "Fr"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Sa"
 msgstr "Lø"
 
@@ -2247,76 +2231,75 @@ msgstr "Du kan bruke samlinger for å organisere og gruppere infotavler, spørsm
 msgid "Create another collection"
 msgstr "Lag en ny samling"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:61
+#: frontend/src/metabase/components/CollectionLanding.jsx:68
 msgid "Dashboards let you collect and share data in one place."
 msgstr "Infotavler lar deg samle og dele data fra ett sted."
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:70
+#: frontend/src/metabase/components/CollectionLanding.jsx:77
 msgid "Pulses let you send out the latest data to your team on a schedule via email or slack."
 msgstr "Pulser lar deg sende ut de siste dataene til ditt lag regelmessig via e-post eller Slack."
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:79
+#: frontend/src/metabase/components/CollectionLanding.jsx:86
 #, fuzzy
 msgid "Questions are a saved look at your data."
 msgstr "Spørsmål er en lagret visning av dataene dine."
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:275
+#: frontend/src/metabase/components/CollectionLanding.jsx:287
 #, fuzzy
 msgid "Pins"
 msgstr "Festet"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:329
+#: frontend/src/metabase/components/CollectionLanding.jsx:341
 msgid "Drag something here to pin it to the top"
 msgstr "Dra noe hit for og feste det til toppen"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:733
-#: frontend/src/metabase/components/CollectionLanding.jsx:341
+#: frontend/src/metabase/admin/permissions/selectors.js:737
+#: frontend/src/metabase/components/CollectionLanding.jsx:353
 #: frontend/src/metabase/home/containers/SearchApp.jsx:35
-#: frontend/src/metabase/home/containers/SearchApp.jsx:96
+#: frontend/src/metabase/home/containers/SearchApp.jsx:92
 msgid "Collections"
 msgstr "Samlinger"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:411
-#: frontend/src/metabase/components/CollectionLanding.jsx:434
+#: frontend/src/metabase/components/CollectionLanding.jsx:432
+#: frontend/src/metabase/components/CollectionLanding.jsx:455
 msgid "Drag here to un-pin"
 msgstr "Dra hit for og fjerne festet"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:469
+#: frontend/src/metabase/components/CollectionLanding.jsx:490
 msgid "{0} item selected"
 msgid_plural "{0} items selected"
 msgstr[0] "{0} element valgt"
 msgstr[1] "{0} elementer valgt"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:487
+#: frontend/src/metabase/components/CollectionLanding.jsx:522
 msgid "Move {0} items?"
 msgstr "Flytt {0} elementer"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:488
+#: frontend/src/metabase/components/CollectionLanding.jsx:523
 msgid "Move \"{0}\"?"
 msgstr "Flytt \"{0}\"?"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:594
+#: frontend/src/metabase/components/CollectionLanding.jsx:631
 #: frontend/src/metabase/components/EntityMenu.info.js:29
 #: frontend/src/metabase/components/EntityMenu.info.js:85
-#: frontend/src/metabase/containers/CollectionMoveModal.jsx:78
+#: frontend/src/metabase/containers/CollectionMoveModal.jsx:69
 msgid "Move"
 msgstr "Flytt"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:656
+#: frontend/src/metabase/components/CollectionLanding.jsx:692
 msgid "Edit this collection"
 msgstr "Rediger denne samlingen"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:664
+#: frontend/src/metabase/components/CollectionLanding.jsx:700
 msgid "Archive this collection"
 msgstr "Arkiver denne samlingen"
 
 #: frontend/src/metabase/components/CollectionList.jsx:64
-#: frontend/src/metabase/entities/collections.js:148
+#: frontend/src/metabase/entities/collections.js:155
 msgid "My personal collection"
 msgstr "Min personlige samling"
 
 #: frontend/src/metabase/components/CollectionList.jsx:106
-#: frontend/src/metabase/containers/CollectionForm.jsx:9
 msgid "New collection"
 msgstr "Ny samling"
 
@@ -2390,15 +2373,16 @@ msgstr "Hvordan vil du referere til denne databasen?"
 msgid "Next"
 msgstr "Neste"
 
+#: frontend/src/metabase/components/ArchivedItem.jsx:52
 #: frontend/src/metabase/components/DeleteModalWithConfirm.jsx:80
 msgid "Delete this {0}"
 msgstr "Slett denne {0}"
 
-#: frontend/src/metabase/components/EntityItem.jsx:42
+#: frontend/src/metabase/components/EntityItem.jsx:43
 msgid "Pin this item"
 msgstr "Fest dette elementet"
 
-#: frontend/src/metabase/components/EntityItem.jsx:48
+#: frontend/src/metabase/components/EntityItem.jsx:49
 msgid "Move this item"
 msgstr "Flytt dette elementet"
 
@@ -2545,6 +2529,7 @@ msgid "No description yet"
 msgstr "Ingen beskrivelse enda"
 
 #: frontend/src/metabase/components/Header.jsx:112
+#: frontend/src/metabase/entities/containers/EntityForm.jsx:43
 msgid "New {0}"
 msgstr "Ny {0}"
 
@@ -2608,22 +2593,22 @@ msgid "Everything"
 msgstr "Alt"
 
 #: frontend/src/metabase/components/ItemTypeFilterBar.jsx:18
-#: frontend/src/metabase/home/containers/SearchApp.jsx:73
+#: frontend/src/metabase/home/containers/SearchApp.jsx:69
 msgid "Dashboards"
 msgstr "Infotavler"
 
 #: frontend/src/metabase/components/ItemTypeFilterBar.jsx:23
-#: frontend/src/metabase/home/containers/SearchApp.jsx:119
+#: frontend/src/metabase/home/containers/SearchApp.jsx:115
 msgid "Questions"
 msgstr "Spørsmål"
 
 #: frontend/src/metabase/components/ItemTypeFilterBar.jsx:28
-#: frontend/src/metabase/routes.jsx:320
+#: frontend/src/metabase/routes.jsx:321
 msgid "Pulses"
 msgstr "Pulser"
 
 #: frontend/src/metabase/components/LeftNavPane.jsx:36
-#: frontend/src/metabase/query_builder/components/dataref/DataReference.jsx:86
+#: frontend/src/metabase/query_builder/components/dataref/DataReference.jsx:103
 msgid "Back"
 msgstr "Tilbake"
 
@@ -2724,6 +2709,7 @@ msgid "First"
 msgstr "Først"
 
 #: frontend/src/metabase/components/SchedulePicker.jsx:34
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:23
 msgid "Last"
 msgstr "Sist"
 
@@ -2780,8 +2766,8 @@ msgstr "Beklager, du har ikke tilgang til å se dette."
 msgid "Unknown error encountered"
 msgstr "Ukjent feil oppstod"
 
-#: frontend/src/metabase/components/form/StandardForm.jsx:67
-#: frontend/src/metabase/nav/containers/Navbar.jsx:305
+#: frontend/src/metabase/components/form/StandardForm.jsx:69
+#: frontend/src/metabase/nav/containers/Navbar.jsx:304
 msgid "Create"
 msgstr "Lag"
 
@@ -2817,12 +2803,13 @@ msgid "View by"
 msgstr "Vis med"
 
 #: frontend/src/metabase/containers/EntitySearch.jsx:494
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:84
 #: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:69
 #: frontend/src/metabase/tutorial/TutorialModal.jsx:34
 msgid "of"
 msgstr "av"
 
-#: frontend/src/metabase/containers/Overworld.jsx:80
+#: frontend/src/metabase/containers/Overworld.jsx:75
 msgid "Don't tell anyone, but you're my favorite."
 msgstr "Ikke si det til noen, men du er min favoritt."
 
@@ -2830,19 +2817,19 @@ msgstr "Ikke si det til noen, men du er min favoritt."
 msgid "Once you connect your own data, I can show you some automatic explorations called x-rays. Here are some examples with sample data."
 msgstr "Når du kobler til dine data, kan jeg gjøre en automatisk utforsking kalt X-ray. Her er noen eksempler med test-data."
 
-#: frontend/src/metabase/containers/Overworld.jsx:133
-#: frontend/src/metabase/containers/Overworld.jsx:304
+#: frontend/src/metabase/containers/Overworld.jsx:128
+#: frontend/src/metabase/containers/Overworld.jsx:299
 #: frontend/src/metabase/reference/components/GuideHeader.jsx:12
 msgid "Start here"
 msgstr "Start her"
 
-#: frontend/src/metabase/containers/Overworld.jsx:299
-#: frontend/src/metabase/entities/collections.js:140
+#: frontend/src/metabase/containers/Overworld.jsx:294
+#: frontend/src/metabase/entities/collections.js:147
 #: src/metabase/models/collection.clj
 msgid "Our analytics"
 msgstr "VÃ¥r analyse"
 
-#: frontend/src/metabase/containers/Overworld.jsx:208
+#: frontend/src/metabase/containers/Overworld.jsx:203
 msgid "Browse all items"
 msgstr "Bla gjennom alle elementer"
 
@@ -2870,9 +2857,11 @@ msgstr "Lagre spørsmålet"
 msgid "What is the name of your card?"
 msgstr "Hva er navnet på kortet ditt?"
 
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:31
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:18
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:232
-#: frontend/src/metabase/entities/collections.js:94
-#: frontend/src/metabase/entities/dashboards.js:102
+#: frontend/src/metabase/entities/collections.js:101
+#: frontend/src/metabase/entities/dashboards.js:151
 #: frontend/src/metabase/lib/core.js:50 frontend/src/metabase/lib/core.js:205
 #: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:156
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:211
@@ -2885,12 +2874,12 @@ msgid "Description"
 msgstr "Beskrivelse"
 
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:238
-#: frontend/src/metabase/entities/dashboards.js:104
+#: frontend/src/metabase/entities/dashboards.js:153
 msgid "It's optional but oh, so helpful"
 msgstr "Det er valgfritt, men veldig hjelpsomt"
 
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:245
-#: frontend/src/metabase/entities/dashboards.js:108
+#: frontend/src/metabase/entities/dashboards.js:157
 msgid "Which collection should this go in?"
 msgstr "Hvilken samling skal denne være i?"
 
@@ -2930,11 +2919,11 @@ msgstr "Arkiver infotavle"
 msgid "Make sure to make a selection for each series, or the filter won't work on this card."
 msgstr "Forsikre deg om at noe i hver serie er valgt, ellers vil ikke filteret virke på dette kortet."
 
-#: frontend/src/metabase/dashboard/components/Dashboard.jsx:286
+#: frontend/src/metabase/dashboard/components/Dashboard.jsx:300
 msgid "This dashboard is looking empty."
 msgstr "Denne infotavlen ser ut til å være tom."
 
-#: frontend/src/metabase/dashboard/components/Dashboard.jsx:289
+#: frontend/src/metabase/dashboard/components/Dashboard.jsx:301
 msgid "Add a question to start making it useful!"
 msgstr "Legg til ett spørsmål for og gjøre det nyttig!"
 
@@ -2982,23 +2971,23 @@ msgstr "Parametere"
 msgid "Add a text box"
 msgstr "Legg til en tekst boks"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:302
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:319
 msgid "Move dashboard"
 msgstr "Flytt infotavlen"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:315
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:302
 msgid "Edit dashboard"
 msgstr "Rediger infotavle"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:319
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:306
 msgid "Edit Dashboard Layout"
 msgstr "Rediger visning av infotavle"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:357
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:369
 msgid "You are editing a dashboard"
 msgstr "Du redigerer en infotavle"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:362
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:374
 msgid "Select the field that should be filtered for each card"
 msgstr "Velg feltet som skal være filtrert for hvert kort"
 
@@ -3065,6 +3054,7 @@ msgstr "Fjern dette spørsmålet?"
 msgid "Your dashboard was saved"
 msgstr "Infotavlen ble lagret"
 
+#: frontend/src/metabase/components/CollectionLanding.jsx:745
 #: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:76
 msgid "See it"
 msgstr "Se det"
@@ -3090,15 +3080,15 @@ msgstr "Verdiene i dette feltet overlapper ikke med verdiene i noen andre felt d
 msgid "No valid fields"
 msgstr "Ingen gyldige felt"
 
-#: frontend/src/metabase/entities/collections.js:90
+#: frontend/src/metabase/entities/collections.js:97
 msgid "Name must be 100 characters or less"
 msgstr "Navn må være 100 tegn eller mindre"
 
-#: frontend/src/metabase/entities/collections.js:104
+#: frontend/src/metabase/entities/collections.js:111
 msgid "Color is required"
 msgstr "Farge er påkrevd"
 
-#: frontend/src/metabase/entities/dashboards.js:97
+#: frontend/src/metabase/entities/dashboards.js:146
 msgid "What is the name of your dashboard?"
 msgstr "Hva er navnet på infotavlen din?"
 
@@ -3151,7 +3141,9 @@ msgstr "fjernet et spørsmål fra infotavlen - "
 msgid "received the latest data from"
 msgstr "mottok de siste dataene fra"
 
+#: frontend/src/metabase-lib/lib/Dimension.js:621
 #: frontend/src/metabase/home/components/Activity.jsx:244
+#: frontend/src/metabase/lib/query_time.js:180
 #: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:273
 msgid "Unknown"
 msgstr "Ukjent"
@@ -3274,17 +3266,17 @@ msgstr "Nylig vist"
 msgid "You haven't looked at any dashboards or questions recently"
 msgstr "Du har ikke sett på noen infotavler eller spørsmål nylig"
 
-#: frontend/src/metabase/home/containers/ArchiveApp.jsx:82
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:99
 msgid "{0} items selected"
 msgstr "{0} elementer valgt"
 
-#: frontend/src/metabase/home/containers/ArchiveApp.jsx:102
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:121
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:172
 msgid "Unarchive"
 msgstr "Dearkiver"
 
 #: frontend/src/metabase/home/containers/HomepageApp.jsx:74
-#: frontend/src/metabase/nav/containers/Navbar.jsx:332
+#: frontend/src/metabase/nav/containers/Navbar.jsx:331
 msgid "Activity"
 msgstr "Aktivitet"
 
@@ -3292,7 +3284,7 @@ msgstr "Aktivitet"
 msgid "Results for \"{0}\""
 msgstr "Resultater for \"{0}\""
 
-#: frontend/src/metabase/home/containers/SearchApp.jsx:142
+#: frontend/src/metabase/home/containers/SearchApp.jsx:138
 msgid "Pulse"
 msgstr "Puls"
 
@@ -3355,7 +3347,7 @@ msgstr "Vanlig"
 
 #: frontend/src/metabase/lib/core.js:30
 #: frontend/src/metabase/meta/Dashboard.js:81
-#: frontend/src/metabase/qb/components/actions/PivotByCategoryAction.jsx:9
+#: frontend/src/metabase/modes/components/actions/PivotByCategoryAction.jsx:9
 msgid "Category"
 msgstr "Kategori"
 
@@ -3391,10 +3383,11 @@ msgstr "Lengdegrad"
 
 #: frontend/src/metabase/lib/core.js:85
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:149
-#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:39
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:41
 msgid "Number"
 msgstr "Nummer"
 
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:19
 #: frontend/src/metabase/lib/core.js:90
 #: frontend/src/metabase/meta/Dashboard.js:65
 msgid "State"
@@ -3558,7 +3551,7 @@ msgid "CumulativeCount"
 msgstr "KumulativTelling"
 
 #: frontend/src/metabase/lib/expressions/config.js:9
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:17
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:17
 #: frontend/src/metabase/visualizations/lib/utils.js:127
 msgid "Sum"
 msgstr "Sum"
@@ -3582,14 +3575,14 @@ msgid "Average"
 msgstr "Gjennomsnitt"
 
 #: frontend/src/metabase/lib/expressions/config.js:14
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:25
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:25
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:48
 #: frontend/src/metabase/visualizations/lib/settings/graph.js:450
 msgid "Min"
 msgstr "Min"
 
 #: frontend/src/metabase/lib/expressions/config.js:15
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:29
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:29
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:57
 #: frontend/src/metabase/visualizations/lib/settings/graph.js:458
 msgid "Max"
@@ -3599,13 +3592,13 @@ msgstr "Maks"
 msgid "sad sad panda, lexing errors detected"
 msgstr "trist trist panda, leksikalske feil ble funnet"
 
-#: frontend/src/metabase/lib/formatting.js:724
+#: frontend/src/metabase/lib/formatting.js:707
 msgid "{0} second"
 msgid_plural "{0} seconds"
 msgstr[0] "{0} sekund"
 msgstr[1] "{0} sekunder"
 
-#: frontend/src/metabase/lib/formatting.js:727
+#: frontend/src/metabase/lib/formatting.js:710
 msgid "{0} minute"
 msgid_plural "{0} minutes"
 msgstr[0] "{0} minutt"
@@ -3864,16 +3857,16 @@ msgid "Cumulative sum of ..."
 msgstr "Kumulativ sum av ..."
 
 #: frontend/src/metabase/lib/schema_metadata.js:493
-msgid "Additive sum of all the values of a column.\\ne.x. total revenue over time."
-msgstr "Additiv sum av alle verdiene i en kolonne.\\nf.eks. total omsetning over tid."
+msgid "Additive sum of all the values of a column.\\\\ne.x. total revenue over time."
+msgstr "Additiv sum av alle verdiene i en kolonne.\\\\nf.eks. total omsetning over tid."
 
 #: frontend/src/metabase/lib/schema_metadata.js:499
 msgid "Cumulative count of rows"
 msgstr "Kumulativ telling av rader"
 
 #: frontend/src/metabase/lib/schema_metadata.js:501
-msgid "Additive count of the number of rows.\\ne.x. total number of sales over time."
-msgstr "Additiv telling av antall rader.\\nf.eks. antall salg over tid."
+msgid "Additive count of the number of rows.\\\\ne.x. total number of sales over time."
+msgstr "Additiv telling av antall rader.\\\\nf.eks. antall salg over tid."
 
 #: frontend/src/metabase/lib/schema_metadata.js:507
 msgid "Standard deviation of ..."
@@ -4039,7 +4032,7 @@ msgid "ID"
 msgstr "ID"
 
 #: frontend/src/metabase/meta/Dashboard.js:95
-#: frontend/src/metabase/qb/components/actions/PivotByTimeAction.jsx:8
+#: frontend/src/metabase/modes/components/actions/PivotByTimeAction.jsx:8
 msgid "Time"
 msgstr "Tid"
 
@@ -4048,7 +4041,7 @@ msgid "Date range, relative date, time of day, etc."
 msgstr "Datointervall, relativ dato, tid på dagen, osv."
 
 #: frontend/src/metabase/meta/Dashboard.js:101
-#: frontend/src/metabase/qb/components/actions/PivotByLocationAction.jsx:8
+#: frontend/src/metabase/modes/components/actions/PivotByLocationAction.jsx:8
 msgid "Location"
 msgstr "Sted"
 
@@ -4068,73 +4061,73 @@ msgstr "Andre kategorier"
 msgid "Category, Type, Model, Rating, etc."
 msgstr "Kategori, Type, Modell, Vurdering, osv."
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:43
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:42
 #: frontend/src/metabase/user/components/UserSettings.jsx:54
 msgid "Account settings"
 msgstr "Kontoinnstillinger"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:50
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:49
 msgid "Exit admin"
 msgstr "Lukk admin"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:60
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:34
 msgid "Logs"
 msgstr "Logger"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:67
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:58
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorSidebar.jsx:105
 msgid "Help"
 msgstr "Hjelp"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:76
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:67
 msgid "About Metabase"
 msgstr "Om Metabase"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:82
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:73
 msgid "Sign out"
 msgstr "Logg ut"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:107
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:98
 msgid "Thanks for using"
 msgstr "Takk for at du bruker"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:111
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:102
 msgid "You're on version"
 msgstr "Du bruker versjon"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:114
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:105
 msgid "Built on"
 msgstr "Bygget den"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:133
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:124
 msgid "is a Trademark of"
 msgstr "er et varemerke for"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:135
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:126
 msgid "and is built with care in San Francisco, CA"
 msgstr "og er bygget med omhu i San Francisco, California"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:195
+#: frontend/src/metabase/nav/containers/Navbar.jsx:194
 msgid "Metabase Admin"
 msgstr "Metabase Admin"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:301
+#: frontend/src/metabase/nav/containers/Navbar.jsx:300
 #: frontend/src/metabase/reference/databases/TableQuestions.jsx:36
 #: frontend/src/metabase/reference/metrics/MetricQuestions.jsx:37
 #: frontend/src/metabase/reference/segments/SegmentQuestions.jsx:37
 msgid "Ask a question"
 msgstr "Still et spørsmål"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:310
+#: frontend/src/metabase/nav/containers/Navbar.jsx:309
 msgid "New dashboard"
 msgstr "Ny infotavle"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:316
+#: frontend/src/metabase/nav/containers/Navbar.jsx:315
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:127
 msgid "New pulse"
 msgstr "Ny puls"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:324
+#: frontend/src/metabase/nav/containers/Navbar.jsx:323
 msgid "Reference"
 msgstr "Referanse"
 
@@ -4183,17 +4176,22 @@ msgid "Select a default value…"
 msgstr "Velg en standardverdi..."
 
 #: frontend/src/metabase/parameters/components/widgets/DateAllOptionsWidget.jsx:149
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:390
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:404
 msgid "Update filter"
 msgstr "Oppdater filter"
 
+#: frontend/src/metabase/lib/query_time.js:112
+#: frontend/src/metabase/lib/query_time.js:123
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:9
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:144
+#: src/metabase/pulse/render.clj
 msgid "Today"
 msgstr "I dag"
 
+#: frontend/src/metabase/lib/query_time.js:118
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:14
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:148
+#: src/metabase/pulse/render.clj
 msgid "Yesterday"
 msgstr "I går"
 
@@ -4205,23 +4203,32 @@ msgstr "Siste 7 dager"
 msgid "Past 30 days"
 msgstr "Siste 30 dager"
 
+#: frontend/src/metabase/lib/query_time.js:195
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:24
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:29
 #: src/metabase/api/table.clj
 msgid "Week"
-msgstr "Uke"
+msgid_plural "Weeks"
+msgstr[0] "Uke"
+msgstr[1] "Uker"
 
+#: frontend/src/metabase/lib/query_time.js:197
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:25
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:30
 #: src/metabase/api/table.clj
 msgid "Month"
-msgstr "MÃ¥ned"
+msgid_plural "Months"
+msgstr[0] "MÃ¥ned"
+msgstr[1] "MÃ¥neder"
 
+#: frontend/src/metabase/lib/query_time.js:201
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:26
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:31
 #: src/metabase/api/table.clj
 msgid "Year"
-msgstr "Ã…r"
+msgid_plural "Years"
+msgstr[0] "Ã…r"
+msgstr[1] "Ã…r"
 
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:152
 msgid "Past 7 Days"
@@ -4255,7 +4262,7 @@ msgstr "Denne MÃ¥neden"
 msgid "This Year"
 msgstr "Dette Ã…ret"
 
-#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:88
+#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:89
 #: frontend/src/metabase/parameters/components/widgets/TextWidget.jsx:54
 msgid "Enter a value..."
 msgstr "Skriv en verdi..."
@@ -4438,7 +4445,7 @@ msgid "This pulse will no longer be emailed to {0} {1}"
 msgstr "Denne pulsen vil ikke lenger bli sendt til {0} {1}"
 
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:94
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:374
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:376
 msgid "{0} address"
 msgid_plural "{0} addresses"
 msgstr[0] "{0} adresse"
@@ -4466,7 +4473,7 @@ msgstr "Skjønner"
 
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:157
 msgid "Where should this data go?"
-msgstr "Hvor bør disse dataene gå?"
+msgstr "Hvor skal disse dataene sendes?"
 
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:173
 msgid "Unarchiving…"
@@ -4490,7 +4497,7 @@ msgstr "Vedlegg"
 
 #: frontend/src/metabase/pulse/components/PulseEditCards.jsx:104
 #: frontend/src/metabase/pulse/components/PulseEditCards.jsx:111
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:671
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:673
 msgid "Heads up"
 msgstr "Varsko"
 
@@ -4518,55 +4525,55 @@ msgstr "Velg dataene dine"
 msgid "Choose questions you'd like to send in this pulse"
 msgstr "Velg spørsmål du vil sende med denne pulsen"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:29
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:27
 msgid "Emails"
 msgstr "E-poster"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:30
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:28
 msgid "Slack messages"
 msgstr "Slack-meldinger"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:223
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:221
 msgid "Sent"
 msgstr "Sendt"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:224
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:222
 msgid "{0} will be sent at"
 msgstr "{0} vil bli sendt"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:226
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:224
 msgid "Messages"
 msgstr "Meldinger"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:237
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:240
 msgid "Send email now"
 msgstr "Send e-post nå"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:238
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:241
 msgid "Send to {0} now"
 msgstr "Send til {0} nå"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:240
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:243
 msgid "Sending…"
 msgstr "Sender..."
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:241
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:244
 msgid "Sending failed"
 msgstr "Sending feilet"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:244
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:247
 msgid "Didn’t send because the pulse has no results."
 msgstr "Sendte ikke, fordi pulsen ikke har noen resultater."
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:245
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:248
 msgid "Pulse sent"
 msgstr "Puls sendt"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:284
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:287
 msgid "{0} needs to be set up by an administrator."
 msgstr "{0} må settes opp av en administrator"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:299
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:302
 msgid "Slack"
 msgstr "Slack"
 
@@ -4606,66 +4613,66 @@ msgstr "Hjelp alle på ditt lag med å holde seg i synk med dine data."
 msgid "Pulses let you send data from Metabase to email or Slack on the schedule of your choice."
 msgstr "Pulser lar deg sende data fra Metabase som e-post eller Slack-meldinger enten regelmessig eller etter behov."
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:100
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:100
 msgid "After {0}"
 msgstr "Etter {0}"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:102
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:102
 msgid "Before {0}"
 msgstr "Før {0}"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:104
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:104
 #: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:295
 msgid "Is Empty"
 msgstr "Er tom"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:106
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:106
 #: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:301
 msgid "Not Empty"
 msgstr "Ikke tom"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:109
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:109
 #: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:213
 msgid "All Time"
 msgstr "Hele tiden"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:154
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:154
 msgid "Apply"
 msgstr "Bruk"
 
-#: frontend/src/metabase/qb/components/actions/CommonMetricsAction.jsx:21
+#: frontend/src/metabase/modes/components/actions/CommonMetricsAction.jsx:21
 msgid "View {0}"
 msgstr "Vis {0}"
 
-#: frontend/src/metabase/qb/components/actions/CompareWithTable.jsx:29
+#: frontend/src/metabase/modes/components/actions/CompareWithTable.jsx:29
 msgid "Compare this with all rows in the table"
 msgstr "Sammenlign dette med alle rader i tabellen"
 
-#: frontend/src/metabase/qb/components/actions/CompoundQueryAction.jsx:14
+#: frontend/src/metabase/modes/components/actions/CompoundQueryAction.jsx:14
 msgid "Analyze the results of this Query"
 msgstr "Analyser resultatene av denne Spørringen"
 
-#: frontend/src/metabase/qb/components/actions/CountByTimeAction.jsx:29
+#: frontend/src/metabase/modes/components/actions/CountByTimeAction.jsx:29
 msgid "Count of rows by time"
 msgstr "Antall rader over tid"
 
-#: frontend/src/metabase/qb/components/actions/PivotByAction.jsx:55
+#: frontend/src/metabase/modes/components/actions/PivotByAction.jsx:52
 msgid "Break out by {0}"
 msgstr "Bryt ut ved {0}"
 
-#: frontend/src/metabase/qb/components/actions/SummarizeBySegmentMetricAction.jsx:34
+#: frontend/src/metabase/modes/components/actions/SummarizeBySegmentMetricAction.jsx:31
 msgid "Summarize this segment"
 msgstr "Oppsummer dette segmentet"
 
-#: frontend/src/metabase/qb/components/actions/UnderlyingDataAction.jsx:14
+#: frontend/src/metabase/modes/components/actions/UnderlyingDataAction.jsx:14
 msgid "View this as a table"
 msgstr "Vis dette som en tabell"
 
-#: frontend/src/metabase/qb/components/actions/UnderlyingRecordsAction.jsx:22
+#: frontend/src/metabase/modes/components/actions/UnderlyingRecordsAction.jsx:22
 msgid "View the underlying {0} records"
 msgstr "Vis de underliggende {0} oppføringene"
 
-#: frontend/src/metabase/qb/components/actions/XRayCard.jsx:20
+#: frontend/src/metabase/modes/components/actions/XRayCard.jsx:20
 msgid "X-Ray this question"
 msgstr "Utfør X-ray på dette spørsmålet"
 
@@ -4687,46 +4694,46 @@ msgstr "denne"
 msgid "Compare {0} {1} to the rest"
 msgstr "Sammenlign {0} {1} med resten"
 
-#: frontend/src/metabase/qb/components/drill/DistributionDrill.jsx:35
+#: frontend/src/metabase/modes/components/drill/DistributionDrill.jsx:35
 msgid "Distribution"
 msgstr "Distribusjon"
 
-#: frontend/src/metabase/qb/components/drill/ObjectDetailDrill.jsx:38
+#: frontend/src/metabase/modes/components/drill/ObjectDetailDrill.jsx:38
 msgid "View details"
 msgstr "Vis detaljer"
 
-#: frontend/src/metabase/qb/components/drill/QuickFilterDrill.jsx:54
+#: frontend/src/metabase/modes/components/drill/QuickFilterDrill.jsx:54
 msgid "View this {0}'s {1}"
 msgstr "Vis denne {0}s {1}"
 
-#: frontend/src/metabase/qb/components/drill/SortAction.jsx:41
+#: frontend/src/metabase/modes/components/drill/SortAction.jsx:42
 msgid "Ascending"
 msgstr "Stigende"
 
-#: frontend/src/metabase/qb/components/drill/SortAction.jsx:49
+#: frontend/src/metabase/modes/components/drill/SortAction.jsx:50
 msgid "Descending"
 msgstr "Synkende"
 
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnByTimeDrill.js:47
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnByTimeDrill.js:47
 msgid "over time"
 msgstr "over tid"
 
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:21
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:21
 msgid "Avg"
 msgstr "Gjennomsnitt"
 
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:33
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:33
 msgid "Distincts"
 msgstr "Unike"
 
-#: frontend/src/metabase/qb/components/drill/UnderlyingRecordsDrill.jsx:32
+#: frontend/src/metabase/modes/components/drill/UnderlyingRecordsDrill.jsx:32
 msgid "View this {0}"
 msgid_plural "View these {0}"
 msgstr[0] "Vis denne {0}"
 msgstr[1] "Vis disse {0}"
 
 #: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:225
-#: frontend/src/metabase/qb/components/drill/ZoomDrill.jsx:26
+#: frontend/src/metabase/modes/components/drill/ZoomDrill.jsx:26
 msgid "Zoom in"
 msgstr "Forstørr"
 
@@ -4738,63 +4745,63 @@ msgstr "Egendefinert uttrykk"
 msgid "Common Metrics"
 msgstr "Vanlige indikatorer"
 
-#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:182
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:209
 msgid "Metabasics"
 msgstr "Metabasics"
 
-#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:290
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:319
 msgid "Name (optional)"
 msgstr "Navn (valgfritt)"
 
-#: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:153
+#: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:156
 msgid "Choose an aggregation"
 msgstr "Velg en aggregering"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:115
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:100
 msgid "Set up your own alert"
 msgstr "Sett opp ditt eget varsel"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:155
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:140
 msgid "Unsubscribing..."
 msgstr "Stopper abonnement..."
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:160
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:145
 msgid "Failed to unsubscribe"
 msgstr "Klarte ikke å stoppe abonnement"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:216
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:204
 msgid "Unsubscribe"
 msgstr "Stopp abonnement"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:247
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:235
 msgid "No channel"
 msgstr "Ingen kanal"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:274
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:263
 msgid "Okay, you're unsubscribed"
 msgstr "Okei, du har meldt deg av"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:346
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:335
 msgid "You're receiving {0}'s alerts"
 msgstr "Du mottar {0}s varsler"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:347
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:336
 msgid "{0} set up an alert"
 msgstr "{0} satte opp en varsel"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:161
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:160
 msgid "alerts"
 msgstr "varsler"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:184
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:183
 msgid "Let's set up your alert"
 msgstr "La oss sette opp varselet ditt"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:215
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:214
 msgid "The wide world of alerts"
 msgstr "En verden av varsler"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:216
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:215
 msgid "There are a few different kinds of alerts you can get"
 msgstr "Det er noen forskjellige typer varsler du kan få"
 
@@ -4806,123 +4813,123 @@ msgstr "Når et rådata-spørsmål {0}"
 msgid "returns any results"
 msgstr "returnerer alle resultater"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:240
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:241
 msgid "When a line or bar {0}"
 msgstr "NÃ¥r en linje eller stolpe {0}"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:241
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:242
 msgid "crosses a goal line"
 msgstr "krysser en mållinje"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:251
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:253
 msgid "When a progress bar {0}"
 msgstr "NÃ¥r en fremdriftsindikator {0}"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:252
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:254
 msgid "reaches its goal"
 msgstr "når sitt mål"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:260
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:262
 msgid "Set up an alert"
 msgstr "Sett opp et varsel"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:329
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:331
 msgid "Edit your alert"
 msgstr "Rediger varselet ditt"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:329
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:331
 msgid "Edit alert"
 msgstr "Rediger varsel"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:372
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:374
 msgid "This alert will no longer be emailed to {0}."
 msgstr "Dette varselet vil ikke lenger bli sendt til {0}"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:380
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:382
 msgid "Slack channel {0} will no longer get this alert."
 msgstr "Slack-kanalen {0} vil ikke lenger motta dette varselet."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:384
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:386
 msgid "Channel {0} will no longer receive this alert."
 msgstr "Kanalen {0} vil ikke lenger motta dette varselet."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:401
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:403
 msgid "Delete this alert"
 msgstr "Slett dette varselet."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:403
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:405
 msgid "Stop delivery and delete this alert. There's no undo, so be careful."
 msgstr "Stopp levering og slett dette varselet. Det er ingen måte å angre dette, så vær forsiktig."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:411
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:413
 msgid "Delete this alert?"
 msgstr "Slett dette varselet?"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:495
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:497
 msgid "Alert me when the line…"
 msgstr "Varsle meg når linjen..."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:496
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:498
 msgid "Alert me when the progress bar…"
 msgstr "Varsle meg når fremdriftsindikatoren..."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:499
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:501
 msgid "Goes above the goal line"
 msgstr "Går over mållinjen"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:499
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:501
 msgid "Reaches the goal"
 msgstr "Når målet"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:502
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:504
 msgid "Goes below the goal line"
 msgstr "Går under mållinjen"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:502
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:504
 msgid "Goes below the goal"
 msgstr "Går under målet"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:510
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:512
 msgid "The first time it crosses, or every time?"
 msgstr "Første gangen den krysser, eller hver gang?"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:511
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:513
 msgid "The first time it reaches the goal, or every time?"
 msgstr "Første gangen den når målet, eller hver gang?"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:513
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:515
 msgid "The first time"
 msgstr "Første gangen"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:514
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:516
 msgid "Every time"
 msgstr "Hver gang"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:617
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:619
 msgid "Where do you want to send these alerts?"
 msgstr "Hvor vil du ha disse varslene sendt?"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:628
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:630
 msgid "Email alerts to:"
 msgstr "Send e-postvarsel til:"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:670
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:672
 msgid "{0} Goal-based alerts aren't yet supported for charts with more than one line, so this alert will be sent whenever the chart has {1}."
 msgstr "{0} Måldrevne varseler støttes ikke enda for diagrammer med mer enn én linje, så dette varselet vil bli sendt når enn diagrammet har {1}."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:673
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:675
 msgid "results"
 msgstr "resultater"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:677
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:679
 msgid "{0} This kind of alert is most useful when your saved question doesn’t {1} return any results, but you want to know when it does."
 msgstr "{0} Denne typen varsel er mest nyttig når dine lagrede spørsmål ikke {1} returnerer noen resultater, men du vil vite når de gjør det."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:678
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:680
 msgid "Tip"
 msgstr "Tips"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:680
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:682
 msgid "usually"
 msgstr "vanligvis"
 
@@ -4945,28 +4952,28 @@ msgstr "Velg..."
 msgid "Select a table"
 msgstr "Velg en tabell"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:785
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:793
 msgid "No tables found in this database."
 msgstr "Ingen tabeller funnet for denne databasen"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:822
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:830
 msgid "Is a question missing?"
 msgstr "Mangler det et spørsmål?"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:826
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:834
 msgid "Learn more about nested queries"
 msgstr "Lær mer om nøstede spørringer"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:860
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:868
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:30
 msgid "Fields"
 msgstr "Felter"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:938
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:946
 msgid "No segments were found."
 msgstr "Ingen segmenter ble funnet."
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:961
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:969
 msgid "Find a segment"
 msgstr "Finn et segment"
 
@@ -4978,27 +4985,27 @@ msgstr "Vis mindre"
 msgid "View more"
 msgstr "Vis mer"
 
-#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:111
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:112
 msgid "Pick a field to sort by"
 msgstr "Velg et felt det skal sorteres etter"
 
-#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:124
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:125
 msgid "Sort"
 msgstr "Sorter"
 
-#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:193
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:137
 msgid "Row limit"
 msgstr "Radgrense"
 
-#: frontend/src/metabase/query_builder/components/FieldName.jsx:76
+#: frontend/src/metabase/query_builder/components/FieldName.jsx:69
 msgid "Unknown Field"
 msgstr "Ukjent felt"
 
-#: frontend/src/metabase/query_builder/components/FieldName.jsx:79
+#: frontend/src/metabase/query_builder/components/FieldName.jsx:72
 msgid "field"
 msgstr "felt"
 
-#: frontend/src/metabase/query_builder/components/Filter.jsx:113
+#: frontend/src/metabase/query_builder/components/Filter.jsx:114
 msgid "Matches"
 msgstr "Matcher"
 
@@ -5019,11 +5026,11 @@ msgstr "Legg til en gruppering"
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:59
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:68
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:75
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:226
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:232
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:238
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:62
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:67
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:225
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:231
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:237
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:70
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:75
 msgid "Data"
 msgstr "Data"
 
@@ -5031,7 +5038,7 @@ msgstr "Data"
 msgid "Filtered by"
 msgstr "Filtrert etter"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:82
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:75
 #: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:369
 msgid "View"
 msgstr "Vis"
@@ -5265,8 +5272,7 @@ msgstr "Tilbake til siste kjøring"
 msgid "Visualization"
 msgstr "Visualisering"
 
-#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:17
-#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:151
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:96
 msgid "No description set."
 msgstr "Ingen beskrivelse satt."
 
@@ -5274,12 +5280,11 @@ msgstr "Ingen beskrivelse satt."
 msgid "Use for current question"
 msgstr "Bruk til dette spørsmålet"
 
-#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:33
 #: frontend/src/metabase/reference/components/UsefulQuestions.jsx:16
 msgid "Potentially useful questions"
 msgstr "Potensielt nyttige spørsmål"
 
-#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:156
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:166
 msgid "Group by {0}"
 msgstr "Grupper med {0}"
 
@@ -5287,20 +5292,19 @@ msgstr "Grupper med {0}"
 msgid "Sum of all values of {0}"
 msgstr "Sum av alle verdier med {0}"
 
-#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:173
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:63
 #: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:51
 msgid "All distinct values of {0}"
 msgstr "Alle distinkte verdier av {0}"
 
-#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:177
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:187
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:39
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:51
 #: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:39
 msgid "Number of {0} grouped by {1}"
 msgstr "Nummer av {0} gruppert med {0}"
 
-#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:11
+#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:10
 #: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:20
 #: frontend/src/metabase/reference/databases/FieldSidebar.jsx:30
 #: frontend/src/metabase/reference/databases/TableSidebar.jsx:26
@@ -5355,15 +5359,15 @@ msgstr "En feil oppstod ved innlasting av tabell"
 msgid "See the raw data for {0}"
 msgstr "Se rådata for {0}"
 
-#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:205
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:180
 msgid "More"
 msgstr "Mer"
 
-#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:200
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:201
 msgid "Invalid expression"
 msgstr "Ugyldig uttrykk"
 
-#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:275
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:276
 msgid "unknown error"
 msgstr "ukjent feil"
 
@@ -5424,19 +5428,19 @@ msgstr "dette minuttet"
 msgid "this hour"
 msgstr "denne timen"
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:285
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:290
 msgid "not implemented {0}"
 msgstr "ikke implementert {0}"
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:286
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:291
 msgid "true"
 msgstr "riktig"
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:286
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:291
 msgid "false"
 msgstr "feil"
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:390
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:404
 msgid "Add filter"
 msgstr "Legg til filter"
 
@@ -5735,7 +5739,7 @@ msgstr "Ting å være klar over om denne databasen"
 msgid "Databases and tables"
 msgstr "Databaser og tabeller"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:68
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:61
 #: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:27
 #: frontend/src/metabase/reference/databases/FieldSidebar.jsx:41
 #: frontend/src/metabase/reference/databases/TableDetail.jsx:170
@@ -6122,7 +6126,7 @@ msgstr "Søk"
 msgid "Dashboard"
 msgstr "Infotavle"
 
-#: frontend/src/metabase/routes.jsx:227
+#: frontend/src/metabase/routes.jsx:228
 msgid "New Question"
 msgstr "Nytt spørsmål"
 
@@ -6433,7 +6437,7 @@ msgstr "Logg inn med Google E-postadresse"
 msgid "User Details"
 msgstr "Brukerdetaljer"
 
-#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:235
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:275
 msgid "Reset to defaults"
 msgstr "Tilbakestill til standard"
 
@@ -6482,35 +6486,35 @@ msgstr "Ikke satt"
 msgid "Rows {0}-{1} of {2}"
 msgstr "Rader {0}-{1} av {2}"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:187
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:189
 msgid "Data truncated to {0} rows."
 msgstr "Data redusert til {0} rader."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:352
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:364
 msgid "Could not find visualization"
 msgstr "Kunne ikke finne visualisering"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:359
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:371
 msgid "Could not display this chart with this data."
 msgstr "Kunne ikke vise grafen med denne dataen."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:457
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:469
 msgid "No results!"
 msgstr "Ingen resultater!"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:478
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:490
 msgid "Still Waiting..."
 msgstr "Venter fortsatt..."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:481
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:493
 msgid "This usually takes an average of {0}."
 msgstr "Dette tar vanligvis gjennomsnittlig {0}."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:487
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:499
 msgid "(This is a bit long for a dashboard)"
 msgstr "(dette er litt for langt for en infotavle)"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:491
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:503
 msgid "This is usually pretty fast but seems to be taking awhile right now."
 msgstr "Dette er vanligvis ganske kjapt men det ser ut som det tar lang tid nå."
 
@@ -6616,7 +6620,7 @@ msgid "Highlight the whole row"
 msgstr "Framhev hele raden"
 
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:390
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:90
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:98
 msgid "Colors"
 msgstr "Farger"
 
@@ -6788,7 +6792,7 @@ msgstr "Stable"
 
 #: frontend/src/metabase/visualizations/lib/settings/graph.js:241
 msgid "Stack - 100%"
-msgstr "Stabling - 100%"
+msgstr "Stable - 100%"
 
 #: frontend/src/metabase/visualizations/lib/settings/graph.js:300
 msgid "Show goal"
@@ -6925,7 +6929,7 @@ msgid "Funnel"
 msgstr "Trakt"
 
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:76
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:68
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:76
 msgid "Measure"
 msgstr "MÃ¥le"
 
@@ -6941,15 +6945,15 @@ msgstr "Søylediagram"
 msgid "line chart"
 msgstr "linjediagram"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:225
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:224
 msgid "Please select longitude and latitude columns in the chart settings."
 msgstr "Vennligst velg kolonner for lengdegrad og breddegrad i diagraminnstillingene."
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:231
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:230
 msgid "Please select a region map."
 msgstr "Vennligst velg ett regionalkart."
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:237
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:236
 #, fuzzy
 msgid "Please select region and metric columns in the chart settings."
 msgstr "Vennligst velg region- og indikator-kolonner i diagraminnstillingene."
@@ -7000,19 +7004,19 @@ msgstr "Indikatorfelt"
 msgid "Region field"
 msgstr "Felt for region"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:193
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:192
 msgid "Radius"
 msgstr "Radius"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:199
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:198
 msgid "Blur"
 msgstr "Uskarphet"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:205
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:204
 msgid "Min Opacity"
 msgstr "Min gjennomsiktighet"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:211
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:210
 msgid "Max Zoom"
 msgstr "Maks zoom"
 
@@ -7036,33 +7040,33 @@ msgstr "Objekt detaljer"
 msgid "object"
 msgstr "objekt"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:304
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:312
 msgid "Total"
 msgstr "Total"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:53
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:61
 msgid "Which columns do you want to use?"
 msgstr "Hvilke kolonner vil du bruke?"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:41
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:44
 msgid "Pie"
 msgstr "Pai"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:63
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:71
 msgid "Dimension"
 msgstr "Dimensjon"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:73
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:81
 #, fuzzy
 msgid "Show legend"
 msgstr "Vis forklaring"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:78
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:86
 #, fuzzy
 msgid "Show percentages in legend"
 msgstr "Vis prosenter i forklaring"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:84
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:92
 msgid "Minimum slice percentage"
 msgstr "Minste oppstykkings-prosent"
 
@@ -7086,8 +7090,8 @@ msgstr "Fremdriftsvisualisering krever et tall."
 msgid "Progress"
 msgstr "Fremdrift"
 
-#: frontend/src/metabase/entities/collections.js:101
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:177
+#: frontend/src/metabase/entities/collections.js:108
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:176
 #: frontend/src/metabase/visualizations/visualizations/Progress.jsx:57
 msgid "Color"
 msgstr "Farge"
@@ -7178,13 +7182,13 @@ msgstr "Høyre"
 msgid "Show background"
 msgstr "Vis bakgrunn"
 
-#: frontend/src/metabase-lib/lib/Dimension.js:492
+#: frontend/src/metabase-lib/lib/Dimension.js:553
 msgid "{0} bin"
 msgid_plural "{0} bins"
 msgstr[0] "{0} samling"
 msgstr[1] "{0} samlinger"
 
-#: frontend/src/metabase-lib/lib/Dimension.js:498
+#: frontend/src/metabase-lib/lib/Dimension.js:559
 msgid "Auto binned"
 msgstr "Auto samling"
 
@@ -7216,7 +7220,7 @@ msgstr "Ukjent enhetstype"
 msgid "Invalid comparison entity type. Can only be one of \"table\", \"segment\", or \"adhoc\""
 msgstr "Ugyldig entitetstype for sammenligning. Kan kun være en av \"tabell\", \"segment\", eller \"adhoc\""
 
-#: src/metabase/api/card.clj
+#: src/metabase/query_processor/async.clj
 msgid "Error running query to determine Card result metadata:"
 msgstr "Feil ved kjøring av spørring for å bestemme metadata for kort-resultat:"
 
@@ -7261,14 +7265,14 @@ msgstr "Advarsel: endepunktet {0}/{1} har ikke en docstring."
 msgid "starting streaming request"
 msgstr "starter strømningsforespørsel"
 
-#: src/metabase/api/common.clj
+#: src/metabase/async/api_response.clj
 msgid "connection closed, canceling request"
 msgstr "Kobling lukket, avbryter forespørsel"
 
 #. a newline padding character as it's harmless and will allow us to check if the client is connected. If
 #. sending this character fails because the connection is closed, the chan will then close.  Newlines are
 #. no-ops when reading JSON which this depends upon.
-#: src/metabase/api/common.clj
+#: src/metabase/async/api_response.clj
 msgid "Response not ready, writing one byte & sleeping..."
 msgstr "Respons ikke tilgjengelig, skriver en byte & sover..."
 
@@ -7454,22 +7458,30 @@ msgstr "Auto samle"
 msgid "Don''t bin"
 msgstr "Ikke samle"
 
-#: src/metabase/api/table.clj
+#: frontend/src/metabase/lib/query_time.js:193 src/metabase/api/table.clj
 msgid "Day"
-msgstr "Dag"
+msgid_plural "Days"
+msgstr[0] "Dag"
+msgstr[1] "Dager"
 
 #. note the order of these options corresponds to the order they will be shown to the user in the UI
-#: src/metabase/api/table.clj
+#: frontend/src/metabase/lib/query_time.js:189 src/metabase/api/table.clj
 msgid "Minute"
-msgstr "Minutt"
+msgid_plural "Minutes"
+msgstr[0] "Minutt"
+msgstr[1] "Minutter"
 
-#: src/metabase/api/table.clj
+#: frontend/src/metabase/lib/query_time.js:191 src/metabase/api/table.clj
 msgid "Hour"
-msgstr "Time"
+msgid_plural "Hours"
+msgstr[0] "Time"
+msgstr[1] "Timer"
 
-#: src/metabase/api/table.clj
+#: frontend/src/metabase/lib/query_time.js:199 src/metabase/api/table.clj
 msgid "Quarter"
-msgstr "Kvartal"
+msgid_plural "Quarters"
+msgstr[0] "Kvartal"
+msgstr[1] "Kvartaler"
 
 #: src/metabase/api/table.clj
 msgid "Minute of Hour"
@@ -7820,11 +7832,11 @@ msgstr "Det ser ut som at dette er en ny installasjon ... forbereder installasjo
 msgid "Metabase Initialization COMPLETE"
 msgstr "Metabase oppstart ferdig"
 
-#: src/metabase/core.clj
+#: src/metabase/server.clj
 msgid "Launching Embedded Jetty Webserver with config:"
 msgstr "Starter Embedded Jetty Webserver med konfigurasjon:"
 
-#: src/metabase/core.clj
+#: src/metabase/server.clj
 msgid "Shutting Down Embedded Jetty Webserver"
 msgstr "Stopper Embedded Jetty Webserver"
 
@@ -7885,51 +7897,51 @@ msgstr "Kjører Database migreringer..."
 msgid "Database Migrations Current ... "
 msgstr "Database nåværende migrering... "
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Hmm, we couldn''t connect to the database."
 msgstr "Hmm, vi klarte ikke koble til databasen."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Make sure your host and port settings are correct"
 msgstr "Sjekk at vert og port innstillingene er riktige"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "We couldn''t connect to the ssh tunnel host."
 msgstr "Vi klarte ikke koble til SSH tunnelverten."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Check the username, password."
 msgstr "Sjekk brukernavn og passord."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Check the hostname and port."
 msgstr "Sjekk vertsnavn og port."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like the database name is incorrect."
 msgstr "Ser ut som databasenavnet er feil."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "It looks like your host is invalid."
 msgstr "Det ser ut som vertsnavnet er feil."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Please double-check it and try again."
 msgstr "Vennligst dobbeltsjekk og prøv igjen."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like your password is incorrect."
 msgstr "Ser ut som passordet er feil."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like you forgot to enter your password."
 msgstr "Ser ut som du har glemt å legge inn passordet ditt."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like your username is incorrect."
 msgstr "Ser ut som brukernavn er feil."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like the username or password is incorrect."
 msgstr "Ser ut som brukernavn eller passord er feil."
 
@@ -7946,16 +7958,16 @@ msgstr "Registrert driver {0} {1}"
 msgid "No -init-driver function found for ''{0}''"
 msgstr "Ingen -init-driver funksjon funnet for \"{0}\""
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Unable to parse date string ''{0}'' for database engine ''{1}''"
 msgstr "Klarer ikke å tolke dato-teksten \"{0}\" for databasemotoren \"{1}\""
 
 #. all-NULL columns in DBs like Mongo w/o explicit types
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Don''t know how to map class ''{0}'' to a Field base_type, falling back to :type/*."
 msgstr "Vet ikke hvordan klassen \"{0}\" skal tilordnes en Field base_type, faller tilbake på :type/*."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/util.clj
 msgid "Failed to connect to database: {0}"
 msgstr "Feilet ved tilkobling til database: {0}"
 
@@ -7967,7 +7979,7 @@ msgstr "Ugyldig BigQuery-identifikator: \"{0}\""
 msgid "BigQuery statements can't be parameterized!"
 msgstr "BigQuery-uttrykk kan ikke parametriseres!"
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql_jdbc/execute.clj
 msgid "Failed to set timezone:"
 msgstr "Feilet ved oppsett av tidssone:"
 
@@ -8099,11 +8111,11 @@ msgstr "Slack API bearer token som fåes fra https://api.slack.com/web#authentic
 msgid "Enable MetaBot, which lets you search for and view your saved questions directly via Slack."
 msgstr "Aktiver MetaBot, som lar deg søke etter og vise spørsmålene dine direkte via Slack."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
 msgid "Last MetaBot checkin was {0} ago."
 msgstr "Sist MetaBot sjekket inn var {0} siden."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
 msgid "This instance will now handle MetaBot duties."
 msgstr "Denne instansen vil nå ta hånd om MetaBase forespørsler."
 
@@ -8115,39 +8127,39 @@ msgstr "Her er hva jeg kan {0}:"
 msgid "I don''t know how to {0} `{1}`.n{2}"
 msgstr "Jeg vet ikke hvordan man {0} `{1}`.n{2}"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/slack.clj
 msgid "Uh oh! :cry:n> {0}"
 msgstr "Oi sann! :cry:n> {0}"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Here''s your {0} most recent cards:n{1}"
 msgstr "Her er dine {0} siste kort:n{1}"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Could you be a little more specific? I found these cards with names that matched:n{0}"
 msgstr "Kan du være litt mer spesifikk? Jeg fant disse kortene med navn som stemmer overens:n{0}"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "I don''t know what Card `{0}` is. Give me a Card ID or name."
 msgstr "Jeg vet ikke hvilket kort `{0}` er. Gi meg et kort-ID eller navn."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Show which card? Give me a part of a card name or its ID and I can show it to you. If you don''t know which card you want, try `metabot list`."
 msgstr "Vise hvilket kort? Gi meg en del av navnet på kortet eller dets ID så kan jeg vise deg det. Hvis du ikke vet hvilket kort du vil ha, prøv `metabot list`."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Ok, just a second..."
 msgstr "Ok, vent ett lite sekund..."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Not Found"
 msgstr "Ikke funnet"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Loading Kanye quotes..."
 msgstr "Laster Kanye sitater..."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/events.clj
 msgid "Evaluating Metabot command:"
 msgstr "Evaluerer MetaBot kommando:"
 
@@ -8155,23 +8167,23 @@ msgstr "Evaluerer MetaBot kommando:"
 msgid "Go home websocket, you're drunk."
 msgstr "GÃ¥ hjem nettplugg, du er full."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/websocket.clj
 msgid "Error launching metabot:"
 msgstr "Feil innlasting av MetaBot:"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/websocket.clj
 msgid "MetaBot WebSocket is closed. Reconnecting now."
 msgstr "MetaBot WebSocket er lukket. Kobler opp på nytt nå."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/websocket.clj
 msgid "Error connecting websocket:"
 msgstr "Feil ved kobling til websocket:"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
 msgid "This instance is performing MetaBot duties."
 msgstr "Denne instansen utfører MetaBot-plikter."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
 msgid "Another instance is already handling MetaBot duties."
 msgstr "En annen instans utfører allerede MetaBot-plikter."
 
@@ -8187,15 +8199,15 @@ msgstr "Stopper MetaBot... 🤖"
 msgid "MetaBot already running. Killing the previous WebSocket listener first."
 msgstr "MetaBot kjører allerede. Avslutter den forrige websocket kjøringen først."
 
-#: src/metabase/middleware.clj
+#: src/metabase/middleware/security.clj
 msgid "Base-64 encoded public key for this site's SSL certificate."
 msgstr "Base-64 kodet offentlig nøkkel for denne siden sin SSL sertifikat."
 
-#: src/metabase/middleware.clj
+#: src/metabase/middleware/security.clj
 msgid "Specify this to enable HTTP Public Key Pinning."
 msgstr "Spesifiser dette for å aktivere HTTP Public Key Pinning."
 
-#: src/metabase/middleware.clj
+#: src/metabase/middleware/security.clj
 msgid "See {0} for more information."
 msgstr "Se {0} for mer informasjon."
 
@@ -8402,19 +8414,19 @@ msgstr "Du kan ikke oppdatere en Revision!"
 msgid "Setting {0} does not exist.nFound: {1}"
 msgstr "Innstillingen {0} finnes ikke.nFant: {1}"
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Updating value of settings-last-updated in DB..."
 msgstr "Oppdaterer verdien for settings-last-updated i DB..."
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Checking whether settings cache is out of date (requires DB call)..."
 msgstr "Sjekker om mellomlageret for innstillinger er utdatert (krever kall til DB)..."
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Settings have been changed on another instance, and will be reloaded here."
 msgstr "Innstillingene har endret seg på en annen instans, og vil bli lastet inn på nytt her."
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Refreshing Settings cache..."
 msgstr "Oppdaterer mellomlageret for innstillinger..."
 
@@ -8925,27 +8937,27 @@ msgstr "Se alle tilganger til samlinger"
 msgid "Also change sub-collections"
 msgstr "Endre også undersamlinger"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:278
+#: frontend/src/metabase/admin/permissions/selectors.js:282
 msgid "Can edit this collection and its contents"
 msgstr "Kan endre denne samlingen og inneholdet"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:285
+#: frontend/src/metabase/admin/permissions/selectors.js:289
 msgid "Can view items in this collection"
 msgstr "Kan se elementer i denne samlingen"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:745
+#: frontend/src/metabase/admin/permissions/selectors.js:749
 msgid "Collection Access"
 msgstr "Tilgang til samlinger"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:821
+#: frontend/src/metabase/admin/permissions/selectors.js:825
 msgid "This group has permission to view at least one subcollection of this collection."
 msgstr "Denne gruppen har tilgang til å vise minst en undersamling av denne samlingen."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:826
+#: frontend/src/metabase/admin/permissions/selectors.js:830
 msgid "This group has permission to edit at least one subcollection of this collection."
 msgstr "Denne gruppen har tilganger til å endre minst en av undersamlingene til denne samlingen."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:839
+#: frontend/src/metabase/admin/permissions/selectors.js:843
 msgid "View sub-collections"
 msgstr "Vis undersamlingen"
 
@@ -8953,19 +8965,19 @@ msgstr "Vis undersamlingen"
 msgid "Remember Me"
 msgstr "Husk meg"
 
-#: frontend/src/metabase/components/BrowseApp.jsx:120
+#: frontend/src/metabase/components/BrowseApp.jsx:95
 msgid "X-ray this schema"
 msgstr "Kjør X-ray på dette skjema"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:246
+#: frontend/src/metabase/components/CollectionLanding.jsx:258
 msgid "Edit the permissions for this collection"
 msgstr "Endre tilgangenene for denne samlingen"
 
-#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:51
+#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:55
 msgid "Add this question to a dashboard"
 msgstr "Legg dette spørsmålet til en infotavle"
 
-#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:61
+#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:65
 msgid "Create a new dashboard"
 msgstr "Legg til ny infotavle"
 
@@ -8977,11 +8989,11 @@ msgstr "Siden du spurte etter fins ikke."
 msgid "Select a {0}"
 msgstr "Velg en {0}"
 
-#: frontend/src/metabase/containers/Overworld.jsx:190
+#: frontend/src/metabase/containers/Overworld.jsx:185
 msgid "Save dashboards, questions, and collections in \"{0}\""
 msgstr "Lagre infotavle, spørsmål og samlinger i \"{0}\""
 
-#: frontend/src/metabase/containers/Overworld.jsx:193
+#: frontend/src/metabase/containers/Overworld.jsx:188
 msgid "Access dashboards, questions, and collections in \"{0}\""
 msgstr "Adgang til infotavler, spørsmål og samlinger i \"{0}\""
 
@@ -9001,11 +9013,11 @@ msgstr "Relatert"
 msgid "More X-rays"
 msgstr "Flere X-ray spørringer"
 
-#: frontend/src/metabase/home/containers/SearchApp.jsx:50
+#: frontend/src/metabase/home/containers/SearchApp.jsx:46
 msgid "No results"
 msgstr "Ingen resultater"
 
-#: frontend/src/metabase/home/containers/SearchApp.jsx:51
+#: frontend/src/metabase/home/containers/SearchApp.jsx:47
 msgid "Metabase couldn't find any results for your search."
 msgstr "Metabase kan ikke finne noen resultater for ditt søk."
 
@@ -9052,43 +9064,43 @@ msgstr "Klarte ikke å gi tillatelser: {0}"
 msgid "Cannot decrypt encrypted string. Have you changed or forgot to set MB_ENCRYPTION_SECRET_KEY?"
 msgstr "Kan ikke dekryptere kryptert tekststreng. Har du endret eller glemt å sette MB_ENCRYPTION_SECRET_KEY?"
 
-#: frontend/src/metabase/entities/collections.js:157
+#: frontend/src/metabase/entities/collections.js:164
 msgid "All personal collections"
 msgstr "Alle personlige samlinger"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Host"
 msgstr "Vert"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Port"
 msgstr "Port"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Database username"
 msgstr "Database brukernavn"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "What username do you use to login to the database?"
 msgstr "Hvilket brukernavn vil du bruke ved tilkobling til databasen?"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Database password"
 msgstr "Database passord"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Database name"
 msgstr "Database navn"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "birds_of_the_world"
 msgstr "birds_of_the_world"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Use a secure connection (SSL)?"
 msgstr "Bruk sikker kobling (SSL)?"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Additional JDBC connection string options"
 msgstr "Ekstra JDBC koblingsstreng alternativer"
 
@@ -9229,7 +9241,7 @@ msgstr "Etiketter"
 msgid "Add members"
 msgstr "Legg til medlemmer"
 
-#: frontend/src/metabase/entities/collections.js:108
+#: frontend/src/metabase/entities/collections.js:115
 msgid "Collection it's saved in"
 msgstr "Samling den er lagret i"
 
@@ -9258,10 +9270,10 @@ msgstr "Deling"
 #: frontend/src/metabase/visualizations/lib/settings/graph.js:321
 #: frontend/src/metabase/visualizations/lib/settings/nested.js:126
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:83
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:72
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:77
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:83
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:89
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:80
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:85
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:91
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:97
 #: frontend/src/metabase/visualizations/visualizations/Progress.jsx:50
 #: frontend/src/metabase/visualizations/visualizations/Progress.jsx:56
 #: frontend/src/metabase/visualizations/visualizations/Text.jsx:72
@@ -9283,20 +9295,20 @@ msgstr "Akser"
 
 #: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:222
 #: frontend/src/metabase/admin/settings/selectors.js:319
-#: frontend/src/metabase/qb/components/drill/FormatAction.jsx:27
+#: frontend/src/metabase/modes/components/drill/FormatAction.jsx:27
 #: frontend/src/metabase/visualizations/lib/settings/column.js:63
 msgid "Formatting"
 msgstr "Formatering"
 
-#: frontend/src/metabase/containers/Overworld.jsx:107
+#: frontend/src/metabase/containers/Overworld.jsx:102
 msgid "Try these x-rays based on your data."
 msgstr "Prøv disse X-ray spørsmålene basert på din data."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:35
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:36
 msgid "There was a problem displaying this chart."
 msgstr "Det er ett problem med visning av denne grafen."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:36
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:37
 msgid "Sorry, you don't have permission to see this card."
 msgstr "Beklager, du har ikke tilgang til å se dette kortet."
 
@@ -9308,11 +9320,11 @@ msgstr "Bare en liten ting:"
 msgid "{0} without the Sample Dataset, the Query Builder tutorial won't work. You can always restore the Sample Dataset, but any questions you've saved using this data will be lost."
 msgstr "{0} uten eksempel-datasettet, så vil ikke spørrings-veilederen virke. Du kan alltids gjenopprette eksempel-datasettet, men spørsmål du har lagret med disse dataene vil gå tapt."
 
-#: frontend/src/metabase/qb/components/drill/AutomaticDashboardDrill.jsx:33
+#: frontend/src/metabase/modes/components/drill/AutomaticDashboardDrill.jsx:33
 msgid "X-ray"
 msgstr "X-ray"
 
-#: frontend/src/metabase/qb/components/drill/CompareToRestDrill.js:34
+#: frontend/src/metabase/modes/components/drill/CompareToRestDrill.js:34
 msgid "Compare to the rest"
 msgstr "Sammenlignet med resten"
 
@@ -9325,11 +9337,11 @@ msgid "We suggest you leave this off unless you're doing manual timezone casting
 "many or most of your queries with this data."
 msgstr "Vi anbefaler å la denne være slått av, med mindre du endrer tidssone manuelt i mange eller alle dine spørringer mote disse dataene."
 
-#: frontend/src/metabase/containers/Overworld.jsx:315
+#: frontend/src/metabase/containers/Overworld.jsx:310
 msgid "Your team's most important dashboards go here"
 msgstr "Ditt lags viktigste infoskjermer finnes her"
 
-#: frontend/src/metabase/containers/Overworld.jsx:316
+#: frontend/src/metabase/containers/Overworld.jsx:311
 msgid "Pin dashboards in {0} to have them appear in this space for everyone"
 msgstr "Fest infotavler til {0} for at de skal vises på denne plassen for alle sammen"
 
@@ -9357,8 +9369,8 @@ msgstr "Velg valutatype"
 msgid "Field Type"
 msgstr "Felt type"
 
-#: frontend/src/metabase/admin/routes.jsx:83
-#: frontend/src/metabase/nav/containers/Navbar.jsx:225
+#: frontend/src/metabase/admin/routes.jsx:109
+#: frontend/src/metabase/nav/containers/Navbar.jsx:224
 msgid "Troubleshooting"
 msgstr "Feilsøking"
 
@@ -9370,35 +9382,35 @@ msgstr "Aktiver X-ray-funksjonalitet"
 msgid "Formatting Options"
 msgstr "Formateringsinnstillinger"
 
-#: frontend/src/metabase/admin/tasks/containers/TaskModal.jsx:20
+#: frontend/src/metabase/admin/tasks/containers/TaskModal.jsx:19
 msgid "Task details"
 msgstr "Oppgavedetaljer"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:36
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:29
 msgid "Troubleshooting logs"
 msgstr "Feilsøkingslogger"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:38
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:31
 msgid "Trying to get to the bottom of something? This section shows logs of Metabase's background tasks, which can help shed light on what's going on."
 msgstr "Prøver du å komme til bunns i noe? Denne delen viser logger fra Metabases bakgrunnsoppgaver, som kan si litt mer om hva som skjer."
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:63
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:56
 msgid "Task"
 msgstr "Oppgave"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:64
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:57
 msgid "DB ID"
 msgstr "Database id"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:65
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:58
 msgid "Started at"
 msgstr "Startet"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:66
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:59
 msgid "Ended at"
 msgstr "Avsluttet"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:67
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:60
 msgid "Duration (ms)"
 msgstr "Varighet (ms)"
 
@@ -9406,7 +9418,7 @@ msgstr "Varighet (ms)"
 msgid "Currency"
 msgstr "Valuta"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:163
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:161
 msgid "Pick a user or channel..."
 msgstr "Velg en bruker eller kanal..."
 
@@ -9583,15 +9595,15 @@ msgstr "MÃ¥ler"
 msgid "Gauge ranges"
 msgstr "Målerområde"
 
-#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:91
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:94
 msgid "Field to show"
 msgstr "Felt å vise"
 
-#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:118
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:121
 msgid "last {0}"
 msgstr "siste {0}"
 
-#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:176
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:185
 msgid "{0} was {1} {2}"
 msgstr "{0} var {1} {2}"
 
@@ -9754,19 +9766,19 @@ msgstr "ADVARSEL: Det gir kun mening å spesifisere :fields for en spørring ute
 msgid "WARNING: Druid doenst allow limitSpec in timeseries queries. Ignoring the LIMIT clause."
 msgstr "ADVARSEL: Druid tillater ikke limitSpec i tidsseriespørringer. Ignorerer LIMIT-klausulen."
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql/query_processor.clj
 msgid "HoneySQL Form:"
 msgstr "HoneySQL Skjema:"
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql_jdbc/execute.clj
 msgid "Unable to parse date ''{0}''"
 msgstr "Kan ikke tolke dato \"{0}\""
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql_jdbc/execute.clj
 msgid "Client closed connection, cancelling query"
 msgstr "Klienten lukket tilkoblingen, avbryter spørring"
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql_jdbc/execute.clj
 msgid "Setting timezone with statement: {0}"
 msgstr "Setter tidssone med uttrykket: {0}"
 
@@ -9851,13 +9863,13 @@ msgid "You cannot remove the last member of the ''Admin'' group!"
 msgstr "Du kan ikke fjerne det siste medlemmet av \"Admin\"-gruppen!"
 
 #. go ahead and log the Exception anyway on the off chance that it *wasn't* just a race condition issue
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Error inserting a new Setting: {0}"
 msgstr "Feil ved tillegg av ny innstilling: {0}"
 
 #: src/metabase/models/setting.clj
 msgid "defsetting descriptions strings must be `:internal?` or internationalized, found: `{0}`"
-msgstr ""
+msgstr "Beskrivelse for defsetting-tekststrenger må være `:internal?` eller internasjonalisert, fant: `{0}`"
 
 #: src/metabase/plugins.clj
 msgid "Loading plugin {0}... {1}"
@@ -9865,11 +9877,11 @@ msgstr "Laster plugin {0}... {1}"
 
 #: src/metabase/public_settings.clj
 msgid "Object keyed by type, containing formatting settings"
-msgstr ""
+msgstr "Objekt kodet etter type, inneholder formateringsinnstillinger"
 
 #: src/metabase/public_settings.clj
 msgid "Allow users to explore data using X-rays"
-msgstr ""
+msgstr "Tillat brukere å utforske data ved hjelp av X-rays"
 
 #: src/metabase/public_settings/metastore.clj
 msgid "Using this URL to check token: {0}"
@@ -9881,7 +9893,7 @@ msgstr "Validering av token feilet: 404 ikke funnet."
 
 #: src/metabase/public_settings/metastore.clj
 msgid "There was an error checking whether this token was valid:"
-msgstr ""
+msgstr "Det oppstod en feil ved sjekk av hvorvidt denne tokenen var valid:"
 
 #. +----------------------------------------------------------------------------------------------------------------+
 #. |                                             SETTING & RELATED FNS                                              |
@@ -9889,292 +9901,292 @@ msgstr ""
 #. TODO - rename this to premium-features-token?
 #: src/metabase/public_settings/metastore.clj
 msgid "Token for premium features. Go to the MetaStore to get yours!"
-msgstr ""
+msgstr "Token for premium-egenskaper. Gå til MetaStore for å få din egen!"
 
 #: src/metabase/public_settings/metastore.clj
 msgid "Token format is invalid. Token should be 64 hexadecimal characters."
-msgstr ""
+msgstr "Token-format er ugyldig. Token skal være 64 heksadesimale siffer."
 
 #: src/metabase/public_settings/metastore.clj
 msgid "Error setting premium features token"
-msgstr ""
+msgstr "Feil ved setting av token for premium-egenskaper"
 
 #: src/metabase/public_settings/metastore.clj
 msgid "Error validating token:"
-msgstr ""
+msgstr "Feil ved validering av token:"
 
 #: src/metabase/query_processor.clj
 msgid "Error preprocessing query"
-msgstr ""
+msgstr "Feil ved preprosesseringsspørring"
 
 #: src/metabase/query_processor.clj
 msgid "No native form returned."
-msgstr ""
+msgstr "Ingen lokale skjema returnert."
 
 #: src/metabase/query_processor.clj
 msgid "Invalid response from database driver. No :status provided."
-msgstr ""
+msgstr "Ugyldig svar fra databasedriveren. Ingen status oppgitt."
 
 #: src/metabase/query_processor.clj
 msgid "General error"
-msgstr ""
+msgstr "Generell feil"
 
 #: src/metabase/query_processor.clj
 msgid "Missing query hash!"
-msgstr ""
+msgstr "Mangler spørringshash!"
 
 #: src/metabase/query_processor/middleware/add_implicit_clauses.clj
 msgid "Table ''{0}'' has no Fields associated with it."
-msgstr ""
+msgstr "Tabellen \"{0}\" har ingen felter assosiert med seg."
 
 #: src/metabase/query_processor/middleware/add_query_throttle.clj
 msgid "Max concurrent query limit reached"
-msgstr ""
+msgstr "Grense for maksimalt antall parallelle spørringer nådd"
 
 #. we should never reach this if our patterns are written right so this is more to catch code mistakes than
 #. something the user should expect to see
 #: src/metabase/query_processor/middleware/annotate.clj
 msgid "Don't know how to get information about Field:"
-msgstr ""
+msgstr "Jeg vet ikke hvordan jeg kan hente informasjon om feltet:"
 
 #: src/metabase/query_processor/middleware/annotate.clj
 msgid "metabase.query-processor.interface/*driver* is unbound."
-msgstr ""
+msgstr "metabase.query-processor.interface/*driver* er løs."
 
 #: src/metabase/query_processor/middleware/annotate.clj
 msgid "Query processor error: mismatched number of columns in query and results."
-msgstr ""
+msgstr "Feil i spørringsprosessor: ulikt antall kolonner i spørringen og resultatene."
 
 #: src/metabase/query_processor/middleware/annotate.clj
 msgid "Expected {0} fields, got {1}"
-msgstr ""
+msgstr "Forventet {0} felter, fant {1}"
 
 #: src/metabase/query_processor/middleware/annotate.clj
 msgid "Expected: {0}"
-msgstr ""
+msgstr "Forventet: {0}"
 
 #: src/metabase/query_processor/middleware/annotate.clj
 msgid "Actual: {0}"
-msgstr ""
+msgstr "Faktisk: {0}"
 
 #: src/metabase/query_processor/middleware/binning.clj
 msgid "Unable to bin Field without a min/max value"
-msgstr ""
+msgstr "Felt kan ikke grupperes uten en min/maks-verdi"
 
 #: src/metabase/query_processor/middleware/check_features.clj
 msgid "{0} is not supported by this driver."
-msgstr ""
+msgstr "{0} er ikke støttet av denne driveren."
 
 #: src/metabase/query_processor/middleware/expand_macros.clj
 msgid "Segment {0} does not exist, or is invalid."
-msgstr ""
+msgstr "Segmentet {0} eksisterer ikke, eller er invalid."
 
 #: src/metabase/query_processor/middleware/expand_macros.clj
 msgid "Metric {0} does not exist, or is invalid."
-msgstr ""
+msgstr "Indikatoren {0} eksisterer ikke eller er ikke valid."
 
 #: src/metabase/query_processor/middleware/fetch_source_query.clj
 msgid "Missing source query in Card {0}"
-msgstr ""
+msgstr "Mangler kildespørring i kort {0}"
 
 #: src/metabase/query_processor/middleware/fetch_source_query.clj
 msgid "Fetched source query from Card {0}:"
-msgstr ""
+msgstr "Hentet kildespørring fra kort {0}"
 
 #: src/metabase/query_processor/middleware/mbql_to_native.clj
 msgid "Error transforming MBQL query to native:"
-msgstr ""
+msgstr "Feil ved transformasjon av MBQL-spørring til lokal spørring:"
 
 #: src/metabase/query_processor/middleware/resolve_source_table.clj
 msgid "Cannot run query: could not find source table {0}."
-msgstr ""
+msgstr "Kan ikke utføre spørring: finner ikke kildetabellen {0}."
 
 #: src/metabase/query_processor/middleware/results_metadata.clj
 msgid "Error recording results metadata for query:"
-msgstr ""
+msgstr "Feil ved lagring av spørringsmetadataene."
 
 #: src/metabase/query_processor/store.clj
 msgid "Error: Query Processor store is not initialized."
-msgstr ""
+msgstr "Feil: Spørringsprosessoren er ikke initialisert."
 
 #: src/metabase/query_processor/store.clj
 msgid "Error: Table {0} is not present in the Query Processor Store."
-msgstr ""
+msgstr "Feil: Tabellen {0} er ikke tilgjengelig i spørringsprosessorsettet."
 
 #: src/metabase/query_processor/store.clj
 msgid "Error: Field {0} is not present in the Query Processor Store."
-msgstr ""
+msgstr "Feil. Felt {0} er ikke tilgjengelig i spørringsprosessorsettet."
 
 #: src/metabase/task/task_history_cleanup.clj
 msgid "Task history cleanup successful, rows were {0}deleted"
-msgstr ""
+msgstr "Opprydding av oppgavehistorikk vellykket - {0} rader fjernet"
 
 #: src/metabase/task/task_history_cleanup.clj
 msgid "not"
-msgstr ""
+msgstr "ikke"
 
 #: src/metabase/util/encryption.clj
 msgid "For more information, see"
-msgstr ""
+msgstr "For mer informasjon, se"
 
 #: src/metabase/util/schema.clj
 msgid "Integer greater than or equal to zero"
-msgstr ""
+msgstr "Heltall større enn eller lik null"
 
 #: src/metabase/util/schema.clj
 msgid "value must be an integer greater than or equal to zero."
-msgstr ""
+msgstr "verdi må være et heltall større enn eller lik null."
 
 #: src/metabase/util/schema.clj
 msgid "value must be an integer zero or greater."
-msgstr ""
+msgstr "verdi må være et heltall større enn eller lik null."
 
 #: src/metabase/util/schema.clj
 msgid "value must be a valid integer greater than or equal to zero."
-msgstr ""
+msgstr "verdi må være et heltall større enn eller lik null."
 
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 msgid "New users per state in the last 30 days"
-msgstr ""
+msgstr "Nye brukere per status i løpet av de siste 30 dagene "
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Created At by day of the week"
-msgstr ""
+msgstr "Opprettet Dato etter ukedag"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Created At by quarter of the year"
-msgstr ""
+msgstr "Opprettet Dato etter kvartal i året"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "[[this.short-name]] per country"
-msgstr ""
+msgstr "[[this.short-name]] per land"
 
 #: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
 msgid "Users per source"
-msgstr ""
+msgstr "Brukere per kilde"
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "The top external pages that brought users to your site"
-msgstr ""
+msgstr "De eksterne sidene som brakte flest brukere til din side"
 
 #: resources/automagic_dashboards/comparison/State.yaml
 #: resources/automagic_dashboards/comparison/FK.yaml
 #: resources/automagic_dashboards/comparison/Country.yaml
 #: resources/automagic_dashboards/comparison/GenericField.yaml
 msgid "How [[this]] is distributed and more."
-msgstr ""
+msgstr "Hvordan [[this]] er distribuert og mer."
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "The [[this]] over time"
-msgstr ""
+msgstr "[[this]] over tid"
 
 #: resources/automagic_dashboards/table/UserTable.yaml
 msgid "User growth"
-msgstr ""
+msgstr "Brukervekst"
 
 #: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
 msgid "Whether or not there are any patterns to when they happen."
-msgstr ""
+msgstr "Hvorvidt det er noen mønstere for når det skjer."
 
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 msgid "Users per state"
-msgstr ""
+msgstr "Brukere per status"
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "Sessions"
-msgstr ""
+msgstr "Sesjoner"
 
 #: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
 msgid "How some of the numbers in [[this]] relate to each other"
-msgstr ""
+msgstr "Hvor noen av tallene i [[this]] relaterer seg til hverandre"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Sales per country"
-msgstr ""
+msgstr "Omsetning per land"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Join date by month of the year"
-msgstr ""
+msgstr "Innmeldingsdato etter måned i året"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "[[Timestamp]] by hour of the day"
-msgstr ""
+msgstr "[[Timestamp]] etter time i døgnet"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "A look at the [[this]]"
-msgstr ""
+msgstr "Et blikk på [[this]]"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "Bottom 5 per category"
-msgstr ""
+msgstr "Siste 4 i hver kategori"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Number of orders"
-msgstr ""
+msgstr "Antall ordre"
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "Event growth"
-msgstr ""
+msgstr "Hendelsesvekst"
 
 #: resources/automagic_dashboards/table/example/indepth.yaml
 msgid "Total [[GenericTable]]"
-msgstr ""
+msgstr "Totalt [[GenericTable]]"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Income growth"
-msgstr ""
+msgstr "Inntekstvekst"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
 msgid "Top 10 countries by sales in the last 30 days"
-msgstr ""
+msgstr "Topp 10 land etter omsetning i løpet av de siste 30 dagene"
 
 #: resources/automagic_dashboards/field/DateTime.yaml
 msgid "[[this]] by month of the year"
-msgstr ""
+msgstr "[[this]] etter måned i året"
 
 #: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
 msgid "Transactions per day of the week"
-msgstr ""
+msgstr "Transaksjoner per ukedag"
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "Sessions by device type"
-msgstr ""
+msgstr "Sesjoner etter type enhet"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
 msgid "Transactions per country"
-msgstr ""
+msgstr "Transaksjoner per land"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Join date by quarter of the year"
-msgstr ""
+msgstr "Innmeldingsdato etter kvartal i året"
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "Events per hour of the day"
-msgstr ""
+msgstr "Hendelser per time i døgnet"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "[[Singleton]]"
-msgstr ""
+msgstr "[[Singleton]]"
 
 #: resources/automagic_dashboards/field/State.yaml
 #: resources/automagic_dashboards/field/Country.yaml
 msgid "Top 5 [[this]]"
-msgstr ""
+msgstr "Topp 5 [[this]]"
 
 #: resources/automagic_dashboards/field/State.yaml
 #: resources/automagic_dashboards/field/Country.yaml
 msgid "Bottom 5 [[this]]"
-msgstr ""
+msgstr "Siste 5 [[this]]"
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "[[Timestamp]] by day of the month"
-msgstr ""
+msgstr "[[Timestamp]] etter dag i måneden"
 
 #: resources/automagic_dashboards/table/UserTable.yaml
 msgid "Per [[GenericCategoryLarge]]"
-msgstr ""
+msgstr "Per [[GenericCategoryLarge]]"
 
 #: resources/automagic_dashboards/field/DateTime.yaml
 #: resources/automagic_dashboards/field/State.yaml
@@ -10182,335 +10194,335 @@ msgstr ""
 #: resources/automagic_dashboards/field/Country.yaml
 #: resources/automagic_dashboards/field/GenericField.yaml
 msgid "Null values"
-msgstr ""
+msgstr "Nullverdi"
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "Total events"
-msgstr ""
+msgstr "Totalt antall hendelser"
 
 #: resources/automagic_dashboards/field/GenericField.yaml
 msgid "A look at [[GenericTable]] across your [[this]], and how it changes over time."
-msgstr ""
+msgstr "Et blikk på [[GenericTable]] på tvers av dine [[this]], og hvordan det endrer seg over tid."
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "[[this]] per [[GenericCategoryMedium]]"
-msgstr ""
+msgstr "[[this]] per [[GenericCategoryMedium]]"
 
 #: resources/automagic_dashboards/field/Number.yaml
 msgid "How the [[this]] changes with time"
-msgstr ""
+msgstr "Hvordan [[this]] endrer seg over tid"
 
 #: resources/automagic_dashboards/field/DateTime.yaml
 msgid "How they compare by seasonality"
-msgstr ""
+msgstr "Sesongvariasjoner"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Average income per transaction"
-msgstr ""
+msgstr "Gjennomsnittlig inntekt per transaksjon"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "[[this]] per country"
-msgstr ""
+msgstr "[[this]] per land"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 msgid "Income per state"
-msgstr ""
+msgstr "Inntekt per stat"
 
 #: resources/automagic_dashboards/table/UserTable.yaml
 msgid "Per [[GenericCategoryMedium]]"
-msgstr ""
+msgstr "Per [[GenericCategoryMedium]]"
 
 #: resources/automagic_dashboards/question/GenericQuestion.yaml
 msgid "A closer look at your [[this]]"
-msgstr ""
+msgstr "En nærmere kikk på din [[this]]"
 
 #: resources/automagic_dashboards/table/UserTable.yaml
 msgid "How [[GenericNumber]] is distributed"
-msgstr ""
+msgstr "Hvordan [[GenericNumber]] er fordelt"
 
 #: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
 msgid "[[Timestamp]] by quarter of year"
-msgstr ""
+msgstr "[[Timestamp]] etter kvartal i året"
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "Events per country"
-msgstr ""
+msgstr "Hendelser per land"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Weekdays when [[this.short-name]] were added"
-msgstr ""
+msgstr "Ukedager når [[this.short-name]] ble lagt til"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Months when [[this.short-name]] were added"
-msgstr ""
+msgstr "Måneder når [[this.short-name]] ble lagt til"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "How they compare across different categories"
-msgstr ""
+msgstr "Hvordan de varierer på tvers av forskjellige kategorier"
 
 #: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
 msgid "New users per source in the last 30"
-msgstr ""
+msgstr "Nye brukere per kilde i løpet av de siste 30"
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "Events per quarter of the year"
-msgstr ""
+msgstr "Hendelser per kvartal i året"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Heres a quick look at your [[this]]"
-msgstr ""
+msgstr "Her er en rask titt på din [[this]]"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "[[this]] per [[GenericCategoryLarge]], top 5"
-msgstr ""
+msgstr "[[this]] per [[GenericCategoryLarge]], topp 5"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Days when [[this.short-name]] were added"
-msgstr ""
+msgstr "Dager når [[this.short-name]] ble lagt til"
 
 #: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
 msgid "Total orders per source"
-msgstr ""
+msgstr "Totalt antall ordre per kilde"
 
 #: resources/automagic_dashboards/field/DateTime.yaml
 msgid "[[this]] by quarter of the year"
-msgstr ""
+msgstr "[[this]] etter kvartal i året"
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "Events per [[GenericCategoryMedium]]"
-msgstr ""
+msgstr "Hendelser per [[GenericCategoryMedium]]"
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "Events per state"
-msgstr ""
+msgstr "Hendelser per status"
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "Top landing pages"
-msgstr ""
+msgstr "Hovedsider"
 
 #: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
 msgid "Heres a closer look at your [[this]] over time"
-msgstr ""
+msgstr "Her er en nærmere kikk på din [[this]] over tid"
 
 #: resources/automagic_dashboards/field/Number.yaml
 msgid "Sum of [[this]] by [[Country]]"
-msgstr ""
+msgstr "Summen av [[this]] for [[Country]]"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 msgid "States that are performing best"
-msgstr ""
+msgstr "Stater som yter best"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Created At by month of the year"
-msgstr ""
+msgstr "Opprettet Dato etter måned i året"
 
 #: resources/automagic_dashboards/field/Number.yaml
 msgid "Sum of [[this]] by [[State]]"
-msgstr ""
+msgstr "Sum av [[this]] for [[State]]"
 
 #: resources/automagic_dashboards/field/State.yaml
 msgid "Sum of [[GenericNumber]] per [[this]]"
-msgstr ""
+msgstr "Sum av [[GenericNumber]] per [[this]]"
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "Events by coordinates"
-msgstr ""
+msgstr "Hendelser etter koordinater"
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "Top referral pages"
-msgstr ""
+msgstr "Topp sidehenvisninger"
 
 #: resources/automagic_dashboards/table/UserTable.yaml
 msgid "An exploration of your users to get you started."
-msgstr ""
+msgstr "En utforskning av dine brukere for å få deg i gang."
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "An overview of your [[this]] and how its distributed across time, place, and categories."
-msgstr ""
+msgstr "En oversikt av din [[this]] og hvordan det fordeler seg over tid, sted og kategorier."
 
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 msgid "Average income per state"
-msgstr ""
+msgstr "Gjennomsnittlig inntekt per stat"
 
 #: resources/automagic_dashboards/field/State.yaml
 #: resources/automagic_dashboards/field/Number.yaml
 #: resources/automagic_dashboards/field/Country.yaml
 #: resources/automagic_dashboards/field/GenericField.yaml
 msgid "[[this]] by [[GenericCategoryMedium]]"
-msgstr ""
+msgstr "[[this]] etter [[FenericCategoryMedium]]"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Total transactions"
-msgstr ""
+msgstr "Totalt antall transaksjoner"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "[[this.short-name]] that have joined over time"
-msgstr ""
+msgstr "[[this.short-name]] som har blitt innmeldt over tid"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "The [[this]] by location"
-msgstr ""
+msgstr "[[this]] etter plassering"
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "Events per month of the year"
-msgstr ""
+msgstr "Hendelser per måned i året"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "[[this]] by [[GenericNumber]]"
-msgstr ""
+msgstr "[[this]] etter [[GenericNumber]]"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Quarters when [[this.short-name]] were added"
-msgstr ""
+msgstr "Kvartal når [[this.short-name]] ble lagt til"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 #: resources/automagic_dashboards/table/UserTable.yaml
 msgid "How these [[this.short-name]] are distributed"
-msgstr ""
+msgstr "Hvordan disse [[this.short-name]] er fordelt"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "[[this.short-name]] by [[GenericNumber]]"
-msgstr ""
+msgstr "[[this.short-name]] for [[GenericNumber]]"
 
 #: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
 msgid "Where users are coming from"
-msgstr ""
+msgstr "Hvor brukerne dine kommer fra"
 
 #: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
 msgid "[[this]] comparisons and correlations"
-msgstr ""
+msgstr "[[this]] sammenligninger og korrelasjoner"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Total income"
-msgstr ""
+msgstr "Total inntekt"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Total income per month"
-msgstr ""
+msgstr "Total inntekt per måned"
 
 #: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
 msgid "Number of users per source"
-msgstr ""
+msgstr "Antall brukere per kilde"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 msgid "Transactions per state"
-msgstr ""
+msgstr "Transaksjoner per status"
 
 #: resources/automagic_dashboards/field/Number.yaml
 msgid "[[this]] by [[Timestamp]]"
-msgstr ""
+msgstr "[[this]] for [[Timestamp]]"
 
 #: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
 msgid "New users per source in the last 30 days"
-msgstr ""
+msgstr "Nye brukere per kilde i løpet av de siste 30 dagene"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Join date by day of the month"
-msgstr ""
+msgstr "Innmeldingsdato etter dato i måneden"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Average discount %"
-msgstr ""
+msgstr "Gjennomsnittlig rabatt i %"
 
 #: resources/automagic_dashboards/table/example.yaml
 msgid "Autogenerated metrics about [[GenericTable]]."
-msgstr ""
+msgstr "Automatisk genererte indikatorer for [[GenericTable]]."
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "[[this]] per day of the month"
-msgstr ""
+msgstr "[[this]] etter dag i måneden"
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "Total sessions in each country"
-msgstr ""
+msgstr "Totalt antall sesjoner i hvert land"
 
 #: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
 msgid "Transactions per month of the year"
-msgstr ""
+msgstr "Transaksjoner per måned i året"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Sales per product"
-msgstr ""
+msgstr "Omsetning per produkt"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
 msgid "Users in each country"
-msgstr ""
+msgstr "Brukere i hvert land"
 
 #: resources/automagic_dashboards/field/DateTime.yaml
 msgid "[[this]] by hour of the day"
-msgstr ""
+msgstr "[[this]] etter time i døgnet"
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "Events in the last 30 days"
-msgstr ""
+msgstr "Hendelser i løpet av de siste 30 dager"
 
 #: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
 msgid "Transactions per source"
-msgstr ""
+msgstr "Transaksjoner per kilde"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 msgid "Where youve acquired your users"
-msgstr ""
+msgstr "Hvor du har skaffet brukerne dine fra"
 
 #: resources/automagic_dashboards/field/Number.yaml
 #: resources/automagic_dashboards/table/GenericTable.yaml
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
-msgid "How they compare across location"
-msgstr ""
+msgid "How they compare acrosss location"
+msgstr "Hvordan de fordeler seg over plasseringer"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
 msgid "[[this]] per product"
-msgstr ""
+msgstr "[[this]] etter produkt"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "[[this]] per month of the year"
-msgstr ""
+msgstr "[[this]] for hver måned i året"
 
 #: resources/automagic_dashboards/table/UserTable.yaml
 msgid "Per country"
-msgstr ""
+msgstr "Etter land"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
 msgid "A deeper look at how different countries are performing for you."
-msgstr ""
+msgstr "Et dypdykk i hvordan forskjellige land yter for deg."
 
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Sales per state"
-msgstr ""
+msgstr "Omsetning per stat"
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "Events by [[GenericNumber]]"
-msgstr ""
+msgstr "Hendelser etter [[GenericNumber]]"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
 msgid "Sales per product [[ProductCategoryMedium]]"
-msgstr ""
+msgstr "Omsetning per produkt [[ProductCategoryMedium]]"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
 msgid "User acquisition by country"
-msgstr ""
+msgstr "Brukertilegnelse etter land"
 
 #: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
 msgid "[[this]] per source"
-msgstr ""
+msgstr "[[this]] etter kilde"
 
 #: resources/automagic_dashboards/field/DateTime.yaml
 msgid "[[this]] by day of the week"
-msgstr ""
+msgstr "[[this]] etter ukedag"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Days of the month when [[this.short-name]] joined"
-msgstr ""
+msgstr "Dager i måneden når [[this.short-name]] ble innmeldt"
 
 #: resources/automagic_dashboards/table/UserTable.yaml
 msgid "Heres an overview of the people in your [[this]]"
-msgstr ""
+msgstr "Her er en oversikt over folk i din [[this]]"
 
 #: resources/automagic_dashboards/field/DateTime.yaml
 msgid "How [[GenericTable]] are distributed across this time field, and if it has any seasonal patterns."
-msgstr ""
+msgstr "Hvordan [[GenericTable]] er fordelt over dette tidsfeltet, og om det er noen sesongvariasjoner."
 
 #: resources/automagic_dashboards/field/DateTime.yaml
 #: resources/automagic_dashboards/field/State.yaml
@@ -10521,200 +10533,200 @@ msgstr ""
 #: resources/automagic_dashboards/table/EventTable.yaml
 #: resources/automagic_dashboards/table/UserTable.yaml
 msgid "Overview"
-msgstr ""
+msgstr "Overblikk"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "How this metric is distributed across different categories"
-msgstr ""
+msgstr "Hvordan denne indikatoren er fordelt på tvers av forskjellige kategorier"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "[[this.short-name]] per state"
-msgstr ""
+msgstr "[[this.short-name]] etter status"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Weekdays when [[this.short-name]] joined"
-msgstr ""
+msgstr "Ukedager når [[this.short-name]] ble innmeldt"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Hours when [[this.short-name]] joined"
-msgstr ""
+msgstr "Timer når [[this.short-name]] ble innmeldt"
 
 #: resources/automagic_dashboards/table/example.yaml
 msgid "Total income by month"
-msgstr ""
+msgstr "Total inntekt per måned"
 
 #: resources/automagic_dashboards/field/Number.yaml
 msgid "A breakdown of your [[this]] over time, and its min, max, average and more."
-msgstr ""
+msgstr "En oversikt over dine [[this]] over tid, og dets minsteverdi, maksverdi, gjennomsnittsverdi og mer."
 
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 msgid "Average quantity per state"
-msgstr ""
+msgstr "Gjennomsnittlig antall per status"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "How they compare by across different numbers"
-msgstr ""
+msgstr "Hvordan de varierer på tvers av forskjellige tall"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
 msgid "New users per country in the last 30 days"
-msgstr ""
+msgstr "Nye brukere per land i løpet av de siste 30 dagene"
 
 #: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
 msgid "Transactions over time"
-msgstr ""
+msgstr "Transaksjoner over tid"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "[[this]] per [[GenericCategorySmall]]"
-msgstr ""
+msgstr "[[this]] per [[GenericCategorySmall]]"
 
 #: resources/automagic_dashboards/table/example.yaml
 msgid "Some breakdown"
-msgstr ""
+msgstr "Noen oversikt"
 
 #: resources/automagic_dashboards/field/Number.yaml
 msgid "Average of [[this]] by [[State]]"
-msgstr ""
+msgstr "Gjennomsnittet av [[this]] for [[State]]"
 
 #: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
 msgid "Transactions per quarter of the year"
-msgstr ""
+msgstr "Transaksjoner per kvartal i året"
 
 #: resources/automagic_dashboards/table/UserTable.yaml
 msgid "By coordinates"
-msgstr ""
+msgstr "Etter koordinater"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
 msgid "Heres a closer look at your [[this]] by products"
-msgstr ""
+msgstr "Her er en nærmere kikk på dine [[this]] etter produkter"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "[[this]] per quarter of the year"
-msgstr ""
+msgstr "[[this]] per kvartal i året"
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "Heres an overview of your [[this]] data from Google Analytics"
-msgstr ""
+msgstr "Her er en oversikt over dine [[this]]-data fra Google Analytics"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Quarters when [[this.short-name]] joined"
-msgstr ""
+msgstr "Kvartaler når [[this.short-name]] ble innmeldt"
 
 #: resources/automagic_dashboards/table/UserTable.yaml
 msgid "New [[this.short-name]] in the last 30 days"
-msgstr ""
+msgstr "Nye [[this.short-name]] i løpet av de siste 30 dager"
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "Total sessions by desktop, mobile, or tablet"
-msgstr ""
+msgstr "Totalt antall sesjoner etter skrivebord, mobil, eller nettbrett"
 
 #: resources/automagic_dashboards/table/example/indepth.yaml
 msgid "Indepth example"
-msgstr ""
+msgstr "Detaljert eksempel"
 
 #: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
 msgid "Average income per source"
-msgstr ""
+msgstr "Gjennomsnittlig inntekt per kilde"
 
 #: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
 msgid "[[Timestamp]] by day of week"
-msgstr ""
+msgstr "[[Timestamp]] etter ukedag"
 
 #: resources/automagic_dashboards/field/DateTime.yaml
 #: resources/automagic_dashboards/question/GenericQuestion.yaml
 msgid "Heres a closer look at your [[this]]"
-msgstr ""
+msgstr "Her er en nærmere kikk på dine [[this]]"
 
 #: resources/automagic_dashboards/field/Country.yaml
 msgid "Heres a closer look at your [[this]] field"
-msgstr ""
+msgstr "Her er en nærmere kikk på dine [[this]]-felt"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "Summary"
-msgstr ""
+msgstr "Oppsummering"
 
 #: resources/automagic_dashboards/field/Number.yaml
 msgid "How the [[this]] is distributed geographically"
-msgstr ""
+msgstr "Hvordan [[this]] er fordelt geografisk"
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "The pages with the most pageviews"
-msgstr ""
+msgstr "Sidene med flest sidevisninger"
 
 #: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
 msgid "How [[Number1]] is correlated with [[Number2]]"
-msgstr ""
+msgstr "Hvordan [[Number1]] er korrelert med [[Number2]]"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 msgid "Top 10 states by sales in the last 30 days"
-msgstr ""
+msgstr "Topp 10 stater etter omsetning i løpet av de siste 30 dager"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 msgid "Top 10 states by sales"
-msgstr ""
+msgstr "Topp 10 stater etter omsetning"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "[[Timestamp]]"
-msgstr ""
+msgstr "[[Timestamp]]"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Where these transactions happened"
-msgstr ""
+msgstr "Hvor disse transaksjonene skjedde"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
 msgid "Top 10 countries by sales"
-msgstr ""
+msgstr "Topp 10 land etter omsetning"
 
 #: resources/automagic_dashboards/table/example.yaml
 msgid "Sales by state"
-msgstr ""
+msgstr "Omsetning etter stat"
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "Where most of your sessions originate from"
-msgstr ""
+msgstr "Hvor de fleste av dine sesjoner kom fra"
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "Top acquisition channels"
-msgstr ""
+msgstr "De viktigste tilegnelseskanaler"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "These [[this.short-name]] across time"
-msgstr ""
+msgstr "Disse [[this.short-name]] over tid"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Average quantity"
-msgstr ""
+msgstr "Gjennomsnittlig antall"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Sales per source"
-msgstr ""
+msgstr "Omsetning per kilde"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
 msgid "Average income per country"
-msgstr ""
+msgstr "Gjennomsnittlig inntekt per land"
 
 #: resources/automagic_dashboards/comparison/State.yaml
 #: resources/automagic_dashboards/comparison/FK.yaml
 #: resources/automagic_dashboards/comparison/Country.yaml
 #: resources/automagic_dashboards/comparison/GenericField.yaml
 msgid "How [[this]] is distributed"
-msgstr ""
+msgstr "Hvordan [[this]] er distribuert"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Distinct [[FK]]"
-msgstr ""
+msgstr "Unike [[FK]]"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "How these transactions are distributed"
-msgstr ""
+msgstr "Hvordan disse transaksjonene er fordelt"
 
 #: resources/automagic_dashboards/table/UserTable.yaml
 msgid "Per state"
-msgstr ""
+msgstr "Per stat"
 
 #: resources/automagic_dashboards/field/DateTime.yaml
 msgid "Count of [[GenericCategoryMedium]] by [[this]]"
-msgstr ""
+msgstr "Antall [[GenericCategoryMedium]] for [[this]]"
 
 #: resources/automagic_dashboards/field/DateTime.yaml
 #: resources/automagic_dashboards/field/State.yaml
@@ -10729,68 +10741,68 @@ msgstr ""
 #: resources/automagic_dashboards/comparison/Country.yaml
 #: resources/automagic_dashboards/comparison/GenericField.yaml
 msgid "A look at your [[this]]"
-msgstr ""
+msgstr "Et blikk på dine [[this]]"
 
 #: resources/automagic_dashboards/field/DateTime.yaml
 #: resources/automagic_dashboards/field/GenericField.yaml
 msgid "[[GenericNumber]] by [[this]]"
-msgstr ""
+msgstr "[[GenericNumber]] etter [[this]]"
 
 #: resources/automagic_dashboards/field/Country.yaml
 msgid "Sum of [[GenericNumber]] by [[this]]"
-msgstr ""
+msgstr "Summen av [[GenericNumber]] etter [[this]]"
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "A look at your [[this]] table"
-msgstr ""
+msgstr "Et blikk på din [[this]]-tabell"
 
 #: resources/automagic_dashboards/field/State.yaml
 msgid "How many [[GenericTable]] there are per state, and how each state is represented across other categories."
-msgstr ""
+msgstr "Hvor mange [[GenericTable]] det er per status, og hvordan hver status er representert på tvers av kategorier."
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "Most-viewed pages"
-msgstr ""
+msgstr "Mest viste sider"
 
 #: resources/automagic_dashboards/table/example.yaml
 msgid "Example exploration"
-msgstr ""
+msgstr "Eksempelutforskning"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
 msgid "Sales vs. rating"
-msgstr ""
+msgstr "Omsetning vs. Vurdering"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "[[this]] per hour of the day"
-msgstr ""
+msgstr "[[this]] per time i døgnet"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Where your [[this.short-name]] are"
-msgstr ""
+msgstr "Hvor dine [[this.short-name]] er"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "These are the same for all your [[this.short-name]]"
-msgstr ""
+msgstr "Disse er det samme for alle dine [[this.short-name]]"
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "Events by different categories"
-msgstr ""
+msgstr "Hendelser for forskjellige kategorier"
 
 #: resources/automagic_dashboards/table/UserTable.yaml
 msgid "Where these [[this.short-name]] are"
-msgstr ""
+msgstr "Hvor disse [[this.short-name]] er"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "Over time"
-msgstr ""
+msgstr "Over tid"
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "A summary of the events in your [[this]] table"
-msgstr ""
+msgstr "En oppsummering av hendelsene i din [[this]]-tabell"
 
 #: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
 msgid "Transactions per source over time"
-msgstr ""
+msgstr "Transaksjoner per kilde over tid"
 
 #: resources/automagic_dashboards/field/DateTime.yaml
 #: resources/automagic_dashboards/field/State.yaml
@@ -10798,221 +10810,221 @@ msgstr ""
 #: resources/automagic_dashboards/field/Country.yaml
 #: resources/automagic_dashboards/field/GenericField.yaml
 msgid "How the [[this]] is distributed"
-msgstr ""
+msgstr "Hvordan [[this]] er fordelt"
 
 #: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
 msgid "Total income per source"
-msgstr ""
+msgstr "Total inntekt per kilde"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 #: resources/automagic_dashboards/table/UserTable.yaml
 msgid "Total [[this.short-name]]"
-msgstr ""
+msgstr "Total [[this.short-name]]"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Some metrics we found about your transactions."
-msgstr ""
+msgstr "Noen indikatorer vi fant som gjelder dine transaksjoner."
 
 #: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
 msgid "How your different products are performing."
-msgstr ""
+msgstr "Hvordan dine forskjellige produkter yter."
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "Where these events are happening"
-msgstr ""
+msgstr "Hvor disse hendelsene skjer"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 msgid "Which US states are bringing you the most business."
-msgstr ""
+msgstr "Hvilken stat i USA fører til mest virksomhet."
 
 #: resources/automagic_dashboards/field/Number.yaml
 #: resources/automagic_dashboards/table/GenericTable.yaml
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "How they compare across time"
-msgstr ""
+msgstr "Hvordan de varierer over tid."
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Average transaction income per month"
-msgstr ""
+msgstr "Gjennomsnittlig inntekt for transaksjoner per måned"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Average quantity per month"
-msgstr ""
+msgstr "Gjennomsnittlig antall per måned"
 
 #: resources/automagic_dashboards/field/DateTime.yaml
 msgid "Seasonal patterns in the [[this]]"
-msgstr ""
+msgstr "Sesongvariasjoner i [[this]]"
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "Events over time"
-msgstr ""
+msgstr "Hendelser over tid"
 
 #: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
 msgid "Orders and income per source"
-msgstr ""
+msgstr "Bestillinger og inntekt per kilde"
 
 #: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
 msgid "Transactions per hour of the day"
-msgstr ""
+msgstr "Transaksjoner per time i døgnet"
 
 #: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
 msgid "Where most of your traffic is coming from."
-msgstr ""
+msgstr "Hvor den meste av trafikken kommer fra."
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "Heres a quick look at the [[this]]"
-msgstr ""
+msgstr "Her er en rask kikk på [[this]]"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "It looks like your [[this]] has transactions, so heres a look at them"
-msgstr ""
+msgstr "Det ser ut som at [[this]] inneholder transaksjoner, så her er en rask titt på dem"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Average discount per month"
-msgstr ""
+msgstr "Gjennomsnittlig rabatt per måned"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "[[Timestamp]] by month of the year"
-msgstr ""
+msgstr "[[Timestamp]] for måned i året"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "[[this]] per [[GenericCategorySmall]] over time"
-msgstr ""
+msgstr "[[this]] per [[GenericCategorySmall]] over tid"
 
 #: resources/automagic_dashboards/table/example.yaml
 msgid "Distribution by coordinates"
-msgstr ""
+msgstr "Fordeling over koordinater"
 
 #: resources/automagic_dashboards/table/example.yaml
 msgid "Sales by source"
-msgstr ""
+msgstr "Omsetning etter kilde"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Sales for each product category"
-msgstr ""
+msgstr "Omsetning for hver produktkategori"
 
 #: resources/automagic_dashboards/question/GenericQuestion.yaml
 msgid "A closer look at the metrics and dimensions used in this saved question."
-msgstr ""
+msgstr "En nærmere titt på indikatorene og dimensjonene som er brukt i dette lagrede spørsmålet."
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "[[this.short-name]] per [[GenericCategoryMedium]]"
-msgstr ""
+msgstr "[[this.short-name]] per [[GenericCategoryMedium]]"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
 msgid "Sales per product [[ProductCategoryLarge]]"
-msgstr ""
+msgstr "Omsetning per produkt [[ProductCategoryLarge]]"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
 msgid "Average quantity per country"
-msgstr ""
+msgstr "Gjennomsnittlig antall per land"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "[[this.short-name]] per [[GenericCategoryLarge]]"
-msgstr ""
+msgstr "[[this.short-name]] per [[GenericCategoryLarge]]"
 
 #: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
 msgid "Heres a closer look at your [[this]] per source"
-msgstr ""
+msgstr "Her er en nærmere kikk på dine [[this]] per kilde"
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "Events per day of the month"
-msgstr ""
+msgstr "Hendelser per dag i måneden"
 
 #: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
 msgid "If youre into correlations, this is the x-ray for you."
-msgstr ""
+msgstr "Hvis du liker korrelasjoner, så er dette X-Rayen for deg."
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "Sessions by Country"
-msgstr ""
+msgstr "Sesjoner etter Land"
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "Some interesting metrics about your GA stats to get you started."
-msgstr ""
+msgstr "Noen interessante indikatorer om din GA-statistikk for å la deg komme i gang."
 
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "[[this]] per state"
-msgstr ""
+msgstr "[[this]] per stat"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "[[Timestamp]] by quarter of the year"
-msgstr ""
+msgstr "[[Timestamp]] etter kvartal i året"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "How its distributed across time and other categories."
-msgstr ""
+msgstr "Hvordan det er fordelt over tid og over andre kategorier"
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "A look at your events over time and by several categories."
-msgstr ""
+msgstr "En titt på dine hendelser over tid og over andre kategorier"
 
 #: resources/automagic_dashboards/field/State.yaml
 msgid "[[GenericTable]] per [[this]]"
-msgstr ""
+msgstr "[[GenericTable]] per [[this]]"
 
 #: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
 msgid "Average quantity per source"
-msgstr ""
+msgstr "Gjennomsnittlig antall per kilde"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "Top 5 per category"
-msgstr ""
+msgstr "Topp 5 per kategori"
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "Events per day of the week"
-msgstr ""
+msgstr "Hendelser per ukedag"
 
 #: resources/automagic_dashboards/table/UserTable.yaml
 msgid "New [[this.short-name]] per month"
-msgstr ""
+msgstr "Nye [[this.short-name]] per måned"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
 msgid "Top performers"
-msgstr ""
+msgstr "Toppytere"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Transactions in the last 30 days"
-msgstr ""
+msgstr "Transaksjoner i løpet av de siste 30 dagene"
 
 #: resources/automagic_dashboards/field/DateTime.yaml
 msgid "[[GenericTable]] by [[this]]"
-msgstr ""
+msgstr "[[GenericTable]] for [[this]]"
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "Overview of your [[this]] data from Google Analytics"
-msgstr ""
+msgstr "Oversikt over dine [[this]]-data fra Google Analytics"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Created At by hour of the day"
-msgstr ""
+msgstr "Opprettet Dato etter time på døgnet"
 
 #: resources/automagic_dashboards/table/example.yaml
 msgid "Sales by month"
-msgstr ""
+msgstr "Omsetning per måned"
 
 #: resources/automagic_dashboards/field/Number.yaml
 msgid "How the [[this]] is distributed across categories"
-msgstr ""
+msgstr "Hvordan [[this]] er fordelt på tvers av kategorier"
 
 #: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
 msgid "[[Timestamp]] by month of year"
-msgstr ""
+msgstr "[[Timestamp]] etter måned i året"
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "How many total sessions vs. how many individual users you had each day."
-msgstr ""
+msgstr "Hvor mange sesjoner totalt vs. hvor mange individuelle brukere du hadde hver dag."
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "How this metric is distributed across different numbers"
-msgstr ""
+msgstr "Hvordan denne indikatoren er fordelt på tvers av forskjellige nummer"
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "Sessions by page where the session began"
-msgstr ""
+msgstr "Sesjoner etter side hvor sesjonen startet"
 
 #: resources/automagic_dashboards/field/DateTime.yaml
 #: resources/automagic_dashboards/field/State.yaml
@@ -11020,20 +11032,20 @@ msgstr ""
 #: resources/automagic_dashboards/field/Country.yaml
 #: resources/automagic_dashboards/field/GenericField.yaml
 msgid "Distinct values"
-msgstr ""
+msgstr "Unike verdier"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Hours when [[this.short-name]] were added"
-msgstr ""
+msgstr "Timer når [[this.short-name]] ble lagt til"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "[[Timestamp]] by day of the week"
-msgstr ""
+msgstr "[[Timestamp]] etter ukedag"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "[[GenericNumber]] over time"
-msgstr ""
+msgstr "[[GenericNumber]] over tid"
 
 #: resources/automagic_dashboards/field/State.yaml
 #: resources/automagic_dashboards/field/GenericField.yaml
@@ -11042,43 +11054,43 @@ msgstr ""
 #: resources/automagic_dashboards/comparison/Country.yaml
 #: resources/automagic_dashboards/comparison/GenericField.yaml
 msgid "Heres an overview of your [[this]]"
-msgstr ""
+msgstr "Her er en oversikt over dine [[this]]"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "[[this.short-name]] by coordinates"
-msgstr ""
+msgstr "[[this.short-name]] etter koordinater"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 msgid "Heres a closer look at your [[this]] per state"
-msgstr ""
+msgstr "Her er en nærmere titt på dine [[this]] per stat"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Created At by day of the month"
-msgstr ""
+msgstr "Opprettet Dato etter dag i måneden"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Sales by coordinates"
-msgstr ""
+msgstr "Omsetning etter koordinater"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "New [[this.short-name]] over time"
-msgstr ""
+msgstr "Nye [[this.short-name]] over tid"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Join date by hour of the day"
-msgstr ""
+msgstr "Innmeldingsdato etter time i døgnet"
 
 #: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
 msgid "[[Timestamp]] by hour of day"
-msgstr ""
+msgstr "[[Timestamp]] etter time i døgnet"
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "Sessions and unique users per day"
-msgstr ""
+msgstr "Sesjoner og unike brukere per dag"
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "Events per [[GenericCategoryLarge]]"
-msgstr ""
+msgstr "Hendelser per [[GenericCategoryLarge]]"
 
 #: resources/automagic_dashboards/field/DateTime.yaml
 #: resources/automagic_dashboards/field/State.yaml
@@ -11087,225 +11099,1282 @@ msgstr ""
 #: resources/automagic_dashboards/field/GenericField.yaml
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "How they compare by distribution"
-msgstr ""
+msgstr "Hvordan de varierer etter distribusjon"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
 msgid "Income per country"
-msgstr ""
+msgstr "Inntekt per land"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
 msgid "Heres a closer look at your [[this]] per country"
-msgstr ""
+msgstr "Her er en nærmere titt på dine [[this]] per land"
 
 #: resources/automagic_dashboards/table/example.yaml
 msgid "Sales by product [[ProductCategory]]"
-msgstr ""
+msgstr "Salg etter produkt [[ProductCategory]]"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "[[this]] per [[GenericCategoryLarge]], bottom 5"
-msgstr ""
+msgstr "[[this]] per [[GenericCategoryLarge]], siste 5"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "[[this.short-name]] added in the last 30 days"
-msgstr ""
+msgstr "[[this.short-name]] lagt til i løpet av de siste 30 dagene"
 
 #: resources/automagic_dashboards/table/UserTable.yaml
 msgid "Per [[Source]]"
-msgstr ""
+msgstr "Per [[Source]]"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Average item quantity per month"
-msgstr ""
+msgstr "Gjennomsnittlig antall ting per måned"
 
 #: resources/automagic_dashboards/field/Country.yaml
 msgid "The number of [[GenericTable]] per country, and how each country is represented in different categories."
-msgstr ""
+msgstr "Antall [[GenericTable]] per land, og hvordan hvert land er representert i forskjellige kategorier."
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "[[this]] per day of the week"
-msgstr ""
+msgstr "[[this]] per ukedag"
 
 #: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
 msgid "Average qunatity per source"
-msgstr ""
+msgstr "Gjennomsnittlig antall per kilde"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "[[this.short-name]] by [[Timestamp]]"
-msgstr ""
+msgstr "[[this.short-name]] for [[Timestamp]]"
 
 #: resources/automagic_dashboards/field/Number.yaml
 msgid "Summary statistics"
-msgstr ""
+msgstr "Sammenfattet statistikk"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Sales per month"
-msgstr ""
+msgstr "Omsetning per måned"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "[[GenericNumber]] by join date"
-msgstr ""
+msgstr "[[GenericNumber]] etter innmeldingsdato"
 
 #: resources/automagic_dashboards/field/Number.yaml
 msgid "Average of [[this]] by [[Country]]"
-msgstr ""
+msgstr "Gjennomsnittet av [[this]] for [[Country]]"
 
 #: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
 msgid "[[this]] over time"
-msgstr ""
+msgstr "[[this]] over tid"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Join date by day of the week"
-msgstr ""
+msgstr "Innmeldingsdato etter ukedag"
 
 #: resources/automagic_dashboards/field/Number.yaml
 msgid "We crunched the numbers for your [[this]]"
-msgstr ""
+msgstr "Vi knuste tall for din [[this]]"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Months when [[this.short-name]] joined"
-msgstr ""
+msgstr "Måneder når [[this.short-name]] ble innmeldt"
 
 #: src/metabase/api/geojson.clj
 msgid "Unable to parse resource `{0}` as JSON"
-msgstr ""
+msgstr "Ressursen `{0}` kan ikke tolkes som JSON"
 
 #: src/metabase/api/geojson.clj
 msgid "Unable to find JSON via relative path `{0}`"
-msgstr ""
+msgstr "Finner ikke JSON via den relative stien `{0}`"
 
 #: src/metabase/api/geojson.clj
 msgid "Connection to host timed out for URL `{0}`"
-msgstr ""
+msgstr "Tidsavbrudd for tilkobling til vert på URL `{0}`"
 
 #: src/metabase/api/geojson.clj
 msgid "Unable to connect to unknown host at URL `{0}`"
-msgstr ""
+msgstr "Klarte ikke å koble til ukjent vert på URL `{0}`"
 
 #: src/metabase/api/geojson.clj
 msgid "Unable to connect to host at URL `{0}`"
-msgstr ""
+msgstr "Klarte ikke å koble til vert på URL `{0}`"
 
 #: src/metabase/api/geojson.clj
 msgid "Connection refused by host at for URL `{0}`"
-msgstr ""
+msgstr "Tilkobling nektet av vert for URL `{0}`"
 
 #: src/metabase/api/geojson.clj
 msgid "Unable to retrieve resource at URL `{0}`"
-msgstr ""
+msgstr "Klarte ikke å motta ressurs på URL `{0}`"
 
 #: src/metabase/api/geojson.clj
 msgid "Unable to parse resource at URL `{0}` as JSON"
-msgstr ""
+msgstr "Klarte ikke å tolke ressursen på URL `{0}` som JSON"
 
 #: src/metabase/api/session.clj
 msgid "Problem connecting to LDAP server, will fall back to local authentication: {0}"
-msgstr ""
+msgstr "Problem med tilkobling til LDAP-server, faller tilbake på lokal autentisering: {0}"
 
 #: src/metabase/driver/bigquery.clj
 msgid "BigQuery statements can''t be parameterized!"
-msgstr ""
+msgstr "BigQuery-uttrykk kan ikke parametriseres!"
 
 #: src/metabase/driver/druid/query_processor.clj
 msgid "WARNING: Druid does not allow limitSpec in time series queries. Ignoring the LIMIT clause."
-msgstr ""
+msgstr "ADVARSEL: Druid tillater ikke limitSpec i tidsseriespørringer. Ignorerer LIMIT-klausulen."
 
 #: src/metabase/driver/snowflake.clj
 msgid "Invalid Snowflake connection details: missing DB name."
-msgstr ""
+msgstr "Ugyldig Snowflake-tilkoblingsdetaljer: manglende DB-navn."
 
 #: src/metabase/email/messages.clj
 msgid "We’d love your feedback."
-msgstr ""
+msgstr "Vi vil sette pris på din tilbakemelding."
 
 #: src/metabase/email/messages.clj
 msgid "It looks like Metabase wasn’t quite a match for you."
-msgstr ""
+msgstr "Det ser ut som Metabase ikke fungerte tilfredsstillende for deg."
 
 #: src/metabase/email/messages.clj
 msgid "Would you mind taking a fast 5 question survey to help the Metabase team understand why and make things better in the future?"
-msgstr ""
+msgstr "Har du lyst til å svare på 5 raske spørsmål for å hjelpe Metabase-teamet med å forstå hvorfor, og gjøre ting bedre i fremtiden?"
 
 #: src/metabase/email/messages.clj
 msgid "We hope you''ve been enjoying Metabase."
-msgstr ""
+msgstr "Vi håper du likte Metabase."
 
 #: src/metabase/email/messages.clj
 msgid "Would you mind taking a fast 6 question survey to tell us how it’s going?"
-msgstr ""
+msgstr "Kunne du tenke deg å svare på en kort undersøkelse med 6 spørsmål for å fortelle oss hvordan det går?"
 
 #: src/metabase/email/messages.clj
 msgid "{0} created a Metabase account"
-msgstr ""
+msgstr "{0} opprettet en konto til Metabase"
 
 #: src/metabase/email/messages.clj
 msgid "{0} accepted their Metabase invite"
-msgstr ""
+msgstr "{0} aksepterte sin invitasjon til Metabase"
 
 #: src/metabase/email/messages.clj
 msgid "[Metabase] Password Reset Request"
-msgstr ""
+msgstr "[Metabase] Forespørsel om tilbakestilling av passord"
 
 #: src/metabase/email/messages.clj
 msgid "[Metabase] Notification"
-msgstr ""
+msgstr "[Metabase] Varsel"
 
 #: src/metabase/email/messages.clj
 msgid "[Metabase] Help make Metabase better."
-msgstr ""
+msgstr "[Metabase] Hjelp Metabase å bli bedre."
 
 #: src/metabase/email/messages.clj
 msgid "[Metabase] Tell us how things are going."
-msgstr ""
+msgstr "[Metabase] Fortell oss hvordan ting går."
 
 #: src/metabase/mbql/util.clj
 msgid "Error: query''s source query has not been resolved. You probably need to `preprocess` the query first."
-msgstr ""
+msgstr "Feil: spørringens kildespørring har ikke blitt løst. Du trenger sannsynligvis å `preprosessere` spørringen først."
 
 #: src/metabase/models/params.clj
 msgid "Don't know what to do with:"
-msgstr ""
+msgstr "Jeg vet ikke hva jeg skal gjøre med:"
 
 #: src/metabase/models/params.clj
 msgid "Don't know how to wrap:"
-msgstr ""
+msgstr "Jeg vet ikke hvordan man kan pakke inn:"
 
 #: src/metabase/public_settings.clj
 msgid "Failed setting `query-caching-max-kb` to {0}."
-msgstr ""
+msgstr "Klarte ikke å sette `query-caching-max-kb` til {0}"
 
 #: src/metabase/public_settings.clj
 msgid "Values greater than {1} are not allowed."
-msgstr ""
+msgstr "Verdier større enn {1} er ikke tillatt."
 
 #: src/metabase/query_processor/middleware/resolve_database.clj
 msgid "Database {0} does not exist."
-msgstr ""
+msgstr "Databasen {0} finnes ikke."
 
 #: src/metabase/query_processor/store.clj
 msgid "Error: Database is not present in the Query Processor Store."
-msgstr ""
+msgstr "Feil: Databasen finnes ikke i Query Processor Store."
 
 #: src/metabase/util/embed.clj
 msgid "Invalid embedding-secret-key! Secret key must be a hexadecimal-encoded 256-bit key (i.e., a 64-character string)."
-msgstr ""
+msgstr "Ugyldig embedding-secret-key! Den hemmelige nøkkelen må være en heksadesimalkodet 256-bit-nøkkel (dvs. en streng på 64 tegn)."
 
 #: src/metabase/util/embed.clj
 msgid "JWT is missing `alg`."
-msgstr ""
+msgstr "JWT mangler `alg`."
 
 #: src/metabase/util/embed.clj
 msgid "JWT `alg` cannot be `none`."
-msgstr ""
+msgstr "JWT `alg` kan ikke være `none`."
 
 #: src/metabase/util/embed.clj
 msgid "The embedding secret key has not been set."
-msgstr ""
+msgstr "Den hemmelige innebyggingsnøkkelen har ikke blitt satt."
 
 #: src/metabase/util/embed.clj
 msgid "Token is missing value for keypath"
-msgstr ""
+msgstr "Token mangler verdi for keypath"
 
 #: resources/automagic_dashboards/table/example/indepth.yaml
 msgid "In-depth example"
+msgstr "Detaljert eksempel"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:29
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:17
+msgid "Key"
+msgstr "Nøkkel"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:30
+msgid "Class"
+msgstr "Klasse"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:32
+msgid "Triggers"
+msgstr "Triggere"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:48
+msgid "View triggers"
+msgstr "Vis triggere"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:82
+msgid "Scheduler Info"
+msgstr "Planleggingsinfo"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:20
+msgid "Priority"
+msgstr "Prioritet"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:21
+msgid "Last Fired"
+msgstr "Sist kjørt"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:22
+msgid "Next Fire Time"
+msgstr "Neste kjøringstid"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:23
+msgid "Start Time"
+msgstr "Start tid"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:24
+msgid "End Time"
+msgstr "Slutt tid"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:25
+msgid "Final Fire Time"
+msgstr "Siste kjøringstid"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:26
+msgid "May Fire Again?"
+msgstr "Kan kjøres igjen?"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:75
+msgid "Triggers for {0}"
+msgstr "Triggere for {0}"
+
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:25
+msgid "Tasks"
+msgstr "Oppgaver"
+
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:30
+msgid "Jobs"
+msgstr "Jobber"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:740
+msgid "Duplicated {0}"
+msgstr "Duplisert {0}"
+
+#: frontend/src/metabase/components/EntityItem.jsx:55
+msgid "Duplicate this item"
+msgstr "Dupliser denne"
+
+#: frontend/src/metabase/components/EntityItem.jsx:61
+msgid "Archive this item"
+msgstr "Arkiver denne"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:330
+msgid "Duplicate dashboard"
+msgstr "Dupliser tavle"
+
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:16
+msgid "Duplicate \"{0}\""
+msgstr "Dupliser \"{0}\""
+
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:21
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:26
+msgid "Duplicate"
+msgstr "Dupliser"
+
+#: frontend/src/metabase/lib/query_time.js:115
+msgid "Tomorrow"
+msgstr "Imorgen"
+
+#: frontend/src/metabase/lib/query_time.js:129
+#: frontend/src/metabase/lib/query_time.js:143
+msgid "This {0}"
+msgstr "Dette {0}"
+
+#: frontend/src/metabase/lib/query_time.js:132
+msgid "Next {0}"
+msgstr "Neste {0}"
+
+#: frontend/src/metabase/lib/query_time.js:135
+msgid "Previous {0}"
+msgstr "Sist {0}"
+
+#: frontend/src/metabase/lib/query_time.js:139
+msgid "Previous {0} {1}"
+msgstr "Sist {0} {1}"
+
+#: frontend/src/metabase/lib/query_time.js:141
+msgid "Next {0} {1}"
+msgstr "Neste {0} {1}"
+
+#: frontend/src/metabase/lib/query_time.js:171
+msgid "Now"
+msgstr "NÃ¥"
+
+#: frontend/src/metabase/lib/query_time.js:174
+msgid "{0} {1} ago"
+msgstr "{0} {1} siden"
+
+#: frontend/src/metabase/lib/query_time.js:175
+msgid "{0} {1} from now"
+msgstr "{0} {1} fra nå"
+
+#: frontend/src/metabase/lib/query_time.js:187
+msgid "Default period"
+msgid_plural "Default periods"
+msgstr[0] "Standard periode"
+msgstr[1] "Standard perioder"
+
+#: frontend/src/metabase/lib/query_time.js:203
+msgid "Minute of hour"
+msgid_plural "Minutes of hour"
+msgstr[0] "Minutt i time"
+msgstr[1] "Minutter av time"
+
+#: frontend/src/metabase/lib/query_time.js:205
+msgid "Hour of day"
+msgid_plural "Hours of day"
+msgstr[0] "Time på dagen"
+msgstr[1] "Timer i dagen"
+
+#: frontend/src/metabase/lib/query_time.js:207
+msgid "Day of week"
+msgid_plural "Days of week"
+msgstr[0] "Dag i uke"
+msgstr[1] "Dager i uke"
+
+#: frontend/src/metabase/lib/query_time.js:209
+msgid "Day of month"
+msgid_plural "Days of month"
+msgstr[0] "Dag i måned"
+msgstr[1] "Dager i måned"
+
+#: frontend/src/metabase/lib/query_time.js:211
+msgid "Day of year"
+msgid_plural "Days of year"
+msgstr[0] "Dag i år"
+msgstr[1] "Dager i år"
+
+#: frontend/src/metabase/lib/query_time.js:213
+msgid "Week of year"
+msgid_plural "Weeks of year"
+msgstr[0] "Uke i år"
+msgstr[1] "Uker i år"
+
+#: frontend/src/metabase/lib/query_time.js:215
+msgid "Month of year"
+msgid_plural "Months of year"
+msgstr[0] "Måned i år"
+msgstr[1] "Måneder i år"
+
+#: frontend/src/metabase/lib/query_time.js:217
+msgid "Quarter of year"
+msgid_plural "Quarters of year"
+msgstr[0] "Kvartal i år"
+msgstr[1] "Kvartaler i år"
+
+#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:62
+#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:58
+#: frontend/src/metabase/query_builder/components/Filter.jsx:79
+msgid "{0} selection"
+msgid_plural "{0} selections"
+msgstr[0] "{0} valgt"
+msgstr[1] "{0} valgte"
+
+#: frontend/src/metabase/parameters/components/widgets/DateQuarterYearWidget.jsx:11
+msgid "[Q]Q"
+msgstr "[Q]Q"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:28
+msgid "This"
+msgstr "Dette"
+
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:64
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:96
+msgid "Invalid"
+msgstr "Ukorrekt"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/SpecificDatePicker.jsx:147
+msgid "Add a time"
+msgstr "Legg til tid"
+
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:170
+msgid "Nothing to compare for the previous {0}."
+msgstr "Ingenting å sammenligne siden {0}."
+
+#: frontend/src/metabase-lib/lib/Dimension.js:517
+msgid "by {0}"
+msgstr "etter {0}"
+
+#: src/metabase/api/database.clj
+msgid "value must be a valid database engine."
+msgstr "verdi må være en gyldig database motor."
+
+#: src/metabase/api/geojson.clj
+msgid "Connection refused by host for URL `{0}`"
+msgstr "Tilkobling nektet av vert for nettlink `{0}`"
+
+#: src/metabase/db.clj
+msgid "Warning: Postgres connection string with `ssl=true` detected."
+msgstr "Advarsel: Postgres koblingsstreng med `ssl=true` funnet."
+
+#: src/metabase/db.clj
+msgid "You may need to add `?sslmode=require` to your application DB connection string."
+msgstr "Det kan hende du må legge inn `?sslmode=require` i koblingsstreng til databasen."
+
+#: src/metabase/db.clj
+msgid "If Metabase fails to launch, please add it and try again."
+msgstr "Hvis Metabase feiler ved oppstart, vennligst legg det inn og prøv igjen."
+
+#: src/metabase/db.clj
+msgid "See https://github.com/metabase/metabase/issues/8908 for more details."
+msgstr "Se http://github.com/metabase/metabase/issues/8908 for detaljer."
+
+#: src/metabase/db.clj
+msgid "WARNING: Using Metabase with an H2 application database is not recomended for production deployments."
+msgstr "ADVARSEL: Bruk av H2 applikasjonsdatabase med Metabase er ikke anbefalt for produksjon."
+
+#: src/metabase/db.clj
+msgid "For production deployments, we highly recommend using Postgres, MySQL, or MariaDB instead."
+msgstr "For produksjon, anbefaler vi bruk av Postgres, MySQL eller MariaDB istedenfor."
+
+#: src/metabase/db.clj
+msgid "If you decide to continue to use H2, please be sure to back up the database file regularly."
+msgstr "Hvis du avgjør å bruke H2 for produksjon, vennligst bekreft at backup databasefilen jevnlig."
+
+#: src/metabase/db.clj
+msgid "See https://metabase.com/docs/latest/operations-guide/start.html#migrating-from-using-the-h2-database-to-mysql-or-postgres for more information."
+msgstr ""
+
+#: src/metabase/db.clj
+msgid "Unable to connect to Metabase {0} DB."
+msgstr ""
+
+#: src/metabase/db/migrations.clj
+msgid "Error adding legacy SQL directive to BigQuery saved Question"
+msgstr ""
+
+#: src/metabase/driver.clj
+msgid "Failed to notify {0} Database {1} updated"
+msgstr ""
+
+#: src/metabase/driver.clj
+msgid "Loading driver {0} {1}"
+msgstr "Laster inn driver {0} {1}"
+
+#: src/metabase/driver.clj
+msgid "Load driver {0}"
+msgstr "Last inn driver {0}"
+
+#: src/metabase/driver.clj
+msgid "Driver not registered after loading: {0}"
+msgstr "Driver ikke registrert etter innlasting: {0}"
+
+#: src/metabase/driver.clj
+msgid "Error: attempting to change {0} property `:abstract?` from {1} to {2}."
+msgstr ""
+
+#: src/metabase/driver.clj
+msgid "Registered abstract driver {0}"
+msgstr ""
+
+#: src/metabase/driver.clj
+msgid "Registered driver {0}"
+msgstr "Registrerer driver {0}"
+
+#: src/metabase/driver.clj
+msgid "(parents: {0})"
+msgstr "(foreldre: {0})"
+
+#: src/metabase/driver.clj
+msgid "Initializing driver {0}..."
+msgstr "Laster driver {0}..."
+
+#: src/metabase/driver.clj
+msgid "Reason:"
+msgstr "Ã…rsak:"
+
+#: src/metabase/driver.clj
+msgid "Invalid driver feature: {0}"
+msgstr "Ugyldig driver funksjon: {0}"
+
+#: src/metabase/driver/sql/query_processor.clj
+msgid "Invalid HoneySQL form:"
+msgstr "Ugyldig HoneySQL form:"
+
+#: src/metabase/driver/sql_jdbc/connection.clj
+msgid "Closing connection pool for database {0} ..."
+msgstr "Avslutter koblingsbasseng for database {0} ..."
+
+#: src/metabase/driver/util.clj
+msgid "Error loading namespace"
+msgstr "Lastingsfeil av navnplass"
+
+#: src/metabase/events.clj
+msgid "Starting events listener:"
+msgstr "Starter hendelseslytter"
+
+#: src/metabase/events.clj
+msgid "Unexpected error listening on events"
+msgstr ""
+
+#: src/metabase/events/sync_database.clj
+msgid "Error syncing Database {0}"
+msgstr "Feil ved synkronisering av database {0}"
+
+#: src/metabase/events/sync_database.clj
+msgid "Failed to process sync-database event."
+msgstr ""
+
+#: src/metabase/mbql/util.clj
+msgid "Bad nested-query-level: query does not have a source query"
+msgstr ""
+
+#: src/metabase/metabot/command.clj
+msgid "I don''t know how to `{0}`."
+msgstr "Jeg vet ikke hvordan jeg skal gjøre dette `{0}`"
+
+#: src/metabase/metabot/command.clj
+msgid "Here''s what I can do: "
+msgstr "Her er det jeg kan gjøre: "
+
+#: src/metabase/metabot/slack.clj
+msgid "Error in Metabot command"
+msgstr "Feil i Metabot kommando"
+
+#: src/metabase/metabot/websocket.clj
+msgid "Websocket associated with this Slack event is different from the websocket we're currently using."
+msgstr ""
+
+#: src/metabase/models/field_values.clj
+msgid "FieldValues for Field {0} remain unchanged. Skipping..."
+msgstr ""
+
+#: src/metabase/models/interface.clj
+msgid "Unable to normalize:"
+msgstr "Ikke mulig å normalisere"
+
+#: src/metabase/models/params.clj
+msgid "Could not find matching Field ID for target:"
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid "Metabase does not have permissions to write to plugins directory {0}"
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid "Metabase cannot use the plugins directory {0}"
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid "Please make sure the directory exists and that Metabase has permission to write to it."
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid "You can change the directory Metabase uses for modules by setting the environment variable MB_PLUGINS_DIR."
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid "Falling back to a temporary directory for now."
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid "Metabase cannot write to temporary directory. Please set MB_PLUGINS_DIR to a writable directory and restart Metabase."
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid "spark-deps.jar is no longer needed by Metabase 1.0+. You can delete it from the plugins directory."
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid "Failied to initialize plugin {0}"
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid "Loading plugins in {0}..."
+msgstr ""
+
+#: src/metabase/plugins/classloader.clj
+msgid "Using Clojure base loader as shared context classloader: {0}"
+msgstr ""
+
+#: src/metabase/plugins/classloader.clj
+msgid "Setting current thread context classloader to shared classloader {0}..."
+msgstr ""
+
+#. it's important that we deref the promise again here instead of using the one we just created because it is
+#. possible thru a race condition that somebody else delivered the promise before we did; in that case,
+#. Clojure ignores subsequent calls to `deliver`. Dereffing the promise guarantees that we'll get the actual
+#. value of it rather than one that ends up getting discarded
+#: src/metabase/plugins/classloader.clj
+msgid "Setting current thread context classloader to NEWLY CREATED classloader {0}..."
+msgstr ""
+
+#: src/metabase/plugins/classloader.clj
+msgid "Added URL {0} to classpath"
+msgstr ""
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugin {0} declares a dependency that Metabase does not understand: {1}"
+msgstr ""
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Refer to the plugin manifest reference for a complete list of valid plugin dependencies:"
+msgstr ""
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Metabase cannot initialize plugin {0} due to required dependencies."
+msgstr ""
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Class not found: {0}"
+msgstr ""
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugin ''{0}'' depends on plugin ''{1}''"
+msgstr ""
+
+#: src/metabase/plugins/dependencies.clj
+msgid "{0} dependency {1} satisfied? {2}"
+msgstr ""
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugins with unsatisfied deps: {0}"
+msgstr ""
+
+#: src/metabase/plugins/files.clj
+msgid "Extract file {0} -> {1}"
+msgstr ""
+
+#: src/metabase/plugins/files.clj
+msgid "Resource does not exist."
+msgstr ""
+
+#: src/metabase/plugins/init_steps.clj
+msgid "Loading plugin namespace {0}..."
+msgstr ""
+
+#: src/metabase/plugins/initialize.clj
+msgid "Dependencies satisfied; these plugins will now be loaded: {0}"
+msgstr ""
+
+#: src/metabase/plugins/jdbc_proxy.clj
+msgid "Registering JDBC proxy driver for {0}..."
+msgstr ""
+
+#: src/metabase/plugins/jdbc_proxy.clj
+msgid "Deregistering original JDBC driver {0}..."
+msgstr ""
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Default connection property {0} does not exist."
+msgstr ""
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Invalid connection property {0}: not a string or map."
+msgstr ""
+
+#. ok, do the init steps listed in the plugin mainfest
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Load lazy loading driver {0}"
+msgstr ""
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Cannot initialize plugin: missing required property `driver-name`"
+msgstr ""
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Warning: plugin manifest for {0} does not include connection properties"
+msgstr ""
+
+#. finally, register the Metabase driver
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Registering lazy loading driver {0}..."
+msgstr ""
+
+#: src/metabase/pulse.clj
+msgid "Error running query for Card {0}"
+msgstr ""
+
+#: src/metabase/pulse/render.clj
+msgid "Last week"
+msgstr ""
+
+#: src/metabase/pulse/render.clj
+msgid "This week"
+msgstr ""
+
+#: src/metabase/pulse/render.clj
+msgid "Last month"
+msgstr ""
+
+#: src/metabase/pulse/render.clj
+msgid "This month"
+msgstr ""
+
+#: src/metabase/pulse/render.clj
+msgid "Last quarter"
+msgstr ""
+
+#: src/metabase/pulse/render.clj
+msgid "This quarter"
+msgstr ""
+
+#: src/metabase/pulse/render.clj
+msgid "Last year"
+msgstr ""
+
+#: src/metabase/pulse/render.clj
+msgid "This year"
+msgstr ""
+
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "*driver* is unbound."
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields.clj
+msgid "Error syncing Fields for Table ''{0}''"
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields.clj
+msgid "Hash of {0} matches stored hash, skipping Fields sync"
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/common.clj
+msgid "Field"
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Error checking if Fields {0} need to be created or reactivated"
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Marking Field ''{0}'' as inactive."
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Error retiring {0}"
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Database type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Base type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Special type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Comment has been added for {0}."
+msgstr ""
+
+#: src/metabase/task.clj
+msgid "Stopping Quartz Scheduler {0}"
+msgstr ""
+
+#: src/metabase/task.clj
+msgid "Starting Quartz Scheduler {0}"
+msgstr ""
+
+#: src/metabase/task.clj
+msgid "Error loading tasks namespace {0}"
+msgstr ""
+
+#. don't bother logging namespace for now, maybe in the future if there's tasks of the same name in multiple
+#. namespaces we can log it
+#: src/metabase/task.clj
+msgid "Initializing task {0}"
+msgstr ""
+
+#: src/metabase/task.clj
+msgid "Error initializing task {0}"
+msgstr ""
+
+#: src/metabase/task/follow_up_emails.clj
+msgid "Problem sending abandonment email"
+msgstr ""
+
+#: src/metabase/task/send_anonymous_stats.clj
+msgid "Sending anonymous usage stats."
+msgstr ""
+
+#: src/metabase/task/send_anonymous_stats.clj
+msgid "Error sending anonymous usage stats"
+msgstr ""
+
+#: src/metabase/task/send_pulses.clj
+msgid "Error sending Pulse {0}"
+msgstr ""
+
+#: src/metabase/task/send_pulses.clj
+msgid "Sending scheduled pulses..."
+msgstr ""
+
+#: src/metabase/task/send_pulses.clj
+msgid "SendPulses task failed"
+msgstr ""
+
+#: src/metabase/task/sync_databases.clj
+msgid "Failed to scheduler tasks for Database {0}"
+msgstr ""
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Cleaning up task history"
+msgstr ""
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Task history cleanup successful, rows were deleted"
+msgstr ""
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Task history cleanup successful, no rows were deleted"
+msgstr ""
+
+#: src/metabase/task/upgrade_checks.clj
+msgid "Checking for new Metabase version info."
+msgstr ""
+
+#: src/metabase/task/upgrade_checks.clj
+msgid "Error fetching version info"
+msgstr ""
+
+#: src/metabase/util.clj
+msgid "Maximum memory available to JVM: {0}"
+msgstr ""
+
+#: src/metabase/util.clj
+msgid "Not something with an ID: {0}"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by month of the year"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Here's a quick look at your [[this]]"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by hour of the day"
+msgstr ""
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Where you've acquired your users"
+msgstr ""
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How it's distributed across time and other categories."
+msgstr ""
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Here's a closer look at your [[this]] per source"
+msgstr ""
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "Here's a quick look at the [[this]]"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by day of the month"
+msgstr ""
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Here's an overview of the people in your [[this]]"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by quarter of the year"
+msgstr ""
+
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How they compare across location"
+msgstr ""
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "Here's a closer look at your [[this]] by products"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by month of the year"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "An overview of your [[this]] and how it's distributed across time, place, and categories."
+msgstr ""
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/question/GenericQuestion.yaml
+msgid "Here's a closer look at your [[this]]"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by day of the week"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Here's an overview of your [[this]] data from Google Analytics"
+msgstr ""
+
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+#: resources/automagic_dashboards/comparison/State.yaml
+#: resources/automagic_dashboards/comparison/FK.yaml
+#: resources/automagic_dashboards/comparison/Country.yaml
+#: resources/automagic_dashboards/comparison/GenericField.yaml
+msgid "Here's an overview of your [[this]]"
+msgstr ""
+
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "Here's a closer look at your [[this]] field"
+msgstr ""
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Here's a closer look at your [[this]] per country"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
+msgid "If you're into correlations, this is the x-ray for you."
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by day of the week"
+msgstr ""
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "It looks like your [[this]] has transactions, so here's a look at them"
+msgstr ""
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Here's a closer look at your [[this]] per state"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by day of the month"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTime]] by hour of the day"
+msgstr ""
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Here's a closer look at your [[this]] over time"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by quarter of the year"
+msgstr ""
+
+#: frontend/src/metabase/admin/people/containers/EditUserModal.jsx:12
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:200
+msgid "Edit user"
+msgstr ""
+
+#: frontend/src/metabase/admin/people/containers/NewUserModal.jsx:13
+msgid "New user"
+msgstr ""
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:204
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:69
+msgid "Reset password"
+msgstr ""
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:209
+msgid "Deactivate user"
+msgstr ""
+
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:47
+msgid "Reactivate {0}?"
+msgstr ""
+
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:63
+msgid "We couldn’t send them an email invitation, so make sure to tell them to log in using {0} and this password we’ve generated for them:"
+msgstr ""
+
+#: frontend/src/metabase/entities/collections.js:21
+msgid "collection"
+msgstr ""
+
+#: frontend/src/metabase/entities/collections.js:22
+msgid "collections"
+msgstr ""
+
+#: frontend/src/metabase/entities/dashboards.js:29
+msgid "dashboard"
+msgstr ""
+
+#: frontend/src/metabase/entities/dashboards.js:30
+msgid "dashboards"
+msgstr ""
+
+#: frontend/src/metabase/entities/users.js:125
+msgid "First name is required"
+msgstr ""
+
+#: frontend/src/metabase/entities/users.js:126
+#: frontend/src/metabase/entities/users.js:133
+msgid "Must be 100 characters or less"
+msgstr ""
+
+#: frontend/src/metabase/entities/users.js:132
+msgid "Last name is required"
+msgstr ""
+
+#: frontend/src/metabase/entities/users.js:138
+msgid "Email is required"
+msgstr ""
+
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:90
+msgid "Items you archive will appear here."
+msgstr ""
+
+#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:16
+msgid "No description"
+msgstr ""
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:175
+msgid "Sum of all values"
+msgstr ""
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:183
+msgid "See all distinct values"
+msgstr ""
+
+#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:12
+msgid "Browse the contents of your databases, tables, and columns. Pick a database to get started"
+msgstr ""
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is VALID. Thanks!"
+msgstr ""
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is INVALID. Running query to fetch correct metadata."
+msgstr ""
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is  ISSING. Running query to fetch correct metadata."
+msgstr ""
+
+#: src/metabase/api/email.clj
+msgid "{0} was autocorrected to {1}"
+msgstr ""
+
+#: src/metabase/api/metric.clj
+msgid "DELETE /api/metric/:id is deprecated. Instead, change its `archived` value via PUT /api/metric/:id."
+msgstr ""
+
+#: src/metabase/api/segment.clj
+msgid "DELETE /api/segment/:id is deprecated. Instead, change its `archived` value via PUT /api/segment/:id."
+msgstr ""
+
+#: src/metabase/api/user.clj
+msgid "Value of is_superuser must correspond to presence of Admin group ID in group_ids."
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "Unexpected error writing keepalive characters"
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "Unexpected output in async API response"
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "starting streaming response"
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "Output chan closed, canceling keepalive request."
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "Async response finished, closing channels."
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "No response after waiting {0}. Canceling request."
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "Input channel unexpectedly closed."
+msgstr ""
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "f finished, permit will be returned"
+msgstr ""
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "request canceled, permit will be returned"
+msgstr ""
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Unexpected error attempting to run function after obtaining permit"
+msgstr ""
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Not running pending function call: output channel already closed."
+msgstr ""
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Current thread already has a permit for {0}, will not wait to acquire another"
+msgstr ""
+
+#: src/metabase/async/util.clj
+msgid "Output channel closed, will skip running {0}."
+msgstr ""
+
+#: src/metabase/async/util.clj
+msgid "Running {0} on separate thread..."
+msgstr ""
+
+#: src/metabase/async/util.clj
+msgid "Caught error running {0}"
+msgstr ""
+
+#: src/metabase/async/util.clj
+msgid "Request canceled, canceling future"
+msgstr ""
+
+#: src/metabase/driver/sql_jdbc/connection.clj
+msgid "Closing old connection pool for database {0} ..."
+msgstr ""
+
+#: src/metabase/metabot/command.clj
+msgid "Here''s your {0} most recent cards:"
+msgstr ""
+
+#: src/metabase/metabot/command.clj
+msgid "Could you be a little more specific, or use the ID? I found these cards with names that matched:"
+msgstr ""
+
+#: src/metabase/metabot/command.clj
+msgid "Card {0} not found."
+msgstr ""
+
+#: src/metabase/middleware/exceptions.clj
+msgid "Exception in API call"
+msgstr ""
+
+#: src/metabase/middleware/exceptions.clj
+msgid "Request canceled before finishing."
+msgstr ""
+
+#: src/metabase/middleware/json.clj
+msgid "Metabase only supports JSON requests."
+msgstr ""
+
+#: src/metabase/middleware/json.clj
+msgid "Make sure you set a 'Content-Type: application/json' header."
+msgstr "Dobbeltsjekk at det er satt opp 'Content-Type: application/json' på spørringshodet."
+
+#: src/metabase/middleware/misc.clj
+msgid "Setting Metabase site URL to {0}"
+msgstr ""
+
+#: src/metabase/models/database.clj
+msgid "Error scheduling tasks for DB"
+msgstr ""
+
+#: src/metabase/models/database.clj
+msgid "Error unscheduling tasks for DB."
+msgstr ""
+
+#: src/metabase/models/database.clj
+msgid "{0} Database ''{1}'' sync/analyze schedules have changed!"
+msgstr ""
+
+#: src/metabase/models/database.clj
+msgid "Sync metadata was: ''{0}'' is now: ''{1}''"
+msgstr ""
+
+#: src/metabase/models/database.clj
+msgid "Cache FieldValues was: ''{0}'', is now: ''{1}''"
+msgstr ""
+
+#: src/metabase/models/metric.clj
+msgid "You cannot update the creator_id of a Metric."
+msgstr ""
+
+#: src/metabase/models/permissions.clj
+msgid "MetaBot can only have Collection permissions."
+msgstr ""
+
+#: src/metabase/models/permissions.clj
+msgid "Failed to grant permissions"
+msgstr ""
+
+#: src/metabase/models/permissions.clj
+msgid "Changing permissions"
+msgstr ""
+
+#: src/metabase/models/permissions.clj
+msgid "FROM:"
+msgstr "Fra:"
+
+#: src/metabase/models/permissions.clj
+msgid "TO:"
+msgstr "Til:"
+
+#: src/metabase/models/segment.clj
+msgid "You cannot update the creator_id of a Segment."
+msgstr ""
+
+#: src/metabase/models/setting.clj
+msgid "Attempted to set Setting {0} to obfuscated value. Ignoring change."
+msgstr ""
+
+#: src/metabase/models/setting.clj
+msgid "Using value of env var {0}"
+msgstr ""
+
+#: src/metabase/models/user.clj
+msgid "Adding User {0} to All Users permissions group..."
+msgstr ""
+
+#: src/metabase/models/user.clj
+msgid "Adding User {0} to Admin permissions group..."
+msgstr ""
+
+#: src/metabase/query_processor.clj
+msgid "Query failure"
+msgstr ""
+
+#: src/metabase/query_processor/async.clj
+msgid "Maximum number of simultaneous queries to allow per connected Database."
+msgstr ""
+
+#: src/metabase/util.clj
+msgid "Timed out after {0} milliseconds."
 msgstr ""
 
diff --git a/locales/pl.po b/locales/pl.po
index 3035202378afce5e61fee334b5d1069953dff972..9ec502bb9b9b30df153e7434845e459ced00072a 100644
--- a/locales/pl.po
+++ b/locales/pl.po
@@ -144,54 +144,51 @@ msgstr "w tym polu:"
 #: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:87
 #: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:93
 #: frontend/src/metabase/admin/people/components/AddRow.jsx:27
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:250
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:302
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:322
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:343
 #: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:49
 #: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:52
 #: frontend/src/metabase/admin/permissions/containers/CollectionPermissionsModal.jsx:58
-#: frontend/src/metabase/admin/permissions/selectors.js:156
-#: frontend/src/metabase/admin/permissions/selectors.js:166
-#: frontend/src/metabase/admin/permissions/selectors.js:181
-#: frontend/src/metabase/admin/permissions/selectors.js:220
+#: frontend/src/metabase/admin/permissions/selectors.js:160
+#: frontend/src/metabase/admin/permissions/selectors.js:170
+#: frontend/src/metabase/admin/permissions/selectors.js:185
+#: frontend/src/metabase/admin/permissions/selectors.js:224
 #: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:355
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:181
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:247
 #: frontend/src/metabase/components/ConfirmContent.jsx:18
 #: frontend/src/metabase/components/DeleteModalWithConfirm.jsx:72
 #: frontend/src/metabase/components/HeaderModal.jsx:49
-#: frontend/src/metabase/components/form/StandardForm.jsx:59
+#: frontend/src/metabase/components/form/StandardForm.jsx:61
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:196
 #: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:289
 #: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:162
 #: frontend/src/metabase/dashboard/components/RemoveFromDashboardModal.jsx:38
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:189
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:192
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:352
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:191
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:354
 #: frontend/src/metabase/query_builder/components/RunButton.jsx:24
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:83
 #: frontend/src/metabase/query_builder/containers/ArchiveQuestionModal.jsx:48
 #: frontend/src/metabase/reference/components/EditHeader.jsx:34
 #: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:52
-#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:219
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:259
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:461
 msgid "Cancel"
 msgstr "Przerwij"
 
 #: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:88
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:123
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:121
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:132
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:461
 msgid "Delete"
 msgstr "Uusń"
 
 #: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:128
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:76
-#: frontend/src/metabase/admin/permissions/selectors.js:316
-#: frontend/src/metabase/admin/permissions/selectors.js:323
-#: frontend/src/metabase/admin/permissions/selectors.js:419
-#: frontend/src/metabase/admin/routes.jsx:43
-#: frontend/src/metabase/nav/containers/Navbar.jsx:215
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:74
+#: frontend/src/metabase/admin/permissions/selectors.js:320
+#: frontend/src/metabase/admin/permissions/selectors.js:327
+#: frontend/src/metabase/admin/permissions/selectors.js:423
+#: frontend/src/metabase/admin/routes.jsx:53
+#: frontend/src/metabase/nav/containers/Navbar.jsx:214
 #: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:18
 #: frontend/src/metabase/reference/databases/TableSidebar.jsx:21
 msgid "Databases"
@@ -212,11 +209,10 @@ msgstr "Planowanie"
 #: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:170
 #: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:78
 #: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:84
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:253
 #: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:26
 #: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:221
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:182
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:354
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:356
 #: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:47
 msgid "Save changes"
 msgstr "Zapisz zmiany"
@@ -265,7 +261,7 @@ msgid "Scan triggered!"
 msgstr "Rozpoczęto skanowanie!"
 
 #: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:215
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:399
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:401
 msgid "Danger Zone"
 msgstr "Niebezpieczna strefa"
 
@@ -278,39 +274,39 @@ msgstr "Odrzuć zapisane wartości pola"
 msgid "Remove this database"
 msgstr "Usuń tą bazę danych"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:75
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:73
 msgid "Add database"
 msgstr "Dodaj bazÄ™ danych"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:87
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:85
 #: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:36
 #: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:36
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:468
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:122
 #: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:183
 #: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:91
 #: frontend/src/metabase/components/DatabaseDetailsForm.jsx:399
 #: frontend/src/metabase/containers/EntitySearch.jsx:26
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:218
-#: frontend/src/metabase/entities/collections.js:86
-#: frontend/src/metabase/entities/dashboards.js:96
+#: frontend/src/metabase/entities/collections.js:93
+#: frontend/src/metabase/entities/dashboards.js:145
 #: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:461
-#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:78
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:81
 msgid "Name"
 msgstr "Nazwa"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:88
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:86
 msgid "Engine"
 msgstr "Silnik"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:117
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:115
 msgid "Deleting..."
 msgstr "Usuwanie..."
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:147
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:145
 msgid "Loading ..."
 msgstr "Ładowanie..."
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:163
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:161
 msgid "Bring the sample dataset back"
 msgstr "Przywróć przykładowy zestaw danych"
 
@@ -329,7 +325,7 @@ msgstr "Pomyślnie zapisane!"
 #: frontend/src/metabase/admin/datamodel/components/ObjectActionSelect.jsx:44
 #: frontend/src/metabase/dashboard/components/DashCard.jsx:278
 #: frontend/src/metabase/parameters/components/ParameterWidget.jsx:177
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:209
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:197
 #: frontend/src/metabase/reference/components/EditButton.jsx:18
 msgid "Edit"
 msgstr "Edycja"
@@ -512,7 +508,7 @@ msgstr "Schematy"
 #: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:189
 #: frontend/src/metabase/reference/metrics/MetricList.jsx:56
 #: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:21
-#: frontend/src/metabase/routes.jsx:231
+#: frontend/src/metabase/routes.jsx:232
 msgid "Metrics"
 msgstr "Metryki"
 
@@ -531,7 +527,7 @@ msgid "Create metrics to add them to the View dropdown in the query builder"
 msgstr "Stwórz metryki, aby dodać je do listy rozwijanej widoku w konstruktorze zapytań"
 
 #: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:24
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:922
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:930
 #: frontend/src/metabase/reference/guide/BaseSidebar.jsx:33
 #: frontend/src/metabase/reference/segments/SegmentFieldSidebar.jsx:19
 #: frontend/src/metabase/reference/segments/SegmentList.jsx:56
@@ -573,7 +569,7 @@ msgstr "zrobiłem kilka zmian"
 
 #: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:46
 #: frontend/src/metabase/home/components/Activity.jsx:80
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:343
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:332
 msgid "You"
 msgstr "Ty"
 
@@ -611,7 +607,7 @@ msgstr "Brak opisu dla pola"
 
 #: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:379
 msgid "Original value"
-msgstr "Wartość opcjonalna"
+msgstr "Wartość oruginalna"
 
 #: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:380
 msgid "Mapped value"
@@ -660,11 +656,11 @@ msgstr "Wybierz pole"
 
 #: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:289
 msgid "Please select a column to use for display."
-msgstr "Wybierz kolumnę do wyświetlenia"
+msgstr "Wybierz kolumnę, której chcesz użyć do wyświetlenia."
 
 #: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:771
 msgid "Tip:"
-msgstr "Rada:"
+msgstr "Porada:"
 
 #: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:433
 msgid "You might want to update the field name to make sure it still makes sense based on your remapping choices."
@@ -681,7 +677,7 @@ msgstr "Metabase może skanować wartości tego pola, aby włączyć filtry pól
 
 #: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:14
 msgid "Re-scan this field"
-msgstr "Przeskanuj to pole"
+msgstr "Ponownie przeskanuj to pole"
 
 #: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:22
 #: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:116
@@ -704,7 +700,7 @@ msgstr "Wybierz dowolną tabelę, aby zobaczyć jej schemat i dodać lub edytowa
 
 #: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:37
 #: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:34
-#: frontend/src/metabase/entities/collections.js:89
+#: frontend/src/metabase/entities/collections.js:96
 msgid "Name is required"
 msgstr "Nazwa jest wymagana"
 
@@ -826,10 +822,10 @@ msgid "This will show up in the revision history for this segment to help everyo
 msgstr "Będzie to widoczne w historii zmian dla tego segmentu, aby pomóc wszystkim pamiętać, dlaczego rzeczy zmienił"
 
 #: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:88
-#: frontend/src/metabase/admin/routes.jsx:91
+#: frontend/src/metabase/admin/routes.jsx:127
 #: frontend/src/metabase/admin/settings/containers/SettingsEditorApp.jsx:266
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:96
-#: frontend/src/metabase/nav/containers/Navbar.jsx:200
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:87
+#: frontend/src/metabase/nav/containers/Navbar.jsx:199
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorSidebar.jsx:99
 msgid "Settings"
 msgstr "Ustawienia"
@@ -843,31 +839,26 @@ msgid "Re-scan this table"
 msgstr "Skanuj ponownie tabele"
 
 #: frontend/src/metabase/admin/people/components/AddRow.jsx:34
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:194
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:253
 #: frontend/src/metabase/dashboard/components/DashCard.jsx:278
 msgid "Add"
 msgstr "Dodaj"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:80
 #: frontend/src/metabase/setup/components/UserStep.jsx:103
 #: frontend/src/metabase/user/components/UpdateUserDetails.jsx:67
 msgid "Not a valid formatted email address"
 msgstr "Niepoprawny adres email"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:135
 #: frontend/src/metabase/setup/components/UserStep.jsx:186
 #: frontend/src/metabase/user/components/UpdateUserDetails.jsx:100
 msgid "First name"
 msgstr "ImiÄ™"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:156
 #: frontend/src/metabase/setup/components/UserStep.jsx:203
 #: frontend/src/metabase/user/components/UpdateUserDetails.jsx:117
 msgid "Last name"
 msgstr "Nazwisko"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:178
 #: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:77
 #: frontend/src/metabase/auth/containers/LoginApp.jsx:158
 #: frontend/src/metabase/components/NewsletterForm.jsx:94
@@ -881,7 +872,7 @@ msgstr "Adres email"
 msgid "Permission Groups"
 msgstr "Grupa uprawnień"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:238
+#: frontend/src/metabase/components/form/widgets/FormGroupsWidget.jsx:75
 msgid "Make this user an admin"
 msgstr "Nadaj uprawnienia administratora"
 
@@ -901,15 +892,15 @@ msgid "To make sure you don't get locked out of Metabase, there always has to be
 msgstr "Aby upewnić się, że Metabase nie jest zablokowana, zawsze musi istnieć co najmniej jeden użytkownik w tej grupie."
 
 #: frontend/src/metabase/admin/people/components/GroupDetail.jsx:177
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:219
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:218
 msgid "Members"
 msgstr "Członkowie"
 
 #: frontend/src/metabase/admin/people/components/GroupDetail.jsx:177
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:470
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:124
 #: frontend/src/metabase/admin/settings/selectors.js:113
 #: frontend/src/metabase/lib/core.js:55
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:298
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:301
 msgid "Email"
 msgstr "Email"
 
@@ -918,8 +909,8 @@ msgid "A group is only as good as its members."
 msgstr "Grupa jest tak dobra jak jej członkowie"
 
 #: frontend/src/metabase/admin/people/components/GroupSummary.jsx:15
-#: frontend/src/metabase/admin/routes.jsx:38
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:50
+#: frontend/src/metabase/admin/routes.jsx:48
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:49
 msgid "Admin"
 msgstr "Admin"
 
@@ -942,70 +933,70 @@ msgstr[3] "{0} inne grupy"
 msgid "Default"
 msgstr "Domyślne"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:40
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:39
 msgid "Something like \"Marketing\""
 msgstr "CoÅ› jak \"Marketing\""
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:59
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:58
 msgid "Remove this group?"
-msgstr "Usunąć grupę?"
+msgstr "Usunąć tę grupę?"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:61
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:60
 msgid "Are you sure? All members of this group will lose any permissions settings they have based on this group.\n"
 "This can't be undone."
 msgstr "Czy na pewno? Wszyscy członkowie tej grupy utraci wszelkie ustawienia uprawnień, które zostały oparte na tej grupie.\n"
 "Nie można cofnąć."
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:72
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:71
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:42
 #: frontend/src/metabase/components/ConfirmContent.jsx:17
 msgid "Yes"
 msgstr "Tak"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:75
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:74
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:42
 msgid "No"
 msgstr "Nie"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:93
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:92
 msgid "Edit Name"
 msgstr "Edytuj nazmÄ™"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:96
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:95
 msgid "Remove Group"
 msgstr "Usuń grupę"
 
 #: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:46
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:139
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:225
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:263
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:367
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:385
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:138
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:42
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:41
 #: frontend/src/metabase/components/HeaderModal.jsx:43
 #: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:282
-#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:106
-#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:298
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:194
+#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:107
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:327
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:193
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:96
-#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:225
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:265
 msgid "Done"
-msgstr "Zrobione"
+msgstr "Gotowe"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:219
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:218
 msgid "Group name"
 msgstr "Nazwa grupy"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:399
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:363
 #: frontend/src/metabase/admin/people/containers/AdminPeopleApp.jsx:25
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:477
-#: frontend/src/metabase/admin/routes.jsx:76
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:131
+#: frontend/src/metabase/admin/routes.jsx:88
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:154
 msgid "Groups"
 msgstr "Grupy"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:400
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:364
 msgid "Create a group"
 msgstr "Utwórz grupę"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:406
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:370
 msgid "You can use groups to control your users' access to your data. Put users in groups and then go to the Permissions section to control each group's access. The Administrators and All Users groups are special default groups that can't be removed."
 msgstr "Grup można używać do kontrolowania dostępu użytkowników do danych. Umieść użytkowników w grupach, a następnie przejdź do sekcji uprawnienia, aby kontrolować dostęp każdej grupy. Grupy Administratorzy i wszyscy użytkownicy są specjalnymi domyślnymi grupami, których nie można usunąć."
 
@@ -1021,15 +1012,14 @@ msgstr "Wyślij ponownie zaproszenie"
 msgid "Reset Password"
 msgstr "Resetuj hasło"
 
-#: frontend/src/metabase/admin/people/components/UserActionsSelect.jsx:97
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:304
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:40
 msgid "Deactivate"
 msgstr "Deaktywuj"
 
 #: frontend/src/metabase/admin/people/containers/AdminPeopleApp.jsx:24
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:435
-#: frontend/src/metabase/admin/routes.jsx:74
-#: frontend/src/metabase/nav/containers/Navbar.jsx:205
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:93
+#: frontend/src/metabase/admin/routes.jsx:84
+#: frontend/src/metabase/nav/containers/Navbar.jsx:204
 msgid "People"
 msgstr "Ludzie"
 
@@ -1041,8 +1031,7 @@ msgstr "Kogo chcesz dodać"
 msgid "Edit {0}'s details"
 msgstr "Edytowanie szczegółów {0}"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:220
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:258
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:40
 msgid "{0} has been added"
 msgstr "{0} został dodany"
 
@@ -1057,11 +1046,11 @@ msgid "We couldn’t send them an email invitation,\n"
 "and this password we’ve generated for them:"
 msgstr "Nie mogliśmy wysłać wiadomości e-mail z zaproszeniem, więc upewnij się, aby poinformować ich, aby zalogować się przy użyciu {0} i to hasło, które stworzyliśmy dla nich:"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:242
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:73
 msgid "If you want to be able to send email invites, just go to the {0} page."
 msgstr "Jeśli chcesz mieć możliwość wysyłania zaproszeń do poczty e-mail, przejdź do strony {0}."
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:268
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:55
 msgid "We’ve sent an invite to {0} with instructions to set their password."
 msgstr "Wysłaliśmy zaproszenie do {0} z instrukcjami, aby ustawić hasło."
 
@@ -1069,7 +1058,6 @@ msgstr "Wysłaliśmy zaproszenie do {0} z instrukcjami, aby ustawić hasło."
 msgid "We've re-sent {0}'s invite"
 msgstr "Zaproszenie do {0} zostało ponownie wysłane"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:285
 #: frontend/src/metabase/query_builder/components/SavedQuestionIntroModal.jsx:22
 #: frontend/src/metabase/tutorial/Tutorial.jsx:253
 msgid "Okay"
@@ -1079,11 +1067,11 @@ msgstr "Ok"
 msgid "Any previous email invites they have will no longer work."
 msgstr "Wszelkie poprzednie zaproszenia e-mail nie będą już działać."
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:300
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:31
 msgid "Deactivate {0}?"
 msgstr "Czy dezaktywować {0}?"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:309
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:34
 msgid "{0} won't be able to log in anymore."
 msgstr "{0} nie będzie już w stanie się zalogować."
 
@@ -1091,35 +1079,33 @@ msgstr "{0} nie będzie już w stanie się zalogować."
 msgid "Reactivate {0}'s account?"
 msgstr "Czy aktywować konto {0}?"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:326
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:58
 msgid "Reactivate"
 msgstr "Ponownie uaktywnić"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:330
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:51
 msgid "They'll be able to log in again, and they'll be placed back into the groups they were in before their account was deactivated."
 msgstr "Będą mogli ponownie się zalogować, a zostaną one umieszczone z powrotem w grupach, które znajdowały się przed dezaktywacją konta."
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:341
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:51
 msgid "Reset {0}'s password?"
 msgstr "Zresetować hasło {0}?"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:347
-#: frontend/src/metabase/components/form/StandardForm.jsx:75
+#: frontend/src/metabase/components/form/StandardForm.jsx:77
 msgid "Reset"
 msgstr "Resetuj"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:351
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:54
 #: frontend/src/metabase/components/ConfirmContent.jsx:13
 #: frontend/src/metabase/dashboard/components/ArchiveDashboardModal.jsx:44
 msgid "Are you sure you want to do this?"
 msgstr "Czy jesteÅ› pewien?"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:362
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:384
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:41
 msgid "{0}'s password has been reset"
 msgstr "{0} hasło zostało zresetowane"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:371
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:45
 msgid "Here’s a temporary password they can use to log in and then change their password."
 msgstr "Oto hasło tymczasowe za pomocą którego można się zalogować a później zmienić"
 
@@ -1127,41 +1113,40 @@ msgstr "Oto hasło tymczasowe za pomocą którego można się zalogować a póź
 msgid "We've sent them an email with instructions for creating a new password."
 msgstr "Wysłaliśmy im wiadomość z instrukcją utworzenia nowego hasła"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:443
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:101
 msgid "Active"
 msgstr "Aktywny"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:444
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:473
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:102
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:127
 msgid "Deactivated"
 msgstr "Nieaktywny"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:459
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:115
 msgid "Add someone"
 msgstr "Dodaj trochÄ™"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:478
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:132
 msgid "Last Login"
 msgstr "Ostatnie logowanie"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:501
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:153
 msgid "Signed up via Google"
 msgstr "Zapisz siÄ™ za pomocÄ… Googla"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:506
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:158
 msgid "Signed up via LDAP"
 msgstr "Zapisz siÄ™ za pomocÄ… LDAP"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:518
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:170
 msgid "Reactivate this account"
 msgstr "Ponowne uaktywnianie tego konta"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:545
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:193
 msgid "Never"
 msgstr "Nigdy"
 
 #: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:27
-#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:24
 #: src/metabase/automagic_dashboards/core.clj
 msgid "{0} table"
 msgid_plural "{0} tables"
@@ -1199,7 +1184,7 @@ msgid " native queries for "
 msgstr " natywne zapytania dla "
 
 #: frontend/src/metabase/admin/permissions/routes.jsx:12
-#: frontend/src/metabase/nav/containers/Navbar.jsx:220
+#: frontend/src/metabase/nav/containers/Navbar.jsx:219
 msgid "Permissions"
 msgstr "Uprawnienia"
 
@@ -1236,135 +1221,135 @@ msgstr "Masz niezapisane zmiany"
 msgid "Do you want to leave this page and discard your changes?"
 msgstr "Chcesz opuścić stronę baz zapisywania zmian?"
 
-#: frontend/src/metabase/admin/permissions/permissions.js:137
+#: frontend/src/metabase/admin/permissions/permissions.js:126
 msgid "Sorry, an error occurred."
 msgstr "Przepraszamy, wystąpił błąd"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:59
+#: frontend/src/metabase/admin/permissions/selectors.js:65
 msgid "Administrators always have the highest level of access to everything in Metabase."
 msgstr "Administratorzy mają zawsze najwyższy poziom dostępu do wszystkich rzeczy w Metabase."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:61
+#: frontend/src/metabase/admin/permissions/selectors.js:67
 msgid "Every Metabase user belongs to the All Users group. If you want to limit or restrict a group's access to something, make sure the All Users group has an equal or lower level of access."
 msgstr "Każdy użytkownik Metabase należy do grupy Wszyscy użytkownicy. Jeśli chcesz ograniczyć lub ograniczyć dostęp grupy do konkretnego elementu, upewnij się, że grupa Wszyscy użytkownicy ma taki sam lub niższy poziom dostępu."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:63
+#: frontend/src/metabase/admin/permissions/selectors.js:69
 msgid "MetaBot is Metabase's Slack bot. You can choose what it has access to here."
 msgstr "MetaBot jest botem Metabase Slack. Możesz wybrać to, jaki ma tutaj dostęp."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:115
+#: frontend/src/metabase/admin/permissions/selectors.js:119
 msgid "The \"{0}\" group may have access to a different set of {1} than this group, which may give this group additional access to some {2}."
 msgstr "Grupa \"{0}\" może mieć dostęp do innego zestawu {1} niż ta grupa, co może dać tej grupie dodatkowy dostęp do niektórych {2}."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:120
+#: frontend/src/metabase/admin/permissions/selectors.js:124
 msgid "The \"{0}\" group has a higher level of access than this, which will override this setting. You should limit or revoke the \"{1}\" group's access to this item."
 msgstr "Grupa \"{0}\" ma wyższy poziom dostępu niż ten, który zastąpi to ustawienie. Należy ograniczyć lub cofnąć dostęp grupy \"{1}\" do tego elementu."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:150
+#: frontend/src/metabase/admin/permissions/selectors.js:154
 msgid "Limit"
 msgstr "Limit"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:150
+#: frontend/src/metabase/admin/permissions/selectors.js:154
 msgid "Revoke"
 msgstr "Unieważnij"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:152
+#: frontend/src/metabase/admin/permissions/selectors.js:156
 msgid "access even though \"{0}\" has greater access?"
 msgstr "dostęp mimo że \"{0}\" ma większy dostęp?"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:155
-#: frontend/src/metabase/admin/permissions/selectors.js:254
+#: frontend/src/metabase/admin/permissions/selectors.js:159
+#: frontend/src/metabase/admin/permissions/selectors.js:258
 msgid "Limit access"
 msgstr "Ogranicz dostęp"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:155
-#: frontend/src/metabase/admin/permissions/selectors.js:219
-#: frontend/src/metabase/admin/permissions/selectors.js:262
+#: frontend/src/metabase/admin/permissions/selectors.js:159
+#: frontend/src/metabase/admin/permissions/selectors.js:223
+#: frontend/src/metabase/admin/permissions/selectors.js:266
 msgid "Revoke access"
 msgstr "Odbierz dostęp"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:164
+#: frontend/src/metabase/admin/permissions/selectors.js:168
 msgid "Change access to this database to limited?"
 msgstr "Ograniczyć dostęp do tej bazy danych?"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:165
+#: frontend/src/metabase/admin/permissions/selectors.js:169
 msgid "Change"
 msgstr "Zmień"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:178
+#: frontend/src/metabase/admin/permissions/selectors.js:182
 msgid "Allow Raw Query Writing?"
 msgstr "Czy zezwolić na Pisanie Zapytań?"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:179
+#: frontend/src/metabase/admin/permissions/selectors.js:183
 msgid "This will also change this group's data access to Unrestricted for this database."
 msgstr "Spowoduje to również zmianę dostępu do danych tej grupy do dla tej niezarejestrowanej bazy danych."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:180
+#: frontend/src/metabase/admin/permissions/selectors.js:184
 msgid "Allow"
 msgstr "Pozwól"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:217
+#: frontend/src/metabase/admin/permissions/selectors.js:221
 msgid "Revoke access to all tables?"
 msgstr "Odbrać dostęp do wszystkich tabel?"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:218
+#: frontend/src/metabase/admin/permissions/selectors.js:222
 msgid "This will also revoke this group's access to raw queries for this database."
 msgstr "Spowoduje to również cofnięcie dostępu tej grupie do zapytań dla tej bazy danych."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:247
+#: frontend/src/metabase/admin/permissions/selectors.js:251
 msgid "Grant unrestricted access"
 msgstr "Udziel nieograniczonego dostępu"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:248
+#: frontend/src/metabase/admin/permissions/selectors.js:252
 msgid "Unrestricted access"
 msgstr "Nieograniczony dostęp"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:255
+#: frontend/src/metabase/admin/permissions/selectors.js:259
 msgid "Limited access"
 msgstr "Ogranicz dostęp"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:263
+#: frontend/src/metabase/admin/permissions/selectors.js:267
 msgid "No access"
 msgstr "Brak dostępu"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:269
+#: frontend/src/metabase/admin/permissions/selectors.js:273
 msgid "Write raw queries"
 msgstr "Pisanie zapytań"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:270
+#: frontend/src/metabase/admin/permissions/selectors.js:274
 msgid "Can write raw queries"
 msgstr "Można pisać zapytania "
 
-#: frontend/src/metabase/admin/permissions/selectors.js:277
+#: frontend/src/metabase/admin/permissions/selectors.js:281
 msgid "Curate collection"
 msgstr "Kolekcja kuratorów"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:284
+#: frontend/src/metabase/admin/permissions/selectors.js:288
 msgid "View collection"
 msgstr "Zobacz kolekcjÄ™"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:327
-#: frontend/src/metabase/admin/permissions/selectors.js:423
-#: frontend/src/metabase/admin/permissions/selectors.js:520
+#: frontend/src/metabase/admin/permissions/selectors.js:331
+#: frontend/src/metabase/admin/permissions/selectors.js:427
+#: frontend/src/metabase/admin/permissions/selectors.js:524
 msgid "Data Access"
 msgstr "Dostęp do danych"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:488
-#: frontend/src/metabase/admin/permissions/selectors.js:645
-#: frontend/src/metabase/admin/permissions/selectors.js:650
+#: frontend/src/metabase/admin/permissions/selectors.js:492
+#: frontend/src/metabase/admin/permissions/selectors.js:649
+#: frontend/src/metabase/admin/permissions/selectors.js:654
 msgid "View tables"
 msgstr "Wyświetl tabele"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:586
+#: frontend/src/metabase/admin/permissions/selectors.js:590
 msgid "SQL Queries"
 msgstr "Zapytania SQL"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:656
+#: frontend/src/metabase/admin/permissions/selectors.js:660
 msgid "View schemas"
 msgstr "Wyświetl schematy"
 
-#: frontend/src/metabase/admin/routes.jsx:49
-#: frontend/src/metabase/nav/containers/Navbar.jsx:210
+#: frontend/src/metabase/admin/routes.jsx:59
+#: frontend/src/metabase/nav/containers/Navbar.jsx:209
 msgid "Data Model"
 msgstr "Model danych"
 
@@ -1507,7 +1492,7 @@ msgid "Metabase {0} is available.  You're running {1}"
 msgstr "Dostępny jest Metabase {0}.  Używasz {1}"
 
 #: frontend/src/metabase/admin/settings/components/SettingsUpdatesForm.jsx:112
-#: frontend/src/metabase/components/form/StandardForm.jsx:67
+#: frontend/src/metabase/components/form/StandardForm.jsx:69
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:96
 msgid "Update"
 msgstr "Aktualizuj"
@@ -2133,20 +2118,19 @@ msgstr "Zapisane"
 msgid "Ok"
 msgstr "Ok"
 
-#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:40
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:38
 msgid "Archive this collection?"
 msgstr "Archiwizować tą Kolekcję?"
 
-#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:45
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:43
 msgid "The dashboards, collections, and pulses in this collection will also be archived."
 msgstr "Pulpity nawigacyjne, kolekcje i impulsy w tej kolekcji również zostaną zarchiwizowane."
 
-#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:49
-#: frontend/src/metabase/components/CollectionLanding.jsx:587
-#: frontend/src/metabase/components/EntityItem.jsx:54
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:47
+#: frontend/src/metabase/components/CollectionLanding.jsx:624
 #: frontend/src/metabase/components/EntityMenu.info.js:31
 #: frontend/src/metabase/components/EntityMenu.info.js:87
-#: frontend/src/metabase/home/containers/ArchiveApp.jsx:48
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:47
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:195
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:200
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:201
@@ -2160,28 +2144,28 @@ msgstr "Archiwum"
 msgid "This {0} has been archived"
 msgstr "{0} zostało zarchiwizowane"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:679
+#: frontend/src/metabase/components/CollectionLanding.jsx:715
 msgid "View the archive"
 msgstr "Wyświetl archiwum"
 
-#: frontend/src/metabase/components/ArchivedItem.jsx:39
+#: frontend/src/metabase/components/ArchivedItem.jsx:43
 msgid "Unarchive this {0}"
 msgstr "Przywróć to {0}"
 
-#: frontend/src/metabase/components/BrowseApp.jsx:95
-#: frontend/src/metabase/components/BrowseApp.jsx:157
-#: frontend/src/metabase/components/BrowseApp.jsx:250
-#: frontend/src/metabase/containers/Overworld.jsx:224
+#: frontend/src/metabase/components/BrowseApp.jsx:70
+#: frontend/src/metabase/components/BrowseApp.jsx:132
+#: frontend/src/metabase/components/BrowseApp.jsx:225
+#: frontend/src/metabase/containers/Overworld.jsx:219
 msgid "Our data"
 msgstr "Nasze dane"
 
-#: frontend/src/metabase/components/BrowseApp.jsx:194
+#: frontend/src/metabase/components/BrowseApp.jsx:169
 #: frontend/src/metabase/reference/databases/TableSidebar.jsx:55
 msgid "X-ray this table"
 msgstr "Prześwietl X-ray ta tabelę"
 
-#: frontend/src/metabase/components/BrowseApp.jsx:208
-#: frontend/src/metabase/containers/Overworld.jsx:251
+#: frontend/src/metabase/components/BrowseApp.jsx:183
+#: frontend/src/metabase/containers/Overworld.jsx:246
 msgid "Learn about this table"
 msgstr "Dowiedz się więcej"
 
@@ -2199,31 +2183,31 @@ msgstr "Zapisane!"
 msgid "Saving failed."
 msgstr "Zapis się nie powiódł"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Su"
 msgstr "Nd"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Mo"
 msgstr "Pon"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Tu"
 msgstr "Wt"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "We"
 msgstr "Åšr"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Th"
 msgstr "Czw"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Fr"
 msgstr "Pi"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Sa"
 msgstr "Sob"
 
@@ -2256,39 +2240,39 @@ msgstr "Kolekcje można używać do organizowania i grupowania pulpitów nawigac
 msgid "Create another collection"
 msgstr "Tworzenie innej kolekcji"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:61
+#: frontend/src/metabase/components/CollectionLanding.jsx:68
 msgid "Dashboards let you collect and share data in one place."
 msgstr "Pulpity nawigacyjne umożliwiają zbieranie i udostępnianie danych w jednym miejscu."
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:70
+#: frontend/src/metabase/components/CollectionLanding.jsx:77
 msgid "Pulses let you send out the latest data to your team on a schedule via email or slack."
 msgstr "Pulsy umożliwiają wysyłanie najnowszych danych do zespołu według harmonogramu za pośrednictwem poczty e-mail lub Slack."
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:79
+#: frontend/src/metabase/components/CollectionLanding.jsx:86
 msgid "Questions are a saved look at your data."
 msgstr "Zapytania sÄ… zapisanymi analizami twoich danych."
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:275
+#: frontend/src/metabase/components/CollectionLanding.jsx:287
 msgid "Pins"
 msgstr "Przypięcia"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:329
+#: frontend/src/metabase/components/CollectionLanding.jsx:341
 msgid "Drag something here to pin it to the top"
 msgstr "Przeciągnij coś tutaj, aby przypiąć go do góry"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:733
-#: frontend/src/metabase/components/CollectionLanding.jsx:341
+#: frontend/src/metabase/admin/permissions/selectors.js:737
+#: frontend/src/metabase/components/CollectionLanding.jsx:353
 #: frontend/src/metabase/home/containers/SearchApp.jsx:35
-#: frontend/src/metabase/home/containers/SearchApp.jsx:96
+#: frontend/src/metabase/home/containers/SearchApp.jsx:92
 msgid "Collections"
 msgstr "Kolekcje"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:411
-#: frontend/src/metabase/components/CollectionLanding.jsx:434
+#: frontend/src/metabase/components/CollectionLanding.jsx:432
+#: frontend/src/metabase/components/CollectionLanding.jsx:455
 msgid "Drag here to un-pin"
 msgstr "Przeciągnij tutaj, aby odpiąć"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:469
+#: frontend/src/metabase/components/CollectionLanding.jsx:490
 msgid "{0} item selected"
 msgid_plural "{0} items selected"
 msgstr[0] "{0} wybrany element"
@@ -2296,36 +2280,35 @@ msgstr[1] "{0} wybrane elementy"
 msgstr[2] "{0} wybrane elementy"
 msgstr[3] "{0} wybrane elementy"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:487
+#: frontend/src/metabase/components/CollectionLanding.jsx:522
 msgid "Move {0} items?"
 msgstr "Przenieść {0} elementy?"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:488
+#: frontend/src/metabase/components/CollectionLanding.jsx:523
 msgid "Move \"{0}\"?"
 msgstr "Przenieść \"{0}\"?"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:594
+#: frontend/src/metabase/components/CollectionLanding.jsx:631
 #: frontend/src/metabase/components/EntityMenu.info.js:29
 #: frontend/src/metabase/components/EntityMenu.info.js:85
-#: frontend/src/metabase/containers/CollectionMoveModal.jsx:78
+#: frontend/src/metabase/containers/CollectionMoveModal.jsx:69
 msgid "Move"
 msgstr "Przesuń"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:656
+#: frontend/src/metabase/components/CollectionLanding.jsx:692
 msgid "Edit this collection"
 msgstr "Edytuj tÄ… kolekcjÄ™"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:664
+#: frontend/src/metabase/components/CollectionLanding.jsx:700
 msgid "Archive this collection"
 msgstr "Zarchiwizuj tÄ… kolekcjÄ™"
 
 #: frontend/src/metabase/components/CollectionList.jsx:64
-#: frontend/src/metabase/entities/collections.js:148
+#: frontend/src/metabase/entities/collections.js:155
 msgid "My personal collection"
 msgstr "Moje kolekcje"
 
 #: frontend/src/metabase/components/CollectionList.jsx:106
-#: frontend/src/metabase/containers/CollectionForm.jsx:9
 msgid "New collection"
 msgstr "Nowa kolekcja"
 
@@ -2399,15 +2382,16 @@ msgstr "Jak chcesz referować do tej bazy?"
 msgid "Next"
 msgstr "Następny"
 
+#: frontend/src/metabase/components/ArchivedItem.jsx:52
 #: frontend/src/metabase/components/DeleteModalWithConfirm.jsx:80
 msgid "Delete this {0}"
 msgstr "Skasuj {0}"
 
-#: frontend/src/metabase/components/EntityItem.jsx:42
+#: frontend/src/metabase/components/EntityItem.jsx:43
 msgid "Pin this item"
 msgstr "Przypnij ten element"
 
-#: frontend/src/metabase/components/EntityItem.jsx:48
+#: frontend/src/metabase/components/EntityItem.jsx:49
 msgid "Move this item"
 msgstr "Przesuń ten element"
 
@@ -2553,6 +2537,7 @@ msgid "No description yet"
 msgstr "Brak opisu"
 
 #: frontend/src/metabase/components/Header.jsx:112
+#: frontend/src/metabase/entities/containers/EntityForm.jsx:43
 msgid "New {0}"
 msgstr "Nowy {0}"
 
@@ -2616,22 +2601,22 @@ msgid "Everything"
 msgstr "Wszystko"
 
 #: frontend/src/metabase/components/ItemTypeFilterBar.jsx:18
-#: frontend/src/metabase/home/containers/SearchApp.jsx:73
+#: frontend/src/metabase/home/containers/SearchApp.jsx:69
 msgid "Dashboards"
 msgstr "Panele"
 
 #: frontend/src/metabase/components/ItemTypeFilterBar.jsx:23
-#: frontend/src/metabase/home/containers/SearchApp.jsx:119
+#: frontend/src/metabase/home/containers/SearchApp.jsx:115
 msgid "Questions"
 msgstr "Pytanie"
 
 #: frontend/src/metabase/components/ItemTypeFilterBar.jsx:28
-#: frontend/src/metabase/routes.jsx:320
+#: frontend/src/metabase/routes.jsx:321
 msgid "Pulses"
 msgstr "Pulsy"
 
 #: frontend/src/metabase/components/LeftNavPane.jsx:36
-#: frontend/src/metabase/query_builder/components/dataref/DataReference.jsx:86
+#: frontend/src/metabase/query_builder/components/dataref/DataReference.jsx:103
 msgid "Back"
 msgstr "Powrót"
 
@@ -2732,6 +2717,7 @@ msgid "First"
 msgstr "Pierwszy"
 
 #: frontend/src/metabase/components/SchedulePicker.jsx:34
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:23
 msgid "Last"
 msgstr "Ostatni"
 
@@ -2788,8 +2774,8 @@ msgstr "Przepraszamy, nie masz uprawnień do wyświetlania"
 msgid "Unknown error encountered"
 msgstr "Napotkano nieznany błąd"
 
-#: frontend/src/metabase/components/form/StandardForm.jsx:67
-#: frontend/src/metabase/nav/containers/Navbar.jsx:305
+#: frontend/src/metabase/components/form/StandardForm.jsx:69
+#: frontend/src/metabase/nav/containers/Navbar.jsx:304
 msgid "Create"
 msgstr "Utwórz"
 
@@ -2825,12 +2811,13 @@ msgid "View by"
 msgstr "Wyświetlone przez"
 
 #: frontend/src/metabase/containers/EntitySearch.jsx:494
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:84
 #: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:69
 #: frontend/src/metabase/tutorial/TutorialModal.jsx:34
 msgid "of"
 msgstr "z"
 
-#: frontend/src/metabase/containers/Overworld.jsx:80
+#: frontend/src/metabase/containers/Overworld.jsx:75
 msgid "Don't tell anyone, but you're my favorite."
 msgstr "Nie mów nikomu, ale jesteś moim ulubieńcem"
 
@@ -2838,19 +2825,19 @@ msgstr "Nie mów nikomu, ale jesteś moim ulubieńcem"
 msgid "Once you connect your own data, I can show you some automatic explorations called x-rays. Here are some examples with sample data."
 msgstr "Po podłączeniu własnych danych, mogę pokazać kilka automatycznych poszukiwań o nazwie X-ray. Oto kilka przykładów z przykładowych danych."
 
-#: frontend/src/metabase/containers/Overworld.jsx:133
-#: frontend/src/metabase/containers/Overworld.jsx:304
+#: frontend/src/metabase/containers/Overworld.jsx:128
+#: frontend/src/metabase/containers/Overworld.jsx:299
 #: frontend/src/metabase/reference/components/GuideHeader.jsx:12
 msgid "Start here"
 msgstr "Zacznij tu"
 
-#: frontend/src/metabase/containers/Overworld.jsx:299
-#: frontend/src/metabase/entities/collections.js:140
+#: frontend/src/metabase/containers/Overworld.jsx:294
+#: frontend/src/metabase/entities/collections.js:147
 #: src/metabase/models/collection.clj
 msgid "Our analytics"
 msgstr "Nasze analizy"
 
-#: frontend/src/metabase/containers/Overworld.jsx:208
+#: frontend/src/metabase/containers/Overworld.jsx:203
 msgid "Browse all items"
 msgstr "PrzeglÄ…daj elementy"
 
@@ -2878,9 +2865,11 @@ msgstr "Zapisz pytanie"
 msgid "What is the name of your card?"
 msgstr "Jaka jest nazwa Twojej zakładki?"
 
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:31
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:18
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:232
-#: frontend/src/metabase/entities/collections.js:94
-#: frontend/src/metabase/entities/dashboards.js:102
+#: frontend/src/metabase/entities/collections.js:101
+#: frontend/src/metabase/entities/dashboards.js:151
 #: frontend/src/metabase/lib/core.js:50 frontend/src/metabase/lib/core.js:205
 #: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:156
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:211
@@ -2893,12 +2882,12 @@ msgid "Description"
 msgstr "Opis"
 
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:238
-#: frontend/src/metabase/entities/dashboards.js:104
+#: frontend/src/metabase/entities/dashboards.js:153
 msgid "It's optional but oh, so helpful"
 msgstr "Jest to opcjonalne, ale jakże pomocne"
 
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:245
-#: frontend/src/metabase/entities/dashboards.js:108
+#: frontend/src/metabase/entities/dashboards.js:157
 msgid "Which collection should this go in?"
 msgstr "Której kolekcja powinna to trafić?"
 
@@ -2938,11 +2927,11 @@ msgstr "Zarchiwizuj panel"
 msgid "Make sure to make a selection for each series, or the filter won't work on this card."
 msgstr "Upewnij się, że dokonano wyboru dla każdej serii bo filtr nie będzie działać na tej zakładce."
 
-#: frontend/src/metabase/dashboard/components/Dashboard.jsx:286
+#: frontend/src/metabase/dashboard/components/Dashboard.jsx:300
 msgid "This dashboard is looking empty."
 msgstr "Ten panel jest pusty"
 
-#: frontend/src/metabase/dashboard/components/Dashboard.jsx:289
+#: frontend/src/metabase/dashboard/components/Dashboard.jsx:301
 msgid "Add a question to start making it useful!"
 msgstr "Dodaj zapytanie, aby zaczęło być przydatne!"
 
@@ -2990,23 +2979,23 @@ msgstr "Parametry"
 msgid "Add a text box"
 msgstr "Dodaj pole tekstowe"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:302
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:319
 msgid "Move dashboard"
 msgstr "PrzenieÅ› pulpit"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:315
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:302
 msgid "Edit dashboard"
 msgstr "Edytuj pulpit"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:319
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:306
 msgid "Edit Dashboard Layout"
 msgstr "Zmień układ pulpitu"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:357
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:369
 msgid "You are editing a dashboard"
 msgstr "Modyfikujesz pulpit"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:362
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:374
 msgid "Select the field that should be filtered for each card"
 msgstr "Wybierz pole, które ma być filtrowane dla każdej zakładki"
 
@@ -3073,6 +3062,7 @@ msgstr "Usunąć to pytanie?"
 msgid "Your dashboard was saved"
 msgstr "Twój panel został zapisany"
 
+#: frontend/src/metabase/components/CollectionLanding.jsx:745
 #: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:76
 msgid "See it"
 msgstr "Widzisz to"
@@ -3098,15 +3088,15 @@ msgstr "Wartości w tym polu nie pokrywają się z wartościami pozostałych wyb
 msgid "No valid fields"
 msgstr "Brak prawidłowych pól"
 
-#: frontend/src/metabase/entities/collections.js:90
+#: frontend/src/metabase/entities/collections.js:97
 msgid "Name must be 100 characters or less"
 msgstr "Imię i nazwisko musi mieć nie więcej niż 100 znaków"
 
-#: frontend/src/metabase/entities/collections.js:104
+#: frontend/src/metabase/entities/collections.js:111
 msgid "Color is required"
 msgstr "Kolor jest wymagany"
 
-#: frontend/src/metabase/entities/dashboards.js:97
+#: frontend/src/metabase/entities/dashboards.js:146
 msgid "What is the name of your dashboard?"
 msgstr "Jaka jest nazwa tego panelu?"
 
@@ -3159,7 +3149,9 @@ msgstr "usunięto pytanie z panelu"
 msgid "received the latest data from"
 msgstr "odebrano najnowsze dane z"
 
+#: frontend/src/metabase-lib/lib/Dimension.js:621
 #: frontend/src/metabase/home/components/Activity.jsx:244
+#: frontend/src/metabase/lib/query_time.js:180
 #: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:273
 msgid "Unknown"
 msgstr "Nieznany"
@@ -3281,17 +3273,17 @@ msgstr "Ostatnio wyświetlane"
 msgid "You haven't looked at any dashboards or questions recently"
 msgstr "Ostatnio nie przeglądałeś(aś) żadnych pulpitów lub zapytań"
 
-#: frontend/src/metabase/home/containers/ArchiveApp.jsx:82
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:99
 msgid "{0} items selected"
 msgstr "{0} wybrane elementy"
 
-#: frontend/src/metabase/home/containers/ArchiveApp.jsx:102
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:121
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:172
 msgid "Unarchive"
 msgstr "Przywróć"
 
 #: frontend/src/metabase/home/containers/HomepageApp.jsx:74
-#: frontend/src/metabase/nav/containers/Navbar.jsx:332
+#: frontend/src/metabase/nav/containers/Navbar.jsx:331
 msgid "Activity"
 msgstr "Aktywność"
 
@@ -3299,7 +3291,7 @@ msgstr "Aktywność"
 msgid "Results for \"{0}\""
 msgstr "Wyniki dla \"{0}\""
 
-#: frontend/src/metabase/home/containers/SearchApp.jsx:142
+#: frontend/src/metabase/home/containers/SearchApp.jsx:138
 msgid "Pulse"
 msgstr "Pulsowanie"
 
@@ -3362,7 +3354,7 @@ msgstr "Wspólne"
 
 #: frontend/src/metabase/lib/core.js:30
 #: frontend/src/metabase/meta/Dashboard.js:81
-#: frontend/src/metabase/qb/components/actions/PivotByCategoryAction.jsx:9
+#: frontend/src/metabase/modes/components/actions/PivotByCategoryAction.jsx:9
 msgid "Category"
 msgstr "Kategoria"
 
@@ -3398,10 +3390,11 @@ msgstr "Szerokość"
 
 #: frontend/src/metabase/lib/core.js:85
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:149
-#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:39
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:41
 msgid "Number"
 msgstr "Numer"
 
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:19
 #: frontend/src/metabase/lib/core.js:90
 #: frontend/src/metabase/meta/Dashboard.js:65
 msgid "State"
@@ -3565,7 +3558,7 @@ msgid "CumulativeCount"
 msgstr "LicznikŁączny"
 
 #: frontend/src/metabase/lib/expressions/config.js:9
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:17
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:17
 #: frontend/src/metabase/visualizations/lib/utils.js:127
 msgid "Sum"
 msgstr "Sum"
@@ -3589,14 +3582,14 @@ msgid "Average"
 msgstr "Average"
 
 #: frontend/src/metabase/lib/expressions/config.js:14
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:25
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:25
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:48
 #: frontend/src/metabase/visualizations/lib/settings/graph.js:450
 msgid "Min"
 msgstr "Min"
 
 #: frontend/src/metabase/lib/expressions/config.js:15
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:29
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:29
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:57
 #: frontend/src/metabase/visualizations/lib/settings/graph.js:458
 msgid "Max"
@@ -3606,7 +3599,7 @@ msgstr "Max"
 msgid "sad sad panda, lexing errors detected"
 msgstr "smutna, smutna panda, wykryła błędy składniowe"
 
-#: frontend/src/metabase/lib/formatting.js:724
+#: frontend/src/metabase/lib/formatting.js:707
 msgid "{0} second"
 msgid_plural "{0} seconds"
 msgstr[0] "{0} sekund"
@@ -3614,7 +3607,7 @@ msgstr[1] "{0} sekund"
 msgstr[2] "{0} sekund"
 msgstr[3] "{0} sekunda"
 
-#: frontend/src/metabase/lib/formatting.js:727
+#: frontend/src/metabase/lib/formatting.js:710
 msgid "{0} minute"
 msgid_plural "{0} minutes"
 msgstr[0] "{0} minuta"
@@ -3875,16 +3868,16 @@ msgid "Cumulative sum of ..."
 msgstr "Skumulowana suma..."
 
 #: frontend/src/metabase/lib/schema_metadata.js:493
-msgid "Additive sum of all the values of a column.\\ne.x. total revenue over time."
-msgstr "Addytywna suma wszystkich wartości kolumny. \\nnp. całkowity przychód w czasie."
+msgid "Additive sum of all the values of a column.\\\\ne.x. total revenue over time."
+msgstr "Addytywna suma wszystkich wartości kolumny. \\\\nnp. całkowity przychód w czasie."
 
 #: frontend/src/metabase/lib/schema_metadata.js:499
 msgid "Cumulative count of rows"
 msgstr "Skumulowana liczba wierszy"
 
 #: frontend/src/metabase/lib/schema_metadata.js:501
-msgid "Additive count of the number of rows.\\ne.x. total number of sales over time."
-msgstr "Addytywna liczba wierszy.\\nnp. łączna ilość transakcji w czasie."
+msgid "Additive count of the number of rows.\\\\ne.x. total number of sales over time."
+msgstr "Addytywna liczba wierszy.\\\\nnp. łączna ilość transakcji w czasie."
 
 #: frontend/src/metabase/lib/schema_metadata.js:507
 msgid "Standard deviation of ..."
@@ -4050,7 +4043,7 @@ msgid "ID"
 msgstr "ID"
 
 #: frontend/src/metabase/meta/Dashboard.js:95
-#: frontend/src/metabase/qb/components/actions/PivotByTimeAction.jsx:8
+#: frontend/src/metabase/modes/components/actions/PivotByTimeAction.jsx:8
 msgid "Time"
 msgstr "Czas"
 
@@ -4059,7 +4052,7 @@ msgid "Date range, relative date, time of day, etc."
 msgstr "Zakres dat, data względna, czas, itp."
 
 #: frontend/src/metabase/meta/Dashboard.js:101
-#: frontend/src/metabase/qb/components/actions/PivotByLocationAction.jsx:8
+#: frontend/src/metabase/modes/components/actions/PivotByLocationAction.jsx:8
 msgid "Location"
 msgstr "Lokalizacja"
 
@@ -4079,73 +4072,73 @@ msgstr "Inne kategorie"
 msgid "Category, Type, Model, Rating, etc."
 msgstr "Kategoria, Typ, Model, Ocena itd."
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:43
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:42
 #: frontend/src/metabase/user/components/UserSettings.jsx:54
 msgid "Account settings"
 msgstr "Ustawienia konta"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:50
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:49
 msgid "Exit admin"
 msgstr "Zamknij panel administracyjny"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:60
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:34
 msgid "Logs"
 msgstr "Logi"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:67
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:58
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorSidebar.jsx:105
 msgid "Help"
 msgstr "Pomoc"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:76
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:67
 msgid "About Metabase"
 msgstr "O Metabase"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:82
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:73
 msgid "Sign out"
 msgstr "Wyloguj siÄ™"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:107
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:98
 msgid "Thanks for using"
 msgstr "Dzięki za korzystanie"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:111
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:102
 msgid "You're on version"
 msgstr "Pracujesz z wersjÄ…"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:114
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:105
 msgid "Built on"
 msgstr "Zbudowany na"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:133
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:124
 msgid "is a Trademark of"
 msgstr "jest znakiem towarowym"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:135
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:126
 msgid "and is built with care in San Francisco, CA"
 msgstr "i jest tworzony w San Francisco, CA"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:195
+#: frontend/src/metabase/nav/containers/Navbar.jsx:194
 msgid "Metabase Admin"
 msgstr "Metabase Admin"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:301
+#: frontend/src/metabase/nav/containers/Navbar.jsx:300
 #: frontend/src/metabase/reference/databases/TableQuestions.jsx:36
 #: frontend/src/metabase/reference/metrics/MetricQuestions.jsx:37
 #: frontend/src/metabase/reference/segments/SegmentQuestions.jsx:37
 msgid "Ask a question"
 msgstr "Zadaj pytanie"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:310
+#: frontend/src/metabase/nav/containers/Navbar.jsx:309
 msgid "New dashboard"
 msgstr "Nowy panel"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:316
+#: frontend/src/metabase/nav/containers/Navbar.jsx:315
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:127
 msgid "New pulse"
 msgstr "Nowy puls"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:324
+#: frontend/src/metabase/nav/containers/Navbar.jsx:323
 msgid "Reference"
 msgstr "Referencje"
 
@@ -4194,17 +4187,22 @@ msgid "Select a default value…"
 msgstr "Wybierz wartość domyślną…"
 
 #: frontend/src/metabase/parameters/components/widgets/DateAllOptionsWidget.jsx:149
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:390
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:404
 msgid "Update filter"
 msgstr "Aktualizuj filtr"
 
+#: frontend/src/metabase/lib/query_time.js:112
+#: frontend/src/metabase/lib/query_time.js:123
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:9
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:144
+#: src/metabase/pulse/render.clj
 msgid "Today"
 msgstr "DziÅ›"
 
+#: frontend/src/metabase/lib/query_time.js:118
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:14
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:148
+#: src/metabase/pulse/render.clj
 msgid "Yesterday"
 msgstr "Wczoraj"
 
@@ -4216,23 +4214,38 @@ msgstr "Ostatnie 7 dni"
 msgid "Past 30 days"
 msgstr "Ostatnie 30 dni"
 
+#: frontend/src/metabase/lib/query_time.js:195
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:24
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:29
 #: src/metabase/api/table.clj
 msgid "Week"
-msgstr "Tydzień"
+msgid_plural "Weeks"
+msgstr[0] "Tydzień"
+msgstr[1] "Tygodnie"
+msgstr[2] "Tygodni"
+msgstr[3] "Tygodni"
 
+#: frontend/src/metabase/lib/query_time.js:197
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:25
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:30
 #: src/metabase/api/table.clj
 msgid "Month"
-msgstr "MiesiÄ…c"
+msgid_plural "Months"
+msgstr[0] "MiesiÄ…c"
+msgstr[1] "Miesięcy"
+msgstr[2] "Miesięcy"
+msgstr[3] "Miesięcy"
 
+#: frontend/src/metabase/lib/query_time.js:201
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:26
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:31
 #: src/metabase/api/table.clj
 msgid "Year"
-msgstr "Rok"
+msgid_plural "Years"
+msgstr[0] "Rok"
+msgstr[1] "Lat"
+msgstr[2] "Lat"
+msgstr[3] "Lat"
 
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:152
 msgid "Past 7 Days"
@@ -4266,7 +4279,7 @@ msgstr "Ten miesiÄ…c"
 msgid "This Year"
 msgstr "Ten rok"
 
-#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:88
+#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:89
 #: frontend/src/metabase/parameters/components/widgets/TextWidget.jsx:54
 msgid "Enter a value..."
 msgstr "Wpisz wartość..."
@@ -4388,9 +4401,10 @@ msgstr "Osadzanie urywka kodu dla aplikacji HTML lub frontend"
 msgid "More {0}"
 msgstr "Więcej {0}"
 
+#. This should read as "More examples on Github" in polish, which translates to "Więcej przykładów na Github", not "Więcej przykładny na Github"
 #: frontend/src/metabase/public/components/widgets/EmbedCodePane.jsx:103
 msgid "examples on GitHub"
-msgstr "przykładny na Github"
+msgstr "przykładów na Github"
 
 #: frontend/src/metabase/public/components/widgets/SharingPane.jsx:72
 msgid "Enable sharing"
@@ -4449,7 +4463,7 @@ msgid "This pulse will no longer be emailed to {0} {1}"
 msgstr "Ten impuls nie będzie już wysłany do {0} {1}."
 
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:94
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:374
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:376
 msgid "{0} address"
 msgid_plural "{0} addresses"
 msgstr[0] "{0} adres"
@@ -4503,7 +4517,7 @@ msgstr "Załącznik"
 
 #: frontend/src/metabase/pulse/components/PulseEditCards.jsx:104
 #: frontend/src/metabase/pulse/components/PulseEditCards.jsx:111
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:671
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:673
 msgid "Heads up"
 msgstr "Uwaga"
 
@@ -4531,55 +4545,55 @@ msgstr "Wybierz swoje dane"
 msgid "Choose questions you'd like to send in this pulse"
 msgstr "Wybierz zapytania, które chcesz wysłać w tym pulsie"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:29
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:27
 msgid "Emails"
 msgstr "Emaile"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:30
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:28
 msgid "Slack messages"
 msgstr "Widomości Slack"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:223
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:221
 msgid "Sent"
 msgstr "Wysłane"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:224
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:222
 msgid "{0} will be sent at"
 msgstr "{0} zostanie wysłane w"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:226
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:224
 msgid "Messages"
 msgstr "Wiadomości"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:237
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:240
 msgid "Send email now"
 msgstr "Wyśij teraz wiadomość"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:238
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:241
 msgid "Send to {0} now"
 msgstr "Wyślij teraz do {0}"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:240
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:243
 msgid "Sending…"
 msgstr "Wysyłanie..."
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:241
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:244
 msgid "Sending failed"
 msgstr "Wysyłanie się niepowiodło"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:244
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:247
 msgid "Didn’t send because the pulse has no results."
 msgstr "Nie wysłano, ponieważ puls nie ma wyników."
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:245
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:248
 msgid "Pulse sent"
 msgstr "Puls wysłany"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:284
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:287
 msgid "{0} needs to be set up by an administrator."
 msgstr "{0} musi zostać skonfigurowany przez administratora."
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:299
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:302
 msgid "Slack"
 msgstr "Slack"
 
@@ -4619,66 +4633,66 @@ msgstr "Pomóż wszystkim w zespole pozostać zsynchronizowanym z Twoimi danymi.
 msgid "Pulses let you send data from Metabase to email or Slack on the schedule of your choice."
 msgstr "Pulsy umożliwiają wysyłanie danych z Metabase do wiadomości e-mail lub zapasu czasu według wybranego harmonogramu."
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:100
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:100
 msgid "After {0}"
 msgstr "Po {0}"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:102
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:102
 msgid "Before {0}"
 msgstr "Przed {0}"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:104
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:104
 #: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:295
 msgid "Is Empty"
 msgstr "Jest pusty"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:106
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:106
 #: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:301
 msgid "Not Empty"
 msgstr "Nie jest pusty"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:109
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:109
 #: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:213
 msgid "All Time"
 msgstr "Zawsze"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:154
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:154
 msgid "Apply"
 msgstr "Zastosuj"
 
-#: frontend/src/metabase/qb/components/actions/CommonMetricsAction.jsx:21
+#: frontend/src/metabase/modes/components/actions/CommonMetricsAction.jsx:21
 msgid "View {0}"
 msgstr "Wyświetl {0}"
 
-#: frontend/src/metabase/qb/components/actions/CompareWithTable.jsx:29
+#: frontend/src/metabase/modes/components/actions/CompareWithTable.jsx:29
 msgid "Compare this with all rows in the table"
 msgstr "Porównaj to ze wszystkimi wierszami w tabeli"
 
-#: frontend/src/metabase/qb/components/actions/CompoundQueryAction.jsx:14
+#: frontend/src/metabase/modes/components/actions/CompoundQueryAction.jsx:14
 msgid "Analyze the results of this Query"
 msgstr "Analizowanie wyników tej kwerendy"
 
-#: frontend/src/metabase/qb/components/actions/CountByTimeAction.jsx:29
+#: frontend/src/metabase/modes/components/actions/CountByTimeAction.jsx:29
 msgid "Count of rows by time"
 msgstr "Liczba wierszy według czasu"
 
-#: frontend/src/metabase/qb/components/actions/PivotByAction.jsx:55
+#: frontend/src/metabase/modes/components/actions/PivotByAction.jsx:52
 msgid "Break out by {0}"
 msgstr "Podział przez {0}"
 
-#: frontend/src/metabase/qb/components/actions/SummarizeBySegmentMetricAction.jsx:34
+#: frontend/src/metabase/modes/components/actions/SummarizeBySegmentMetricAction.jsx:31
 msgid "Summarize this segment"
 msgstr "Podsumuj ten segment"
 
-#: frontend/src/metabase/qb/components/actions/UnderlyingDataAction.jsx:14
+#: frontend/src/metabase/modes/components/actions/UnderlyingDataAction.jsx:14
 msgid "View this as a table"
 msgstr "Zobacz to jako tabela"
 
-#: frontend/src/metabase/qb/components/actions/UnderlyingRecordsAction.jsx:22
+#: frontend/src/metabase/modes/components/actions/UnderlyingRecordsAction.jsx:22
 msgid "View the underlying {0} records"
 msgstr "Wyświetlanie podstawowych rekordów {0}"
 
-#: frontend/src/metabase/qb/components/actions/XRayCard.jsx:20
+#: frontend/src/metabase/modes/components/actions/XRayCard.jsx:20
 msgid "X-Ray this question"
 msgstr "Prześwietl X-ray to zapytanie"
 
@@ -4700,39 +4714,39 @@ msgstr "to"
 msgid "Compare {0} {1} to the rest"
 msgstr "Porównaj {0} {1} z resztą"
 
-#: frontend/src/metabase/qb/components/drill/DistributionDrill.jsx:35
+#: frontend/src/metabase/modes/components/drill/DistributionDrill.jsx:35
 msgid "Distribution"
 msgstr "Dystrybucja"
 
-#: frontend/src/metabase/qb/components/drill/ObjectDetailDrill.jsx:38
+#: frontend/src/metabase/modes/components/drill/ObjectDetailDrill.jsx:38
 msgid "View details"
 msgstr "Wyświetl szczegóły"
 
-#: frontend/src/metabase/qb/components/drill/QuickFilterDrill.jsx:54
+#: frontend/src/metabase/modes/components/drill/QuickFilterDrill.jsx:54
 msgid "View this {0}'s {1}"
 msgstr "Wyświetl {0} {1}"
 
-#: frontend/src/metabase/qb/components/drill/SortAction.jsx:41
+#: frontend/src/metabase/modes/components/drill/SortAction.jsx:42
 msgid "Ascending"
 msgstr "RosnÄ…co"
 
-#: frontend/src/metabase/qb/components/drill/SortAction.jsx:49
+#: frontend/src/metabase/modes/components/drill/SortAction.jsx:50
 msgid "Descending"
 msgstr "MalejÄ…co"
 
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnByTimeDrill.js:47
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnByTimeDrill.js:47
 msgid "over time"
 msgstr "z biegiem czasu"
 
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:21
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:21
 msgid "Avg"
 msgstr "Åšr"
 
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:33
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:33
 msgid "Distincts"
 msgstr "Różne"
 
-#: frontend/src/metabase/qb/components/drill/UnderlyingRecordsDrill.jsx:32
+#: frontend/src/metabase/modes/components/drill/UnderlyingRecordsDrill.jsx:32
 msgid "View this {0}"
 msgid_plural "View these {0}"
 msgstr[0] "Pokaż {0}"
@@ -4741,7 +4755,7 @@ msgstr[2] "Pokaż {0}"
 msgstr[3] "Pokaż {0}"
 
 #: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:225
-#: frontend/src/metabase/qb/components/drill/ZoomDrill.jsx:26
+#: frontend/src/metabase/modes/components/drill/ZoomDrill.jsx:26
 msgid "Zoom in"
 msgstr "Przybliż"
 
@@ -4753,63 +4767,63 @@ msgstr "Wyrażenia niestandardowe"
 msgid "Common Metrics"
 msgstr "Wspólne metryki"
 
-#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:182
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:209
 msgid "Metabasics"
 msgstr "Metabasics"
 
-#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:290
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:319
 msgid "Name (optional)"
 msgstr "Nazwa (opcjonalne)"
 
-#: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:153
+#: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:156
 msgid "Choose an aggregation"
 msgstr "Wybierz agregacjÄ™"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:115
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:100
 msgid "Set up your own alert"
 msgstr "Skonfiguruj własny alert"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:155
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:140
 msgid "Unsubscribing..."
 msgstr "Anulowanie subskrypcji..."
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:160
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:145
 msgid "Failed to unsubscribe"
 msgstr "Nie można anulować subskrypcji"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:216
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:204
 msgid "Unsubscribe"
 msgstr "Anuluj subskrypcjÄ™"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:247
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:235
 msgid "No channel"
 msgstr "Brak stacji"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:274
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:263
 msgid "Okay, you're unsubscribed"
 msgstr "Okay, anulowałeś subskrypcję"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:346
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:335
 msgid "You're receiving {0}'s alerts"
 msgstr "Otrzymujesz alerty {0}"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:347
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:336
 msgid "{0} set up an alert"
 msgstr "{0} skonfigurowanie alertu"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:161
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:160
 msgid "alerts"
 msgstr "alerty"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:184
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:183
 msgid "Let's set up your alert"
 msgstr "Ustawmy twoje alerty"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:215
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:214
 msgid "The wide world of alerts"
 msgstr "Szeroki świat alertów"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:216
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:215
 msgid "There are a few different kinds of alerts you can get"
 msgstr "Jest kilka róźnych alertów które możesz mieć"
 
@@ -4821,123 +4835,123 @@ msgstr "Gdy zapytanie o dane{0}"
 msgid "returns any results"
 msgstr "zwraca wyniki"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:240
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:241
 msgid "When a line or bar {0}"
 msgstr "Gdy linia lub pasek {0}"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:241
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:242
 msgid "crosses a goal line"
 msgstr "przecina liniÄ™ docelowÄ…"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:251
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:253
 msgid "When a progress bar {0}"
 msgstr "Gdy pasek postępu {0}"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:252
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:254
 msgid "reaches its goal"
 msgstr "osiągnie swój cel"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:260
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:262
 msgid "Set up an alert"
 msgstr "Konfigurowanie alertu"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:329
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:331
 msgid "Edit your alert"
 msgstr "Edytuj swój alert"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:329
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:331
 msgid "Edit alert"
 msgstr "Edytuj alert"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:372
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:374
 msgid "This alert will no longer be emailed to {0}."
 msgstr "Ten alert nie będzie już wysłany do {0}."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:380
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:382
 msgid "Slack channel {0} will no longer get this alert."
 msgstr "Kanał Slack {0} nie będzie już otrzymywać tego alertu."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:384
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:386
 msgid "Channel {0} will no longer receive this alert."
 msgstr "Kanał {0} nie będzie już otrzymywał tego alertu."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:401
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:403
 msgid "Delete this alert"
 msgstr "Usuń"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:403
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:405
 msgid "Stop delivery and delete this alert. There's no undo, so be careful."
 msgstr "Zatrzymaj dostarczanie i Usuń ten alert. Nie ma cofnąć, więc należy być ostrożnym."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:411
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:413
 msgid "Delete this alert?"
 msgstr "Usunąć ten alert?"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:495
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:497
 msgid "Alert me when the line…"
 msgstr "Ostrzegaj mnie, gdy linia…"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:496
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:498
 msgid "Alert me when the progress bar…"
 msgstr "Ostrzegaj mnie, gdy pasek postępu…"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:499
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:501
 msgid "Goes above the goal line"
 msgstr "Przekracza liniÄ™ docelowÄ…"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:499
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:501
 msgid "Reaches the goal"
 msgstr "OsiÄ…gnie cel"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:502
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:504
 msgid "Goes below the goal line"
 msgstr "Idzie poniżej linii docelowej"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:502
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:504
 msgid "Goes below the goal"
 msgstr "Idzie poniżej celu"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:510
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:512
 msgid "The first time it crosses, or every time?"
 msgstr "Pierwszy raz go przecina, lub za każdym razem?"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:511
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:513
 msgid "The first time it reaches the goal, or every time?"
 msgstr "Po raz pierwszy osiągnie cel, lub za każdym razem?"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:513
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:515
 msgid "The first time"
 msgstr "Za pierwszym razem"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:514
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:516
 msgid "Every time"
 msgstr "Za każdym razem"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:617
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:619
 msgid "Where do you want to send these alerts?"
 msgstr "Gdzie chcesz wysłać te alerty?"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:628
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:630
 msgid "Email alerts to:"
 msgstr "Alerty e-mail do:"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:670
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:672
 msgid "{0} Goal-based alerts aren't yet supported for charts with more than one line, so this alert will be sent whenever the chart has {1}."
 msgstr "{0} alerty oparte na celu nie są jeszcze obsługiwane dla wykresów z więcej niż jednym wierszem, więc ten alert zostanie wysłany w każdym przypadku, gdy wykres ma {1}."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:673
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:675
 msgid "results"
 msgstr "wyniki"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:677
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:679
 msgid "{0} This kind of alert is most useful when your saved question doesn’t {1} return any results, but you want to know when it does."
 msgstr "Ten rodzaj alertu jest najbardziej przydatny w przypadku, gdy zapisane zapytanie nie zawiera żadnych wyników, ale użytkownik chce się o tym dowiedzieć."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:678
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:680
 msgid "Tip"
 msgstr "Rada"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:680
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:682
 msgid "usually"
 msgstr "zazwyczaj"
 
@@ -4960,28 +4974,28 @@ msgstr "Wybieranie.."
 msgid "Select a table"
 msgstr "Wybierz tabele"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:785
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:793
 msgid "No tables found in this database."
 msgstr "Brak tabel w tej bazie danych"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:822
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:830
 msgid "Is a question missing?"
 msgstr "Brakuje zapytania?"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:826
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:834
 msgid "Learn more about nested queries"
 msgstr "Dowiedz się więcej o kwerendach zagnieżdżonych"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:860
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:868
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:30
 msgid "Fields"
 msgstr "Pola"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:938
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:946
 msgid "No segments were found."
 msgstr "Nie znaleziono segmentów."
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:961
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:969
 msgid "Find a segment"
 msgstr "Znajdź segment"
 
@@ -4993,27 +5007,27 @@ msgstr "Pokaż mniej"
 msgid "View more"
 msgstr "Pokaż więcej"
 
-#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:111
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:112
 msgid "Pick a field to sort by"
 msgstr "Wybierz pole do sortowania według"
 
-#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:124
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:125
 msgid "Sort"
 msgstr "Sortuj"
 
-#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:193
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:137
 msgid "Row limit"
 msgstr "Limit wierszy"
 
-#: frontend/src/metabase/query_builder/components/FieldName.jsx:76
+#: frontend/src/metabase/query_builder/components/FieldName.jsx:69
 msgid "Unknown Field"
 msgstr "Nieznane pole"
 
-#: frontend/src/metabase/query_builder/components/FieldName.jsx:79
+#: frontend/src/metabase/query_builder/components/FieldName.jsx:72
 msgid "field"
 msgstr "pole"
 
-#: frontend/src/metabase/query_builder/components/Filter.jsx:113
+#: frontend/src/metabase/query_builder/components/Filter.jsx:114
 msgid "Matches"
 msgstr "Pasuje"
 
@@ -5034,11 +5048,11 @@ msgstr "Dodaj grupowanie"
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:59
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:68
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:75
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:226
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:232
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:238
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:62
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:67
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:225
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:231
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:237
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:70
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:75
 msgid "Data"
 msgstr "Dane"
 
@@ -5046,7 +5060,7 @@ msgstr "Dane"
 msgid "Filtered by"
 msgstr "Filtrowane po"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:82
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:75
 #: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:369
 msgid "View"
 msgstr "Wyświetl"
@@ -5282,8 +5296,7 @@ msgstr "Powrót do ostatniego uruchomienia"
 msgid "Visualization"
 msgstr "Wizualizacja"
 
-#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:17
-#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:151
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:96
 msgid "No description set."
 msgstr "Brak zestawu opis."
 
@@ -5291,12 +5304,11 @@ msgstr "Brak zestawu opis."
 msgid "Use for current question"
 msgstr "Użyj dla aktualnego zapytania"
 
-#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:33
 #: frontend/src/metabase/reference/components/UsefulQuestions.jsx:16
 msgid "Potentially useful questions"
 msgstr "Potencjalnie przydatne zapytania"
 
-#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:156
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:166
 msgid "Group by {0}"
 msgstr "Grupuj według {0}"
 
@@ -5304,20 +5316,19 @@ msgstr "Grupuj według {0}"
 msgid "Sum of all values of {0}"
 msgstr "Suma wszystkich wartości {0}"
 
-#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:173
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:63
 #: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:51
 msgid "All distinct values of {0}"
 msgstr "Wszystkie różne wartości z {0}"
 
-#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:177
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:187
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:39
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:51
 #: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:39
 msgid "Number of {0} grouped by {1}"
 msgstr "Liczba elementów {0} zgrupowanych według {1}"
 
-#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:11
+#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:10
 #: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:20
 #: frontend/src/metabase/reference/databases/FieldSidebar.jsx:30
 #: frontend/src/metabase/reference/databases/TableSidebar.jsx:26
@@ -5372,15 +5383,15 @@ msgstr "Podczas ładowania tabeli wystąpił błąd"
 msgid "See the raw data for {0}"
 msgstr "Zobacz dane dla {0}"
 
-#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:205
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:180
 msgid "More"
 msgstr "Więcej"
 
-#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:200
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:201
 msgid "Invalid expression"
 msgstr "Nieprawidłowe wyrażenie"
 
-#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:275
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:276
 msgid "unknown error"
 msgstr "nieznany błąd"
 
@@ -5441,19 +5452,19 @@ msgstr "ta minuta"
 msgid "this hour"
 msgstr "ta godzina"
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:285
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:290
 msgid "not implemented {0}"
 msgstr "nie zaimplementowano {0}"
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:286
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:291
 msgid "true"
 msgstr "prawda"
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:286
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:291
 msgid "false"
 msgstr "fałsz"
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:390
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:404
 msgid "Add filter"
 msgstr "Dodaj filtr"
 
@@ -5752,7 +5763,7 @@ msgstr "Co należy wiedzieć o tej bazy danych"
 msgid "Databases and tables"
 msgstr "Bazy danych i tabele"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:68
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:61
 #: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:27
 #: frontend/src/metabase/reference/databases/FieldSidebar.jsx:41
 #: frontend/src/metabase/reference/databases/TableDetail.jsx:170
@@ -6138,7 +6149,7 @@ msgstr "Szukaj"
 msgid "Dashboard"
 msgstr "Kokpit"
 
-#: frontend/src/metabase/routes.jsx:227
+#: frontend/src/metabase/routes.jsx:228
 msgid "New Question"
 msgstr "Nowe zapytanie"
 
@@ -6448,7 +6459,7 @@ msgstr "Zaloguj siÄ™ za pomocÄ… e-mail Google"
 msgid "User Details"
 msgstr "Szczegóły użytkownika"
 
-#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:235
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:275
 msgid "Reset to defaults"
 msgstr "Powróć do ustawień fabrycznych"
 
@@ -6497,35 +6508,35 @@ msgstr "Nie ustawiono"
 msgid "Rows {0}-{1} of {2}"
 msgstr "Wiersze {0}-{1} z {2}"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:187
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:189
 msgid "Data truncated to {0} rows."
 msgstr "Dane obcięte do {0} wierszy."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:352
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:364
 msgid "Could not find visualization"
 msgstr "Nie można odnaleźć wizualizacji"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:359
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:371
 msgid "Could not display this chart with this data."
 msgstr "Nie można wyświetlić tego wykresu z tymi danymi."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:457
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:469
 msgid "No results!"
 msgstr "Brak wyników!"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:478
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:490
 msgid "Still Waiting..."
 msgstr "Wciąż czekam..."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:481
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:493
 msgid "This usually takes an average of {0}."
 msgstr "Zazwyczaj trwa to średnio {0}."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:487
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:499
 msgid "(This is a bit long for a dashboard)"
 msgstr "(jest to trochę za dużo dla pulpitu)"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:491
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:503
 msgid "This is usually pretty fast but seems to be taking awhile right now."
 msgstr "Zazwyczaj jest to dość szybko, ale wydaje się teraz zajmie jeszcze chwilę."
 
@@ -6631,7 +6642,7 @@ msgid "Highlight the whole row"
 msgstr "Podświetl cały wiersz"
 
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:390
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:90
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:98
 msgid "Colors"
 msgstr "Kolory"
 
@@ -6944,7 +6955,7 @@ msgid "Funnel"
 msgstr "Lejek"
 
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:76
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:68
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:76
 msgid "Measure"
 msgstr "Wykonaj pomiar"
 
@@ -6960,15 +6971,15 @@ msgstr "Wykres słupkowy"
 msgid "line chart"
 msgstr "wykres liniowy"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:225
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:224
 msgid "Please select longitude and latitude columns in the chart settings."
 msgstr "Proszę wybrać kolumny długości i szerokości geograficznej w ustawieniach wykresu."
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:231
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:230
 msgid "Please select a region map."
 msgstr "Proszę wybrać mapę regionu."
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:237
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:236
 msgid "Please select region and metric columns in the chart settings."
 msgstr "Wybierz kolumny region i metryczne w ustawieniach wykresu."
 
@@ -7018,19 +7029,19 @@ msgstr "Pole metryczne"
 msgid "Region field"
 msgstr "Pole region"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:193
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:192
 msgid "Radius"
 msgstr "Promień"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:199
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:198
 msgid "Blur"
 msgstr "Rozmycie"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:205
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:204
 msgid "Min Opacity"
 msgstr "Min. krycie"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:211
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:210
 msgid "Max Zoom"
 msgstr "Max powiększenie"
 
@@ -7054,31 +7065,31 @@ msgstr "Szczegóły obiektu"
 msgid "object"
 msgstr "element"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:304
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:312
 msgid "Total"
 msgstr "Razem"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:53
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:61
 msgid "Which columns do you want to use?"
 msgstr "Które kolumny chcesz użyć?"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:41
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:44
 msgid "Pie"
 msgstr "Wykres kołowy"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:63
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:71
 msgid "Dimension"
 msgstr "Wymiary"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:73
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:81
 msgid "Show legend"
 msgstr "Pokaż legendę"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:78
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:86
 msgid "Show percentages in legend"
 msgstr "Pokaż procenty w legendzie"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:84
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:92
 msgid "Minimum slice percentage"
 msgstr "Minimalna wartość procentowa fragmentu"
 
@@ -7102,8 +7113,8 @@ msgstr "Wizualizacja postępu wymaga numeru."
 msgid "Progress"
 msgstr "Postęp"
 
-#: frontend/src/metabase/entities/collections.js:101
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:177
+#: frontend/src/metabase/entities/collections.js:108
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:176
 #: frontend/src/metabase/visualizations/visualizations/Progress.jsx:57
 msgid "Color"
 msgstr "Kolor"
@@ -7194,7 +7205,7 @@ msgstr "Prawa"
 msgid "Show background"
 msgstr "Pokaż tło"
 
-#: frontend/src/metabase-lib/lib/Dimension.js:492
+#: frontend/src/metabase-lib/lib/Dimension.js:553
 msgid "{0} bin"
 msgid_plural "{0} bins"
 msgstr[0] "{0} kosz"
@@ -7202,7 +7213,7 @@ msgstr[1] "{0} kosze"
 msgstr[2] "{0} koszy"
 msgstr[3] "{0} koszy"
 
-#: frontend/src/metabase-lib/lib/Dimension.js:498
+#: frontend/src/metabase-lib/lib/Dimension.js:559
 msgid "Auto binned"
 msgstr "Automatycznie sortowane"
 
@@ -7234,7 +7245,7 @@ msgstr "Nieprawidłowy typ encji"
 msgid "Invalid comparison entity type. Can only be one of \"table\", \"segment\", or \"adhoc\""
 msgstr "Nieprawidłowy typ jednostki porównania. Może być tylko jeden z \"Tabela\", \"segment\" lub \"AdHoc\""
 
-#: src/metabase/api/card.clj
+#: src/metabase/query_processor/async.clj
 msgid "Error running query to determine Card result metadata:"
 msgstr "Błąd podczas uruchamiania kwerendy w celu określenia metadanych wyniku karty:"
 
@@ -7278,14 +7289,14 @@ msgstr "Ostrzeżenie: punkt końcowy {0}/{1} nie ma docstring."
 msgid "starting streaming request"
 msgstr "rozpoczęcie żądania strumieniowego"
 
-#: src/metabase/api/common.clj
+#: src/metabase/async/api_response.clj
 msgid "connection closed, canceling request"
 msgstr "połączenie zamknięte, anulowanie żądania"
 
 #. a newline padding character as it's harmless and will allow us to check if the client is connected. If
 #. sending this character fails because the connection is closed, the chan will then close.  Newlines are
 #. no-ops when reading JSON which this depends upon.
-#: src/metabase/api/common.clj
+#: src/metabase/async/api_response.clj
 msgid "Response not ready, writing one byte & sleeping..."
 msgstr "Odpowiedź nie jest gotowa..."
 
@@ -7470,22 +7481,38 @@ msgstr "Automatyczne sortowanie"
 msgid "Don''t bin"
 msgstr "Nie sortuj"
 
-#: src/metabase/api/table.clj
+#: frontend/src/metabase/lib/query_time.js:193 src/metabase/api/table.clj
 msgid "Day"
-msgstr "Dzień"
+msgid_plural "Days"
+msgstr[0] "Dzień"
+msgstr[1] "Dni"
+msgstr[2] "Dni"
+msgstr[3] "Dni"
 
 #. note the order of these options corresponds to the order they will be shown to the user in the UI
-#: src/metabase/api/table.clj
+#: frontend/src/metabase/lib/query_time.js:189 src/metabase/api/table.clj
 msgid "Minute"
-msgstr "Minuta"
+msgid_plural "Minutes"
+msgstr[0] "Minuta"
+msgstr[1] "Minut"
+msgstr[2] "Minut"
+msgstr[3] "Minut"
 
-#: src/metabase/api/table.clj
+#: frontend/src/metabase/lib/query_time.js:191 src/metabase/api/table.clj
 msgid "Hour"
-msgstr "Godzina"
+msgid_plural "Hours"
+msgstr[0] "Godzina"
+msgstr[1] "Godzin"
+msgstr[2] "Godzin"
+msgstr[3] "Godzin"
 
-#: src/metabase/api/table.clj
+#: frontend/src/metabase/lib/query_time.js:199 src/metabase/api/table.clj
 msgid "Quarter"
-msgstr "Ćwiartka"
+msgid_plural "Quarters"
+msgstr[0] "Kwartał"
+msgstr[1] "Kwartały"
+msgstr[2] "Kwartały"
+msgstr[3] "Kwartały"
 
 #: src/metabase/api/table.clj
 msgid "Minute of Hour"
@@ -7835,11 +7862,11 @@ msgstr "Wygląda na to, że jest to nowa instalacja... Przygotowanie Kreatora ko
 msgid "Metabase Initialization COMPLETE"
 msgstr "Zakończenie inicjowania Metabase"
 
-#: src/metabase/core.clj
+#: src/metabase/server.clj
 msgid "Launching Embedded Jetty Webserver with config:"
 msgstr "Uruchomienie Embedded Jetty Webserve w konfiguracji:"
 
-#: src/metabase/core.clj
+#: src/metabase/server.clj
 msgid "Shutting Down Embedded Jetty Webserver"
 msgstr "Wyłączanie Embedded Jetty Webserver"
 
@@ -7900,51 +7927,51 @@ msgstr "Uruchamianie migracji bazy danych..."
 msgid "Database Migrations Current ... "
 msgstr "Bieżąca migracja bazy danych ..."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Hmm, we couldn''t connect to the database."
 msgstr "Hmm, nie mogliśmy połączyć się z bazą danych."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Make sure your host and port settings are correct"
 msgstr "Upewnij się, że ustawienia hosta i portu są poprawne"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "We couldn''t connect to the ssh tunnel host."
 msgstr "Nie mogliśmy połączyć się z hostem tunelu SSH."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Check the username, password."
 msgstr "Sprawdz nazwę użytkownika i hasło"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Check the hostname and port."
 msgstr "Sprawdź nazwę hosta i port."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like the database name is incorrect."
 msgstr "Wygląda na to że nazwa bazy danych jest niepoprawna"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "It looks like your host is invalid."
 msgstr "Wygląda na to, że twój host jest nieprawidłowy."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Please double-check it and try again."
 msgstr "Proszę dokładnie sprawdzić i spróbuj ponownie."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like your password is incorrect."
 msgstr "Wygląda na to, że hasło jest niepoprawne."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like you forgot to enter your password."
 msgstr "Wygląda na to, że zapomniałeś wpisać swoje hasło."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like your username is incorrect."
 msgstr "Wygląda na to, że twoja nazwa użytkownika jest nieprawidłowa."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like the username or password is incorrect."
 msgstr "Wygląda jakby nazwa użytkownika lub hasło jest niepoprawne."
 
@@ -7961,16 +7988,16 @@ msgstr "Zarejestrowany sterownik {0} {1}"
 msgid "No -init-driver function found for ''{0}''"
 msgstr "Nie znaleziono funkcji-init-Driver dla ' ' {0} ' '"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Unable to parse date string ''{0}'' for database engine ''{1}''"
 msgstr "Nie można przeanalizować ciągu daty ' ' {0} ' ' dla silnika bazy danych ' ' {1} ' '"
 
 #. all-NULL columns in DBs like Mongo w/o explicit types
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Don''t know how to map class ''{0}'' to a Field base_type, falling back to :type/*."
 msgstr "Nie wiadomi jak mapować klasy ' ' {0} ' ' do pola base_type, powrót do: Type/*."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/util.clj
 msgid "Failed to connect to database: {0}"
 msgstr "Nie można połączyć się z bazą danych: {0}"
 
@@ -7982,7 +8009,7 @@ msgstr "Nieprawidłowy identyfikator BigQuery: ' ' {0} ' '"
 msgid "BigQuery statements can't be parameterized!"
 msgstr "Instrukcje BigQuery nie mogą być parametryzowane!"
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql_jdbc/execute.clj
 msgid "Failed to set timezone:"
 msgstr "Nie można ustawić strefy czasowej:"
 
@@ -8114,11 +8141,11 @@ msgstr "Token API Slack otrzymany z https://API.Slack.com/Web#authentication"
 msgid "Enable MetaBot, which lets you search for and view your saved questions directly via Slack."
 msgstr "Włącz MetaBot, który umożliwia wyszukiwanie i Wyświetlanie zapisanych pytań bezpośrednio przez Slack."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
 msgid "Last MetaBot checkin was {0} ago."
 msgstr "Ostatnie sprawdzanie MetaBot było {0} temu."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
 msgid "This instance will now handle MetaBot duties."
 msgstr "Ta instancja będzie teraz obsługiwać obowiązki MetaBot ."
 
@@ -8130,39 +8157,39 @@ msgstr "Oto co mogÄ™ {0}:"
 msgid "I don''t know how to {0} `{1}`.n{2}"
 msgstr "Nie wiem, jak {0} `{1}`.z{2}"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/slack.clj
 msgid "Uh oh! :cry:n> {0}"
 msgstr "No nie! :płacz:n> {0}"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Here''s your {0} most recent cards:n{1}"
 msgstr "Oto twoje {0} Najnowsze karty: z {1}"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Could you be a little more specific? I found these cards with names that matched:n{0}"
 msgstr "Możesz być trochę bardziej szczegółowy? Znalazłem takie karty z nazwami, które pasują: n {0}"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "I don''t know what Card `{0}` is. Give me a Card ID or name."
 msgstr "Nie wiem, jaka karta jest \"{0}\". Podaj identyfikator lub nazwÄ™ karty."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Show which card? Give me a part of a card name or its ID and I can show it to you. If you don''t know which card you want, try `metabot list`."
 msgstr "Pokazać którą kartę? Podaj część nazwy karty lub jej ID i aby ją pokazać. Jeśli nie wiesz która kartę chcesz, spróbuj `metabot list`."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Ok, just a second..."
 msgstr "OK, tylko sekundÄ™..."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Not Found"
 msgstr "Nie znaleziono"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Loading Kanye quotes..."
 msgstr "Trwa Å‚adowanie Kanye Quotes..."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/events.clj
 msgid "Evaluating Metabot command:"
 msgstr "Ocena polecenia Metabot:"
 
@@ -8170,23 +8197,23 @@ msgstr "Ocena polecenia Metabot:"
 msgid "Go home websocket, you're drunk."
 msgstr "Idź do domu WebSocket, jesteś pijany."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/websocket.clj
 msgid "Error launching metabot:"
 msgstr "BÅ‚Ä…d podczas uruchamiania metabot:"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/websocket.clj
 msgid "MetaBot WebSocket is closed. Reconnecting now."
 msgstr "MetaBot WebSocket jest zamknięty. Ponowne łączenie."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/websocket.clj
 msgid "Error connecting websocket:"
 msgstr "Błąd połączenia WebSocket:"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
 msgid "This instance is performing MetaBot duties."
 msgstr "Ta instancja wykonuje obowiÄ…zki MetaBot."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
 msgid "Another instance is already handling MetaBot duties."
 msgstr "Inna instancja jest już obsługuje obowiązki MetaBot."
 
@@ -8202,15 +8229,15 @@ msgstr "Zatrzymanie MetaBot...  🤖"
 msgid "MetaBot already running. Killing the previous WebSocket listener first."
 msgstr "MetaBot już działa. Zabij wpierw poprzedni nasłuch WebSocket."
 
-#: src/metabase/middleware.clj
+#: src/metabase/middleware/security.clj
 msgid "Base-64 encoded public key for this site's SSL certificate."
 msgstr "Zakodowany klucz publiczny Base-64 dla tej witryny certyfikat SSL."
 
-#: src/metabase/middleware.clj
+#: src/metabase/middleware/security.clj
 msgid "Specify this to enable HTTP Public Key Pinning."
 msgstr "Określ tę opcję, aby włączyć HTTP Public Key Pinning."
 
-#: src/metabase/middleware.clj
+#: src/metabase/middleware/security.clj
 msgid "See {0} for more information."
 msgstr "Aby uzyskać więcej informacji, zobacz {0}."
 
@@ -8417,19 +8444,19 @@ msgstr "Nie można zaktualizować Wersji!"
 msgid "Setting {0} does not exist.nFound: {1}"
 msgstr "Ustawienie {0} nie istnieje. nFound: {1}"
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Updating value of settings-last-updated in DB..."
 msgstr "Aktualizacja wartości settings-last-updated w BD..."
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Checking whether settings cache is out of date (requires DB call)..."
 msgstr "Sprawdzanie, czy pamięć podręczna ustawień jest nieaktualna (wymaga połączenia DB)..."
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Settings have been changed on another instance, and will be reloaded here."
 msgstr "Ustawienia zostały zmienione na innej instancji i zostaną załadowana tutaj."
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Refreshing Settings cache..."
 msgstr "Odświeżanie pamięci podręcznej ustawień..."
 
@@ -8746,7 +8773,7 @@ msgstr "Uruchamianie harmonogramu Quartz"
 
 #: src/metabase/task.clj
 msgid "Stopping Quartz Scheduler"
-msgstr "Zatrzymanie harmonogramu Quartz"
+msgstr "Zatrzymywanie harmonogramu Quartz"
 
 #: src/metabase/task.clj
 msgid "Job already exists:"
@@ -8881,7 +8908,7 @@ msgstr "wartość musi być prawidłowym typem encji (słowo lub ciąg)."
 
 #: src/metabase/util/schema.clj
 msgid "Valid map"
-msgstr "Prawidłowa Mapa"
+msgstr "Prawidłowa mapa"
 
 #: src/metabase/util/schema.clj
 msgid "value must be a map."
@@ -8935,27 +8962,27 @@ msgstr "Zobacz wszystkie uprawnienia do kolekcji"
 msgid "Also change sub-collections"
 msgstr "Również zmienić kolekcje podrzędne"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:278
+#: frontend/src/metabase/admin/permissions/selectors.js:282
 msgid "Can edit this collection and its contents"
 msgstr "Można edytować tej kolekcji i jej zawartość"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:285
+#: frontend/src/metabase/admin/permissions/selectors.js:289
 msgid "Can view items in this collection"
 msgstr "Można przeglądać elementy w tej kolekcji"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:745
+#: frontend/src/metabase/admin/permissions/selectors.js:749
 msgid "Collection Access"
 msgstr "Dostęp do kolekcji"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:821
+#: frontend/src/metabase/admin/permissions/selectors.js:825
 msgid "This group has permission to view at least one subcollection of this collection."
 msgstr "Ta grupa ma uprawnienia do wyświetlania co najmniej jeden podzbiór tej kolekcji."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:826
+#: frontend/src/metabase/admin/permissions/selectors.js:830
 msgid "This group has permission to edit at least one subcollection of this collection."
 msgstr "Ta grupa ma uprawnienia do edytowania co najmniej jeden podzbiór tej kolekcji."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:839
+#: frontend/src/metabase/admin/permissions/selectors.js:843
 msgid "View sub-collections"
 msgstr "Wyświetl kolekcje podrzędne"
 
@@ -8963,19 +8990,19 @@ msgstr "Wyświetl kolekcje podrzędne"
 msgid "Remember Me"
 msgstr "Zapamiętaj mnie"
 
-#: frontend/src/metabase/components/BrowseApp.jsx:120
+#: frontend/src/metabase/components/BrowseApp.jsx:95
 msgid "X-ray this schema"
 msgstr "Prześwietl X-ray ten schemat"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:246
+#: frontend/src/metabase/components/CollectionLanding.jsx:258
 msgid "Edit the permissions for this collection"
 msgstr "Edytowanie uprawnień dla tej kolekcji"
 
-#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:51
+#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:55
 msgid "Add this question to a dashboard"
 msgstr "Dodaj to pytanie do panelu"
 
-#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:61
+#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:65
 msgid "Create a new dashboard"
 msgstr "Utwórz nowy panel"
 
@@ -8987,11 +9014,11 @@ msgstr "Żądana strona nie mogła zostać znaleziona."
 msgid "Select a {0}"
 msgstr "Wybierz {0}"
 
-#: frontend/src/metabase/containers/Overworld.jsx:190
+#: frontend/src/metabase/containers/Overworld.jsx:185
 msgid "Save dashboards, questions, and collections in \"{0}\""
 msgstr "Zapisz pulpity, zapytania i kolekcje w \"{0}\""
 
-#: frontend/src/metabase/containers/Overworld.jsx:193
+#: frontend/src/metabase/containers/Overworld.jsx:188
 msgid "Access dashboards, questions, and collections in \"{0}\""
 msgstr "Dostęp do pulpitów, zapytań i kolekcji w \"{0}\""
 
@@ -9011,11 +9038,11 @@ msgstr "Połączone"
 msgid "More X-rays"
 msgstr "Więcej X-rays"
 
-#: frontend/src/metabase/home/containers/SearchApp.jsx:50
+#: frontend/src/metabase/home/containers/SearchApp.jsx:46
 msgid "No results"
 msgstr "Brak wyników"
 
-#: frontend/src/metabase/home/containers/SearchApp.jsx:51
+#: frontend/src/metabase/home/containers/SearchApp.jsx:47
 msgid "Metabase couldn't find any results for your search."
 msgstr "Metabase nie może znaleźć żadnych wyników wyszukiwania."
 
@@ -9038,11 +9065,11 @@ msgstr "WÅ‚asne Pola"
 #. 2. Create the new collections.
 #: src/metabase/db/migrations.clj
 msgid "Migrated Dashboards"
-msgstr "Zmigrowano panel"
+msgstr "Zmigrowane panele"
 
 #: src/metabase/db/migrations.clj
 msgid "Migrated Pulses"
-msgstr "Przeniesione pulsy"
+msgstr "Zmigrowane pulsy"
 
 #: src/metabase/db/migrations.clj
 msgid "Migrated Questions"
@@ -9061,43 +9088,43 @@ msgstr "Nie można udzielić uprawnień: {0}"
 msgid "Cannot decrypt encrypted string. Have you changed or forgot to set MB_ENCRYPTION_SECRET_KEY?"
 msgstr "Nie można odszyfrować zaszyfrowanego ciągu. Czy zmieniłeś lub zapomniałeś ustawić MB_ENCRYPTION_SECRET_KEY?"
 
-#: frontend/src/metabase/entities/collections.js:157
+#: frontend/src/metabase/entities/collections.js:164
 msgid "All personal collections"
 msgstr "Wszystkie kolekcje osobiste"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Host"
 msgstr "Host"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Port"
 msgstr "Port"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Database username"
-msgstr "Użytkownik"
+msgstr "Użytkownik bazy danych"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "What username do you use to login to the database?"
 msgstr "Jaki użytkownik służy do logowania się do bazy danych?"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Database password"
 msgstr "Hasło do bazy danych"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Database name"
 msgstr "Nazwa bazy danych"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "birds_of_the_world"
 msgstr "birds_of_the_world"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Use a secure connection (SSL)?"
 msgstr "Użyj bezpiecznego połączenia (SSL)?"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Additional JDBC connection string options"
 msgstr "Dodatkowe opcje połączenia JDBC"
 
@@ -9237,7 +9264,7 @@ msgstr "Etykiety"
 msgid "Add members"
 msgstr "Dodawanie członków"
 
-#: frontend/src/metabase/entities/collections.js:108
+#: frontend/src/metabase/entities/collections.js:115
 msgid "Collection it's saved in"
 msgstr "Kolekcja zapisana w"
 
@@ -9266,10 +9293,10 @@ msgstr "Udostępnianie"
 #: frontend/src/metabase/visualizations/lib/settings/graph.js:321
 #: frontend/src/metabase/visualizations/lib/settings/nested.js:126
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:83
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:72
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:77
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:83
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:89
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:80
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:85
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:91
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:97
 #: frontend/src/metabase/visualizations/visualizations/Progress.jsx:50
 #: frontend/src/metabase/visualizations/visualizations/Progress.jsx:56
 #: frontend/src/metabase/visualizations/visualizations/Text.jsx:72
@@ -9291,20 +9318,20 @@ msgstr "Osie"
 
 #: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:222
 #: frontend/src/metabase/admin/settings/selectors.js:319
-#: frontend/src/metabase/qb/components/drill/FormatAction.jsx:27
+#: frontend/src/metabase/modes/components/drill/FormatAction.jsx:27
 #: frontend/src/metabase/visualizations/lib/settings/column.js:63
 msgid "Formatting"
 msgstr "Formatowanie"
 
-#: frontend/src/metabase/containers/Overworld.jsx:107
+#: frontend/src/metabase/containers/Overworld.jsx:102
 msgid "Try these x-rays based on your data."
 msgstr "Wypróbuj te analizy bazujące na Twoich danych."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:35
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:36
 msgid "There was a problem displaying this chart."
 msgstr "Wystąpił problem podczas wyświetlania tego wykresu."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:36
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:37
 msgid "Sorry, you don't have permission to see this card."
 msgstr "Niestety, nie masz uprawnień, aby zobaczyć tę kartę."
 
@@ -9316,11 +9343,11 @@ msgstr "Tylko heads-up:"
 msgid "{0} without the Sample Dataset, the Query Builder tutorial won't work. You can always restore the Sample Dataset, but any questions you've saved using this data will be lost."
 msgstr "{0} bez przykładowego zestawu danych, samouczek konstruktora zapytań nie będzie działać. Zawsze można przywrócić przykładowy zestaw danych, ale wszelkie zapytania zapisane przy użyciu tych danych zostaną utracone."
 
-#: frontend/src/metabase/qb/components/drill/AutomaticDashboardDrill.jsx:33
+#: frontend/src/metabase/modes/components/drill/AutomaticDashboardDrill.jsx:33
 msgid "X-ray"
 msgstr "RTG"
 
-#: frontend/src/metabase/qb/components/drill/CompareToRestDrill.js:34
+#: frontend/src/metabase/modes/components/drill/CompareToRestDrill.js:34
 msgid "Compare to the rest"
 msgstr "Porównaj z resztą"
 
@@ -9334,11 +9361,11 @@ msgid "We suggest you leave this off unless you're doing manual timezone casting
 msgstr "Sugerujemy zostawić to, chyba że robisz ręczne mapowanie stref czasowych \n"
 "w wielu lub większości zapytań z tych danych."
 
-#: frontend/src/metabase/containers/Overworld.jsx:315
+#: frontend/src/metabase/containers/Overworld.jsx:310
 msgid "Your team's most important dashboards go here"
 msgstr "Tutaj trafiają najważniejsze pulpity Twojego zespołu"
 
-#: frontend/src/metabase/containers/Overworld.jsx:316
+#: frontend/src/metabase/containers/Overworld.jsx:311
 msgid "Pin dashboards in {0} to have them appear in this space for everyone"
 msgstr "Przypnij pulpit w {0} aby był dostępny z tego miejsca dla każdego"
 
@@ -9366,8 +9393,8 @@ msgstr "Wybierz typ waluty"
 msgid "Field Type"
 msgstr "Typ Pola"
 
-#: frontend/src/metabase/admin/routes.jsx:83
-#: frontend/src/metabase/nav/containers/Navbar.jsx:225
+#: frontend/src/metabase/admin/routes.jsx:109
+#: frontend/src/metabase/nav/containers/Navbar.jsx:224
 msgid "Troubleshooting"
 msgstr "KÅ‚opoty"
 
@@ -9379,35 +9406,35 @@ msgstr "WÅ‚Ä…cz funkcjÄ™ X-ray"
 msgid "Formatting Options"
 msgstr "Opcje formatowania"
 
-#: frontend/src/metabase/admin/tasks/containers/TaskModal.jsx:20
+#: frontend/src/metabase/admin/tasks/containers/TaskModal.jsx:19
 msgid "Task details"
 msgstr "Szczegóły zadania"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:36
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:29
 msgid "Troubleshooting logs"
 msgstr "Logi diagnostyczne"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:38
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:31
 msgid "Trying to get to the bottom of something? This section shows logs of Metabase's background tasks, which can help shed light on what's going on."
 msgstr "Próbujesz dojść do sedna czegoś? Ta sekcja pokazuje logi zadań w tle Metabase które mogą pomóc rzucić światło na to, co się dzieje."
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:63
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:56
 msgid "Task"
 msgstr "Zadanie"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:64
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:57
 msgid "DB ID"
 msgstr "DB ID"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:65
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:58
 msgid "Started at"
 msgstr "Start o"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:66
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:59
 msgid "Ended at"
 msgstr "Koniec o"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:67
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:60
 msgid "Duration (ms)"
 msgstr "Czas trwania (ms)"
 
@@ -9415,7 +9442,7 @@ msgstr "Czas trwania (ms)"
 msgid "Currency"
 msgstr "waluta"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:163
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:161
 msgid "Pick a user or channel..."
 msgstr "Wybierze użytkownika lub kanał..."
 
@@ -9592,15 +9619,15 @@ msgstr "Wskaźnik"
 msgid "Gauge ranges"
 msgstr "Zakres wskaźnika"
 
-#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:91
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:94
 msgid "Field to show"
 msgstr "Pola do pokazania"
 
-#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:118
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:121
 msgid "last {0}"
 msgstr "ostatni {0}"
 
-#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:176
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:185
 msgid "{0} was {1} {2}"
 msgstr "{0} było {1} {2}"
 
@@ -9763,19 +9790,19 @@ msgstr "UWAGA: Właściwe jest tylko określenia :pól dla zapytania bez agregac
 msgid "WARNING: Druid doenst allow limitSpec in timeseries queries. Ignoring the LIMIT clause."
 msgstr "UWAGA: Druid nie zezwala na limitSpec w zapytaniach dotyczących szeregów czasowych. Ignorowanie klauzuli LIMIT."
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql/query_processor.clj
 msgid "HoneySQL Form:"
 msgstr "Formularz HoneySQL:"
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql_jdbc/execute.clj
 msgid "Unable to parse date ''{0}''"
 msgstr "Nie można sparsować daty ''{0}''"
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql_jdbc/execute.clj
 msgid "Client closed connection, cancelling query"
 msgstr "Klient zamknął połączenie, anulowanie zapytania"
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql_jdbc/execute.clj
 msgid "Setting timezone with statement: {0}"
 msgstr "Ustawianie strefy czasowej za pomocÄ… instrukcji: {0}"
 
@@ -9860,7 +9887,7 @@ msgid "You cannot remove the last member of the ''Admin'' group!"
 msgstr "Nie możesz usunąć ostatniego członka grupy \"Admin\"!"
 
 #. go ahead and log the Exception anyway on the off chance that it *wasn't* just a race condition issue
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Error inserting a new Setting: {0}"
 msgstr "BÅ‚Ä…d podczas wstawiania nowego Ustawienia: {0}"
 
@@ -10466,7 +10493,7 @@ msgstr "Gdzie pozyskaliście swoich użytkowników"
 #: resources/automagic_dashboards/field/Number.yaml
 #: resources/automagic_dashboards/table/GenericTable.yaml
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
-msgid "How they compare across location"
+msgid "How they compare acrosss location"
 msgstr "Jak porównują różne lokalizacje"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
@@ -11177,145 +11204,1222 @@ msgstr "Miesiące, gdy [[this.short-name]] dołączyły"
 
 #: src/metabase/api/geojson.clj
 msgid "Unable to parse resource `{0}` as JSON"
-msgstr ""
+msgstr "Niemożliwe sparsowanie zasobu `{0}` jako JSON"
 
 #: src/metabase/api/geojson.clj
 msgid "Unable to find JSON via relative path `{0}`"
-msgstr ""
+msgstr "Niemożliwe odnalezienie JSON we względnej ścieżce `{0}`"
 
 #: src/metabase/api/geojson.clj
 msgid "Connection to host timed out for URL `{0}`"
-msgstr ""
+msgstr "Czas połączenia przekroczony dla URL `{0}`"
 
 #: src/metabase/api/geojson.clj
 msgid "Unable to connect to unknown host at URL `{0}`"
-msgstr ""
+msgstr "Niemożliwe połączenie z nieznanym hostem pod URL `{0}`"
 
 #: src/metabase/api/geojson.clj
 msgid "Unable to connect to host at URL `{0}`"
-msgstr ""
+msgstr "Niemożliwe połączenie hostem pod URL `{0}`"
 
 #: src/metabase/api/geojson.clj
 msgid "Connection refused by host at for URL `{0}`"
-msgstr ""
+msgstr "Połączenie odrzucone przez host pod URL `{0}`"
 
 #: src/metabase/api/geojson.clj
 msgid "Unable to retrieve resource at URL `{0}`"
-msgstr ""
+msgstr "Niemożliwe pobranie zasobu z URL `{0}`"
 
 #: src/metabase/api/geojson.clj
 msgid "Unable to parse resource at URL `{0}` as JSON"
-msgstr ""
+msgstr "Niemożliwe sparsowanie zasobu z URL `{0}` jako JSON"
 
 #: src/metabase/api/session.clj
 msgid "Problem connecting to LDAP server, will fall back to local authentication: {0}"
-msgstr ""
+msgstr "Wystąpił problem z połączeniem z serwerem LDAP, nastąpi wykorzystanie lokalnego uwierzytelnienia: {0}"
 
 #: src/metabase/driver/bigquery.clj
 msgid "BigQuery statements can''t be parameterized!"
-msgstr ""
+msgstr "Wyrażenia BigQuery nie mogą być parametryzowane!"
 
 #: src/metabase/driver/druid/query_processor.clj
 msgid "WARNING: Druid does not allow limitSpec in time series queries. Ignoring the LIMIT clause."
-msgstr ""
+msgstr "UWAGA: Druid nie pozwala na limitSpec w szeregach czasowych. Klauzula LIMIT zostanie zignorowana."
 
 #: src/metabase/driver/snowflake.clj
 msgid "Invalid Snowflake connection details: missing DB name."
-msgstr ""
+msgstr "Niepoprawna konfiguracja połączenia Snowflake: brak nazwy bazy danych."
 
 #: src/metabase/email/messages.clj
 msgid "We’d love your feedback."
-msgstr ""
+msgstr "Chętnie poznamy Twoją opinię."
 
 #: src/metabase/email/messages.clj
 msgid "It looks like Metabase wasn’t quite a match for you."
-msgstr ""
+msgstr "Wygląda na to, że Metabase nie za bardzo Ci pasuje."
 
 #: src/metabase/email/messages.clj
 msgid "Would you mind taking a fast 5 question survey to help the Metabase team understand why and make things better in the future?"
-msgstr ""
+msgstr "Co powiesz na szybką 5 minutową ankietę, która pomoże nam zrozumieć potrzeby użytkowników i lepiej rozwijać Metabase?"
 
 #: src/metabase/email/messages.clj
 msgid "We hope you''ve been enjoying Metabase."
-msgstr ""
+msgstr "Mamy nadzieję, że podoba Ci się Metabase."
 
 #: src/metabase/email/messages.clj
 msgid "Would you mind taking a fast 6 question survey to tell us how it’s going?"
-msgstr ""
+msgstr "Czy odpowiesz na krótkie 6 pytań, aby powiedzieć nam jak Ci idzie?"
 
 #: src/metabase/email/messages.clj
 msgid "{0} created a Metabase account"
-msgstr ""
+msgstr "{0} stworzył konto Metabase"
 
 #: src/metabase/email/messages.clj
 msgid "{0} accepted their Metabase invite"
-msgstr ""
+msgstr "{0} zaakceptował zaproszenie do Metabase"
 
 #: src/metabase/email/messages.clj
 msgid "[Metabase] Password Reset Request"
-msgstr ""
+msgstr "[Metabase] Żądanie Resetu Hasła"
 
 #: src/metabase/email/messages.clj
 msgid "[Metabase] Notification"
-msgstr ""
+msgstr "[Metabase] Notyfikacja"
 
 #: src/metabase/email/messages.clj
 msgid "[Metabase] Help make Metabase better."
-msgstr ""
+msgstr "[Metabase] Pomóż rozwijać Metabase."
 
 #: src/metabase/email/messages.clj
 msgid "[Metabase] Tell us how things are going."
-msgstr ""
+msgstr "[Metabase] Powiedź nam jak Ci idzie."
 
 #: src/metabase/mbql/util.clj
 msgid "Error: query''s source query has not been resolved. You probably need to `preprocess` the query first."
-msgstr ""
+msgstr "Błąd: zapytanie źródłowe zapytania nie zostało rozwiązane. Prawdopodobnie najpierw musisz \"przetworzyć\" zapytanie."
 
 #: src/metabase/models/params.clj
 msgid "Don't know what to do with:"
-msgstr ""
+msgstr "Nie wiemy co zrobić z:"
 
 #: src/metabase/models/params.clj
 msgid "Don't know how to wrap:"
-msgstr ""
+msgstr "Nie wiemy jak zawinąć:"
 
 #: src/metabase/public_settings.clj
 msgid "Failed setting `query-caching-max-kb` to {0}."
-msgstr ""
+msgstr "Nieudana zmiana `query-caching-max-kb` na {0}."
 
 #: src/metabase/public_settings.clj
 msgid "Values greater than {1} are not allowed."
-msgstr ""
+msgstr "Wartości większe niż {1} nie są dozwolone."
 
 #: src/metabase/query_processor/middleware/resolve_database.clj
 msgid "Database {0} does not exist."
-msgstr ""
+msgstr "Baza danych {0} nie istnieje."
 
 #: src/metabase/query_processor/store.clj
 msgid "Error: Database is not present in the Query Processor Store."
-msgstr ""
+msgstr "BÅ‚Ä…d: baza danych nie jest obecna w Query Processor Store."
 
 #: src/metabase/util/embed.clj
 msgid "Invalid embedding-secret-key! Secret key must be a hexadecimal-encoded 256-bit key (i.e., a 64-character string)."
-msgstr ""
+msgstr "Nieprawidłowy klucz tajny do osadzania! Klucz tajny musi być 256-bitowym kluczem zakodowanym w systemie szesnastkowym (tj. ciągiem 64-znakowym)."
 
 #: src/metabase/util/embed.clj
 msgid "JWT is missing `alg`."
-msgstr ""
+msgstr "JWT brakuje `alg`."
 
 #: src/metabase/util/embed.clj
 msgid "JWT `alg` cannot be `none`."
-msgstr ""
+msgstr "JWT `alg` nie może być `none`."
 
 #: src/metabase/util/embed.clj
 msgid "The embedding secret key has not been set."
-msgstr ""
+msgstr "Klucz tajny osadzania nie został ustawiony."
 
 #: src/metabase/util/embed.clj
 msgid "Token is missing value for keypath"
-msgstr ""
+msgstr "W tokenie brakuje wartości dla keypath."
 
 #: resources/automagic_dashboards/table/example/indepth.yaml
 msgid "In-depth example"
-msgstr ""
+msgstr "Rozbudowany przykład"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:29
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:17
+msgid "Key"
+msgstr "Klucz"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:30
+msgid "Class"
+msgstr "Klasa"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:32
+msgid "Triggers"
+msgstr "Wyzwalacz"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:48
+msgid "View triggers"
+msgstr "Zobacz wyzwalacz"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:82
+msgid "Scheduler Info"
+msgstr "Informacje o harmonogramie"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:20
+msgid "Priority"
+msgstr "Priorytet"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:21
+msgid "Last Fired"
+msgstr "Ostatnie uruchomienie"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:22
+msgid "Next Fire Time"
+msgstr "Czas następnego uruchomienia"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:23
+msgid "Start Time"
+msgstr "Czas Startu"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:24
+msgid "End Time"
+msgstr "Czas Końca"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:25
+msgid "Final Fire Time"
+msgstr "Ostateczny czas uruchomienia"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:26
+msgid "May Fire Again?"
+msgstr "Uruchomić ponownie?"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:75
+msgid "Triggers for {0}"
+msgstr "Wyzwalacze dla {0}"
+
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:25
+msgid "Tasks"
+msgstr "Czynności"
+
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:30
+msgid "Jobs"
+msgstr "Zadania"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:740
+msgid "Duplicated {0}"
+msgstr "Powielone {0}"
+
+#: frontend/src/metabase/components/EntityItem.jsx:55
+msgid "Duplicate this item"
+msgstr "Powiel ten element"
+
+#: frontend/src/metabase/components/EntityItem.jsx:61
+msgid "Archive this item"
+msgstr "Zarchiwizuj ten element"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:330
+msgid "Duplicate dashboard"
+msgstr "Powiel pulpit"
+
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:16
+msgid "Duplicate \"{0}\""
+msgstr "Powiel \"{0}\""
+
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:21
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:26
+msgid "Duplicate"
+msgstr "Powiel"
+
+#: frontend/src/metabase/lib/query_time.js:115
+msgid "Tomorrow"
+msgstr "Jutro"
+
+#: frontend/src/metabase/lib/query_time.js:129
+#: frontend/src/metabase/lib/query_time.js:143
+msgid "This {0}"
+msgstr "To {0}"
+
+#: frontend/src/metabase/lib/query_time.js:132
+msgid "Next {0}"
+msgstr "Następny {0}"
+
+#: frontend/src/metabase/lib/query_time.js:135
+msgid "Previous {0}"
+msgstr "Poprzedni {0}"
+
+#: frontend/src/metabase/lib/query_time.js:139
+msgid "Previous {0} {1}"
+msgstr "Poprzedni {0} {1}"
+
+#: frontend/src/metabase/lib/query_time.js:141
+msgid "Next {0} {1}"
+msgstr "Następny {0} {1}"
+
+#: frontend/src/metabase/lib/query_time.js:171
+msgid "Now"
+msgstr "Teraz"
+
+#: frontend/src/metabase/lib/query_time.js:174
+msgid "{0} {1} ago"
+msgstr "{0} {1} temu"
+
+#: frontend/src/metabase/lib/query_time.js:175
+msgid "{0} {1} from now"
+msgstr "{0} {1} od teraz"
+
+#: frontend/src/metabase/lib/query_time.js:187
+msgid "Default period"
+msgid_plural "Default periods"
+msgstr[0] "Domyślny okres"
+msgstr[1] "Domyślne okresy"
+msgstr[2] "Domyślne okresy"
+msgstr[3] "Domyślne okresy"
+
+#: frontend/src/metabase/lib/query_time.js:203
+msgid "Minute of hour"
+msgid_plural "Minutes of hour"
+msgstr[0] "Minuta godziny"
+msgstr[1] "Minuty godziny"
+msgstr[2] "Minuty godziny"
+msgstr[3] "Minuty godziny"
+
+#: frontend/src/metabase/lib/query_time.js:205
+msgid "Hour of day"
+msgid_plural "Hours of day"
+msgstr[0] "Godzina dnia"
+msgstr[1] "Godziny dnia"
+msgstr[2] "Godziny dnia"
+msgstr[3] "Godziny dnia"
+
+#: frontend/src/metabase/lib/query_time.js:207
+msgid "Day of week"
+msgid_plural "Days of week"
+msgstr[0] "Dzień tygodnia"
+msgstr[1] "Dni tygodnia"
+msgstr[2] "Dni tygodnia"
+msgstr[3] "Dni tygodnia"
+
+#: frontend/src/metabase/lib/query_time.js:209
+msgid "Day of month"
+msgid_plural "Days of month"
+msgstr[0] "Dzień miesiąca"
+msgstr[1] "Dni miesiÄ…ca"
+msgstr[2] "Dni miesiÄ…ca"
+msgstr[3] "Dni miesiÄ…ca"
+
+#: frontend/src/metabase/lib/query_time.js:211
+msgid "Day of year"
+msgid_plural "Days of year"
+msgstr[0] "Dzień roku"
+msgstr[1] "Dni roku"
+msgstr[2] "Dni roku"
+msgstr[3] "Dni roku"
+
+#: frontend/src/metabase/lib/query_time.js:213
+msgid "Week of year"
+msgid_plural "Weeks of year"
+msgstr[0] "Tydzień roku"
+msgstr[1] "Tygodnie roku"
+msgstr[2] "Tygodni roku"
+msgstr[3] "Tygodni roku"
+
+#: frontend/src/metabase/lib/query_time.js:215
+msgid "Month of year"
+msgid_plural "Months of year"
+msgstr[0] "MiesiÄ…c roku"
+msgstr[1] "MiesiÄ…ce roku"
+msgstr[2] "Miesięcy roku"
+msgstr[3] "Miesięcy roku"
+
+#: frontend/src/metabase/lib/query_time.js:217
+msgid "Quarter of year"
+msgid_plural "Quarters of year"
+msgstr[0] "Kwartał roku"
+msgstr[1] "Kwartały roku"
+msgstr[2] "Kwartałów roku"
+msgstr[3] "Kwartałów roku"
+
+#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:62
+#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:58
+#: frontend/src/metabase/query_builder/components/Filter.jsx:79
+msgid "{0} selection"
+msgid_plural "{0} selections"
+msgstr[0] "{0} wybór"
+msgstr[1] "{0} wybory"
+msgstr[2] "{0} wyborów"
+msgstr[3] "{0} wyborów"
+
+#: frontend/src/metabase/parameters/components/widgets/DateQuarterYearWidget.jsx:11
+msgid "[Q]Q"
+msgstr "[Q]Q"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:28
+msgid "This"
+msgstr "To"
+
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:64
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:96
+msgid "Invalid"
+msgstr "Niepoprawne"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/SpecificDatePicker.jsx:147
+msgid "Add a time"
+msgstr "Dodaj czas"
+
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:170
+msgid "Nothing to compare for the previous {0}."
+msgstr "Nic do porównania dla poprzedniego {0}."
+
+#: frontend/src/metabase-lib/lib/Dimension.js:517
+msgid "by {0}"
+msgstr "przez {0}"
+
+#: src/metabase/api/database.clj
+msgid "value must be a valid database engine."
+msgstr "wartość musi być prawidłowym silnikiem bazy danych."
+
+#: src/metabase/api/geojson.clj
+msgid "Connection refused by host for URL `{0}`"
+msgstr "Połączenie odrzucone przez host dla adresu URL `{0}`"
+
+#: src/metabase/db.clj
+msgid "Warning: Postgres connection string with `ssl=true` detected."
+msgstr "Ostrzeżenie: Wykryto ciąg połączenia Postgres z `ssl = true`."
+
+#: src/metabase/db.clj
+msgid "You may need to add `?sslmode=require` to your application DB connection string."
+msgstr "Może być konieczne dodanie `? Sslmode = require` do połączenia DB aplikacji."
+
+#: src/metabase/db.clj
+msgid "If Metabase fails to launch, please add it and try again."
+msgstr "Jeśli uruchomienie Metabase nie powiedzie się, dodaj ją i spróbuj ponownie."
+
+#: src/metabase/db.clj
+msgid "See https://github.com/metabase/metabase/issues/8908 for more details."
+msgstr "Zobacz https://github.com/metabase/metabase/issues/8908, aby uzyskać więcej informacji."
+
+#: src/metabase/db.clj
+msgid "WARNING: Using Metabase with an H2 application database is not recomended for production deployments."
+msgstr "OSTRZEŻENIE: Używanie Metabase z bazą danych H2 nie jest zalecane dla wdrożeń produkcyjnych."
+
+#: src/metabase/db.clj
+msgid "For production deployments, we highly recommend using Postgres, MySQL, or MariaDB instead."
+msgstr "W przypadku wdrożeń produkcyjnych zalecamy używanie Postgres, MySQL lub MariaDB."
+
+#: src/metabase/db.clj
+msgid "If you decide to continue to use H2, please be sure to back up the database file regularly."
+msgstr "Jeśli zdecydujesz się nadal korzystać z H2, pamiętaj o regularnym tworzeniu kopii zapasowej pliku bazy danych."
+
+#: src/metabase/db.clj
+msgid "See https://metabase.com/docs/latest/operations-guide/start.html#migrating-from-using-the-h2-database-to-mysql-or-postgres for more information."
+msgstr "Więcej informacji można znaleźć na stronie https://metabase.com/docs/latest/operations-guide/start.html#migrating-from-ting-the-h2-database-to-mysql-or-postgres."
+
+#: src/metabase/db.clj
+msgid "Unable to connect to Metabase {0} DB."
+msgstr "Nie można połączyć się z bazą danych Metabase {0}."
+
+#: src/metabase/db/migrations.clj
+msgid "Error adding legacy SQL directive to BigQuery saved Question"
+msgstr "BÅ‚Ä…d podczas dodawania starszej dyrektywy SQL do zapisanego zapytania BigQuery "
+
+#: src/metabase/driver.clj
+msgid "Failed to notify {0} Database {1} updated"
+msgstr "Nie udało się powiadomić {0} baza danych {1} zaktualizowana"
+
+#: src/metabase/driver.clj
+msgid "Loading driver {0} {1}"
+msgstr "Ładowanie sterownika {0} {1}"
+
+#: src/metabase/driver.clj
+msgid "Load driver {0}"
+msgstr "Załaduj sterownik {0}"
+
+#: src/metabase/driver.clj
+msgid "Driver not registered after loading: {0}"
+msgstr "Sterownik nie został zarejestrowany po załadowaniu: {0}"
+
+#: src/metabase/driver.clj
+msgid "Error: attempting to change {0} property `:abstract?` from {1} to {2}."
+msgstr "Błąd: próba zmiany właściwości {0} `: abstract?` z {1} na {2}."
+
+#: src/metabase/driver.clj
+msgid "Registered abstract driver {0}"
+msgstr "Zarejestrowany abstrakcyjny sterownik {0}"
+
+#: src/metabase/driver.clj
+msgid "Registered driver {0}"
+msgstr "Registered driver {0}"
+
+#: src/metabase/driver.clj
+msgid "(parents: {0})"
+msgstr "(rodzice: {0})"
+
+#: src/metabase/driver.clj
+msgid "Initializing driver {0}..."
+msgstr "inicjowanie sterownika {0} ..."
+
+#: src/metabase/driver.clj
+msgid "Reason:"
+msgstr "Przyczyna:"
+
+#: src/metabase/driver.clj
+msgid "Invalid driver feature: {0}"
+msgstr "Nieprawidłowa funkcja sterownika: {0}"
+
+#: src/metabase/driver/sql/query_processor.clj
+msgid "Invalid HoneySQL form:"
+msgstr "Nieprawidłowy formularz HoneySQL:"
+
+#: src/metabase/driver/sql_jdbc/connection.clj
+msgid "Closing connection pool for database {0} ..."
+msgstr "Closing connection pool for database {0} .."
+
+#: src/metabase/driver/util.clj
+msgid "Error loading namespace"
+msgstr "BÅ‚Ä…d podczas Å‚adowania przestrzeni nazw"
+
+#: src/metabase/events.clj
+msgid "Starting events listener:"
+msgstr "Rozpoczynanie nasłuchiwania zdarzeń:"
+
+#: src/metabase/events.clj
+msgid "Unexpected error listening on events"
+msgstr "Nieoczekiwany błąd podczas nasłuchania zdarzeń"
+
+#: src/metabase/events/sync_database.clj
+msgid "Error syncing Database {0}"
+msgstr "BÅ‚Ä…d synchronizacji bazy danych {0}"
+
+#: src/metabase/events/sync_database.clj
+msgid "Failed to process sync-database event."
+msgstr "Nie można przetworzyć zdarzenia synchronizacji bazy danych."
+
+#: src/metabase/mbql/util.clj
+msgid "Bad nested-query-level: query does not have a source query"
+msgstr "Zły nested-query-level:: zapytanie nie ma zapytania źródłowego"
+
+#: src/metabase/metabot/command.clj
+msgid "I don''t know how to `{0}`."
+msgstr "Nie wiem, jak `{0}`."
+
+#: src/metabase/metabot/command.clj
+msgid "Here''s what I can do: "
+msgstr "Oto co mogę zrobić: "
+
+#: src/metabase/metabot/slack.clj
+msgid "Error in Metabot command"
+msgstr "BÅ‚Ä…d w komendzie Metabot"
+
+#: src/metabase/metabot/websocket.clj
+msgid "Websocket associated with this Slack event is different from the websocket we're currently using."
+msgstr "Websocket powiązany z tym wydarzeniem Slack różni się od tego, którego aktualnie używamy."
+
+#: src/metabase/models/field_values.clj
+msgid "FieldValues for Field {0} remain unchanged. Skipping..."
+msgstr "Wartości pola dla pola {0} pozostają niezmienione. Pomijam..."
+
+#: src/metabase/models/interface.clj
+msgid "Unable to normalize:"
+msgstr "Nie można znormalizować:"
+
+#: src/metabase/models/params.clj
+msgid "Could not find matching Field ID for target:"
+msgstr "Nie można znaleźć zgodnego Field ID dla celu:"
+
+#: src/metabase/plugins.clj
+msgid "Metabase does not have permissions to write to plugins directory {0}"
+msgstr "Metabase nie ma uprawnień do zapisu do katalogu wtyczek {0}"
+
+#: src/metabase/plugins.clj
+msgid "Metabase cannot use the plugins directory {0}"
+msgstr "Matabase nie może używać katalogu wtyczek {0}"
+
+#: src/metabase/plugins.clj
+msgid "Please make sure the directory exists and that Metabase has permission to write to it."
+msgstr "Upewnij się, że katalog istnieje i że Metabase ma uprawnienia do zapisu."
+
+#: src/metabase/plugins.clj
+msgid "You can change the directory Metabase uses for modules by setting the environment variable MB_PLUGINS_DIR."
+msgstr "Możesz zmienić katalog, którego Metabase używa dla modułów, ustawiając zmienną środowiskową MB_PLUGINS_DIR."
+
+#: src/metabase/plugins.clj
+msgid "Falling back to a temporary directory for now."
+msgstr "Na razie wracam do katalogu tymczasowego."
+
+#: src/metabase/plugins.clj
+msgid "Metabase cannot write to temporary directory. Please set MB_PLUGINS_DIR to a writable directory and restart Metabase."
+msgstr "Metabase nie może zapisywać do katalogu tymczasowego. Ustaw MB_PLUGINS_DIR na zapisywalny katalog i zrestartuj Metabase"
+
+#: src/metabase/plugins.clj
+msgid "spark-deps.jar is no longer needed by Metabase 1.0+. You can delete it from the plugins directory."
+msgstr "spark-deps.jar nie jest już wymagany przez Metabase 1.0+. Możesz usunąć go z katalogu wtyczek."
+
+#: src/metabase/plugins.clj
+msgid "Failied to initialize plugin {0}"
+msgstr "Nie można zainicjować wtyczki {0}"
+
+#: src/metabase/plugins.clj
+msgid "Loading plugins in {0}..."
+msgstr "Ładowanie wtyczek w {0} ..."
+
+#: src/metabase/plugins/classloader.clj
+msgid "Using Clojure base loader as shared context classloader: {0}"
+msgstr "Używanie programu ładującego Clojure jako współdzielonego programu ładującego kontekst: {0}"
+
+#: src/metabase/plugins/classloader.clj
+msgid "Setting current thread context classloader to shared classloader {0}..."
+msgstr "Ustawianie bieżącego programu ładującego kontekst wątków na współużytkowany program ładujący klasy {0} ..."
+
+#. it's important that we deref the promise again here instead of using the one we just created because it is
+#. possible thru a race condition that somebody else delivered the promise before we did; in that case,
+#. Clojure ignores subsequent calls to `deliver`. Dereffing the promise guarantees that we'll get the actual
+#. value of it rather than one that ends up getting discarded
+#: src/metabase/plugins/classloader.clj
+msgid "Setting current thread context classloader to NEWLY CREATED classloader {0}..."
+msgstr "Ustawienie aktualnego programu Å‚adujÄ…cego kontekst wÄ…tku na NEWLY CREATED classloader {0} ..."
+
+#: src/metabase/plugins/classloader.clj
+msgid "Added URL {0} to classpath"
+msgstr "Dodano adres URL {0} do ścieżki klasy"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugin {0} declares a dependency that Metabase does not understand: {1}"
+msgstr "Wtyczka {0} deklaruje zależność, której Metabase nie rozumie: {1}"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Refer to the plugin manifest reference for a complete list of valid plugin dependencies:"
+msgstr "Pełna lista poprawnych wtyczek znajduje się w odnośniku do manifestu wtyczki:"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Metabase cannot initialize plugin {0} due to required dependencies."
+msgstr "Metabase nie może zainicjować wtyczki {0} z powodu wymaganych zależności."
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Class not found: {0}"
+msgstr "Nie znaleziono klasy: {0}"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugin ''{0}'' depends on plugin ''{1}''"
+msgstr "Wtyczka \"{0}\" zależy od wtyczki \"{1}\""
+
+#: src/metabase/plugins/dependencies.clj
+msgid "{0} dependency {1} satisfied? {2}"
+msgstr "{0} zależności {1} zadowolony? {2}"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugins with unsatisfied deps: {0}"
+msgstr "Wtyczki z niezadowalającymi zależnościami: {0}"
+
+#: src/metabase/plugins/files.clj
+msgid "Extract file {0} -> {1}"
+msgstr "Wyodrębnij plik {0} -> {1}"
+
+#: src/metabase/plugins/files.clj
+msgid "Resource does not exist."
+msgstr "Zasób nie istnieje."
+
+#: src/metabase/plugins/init_steps.clj
+msgid "Loading plugin namespace {0}..."
+msgstr "Ładowanie przestrzeni nazw wtyczek {0} ..."
+
+#: src/metabase/plugins/initialize.clj
+msgid "Dependencies satisfied; these plugins will now be loaded: {0}"
+msgstr "Zależności spełnione; te wtyczki zostaną teraz załadowane: {0}"
+
+#: src/metabase/plugins/jdbc_proxy.clj
+msgid "Registering JDBC proxy driver for {0}..."
+msgstr "Rejestrowanie sterownika proxy JDBC dla {0} ..."
+
+#: src/metabase/plugins/jdbc_proxy.clj
+msgid "Deregistering original JDBC driver {0}..."
+msgstr "Wyrejestrowanie oryginalnego sterownika JDBC {0} ..."
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Default connection property {0} does not exist."
+msgstr "Domyślna właściwość połączenia {0} nie istnieje."
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Invalid connection property {0}: not a string or map."
+msgstr "Nieprawidłowa właściwość połączenia {0}: nie łańcuch lub mapa"
+
+#. ok, do the init steps listed in the plugin mainfest
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Load lazy loading driver {0}"
+msgstr "Załaduj sterownik lazy loading {0}"
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Cannot initialize plugin: missing required property `driver-name`"
+msgstr "Nie można zainicjować wtyczki: brak wymaganej właściwości `driver-name`"
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Warning: plugin manifest for {0} does not include connection properties"
+msgstr "Ostrzeżenie: manifest wtyczki dla {0} nie zawiera właściwości połączenia"
+
+#. finally, register the Metabase driver
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Registering lazy loading driver {0}..."
+msgstr "Rejestrowanie sterownika lazy loading {0}"
+
+#: src/metabase/pulse.clj
+msgid "Error running query for Card {0}"
+msgstr "BÅ‚Ä…d podczas uruchamiania zapytania o KartÄ™ {0}"
+
+#: src/metabase/pulse/render.clj
+msgid "Last week"
+msgstr "Ostatni tydzień"
+
+#: src/metabase/pulse/render.clj
+msgid "This week"
+msgstr "Ten tydzień"
+
+#: src/metabase/pulse/render.clj
+msgid "Last month"
+msgstr "Ostatni miesiÄ…c"
+
+#: src/metabase/pulse/render.clj
+msgid "This month"
+msgstr "Ten miesiÄ…c"
+
+#: src/metabase/pulse/render.clj
+msgid "Last quarter"
+msgstr "Ostatni kwartał"
+
+#: src/metabase/pulse/render.clj
+msgid "This quarter"
+msgstr "Ten kwartał"
+
+#: src/metabase/pulse/render.clj
+msgid "Last year"
+msgstr "Ostatni rok"
+
+#: src/metabase/pulse/render.clj
+msgid "This year"
+msgstr "Ten rok"
+
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "*driver* is unbound."
+msgstr "*driver* jest niezwiazany."
+
+#: src/metabase/sync/sync_metadata/fields.clj
+msgid "Error syncing Fields for Table ''{0}''"
+msgstr "Błąd synchronizacji pól dla tabeli „{0}”"
+
+#: src/metabase/sync/sync_metadata/fields.clj
+msgid "Hash of {0} matches stored hash, skipping Fields sync"
+msgstr "Hash {0} pasuje do przechowywanego skrótu, synchronizacja Pól pomijana"
+
+#: src/metabase/sync/sync_metadata/fields/common.clj
+msgid "Field"
+msgstr "Pole"
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Error checking if Fields {0} need to be created or reactivated"
+msgstr "Błąd podczas sprawdzania, czy Pola {0} muszą zostać utworzone lub ponownie aktywowane"
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Marking Field ''{0}'' as inactive."
+msgstr "Pole ''{0} '' oznaczane jako nieaktywne."
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Error retiring {0}"
+msgstr "BÅ‚Ä…d wycofania {0}"
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Database type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr "Typ bazy danych {0} zmienił się z '' {1} '' na '' {2} ''."
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Base type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr "Typ bazy {0} zmienił się z '' {1} '' na '' {2} ''."
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Special type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr "Specjalny typ {0} zmienił się z '' {1} '' na '' {2} ''."
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Comment has been added for {0}."
+msgstr "Dodano komentarz dla {0}."
+
+#: src/metabase/task.clj
+msgid "Stopping Quartz Scheduler {0}"
+msgstr "Zatrzymywanie Quartz Scheduler {0}"
+
+#: src/metabase/task.clj
+msgid "Starting Quartz Scheduler {0}"
+msgstr "Startowanie Quartz Schedule {0}"
+
+#: src/metabase/task.clj
+msgid "Error loading tasks namespace {0}"
+msgstr "Błąd podczas ładowania przestrzeni nazw zadań {0}"
+
+#. don't bother logging namespace for now, maybe in the future if there's tasks of the same name in multiple
+#. namespaces we can log it
+#: src/metabase/task.clj
+msgid "Initializing task {0}"
+msgstr "Inicjowanie zadania {0}"
+
+#: src/metabase/task.clj
+msgid "Error initializing task {0}"
+msgstr "BÅ‚Ä…d inicjowania zadania {0}"
+
+#: src/metabase/task/follow_up_emails.clj
+msgid "Problem sending abandonment email"
+msgstr "Problem z wysłaniem wiadomości e-mail o porzuceniu"
+
+#: src/metabase/task/send_anonymous_stats.clj
+msgid "Sending anonymous usage stats."
+msgstr "Wysyłanie anonimowych statystyk użytkowania."
+
+#: src/metabase/task/send_anonymous_stats.clj
+msgid "Error sending anonymous usage stats"
+msgstr "Błąd wysyłania anonimowych statystyk użytkowania"
+
+#: src/metabase/task/send_pulses.clj
+msgid "Error sending Pulse {0}"
+msgstr "Błąd podczas wysyłania Pulsu {0}"
+
+#: src/metabase/task/send_pulses.clj
+msgid "Sending scheduled pulses..."
+msgstr "Wysyłanie zaplanowanych Pulsów ..."
+
+#: src/metabase/task/send_pulses.clj
+msgid "SendPulses task failed"
+msgstr "Zadanie SendPulses nie powiodło się"
+
+#: src/metabase/task/sync_databases.clj
+msgid "Failed to scheduler tasks for Database {0}"
+msgstr "Nie można zaplanować zadań dla bazy danych {0}"
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Cleaning up task history"
+msgstr "Czyszczenie historii zadań"
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Task history cleanup successful, rows were deleted"
+msgstr "Pomyślne czyszczenie historii zadań, wiersze zostały usunięte"
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Task history cleanup successful, no rows were deleted"
+msgstr "Pomyślne czyszczenie historii zadań, żadne wiersze nie zostały usunięte"
+
+#: src/metabase/task/upgrade_checks.clj
+msgid "Checking for new Metabase version info."
+msgstr "Sprawdzanie informacji o nowej wersji Metabase."
+
+#: src/metabase/task/upgrade_checks.clj
+msgid "Error fetching version info"
+msgstr "BÅ‚Ä…d pobierania informacji o wersji"
+
+#: src/metabase/util.clj
+msgid "Maximum memory available to JVM: {0}"
+msgstr "Maksymalna pamięć dostępna dla maszyny JVM: {0}"
+
+#: src/metabase/util.clj
+msgid "Not something with an ID: {0}"
+msgstr "CoÅ› nie tak z ID {0}"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by month of the year"
+msgstr "[[CreateDate]] według miesiąca roku"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Here's a quick look at your [[this]]"
+msgstr "Oto krótkie spojrzenie na [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by hour of the day"
+msgstr "[[CreateTimestamp]] według godziny dnia"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Where you've acquired your users"
+msgstr "Gdzie zdobyłeś swoich użytkowników"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How it's distributed across time and other categories."
+msgstr "Jak jest dystrybuowany w czasie i innych kategoriach."
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Here's a closer look at your [[this]] per source"
+msgstr "Oto bliższe spojrzenie na [[this]] per źródło"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "Here's a quick look at the [[this]]"
+msgstr "Oto krótkie spojrzenie na [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by day of the month"
+msgstr "[[CreateTimestamp]] według dnia miesiąca"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Here's an overview of the people in your [[this]]"
+msgstr "Oto przegląd osób w [[this]]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by quarter of the year"
+msgstr "[[CreateTimestamp]] według kwartału roku"
+
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How they compare across location"
+msgstr "Jak porównują pomiędzy lokalizacjami"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "Here's a closer look at your [[this]] by products"
+msgstr "Przyjrzyj się bliżej [[this]] według produktów"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by month of the year"
+msgstr "[[CreateTimestamp]] według miesiąca w roku"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "An overview of your [[this]] and how it's distributed across time, place, and categories."
+msgstr "PrzeglÄ…d [[this]] i sposobu jego dystrybucji w czasie, miejscu i kategoriach."
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/question/GenericQuestion.yaml
+msgid "Here's a closer look at your [[this]]"
+msgstr "Oto bliższe spojrzenie na [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by day of the week"
+msgstr "[[CreateTimestamp]] według dnia w miesiącu"
 
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Here's an overview of your [[this]] data from Google Analytics"
+msgstr "Oto przeglÄ…d danych [[this]] z Google Analytics"
+
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+#: resources/automagic_dashboards/comparison/State.yaml
+#: resources/automagic_dashboards/comparison/FK.yaml
+#: resources/automagic_dashboards/comparison/Country.yaml
+#: resources/automagic_dashboards/comparison/GenericField.yaml
+msgid "Here's an overview of your [[this]]"
+msgstr "Oto przeglÄ…d twoich [[this]]"
+
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "Here's a closer look at your [[this]] field"
+msgstr "Przyjrzyj się bliżej twojemu [[this]] polu"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Here's a closer look at your [[this]] per country"
+msgstr "Oto bliższe spojrzenie na [[this]] według kraju"
+
+#: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
+msgid "If you're into correlations, this is the x-ray for you."
+msgstr "Jeśli jesteś w korelacji, ten x-ray jest to dla ciebie "
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by day of the week"
+msgstr "[[CreateDate]] według dnia tygodnia"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "It looks like your [[this]] has transactions, so here's a look at them"
+msgstr "Wygląda na to, że [[this]] ma transakcje, więc spójrz na nie"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Here's a closer look at your [[this]] per state"
+msgstr "Oto bliższe spojrzenie na [[this]] według stanu"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by day of the month"
+msgstr "[[CreateDate]] według dnia miesiąca"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTime]] by hour of the day"
+msgstr "[[CreateTime]] według godziny dnia"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Here's a closer look at your [[this]] over time"
+msgstr "Oto bliższe spojrzenie na [[this]] w czasie"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by quarter of the year"
+msgstr "[[CreateDate]] według kwartału roku"
+
+#: frontend/src/metabase/admin/people/containers/EditUserModal.jsx:12
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:200
+msgid "Edit user"
+msgstr "Edytuj użytkownika"
+
+#: frontend/src/metabase/admin/people/containers/NewUserModal.jsx:13
+msgid "New user"
+msgstr "Nowy użytkownik"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:204
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:69
+msgid "Reset password"
+msgstr "Zresetuj hasło"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:209
+msgid "Deactivate user"
+msgstr "Dezaktywuj użytkownika"
+
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:47
+msgid "Reactivate {0}?"
+msgstr "Aktywuj ponownie {0}?"
+
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:63
+msgid "We couldn’t send them an email invitation, so make sure to tell them to log in using {0} and this password we’ve generated for them:"
+msgstr "Nie mogliśmy wysłać im zaproszenia e-mailowego, więc poinformuj ich, aby zalogowali się przy użyciu {0} i wygenerowanego hasła:"
+
+#: frontend/src/metabase/entities/collections.js:21
+msgid "collection"
+msgstr "kolekcja"
+
+#: frontend/src/metabase/entities/collections.js:22
+msgid "collections"
+msgstr "kolekcje"
+
+#: frontend/src/metabase/entities/dashboards.js:29
+msgid "dashboard"
+msgstr "pulpit"
+
+#: frontend/src/metabase/entities/dashboards.js:30
+msgid "dashboards"
+msgstr "pulpity"
+
+#: frontend/src/metabase/entities/users.js:125
+msgid "First name is required"
+msgstr "Pierwsze imiÄ™ jest wymagane"
+
+#: frontend/src/metabase/entities/users.js:126
+#: frontend/src/metabase/entities/users.js:133
+msgid "Must be 100 characters or less"
+msgstr "Musi mieć co najmniej 100 znaków"
+
+#: frontend/src/metabase/entities/users.js:132
+msgid "Last name is required"
+msgstr "Nazwisko jest wymagane"
+
+#: frontend/src/metabase/entities/users.js:138
+msgid "Email is required"
+msgstr "email jest wymagany"
+
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:90
+msgid "Items you archive will appear here."
+msgstr "Zarchiwizowane elementy pojawiÄ… siÄ™ tutaj."
+
+#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:16
+msgid "No description"
+msgstr "Bez opisu"
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:175
+msgid "Sum of all values"
+msgstr "Suma wszystkich wartości"
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:183
+msgid "See all distinct values"
+msgstr "Zobacz wszystkie unikalne wartości"
+
+#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:12
+msgid "Browse the contents of your databases, tables, and columns. Pick a database to get started"
+msgstr "Przeglądaj zawartość baz danych, tabel i kolumn. Wybierz bazę danych, aby rozpocząć"
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is VALID. Thanks!"
+msgstr "Metadane wyników kart przekazane do API są POPRAWNE. Dzięki!"
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is INVALID. Running query to fetch correct metadata."
+msgstr "Metadane wyników kart przekazane do API są NIEPOPRAWNE. Uruchamianie zapytania w celu pobrania poprawnych metadanych."
+
+#. in eg - there is lack of M in ISSING?
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is  ISSING. Running query to fetch correct metadata."
+msgstr "Brak metadanych wyników kart przekazanych do interfejsu API. Uruchamianie zapytania w celu pobrania poprawnych metadanych."
+
+#: src/metabase/api/email.clj
+msgid "{0} was autocorrected to {1}"
+msgstr "{0} zostało automatycznie poprawione do {1}"
+
+#: src/metabase/api/metric.clj
+msgid "DELETE /api/metric/:id is deprecated. Instead, change its `archived` value via PUT /api/metric/:id."
+msgstr "DELETE /api/metric/:id jest przestarzałe. Zamiast tego zmień jego wartość `archived` przez PUT /api/metric/:id."
+
+#: src/metabase/api/segment.clj
+msgid "DELETE /api/segment/:id is deprecated. Instead, change its `archived` value via PUT /api/segment/:id."
+msgstr "DELETE / api/segment/:id jest przestarzałe. Zamiast tego zmień jego wartość `archived` przez PUT /api/segment/:id."
+
+#: src/metabase/api/user.clj
+msgid "Value of is_superuser must correspond to presence of Admin group ID in group_ids."
+msgstr "Wartość is_superuser musi odpowiadać obecności Admin group ID w group_ids."
+
+#: src/metabase/async/api_response.clj
+msgid "Unexpected error writing keepalive characters"
+msgstr "Nieoczekiwany błąd podczas pisania stałych znaków"
+
+#: src/metabase/async/api_response.clj
+msgid "Unexpected output in async API response"
+msgstr "Nieoczekiwane wyjście w odpowiedzi asynchronicznej API "
+
+#: src/metabase/async/api_response.clj
+msgid "starting streaming response"
+msgstr "rozpoczęcie przesyłania strumieniowego"
+
+#: src/metabase/async/api_response.clj
+msgid "Output chan closed, canceling keepalive request."
+msgstr "Wyjście chan zamknięte, anulowanie żądania keepalive."
+
+#: src/metabase/async/api_response.clj
+msgid "Async response finished, closing channels."
+msgstr "Odpowiedź asynchroniczna zakończona, zamykanie kanałów."
+
+#: src/metabase/async/api_response.clj
+msgid "No response after waiting {0}. Canceling request."
+msgstr "Brak odpowiedzi po oczekiwaniu {0}. Anulowanie żądania."
+
+#: src/metabase/async/api_response.clj
+msgid "Input channel unexpectedly closed."
+msgstr "Kanał wejściowy niespodziewanie zamknięty."
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "f finished, permit will be returned"
+msgstr "jeśli zakończone, pozwolenie zostanie zwrócone"
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "request canceled, permit will be returned"
+msgstr "żądanie anulowane, pozwolenie zostanie zwrócone"
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Unexpected error attempting to run function after obtaining permit"
+msgstr "Nieoczekiwany błąd podczas próby uruchomienia funkcji po uzyskaniu zezwolenia"
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Not running pending function call: output channel already closed."
+msgstr "Nie działa oczekujące wywołanie funkcji: kanał wyjściowy jest już zamknięty."
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Current thread already has a permit for {0}, will not wait to acquire another"
+msgstr "Bieżący wątek ma już pozwolenie na {0}, nie będzie czekał na zdobycie kolejnego"
+
+#: src/metabase/async/util.clj
+msgid "Output channel closed, will skip running {0}."
+msgstr "Zamknięty kanał wyjściowy, pominie działanie {0}."
+
+#: src/metabase/async/util.clj
+msgid "Running {0} on separate thread..."
+msgstr "Uruchomiony {0} w osobnym wÄ…tku ..."
+
+#: src/metabase/async/util.clj
+msgid "Caught error running {0}"
+msgstr "Uruchomiony błąd podczas działania {0}"
+
+#: src/metabase/async/util.clj
+msgid "Request canceled, canceling future"
+msgstr "Żądanie anulowane, anulowanie przyszłości"
+
+#: src/metabase/driver/sql_jdbc/connection.clj
+msgid "Closing old connection pool for database {0} ..."
+msgstr "Zamykanie starej puli połączeń dla bazy danych {0} ..."
+
+#: src/metabase/metabot/command.clj
+msgid "Here''s your {0} most recent cards:"
+msgstr "Oto twoje {0} najnowsze karty:"
+
+#: src/metabase/metabot/command.clj
+msgid "Could you be a little more specific, or use the ID? I found these cards with names that matched:"
+msgstr "Czy możesz być trochę bardziej szczegółowy lub użyć ID? Znalazłem te karty o dopasowanych nazwach:"
+
+#: src/metabase/metabot/command.clj
+msgid "Card {0} not found."
+msgstr "Nie znaleziono karty {0}."
+
+#: src/metabase/middleware/exceptions.clj
+msgid "Exception in API call"
+msgstr "Wyjątek w wywołaniu API"
+
+#: src/metabase/middleware/exceptions.clj
+msgid "Request canceled before finishing."
+msgstr "Żądanie anulowane przed zakończeniem."
+
+#: src/metabase/middleware/json.clj
+msgid "Metabase only supports JSON requests."
+msgstr "Metabase obsługuje tylko żądania JSON."
+
+#: src/metabase/middleware/json.clj
+msgid "Make sure you set a 'Content-Type: application/json' header."
+msgstr "Upewnij się, że ustawiłeś nagłówek 'Content-Type: application/json'."
+
+#: src/metabase/middleware/misc.clj
+msgid "Setting Metabase site URL to {0}"
+msgstr "Ustawianie adresu URL witryny Metabase na {0}"
+
+#: src/metabase/models/database.clj
+msgid "Error scheduling tasks for DB"
+msgstr "Błąd planowania zadań dla DB"
+
+#: src/metabase/models/database.clj
+msgid "Error unscheduling tasks for DB."
+msgstr "Błąd zdeplanowania zadań dla DB."
+
+#: src/metabase/models/database.clj
+msgid "{0} Database ''{1}'' sync/analyze schedules have changed!"
+msgstr "{0} DB ''{1}'' harmonogram sync/analyze został zmieniony!"
+
+#: src/metabase/models/database.clj
+msgid "Sync metadata was: ''{0}'' is now: ''{1}''"
+msgstr "Synchronizacja metadanych była: ''{0}'' jest teraz: ''{1}''"
+
+#: src/metabase/models/database.clj
+msgid "Cache FieldValues was: ''{0}'', is now: ''{1}''"
+msgstr "Cache FieldValues był: ''{0}'', jest teraz: ''{1}''"
+
+#: src/metabase/models/metric.clj
+msgid "You cannot update the creator_id of a Metric."
+msgstr "Nie możesz zaktualizować creator_id Metryki"
+
+#: src/metabase/models/permissions.clj
+msgid "MetaBot can only have Collection permissions."
+msgstr "MetaBot może mieć tylko uprawnienia do Kolekcji"
+
+#: src/metabase/models/permissions.clj
+msgid "Failed to grant permissions"
+msgstr "Nie można przyznać uprawnień"
+
+#: src/metabase/models/permissions.clj
+msgid "Changing permissions"
+msgstr "Zmiana uprawnień"
+
+#: src/metabase/models/permissions.clj
+msgid "FROM:"
+msgstr "OD:"
+
+#: src/metabase/models/permissions.clj
+msgid "TO:"
+msgstr "DO:"
+
+#: src/metabase/models/segment.clj
+msgid "You cannot update the creator_id of a Segment."
+msgstr "Nie można zaktualizować creator_id Segmentu."
+
+#: src/metabase/models/setting.clj
+msgid "Attempted to set Setting {0} to obfuscated value. Ignoring change."
+msgstr "Próbowano ustawić ustawienie {0} na wartość zaciemnioną. Ignorowanie zmiany."
+
+#: src/metabase/models/setting.clj
+msgid "Using value of env var {0}"
+msgstr "Używanie wartości env var {0}"
+
+#: src/metabase/models/user.clj
+msgid "Adding User {0} to All Users permissions group..."
+msgstr "Dodawanie użytkownika {0} do grupy uprawnień All Users ..."
+
+#: src/metabase/models/user.clj
+msgid "Adding User {0} to Admin permissions group..."
+msgstr "Dodawanie użytkownika {0} do grupy uprawnień Admin  ..."
+
+#: src/metabase/query_processor.clj
+msgid "Query failure"
+msgstr "BÅ‚Ä…d zapytania"
+
+#: src/metabase/query_processor/async.clj
+msgid "Maximum number of simultaneous queries to allow per connected Database."
+msgstr "Maksymalna liczba równoczesnych zapytań umożliwiających połączenie z bazą danych."
+
+#: src/metabase/util.clj
+msgid "Timed out after {0} milliseconds."
+msgstr "Przekroczono limit czasu po {0} milisekundach."
diff --git a/locales/pt.po b/locales/pt.po
index 3c2c0211695152fdf81b2e171216a9264cdcc888..70a3c41660f05d5e998384f3e15762096361cc53 100644
--- a/locales/pt.po
+++ b/locales/pt.po
@@ -14,7 +14,7 @@ msgstr "Seu banco de dados foi adicionado!"
 
 #: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:28
 msgid "We took a look at your data, and we have some automated explorations that we can show you!"
-msgstr "Analisamos seus dados e temos algumas explorações automatizadas  que podemos mostrar para você!"
+msgstr "Analisamos seus dados e temos algumas explorações automatizadas que podemos mostrar para você!"
 
 #: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:35
 msgid "I'm good thanks"
@@ -56,9 +56,7 @@ msgstr "Sincronizando Banco de Dados"
 msgid "This is a lightweight process that checks for\n"
 "updates to this database’s schema. In most cases, you should be fine leaving this\n"
 "set to sync hourly."
-msgstr "Este é um processo rápido que procura \n"
-"atualizações para o esquema deste banco de dados. Na maior parte dos casos, tudo bem você deixar isso \n"
-"configurado para sincronizar a cada hora."
+msgstr "Este é um processo rápido que procura atualizações no esquema deste banco de dados. Na maior parte dos casos, tudo bem você deixar isso configurado para sincronizar de hora em hora."
 
 #: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:147
 #: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:184
@@ -74,10 +72,8 @@ msgid "Metabase can scan the values present in each\n"
 "field in this database to enable checkbox filters in dashboards and questions. This\n"
 "can be a somewhat resource-intensive process, particularly if you have a very large\n"
 "database."
-msgstr "Metabase pode digitalizar os valores presentes em cada \n"
-"campo neste banco de dados para ativar filtros checkbox em painéis e perguntas. Isso \n"
-"Pode ser um processo que consome muitos recursos, especialmente se você tiver um \n"
-"grande banco de dados."
+msgstr "Metabase pode varrer os valores presentes em cada \n"
+"campo neste banco de dados para ativar filtros checkbox em painéis e perguntas. Isso pode ser um processo que consome muitos recursos, especialmente se você tiver um banco de dados grande."
 
 #: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:159
 msgid "When should Metabase automatically scan and cache field values?"
@@ -146,55 +142,52 @@ msgstr "nesta caixa:"
 #: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:87
 #: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:93
 #: frontend/src/metabase/admin/people/components/AddRow.jsx:27
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:250
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:302
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:322
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:343
 #: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:49
 #: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:52
 #: frontend/src/metabase/admin/permissions/containers/CollectionPermissionsModal.jsx:58
-#: frontend/src/metabase/admin/permissions/selectors.js:156
-#: frontend/src/metabase/admin/permissions/selectors.js:166
-#: frontend/src/metabase/admin/permissions/selectors.js:181
-#: frontend/src/metabase/admin/permissions/selectors.js:220
+#: frontend/src/metabase/admin/permissions/selectors.js:160
+#: frontend/src/metabase/admin/permissions/selectors.js:170
+#: frontend/src/metabase/admin/permissions/selectors.js:185
+#: frontend/src/metabase/admin/permissions/selectors.js:224
 #: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:355
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:181
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:247
 #: frontend/src/metabase/components/ConfirmContent.jsx:18
 #: frontend/src/metabase/components/DeleteModalWithConfirm.jsx:72
 #: frontend/src/metabase/components/HeaderModal.jsx:49
-#: frontend/src/metabase/components/form/StandardForm.jsx:59
+#: frontend/src/metabase/components/form/StandardForm.jsx:61
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:196
 #: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:289
 #: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:162
 #: frontend/src/metabase/dashboard/components/RemoveFromDashboardModal.jsx:38
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:189
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:192
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:352
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:191
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:354
 #: frontend/src/metabase/query_builder/components/RunButton.jsx:24
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:83
 #: frontend/src/metabase/query_builder/containers/ArchiveQuestionModal.jsx:48
 #: frontend/src/metabase/reference/components/EditHeader.jsx:34
 #: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:52
-#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:219
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:259
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:461
 msgid "Cancel"
 msgstr "Cancelar"
 
 #: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:88
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:123
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:121
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:132
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:461
 msgid "Delete"
 msgstr "Excluir"
 
 #. Existem alguns campos traduzidos como Bancos de dados e outros como base de dados. Para seguir o padrão, ajustei para Banco de dados
 #: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:128
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:76
-#: frontend/src/metabase/admin/permissions/selectors.js:316
-#: frontend/src/metabase/admin/permissions/selectors.js:323
-#: frontend/src/metabase/admin/permissions/selectors.js:419
-#: frontend/src/metabase/admin/routes.jsx:43
-#: frontend/src/metabase/nav/containers/Navbar.jsx:215
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:74
+#: frontend/src/metabase/admin/permissions/selectors.js:320
+#: frontend/src/metabase/admin/permissions/selectors.js:327
+#: frontend/src/metabase/admin/permissions/selectors.js:423
+#: frontend/src/metabase/admin/routes.jsx:53
+#: frontend/src/metabase/nav/containers/Navbar.jsx:214
 #: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:18
 #: frontend/src/metabase/reference/databases/TableSidebar.jsx:21
 msgid "Databases"
@@ -215,11 +208,10 @@ msgstr "Agendamento"
 #: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:170
 #: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:78
 #: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:84
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:253
 #: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:26
 #: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:221
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:182
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:354
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:356
 #: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:47
 msgid "Save changes"
 msgstr "Salvar alterações"
@@ -268,7 +260,7 @@ msgid "Scan triggered!"
 msgstr "Verificação começou!"
 
 #: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:215
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:399
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:401
 msgid "Danger Zone"
 msgstr "Zona Perigosa"
 
@@ -281,39 +273,39 @@ msgstr "Descartar valores de campo salvos"
 msgid "Remove this database"
 msgstr "Remover este banco de dados"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:75
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:73
 msgid "Add database"
 msgstr "Adicionar banco de dados"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:87
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:85
 #: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:36
 #: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:36
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:468
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:122
 #: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:183
 #: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:91
 #: frontend/src/metabase/components/DatabaseDetailsForm.jsx:399
 #: frontend/src/metabase/containers/EntitySearch.jsx:26
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:218
-#: frontend/src/metabase/entities/collections.js:86
-#: frontend/src/metabase/entities/dashboards.js:96
+#: frontend/src/metabase/entities/collections.js:93
+#: frontend/src/metabase/entities/dashboards.js:145
 #: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:461
-#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:78
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:81
 msgid "Name"
 msgstr "Nome"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:88
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:86
 msgid "Engine"
 msgstr "Engine"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:117
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:115
 msgid "Deleting..."
 msgstr "Removendo..."
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:147
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:145
 msgid "Loading ..."
 msgstr "Carregando..."
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:163
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:161
 msgid "Bring the sample dataset back"
 msgstr "Recuperar o conjunto de dados de exemplo"
 
@@ -332,7 +324,7 @@ msgstr "Salvo com sucesso!"
 #: frontend/src/metabase/admin/datamodel/components/ObjectActionSelect.jsx:44
 #: frontend/src/metabase/dashboard/components/DashCard.jsx:278
 #: frontend/src/metabase/parameters/components/ParameterWidget.jsx:177
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:209
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:197
 #: frontend/src/metabase/reference/components/EditButton.jsx:18
 msgid "Edit"
 msgstr "Editar"
@@ -510,7 +502,7 @@ msgstr "Esquemas"
 #: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:189
 #: frontend/src/metabase/reference/metrics/MetricList.jsx:56
 #: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:21
-#: frontend/src/metabase/routes.jsx:231
+#: frontend/src/metabase/routes.jsx:232
 msgid "Metrics"
 msgstr "Métricas"
 
@@ -529,7 +521,7 @@ msgid "Create metrics to add them to the View dropdown in the query builder"
 msgstr "Crie métricas para adicionar ao menu Visualizar no editor de consultas"
 
 #: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:24
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:922
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:930
 #: frontend/src/metabase/reference/guide/BaseSidebar.jsx:33
 #: frontend/src/metabase/reference/segments/SegmentFieldSidebar.jsx:19
 #: frontend/src/metabase/reference/segments/SegmentList.jsx:56
@@ -571,7 +563,7 @@ msgstr "fez algumas alterações"
 
 #: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:46
 #: frontend/src/metabase/home/components/Activity.jsx:80
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:343
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:332
 msgid "You"
 msgstr "Você"
 
@@ -702,7 +694,7 @@ msgstr "Selecione qualquer tabela para ver seu esquema e adicionar ou editar met
 
 #: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:37
 #: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:34
-#: frontend/src/metabase/entities/collections.js:89
+#: frontend/src/metabase/entities/collections.js:96
 msgid "Name is required"
 msgstr "Nome é obrigatório"
 
@@ -824,10 +816,10 @@ msgid "This will show up in the revision history for this segment to help everyo
 msgstr "Isso aparecerá no histórico de revisão deste segmento para ajudar todos para lembrar por que a mudança foi feita"
 
 #: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:88
-#: frontend/src/metabase/admin/routes.jsx:91
+#: frontend/src/metabase/admin/routes.jsx:127
 #: frontend/src/metabase/admin/settings/containers/SettingsEditorApp.jsx:266
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:96
-#: frontend/src/metabase/nav/containers/Navbar.jsx:200
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:87
+#: frontend/src/metabase/nav/containers/Navbar.jsx:199
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorSidebar.jsx:99
 msgid "Settings"
 msgstr "Configuração"
@@ -841,31 +833,26 @@ msgid "Re-scan this table"
 msgstr "Releia esta tabela"
 
 #: frontend/src/metabase/admin/people/components/AddRow.jsx:34
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:194
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:253
 #: frontend/src/metabase/dashboard/components/DashCard.jsx:278
 msgid "Add"
 msgstr "Adicionar"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:80
 #: frontend/src/metabase/setup/components/UserStep.jsx:103
 #: frontend/src/metabase/user/components/UpdateUserDetails.jsx:67
 msgid "Not a valid formatted email address"
 msgstr "Formato do e-mail incorreto"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:135
 #: frontend/src/metabase/setup/components/UserStep.jsx:186
 #: frontend/src/metabase/user/components/UpdateUserDetails.jsx:100
 msgid "First name"
 msgstr "Nome"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:156
 #: frontend/src/metabase/setup/components/UserStep.jsx:203
 #: frontend/src/metabase/user/components/UpdateUserDetails.jsx:117
 msgid "Last name"
 msgstr "Sobrenome"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:178
 #: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:77
 #: frontend/src/metabase/auth/containers/LoginApp.jsx:158
 #: frontend/src/metabase/components/NewsletterForm.jsx:94
@@ -879,7 +866,7 @@ msgstr "Endereço de e-mail"
 msgid "Permission Groups"
 msgstr "Grupos de Permissões"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:238
+#: frontend/src/metabase/components/form/widgets/FormGroupsWidget.jsx:75
 msgid "Make this user an admin"
 msgstr "Converta este usuário para administrador"
 
@@ -898,15 +885,15 @@ msgid "To make sure you don't get locked out of Metabase, there always has to be
 msgstr "Para garantir que você não fique sem acesso ao Metabase, você deve sempre ter ao menos um usuário neste grupo."
 
 #: frontend/src/metabase/admin/people/components/GroupDetail.jsx:177
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:219
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:218
 msgid "Members"
 msgstr "Membros"
 
 #: frontend/src/metabase/admin/people/components/GroupDetail.jsx:177
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:470
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:124
 #: frontend/src/metabase/admin/settings/selectors.js:113
 #: frontend/src/metabase/lib/core.js:55
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:298
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:301
 msgid "Email"
 msgstr "E-mail"
 
@@ -915,8 +902,8 @@ msgid "A group is only as good as its members."
 msgstr "Um grupo vale apenas o que seus membros valem."
 
 #: frontend/src/metabase/admin/people/components/GroupSummary.jsx:15
-#: frontend/src/metabase/admin/routes.jsx:38
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:50
+#: frontend/src/metabase/admin/routes.jsx:48
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:49
 msgid "Admin"
 msgstr "Administrador"
 
@@ -937,70 +924,70 @@ msgstr[1] "{0} outros grupos"
 msgid "Default"
 msgstr "Padrão"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:40
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:39
 msgid "Something like \"Marketing\""
 msgstr "Algo como \"Marketing\""
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:59
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:58
 msgid "Remove this group?"
 msgstr "Excluir este grupo?"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:61
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:60
 msgid "Are you sure? All members of this group will lose any permissions settings they have based on this group.\n"
 "This can't be undone."
 msgstr "Tem certeza? Todos os membros deste grupo perderão as configurações de permissões baseadas neste grupo.\n"
 "Isso não pode ser desfeito."
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:72
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:71
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:42
 #: frontend/src/metabase/components/ConfirmContent.jsx:17
 msgid "Yes"
 msgstr "Sim"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:75
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:74
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:42
 msgid "No"
 msgstr "Não"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:93
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:92
 msgid "Edit Name"
 msgstr "Editar nome"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:96
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:95
 msgid "Remove Group"
 msgstr "Excluir grupo"
 
 #: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:46
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:139
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:225
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:263
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:367
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:385
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:138
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:42
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:41
 #: frontend/src/metabase/components/HeaderModal.jsx:43
 #: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:282
-#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:106
-#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:298
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:194
+#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:107
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:327
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:193
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:96
-#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:225
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:265
 msgid "Done"
 msgstr "Feito"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:219
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:218
 msgid "Group name"
 msgstr "Nome do Grupo"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:399
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:363
 #: frontend/src/metabase/admin/people/containers/AdminPeopleApp.jsx:25
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:477
-#: frontend/src/metabase/admin/routes.jsx:76
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:131
+#: frontend/src/metabase/admin/routes.jsx:88
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:154
 msgid "Groups"
 msgstr "Grupos"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:400
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:364
 msgid "Create a group"
 msgstr "Criar um grupo"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:406
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:370
 msgid "You can use groups to control your users' access to your data. Put users in groups and then go to the Permissions section to control each group's access. The Administrators and All Users groups are special default groups that can't be removed."
 msgstr "Você pode usar grupos para controlar o acesso de seus usuários aos dados. Coloque os usuários em grupos e vá para a seção Permissões para controlar o acesso de cada grupo. Os grupos \"Administradores\" e \"Todos os Usuários\" eles são grupos padrão especiais que não podem ser excluídos."
 
@@ -1016,15 +1003,14 @@ msgstr "Reenviar convite"
 msgid "Reset Password"
 msgstr "Redefinir senha"
 
-#: frontend/src/metabase/admin/people/components/UserActionsSelect.jsx:97
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:304
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:40
 msgid "Deactivate"
 msgstr "Desativar"
 
 #: frontend/src/metabase/admin/people/containers/AdminPeopleApp.jsx:24
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:435
-#: frontend/src/metabase/admin/routes.jsx:74
-#: frontend/src/metabase/nav/containers/Navbar.jsx:205
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:93
+#: frontend/src/metabase/admin/routes.jsx:84
+#: frontend/src/metabase/nav/containers/Navbar.jsx:204
 msgid "People"
 msgstr "Pessoas"
 
@@ -1036,8 +1022,7 @@ msgstr "Quem você quer adicionar?"
 msgid "Edit {0}'s details"
 msgstr "Edite os detalhes de {0}"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:220
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:258
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:40
 msgid "{0} has been added"
 msgstr "Adicionado {0}"
 
@@ -1052,11 +1037,11 @@ msgid "We couldn’t send them an email invitation,\n"
 "and this password we’ve generated for them:"
 msgstr "Não foi possível enviar um convite por e-mail, então certifique-se de dizer a eles para entrarem com {0} e essa senha que geramos para eles:"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:242
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:73
 msgid "If you want to be able to send email invites, just go to the {0} page."
 msgstr "Se você quiser enviar convites por e-mail, simplesmente vá a página {0}."
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:268
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:55
 msgid "We’ve sent an invite to {0} with instructions to set their password."
 msgstr "Enviamos um convite para {0} com instruções para configurar a senha dele"
 
@@ -1064,7 +1049,6 @@ msgstr "Enviamos um convite para {0} com instruções para configurar a senha de
 msgid "We've re-sent {0}'s invite"
 msgstr "Enviamos novamente um convite para: {0}"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:285
 #: frontend/src/metabase/query_builder/components/SavedQuestionIntroModal.jsx:22
 #: frontend/src/metabase/tutorial/Tutorial.jsx:253
 msgid "Okay"
@@ -1074,11 +1058,11 @@ msgstr "Okay"
 msgid "Any previous email invites they have will no longer work."
 msgstr "Qualquer convite por e-mail anterior que eles tenham não irá mais funcionar"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:300
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:31
 msgid "Deactivate {0}?"
 msgstr "Desativar {0}?"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:309
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:34
 msgid "{0} won't be able to log in anymore."
 msgstr "{0} não poderá mais fazer login."
 
@@ -1086,35 +1070,33 @@ msgstr "{0} não poderá mais fazer login."
 msgid "Reactivate {0}'s account?"
 msgstr "Reativar a conta de {0}?"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:326
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:58
 msgid "Reactivate"
 msgstr "Reativar"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:330
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:51
 msgid "They'll be able to log in again, and they'll be placed back into the groups they were in before their account was deactivated."
 msgstr "Eles poderão logar novamente, e serão colocados de volta nos grupos que eles estavam antes de terem as contas desativadas."
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:341
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:51
 msgid "Reset {0}'s password?"
 msgstr "Redefinir a senha de {0}?"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:347
-#: frontend/src/metabase/components/form/StandardForm.jsx:75
+#: frontend/src/metabase/components/form/StandardForm.jsx:77
 msgid "Reset"
 msgstr "Redefinir"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:351
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:54
 #: frontend/src/metabase/components/ConfirmContent.jsx:13
 #: frontend/src/metabase/dashboard/components/ArchiveDashboardModal.jsx:44
 msgid "Are you sure you want to do this?"
 msgstr "Tem certeza de que quer fazer isso?"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:362
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:384
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:41
 msgid "{0}'s password has been reset"
 msgstr "A senha de {0} foi redefinida"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:371
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:45
 msgid "Here’s a temporary password they can use to log in and then change their password."
 msgstr "Aqui está uma senha temporária que você pode usar para fazer login e depois mude sua senha."
 
@@ -1122,41 +1104,40 @@ msgstr "Aqui está uma senha temporária que você pode usar para fazer login e
 msgid "We've sent them an email with instructions for creating a new password."
 msgstr "Nós lhe enviamos um email com instruções para criar uma nova senha."
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:443
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:101
 msgid "Active"
 msgstr "Ativo"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:444
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:473
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:102
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:127
 msgid "Deactivated"
 msgstr "Desativado"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:459
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:115
 msgid "Add someone"
 msgstr "Adicione alguém"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:478
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:132
 msgid "Last Login"
 msgstr "Último acesso"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:501
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:153
 msgid "Signed up via Google"
 msgstr "Acesso via Google"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:506
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:158
 msgid "Signed up via LDAP"
 msgstr "Acesso via LDAP"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:518
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:170
 msgid "Reactivate this account"
 msgstr "Reativar esta conta"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:545
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:193
 msgid "Never"
 msgstr "Nunca"
 
 #: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:27
-#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:24
 #: src/metabase/automagic_dashboards/core.clj
 msgid "{0} table"
 msgid_plural "{0} tables"
@@ -1192,7 +1173,7 @@ msgid " native queries for "
 msgstr " consultas nativas para "
 
 #: frontend/src/metabase/admin/permissions/routes.jsx:12
-#: frontend/src/metabase/nav/containers/Navbar.jsx:220
+#: frontend/src/metabase/nav/containers/Navbar.jsx:219
 msgid "Permissions"
 msgstr "Permissões"
 
@@ -1229,136 +1210,136 @@ msgstr "Tem alterações não salvas"
 msgid "Do you want to leave this page and discard your changes?"
 msgstr "Você quer sair desta página e descartar suas alterações?"
 
-#: frontend/src/metabase/admin/permissions/permissions.js:137
+#: frontend/src/metabase/admin/permissions/permissions.js:126
 msgid "Sorry, an error occurred."
 msgstr "Desculpe, ocorreu um erro."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:59
+#: frontend/src/metabase/admin/permissions/selectors.js:65
 msgid "Administrators always have the highest level of access to everything in Metabase."
 msgstr "Os administradores sempre têm o nível mais alto de acesso a tudo no Metabase"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:61
+#: frontend/src/metabase/admin/permissions/selectors.js:67
 msgid "Every Metabase user belongs to the All Users group. If you want to limit or restrict a group's access to something, make sure the All Users group has an equal or lower level of access."
 msgstr "Todos os usuários do Metabase pertencem ao grupo \"Todos os usuários\". Se você deseja limitar ou restringir o acesso de um grupo a algo, certifique-se de que o grupo \"Todos os usuários\" tem um nível de acesso igual ou menor."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:63
+#: frontend/src/metabase/admin/permissions/selectors.js:69
 msgid "MetaBot is Metabase's Slack bot. You can choose what it has access to here."
 msgstr "O Metabot é o bot Slack do Metabase. Você pode escolher o que ele tem acesso aqui"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:115
+#: frontend/src/metabase/admin/permissions/selectors.js:119
 msgid "The \"{0}\" group may have access to a different set of {1} than this group, which may give this group additional access to some {2}."
 msgstr "O grupo \"{0}\" pode ter acesso a um conjunto diferente de {1} que este grupo, o que pode dar a este grupo acesso adicional a alguns {2}."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:120
+#: frontend/src/metabase/admin/permissions/selectors.js:124
 msgid "The \"{0}\" group has a higher level of access than this, which will override this setting. You should limit or revoke the \"{1}\" group's access to this item."
 msgstr "O grupo \"{0}\" tem um nível de acesso maior que este, o que anulará esta configuração. Você deveria limitar ou revogar o acceso do grupo '{1}' a este elemento."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:150
+#: frontend/src/metabase/admin/permissions/selectors.js:154
 msgid "Limit"
 msgstr "Limite"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:150
+#: frontend/src/metabase/admin/permissions/selectors.js:154
 msgid "Revoke"
 msgstr "Revogar"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:152
+#: frontend/src/metabase/admin/permissions/selectors.js:156
 msgid "access even though \"{0}\" has greater access?"
 msgstr "acesso apesar que o grupo \"{0}\" tem maior acceso?"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:155
-#: frontend/src/metabase/admin/permissions/selectors.js:254
+#: frontend/src/metabase/admin/permissions/selectors.js:159
+#: frontend/src/metabase/admin/permissions/selectors.js:258
 msgid "Limit access"
 msgstr "Limite de acesso"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:155
-#: frontend/src/metabase/admin/permissions/selectors.js:219
-#: frontend/src/metabase/admin/permissions/selectors.js:262
+#: frontend/src/metabase/admin/permissions/selectors.js:159
+#: frontend/src/metabase/admin/permissions/selectors.js:223
+#: frontend/src/metabase/admin/permissions/selectors.js:266
 msgid "Revoke access"
 msgstr "Revogar acesso"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:164
+#: frontend/src/metabase/admin/permissions/selectors.js:168
 msgid "Change access to this database to limited?"
 msgstr "Alterar o acesso a este banco de dados para limitado?"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:165
+#: frontend/src/metabase/admin/permissions/selectors.js:169
 msgid "Change"
 msgstr "Alterar"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:178
+#: frontend/src/metabase/admin/permissions/selectors.js:182
 msgid "Allow Raw Query Writing?"
 msgstr "Permitir a gravação de consultas diretas"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:179
+#: frontend/src/metabase/admin/permissions/selectors.js:183
 msgid "This will also change this group's data access to Unrestricted for this database."
 msgstr "Isso também alterará o acesso a dados desse grupo para sem restrições neste banco de dados."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:180
+#: frontend/src/metabase/admin/permissions/selectors.js:184
 msgid "Allow"
 msgstr "Permitir"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:217
+#: frontend/src/metabase/admin/permissions/selectors.js:221
 msgid "Revoke access to all tables?"
 msgstr "Revoga o acesso a todas as tabelas?"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:218
+#: frontend/src/metabase/admin/permissions/selectors.js:222
 msgid "This will also revoke this group's access to raw queries for this database."
 msgstr "Isso também revogará o acesso desse grupo a consultas não formatadas para este banco de dados."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:247
+#: frontend/src/metabase/admin/permissions/selectors.js:251
 msgid "Grant unrestricted access"
 msgstr "Conceder acesso sem restrições"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:248
+#: frontend/src/metabase/admin/permissions/selectors.js:252
 msgid "Unrestricted access"
 msgstr "Acesso sem restrições"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:255
+#: frontend/src/metabase/admin/permissions/selectors.js:259
 msgid "Limited access"
 msgstr "Acesso limitado"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:263
+#: frontend/src/metabase/admin/permissions/selectors.js:267
 msgid "No access"
 msgstr "Sem acesso"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:269
+#: frontend/src/metabase/admin/permissions/selectors.js:273
 msgid "Write raw queries"
 msgstr "Escrever consultas diretas"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:270
+#: frontend/src/metabase/admin/permissions/selectors.js:274
 msgid "Can write raw queries"
 msgstr "Você pode escrever consultas diretas"
 
 #. Isso foi tradução automática? Sugestão: "Cuide da coleção"
-#: frontend/src/metabase/admin/permissions/selectors.js:277
+#: frontend/src/metabase/admin/permissions/selectors.js:281
 msgid "Curate collection"
 msgstr "Curar a coleção"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:284
+#: frontend/src/metabase/admin/permissions/selectors.js:288
 msgid "View collection"
 msgstr "Ver coleção"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:327
-#: frontend/src/metabase/admin/permissions/selectors.js:423
-#: frontend/src/metabase/admin/permissions/selectors.js:520
+#: frontend/src/metabase/admin/permissions/selectors.js:331
+#: frontend/src/metabase/admin/permissions/selectors.js:427
+#: frontend/src/metabase/admin/permissions/selectors.js:524
 msgid "Data Access"
 msgstr "Acesso aos dados"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:488
-#: frontend/src/metabase/admin/permissions/selectors.js:645
-#: frontend/src/metabase/admin/permissions/selectors.js:650
+#: frontend/src/metabase/admin/permissions/selectors.js:492
+#: frontend/src/metabase/admin/permissions/selectors.js:649
+#: frontend/src/metabase/admin/permissions/selectors.js:654
 msgid "View tables"
 msgstr "Veja as tabelas"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:586
+#: frontend/src/metabase/admin/permissions/selectors.js:590
 msgid "SQL Queries"
 msgstr "Consultas SQL"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:656
+#: frontend/src/metabase/admin/permissions/selectors.js:660
 msgid "View schemas"
 msgstr "Veja esquemas"
 
-#: frontend/src/metabase/admin/routes.jsx:49
-#: frontend/src/metabase/nav/containers/Navbar.jsx:210
+#: frontend/src/metabase/admin/routes.jsx:59
+#: frontend/src/metabase/nav/containers/Navbar.jsx:209
 msgid "Data Model"
 msgstr "Modelo de dados"
 
@@ -1501,7 +1482,7 @@ msgid "Metabase {0} is available.  You're running {1}"
 msgstr "Metabase {0} está disponivel. Você está executando {1}"
 
 #: frontend/src/metabase/admin/settings/components/SettingsUpdatesForm.jsx:112
-#: frontend/src/metabase/components/form/StandardForm.jsx:67
+#: frontend/src/metabase/components/form/StandardForm.jsx:69
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:96
 msgid "Update"
 msgstr "Atualizar"
@@ -2128,20 +2109,19 @@ msgstr "Salvo"
 msgid "Ok"
 msgstr "Ok"
 
-#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:40
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:38
 msgid "Archive this collection?"
 msgstr "Arquivar esta coleção?"
 
-#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:45
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:43
 msgid "The dashboards, collections, and pulses in this collection will also be archived."
 msgstr "Os painéis, coleções e notificações nesta coleção também serão arquivados."
 
-#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:49
-#: frontend/src/metabase/components/CollectionLanding.jsx:587
-#: frontend/src/metabase/components/EntityItem.jsx:54
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:47
+#: frontend/src/metabase/components/CollectionLanding.jsx:624
 #: frontend/src/metabase/components/EntityMenu.info.js:31
 #: frontend/src/metabase/components/EntityMenu.info.js:87
-#: frontend/src/metabase/home/containers/ArchiveApp.jsx:48
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:47
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:195
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:200
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:201
@@ -2155,28 +2135,28 @@ msgstr "Arquivo"
 msgid "This {0} has been archived"
 msgstr "Este {0} foi arquivado"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:679
+#: frontend/src/metabase/components/CollectionLanding.jsx:715
 msgid "View the archive"
 msgstr "Veja o arquivo"
 
-#: frontend/src/metabase/components/ArchivedItem.jsx:39
+#: frontend/src/metabase/components/ArchivedItem.jsx:43
 msgid "Unarchive this {0}"
 msgstr "Desarquivar este {0}"
 
-#: frontend/src/metabase/components/BrowseApp.jsx:95
-#: frontend/src/metabase/components/BrowseApp.jsx:157
-#: frontend/src/metabase/components/BrowseApp.jsx:250
-#: frontend/src/metabase/containers/Overworld.jsx:224
+#: frontend/src/metabase/components/BrowseApp.jsx:70
+#: frontend/src/metabase/components/BrowseApp.jsx:132
+#: frontend/src/metabase/components/BrowseApp.jsx:225
+#: frontend/src/metabase/containers/Overworld.jsx:219
 msgid "Our data"
 msgstr "Nossos dados"
 
-#: frontend/src/metabase/components/BrowseApp.jsx:194
+#: frontend/src/metabase/components/BrowseApp.jsx:169
 #: frontend/src/metabase/reference/databases/TableSidebar.jsx:55
 msgid "X-ray this table"
 msgstr "Aplique raio-X nesta tabela"
 
-#: frontend/src/metabase/components/BrowseApp.jsx:208
-#: frontend/src/metabase/containers/Overworld.jsx:251
+#: frontend/src/metabase/components/BrowseApp.jsx:183
+#: frontend/src/metabase/containers/Overworld.jsx:246
 msgid "Learn about this table"
 msgstr "Aprenda mais sobre essa tabela"
 
@@ -2194,31 +2174,31 @@ msgstr "Salvo!"
 msgid "Saving failed."
 msgstr "Não foi possível salvar"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Su"
 msgstr "Dom"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Mo"
 msgstr "Seg"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Tu"
 msgstr "Ter"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "We"
 msgstr "Qua"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Th"
 msgstr "Qui"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Fr"
 msgstr "Sex"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Sa"
 msgstr "Sáb"
 
@@ -2251,74 +2231,73 @@ msgstr "Você pode usar coleções para organizar e agrupar painéis, questões
 msgid "Create another collection"
 msgstr "Criar outra coleção"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:61
+#: frontend/src/metabase/components/CollectionLanding.jsx:68
 msgid "Dashboards let you collect and share data in one place."
 msgstr "Painéis permitem você agrupar e compartilhar dados em um único local."
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:70
+#: frontend/src/metabase/components/CollectionLanding.jsx:77
 msgid "Pulses let you send out the latest data to your team on a schedule via email or slack."
 msgstr "Notificações te permitem enviar os dados atualizados para seu time seguindo um cronograma via email ou no slack."
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:79
+#: frontend/src/metabase/components/CollectionLanding.jsx:86
 msgid "Questions are a saved look at your data."
 msgstr "Perguntas são visões salvas de seus dados."
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:275
+#: frontend/src/metabase/components/CollectionLanding.jsx:287
 msgid "Pins"
 msgstr "Fixados"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:329
+#: frontend/src/metabase/components/CollectionLanding.jsx:341
 msgid "Drag something here to pin it to the top"
 msgstr "Arraste algo aqui para fixar no topo da página."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:733
-#: frontend/src/metabase/components/CollectionLanding.jsx:341
+#: frontend/src/metabase/admin/permissions/selectors.js:737
+#: frontend/src/metabase/components/CollectionLanding.jsx:353
 #: frontend/src/metabase/home/containers/SearchApp.jsx:35
-#: frontend/src/metabase/home/containers/SearchApp.jsx:96
+#: frontend/src/metabase/home/containers/SearchApp.jsx:92
 msgid "Collections"
 msgstr "Coleções"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:411
-#: frontend/src/metabase/components/CollectionLanding.jsx:434
+#: frontend/src/metabase/components/CollectionLanding.jsx:432
+#: frontend/src/metabase/components/CollectionLanding.jsx:455
 msgid "Drag here to un-pin"
 msgstr "Arraste aqui para desafixar"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:469
+#: frontend/src/metabase/components/CollectionLanding.jsx:490
 msgid "{0} item selected"
 msgid_plural "{0} items selected"
 msgstr[0] "{0} item selecionado"
 msgstr[1] "{0} itens selecionados"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:487
+#: frontend/src/metabase/components/CollectionLanding.jsx:522
 msgid "Move {0} items?"
 msgstr "Mover {0} itens?"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:488
+#: frontend/src/metabase/components/CollectionLanding.jsx:523
 msgid "Move \"{0}\"?"
 msgstr "Mover \"{0}\"?"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:594
+#: frontend/src/metabase/components/CollectionLanding.jsx:631
 #: frontend/src/metabase/components/EntityMenu.info.js:29
 #: frontend/src/metabase/components/EntityMenu.info.js:85
-#: frontend/src/metabase/containers/CollectionMoveModal.jsx:78
+#: frontend/src/metabase/containers/CollectionMoveModal.jsx:69
 msgid "Move"
 msgstr "Mover"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:656
+#: frontend/src/metabase/components/CollectionLanding.jsx:692
 msgid "Edit this collection"
 msgstr "Editar coleção"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:664
+#: frontend/src/metabase/components/CollectionLanding.jsx:700
 msgid "Archive this collection"
 msgstr "Arquivar esta coleção?"
 
 #: frontend/src/metabase/components/CollectionList.jsx:64
-#: frontend/src/metabase/entities/collections.js:148
+#: frontend/src/metabase/entities/collections.js:155
 msgid "My personal collection"
 msgstr "Minha coleção pessoal"
 
 #: frontend/src/metabase/components/CollectionList.jsx:106
-#: frontend/src/metabase/containers/CollectionForm.jsx:9
 msgid "New collection"
 msgstr "Coleção nova"
 
@@ -2392,15 +2371,16 @@ msgstr "Como você gostaria de chamar esse banco de dados?"
 msgid "Next"
 msgstr "Próximo"
 
+#: frontend/src/metabase/components/ArchivedItem.jsx:52
 #: frontend/src/metabase/components/DeleteModalWithConfirm.jsx:80
 msgid "Delete this {0}"
 msgstr "Remova este {0}"
 
-#: frontend/src/metabase/components/EntityItem.jsx:42
+#: frontend/src/metabase/components/EntityItem.jsx:43
 msgid "Pin this item"
 msgstr "Fixar este item"
 
-#: frontend/src/metabase/components/EntityItem.jsx:48
+#: frontend/src/metabase/components/EntityItem.jsx:49
 msgid "Move this item"
 msgstr "Mover este item"
 
@@ -2548,6 +2528,7 @@ msgid "No description yet"
 msgstr "Ainda sem descrição"
 
 #: frontend/src/metabase/components/Header.jsx:112
+#: frontend/src/metabase/entities/containers/EntityForm.jsx:43
 msgid "New {0}"
 msgstr "Novo {0}"
 
@@ -2611,22 +2592,22 @@ msgid "Everything"
 msgstr "Tudo"
 
 #: frontend/src/metabase/components/ItemTypeFilterBar.jsx:18
-#: frontend/src/metabase/home/containers/SearchApp.jsx:73
+#: frontend/src/metabase/home/containers/SearchApp.jsx:69
 msgid "Dashboards"
 msgstr "Painéis"
 
 #: frontend/src/metabase/components/ItemTypeFilterBar.jsx:23
-#: frontend/src/metabase/home/containers/SearchApp.jsx:119
+#: frontend/src/metabase/home/containers/SearchApp.jsx:115
 msgid "Questions"
 msgstr "Perguntas"
 
 #: frontend/src/metabase/components/ItemTypeFilterBar.jsx:28
-#: frontend/src/metabase/routes.jsx:320
+#: frontend/src/metabase/routes.jsx:321
 msgid "Pulses"
 msgstr "Notificações"
 
 #: frontend/src/metabase/components/LeftNavPane.jsx:36
-#: frontend/src/metabase/query_builder/components/dataref/DataReference.jsx:86
+#: frontend/src/metabase/query_builder/components/dataref/DataReference.jsx:103
 msgid "Back"
 msgstr "Voltar"
 
@@ -2727,6 +2708,7 @@ msgid "First"
 msgstr "Primeiro"
 
 #: frontend/src/metabase/components/SchedulePicker.jsx:34
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:23
 msgid "Last"
 msgstr "Último"
 
@@ -2783,8 +2765,8 @@ msgstr "Desculpe, você não tem permissão para ver isso."
 msgid "Unknown error encountered"
 msgstr "Erro desconhecido encontrado"
 
-#: frontend/src/metabase/components/form/StandardForm.jsx:67
-#: frontend/src/metabase/nav/containers/Navbar.jsx:305
+#: frontend/src/metabase/components/form/StandardForm.jsx:69
+#: frontend/src/metabase/nav/containers/Navbar.jsx:304
 msgid "Create"
 msgstr "Criar"
 
@@ -2820,12 +2802,13 @@ msgid "View by"
 msgstr "Veja por"
 
 #: frontend/src/metabase/containers/EntitySearch.jsx:494
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:84
 #: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:69
 #: frontend/src/metabase/tutorial/TutorialModal.jsx:34
 msgid "of"
 msgstr "de"
 
-#: frontend/src/metabase/containers/Overworld.jsx:80
+#: frontend/src/metabase/containers/Overworld.jsx:75
 msgid "Don't tell anyone, but you're my favorite."
 msgstr "Não conte a ninguém, mas você é o meu favorito"
 
@@ -2833,19 +2816,19 @@ msgstr "Não conte a ninguém, mas você é o meu favorito"
 msgid "Once you connect your own data, I can show you some automatic explorations called x-rays. Here are some examples with sample data."
 msgstr "Assim que você conectar seus próprios dados, eu posso mostrar algumas explorações automáticas, chamadas raios-X. Aqui estão alguns exemplos com dados de exemplo."
 
-#: frontend/src/metabase/containers/Overworld.jsx:133
-#: frontend/src/metabase/containers/Overworld.jsx:304
+#: frontend/src/metabase/containers/Overworld.jsx:128
+#: frontend/src/metabase/containers/Overworld.jsx:299
 #: frontend/src/metabase/reference/components/GuideHeader.jsx:12
 msgid "Start here"
 msgstr "Comece aqui"
 
-#: frontend/src/metabase/containers/Overworld.jsx:299
-#: frontend/src/metabase/entities/collections.js:140
+#: frontend/src/metabase/containers/Overworld.jsx:294
+#: frontend/src/metabase/entities/collections.js:147
 #: src/metabase/models/collection.clj
 msgid "Our analytics"
 msgstr "Nossas análises"
 
-#: frontend/src/metabase/containers/Overworld.jsx:208
+#: frontend/src/metabase/containers/Overworld.jsx:203
 msgid "Browse all items"
 msgstr "Exibir todos os itens"
 
@@ -2873,9 +2856,11 @@ msgstr "Salvar a pergunta"
 msgid "What is the name of your card?"
 msgstr "Qual é o nome do seu cartão?"
 
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:31
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:18
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:232
-#: frontend/src/metabase/entities/collections.js:94
-#: frontend/src/metabase/entities/dashboards.js:102
+#: frontend/src/metabase/entities/collections.js:101
+#: frontend/src/metabase/entities/dashboards.js:151
 #: frontend/src/metabase/lib/core.js:50 frontend/src/metabase/lib/core.js:205
 #: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:156
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:211
@@ -2888,12 +2873,12 @@ msgid "Description"
 msgstr "Descrição"
 
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:238
-#: frontend/src/metabase/entities/dashboards.js:104
+#: frontend/src/metabase/entities/dashboards.js:153
 msgid "It's optional but oh, so helpful"
 msgstr "É opcional, mas tão útil"
 
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:245
-#: frontend/src/metabase/entities/dashboards.js:108
+#: frontend/src/metabase/entities/dashboards.js:157
 msgid "Which collection should this go in?"
 msgstr "Em que coleção isso deveria ir?"
 
@@ -2933,11 +2918,11 @@ msgstr "Arquivar Painel"
 msgid "Make sure to make a selection for each series, or the filter won't work on this card."
 msgstr "Certifique-se de fazer uma seleção para cada série ou o filtro não funcionará neste cartão."
 
-#: frontend/src/metabase/dashboard/components/Dashboard.jsx:286
+#: frontend/src/metabase/dashboard/components/Dashboard.jsx:300
 msgid "This dashboard is looking empty."
 msgstr "Este painel parece estar vazio."
 
-#: frontend/src/metabase/dashboard/components/Dashboard.jsx:289
+#: frontend/src/metabase/dashboard/components/Dashboard.jsx:301
 msgid "Add a question to start making it useful!"
 msgstr "Adicione uma pergunta para torná-lo útil!"
 
@@ -2985,23 +2970,23 @@ msgstr "Parâmetros"
 msgid "Add a text box"
 msgstr "Adicionar uma caixa de texto"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:302
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:319
 msgid "Move dashboard"
 msgstr "Mover painel"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:315
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:302
 msgid "Edit dashboard"
 msgstr "Editar painel"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:319
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:306
 msgid "Edit Dashboard Layout"
 msgstr "Editar layout do Painel"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:357
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:369
 msgid "You are editing a dashboard"
 msgstr "Você está editando um painel"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:362
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:374
 msgid "Select the field that should be filtered for each card"
 msgstr "Selecione o campo que deve ser filtrado para cada cartão"
 
@@ -3068,6 +3053,7 @@ msgstr "Remover esta pergunta?"
 msgid "Your dashboard was saved"
 msgstr "Seu painel foi salvo."
 
+#: frontend/src/metabase/components/CollectionLanding.jsx:745
 #: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:76
 msgid "See it"
 msgstr "Veja"
@@ -3093,15 +3079,15 @@ msgstr "Os valores nesse campo não sobrepõe os valores de outros campos que vo
 msgid "No valid fields"
 msgstr "Não há campos válidos"
 
-#: frontend/src/metabase/entities/collections.js:90
+#: frontend/src/metabase/entities/collections.js:97
 msgid "Name must be 100 characters or less"
 msgstr "O nome deve ter 100 caracteres ou menos"
 
-#: frontend/src/metabase/entities/collections.js:104
+#: frontend/src/metabase/entities/collections.js:111
 msgid "Color is required"
 msgstr "Cor é obrigatório"
 
-#: frontend/src/metabase/entities/dashboards.js:97
+#: frontend/src/metabase/entities/dashboards.js:146
 msgid "What is the name of your dashboard?"
 msgstr "Qual é o nome do seu painel?"
 
@@ -3154,7 +3140,9 @@ msgstr "removeu uma pergunta do painel - "
 msgid "received the latest data from"
 msgstr "recebeu os dados mais recentes de"
 
+#: frontend/src/metabase-lib/lib/Dimension.js:621
 #: frontend/src/metabase/home/components/Activity.jsx:244
+#: frontend/src/metabase/lib/query_time.js:180
 #: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:273
 msgid "Unknown"
 msgstr "Desconhecido"
@@ -3276,17 +3264,17 @@ msgstr "Visualizado recentemente"
 msgid "You haven't looked at any dashboards or questions recently"
 msgstr "Você não olhou nenhum painel ou pergunta recentemente"
 
-#: frontend/src/metabase/home/containers/ArchiveApp.jsx:82
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:99
 msgid "{0} items selected"
 msgstr "{0} itens selecionados"
 
-#: frontend/src/metabase/home/containers/ArchiveApp.jsx:102
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:121
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:172
 msgid "Unarchive"
 msgstr "Desarquivar"
 
 #: frontend/src/metabase/home/containers/HomepageApp.jsx:74
-#: frontend/src/metabase/nav/containers/Navbar.jsx:332
+#: frontend/src/metabase/nav/containers/Navbar.jsx:331
 msgid "Activity"
 msgstr "Atividade"
 
@@ -3294,7 +3282,7 @@ msgstr "Atividade"
 msgid "Results for \"{0}\""
 msgstr "Resultados para \"{0}\""
 
-#: frontend/src/metabase/home/containers/SearchApp.jsx:142
+#: frontend/src/metabase/home/containers/SearchApp.jsx:138
 msgid "Pulse"
 msgstr "Notificação"
 
@@ -3357,7 +3345,7 @@ msgstr "Comum"
 
 #: frontend/src/metabase/lib/core.js:30
 #: frontend/src/metabase/meta/Dashboard.js:81
-#: frontend/src/metabase/qb/components/actions/PivotByCategoryAction.jsx:9
+#: frontend/src/metabase/modes/components/actions/PivotByCategoryAction.jsx:9
 msgid "Category"
 msgstr "Categoria"
 
@@ -3393,10 +3381,11 @@ msgstr "Longitude"
 
 #: frontend/src/metabase/lib/core.js:85
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:149
-#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:39
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:41
 msgid "Number"
 msgstr "Número"
 
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:19
 #: frontend/src/metabase/lib/core.js:90
 #: frontend/src/metabase/meta/Dashboard.js:65
 msgid "State"
@@ -3561,7 +3550,7 @@ msgid "CumulativeCount"
 msgstr "Contagem cumulativa"
 
 #: frontend/src/metabase/lib/expressions/config.js:9
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:17
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:17
 #: frontend/src/metabase/visualizations/lib/utils.js:127
 msgid "Sum"
 msgstr "Soma"
@@ -3585,14 +3574,14 @@ msgid "Average"
 msgstr "Média"
 
 #: frontend/src/metabase/lib/expressions/config.js:14
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:25
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:25
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:48
 #: frontend/src/metabase/visualizations/lib/settings/graph.js:450
 msgid "Min"
 msgstr "Mínimo"
 
 #: frontend/src/metabase/lib/expressions/config.js:15
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:29
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:29
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:57
 #: frontend/src/metabase/visualizations/lib/settings/graph.js:458
 msgid "Max"
@@ -3602,13 +3591,13 @@ msgstr "Máximo"
 msgid "sad sad panda, lexing errors detected"
 msgstr "Panda triste triste, erros lexicais detectados"
 
-#: frontend/src/metabase/lib/formatting.js:724
+#: frontend/src/metabase/lib/formatting.js:707
 msgid "{0} second"
 msgid_plural "{0} seconds"
 msgstr[0] "{0} segundo"
 msgstr[1] "{0} segundos"
 
-#: frontend/src/metabase/lib/formatting.js:727
+#: frontend/src/metabase/lib/formatting.js:710
 msgid "{0} minute"
 msgid_plural "{0} minutes"
 msgstr[0] "{0} minuto"
@@ -3870,7 +3859,7 @@ msgid "Cumulative sum of ..."
 msgstr "Soma acumulada de ..."
 
 #: frontend/src/metabase/lib/schema_metadata.js:493
-msgid "Additive sum of all the values of a column.\\ne.x. total revenue over time."
+msgid "Additive sum of all the values of a column.\\\\ne.x. total revenue over time."
 msgstr "Soma aditiva de todos os valores em uma coluna. \n"
 " por exemplo, receita total ao longo do tempo"
 
@@ -3879,7 +3868,7 @@ msgid "Cumulative count of rows"
 msgstr "Contagem cumulativa de linhas"
 
 #: frontend/src/metabase/lib/schema_metadata.js:501
-msgid "Additive count of the number of rows.\\ne.x. total number of sales over time."
+msgid "Additive count of the number of rows.\\\\ne.x. total number of sales over time."
 msgstr "Contagem aditiva do número de linhas. \n"
 " por exemplo, número total de vendas ao longo do tempo"
 
@@ -4047,7 +4036,7 @@ msgid "ID"
 msgstr "ID"
 
 #: frontend/src/metabase/meta/Dashboard.js:95
-#: frontend/src/metabase/qb/components/actions/PivotByTimeAction.jsx:8
+#: frontend/src/metabase/modes/components/actions/PivotByTimeAction.jsx:8
 msgid "Time"
 msgstr "Tempo"
 
@@ -4056,7 +4045,7 @@ msgid "Date range, relative date, time of day, etc."
 msgstr "Intervalo de datas, data relativa, hora do dia, etc."
 
 #: frontend/src/metabase/meta/Dashboard.js:101
-#: frontend/src/metabase/qb/components/actions/PivotByLocationAction.jsx:8
+#: frontend/src/metabase/modes/components/actions/PivotByLocationAction.jsx:8
 msgid "Location"
 msgstr "Localização"
 
@@ -4076,73 +4065,73 @@ msgstr "Outras categorias"
 msgid "Category, Type, Model, Rating, etc."
 msgstr "Categoria, Tipo, Modelo, Classificação, etc."
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:43
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:42
 #: frontend/src/metabase/user/components/UserSettings.jsx:54
 msgid "Account settings"
 msgstr "Configuração da conta"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:50
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:49
 msgid "Exit admin"
 msgstr "Sair do admin"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:60
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:34
 msgid "Logs"
 msgstr "Logs"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:67
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:58
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorSidebar.jsx:105
 msgid "Help"
 msgstr "Ajuda"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:76
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:67
 msgid "About Metabase"
 msgstr "Sobre o Metabase"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:82
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:73
 msgid "Sign out"
 msgstr "Sair"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:107
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:98
 msgid "Thanks for using"
 msgstr "Obrigado por usar"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:111
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:102
 msgid "You're on version"
 msgstr "Você está na versão"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:114
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:105
 msgid "Built on"
 msgstr "Construído em"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:133
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:124
 msgid "is a Trademark of"
 msgstr "é uma marca registrada da"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:135
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:126
 msgid "and is built with care in San Francisco, CA"
 msgstr "e é construído com amor em São Francisco, CA"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:195
+#: frontend/src/metabase/nav/containers/Navbar.jsx:194
 msgid "Metabase Admin"
 msgstr "Administrador do Metabase"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:301
+#: frontend/src/metabase/nav/containers/Navbar.jsx:300
 #: frontend/src/metabase/reference/databases/TableQuestions.jsx:36
 #: frontend/src/metabase/reference/metrics/MetricQuestions.jsx:37
 #: frontend/src/metabase/reference/segments/SegmentQuestions.jsx:37
 msgid "Ask a question"
 msgstr "Fazer uma pergunta"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:310
+#: frontend/src/metabase/nav/containers/Navbar.jsx:309
 msgid "New dashboard"
 msgstr "Novo painel"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:316
+#: frontend/src/metabase/nav/containers/Navbar.jsx:315
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:127
 msgid "New pulse"
 msgstr "Nova notificação"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:324
+#: frontend/src/metabase/nav/containers/Navbar.jsx:323
 msgid "Reference"
 msgstr "Referência"
 
@@ -4191,17 +4180,22 @@ msgid "Select a default value…"
 msgstr "Selecione um valor padrão..."
 
 #: frontend/src/metabase/parameters/components/widgets/DateAllOptionsWidget.jsx:149
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:390
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:404
 msgid "Update filter"
 msgstr "Atualizar filtro"
 
+#: frontend/src/metabase/lib/query_time.js:112
+#: frontend/src/metabase/lib/query_time.js:123
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:9
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:144
+#: src/metabase/pulse/render.clj
 msgid "Today"
 msgstr "Hoje"
 
+#: frontend/src/metabase/lib/query_time.js:118
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:14
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:148
+#: src/metabase/pulse/render.clj
 msgid "Yesterday"
 msgstr "Ontem"
 
@@ -4213,23 +4207,32 @@ msgstr "Últimos 7 dias"
 msgid "Past 30 days"
 msgstr "Últimos 30 dias"
 
+#: frontend/src/metabase/lib/query_time.js:195
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:24
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:29
 #: src/metabase/api/table.clj
 msgid "Week"
-msgstr "Semana"
+msgid_plural "Weeks"
+msgstr[0] "Semana"
+msgstr[1] "Semanas"
 
+#: frontend/src/metabase/lib/query_time.js:197
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:25
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:30
 #: src/metabase/api/table.clj
 msgid "Month"
-msgstr "Mês"
+msgid_plural "Months"
+msgstr[0] "Mês"
+msgstr[1] "Meses"
 
+#: frontend/src/metabase/lib/query_time.js:201
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:26
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:31
 #: src/metabase/api/table.clj
 msgid "Year"
-msgstr "Ano"
+msgid_plural "Years"
+msgstr[0] "Ano"
+msgstr[1] "Anos"
 
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:152
 msgid "Past 7 Days"
@@ -4263,7 +4266,7 @@ msgstr "Este mês"
 msgid "This Year"
 msgstr "Este ano"
 
-#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:88
+#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:89
 #: frontend/src/metabase/parameters/components/widgets/TextWidget.jsx:54
 msgid "Enter a value..."
 msgstr "Digite um valor..."
@@ -4446,7 +4449,7 @@ msgid "This pulse will no longer be emailed to {0} {1}"
 msgstr "Esta notificação não será mais enviada por e-mail para {0} {1}"
 
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:94
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:374
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:376
 msgid "{0} address"
 msgid_plural "{0} addresses"
 msgstr[0] "{0} endereço"
@@ -4498,7 +4501,7 @@ msgstr "Anexo"
 
 #: frontend/src/metabase/pulse/components/PulseEditCards.jsx:104
 #: frontend/src/metabase/pulse/components/PulseEditCards.jsx:111
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:671
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:673
 msgid "Heads up"
 msgstr "Atenção"
 
@@ -4526,55 +4529,55 @@ msgstr "Escolha seus dados"
 msgid "Choose questions you'd like to send in this pulse"
 msgstr "Escolha as perguntas que você gostaria de enviar nesta notificação"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:29
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:27
 msgid "Emails"
 msgstr "E-mails"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:30
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:28
 msgid "Slack messages"
 msgstr "Mensagens Slack"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:223
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:221
 msgid "Sent"
 msgstr "Enviado"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:224
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:222
 msgid "{0} will be sent at"
 msgstr "{0} será enviado para"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:226
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:224
 msgid "Messages"
 msgstr "Mensagens"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:237
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:240
 msgid "Send email now"
 msgstr "Enviar e-mail agora"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:238
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:241
 msgid "Send to {0} now"
 msgstr "Envie para {0} agora"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:240
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:243
 msgid "Sending…"
 msgstr "Enviando..."
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:241
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:244
 msgid "Sending failed"
 msgstr "Envio falhou"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:244
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:247
 msgid "Didn’t send because the pulse has no results."
 msgstr "Não foi enviado porque a notificação não tem resultados."
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:245
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:248
 msgid "Pulse sent"
 msgstr "Notificação enviada"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:284
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:287
 msgid "{0} needs to be set up by an administrator."
 msgstr "{0} deve ser configurado por um administrador."
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:299
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:302
 msgid "Slack"
 msgstr "Slack"
 
@@ -4614,66 +4617,66 @@ msgstr "Ajude toda a sua equipe a permanecer em sincronia com seus dados."
 msgid "Pulses let you send data from Metabase to email or Slack on the schedule of your choice."
 msgstr "As notificações permitem que você envie dados do Metabase para o e-mail ou Slack na hora que você quiser."
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:100
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:100
 msgid "After {0}"
 msgstr "Depois de {0}"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:102
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:102
 msgid "Before {0}"
 msgstr "Antes de {0}"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:104
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:104
 #: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:295
 msgid "Is Empty"
 msgstr "Vazio"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:106
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:106
 #: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:301
 msgid "Not Empty"
 msgstr "Não vazio"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:109
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:109
 #: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:213
 msgid "All Time"
 msgstr "Todo o tempo"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:154
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:154
 msgid "Apply"
 msgstr "Aplicar"
 
-#: frontend/src/metabase/qb/components/actions/CommonMetricsAction.jsx:21
+#: frontend/src/metabase/modes/components/actions/CommonMetricsAction.jsx:21
 msgid "View {0}"
 msgstr "Veja {0}"
 
-#: frontend/src/metabase/qb/components/actions/CompareWithTable.jsx:29
+#: frontend/src/metabase/modes/components/actions/CompareWithTable.jsx:29
 msgid "Compare this with all rows in the table"
 msgstr "Comparar este com todas as linhas na tabela"
 
-#: frontend/src/metabase/qb/components/actions/CompoundQueryAction.jsx:14
+#: frontend/src/metabase/modes/components/actions/CompoundQueryAction.jsx:14
 msgid "Analyze the results of this Query"
 msgstr "Analise os resultados dessa consulta"
 
-#: frontend/src/metabase/qb/components/actions/CountByTimeAction.jsx:29
+#: frontend/src/metabase/modes/components/actions/CountByTimeAction.jsx:29
 msgid "Count of rows by time"
 msgstr "Número de linhas por hora"
 
-#: frontend/src/metabase/qb/components/actions/PivotByAction.jsx:55
+#: frontend/src/metabase/modes/components/actions/PivotByAction.jsx:52
 msgid "Break out by {0}"
 msgstr "Distribuir por {0}"
 
-#: frontend/src/metabase/qb/components/actions/SummarizeBySegmentMetricAction.jsx:34
+#: frontend/src/metabase/modes/components/actions/SummarizeBySegmentMetricAction.jsx:31
 msgid "Summarize this segment"
 msgstr "Resumir este segmento"
 
-#: frontend/src/metabase/qb/components/actions/UnderlyingDataAction.jsx:14
+#: frontend/src/metabase/modes/components/actions/UnderlyingDataAction.jsx:14
 msgid "View this as a table"
 msgstr "Veja isso como uma tabela"
 
-#: frontend/src/metabase/qb/components/actions/UnderlyingRecordsAction.jsx:22
+#: frontend/src/metabase/modes/components/actions/UnderlyingRecordsAction.jsx:22
 msgid "View the underlying {0} records"
 msgstr "Veja os registros subjacentes de {0}"
 
-#: frontend/src/metabase/qb/components/actions/XRayCard.jsx:20
+#: frontend/src/metabase/modes/components/actions/XRayCard.jsx:20
 msgid "X-Ray this question"
 msgstr "Aplique raios-X a esta questão"
 
@@ -4695,39 +4698,39 @@ msgstr "este"
 msgid "Compare {0} {1} to the rest"
 msgstr "Comparar {0} {1} com o restante"
 
-#: frontend/src/metabase/qb/components/drill/DistributionDrill.jsx:35
+#: frontend/src/metabase/modes/components/drill/DistributionDrill.jsx:35
 msgid "Distribution"
 msgstr "Distribuição"
 
-#: frontend/src/metabase/qb/components/drill/ObjectDetailDrill.jsx:38
+#: frontend/src/metabase/modes/components/drill/ObjectDetailDrill.jsx:38
 msgid "View details"
 msgstr "Ver detalhes"
 
-#: frontend/src/metabase/qb/components/drill/QuickFilterDrill.jsx:54
+#: frontend/src/metabase/modes/components/drill/QuickFilterDrill.jsx:54
 msgid "View this {0}'s {1}"
 msgstr "Veja {1} de {0}"
 
-#: frontend/src/metabase/qb/components/drill/SortAction.jsx:41
+#: frontend/src/metabase/modes/components/drill/SortAction.jsx:42
 msgid "Ascending"
 msgstr "Ascendente"
 
-#: frontend/src/metabase/qb/components/drill/SortAction.jsx:49
+#: frontend/src/metabase/modes/components/drill/SortAction.jsx:50
 msgid "Descending"
 msgstr "Descendente"
 
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnByTimeDrill.js:47
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnByTimeDrill.js:47
 msgid "over time"
 msgstr "através do tempo"
 
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:21
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:21
 msgid "Avg"
 msgstr "Média"
 
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:33
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:33
 msgid "Distincts"
 msgstr "Distintos"
 
-#: frontend/src/metabase/qb/components/drill/UnderlyingRecordsDrill.jsx:32
+#: frontend/src/metabase/modes/components/drill/UnderlyingRecordsDrill.jsx:32
 msgid "View this {0}"
 msgid_plural "View these {0}"
 msgstr[0] "Veja este {0}"
@@ -4735,7 +4738,7 @@ msgstr[1] "Veja estes {0}"
 
 #. não seria ampliar aqui?
 #: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:225
-#: frontend/src/metabase/qb/components/drill/ZoomDrill.jsx:26
+#: frontend/src/metabase/modes/components/drill/ZoomDrill.jsx:26
 msgid "Zoom in"
 msgstr "Aumentar Zoom"
 
@@ -4747,63 +4750,63 @@ msgstr "Expressão personalizada"
 msgid "Common Metrics"
 msgstr "Métricas Comuns"
 
-#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:182
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:209
 msgid "Metabasics"
 msgstr "Metabase"
 
-#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:290
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:319
 msgid "Name (optional)"
 msgstr "Nome (opcional)"
 
-#: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:153
+#: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:156
 msgid "Choose an aggregation"
 msgstr "Escolha uma agregação"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:115
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:100
 msgid "Set up your own alert"
 msgstr "Configure seu próprio alerta"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:155
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:140
 msgid "Unsubscribing..."
 msgstr "Cancelando inscrição..."
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:160
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:145
 msgid "Failed to unsubscribe"
 msgstr "Falha ao cancelar a inscrição"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:216
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:204
 msgid "Unsubscribe"
 msgstr "Retirar-se"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:247
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:235
 msgid "No channel"
 msgstr "Sem canal"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:274
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:263
 msgid "Okay, you're unsubscribed"
 msgstr "Ok, sua inscrição foi cancelada"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:346
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:335
 msgid "You're receiving {0}'s alerts"
 msgstr "Você está recebendo alertas de {0}"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:347
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:336
 msgid "{0} set up an alert"
 msgstr "{0} configurou um alerta"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:161
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:160
 msgid "alerts"
 msgstr "alertas"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:184
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:183
 msgid "Let's set up your alert"
 msgstr "Vamos configurar seu alerta"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:215
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:214
 msgid "The wide world of alerts"
 msgstr "O vasto mundo de alertas"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:216
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:215
 msgid "There are a few different kinds of alerts you can get"
 msgstr "Existem alguns tipos diferentes de alertas que você pode obter"
 
@@ -4815,123 +4818,123 @@ msgstr "Quando uma questão de dados brutos {0}"
 msgid "returns any results"
 msgstr "retorna alguns resultados"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:240
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:241
 msgid "When a line or bar {0}"
 msgstr "Quando uma linha ou barra {0}"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:241
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:242
 msgid "crosses a goal line"
 msgstr "excede a meta"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:251
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:253
 msgid "When a progress bar {0}"
 msgstr "Quando uma barra de progresso {0}"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:252
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:254
 msgid "reaches its goal"
 msgstr "alcançar sua meta"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:260
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:262
 msgid "Set up an alert"
 msgstr "Crie um alerta"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:329
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:331
 msgid "Edit your alert"
 msgstr "Edite seu alerta"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:329
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:331
 msgid "Edit alert"
 msgstr "Editar alerta"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:372
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:374
 msgid "This alert will no longer be emailed to {0}."
 msgstr "Este alerta não será mais enviado por email para {0}."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:380
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:382
 msgid "Slack channel {0} will no longer get this alert."
 msgstr "O canal Slack {0} não receberá mais este alerta."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:384
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:386
 msgid "Channel {0} will no longer receive this alert."
 msgstr "O canal {0} não receberá mais este alerta."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:401
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:403
 msgid "Delete this alert"
 msgstr "Remover este alerta"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:403
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:405
 msgid "Stop delivery and delete this alert. There's no undo, so be careful."
 msgstr "Pare de enviar e remova este alerta. Não pode ser desfeito, então tenha tenha cuidado"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:411
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:413
 msgid "Delete this alert?"
 msgstr "Remover este alerta?"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:495
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:497
 msgid "Alert me when the line…"
 msgstr "Deixe-me saber quando a linha..."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:496
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:498
 msgid "Alert me when the progress bar…"
 msgstr "Deixe-me saber quando a barra de progresso..."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:499
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:501
 msgid "Goes above the goal line"
 msgstr "Vai acima da linha da meta"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:499
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:501
 msgid "Reaches the goal"
 msgstr "Alcançar a meta"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:502
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:504
 msgid "Goes below the goal line"
 msgstr "Vai abaixo da linha de meta"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:502
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:504
 msgid "Goes below the goal"
 msgstr "Vai abaixo da meta"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:510
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:512
 msgid "The first time it crosses, or every time?"
 msgstr "A primeira vez que você cruza ou a cada vez?"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:511
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:513
 msgid "The first time it reaches the goal, or every time?"
 msgstr "A primeira vez que você alcança a meta ou a cada vez?"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:513
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:515
 msgid "The first time"
 msgstr "A primeira vez"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:514
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:516
 msgid "Every time"
 msgstr "Toda vez"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:617
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:619
 msgid "Where do you want to send these alerts?"
 msgstr "Para onde você deseja enviar esses alertas?"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:628
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:630
 msgid "Email alerts to:"
 msgstr "Envie e-mails de alerta para:"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:670
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:672
 msgid "{0} Goal-based alerts aren't yet supported for charts with more than one line, so this alert will be sent whenever the chart has {1}."
 msgstr "{0} Alertas baseados em metas ainda não são compatíveis com gráficos com mais de uma linha, portanto, esse alerta será enviado desde que o gráfico tenha {1}."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:673
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:675
 msgid "results"
 msgstr "resultados"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:677
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:679
 msgid "{0} This kind of alert is most useful when your saved question doesn’t {1} return any results, but you want to know when it does."
 msgstr "{0} Este tipo de alerta é mais útil quando sua pergunta {1} não lança nenhum resultado, mas você quer saber quando isso acontece."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:678
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:680
 msgid "Tip"
 msgstr "Dica:"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:680
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:682
 msgid "usually"
 msgstr "geralmente"
 
@@ -4954,28 +4957,28 @@ msgstr "Selecione..."
 msgid "Select a table"
 msgstr "Selecione uma tabela"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:785
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:793
 msgid "No tables found in this database."
 msgstr "Nenhuma tabela foi encontrada neste banco de dados."
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:822
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:830
 msgid "Is a question missing?"
 msgstr "Uma pergunta está faltando?"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:826
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:834
 msgid "Learn more about nested queries"
 msgstr "Saiba mais sobre consultas aninhadas"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:860
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:868
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:30
 msgid "Fields"
 msgstr "Campos"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:938
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:946
 msgid "No segments were found."
 msgstr "Nenhum segmento foi encontrado"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:961
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:969
 msgid "Find a segment"
 msgstr "Encontre um segmento"
 
@@ -4987,27 +4990,27 @@ msgstr "Ver menos"
 msgid "View more"
 msgstr "Ver mais"
 
-#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:111
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:112
 msgid "Pick a field to sort by"
 msgstr "Escolha um campo para ordenar por"
 
-#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:124
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:125
 msgid "Sort"
 msgstr "Ordenar"
 
-#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:193
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:137
 msgid "Row limit"
 msgstr "Limite de linha"
 
-#: frontend/src/metabase/query_builder/components/FieldName.jsx:76
+#: frontend/src/metabase/query_builder/components/FieldName.jsx:69
 msgid "Unknown Field"
 msgstr "Campo Desconhecido"
 
-#: frontend/src/metabase/query_builder/components/FieldName.jsx:79
+#: frontend/src/metabase/query_builder/components/FieldName.jsx:72
 msgid "field"
 msgstr "campo"
 
-#: frontend/src/metabase/query_builder/components/Filter.jsx:113
+#: frontend/src/metabase/query_builder/components/Filter.jsx:114
 msgid "Matches"
 msgstr "Combinações"
 
@@ -5028,11 +5031,11 @@ msgstr "Adicione um grupo"
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:59
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:68
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:75
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:226
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:232
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:238
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:62
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:67
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:225
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:231
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:237
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:70
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:75
 msgid "Data"
 msgstr "Dados"
 
@@ -5040,7 +5043,7 @@ msgstr "Dados"
 msgid "Filtered by"
 msgstr "Filtrado por"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:82
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:75
 #: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:369
 msgid "View"
 msgstr "Ver"
@@ -5244,7 +5247,7 @@ msgstr "Estamos com problemas com o servidor"
 
 #: frontend/src/metabase/query_builder/components/VisualizationError.jsx:56
 msgid "Try refreshing the page after waiting a minute or two. If the problem persists we'd recommend you contact an admin."
-msgstr "Tente atualizar a página depois de esperar um ou dois minutos. Se ele problema persistir, recomendamos que você entre em contato com um administrador."
+msgstr "Tente atualizar a página depois de esperar um ou dois minutos. Se o problema persistir, recomendamos que você entre em contato com um administrador."
 
 #: frontend/src/metabase/query_builder/components/VisualizationError.jsx:88
 msgid "There was a problem with your question"
@@ -5274,8 +5277,7 @@ msgstr "Retornar para a última execução"
 msgid "Visualization"
 msgstr "Display"
 
-#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:17
-#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:151
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:96
 msgid "No description set."
 msgstr "Sem descrição"
 
@@ -5283,12 +5285,11 @@ msgstr "Sem descrição"
 msgid "Use for current question"
 msgstr "Use para a pergunta atual"
 
-#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:33
 #: frontend/src/metabase/reference/components/UsefulQuestions.jsx:16
 msgid "Potentially useful questions"
 msgstr "Perguntas potencialmente úteis"
 
-#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:156
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:166
 msgid "Group by {0}"
 msgstr "Agrupar por {0}"
 
@@ -5296,20 +5297,19 @@ msgstr "Agrupar por {0}"
 msgid "Sum of all values of {0}"
 msgstr "Soma de todos os valores de {0}"
 
-#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:173
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:63
 #: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:51
 msgid "All distinct values of {0}"
 msgstr "Todos os valores diferentes de {0}"
 
-#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:177
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:187
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:39
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:51
 #: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:39
 msgid "Number of {0} grouped by {1}"
 msgstr "Número de {0} agrupados por {1}"
 
-#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:11
+#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:10
 #: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:20
 #: frontend/src/metabase/reference/databases/FieldSidebar.jsx:30
 #: frontend/src/metabase/reference/databases/TableSidebar.jsx:26
@@ -5364,15 +5364,15 @@ msgstr "Ocorreu um erro ao carregar a tabela"
 msgid "See the raw data for {0}"
 msgstr "Veja os dados brutos de {0}"
 
-#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:205
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:180
 msgid "More"
 msgstr "Mais"
 
-#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:200
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:201
 msgid "Invalid expression"
 msgstr "Expressão inválida"
 
-#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:275
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:276
 msgid "unknown error"
 msgstr "erro desconhecido"
 
@@ -5433,19 +5433,19 @@ msgstr "esse minuto"
 msgid "this hour"
 msgstr "esta hora"
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:285
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:290
 msgid "not implemented {0}"
 msgstr "{0} não implementado"
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:286
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:291
 msgid "true"
 msgstr "verdadeiro"
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:286
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:291
 msgid "false"
 msgstr "falso"
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:390
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:404
 msgid "Add filter"
 msgstr "Adicionar filtro"
 
@@ -5464,7 +5464,6 @@ msgstr "Atual"
 #: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:278
 #: frontend/src/metabase/visualizations/lib/settings/column.js:246
 #: frontend/src/metabase/visualizations/lib/settings/series.js:89
-#, fuzzy
 msgid "On"
 msgstr "Em"
 
@@ -5745,7 +5744,7 @@ msgstr "Coisas para manter em mente sobre este banco de dados"
 msgid "Databases and tables"
 msgstr "Bancos de dados e tabelas"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:68
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:61
 #: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:27
 #: frontend/src/metabase/reference/databases/FieldSidebar.jsx:41
 #: frontend/src/metabase/reference/databases/TableDetail.jsx:170
@@ -6131,7 +6130,7 @@ msgstr "Pesquisar"
 msgid "Dashboard"
 msgstr "Painel"
 
-#: frontend/src/metabase/routes.jsx:227
+#: frontend/src/metabase/routes.jsx:228
 msgid "New Question"
 msgstr "Nova pergunta"
 
@@ -6442,7 +6441,7 @@ msgstr "Faça login com o endereço de e-mail do Google"
 msgid "User Details"
 msgstr "Detalhes do usuário"
 
-#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:235
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:275
 msgid "Reset to defaults"
 msgstr "Redefinir para o padrão"
 
@@ -6491,35 +6490,35 @@ msgstr "Desmarcar"
 msgid "Rows {0}-{1} of {2}"
 msgstr "Linhas {0}-{1} de {2}"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:187
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:189
 msgid "Data truncated to {0} rows."
 msgstr "Dados truncados para {0} linhas."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:352
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:364
 msgid "Could not find visualization"
 msgstr "A visualização não pôde ser encontrada"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:359
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:371
 msgid "Could not display this chart with this data."
 msgstr "Não foi possível mostrar este gráfico com essas informações."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:457
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:469
 msgid "No results!"
 msgstr "Nenhum resultado!"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:478
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:490
 msgid "Still Waiting..."
 msgstr "Ainda esperando..."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:481
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:493
 msgid "This usually takes an average of {0}."
 msgstr "Isso geralmente leva cerca de {0}."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:487
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:499
 msgid "(This is a bit long for a dashboard)"
 msgstr "(Isso é um pouco demorado para um painel)"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:491
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:503
 msgid "This is usually pretty fast but seems to be taking awhile right now."
 msgstr "Normalmente isso é bastante rápido, mas parece estar demorando neste momento."
 
@@ -6626,7 +6625,7 @@ msgid "Highlight the whole row"
 msgstr "Realçar"
 
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:390
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:90
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:98
 msgid "Colors"
 msgstr "Cores"
 
@@ -6935,7 +6934,7 @@ msgid "Funnel"
 msgstr "Funil"
 
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:76
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:68
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:76
 msgid "Measure"
 msgstr "Medida"
 
@@ -6951,15 +6950,15 @@ msgstr "Gráfico de barras"
 msgid "line chart"
 msgstr "gráfico de linhas"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:225
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:224
 msgid "Please select longitude and latitude columns in the chart settings."
 msgstr "Selecione as colunas de longitude e latitude na configuração do gráfico"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:231
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:230
 msgid "Please select a region map."
 msgstr "Por favor, selecione um mapa da região."
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:237
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:236
 msgid "Please select region and metric columns in the chart settings."
 msgstr "Selecione as colunas e métricas da região nas configurações do gráfico."
 
@@ -7009,19 +7008,19 @@ msgstr "Campo métrico"
 msgid "Region field"
 msgstr "Campo de região"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:193
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:192
 msgid "Radius"
 msgstr "Rádio"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:199
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:198
 msgid "Blur"
 msgstr "Borrão"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:205
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:204
 msgid "Min Opacity"
 msgstr "Opacidade mínima"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:211
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:210
 msgid "Max Zoom"
 msgstr "Zoom máximo"
 
@@ -7045,31 +7044,31 @@ msgstr "Detalhe do Objeto"
 msgid "object"
 msgstr "objeto"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:304
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:312
 msgid "Total"
 msgstr "Total"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:53
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:61
 msgid "Which columns do you want to use?"
 msgstr "Quais colunas você deseja usar?"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:41
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:44
 msgid "Pie"
 msgstr "Pizza"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:63
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:71
 msgid "Dimension"
 msgstr "Dimensão"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:73
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:81
 msgid "Show legend"
 msgstr "Mostrar legenda"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:78
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:86
 msgid "Show percentages in legend"
 msgstr "Mostrar percentagens na legenda"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:84
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:92
 msgid "Minimum slice percentage"
 msgstr "Percentagem mínima de porção"
 
@@ -7093,8 +7092,8 @@ msgstr "A exibição de progresso requer um número."
 msgid "Progress"
 msgstr "Progresso"
 
-#: frontend/src/metabase/entities/collections.js:101
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:177
+#: frontend/src/metabase/entities/collections.js:108
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:176
 #: frontend/src/metabase/visualizations/visualizations/Progress.jsx:57
 msgid "Color"
 msgstr "Cor"
@@ -7185,13 +7184,13 @@ msgstr "Direita"
 msgid "Show background"
 msgstr "Mostrar fundo"
 
-#: frontend/src/metabase-lib/lib/Dimension.js:492
+#: frontend/src/metabase-lib/lib/Dimension.js:553
 msgid "{0} bin"
 msgid_plural "{0} bins"
 msgstr[0] "{0} agrupamento"
 msgstr[1] "{0} agrupamentos"
 
-#: frontend/src/metabase-lib/lib/Dimension.js:498
+#: frontend/src/metabase-lib/lib/Dimension.js:559
 msgid "Auto binned"
 msgstr "Auto agrupado"
 
@@ -7223,7 +7222,7 @@ msgstr "Tipo de entidade inválido"
 msgid "Invalid comparison entity type. Can only be one of \"table\", \"segment\", or \"adhoc\""
 msgstr "Tipo de entidade de comparação inválida. Pode ser somente um de: \"tabela\", \"segmento\", ou \"adhoc\""
 
-#: src/metabase/api/card.clj
+#: src/metabase/query_processor/async.clj
 msgid "Error running query to determine Card result metadata:"
 msgstr "Erro ao executar a query para determinar o resultado de metadados do cartão:"
 
@@ -7268,14 +7267,14 @@ msgstr "Aviso: o endpoint {0}/{1} não tem uma docstring"
 msgid "starting streaming request"
 msgstr "iniciando a requisição de fluxo"
 
-#: src/metabase/api/common.clj
+#: src/metabase/async/api_response.clj
 msgid "connection closed, canceling request"
 msgstr "conexão fechada, cancelando requisição"
 
 #. a newline padding character as it's harmless and will allow us to check if the client is connected. If
 #. sending this character fails because the connection is closed, the chan will then close.  Newlines are
 #. no-ops when reading JSON which this depends upon.
-#: src/metabase/api/common.clj
+#: src/metabase/async/api_response.clj
 msgid "Response not ready, writing one byte & sleeping..."
 msgstr "Resposta não está pronta, escrevendo um byte e pausando..."
 
@@ -7462,22 +7461,30 @@ msgstr "Agrupamento automático"
 msgid "Don''t bin"
 msgstr "Não Agrupar"
 
-#: src/metabase/api/table.clj
+#: frontend/src/metabase/lib/query_time.js:193 src/metabase/api/table.clj
 msgid "Day"
-msgstr "Dia"
+msgid_plural "Days"
+msgstr[0] "Dia"
+msgstr[1] "Dias"
 
 #. note the order of these options corresponds to the order they will be shown to the user in the UI
-#: src/metabase/api/table.clj
+#: frontend/src/metabase/lib/query_time.js:189 src/metabase/api/table.clj
 msgid "Minute"
-msgstr "Minuto"
+msgid_plural "Minutes"
+msgstr[0] "Minuto"
+msgstr[1] "Minutos"
 
-#: src/metabase/api/table.clj
+#: frontend/src/metabase/lib/query_time.js:191 src/metabase/api/table.clj
 msgid "Hour"
-msgstr "Hora"
+msgid_plural "Hours"
+msgstr[0] "Hora"
+msgstr[1] "Horas"
 
-#: src/metabase/api/table.clj
+#: frontend/src/metabase/lib/query_time.js:199 src/metabase/api/table.clj
 msgid "Quarter"
-msgstr "Trimestre"
+msgid_plural "Quarters"
+msgstr[0] "Trimestre"
+msgstr[1] "Trimestres"
 
 #: src/metabase/api/table.clj
 msgid "Minute of Hour"
@@ -7546,7 +7553,7 @@ msgstr "Escritor de imagens apropriado não foi encontrado!"
 
 #: src/metabase/api/user.clj
 msgid "Email address already in use."
-msgstr "E-mail em uso"
+msgstr "E-mail já está em uso"
 
 #: src/metabase/api/user.clj
 msgid "Email address already associated to another user."
@@ -7638,7 +7645,7 @@ msgstr "{0} campo"
 
 #: src/metabase/automagic_dashboards/core.clj
 msgid "\"{0}\" question"
-msgstr "\"{0}\"questão"
+msgstr "\"{0}\" questão"
 
 #: src/metabase/automagic_dashboards/comparison.clj
 #: src/metabase/automagic_dashboards/core.clj
@@ -7828,11 +7835,11 @@ msgstr "Parece uma instalação nova.... preparando o assistente de instalação
 msgid "Metabase Initialization COMPLETE"
 msgstr "Inicialização do Metabase COMPLETA"
 
-#: src/metabase/core.clj
+#: src/metabase/server.clj
 msgid "Launching Embedded Jetty Webserver with config:"
 msgstr "Iniciando o servidor web Jetty incluído com a configuração:"
 
-#: src/metabase/core.clj
+#: src/metabase/server.clj
 msgid "Shutting Down Embedded Jetty Webserver"
 msgstr "Desligando o servidor web Jetty"
 
@@ -7893,51 +7900,51 @@ msgstr "Executando migrações do banco de dados..."
 msgid "Database Migrations Current ... "
 msgstr "Migração do banco de dados atual...␣"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Hmm, we couldn''t connect to the database."
 msgstr "Hmm, não conseguimos conectar ao banco de dados."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Make sure your host and port settings are correct"
 msgstr "Confirme que o servidor e porta estão corretos"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "We couldn''t connect to the ssh tunnel host."
 msgstr "Não conseguimos conectar ao tunel ssh para o servidor"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Check the username, password."
 msgstr "Verifique o nome de usuário, senha"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Check the hostname and port."
 msgstr "Verifique o nome e a porta."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like the database name is incorrect."
 msgstr "Parece que o nome do banco de dados está incorreto."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "It looks like your host is invalid."
 msgstr "Parece que o seu servidor é inválido."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Please double-check it and try again."
 msgstr "Por favor verifique os dados e tente novamente."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like your password is incorrect."
 msgstr "Parece que sua senha está incorreta"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like you forgot to enter your password."
 msgstr "Parece que você esqueceu de digitar sua senha."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like your username is incorrect."
 msgstr "Parece que seu nome de usuário está incorreto."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like the username or password is incorrect."
 msgstr "Parece que seu nome de usuário ou senha está incorreto."
 
@@ -7954,16 +7961,16 @@ msgstr "Driver registrado {0} {1}"
 msgid "No -init-driver function found for ''{0}''"
 msgstr "Sem função -init-driver encontrada para ''{0}''"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Unable to parse date string ''{0}'' for database engine ''{1}''"
 msgstr "Impossível de identificar data no texto ''{0}'' para o banco de dados ''{1}''"
 
 #. all-NULL columns in DBs like Mongo w/o explicit types
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Don''t know how to map class ''{0}'' to a Field base_type, falling back to :type/*."
 msgstr "Não sei como mapear a classe ''{0}'' para um campo base_type, alternando para :tipo/*."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/util.clj
 msgid "Failed to connect to database: {0}"
 msgstr "Falha ao conectar ao banco de dados: {0}"
 
@@ -7975,7 +7982,7 @@ msgstr "Identificador BigQuery inválido: ''{0}''"
 msgid "BigQuery statements can't be parameterized!"
 msgstr "Valores BigQuery não podem ser parametrizados!"
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql_jdbc/execute.clj
 msgid "Failed to set timezone:"
 msgstr "Falha ao escolher o fuso horário"
 
@@ -8107,11 +8114,11 @@ msgstr "Token da API Slack obtido de https://api.slack.com/web#authentication"
 msgid "Enable MetaBot, which lets you search for and view your saved questions directly via Slack."
 msgstr "Ativar o MetaBot, que permite pesquisar e visualizar suas perguntas salvas diretamente através do Slack."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
 msgid "Last MetaBot checkin was {0} ago."
 msgstr "Último checkin do MetaBot foi {0} atrás"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
 msgid "This instance will now handle MetaBot duties."
 msgstr "Esta instância vai controlar as tarefas do MetaBot."
 
@@ -8123,39 +8130,39 @@ msgstr "Isto é o que eu posso {0}:"
 msgid "I don''t know how to {0} `{1}`.n{2}"
 msgstr "Eu não sei como {0} `{1}` .n {2}"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/slack.clj
 msgid "Uh oh! :cry:n> {0}"
 msgstr "Oh não! :cry:n> {0}"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Here''s your {0} most recent cards:n{1}"
 msgstr "Aqui estão seus {0} cards mais recentes:n{1}"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Could you be a little more specific? I found these cards with names that matched:n{0}"
 msgstr "Você poderia ser um pouco mais específico? Eu encontrei esses cartões com Nomes correspondentes:n{0}"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "I don''t know what Card `{0}` is. Give me a Card ID or name."
 msgstr "Eu não sei o que é o cartão `{0}`. Me dê um ID ou nome do cartão."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Show which card? Give me a part of a card name or its ID and I can show it to you. If you don''t know which card you want, try `metabot list`."
 msgstr "Qual cartão mostrar? Dê-me uma parte do nome de um cartão ou seu ID e você Eu posso mostrar Se você não sabe qual placa você quer, tente `metabot list`."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Ok, just a second..."
 msgstr "Ok, só um segundo..."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Not Found"
 msgstr "Não encontrado"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Loading Kanye quotes..."
 msgstr "Carregando citações de Kanye..."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/events.clj
 msgid "Evaluating Metabot command:"
 msgstr "Avaliando o comando Metabot:"
 
@@ -8163,23 +8170,23 @@ msgstr "Avaliando o comando Metabot:"
 msgid "Go home websocket, you're drunk."
 msgstr "Vá para casa websocket, você está bêbado."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/websocket.clj
 msgid "Error launching metabot:"
 msgstr "Erro ao iniciar o metabot:"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/websocket.clj
 msgid "MetaBot WebSocket is closed. Reconnecting now."
 msgstr "O WebSocket do MetaBot está fechado. Reconectando agora."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/websocket.clj
 msgid "Error connecting websocket:"
 msgstr "Erro ao conectar o websocket:"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
 msgid "This instance is performing MetaBot duties."
 msgstr "Esta instância está executando as tarefas do Metabot."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
 msgid "Another instance is already handling MetaBot duties."
 msgstr "Outra instância já está controlando as tarefas do Metabot."
 
@@ -8195,15 +8202,15 @@ msgstr "Parando MetaBot...  🤖"
 msgid "MetaBot already running. Killing the previous WebSocket listener first."
 msgstr "O MetaBot já está em execução. Terminando o verificador de WebSocket anterior primeiro."
 
-#: src/metabase/middleware.clj
+#: src/metabase/middleware/security.clj
 msgid "Base-64 encoded public key for this site's SSL certificate."
 msgstr "Chave pública codificada com base-64 do certificado SSL deste site."
 
-#: src/metabase/middleware.clj
+#: src/metabase/middleware/security.clj
 msgid "Specify this to enable HTTP Public Key Pinning."
 msgstr "Especifique esta opção para habilitar a fixação da chave pública HTTP."
 
-#: src/metabase/middleware.clj
+#: src/metabase/middleware/security.clj
 msgid "See {0} for more information."
 msgstr "Veja {0} para maiores informações."
 
@@ -8380,7 +8387,7 @@ msgstr "Você não pode atualizar a PermissionsRevision!"
 #. if there's still not a Card, throw an Exception!
 #: src/metabase/models/pulse.clj
 msgid "Invalid Alert: Alert does not have a Card assoicated with it"
-msgstr "Alerta Inválido: O alerta não tem um Cartão associado"
+msgstr "Alerta Inválido: o alerta não tem um Cartão associado"
 
 #: src/metabase/models/pulse.clj
 msgid "value must be a map with the keys `{0}`, `{1}`, and `{2}`."
@@ -8411,19 +8418,19 @@ msgstr "Você não pode atualizar uma Revisão!"
 msgid "Setting {0} does not exist.nFound: {1}"
 msgstr "Configuração {0} não existe.nFound: {1}"
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Updating value of settings-last-updated in DB..."
 msgstr "Atualizando o valor das \"últimas configurações atualizadas\" no BD..."
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Checking whether settings cache is out of date (requires DB call)..."
 msgstr "Verificando se as configurações em cache estão desatualizadas (requer uma chamada ao BD)..."
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Settings have been changed on another instance, and will be reloaded here."
 msgstr "Configurações foram alteradas por outra instância e serão recarregadas aqui."
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Refreshing Settings cache..."
 msgstr "Atualizando cache das configurações..."
 
@@ -8454,7 +8461,7 @@ msgstr "Carregando plugins no diretório {0}..."
 
 #: src/metabase/plugins.clj
 msgid "Loading plugin {0}... "
-msgstr "Carregando plugin {0}... "
+msgstr "Carregando plugin {0}..."
 
 #: src/metabase/plugins.clj
 msgid "It looks like you have some external dependencies in your Metabase plugins directory."
@@ -8636,7 +8643,7 @@ msgstr "Não foi possível localizar o campo com ID: {0}"
 
 #: src/metabase/query_processor/middleware/parameters/sql.clj
 msgid "''{0}'' is a required param."
-msgstr "''{0}''é um parâmetro requerido."
+msgstr "''{0}'' é um parâmetro requerido."
 
 #: src/metabase/query_processor/middleware/parameters/sql.clj
 msgid "Found ''{0}'' with no terminating ''{1}'' in query ''{2}''"
@@ -8929,27 +8936,27 @@ msgstr "Ver todas as permissões de coleções"
 msgid "Also change sub-collections"
 msgstr "Mude também as sub-coleções"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:278
+#: frontend/src/metabase/admin/permissions/selectors.js:282
 msgid "Can edit this collection and its contents"
 msgstr "Pode editar essa coleção e seu conteúdo"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:285
+#: frontend/src/metabase/admin/permissions/selectors.js:289
 msgid "Can view items in this collection"
 msgstr "Pode ver os itens dessa coleção"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:745
+#: frontend/src/metabase/admin/permissions/selectors.js:749
 msgid "Collection Access"
 msgstr "Acesso à coleção"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:821
+#: frontend/src/metabase/admin/permissions/selectors.js:825
 msgid "This group has permission to view at least one subcollection of this collection."
 msgstr "Este grupo tem permissão para ver ao menos uma sub-coleção desta coleção."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:826
+#: frontend/src/metabase/admin/permissions/selectors.js:830
 msgid "This group has permission to edit at least one subcollection of this collection."
 msgstr "Este grupo tem permissão para editar ao menos uma sub-coleção desta coleção."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:839
+#: frontend/src/metabase/admin/permissions/selectors.js:843
 msgid "View sub-collections"
 msgstr "Ver sub-coleções"
 
@@ -8957,19 +8964,19 @@ msgstr "Ver sub-coleções"
 msgid "Remember Me"
 msgstr "Lembre me"
 
-#: frontend/src/metabase/components/BrowseApp.jsx:120
+#: frontend/src/metabase/components/BrowseApp.jsx:95
 msgid "X-ray this schema"
 msgstr "Raio-X desse esquema"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:246
+#: frontend/src/metabase/components/CollectionLanding.jsx:258
 msgid "Edit the permissions for this collection"
 msgstr "Editar as permissões dessa coleção"
 
-#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:51
+#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:55
 msgid "Add this question to a dashboard"
 msgstr "Adicionar essa questão para um painel"
 
-#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:61
+#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:65
 msgid "Create a new dashboard"
 msgstr "Criar um novo painel"
 
@@ -8981,11 +8988,11 @@ msgstr "A página que você pediu não pode ser encontrada."
 msgid "Select a {0}"
 msgstr "Selecione um {0}"
 
-#: frontend/src/metabase/containers/Overworld.jsx:190
+#: frontend/src/metabase/containers/Overworld.jsx:185
 msgid "Save dashboards, questions, and collections in \"{0}\""
 msgstr "Salvar painéis, questões e coleções em \"{0}\""
 
-#: frontend/src/metabase/containers/Overworld.jsx:193
+#: frontend/src/metabase/containers/Overworld.jsx:188
 msgid "Access dashboards, questions, and collections in \"{0}\""
 msgstr "Acessar painéis, questões e coleções em \"{0}\""
 
@@ -9005,11 +9012,11 @@ msgstr "Relacionado"
 msgid "More X-rays"
 msgstr "Mais Raios-X"
 
-#: frontend/src/metabase/home/containers/SearchApp.jsx:50
+#: frontend/src/metabase/home/containers/SearchApp.jsx:46
 msgid "No results"
 msgstr "Sem resultados"
 
-#: frontend/src/metabase/home/containers/SearchApp.jsx:51
+#: frontend/src/metabase/home/containers/SearchApp.jsx:47
 msgid "Metabase couldn't find any results for your search."
 msgstr "Metabase não pode localizar nenhum resultado da sua pesquisa."
 
@@ -9055,43 +9062,43 @@ msgstr "Falha ao garantir permissões: {0}"
 msgid "Cannot decrypt encrypted string. Have you changed or forgot to set MB_ENCRYPTION_SECRET_KEY?"
 msgstr "Não foi possivel decriptar o texto. Você mudou ou esqueceu de dar um valor para MB_ENCRYPTION_SECRET_KEY?"
 
-#: frontend/src/metabase/entities/collections.js:157
+#: frontend/src/metabase/entities/collections.js:164
 msgid "All personal collections"
 msgstr "Todas coleções pessoais"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Host"
 msgstr "Servidor"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Port"
 msgstr "Porta"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Database username"
 msgstr "Usuário do banco de dados"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "What username do you use to login to the database?"
 msgstr "Qual usuário você usa para acessar o banco de dados?"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Database password"
 msgstr "Senha do banco de dados"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Database name"
 msgstr "Nome do banco de dados"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "birds_of_the_world"
 msgstr "aves_do_mundo"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Use a secure connection (SSL)?"
 msgstr "Usar uma conexão segura (SSL)?"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Additional JDBC connection string options"
 msgstr "Opções adicionais dos parâmetros de conexão JDBC"
 
@@ -9230,7 +9237,7 @@ msgstr "Rótulos"
 msgid "Add members"
 msgstr "Adicionar membros"
 
-#: frontend/src/metabase/entities/collections.js:108
+#: frontend/src/metabase/entities/collections.js:115
 msgid "Collection it's saved in"
 msgstr "Coleção que está salva"
 
@@ -9259,10 +9266,10 @@ msgstr "Compartilhamento"
 #: frontend/src/metabase/visualizations/lib/settings/graph.js:321
 #: frontend/src/metabase/visualizations/lib/settings/nested.js:126
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:83
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:72
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:77
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:83
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:89
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:80
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:85
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:91
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:97
 #: frontend/src/metabase/visualizations/visualizations/Progress.jsx:50
 #: frontend/src/metabase/visualizations/visualizations/Progress.jsx:56
 #: frontend/src/metabase/visualizations/visualizations/Text.jsx:72
@@ -9284,20 +9291,20 @@ msgstr "Eixos"
 
 #: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:222
 #: frontend/src/metabase/admin/settings/selectors.js:319
-#: frontend/src/metabase/qb/components/drill/FormatAction.jsx:27
+#: frontend/src/metabase/modes/components/drill/FormatAction.jsx:27
 #: frontend/src/metabase/visualizations/lib/settings/column.js:63
 msgid "Formatting"
 msgstr "Formatação"
 
-#: frontend/src/metabase/containers/Overworld.jsx:107
+#: frontend/src/metabase/containers/Overworld.jsx:102
 msgid "Try these x-rays based on your data."
 msgstr "Experimente esses Raios-X que criei com seus dados."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:35
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:36
 msgid "There was a problem displaying this chart."
 msgstr "Houve um problema ao exibir esse gráfico."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:36
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:37
 msgid "Sorry, you don't have permission to see this card."
 msgstr "Desculpe, mas você não tem permissão para visualizar esse cartão."
 
@@ -9311,11 +9318,11 @@ msgid "{0} without the Sample Dataset, the Query Builder tutorial won't work. Yo
 msgstr "{0} sem o conjunto de dados de exemplo, o tutorial do editor de consultas não irá funcionar. Você pode sempre restaurar o conjunto de dados de exemplo mas qualquer pergunta que você tenha salvado usando esses dados será perdida."
 
 #. Fala Maurício, provavelmente foi detalhe, mas ajustei esse e mais um campo. Se precisar de ajuda, só falar! Parabéns pelo trabalho!!!
-#: frontend/src/metabase/qb/components/drill/AutomaticDashboardDrill.jsx:33
+#: frontend/src/metabase/modes/components/drill/AutomaticDashboardDrill.jsx:33
 msgid "X-ray"
 msgstr "Raio-X"
 
-#: frontend/src/metabase/qb/components/drill/CompareToRestDrill.js:34
+#: frontend/src/metabase/modes/components/drill/CompareToRestDrill.js:34
 msgid "Compare to the rest"
 msgstr "Comparar ao restante"
 
@@ -9328,11 +9335,11 @@ msgid "We suggest you leave this off unless you're doing manual timezone casting
 "many or most of your queries with this data."
 msgstr "Nós sugerimos que você deixe desativado exceto quando você estiver fazendo conversões de fuso horário em várias ou na maioria de suas consultas com esses dados."
 
-#: frontend/src/metabase/containers/Overworld.jsx:315
+#: frontend/src/metabase/containers/Overworld.jsx:310
 msgid "Your team's most important dashboards go here"
 msgstr "Os painéis mais importantes do seu time vão aqui"
 
-#: frontend/src/metabase/containers/Overworld.jsx:316
+#: frontend/src/metabase/containers/Overworld.jsx:311
 msgid "Pin dashboards in {0} to have them appear in this space for everyone"
 msgstr "Fixe painéis em {0} para eles aparecerem neste espaço para todos"
 
@@ -9360,8 +9367,8 @@ msgstr "Selecione um tipo de moeda"
 msgid "Field Type"
 msgstr "Tipo de Campo"
 
-#: frontend/src/metabase/admin/routes.jsx:83
-#: frontend/src/metabase/nav/containers/Navbar.jsx:225
+#: frontend/src/metabase/admin/routes.jsx:109
+#: frontend/src/metabase/nav/containers/Navbar.jsx:224
 msgid "Troubleshooting"
 msgstr "Solução de Problemas"
 
@@ -9373,35 +9380,35 @@ msgstr "Habilitar funções Raio-X"
 msgid "Formatting Options"
 msgstr "Opções de Formatação"
 
-#: frontend/src/metabase/admin/tasks/containers/TaskModal.jsx:20
+#: frontend/src/metabase/admin/tasks/containers/TaskModal.jsx:19
 msgid "Task details"
 msgstr "Detalhes da Tarefa"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:36
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:29
 msgid "Troubleshooting logs"
 msgstr "Relatório de solução de problemas"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:38
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:31
 msgid "Trying to get to the bottom of something? This section shows logs of Metabase's background tasks, which can help shed light on what's going on."
-msgstr "Tentando chegar ao fundo de algo? Esta seção mostra os registros das tareas em segundo plano do Metabase, que podem ajudar a esclarecer o que está acontecendo."
+msgstr "Tentando chegar ao fundo de algo? Esta seção mostra os registros das tarefas em segundo plano do Metabase, que podem ajudar a esclarecer o que está acontecendo."
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:63
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:56
 msgid "Task"
 msgstr "Tarefa"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:64
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:57
 msgid "DB ID"
 msgstr "ID BD"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:65
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:58
 msgid "Started at"
 msgstr "Iniciado em"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:66
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:59
 msgid "Ended at"
 msgstr "Terminado em"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:67
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:60
 msgid "Duration (ms)"
 msgstr "Duração (ms)"
 
@@ -9409,7 +9416,7 @@ msgstr "Duração (ms)"
 msgid "Currency"
 msgstr "Moeda"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:163
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:161
 msgid "Pick a user or channel..."
 msgstr "Selecione um usuário ou canal..."
 
@@ -9586,15 +9593,15 @@ msgstr "Indicador"
 msgid "Gauge ranges"
 msgstr "Intervalo do indicador"
 
-#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:91
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:94
 msgid "Field to show"
 msgstr "Campo a ser mostrado"
 
-#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:118
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:121
 msgid "last {0}"
 msgstr "último {0}"
 
-#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:176
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:185
 msgid "{0} was {1} {2}"
 msgstr "{0} era {1} {2}"
 
@@ -9612,7 +9619,7 @@ msgstr "Coluna eixo"
 
 #: frontend/src/metabase/visualizations/visualizations/Table.jsx:107
 msgid "Cell column"
-msgstr "Coluna célua"
+msgstr "Coluna da célula"
 
 #: frontend/src/metabase/visualizations/visualizations/Table.jsx:123
 msgid "Visible columns"
@@ -9757,19 +9764,19 @@ msgstr "AVISO: Apenas faz sentido especificar :campos para uma consulta sem agre
 msgid "WARNING: Druid doenst allow limitSpec in timeseries queries. Ignoring the LIMIT clause."
 msgstr "AVISO: Druid não permite limitSpec em consulta de tempo. Ignorando a cláusula limit"
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql/query_processor.clj
 msgid "HoneySQL Form:"
 msgstr "Formulário HoneySQL:"
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql_jdbc/execute.clj
 msgid "Unable to parse date ''{0}''"
 msgstr "Incapaz de analisar o data \"{0}\""
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql_jdbc/execute.clj
 msgid "Client closed connection, cancelling query"
 msgstr "Conexão do cliente fechada, cancelando solicitação"
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql_jdbc/execute.clj
 msgid "Setting timezone with statement: {0}"
 msgstr "Configurando timezaone com: {0}"
 
@@ -9835,7 +9842,7 @@ msgstr "Valores de campo NÃO são permitidos para esse campo"
 
 #: src/metabase/models/field_values.clj
 msgid "Field {0} ''{1}'' should have FieldValues and belongs to a Database with On-Demand FieldValues updating."
-msgstr "Campo {0} \"{1}\" deverá"
+msgstr "Campo {0} \"{1}\" deverá ter Valores de Campo e pertencer ao Banco de Dados com atualização de Valores de Campo Sob Demanda"
 
 #: src/metabase/models/permissions.clj
 msgid "You cannot create or revoke permissions for the ''Admin'' group."
@@ -9854,7 +9861,7 @@ msgid "You cannot remove the last member of the ''Admin'' group!"
 msgstr "Você não pode remover o último membro do grupo \"Administradores\""
 
 #. go ahead and log the Exception anyway on the off chance that it *wasn't* just a race condition issue
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Error inserting a new Setting: {0}"
 msgstr "Erro ao inserir uma nova configuração: {0}"
 
@@ -9916,7 +9923,7 @@ msgstr "Nenhum formulário nativo retornado"
 
 #: src/metabase/query_processor.clj
 msgid "Invalid response from database driver. No :status provided."
-msgstr "Resposta inválida do driver d"
+msgstr "Resposta inválida do driver de banco de dados. Nenhum status foi dado."
 
 #: src/metabase/query_processor.clj
 msgid "General error"
@@ -10459,7 +10466,7 @@ msgstr "Onde você conseguiu seus usuários"
 #: resources/automagic_dashboards/field/Number.yaml
 #: resources/automagic_dashboards/table/GenericTable.yaml
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
-msgid "How they compare across location"
+msgid "How they compare acrosss location"
 msgstr "Como eles se comparam através das localizações"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
@@ -10705,7 +10712,7 @@ msgstr "Como [[this]] é distríbuido"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Distinct [[FK]]"
-msgstr "Distintp [[FK]]"
+msgstr "[[FK]] distinta"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "How these transactions are distributed"
@@ -10732,8 +10739,7 @@ msgstr "Contagem de [[GenericCategoryMedium]] por [[this]]"
 #: resources/automagic_dashboards/comparison/Country.yaml
 #: resources/automagic_dashboards/comparison/GenericField.yaml
 msgid "A look at your [[this]]"
-msgstr "Uma olhada no seu\n"
-" [[this]]"
+msgstr "Uma olhada no seu [[this]]"
 
 #: resources/automagic_dashboards/field/DateTime.yaml
 #: resources/automagic_dashboards/field/GenericField.yaml
@@ -10762,7 +10768,7 @@ msgstr "Exemplo de Exploração"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
 msgid "Sales vs. rating"
-msgstr "Vendas vs. classificação"
+msgstr "Vendas x classificação"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "[[this]] per hour of the day"
@@ -10903,7 +10909,7 @@ msgstr "Uma olhada mais de perto sobre as métricas e dimensões usadas nessa qu
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "[[this.short-name]] per [[GenericCategoryMedium]]"
-msgstr "[[this.short-name]] por[[GenericCategoryMedium]]"
+msgstr "[[this.short-name]] por [[GenericCategoryMedium]]"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
 msgid "Sales per product [[ProductCategoryLarge]]"
@@ -11120,7 +11126,7 @@ msgstr "Por [[Source]]"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Average item quantity per month"
-msgstr "Média da quantidade de itens por mês "
+msgstr "Média da quantidade de itens por mês"
 
 #: resources/automagic_dashboards/field/Country.yaml
 msgid "The number of [[GenericTable]] per country, and how each country is represented in different categories."
@@ -11314,3 +11320,1060 @@ msgstr "Token faltando valor para keypath"
 msgid "In-depth example"
 msgstr "Exemplo detalhado"
 
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:29
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:17
+msgid "Key"
+msgstr "Chaves"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:30
+msgid "Class"
+msgstr "Classe"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:32
+msgid "Triggers"
+msgstr "Gatilhos"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:48
+msgid "View triggers"
+msgstr "Gatilhos de Exibição"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:82
+msgid "Scheduler Info"
+msgstr "Informações do Agendador"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:20
+msgid "Priority"
+msgstr "Prioridade"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:21
+msgid "Last Fired"
+msgstr "Última Execução"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:22
+msgid "Next Fire Time"
+msgstr "Hora da Próxima Execução"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:23
+msgid "Start Time"
+msgstr "Hora de Início"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:24
+msgid "End Time"
+msgstr "Hora de Término"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:25
+msgid "Final Fire Time"
+msgstr "Hora da Execução Final"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:26
+msgid "May Fire Again?"
+msgstr "Pode Executar Novamente?"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:75
+msgid "Triggers for {0}"
+msgstr "Gatilhos para {0}"
+
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:25
+msgid "Tasks"
+msgstr "Tarefas"
+
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:30
+msgid "Jobs"
+msgstr "Trabalhos"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:740
+msgid "Duplicated {0}"
+msgstr "Duplicados {0}"
+
+#: frontend/src/metabase/components/EntityItem.jsx:55
+msgid "Duplicate this item"
+msgstr "Duplicar este item"
+
+#: frontend/src/metabase/components/EntityItem.jsx:61
+msgid "Archive this item"
+msgstr "Arquivar este item"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:330
+msgid "Duplicate dashboard"
+msgstr "Duplicar painel"
+
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:16
+msgid "Duplicate \"{0}\""
+msgstr "Duplicar \"{0}\""
+
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:21
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:26
+msgid "Duplicate"
+msgstr "Duplicar"
+
+#: frontend/src/metabase/lib/query_time.js:115
+msgid "Tomorrow"
+msgstr "Amanhã"
+
+#: frontend/src/metabase/lib/query_time.js:129
+#: frontend/src/metabase/lib/query_time.js:143
+msgid "This {0}"
+msgstr "Este {0}"
+
+#: frontend/src/metabase/lib/query_time.js:132
+msgid "Next {0}"
+msgstr "Próximo {0}"
+
+#: frontend/src/metabase/lib/query_time.js:135
+msgid "Previous {0}"
+msgstr "Anterior {0}"
+
+#: frontend/src/metabase/lib/query_time.js:139
+msgid "Previous {0} {1}"
+msgstr "Anterior {0} {1}"
+
+#: frontend/src/metabase/lib/query_time.js:141
+msgid "Next {0} {1}"
+msgstr "Próximo {0} {1}"
+
+#: frontend/src/metabase/lib/query_time.js:171
+msgid "Now"
+msgstr "Agora"
+
+#: frontend/src/metabase/lib/query_time.js:174
+msgid "{0} {1} ago"
+msgstr "{0} {1} atrás"
+
+#: frontend/src/metabase/lib/query_time.js:175
+msgid "{0} {1} from now"
+msgstr "{0} {1} a partir de agora"
+
+#: frontend/src/metabase/lib/query_time.js:187
+msgid "Default period"
+msgid_plural "Default periods"
+msgstr[0] "Período padrão"
+msgstr[1] "Períodos padrão"
+
+#: frontend/src/metabase/lib/query_time.js:203
+msgid "Minute of hour"
+msgid_plural "Minutes of hour"
+msgstr[0] "Minuto da hora"
+msgstr[1] "Minutos da hora"
+
+#: frontend/src/metabase/lib/query_time.js:205
+msgid "Hour of day"
+msgid_plural "Hours of day"
+msgstr[0] "Hora do dia"
+msgstr[1] "Horas do dia"
+
+#: frontend/src/metabase/lib/query_time.js:207
+msgid "Day of week"
+msgid_plural "Days of week"
+msgstr[0] "Dia da semana"
+msgstr[1] "Dias da semana"
+
+#: frontend/src/metabase/lib/query_time.js:209
+msgid "Day of month"
+msgid_plural "Days of month"
+msgstr[0] "Dia do mês"
+msgstr[1] "Dias do mês"
+
+#: frontend/src/metabase/lib/query_time.js:211
+msgid "Day of year"
+msgid_plural "Days of year"
+msgstr[0] "Dia do ano"
+msgstr[1] "Dias do ano"
+
+#: frontend/src/metabase/lib/query_time.js:213
+msgid "Week of year"
+msgid_plural "Weeks of year"
+msgstr[0] "Semana do ano"
+msgstr[1] "Semanas do ano"
+
+#: frontend/src/metabase/lib/query_time.js:215
+msgid "Month of year"
+msgid_plural "Months of year"
+msgstr[0] "Mês do ano"
+msgstr[1] "Meses do ano"
+
+#: frontend/src/metabase/lib/query_time.js:217
+msgid "Quarter of year"
+msgid_plural "Quarters of year"
+msgstr[0] "Trimestre do ano"
+msgstr[1] "Trimestres do ano"
+
+#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:62
+#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:58
+#: frontend/src/metabase/query_builder/components/Filter.jsx:79
+msgid "{0} selection"
+msgid_plural "{0} selections"
+msgstr[0] "{0} seleção"
+msgstr[1] "{0} seleções"
+
+#: frontend/src/metabase/parameters/components/widgets/DateQuarterYearWidget.jsx:11
+msgid "[Q]Q"
+msgstr "[T]T"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:28
+msgid "This"
+msgstr "Isto"
+
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:64
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:96
+msgid "Invalid"
+msgstr "Inválido"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/SpecificDatePicker.jsx:147
+msgid "Add a time"
+msgstr "Adicionar um horário"
+
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:170
+msgid "Nothing to compare for the previous {0}."
+msgstr "Nada a comparar para o anterior"
+
+#: frontend/src/metabase-lib/lib/Dimension.js:517
+msgid "by {0}"
+msgstr "por {0}"
+
+#: src/metabase/api/database.clj
+msgid "value must be a valid database engine."
+msgstr "valor deve ser um mecanismo de banco de dados válido"
+
+#: src/metabase/api/geojson.clj
+msgid "Connection refused by host for URL `{0}`"
+msgstr "Conexão recusada pelo host para a URL `{0}`"
+
+#: src/metabase/db.clj
+msgid "Warning: Postgres connection string with `ssl=true` detected."
+msgstr "Aviso: cadeia de conexão do Postgres com `ssl=true` detectada."
+
+#: src/metabase/db.clj
+msgid "You may need to add `?sslmode=require` to your application DB connection string."
+msgstr "Você pode necessitar adicionar `?sslmode=require` para a cadeia de conexão do BD."
+
+#: src/metabase/db.clj
+msgid "If Metabase fails to launch, please add it and try again."
+msgstr "Se Metabase falhar em inicializar, por favor adicione isso e tente novamente."
+
+#: src/metabase/db.clj
+msgid "See https://github.com/metabase/metabase/issues/8908 for more details."
+msgstr "Veja https://github.com/metabase/metabase/issues/8908 para mais detalhes."
+
+#: src/metabase/db.clj
+msgid "WARNING: Using Metabase with an H2 application database is not recomended for production deployments."
+msgstr "AVISO: Usando Metase com um banco de dados de aplicação H2 não é recomendado para ambientes de produção."
+
+#: src/metabase/db.clj
+msgid "For production deployments, we highly recommend using Postgres, MySQL, or MariaDB instead."
+msgstr "Para ambientes de produção, nós recomendamos fortemente usar Postgres, MySQL ou MariaDB no lugar."
+
+#: src/metabase/db.clj
+msgid "If you decide to continue to use H2, please be sure to back up the database file regularly."
+msgstr "Se você decidir continuar a usar H2, por favor certifique-se de fazer backup de seu banco de dados regularmente."
+
+#: src/metabase/db.clj
+msgid "See https://metabase.com/docs/latest/operations-guide/start.html#migrating-from-using-the-h2-database-to-mysql-or-postgres for more information."
+msgstr "Veja https://metabase.com/docs/latest/operations-guide/start.html#migrating-from-using-the-h2-database-to-mysql-or-postgres para mais informações."
+
+#: src/metabase/db.clj
+msgid "Unable to connect to Metabase {0} DB."
+msgstr "Não foi possível conectar ao BD do Metabase {0}."
+
+#: src/metabase/db/migrations.clj
+msgid "Error adding legacy SQL directive to BigQuery saved Question"
+msgstr "Erro ao adicionar diretiva de SQL legado para a Questão BigQuery salva"
+
+#: src/metabase/driver.clj
+msgid "Failed to notify {0} Database {1} updated"
+msgstr "Falha ao notificar banco de dados {0}, {1} atualizado(s)"
+
+#: src/metabase/driver.clj
+msgid "Loading driver {0} {1}"
+msgstr "Carregando driver {0} {1}"
+
+#: src/metabase/driver.clj
+msgid "Load driver {0}"
+msgstr "Carregar driver {0}"
+
+#: src/metabase/driver.clj
+msgid "Driver not registered after loading: {0}"
+msgstr "Driver não registrado após carga: {0}"
+
+#: src/metabase/driver.clj
+msgid "Error: attempting to change {0} property `:abstract?` from {1} to {2}."
+msgstr "Erro: tentando mudar propriedade {0} `:abstract?` de {1} para {2}."
+
+#: src/metabase/driver.clj
+msgid "Registered abstract driver {0}"
+msgstr "Driver abstrato registrado {0}"
+
+#: src/metabase/driver.clj
+msgid "Registered driver {0}"
+msgstr "Driver registrado {0}"
+
+#: src/metabase/driver.clj
+msgid "(parents: {0})"
+msgstr "(pais: {0})"
+
+#: src/metabase/driver.clj
+msgid "Initializing driver {0}..."
+msgstr "Inicializando driver {0}..."
+
+#: src/metabase/driver.clj
+msgid "Reason:"
+msgstr "Razão:"
+
+#: src/metabase/driver.clj
+msgid "Invalid driver feature: {0}"
+msgstr "Funcionalidade driver inválida: {0}"
+
+#: src/metabase/driver/sql/query_processor.clj
+msgid "Invalid HoneySQL form:"
+msgstr "Formulário HoneySQL inválido:"
+
+#: src/metabase/driver/sql_jdbc/connection.clj
+msgid "Closing connection pool for database {0} ..."
+msgstr "Fechando pool de conexão para o banco de dados {0} ..."
+
+#: src/metabase/driver/util.clj
+msgid "Error loading namespace"
+msgstr "Erro carregando namespace"
+
+#: src/metabase/events.clj
+msgid "Starting events listener:"
+msgstr "Inicializando listener de eventos:"
+
+#: src/metabase/events.clj
+msgid "Unexpected error listening on events"
+msgstr "Erro inesperado escutando eventos"
+
+#: src/metabase/events/sync_database.clj
+msgid "Error syncing Database {0}"
+msgstr "Erro sincronizado banco de dados {0}"
+
+#: src/metabase/events/sync_database.clj
+msgid "Failed to process sync-database event."
+msgstr "Falha ao processar evento sincronização de banco de dados (sync-database)."
+
+#: src/metabase/mbql/util.clj
+msgid "Bad nested-query-level: query does not have a source query"
+msgstr "Consulta aninhada (nested-query-level) errada: consulta não tem uma consulta-fonte"
+
+#: src/metabase/metabot/command.clj
+msgid "I don''t know how to `{0}`."
+msgstr "Eu não sei `{0}`."
+
+#: src/metabase/metabot/command.clj
+msgid "Here''s what I can do: "
+msgstr "Aqui o que você pode fazer:"
+
+#: src/metabase/metabot/slack.clj
+msgid "Error in Metabot command"
+msgstr "Erro no comando Metabot"
+
+#: src/metabase/metabot/websocket.clj
+msgid "Websocket associated with this Slack event is different from the websocket we're currently using."
+msgstr "Websocket associado com este evento Slack é diferente do websocket que você está utilizando atualmente."
+
+#: src/metabase/models/field_values.clj
+msgid "FieldValues for Field {0} remain unchanged. Skipping..."
+msgstr "Valores de campo (FieldValues) para o Campo {0} continuam inalterados. Pulando..."
+
+#: src/metabase/models/interface.clj
+msgid "Unable to normalize:"
+msgstr "Incapaz de normalizar:"
+
+#: src/metabase/models/params.clj
+msgid "Could not find matching Field ID for target:"
+msgstr "Não foi possível encontrar ID do campo correspondente para o alvo:"
+
+#: src/metabase/plugins.clj
+msgid "Metabase does not have permissions to write to plugins directory {0}"
+msgstr "Metabase não tem permissões para escrever no diretório de plugins {0}"
+
+#: src/metabase/plugins.clj
+msgid "Metabase cannot use the plugins directory {0}"
+msgstr "Metabase não pode usar o diretório de plugins {0}"
+
+#: src/metabase/plugins.clj
+msgid "Please make sure the directory exists and that Metabase has permission to write to it."
+msgstr "Por favor certifique-se que o diretório existe e que Metabase tenha permissões de escrita."
+
+#: src/metabase/plugins.clj
+msgid "You can change the directory Metabase uses for modules by setting the environment variable MB_PLUGINS_DIR."
+msgstr "Você pode alterar o diretório que Metabase usa para módulos configurando a variável de ambiente MB_PLUGINS_DIR."
+
+#: src/metabase/plugins.clj
+msgid "Falling back to a temporary directory for now."
+msgstr "Utilizando um diretório temporário por agora."
+
+#: src/metabase/plugins.clj
+msgid "Metabase cannot write to temporary directory. Please set MB_PLUGINS_DIR to a writable directory and restart Metabase."
+msgstr "Metabase não pode escrever no diretório temporário. Por favor configure MB_PLUGINS_DIR para um diretório com permissão de escrita e reinicie o Metabase."
+
+#: src/metabase/plugins.clj
+msgid "spark-deps.jar is no longer needed by Metabase 1.0+. You can delete it from the plugins directory."
+msgstr "spark-deps.jar não é mais necessário no Metabase 1.0+. Você pode deletar ele do diretório de plugins."
+
+#: src/metabase/plugins.clj
+msgid "Failied to initialize plugin {0}"
+msgstr "Falha ao inicializar plugin {0}"
+
+#: src/metabase/plugins.clj
+msgid "Loading plugins in {0}..."
+msgstr "Carregando plugins em {0}..."
+
+#: src/metabase/plugins/classloader.clj
+msgid "Using Clojure base loader as shared context classloader: {0}"
+msgstr "Usando carregador de base Clojure como carregador de classe de contexto compartilhado: {0}"
+
+#: src/metabase/plugins/classloader.clj
+msgid "Setting current thread context classloader to shared classloader {0}..."
+msgstr "Definindo carregador de classe de contexto atual para o carregador de classe compartilhado {0}..."
+
+#. it's important that we deref the promise again here instead of using the one we just created because it is
+#. possible thru a race condition that somebody else delivered the promise before we did; in that case,
+#. Clojure ignores subsequent calls to `deliver`. Dereffing the promise guarantees that we'll get the actual
+#. value of it rather than one that ends up getting discarded
+#: src/metabase/plugins/classloader.clj
+msgid "Setting current thread context classloader to NEWLY CREATED classloader {0}..."
+msgstr "Definindo carregador de classe de contexto atual para o carregador de classe RECENTEMENTE CRIADO {0}..."
+
+#: src/metabase/plugins/classloader.clj
+msgid "Added URL {0} to classpath"
+msgstr "URL {0} adicionada ao caminho de classe"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugin {0} declares a dependency that Metabase does not understand: {1}"
+msgstr "Plugin {0} declara uma dependência que o Metabase não entende: {1}"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Refer to the plugin manifest reference for a complete list of valid plugin dependencies:"
+msgstr "Consulte a referência de manifesto de plugin para uma lista completa de dependências de plugin:"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Metabase cannot initialize plugin {0} due to required dependencies."
+msgstr "Metabase não pode inicializar o plugin {0} devido a dependências requeridas."
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Class not found: {0}"
+msgstr "Classe não encontrada: {0}"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugin ''{0}'' depends on plugin ''{1}''"
+msgstr "Plugin \"{0}\" depende do plugin \"{1}\""
+
+#: src/metabase/plugins/dependencies.clj
+msgid "{0} dependency {1} satisfied? {2}"
+msgstr "{0} dependência(s) {1} satisfeita(s)? {2}"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugins with unsatisfied deps: {0}"
+msgstr "Plugins com deps não satisfeitas: {0}"
+
+#: src/metabase/plugins/files.clj
+msgid "Extract file {0} -> {1}"
+msgstr "Extrair arquivo {0} -> {1}"
+
+#: src/metabase/plugins/files.clj
+msgid "Resource does not exist."
+msgstr "Recurso não existe."
+
+#: src/metabase/plugins/init_steps.clj
+msgid "Loading plugin namespace {0}..."
+msgstr "Carregando namespace de plugin {0}..."
+
+#: src/metabase/plugins/initialize.clj
+msgid "Dependencies satisfied; these plugins will now be loaded: {0}"
+msgstr "Dependências satisfeitas; estes plugins serão agora carregados: {0}"
+
+#: src/metabase/plugins/jdbc_proxy.clj
+msgid "Registering JDBC proxy driver for {0}..."
+msgstr "Registrando driver de proxy JDBC para {0}..."
+
+#: src/metabase/plugins/jdbc_proxy.clj
+msgid "Deregistering original JDBC driver {0}..."
+msgstr "Desregistrando driver JDBC original {0}..."
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Default connection property {0} does not exist."
+msgstr "Propriedade de conexão padrão {0} não existe."
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Invalid connection property {0}: not a string or map."
+msgstr "Propriedade de conexão inválida {0}: não é uma string ou mapa."
+
+#. ok, do the init steps listed in the plugin mainfest
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Load lazy loading driver {0}"
+msgstr "Carregando Metabase driver {0}"
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Cannot initialize plugin: missing required property `driver-name`"
+msgstr "Não pôde inicializar plugin: faltando propriedade obrigatória `driver-name`"
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Warning: plugin manifest for {0} does not include connection properties"
+msgstr "Aviso: manifesto de plugin para {0} não inclui propriedades de conexão"
+
+#. finally, register the Metabase driver
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Registering lazy loading driver {0}..."
+msgstr "Registrando Metabase driver {0}..."
+
+#: src/metabase/pulse.clj
+msgid "Error running query for Card {0}"
+msgstr "Erro rodando consulta para o Cartão {0}"
+
+#: src/metabase/pulse/render.clj
+msgid "Last week"
+msgstr "Última semana"
+
+#: src/metabase/pulse/render.clj
+msgid "This week"
+msgstr "Esta semana"
+
+#: src/metabase/pulse/render.clj
+msgid "Last month"
+msgstr "Último mês"
+
+#: src/metabase/pulse/render.clj
+msgid "This month"
+msgstr "Este mês"
+
+#: src/metabase/pulse/render.clj
+msgid "Last quarter"
+msgstr "Último trimestre"
+
+#: src/metabase/pulse/render.clj
+msgid "This quarter"
+msgstr "Este trimestre"
+
+#: src/metabase/pulse/render.clj
+msgid "Last year"
+msgstr "Último ano"
+
+#: src/metabase/pulse/render.clj
+msgid "This year"
+msgstr "Este ano"
+
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "*driver* is unbound."
+msgstr "*driver* está desvinculado."
+
+#: src/metabase/sync/sync_metadata/fields.clj
+msgid "Error syncing Fields for Table ''{0}''"
+msgstr "Erro sincronizando Campos para a Tabela \"{0}\""
+
+#: src/metabase/sync/sync_metadata/fields.clj
+msgid "Hash of {0} matches stored hash, skipping Fields sync"
+msgstr "Hash de {0} coincide com o hash armazenado, pulando sincronização de Campos"
+
+#: src/metabase/sync/sync_metadata/fields/common.clj
+msgid "Field"
+msgstr "Campo"
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Error checking if Fields {0} need to be created or reactivated"
+msgstr "Erro checando se Campos {0} precisam ser criados ou reativados"
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Marking Field ''{0}'' as inactive."
+msgstr "Marcando Campo \"{0}\" como inativo"
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Error retiring {0}"
+msgstr "Erro aposentando {0}"
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Database type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr "Tipo do banco de dados de {0} mudou de \"{1}\" parar \"{2}\"."
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Base type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr "Tipo base de {0} mudou de \"{1}\" parar \"{2}\"."
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Special type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr "Tipo especial de {0} mudou de \"{1}\" parar \"{2}\"."
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Comment has been added for {0}."
+msgstr "Comentário foi adicionar para {0}."
+
+#: src/metabase/task.clj
+msgid "Stopping Quartz Scheduler {0}"
+msgstr "Parando Agendador Quartz {0}"
+
+#: src/metabase/task.clj
+msgid "Starting Quartz Scheduler {0}"
+msgstr "Iniciando Agendador Quartz {0}"
+
+#: src/metabase/task.clj
+msgid "Error loading tasks namespace {0}"
+msgstr "Erro carregando namespace de tarefas {0}"
+
+#. don't bother logging namespace for now, maybe in the future if there's tasks of the same name in multiple
+#. namespaces we can log it
+#: src/metabase/task.clj
+msgid "Initializing task {0}"
+msgstr "Iniciando tarefa {0}"
+
+#: src/metabase/task.clj
+msgid "Error initializing task {0}"
+msgstr "Erro iniciando tarefa {0}"
+
+#: src/metabase/task/follow_up_emails.clj
+msgid "Problem sending abandonment email"
+msgstr "Problema enviando e-mail de desistência"
+
+#: src/metabase/task/send_anonymous_stats.clj
+msgid "Sending anonymous usage stats."
+msgstr "Enviando estatísticas anônimas de uso."
+
+#: src/metabase/task/send_anonymous_stats.clj
+msgid "Error sending anonymous usage stats"
+msgstr "Erro enviando estatísticas anônimas de uso."
+
+#: src/metabase/task/send_pulses.clj
+msgid "Error sending Pulse {0}"
+msgstr "Erro enviando Pulso {0}"
+
+#: src/metabase/task/send_pulses.clj
+msgid "Sending scheduled pulses..."
+msgstr "Enviando pulsos agendados..."
+
+#: src/metabase/task/send_pulses.clj
+msgid "SendPulses task failed"
+msgstr "Tarefa SendPulses falhou"
+
+#: src/metabase/task/sync_databases.clj
+msgid "Failed to scheduler tasks for Database {0}"
+msgstr "Falhou ao agendar tarefas para o banco de dados {0}"
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Cleaning up task history"
+msgstr "Limpando histórico de tarefas"
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Task history cleanup successful, rows were deleted"
+msgstr "Limpeza histórico de tarefas, linhas foram deletadas"
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Task history cleanup successful, no rows were deleted"
+msgstr "Limpeza histórico de tarefas, nenhuma linha foi deletada"
+
+#: src/metabase/task/upgrade_checks.clj
+msgid "Checking for new Metabase version info."
+msgstr "Checando por nova informação de versão do Metabase"
+
+#: src/metabase/task/upgrade_checks.clj
+msgid "Error fetching version info"
+msgstr "Erro ao buscar informação de versão"
+
+#: src/metabase/util.clj
+msgid "Maximum memory available to JVM: {0}"
+msgstr "Memória máxima disponível para a JVM: {0}"
+
+#: src/metabase/util.clj
+msgid "Not something with an ID: {0}"
+msgstr "Nada com um ID: {0}"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by month of the year"
+msgstr "[[CreateDate]] por mês do ano"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Here's a quick look at your [[this]]"
+msgstr "Aqui está uma olhadela sobre seu [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by hour of the day"
+msgstr "[[CreateTimestamp]] por hora do dia"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Where you've acquired your users"
+msgstr "Onde você adquiriu seus usuários"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How it's distributed across time and other categories."
+msgstr "Como eles estão distribuídos pelo tempo e outras categorias."
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Here's a closer look at your [[this]] per source"
+msgstr "Aqui está um olhar mais perto sobre seu [[this]] por fonte"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "Here's a quick look at the [[this]]"
+msgstr "Aqui está uma olhadela sobre [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by day of the month"
+msgstr "[[CreateTimestamp]] por dia do mês"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Here's an overview of the people in your [[this]]"
+msgstr "Aqui está uma visão global sobre pessoa em seu [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by quarter of the year"
+msgstr "[[CreateTimestamp]] por trimestre do ano"
+
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How they compare across location"
+msgstr "Como eles se comparam através dos lugares"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "Here's a closer look at your [[this]] by products"
+msgstr "Aqui está um olhar mais atento sobre [[this]] por produtos"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by month of the year"
+msgstr "[[CreateTimestamp]] por mês do ano"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "An overview of your [[this]] and how it's distributed across time, place, and categories."
+msgstr "Uma visão geral sobre seu [[this]] e como ela está distribuída no tempo, lugar e categorias."
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/question/GenericQuestion.yaml
+msgid "Here's a closer look at your [[this]]"
+msgstr "Aqui está um olhar mais atento sobre [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by day of the week"
+msgstr "[[CreateTimestamp]] por dia da semana"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Here's an overview of your [[this]] data from Google Analytics"
+msgstr "Aqui está uma visão geral sobre os dados de seu [[this]] vindos do Google Analytics"
+
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+#: resources/automagic_dashboards/comparison/State.yaml
+#: resources/automagic_dashboards/comparison/FK.yaml
+#: resources/automagic_dashboards/comparison/Country.yaml
+#: resources/automagic_dashboards/comparison/GenericField.yaml
+msgid "Here's an overview of your [[this]]"
+msgstr "Aqui está uma visão geral sobre seu [[this]]"
+
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "Here's a closer look at your [[this]] field"
+msgstr "Aqui está um olhar mais atento sobre seu campo [[this]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Here's a closer look at your [[this]] per country"
+msgstr "Aqui está um olhar mais atento sobre [[this]] por país"
+
+#: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
+msgid "If you're into correlations, this is the x-ray for you."
+msgstr "Se você curte correlações, este é o raio X para você."
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by day of the week"
+msgstr "[[CreateDate]] por dia da semana"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "It looks like your [[this]] has transactions, so here's a look at them"
+msgstr "Parece que seu [[this]] tem transações, assim aqui está um olhar sobre elas."
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Here's a closer look at your [[this]] per state"
+msgstr "Aqui está um olhar mais atento sobre [[this]] por estado"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by day of the month"
+msgstr "[[CreateDate]] por dia do mês"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTime]] by hour of the day"
+msgstr "[[CreateDate]] por hora do dia"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Here's a closer look at your [[this]] over time"
+msgstr "Aqui está um olhar mais atento sobre [[this]] ao longo do tempo"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by quarter of the year"
+msgstr "[[CreateDate]] por trimestre do ano"
+
+#: frontend/src/metabase/admin/people/containers/EditUserModal.jsx:12
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:200
+msgid "Edit user"
+msgstr "Editar Usuário"
+
+#: frontend/src/metabase/admin/people/containers/NewUserModal.jsx:13
+msgid "New user"
+msgstr "Novo Usuário"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:204
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:69
+msgid "Reset password"
+msgstr "Resetar senha"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:209
+msgid "Deactivate user"
+msgstr "Desativar usuário"
+
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:47
+msgid "Reactivate {0}?"
+msgstr "Reativar {0}?"
+
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:63
+msgid "We couldn’t send them an email invitation, so make sure to tell them to log in using {0} and this password we’ve generated for them:"
+msgstr "Não foi possível enviá-los um convite por e-mail. Portanto, informe os para fazer login usando {0} e essa senha que geramos para eles:"
+
+#: frontend/src/metabase/entities/collections.js:21
+msgid "collection"
+msgstr "coleção"
+
+#: frontend/src/metabase/entities/collections.js:22
+msgid "collections"
+msgstr "coleções"
+
+#: frontend/src/metabase/entities/dashboards.js:29
+msgid "dashboard"
+msgstr "painel"
+
+#: frontend/src/metabase/entities/dashboards.js:30
+msgid "dashboards"
+msgstr "painéis"
+
+#: frontend/src/metabase/entities/users.js:125
+msgid "First name is required"
+msgstr "Primeiro nome é necessário"
+
+#: frontend/src/metabase/entities/users.js:126
+#: frontend/src/metabase/entities/users.js:133
+msgid "Must be 100 characters or less"
+msgstr "Deve ter 100 caracteres ou menos"
+
+#: frontend/src/metabase/entities/users.js:132
+msgid "Last name is required"
+msgstr "Último nome é necessário"
+
+#: frontend/src/metabase/entities/users.js:138
+msgid "Email is required"
+msgstr "Email é necessário"
+
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:90
+msgid "Items you archive will appear here."
+msgstr "Os itens que você arquivar aparecerão aqui."
+
+#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:16
+msgid "No description"
+msgstr "Sem descrição"
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:175
+msgid "Sum of all values"
+msgstr "Soma de todos os valores"
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:183
+msgid "See all distinct values"
+msgstr "Ver todos os valores distintos"
+
+#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:12
+msgid "Browse the contents of your databases, tables, and columns. Pick a database to get started"
+msgstr "Navegue pelo conteúdo de seus bancos de dados, tabelas e colunas. Escolha um banco de dados para iniciar"
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is VALID. Thanks!"
+msgstr "Os metadados dos resultados do cartão transmitidos para a API são VÁLIDOS. Obrigado!"
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is INVALID. Running query to fetch correct metadata."
+msgstr "Os metadados dos resultados do cartão transmitidos para a API são INVÁLIDOS. Consulta em execução para buscar metadados corretos."
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is  ISSING. Running query to fetch correct metadata."
+msgstr "Os metadados dos resultados do cartão transmitidos para a API são INCOMPLETOS. Consulta em execução para buscar metadados corretos."
+
+#: src/metabase/api/email.clj
+msgid "{0} was autocorrected to {1}"
+msgstr "{0} foi corrigido automaticamente para {1}"
+
+#: src/metabase/api/metric.clj
+msgid "DELETE /api/metric/:id is deprecated. Instead, change its `archived` value via PUT /api/metric/:id."
+msgstr "DELETE /api/metric/:id foi descontinuado. Altere para o valor `archived` via PU /api/metrid/:id."
+
+#: src/metabase/api/segment.clj
+msgid "DELETE /api/segment/:id is deprecated. Instead, change its `archived` value via PUT /api/segment/:id."
+msgstr "DELETE /api/segment/:id foi descontinuado. Altere para o valor `archived` via PU /api/segment/:id."
+
+#: src/metabase/api/user.clj
+msgid "Value of is_superuser must correspond to presence of Admin group ID in group_ids."
+msgstr "O valor de is_superuser deve corresponder à presença do ID do grupo de administradores em group_ids."
+
+#: src/metabase/async/api_response.clj
+msgid "Unexpected error writing keepalive characters"
+msgstr "Erro inesperado ao gravar os caracteres para abertura"
+
+#: src/metabase/async/api_response.clj
+msgid "Unexpected output in async API response"
+msgstr "Saída inesperada na resposta ao assinc API"
+
+#: src/metabase/async/api_response.clj
+msgid "starting streaming response"
+msgstr "Iniciando a transmissão da resposta"
+
+#: src/metabase/async/api_response.clj
+msgid "Output chan closed, canceling keepalive request."
+msgstr "Canal de saída fechado, cancelando requisição de manutenção de abertura"
+
+#: src/metabase/async/api_response.clj
+msgid "Async response finished, closing channels."
+msgstr "Resposta assinc. acabada, fechando canais"
+
+#: src/metabase/async/api_response.clj
+msgid "No response after waiting {0}. Canceling request."
+msgstr "Sem resposta após esperar {0}. Cancelando a requisição"
+
+#: src/metabase/async/api_response.clj
+msgid "Input channel unexpectedly closed."
+msgstr "Canal de entrada inesperadamente fechado"
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "f finished, permit will be returned"
+msgstr "f acabado, a licença será devolvida"
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "request canceled, permit will be returned"
+msgstr "pedido cancelado, a permissão será devolvida"
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Unexpected error attempting to run function after obtaining permit"
+msgstr "Erro inesperado ao tentar executar a função após obter permissão"
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Not running pending function call: output channel already closed."
+msgstr "Não está executando chamada de função pendente: canal de saída já fechado."
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Current thread already has a permit for {0}, will not wait to acquire another"
+msgstr "O segmento atual já tem uma permissão para {0}, não esperará para adquirir outra"
+
+#: src/metabase/async/util.clj
+msgid "Output channel closed, will skip running {0}."
+msgstr "Canal de saída fechado, pulará a execução {0}."
+
+#: src/metabase/async/util.clj
+msgid "Running {0} on separate thread..."
+msgstr "Executando {0} em um processo separado..."
+
+#: src/metabase/async/util.clj
+msgid "Caught error running {0}"
+msgstr "Erro detectado rodando {0}"
+
+#: src/metabase/async/util.clj
+msgid "Request canceled, canceling future"
+msgstr "Requisição cancelada, cancelando a futura"
+
+#: src/metabase/driver/sql_jdbc/connection.clj
+msgid "Closing old connection pool for database {0} ..."
+msgstr "Fechando pool de conexão antigo para o banco de dados {0}..."
+
+#: src/metabase/metabot/command.clj
+msgid "Here''s your {0} most recent cards:"
+msgstr "Aqui estão seus {0} cartões mais recentes"
+
+#: src/metabase/metabot/command.clj
+msgid "Could you be a little more specific, or use the ID? I found these cards with names that matched:"
+msgstr "Você poderia ser um pouco mais especifico, ou usar o ID? Eu localizei esses cartões onde os nomes combinam:"
+
+#: src/metabase/metabot/command.clj
+msgid "Card {0} not found."
+msgstr "Cartão {0} não localizado"
+
+#: src/metabase/middleware/exceptions.clj
+msgid "Exception in API call"
+msgstr "Exceção na chamada a API"
+
+#: src/metabase/middleware/exceptions.clj
+msgid "Request canceled before finishing."
+msgstr "Requisição cancelada antes de finalizar"
+
+#: src/metabase/middleware/json.clj
+msgid "Metabase only supports JSON requests."
+msgstr "Metabase suporta apenas requisições JSON"
+
+#: src/metabase/middleware/json.clj
+msgid "Make sure you set a 'Content-Type: application/json' header."
+msgstr "Esteja seguro de colocar um cabeçalho 'Tipo de conteúdo: aplicação/json'"
+
+#: src/metabase/middleware/misc.clj
+msgid "Setting Metabase site URL to {0}"
+msgstr "Definindo a URL do Metabase para {0}"
+
+#: src/metabase/models/database.clj
+msgid "Error scheduling tasks for DB"
+msgstr "Erro ao agendar tarefas para o BD"
+
+#: src/metabase/models/database.clj
+msgid "Error unscheduling tasks for DB."
+msgstr "Erro ao cancelar tarefas para o BD"
+
+#: src/metabase/models/database.clj
+msgid "{0} Database ''{1}'' sync/analyze schedules have changed!"
+msgstr " {0} Base de Dados ''{1}'' escala de sinc/analise mudou!"
+
+#: src/metabase/models/database.clj
+msgid "Sync metadata was: ''{0}'' is now: ''{1}''"
+msgstr "Metadado de Sinc era: \"{0}\", agora é: \"{1}\""
+
+#: src/metabase/models/database.clj
+msgid "Cache FieldValues was: ''{0}'', is now: ''{1}''"
+msgstr "Valor do Campo de Cache era: \"{0}\", agora é: \"{1}\""
+
+#: src/metabase/models/metric.clj
+msgid "You cannot update the creator_id of a Metric."
+msgstr "Você não pode atualizar o creator_id de uma Métrica"
+
+#: src/metabase/models/permissions.clj
+msgid "MetaBot can only have Collection permissions."
+msgstr "MetaBot pode somente ter permissões de Coleção"
+
+#: src/metabase/models/permissions.clj
+msgid "Failed to grant permissions"
+msgstr "Falha ao garantir permissões"
+
+#: src/metabase/models/permissions.clj
+msgid "Changing permissions"
+msgstr "Alterando permissões"
+
+#: src/metabase/models/permissions.clj
+msgid "FROM:"
+msgstr "DE:"
+
+#: src/metabase/models/permissions.clj
+msgid "TO:"
+msgstr "PARA:"
+
+#: src/metabase/models/segment.clj
+msgid "You cannot update the creator_id of a Segment."
+msgstr "Você não pode atualizar o creator_id de um Segmento"
+
+#: src/metabase/models/setting.clj
+msgid "Attempted to set Setting {0} to obfuscated value. Ignoring change."
+msgstr "Tentou definir a configuração {0} para o valor confuso. Ignorando a mudança."
+
+#: src/metabase/models/setting.clj
+msgid "Using value of env var {0}"
+msgstr "Usando valores de env var {0}"
+
+#: src/metabase/models/user.clj
+msgid "Adding User {0} to All Users permissions group..."
+msgstr "Adicionando Usuário {0} para o grupo de permissões \"Todos os usuários\""
+
+#: src/metabase/models/user.clj
+msgid "Adding User {0} to Admin permissions group..."
+msgstr "Adicionando Usuário {0} ao grupo de Administradores"
+
+#: src/metabase/query_processor.clj
+msgid "Query failure"
+msgstr "Falha na consulta"
+
+#: src/metabase/query_processor/async.clj
+msgid "Maximum number of simultaneous queries to allow per connected Database."
+msgstr "Número máximo de consultas simultâneas para permitir por banco de dados conectados"
+
+#: src/metabase/util.clj
+msgid "Timed out after {0} milliseconds."
+msgstr "Tempo esgotado após {0} milissegundos "
+
diff --git a/locales/ru.po b/locales/ru.po
new file mode 100644
index 0000000000000000000000000000000000000000..add847821b724779b2461a2de29a49ba9eded29a
--- /dev/null
+++ b/locales/ru.po
@@ -0,0 +1,12436 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: POEditor.com\n"
+"Project-Id-Version: Metabase\n"
+"Language: ru\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:24
+msgid "Your database has been added!"
+msgstr "Ваша база данных была добавлена!"
+
+#: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:28
+msgid "We took a look at your data, and we have some automated explorations that we can show you!"
+msgstr "Мы посмотрели на ваши данные и вот результат нашего автоматического исследования!"
+
+#: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:35
+msgid "I'm good thanks"
+msgstr "Всё в порядке, спасибо"
+
+#: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:42
+msgid "Explore this data"
+msgstr "Исследовать данные"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseEditForms.jsx:42
+msgid "Select a database type"
+msgstr "Выберите тип базы данных"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseEditForms.jsx:75
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:170
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:401
+#: frontend/src/metabase/admin/permissions/containers/CollectionPermissionsModal.jsx:71
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:182
+#: frontend/src/metabase/components/ActionButton.jsx:51
+#: frontend/src/metabase/components/ButtonWithStatus.jsx:7
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:180
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:197
+#: frontend/src/metabase/reference/components/EditHeader.jsx:54
+#: frontend/src/metabase/reference/components/EditHeader.jsx:69
+#: frontend/src/metabase/user/components/SetUserPassword.jsx:171
+#: frontend/src/metabase/user/components/UpdateUserDetails.jsx:164
+msgid "Save"
+msgstr "Сохранить"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:122
+msgid "To do some of its magic, Metabase needs to scan your database. We will also rescan it periodically to keep the metadata up-to-date. You can control when the periodic rescans happen below."
+msgstr "Мы должны просканировать вашу базу данных. Мы так же будем переодически повторять это действие для актуальности данных. Ниже вы можете контролировать периодичность."
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:127
+msgid "Database syncing"
+msgstr "База данных синхронизируется"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:128
+msgid "This is a lightweight process that checks for\n"
+"updates to this database’s schema. In most cases, you should be fine leaving this\n"
+"set to sync hourly."
+msgstr "Это лёгкий процесс проверяющий обновления структуры этой базы данных. В большинстве случаев Вам будет достаточно оставить ежечасное обновление"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:147
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:184
+msgid "Scan"
+msgstr "Сканирование"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:152
+msgid "Scanning for Filter Values"
+msgstr "Сканирование для значения фильтров"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:153
+msgid "Metabase can scan the values present in each\n"
+"field in this database to enable checkbox filters in dashboards and questions. This\n"
+"can be a somewhat resource-intensive process, particularly if you have a very large\n"
+"database."
+msgstr "Metabase может просканировать значения каждого поля базы данных и сделать доступными checkbox-фильтры на панелях индикаторов и в вопросах. Процесс достаточно ресурсозатратный, особенно, если речь идет об очень большой базе данных."
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:159
+msgid "When should Metabase automatically scan and cache field values?"
+msgstr "Когда Metabase должен автоматически сканировать и кэшировать значения?"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:164
+msgid "Regularly, on a schedule"
+msgstr "Регулярно, по расписанию"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:195
+msgid "Only when adding a new filter widget"
+msgstr "Только при добавлении виджета фильтра"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:199
+msgid "When a user adds a new filter to a dashboard or a SQL question, Metabase will\n"
+"scan the field(s) mapped to that filter in order to show the list of selectable values."
+msgstr "Когда пользователь добавляет новый фильтр к дэшборду или SQL запрос, Метабэйз сканирует поля связанные с этим фильтром для отображения опций"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:210
+msgid "Never, I'll do this manually if I need to"
+msgstr "Нет, я сделаю это когда нужно"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:222
+#: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:27
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:222
+#: frontend/src/metabase/components/ActionButton.jsx:52
+#: frontend/src/metabase/components/ButtonWithStatus.jsx:8
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:426
+msgid "Saving..."
+msgstr "Сохранение..."
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:39
+#: frontend/src/metabase/components/form/FormMessage.jsx:4
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:144
+msgid "Server error encountered"
+msgstr "Ошибка на сервере"
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:58
+msgid "Delete this database?"
+msgstr "Удалить эту базу данных?"
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:66
+msgid "All saved questions, metrics, and segments that rely on this database will be lost."
+msgstr "Все сохранённые вопросы, метрики и сегменты, которые зависят от этой базы данных, будут потеряны."
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:67
+msgid "This cannot be undone."
+msgstr "Это действие необратимо."
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:70
+msgid "If you're sure, please type"
+msgstr "Если вы уверены, напишите"
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:53
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:70
+msgid "DELETE"
+msgstr "УДАЛИТЬ"
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:71
+msgid "in this box:"
+msgstr "в этом поле:"
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:82
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:50
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:87
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:93
+#: frontend/src/metabase/admin/people/components/AddRow.jsx:27
+#: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:49
+#: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:52
+#: frontend/src/metabase/admin/permissions/containers/CollectionPermissionsModal.jsx:58
+#: frontend/src/metabase/admin/permissions/selectors.js:160
+#: frontend/src/metabase/admin/permissions/selectors.js:170
+#: frontend/src/metabase/admin/permissions/selectors.js:185
+#: frontend/src/metabase/admin/permissions/selectors.js:224
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:355
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:181
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:247
+#: frontend/src/metabase/components/ConfirmContent.jsx:18
+#: frontend/src/metabase/components/DeleteModalWithConfirm.jsx:72
+#: frontend/src/metabase/components/HeaderModal.jsx:49
+#: frontend/src/metabase/components/form/StandardForm.jsx:61
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:196
+#: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:289
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:162
+#: frontend/src/metabase/dashboard/components/RemoveFromDashboardModal.jsx:38
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:189
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:191
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:354
+#: frontend/src/metabase/query_builder/components/RunButton.jsx:24
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:83
+#: frontend/src/metabase/query_builder/containers/ArchiveQuestionModal.jsx:48
+#: frontend/src/metabase/reference/components/EditHeader.jsx:34
+#: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:52
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:259
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:461
+msgid "Cancel"
+msgstr "Отмена"
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:88
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:121
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:132
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:461
+msgid "Delete"
+msgstr "Удалить"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:128
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:74
+#: frontend/src/metabase/admin/permissions/selectors.js:320
+#: frontend/src/metabase/admin/permissions/selectors.js:327
+#: frontend/src/metabase/admin/permissions/selectors.js:423
+#: frontend/src/metabase/admin/routes.jsx:53
+#: frontend/src/metabase/nav/containers/Navbar.jsx:214
+#: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:18
+#: frontend/src/metabase/reference/databases/TableSidebar.jsx:21
+msgid "Databases"
+msgstr "Базы данных"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:129
+msgid "Add Database"
+msgstr "Добавить базу данных"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:60
+msgid "Connection"
+msgstr "Подключение"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:61
+msgid "Scheduling"
+msgstr "Расписание"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:170
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:78
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:84
+#: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:26
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:221
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:182
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:356
+#: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:47
+msgid "Save changes"
+msgstr "Сохранить изменения"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:185
+#: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:38
+#: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:38
+msgid "Actions"
+msgstr "Действия"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:193
+msgid "Sync database schema now"
+msgstr "Произвести синхронизацию схемы"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:194
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:206
+#: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:15
+#: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:23
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:109
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:117
+msgid "Starting…"
+msgstr "Начинаю..."
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:195
+msgid "Failed to sync"
+msgstr "Ошибка синхронизации"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:196
+msgid "Sync triggered!"
+msgstr "Синхронизация началась!"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:205
+msgid "Re-scan field values now"
+msgstr "Пересканировать значения полей"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:207
+#: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:16
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:110
+msgid "Failed to start scan"
+msgstr "Невозможно начать сканирование"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:208
+#: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:17
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:111
+msgid "Scan triggered!"
+msgstr "Сканирование запланировано!"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:215
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:401
+msgid "Danger Zone"
+msgstr "Опасная зона"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:221
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:224
+msgid "Discard saved field values"
+msgstr "Сбросить сохраненные значения полей"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:239
+msgid "Remove this database"
+msgstr "Удалить эту базу данных"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:73
+msgid "Add database"
+msgstr "Добавить базу данных"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:85
+#: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:36
+#: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:36
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:122
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:183
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:91
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:399
+#: frontend/src/metabase/containers/EntitySearch.jsx:26
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:218
+#: frontend/src/metabase/entities/collections.js:93
+#: frontend/src/metabase/entities/dashboards.js:145
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:461
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:81
+msgid "Name"
+msgstr "Имя"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:86
+msgid "Engine"
+msgstr "Тип"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:115
+msgid "Deleting..."
+msgstr "Удаление..."
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:145
+msgid "Loading ..."
+msgstr "Загрузка..."
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:161
+msgid "Bring the sample dataset back"
+msgstr "Вернуть данные примеров"
+
+#: frontend/src/metabase/admin/databases/database.js:175
+msgid "Couldn't connect to the database. Please check the connection details."
+msgstr "Не могу подключться к базе данных. Пожалуйста, проверьте соединение."
+
+#: frontend/src/metabase/admin/databases/database.js:383
+msgid "Successfully created!"
+msgstr "Создано!"
+
+#: frontend/src/metabase/admin/databases/database.js:393
+msgid "Successfully saved!"
+msgstr "Сохранено!"
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectActionSelect.jsx:44
+#: frontend/src/metabase/dashboard/components/DashCard.jsx:278
+#: frontend/src/metabase/parameters/components/ParameterWidget.jsx:177
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:197
+#: frontend/src/metabase/reference/components/EditButton.jsx:18
+msgid "Edit"
+msgstr "Изменить"
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectActionSelect.jsx:59
+msgid "Revision History"
+msgstr "Журнал изменений"
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:33
+msgid "Retire this {0}?"
+msgstr "Убрать {0}?"
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:38
+msgid "Saved questions and other things that depend on this {0} will continue to work, but this {1} will no longer be selectable from the query builder."
+msgstr "Сохранённые вопросы и другие составляющие, зависящие от {0}, продолжат работать, но {1} уже нельзя будет выбрать в мастере запросов."
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:39
+msgid "If you're sure you want to retire this {0}, please write a quick explanation of why it's being retired:"
+msgstr "Если вы уверены, что хотите убрать {0}, пожалуйста, напишите краткое обьяснение к вашим действиям:"
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:43
+msgid "This will show up in the activity feed and in an email that will be sent to anyone on your team who created something that uses this {0}."
+msgstr "Это будет отражено в списке действий и в сообщениях, которые будут отправлены любому из состава вашей команды, кто создал что-либо, используещее {0}."
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:58
+msgid "Retire"
+msgstr "Убрать"
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:59
+msgid "Retiring…"
+msgstr "Удаление..."
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:60
+msgid "Failed"
+msgstr "Завершено с ошибкой"
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:61
+msgid "Success"
+msgstr "Успешно завершено"
+
+#: frontend/src/metabase/admin/datamodel/components/PartialQueryBuilder.jsx:118
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:110
+msgid "Preview"
+msgstr "Предварительный просмотр"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnItem.jsx:99
+msgid "No column description yet"
+msgstr "Еще нет описания стоблца"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnItem.jsx:135
+msgid "Select a field visibility"
+msgstr "Выберите видимость поля"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnItem.jsx:210
+msgid "No special type"
+msgstr "Без специального типа"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnItem.jsx:211
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:34
+#: frontend/src/metabase/reference/components/Field.jsx:57
+#: frontend/src/metabase/reference/components/FieldTypeDetail.jsx:42
+msgid "Other"
+msgstr "Другое"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnItem.jsx:231
+msgid "Select a special type"
+msgstr "Выбрать специальный тип"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnItem.jsx:277
+msgid "Select a target"
+msgstr "Выбрать цель"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnsList.jsx:17
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:77
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:89
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:106
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:122
+msgid "Columns"
+msgstr "Столбцы"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnsList.jsx:22
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataSchema.jsx:44
+msgid "Column"
+msgstr "Столбец"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnsList.jsx:24
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:121
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:306
+msgid "Visibility"
+msgstr "Видимость"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnsList.jsx:25
+msgid "Type"
+msgstr "Тип"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataHeader.jsx:87
+msgid "Current database:"
+msgstr "Текущая база данных:"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataHeader.jsx:92
+msgid "Show original schema"
+msgstr "Показать оригинальную схему"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataSchema.jsx:45
+msgid "Data Type"
+msgstr "Тип данных"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataSchema.jsx:46
+msgid "Additional Info"
+msgstr "Дополнительная информация"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataSchemaList.jsx:44
+msgid "Find a schema"
+msgstr "Найти схему"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataSchemaList.jsx:51
+msgid "{0} schema"
+msgid_plural "{0} schemas"
+msgstr[0] "{0} схема"
+msgstr[1] "{0} схем"
+msgstr[2] "{0} схем"
+msgstr[3] "{0} схемы"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:82
+msgid "Why Hide?"
+msgstr "Зачем скрывать?"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:83
+msgid "Technical Data"
+msgstr "Технические данные"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:84
+msgid "Irrelevant/Cruft"
+msgstr "Не важно/Хлам"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:90
+msgid "Queryable"
+msgstr "Доступно в запросах"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:91
+msgid "Hidden"
+msgstr "Скрыто"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:117
+msgid "No table description yet"
+msgstr "Еще нет описания таблицы"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:124
+msgid "Metadata Strength"
+msgstr "Сложность метаданных"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTableList.jsx:87
+msgid "{0} Queryable Table"
+msgid_plural "{0} Queryable Tables"
+msgstr[0] "{0} доступных для запроса таблиц"
+msgstr[1] "{0} доступных для запроса таблиц"
+msgstr[2] "{0} доступных для запроса таблиц"
+msgstr[3] "{0} доступных для запроса таблиц"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTableList.jsx:96
+msgid "{0} Hidden Table"
+msgid_plural "{0} Hidden Tables"
+msgstr[0] "{0} скрытая таблица"
+msgstr[1] "{0} скрытых таблиц"
+msgstr[2] "{0} скрытых таблиц"
+msgstr[3] "{0} скрытые таблицы"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTableList.jsx:113
+msgid "Find a table"
+msgstr "Найти таблицу"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTableList.jsx:126
+msgid "Schemas"
+msgstr "Схемы"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:24
+#: frontend/src/metabase/new_query/containers/NewQueryOptions.jsx:137
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:33
+#: frontend/src/metabase/reference/guide/BaseSidebar.jsx:27
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:189
+#: frontend/src/metabase/reference/metrics/MetricList.jsx:56
+#: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:21
+#: frontend/src/metabase/routes.jsx:232
+msgid "Metrics"
+msgstr "Метрики"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:30
+msgid "Add a Metric"
+msgstr "Добавить Метрику"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:37
+#: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:37
+#: frontend/src/metabase/query_builder/components/QueryDefinitionTooltip.jsx:30
+msgid "Definition"
+msgstr "Определение"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:54
+msgid "Create metrics to add them to the View dropdown in the query builder"
+msgstr "Создать метрики для добавления в мастер запросов"
+
+#: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:24
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:930
+#: frontend/src/metabase/reference/guide/BaseSidebar.jsx:33
+#: frontend/src/metabase/reference/segments/SegmentFieldSidebar.jsx:19
+#: frontend/src/metabase/reference/segments/SegmentList.jsx:56
+#: frontend/src/metabase/reference/segments/SegmentSidebar.jsx:21
+msgid "Segments"
+msgstr "Сегменты"
+
+#: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:30
+msgid "Add a Segment"
+msgstr "Добавить Сегмент"
+
+#: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:54
+msgid "Create segments to add them to the Filter dropdown in the query builder"
+msgstr "Создать сегменты для добавления в фильтры мастера запросов"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:24
+msgid "created"
+msgstr "создано"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:27
+msgid "reverted to a previous version"
+msgstr "возвращена предыдущая версия"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:33
+msgid "edited the title"
+msgstr "изменен заголовок"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:35
+msgid "edited the description"
+msgstr "изменено описание"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:37
+msgid "edited the "
+msgstr "изменено "
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:40
+msgid "made some changes"
+msgstr "сделаны некоторые изменения"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:46
+#: frontend/src/metabase/home/components/Activity.jsx:80
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:332
+msgid "You"
+msgstr "Ð’Ñ‹"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/RevisionHistory.jsx:37
+msgid "Datamodel"
+msgstr "Модель данных"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/RevisionHistory.jsx:43
+msgid " History"
+msgstr " История"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/RevisionHistory.jsx:48
+msgid "Revision History for"
+msgstr "История изменений за"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:239
+msgid "{0} – Field Settings"
+msgstr "{0} – установки поля"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:307
+msgid "Where this field will appear throughout Metabase"
+msgstr "Где это поле будет отображено в системе"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:329
+msgid "Filtering on this field"
+msgstr "Фильтрация этого поля"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:330
+msgid "When this field is used in a filter, what should people use to enter the value they want to filter on?"
+msgstr "Если это поле используется как фильтр, какой вид информации должны использовать пользователи для фильтрации?"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:453
+msgid "No description for this field yet"
+msgstr "Для этого поля пока нет описания"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:379
+msgid "Original value"
+msgstr "Оригинальное значение"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:380
+msgid "Mapped value"
+msgstr "Связанное значение"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:423
+msgid "Enter value"
+msgstr "Введите значение"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:25
+msgid "Use original value"
+msgstr "Использовать исходное значение"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:26
+msgid "Use foreign key"
+msgstr "Использовать внешний ключ"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:27
+msgid "Custom mapping"
+msgstr "Своя связь"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:55
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:155
+msgid "Unrecognized mapping type"
+msgstr "Неопознанный вид связи"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:89
+msgid "Current field isn't a foreign key or FK target table metadata is missing"
+msgstr "Данное поле не является внешним ключем либо метаданные другой таблицы, содержащей внешний ключ, отсутствуют"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:187
+msgid "The selected field isn't a foreign key"
+msgstr "Выбранное поле не является внешнем ключём"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:347
+msgid "Display values"
+msgstr "Показать значения"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:348
+msgid "Choose to show the original value from the database, or have this field display associated or custom information."
+msgstr "Выберите, что отобразить в поле: исходное значение из базы данных, ассоциированную или иную настраиваемую информацию."
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:268
+msgid "Choose a field"
+msgstr "Выберите поле"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:289
+msgid "Please select a column to use for display."
+msgstr "Пожалуйста, выберете столбец для отображения."
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:771
+msgid "Tip:"
+msgstr "Подсказка:"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:433
+msgid "You might want to update the field name to make sure it still makes sense based on your remapping choices."
+msgstr "Возможно, вы захотите обновить наименование поля, чтобы убедиться, что оно соответствует выбранному варианту переназначения связи."
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:364
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:102
+msgid "Cached field values"
+msgstr "Кэшированные значения полей"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:365
+msgid "Metabase can scan the values for this field to enable checkbox filters in dashboards and questions."
+msgstr "Metabase может сканировать значения данного поля и включить возможность использования checkbox-фильтров на панели индикаторов и в вопросах."
+
+#: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:14
+msgid "Re-scan this field"
+msgstr "Пересканировать это поле"
+
+#: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:22
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:116
+msgid "Discard cached field values"
+msgstr "Сбросить кэшированные значения полей"
+
+#: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:24
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:118
+msgid "Failed to discard values"
+msgstr "Не удалось сбросить значения"
+
+#: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:25
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:119
+msgid "Discard triggered!"
+msgstr "Сброс значений начался!"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetadataEditorApp.jsx:105
+msgid "Select any table to see its schema and add or edit metadata."
+msgstr "Выбрать базу данных что бы увидеть её схему или изменить мета данные."
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:37
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:34
+#: frontend/src/metabase/entities/collections.js:96
+msgid "Name is required"
+msgstr "Имя обязательно"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:40
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:37
+msgid "Description is required"
+msgstr "Описание обязательно"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:44
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:41
+msgid "Revision message is required"
+msgstr "Описание внесенных изменений обязательно"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:50
+msgid "Aggregation is required"
+msgstr "Агрегация обязательна"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:110
+msgid "Edit Your Metric"
+msgstr "Изменить Вашу Метрику"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:111
+msgid "Create Your Metric"
+msgstr "Создать Вашу Метрику"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:115
+msgid "Make changes to your metric and leave an explanatory note."
+msgstr "Внесите изменения в метрику и оставьте к ним пояснение."
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:116
+msgid "You can create saved metrics to add a named metric option to this table. Saved metrics include the aggregation type, the aggregated field, and optionally any filter you add. As an example, you might use this to create something like the official way of calculating \"Average Price\" for an Orders table."
+msgstr "Вы можете создать сохраненные метрики, чтобы использовать их в данной таблице. Сохраненные метрики включают тип агрегации, агрегированное поле и, при необходимости, любой фильтр. Например, вы можете использовать их, чтобы создать что-то вроде единственного официального способа вычисления \"Средней цены\" для таблицы \"Заказы\"."
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:149
+msgid "Result: "
+msgstr "Результаты: "
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:157
+msgid "Name Your Metric"
+msgstr "Имя вашей Метрики"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:158
+msgid "Give your metric a name to help others find it."
+msgstr "Задайте имя для вашей метрики, чтобы другие пользователи смогли ее найти."
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:162
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:166
+msgid "Something descriptive but not too long"
+msgstr "Что-нибудь описательное, но не слишком длинное"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:166
+msgid "Describe Your Metric"
+msgstr "Опишите вашу Метрику"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:167
+msgid "Give your metric a description to help others understand what it's about."
+msgstr "Укажите описание вашей метрики, чтобы помочь другим понять о чем она."
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:171
+msgid "This is a good place to be more specific about less obvious metric rules"
+msgstr "Это идеальное место, чтобы быть более конкретным в отношении менее очевидных правил вычисления метрики"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:175
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:179
+msgid "Reason For Changes"
+msgstr "Причина изменений"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:177
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:181
+msgid "Leave a note to explain what changes you made and why they were required."
+msgstr "Оставьте описание внесенных вами изменений и почему они были необходимы."
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:181
+msgid "This will show up in the revision history for this metric to help everyone remember why things changed"
+msgstr "Данное сообщение появится в истории изменений метрики и поможет всем восстановить ход событий"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:49
+msgid "At least one filter is required"
+msgstr "Необходим как минимум один фильтр"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:116
+msgid "Edit Your Segment"
+msgstr "Изменить ваш Сегмент"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:117
+msgid "Create Your Segment"
+msgstr "Создать ваш Сегмент"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:121
+msgid "Make changes to your segment and leave an explanatory note."
+msgstr "Внесите изменения в ваш сегмент и оставьте к ним пояснение."
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:122
+msgid "Select and add filters to create your new segment for the {0} table"
+msgstr "Выберите и добавьте фильтры для создания вашего нового сегмента к таблице {0}"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:161
+msgid "Name Your Segment"
+msgstr "Задайте имя для вашего Сегмента"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:162
+msgid "Give your segment a name to help others find it."
+msgstr "Задайте имя для вашего сегмента, чтобы другие смогли его найти."
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:170
+msgid "Describe Your Segment"
+msgstr "Опишите ваш Сегмент"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:171
+msgid "Give your segment a description to help others understand what it's about."
+msgstr "Укажите описание вашей метрики, чтобы помочь другим понять о чем она. "
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:175
+msgid "This is a good place to be more specific about less obvious segment rules"
+msgstr "Это идеальное место, чтобы быть более конкретным в отношении менее очевидных правил определения сегмента"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:185
+msgid "This will show up in the revision history for this segment to help everyone remember why things changed"
+msgstr "Данное сообщение появится в истории изменений сегмента и поможет всем восстановить ход событий"
+
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:88
+#: frontend/src/metabase/admin/routes.jsx:127
+#: frontend/src/metabase/admin/settings/containers/SettingsEditorApp.jsx:266
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:87
+#: frontend/src/metabase/nav/containers/Navbar.jsx:199
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorSidebar.jsx:99
+msgid "Settings"
+msgstr "Настройки"
+
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:103
+msgid "Metabase can scan the values in this table to enable checkbox filters in dashboards and questions."
+msgstr "Metabase может сканировать значения в этом таблицы для того, чтобы построить выпадающие списки для фильтров дашбордов и запросов."
+
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:108
+msgid "Re-scan this table"
+msgstr "Пересканировать эту таблицу"
+
+#: frontend/src/metabase/admin/people/components/AddRow.jsx:34
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:253
+#: frontend/src/metabase/dashboard/components/DashCard.jsx:278
+msgid "Add"
+msgstr "Добавить"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:103
+#: frontend/src/metabase/user/components/UpdateUserDetails.jsx:67
+msgid "Not a valid formatted email address"
+msgstr "Email указан неверно"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:186
+#: frontend/src/metabase/user/components/UpdateUserDetails.jsx:100
+msgid "First name"
+msgstr "Имя"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:203
+#: frontend/src/metabase/user/components/UpdateUserDetails.jsx:117
+msgid "Last name"
+msgstr "Фамилия"
+
+#. Строка "Email" есть ниже.
+#: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:77
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:158
+#: frontend/src/metabase/components/NewsletterForm.jsx:94
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:470
+#: frontend/src/metabase/setup/components/UserStep.jsx:222
+#: frontend/src/metabase/user/components/UpdateUserDetails.jsx:138
+msgid "Email address"
+msgstr "Адрес электронной почты"
+
+#. По терминологии Microsoft этот термин переводиться иначе, а именно "Группы разрешений"
+#. Источник https://www.microsoft.com/en-us/language/Search?&searchTerm=permission&langID=Russian&Source=true&productid=All%20Products
+#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:202
+msgid "Permission Groups"
+msgstr "Группы Разрешений"
+
+#: frontend/src/metabase/components/form/widgets/FormGroupsWidget.jsx:75
+msgid "Make this user an admin"
+msgstr "Определить администратором"
+
+#: frontend/src/metabase/admin/people/components/GroupDetail.jsx:32
+msgid "All users belong to the {0} group and can't be removed from it. Setting permissions for this group is a great way to\n"
+"make sure you know what new Metabase users will be able to see."
+msgstr "Все пользователи входят в группу {0} и не могут быть из нее исключены. Установите разрешения для данной группы - так вы будете уверены в том, что смогут увидеть новые пользователи Metabase."
+
+#: frontend/src/metabase/admin/people/components/GroupDetail.jsx:41
+msgid "This is a special group whose members can see everything in the Metabase instance, and who can access and make changes to the\n"
+"settings in the Admin Panel, including changing permissions! So, add people to this group with care."
+msgstr "Это специальная группа, члены которой смогут видеть все, что связано с данным экземпляром Metabase, иметь доступ и редактировать настройки в Панели администратора, включая полномочия! Поэтому включайте пользователей в данную группу соблюдая меры предосторожности."
+
+#: frontend/src/metabase/admin/people/components/GroupDetail.jsx:45
+msgid "To make sure you don't get locked out of Metabase, there always has to be at least one user in this group."
+msgstr "В данной группе должен оставаться хотя бы один пользователь, иначе доступ к Metabase будет блокирован."
+
+#: frontend/src/metabase/admin/people/components/GroupDetail.jsx:177
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:218
+msgid "Members"
+msgstr "Участники"
+
+#: frontend/src/metabase/admin/people/components/GroupDetail.jsx:177
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:124
+#: frontend/src/metabase/admin/settings/selectors.js:113
+#: frontend/src/metabase/lib/core.js:55
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:301
+msgid "Email"
+msgstr "Email"
+
+#. Нужен контекст, чтобы правильно перевести.
+#: frontend/src/metabase/admin/people/components/GroupDetail.jsx:203
+msgid "A group is only as good as its members."
+msgstr "Группа также хороша, как и ее члены."
+
+#: frontend/src/metabase/admin/people/components/GroupSummary.jsx:15
+#: frontend/src/metabase/admin/routes.jsx:48
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:49
+msgid "Admin"
+msgstr "Администратор"
+
+#: frontend/src/metabase/admin/people/components/GroupSummary.jsx:16
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:237
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:290
+msgid "and"
+msgstr "и"
+
+#: frontend/src/metabase/admin/people/components/GroupSummary.jsx:19
+#: frontend/src/metabase/admin/people/components/GroupSummary.jsx:31
+msgid "{0} other group"
+msgid_plural "{0} other groups"
+msgstr[0] "{0} прочая группа"
+msgstr[1] "{0} прочие группы"
+msgstr[2] "{0} прочих групп"
+msgstr[3] "{0} прочих групп"
+
+#: frontend/src/metabase/admin/people/components/GroupSummary.jsx:37
+msgid "Default"
+msgstr "По-умолчанию"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:39
+msgid "Something like \"Marketing\""
+msgstr "Например, \"Маркетинг\""
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:58
+msgid "Remove this group?"
+msgstr "Удалить эту группу?"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:60
+msgid "Are you sure? All members of this group will lose any permissions settings they have based on this group.\n"
+"This can't be undone."
+msgstr "Вы уверены? Все участники этой группы потеряют все полномочия основанные на этой группе. Данное действие не может быть отменено."
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:71
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:42
+#: frontend/src/metabase/components/ConfirmContent.jsx:17
+msgid "Yes"
+msgstr "Да"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:74
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:42
+msgid "No"
+msgstr "Нет"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:92
+msgid "Edit Name"
+msgstr "Изменить имя"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:95
+msgid "Remove Group"
+msgstr "Удалить группу"
+
+#: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:46
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:138
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:42
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:41
+#: frontend/src/metabase/components/HeaderModal.jsx:43
+#: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:282
+#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:107
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:327
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:193
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:96
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:265
+msgid "Done"
+msgstr "Готово"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:218
+msgid "Group name"
+msgstr "Имя группы"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:363
+#: frontend/src/metabase/admin/people/containers/AdminPeopleApp.jsx:25
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:131
+#: frontend/src/metabase/admin/routes.jsx:88
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:154
+msgid "Groups"
+msgstr "Группы"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:364
+msgid "Create a group"
+msgstr "Создать группу"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:370
+msgid "You can use groups to control your users' access to your data. Put users in groups and then go to the Permissions section to control each group's access. The Administrators and All Users groups are special default groups that can't be removed."
+msgstr "Вы можете использовать группы для контроля ваших пользователей к доступу к данным. Добавьте пользователей в группу и затем управляйте полномочиям групп в разделе Разрешения. Группы Администраторы и Все пользователи являются специальными типами групп и не могут быть удалены."
+
+#: frontend/src/metabase/admin/people/components/UserActionsSelect.jsx:79
+msgid "Edit Details"
+msgstr "Изменить детали"
+
+#: frontend/src/metabase/admin/people/components/UserActionsSelect.jsx:85
+msgid "Re-send Invite"
+msgstr "Отправить приглашение заново"
+
+#: frontend/src/metabase/admin/people/components/UserActionsSelect.jsx:90
+msgid "Reset Password"
+msgstr "Сбросить пароль"
+
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:40
+msgid "Deactivate"
+msgstr "Деактивировать"
+
+#: frontend/src/metabase/admin/people/containers/AdminPeopleApp.jsx:24
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:93
+#: frontend/src/metabase/admin/routes.jsx:84
+#: frontend/src/metabase/nav/containers/Navbar.jsx:204
+msgid "People"
+msgstr "Люди"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:192
+msgid "Who do you want to add?"
+msgstr "Кого вы хотите добавить?"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:207
+msgid "Edit {0}'s details"
+msgstr "Изменить детали {0}"
+
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:40
+msgid "{0} has been added"
+msgstr "{0} был добавлен"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:224
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:262
+msgid "Add another person"
+msgstr "Добавить другого человека"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:231
+msgid "We couldn’t send them an email invitation,\n"
+"so make sure to tell them to log in using {0}\n"
+"and this password we’ve generated for them:"
+msgstr "Мы не смогли отправить им приглашение по электронной почте, поэтому предложите войти с именем {0} и следующим сгенерированным нами паролем:"
+
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:73
+msgid "If you want to be able to send email invites, just go to the {0} page."
+msgstr "Если вы хотите иметь возможность отправлять приглашения по email, просто перейдите на страницу {0}."
+
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:55
+msgid "We’ve sent an invite to {0} with instructions to set their password."
+msgstr "Мы отправили приглашения для {0} с инструкция по установке пароля."
+
+#. Имеется ввиду, что переотправили одно приглашение конкретному пользователю.
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:283
+msgid "We've re-sent {0}'s invite"
+msgstr "Мы переотправили приглашение {0}"
+
+#: frontend/src/metabase/query_builder/components/SavedQuestionIntroModal.jsx:22
+#: frontend/src/metabase/tutorial/Tutorial.jsx:253
+msgid "Okay"
+msgstr "Хорошо"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:289
+msgid "Any previous email invites they have will no longer work."
+msgstr "Все предыдущие email-приглашения для них более не работают."
+
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:31
+msgid "Deactivate {0}?"
+msgstr "Деактивировать {0}?"
+
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:34
+msgid "{0} won't be able to log in anymore."
+msgstr "{0} не сможет больше зайти."
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:320
+msgid "Reactivate {0}'s account?"
+msgstr "Повторно активировать учетную запись {0}?"
+
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:58
+msgid "Reactivate"
+msgstr "Повторно активировать"
+
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:51
+msgid "They'll be able to log in again, and they'll be placed back into the groups they were in before their account was deactivated."
+msgstr "Они смогут зайти снова, и им будут возвращены все группы, к котором относились учетные записи до деактивации."
+
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:51
+msgid "Reset {0}'s password?"
+msgstr "Сбросить пароль для {0}?"
+
+#: frontend/src/metabase/components/form/StandardForm.jsx:77
+msgid "Reset"
+msgstr "Сбросить"
+
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:54
+#: frontend/src/metabase/components/ConfirmContent.jsx:13
+#: frontend/src/metabase/dashboard/components/ArchiveDashboardModal.jsx:44
+msgid "Are you sure you want to do this?"
+msgstr "Вы уверены что хотите выполнить это действие?"
+
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:41
+msgid "{0}'s password has been reset"
+msgstr "Пароль {0} был сброшен"
+
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:45
+msgid "Here’s a temporary password they can use to log in and then change their password."
+msgstr "Это временный пароль, с которым они смогут зайти и установить свой пароль."
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:388
+msgid "We've sent them an email with instructions for creating a new password."
+msgstr "Мы отправили электронное письмо с инструкцией по установке нового пароля."
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:101
+msgid "Active"
+msgstr "Активный"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:102
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:127
+msgid "Deactivated"
+msgstr "Неактивный"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:115
+msgid "Add someone"
+msgstr "Добавить кого-нибудь"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:132
+msgid "Last Login"
+msgstr "Последний вход"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:153
+msgid "Signed up via Google"
+msgstr "Вход с помощью Google"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:158
+msgid "Signed up via LDAP"
+msgstr "Вход с помощью LDAP"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:170
+msgid "Reactivate this account"
+msgstr "Повторно активировать эту учетную запись"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:193
+msgid "Never"
+msgstr "Никогда"
+
+#. This looks awful on Russian, fix "tables" word alignment so it would be "таблица {0}" and so on
+#: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:27
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} table"
+msgid_plural "{0} tables"
+msgstr[0] "таблица {0}"
+msgstr[1] "{0} таблицы"
+msgstr[2] "{0} таблиц"
+msgstr[3] "{0} таблиц"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:45
+msgid " will be "
+msgstr " будут "
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:48
+msgid "given access to"
+msgstr "предоставлен доступ к"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:53
+msgid " and "
+msgstr " и "
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:56
+msgid "denied access to"
+msgstr "доступ запрещен для"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:70
+msgid " will no longer be able to "
+msgstr " никогда не смогут "
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:71
+msgid " will now be able to "
+msgstr " теперь смогут "
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:79
+msgid " native queries for "
+msgstr " прямые запросы к "
+
+#: frontend/src/metabase/admin/permissions/routes.jsx:12
+#: frontend/src/metabase/nav/containers/Navbar.jsx:219
+msgid "Permissions"
+msgstr "Привилегии"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:32
+msgid "Save permissions?"
+msgstr "Сохранить разрешения?"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:38
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:161
+msgid "Save Changes"
+msgstr "Сохранить изменения"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:44
+msgid "Discard changes?"
+msgstr "Отменить изменения?"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:46
+msgid "No changes to permissions will be made."
+msgstr "Никаких изменений доступа выполнено не будет."
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:65
+msgid "You've made changes to permissions."
+msgstr "Вы внесли изменения в настройки доступа."
+
+#: frontend/src/metabase/admin/permissions/containers/CollectionPermissionsModal.jsx:52
+msgid "Permissions for this collection"
+msgstr "Разрешения для этой коллекции"
+
+#: frontend/src/metabase/admin/permissions/containers/PermissionsApp.jsx:53
+msgid "You have unsaved changes"
+msgstr "У вас есть несохраненные изменения"
+
+#: frontend/src/metabase/admin/permissions/containers/PermissionsApp.jsx:54
+msgid "Do you want to leave this page and discard your changes?"
+msgstr "Вы действительно хотите покинуть эту страницу и отменить изменения?"
+
+#: frontend/src/metabase/admin/permissions/permissions.js:126
+msgid "Sorry, an error occurred."
+msgstr "Простите, возникла ошибка."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:65
+msgid "Administrators always have the highest level of access to everything in Metabase."
+msgstr "Администраторы всегда имеют наивысший приоритет доступа ко всему в Metabase."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:67
+msgid "Every Metabase user belongs to the All Users group. If you want to limit or restrict a group's access to something, make sure the All Users group has an equal or lower level of access."
+msgstr "Каждый пользователь Metabase относится к группе Все пользователи. Если вы хотите ограничить доступ группы к чему-либо, убедитесь что группа Все пользователи имеет равный или меньший уровень доступа."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:69
+msgid "MetaBot is Metabase's Slack bot. You can choose what it has access to here."
+msgstr "MetaBot это Slack бот Metabase. Здесь вы можете выбрать к чему он будет иметь доступ."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:119
+msgid "The \"{0}\" group may have access to a different set of {1} than this group, which may give this group additional access to some {2}."
+msgstr "Группа \"{0}\" имеет доступ к иным {1}, чем данная группа, что позволит ей получить доступ к {2}."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:124
+msgid "The \"{0}\" group has a higher level of access than this, which will override this setting. You should limit or revoke the \"{1}\" group's access to this item."
+msgstr "Группа \"{0}\" имеет больший уровень доступа, чем этот, что переопределит данный параметр. Вам следует ограничить или отозвать доступ группы \"{1}\" к данному элементу."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:154
+msgid "Limit"
+msgstr "Ограничение"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:154
+msgid "Revoke"
+msgstr "Отозвать"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:156
+msgid "access even though \"{0}\" has greater access?"
+msgstr "доступ, даже если \"{0}\" имеет больший доступ?"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:159
+#: frontend/src/metabase/admin/permissions/selectors.js:258
+msgid "Limit access"
+msgstr "Ограничить доступ"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:159
+#: frontend/src/metabase/admin/permissions/selectors.js:223
+#: frontend/src/metabase/admin/permissions/selectors.js:266
+msgid "Revoke access"
+msgstr "Отозвать доступ"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:168
+msgid "Change access to this database to limited?"
+msgstr "Ограничить доступ к этой базе данных?"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:169
+msgid "Change"
+msgstr "Изменить"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:182
+msgid "Allow Raw Query Writing?"
+msgstr "Разрешить написание прямых запросов?"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:183
+msgid "This will also change this group's data access to Unrestricted for this database."
+msgstr "Это также предоставит данной группе Неограниченный доступ к базе данных."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:184
+msgid "Allow"
+msgstr "Разрешить"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:221
+msgid "Revoke access to all tables?"
+msgstr "Отозвать доступ ко всем таблицам?"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:222
+msgid "This will also revoke this group's access to raw queries for this database."
+msgstr "Это также отзовет доступ группы к прямым запросам к базе данных."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:251
+msgid "Grant unrestricted access"
+msgstr "Предоставить неограниченный доступ"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:252
+msgid "Unrestricted access"
+msgstr "Неограниченный доступ"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:259
+msgid "Limited access"
+msgstr "Ограниченный доступ"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:267
+msgid "No access"
+msgstr "Нет доступа"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:273
+msgid "Write raw queries"
+msgstr "Написание прямых запросов"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:274
+msgid "Can write raw queries"
+msgstr "Может писать прямые запросы"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:281
+msgid "Curate collection"
+msgstr "Управлять коллекцией"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:288
+msgid "View collection"
+msgstr "Посмотреть коллекцию"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:331
+#: frontend/src/metabase/admin/permissions/selectors.js:427
+#: frontend/src/metabase/admin/permissions/selectors.js:524
+msgid "Data Access"
+msgstr "Доступ к данным"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:492
+#: frontend/src/metabase/admin/permissions/selectors.js:649
+#: frontend/src/metabase/admin/permissions/selectors.js:654
+msgid "View tables"
+msgstr "Посмотреть таблицы"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:590
+msgid "SQL Queries"
+msgstr "SQL запросы"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:660
+msgid "View schemas"
+msgstr "Посмотреть схемы"
+
+#: frontend/src/metabase/admin/routes.jsx:59
+#: frontend/src/metabase/nav/containers/Navbar.jsx:209
+msgid "Data Model"
+msgstr "Модель данных"
+
+#: frontend/src/metabase/admin/settings/components/SettingsAuthenticationOptions.jsx:11
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:118
+msgid "Sign in with Google"
+msgstr "Войти с помощью Google"
+
+#: frontend/src/metabase/admin/settings/components/SettingsAuthenticationOptions.jsx:13
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:120
+msgid "Allows users with existing Metabase accounts to login with a Google account that matches their email address in addition to their Metabase username and password."
+msgstr "Разрешить пользователям с существующими Metabase аккаунтами входить с помощью Google аккаунтов при совпадении email адресов в дополнение к их Metabase логину и паролю."
+
+#: frontend/src/metabase/admin/settings/components/SettingsAuthenticationOptions.jsx:17
+#: frontend/src/metabase/admin/settings/components/SettingsAuthenticationOptions.jsx:29
+#: frontend/src/metabase/components/ChannelSetupMessage.jsx:32
+msgid "Configure"
+msgstr "Настроить"
+
+#: frontend/src/metabase/admin/settings/components/SettingsAuthenticationOptions.jsx:23
+#: frontend/src/metabase/admin/settings/components/SettingsLdapForm.jsx:13
+#: frontend/src/metabase/admin/settings/selectors.js:207
+msgid "LDAP"
+msgstr "LDAP"
+
+#: frontend/src/metabase/admin/settings/components/SettingsAuthenticationOptions.jsx:25
+msgid "Allows users within your LDAP directory to log in to Metabase with their LDAP credentials, and allows automatic mapping of LDAP groups to Metabase groups."
+msgstr "Позволяет пользователям в каталоге LDAP входить в Metabase с учетными данными LDAP, а также автоматически связывает группы LDAP с группами Metabase."
+
+#: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:17
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:69
+#: frontend/src/metabase/admin/settings/selectors.js:160
+msgid "That's not a valid email address"
+msgstr "Это не валидный email адрес"
+
+#: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:21
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:73
+msgid "That's not a valid integer"
+msgstr "Это не валидное целое число"
+
+#: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:28
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:161
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:223
+msgid "Changes saved!"
+msgstr "Изменения сохранены"
+
+#: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:157
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:132
+msgid "Looks like we ran into some problems"
+msgstr "Похоже, мы столкнулись с кое-какими проблемами"
+
+#: frontend/src/metabase/admin/settings/components/SettingsEmailForm.jsx:12
+msgid "Send test email"
+msgstr "Отправить пробный email"
+
+#: frontend/src/metabase/admin/settings/components/SettingsEmailForm.jsx:13
+msgid "Sending..."
+msgstr "Отправка..."
+
+#: frontend/src/metabase/admin/settings/components/SettingsEmailForm.jsx:14
+msgid "Sent!"
+msgstr "Отправлено!"
+
+#: frontend/src/metabase/admin/settings/components/SettingsEmailForm.jsx:82
+msgid "Clear"
+msgstr "Очистить"
+
+#: frontend/src/metabase/admin/settings/components/SettingsLdapForm.jsx:12
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:113
+#: frontend/src/metabase/admin/settings/selectors.js:202
+msgid "Authentication"
+msgstr "Аутентификация"
+
+#: frontend/src/metabase/admin/settings/components/SettingsLdapForm.jsx:18
+msgid "Server Settings"
+msgstr "Настройки сервера"
+
+#: frontend/src/metabase/admin/settings/components/SettingsLdapForm.jsx:29
+msgid "User Schema"
+msgstr "Пользовательская Схема"
+
+#: frontend/src/metabase/admin/settings/components/SettingsLdapForm.jsx:33
+msgid "Attributes"
+msgstr "Атрибуты"
+
+#: frontend/src/metabase/admin/settings/components/SettingsLdapForm.jsx:42
+msgid "Group Schema"
+msgstr "Схема Группы"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSetting.jsx:28
+msgid "Using "
+msgstr "Используя "
+
+#: frontend/src/metabase/admin/settings/components/SettingsSetupList.jsx:105
+msgid "Getting set up"
+msgstr "Общие настройки"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSetupList.jsx:106
+msgid "A few things you can do to get the most out of Metabase."
+msgstr "Вот что вы можете сделать, чтобы выжать из Metabase максимум."
+
+#: frontend/src/metabase/admin/settings/components/SettingsSetupList.jsx:115
+msgid "Recommended next step"
+msgstr "Рекомендуемый следующий шаг"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:114
+msgid "Google Sign-In"
+msgstr "Войти с помощью Google"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:123
+msgid "To allow users to sign in with Google you'll need to give Metabase a Google Developers console application client ID. It only takes a few steps and instructions on how to create a key can be found {0}"
+msgstr "Для разрешения пользователям входить с помощь учетной записи Google, вам необходимо предоставить Metabase Client ID из консоли Google Developers. Данное действие требует выполнения нескольких шагов, инструкцию как создать ключ можно найти {0}"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:137
+msgid "Your Google client ID"
+msgstr "Ваш Google client ID"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:142
+msgid "Allow users to sign up on their own if their Google account email address is from:"
+msgstr "Разрешить пользователям регистрироваться с их Google аккаунтом по email отсюда:"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:242
+msgid "Answers sent right to your Slack #channels"
+msgstr "Ответы будут отправляться в ваши Slack #каналы"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:251
+msgid "Create a Slack Bot User for MetaBot"
+msgstr "Создать Slack Bot пользователя для MetaBot"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:261
+msgid "Once you're there, give it a name and click {0}. Then copy and paste the Bot API Token into the field below. Once you are done, create a \"metabase_files\" channel in Slack. Metabase needs this to upload graphs."
+msgstr "Пока вы здесь, дайте имя и нажмите {0}. Затем скопируйте и вставьте Bot API токен в поле ниже. После этого, создайте канал \"metabase_files\" в Slack. Это требуется Metabase для загрузки графиков."
+
+#: frontend/src/metabase/admin/settings/components/SettingsUpdatesForm.jsx:90
+msgid "You're running Metabase {0} which is the latest and greatest!"
+msgstr "Вы последнюю версию запустили Metanase {0}, которая великолепна!"
+
+#: frontend/src/metabase/admin/settings/components/SettingsUpdatesForm.jsx:99
+msgid "Metabase {0} is available.  You're running {1}"
+msgstr "Metabase {0} доступна. Вы используете {1}"
+
+#: frontend/src/metabase/admin/settings/components/SettingsUpdatesForm.jsx:112
+#: frontend/src/metabase/components/form/StandardForm.jsx:69
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:96
+msgid "Update"
+msgstr "Обновить"
+
+#: frontend/src/metabase/admin/settings/components/SettingsUpdatesForm.jsx:116
+msgid "What's Changed:"
+msgstr "Что изменено:"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:131
+msgid "Add a map"
+msgstr "Добавить карту"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:184
+#: frontend/src/metabase/lib/core.js:105
+msgid "URL"
+msgstr "Ссылка"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:199
+msgid "Delete custom map"
+msgstr "Удалить текущую карту"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:201
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:327
+#: frontend/src/metabase/dashboard/components/RemoveFromDashboardModal.jsx:40
+#: frontend/src/metabase/parameters/components/ParameterWidget.jsx:181
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:104
+msgid "Remove"
+msgstr "Удалить"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:226
+#: frontend/src/metabase/dashboard/containers/DashCardCardParameterMapper.jsx:187
+#: frontend/src/metabase/parameters/components/ParameterValueWidget.jsx:241
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:145
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:187
+msgid "Select…"
+msgstr "Выбрать..."
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:241
+msgid "Sample values:"
+msgstr "Примеры значений:"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:279
+msgid "Add a new map"
+msgstr "Добавить новую карту"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:279
+msgid "Edit map"
+msgstr "Изменить карту"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:280
+msgid "What do you want to call this map?"
+msgstr "Как вы хотите назвать эту карту?"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:285
+msgid "e.g. United Kingdom, Brazil, Mars"
+msgstr "например, Великобритания, Бразилия, Марс"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:292
+msgid "URL for the GeoJSON file you want to use"
+msgstr "URL к файлу GeoJSON, который нужно использовать"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:298
+msgid "Like https://my-mb-server.com/maps/my-map.json"
+msgstr "Например, https://my-mb-server.com/maps/my-map.json"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:309
+#: frontend/src/metabase/query_builder/components/RunButton.jsx:33
+msgid "Refresh"
+msgstr "Обновить"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:309
+msgid "Load"
+msgstr "Загрузить"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:315
+msgid "Which property specifies the region’s identifier?"
+msgstr "Какой признак определяет идентификатор региона?"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:324
+msgid "Which property specifies the region’s display name?"
+msgstr "Какой признак определяет отображаемое наименование региона?"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:345
+msgid "Load a GeoJSON file to see a preview"
+msgstr "Загрузите файл GeoJSON для предварительного просмотра"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:363
+msgid "Save map"
+msgstr "Сохранить карту"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:363
+msgid "Add map"
+msgstr "Добавить карту"
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLegalese.jsx:7
+msgid "Using embedding"
+msgstr "Использовать встраивание"
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLegalese.jsx:9
+msgid "By enabling embedding you're agreeing to the embedding license located at"
+msgstr "Разрешая встраивание, вы соглашаетесь с лицензией по встраиванию расположенной"
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLegalese.jsx:19
+msgid "In plain English, when you embed charts or dashboards from Metabase in your own application, that application isn't subject to the Affero General Public License that covers the rest of Metabase, provided you keep the Metabase logo and the \"Powered by Metabase\" visible on those embeds. You should, however, read the license text linked above as that is the actual license that you will be agreeing to by enabling this feature."
+msgstr "Говоря по-русски, когда вы встраиваете графики и панели индикаторов Metabase в ваше приложение, такое приложение не должно отвечать требованиям Affero General Public License, которое охватывает остальную часть Metabase, при условии, что на встраиваемых элементах останутся логотип Metabase и надпись \"Powered by Metabase\". Однако, в любом случае, вам следует ознакомиться с лицензией по ссылке выше, действующую редакцию которой вы принимаете, включая данную настройку."
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLegalese.jsx:32
+msgid "Enable"
+msgstr "Включить"
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLevel.jsx:24
+msgid "Premium embedding enabled"
+msgstr "Премиальное встраивание включено"
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLevel.jsx:26
+msgid "Enter the token you bought from the Metabase Store"
+msgstr "Введите токен, приобретенный в Магазине Metabase"
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLevel.jsx:53
+msgid "Premium embedding lets you disable \"Powered by Metabase\" on your embedded dashboards and questions."
+msgstr "Премиальное встраивание позволит скрыть надпись \"Powered by Metabase\" во встроенных панелях индикаторов и вопросах."
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLevel.jsx:60
+msgid "Buy a token"
+msgstr "Купить токен"
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLevel.jsx:63
+msgid "Enter a token"
+msgstr "Ввести токен"
+
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:134
+msgid "Edit Mappings"
+msgstr "Изменить сопоставления"
+
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:140
+msgid "Group Mappings"
+msgstr "Групповое сопоставление"
+
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:147
+msgid "Create a mapping"
+msgstr "Создать сопоставление"
+
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:149
+msgid "Mappings allow Metabase to automatically add and remove users from groups based on the membership information provided by the\n"
+"directory server. Membership to the Admin group can be granted through mappings, but will not be automatically removed as a\n"
+"failsafe measure."
+msgstr "Сопоставление позволяет Metabase автоматически добавлять и исключать пользователей из групп на основании информации из каталога сервера. Доступ к группе Администраторов может быть предоставлен на основании сопоставления, но не будет снят автоматически как мера предосторожности."
+
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:154
+msgid "Distinguished Name"
+msgstr "Отличительное наименование"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:92
+msgid "Public Link"
+msgstr "Публичная ссылка"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:93
+msgid "Revoke Link"
+msgstr "Удалить ссылку"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:121
+msgid "Disable this link?"
+msgstr "Отключить эту ссылку?"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:122
+msgid "They won't work anymore, and can't be restored, but you can create new links."
+msgstr "Они больше не работают и не могут быть восстановлены, но вы можете создать новые ссылки."
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:149
+msgid "Public Dashboard Listing"
+msgstr "Перечень открытых Панелей индикаторов"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:152
+msgid "No dashboards have been publicly shared yet."
+msgstr "Ни к одной из панели индикаторов общий доступ еще не предоставлен."
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:160
+msgid "Public Card Listing"
+msgstr "Перечень общих Карточек"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:163
+msgid "No questions have been publicly shared yet."
+msgstr "Ни к одному вопросу общий доступ еще не предоставлен."
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:172
+msgid "Embedded Dashboard Listing"
+msgstr "Перечень встроенных Панелей индикаторов"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:173
+msgid "No dashboards have been embedded yet."
+msgstr "Ни одна панель индикаторов еще не встроена."
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:183
+msgid "Embedded Card Listing"
+msgstr "Список встраиваемых карточек"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:184
+msgid "No questions have been embedded yet."
+msgstr "Ни один вопрос еще не встроен."
+
+#: frontend/src/metabase/admin/settings/components/widgets/SecretKeyWidget.jsx:35
+msgid "Regenerate embedding key?"
+msgstr "Сгенерировать ключ встраивания заново?"
+
+#: frontend/src/metabase/admin/settings/components/widgets/SecretKeyWidget.jsx:36
+msgid "This will cause existing embeds to stop working until they are updated with the new key."
+msgstr "Это приведет к тому, что существующие внедрения перестанут работать до тех пор, пока они не будут обновлены новым ключом."
+
+#: frontend/src/metabase/admin/settings/components/widgets/SecretKeyWidget.jsx:39
+msgid "Regenerate key"
+msgstr "Перегенерировать ключ"
+
+#: frontend/src/metabase/admin/settings/components/widgets/SecretKeyWidget.jsx:47
+msgid "Generate Key"
+msgstr "Сгенерировать ключ"
+
+#: frontend/src/metabase/admin/settings/components/widgets/SettingToggle.jsx:11
+#: frontend/src/metabase/admin/settings/selectors.js:78
+#: frontend/src/metabase/admin/settings/selectors.js:87
+msgid "Enabled"
+msgstr "Включено"
+
+#: frontend/src/metabase/admin/settings/components/widgets/SettingToggle.jsx:11
+#: frontend/src/metabase/admin/settings/selectors.js:83
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:103
+msgid "Disabled"
+msgstr "Отключено"
+
+#: frontend/src/metabase/admin/settings/containers/SettingsEditorApp.jsx:116
+msgid "Unknown setting {0}"
+msgstr "Неизвестная настройка {0}"
+
+#: frontend/src/metabase/admin/settings/selectors.js:23
+msgid "Setup"
+msgstr "Настроить"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:217
+#: frontend/src/metabase/admin/settings/selectors.js:28
+msgid "General"
+msgstr "Общее"
+
+#: frontend/src/metabase/admin/settings/selectors.js:33
+msgid "Site Name"
+msgstr "Имя сайта"
+
+#: frontend/src/metabase/admin/settings/selectors.js:38
+msgid "Site URL"
+msgstr "Ссылка на сайт"
+
+#: frontend/src/metabase/admin/settings/selectors.js:43
+msgid "Email Address for Help Requests"
+msgstr "Email адрес для запроса помощи"
+
+#: frontend/src/metabase/admin/settings/selectors.js:48
+msgid "Report Timezone"
+msgstr "Часовой пояс отчетов"
+
+#: frontend/src/metabase/admin/settings/selectors.js:51
+msgid "Database Default"
+msgstr "По-умолчанию для базы данных"
+
+#: frontend/src/metabase/admin/settings/selectors.js:54
+msgid "Select a timezone"
+msgstr "Выбрать часовой пояс"
+
+#: frontend/src/metabase/admin/settings/selectors.js:55
+msgid "Not all databases support timezones, in which case this setting won't take effect."
+msgstr "Не все базы данных поддерживают часовые пояса, поэтому данная настройка может не сработать."
+
+#: frontend/src/metabase/admin/settings/selectors.js:60
+msgid "Language"
+msgstr "Язык"
+
+#: frontend/src/metabase/admin/settings/selectors.js:65
+msgid "Select a language"
+msgstr "Выбрать язык"
+
+#: frontend/src/metabase/admin/settings/selectors.js:70
+msgid "Anonymous Tracking"
+msgstr "Анонимное отслеживание"
+
+#: frontend/src/metabase/admin/settings/selectors.js:75
+msgid "Friendly Table and Field Names"
+msgstr "Понятные имена таблиц и полей"
+
+#: frontend/src/metabase/admin/settings/selectors.js:81
+msgid "Only replace underscores and dashes with spaces"
+msgstr "Только замените знаки нижнего подчеркивания и точки пробелами"
+
+#: frontend/src/metabase/admin/settings/selectors.js:91
+msgid "Enable Nested Queries"
+msgstr "Включить вложенные запросы"
+
+#: frontend/src/metabase/admin/settings/selectors.js:102
+msgid "Updates"
+msgstr "Обновления"
+
+#: frontend/src/metabase/admin/settings/selectors.js:107
+msgid "Check for updates"
+msgstr "Проверить обновления"
+
+#: frontend/src/metabase/admin/settings/selectors.js:118
+msgid "SMTP Host"
+msgstr "SMTP хост"
+
+#: frontend/src/metabase/admin/settings/selectors.js:126
+msgid "SMTP Port"
+msgstr "SMTP порт"
+
+#: frontend/src/metabase/admin/settings/selectors.js:130
+#: frontend/src/metabase/admin/settings/selectors.js:230
+msgid "That's not a valid port number"
+msgstr "Некорректный номер порта"
+
+#: frontend/src/metabase/admin/settings/selectors.js:134
+msgid "SMTP Security"
+msgstr "Безопасность SMTP"
+
+#: frontend/src/metabase/admin/settings/selectors.js:142
+msgid "SMTP Username"
+msgstr "SMTP пользователь"
+
+#: frontend/src/metabase/admin/settings/selectors.js:149
+msgid "SMTP Password"
+msgstr "SMTP пароль"
+
+#: frontend/src/metabase/admin/settings/selectors.js:156
+msgid "From Address"
+msgstr "От кого"
+
+#: frontend/src/metabase/admin/settings/selectors.js:170
+msgid "Slack API Token"
+msgstr "Slack API Token"
+
+#: frontend/src/metabase/admin/settings/selectors.js:172
+msgid "Enter the token you received from Slack"
+msgstr "Введите токен полученный от Slack"
+
+#: frontend/src/metabase/admin/settings/selectors.js:189
+msgid "Single Sign-On"
+msgstr "Единый вход"
+
+#: frontend/src/metabase/admin/settings/selectors.js:213
+msgid "LDAP Authentication"
+msgstr "Аутентификация LDAP"
+
+#: frontend/src/metabase/admin/settings/selectors.js:219
+msgid "LDAP Host"
+msgstr "LDAP хост"
+
+#: frontend/src/metabase/admin/settings/selectors.js:227
+msgid "LDAP Port"
+msgstr "LDAP порт"
+
+#: frontend/src/metabase/admin/settings/selectors.js:234
+msgid "LDAP Security"
+msgstr "Безопасность LDAP"
+
+#: frontend/src/metabase/admin/settings/selectors.js:242
+msgid "Username or DN"
+msgstr "Пользователь или DN"
+
+#: frontend/src/metabase/admin/settings/selectors.js:247
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:188
+#: frontend/src/metabase/user/components/UserSettings.jsx:72
+msgid "Password"
+msgstr "Пароль"
+
+#: frontend/src/metabase/admin/settings/selectors.js:252
+msgid "User search base"
+msgstr "База для поиска пользователя"
+
+#: frontend/src/metabase/admin/settings/selectors.js:258
+msgid "User filter"
+msgstr "Пользовательский фильтр"
+
+#: frontend/src/metabase/admin/settings/selectors.js:264
+msgid "Check your parentheses"
+msgstr "Проверьте круглые скобки"
+
+#: frontend/src/metabase/admin/settings/selectors.js:270
+msgid "Email attribute"
+msgstr "Email аттрибут"
+
+#: frontend/src/metabase/admin/settings/selectors.js:275
+msgid "First name attribute"
+msgstr "Атрибут имени"
+
+#: frontend/src/metabase/admin/settings/selectors.js:280
+msgid "Last name attribute"
+msgstr "Атрибут фамилии"
+
+#: frontend/src/metabase/admin/settings/selectors.js:285
+msgid "Synchronize group memberships"
+msgstr "Синхронизировать членство в группе"
+
+#: frontend/src/metabase/admin/settings/selectors.js:291
+msgid "Group search base"
+msgstr "База для поиска группы"
+
+#: frontend/src/metabase/admin/settings/selectors.js:300
+msgid "Maps"
+msgstr "Карты"
+
+#: frontend/src/metabase/admin/settings/selectors.js:305
+msgid "Map tile server URL"
+msgstr "URL сервера загрузки плиток карты"
+
+#: frontend/src/metabase/admin/settings/selectors.js:306
+msgid "Metabase uses OpenStreetMaps by default."
+msgstr "По умолчанию, Metabase использует OpenStreetMaps."
+
+#: frontend/src/metabase/admin/settings/selectors.js:311
+msgid "Custom Maps"
+msgstr "Пользовательская карта"
+
+#: frontend/src/metabase/admin/settings/selectors.js:312
+msgid "Add your own GeoJSON files to enable different region map visualizations"
+msgstr "Добавьте собственные GeoJSON файлы для возможности визуализации различных регионов на картах"
+
+#: frontend/src/metabase/admin/settings/selectors.js:331
+msgid "Public Sharing"
+msgstr "Общий доступ"
+
+#: frontend/src/metabase/admin/settings/selectors.js:336
+msgid "Enable Public Sharing"
+msgstr "Включить общий доступ"
+
+#: frontend/src/metabase/admin/settings/selectors.js:341
+msgid "Shared Dashboards"
+msgstr "Публичные дашборды"
+
+#: frontend/src/metabase/admin/settings/selectors.js:347
+msgid "Shared Questions"
+msgstr "Публичные запросы"
+
+#: frontend/src/metabase/admin/settings/selectors.js:354
+msgid "Embedding in other Applications"
+msgstr "Встраивание в других Приложениях"
+
+#: frontend/src/metabase/admin/settings/selectors.js:381
+msgid "Enable Embedding Metabase in other Applications"
+msgstr "Включить встраивание Metabase в других Приложениях"
+
+#: frontend/src/metabase/admin/settings/selectors.js:391
+msgid "Embedding secret key"
+msgstr "Секретный ключ для встраивания"
+
+#: frontend/src/metabase/admin/settings/selectors.js:397
+msgid "Embedded Dashboards"
+msgstr "Встраиваемые дашборды"
+
+#: frontend/src/metabase/admin/settings/selectors.js:403
+msgid "Embedded Questions"
+msgstr "Встраиваемые запросы"
+
+#: frontend/src/metabase/admin/settings/selectors.js:410
+msgid "Caching"
+msgstr "Кэширование"
+
+#: frontend/src/metabase/admin/settings/selectors.js:415
+msgid "Enable Caching"
+msgstr "Включить кэширование"
+
+#: frontend/src/metabase/admin/settings/selectors.js:420
+msgid "Minimum Query Duration"
+msgstr "Минимальное время запроса"
+
+#: frontend/src/metabase/admin/settings/selectors.js:427
+msgid "Cache Time-To-Live (TTL) multiplier"
+msgstr "Множитель Cache Time-To-Live (TTL)"
+
+#: frontend/src/metabase/admin/settings/selectors.js:434
+msgid "Max Cache Entry Size"
+msgstr "Максимальный размер записи кэша"
+
+#: frontend/src/metabase/alert/alert.js:60
+msgid "Your alert is all set up."
+msgstr "Ваше предупреждение настроено."
+
+#: frontend/src/metabase/alert/alert.js:101
+msgid "Your alert was updated."
+msgstr "Предупреждение было сохранено."
+
+#: frontend/src/metabase/alert/alert.js:149
+msgid "The alert was successfully deleted."
+msgstr "Предупреждение успешно удалено."
+
+#: frontend/src/metabase/auth/auth.js:33
+msgid "Please enter a valid formatted email address."
+msgstr "Введите корректный email"
+
+#: frontend/src/metabase/auth/auth.js:116
+#: frontend/src/metabase/setup/components/UserStep.jsx:110
+#: frontend/src/metabase/user/components/SetUserPassword.jsx:69
+msgid "Passwords do not match"
+msgstr "Введённые пароли не совпадают"
+
+#: frontend/src/metabase/auth/components/BackToLogin.jsx:6
+msgid "Back to login"
+msgstr "Вернуться ко входу"
+
+#: frontend/src/metabase/auth/components/GoogleNoAccount.jsx:15
+msgid "No Metabase account exists for this Google account."
+msgstr "Нет пользователя связанного с этим Google аккаунтом."
+
+#: frontend/src/metabase/auth/components/GoogleNoAccount.jsx:17
+msgid "You'll need an administrator to create a Metabase account before you can use Google to log in."
+msgstr "Свяжитесь с администратором для использованию Гугл логина."
+
+#: frontend/src/metabase/auth/components/SSOLoginButton.jsx:18
+msgid "Sign in with {0}"
+msgstr "Зайти с {0}"
+
+#: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:56
+msgid "Please contact an administrator to have them reset your password"
+msgstr "Свяжитесь с администратором для сброса вашего пароля"
+
+#: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:69
+msgid "Forgot password"
+msgstr "Забыли пароль"
+
+#: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:84
+msgid "The email you use for your Metabase account"
+msgstr "Email, который вы используете с вашим Metabase аккаунта"
+
+#: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:99
+msgid "Send password reset email"
+msgstr "Послать емаил для сброса пароля"
+
+#: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:110
+msgid "Check your email for instructions on how to reset your password."
+msgstr "Послать емаил с инструкцией как сбросить пароль."
+
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:128
+msgid "Sign in to Metabase"
+msgstr "Войти в Metabase"
+
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:138
+msgid "OR"
+msgstr "ИЛИ"
+
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:157
+msgid "Username or email address"
+msgstr "Имя пользователя или email"
+
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:217
+msgid "Sign in"
+msgstr "Войти"
+
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:230
+msgid "I seem to have forgotten my password"
+msgstr "Похоже что я забыл свой пароль"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:102
+msgid "request a new reset email"
+msgstr "запросить новое письмо с запросом на сброс пароля"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:120
+msgid "Whoops, that's an expired link"
+msgstr "Уууупс, кажется эта ссылку устарела."
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:122
+msgid "For security reasons, password reset links expire after a little while. If you still need\n"
+"to reset your password, you can {0}."
+msgstr "По соображениям безопасности, ссылки на сброс пароля через некоторое время истекают.\n"
+"Если вам все еще нужно сбросить пароль, вы можете {0}."
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:147
+#: frontend/src/metabase/user/components/SetUserPassword.jsx:126
+msgid "New password"
+msgstr "Новый пароль"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:149
+msgid "To keep your data secure, passwords {0}"
+msgstr "Ради безопасности, пароли {0}"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:163
+msgid "Create a new password"
+msgstr "Создать новый пароль"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:170
+#: frontend/src/metabase/user/components/SetUserPassword.jsx:141
+msgid "Make sure its secure like the instructions above"
+msgstr "Удостоверьтесь что пароль соответствует рекомендации безопасности выше"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:184
+#: frontend/src/metabase/user/components/SetUserPassword.jsx:150
+msgid "Confirm new password"
+msgstr "Подтвердите новый пароль"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:191
+#: frontend/src/metabase/user/components/SetUserPassword.jsx:159
+msgid "Make sure it matches the one you just entered"
+msgstr "Удостоверьтесь что он соответствует тому который вы уже ввели"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:216
+msgid "Your password has been reset."
+msgstr "Ваш пароль был сброшен."
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:222
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:227
+msgid "Sign in with your new password"
+msgstr "Зайди с вашим новым паролем"
+
+#: frontend/src/metabase/components/ActionButton.jsx:53
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:182
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:184
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:251
+msgid "Save failed"
+msgstr "Сохранение не удалось"
+
+#: frontend/src/metabase/components/ActionButton.jsx:54
+#: frontend/src/metabase/components/SaveStatus.jsx:60
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:183
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:129
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:185
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:225
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:252
+msgid "Saved"
+msgstr "Сохранено"
+
+#: frontend/src/metabase/components/Alert.jsx:12
+msgid "Ok"
+msgstr "Ок"
+
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:38
+msgid "Archive this collection?"
+msgstr "Переместить коллекцию в архив?"
+
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:43
+msgid "The dashboards, collections, and pulses in this collection will also be archived."
+msgstr "Дашборды, коллекции и пульсы в этой коллекции так же будут премещены в архив."
+
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:47
+#: frontend/src/metabase/components/CollectionLanding.jsx:624
+#: frontend/src/metabase/components/EntityMenu.info.js:31
+#: frontend/src/metabase/components/EntityMenu.info.js:87
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:47
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:195
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:200
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:201
+#: frontend/src/metabase/query_builder/containers/ArchiveQuestionModal.jsx:40
+#: frontend/src/metabase/query_builder/containers/ArchiveQuestionModal.jsx:53
+#: frontend/src/metabase/routes.jsx:199
+msgid "Archive"
+msgstr "Архив"
+
+#: frontend/src/metabase/containers/ErrorPages.jsx:63
+msgid "This {0} has been archived"
+msgstr "Этот {0} перемещен в архив."
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:715
+msgid "View the archive"
+msgstr "Посмотреть архив"
+
+#: frontend/src/metabase/components/ArchivedItem.jsx:43
+msgid "Unarchive this {0}"
+msgstr "Востоновить этот {0}"
+
+#: frontend/src/metabase/components/BrowseApp.jsx:70
+#: frontend/src/metabase/components/BrowseApp.jsx:132
+#: frontend/src/metabase/components/BrowseApp.jsx:225
+#: frontend/src/metabase/containers/Overworld.jsx:219
+msgid "Our data"
+msgstr "Наши данные"
+
+#: frontend/src/metabase/components/BrowseApp.jsx:169
+#: frontend/src/metabase/reference/databases/TableSidebar.jsx:55
+msgid "X-ray this table"
+msgstr "Просканировать эту таблицу"
+
+#: frontend/src/metabase/components/BrowseApp.jsx:183
+#: frontend/src/metabase/containers/Overworld.jsx:246
+msgid "Learn about this table"
+msgstr "Узнать больше об этой таблице"
+
+#: frontend/src/metabase/components/Button.info.js:11
+#: frontend/src/metabase/components/Button.info.js:12
+#: frontend/src/metabase/components/Button.info.js:13
+msgid "Clickity click"
+msgstr "Нажмите сюда"
+
+#: frontend/src/metabase/components/ButtonWithStatus.jsx:9
+msgid "Saved!"
+msgstr "Сохранено!"
+
+#: frontend/src/metabase/components/ButtonWithStatus.jsx:10
+msgid "Saving failed."
+msgstr "Не получилось сохранить."
+
+#: frontend/src/metabase/components/Calendar.jsx:118
+msgid "Su"
+msgstr "Вс"
+
+#: frontend/src/metabase/components/Calendar.jsx:118
+msgid "Mo"
+msgstr "По"
+
+#: frontend/src/metabase/components/Calendar.jsx:118
+msgid "Tu"
+msgstr "Ð’Ñ‚"
+
+#: frontend/src/metabase/components/Calendar.jsx:118
+msgid "We"
+msgstr "Ср"
+
+#: frontend/src/metabase/components/Calendar.jsx:118
+msgid "Th"
+msgstr "Чт"
+
+#: frontend/src/metabase/components/Calendar.jsx:118
+msgid "Fr"
+msgstr "Пт"
+
+#: frontend/src/metabase/components/Calendar.jsx:118
+msgid "Sa"
+msgstr "Сб"
+
+#: frontend/src/metabase/components/ChannelSetupMessage.jsx:41
+msgid "Your admin's email address"
+msgstr "Емаил адрес администратора"
+
+#: frontend/src/metabase/components/ChannelSetupModal.jsx:37
+msgid "To send {0}, you'll need to set up {1} integration."
+msgstr "Что бы послать {0}, вам нужно установить {1} интеграцию."
+
+#: frontend/src/metabase/components/ChannelSetupModal.jsx:38
+#: frontend/src/metabase/components/ChannelSetupModal.jsx:41
+msgid " or "
+msgstr " или "
+
+#: frontend/src/metabase/components/ChannelSetupModal.jsx:40
+msgid "To send {0}, an admin needs to set up {1} integration."
+msgstr "Что бы послать {0}, админ должен установить {1} интеграцию."
+
+#: frontend/src/metabase/components/CollectionEmptyState.jsx:15
+msgid "This collection is empty, like a blank canvas"
+msgstr "Коллекция пуста как чистый холст"
+
+#: frontend/src/metabase/components/CollectionEmptyState.jsx:16
+msgid "You can use collections to organize and group dashboards, questions and pulses for your team or yourself"
+msgstr "Вы можете использовать коллекции для организации и группировки дашбордов, запросов и пульсов для себя и своей команды"
+
+#: frontend/src/metabase/components/CollectionEmptyState.jsx:28
+msgid "Create another collection"
+msgstr "Создать другую коллекцию"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:68
+msgid "Dashboards let you collect and share data in one place."
+msgstr "Дашборды позволяют хранить и делиться данными в одном месте."
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:77
+msgid "Pulses let you send out the latest data to your team on a schedule via email or slack."
+msgstr "Пульсы позволяют вам отправлять последние данные команде по расписанию через email или slack."
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:86
+msgid "Questions are a saved look at your data."
+msgstr "Запросы - это сохраненный взгляд на ваши данные."
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:287
+msgid "Pins"
+msgstr "Прикрепленные"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:341
+msgid "Drag something here to pin it to the top"
+msgstr "Переместите что-то для того чтобы закрепить наверху"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:737
+#: frontend/src/metabase/components/CollectionLanding.jsx:353
+#: frontend/src/metabase/home/containers/SearchApp.jsx:35
+#: frontend/src/metabase/home/containers/SearchApp.jsx:92
+msgid "Collections"
+msgstr "Коллекции"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:432
+#: frontend/src/metabase/components/CollectionLanding.jsx:455
+msgid "Drag here to un-pin"
+msgstr "Переместите чтобы открепить"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:490
+msgid "{0} item selected"
+msgid_plural "{0} items selected"
+msgstr[0] "{0} элемент выбран"
+msgstr[1] "{0} элемента выбрано"
+msgstr[2] "{0} элементов выбрано"
+msgstr[3] "{0} элементов выбрано"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:522
+msgid "Move {0} items?"
+msgstr "Переместить {0} элементов?"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:523
+msgid "Move \"{0}\"?"
+msgstr "Переместить \"{0}\"?"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:631
+#: frontend/src/metabase/components/EntityMenu.info.js:29
+#: frontend/src/metabase/components/EntityMenu.info.js:85
+#: frontend/src/metabase/containers/CollectionMoveModal.jsx:69
+msgid "Move"
+msgstr "Переместить"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:692
+msgid "Edit this collection"
+msgstr "Изменить эту коллекцию"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:700
+msgid "Archive this collection"
+msgstr "Переместить коллекцию в архив"
+
+#: frontend/src/metabase/components/CollectionList.jsx:64
+#: frontend/src/metabase/entities/collections.js:155
+msgid "My personal collection"
+msgstr "Моя личная коллекция"
+
+#: frontend/src/metabase/components/CollectionList.jsx:106
+msgid "New collection"
+msgstr "Новая коллекция"
+
+#: frontend/src/metabase/components/CopyButton.jsx:35
+msgid "Copied!"
+msgstr "Скопировано!"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:216
+msgid "Use an SSH-tunnel for database connections"
+msgstr "Использать SSH-туннель для связи с базой данных"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:218
+msgid "Some database installations can only be accessed by connecting through an SSH bastion host.\n"
+"This option also provides an extra layer of security when a VPN is not available.\n"
+"Enabling this is usually slower than a direct connection."
+msgstr "Некоторые инсталляции баз данных могут быть только посредствам SSH-туннелей. \n"
+"Эта опция так же предоставляет дополнительный уровень безопасности, когда недоступен VPN. \n"
+"Использование может снизить скорость в сравнении с прямым соединением."
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:271
+msgid "This is a large database, so let me choose when Metabase syncs and scans"
+msgstr "Это большая база данных, так что дайте я выберу когда Мэтабэйз синхронизирует и сканирует"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:273
+msgid "By default, Metabase does a lightweight hourly sync and an intensive daily scan of field values.\n"
+"If you have a large database, we recommend turning this on and reviewing when and how often the field value scans happen."
+msgstr "По-умолчанию, Metabase выполняет поверхностное сканирование каждый час и полное сканирование значений полей каждые сутки.\n"
+"Если у вас большая база данных, мы рекомендуем настроить подходящее расписание для сканирования значений полей."
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:289
+msgid "{0} to generate a Client ID and Client Secret for your project."
+msgstr "{0} для генерации Client ID и Client Secret для вашего проекта."
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:291
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:318
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:353
+msgid "Click here"
+msgstr "Нажмите здесь"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:294
+msgid "Choose \"Other\" as the application type. Name it whatever you'd like."
+msgstr "Выберите \"Прочее\" как тип приложения. Назовите его на ваш вкус."
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:316
+msgid "{0} to get an auth code"
+msgstr "{0} для получения кода аутентификации"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:328
+msgid "with Google Drive permissions"
+msgstr "с разрешениями Google Drive"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:348
+msgid "To use Metabase with this data you must enable API access in the Google Developers Console."
+msgstr "Вам необходимо разрешить доступ по API в Google Developers Console, чтобы использовать эти данные в Metabase."
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:351
+msgid "{0} to go to the console if you haven't already done so."
+msgstr "{0} перейдите в консоль, если вы этого еще не сделали"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:400
+msgid "How would you like to refer to this database?"
+msgstr "Как бы вы хотели обращаться к этой базе данных?"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:427
+#: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:97
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:237
+#: frontend/src/metabase/setup/components/DatabaseConnectionStep.jsx:188
+#: frontend/src/metabase/setup/components/DatabaseSchedulingStep.jsx:74
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:116
+#: frontend/src/metabase/setup/components/UserStep.jsx:308
+msgid "Next"
+msgstr "Дальше"
+
+#: frontend/src/metabase/components/ArchivedItem.jsx:52
+#: frontend/src/metabase/components/DeleteModalWithConfirm.jsx:80
+msgid "Delete this {0}"
+msgstr "Удалить этот {0}"
+
+#: frontend/src/metabase/components/EntityItem.jsx:43
+msgid "Pin this item"
+msgstr "Закрепить этот элемент"
+
+#: frontend/src/metabase/components/EntityItem.jsx:49
+msgid "Move this item"
+msgstr "Переместить этот элемент"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:24
+#: frontend/src/metabase/components/EntityMenu.info.js:80
+msgid "Edit this question"
+msgstr "Изменить этот запрос"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:26
+#: frontend/src/metabase/components/EntityMenu.info.js:47
+#: frontend/src/metabase/components/EntityMenu.info.js:82
+#: frontend/src/metabase/components/EntityMenu.info.js:99
+msgid "Action type"
+msgstr "Тип действия"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:28
+#: frontend/src/metabase/components/EntityMenu.info.js:84
+msgid "View revision history"
+msgstr "Просмотреть исторю"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:29
+#: frontend/src/metabase/components/EntityMenu.info.js:85
+msgid "Move action"
+msgstr "Передвинуть"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:33
+#: frontend/src/metabase/components/EntityMenu.info.js:89
+msgid "Archive action"
+msgstr "Заархивировать действие"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:45
+#: frontend/src/metabase/components/EntityMenu.info.js:97
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:329
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:342
+msgid "Add to dashboard"
+msgstr "Добавить к дашборду"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:49
+#: frontend/src/metabase/components/EntityMenu.info.js:101
+msgid "Download results"
+msgstr "Скачать результаты"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:51
+#: frontend/src/metabase/components/EntityMenu.info.js:103
+#: frontend/src/metabase/public/components/widgets/EmbedWidget.jsx:52
+msgid "Sharing and embedding"
+msgstr "Параметры шаринга"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:53
+#: frontend/src/metabase/components/EntityMenu.info.js:105
+msgid "Another action type"
+msgstr "Иной вид действия"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:65
+#: frontend/src/metabase/components/EntityMenu.info.js:67
+#: frontend/src/metabase/components/EntityMenu.info.js:113
+#: frontend/src/metabase/components/EntityMenu.info.js:115
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:449
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:454
+msgid "Get alerts about this"
+msgstr "Получать сигналы об этом"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:69
+#: frontend/src/metabase/components/EntityMenu.info.js:117
+msgid "View the SQL"
+msgstr "Посмотреть SQL"
+
+#: frontend/src/metabase/components/EntitySegments.jsx:18
+msgid "Segments for this"
+msgstr "Сегменты"
+
+#: frontend/src/metabase/components/ErrorDetails.jsx:20
+msgid "Show error details"
+msgstr "Показать детали ошибки"
+
+#: frontend/src/metabase/components/ErrorDetails.jsx:26
+msgid "Here's the full error message"
+msgstr "Полный текст сообщения об ошибке"
+
+#: frontend/src/metabase/components/ExplorePane.jsx:19
+msgid "Hi, Metabot here."
+msgstr "Привет, Metabot здесь."
+
+#: frontend/src/metabase/components/ExplorePane.jsx:95
+msgid "Based on the schema"
+msgstr "Основано на схеме"
+
+#: frontend/src/metabase/components/ExplorePane.jsx:174
+msgid "A look at your"
+msgstr "Взгляните на"
+
+#: frontend/src/metabase/components/FieldValuesWidget.jsx:234
+msgid "Search the list"
+msgstr "Поиск в списке"
+
+#: frontend/src/metabase/components/FieldValuesWidget.jsx:238
+msgid "Search by {0}"
+msgstr "Искать по {0}"
+
+#: frontend/src/metabase/components/FieldValuesWidget.jsx:240
+msgid " or enter an ID"
+msgstr " или введитеь ID"
+
+#: frontend/src/metabase/components/FieldValuesWidget.jsx:244
+msgid "Enter an ID"
+msgstr "Введите ID"
+
+#: frontend/src/metabase/components/FieldValuesWidget.jsx:246
+msgid "Enter a number"
+msgstr "Ведите номер"
+
+#: frontend/src/metabase/components/FieldValuesWidget.jsx:248
+msgid "Enter some text"
+msgstr "Введите текст"
+
+#: frontend/src/metabase/components/FieldValuesWidget.jsx:355
+msgid "No matching {0} found."
+msgstr "Не найдено сходст в {0}."
+
+#: frontend/src/metabase/components/FieldValuesWidget.jsx:363
+msgid "Including every option in your filter probably won’t do much…"
+msgstr "Предположу, что выбор всех значений фильтра делу не поможет…"
+
+#: frontend/src/metabase/containers/ErrorPages.jsx:24
+msgid "Something's gone wrong"
+msgstr "Что-то пошло не так"
+
+#: frontend/src/metabase/containers/ErrorPages.jsx:25
+msgid "We've run into an error. You can try refreshing the page, or just go back."
+msgstr "Мы столкнулись с ошибкой. Попробуйте обновить страницу или просто вернитесь назад."
+
+#: frontend/src/metabase/components/Header.jsx:97
+#: frontend/src/metabase/components/HeaderBar.jsx:45
+#: frontend/src/metabase/components/ListItem.jsx:37
+#: frontend/src/metabase/reference/components/Detail.jsx:47
+#: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:158
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:213
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:191
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:205
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:209
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:209
+msgid "No description yet"
+msgstr "Описание не заполнено"
+
+#: frontend/src/metabase/components/Header.jsx:112
+#: frontend/src/metabase/entities/containers/EntityForm.jsx:43
+msgid "New {0}"
+msgstr "Новый {0}"
+
+#: frontend/src/metabase/components/Header.jsx:123
+msgid "Asked by {0}"
+msgstr "Задан {0}"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:13
+msgid "Today, "
+msgstr "Сегодня, "
+
+#: frontend/src/metabase/components/HistoryModal.jsx:15
+msgid "Yesterday, "
+msgstr "Вчера, "
+
+#: frontend/src/metabase/components/HistoryModal.jsx:68
+msgid "First revision."
+msgstr "Первая ревизия"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:70
+msgid "Reverted to an earlier revision and {0}"
+msgstr "Возвращен к более ранней редакции и {0}"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:82
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:289
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:379
+#: frontend/src/metabase/reference/segments/SegmentSidebar.jsx:58
+msgid "Revision history"
+msgstr "История ревизий"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:90
+msgid "When"
+msgstr "Когда"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:91
+msgid "Who"
+msgstr "Кто"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:92
+msgid "What"
+msgstr "Что"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:113
+msgid "Revert"
+msgstr "Возвратить"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:114
+msgid "Reverting…"
+msgstr "Возврат…"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:115
+msgid "Revert failed"
+msgstr "Возврат не удался"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:116
+msgid "Reverted"
+msgstr "Возвращен"
+
+#: frontend/src/metabase/components/ItemTypeFilterBar.jsx:13
+msgid "Everything"
+msgstr "Все"
+
+#: frontend/src/metabase/components/ItemTypeFilterBar.jsx:18
+#: frontend/src/metabase/home/containers/SearchApp.jsx:69
+msgid "Dashboards"
+msgstr "Дашборды"
+
+#: frontend/src/metabase/components/ItemTypeFilterBar.jsx:23
+#: frontend/src/metabase/home/containers/SearchApp.jsx:115
+msgid "Questions"
+msgstr "Запросы"
+
+#: frontend/src/metabase/components/ItemTypeFilterBar.jsx:28
+#: frontend/src/metabase/routes.jsx:321
+msgid "Pulses"
+msgstr "Пульсы"
+
+#: frontend/src/metabase/components/LeftNavPane.jsx:36
+#: frontend/src/metabase/query_builder/components/dataref/DataReference.jsx:103
+msgid "Back"
+msgstr "Назад"
+
+#: frontend/src/metabase/components/ListSearchField.jsx:18
+msgid "Find..."
+msgstr "Найти..."
+
+#: frontend/src/metabase/components/LoadingAndErrorWrapper.jsx:48
+msgid "An error occured"
+msgstr "Возникла ошибка"
+
+#: frontend/src/metabase/components/LoadingAndErrorWrapper.jsx:35
+msgid "Loading..."
+msgstr "Загрузка..."
+
+#: frontend/src/metabase/components/NewsletterForm.jsx:71
+msgid "Metabase Newsletter"
+msgstr "Рассылка Metabase"
+
+#: frontend/src/metabase/components/NewsletterForm.jsx:81
+msgid "Get infrequent emails about new releases and feature updates."
+msgstr "Получать редкие сообщения о новых релизах и обновлениях функций."
+
+#: frontend/src/metabase/components/NewsletterForm.jsx:99
+msgid "Subscribe"
+msgstr "Подписаться"
+
+#: frontend/src/metabase/components/NewsletterForm.jsx:106
+msgid "You're subscribed. Thanks for using Metabase!"
+msgstr "Вы подписаны. Спасибо за использование Metabase!"
+
+#: frontend/src/metabase/containers/ErrorPages.jsx:44
+msgid "We're a little lost..."
+msgstr "Мы немного заблудились…"
+
+#: frontend/src/metabase/components/PasswordReveal.jsx:27
+msgid "Temporary Password"
+msgstr "Временный пароль"
+
+#: frontend/src/metabase/components/PasswordReveal.jsx:68
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:421
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:436
+msgid "Hide"
+msgstr "Скрыть"
+
+#: frontend/src/metabase/components/PasswordReveal.jsx:68
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:422
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:437
+msgid "Show"
+msgstr "Показать"
+
+#: frontend/src/metabase/components/QuestionSavedModal.jsx:17
+msgid "Saved! Add this to a dashboard?"
+msgstr "Сохранено! Добавить на дашборд?"
+
+#: frontend/src/metabase/components/QuestionSavedModal.jsx:25
+msgid "Yes please!"
+msgstr "Да, пожалуйста"
+
+#: frontend/src/metabase/components/QuestionSavedModal.jsx:29
+msgid "Not now"
+msgstr "Не сейчас"
+
+#: frontend/src/metabase/components/SaveStatus.jsx:53
+msgid "Error:"
+msgstr "Ошибка:"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:23
+msgid "Sunday"
+msgstr "Воскресенье"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:24
+msgid "Monday"
+msgstr "Понедельник"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:25
+msgid "Tuesday"
+msgstr "Вторник"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:26
+msgid "Wednesday"
+msgstr "Среда"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:27
+msgid "Thursday"
+msgstr "Четверг"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:28
+msgid "Friday"
+msgstr "Пятница"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:29
+msgid "Saturday"
+msgstr "Суббота"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:33
+msgid "First"
+msgstr "Первый"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:34
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:23
+msgid "Last"
+msgstr "Последний"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:35
+msgid "15th (Midpoint)"
+msgstr "15-ое (середина)"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:125
+msgid "Calendar Day"
+msgstr "День календаря"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:210
+msgid "your Metabase timezone"
+msgstr "часовой пояс вашего Metabase"
+
+#: frontend/src/metabase/components/SearchHeader.jsx:21
+msgid "Filter this list..."
+msgstr "Фильтровать этот список…"
+
+#: frontend/src/metabase/components/Select.info.js:8
+msgid "Blue"
+msgstr "Синий"
+
+#: frontend/src/metabase/components/Select.info.js:9
+msgid "Green"
+msgstr "Зеленый"
+
+#: frontend/src/metabase/components/Select.info.js:10
+msgid "Red"
+msgstr "Красный"
+
+#: frontend/src/metabase/components/Select.info.js:11
+msgid "Yellow"
+msgstr "Желтный"
+
+#: frontend/src/metabase/components/Select.info.js:14
+msgid "A component used to make a selection"
+msgstr "Компонент использован для возможности выбора"
+
+#: frontend/src/metabase/components/Select.info.js:20
+#: frontend/src/metabase/components/Select.info.js:28
+msgid "Selected"
+msgstr "Выбрано"
+
+#: frontend/src/metabase/components/Select.jsx:297
+msgid "Nothing to select"
+msgstr "Ничего не выбрано"
+
+#: frontend/src/metabase/containers/ErrorPages.jsx:54
+msgid "Sorry, you don’t have permission to see that."
+msgstr "Извините, у вас отсутствуют разрешения на просмотр."
+
+#: frontend/src/metabase/components/form/FormMessage.jsx:5
+msgid "Unknown error encountered"
+msgstr "Возникла неизвестная ошибка"
+
+#: frontend/src/metabase/components/form/StandardForm.jsx:69
+#: frontend/src/metabase/nav/containers/Navbar.jsx:304
+msgid "Create"
+msgstr "Создать"
+
+#: frontend/src/metabase/containers/DashboardForm.jsx:9
+msgid "Create dashboard"
+msgstr "Создать дашборд"
+
+#: frontend/src/metabase/containers/EntitySearch.jsx:35
+#: frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx:331
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:60
+msgid "Table"
+msgstr "Таблица"
+
+#: frontend/src/metabase/containers/EntitySearch.jsx:42
+#: frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx:306
+msgid "Database"
+msgstr "База данных"
+
+#: frontend/src/metabase/containers/EntitySearch.jsx:49
+msgid "Creator"
+msgstr "Создатель"
+
+#: frontend/src/metabase/containers/EntitySearch.jsx:238
+msgid "No results found"
+msgstr "Ничего не найдено"
+
+#: frontend/src/metabase/containers/EntitySearch.jsx:239
+msgid "Try adjusting your filter to find what you’re looking for."
+msgstr "Попробуйте установить фильтр для того чтобы найти то, что искали."
+
+#: frontend/src/metabase/containers/EntitySearch.jsx:258
+msgid "View by"
+msgstr "Просмотрено"
+
+#: frontend/src/metabase/containers/EntitySearch.jsx:494
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:84
+#: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:69
+#: frontend/src/metabase/tutorial/TutorialModal.jsx:34
+msgid "of"
+msgstr "из"
+
+#: frontend/src/metabase/containers/Overworld.jsx:75
+msgid "Don't tell anyone, but you're my favorite."
+msgstr "Никому не говори, но ты мой любимчик."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:85
+msgid "Once you connect your own data, I can show you some automatic explorations called x-rays. Here are some examples with sample data."
+msgstr "Как только вы подключите собственные данные я смогу показать некоторые автоматические изыскания, названные X-ray. Вот несколько примеров на данных, которые есть у меня."
+
+#: frontend/src/metabase/containers/Overworld.jsx:128
+#: frontend/src/metabase/containers/Overworld.jsx:299
+#: frontend/src/metabase/reference/components/GuideHeader.jsx:12
+msgid "Start here"
+msgstr "Начните здесь"
+
+#: frontend/src/metabase/containers/Overworld.jsx:294
+#: frontend/src/metabase/entities/collections.js:147
+#: src/metabase/models/collection.clj
+msgid "Our analytics"
+msgstr "Наша статистика"
+
+#: frontend/src/metabase/containers/Overworld.jsx:203
+msgid "Browse all items"
+msgstr "Просмотреть все элементы"
+
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:165
+msgid "Replace or save as new?"
+msgstr "Заменить или сохранить как новый?"
+
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:173
+msgid "Replace original question, \"{0}\""
+msgstr "Заменить исходный вопрос, \"{0}\""
+
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:178
+msgid "Save as new question"
+msgstr "Сохранить как новый запрос"
+
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:187
+msgid "First, save your question"
+msgstr "Для начала, сохраните ваш запрос"
+
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:188
+msgid "Save question"
+msgstr "Сохранить запрос"
+
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:224
+msgid "What is the name of your card?"
+msgstr "Как называется ваша карточка?"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:31
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:18
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:232
+#: frontend/src/metabase/entities/collections.js:101
+#: frontend/src/metabase/entities/dashboards.js:151
+#: frontend/src/metabase/lib/core.js:50 frontend/src/metabase/lib/core.js:205
+#: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:156
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:211
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:189
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:203
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:207
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:207
+#: frontend/src/metabase/visualizations/lib/settings/visualization.js:24
+msgid "Description"
+msgstr "Описание"
+
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:238
+#: frontend/src/metabase/entities/dashboards.js:153
+msgid "It's optional but oh, so helpful"
+msgstr "Это не обязательно, но может быть полезным"
+
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:245
+#: frontend/src/metabase/entities/dashboards.js:157
+msgid "Which collection should this go in?"
+msgstr "В какую коллекцию следует это включить?"
+
+#: frontend/src/metabase/containers/UndoListing.jsx:34
+msgid "modified"
+msgstr "изменено"
+
+#: frontend/src/metabase/containers/UndoListing.jsx:34
+msgid "item"
+msgstr "элемент"
+
+#: frontend/src/metabase/containers/UndoListing.jsx:81
+msgid "Undo"
+msgstr "Отмена"
+
+#: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:270
+msgid "Applying Question"
+msgstr "Применить запрос"
+
+#: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:274
+msgid "That question isn't compatible"
+msgstr "Этот запрос несовместим"
+
+#: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:310
+msgid "Search for a question"
+msgstr "Найти запрос"
+
+#: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:339
+msgid "We're not sure if this question is compatible"
+msgstr "Мы не уверены, сочетается ли данный вопрос"
+
+#: frontend/src/metabase/dashboard/components/ArchiveDashboardModal.jsx:43
+msgid "Archive Dashboard"
+msgstr "Архивировать Панель индикаторов"
+
+#: frontend/src/metabase/dashboard/components/DashCardParameterMapper.jsx:20
+msgid "Make sure to make a selection for each series, or the filter won't work on this card."
+msgstr "Убедитесь что сделан выбор для каждой из серий, иначе фильтр не будет работать на этой карточке."
+
+#: frontend/src/metabase/dashboard/components/Dashboard.jsx:300
+msgid "This dashboard is looking empty."
+msgstr "Панель индикаторов кажется пустоватой."
+
+#: frontend/src/metabase/dashboard/components/Dashboard.jsx:301
+msgid "Add a question to start making it useful!"
+msgstr "Добавьте вопрос и сделайте ее полезной!"
+
+#: frontend/src/metabase/dashboard/components/DashboardActions.jsx:38
+msgid "Daytime mode"
+msgstr "Дневной режим"
+
+#: frontend/src/metabase/dashboard/components/DashboardActions.jsx:38
+msgid "Nighttime mode"
+msgstr "Ночной режим"
+
+#: frontend/src/metabase/dashboard/components/DashboardActions.jsx:56
+msgid "Exit fullscreen"
+msgstr "Выход из полноэкранного режима"
+
+#: frontend/src/metabase/dashboard/components/DashboardActions.jsx:56
+msgid "Enter fullscreen"
+msgstr "Полноэкранный режим"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:181
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:183
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:250
+msgid "Saving…"
+msgstr "Сохранение..."
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:216
+msgid "Add a question"
+msgstr "Добавить запрос"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:219
+msgid "Add a question to this dashboard"
+msgstr "Добавить запрос на этот дашборд"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:248
+msgid "Add a filter"
+msgstr "Добавить фильтр"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:254
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:78
+msgid "Parameters"
+msgstr "Параметры"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:275
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:279
+msgid "Add a text box"
+msgstr "Добавить текстовое поле"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:319
+msgid "Move dashboard"
+msgstr "Переместить дашборд"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:302
+msgid "Edit dashboard"
+msgstr "Изменить дашборд"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:306
+msgid "Edit Dashboard Layout"
+msgstr "Изменить внешний вид дашборда"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:369
+msgid "You are editing a dashboard"
+msgstr "Вы редактируете дашборд"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:374
+msgid "Select the field that should be filtered for each card"
+msgstr "Выберите поле, которое должно быть фильтром в каждой из карт"
+
+#: frontend/src/metabase/dashboard/components/DashboardMoveModal.jsx:28
+msgid "Move dashboard to..."
+msgstr "Переместить дашборд..."
+
+#: frontend/src/metabase/dashboard/components/DashboardMoveModal.jsx:52
+msgid "Dashboard moved to {0}"
+msgstr "Дашборд перемещен в {0}"
+
+#: frontend/src/metabase/dashboard/components/ParametersPopover.jsx:82
+msgid "What do you want to filter?"
+msgstr "Что вы хотите отфильтровать?"
+
+#: frontend/src/metabase/dashboard/components/ParametersPopover.jsx:115
+msgid "What kind of filter?"
+msgstr "Какой тип фильтра?"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:13
+#: frontend/src/metabase/visualizations/lib/settings/column.js:231
+#: frontend/src/metabase/visualizations/lib/settings/series.js:90
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:179
+msgid "Off"
+msgstr "Выключить"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:14
+msgid "1 minute"
+msgstr "1 минута"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:15
+msgid "5 minutes"
+msgstr "5 минут"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:16
+msgid "10 minutes"
+msgstr "10 минут"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:17
+msgid "15 minutes"
+msgstr "15 минут"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:18
+msgid "30 minutes"
+msgstr "30 минут"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:19
+msgid "60 minutes"
+msgstr "60 минут"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:31
+msgid "Auto-refresh"
+msgstr "Автообновление"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:37
+msgid "Refreshing in"
+msgstr "Обновление через"
+
+#: frontend/src/metabase/dashboard/components/RemoveFromDashboardModal.jsx:36
+msgid "Remove this question?"
+msgstr "Удалить этот запрос?"
+
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:71
+msgid "Your dashboard was saved"
+msgstr "Ваш дашборд был сохранен"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:745
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:76
+msgid "See it"
+msgstr "Просмотреть"
+
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:137
+msgid "Save this"
+msgstr "Сохранить"
+
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:170
+msgid "Show more about this"
+msgstr "Показать больше об этом"
+
+#: frontend/src/metabase/dashboard/containers/DashCardCardParameterMapper.jsx:140
+msgid "This card doesn't have any fields or parameters that can be mapped to this parameter type."
+msgstr "Карточка не содержит полей или параметров которые могут быть сопоставлены с этим типом параметра."
+
+#: frontend/src/metabase/dashboard/containers/DashCardCardParameterMapper.jsx:142
+msgid "The values in this field don't overlap with the values of any other fields you've chosen."
+msgstr "Значение этого поля не покрывают значения никаких полей, которые вы выбрали."
+
+#: frontend/src/metabase/dashboard/containers/DashCardCardParameterMapper.jsx:186
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingFieldPicker.jsx:37
+msgid "No valid fields"
+msgstr "Нет корректных полей"
+
+#: frontend/src/metabase/entities/collections.js:97
+msgid "Name must be 100 characters or less"
+msgstr "Имя не должно превышать 100 символов"
+
+#: frontend/src/metabase/entities/collections.js:111
+msgid "Color is required"
+msgstr "Цвет обязателен"
+
+#: frontend/src/metabase/entities/dashboards.js:146
+msgid "What is the name of your dashboard?"
+msgstr "Как называется ваш дашборд?"
+
+#: frontend/src/metabase/home/components/Activity.jsx:92
+msgid "did some super awesome stuff that's hard to describe"
+msgstr "сделал супер-пупер финт, который сложно описать словами"
+
+#: frontend/src/metabase/home/components/Activity.jsx:101
+#: frontend/src/metabase/home/components/Activity.jsx:116
+msgid "created an alert about - "
+msgstr "создал оповещение о - "
+
+#: frontend/src/metabase/home/components/Activity.jsx:126
+#: frontend/src/metabase/home/components/Activity.jsx:141
+msgid "deleted an alert about - "
+msgstr "удалил оповещение о - "
+
+#: frontend/src/metabase/home/components/Activity.jsx:152
+msgid "saved a question about "
+msgstr "сохранить вопрос о "
+
+#: frontend/src/metabase/home/components/Activity.jsx:165
+msgid "saved a question"
+msgstr "сохранил запрос"
+
+#: frontend/src/metabase/home/components/Activity.jsx:169
+msgid "deleted a question"
+msgstr "удалил запрос"
+
+#: frontend/src/metabase/home/components/Activity.jsx:172
+msgid "created a dashboard"
+msgstr "создал панель индикаторов"
+
+#: frontend/src/metabase/home/components/Activity.jsx:175
+msgid "deleted a dashboard"
+msgstr "удалил панель индикаторов"
+
+#: frontend/src/metabase/home/components/Activity.jsx:181
+#: frontend/src/metabase/home/components/Activity.jsx:196
+msgid "added a question to the dashboard - "
+msgstr "доавил вопрос на панель индикаторов - "
+
+#: frontend/src/metabase/home/components/Activity.jsx:206
+#: frontend/src/metabase/home/components/Activity.jsx:221
+msgid "removed a question from the dashboard - "
+msgstr "удалил вопрос с панели индикаторов - "
+
+#: frontend/src/metabase/home/components/Activity.jsx:231
+#: frontend/src/metabase/home/components/Activity.jsx:238
+msgid "received the latest data from"
+msgstr "последние данные получены"
+
+#: frontend/src/metabase-lib/lib/Dimension.js:621
+#: frontend/src/metabase/home/components/Activity.jsx:244
+#: frontend/src/metabase/lib/query_time.js:180
+#: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:273
+msgid "Unknown"
+msgstr "Неизвестно"
+
+#: frontend/src/metabase/home/components/Activity.jsx:251
+msgid "Hello World!"
+msgstr "Привет Мир!"
+
+#: frontend/src/metabase/home/components/Activity.jsx:252
+msgid "Metabase is up and running."
+msgstr "Metabase запущен и работает."
+
+#: frontend/src/metabase/home/components/Activity.jsx:258
+#: frontend/src/metabase/home/components/Activity.jsx:288
+msgid "added the metric "
+msgstr "добавил метрику "
+
+#: frontend/src/metabase/home/components/Activity.jsx:272
+#: frontend/src/metabase/home/components/Activity.jsx:362
+msgid " to the "
+msgstr " к "
+
+#: frontend/src/metabase/home/components/Activity.jsx:282
+#: frontend/src/metabase/home/components/Activity.jsx:322
+#: frontend/src/metabase/home/components/Activity.jsx:372
+#: frontend/src/metabase/home/components/Activity.jsx:413
+msgid " table"
+msgstr " таблица"
+
+#: frontend/src/metabase/home/components/Activity.jsx:298
+#: frontend/src/metabase/home/components/Activity.jsx:328
+msgid "made changes to the metric "
+msgstr "изменил метрику "
+
+#: frontend/src/metabase/home/components/Activity.jsx:312
+#: frontend/src/metabase/home/components/Activity.jsx:403
+msgid " in the "
+msgstr " в "
+
+#: frontend/src/metabase/home/components/Activity.jsx:335
+msgid "removed the metric "
+msgstr "удалил метрику "
+
+#: frontend/src/metabase/home/components/Activity.jsx:338
+msgid "created a pulse"
+msgstr "создал пульс"
+
+#: frontend/src/metabase/home/components/Activity.jsx:341
+msgid "deleted a pulse"
+msgstr "удалил пульс"
+
+#: frontend/src/metabase/home/components/Activity.jsx:347
+#: frontend/src/metabase/home/components/Activity.jsx:378
+msgid "added the filter"
+msgstr "добавио фильтр"
+
+#: frontend/src/metabase/home/components/Activity.jsx:388
+#: frontend/src/metabase/home/components/Activity.jsx:419
+msgid "made changes to the filter"
+msgstr "изменил фильтр"
+
+#: frontend/src/metabase/home/components/Activity.jsx:426
+msgid "removed the filter {0}"
+msgstr "удалил фильтр {0}"
+
+#: frontend/src/metabase/home/components/Activity.jsx:429
+msgid "joined!"
+msgstr "присоединился!"
+
+#: frontend/src/metabase/home/components/Activity.jsx:529
+msgid "Hmmm, looks like nothing has happened yet."
+msgstr "Хммм, похоже ничего не произошло."
+
+#: frontend/src/metabase/home/components/Activity.jsx:532
+msgid "Save a question and get this baby going!"
+msgstr "Сохраните вопрос и заставьте эту детку идти!"
+
+#: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:19
+msgid "Ask questions and explore"
+msgstr "Задать вопрос и исследовать"
+
+#: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:20
+msgid "Click on charts or tables to explore, or ask a new question using the easy interface or the powerful SQL editor."
+msgstr "Нажмите на графиках или таблицах для того чтобы исследовать данные, создать новый запрос в простом интерфейсе или полноценном SQL-редакторе."
+
+#: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:30
+msgid "Make your own charts"
+msgstr "Создать собственные графики"
+
+#: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:31
+msgid "Create line charts, scatter plots, maps, and more."
+msgstr "Создать линейные графики, графики разброса, карты и другое."
+
+#: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:41
+msgid "Share what you find"
+msgstr "Поделитесь тем что нашли"
+
+#: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:42
+msgid "Create powerful and flexible dashboards, and send regular updates via email or Slack."
+msgstr "Создать мощные и гибкие дашборды, и получать регулярные обновления через email или Slack."
+
+#: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:97
+msgid "Let's go"
+msgstr "Начнём"
+
+#: frontend/src/metabase/home/components/NextStep.jsx:34
+msgid "Setup Tip"
+msgstr "Совет по настройке"
+
+#: frontend/src/metabase/home/components/NextStep.jsx:40
+msgid "View all"
+msgstr "Посмотреть всё"
+
+#: frontend/src/metabase/home/components/RecentViews.jsx:40
+msgid "Recently Viewed"
+msgstr "Недавно просмотренно"
+
+#: frontend/src/metabase/home/components/RecentViews.jsx:75
+msgid "You haven't looked at any dashboards or questions recently"
+msgstr "В последнее время, вы не смотрели ни на один дэшборд"
+
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:99
+msgid "{0} items selected"
+msgstr "{0} элементов выбрано"
+
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:121
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:172
+msgid "Unarchive"
+msgstr "Разархивировать"
+
+#: frontend/src/metabase/home/containers/HomepageApp.jsx:74
+#: frontend/src/metabase/nav/containers/Navbar.jsx:331
+msgid "Activity"
+msgstr "Активность"
+
+#: frontend/src/metabase/home/containers/SearchApp.jsx:28
+msgid "Results for \"{0}\""
+msgstr "Результаты для \"{0}\""
+
+#: frontend/src/metabase/home/containers/SearchApp.jsx:138
+msgid "Pulse"
+msgstr "Пульс"
+
+#: frontend/src/metabase/lib/core.js:7
+msgid "Entity Key"
+msgstr "Ключ сущности"
+
+#: frontend/src/metabase/lib/core.js:8 frontend/src/metabase/lib/core.js:14
+#: frontend/src/metabase/lib/core.js:20
+msgid "Overall Row"
+msgstr "Всего строк"
+
+#: frontend/src/metabase/lib/core.js:9
+msgid "The primary key for this table."
+msgstr "Первичный ключ для таблицы"
+
+#: frontend/src/metabase/lib/core.js:13
+msgid "Entity Name"
+msgstr "Название сущности"
+
+#: frontend/src/metabase/lib/core.js:15
+msgid "The \"name\" of each record. Usually a column called \"name\", \"title\", etc."
+msgstr "\"Имя\" каждой записи. Обычно используются колонки \"имя\", \"заголовок\" и другие."
+
+#: frontend/src/metabase/lib/core.js:19
+msgid "Foreign Key"
+msgstr "Внешний ключ"
+
+#: frontend/src/metabase/lib/core.js:21
+msgid "Points to another table to make a connection."
+msgstr "Указывает на другую таблицу для установления соединения."
+
+#: frontend/src/metabase/lib/core.js:25
+msgid "Avatar Image URL"
+msgstr "Ссылка на аватар"
+
+#: frontend/src/metabase/lib/core.js:26 frontend/src/metabase/lib/core.js:31
+#: frontend/src/metabase/lib/core.js:36 frontend/src/metabase/lib/core.js:41
+#: frontend/src/metabase/lib/core.js:46 frontend/src/metabase/lib/core.js:51
+#: frontend/src/metabase/lib/core.js:56 frontend/src/metabase/lib/core.js:61
+#: frontend/src/metabase/lib/core.js:66 frontend/src/metabase/lib/core.js:71
+#: frontend/src/metabase/lib/core.js:76 frontend/src/metabase/lib/core.js:81
+#: frontend/src/metabase/lib/core.js:86 frontend/src/metabase/lib/core.js:91
+#: frontend/src/metabase/lib/core.js:96 frontend/src/metabase/lib/core.js:101
+#: frontend/src/metabase/lib/core.js:106 frontend/src/metabase/lib/core.js:111
+#: frontend/src/metabase/lib/core.js:116 frontend/src/metabase/lib/core.js:121
+#: frontend/src/metabase/lib/core.js:126 frontend/src/metabase/lib/core.js:131
+#: frontend/src/metabase/lib/core.js:136 frontend/src/metabase/lib/core.js:141
+#: frontend/src/metabase/lib/core.js:146 frontend/src/metabase/lib/core.js:151
+#: frontend/src/metabase/lib/core.js:156 frontend/src/metabase/lib/core.js:161
+#: frontend/src/metabase/lib/core.js:166 frontend/src/metabase/lib/core.js:171
+#: frontend/src/metabase/lib/core.js:176 frontend/src/metabase/lib/core.js:181
+#: frontend/src/metabase/lib/core.js:186 frontend/src/metabase/lib/core.js:191
+#: frontend/src/metabase/lib/core.js:196 frontend/src/metabase/lib/core.js:201
+#: frontend/src/metabase/lib/core.js:206 frontend/src/metabase/lib/core.js:211
+#: frontend/src/metabase/lib/core.js:216 frontend/src/metabase/lib/core.js:221
+#: frontend/src/metabase/lib/core.js:226 frontend/src/metabase/lib/core.js:231
+msgid "Common"
+msgstr "Общее"
+
+#: frontend/src/metabase/lib/core.js:30
+#: frontend/src/metabase/meta/Dashboard.js:81
+#: frontend/src/metabase/modes/components/actions/PivotByCategoryAction.jsx:9
+msgid "Category"
+msgstr "Категория"
+
+#: frontend/src/metabase/lib/core.js:35
+#: frontend/src/metabase/meta/Dashboard.js:61
+msgid "City"
+msgstr "Город"
+
+#: frontend/src/metabase/lib/core.js:40
+#: frontend/src/metabase/meta/Dashboard.js:73
+msgid "Country"
+msgstr "Страна"
+
+#: frontend/src/metabase/lib/core.js:60
+msgid "Enum"
+msgstr "Список"
+
+#: frontend/src/metabase/lib/core.js:65
+msgid "Image URL"
+msgstr "Ссылка на изображение"
+
+#: frontend/src/metabase/lib/core.js:70
+msgid "Field containing JSON"
+msgstr "Поле, содержащее JSON"
+
+#: frontend/src/metabase/lib/core.js:75
+msgid "Latitude"
+msgstr "Широта"
+
+#: frontend/src/metabase/lib/core.js:80
+msgid "Longitude"
+msgstr "Долгота"
+
+#: frontend/src/metabase/lib/core.js:85
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:149
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:41
+msgid "Number"
+msgstr "Число"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:19
+#: frontend/src/metabase/lib/core.js:90
+#: frontend/src/metabase/meta/Dashboard.js:65
+msgid "State"
+msgstr "Штат"
+
+#: frontend/src/metabase/lib/core.js:95
+msgid "UNIX Timestamp (Seconds)"
+msgstr "Время UNIX (секунды)"
+
+#: frontend/src/metabase/lib/core.js:100
+msgid "UNIX Timestamp (Milliseconds)"
+msgstr "Время UNIX (миллисекунды)"
+
+#: frontend/src/metabase/lib/core.js:110
+msgid "Zip Code"
+msgstr "ZIP-код"
+
+#: frontend/src/metabase/lib/core.js:115
+msgid "Quantity"
+msgstr "Количество"
+
+#. Is "income" a "money that is earned from doing work or received from investments" or it's better to translate like "income that a company receives regularly" - "profit"?
+#: frontend/src/metabase/lib/core.js:120
+msgid "Income"
+msgstr "Доход"
+
+#: frontend/src/metabase/lib/core.js:125
+msgid "Discount"
+msgstr "Скидка"
+
+#: frontend/src/metabase/lib/core.js:130
+msgid "Creation timestamp"
+msgstr "Отметка времени создания"
+
+#: frontend/src/metabase/lib/core.js:135
+msgid "Creation time"
+msgstr "Время создания"
+
+#: frontend/src/metabase/lib/core.js:140
+msgid "Creation date"
+msgstr "Дата создания"
+
+#: frontend/src/metabase/lib/core.js:145
+msgid "Product"
+msgstr "Продукт"
+
+#: frontend/src/metabase/lib/core.js:150
+msgid "User"
+msgstr "Пользователь"
+
+#: frontend/src/metabase/lib/core.js:155
+msgid "Source"
+msgstr "Источник"
+
+#: frontend/src/metabase/lib/core.js:160
+msgid "Price"
+msgstr "Цена"
+
+#: frontend/src/metabase/lib/core.js:165
+msgid "Join timestamp"
+msgstr "Отметка времени присоединения"
+
+#: frontend/src/metabase/lib/core.js:170
+msgid "Join time"
+msgstr "Время присоединения"
+
+#: frontend/src/metabase/lib/core.js:175
+msgid "Join date"
+msgstr "Дата присоединения"
+
+#: frontend/src/metabase/lib/core.js:180
+msgid "Share"
+msgstr "Поделиться"
+
+#: frontend/src/metabase/lib/core.js:185
+msgid "Owner"
+msgstr "Владелец"
+
+#: frontend/src/metabase/lib/core.js:190
+msgid "Company"
+msgstr "Компания"
+
+#: frontend/src/metabase/lib/core.js:195
+msgid "Subscription"
+msgstr "Подписка"
+
+#: frontend/src/metabase/lib/core.js:200
+msgid "Score"
+msgstr "Результат"
+
+#: frontend/src/metabase/lib/core.js:210
+#: frontend/src/metabase/public/components/widgets/DisplayOptionsPane.jsx:49
+#: frontend/src/metabase/visualizations/lib/settings/visualization.js:17
+msgid "Title"
+msgstr "Заголовок"
+
+#: frontend/src/metabase/lib/core.js:215
+msgid "Comment"
+msgstr "Комментарий"
+
+#: frontend/src/metabase/lib/core.js:220
+msgid "Cost"
+msgstr "Стоимость"
+
+#: frontend/src/metabase/lib/core.js:225
+msgid "Gross margin"
+msgstr "Валовая прибыль"
+
+#: frontend/src/metabase/lib/core.js:230
+msgid "Birthday"
+msgstr "Дата рождения"
+
+#: frontend/src/metabase/lib/core.js:241
+msgid "Search box"
+msgstr "Поле для поиска"
+
+#: frontend/src/metabase/lib/core.js:242
+msgid "A list of all values"
+msgstr "Список значений"
+
+#: frontend/src/metabase/lib/core.js:243
+msgid "Plain input box"
+msgstr "Поле ввода текста"
+
+#: frontend/src/metabase/lib/core.js:249
+msgid "Everywhere"
+msgstr "Везде"
+
+#: frontend/src/metabase/lib/core.js:250
+msgid "The default setting. This field will be displayed normally in tables and charts."
+msgstr "По умолчанию данное поле будет отображаться в таблицах и на графиках."
+
+#: frontend/src/metabase/lib/core.js:254
+msgid "Only in Detail Views"
+msgstr "Только в детальном просмотре"
+
+#: frontend/src/metabase/lib/core.js:255
+msgid "This field will only be displayed when viewing the details of a single record. Use this for information that's lengthy or that isn't useful in a table or chart."
+msgstr "Данное поле будет отображено только при просмотре информации об отдельной записи, предназначено для большого объема информации, необязательного для использования в таблицах и на графиках."
+
+#: frontend/src/metabase/lib/core.js:259
+msgid "Do Not Include"
+msgstr "Не включать"
+
+#: frontend/src/metabase/lib/core.js:260
+msgid "Metabase will never retrieve this field. Use this for sensitive or irrelevant information."
+msgstr "Metabase никогда не получит это поле. Используйте для чувствительной нерелевантной информации."
+
+#: frontend/src/metabase/lib/expressions/config.js:7
+#: frontend/src/metabase/lib/query.js:614
+#: frontend/src/metabase/visualizations/lib/utils.js:126
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+msgid "Count"
+msgstr "Количество"
+
+#: frontend/src/metabase/lib/expressions/config.js:8
+msgid "CumulativeCount"
+msgstr "Накопительное количество"
+
+#: frontend/src/metabase/lib/expressions/config.js:9
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:17
+#: frontend/src/metabase/visualizations/lib/utils.js:127
+msgid "Sum"
+msgstr "Сумма"
+
+#: frontend/src/metabase/lib/expressions/config.js:10
+msgid "CumulativeSum"
+msgstr "Накопительная сумма"
+
+#. Во множественном числе исходя из применяемости в Metabase.
+#: frontend/src/metabase/lib/expressions/config.js:11
+#: frontend/src/metabase/visualizations/lib/utils.js:128
+msgid "Distinct"
+msgstr "Уникальные"
+
+#: frontend/src/metabase/lib/expressions/config.js:12
+msgid "StandardDeviation"
+msgstr "Стандартное отклонение"
+
+#: frontend/src/metabase/lib/expressions/config.js:13
+#: frontend/src/metabase/visualizations/lib/utils.js:125
+msgid "Average"
+msgstr "Среднее"
+
+#: frontend/src/metabase/lib/expressions/config.js:14
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:25
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:48
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:450
+msgid "Min"
+msgstr "Минимальное"
+
+#: frontend/src/metabase/lib/expressions/config.js:15
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:29
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:57
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:458
+msgid "Max"
+msgstr "Максимальное"
+
+#: frontend/src/metabase/lib/expressions/parser.js:384
+msgid "sad sad panda, lexing errors detected"
+msgstr "грустная грустная панда, обнаружены лексические ошибки"
+
+#: frontend/src/metabase/lib/formatting.js:707
+msgid "{0} second"
+msgid_plural "{0} seconds"
+msgstr[0] "{0} секунда"
+msgstr[1] "{0} секунд"
+msgstr[2] "{0} секунд"
+msgstr[3] "{0} секунды"
+
+#: frontend/src/metabase/lib/formatting.js:710
+msgid "{0} minute"
+msgid_plural "{0} minutes"
+msgstr[0] "{0} минута"
+msgstr[1] "{0} минут"
+msgstr[2] "{0} минут"
+msgstr[3] "{0} минуты"
+
+#: frontend/src/metabase/lib/greeting.js:4
+msgid "Hey there"
+msgstr "Привет"
+
+#: frontend/src/metabase/lib/greeting.js:5
+#: frontend/src/metabase/lib/greeting.js:29
+msgid "How's it going"
+msgstr "Как дела"
+
+#: frontend/src/metabase/lib/greeting.js:6
+msgid "Howdy"
+msgstr "День добрый"
+
+#: frontend/src/metabase/lib/greeting.js:7
+msgid "Greetings"
+msgstr "Приветствуем"
+
+#: frontend/src/metabase/lib/greeting.js:8
+msgid "Good to see you"
+msgstr "Рады вас видеть"
+
+#: frontend/src/metabase/lib/greeting.js:12
+msgid "What do you want to know?"
+msgstr "Что бы вы хотели знать?"
+
+#: frontend/src/metabase/lib/greeting.js:13
+msgid "What's on your mind?"
+msgstr "О чем вы думаете?"
+
+#: frontend/src/metabase/lib/greeting.js:14
+msgid "What do you want to find out?"
+msgstr "Что вас интересует?"
+
+#: frontend/src/metabase/lib/query.js:612
+#: frontend/src/metabase/lib/schema_metadata.js:451
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:246
+msgid "Raw data"
+msgstr "Исходные данные"
+
+#: frontend/src/metabase/lib/query.js:616
+msgid "Cumulative count"
+msgstr "Накопительное количество"
+
+#: frontend/src/metabase/lib/query.js:619
+msgid "Average of "
+msgstr "Среднее "
+
+#: frontend/src/metabase/lib/query.js:624
+msgid "Distinct values of "
+msgstr "Уникальные значения "
+
+#: frontend/src/metabase/lib/query.js:629
+msgid "Standard deviation of "
+msgstr "Стандартное отклонение "
+
+#: frontend/src/metabase/lib/query.js:634
+msgid "Sum of "
+msgstr "Сумма "
+
+#: frontend/src/metabase/lib/query.js:639
+msgid "Cumulative sum of "
+msgstr "Накопительная сумма "
+
+#: frontend/src/metabase/lib/query.js:644
+msgid "Maximum of "
+msgstr "Максимум "
+
+#: frontend/src/metabase/lib/query.js:649
+msgid "Minimum of "
+msgstr "Минимум "
+
+#: frontend/src/metabase/lib/query.js:663
+msgid "Grouped by "
+msgstr "Сгруппировано по "
+
+#: frontend/src/metabase/lib/query.js:677
+msgid "Filtered by "
+msgstr "Отфильтровано по "
+
+#: frontend/src/metabase/lib/query.js:706
+msgid "Sorted by "
+msgstr "Сортировано по "
+
+#: frontend/src/metabase/lib/schema_metadata.js:221
+msgid "True"
+msgstr "Истина"
+
+#: frontend/src/metabase/lib/schema_metadata.js:221
+msgid "False"
+msgstr "Ложь"
+
+#: frontend/src/metabase/lib/schema_metadata.js:305
+msgid "Select longitude field"
+msgstr "Выберите поле с долготой"
+
+#: frontend/src/metabase/lib/schema_metadata.js:306
+msgid "Enter upper latitude"
+msgstr "Введите верхнюю широту"
+
+#: frontend/src/metabase/lib/schema_metadata.js:307
+msgid "Enter left longitude"
+msgstr "Введите левую долготу"
+
+#: frontend/src/metabase/lib/schema_metadata.js:308
+msgid "Enter lower latitude"
+msgstr "Введите нижнюю широту"
+
+#: frontend/src/metabase/lib/schema_metadata.js:309
+msgid "Enter right longitude"
+msgstr "Введите правую долготу"
+
+#: frontend/src/metabase/lib/schema_metadata.js:345
+#: frontend/src/metabase/lib/schema_metadata.js:365
+#: frontend/src/metabase/lib/schema_metadata.js:375
+#: frontend/src/metabase/lib/schema_metadata.js:381
+#: frontend/src/metabase/lib/schema_metadata.js:389
+#: frontend/src/metabase/lib/schema_metadata.js:395
+#: frontend/src/metabase/lib/schema_metadata.js:400
+msgid "Is"
+msgstr "-"
+
+#: frontend/src/metabase/lib/schema_metadata.js:346
+#: frontend/src/metabase/lib/schema_metadata.js:366
+#: frontend/src/metabase/lib/schema_metadata.js:376
+#: frontend/src/metabase/lib/schema_metadata.js:390
+#: frontend/src/metabase/lib/schema_metadata.js:396
+msgid "Is not"
+msgstr "Не"
+
+#: frontend/src/metabase/lib/schema_metadata.js:347
+#: frontend/src/metabase/lib/schema_metadata.js:361
+#: frontend/src/metabase/lib/schema_metadata.js:369
+#: frontend/src/metabase/lib/schema_metadata.js:377
+#: frontend/src/metabase/lib/schema_metadata.js:385
+#: frontend/src/metabase/lib/schema_metadata.js:391
+#: frontend/src/metabase/lib/schema_metadata.js:401
+msgid "Is empty"
+msgstr "Пусто"
+
+#: frontend/src/metabase/lib/schema_metadata.js:348
+#: frontend/src/metabase/lib/schema_metadata.js:362
+#: frontend/src/metabase/lib/schema_metadata.js:370
+#: frontend/src/metabase/lib/schema_metadata.js:378
+#: frontend/src/metabase/lib/schema_metadata.js:386
+#: frontend/src/metabase/lib/schema_metadata.js:392
+#: frontend/src/metabase/lib/schema_metadata.js:402
+msgid "Not empty"
+msgstr "Не пусто"
+
+#: frontend/src/metabase/lib/schema_metadata.js:354
+msgid "Equal to"
+msgstr "Равно"
+
+#: frontend/src/metabase/lib/schema_metadata.js:355
+msgid "Not equal to"
+msgstr "Не равно"
+
+#: frontend/src/metabase/lib/schema_metadata.js:356
+msgid "Greater than"
+msgstr "Больше чем"
+
+#: frontend/src/metabase/lib/schema_metadata.js:357
+msgid "Less than"
+msgstr "Меньше чем"
+
+#: frontend/src/metabase/lib/schema_metadata.js:358
+#: frontend/src/metabase/lib/schema_metadata.js:384
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:285
+#: frontend/src/metabase/query_builder/components/filters/pickers/TimePicker.jsx:96
+msgid "Between"
+msgstr "Между"
+
+#: frontend/src/metabase/lib/schema_metadata.js:359
+msgid "Greater than or equal to"
+msgstr "Больше или равно"
+
+#: frontend/src/metabase/lib/schema_metadata.js:360
+msgid "Less than or equal to"
+msgstr "Меньше или равно"
+
+#: frontend/src/metabase/lib/schema_metadata.js:367
+msgid "Contains"
+msgstr "Содержит"
+
+#: frontend/src/metabase/lib/schema_metadata.js:368
+msgid "Does not contain"
+msgstr "Не содержит"
+
+#: frontend/src/metabase/lib/schema_metadata.js:371
+msgid "Starts with"
+msgstr "Начинается с"
+
+#: frontend/src/metabase/lib/schema_metadata.js:372
+msgid "Ends with"
+msgstr "Заканчивается"
+
+#: frontend/src/metabase/lib/schema_metadata.js:382
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:264
+#: frontend/src/metabase/query_builder/components/filters/pickers/TimePicker.jsx:74
+msgid "Before"
+msgstr "До"
+
+#: frontend/src/metabase/lib/schema_metadata.js:383
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:271
+#: frontend/src/metabase/query_builder/components/filters/pickers/TimePicker.jsx:85
+msgid "After"
+msgstr "После"
+
+#: frontend/src/metabase/lib/schema_metadata.js:397
+msgid "Inside"
+msgstr "Внутри"
+
+#: frontend/src/metabase/lib/schema_metadata.js:453
+msgid "Just a table with the rows in the answer, no additional operations."
+msgstr "Просто таблица со строками результатов, без дополнительных операций."
+
+#: frontend/src/metabase/lib/schema_metadata.js:459
+msgid "Count of rows"
+msgstr "Количество записей"
+
+#: frontend/src/metabase/lib/schema_metadata.js:461
+msgid "Total number of rows in the answer."
+msgstr "Общее количество записей в ответе"
+
+#: frontend/src/metabase/lib/schema_metadata.js:467
+msgid "Sum of ..."
+msgstr "Количество ..."
+
+#: frontend/src/metabase/lib/schema_metadata.js:469
+msgid "Sum of all the values of a column."
+msgstr "Количество всех значений колонки."
+
+#: frontend/src/metabase/lib/schema_metadata.js:475
+msgid "Average of ..."
+msgstr "Среднее ..."
+
+#: frontend/src/metabase/lib/schema_metadata.js:477
+msgid "Average of all the values of a column"
+msgstr "Среднее всех значений колонки."
+
+#: frontend/src/metabase/lib/schema_metadata.js:483
+msgid "Number of distinct values of ..."
+msgstr "Уникальные значения..."
+
+#: frontend/src/metabase/lib/schema_metadata.js:485
+msgid "Number of unique values of a column among all the rows in the answer."
+msgstr "Количество уникальных значений столбца среди всех записей в ответе."
+
+#: frontend/src/metabase/lib/schema_metadata.js:491
+msgid "Cumulative sum of ..."
+msgstr "Сумма нарастащим итогом…"
+
+#. Should we somehow translate "\ne.x."?
+#: frontend/src/metabase/lib/schema_metadata.js:493
+msgid "Additive sum of all the values of a column.\\\\ne.x. total revenue over time."
+msgstr "Совокупное сумма всех значений столбца.\\\\ne.x. всего доход за временной интервал."
+
+#: frontend/src/metabase/lib/schema_metadata.js:499
+msgid "Cumulative count of rows"
+msgstr "Нарастающий итог"
+
+#: frontend/src/metabase/lib/schema_metadata.js:501
+msgid "Additive count of the number of rows.\\\\ne.x. total number of sales over time."
+msgstr "Совокупное количество записей.\\\\ne.x. всего продаж за временной интервал."
+
+#: frontend/src/metabase/lib/schema_metadata.js:507
+msgid "Standard deviation of ..."
+msgstr "Стандартное отклонение…"
+
+#. Кривая формулировка получилась, нужно уточнение.
+#: frontend/src/metabase/lib/schema_metadata.js:509
+msgid "Number which expresses how much the values of a column vary among all rows in the answer."
+msgstr "Число, отражающее насколько значения столбца отклоняются от всех записей ответа."
+
+#: frontend/src/metabase/lib/schema_metadata.js:515
+msgid "Minimum of ..."
+msgstr "Минимум ..."
+
+#: frontend/src/metabase/lib/schema_metadata.js:517
+msgid "Minimum value of a column"
+msgstr "Минимальное значение столбца"
+
+#: frontend/src/metabase/lib/schema_metadata.js:523
+msgid "Maximum of ..."
+msgstr "Максимум ..."
+
+#: frontend/src/metabase/lib/schema_metadata.js:525
+msgid "Maximum value of a column"
+msgstr "Максимальное значение колонки"
+
+#: frontend/src/metabase/lib/schema_metadata.js:533
+msgid "Break out by dimension"
+msgstr "Разбить по измерению"
+
+#: frontend/src/metabase/lib/settings.js:93
+msgid "lower case letter"
+msgstr "буква в нижнем регистре"
+
+#: frontend/src/metabase/lib/settings.js:95
+msgid "upper case letter"
+msgstr "буква в верхнем регистре"
+
+#: frontend/src/metabase/lib/settings.js:97
+#: src/metabase/automagic_dashboards/core.clj
+msgid "number"
+msgstr "число"
+
+#: frontend/src/metabase/lib/settings.js:99
+msgid "special character"
+msgstr "специальный символ"
+
+#: frontend/src/metabase/lib/settings.js:105
+msgid "must be"
+msgstr "должен содержать не менее"
+
+#: frontend/src/metabase/lib/settings.js:105
+#: frontend/src/metabase/lib/settings.js:106
+msgid "characters long"
+msgstr "символов"
+
+#: frontend/src/metabase/lib/settings.js:106
+msgid "Must be"
+msgstr "Должен содержать не менее"
+
+#: frontend/src/metabase/lib/settings.js:122
+msgid "and include"
+msgstr "и содержать как минимум"
+
+#: frontend/src/metabase/lib/utils.js:92
+msgid "zero"
+msgstr "ноль"
+
+#: frontend/src/metabase/lib/utils.js:93
+msgid "one"
+msgstr "один"
+
+#: frontend/src/metabase/lib/utils.js:94
+msgid "two"
+msgstr "два"
+
+#: frontend/src/metabase/lib/utils.js:95
+msgid "three"
+msgstr "три"
+
+#: frontend/src/metabase/lib/utils.js:96
+msgid "four"
+msgstr "четыре"
+
+#: frontend/src/metabase/lib/utils.js:97
+msgid "five"
+msgstr "пять"
+
+#: frontend/src/metabase/lib/utils.js:98
+msgid "six"
+msgstr "шесть"
+
+#: frontend/src/metabase/lib/utils.js:99
+msgid "seven"
+msgstr "семь"
+
+#: frontend/src/metabase/lib/utils.js:100
+msgid "eight"
+msgstr "восемь"
+
+#: frontend/src/metabase/lib/utils.js:101
+msgid "nine"
+msgstr "девять"
+
+#: frontend/src/metabase/meta/Dashboard.js:30
+msgid "Month and Year"
+msgstr "Месяц и Год"
+
+#: frontend/src/metabase/meta/Dashboard.js:31
+msgid "Like January, 2016"
+msgstr "Например, Январь 2016"
+
+#: frontend/src/metabase/meta/Dashboard.js:35
+msgid "Quarter and Year"
+msgstr "Квартал и Год"
+
+#: frontend/src/metabase/meta/Dashboard.js:36
+msgid "Like Q1, 2016"
+msgstr "Например, 1Q 2016"
+
+#: frontend/src/metabase/meta/Dashboard.js:40
+msgid "Single Date"
+msgstr "Одна Дата"
+
+#: frontend/src/metabase/meta/Dashboard.js:41
+msgid "Like January 31, 2016"
+msgstr "Например, 31 января 2016"
+
+#: frontend/src/metabase/meta/Dashboard.js:45
+msgid "Date Range"
+msgstr "Диапазон дат"
+
+#: frontend/src/metabase/meta/Dashboard.js:46
+msgid "Like December 25, 2015 - February 14, 2016"
+msgstr "Например, 25 декабря 2015 - 14 февраля 2016"
+
+#: frontend/src/metabase/meta/Dashboard.js:50
+msgid "Relative Date"
+msgstr "Относительная Дата"
+
+#: frontend/src/metabase/meta/Dashboard.js:51
+msgid "Like \"the last 7 days\" or \"this month\""
+msgstr "Например, \"последние 7 дней\" или \"этот месяц\""
+
+#: frontend/src/metabase/meta/Dashboard.js:55
+msgid "Date Filter"
+msgstr "Фильтр по дате"
+
+#: frontend/src/metabase/meta/Dashboard.js:56
+msgid "All Options"
+msgstr "Все опции"
+
+#: frontend/src/metabase/meta/Dashboard.js:57
+msgid "Contains all of the above"
+msgstr "Включает все что перечислено ниже"
+
+#: frontend/src/metabase/meta/Dashboard.js:69
+msgid "ZIP or Postal Code"
+msgstr "ZIP или Почтовый код"
+
+#: frontend/src/metabase/meta/Dashboard.js:77
+#: frontend/src/metabase/meta/Dashboard.js:107
+msgid "ID"
+msgstr "ИД"
+
+#: frontend/src/metabase/meta/Dashboard.js:95
+#: frontend/src/metabase/modes/components/actions/PivotByTimeAction.jsx:8
+msgid "Time"
+msgstr "Время"
+
+#: frontend/src/metabase/meta/Dashboard.js:96
+msgid "Date range, relative date, time of day, etc."
+msgstr "Временной интервал, относительная дата, время дня, прочее."
+
+#: frontend/src/metabase/meta/Dashboard.js:101
+#: frontend/src/metabase/modes/components/actions/PivotByLocationAction.jsx:8
+msgid "Location"
+msgstr "Расположение"
+
+#: frontend/src/metabase/meta/Dashboard.js:102
+msgid "City, State, Country, ZIP code."
+msgstr "Город, Штат, Страна, ZIP код."
+
+#: frontend/src/metabase/meta/Dashboard.js:108
+msgid "User ID, product ID, event ID, etc."
+msgstr "Идентификатор пользователя, продукта, события, и т.д."
+
+#: frontend/src/metabase/meta/Dashboard.js:113
+msgid "Other Categories"
+msgstr "Прочие категории"
+
+#: frontend/src/metabase/meta/Dashboard.js:114
+msgid "Category, Type, Model, Rating, etc."
+msgstr "Категория, Тип, Модель, Рейтинг, прочее."
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:42
+#: frontend/src/metabase/user/components/UserSettings.jsx:54
+msgid "Account settings"
+msgstr "Настройки учетной записи"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:49
+msgid "Exit admin"
+msgstr "Выйти из администрирования"
+
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:34
+msgid "Logs"
+msgstr "Логи"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:58
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorSidebar.jsx:105
+msgid "Help"
+msgstr "Помощь"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:67
+msgid "About Metabase"
+msgstr "О Metabase"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:73
+msgid "Sign out"
+msgstr "Выход"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:98
+msgid "Thanks for using"
+msgstr "Спасибо за использование"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:102
+msgid "You're on version"
+msgstr "Ваша версия"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:105
+msgid "Built on"
+msgstr "Построено"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:124
+msgid "is a Trademark of"
+msgstr "Торговый знак"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:126
+msgid "and is built with care in San Francisco, CA"
+msgstr "и было создано с заботой в Сан Франциско, Калифорния"
+
+#: frontend/src/metabase/nav/containers/Navbar.jsx:194
+msgid "Metabase Admin"
+msgstr "Управление Metabase"
+
+#: frontend/src/metabase/nav/containers/Navbar.jsx:300
+#: frontend/src/metabase/reference/databases/TableQuestions.jsx:36
+#: frontend/src/metabase/reference/metrics/MetricQuestions.jsx:37
+#: frontend/src/metabase/reference/segments/SegmentQuestions.jsx:37
+msgid "Ask a question"
+msgstr "Задать вопрос"
+
+#: frontend/src/metabase/nav/containers/Navbar.jsx:309
+msgid "New dashboard"
+msgstr "Новый дашборд"
+
+#: frontend/src/metabase/nav/containers/Navbar.jsx:315
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:127
+msgid "New pulse"
+msgstr "Новый пульс"
+
+#: frontend/src/metabase/nav/containers/Navbar.jsx:323
+msgid "Reference"
+msgstr "Справочник"
+
+#: frontend/src/metabase/new_query/containers/MetricSearch.jsx:83
+msgid "Which metric?"
+msgstr "Какая метрика?"
+
+#: frontend/src/metabase/new_query/containers/MetricSearch.jsx:110
+#: frontend/src/metabase/reference/metrics/MetricList.jsx:24
+msgid "Defining common metrics for your team makes it even easier to ask questions"
+msgstr "Определение произвольных метрик для вашей команды позволит упростить поиск ответов на запросы."
+
+#: frontend/src/metabase/new_query/containers/MetricSearch.jsx:113
+msgid "How to create metrics"
+msgstr "Как создать метрики"
+
+#: frontend/src/metabase/new_query/containers/NewQueryOptions.jsx:138
+msgid "See data over time, as a map, or pivoted to help you understand trends or changes."
+msgstr "Смотрите данные по времени, как карту, сводную таблицу для того чтобы понять тренды или изменения."
+
+#: frontend/src/metabase/new_query/containers/NewQueryOptions.jsx:149
+msgid "Custom"
+msgstr "Произвольный"
+
+#: frontend/src/metabase/new_query/containers/NewQueryOptions.jsx:150
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:517
+msgid "New question"
+msgstr "Новый запрос"
+
+#: frontend/src/metabase/new_query/containers/NewQueryOptions.jsx:152
+msgid "Use the simple question builder to see trends, lists of things, or to create your own metrics."
+msgstr "Используйте простой построитель запросов для просмотра трендов, списка вещей, или создания собственных метрик."
+
+#: frontend/src/metabase/new_query/containers/NewQueryOptions.jsx:161
+#: src/metabase/automagic_dashboards/core.clj
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Native query"
+msgstr "Прямой запрос"
+
+#: frontend/src/metabase/new_query/containers/NewQueryOptions.jsx:162
+msgid "For more complicated questions, you can write your own SQL or native query."
+msgstr "Для более сложных запросов, вы можете написать собственный SQL или прямой запрос."
+
+#: frontend/src/metabase/parameters/components/ParameterValueWidget.jsx:240
+msgid "Select a default value…"
+msgstr "Выберите значение по-умолчанию..."
+
+#: frontend/src/metabase/parameters/components/widgets/DateAllOptionsWidget.jsx:149
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:404
+msgid "Update filter"
+msgstr "Обновить фильтр"
+
+#: frontend/src/metabase/lib/query_time.js:112
+#: frontend/src/metabase/lib/query_time.js:123
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:9
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:144
+#: src/metabase/pulse/render.clj
+msgid "Today"
+msgstr "Сегодня"
+
+#: frontend/src/metabase/lib/query_time.js:118
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:14
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:148
+#: src/metabase/pulse/render.clj
+msgid "Yesterday"
+msgstr "Вчера"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:18
+msgid "Past 7 days"
+msgstr "Прошлые 7 дней"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:19
+msgid "Past 30 days"
+msgstr "Прошлые 30 дней"
+
+#: frontend/src/metabase/lib/query_time.js:195
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:24
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:29
+#: src/metabase/api/table.clj
+msgid "Week"
+msgid_plural "Weeks"
+msgstr[0] "Неделя"
+msgstr[1] "Недель"
+msgstr[2] "Недель"
+msgstr[3] "Недель"
+
+#: frontend/src/metabase/lib/query_time.js:197
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:25
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:30
+#: src/metabase/api/table.clj
+msgid "Month"
+msgid_plural "Months"
+msgstr[0] "Месяц"
+msgstr[1] "Месяцев"
+msgstr[2] "Месяцев"
+msgstr[3] "Месяцев"
+
+#: frontend/src/metabase/lib/query_time.js:201
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:26
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:31
+#: src/metabase/api/table.clj
+msgid "Year"
+msgid_plural "Years"
+msgstr[0] "Год"
+msgstr[1] "Лет"
+msgstr[2] "Лет"
+msgstr[3] "Лет"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:152
+msgid "Past 7 Days"
+msgstr "Прошлые 7 дней"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:156
+msgid "Past 30 Days"
+msgstr "Прошлые 30 дней"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:160
+msgid "Last Week"
+msgstr "Последняя неделя"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:164
+msgid "Last Month"
+msgstr "Последний месяц"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:168
+msgid "Last Year"
+msgstr "Последний год"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:172
+msgid "This Week"
+msgstr "Эта неделя"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:176
+msgid "This Month"
+msgstr "Этот месяц"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:180
+msgid "This Year"
+msgstr "Этот год"
+
+#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:89
+#: frontend/src/metabase/parameters/components/widgets/TextWidget.jsx:54
+msgid "Enter a value..."
+msgstr "Введите значение..."
+
+#: frontend/src/metabase/parameters/components/widgets/TextWidget.jsx:90
+msgid "Enter a default value..."
+msgstr "Введите значение по-умолчания..."
+
+#: frontend/src/metabase/public/components/PublicError.jsx:18
+msgid "An error occurred"
+msgstr "Возникла ошибка"
+
+#: frontend/src/metabase/public/components/PublicNotFound.jsx:11
+msgid "Not found"
+msgstr "Не найдено"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:82
+msgid "You’ve made changes that need to be published before they will be reflected in your application embed."
+msgstr "Вы сделали изменения, которые должны быть опубликованы перед тем как они отразятся во встроенном приложении."
+
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:83
+msgid "You will need to publish this {0} before you can embed it in another application."
+msgstr "Вы должны опубликовать {0} перед тем как встроить это в другое приложение."
+
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:92
+msgid "Discard Changes"
+msgstr "Отменить изменения"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:99
+msgid "Updating..."
+msgstr "Обновление..."
+
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:100
+msgid "Updated"
+msgstr "Обновлено"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:101
+msgid "Failed!"
+msgstr "Возникла ошибка!"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:102
+msgid "Publish"
+msgstr "Опубликовать"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:111
+msgid "Code"
+msgstr "Код"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:70
+#: frontend/src/metabase/visualizations/lib/settings/column.js:282
+msgid "Style"
+msgstr "Стиль"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:80
+msgid "Which parameters can users of this embed use?"
+msgstr "Какие параметры могут использоваться для встраивания?"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:83
+msgid "This {0} doesn't have any parameters to configure yet."
+msgstr "{0} не содержит настраиваемых параметров."
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:104
+msgid "Editable"
+msgstr "Редактируемо"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:105
+msgid "Locked"
+msgstr "Заблокировано"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:113
+msgid "Preview Locked Parameters"
+msgstr "Предпросмотр заблокированных параметров"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:115
+msgid "Try passing some values to your locked parameters here. Your server will have to provide the actual values in the signed token when using this for real."
+msgstr "Попробуйте добавить значения для заблокированных параметров. В дальнейшем ваш сервер будет предоставлять актуальные значения в подписанном токене."
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:126
+msgid "Danger zone"
+msgstr "Опасная зона"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:127
+msgid "This will disable embedding for this {0}."
+msgstr "Это отключит встраивание для {0}."
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:128
+msgid "Unpublish"
+msgstr "Снять с публикации"
+
+#: frontend/src/metabase/public/components/widgets/DisplayOptionsPane.jsx:17
+msgid "Light"
+msgstr "Светлая"
+
+#: frontend/src/metabase/public/components/widgets/DisplayOptionsPane.jsx:18
+msgid "Dark"
+msgstr "Темная"
+
+#: frontend/src/metabase/public/components/widgets/DisplayOptionsPane.jsx:37
+msgid "Border"
+msgstr "Граница"
+
+#: frontend/src/metabase/public/components/widgets/EmbedCodePane.jsx:62
+msgid "To embed this {0} in your application:"
+msgstr "Для встраивания {0} в ваше приложение:"
+
+#: frontend/src/metabase/public/components/widgets/EmbedCodePane.jsx:64
+msgid "Insert this code snippet in your server code to generate the signed embedding URL "
+msgstr "Вставьте это сниппет на ваш сервер для генерации подписанной ссылки для встраивания "
+
+#: frontend/src/metabase/public/components/widgets/EmbedCodePane.jsx:87
+msgid "Then insert this code snippet in your HTML template or single page app."
+msgstr "Затем вставьте этот сниппет в ваш HTML шаблон или одностраничное приложение (SPA)."
+
+#: frontend/src/metabase/public/components/widgets/EmbedCodePane.jsx:94
+msgid "Embed code snippet for your HTML or Frontend Application"
+msgstr "Вставьте сниппет в ваш HTML код или Frontend приложение"
+
+#: frontend/src/metabase/public/components/widgets/EmbedCodePane.jsx:101
+msgid "More {0}"
+msgstr "Больше {0}"
+
+#: frontend/src/metabase/public/components/widgets/EmbedCodePane.jsx:103
+msgid "examples on GitHub"
+msgstr "примеры на GitHub"
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:72
+msgid "Enable sharing"
+msgstr "Включить общий доступ"
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:76
+msgid "Disable this public link?"
+msgstr "Отключить эту публичную ссылку?"
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:77
+msgid "This will cause the existing link to stop working. You can re-enable it, but when you do it will be a different link."
+msgstr "Это отлючит работоспособность существующей ссылки. Вы можете повторно включить её, но при этом будет создана новая ссылка."
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:117
+msgid "Public link"
+msgstr "Публичная ссылка"
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:118
+msgid "Share this {0} with people who don't have a Metabase account using the URL below:"
+msgstr "Поделиться {0} с людьми, которыми не имеют учетных записей в Metabase используя ссылку ниже:"
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:158
+msgid "Public embed"
+msgstr "Встроить в режиме общего доступа"
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:159
+msgid "Embed this {0} in blog posts or web pages by copying and pasting this snippet:"
+msgstr "Встройте {0} в сообщения блога или веб-страницы, скопировав и вставив следующий сниппет:"
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:176
+msgid "Embed this {0} in an application"
+msgstr "Встроить {0} в приложение"
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:177
+msgid "By integrating with your application server code, you can provide a secure stats {0} limited to a specific user, customer, organization, etc."
+msgstr "Вы можете интегрировать в серверную часть кода вашего приложения безопасную статистику {0}, ограниченную конкретным пользователем, покупателем, организацией и т.п."
+
+#: frontend/src/metabase/pulse/components/PulseCardPreview.jsx:94
+msgid "Remove attachment"
+msgstr "Удалить приложение"
+
+#: frontend/src/metabase/pulse/components/PulseCardPreview.jsx:95
+msgid "Attach file with results"
+msgstr "Прикрепить файл с результатами"
+
+#: frontend/src/metabase/pulse/components/PulseCardPreview.jsx:127
+msgid "This question will be added as a file attachment"
+msgstr "Этот запрос будет добавлен в виде загружаемого файла"
+
+#: frontend/src/metabase/pulse/components/PulseCardPreview.jsx:128
+msgid "This question won't be included in your Pulse"
+msgstr "Этот запрос не может быть включен в пульс"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:92
+msgid "This pulse will no longer be emailed to {0} {1}"
+msgstr "Этот пульс больше не будет отправляться на email {0} {1}"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:94
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:376
+msgid "{0} address"
+msgid_plural "{0} addresses"
+msgstr[0] "{0} адрес"
+msgstr[1] "{0} адресов"
+msgstr[2] "{0} адресов"
+msgstr[3] "{0} адреса"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:102
+msgid "Slack channel {0} will no longer get this pulse {1}"
+msgstr "Канал Slack {0} больше не будет получать пульс {1}"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:110
+msgid "Channel {0} will no longer receive this pulse {1}"
+msgstr "Канал {0} больше не будет получать пульс {1}"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:127
+msgid "Edit pulse"
+msgstr "Изменить пульс"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:131
+msgid "What's a Pulse?"
+msgstr "Что такое пульс?"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:141
+msgid "Got it"
+msgstr "Понятно"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:157
+msgid "Where should this data go?"
+msgstr "Где должны быть эти данные?"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:173
+msgid "Unarchiving…"
+msgstr "Разархивирование..."
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:174
+msgid "Unarchive failed"
+msgstr "Разархивирование не удалось"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:175
+msgid "Unarchived"
+msgstr "Разархивировано"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:182
+msgid "Create pulse"
+msgstr "Создать пульс"
+
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:90
+msgid "Attachment"
+msgstr "Приложение"
+
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:104
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:111
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:673
+msgid "Heads up"
+msgstr "Внимание"
+
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:105
+msgid "We'll show the first 10 columns and 20 rows of this table in your Pulse. If you email this, we'll add a file attachment with all columns and up to 2,000 rows."
+msgstr "Мы кокажем первые 10 колонок и первые 20 строк этой таблицы в вашем Пульсе. Если вы это отправите в email, мы добавим во вложение файл с таблицей до 2000 строк и с всеми колонками."
+
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:112
+msgid "Raw data questions can only be included as email attachments"
+msgstr "Запросы с исходными данными могут быть включены только как файлы"
+
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:119
+msgid "Looks like this pulse is getting big"
+msgstr "Похоже что этот пульс слишком большой"
+
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:120
+msgid "We recommend keeping pulses small and focused to help keep them digestible and useful to the whole team."
+msgstr "Мы рекомендуем держать пульсы небольшими и целенаправленными, что бы приносить пользу всей команде."
+
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:160
+msgid "Pick your data"
+msgstr "Выберите данные"
+
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:162
+msgid "Choose questions you'd like to send in this pulse"
+msgstr "Выберите запросы, которые будут приходить в этом пульсе"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:27
+msgid "Emails"
+msgstr "Электронные адреса"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:28
+msgid "Slack messages"
+msgstr "Сообщения Slack"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:221
+msgid "Sent"
+msgstr "Отправлено"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:222
+msgid "{0} will be sent at"
+msgstr "{0} будет отправлено на"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:224
+msgid "Messages"
+msgstr "Сообщения"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:240
+msgid "Send email now"
+msgstr "Отправить Email прямо сейчас"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:241
+msgid "Send to {0} now"
+msgstr "Отправить {0} прямо сейчас"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:243
+msgid "Sending…"
+msgstr "Отправка..."
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:244
+msgid "Sending failed"
+msgstr "Отправка не удалась"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:247
+msgid "Didn’t send because the pulse has no results."
+msgstr "Не отправлено, потому что пульс не содержит результатов."
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:248
+msgid "Pulse sent"
+msgstr "Пульс отправлен"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:287
+msgid "{0} needs to be set up by an administrator."
+msgstr "{0} должно быть настроено администратором."
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:302
+msgid "Slack"
+msgstr "Slack"
+
+#: frontend/src/metabase/pulse/components/PulseEditCollection.jsx:12
+msgid "Which collection should this pulse live in?"
+msgstr "В какой коллекции должен находиться этот пульс?"
+
+#: frontend/src/metabase/pulse/components/PulseEditName.jsx:35
+msgid "Name your pulse"
+msgstr "Название вашего пульса"
+
+#: frontend/src/metabase/pulse/components/PulseEditName.jsx:37
+msgid "Give your pulse a name to help others understand what it's about"
+msgstr "Дайте название вашему пульсу чтобы помочь понять другим людям о чем он"
+
+#: frontend/src/metabase/pulse/components/PulseEditName.jsx:49
+msgid "Important metrics"
+msgstr "Важные метрики"
+
+#: frontend/src/metabase/pulse/components/PulseEditSkip.jsx:22
+msgid "Skip if no results"
+msgstr "Пропустить если нет результатов"
+
+#: frontend/src/metabase/pulse/components/PulseEditSkip.jsx:24
+msgid "Skip a scheduled Pulse if none of its questions have any results"
+msgstr "Пропустить отправку пульса если ни один из запросов не содержит результатов"
+
+#: frontend/src/metabase/pulse/components/RecipientPicker.jsx:65
+msgid "Enter email addresses you'd like this data to go to"
+msgstr "Укажите email адреса на которые вы бы хотели отправить эти данные"
+
+#: frontend/src/metabase/pulse/components/WhatsAPulse.jsx:16
+msgid "Help everyone on your team stay in sync with your data."
+msgstr "Помогите вашей команде оставаться в курсе изменений ваших данных. "
+
+#: frontend/src/metabase/pulse/components/WhatsAPulse.jsx:30
+msgid "Pulses let you send data from Metabase to email or Slack on the schedule of your choice."
+msgstr "Пульсы позволяют отправлять данные из Metabase по электронной почте или в Slack по заданному вами расписанию."
+
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:100
+msgid "After {0}"
+msgstr "После {0}"
+
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:102
+msgid "Before {0}"
+msgstr "До {0}"
+
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:104
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:295
+msgid "Is Empty"
+msgstr "Пусто"
+
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:106
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:301
+msgid "Not Empty"
+msgstr "Не пусто"
+
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:109
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:213
+msgid "All Time"
+msgstr "Все время"
+
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:154
+msgid "Apply"
+msgstr "Применить"
+
+#: frontend/src/metabase/modes/components/actions/CommonMetricsAction.jsx:21
+msgid "View {0}"
+msgstr "Просмотреть {0}"
+
+#: frontend/src/metabase/modes/components/actions/CompareWithTable.jsx:29
+msgid "Compare this with all rows in the table"
+msgstr "Сравнить со всеми строками в таблице"
+
+#: frontend/src/metabase/modes/components/actions/CompoundQueryAction.jsx:14
+msgid "Analyze the results of this Query"
+msgstr "Проанализовать результаты этого запроса"
+
+#: frontend/src/metabase/modes/components/actions/CountByTimeAction.jsx:29
+msgid "Count of rows by time"
+msgstr "Количество строк по времени"
+
+#: frontend/src/metabase/modes/components/actions/PivotByAction.jsx:52
+msgid "Break out by {0}"
+msgstr "Разбить по {0}"
+
+#: frontend/src/metabase/modes/components/actions/SummarizeBySegmentMetricAction.jsx:31
+msgid "Summarize this segment"
+msgstr "Резюмировать этот сегмент"
+
+#: frontend/src/metabase/modes/components/actions/UnderlyingDataAction.jsx:14
+msgid "View this as a table"
+msgstr "Просмотреть как таблицу"
+
+#: frontend/src/metabase/modes/components/actions/UnderlyingRecordsAction.jsx:22
+msgid "View the underlying {0} records"
+msgstr "Посмотреть {0} связанные записи"
+
+#: frontend/src/metabase/modes/components/actions/XRayCard.jsx:20
+msgid "X-Ray this question"
+msgstr "Просканировать этот запрос"
+
+#: frontend/src/metabase/qb/components/drill/AutomaticDashboardDrill.jsx:32
+msgid "X-ray {0} {1}"
+msgstr "X-ray {0} {1}"
+
+#: frontend/src/metabase/qb/components/drill/AutomaticDashboardDrill.jsx:32
+#: frontend/src/metabase/qb/components/drill/CompareToRestDrill.js:32
+msgid "these"
+msgstr "эти"
+
+#: frontend/src/metabase/qb/components/drill/AutomaticDashboardDrill.jsx:32
+#: frontend/src/metabase/qb/components/drill/CompareToRestDrill.js:32
+msgid "this"
+msgstr "это"
+
+#: frontend/src/metabase/qb/components/drill/CompareToRestDrill.js:32
+msgid "Compare {0} {1} to the rest"
+msgstr "Сравнить {0} {1} с остальным"
+
+#: frontend/src/metabase/modes/components/drill/DistributionDrill.jsx:35
+msgid "Distribution"
+msgstr "Распространение"
+
+#: frontend/src/metabase/modes/components/drill/ObjectDetailDrill.jsx:38
+msgid "View details"
+msgstr "Просмотреть детали"
+
+#: frontend/src/metabase/modes/components/drill/QuickFilterDrill.jsx:54
+msgid "View this {0}'s {1}"
+msgstr "Просмотреть {0} {1}"
+
+#: frontend/src/metabase/modes/components/drill/SortAction.jsx:42
+msgid "Ascending"
+msgstr "По возрастанию"
+
+#: frontend/src/metabase/modes/components/drill/SortAction.jsx:50
+msgid "Descending"
+msgstr "По убыванию"
+
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnByTimeDrill.js:47
+msgid "over time"
+msgstr "по времени"
+
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:21
+msgid "Avg"
+msgstr "Среднее"
+
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:33
+msgid "Distincts"
+msgstr "Уникальные"
+
+#: frontend/src/metabase/modes/components/drill/UnderlyingRecordsDrill.jsx:32
+msgid "View this {0}"
+msgid_plural "View these {0}"
+msgstr[0] "Показать {0}"
+msgstr[1] "Показать {0}"
+msgstr[2] "Показать {0}"
+msgstr[3] "Показать {0}"
+
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:225
+#: frontend/src/metabase/modes/components/drill/ZoomDrill.jsx:26
+msgid "Zoom in"
+msgstr "Приблизить"
+
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:19
+msgid "Custom Expression"
+msgstr "Произвольное выражение"
+
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:20
+msgid "Common Metrics"
+msgstr "Общие Метрики"
+
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:209
+msgid "Metabasics"
+msgstr "Metabasics"
+
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:319
+msgid "Name (optional)"
+msgstr "Имя (не обязательно)"
+
+#: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:156
+msgid "Choose an aggregation"
+msgstr "Выберите агрегацию"
+
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:100
+msgid "Set up your own alert"
+msgstr "Настройке собственное предупреждение"
+
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:140
+msgid "Unsubscribing..."
+msgstr "Отписка..."
+
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:145
+msgid "Failed to unsubscribe"
+msgstr "Ошибка при отписке"
+
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:204
+msgid "Unsubscribe"
+msgstr "Отписаться"
+
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:235
+msgid "No channel"
+msgstr "Нет канала"
+
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:263
+msgid "Okay, you're unsubscribed"
+msgstr "Отлично, вы отписались"
+
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:335
+msgid "You're receiving {0}'s alerts"
+msgstr "Вами получено {0} предупреждений"
+
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:336
+msgid "{0} set up an alert"
+msgstr "{0} установил оповещение"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:160
+msgid "alerts"
+msgstr "предупреждения"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:183
+msgid "Let's set up your alert"
+msgstr "Давайте настроим ваше предупреждение"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:214
+msgid "The wide world of alerts"
+msgstr "Необъятный мир предупреждений"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:215
+msgid "There are a few different kinds of alerts you can get"
+msgstr "Есть несколько разных типов предупреждений, которые вы можете получить"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:229
+msgid "When a raw data question {0}"
+msgstr "Когда запрос по исходным данным {0}"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:230
+msgid "returns any results"
+msgstr "возвращать любые результаты"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:241
+msgid "When a line or bar {0}"
+msgstr "Когда линия или ряд {0}"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:242
+msgid "crosses a goal line"
+msgstr "через линию цели"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:253
+msgid "When a progress bar {0}"
+msgstr "Когда прогресс бар {0}"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:254
+msgid "reaches its goal"
+msgstr "достигнет целевого значения"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:262
+msgid "Set up an alert"
+msgstr "Настроить предупреждение"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:331
+msgid "Edit your alert"
+msgstr "Изменить ваше предупреждение"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:331
+msgid "Edit alert"
+msgstr "Изменить предупреждение"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:374
+msgid "This alert will no longer be emailed to {0}."
+msgstr "Это предупреждение больше не будет отправляться на {0}."
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:382
+msgid "Slack channel {0} will no longer get this alert."
+msgstr "Канал Slack {0} больше не будет получать данное предупреждение."
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:386
+msgid "Channel {0} will no longer receive this alert."
+msgstr "Канал {0} больше не будет получать данное предупреждение."
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:403
+msgid "Delete this alert"
+msgstr "Удалить это предупреждение"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:405
+msgid "Stop delivery and delete this alert. There's no undo, so be careful."
+msgstr "Остановить доставку и удалить это предупреждение. Действие не может быть отменено, будьте внимательны."
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:413
+msgid "Delete this alert?"
+msgstr "Удалить это предупреждение?"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:497
+msgid "Alert me when the line…"
+msgstr "Предупредить меня когда линия..."
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:498
+msgid "Alert me when the progress bar…"
+msgstr "Предупредить меня когда прогресс..."
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:501
+msgid "Goes above the goal line"
+msgstr "Превысит линию цели"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:501
+msgid "Reaches the goal"
+msgstr "Достигнет цели"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:504
+msgid "Goes below the goal line"
+msgstr "Опустится ниже линии цели"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:504
+msgid "Goes below the goal"
+msgstr "Опустится ниже цели"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:512
+msgid "The first time it crosses, or every time?"
+msgstr "При первом пересечении, или каждый раз?"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:513
+msgid "The first time it reaches the goal, or every time?"
+msgstr "При первом достижении цели, или каждый раз?"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:515
+msgid "The first time"
+msgstr "Первый раз"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:516
+msgid "Every time"
+msgstr "Каждый раз"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:619
+msgid "Where do you want to send these alerts?"
+msgstr "Куда вы хотите отправлять данные предупреждения?"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:630
+msgid "Email alerts to:"
+msgstr "Отправлять предупреждения на:"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:672
+msgid "{0} Goal-based alerts aren't yet supported for charts with more than one line, so this alert will be sent whenever the chart has {1}."
+msgstr "{0} Уведомления основанные на целях ещё не поддерживаются для графиков с более чем одной кривой. Следовательно это уведомление будет послано как только значение графика достигнет {1}."
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:675
+msgid "results"
+msgstr "результаты"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:679
+msgid "{0} This kind of alert is most useful when your saved question doesn’t {1} return any results, but you want to know when it does."
+msgstr "{0} Это уведомление особенно полезно когда ваш сохранённый вопрос не {1} возвращает никаких результатов, но вы хотите знать когда это произойдёт."
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:680
+msgid "Tip"
+msgstr "Подсказка"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:682
+msgid "usually"
+msgstr "обычно"
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:57
+msgid "Pick a segment or table"
+msgstr "Прикрепите сегмент или таблицу"
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:73
+msgid "Select a database"
+msgstr "Выберите базу данных"
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:88
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:87
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:187
+#: frontend/src/metabase/reference/components/MetricImportantFieldsDetail.jsx:35
+msgid "Select..."
+msgstr "Выбрать..."
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:128
+msgid "Select a table"
+msgstr "Выберите таблицу"
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:793
+msgid "No tables found in this database."
+msgstr "В этой базе данных не найдено ни одной таблицы."
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:830
+msgid "Is a question missing?"
+msgstr "Запрос пропущен?"
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:834
+msgid "Learn more about nested queries"
+msgstr "Узнать больше о вложенных запросах"
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:868
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:30
+msgid "Fields"
+msgstr "Поля"
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:946
+msgid "No segments were found."
+msgstr "Сегменты не найдены."
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:969
+msgid "Find a segment"
+msgstr "Найти сегмент"
+
+#: frontend/src/metabase/query_builder/components/ExpandableString.jsx:46
+msgid "View less"
+msgstr "Меньше"
+
+#: frontend/src/metabase/query_builder/components/ExpandableString.jsx:56
+msgid "View more"
+msgstr "Больше"
+
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:112
+msgid "Pick a field to sort by"
+msgstr "Выберите поле для сортировки"
+
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:125
+msgid "Sort"
+msgstr "Сортировка"
+
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:137
+msgid "Row limit"
+msgstr "Количество строк"
+
+#: frontend/src/metabase/query_builder/components/FieldName.jsx:69
+msgid "Unknown Field"
+msgstr "Неизвестное поле"
+
+#: frontend/src/metabase/query_builder/components/FieldName.jsx:72
+msgid "field"
+msgstr "поле"
+
+#: frontend/src/metabase/query_builder/components/Filter.jsx:114
+msgid "Matches"
+msgstr "Совпадения"
+
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:152
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:160
+msgid "Add filters to narrow your answer"
+msgstr "Добавьте фильтры чтобы сократить результаты запроса"
+
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:284
+msgid "Add a grouping"
+msgstr "Добавить группировку"
+
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:322
+#: frontend/src/metabase/visualizations/components/LineAreaBarChart.jsx:102
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:113
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:152
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:194
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:59
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:68
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:75
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:225
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:231
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:237
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:70
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:75
+msgid "Data"
+msgstr "Данные"
+
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:352
+msgid "Filtered by"
+msgstr "Отфильтровано по"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:75
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:369
+msgid "View"
+msgstr "Просмотр"
+
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:386
+msgid "Grouped By"
+msgstr "Сгруппировано по"
+
+#: frontend/src/metabase/query_builder/components/LimitWidget.jsx:27
+msgid "None"
+msgstr "Ничего"
+
+#: frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx:345
+msgid "This question is written in {0}."
+msgstr "Этот запрос написан в {0}."
+
+#: frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx:353
+msgid "Hide Editor"
+msgstr "Скрыть Редактор"
+
+#: frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx:354
+msgid "Hide Query"
+msgstr "Скрыть Запрос"
+
+#: frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx:359
+msgid "Open Editor"
+msgstr "Открыть Редактор"
+
+#: frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx:360
+msgid "Show Query"
+msgstr "Показать Запрос"
+
+#: frontend/src/metabase/query_builder/components/QueryDefinitionTooltip.jsx:25
+msgid "This metric has been retired.  It's no longer available for use."
+msgstr "Эта метрика была удалена. Она более не доступна для использования."
+
+#: frontend/src/metabase/query_builder/components/QueryDownloadWidget.jsx:34
+#: frontend/src/metabase/query_builder/components/QueryDownloadWidget.jsx:46
+msgid "Download full results"
+msgstr "Скачать полные результаты."
+
+#: frontend/src/metabase/query_builder/components/QueryDownloadWidget.jsx:35
+msgid "Download this data"
+msgstr "Скачать эти данные"
+
+#: frontend/src/metabase/query_builder/components/QueryDownloadWidget.jsx:46
+msgid "Warning"
+msgstr "Предупреждение"
+
+#: frontend/src/metabase/query_builder/components/QueryDownloadWidget.jsx:52
+msgid "Your answer has a large number of rows so it could take a while to download."
+msgstr "Ваш результат содержит большое количество строк и займет какое-то время на загрузку."
+
+#: frontend/src/metabase/query_builder/components/QueryDownloadWidget.jsx:53
+msgid "The maximum download size is 1 million rows."
+msgstr "Максимальный размер скачания 1 миллион строк."
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:232
+msgid "Edit question"
+msgstr "Изменить запрос"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:249
+msgid "SAVE CHANGES"
+msgstr "СОХРАНИТЬ ИЗМЕНЕНИЯ"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:263
+msgid "CANCEL"
+msgstr "ОТМЕНА"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:276
+msgid "Move question"
+msgstr "Переместить запрос"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:283
+msgid "Which collection should this be in?"
+msgstr "Какая коллекция должна быть здесь?"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:313
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:110
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorSidebar.jsx:83
+msgid "Variables"
+msgstr "Переменные"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:432
+msgid "Learn about your data"
+msgstr "Изучить свои данные"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:460
+msgid "Alerts are on"
+msgstr "Предупреждения о"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:522
+msgid "started from"
+msgstr "начиная с"
+
+#: frontend/src/metabase/query_builder/components/QueryModeButton.jsx:48
+msgid "SQL"
+msgstr "SQL"
+
+#: frontend/src/metabase/query_builder/components/QueryModeButton.jsx:48
+msgid "native query"
+msgstr "исходный запрос"
+
+#: frontend/src/metabase/query_builder/components/QueryModeButton.jsx:52
+msgid "Not Supported"
+msgstr "Не поддерживается"
+
+#: frontend/src/metabase/query_builder/components/QueryModeButton.jsx:58
+msgid "View the {0}"
+msgstr "Просмотреть {0}"
+
+#: frontend/src/metabase/query_builder/components/QueryModeButton.jsx:59
+msgid "Switch to {0}"
+msgstr "Переключиться на {0}"
+
+#: frontend/src/metabase/query_builder/components/QueryModeButton.jsx:62
+msgid "Switch to Builder"
+msgstr "Переключиться в построитель"
+
+#: frontend/src/metabase/query_builder/components/QueryModeButton.jsx:87
+msgid "{0} for this question"
+msgstr "{0} для этого запроса"
+
+#: frontend/src/metabase/query_builder/components/QueryModeButton.jsx:111
+msgid "Convert this question to {0}"
+msgstr "Преобразовать этот запрос в {0}"
+
+#: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:122
+msgid "This question will take approximately {0} to refresh"
+msgstr "Обновление запроса займёт {0}"
+
+#: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:131
+msgid "Updated {0}"
+msgstr "Обновлено {0}"
+
+#: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:141
+msgid "row"
+msgid_plural "rows"
+msgstr[0] "строка"
+msgstr[1] "строки"
+msgstr[2] "строк"
+msgstr[3] "строк"
+
+#: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:148
+msgid "Showing first {0} {1}"
+msgstr "Просмотр первых {0} {1}"
+
+#: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:151
+msgid "Showing {0} {1}"
+msgstr "Просмотр {0} {1}"
+
+#: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:281
+msgid "Doing science"
+msgstr "Научные изыскания"
+
+#: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:294
+msgid "If you give me some data I can show you something cool. Run a Query!"
+msgstr "Если вы дадите мне данные я смогу показать что-то крутое. Запустите запрос!"
+
+#: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:299
+msgid "How do I use this thing?"
+msgstr "Как я могу использовать эту вещь?"
+
+#: frontend/src/metabase/query_builder/components/RunButton.jsx:28
+msgid "Get Answer"
+msgstr "Получить ответ"
+
+#: frontend/src/metabase/query_builder/components/SavedQuestionIntroModal.jsx:12
+msgid "It's okay to play around with saved questions"
+msgstr "Это нормально, когда можно играть с сохраненными вопросами"
+
+#: frontend/src/metabase/query_builder/components/SavedQuestionIntroModal.jsx:14
+msgid "You won't make any permanent changes to a saved question unless you click the edit icon in the top-right."
+msgstr "Вы не будете вносить какие-либо постоянные изменения в сохраненный запрос, если не щелкнете значок редактирования в правом верхнем углу."
+
+#: frontend/src/metabase/query_builder/components/SearchBar.jsx:28
+msgid "Search for"
+msgstr "Поиск"
+
+#: frontend/src/metabase/query_builder/components/SelectionModule.jsx:158
+msgid "Advanced..."
+msgstr "Расширенный..."
+
+#: frontend/src/metabase/query_builder/components/SelectionModule.jsx:167
+msgid "Sorry. Something went wrong."
+msgstr "Просим прощения. Что-то пошло не так."
+
+#: frontend/src/metabase/query_builder/components/TimeGroupingPopover.jsx:40
+msgid "Group time by"
+msgstr "Группировать время по"
+
+#: frontend/src/metabase/query_builder/components/VisualizationError.jsx:46
+msgid "Your question took too long"
+msgstr "Ваш запрос занимает слишком много времени"
+
+#: frontend/src/metabase/query_builder/components/VisualizationError.jsx:47
+msgid "We didn't get an answer back from your database in time, so we had to stop. You can try again in a minute, or if the problem persists, you can email an admin to let them know."
+msgstr "Мы не получили ответ от Вашей базы данных вовремя, так что нам пришлось остановиться. Вы можете попробовать ещё раз через пару минут, или если проблема сохраняется оповестить администратора по электронной почте"
+
+#: frontend/src/metabase/query_builder/components/VisualizationError.jsx:55
+msgid "We're experiencing server issues"
+msgstr "У нас сложности с сервером"
+
+#: frontend/src/metabase/query_builder/components/VisualizationError.jsx:56
+msgid "Try refreshing the page after waiting a minute or two. If the problem persists we'd recommend you contact an admin."
+msgstr "Попробуйте обновить страницу, подождав одну-две минуты. Если проблема повториться, рекомендуем обратиться к администратору."
+
+#: frontend/src/metabase/query_builder/components/VisualizationError.jsx:88
+msgid "There was a problem with your question"
+msgstr "С вашим запросов возникла проблема"
+
+#. What does it mean "invalid selection"? Selection of what? Or is it an SQL "select" operator?
+#: frontend/src/metabase/query_builder/components/VisualizationError.jsx:89
+msgid "Most of the time this is caused by an invalid selection or bad input value. Double check your inputs and retry your query."
+msgstr "В большинстве случае это связано с ошибкой выбора или введенного значения. Перепроверьте данные и повторите запрос."
+
+#: frontend/src/metabase/query_builder/components/VisualizationResult.jsx:60
+msgid "This may be the answer you’re looking for. If not, try removing or changing your filters to make them less specific."
+msgstr "Возможно, мы нашли то, что вы искали. Если нет, попробуйте отменить или изменить фильтры, сделав их менее строгими."
+
+#: frontend/src/metabase/query_builder/components/VisualizationResult.jsx:66
+msgid "You can also {0} when there are some results."
+msgstr "Мы также можете {0} по получении результата."
+
+#: frontend/src/metabase/query_builder/components/VisualizationResult.jsx:68
+msgid "get an alert"
+msgstr "получить предупреждение"
+
+#: frontend/src/metabase/query_builder/components/VisualizationResult.jsx:77
+msgid "Back to last run"
+msgstr "Вернуться к последнему запуску"
+
+#: frontend/src/metabase/query_builder/components/VisualizationSettings.jsx:100
+msgid "Visualization"
+msgstr "Визуализация"
+
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:96
+msgid "No description set."
+msgstr "Описание не задано."
+
+#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:21
+msgid "Use for current question"
+msgstr "Использовать текущий запрос."
+
+#: frontend/src/metabase/reference/components/UsefulQuestions.jsx:16
+msgid "Potentially useful questions"
+msgstr "Потенциально полезные запросы."
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:166
+msgid "Group by {0}"
+msgstr "Группировка по {0}"
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:165
+msgid "Sum of all values of {0}"
+msgstr "Сумма всех значений {0}"
+
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:63
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:51
+msgid "All distinct values of {0}"
+msgstr "Уникальные значения {0}"
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:187
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:39
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:51
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:39
+msgid "Number of {0} grouped by {1}"
+msgstr "Число {0} сгруппированных по {1}"
+
+#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:10
+#: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:20
+#: frontend/src/metabase/reference/databases/FieldSidebar.jsx:30
+#: frontend/src/metabase/reference/databases/TableSidebar.jsx:26
+#: frontend/src/metabase/reference/guide/BaseSidebar.jsx:17
+#: frontend/src/metabase/reference/guide/BaseSidebar.jsx:19
+#: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:23
+#: frontend/src/metabase/reference/segments/SegmentFieldSidebar.jsx:24
+#: frontend/src/metabase/reference/segments/SegmentSidebar.jsx:23
+msgid "Data Reference"
+msgstr "Ссылка на данные"
+
+#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:13
+msgid "Learn more about your data structure to ask more useful questions"
+msgstr "Узнайте больше о структуре ваших данных чтобы задавать полезные запросы"
+
+#: frontend/src/metabase/query_builder/components/dataref/MetricPane.jsx:58
+#: frontend/src/metabase/query_builder/components/dataref/SegmentPane.jsx:84
+msgid "Could not find the table metadata prior to creating a new question"
+msgstr "Не удалось найти метаданные таблицы до создания нового вопроса"
+
+#: frontend/src/metabase/query_builder/components/dataref/MetricPane.jsx:80
+msgid "See {0}"
+msgstr "Посмотреть {0}"
+
+#: frontend/src/metabase/query_builder/components/dataref/MetricPane.jsx:94
+msgid "Metric Definition"
+msgstr "Определение метрики"
+
+#: frontend/src/metabase/query_builder/components/dataref/SegmentPane.jsx:118
+msgid "Filter by {0}"
+msgstr "Отфильтровано по {0}"
+
+#: frontend/src/metabase/query_builder/components/dataref/SegmentPane.jsx:127
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:36
+msgid "Number of {0}"
+msgstr "Число {0}"
+
+#: frontend/src/metabase/query_builder/components/dataref/SegmentPane.jsx:134
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:46
+msgid "See all {0}"
+msgstr "Смотреть все {0}"
+
+#: frontend/src/metabase/query_builder/components/dataref/SegmentPane.jsx:148
+msgid "Segment Definition"
+msgstr "Определение сегмента"
+
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:50
+msgid "An error occurred loading the table"
+msgstr "При загрузке таблицы произошла ошибка"
+
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:74
+msgid "See the raw data for {0}"
+msgstr "Посмотреть исходные данные для {0}"
+
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:180
+msgid "More"
+msgstr "Больше"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:201
+msgid "Invalid expression"
+msgstr "Некорректное выражение"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:276
+msgid "unknown error"
+msgstr "неизвестная ошибка"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:46
+msgid "Field formula"
+msgstr "Формула поля"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:57
+msgid "Think of this as being kind of like writing a formula in a spreadsheet program: you can use numbers, fields in this table, mathematical symbols like +, and some functions. So you could type something like Subtotal - Cost."
+msgstr "Подумайте об этом как о том, как написать формулу в программе для работы с электронными таблицами: вы можете использовать числа, поля таблицы, математические символы, такие как +, и некоторые функции. Таким образом, вы можете ввести что-то вроде Итого - Стоимость."
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:62
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:126
+msgid "Learn more"
+msgstr "Узнать больше"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:66
+msgid "Give it a name"
+msgstr "Дать имя"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:72
+msgid "Something nice and descriptive"
+msgstr "Что-нибудь замечательное и понятное"
+
+#: frontend/src/metabase/query_builder/components/expressions/Expressions.jsx:60
+msgid "Add a custom field"
+msgstr "Добавить произвольное поле"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:17
+msgid "Include {0}"
+msgstr "Включая {0}"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:19
+msgid "Case sensitive"
+msgstr "Чувствительно к регистру"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:23
+msgid "today"
+msgstr "сегодня"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:24
+msgid "this week"
+msgstr "на этой неделе"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:25
+msgid "this month"
+msgstr "в этом месяце"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:26
+msgid "this year"
+msgstr "в этом году"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:27
+msgid "this minute"
+msgstr "в эту минуту"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:28
+msgid "this hour"
+msgstr "в этом часу"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:290
+msgid "not implemented {0}"
+msgstr "не реализовано {0}"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:291
+msgid "true"
+msgstr "истина"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:291
+msgid "false"
+msgstr "ложь"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:404
+msgid "Add filter"
+msgstr "Добавить фильтр"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterWidgetList.jsx:64
+msgid "Item"
+msgstr "Элемент"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:221
+msgid "Previous"
+msgstr "Предыдущий"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:252
+msgid "Current"
+msgstr "Текущий"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:278
+#: frontend/src/metabase/visualizations/lib/settings/column.js:246
+#: frontend/src/metabase/visualizations/lib/settings/series.js:89
+msgid "On"
+msgstr "На"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/NumberPicker.jsx:47
+msgid "Enter desired number"
+msgstr "Введите желаемый номер"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/SelectPicker.jsx:83
+#: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:100
+msgid "Empty"
+msgstr "Пусто"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/SelectPicker.jsx:116
+msgid "Find a value"
+msgstr "Найти значение"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/SpecificDatePicker.jsx:113
+msgid "Hide calendar"
+msgstr "Скрыть календарь"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/SpecificDatePicker.jsx:113
+msgid "Show calendar"
+msgstr "Показать календарь"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/TextPicker.jsx:97
+msgid "You can enter multiple values separated by commas"
+msgstr "Вы можете ввести множество значений, разделенных запятой"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/TextPicker.jsx:38
+msgid "Enter desired text"
+msgstr "Введите желаемый текст"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:83
+msgid "Try it"
+msgstr "Попробовать"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:105
+msgid "What's this for?"
+msgstr "Для чего это?"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:107
+msgid "Variables in native queries let you dynamically replace values in your queries using filter widgets or through the URL."
+msgstr "Переменные в исходных запросах позволяют динамически заменять значения в ваших запросах используя виджеты фильтров или через внешнюю ссылку."
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:112
+msgid "{0} creates a variable in this SQL template called \"variable_name\". Variables can be given types in the side panel, which changes their behavior. All variable types other than \"Field Filter\" will automatically cause a filter widget to be placed on this question; with Field Filters, this is optional. When this filter widget is filled in, that value replaces the variable in the SQL template."
+msgstr "{0} создает переменную в этом шаблоне SQL с именем \"variable_name\". Переменные могут быть заданы типами на боковой панели, что изменяет их поведение. Все переменные, отличные от \"фильтр по полю\", автоматически вызывают фильтрацию фильтра по этому вопросу; с фильтрами по полям, это необязательно. Когда этот виджет фильтра заполняется, это значение заменяет переменную в шаблоне SQL."
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:121
+msgid "Field Filters"
+msgstr "Фильтры поля"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:123
+msgid "Giving a variable the \"Field Filter\" type allows you to link SQL cards to dashboard filter widgets or use more types of filter widgets on your SQL question. A Field Filter variable inserts SQL similar to that generated by the GUI query builder when adding filters on existing columns."
+msgstr "Присвоение переменной типа \"фильтр полей\" позволяет связать карточки SQL с виджетами фильтра панели мониторинга или использовать дополнительные типы виджетов фильтра в запросе SQL. Переменная фильтра поля вставляет SQL, подобный тому, который генерируется построителем запросов GUI при добавлении фильтров на существующие столбцы."
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:126
+msgid "When adding a Field Filter variable, you'll need to map it to a specific field. You can then choose to display a filter widget on your question, but even if you don't, you can now map your Field Filter variable to a dashboard filter when adding this question to a dashboard. Field Filters should be used inside of a \"WHERE\" clause."
+msgstr "При добавлении переменной фильтра полей необходимо сопоставить ее с определенным полем. Затем можно выбрать отображение виджета фильтра для вопроса, но даже если это не так, теперь можно сопоставить переменную фильтра поля с фильтром панели мониторинга при добавлении этого вопроса на панель мониторинга. Фильтры полей должны использоваться внутри предложения \"WHERE\"."
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:130
+msgid "Optional Clauses"
+msgstr "Необязательные условия"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:132
+msgid "brackets around a {0} create an optional clause in the template. If \"variable\" is set, then the entire clause is placed into the template. If not, then the entire clause is ignored."
+msgstr "скобки вокруг {0} создают опциональное условие в шаблоне. Если \"переменная\" установлена, тогда фильтр включается в шаблон, а если нет - всё условие игнорируется."
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:142
+msgid "To use multiple optional clauses you can include at least one non-optional WHERE clause followed by optional clauses starting with \"AND\"."
+msgstr "Для использования множества необязательных условий, вы можете включить по крайней мере одно обязательное условие WHERE, дополнив его необязательными через \"AND\"."
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:154
+msgid "Read the full documentation"
+msgstr "Ознакомиться с полной документацией"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:127
+msgid "Filter label"
+msgstr "Заголовок фильтра"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:139
+msgid "Variable type"
+msgstr "Тип переменной"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:148
+msgid "Text"
+msgstr "Текст"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:150
+msgid "Date"
+msgstr "Дата"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:151
+msgid "Field Filter"
+msgstr "Фильтр поля"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:157
+msgid "Field to map to"
+msgstr "Связующие поля"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:179
+msgid "Filter widget type"
+msgstr "Тип фильтра виджета"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:201
+msgid "Required?"
+msgstr "Обязательно?"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:211
+msgid "Default filter widget value"
+msgstr "Значение по-умолчанию для фильтра виджета"
+
+#: frontend/src/metabase/query_builder/containers/ArchiveQuestionModal.jsx:46
+msgid "Archive this question?"
+msgstr "Переместить этот запрос в архив?"
+
+#: frontend/src/metabase/query_builder/containers/ArchiveQuestionModal.jsx:57
+msgid "This question will be removed from any dashboards or pulses using it."
+msgstr "Этот запрос будет удален со всех дашбордов или пульсов, где он был добавлен."
+
+#: frontend/src/metabase/query_builder/containers/QueryBuilder.jsx:136
+msgid "Question"
+msgstr "Запрос"
+
+#: frontend/src/metabase/questions/containers/AddToDashboard.jsx:11
+msgid "Pick a question to add"
+msgstr "Выберите запрос для добавления"
+
+#: frontend/src/metabase/reference/components/EditHeader.jsx:19
+msgid "You are editing this page"
+msgstr "Вы редактируете эту страницу"
+
+#: frontend/src/metabase/reference/components/EditableReferenceHeader.jsx:101
+#: frontend/src/metabase/reference/components/ReferenceHeader.jsx:63
+msgid "See this {0}"
+msgstr "Посмотреть {0}"
+
+#: frontend/src/metabase/reference/components/EditableReferenceHeader.jsx:120
+msgid "A subset of"
+msgstr "Множество"
+
+#: frontend/src/metabase/reference/components/Field.jsx:47
+#: frontend/src/metabase/reference/components/Field.jsx:86
+#: frontend/src/metabase/reference/components/FieldTypeDetail.jsx:32
+#: frontend/src/metabase/reference/components/FieldTypeDetail.jsx:68
+msgid "Select a field type"
+msgstr "Выберите тип поля"
+
+#: frontend/src/metabase/reference/components/Field.jsx:56
+#: frontend/src/metabase/reference/components/Field.jsx:71
+#: frontend/src/metabase/reference/components/FieldTypeDetail.jsx:41
+#: frontend/src/metabase/reference/components/FieldTypeDetail.jsx:57
+msgid "No field type"
+msgstr "Нет типа поля"
+
+#. Where is it used?
+#: frontend/src/metabase/reference/components/FieldToGroupBy.jsx:22
+msgid "by"
+msgstr "по"
+
+#: frontend/src/metabase/reference/components/FieldTypeDetail.jsx:25
+#: frontend/src/metabase/reference/databases/FieldList.jsx:152
+#: frontend/src/metabase/reference/segments/SegmentFieldList.jsx:153
+msgid "Field type"
+msgstr "Тип поля"
+
+#: frontend/src/metabase/reference/components/FieldTypeDetail.jsx:72
+msgid "Select a Foreign Key"
+msgstr "Выберите внешний ключ"
+
+#: frontend/src/metabase/reference/components/Formula.jsx:53
+msgid "View the {0} formula"
+msgstr "Просмотреть формулу {0}"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:80
+msgid "Why this {0} is important"
+msgstr "Почему {0} представляется важным"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:81
+msgid "Why this {0} is interesting"
+msgstr "Почему {0} представляется интересным"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:87
+msgid "Nothing important yet"
+msgstr "Пока ничего важного"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:88
+#: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:168
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:233
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:211
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:215
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:219
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:229
+msgid "Nothing interesting yet"
+msgstr "Пока ничего интересного"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:93
+msgid "Things to be aware of about this {0}"
+msgstr "Что нужно знать о {0}"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:97
+#: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:178
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:243
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:221
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:225
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:229
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:239
+msgid "Nothing to be aware of yet"
+msgstr "Пока ничего не известно"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:103
+msgid "Explore this metric"
+msgstr "Исследовать метрику"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:105
+msgid "View this metric"
+msgstr "Просмотреть метрику"
+
+#. Where is it used?
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:112
+msgid "By {0}"
+msgstr "{0}"
+
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:146
+msgid "Remove item"
+msgstr "Удалить элемент"
+
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:155
+msgid "Why is this dashboard the most important?"
+msgstr "Почему этот дашборд самый важный?"
+
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:156
+msgid "What is useful or interesting about this {0}?"
+msgstr "Что будет интересно или полезно знать о {0}?"
+
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:160
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:174
+msgid "Write something helpful here"
+msgstr "Напишите здесь что-нибудь полезное"
+
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:169
+msgid "Is there anything users of this dashboard should be aware of?"
+msgstr "Есть ли что-нибудь, о чем пользователи этой панели индикаторов должны знать?"
+
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:170
+msgid "Anything users should be aware of about this {0}?"
+msgstr "Есть ли что-нибудь, о чем пользователи должны знать в отношении {0}?"
+
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:182
+#: frontend/src/metabase/reference/components/MetricImportantFieldsDetail.jsx:26
+msgid "Which 2-3 fields do you usually group this metric by?"
+msgstr "По каким 2-3 полям вы обычно группируете данную метрику?"
+
+#: frontend/src/metabase/reference/components/GuideHeader.jsx:23
+msgid "This is the perfect place to start if you’re new to your company’s data, or if you just want to check in on what’s going on."
+msgstr "Это идеальное место для начала ознакомления с данными вашей организации или чтобы просто узнать что к чему."
+
+#: frontend/src/metabase/reference/components/MetricImportantFieldsDetail.jsx:65
+msgid "Most useful fields to group this metric by"
+msgstr "Самые полезные поля, по которым можно группировать эту метрику"
+
+#: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:32
+msgid "Reason for changes"
+msgstr "Причины изменения"
+
+#: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:36
+msgid "Leave a note to explain what changes you made and why they were required"
+msgstr "Оставьте описание, чтобы объяснить какие изменения Вы сделали и почему они необходимы"
+
+#: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:166
+msgid "Why this database is interesting"
+msgstr "Почему эта база данных может быть интересна"
+
+#: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:176
+msgid "Things to be aware of about this database"
+msgstr "Что нужно знать об этой базе данных"
+
+#: frontend/src/metabase/reference/databases/DatabaseList.jsx:46
+#: frontend/src/metabase/reference/guide/BaseSidebar.jsx:39
+msgid "Databases and tables"
+msgstr "Базы данных и таблицы"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:61
+#: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:27
+#: frontend/src/metabase/reference/databases/FieldSidebar.jsx:41
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:170
+#: frontend/src/metabase/reference/databases/TableSidebar.jsx:34
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:184
+#: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:30
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:188
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:187
+#: frontend/src/metabase/reference/segments/SegmentFieldSidebar.jsx:31
+#: frontend/src/metabase/reference/segments/SegmentSidebar.jsx:30
+msgid "Details"
+msgstr "Детали"
+
+#: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:33
+#: frontend/src/metabase/reference/databases/TableList.jsx:111
+msgid "Tables in {0}"
+msgstr "Таблицы в {0}"
+
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:222
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:200
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:218
+msgid "Actual name in database"
+msgstr "Имя в базе данных"
+
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:231
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:227
+msgid "Why this field is interesting"
+msgstr "Почему это поле может быть интересно"
+
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:241
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:237
+msgid "Things to be aware of about this field"
+msgstr "Что нужно знать об этом поле"
+
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:253
+#: frontend/src/metabase/reference/databases/FieldList.jsx:155
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:249
+#: frontend/src/metabase/reference/segments/SegmentFieldList.jsx:156
+msgid "Data type"
+msgstr "Тип данных"
+
+#: frontend/src/metabase/reference/databases/FieldList.jsx:39
+#: frontend/src/metabase/reference/segments/SegmentFieldList.jsx:39
+msgid "Fields in this table will appear here as they're added"
+msgstr "Поля в этой таблицу появятся после их добавления"
+
+#: frontend/src/metabase/reference/databases/FieldList.jsx:134
+#: frontend/src/metabase/reference/segments/SegmentFieldList.jsx:135
+msgid "Fields in {0}"
+msgstr "Поля в {0}"
+
+#: frontend/src/metabase/reference/databases/FieldList.jsx:149
+#: frontend/src/metabase/reference/segments/SegmentFieldList.jsx:150
+msgid "Field name"
+msgstr "Имя поля"
+
+#: frontend/src/metabase/reference/databases/FieldSidebar.jsx:49
+msgid "X-ray this field"
+msgstr "Просканировать это поле"
+
+#: frontend/src/metabase/reference/databases/NoDatabasesEmptyState.jsx:8
+msgid "Metabase is no fun without any data"
+msgstr "Metabase становится бесполезным если нет никаких данных"
+
+#: frontend/src/metabase/reference/databases/NoDatabasesEmptyState.jsx:9
+msgid "Your databases will appear here once you connect one"
+msgstr "Ваша база данных появится здесь после подключения"
+
+#: frontend/src/metabase/reference/databases/NoDatabasesEmptyState.jsx:10
+msgid "Databases will appear here once your admins have added some"
+msgstr "Базы данных появится здесь после добавления администраторами"
+
+#: frontend/src/metabase/reference/databases/NoDatabasesEmptyState.jsx:12
+msgid "Connect a database"
+msgstr "Подключить базу данных"
+
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:38
+msgid "Count of {0}"
+msgstr "Количество {0}"
+
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:47
+msgid "See raw data for {0}"
+msgstr "Посмотреть исходные данные для {0}"
+
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:209
+msgid "Why this table is interesting"
+msgstr "Почему эта таблица может быть интересна"
+
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:219
+msgid "Things to be aware of about this table"
+msgstr "Что нужно знать об этой таблице"
+
+#: frontend/src/metabase/reference/databases/TableList.jsx:30
+msgid "Tables in this database will appear here as they're added"
+msgstr "Таблицы в этой базе данных появятся после добавления"
+
+#: frontend/src/metabase/reference/databases/TableQuestions.jsx:34
+msgid "Questions about this table will appear here as they're added"
+msgstr "Запросы об этой таблице появятся после добавления"
+
+#: frontend/src/metabase/reference/databases/TableQuestions.jsx:71
+#: frontend/src/metabase/reference/metrics/MetricQuestions.jsx:75
+#: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:36
+#: frontend/src/metabase/reference/segments/SegmentQuestions.jsx:74
+msgid "Questions about {0}"
+msgstr "Запросы о {0}"
+
+#: frontend/src/metabase/reference/databases/TableQuestions.jsx:95
+#: frontend/src/metabase/reference/metrics/MetricQuestions.jsx:99
+#: frontend/src/metabase/reference/segments/SegmentQuestions.jsx:98
+msgid "Created {0} by {1}"
+msgstr "Создано {0} пользователем {1}"
+
+#: frontend/src/metabase/reference/databases/TableSidebar.jsx:40
+msgid "Fields in this table"
+msgstr "Поля в этой таблице"
+
+#: frontend/src/metabase/reference/databases/TableSidebar.jsx:48
+msgid "Questions about this table"
+msgstr "Запросы об этой таблице"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:157
+msgid "Help your team get started with your data."
+msgstr "Помогите вашей команде с вашими данными."
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:159
+msgid "Show your team what’s most important by choosing your top dashboard, metrics, and segments."
+msgstr "Покажите вашей команде наиболее важное выбрав дашборд, метрики и сегменты."
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:165
+msgid "Get started"
+msgstr "Начнем"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:173
+msgid "Our most important dashboard"
+msgstr "Наш самый важный дашборд"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:188
+msgid "Numbers that we pay attention to"
+msgstr "Числа, требующие внимания"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:213
+msgid "Metrics are important numbers your company cares about. They often represent a core indicator of how the business is performing."
+msgstr "Метрики - это важные для компании измеримые показатели. Они часто представляют собой основные показатели того, как работает бизнес."
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:221
+msgid "See all metrics"
+msgstr "Посмотреть все метрики"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:235
+msgid "Segments and tables"
+msgstr "Сегменты и таблицы"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:236
+msgid "Tables"
+msgstr "Таблицы"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:262
+msgid "Segments and tables are the building blocks of your company's data. Tables are collections of the raw information while segments are specific slices with specific meanings, like {0}"
+msgstr "Сегменты и таблицы являются составными блоками данных вашей компании. Таблицы представляют собой коллекции необработанной информации, а сегменты - это конкретные срезы со специфическими значениями, например {0}"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:267
+msgid "Tables are the building blocks of your company's data."
+msgstr "Таблицы являются составными блоками данных вашей компании."
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:277
+msgid "See all segments"
+msgstr "Посмотреть все сегменты"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:293
+msgid "See all tables"
+msgstr "Посмотреть все таблицы"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:301
+msgid "Other things to know about our data"
+msgstr "Другие вещи, которые нужно знать о наших данных"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:302
+msgid "Find out more"
+msgstr "Найти больше"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:307
+msgid "A good way to get to know your data is by spending a bit of time exploring the different tables and other info available to you. It may take a while, but you'll start to recognize names and meanings over time."
+msgstr "Хороший способ познакомиться с вашими данными - потратить немного времени на изучение разных таблиц и другой информации, доступной вам. Это может занять некоторое время, но вы со временем вы станете узнавать их названия и значения."
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:313
+msgid "Explore our data"
+msgstr "Исследовать данные"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:321
+msgid "Have questions?"
+msgstr "Остались вопросы?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:326
+msgid "Contact {0}"
+msgstr "Свяжитесь с {0}"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:248
+msgid "Help new Metabase users find their way around."
+msgstr "Помогите новым пользователям Metabase найти свой путь."
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:251
+msgid "The Getting Started guide highlights the dashboard, metrics, segments, and tables that matter most, and informs your users of important things they should know before digging into the data."
+msgstr "В руководстве Getting Started основное внимание уделяется панели, метрикам, сегментам и таблицам, которые информируют ваших пользователей о важных вещах, которые они должны знать, прежде чем вникать в данные."
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:258
+msgid "Is there an important dashboard for your team?"
+msgstr "Этот дашборд важен для вашей команды?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:260
+msgid "Create a dashboard now"
+msgstr "Создать дашборд прямо сейчас"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:266
+msgid "What is your most important dashboard?"
+msgstr "Какой дашборд наиболее важен?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:285
+msgid "Do you have any commonly referenced metrics?"
+msgstr "Есть ли у вас какие-либо часто упоминаемые метрики?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:287
+msgid "Learn how to define a metric"
+msgstr "Узнайте как определить метрику"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:300
+msgid "What are your 3-5 most commonly referenced metrics?"
+msgstr "Каковы ваши 3-5 наиболее часто упоминаемых метрики?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:344
+msgid "Add another metric"
+msgstr "Добавить другую метрику"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:357
+msgid "Do you have any commonly referenced segments or tables?"
+msgstr "Есть ли у вас какие-либо часто упоминаемые сегменты или таблицы?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:359
+msgid "Learn how to create a segment"
+msgstr "Узнайте как создать сегмент"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:372
+msgid "What are 3-5 commonly referenced segments or tables that would be useful for this audience?"
+msgstr "Какие 3-5 часто упоминаемых сегментов или таблиц, которые были бы полезны для этой аудитории?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:418
+msgid "Add another segment or table"
+msgstr "Добавить другой сегмент или таблицу"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:427
+msgid "Is there anything your users should understand or know before they start accessing the data?"
+msgstr "Есть ли что-нибудь, что ваши пользователи должны понимать или знать, прежде чем они получат доступ к данным?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:433
+msgid "What should a user of this data know before they start accessing it?"
+msgstr "Что должен знать пользователь об этих данных перед тем, как к ним обращаться?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:437
+msgid "E.g., expectations around data privacy and use, common pitfalls or misunderstandings, information about data warehouse performance, legal notices, etc."
+msgstr "Например, ожидания относительно конфиденциальности и использования данных, типичные ошибки или недопонимания, информация о производительности хранилища данных, юридические уведомления и т.д."
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:448
+msgid "Is there someone your users could contact for help if they're confused about this guide?"
+msgstr "Могут ли пользователи к вам обращаться при возникновении вопросов?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:457
+msgid "Who should users contact for help if they're confused about this data?"
+msgstr "С кем должны связывать пользователи для помощи при возникновении вопросов по данным?"
+
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:75
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:95
+msgid "Please enter a revision message"
+msgstr "Пожалуйста, добавьте сообщение ревизии"
+
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:213
+msgid "Why this Metric is interesting"
+msgstr "Почему эта Метрика может быть интересной"
+
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:223
+msgid "Things to be aware of about this Metric"
+msgstr "Что нужно знать об этой метрике"
+
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:233
+msgid "How this Metric is calculated"
+msgstr "Как рассчитывается эта метрика"
+
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:235
+msgid "Nothing on how it's calculated yet"
+msgstr "Пока ничего не рассчитано"
+
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:293
+msgid "Other fields you can group this metric by"
+msgstr "Другие поля, по которым вы можете группировать эту метрику"
+
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:294
+msgid "Fields you can group this metric by"
+msgstr "Метрика может быть сгруппирована по следующим полям"
+
+#: frontend/src/metabase/reference/metrics/MetricList.jsx:23
+msgid "Metrics are the official numbers that your team cares about"
+msgstr "Метрики это официальные цифры, о которых заботится ваша команда"
+
+#: frontend/src/metabase/reference/metrics/MetricList.jsx:25
+msgid "Metrics will appear here once your admins have created some"
+msgstr "Метрики будут появляться здесь как только ваши админы их сделают"
+
+#: frontend/src/metabase/reference/metrics/MetricList.jsx:27
+msgid "Learn how to create metrics"
+msgstr "Узнайте как создать метрики"
+
+#: frontend/src/metabase/reference/metrics/MetricQuestions.jsx:35
+msgid "Questions about this metric will appear here as they're added"
+msgstr "Запросы об этой метрике появятся после их добавления"
+
+#: frontend/src/metabase/reference/metrics/MetricRevisions.jsx:29
+msgid "There are no revisions for this metric"
+msgstr "Данная метрика не содержит ревизий"
+
+#: frontend/src/metabase/reference/metrics/MetricRevisions.jsx:88
+#: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:52
+#: frontend/src/metabase/reference/segments/SegmentRevisions.jsx:88
+msgid "Revision history for {0}"
+msgstr "История ревизий {0}"
+
+#: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:43
+msgid "X-ray this metric"
+msgstr "Просканировать эту метрику"
+
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:217
+msgid "Why this Segment is interesting"
+msgstr "Почему этот сегмент интересен"
+
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:227
+msgid "Things to be aware of about this Segment"
+msgstr "Что нужно знать об этом сегменте"
+
+#: frontend/src/metabase/reference/segments/SegmentList.jsx:23
+msgid "Segments are interesting subsets of tables"
+msgstr "Сегменты это интересные срезы по таблицам"
+
+#: frontend/src/metabase/reference/segments/SegmentList.jsx:24
+msgid "Defining common segments for your team makes it even easier to ask questions"
+msgstr "Определение общих сегментов для вашей команды упрощает создание запросов"
+
+#: frontend/src/metabase/reference/segments/SegmentList.jsx:25
+msgid "Segments will appear here once your admins have created some"
+msgstr "Сегменты появятся здесь после того как администраторы их создадут"
+
+#: frontend/src/metabase/reference/segments/SegmentList.jsx:27
+msgid "Learn how to create segments"
+msgstr "Узнайте как создавать сегменты"
+
+#: frontend/src/metabase/reference/segments/SegmentQuestions.jsx:35
+msgid "Questions about this segment will appear here as they're added"
+msgstr "Запросы об этом сегменте появятся здесь после их добавления"
+
+#: frontend/src/metabase/reference/segments/SegmentRevisions.jsx:29
+msgid "There are no revisions for this segment"
+msgstr "Данный сегмент не содержит ревизий"
+
+#: frontend/src/metabase/reference/segments/SegmentSidebar.jsx:36
+msgid "Fields in this segment"
+msgstr "Поля в этом сегменте"
+
+#: frontend/src/metabase/reference/segments/SegmentSidebar.jsx:42
+msgid "Questions about this segment"
+msgstr "Запросы с этим сегментом"
+
+#: frontend/src/metabase/reference/segments/SegmentSidebar.jsx:49
+msgid "X-ray this segment"
+msgstr "Просканировать этот сегмент"
+
+#: frontend/src/metabase/routes.jsx:182
+msgid "Login"
+msgstr "Логин"
+
+#: frontend/src/metabase/nav/containers/Navbar.jsx:130
+#: frontend/src/metabase/routes.jsx:198
+msgid "Search"
+msgstr "Поиск"
+
+#: frontend/src/metabase/routes.jsx:217
+msgid "Dashboard"
+msgstr "Дашборд"
+
+#: frontend/src/metabase/routes.jsx:228
+msgid "New Question"
+msgstr "Новый запрос"
+
+#: frontend/src/metabase/setup/components/DatabaseConnectionStep.jsx:125
+msgid "Select the type of Database you use"
+msgstr "Выберите тип базы данных"
+
+#: frontend/src/metabase/setup/components/DatabaseConnectionStep.jsx:141
+msgid "Add your data"
+msgstr "Добавьте свои данные"
+
+#: frontend/src/metabase/setup/components/DatabaseConnectionStep.jsx:145
+msgid "I'll add my own data later"
+msgstr "Я добавлю данные позже"
+
+#: frontend/src/metabase/setup/components/DatabaseConnectionStep.jsx:146
+msgid "Connecting to {0}"
+msgstr "Подключение к {0}"
+
+#: frontend/src/metabase/setup/components/DatabaseConnectionStep.jsx:165
+msgid "You’ll need some info about your database, like the username and password. If you don’t have that right now, Metabase also comes with a sample dataset you can get started with."
+msgstr "Вам необходимо некоторая информация о вашей базе данных, такая как имя пользователя и пароль. Если у вас нее ее прямо сейчас - Metabase поставляется с набором тестовых данных, с которым вы можете начать."
+
+#: frontend/src/metabase/setup/components/DatabaseConnectionStep.jsx:196
+msgid "I'll add my data later"
+msgstr "Я добавлю мои данные позже"
+
+#: frontend/src/metabase/setup/components/DatabaseSchedulingStep.jsx:41
+msgid "Control automatic scans"
+msgstr "Контроль за автоматическим сканированием"
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:53
+msgid "Usage data preferences"
+msgstr "Настройки использования данных"
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:56
+msgid "Thanks for helping us improve"
+msgstr "Спасибо за помощь в улучшении"
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:57
+msgid "We won't collect any usage events"
+msgstr "Мы не хотим собирать никакие события использования"
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:76
+msgid "In order to help us improve Metabase, we'd like to collect certain data about usage through Google Analytics."
+msgstr "Для улучшения Metabase, мы бы хотели собирать некоторые данные по использованию через Google Analytics."
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:85
+msgid "Here's a full list of everything we track and why."
+msgstr "Вот полный список всего что мы отслеживаем и почему."
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:98
+msgid "Allow Metabase to anonymously collect usage events"
+msgstr "Разрешить Metabase собирать анонимные данные о использовании"
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:105
+msgid "Metabase {0} collects anything about your data or question results."
+msgstr "Metabase {0} собирает что либо о ваших данных или результатах вопросов."
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:106
+msgid "never"
+msgstr "никогда"
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:108
+msgid "All collection is completely anonymous."
+msgstr "Все коллекции полностью анонимны."
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:110
+msgid "Collection can be turned off at any point in your admin settings."
+msgstr "Коллекция может быть отключена в любой момент в настройках администратора."
+
+#: frontend/src/metabase/setup/components/Setup.jsx:45
+msgid "If you feel stuck"
+msgstr "Если вы застряли"
+
+#: frontend/src/metabase/setup/components/Setup.jsx:52
+msgid "our getting started guide"
+msgstr "наше руководство по началу работы"
+
+#: frontend/src/metabase/setup/components/Setup.jsx:53
+msgid "is just a click away."
+msgstr "всего в одном клике от вас."
+
+#: frontend/src/metabase/setup/components/Setup.jsx:95
+msgid "Welcome to Metabase"
+msgstr "Добро пожаловать в Metabase"
+
+#: frontend/src/metabase/setup/components/Setup.jsx:96
+msgid "Looks like everything is working. Now let’s get to know you, connect to your data, and start finding you some answers!"
+msgstr "Похоже, все работает. Теперь давайте познакомимся поближе: настройте подключение к данным и пойдем искать ответы!"
+
+#: frontend/src/metabase/setup/components/Setup.jsx:100
+msgid "Let's get started"
+msgstr "Начнем"
+
+#: frontend/src/metabase/setup/components/Setup.jsx:145
+msgid "You're all set up!"
+msgstr "Все настроено!"
+
+#: frontend/src/metabase/setup/components/Setup.jsx:156
+msgid "Take me to Metabase"
+msgstr "Покажите мне Metabase"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:155
+msgid "What should we call you?"
+msgstr "Как мы можем вас называть?"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:156
+msgid "Hi, {0}. nice to meet you!"
+msgstr "Привет, {0}. рады вас видеть!"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:243
+msgid "Create a password"
+msgstr "Создайте пароль"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:259
+#: frontend/src/metabase/user/components/SetUserPassword.jsx:116
+msgid "Shhh..."
+msgstr "Тссс..."
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:269
+msgid "Confirm password"
+msgstr "Подтверждение пароля"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:278
+msgid "Shhh... but one more time so we get it right"
+msgstr "Тсс… но еще раз, чтобы наверняка"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:287
+msgid "Your company or team name"
+msgstr "Название вашей компании или команды"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:296
+msgid "Department of awesome"
+msgstr "Департамент"
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:26
+msgid "Metabot is admiring your integers…"
+msgstr "Metabot восхищается вашими числами..."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:27
+msgid "Metabot is performing billions of differential equations…"
+msgstr "Metabot выполняет миллиарды дифференциальных уравнений..."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:28
+msgid "Metabot is doing science…"
+msgstr "Metabot выполняет научные изыскания..."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:29
+msgid "Metabot is checking out your metrics…"
+msgstr "Metabot проверяет ваши метрики..."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:30
+msgid "Metabot is looking for trends and outliers…"
+msgstr "Metabot ищет тренды и аномалии..."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:31
+msgid "Metabot is consulting the quantum abacus…"
+msgstr "Metabot консультируется с квантовыми счетами..."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:32
+msgid "Metabot is feeling pretty good about all this…"
+msgstr "Metabot'у все это очень нравится…"
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:52
+msgid "We’ll show you some interesting explorations of your data in\n"
+"just a few minutes."
+msgstr "Мы покажем вам несколько интересных результатов наших изысканий через несколько минут."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:72
+msgid "This seems to be taking a while. In the meantime, you can check out one of these example explorations to see what Metabase can do for you."
+msgstr "Кажется, это займет чуть больше времени, чем ожидалось. А пока вы можете посмотреть примеры исследований, которые Metabase может делать за вас."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:86
+msgid "I took a look at the data you just connected, and I have some explorations of interesting things I found. Hope you like them!"
+msgstr "Я посмотрел на данные и вот что интересное я могу о них сказать. Надеюсь, вам понравится!"
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:98
+msgid "I'm done exploring for now"
+msgstr "Все, пока хватит исследований"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:20
+msgid "Welcome to the Query Builder!"
+msgstr "Добро пожаловать в Построитель Запросов!"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:22
+msgid "The Query Builder lets you assemble questions (or \"queries\") to ask about your data."
+msgstr "Мастер Запросов позволит подготовить вопросы (по-другому \"запросы\") о ваших данных."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:26
+msgid "Tell me more"
+msgstr "Рассказать больше"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:43
+msgid "Start by picking the table with the data that you have a question about."
+msgstr "Начните с выбора таблицы, о данных которой вы хотели бы задать вопрос."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:45
+msgid "Go ahead and select the \"Orders\" table from the dropdown menu."
+msgstr "Попробуйте выбрать талбицу \"Заказы\" из выпадающего списка."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:78
+msgid "Filter your data to get just what you want."
+msgstr "Отфильтруйте данные чтобы получить то, что хотите."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:79
+msgid "Click the plus button and select the \"Created At\" field."
+msgstr "Нажмите кнопку \"плюс\" и выберите поле \"Создано\"."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:93
+msgid "Here we can pick how many days we want to see data for, try 10"
+msgstr "Здесь вы можете выбрать сколько дней хотите видеть данные, введите, к примеру, 10"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:116
+msgid "Here's where you can choose to add or average your data, count the number of rows in the table, or just view the raw data."
+msgstr "Здесь можно добавить или усреднить данные, подсчитать количество строк в таблице или просто просмотреть необработанные данные."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:118
+msgid "Try it: click on <strong>Raw Data</strong> to change it to <strong>Count of rows</strong> so we can count how many orders there are in this table."
+msgstr "Попробуйте: нажмите на <strong>Исходные данные</strong> чтобы поменять их на <strong>Количество строк</strong>, тогда мы сможем посчитать сколько заказов в этой таблице."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:142
+msgid "Add a grouping to break out your results by category, day, month, and more."
+msgstr "Добавьте группировку для разбивки результатов по категории, дню, месяцу и т.д."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:144
+msgid "Let's do it: click on <strong>Add a grouping</strong>, and choose <strong>Created At: by Week</strong>."
+msgstr "Просто сделайте это: нажмите на <strong>Добавить группиовку</strong>, и выберите <strong>Дата создания: по Неделям</strong>"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:152
+msgid "Click on \"by day\" to change it to \"Week.\""
+msgstr "Нажмите \"по дням\" чтобы изменить на \"Неделю\"."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:173
+msgid "Run Your Query."
+msgstr "Выполнить ваш запрос."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:175
+msgid "You're doing so well! Click <strong>Run query</strong> to get your results!"
+msgstr "Все готово! Нажмите <strong>Запустить запрос</strong> для получения результатов!"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:192
+msgid "You can view your results as a chart instead of a table."
+msgstr "Вы можете просматривать ваши результаты в виде графика вместо таблицы."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:194
+msgid "Everbody likes charts! Click the <strong>Visualization</strong> dropdown and select <strong>Line</strong>."
+msgstr "Все любят графики! Нажмите на выпадающем списке <strong>Визуализация</strong> и выберите <strong>Линия</strong>."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:216
+msgid "Well done!"
+msgstr "Сделано!"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:218
+msgid "That's all! If you still have questions, check out our"
+msgstr "Это все! Если у вас остались вопросы, ознакомьтесь с нашим"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:223
+msgid "User's Guide"
+msgstr "Руководство пользователя"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:223
+msgid "Have fun exploring your data!"
+msgstr "Веселитесь, исследуя свои данные!"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:226
+msgid "Thanks"
+msgstr "Спасибо"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:235
+msgid "Save Your Questions"
+msgstr "Сохранить ваши запросы"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:237
+msgid "By the way, you can save your questions so you can refer to them later. Saved Questions can also be put into dashboards or Pulses."
+msgstr "Кстати, вы можете сохранить свои запросы, чтобы позже их можно было сослаться на них. Сохраненные запросы также могут быть помещены в дашборды или пульсы."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:241
+msgid "Sounds good"
+msgstr "Звучит отлично"
+
+#: frontend/src/metabase/tutorial/Tutorial.jsx:248
+msgid "Whoops!"
+msgstr "Ууууупс!"
+
+#: frontend/src/metabase/tutorial/Tutorial.jsx:249
+msgid "Sorry, it looks like something went wrong. Please try restarting the tutorial in a minute."
+msgstr "Просим прощения, но что-то пошло не так. Попробуйте начать обучение заново через минуту."
+
+#: frontend/src/metabase/user/actions.js:34
+msgid "Password updated successfully!"
+msgstr "Пароль успешно изменен!"
+
+#: frontend/src/metabase/user/actions.js:53
+msgid "Account updated successfully!"
+msgstr "Учетная запись успешно изменена!"
+
+#: frontend/src/metabase/user/components/SetUserPassword.jsx:107
+msgid "Current password"
+msgstr "Текущий пароль"
+
+#: frontend/src/metabase/user/components/UpdateUserDetails.jsx:137
+msgid "Sign in with Google Email address"
+msgstr "Войти с помощью аккаунта Google"
+
+#: frontend/src/metabase/user/components/UserSettings.jsx:65
+msgid "User Details"
+msgstr "Детали пользователя"
+
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:275
+msgid "Reset to defaults"
+msgstr "Сбросить по-умолчанию"
+
+#: frontend/src/metabase/visualizations/components/ChoroplethMap.jsx:133
+msgid "unknown map"
+msgstr "неизвестная карта"
+
+#: frontend/src/metabase/visualizations/components/LeafletGridHeatMap.jsx:26
+msgid "Grid map requires binned longitude/latitude."
+msgstr "Карта нуждается в соответствующих градусах долготы и широты"
+
+#: frontend/src/metabase/visualizations/components/LegendVertical.jsx:112
+msgid "more"
+msgstr "больше"
+
+#: frontend/src/metabase/visualizations/components/LineAreaBarChart.jsx:101
+msgid "Which fields do you want to use for the X and Y axes?"
+msgstr "Какие поля вы хотите использовать для осей X и Y?"
+
+#: frontend/src/metabase/visualizations/components/LineAreaBarChart.jsx:103
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:60
+msgid "Choose fields"
+msgstr "Выберите поля"
+
+#: frontend/src/metabase/visualizations/components/PinMap.jsx:204
+msgid "Save as default view"
+msgstr "Сохранить как вид по-умолчанию"
+
+#: frontend/src/metabase/visualizations/components/PinMap.jsx:226
+msgid "Draw box to filter"
+msgstr "Нарисуйте \"коробку\" для фильтрации"
+
+#: frontend/src/metabase/visualizations/components/PinMap.jsx:226
+msgid "Cancel filter"
+msgstr "Отменить фильтр"
+
+#: frontend/src/metabase/visualizations/components/PinMap.jsx:47
+msgid "Pin Map"
+msgstr "Закрепить карту"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:303
+msgid "Unset"
+msgstr "Снять выбор"
+
+#: frontend/src/metabase/visualizations/components/TableSimple.jsx:253
+msgid "Rows {0}-{1} of {2}"
+msgstr "Записи {0}-{1} из {2}"
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:189
+msgid "Data truncated to {0} rows."
+msgstr "Данные сокращены до {0} строк."
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:364
+msgid "Could not find visualization"
+msgstr "Невозможно найти визуализацию"
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:371
+msgid "Could not display this chart with this data."
+msgstr "Невозможно отобразить график с текущими данным."
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:469
+msgid "No results!"
+msgstr "Нет результатов!"
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:490
+msgid "Still Waiting..."
+msgstr "Ожидание..."
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:493
+msgid "This usually takes an average of {0}."
+msgstr "Это в среднем занимает {0}."
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:499
+msgid "(This is a bit long for a dashboard)"
+msgstr "(Это несколько длинновато для дашборда)"
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:503
+msgid "This is usually pretty fast but seems to be taking awhile right now."
+msgstr "Обычно это достаточно быстрое действие, но, кажется, сейчас это займёт больше времени."
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingFieldPicker.jsx:36
+msgid "Select a field"
+msgstr "Выберите поле"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingFieldsPicker.jsx:45
+msgid "error"
+msgstr "ошибка"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingOrderedColumns.jsx:126
+msgid "Click and drag to change their order"
+msgstr "Нажмите и перетащите для изменения их порядка"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingOrderedColumns.jsx:139
+msgid "Add fields from the list below"
+msgstr "Добавить поля к списке ниже"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:24
+msgid "less than"
+msgstr "меньше чем"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:25
+msgid "greater than"
+msgstr "больше чем"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:26
+msgid "less than or equal to"
+msgstr "меньше чем или равно"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:27
+msgid "greater than or equal to"
+msgstr "больше чем или равно"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:28
+msgid "equal to"
+msgstr "равно"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:29
+msgid "not equal to"
+msgstr "не равно"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:191
+msgid "Conditional formatting"
+msgstr "Условное форматирование"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:193
+msgid "You can add rules to make the cells in this table change color if\n"
+"they meet certain conditions."
+msgstr "Вы можете добавить правила чтобы поменять цвета ячеек таблицы в зависимости от условий."
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:203
+msgid "Add a rule"
+msgstr "Добавить правило"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:208
+msgid "Rules will be applied in this order"
+msgstr "Правила будут применяться в этом порядке"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:209
+msgid "Click and drag to reorder."
+msgstr "Нажмите и перетащите чтобы изменить порядок."
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:242
+msgid "No columns selected"
+msgstr "Столбцы не выбраны"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:290
+msgid "Cells in this column will be tinted based on their values."
+msgstr "Ячейки этой колонки будут окрашены в зависимости от их значений."
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:279
+msgid "When a cell in these columns is {0} it will be tinted this color."
+msgstr "Когда ячейка в этих колонках будет {0}, она будет окрашена в этом цвет."
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:313
+msgid "Which columns should be affected?"
+msgstr "Какие колонки должны быть затронуты?"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:335
+msgid "Formatting style"
+msgstr "Стиль форматирования"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:339
+msgid "Single color"
+msgstr "Один цвет"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:340
+msgid "Color range"
+msgstr "Диапазон цветов"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:312
+msgid "When a cell in this column is…"
+msgstr "Когда ячейка в этой колонке..."
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:376
+msgid "…turn its background this color:"
+msgstr "переключить фоновый цвет в этот цвет:"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:382
+msgid "Highlight the whole row"
+msgstr "Подсветить всю строку"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:390
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:98
+msgid "Colors"
+msgstr "Цвета"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:404
+msgid "Start the range at"
+msgstr "Начать диапазон с"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:409
+msgid "Smallest value in this column"
+msgstr "Наименьшее значение в этом столбце"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:411
+msgid "Smallest value in each column"
+msgstr "Наименьшее значение в каждом столбце"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:413
+msgid "Smallest value in all of these columns"
+msgstr "Наименьшее значение во всех этих столбцах"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:417
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:441
+msgid "Custom value"
+msgstr "Произвольное значение"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:428
+msgid "End the range at"
+msgstr "Закончить диапазон"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:433
+msgid "Largest value in this column"
+msgstr "Наибольшее значение в этой колонке"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:435
+msgid "Largest value in each column"
+msgstr "Наибольшее значение во всех колонках"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:437
+msgid "Largest value in all of these columns"
+msgstr "Наибольшее значение во всех этих колонках"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:471
+msgid "Add rule"
+msgstr "Добавить правило"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:471
+msgid "Update rule"
+msgstr "Обновить правило"
+
+#: frontend/src/metabase/visualizations/index.js:33
+msgid "Visualization is null"
+msgstr "Визуализация не задана"
+
+#: frontend/src/metabase/visualizations/index.js:38
+msgid "Visualization must define an 'identifier' static variable: "
+msgstr "Визуализация должна определять статичную переменную 'identifier': "
+
+#: frontend/src/metabase/visualizations/index.js:44
+msgid "Visualization with that identifier is already registered: "
+msgstr "Визуализация с этим идентификатором уже зарегистрирована: "
+
+#: frontend/src/metabase/visualizations/index.js:72
+msgid "No visualization for {0}"
+msgstr "Нет визуализации для {0}"
+
+#: frontend/src/metabase/visualizations/lib/LineAreaBarRenderer.js:75
+msgid "\"{0}\" is an unaggregated field: if it has more than one value at a point on the x-axis, the values will be summed."
+msgstr "\"{0}\" - не агрегированое поле: если в точке оси x имеется более двух значений - они будут просуммированы."
+
+#: frontend/src/metabase/visualizations/lib/LineAreaBarRenderer.js:91
+msgid "This chart type requires at least 2 columns."
+msgstr "Данный тип графика требует как минимум 2 столбца."
+
+#: frontend/src/metabase/visualizations/lib/LineAreaBarRenderer.js:96
+msgid "This chart type doesn't support more than {0} series of data."
+msgstr "Данный тип графика не поддерживает больше чем {0} наборов данных."
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:316
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:51
+msgid "Goal"
+msgstr "Цель"
+
+#: frontend/src/metabase/visualizations/lib/errors.js:11
+msgid "Doh! The data from your query doesn't fit the chosen display choice. This visualization requires at least {0} {1} of data."
+msgstr "Ой! Данные из запроса не подходят к выбранной визуализации. Эта визуализация требует минимум {0} \n"
+" {1} данных"
+
+#: frontend/src/metabase/visualizations/lib/errors.js:11
+msgid "column"
+msgid_plural "columns"
+msgstr[0] "столбец"
+msgstr[1] "столбца"
+msgstr[2] "столбцов"
+msgstr[3] "столбцов"
+
+#: frontend/src/metabase/visualizations/lib/errors.js:23
+msgid "No dice. We have {0} data {1} to show and that's not enough for this visualization."
+msgstr "Не проканает. У нас {0} данных из {1} чтобы показать, и этого недостаточно для этой визуализации."
+
+#: frontend/src/metabase/visualizations/lib/errors.js:23
+msgid "point"
+msgid_plural "points"
+msgstr[0] "точка"
+msgstr[1] "точки"
+msgstr[2] "точек"
+msgstr[3] "точек"
+
+#: frontend/src/metabase/visualizations/lib/errors.js:35
+msgid "Bummer. We can't actually do a pin map for this data because we require both a latitude and longitude column."
+msgstr "Тупик. Мы не сможем сделать карту из этих данных - нужна и широта, и долгота."
+
+#: frontend/src/metabase/visualizations/lib/errors.js:55
+msgid "Please configure this chart in the chart settings"
+msgstr "Пожалуйста настройки этот график в настройках отображения"
+
+#: frontend/src/metabase/visualizations/lib/errors.js:57
+msgid "Edit Settings"
+msgstr "Изменить настройки"
+
+#: frontend/src/metabase/visualizations/lib/fill_data.js:37
+msgid "xValues missing!"
+msgstr "X-значения отсутствуют!"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:114
+#: frontend/src/metabase/visualizations/visualizations/RowChart.jsx:31
+msgid "X-axis"
+msgstr "Ось абсцисс"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:140
+msgid "Add a series breakout..."
+msgstr "Добавить разрыв серии..."
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:153
+#: frontend/src/metabase/visualizations/visualizations/RowChart.jsx:35
+msgid "Y-axis"
+msgstr "Ось ординат"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:178
+msgid "Add another series..."
+msgstr "Добавить другую серию..."
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:195
+msgid "Bubble size"
+msgstr "Размер пузырька"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:71
+#: frontend/src/metabase/visualizations/visualizations/LineChart.jsx:16
+msgid "Line"
+msgstr "Линия"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:72
+msgid "Curve"
+msgstr "Кривая"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:73
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:69
+msgid "Step"
+msgstr "Шаг"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:170
+msgid "Show point markers on lines"
+msgstr "Показать отметки точек на линиях"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:235
+msgid "Stacking"
+msgstr "Объединение"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:239
+msgid "Don't stack"
+msgstr "Не объединять"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:240
+msgid "Stack"
+msgstr "Объединить"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:241
+msgid "Stack - 100%"
+msgstr "Объединить - 100%"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:300
+msgid "Show goal"
+msgstr "Показать цель"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:306
+msgid "Goal value"
+msgstr "Значение цели"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:103
+msgid "Replace missing values with"
+msgstr "Заменить отсутствующие значения на"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:107
+msgid "Zero"
+msgstr "Ноль"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:108
+msgid "Nothing"
+msgstr "Ничего"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:109
+msgid "Linear Interpolated"
+msgstr "Линейная интерполяция"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:371
+msgid "X-axis scale"
+msgstr "Шкала оси абсцисс"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:388
+msgid "Timeseries"
+msgstr "Временная шкала"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:391
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:409
+msgid "Linear"
+msgstr "Линейный"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:393
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:410
+msgid "Power"
+msgstr "В степени"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:394
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:411
+msgid "Log"
+msgstr "Лог"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:396
+msgid "Histogram"
+msgstr "Гистограмма"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:398
+msgid "Ordinal"
+msgstr "Порядковый"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:404
+msgid "Y-axis scale"
+msgstr "Масштаб Y оси"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:417
+msgid "Show x-axis line and marks"
+msgstr "Показать строку и метки по оси x"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:423
+msgid "Compact"
+msgstr "Компактно"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:424
+msgid "Rotate 45°"
+msgstr "Перевернуть на 45°"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:425
+msgid "Rotate 90°"
+msgstr "Перевернуть на 90°"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:432
+msgid "Show y-axis line and marks"
+msgstr "Показать строку и метки по оси y"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:444
+msgid "Auto y-axis range"
+msgstr "Авто диапазон оси ординат"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:488
+msgid "Use a split y-axis when necessary"
+msgstr "Использовать разрывы школы ординат когда это необходимо"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:495
+msgid "Show label on x-axis"
+msgstr "Показать метку на X оси"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:501
+msgid "X-axis label"
+msgstr "Метка X оси"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:510
+msgid "Show label on y-axis"
+msgstr "Показать метку на Y оси"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:516
+msgid "Y-axis label"
+msgstr "Метка Y оси"
+
+#: frontend/src/metabase/visualizations/lib/utils.js:129
+msgid "Standard Deviation"
+msgstr "Стандартное отклонение"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:275
+#: frontend/src/metabase/visualizations/visualizations/AreaChart.jsx:17
+msgid "Area"
+msgstr "Область"
+
+#: frontend/src/metabase/visualizations/visualizations/AreaChart.jsx:20
+msgid "area chart"
+msgstr "область графика"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:276
+#: frontend/src/metabase/visualizations/visualizations/BarChart.jsx:16
+msgid "Bar"
+msgstr "Гистограмма"
+
+#: frontend/src/metabase/visualizations/visualizations/BarChart.jsx:19
+msgid "bar chart"
+msgstr "гистограмма"
+
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:58
+msgid "Which fields do you want to use?"
+msgstr "Какое поле вы хотите использовать?"
+
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:32
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:87
+msgid "Funnel"
+msgstr "Воронка"
+
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:76
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:76
+msgid "Measure"
+msgstr "Измерение"
+
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:82
+msgid "Funnel type"
+msgstr "Тип воронки"
+
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:88
+msgid "Bar chart"
+msgstr "Гистограмма"
+
+#: frontend/src/metabase/visualizations/visualizations/LineChart.jsx:19
+msgid "line chart"
+msgstr "График"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:224
+msgid "Please select longitude and latitude columns in the chart settings."
+msgstr "Пожалуйста выберите колонки, содержащие широту и долготу для настройки графика."
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:230
+msgid "Please select a region map."
+msgstr "Пожалуйста выберите карту региона."
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:236
+msgid "Please select region and metric columns in the chart settings."
+msgstr "Пожалуйста выберите область и столбцы показателей в настройках графика."
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:38
+msgid "Map"
+msgstr "Карта"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:53
+msgid "Map type"
+msgstr "Тип карты"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:57
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:149
+msgid "Region map"
+msgstr "Карта региона"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:58
+msgid "Pin map"
+msgstr "Закрепить карту"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:104
+msgid "Pin type"
+msgstr "Тип значка"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:109
+msgid "Tiles"
+msgstr "Плитка"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:110
+msgid "Markers"
+msgstr "Маркеры"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:126
+msgid "Latitude field"
+msgstr "Поле широты"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:134
+msgid "Longitude field"
+msgstr "Поле долготы"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:142
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:168
+msgid "Metric field"
+msgstr "Поле измерения"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:172
+msgid "Region field"
+msgstr "Поле региона"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:192
+msgid "Radius"
+msgstr "Радиус"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:198
+msgid "Blur"
+msgstr "Размытие"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:204
+msgid "Min Opacity"
+msgstr "Минимальная прозрачность"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:210
+msgid "Max Zoom"
+msgstr "Максимальное приближение"
+
+#: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:175
+msgid "No relationships found."
+msgstr "Связи не найдены."
+
+#: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:213
+msgid "via {0}"
+msgstr "через {0}"
+
+#: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:290
+msgid "This {0} is connected to:"
+msgstr "{0} связано с:"
+
+#: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:47
+msgid "Object Detail"
+msgstr "Детали объекта"
+
+#: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:50
+msgid "object"
+msgstr "объект"
+
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:312
+msgid "Total"
+msgstr "Всего"
+
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:61
+msgid "Which columns do you want to use?"
+msgstr "Какие колонки вы хотите использовать?"
+
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:44
+msgid "Pie"
+msgstr "Пирог"
+
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:71
+msgid "Dimension"
+msgstr "Измерение"
+
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:81
+msgid "Show legend"
+msgstr "Показать легенду"
+
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:86
+msgid "Show percentages in legend"
+msgstr "Показать процентовку в легенде"
+
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:92
+msgid "Minimum slice percentage"
+msgstr "Минимальный процентаж среза"
+
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:146
+msgid "Goal met"
+msgstr "Цель достигнута"
+
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:148
+msgid "Goal exceeded"
+msgstr "Цель достигнута"
+
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:215
+msgid "Goal {0}"
+msgstr "Цель {0}"
+
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:39
+msgid "Progress visualization requires a number."
+msgstr "Визуализация прогресс требуется число."
+
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:27
+msgid "Progress"
+msgstr "Прогресс"
+
+#: frontend/src/metabase/entities/collections.js:108
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:176
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:57
+msgid "Color"
+msgstr "Цвет"
+
+#: frontend/src/metabase/visualizations/visualizations/RowChart.jsx:13
+msgid "Row Chart"
+msgstr "Линейная диаграмма"
+
+#: frontend/src/metabase/visualizations/visualizations/RowChart.jsx:16
+msgid "row chart"
+msgstr "линейная диаграмма"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:357
+msgid "Separator style"
+msgstr "Стиль разделителя"
+
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:88
+msgid "Number of decimal places"
+msgstr "Количество десятичных знаков"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:381
+msgid "Add a prefix"
+msgstr "Добавить префикс"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:385
+msgid "Add a suffix"
+msgstr "Добавить суффикс"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:374
+msgid "Multiply by a number"
+msgstr "Умножить на число"
+
+#: frontend/src/metabase/visualizations/visualizations/ScatterPlot.jsx:16
+msgid "Scatter"
+msgstr "Разброс"
+
+#: frontend/src/metabase/visualizations/visualizations/ScatterPlot.jsx:19
+msgid "scatter plot"
+msgstr "точечная диаграмма"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:78
+msgid "Pivot the table"
+msgstr "Свод таблицы"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:73
+msgid "Visible fields"
+msgstr "Видимые поля"
+
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:167
+msgid "Write here, and use Markdown if you''d like"
+msgstr "Напишите здесь, и используется если хотите Markdown"
+
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:73
+msgid "Vertical Alignment"
+msgstr "Вертикальное выравнивание"
+
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:77
+msgid "Top"
+msgstr "Верх"
+
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:78
+msgid "Middle"
+msgstr "Середина"
+
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:79
+msgid "Bottom"
+msgstr "Низ"
+
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:86
+msgid "Horizontal Alignment"
+msgstr "Горизонтальное выравнивание"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:126
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:90
+msgid "Left"
+msgstr "Лево"
+
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:91
+msgid "Center"
+msgstr "Центр"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:127
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:92
+msgid "Right"
+msgstr "Право"
+
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:99
+msgid "Show background"
+msgstr "Показать фон"
+
+#: frontend/src/metabase-lib/lib/Dimension.js:553
+msgid "{0} bin"
+msgid_plural "{0} bins"
+msgstr[0] "контейнер"
+msgstr[1] "контейнеров"
+msgstr[2] "контейнеры"
+msgstr[3] "контейнер"
+
+#: frontend/src/metabase-lib/lib/Dimension.js:559
+msgid "Auto binned"
+msgstr "Авт. скомпоновано"
+
+#: src/metabase/api/alert.clj
+msgid "DELETE /api/alert/:id is deprecated. Instead, change its `archived` value via PUT /api/alert/:id."
+msgstr "Запрос DELETE /api/alert/:id устарел. Взамен используйте PUT /api/alert/:id для изменения 'archived' значения."
+
+#: src/metabase/api/automagic_dashboards.clj
+msgid "invalid show value"
+msgstr "некорректное отображаемое значение"
+
+#: src/metabase/api/automagic_dashboards.clj
+msgid "invalid value for prefix"
+msgstr "некорректное значение для префикса"
+
+#: src/metabase/api/automagic_dashboards.clj
+msgid "invalid value for rule name"
+msgstr "некорректное значение для имени правила"
+
+#: src/metabase/api/automagic_dashboards.clj
+msgid "value couldn''t be parsed as base64 encoded JSON"
+msgstr "значение не может быть преобразовано как base64 кодированная JSON строка"
+
+#: src/metabase/api/automagic_dashboards.clj
+msgid "Invalid entity type"
+msgstr "Некорректный тип сущности"
+
+#: src/metabase/api/automagic_dashboards.clj
+msgid "Invalid comparison entity type. Can only be one of \"table\", \"segment\", or \"adhoc\""
+msgstr "Некорректный тип для сравнения сущности. Может быть только \"таблица\", \"сегмент\" или \"на лету\""
+
+#: src/metabase/query_processor/async.clj
+msgid "Error running query to determine Card result metadata:"
+msgstr "Ошибка выполнения запроса для определения метаданных карточки:"
+
+#: src/metabase/api/card.clj
+msgid "DELETE /api/card/:id is deprecated. Instead, change its `archived` value via PUT /api/card/:id."
+msgstr "Запрос DELETE /api/card/:id устарел. Взамен?, используйте PUT /api/card/:id для изменения 'archived' значения."
+
+#: src/metabase/api/common.clj src/metabase/api/common/internal.clj
+msgid "Invalid field: {0}"
+msgstr "Некорректное поле: {0}"
+
+#: src/metabase/api/common.clj
+msgid "Invalid value ''{0}'' for ''{1}'': {2}"
+msgstr "Некорректное значение ''{0}'' для ''{1}'': {2}"
+
+#: src/metabase/api/common.clj
+msgid "must be one of: {0}"
+msgstr "должно быть одни из: {0}"
+
+#: src/metabase/api/common.clj
+msgid "Invalid Request."
+msgstr "Некорректный запрос."
+
+#: src/metabase/api/common.clj
+msgid "Not found."
+msgstr "Не найдено."
+
+#: src/metabase/api/common.clj
+msgid "You don''t have permissions to do that."
+msgstr "У вас нет полномочий на выполнение данного действия."
+
+#: src/metabase/api/common.clj
+msgid "Internal server error."
+msgstr "Внутренняя ошибка сервера."
+
+#: src/metabase/api/common.clj
+msgid "Warning: endpoint {0}/{1} does not have a docstring."
+msgstr "Предупреждение: конечная точка {0}/{1} не имеет описания."
+
+#: src/metabase/api/common.clj
+msgid "starting streaming request"
+msgstr "запуск потокового запроса"
+
+#: src/metabase/async/api_response.clj
+msgid "connection closed, canceling request"
+msgstr "соединение закрыто, отмена запроса"
+
+#. a newline padding character as it's harmless and will allow us to check if the client is connected. If
+#. sending this character fails because the connection is closed, the chan will then close.  Newlines are
+#. no-ops when reading JSON which this depends upon.
+#: src/metabase/async/api_response.clj
+msgid "Response not ready, writing one byte & sleeping..."
+msgstr "Ответ не готов, запишем один байт и подождем..."
+
+#: src/metabase/api/common.clj
+msgid "Public sharing is not enabled."
+msgstr "Публикация не включена."
+
+#: src/metabase/api/common.clj
+msgid "Embedding is not enabled."
+msgstr "Встраивание отключено."
+
+#: src/metabase/api/common.clj
+msgid "The object has been archived."
+msgstr "Этот объект перемещен в архив."
+
+#: src/metabase/api/common/internal.clj
+msgid "Attempted to return a boolean as an API response. This is not allowed!"
+msgstr "Попытка возврата логического значения в ответе API. Это не разрешено!"
+
+#: src/metabase/api/dataset.clj
+msgid "Source query for this query is Card {0}"
+msgstr "Исходный запрос для текущего - карточка {0}"
+
+#: src/metabase/api/dataset.clj
+msgid "Invalid export format: {0}"
+msgstr "Некорректный формат экспорта: {0}"
+
+#: src/metabase/api/geojson.clj
+msgid "Invalid JSON URL or resource: {0}"
+msgstr "Некорректная JSON ссылка или ресурс: {0}"
+
+#: src/metabase/api/geojson.clj
+msgid "JSON containing information about custom GeoJSON files for use in map visualizations instead of the default US State or World GeoJSON."
+msgstr "JSON, содержащий информацию о пользовательских файлах GeoJSON для использования в визуализациях карт вместо значения по умолчанию - США или World GeoJSON."
+
+#: src/metabase/api/geojson.clj
+msgid "Invalid custom GeoJSON key: {0}"
+msgstr "Некорректных ключ GeoJSON: {0}"
+
+#. ...but if we *still* couldn't find a match, throw an Exception, because we don't want people
+#. trying to inject new params
+#: src/metabase/api/public.clj
+msgid "Invalid param: {0}"
+msgstr "Некорректный параметр: {0}"
+
+#: src/metabase/api/pulse.clj
+msgid "DELETE /api/pulse/:id is deprecated. Instead, change its `archived` value via PUT /api/pulse/:id."
+msgstr "Запрос DELETE /api/pulse/:id устарел. Взамен используйте PUT /api/pulse/:id для изменения 'archived' значения."
+
+#: src/metabase/api/routes.clj
+msgid "API endpoint does not exist."
+msgstr "Конечная точка API не существует."
+
+#: src/metabase/api/session.clj
+msgid "Password did not match stored password."
+msgstr "Пароль не совпадает с сохраненным паролем."
+
+#: src/metabase/api/session.clj
+msgid "did not match stored password"
+msgstr "не совпадает с сохраненным паролем"
+
+#: src/metabase/api/session.clj
+msgid "Problem connecting to LDAP server, will fallback to local authentication {0}"
+msgstr "Ошибка подключения к LDAP сервер, возврат к локальной аутентификации {0}"
+
+#: src/metabase/api/session.clj
+msgid "Invalid reset token"
+msgstr "Некорректный токен сброса пароля"
+
+#: src/metabase/api/session.clj
+msgid "Client ID for Google Auth SSO. If this is set, Google Auth is considered to be enabled."
+msgstr "Client ID для Google Auth SSO. Если установлено, то Google Auth включено."
+
+#: src/metabase/api/session.clj
+msgid "When set, allow users to sign up on their own if their Google account email address is from this domain."
+msgstr "Когда установлено, пользователи смогут использовать для входа свой Google аккаунт из этого домена."
+
+#: src/metabase/api/session.clj
+msgid "Invalid Google Auth token."
+msgstr "Некорректный Google Auth токен,"
+
+#: src/metabase/api/session.clj
+msgid "Email is not verified."
+msgstr "Email не подтвержден."
+
+#: src/metabase/api/session.clj
+msgid "You''ll need an administrator to create a Metabase account before you can use Google to log in."
+msgstr "Вам необходим администратор для создания Metabase аккаунта до того, как вы сможете входить с помощью учетной записи Google."
+
+#: src/metabase/api/session.clj
+msgid "Successfully authenticated Google Auth token for: {0} {1}"
+msgstr "Успешный вход с токеном Google Auth для: {0} {1}"
+
+#: src/metabase/api/setup.clj
+msgid "Add a database"
+msgstr "Добавить базу данных"
+
+#: src/metabase/api/setup.clj
+msgid "Get connected"
+msgstr "Подключайтесь!"
+
+#: src/metabase/api/setup.clj
+msgid "Connect to your data so your whole team can start to explore."
+msgstr "Подключитесь к своим данным, что бы вся команда могла начать исследование."
+
+#: src/metabase/api/setup.clj
+msgid "Set up email"
+msgstr "Настроить email"
+
+#: src/metabase/api/setup.clj
+msgid "Add email credentials so you can more easily invite team members and get updates via Pulses."
+msgstr "Добавив email вам станет проще приглашать членов команды и получать обновления через Пульсы."
+
+#: src/metabase/api/setup.clj
+msgid "Set Slack credentials"
+msgstr "Установить параметры Slack"
+
+#: src/metabase/api/setup.clj
+msgid "Does your team use Slack? If so, you can send automated updates via pulses and ask questions with MetaBot."
+msgstr "Использует ли ваша команда Slack? Если так, то вы можете отправлять автоматические обновления через пульсы и задавать вопросы с помощью MetaBot."
+
+#: src/metabase/api/setup.clj
+msgid "Invite team members"
+msgstr "Пригласить участников команды"
+
+#: src/metabase/api/setup.clj
+msgid "Share answers and data with the rest of your team."
+msgstr "Поделиться ответами и данным с вашей командой."
+
+#: src/metabase/api/setup.clj
+msgid "Hide irrelevant tables"
+msgstr "Скрыть ненужные таблицы"
+
+#: src/metabase/api/setup.clj
+msgid "Curate your data"
+msgstr "Завершите свои данные"
+
+#: src/metabase/api/setup.clj
+msgid "If your data contains technical or irrelevant info you can hide it."
+msgstr "Если ваши данные содержат техническую или не релевантную информацию, вы можете скрыть их."
+
+#: src/metabase/api/setup.clj
+msgid "Organize questions"
+msgstr "Упорядочить запросы"
+
+#: src/metabase/api/setup.clj
+msgid "Have a lot of saved questions in {0}? Create collections to help manage them and add context."
+msgstr "У вас множество сохраненных запросов в {0}? Создайте коллекции для помощи в управлении и добавления контекста."
+
+#. This is the very first log message that will get printed.
+#. It's here because this is one of the very first namespaces that gets loaded, and the first that has access to the logger
+#. It shows up a solid 10-15 seconds before the "Starting Metabase in STANDALONE mode" message because so many other namespaces need to get loaded
+#: src/metabase/api/setup.clj
+msgid "Metabase"
+msgstr "Metabase"
+
+#: src/metabase/api/setup.clj
+msgid "Create metrics"
+msgstr "Создание метрики"
+
+#: src/metabase/api/setup.clj
+msgid "Define canonical metrics to make it easier for the rest of your team to get the right answers."
+msgstr "Определите канонические метрики, чтобы остальным сотрудникам было проще получить правильные ответы."
+
+#: src/metabase/api/setup.clj
+msgid "Create segments"
+msgstr "Создание сегментов"
+
+#: src/metabase/api/setup.clj
+msgid "Keep everyone on the same page by creating canonical sets of filters anyone can use while asking questions."
+msgstr "Держите всех на одной странице, создавая канонические наборы фильтров, которые любой может использовать, задавая вопросы."
+
+#: src/metabase/api/table.clj
+msgid "Table ''{0}'' is now visible. Resyncing."
+msgstr "Таблица ''{0}'' теперь видима. Ресинхронизация."
+
+#: src/metabase/api/table.clj
+msgid "Auto bin"
+msgstr "Авто компоновка"
+
+#: src/metabase/api/table.clj
+msgid "Don''t bin"
+msgstr "Не компоновать"
+
+#: frontend/src/metabase/lib/query_time.js:193 src/metabase/api/table.clj
+msgid "Day"
+msgid_plural "Days"
+msgstr[0] "День"
+msgstr[1] "дней"
+msgstr[2] "дней"
+msgstr[3] "дней"
+
+#. note the order of these options corresponds to the order they will be shown to the user in the UI
+#: frontend/src/metabase/lib/query_time.js:189 src/metabase/api/table.clj
+msgid "Minute"
+msgid_plural "Minutes"
+msgstr[0] "Минута"
+msgstr[1] "Минут"
+msgstr[2] "Минут"
+msgstr[3] "Минут"
+
+#: frontend/src/metabase/lib/query_time.js:191 src/metabase/api/table.clj
+msgid "Hour"
+msgid_plural "Hours"
+msgstr[0] "Час"
+msgstr[1] "Часов"
+msgstr[2] "Часов"
+msgstr[3] "Часов"
+
+#: frontend/src/metabase/lib/query_time.js:199 src/metabase/api/table.clj
+msgid "Quarter"
+msgid_plural "Quarters"
+msgstr[0] "Квартал"
+msgstr[1] "Кварталов"
+msgstr[2] "Кварталов"
+msgstr[3] "Кварталов"
+
+#: src/metabase/api/table.clj
+msgid "Minute of Hour"
+msgstr "Минута часа"
+
+#: src/metabase/api/table.clj
+msgid "Hour of Day"
+msgstr "Час дня"
+
+#: src/metabase/api/table.clj
+msgid "Day of Week"
+msgstr "День недели"
+
+#: src/metabase/api/table.clj
+msgid "Day of Month"
+msgstr "День месяца"
+
+#: src/metabase/api/table.clj
+msgid "Day of Year"
+msgstr "День года"
+
+#: src/metabase/api/table.clj
+msgid "Week of Year"
+msgstr "Неделя года"
+
+#: src/metabase/api/table.clj
+msgid "Month of Year"
+msgstr "Месяц года"
+
+#: src/metabase/api/table.clj
+msgid "Quarter of Year"
+msgstr "Квартал года"
+
+#: src/metabase/api/table.clj
+msgid "10 bins"
+msgstr "10 контейнеров"
+
+#: src/metabase/api/table.clj
+msgid "50 bins"
+msgstr "50 контейнеров"
+
+#: src/metabase/api/table.clj
+msgid "100 bins"
+msgstr "100 контейнеров"
+
+#: src/metabase/api/table.clj
+msgid "Bin every 0.1 degrees"
+msgstr "Конт. каждый 0.1 градус"
+
+#: src/metabase/api/table.clj
+msgid "Bin every 1 degree"
+msgstr "Конт. каждый 1 градус"
+
+#: src/metabase/api/table.clj
+msgid "Bin every 10 degrees"
+msgstr "Конт. каждые 10 градусов"
+
+#: src/metabase/api/table.clj
+msgid "Bin every 20 degrees"
+msgstr "Конт. каждые 20 градусов"
+
+#. returns `true` if successful -- see JavaDoc
+#: src/metabase/api/tiles.clj src/metabase/pulse/render.clj
+msgid "No appropriate image writer found!"
+msgstr "Не найден подходящий обработчик изображений!"
+
+#: src/metabase/api/user.clj
+msgid "Email address already in use."
+msgstr "Email уже занят."
+
+#: src/metabase/api/user.clj
+msgid "Email address already associated to another user."
+msgstr "Email использован другим пользователем."
+
+#: src/metabase/api/user.clj
+msgid "Not able to reactivate an active user"
+msgstr "Невозможно повторно активировать активного пользователя"
+
+#: src/metabase/api/user.clj
+msgid "Invalid password"
+msgstr "Некорректный пароль"
+
+#: src/metabase/automagic_dashboards/comparison.clj
+msgid "All {0}"
+msgstr "Все {0}"
+
+#: src/metabase/automagic_dashboards/comparison.clj
+msgid "{0}, all {1}"
+msgstr "{0}, все {1}"
+
+#: src/metabase/automagic_dashboards/comparison.clj
+msgid "Comparison of {0} and {1}"
+msgstr "Сравнение {0} и {1}"
+
+#: src/metabase/automagic_dashboards/comparison.clj
+msgid "Automatically generated comparison dashboard comparing {0} and {1}"
+msgstr "Автоматически сгенерированный дэшборд, сравнивающий {0} и {1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "sum"
+msgstr "сумма"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "average"
+msgstr "среднее"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "minumum"
+msgstr "минимум"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "maximum"
+msgstr "максимум"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "distinct count"
+msgstr "уникальное количество"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "standard deviation"
+msgstr "стандартное отклонение"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "cumulative count"
+msgstr "накопительное количество"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "cumulative sum"
+msgstr "накопительная сумма"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} and {1}"
+msgstr "{0} и {1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} of {1}"
+msgstr "{0} из {1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} by {1}"
+msgstr "{0} по {1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} in the {1} segment"
+msgstr "{0} в {1} сегменте"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} segment"
+msgstr "{0} сегмент"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} metric"
+msgstr "{0} метрика"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} field"
+msgstr "{0} поле"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "\"{0}\" question"
+msgstr "\"{0}\" запрос"
+
+#: src/metabase/automagic_dashboards/comparison.clj
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Compare with {0}"
+msgstr "Сравнить с {0}"
+
+#: src/metabase/automagic_dashboards/comparison.clj
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Compare with entire dataset"
+msgstr "Сравнить с набором данных"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Applying heuristic %s to %s."
+msgstr "Применение эвристики %s для %s."
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Dimensions bindings:n%s"
+msgstr "Привязки размеров: n%s"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Using definitions:nMetrics:n%snFilters:n%s"
+msgstr "Использовать определения:nMetrics:Н%snFilters:н%ы"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Can''t create dashboard for {0}"
+msgstr "Невозможно создать дашборд для {0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0}st"
+msgstr "{0}ый"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0}nd"
+msgstr "{0}ой"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0}rd"
+msgstr "{0}ий"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0}th"
+msgstr "{0}ый"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "at {0}"
+msgstr "к {0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "on {0}"
+msgstr "на {0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "in {0} week - {1}"
+msgstr "в {0} неделю - {1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "in {0}"
+msgstr "в {0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "in Q{0} - {1}"
+msgstr "в Кв{0} - {1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Q{0}"
+msgstr "Кв{0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} is {1}"
+msgstr "{0} из {1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} is between {1} and {2}"
+msgstr "{0} между {1} и {2}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} is between {1} and {2}; and {3} is between {4} and {5}"
+msgstr "{0} между {1} и {2}; и {3} между {4} и {5}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "where {0}"
+msgstr "где {0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "A closer look at {0}"
+msgstr "Подробнее о {0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "A closer look at the {0}"
+msgstr "Приглядеться к {0}"
+
+#: src/metabase/automagic_dashboards/populate.clj
+msgid "Adding %s cards to dashboard %s:n%s"
+msgstr "Добавление карточке %s к дашборду %s:n%s"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "0 <= score <= {0}"
+msgstr "0 <= результат <= {0}"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "1 <= width <= {0}"
+msgstr "1 <= ширина <= {0}"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Valid metrics references"
+msgstr "Допустимые ссылки на метрики"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Valid filters references"
+msgstr "Допустимые ссылки на фильтры"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Valid group references"
+msgstr "Допустимые ссылки на группы"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Valid order_by references"
+msgstr "Допустимые ссылки сортировки"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Valid dashboard filters references"
+msgstr "Допустимые ссылки на фильтры панели мониторинга"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Valid dimension references"
+msgstr "Допустимые ссылки на измерения"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Valid card dimension references"
+msgstr "Допустимые ссылки на размеры карты"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Error parsing %s:n%s"
+msgstr "Ошибка обработки %s:n%s"
+
+#: src/metabase/cmd/reset_password.clj
+msgid "No user found with email address ''{0}''. "
+msgstr "Пользователь с email адресом ''{0}'' не найден.␣"
+
+#: src/metabase/cmd/reset_password.clj
+msgid "Please check the spelling and try again."
+msgstr "Пожалуйста проверьте написание и попробуйте еще раз."
+
+#: src/metabase/cmd/reset_password.clj
+msgid "Resetting password for {0}..."
+msgstr "Сброс пароля для {0}..."
+
+#: src/metabase/cmd/reset_password.clj
+msgid "OK [[[{0}]]]"
+msgstr "OK [[[{0}]]]"
+
+#: src/metabase/cmd/reset_password.clj
+msgid "FAIL [[[{0}]]]"
+msgstr "СБОЙ [[[{0}]]]"
+
+#: src/metabase/core.clj
+msgid "Please use the following URL to setup your Metabase installation:"
+msgstr "Пожалуйста используйте данную ссылку для установки вашей инсталляции Metabase:"
+
+#: src/metabase/core.clj
+msgid "Metabase Shutting Down ..."
+msgstr "Выключение Metabase..."
+
+#: src/metabase/core.clj
+msgid "Metabase Shutdown COMPLETE"
+msgstr "Выключение Metabase ЗАВЕРШЕНО"
+
+#: src/metabase/core.clj
+msgid "Starting Metabase version {0} ..."
+msgstr "Запуск Metabase версии {0}..."
+
+#: src/metabase/core.clj
+msgid "System timezone is ''{0}'' ..."
+msgstr "Системный часовой пояс ''{0}''..."
+
+#. startup database.  validates connection & runs any necessary migrations
+#: src/metabase/core.clj
+msgid "Setting up and migrating Metabase DB. Please sit tight, this may take a minute..."
+msgstr "Настройка и выполнение миграций внутренней базы данных Metabase. Пожалуйста подождите, это может занять какое-то время..."
+
+#: src/metabase/core.clj
+msgid "Looks like this is a new installation ... preparing setup wizard"
+msgstr "Похоже что это новая инсталляция... подготовка мастера установки"
+
+#: src/metabase/core.clj
+msgid "Metabase Initialization COMPLETE"
+msgstr "Инициализация Metabase ВЫПОЛНЕНА"
+
+#: src/metabase/server.clj
+msgid "Launching Embedded Jetty Webserver with config:"
+msgstr "Запуск встроенного веб-сервера Jetty с конфигурацией:"
+
+#: src/metabase/server.clj
+msgid "Shutting Down Embedded Jetty Webserver"
+msgstr "Выключение встроенного веб-сервера Jetty"
+
+#: src/metabase/core.clj
+msgid "Starting Metabase in STANDALONE mode"
+msgstr "Запуск Metabase в режиме отдельного приложения"
+
+#: src/metabase/core.clj
+msgid "Metabase Initialization FAILED"
+msgstr "Инициализация Metabase ПРОВАЛЕНА"
+
+#: src/metabase/db.clj
+msgid "Database has migration lock; cannot run migrations."
+msgstr "База данных содержит блокировку на запуск миграций; невозможно запустить миграции."
+
+#: src/metabase/db.clj
+msgid "You can force-release these locks by running `java -jar metabase.jar migrate release-locks`."
+msgstr "Вы можете сбросить эти блокировки запустив `java -jar metabase.jar migrate release-locks`."
+
+#: src/metabase/db.clj
+msgid "Checking if Database has unrun migrations..."
+msgstr "Проверка базы данных на наличие невыполненных миграций..."
+
+#: src/metabase/db.clj
+msgid "Database has unrun migrations. Waiting for migration lock to be cleared..."
+msgstr "База данных содержит невыполненные миграции. Ожидании очистки блокировки на запуск миграций..."
+
+#: src/metabase/db.clj
+msgid "Migration lock is cleared. Running migrations..."
+msgstr "Блокировка на запуск миграций очищена. Запуск миграций..."
+
+#: src/metabase/db.clj
+msgid "Migration lock cleared, but nothing to do here! Migrations were finished by another instance."
+msgstr "Блокировка миграций очищена, но ничего не выполнено. Миграции были завершены другим инстансом."
+
+#. Set up liquibase and let it do its thing
+#: src/metabase/db.clj
+msgid "Setting up Liquibase..."
+msgstr "Настройка Liquibase..."
+
+#: src/metabase/db.clj
+msgid "Liquibase is ready."
+msgstr "Liquibase готов."
+
+#: src/metabase/db.clj
+msgid "Verifying {0} Database Connection ..."
+msgstr "Проверка подключения к базе данных {0}..."
+
+#: src/metabase/db.clj
+msgid "Verify Database Connection ... "
+msgstr "Проверка подключения к базе данных ... "
+
+#: src/metabase/db.clj
+msgid "Running Database Migrations..."
+msgstr "Запуск миграций базы данных..."
+
+#: src/metabase/db.clj
+msgid "Database Migrations Current ... "
+msgstr "Текущая миграция базы данных ... "
+
+#: src/metabase/driver/common.clj
+msgid "Hmm, we couldn''t connect to the database."
+msgstr "Хмм, мы не можем подключиться к базе данных."
+
+#: src/metabase/driver/common.clj
+msgid "Make sure your host and port settings are correct"
+msgstr "Убедитесь что хост и порт указаны корректно."
+
+#: src/metabase/driver/common.clj
+msgid "We couldn''t connect to the ssh tunnel host."
+msgstr "Мы не можем подключиться через ssh-туннель."
+
+#: src/metabase/driver/common.clj
+msgid "Check the username, password."
+msgstr "Проверьте имя пользователя, пароль."
+
+#: src/metabase/driver/common.clj
+msgid "Check the hostname and port."
+msgstr "Проверьте имя хоста и порт."
+
+#: src/metabase/driver/common.clj
+msgid "Looks like the database name is incorrect."
+msgstr "Похоже что указано некорректно имя базы данных."
+
+#: src/metabase/driver/common.clj
+msgid "It looks like your host is invalid."
+msgstr "Похоже что указан некорректный хост."
+
+#: src/metabase/driver/common.clj
+msgid "Please double-check it and try again."
+msgstr "Пожалуйста перепроверьте и попробуйте снова."
+
+#: src/metabase/driver/common.clj
+msgid "Looks like your password is incorrect."
+msgstr "Похоже что указан некорректный пароль."
+
+#: src/metabase/driver/common.clj
+msgid "Looks like you forgot to enter your password."
+msgstr "Похоже что вы забыли указать пароль."
+
+#: src/metabase/driver/common.clj
+msgid "Looks like your username is incorrect."
+msgstr "Похоже что указано некорректно имя пользователя."
+
+#: src/metabase/driver/common.clj
+msgid "Looks like the username or password is incorrect."
+msgstr "Похоже указаны некорректные имя пользователи или пароль."
+
+#. ## CONFIG
+#: src/metabase/driver.clj
+msgid "Connection timezone to use when executing queries. Defaults to system timezone."
+msgstr "Подключение часового пояса для выполнения запросов. По умолчанию используется системный часовой пояс."
+
+#: src/metabase/driver.clj
+msgid "Registered driver {0} {1}"
+msgstr "Зарегистрирован драйвер {0} {1}"
+
+#: src/metabase/driver.clj
+msgid "No -init-driver function found for ''{0}''"
+msgstr "Не найдена функция -init-driver для ''{0}''"
+
+#: src/metabase/driver/common.clj
+msgid "Unable to parse date string ''{0}'' for database engine ''{1}''"
+msgstr "Невозможно обработать строку даты ''{0}'' для базы данных ''{1}''"
+
+#. all-NULL columns in DBs like Mongo w/o explicit types
+#: src/metabase/driver/common.clj
+msgid "Don''t know how to map class ''{0}'' to a Field base_type, falling back to :type/*."
+msgstr "Неизвестно как сопоставить класс ''{0}'' с полем base_type, возврат к :type/*."
+
+#: src/metabase/driver/util.clj
+msgid "Failed to connect to database: {0}"
+msgstr "Невозможно подключиться к базе данных: {0}"
+
+#: src/metabase/driver/bigquery.clj
+msgid "Invalid BigQuery identifier: ''{0}''"
+msgstr "Некорректный идентификатор BigQuery: ''{0}''"
+
+#: src/metabase/driver/bigquery.clj
+msgid "BigQuery statements can't be parameterized!"
+msgstr "Выражение BigQuery не может быть параметризировано!"
+
+#: src/metabase/driver/sql_jdbc/execute.clj
+msgid "Failed to set timezone:"
+msgstr "Невозможно установить часовой пояс:"
+
+#: src/metabase/driver/googleanalytics.clj
+msgid "You must enable the Google Analytics API. Use this link to go to the Google Developers Console: {0}"
+msgstr "Вы должны разрешить Google Analytics API. Используйте эту ссылку для перехода в Google Developers Console: {0}"
+
+#: src/metabase/driver/h2.clj
+msgid "Running SQL queries against H2 databases using the default (admin) database user is forbidden."
+msgstr "Выполнение SQL запросов на H2 базе данных с использованием пользователя по-умолчанию (admin) запрещено."
+
+#: src/metabase/driver/sparksql.clj
+msgid "Error: metabase.driver.FixedHiveDriver is registered, but JDBC does not seem to be using it."
+msgstr "Ошибка: metabase.driver.FixedHiveDriver зарегистрирован, но похоже что JDBC не использует его."
+
+#: src/metabase/driver/sparksql.clj
+msgid "Found metabase.driver.FixedHiveDriver."
+msgstr "Найден metabase.driver.FixedHiveDriver."
+
+#: src/metabase/driver/sparksql.clj
+msgid "Successfully registered metabase.driver.FixedHiveDriver with JDBC."
+msgstr "Успешно зарегистрирован metabase.driver.FixedHiveDriver с JDBC."
+
+#. CONFIG
+#. TODO - smtp-port should be switched to type :integer
+#: src/metabase/email.clj
+msgid "Email address you want to use as the sender of Metabase."
+msgstr "Email адрес, который вы хотите использовать как отправителя Metabase."
+
+#: src/metabase/email.clj
+msgid "The address of the SMTP server that handles your emails."
+msgstr "Адрес SMTP сервера, который обрабатывает вашу почту."
+
+#: src/metabase/email.clj
+msgid "SMTP username."
+msgstr "SMTP пользователь."
+
+#: src/metabase/email.clj
+msgid "SMTP password."
+msgstr "SMTP пароль."
+
+#: src/metabase/email.clj
+msgid "The port your SMTP server uses for outgoing emails."
+msgstr "Порт вашего SMTP сервера, используемый для отправки почты."
+
+#: src/metabase/email.clj
+msgid "SMTP secure connection protocol. (tls, ssl, starttls, or none)"
+msgstr "Протокол безопасности подключения SMTP (tls, ssl, starttls, или не используется)"
+
+#: src/metabase/email.clj
+msgid "none"
+msgstr "ничего"
+
+#: src/metabase/email.clj
+msgid "SMTP host is not set."
+msgstr "SMTP хост не установлен."
+
+#: src/metabase/email.clj
+msgid "Failed to send email"
+msgstr "Ошибка отправки email"
+
+#: src/metabase/email.clj
+msgid "Error testing SMTP connection"
+msgstr "Ошибка тестирования SMTP соединения"
+
+#: src/metabase/integrations/ldap.clj
+msgid "Enable LDAP authentication."
+msgstr "Включить LDAP аутентификацию."
+
+#: src/metabase/integrations/ldap.clj
+msgid "Server hostname."
+msgstr "Хост сервера"
+
+#: src/metabase/integrations/ldap.clj
+msgid "Server port, usually 389 or 636 if SSL is used."
+msgstr "Порт сервера, обычно 389 или 636 при использовании SSL."
+
+#: src/metabase/integrations/ldap.clj
+msgid "Use SSL, TLS or plain text."
+msgstr "Использование SSL, TLS или простого текста."
+
+#: src/metabase/integrations/ldap.clj
+msgid "The Distinguished Name to bind as (if any), this user will be used to lookup information about other users."
+msgstr "Различающееся имя для привязки как (если есть), этот пользователь будет использоваться для поиска информации о других пользователях."
+
+#: src/metabase/integrations/ldap.clj
+msgid "The password to bind with for the lookup user."
+msgstr "Пароль для привязки пользователя, используемого для поиска."
+
+#: src/metabase/integrations/ldap.clj
+msgid "Search base for users. (Will be searched recursively)"
+msgstr "Поисковая база для пользователей. (Мы будем искать рекурсивно)"
+
+#: src/metabase/integrations/ldap.clj
+msgid "User lookup filter, the placeholder '{login}' will be replaced by the user supplied login."
+msgstr "Фильтр для поиска пользователей, переменная '{login}' будет заменена предоставленным логином пользователя."
+
+#: src/metabase/integrations/ldap.clj
+msgid "Attribute to use for the user's email. (usually ''mail'', ''email'' or ''userPrincipalName'')"
+msgstr "Атрибут, использующийся в качестве email пользователя (обычно ''mail', ''email'' или ''userPrincipalName'')"
+
+#: src/metabase/integrations/ldap.clj
+msgid "Attribute to use for the user''s first name. (usually ''givenName'')"
+msgstr "Атрибут, использующийся в качестве имени пользователя (обычно ''givenName'')"
+
+#: src/metabase/integrations/ldap.clj
+msgid "Attribute to use for the user''s last name. (usually ''sn'')"
+msgstr "Атрибут, использующийся в качестве фамилии пользователя (обычно ''sn'')"
+
+#: src/metabase/integrations/ldap.clj
+msgid "Enable group membership synchronization with LDAP."
+msgstr "Включить синхронизацию членства в группах с LDAP."
+
+#: src/metabase/integrations/ldap.clj
+msgid "Search base for groups, not required if your LDAP directory provides a ''memberOf'' overlay. (Will be searched recursively)"
+msgstr "Поисковая база для групп, необязательна если LDAP сервер предоставляет ''memberOf''. (Мы будем искать рекурсивно)"
+
+#. Should be in the form: {"cn=Some Group,dc=...": [1, 2, 3]} where keys are LDAP groups and values are lists of MB groups IDs
+#: src/metabase/integrations/ldap.clj
+msgid "JSON containing LDAP to Metabase group mappings."
+msgstr "JSON содержащий сопоставление между группами LDAP и Metabase."
+
+#. Define a setting which captures our Slack api token
+#: src/metabase/integrations/slack.clj
+msgid "Slack API bearer token obtained from https://api.slack.com/web#authentication"
+msgstr "Slack API bearer токен, полученный отсюда https://api.slack.com/web#authentication"
+
+#: src/metabase/metabot.clj
+msgid "Enable MetaBot, which lets you search for and view your saved questions directly via Slack."
+msgstr "Включите MetabBot, это позволит искать и смотреть запросы напрямую через Slack."
+
+#: src/metabase/metabot/instance.clj
+msgid "Last MetaBot checkin was {0} ago."
+msgstr "Последняя проверка MetaBot была произведена {0} назад."
+
+#: src/metabase/metabot/instance.clj
+msgid "This instance will now handle MetaBot duties."
+msgstr "Текущий инстанс будет обслуживаться MetaBot."
+
+#: src/metabase/metabot.clj
+msgid "Here''s what I can {0}:"
+msgstr "Вот что я могу {0}:"
+
+#: src/metabase/metabot.clj
+msgid "I don''t know how to {0} `{1}`.n{2}"
+msgstr "Я не знаю, как {0} `{1}`.n{2}"
+
+#: src/metabase/metabot/slack.clj
+msgid "Uh oh! :cry:n> {0}"
+msgstr "Ууух! :cry:n> {0}"
+
+#: src/metabase/metabot/command.clj
+msgid "Here''s your {0} most recent cards:n{1}"
+msgstr "Здесь ваши {0} последние карточки:n{1}"
+
+#: src/metabase/metabot/command.clj
+msgid "Could you be a little more specific? I found these cards with names that matched:n{0}"
+msgstr "Можете ли вы уточнить? Я нашел эти карточки по совпадению имен:n{0}"
+
+#: src/metabase/metabot/command.clj
+msgid "I don''t know what Card `{0}` is. Give me a Card ID or name."
+msgstr "Мне неизвестна карточка `{0}`. Пожалуйста укажите идентификатор или имя."
+
+#: src/metabase/metabot/command.clj
+msgid "Show which card? Give me a part of a card name or its ID and I can show it to you. If you don''t know which card you want, try `metabot list`."
+msgstr "Показать какую карту? Дай мне часть имени карты или ее ID и я могу показать его вам. Если вы не\"т знаю, какую карту вы хотите, попробуйте metabot список`."
+
+#: src/metabase/metabot/command.clj
+msgid "Ok, just a second..."
+msgstr "Хорошо, секунду..."
+
+#: src/metabase/metabot/command.clj
+msgid "Not Found"
+msgstr "Не найдено"
+
+#: src/metabase/metabot/command.clj
+msgid "Loading Kanye quotes..."
+msgstr "Загрузка цитат Kanye..."
+
+#: src/metabase/metabot/events.clj
+msgid "Evaluating Metabot command:"
+msgstr "Выполнение команды Metabot:"
+
+#: src/metabase/metabot.clj
+msgid "Go home websocket, you're drunk."
+msgstr "Иди домой вебсокет, ты пьян."
+
+#: src/metabase/metabot/websocket.clj
+msgid "Error launching metabot:"
+msgstr "Ошибка запуска metabot:"
+
+#: src/metabase/metabot/websocket.clj
+msgid "MetaBot WebSocket is closed. Reconnecting now."
+msgstr "Вебсокет MetaBot закрыт. Попытка переподключения."
+
+#: src/metabase/metabot/websocket.clj
+msgid "Error connecting websocket:"
+msgstr "Ошибка подключения к вебсокету:"
+
+#: src/metabase/metabot/instance.clj
+msgid "This instance is performing MetaBot duties."
+msgstr "Этот экземпляр выполняет обязанности Метабота."
+
+#: src/metabase/metabot/instance.clj
+msgid "Another instance is already handling MetaBot duties."
+msgstr "Другой экземпляр уже обрабатывает обязанности MetaBot."
+
+#: src/metabase/metabot.clj
+msgid "Starting MetaBot threads..."
+msgstr "Запуск потоков MetaBot..."
+
+#: src/metabase/metabot.clj
+msgid "Stopping MetaBot...  🤖"
+msgstr "Остановка MetaBot...  🤖"
+
+#: src/metabase/metabot.clj
+msgid "MetaBot already running. Killing the previous WebSocket listener first."
+msgstr "Метабот уже работает. Сначала убиваем предыдущего слушателя WebSocket."
+
+#: src/metabase/middleware/security.clj
+msgid "Base-64 encoded public key for this site's SSL certificate."
+msgstr "Публичный ключ SSL-сертификата для этого сайта (Base64)."
+
+#: src/metabase/middleware/security.clj
+msgid "Specify this to enable HTTP Public Key Pinning."
+msgstr "Определите это для включения HTTP Public Key Pinning."
+
+#: src/metabase/middleware/security.clj
+msgid "See {0} for more information."
+msgstr "Смотрите {0} для получения информации."
+
+#: src/metabase/models/card.clj
+msgid "Cannot save Question: source query has circular references."
+msgstr "Невозможно сохранить запрос: найдены циклические ссылки."
+
+#: src/metabase/models/card.clj src/metabase/models/query/permissions.clj
+#: src/metabase/query_processor/middleware/permissions.clj
+msgid "Card {0} does not exist."
+msgstr "Карточка {0} не существует."
+
+#: src/metabase/models/card.clj
+msgid "You do not have permissions to run ad-hoc native queries against Database {0}."
+msgstr "У вас нет разрешений на выполнение прямых запросов к базе данных {0}."
+
+#: src/metabase/models/collection.clj
+msgid "Invalid color"
+msgstr "Некорректный цвет"
+
+#: src/metabase/models/collection.clj
+msgid "must be a valid 6-character hex color code"
+msgstr "должен быть корректным 6-значным hex-кодом цвета"
+
+#: src/metabase/models/collection.clj
+msgid "Collection name cannot be blank!"
+msgstr "Имя коллекции не может быть пустым!"
+
+#: src/metabase/models/collection.clj
+msgid "cannot be blank"
+msgstr "не может быть пустым"
+
+#: src/metabase/models/collection.clj
+msgid "Invalid Collection location: path is invalid."
+msgstr "Некорректный путь к коллекции."
+
+#: src/metabase/models/collection.clj
+msgid "You cannot move a Personal Collection."
+msgstr "Вы не можете переместить Личную коллекцию."
+
+#: src/metabase/models/collection.clj
+msgid "Invalid Collection location: some or all ancestors do not exist."
+msgstr "Некорректное путь коллекции: некоторые или все предки не существуют."
+
+#: src/metabase/models/collection.clj
+msgid "You cannot archive the Root Collection."
+msgstr "Вы не можете переместить в архив корневую коллекцию."
+
+#: src/metabase/models/collection.clj
+msgid "You cannot archive a Personal Collection."
+msgstr "Вы не можете перемести в архив личную коллекцию."
+
+#: src/metabase/models/collection.clj
+msgid "You cannot move the Root Collection."
+msgstr "Вы не можете переместить корневую коллекцию."
+
+#: src/metabase/models/collection.clj
+msgid "You cannot move a Collection into itself or into one of its descendants."
+msgstr "Вы не можете переместить коллекцию внутрь себя или в дочерние элементы."
+
+#. first move this Collection
+#: src/metabase/models/collection.clj
+msgid "Moving Collection {0} and its descendants from {1} to {2}"
+msgstr "Перемещение коллекции {0} и ее элементов из {1} в {2}"
+
+#: src/metabase/models/collection.clj
+msgid "You're not allowed to change the owner of a Personal Collection."
+msgstr "Вам не разрешено изменение владельца личной коллекции."
+
+#: src/metabase/models/collection.clj
+msgid "You're not allowed to move a Personal Collection."
+msgstr "Вам не разрешено перемещение личной коллекции."
+
+#: src/metabase/models/collection.clj
+msgid "You cannot move a Collection and archive it at the same time."
+msgstr "Вы не можете одновременно переместить коллекцию и заархивировать ее."
+
+#: src/metabase/models/collection.clj
+msgid "You cannot delete a Personal Collection!"
+msgstr "Вы не можете удалить личную коллекцию!"
+
+#: src/metabase/models/collection.clj
+msgid "{0} {1}''s Personal Collection"
+msgstr "{0} личная коллекция {1}"
+
+#: src/metabase/models/collection_revision.clj
+msgid "You cannot update a CollectionRevision!"
+msgstr "Вы не можете обновить ревизию коллекции!"
+
+#: src/metabase/models/field_values.clj
+msgid "Field {0} was previously automatically set to show a list widget, but now has {1} values."
+msgstr "Поле {0} ранее автоматически отображало виджет списка, но теперь имеет значения {1}."
+
+#: src/metabase/models/field_values.clj
+msgid "Switching Field to use a search widget instead."
+msgstr "Переключить поле для использования поискового виджета."
+
+#: src/metabase/models/field_values.clj
+msgid "Storing updated FieldValues for Field {0}..."
+msgstr "Сохранение обновленных значений для поля {0}..."
+
+#: src/metabase/models/field_values.clj
+msgid "Storing FieldValues for Field {0}..."
+msgstr "Сохранение значений для поля {0}..."
+
+#: src/metabase/models/humanization.clj
+msgid "Metabase can attempt to transform your table and field names into more sensible, human-readable versions, e.g. \"somehorriblename\" becomes \"Some Horrible Name\"."
+msgstr "Metabase может попытаться преобразовать ваши имена таблиц и полей в более разумные, читаемые человеком версии, например, \"somehorriblename\" становится \"Some Horrible Name\"."
+
+#: src/metabase/models/humanization.clj
+msgid "This doesn’t work all that well if the names are in a language other than English, however."
+msgstr "Однако это не работает так хорошо, если имена на другом языке, кроме английского."
+
+#: src/metabase/models/humanization.clj
+msgid "Do you want us to take a guess?"
+msgstr "Хотите ли вы, чтобы мы сделали предположения?"
+
+#: src/metabase/models/permissions.clj
+msgid "You cannot create or revoke permissions for the 'Admin' group."
+msgstr "Вы не можете создать или отозвать разрешения для группы Администраторы."
+
+#: src/metabase/models/permissions.clj
+msgid "Invalid permissions object path: ''{0}''."
+msgstr "Некорректный путь к объекту полномочий: ''{0}''."
+
+#: src/metabase/models/permissions.clj
+msgid "You cannot update a permissions entry!"
+msgstr "Вы не можете изменить объект разрешений!"
+
+#: src/metabase/models/permissions.clj
+msgid "Delete it and create a new one."
+msgstr "Удалить и добавить новую."
+
+#: src/metabase/models/permissions.clj
+msgid "You cannot edit permissions for a Personal Collection or its descendants."
+msgstr "Вы не можете редактировать разрешения для Персональной коллекции и его потомков."
+
+#: src/metabase/models/permissions.clj
+msgid "Looks like someone else edited the permissions and your data is out of date."
+msgstr "Похоже, кто-то еще отредактировал разрешения, и ваши данные устарели."
+
+#: src/metabase/models/permissions.clj
+msgid "Please fetch new data and try again."
+msgstr "Пожалуйста получите новыю данные и попробуйте снова."
+
+#: src/metabase/models/permissions_group.clj
+msgid "Created magic permissions group ''{0}'' (ID = {1})"
+msgstr "Создана магическая группа разрешений ''{0}'' (ID = {1})"
+
+#: src/metabase/models/permissions_group.clj
+msgid "A group with that name already exists."
+msgstr "Группа с таким именем уже существует."
+
+#: src/metabase/models/permissions_group.clj
+msgid "You cannot edit or delete the ''{0}'' permissions group!"
+msgstr "Вы не можете редактировать или удалять \"{0}\" группу разрешений!"
+
+#: src/metabase/models/permissions_group_membership.clj
+msgid "You cannot add or remove users to/from the 'MetaBot' group."
+msgstr "Вы не можете добавлять или удалять пользователей из группы \"MetaBot\""
+
+#: src/metabase/models/permissions_group_membership.clj
+msgid "You cannot add or remove users to/from the 'All Users' group."
+msgstr "Вы не можете добавлять или удалять пользователей из группы \"Все пользователи\"."
+
+#: src/metabase/models/permissions_group_membership.clj
+msgid "You cannot remove the last member of the 'Admin' group!"
+msgstr "Вы не можете удалить последнего участника группы \"Администраторы\"!"
+
+#: src/metabase/models/permissions_revision.clj
+msgid "You cannot update a PermissionsRevision!"
+msgstr "Вы не можете изменить ревизию полномочий!"
+
+#. if there's still not a Card, throw an Exception!
+#: src/metabase/models/pulse.clj
+msgid "Invalid Alert: Alert does not have a Card assoicated with it"
+msgstr "Некорректное предупреждение: Предупреждение не имеет связанной с ним карточки."
+
+#: src/metabase/models/pulse.clj
+msgid "value must be a map with the keys `{0}`, `{1}`, and `{2}`."
+msgstr "значение должно быть таблицей с ключами `{0}`, `{1}`, и `{2}`."
+
+#: src/metabase/models/pulse.clj
+msgid "value must be a map with the following keys `({0})`"
+msgstr "значение должно быть таблицей со следующими ключами `({0})`"
+
+#: src/metabase/models/query/permissions.clj
+msgid "Error calculating permissions for query: {0}"
+msgstr "Ошибка проверки полномочий для запроса: {0}"
+
+#: src/metabase/models/query/permissions.clj
+msgid "Invalid query type: {0}"
+msgstr "Некорректный тип запроса: {0}"
+
+#: src/metabase/models/query_execution.clj
+msgid "You cannot update a QueryExecution!"
+msgstr "Вы не можете изменить выполнения запроса!"
+
+#: src/metabase/models/revision.clj
+msgid "You cannot update a Revision!"
+msgstr "Вы не можете обновить ревизию!"
+
+#: src/metabase/models/setting.clj
+msgid "Setting {0} does not exist.nFound: {1}"
+msgstr "Настройка {0} не существует.nНайдено: {1}"
+
+#: src/metabase/models/setting/cache.clj
+msgid "Updating value of settings-last-updated in DB..."
+msgstr "Обновление значения settings-last-updated в базе данных..."
+
+#: src/metabase/models/setting/cache.clj
+msgid "Checking whether settings cache is out of date (requires DB call)..."
+msgstr "Проверка устарешего кэша настроек (требуется вызов базы данных)..."
+
+#: src/metabase/models/setting/cache.clj
+msgid "Settings have been changed on another instance, and will be reloaded here."
+msgstr "Настройки были изменены другим инстансом, и будут перезагружены здесь."
+
+#: src/metabase/models/setting/cache.clj
+msgid "Refreshing Settings cache..."
+msgstr "Обновление кэша настроек..."
+
+#: src/metabase/models/setting.clj
+msgid "Invalid value for string: must be either \"true\" or \"false\" (case-insensitive)."
+msgstr "Некорректное значение строки:  должно быть \"true\" или \"false\" (регистро-независимо)"
+
+#: src/metabase/models/setting.clj
+msgid "You cannot update `settings-last-updated` yourself! This is done automatically."
+msgstr "Вы не можете изменить `settings-last-updated` самостоятельно! Это делается автоматически."
+
+#. go ahead and log the Exception anyway on the off chance that it *wasn't* just a race condition issue
+#: src/metabase/models/setting.clj
+msgid "Error inserting a new Setting:"
+msgstr "Ошибка вставки новой настройки:"
+
+#: src/metabase/models/setting.clj
+msgid "Assuming Setting already exists in DB and updating existing value."
+msgstr "Предположительно настройка уже имеется в базе данных и текущее значение будет обновлено."
+
+#: src/metabase/models/user.clj
+msgid "value must be a map with each value either a string or number."
+msgstr "значение должно быть таблицей, где каждое значение будет числом или строкой."
+
+#: src/metabase/plugins.clj
+msgid "Loading plugins in directory {0}..."
+msgstr "Загрузка плагинов в директории {0}..."
+
+#: src/metabase/plugins.clj
+msgid "Loading plugin {0}... "
+msgstr "Загрузка плагина {0}... "
+
+#: src/metabase/plugins.clj
+msgid "It looks like you have some external dependencies in your Metabase plugins directory."
+msgstr "Похоже что у вас есть некоторые внешние зависимости в директории с плагинами Metabase."
+
+#: src/metabase/plugins.clj
+msgid "With Java 9 or higher, Metabase cannot automatically add them to your classpath."
+msgstr "Начиная с версии Java 9 или выше, Metabase не может автоматически добавляться в ваш classpath."
+
+#: src/metabase/plugins.clj
+msgid "Instead, you should include them at launch with the -cp option. For example:"
+msgstr "Вместо этого, вы должны включить его в запуск с опцией -cp. Например:"
+
+#: src/metabase/plugins.clj
+msgid "See https://metabase.com/docs/latest/operations-guide/start.html#java-versions for more details."
+msgstr "Смотрите https://metabase.com/docs/latest/operations-guide/start.html#java-versions для получения дополнительной информации."
+
+#: src/metabase/plugins.clj
+msgid "(If you're already running Metabase this way, you can ignore this message.)"
+msgstr "(если вы уже запустили Metabase этим способом, вы можете проигнорировать это сообщение.)"
+
+#: src/metabase/public_settings.clj
+msgid "Identify when new versions of Metabase are available."
+msgstr "Определять когда доступна новая версия Metabase"
+
+#: src/metabase/public_settings.clj
+msgid "Information about available versions of Metabase."
+msgstr "Информация о доступных версиях Metabase"
+
+#: src/metabase/public_settings.clj
+msgid "The name used for this instance of Metabase."
+msgstr "Имя, использованное для текущего инстанса Metabase."
+
+#: src/metabase/public_settings.clj
+msgid "The base URL of this Metabase instance, e.g. \"http://metabase.my-company.com\"."
+msgstr "Базовая ссылка на инстанс Metabase, например \"http://metabase.my-company.com\""
+
+#: src/metabase/public_settings.clj
+msgid "The default language for this Metabase instance."
+msgstr "Язык по-умолчанию для текущего инстанса Metabase."
+
+#: src/metabase/public_settings.clj
+msgid "This only applies to emails, Pulses, etc. Users'' browsers will specify the language used in the user interface."
+msgstr "Это применимо только для email-ов, пульсов и т.д. Язык интерфейса будет определяться браузерами пользователей."
+
+#: src/metabase/public_settings.clj
+msgid "The email address users should be referred to if they encounter a problem."
+msgstr "Пользователи адреса электронной почты следует ссылаться, если они сталкиваются с проблемой."
+
+#: src/metabase/public_settings.clj
+msgid "Enable the collection of anonymous usage data in order to help Metabase improve."
+msgstr "Разрешить сбор анонимных данные по использованию для улучшения Metabase."
+
+#: src/metabase/public_settings.clj
+msgid "The map tile server URL template used in map visualizations, for example from OpenStreetMaps or MapBox."
+msgstr "Шаблон URL-адреса сервера листов карт, используемый в визуализациях карт, например в OpenStreetMaps или MapBox."
+
+#: src/metabase/public_settings.clj
+msgid "Enable admins to create publicly viewable links (and embeddable iframes) for Questions and Dashboards?"
+msgstr "Разрешить администраторам создавать общедоступные ссылки (и встраиваемые фреймы iframe) для вопросов и панелей мониторинга?"
+
+#: src/metabase/public_settings.clj
+msgid "Allow admins to securely embed questions and dashboards within other applications?"
+msgstr "Разрешать администраторам безопасности встраивание запросов и дашбордов во внешние приложения?"
+
+#: src/metabase/public_settings.clj
+msgid "Allow using a saved question as the source for other queries?"
+msgstr "Разрешить использовать сохраненные запросы в качестве источников для других запросов?"
+
+#: src/metabase/public_settings.clj
+msgid "Enabling caching will save the results of queries that take a long time to run."
+msgstr "Включение кэширования сохранит результаты запросов, на выполнение которых требуется много времени."
+
+#: src/metabase/public_settings.clj
+msgid "The maximum size of the cache, per saved question, in kilobytes:"
+msgstr "Максимальный размер кэша на сохраненный запрос, в килобайтах:"
+
+#: src/metabase/public_settings.clj
+msgid "The absolute maximum time to keep any cached query results, in seconds."
+msgstr "Максимальное время сохранения кэшированных результатов запросов, в секундах."
+
+#: src/metabase/public_settings.clj
+msgid "Metabase will cache all saved questions with an average query execution time longer than this many seconds:"
+msgstr "Metabase закэширует все сохраненные запросы со средним временем выполнения запроса, превышающим время в секундах:"
+
+#: src/metabase/public_settings.clj
+msgid "To determine how long each saved question''s cached result should stick around, we take the query''s average execution time and multiply that by whatever you input here."
+msgstr "Для определения как долго должен хранится кэш запроса, мы возьмем среднее время выполнения и умножим на введенное значение."
+
+#: src/metabase/public_settings.clj
+msgid "So if a query takes on average 2 minutes to run, and you input 10 for your multiplier, its cache entry will persist for 20 minutes."
+msgstr "Если среднее время выполнения запроса составляет 2 минут, и вы введете 10 в качестве умножителя, его кэш будет хранится на протяжении 20 минут."
+
+#: src/metabase/public_settings.clj
+msgid "When using the default binning strategy and a number of bins is not provided, this number will be used as the default."
+msgstr "При использовании стратегии разбиения по умолчанию и отсутствии нескольких ячеек это число будет использоваться по умолчанию."
+
+#: src/metabase/public_settings.clj
+msgid "When using the default binning strategy for a field of type Coordinate (such as Latitude and Longitude), this number will be used as the default bin width (in degrees)."
+msgstr "При использовании стратегии разбиения по умолчанию для поля типа координата (например, широта и долгота) это число будет использоваться в качестве ширины ячейки по умолчанию (в градусах)."
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Unable to validate token."
+msgstr "Невозможно проверить токен."
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Error fetching token status:"
+msgstr "Ошибка получения статуса токена:"
+
+#: src/metabase/public_settings/metastore.clj
+msgid "There was an error checking whether this token was valid."
+msgstr "Ошибка проверки валидности текущего токена."
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Token validation timed out."
+msgstr "Превышено время ожидания при валидации токена."
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Invalid token: token isn't in the right format."
+msgstr "Некорректный токен: использован неправильный формат."
+
+#. attempt to query the metastore API about the status of this token. If the request doesn't complete in a
+#. reasonable amount of time throw a timeout exception
+#: src/metabase/public_settings/metastore.clj
+msgid "Checking with the MetaStore to see whether {0} is valid..."
+msgstr "Проверка MetaStore на валидность {0}..."
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Token for premium embedding. Go to the MetaStore to get yours!"
+msgstr "Токен для премиального встраивания. Перейдите в MetaStore для получения!"
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Token is valid."
+msgstr "Токен действителен."
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Error setting premium embedding token"
+msgstr "Ошибка сохранения премиального токена для встраивания"
+
+#: src/metabase/pulse.clj
+msgid "Unable to compare results to goal for alert."
+msgstr "Невозможно сравнить результаты с целью для предупреждения."
+
+#: src/metabase/pulse.clj
+msgid "Question ID is ''{0}'' with visualization settings ''{1}''"
+msgstr "Запрос с идентификатором ''{0}'' с настройками визуализации ''{1}''"
+
+#: src/metabase/pulse.clj
+msgid "Unrecognized alert with condition ''{0}''"
+msgstr "Нераспознанное предупреждение с условием ''{0}''"
+
+#: src/metabase/pulse.clj
+msgid "Unrecognized channel type {0}"
+msgstr "Нераспознанный тип канала {0}"
+
+#: src/metabase/pulse.clj
+msgid "Error sending notification!"
+msgstr "Ошибка отправки уведомления!"
+
+#: src/metabase/pulse/color.clj
+msgid "Can't find JS color selector at ''{0}''"
+msgstr "Невозможно найти селектор JS ''{0}''"
+
+#: src/metabase/pulse/render.clj
+msgid "Card has errors: {0}"
+msgstr "Карточка содержит ошибки: {0}"
+
+#: src/metabase/pulse/render.clj
+msgid "Pulse card render error"
+msgstr "Ошибка отображения карточки пульса"
+
+#: src/metabase/query_processor/middleware/fetch_source_query.clj
+msgid "Trimming trailing comment from card with id {0}"
+msgstr "Обрезка завершающего комментария с карты с идентификатором {0}"
+
+#: src/metabase/query_processor/middleware/parameters/sql.clj
+msgid "Can't find field with ID: {0}"
+msgstr "Невозможно найти поле с ID: {0}"
+
+#: src/metabase/query_processor/middleware/parameters/sql.clj
+msgid "''{0}'' is a required param."
+msgstr "''{0}'' обязательный параметр"
+
+#: src/metabase/query_processor/middleware/parameters/sql.clj
+msgid "Found ''{0}'' with no terminating ''{1}'' in query ''{2}''"
+msgstr "Найдено \"{0} \"Без завершения\" {1} \"в запросе\" {2}\""
+
+#: src/metabase/query_processor/middleware/parameters/sql.clj
+msgid "Unable to substitute ''{0}'': param not specified.nFound: {1}"
+msgstr "Невозможно заменить \" {0}\": параметр не указан.nFound: {1}"
+
+#: src/metabase/query_processor/middleware/permissions.clj
+msgid "You do not have permissions to view Card {0}."
+msgstr "У вас нет полномочий на просмотры Карточки {0}."
+
+#: src/metabase/query_processor/middleware/permissions.clj
+msgid "You do not have permissions to run this query."
+msgstr "У вас нет разрешения на выполнение данного запроса."
+
+#: src/metabase/sync/analyze.clj
+msgid "Fingerprint updates attempted {0}, updated {1}, no data found {2}, failed {3}"
+msgstr "Попытка обновления отпечатков пальцев {0}, обновлено {1}, данные не найдены {2}, Ошибка {3}"
+
+#: src/metabase/sync/analyze.clj
+msgid "Total number of fields classified {0}, {1} failed"
+msgstr "Общее число классифицированных полей {0}, {1} ошибка"
+
+#: src/metabase/sync/analyze.clj
+msgid "Total number of tables classified {0}, {1} updated"
+msgstr "Общее количество классифицированных таблиц {0}, {1} обновлено"
+
+#: src/metabase/sync/analyze/fingerprint/fingerprinters.clj
+msgid "Error generating fingerprint for {0}"
+msgstr "Ошибка генерация отпечатка для {0}"
+
+#: src/metabase/sync/field_values.clj
+msgid "Updated {0} field value sets, created {1}, deleted {2} with {3} errors"
+msgstr "Обнолвено {0} списков значений полей, создано {1}, удалено {2} c {3} ошибками"
+
+#: src/metabase/sync/sync_metadata.clj
+msgid "Total number of fields sync''d {0}, number of fields updated {1}"
+msgstr "Всего синхронизировано {0} полей, обновлено {1} полей"
+
+#: src/metabase/sync/sync_metadata.clj
+msgid "Total number of tables sync''d {0}, number of tables updated {1}"
+msgstr "Всего синхронизировано {0} таблиц, обновлено {1} таблиц"
+
+#: src/metabase/sync/sync_metadata.clj
+msgid "Found timezone id {0}"
+msgstr "Найден часовой пояс {0}"
+
+#: src/metabase/sync/sync_metadata.clj
+msgid "Total number of foreign keys sync''d {0}, {1} updated and {2} tables failed to update"
+msgstr "Общее количество синхронизированных внешних ключей {0}, обновленных {1} и таблиц, обновление которых не удалось {2}"
+
+#: src/metabase/sync/util.clj
+msgid "{0} Database {1} ''{2}''"
+msgstr "{0} База данных {1} ''{2}''"
+
+#: src/metabase/sync/util.clj
+msgid "Table {0} ''{1}''"
+msgstr "Таблица {0} ''{1}''"
+
+#: src/metabase/sync/util.clj
+msgid "Field {0} ''{1}''"
+msgstr "Поле {0} ''{1}''"
+
+#: src/metabase/sync/util.clj
+msgid "Field ''{0}''"
+msgstr "Поле ''{0}''"
+
+#: src/metabase/sync/util.clj
+msgid "step ''{0}'' for {1}"
+msgstr "шаг ''{0}'' для {1}"
+
+#. Where does this string appear?
+#: src/metabase/sync/util.clj
+msgid "Completed {0} on {1}"
+msgstr "Выполнено {0} для {1}"
+
+#: src/metabase/sync/util.clj
+msgid "Start: {0}"
+msgstr "Начало: {0}"
+
+#: src/metabase/sync/util.clj
+msgid "End: {0}"
+msgstr "Окончание: {0}"
+
+#: src/metabase/sync/util.clj
+msgid "Duration: {0}"
+msgstr "Длительность: {0}"
+
+#: src/metabase/sync/util.clj
+msgid "Completed step ''{0}''"
+msgstr "Выполнен шаг ''{0}''"
+
+#: src/metabase/task.clj
+msgid "Loading tasks namespace:"
+msgstr "Загрузка задачи пространства имен:"
+
+#: src/metabase/task.clj
+msgid "Starting Quartz Scheduler"
+msgstr "Запускаем Quartz Scheduler"
+
+#: src/metabase/task.clj
+msgid "Stopping Quartz Scheduler"
+msgstr "Останавливаем Quartz Scheduler"
+
+#: src/metabase/task.clj
+msgid "Job already exists:"
+msgstr "Задача уже существует:"
+
+#. This is the very first log message that will get printed.  It's here because this is one of the very first
+#. namespaces that gets loaded, and the first that has access to the logger It shows up a solid 10-15 seconds before
+#. the "Starting Metabase in STANDALONE mode" message because so many other namespaces need to get loaded
+#: src/metabase/util.clj
+msgid "Loading Metabase..."
+msgstr "Metabase загружается..."
+
+#: src/metabase/util/date.clj
+msgid "Possible timezone conflict found on database {0}."
+msgstr "Обнаружен возможный конфликт часового пояса для базы данных {0}."
+
+#: src/metabase/util/date.clj
+msgid "JVM timezone is {0} and detected database timezone is {1}."
+msgstr "Часовой пояс JVM {0}, а определенный для базы данных - {1}."
+
+#: src/metabase/util/date.clj
+msgid "Configure a report timezone to ensure proper date and time conversions."
+msgstr "Настройте часовой пояс отчетов для корректное сопоставления и конвертации дат."
+
+#: src/metabase/util/embed.clj
+msgid "Secret key used to sign JSON Web Tokens for requests to `/api/embed` endpoints."
+msgstr "Секретный ключ используется для подписи JSON Web токенов для обращений к назначениям  `/api/embed`"
+
+#: src/metabase/util/encryption.clj
+msgid "MB_ENCRYPTION_SECRET_KEY must be at least 16 characters."
+msgstr "MB_ENCRYPTION_SECRET_KEY должен состоять как минимум из 16 знаков."
+
+#. Right synonym for credentials in Russian?
+#: src/metabase/util/encryption.clj
+msgid "Saved credentials encryption is ENABLED for this Metabase instance."
+msgstr "Шифрование сохранённых данных для доступа ВКЛЮЧЕНО для этой копии Metabase."
+
+#: src/metabase/util/encryption.clj
+msgid "Saved credentials encryption is DISABLED for this Metabase instance."
+msgstr "Шифрование сохранённых данных для доступа ВЫКЛЮЧЕНО для этой копии Metabase."
+
+#. What's the "n" char in the beginning of the string for?
+#: src/metabase/util/encryption.clj
+msgid "nFor more information, see"
+msgstr "Для получения подробной информации, смотрите"
+
+#: src/metabase/util/schema.clj
+msgid "value must be an integer."
+msgstr "значение должно содержать целое число (integer)."
+
+#: src/metabase/util/schema.clj
+msgid "value must be a string."
+msgstr "значение должно содержать текстовую строку (string)."
+
+#: src/metabase/util/schema.clj
+msgid "value must be a boolean."
+msgstr "значение должно содержать логическое выражение (boolean)."
+
+#: src/metabase/util/schema.clj
+msgid "value must be a string that matches the regex `{0}`."
+msgstr "значение должно содержать текстовую строку (string), соответствующую выражению regex `{0}`."
+
+#: src/metabase/util/schema.clj
+msgid "value must satisfy one of the following requirements: "
+msgstr "значение должно удовлетворять одному из следующих требований:␣"
+
+#: src/metabase/util/schema.clj
+msgid "value may be nil, or if non-nil, {0}"
+msgstr "значение может быть нулем (nil) или, если не ноль (non-nil), то {0}"
+
+#: src/metabase/util/schema.clj
+msgid "value must be one of: {0}."
+msgstr "значение должно принимать одно из следующих значений: {0}."
+
+#: src/metabase/util/schema.clj
+msgid "value must be an array."
+msgstr "значение должно быть массивом."
+
+#: src/metabase/util/schema.clj
+msgid "Each {0}"
+msgstr "Каждый {0}"
+
+#: src/metabase/util/schema.clj
+msgid "The array cannot be empty."
+msgstr "Массив не может быть пустым"
+
+#: src/metabase/util/schema.clj
+msgid "value must be a non-blank string."
+msgstr "значение не должно быть пустой строкой."
+
+#: src/metabase/util/schema.clj
+msgid "Integer greater than zero"
+msgstr "Целое число больше нуля"
+
+#. Are this "integer" part is important to translate?
+#: src/metabase/util/schema.clj
+msgid "value must be an integer greater than zero."
+msgstr "Значение должно быть больше нуля"
+
+#: src/metabase/util/schema.clj
+msgid "Number greater than zero"
+msgstr "Числе больше нуля"
+
+#. May I omit the "number" part?
+#: src/metabase/util/schema.clj
+msgid "value must be a number greater than zero."
+msgstr "Значение должно быть больше нуля"
+
+#: src/metabase/util/schema.clj
+msgid "Keyword or string"
+msgstr "Ключевое слово или строка"
+
+#: src/metabase/util/schema.clj
+msgid "Valid field type"
+msgstr "Валидный тип поля"
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid field type."
+msgstr "значение должно быть валидным типом поля."
+
+#: src/metabase/util/schema.clj
+msgid "Valid field type (keyword or string)"
+msgstr "Валидный тип поля (ключевое слово или строка)"
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid field type (keyword or string)."
+msgstr "значение должно быть валидным типом поля (ключевое слово или строка)."
+
+#: src/metabase/util/schema.clj
+msgid "Valid entity type (keyword or string)"
+msgstr "Валидный тип записи (ключевое слово или строка)"
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid entity type (keyword or string)."
+msgstr "значение должно быть валидным типом записи (ключевое слово или строка)."
+
+#: src/metabase/util/schema.clj
+msgid "Valid map"
+msgstr "Валидная карта"
+
+#: src/metabase/util/schema.clj
+msgid "value must be a map."
+msgstr "Значение должно быть картой"
+
+#: src/metabase/util/schema.clj
+msgid "Valid email address"
+msgstr "Валидный email адрес"
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid email address."
+msgstr "значение должно быть валидным email адресом."
+
+#: src/metabase/util/schema.clj
+msgid "Insufficient password strength"
+msgstr "Недостаточная сложность пароля"
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid integer."
+msgstr "значение должно быть целым числом."
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid integer greater than zero."
+msgstr "значение должно быть целым числом больше нуля."
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid boolean string (''true'' or ''false'')."
+msgstr "значение должно быть корректным логическим типом (''true'' или ''false'')."
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid JSON string."
+msgstr "значение должно быть валидной JSON-строкой."
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid embedding params map."
+msgstr "значение должно быть валидным параметром встраивания карты."
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsTabs.jsx:12
+msgid "Data permissions"
+msgstr "Доступ к данным"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsTabs.jsx:13
+msgid "Collection permissions"
+msgstr "Разрешения для коллекций"
+
+#: frontend/src/metabase/admin/permissions/containers/CollectionPermissionsModal.jsx:56
+msgid "See all collection permissions"
+msgstr "Посмотреть разрешения для всех коллекций"
+
+#: frontend/src/metabase/admin/permissions/containers/TogglePropagateAction.jsx:25
+msgid "Also change sub-collections"
+msgstr "Так же изменить под-коллекции"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:282
+msgid "Can edit this collection and its contents"
+msgstr "Может редактировать коллекцию и содержимое"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:289
+msgid "Can view items in this collection"
+msgstr "Может смотреть содержимое этой коллекции"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:749
+msgid "Collection Access"
+msgstr "Доступ к коллекции"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:825
+msgid "This group has permission to view at least one subcollection of this collection."
+msgstr "У этой группы есть разрешение на просмотре как минимум одного подмножества этой коллекции."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:830
+msgid "This group has permission to edit at least one subcollection of this collection."
+msgstr "У этой группы есть разрешение на редактирование как минимум одного подмножества этой коллекции."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:843
+msgid "View sub-collections"
+msgstr "Просмотр под-коллекций"
+
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:211
+msgid "Remember Me"
+msgstr "Запомнить меня"
+
+#: frontend/src/metabase/components/BrowseApp.jsx:95
+msgid "X-ray this schema"
+msgstr "Просканировать эту схему"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:258
+msgid "Edit the permissions for this collection"
+msgstr "Редактировать разрешения для этой коллекции"
+
+#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:55
+msgid "Add this question to a dashboard"
+msgstr "Добавить этот вопрос в дашборд"
+
+#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:65
+msgid "Create a new dashboard"
+msgstr "Создать новый дашборд"
+
+#: frontend/src/metabase/containers/ErrorPages.jsx:45
+msgid "The page you asked for couldn't be found."
+msgstr "Запрошенная страница не найдена."
+
+#: frontend/src/metabase/containers/ItemSelect.jsx:30
+msgid "Select a {0}"
+msgstr "Выбрать {0}"
+
+#: frontend/src/metabase/containers/Overworld.jsx:185
+msgid "Save dashboards, questions, and collections in \"{0}\""
+msgstr "Сохранять дашборды, вопросы и коллекции в \"{0}\""
+
+#: frontend/src/metabase/containers/Overworld.jsx:188
+msgid "Access dashboards, questions, and collections in \"{0}\""
+msgstr "Получать доступ к дашбордам, вопросам и коллекциям в \"{0}\""
+
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:221
+msgid "Compare"
+msgstr "Сравнить"
+
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:229
+msgid "Zoom out"
+msgstr "На уровень выше"
+
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:233
+msgid "Related"
+msgstr "Связанные"
+
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:293
+msgid "More X-rays"
+msgstr "Больше рентгенов"
+
+#: frontend/src/metabase/home/containers/SearchApp.jsx:46
+msgid "No results"
+msgstr "Нет результатов"
+
+#: frontend/src/metabase/home/containers/SearchApp.jsx:47
+msgid "Metabase couldn't find any results for your search."
+msgstr "Metabase не смог ничего найти по этому запросу."
+
+#: frontend/src/metabase/new_query/containers/MetricSearch.jsx:111
+msgid "No metrics"
+msgstr "Нет метрик"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:31
+msgid "Aggregations"
+msgstr "Агрегации"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:32
+msgid "Operators"
+msgstr "Операторы"
+
+#: frontend/src/metabase/query_builder/components/expressions/Expressions.jsx:30
+msgid "Custom fields"
+msgstr "Произвольные поля"
+
+#. 2. Create the new collections.
+#: src/metabase/db/migrations.clj
+msgid "Migrated Dashboards"
+msgstr "Перемещенные дашборды"
+
+#: src/metabase/db/migrations.clj
+msgid "Migrated Pulses"
+msgstr "Перемещенные пульсы"
+
+#: src/metabase/db/migrations.clj
+msgid "Migrated Questions"
+msgstr "Перемещенные запросы"
+
+#. 4. move everything not in this Collection to a new Collection
+#: src/metabase/db/migrations.clj
+msgid "Moving instances of {0} that aren't in a Collection to {1} Collection {2}"
+msgstr "Перемещение экземпляров {0}, отсутствующих в коллекции, в коллекцию {1} {2}"
+
+#: src/metabase/models/permissions.clj
+msgid "Failed to grant permissions: {0}"
+msgstr "Ошибка назначения полномочий: {0}"
+
+#: src/metabase/util/encryption.clj
+msgid "Cannot decrypt encrypted string. Have you changed or forgot to set MB_ENCRYPTION_SECRET_KEY?"
+msgstr "Невозможно расшифровать зашифрованную строку. Вы изменили или забыли установить MB_ENCRYPTION_SECRET_KEY?"
+
+#: frontend/src/metabase/entities/collections.js:164
+msgid "All personal collections"
+msgstr "Все личные коллекции"
+
+#: src/metabase/driver/common.clj
+msgid "Host"
+msgstr "Хост"
+
+#: src/metabase/driver/common.clj
+msgid "Port"
+msgstr "Порт"
+
+#: src/metabase/driver/common.clj
+msgid "Database username"
+msgstr "Имя пользователя базы данных"
+
+#: src/metabase/driver/common.clj
+msgid "What username do you use to login to the database?"
+msgstr "Какое имя вы используется для подключения к базе данных?"
+
+#: src/metabase/driver/common.clj
+msgid "Database password"
+msgstr "Пароль базы данных"
+
+#: src/metabase/driver/common.clj
+msgid "Database name"
+msgstr "Имя базы данных"
+
+#: src/metabase/driver/common.clj
+msgid "birds_of_the_world"
+msgstr "moya_baza_dannyh"
+
+#: src/metabase/driver/common.clj
+msgid "Use a secure connection (SSL)?"
+msgstr "Использовать безопасное подключение (SSL)?"
+
+#: src/metabase/driver/common.clj
+msgid "Additional JDBC connection string options"
+msgstr "Дополнительные параметры подключения JDBC"
+
+#: src/metabase/driver/bigquery.clj
+msgid "Project ID"
+msgstr "ИД проекта"
+
+#: src/metabase/driver/bigquery.clj
+msgid "praxis-beacon-120871"
+msgstr "praxis-beacon-120871"
+
+#: src/metabase/driver/bigquery.clj
+msgid "Dataset ID"
+msgstr "ИД набора данных"
+
+#: src/metabase/driver/bigquery.clj
+msgid "toucanSightings"
+msgstr "toucanSightings"
+
+#: src/metabase/driver/bigquery.clj src/metabase/driver/googleanalytics.clj
+msgid "Client ID"
+msgstr "ИД клиента"
+
+#: src/metabase/driver/bigquery.clj src/metabase/driver/googleanalytics.clj
+msgid "Client Secret"
+msgstr "Секрет клиента"
+
+#: src/metabase/driver/bigquery.clj src/metabase/driver/googleanalytics.clj
+msgid "Auth Code"
+msgstr "Код авторизации"
+
+#: src/metabase/driver/crate.clj
+msgid "Hosts"
+msgstr "Хосты"
+
+#: src/metabase/driver/druid.clj
+msgid "Broker node port"
+msgstr "Некорректный порт ноды"
+
+#: src/metabase/driver/googleanalytics.clj
+msgid "Google Analytics Account ID"
+msgstr "ID аккаунта Google Analytics"
+
+#: src/metabase/driver/h2.clj
+msgid "Connection String"
+msgstr "Строка подключения"
+
+#: src/metabase/driver/h2.clj
+msgid "Users/camsaul/bird_sightings/toucans"
+msgstr "Users/camsaul/bird_sightings/toucans"
+
+#: src/metabase/driver/mongo.clj
+msgid "carrierPigeonDeliveries"
+msgstr "carrierPigeonDeliveries"
+
+#: src/metabase/driver/mongo.clj
+msgid "Authentication Database"
+msgstr "База данных аутентификации"
+
+#: src/metabase/driver/mongo.clj
+msgid "Optional database to use when authenticating"
+msgstr "Необязательная база данных для использования при аутентификации"
+
+#: src/metabase/driver/mongo.clj
+msgid "Additional Mongo connection string options"
+msgstr "Дополнительные параметры при подключении к Mongo"
+
+#: src/metabase/driver/oracle.clj
+msgid "Oracle system ID (SID)"
+msgstr "Идентификатор системы Oracle (SID)"
+
+#: src/metabase/driver/oracle.clj
+msgid "Usually something like ORCL or XE."
+msgstr "Обычно что-то типа ORCL или XE."
+
+#: src/metabase/driver/oracle.clj
+msgid "Optional if using service name"
+msgstr "Необязательно при использовании имени службы"
+
+#: src/metabase/driver/oracle.clj
+msgid "Oracle service name"
+msgstr "Имя службы Oracle"
+
+#: src/metabase/driver/oracle.clj
+msgid "Optional TNS alias"
+msgstr "Необязательный TNS алиас"
+
+#: src/metabase/driver/presto.clj
+msgid "hive"
+msgstr "hive"
+
+#: src/metabase/driver/redshift.clj
+msgid "my-cluster-name.abcd1234.us-east-1.redshift.amazonaws.com"
+msgstr "my-cluster-name.abcd1234.us-east-1.redshift.amazonaws.com"
+
+#: src/metabase/driver/redshift.clj
+msgid "toucan_sightings"
+msgstr "toucan_sightings"
+
+#: src/metabase/driver/sparksql.clj
+msgid "default"
+msgstr "по-умолчанию"
+
+#: src/metabase/driver/sqlite.clj
+msgid "Filename"
+msgstr "Файл"
+
+#: src/metabase/driver/sqlite.clj
+msgid "/home/camsaul/toucan_sightings.sqlite 😋"
+msgstr "/home/camsaul/toucan_sightings.sqlite 😋"
+
+#: src/metabase/driver/sqlserver.clj
+msgid "BirdsOfTheWorld"
+msgstr "MoyaBazaDannyh"
+
+#: src/metabase/driver/sqlserver.clj
+msgid "Database instance name"
+msgstr "Имя инстанса базы данных"
+
+#: src/metabase/driver/sqlserver.clj
+msgid "N/A"
+msgstr "Н/Д"
+
+#: src/metabase/driver/sqlserver.clj
+msgid "Windows domain"
+msgstr "Домен Windows"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:494
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:500
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:509
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:515
+msgid "Labels"
+msgstr "Заголовки"
+
+#: frontend/src/metabase/admin/people/components/GroupDetail.jsx:329
+msgid "Add members"
+msgstr "Добавить участников"
+
+#: frontend/src/metabase/entities/collections.js:115
+msgid "Collection it's saved in"
+msgstr "Коллекция сохранена в"
+
+#: frontend/src/metabase/lib/groups.js:4
+msgid "All Users"
+msgstr "Все пользователи"
+
+#: frontend/src/metabase/lib/groups.js:5
+msgid "Administrators"
+msgstr "Администраторы"
+
+#: frontend/src/metabase/lib/groups.js:6
+msgid "MetaBot"
+msgstr "MetaBot"
+
+#: frontend/src/metabase/public/components/widgets/EmbedModalContent.jsx:290
+msgid "Sharing"
+msgstr "Поделиться"
+
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:23
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:234
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:270
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:299
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:305
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:313
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:321
+#: frontend/src/metabase/visualizations/lib/settings/nested.js:126
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:83
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:80
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:85
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:91
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:97
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:50
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:56
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:72
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:85
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:98
+msgid "Display"
+msgstr "Отображение"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:370
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:403
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:416
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:431
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:443
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:449
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:457
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:487
+msgid "Axes"
+msgstr "Оси"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:222
+#: frontend/src/metabase/admin/settings/selectors.js:319
+#: frontend/src/metabase/modes/components/drill/FormatAction.jsx:27
+#: frontend/src/metabase/visualizations/lib/settings/column.js:63
+msgid "Formatting"
+msgstr "Форматирование"
+
+#: frontend/src/metabase/containers/Overworld.jsx:102
+msgid "Try these x-rays based on your data."
+msgstr "Попробуйте эти X-ray, основанные на ваших данных."
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:36
+msgid "There was a problem displaying this chart."
+msgstr "При отображении графика возникли проблемы."
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:37
+msgid "Sorry, you don't have permission to see this card."
+msgstr "Просим прощения, у вас нет разрешения на просмотр этой карточки."
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:55
+msgid "Just a heads up:"
+msgstr "Просто предупреждаю:"
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:63
+msgid "{0} without the Sample Dataset, the Query Builder tutorial won't work. You can always restore the Sample Dataset, but any questions you've saved using this data will be lost."
+msgstr "{0} без примера набора данных, инструкция по созданию запросов не будет работать. Вы всегда можете восстановить этот набор данных, но все запросы, что вы сохранили с этими данными будут потеряны."
+
+#: frontend/src/metabase/modes/components/drill/AutomaticDashboardDrill.jsx:33
+msgid "X-ray"
+msgstr "Рентген"
+
+#: frontend/src/metabase/modes/components/drill/CompareToRestDrill.js:34
+msgid "Compare to the rest"
+msgstr "Cравнить с остальным"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:244
+msgid "Use the Java Virtual Machine (JVM) timezone"
+msgstr "Использовать часовой пояс виртуальной Java машины (JVM)"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:246
+msgid "We suggest you leave this off unless you're doing manual timezone casting in\n"
+"many or most of your queries with this data."
+msgstr "Мы рекомендуем оставить это выключенным, только если вы не обрабатываете часовой пояс вручную в большинстве своих запросов с этими данными."
+
+#: frontend/src/metabase/containers/Overworld.jsx:310
+msgid "Your team's most important dashboards go here"
+msgstr "Важнейшие дашборды вашей команды будут здесь"
+
+#: frontend/src/metabase/containers/Overworld.jsx:311
+msgid "Pin dashboards in {0} to have them appear in this space for everyone"
+msgstr "Закрепить дашборды в {0} чтобы они появились в этом пространстве для всех."
+
+#: src/metabase/db.clj
+msgid "Unable to release the Liquibase lock after a migration failure"
+msgstr "Невозможность снять блокировку Liquibase после сбоя миграции"
+
+#: src/metabase/driver/bigquery.clj
+msgid "Use JVM Time Zone"
+msgstr "Использовать часовой пояс JVM"
+
+#: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:29
+msgid "We're currently analyzing the tables and fields to help you explore your data."
+msgstr "Сейчас мы анализируем таблицы и поля чтобы помочь вам изучать свои данные"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:432
+msgid "Tip: "
+msgstr "Подсказка: "
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnItem.jsx:258
+msgid "Select a currency type"
+msgstr "Выберите тип валюты"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:318
+msgid "Field Type"
+msgstr "Тип поля"
+
+#: frontend/src/metabase/admin/routes.jsx:109
+#: frontend/src/metabase/nav/containers/Navbar.jsx:224
+msgid "Troubleshooting"
+msgstr "Разрешение проблем"
+
+#: frontend/src/metabase/admin/settings/selectors.js:96
+msgid "Enable X-ray features"
+msgstr "Включить функции \"Рентгена\""
+
+#: frontend/src/metabase/admin/settings/selectors.js:323
+msgid "Formatting Options"
+msgstr "Опции форматирования"
+
+#: frontend/src/metabase/admin/tasks/containers/TaskModal.jsx:19
+msgid "Task details"
+msgstr "Детали задачи"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:29
+msgid "Troubleshooting logs"
+msgstr "Логи обработки ошибок"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:31
+msgid "Trying to get to the bottom of something? This section shows logs of Metabase's background tasks, which can help shed light on what's going on."
+msgstr "Пытаешься докопаться до сути? В этом разделе показаны журналы фоновых задач Метабазы, которые могут помочь пролить свет на происходящее."
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:56
+msgid "Task"
+msgstr "Задача"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:57
+msgid "DB ID"
+msgstr "ID базы данных"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:58
+msgid "Started at"
+msgstr "Начато"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:59
+msgid "Ended at"
+msgstr "Завершено"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:60
+msgid "Duration (ms)"
+msgstr "Продолжительность (мс)"
+
+#: frontend/src/metabase/lib/core.js:45
+msgid "Currency"
+msgstr "Валюта"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:161
+msgid "Pick a user or channel..."
+msgstr "Выберите пользователя или канал..."
+
+#: frontend/src/metabase/visualizations/components/ColumnSettings.jsx:90
+msgid "No formatting settings"
+msgstr "Опции форматирования не определены"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:81
+msgid "Label for this range (optional)"
+msgstr "Заголовок диапазона (необязательно)"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:93
+msgid "Add a range"
+msgstr "Добавить диапазон"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:26
+msgid "is less than"
+msgstr "Меньше чем"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:27
+msgid "is greater than"
+msgstr "Больше чем"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:28
+msgid "is less than or equal to"
+msgstr "Меньше или равно"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:29
+msgid "is greater than or equal to"
+msgstr "Больше или равно"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:30
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:37
+msgid "is equal to"
+msgstr "Равно"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:31
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:38
+msgid "is not equal to"
+msgstr "Не равно"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:32
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:39
+msgid "is null"
+msgstr "Пустое"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:33
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:40
+msgid "is not null"
+msgstr "Не пустое"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:41
+msgid "contains"
+msgstr "Содержит"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:42
+msgid "does not contain"
+msgstr "Не содержит"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:43
+msgid "starts with"
+msgstr "Начинается с"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:44
+msgid "ends with"
+msgstr "Заканчивается на"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:292
+msgid "When a cell in these columns {0} it will be tinted this color."
+msgstr "Когда ячейка в этих колонках {0}, она будет окрашена в выбранный цвет."
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:351
+msgid "When a cell in this column…"
+msgstr "Когда ячейка в этом столбце..."
+
+#: frontend/src/metabase/visualizations/lib/errors.js:42
+msgid "This visualization requires you to group by a field."
+msgstr "Эта визуализация требует группировки по полю"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:178
+msgid "Date style"
+msgstr "Стиль даты"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:196
+msgid "Date separators"
+msgstr "Разделители даты"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:215
+msgid "Abbreviate names of days and months"
+msgstr "Сокращенные названия дней и месяцев"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:225
+msgid "Show the time"
+msgstr "Показать время"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:232
+msgid "HH:MM"
+msgstr "ЧЧ:ММ"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:240
+msgid "HH:MM:SS"
+msgstr "ЧЧ:ММ:СС"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:243
+msgid "HH:MM:SS.MS"
+msgstr "ЧЧ:ММ:СС:МС"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:254
+msgid "Time style"
+msgstr "Формат времени"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:299
+msgid "Unit of currency"
+msgstr "Единица валюты"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:319
+msgid "Currency label style"
+msgstr "Стиль заголовка валюты"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:337
+msgid "Where to display the unit of currency"
+msgstr "Где отображать единицу валюты"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:370
+msgid "Minimum number of decimal places"
+msgstr "Минимальное количество знаков после запятой"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:271
+msgid "Stacked chart type"
+msgstr "Тип диаграммы с накоплением"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:314
+msgid "Goal label"
+msgstr "Название цели"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:322
+msgid "Show trend line"
+msgstr "Показать линию тренда"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:67
+msgid "Line style"
+msgstr "Стиль линии"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:84
+msgid "Show dots on lines"
+msgstr "Показать точки на линии"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:88
+#: frontend/src/metabase/visualizations/lib/settings/series.js:125
+msgid "Auto"
+msgstr "Авто"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:120
+msgid "Which axis?"
+msgstr "Какая ось?"
+
+#: frontend/src/metabase/visualizations/visualizations/ComboChart.jsx:16
+msgid "Line + Bar"
+msgstr "Линия + Столбец"
+
+#: frontend/src/metabase/visualizations/visualizations/ComboChart.jsx:19
+msgid "line and bar chart"
+msgstr "линейные и Столбчатые диаграммы"
+
+#: frontend/src/metabase/visualizations/visualizations/Gauge.jsx:72
+msgid "Gauge visualization requires a number."
+msgstr "Для визуализации прибора требуется число."
+
+#: frontend/src/metabase/visualizations/visualizations/Gauge.jsx:60
+msgid "Gauge"
+msgstr "Прибор"
+
+#: frontend/src/metabase/visualizations/visualizations/Gauge.jsx:104
+msgid "Gauge ranges"
+msgstr "Диапазоны прибора"
+
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:94
+msgid "Field to show"
+msgstr "Поле для отображения"
+
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:121
+msgid "last {0}"
+msgstr "Последняя {0}"
+
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:185
+msgid "{0} was {1} {2}"
+msgstr "{0} был {1} {2}"
+
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:52
+msgid "Group by a time field to see how this has changed over time"
+msgstr "Группа по полю времени, чтобы увидеть, как это изменилось с течением времени"
+
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:39
+msgid "Switch positive / negative colors?"
+msgstr "Переключить позитивные / негативные цвета?"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:90
+msgid "Pivot column"
+msgstr "Колонка таблицы"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:107
+msgid "Cell column"
+msgstr "Ячейка столбца"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:123
+msgid "Visible columns"
+msgstr "Видимые столбцы"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:143
+msgid "Conditional Formatting"
+msgstr "Условное форматирование"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:165
+msgid "Column title"
+msgstr "Заголовок столбца"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:172
+msgid "Show a mini bar chart"
+msgstr "Показать мини-гистограмму"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:183
+msgid "Link"
+msgstr "Ссылка"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:187
+msgid "Email link"
+msgstr "Email ссылка"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:191
+msgid "Image"
+msgstr "Изображение"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:195
+msgid "Automatic"
+msgstr "Автоматически"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:200
+msgid "View as link or image"
+msgstr "Показать как ссылку или как изображение"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:210
+msgid "Link text"
+msgstr "Текст ссылки"
+
+#: src/metabase/api/common/internal.clj
+msgid "Not a valid integer: ''{0}''"
+msgstr "Недопустимое целое число: \"{0}\""
+
+#: src/metabase/api/embed.clj
+msgid "Embedding is not enabled for this object."
+msgstr "Встраивание недоступно для этого объекта."
+
+#: src/metabase/api/session.clj
+msgid "Problem connecting to LDAP server, will fallback to local authentication: {0}"
+msgstr "Проблема при подключении к LDAP серверу, произойдет возврат к локальной аутентификации: {0}"
+
+#: src/metabase/api/task.clj
+msgid "When including an offset, a limit must also be included."
+msgstr "При включении смещения необходимо также включить ограничение."
+
+#: src/metabase/api/task.clj
+msgid "When including a limit, an offset must also be included."
+msgstr "При включении ограничения необходимо также включить смещение."
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Applying heuristic {0} to {1}."
+msgstr "Применение эвристики {0} к {1}."
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Dimensions bindings:n{0}"
+msgstr "Привязки размеров: n{0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Using definitions:nMetrics:n{0}nFilters:n{1}"
+msgstr "Используя определения:nMetrics:n{0}nFilters:n{1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "minute"
+msgstr "Минута"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "hour"
+msgstr "Час"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "day of week"
+msgstr "День недели"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "day of month"
+msgstr "День месяца"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "day of year"
+msgstr "День года"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "week"
+msgstr "Неделя"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "month"
+msgstr "Месяц"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "quarter"
+msgstr "Квартал"
+
+#: src/metabase/automagic_dashboards/populate.clj
+msgid "Adding {0} cards to dashboard {1}:n{2}"
+msgstr "Добавление {0} карточек в панель {1}: n{2}"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Error parsing {0}:n{1}"
+msgstr "Ошибка {0}:n{1}"
+
+#: src/metabase/driver/druid/query_processor.clj
+msgid "WARNING: Filtering only works on dimensions! ''{0}'' is a metric. Ignoring filter."
+msgstr "ВНИМАНИЕ: фильтрация работает только для измерений! \"{0}\" является метрикой. Игнорирование фильтра."
+
+#: src/metabase/driver/druid/query_processor.clj
+msgid "WARNING: A date can't belong to multiple discrete intervals, so ANDing them together doesn't make sense."
+msgstr "ПРЕДУПРЕЖДЕНИЕ: дата не может принадлежать нескольким дискретным интервалам, поэтому их объединение не имеет смысла."
+
+#: src/metabase/driver/druid/query_processor.clj
+msgid "Ignoring these intervals: {0}"
+msgstr "Игнорирование этих интервалов: {0}"
+
+#. We should never get to this point since the all non-string negations should get automatically rewritten
+#. by the query expander.
+#: src/metabase/driver/druid/query_processor.clj
+msgid "WARNING: Don't know how to negate: {0}"
+msgstr "ПРЕДУПРЕЖДЕНИЕ: не знаю, как отменить: {0}"
+
+#: src/metabase/driver/druid/query_processor.clj
+msgid "Sorting with Druid is only allowed in queries that have one or more breakout columns. Ignoring :order-by clause."
+msgstr "Сортировка с помощью Druid разрешена только в запросах, содержащих один или несколько столбцов. Игнорирование: упорядочить по условию."
+
+#. TODO - this is not really true, is it
+#: src/metabase/driver/druid/query_processor.clj
+msgid "WARNING: It only makes sense to specify :fields for a query with no aggregation. Ignoring the clause."
+msgstr "ВНИМАНИЕ: имеет смысл только указывать: поля для запроса без агрегирования. Игнорирование условие."
+
+#: src/metabase/driver/druid/query_processor.clj
+msgid "WARNING: Druid doenst allow limitSpec in timeseries queries. Ignoring the LIMIT clause."
+msgstr "ВНИМАНИЕ: Druid не разрешает limitSpec в запросах временных рядов. Игнорирование условия LIMIT."
+
+#: src/metabase/driver/sql/query_processor.clj
+msgid "HoneySQL Form:"
+msgstr "HoneySQL Форма:"
+
+#: src/metabase/driver/sql_jdbc/execute.clj
+msgid "Unable to parse date ''{0}''"
+msgstr "Невозможно преобразовать дату ''{0}''"
+
+#: src/metabase/driver/sql_jdbc/execute.clj
+msgid "Client closed connection, cancelling query"
+msgstr "Клиент закрыл соединение, отмена запроса"
+
+#: src/metabase/driver/sql_jdbc/execute.clj
+msgid "Setting timezone with statement: {0}"
+msgstr "Установка часового пояса с указанием: {0}"
+
+#: src/metabase/driver/googleanalytics/query_processor.clj
+msgid "Multiple date filters are not supported"
+msgstr "Множественные фильтры даты не поддерживаются"
+
+#: src/metabase/driver/googleanalytics/query_processor.clj
+msgid ":not is not yet implemented"
+msgstr ":not еще не реализовано"
+
+#: src/metabase/driver/googleanalytics/query_processor.clj
+msgid "Only one Google Analytics segment allowed at a time."
+msgstr "Одновременно допускается только один сегмент Google Analytics."
+
+#: src/metabase/driver/mongo/query_processor.clj
+msgid "MONGO AGGREGATION PIPELINE:"
+msgstr "КОНВЕЙЕР АГРЕГАЦИИ MONGO:"
+
+#: src/metabase/driver/mongo/query_processor.clj
+msgid "Error: mismatched columns in results! Expected: {0} Got: {1}"
+msgstr "Ошибка: несоответствие столбцов в результатах! Ожидалось: {0} Получено: {1}"
+
+#: src/metabase/email/messages.clj
+msgid "Unable to create temp file in `{0}` for email attachments "
+msgstr "Не удается создать временный файл в `{0}` для вложений электронной почты"
+
+#: src/metabase/events/activity_feed.clj
+msgid "Error preprocessing query:"
+msgstr "Ошибка предварительной обработки запроса:"
+
+#: src/metabase/mbql/normalize.clj
+msgid "Illegal filter clause: {0}"
+msgstr "Неверное условие фильтра: {0}"
+
+#: src/metabase/mbql/normalize.clj
+msgid "Invalid clause:"
+msgstr "Неверное условие:"
+
+#: src/metabase/mbql/util.clj
+msgid "Error: query's source query has not been resolved. You probably need to `preprocess` the query first."
+msgstr "Ошибка: исходный запрос запроса не был разрешен. Вероятно, вам сначала нужно \"предварительно обработать\" запрос."
+
+#: src/metabase/mbql/util.clj
+msgid "No expression named ''{0}''"
+msgstr "Нет выражения с именем \"{0}\""
+
+#: src/metabase/mbql/util.clj
+msgid "No aggregation at index: {0}"
+msgstr "Нет агрегации по индексу: {0}"
+
+#: src/metabase/models/field_values.clj
+msgid "Field values total length is {0} (max {1})."
+msgstr "Общая длина значений полей равна {0} (max {1})."
+
+#: src/metabase/models/field_values.clj
+msgid "FieldValues are allowed for this Field."
+msgstr "Для этого поля разрешены значения полей."
+
+#: src/metabase/models/field_values.clj
+msgid "FieldValues are NOT allowed for this Field."
+msgstr "Значения полей не допускаются для этого поля."
+
+#: src/metabase/models/field_values.clj
+msgid "Field {0} ''{1}'' should have FieldValues and belongs to a Database with On-Demand FieldValues updating."
+msgstr "Поле {0} \"{1}\" должно быть полей и принадлежит к базе данных по требованию полей обновление."
+
+#: src/metabase/models/permissions.clj
+msgid "You cannot create or revoke permissions for the ''Admin'' group."
+msgstr "Нельзя создать или отменить разрешения для группы \"администраторы\"."
+
+#: src/metabase/models/permissions_group_membership.clj
+msgid "You cannot add or remove users to/from the ''MetaBot'' group."
+msgstr "Вы не можете добавлять или удалять пользователей в/из группы \"MetaBot\"."
+
+#: src/metabase/models/permissions_group_membership.clj
+msgid "You cannot add or remove users to/from the ''All Users'' group."
+msgstr "Добавлять или удалять пользователей в группу \"Все пользователи\" нельзя."
+
+#: src/metabase/models/permissions_group_membership.clj
+msgid "You cannot remove the last member of the ''Admin'' group!"
+msgstr "Вы не можете удалить последнего члена группы \"администратор\"!"
+
+#. go ahead and log the Exception anyway on the off chance that it *wasn't* just a race condition issue
+#: src/metabase/models/setting/cache.clj
+msgid "Error inserting a new Setting: {0}"
+msgstr "Ошибка при вставке нового параметра: {0}"
+
+#: src/metabase/models/setting.clj
+msgid "defsetting descriptions strings must be `:internal?` or internationalized, found: `{0}`"
+msgstr "строки описания дефсетинга должны быть': internal?- или многоязычными, нашел: `{0}`"
+
+#: src/metabase/plugins.clj
+msgid "Loading plugin {0}... {1}"
+msgstr "Загрузка плагина {0}... {1}"
+
+#: src/metabase/public_settings.clj
+msgid "Object keyed by type, containing formatting settings"
+msgstr "Объект с ключом по типу, содержащий параметры форматирования"
+
+#: src/metabase/public_settings.clj
+msgid "Allow users to explore data using X-rays"
+msgstr "Позволяют пользователям исследовать данные с помощью рентгеновских лучей"
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Using this URL to check token: {0}"
+msgstr "Использовать этот URL для проверки токена: {0}"
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Unable to validate token: 404 not found."
+msgstr "Невозможно проверить токен: 404 not found."
+
+#: src/metabase/public_settings/metastore.clj
+msgid "There was an error checking whether this token was valid:"
+msgstr "Произошла ошибка при проверке допустимости этого маркера:"
+
+#. +----------------------------------------------------------------------------------------------------------------+
+#. |                                             SETTING & RELATED FNS                                              |
+#. +----------------------------------------------------------------------------------------------------------------+
+#. TODO - rename this to premium-features-token?
+#: src/metabase/public_settings/metastore.clj
+msgid "Token for premium features. Go to the MetaStore to get yours!"
+msgstr "Токен для премиум-функций. Иди в MetaStore, чтобы получить свой!"
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Token format is invalid. Token should be 64 hexadecimal characters."
+msgstr "Неверный формат токена. Токен должен содержать 64 шестнадцатеричных символа."
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Error setting premium features token"
+msgstr "Ошибка при установке токена премиум-функций"
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Error validating token:"
+msgstr "Ошибка при проверке токена:"
+
+#: src/metabase/query_processor.clj
+msgid "Error preprocessing query"
+msgstr "Ошибка предварительной обработки запроса"
+
+#: src/metabase/query_processor.clj
+msgid "No native form returned."
+msgstr "Не возвращена нативная форма."
+
+#: src/metabase/query_processor.clj
+msgid "Invalid response from database driver. No :status provided."
+msgstr "Неверный ответ драйвера базы данных. Нет: предоставления статуса."
+
+#: src/metabase/query_processor.clj
+msgid "General error"
+msgstr "Общая ошибка"
+
+#: src/metabase/query_processor.clj
+msgid "Missing query hash!"
+msgstr "Отсутствует хэш запроса!"
+
+#: src/metabase/query_processor/middleware/add_implicit_clauses.clj
+msgid "Table ''{0}'' has no Fields associated with it."
+msgstr "Таблица \"{0}\" не имеет связанных с ней полей."
+
+#: src/metabase/query_processor/middleware/add_query_throttle.clj
+msgid "Max concurrent query limit reached"
+msgstr "Достигнут максимальный уровень одновременных запросов"
+
+#. we should never reach this if our patterns are written right so this is more to catch code mistakes than
+#. something the user should expect to see
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "Don't know how to get information about Field:"
+msgstr "Не знаю, как получить информацию о поле:"
+
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "metabase.query-processor.interface/*driver* is unbound."
+msgstr "metabase.query-processor.interface/*driver* не привязан."
+
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "Query processor error: mismatched number of columns in query and results."
+msgstr "Ошибка обработчика запросов: несогласованное число столбцов в запросе и результатах."
+
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "Expected {0} fields, got {1}"
+msgstr "Ожидаемые поля {0}, получено {1}"
+
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "Expected: {0}"
+msgstr "Ожидается: {0}"
+
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "Actual: {0}"
+msgstr "Фактический: {0}"
+
+#: src/metabase/query_processor/middleware/binning.clj
+msgid "Unable to bin Field without a min/max value"
+msgstr "Невозможно скомпоновать поле без значения min / max"
+
+#: src/metabase/query_processor/middleware/check_features.clj
+msgid "{0} is not supported by this driver."
+msgstr "{0} не поддерживается этим драйвером."
+
+#: src/metabase/query_processor/middleware/expand_macros.clj
+msgid "Segment {0} does not exist, or is invalid."
+msgstr "Сегмент {0} не существует или является недопустимым."
+
+#: src/metabase/query_processor/middleware/expand_macros.clj
+msgid "Metric {0} does not exist, or is invalid."
+msgstr "Метрика {0} не существует или является недопустимой."
+
+#: src/metabase/query_processor/middleware/fetch_source_query.clj
+msgid "Missing source query in Card {0}"
+msgstr "Отсутствует исходный запрос в карточке {0}"
+
+#: src/metabase/query_processor/middleware/fetch_source_query.clj
+msgid "Fetched source query from Card {0}:"
+msgstr "Исходный запрос из карточки {0}:"
+
+#: src/metabase/query_processor/middleware/mbql_to_native.clj
+msgid "Error transforming MBQL query to native:"
+msgstr "Ошибка преобразования запроса MBQL к родному:"
+
+#: src/metabase/query_processor/middleware/resolve_source_table.clj
+msgid "Cannot run query: could not find source table {0}."
+msgstr "Не удалось выполнить запрос: не удалось найти исходную таблицу {0}."
+
+#: src/metabase/query_processor/middleware/results_metadata.clj
+msgid "Error recording results metadata for query:"
+msgstr "Ошибка записи метаданных результатов запроса:"
+
+#: src/metabase/query_processor/store.clj
+msgid "Error: Query Processor store is not initialized."
+msgstr "Ошибка: хранилище обработчика запросов не инициализировано."
+
+#: src/metabase/query_processor/store.clj
+msgid "Error: Table {0} is not present in the Query Processor Store."
+msgstr "Ошибка: таблица {0} отсутствует в хранилище обработчика запросов."
+
+#: src/metabase/query_processor/store.clj
+msgid "Error: Field {0} is not present in the Query Processor Store."
+msgstr "Ошибка: поле {0} отсутствует в хранилище обработчика запросов."
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Task history cleanup successful, rows were {0}deleted"
+msgstr "Очистка истории задач выполнена успешно, строки были удалены {0}"
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "not"
+msgstr "Не"
+
+#: src/metabase/util/encryption.clj
+msgid "For more information, see"
+msgstr "Для получения информации, смотрите"
+
+#: src/metabase/util/schema.clj
+msgid "Integer greater than or equal to zero"
+msgstr "Целое число большее или равное нулю"
+
+#: src/metabase/util/schema.clj
+msgid "value must be an integer greater than or equal to zero."
+msgstr "значение должно быть целым числом, большим или равным нулю."
+
+#: src/metabase/util/schema.clj
+msgid "value must be an integer zero or greater."
+msgstr "значение должно быть целым числом ноль или больше."
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid integer greater than or equal to zero."
+msgstr "значение должно быть действительным целым числом, большим или равным нулю."
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "New users per state in the last 30 days"
+msgstr "Новые пользователи по штату за последние 30 дней"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Created At by day of the week"
+msgstr "Создано в день недели"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Created At by quarter of the year"
+msgstr "Создано на четверть года"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] per country"
+msgstr "[[this.short-name]] по стране"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Users per source"
+msgstr "Пользователи по источнику"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "The top external pages that brought users to your site"
+msgstr "Лучшие внешние страницы, которые привели пользователей на ваш сайт"
+
+#: resources/automagic_dashboards/comparison/State.yaml
+#: resources/automagic_dashboards/comparison/FK.yaml
+#: resources/automagic_dashboards/comparison/Country.yaml
+#: resources/automagic_dashboards/comparison/GenericField.yaml
+msgid "How [[this]] is distributed and more."
+msgstr "Как [[this]] распространяется и т.д."
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "The [[this]] over time"
+msgstr "[[this]] все время"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "User growth"
+msgstr "Рост пользователей"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Whether or not there are any patterns to when they happen."
+msgstr "Есть ли какие-либо закономерности, когда они происходят."
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Users per state"
+msgstr "Пользователи по штату"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Sessions"
+msgstr "Сессии"
+
+#: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
+msgid "How some of the numbers in [[this]] relate to each other"
+msgstr "Как некоторые из чисел в [[this]] связаны друг с другом"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Sales per country"
+msgstr "Продажи по стране"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Join date by month of the year"
+msgstr "Регистрация на месяц года"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "[[Timestamp]] by hour of the day"
+msgstr "[[Timestamp]] по часам дня"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "A look at the [[this]]"
+msgstr "Посмотрите на [[this]]"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "Bottom 5 per category"
+msgstr "Нижние 5 в категории"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Number of orders"
+msgstr "Число заказов"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Event growth"
+msgstr "Рост событий"
+
+#: resources/automagic_dashboards/table/example/indepth.yaml
+msgid "Total [[GenericTable]]"
+msgstr "Всего [[GenericTable]]"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Income growth"
+msgstr "Рост выручки"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Top 10 countries by sales in the last 30 days"
+msgstr "Топ-10 стран по продажам за последние 30 дней"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "[[this]] by month of the year"
+msgstr "[[this]] по месяцам года"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Transactions per day of the week"
+msgstr "Транзакции по дням недели"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Sessions by device type"
+msgstr "Сессии по типу устройства"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Transactions per country"
+msgstr "Транзакции по стране"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Join date by quarter of the year"
+msgstr "Дата регистрации по кварталам года"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per hour of the day"
+msgstr "События по часу дня"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[Singleton]]"
+msgstr "[[Singleton]]"
+
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "Top 5 [[this]]"
+msgstr "Верхние 5 [[this]]"
+
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "Bottom 5 [[this]]"
+msgstr "Нижние 5 [[this]]"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "[[Timestamp]] by day of the month"
+msgstr "[[Timestamp]] по дням месяца"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Per [[GenericCategoryLarge]]"
+msgstr "Ð’ [[GenericCategoryLarge]]"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+msgid "Null values"
+msgstr "Пустые значения"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Total events"
+msgstr "Всего событий"
+
+#: resources/automagic_dashboards/field/GenericField.yaml
+msgid "A look at [[GenericTable]] across your [[this]], and how it changes over time."
+msgstr "Смотрите на [[GenericTable]] через ваш [[this]], и как это изменялось во времени."
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per [[GenericCategoryMedium]]"
+msgstr "[[this]] по [[GenericCategoryMedium]]"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "How the [[this]] changes with time"
+msgstr "Как [[this]] изменялось во времени"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "How they compare by seasonality"
+msgstr "Как они сравниваются по сезонности"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Average income per transaction"
+msgstr "Средний доход по транзакции"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per country"
+msgstr "[[this]] по странам"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Income per state"
+msgstr "Доход по штату"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Per [[GenericCategoryMedium]]"
+msgstr "По [[GenericCategoryMedium]]"
+
+#: resources/automagic_dashboards/question/GenericQuestion.yaml
+msgid "A closer look at your [[this]]"
+msgstr "Посмотреть ближе на ваш [[this]]"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "How [[GenericNumber]] is distributed"
+msgstr "Как [[GenericNumber]] распространяется"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "[[Timestamp]] by quarter of year"
+msgstr "[[Timestamp]] по кварталам года"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per country"
+msgstr "События по стране"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Weekdays when [[this.short-name]] were added"
+msgstr "Дни недели когда [[this.short-name]] было добавлено"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Months when [[this.short-name]] were added"
+msgstr "Месяцы, когда [[this.short-name]] было добавлено"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How they compare across different categories"
+msgstr "Как они сравниваются в разных категориях"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "New users per source in the last 30"
+msgstr "Новые пользователи по источнику за последние 30 дней"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per quarter of the year"
+msgstr "События по кварталу года"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Heres a quick look at your [[this]]"
+msgstr "Это быстрый взгляд на ваш [[this]]"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per [[GenericCategoryLarge]], top 5"
+msgstr "[[this]] по [[GenericCategoryLarge]], топ 5"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Days when [[this.short-name]] were added"
+msgstr "Дни, когда [[this.short-name]] добавлено"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Total orders per source"
+msgstr "Всего заказов по источнику"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "[[this]] by quarter of the year"
+msgstr "[[this]] поквартально"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per [[GenericCategoryMedium]]"
+msgstr "События по [[GenericCategoryMedium]]"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per state"
+msgstr "События по штату"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Top landing pages"
+msgstr "Лучшие целевые страницы"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Heres a closer look at your [[this]] over time"
+msgstr "Более близкий взгляд на ваш [[this]] во времени"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "Sum of [[this]] by [[Country]]"
+msgstr "Сумма [[this]] по [[Country]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "States that are performing best"
+msgstr "Штаты, которые показывают лучшие результаты"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Created At by month of the year"
+msgstr "Создано по месяцу года"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "Sum of [[this]] by [[State]]"
+msgstr "Сумма [[this]] по [[State]]"
+
+#: resources/automagic_dashboards/field/State.yaml
+msgid "Sum of [[GenericNumber]] per [[this]]"
+msgstr "Сумма по [[GenericNumber]]  [[this]]"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events by coordinates"
+msgstr "События по координатам"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Top referral pages"
+msgstr "Топ реферальных страниц"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "An exploration of your users to get you started."
+msgstr "Исследование ваших пользователей, чтобы вы начали."
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "An overview of your [[this]] and how its distributed across time, place, and categories."
+msgstr "Обзор вашего [[this]] и того, как он распределяется по времени, месту и категориям."
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Average income per state"
+msgstr "Средняя выручка по штату"
+
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+msgid "[[this]] by [[GenericCategoryMedium]]"
+msgstr "[[this]] по [[GenericCategoryMedium]]"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Total transactions"
+msgstr "Всего транзакций"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] that have joined over time"
+msgstr "[[this.short-name]] которое добавлено во времени."
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "The [[this]] by location"
+msgstr "[[this]] по расположению"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per month of the year"
+msgstr "События по месяцу года"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] by [[GenericNumber]]"
+msgstr "[[this]] по [[GenericNumber]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Quarters when [[this.short-name]] were added"
+msgstr "Кварталы, когда [[this.short-name]] было добавлено"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "How these [[this.short-name]] are distributed"
+msgstr "Как эти [[this.short-name]] распространяются"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] by [[GenericNumber]]"
+msgstr "[[this.short-name]] по [[GenericNumber]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Where users are coming from"
+msgstr "Откуда приходят пользователи"
+
+#: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
+msgid "[[this]] comparisons and correlations"
+msgstr "[[this]] сравнения и совпадения"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Total income"
+msgstr "Общий доход"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Total income per month"
+msgstr "Общий дохов по месяцу"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Number of users per source"
+msgstr "Количество пользователей по источникам"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Transactions per state"
+msgstr "Транзакции по штату"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "[[this]] by [[Timestamp]]"
+msgstr "[[this]] по [[Timestamp]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "New users per source in the last 30 days"
+msgstr "Новые пользователи по источнику за последние 30 дней"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Join date by day of the month"
+msgstr "Прикрепить данные по дню месяца"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Average discount %"
+msgstr "Средняя скидка %"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Autogenerated metrics about [[GenericTable]]."
+msgstr "Авто сгенерированная метрика про [[GenericTable]]."
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per day of the month"
+msgstr "[[this]] по дню месяца"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Total sessions in each country"
+msgstr "Всего сессий в каждой стране"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Transactions per month of the year"
+msgstr "Транзакции по месяцам года"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Sales per product"
+msgstr "Продажи по продуктам"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Users in each country"
+msgstr "Пользователи в каждой стране"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "[[this]] by hour of the day"
+msgstr "[[this]] по часам дня"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events in the last 30 days"
+msgstr "События за последние 30 дней"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Transactions per source"
+msgstr "Транзакции по источнику"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Where youve acquired your users"
+msgstr "Где вы собрали ваших пользователей"
+
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How they compare acrosss location"
+msgstr "Как их сравнить по расположению"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "[[this]] per product"
+msgstr "[[this]] по продукту"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per month of the year"
+msgstr "[[this]] по месяцу года"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Per country"
+msgstr "По стране"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "A deeper look at how different countries are performing for you."
+msgstr "Более глубокий взгляд на то, как разные страны работают для вас."
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Sales per state"
+msgstr "Продаже по штату"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events by [[GenericNumber]]"
+msgstr "События по [[GenericNumber]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "Sales per product [[ProductCategoryMedium]]"
+msgstr "Продажи по продуктам [[ProductCategoryMedium]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "User acquisition by country"
+msgstr "Приобретение пользователя по стране"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "[[this]] per source"
+msgstr "[[this]] per source"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "[[this]] by day of the week"
+msgstr "[[this]] by day of the week"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Days of the month when [[this.short-name]] joined"
+msgstr "Дни месяца, когда [[this.short-name]] присоединился"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Heres an overview of the people in your [[this]]"
+msgstr "Это обзор людей в вашем [[this]]"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "How [[GenericTable]] are distributed across this time field, and if it has any seasonal patterns."
+msgstr "Как [[GenericTable]] распределяется по этому временному полю, и имеет ли он какие-либо сезонные закономерности."
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+#: resources/automagic_dashboards/table/EventTable.yaml
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Overview"
+msgstr "Обзор"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How this metric is distributed across different categories"
+msgstr "Как эта метрика распределяется по различным категориям"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] per state"
+msgstr "[[this.short-name]] по штату"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Weekdays when [[this.short-name]] joined"
+msgstr "День недели, когда [[this.short-name]] добавлено"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Hours when [[this.short-name]] joined"
+msgstr "Часы, когда [[this.short-name]] добавлено"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Total income by month"
+msgstr "Общая выручка по месяцам"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "A breakdown of your [[this]] over time, and its min, max, average and more."
+msgstr "Разбивка вашего [[this]] со временем, а также его минимальное, максимальное, среднее и многое другое."
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Average quantity per state"
+msgstr "Среднее количество по штату"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How they compare by across different numbers"
+msgstr "Как они сравниваются по разным числам"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "New users per country in the last 30 days"
+msgstr "Новые пользователи в каждой стране за последние 30 дней"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Transactions over time"
+msgstr "Транзакции по времени"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per [[GenericCategorySmall]]"
+msgstr "[[this]] по [[GenericCategorySmall]]"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Some breakdown"
+msgstr "Что-то сломалось"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "Average of [[this]] by [[State]]"
+msgstr "Среднее [[this]] по [[State]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Transactions per quarter of the year"
+msgstr "Транзакций за квартал года"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "By coordinates"
+msgstr "По координатам"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "Heres a closer look at your [[this]] by products"
+msgstr "Вот внимательный взгляд на ваши [[this]] по продуктам"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per quarter of the year"
+msgstr "[[this]] поквартально"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Heres an overview of your [[this]] data from Google Analytics"
+msgstr "Это обзор ваших [[this]] данных от Google Analytics"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Quarters when [[this.short-name]] joined"
+msgstr "Кварталы, когда [[this.short-name]] добавился"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "New [[this.short-name]] in the last 30 days"
+msgstr "Новый [[this.short-name]] за последние 30 дней"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Total sessions by desktop, mobile, or tablet"
+msgstr "Общее количество сеансов по рабочему столу, мобильному телефону или планшету"
+
+#: resources/automagic_dashboards/table/example/indepth.yaml
+msgid "Indepth example"
+msgstr "Пример"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Average income per source"
+msgstr "Средняя выручка по источникам"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "[[Timestamp]] by day of week"
+msgstr "[[Timestamp]] по дням недели"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/question/GenericQuestion.yaml
+msgid "Heres a closer look at your [[this]]"
+msgstr "Более близкий взгляд на ваш [[this]]"
+
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "Heres a closer look at your [[this]] field"
+msgstr "Более близкий взгляд на ваше [[this]] поле"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Summary"
+msgstr "Всего"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "How the [[this]] is distributed geographically"
+msgstr "Как [[this]] распространялось географически"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "The pages with the most pageviews"
+msgstr "Страницы с наибольшим количеством просмотров"
+
+#: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
+msgid "How [[Number1]] is correlated with [[Number2]]"
+msgstr "Сейчас [[Number1]] совпадает с [[Number2]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Top 10 states by sales in the last 30 days"
+msgstr "Топ-10 государств по продажам за последние 30 дней"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Top 10 states by sales"
+msgstr "Топ-10 государств по продажи"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[Timestamp]]"
+msgstr "[[Timestamp]]"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Where these transactions happened"
+msgstr "Где эти транзакции произошли"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Top 10 countries by sales"
+msgstr "Топ-10 стран по продажам"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Sales by state"
+msgstr "Продажи по штатам"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Where most of your sessions originate from"
+msgstr "Где большинство ваших сеансов происходят из"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Top acquisition channels"
+msgstr "Самые востребованные каналы"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "These [[this.short-name]] across time"
+msgstr "Эти [[this.short-name]] во времени"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Average quantity"
+msgstr "Среднее количество"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Sales per source"
+msgstr "Продажи по источникам"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Average income per country"
+msgstr "Средняя выручка по странам"
+
+#: resources/automagic_dashboards/comparison/State.yaml
+#: resources/automagic_dashboards/comparison/FK.yaml
+#: resources/automagic_dashboards/comparison/Country.yaml
+#: resources/automagic_dashboards/comparison/GenericField.yaml
+msgid "How [[this]] is distributed"
+msgstr "Как [[this]] распространяется"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Distinct [[FK]]"
+msgstr "Отчетливый [[FK]]"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "How these transactions are distributed"
+msgstr "Как эти транзакции распределены"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Per state"
+msgstr "По штатам"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "Count of [[GenericCategoryMedium]] by [[this]]"
+msgstr "Количество [[GenericCategoryMedium]] по [[this]]"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+#: resources/automagic_dashboards/table/UserTable.yaml
+#: resources/automagic_dashboards/comparison/State.yaml
+#: resources/automagic_dashboards/comparison/FK.yaml
+#: resources/automagic_dashboards/comparison/Country.yaml
+#: resources/automagic_dashboards/comparison/GenericField.yaml
+msgid "A look at your [[this]]"
+msgstr "Взгляд на ваш [[this]]"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+msgid "[[GenericNumber]] by [[this]]"
+msgstr "[[GenericNumber]] по [[this]]"
+
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "Sum of [[GenericNumber]] by [[this]]"
+msgstr "Сумма [[GenericNumber]] от [[this]]"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "A look at your [[this]] table"
+msgstr "Посмотрите на ваш [[this]] стол"
+
+#: resources/automagic_dashboards/field/State.yaml
+msgid "How many [[GenericTable]] there are per state, and how each state is represented across other categories."
+msgstr "Сколько [[GenericTable]] существует в каждом штате и как каждое состояние представлено в других категориях."
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Most-viewed pages"
+msgstr "Наиболее просматриваемые страницы"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Example exploration"
+msgstr "Пример исследования"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "Sales vs. rating"
+msgstr "Продажи против рейтинга"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per hour of the day"
+msgstr "[[this]] по часам"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Where your [[this.short-name]] are"
+msgstr "Где вы [[this.short-name]] "
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "These are the same for all your [[this.short-name]]"
+msgstr "То же самое для всех ваших [[this.short-name]]"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events by different categories"
+msgstr "События по разным категориям"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Where these [[this.short-name]] are"
+msgstr "Где находятся эти [[this.short-name]]"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "Over time"
+msgstr "По времени"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "A summary of the events in your [[this]] table"
+msgstr "Сводка событий в вашей [[this]] таблице"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Transactions per source over time"
+msgstr "Транзакции по источникам во времени"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+msgid "How the [[this]] is distributed"
+msgstr "Как [[this]] распространяется"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Total income per source"
+msgstr "Общий доход на источник"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Total [[this.short-name]]"
+msgstr "Всего [[this.short-name]]"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Some metrics we found about your transactions."
+msgstr "Некоторые показатели, которые мы нашли о ваших транзакциях."
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "How your different products are performing."
+msgstr "Как работают ваши разные продукты."
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Where these events are happening"
+msgstr "Где происходят эти события"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Which US states are bringing you the most business."
+msgstr "Какие штаты принесли вам наибольшую прибыль."
+
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How they compare across time"
+msgstr "Как они сравниваются во времени"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Average transaction income per month"
+msgstr "Средний доход по сделке в месяц"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Average quantity per month"
+msgstr "Среднее количество по месяцам"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "Seasonal patterns in the [[this]]"
+msgstr "Сезонность в [[this]]"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events over time"
+msgstr "События по времени"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Orders and income per source"
+msgstr "Заказы и доход на источник"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Transactions per hour of the day"
+msgstr "Операции по часам дня"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Where most of your traffic is coming from."
+msgstr "Откуда поступает большая часть вашего трафика."
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "Heres a quick look at the [[this]]"
+msgstr "Это быстрый взгляд на [[this]]"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "It looks like your [[this]] has transactions, so heres a look at them"
+msgstr "Похоже что ваша [[this]] содержит транзакции, взгляните на них"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Average discount per month"
+msgstr "Средняя скидка по месяцам"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "[[Timestamp]] by month of the year"
+msgstr "[[Timestamp]] по месяцам года"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per [[GenericCategorySmall]] over time"
+msgstr "[[this]] по [[GenericCategorySmall]] в течении времени"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Distribution by coordinates"
+msgstr "Распределение по координатам"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Sales by source"
+msgstr "Продаже по источникам"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Sales for each product category"
+msgstr "Продажи по каждой категории продуктов"
+
+#: resources/automagic_dashboards/question/GenericQuestion.yaml
+msgid "A closer look at the metrics and dimensions used in this saved question."
+msgstr "Более подробно рассмотрим метрики и измерения, используемые в этом сохраненном вопросе."
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] per [[GenericCategoryMedium]]"
+msgstr "[[this.short-name]] по [[GenericCategoryMedium]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "Sales per product [[ProductCategoryLarge]]"
+msgstr "Продажи по продукту [[ProductCategoryLarge]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Average quantity per country"
+msgstr "Среднее количество по стране"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] per [[GenericCategoryLarge]]"
+msgstr "[[this.short-name]] по [[GenericCategoryLarge]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Heres a closer look at your [[this]] per source"
+msgstr "Ближайший взгляд на ваш [[this]] по источнику"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per day of the month"
+msgstr "События по дням месяца"
+
+#: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
+msgid "If youre into correlations, this is the x-ray for you."
+msgstr "Если вы в совпадении, это рентген для вас"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Sessions by Country"
+msgstr "Сессии по странам"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Some interesting metrics about your GA stats to get you started."
+msgstr "Некоторые интересные показатели о вашей статистике GA, чтобы вы начали."
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per state"
+msgstr "[[this]] по штату"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "[[Timestamp]] by quarter of the year"
+msgstr "[[Timestamp]] по кварталу года"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How its distributed across time and other categories."
+msgstr "Как его распределить по времени и другим категориям."
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "A look at your events over time and by several categories."
+msgstr "Посмотрите на ваши события с течением времени и по нескольким категориям."
+
+#: resources/automagic_dashboards/field/State.yaml
+msgid "[[GenericTable]] per [[this]]"
+msgstr "[[GenericTable]] по [[this]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Average quantity per source"
+msgstr "Среднее количество по источникам"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "Top 5 per category"
+msgstr "Топ 5 категорий"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per day of the week"
+msgstr "События по дням недели"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "New [[this.short-name]] per month"
+msgstr "Новые [[this.short-name]] по месяцам"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Top performers"
+msgstr "Лучшие исполнители"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Transactions in the last 30 days"
+msgstr "Транзакции за последние 30 дней"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "[[GenericTable]] by [[this]]"
+msgstr "[[GenericTable]] by [[this]]"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Overview of your [[this]] data from Google Analytics"
+msgstr "Обзор ваших [[this]] данных из Google Analytics"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Created At by hour of the day"
+msgstr "Создано по часам"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Sales by month"
+msgstr "Продажи по месяцам"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "How the [[this]] is distributed across categories"
+msgstr "Как [[this]] распределяется по категориям"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "[[Timestamp]] by month of year"
+msgstr "[[Timestamp]] по месяцам года"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "How many total sessions vs. how many individual users you had each day."
+msgstr "Сколько всего сессий и сколько отдельных пользователей у вас было каждый день."
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How this metric is distributed across different numbers"
+msgstr "Как эта метрика распределяется по разным номерам"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Sessions by page where the session began"
+msgstr "Сессии за страницей, где сессия началась"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+msgid "Distinct values"
+msgstr "Уникальный значения"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Hours when [[this.short-name]] were added"
+msgstr "Часы, когда [[this.short-name]] было добавлено"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "[[Timestamp]] by day of the week"
+msgstr "[[Timestamp]] по дням недели"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[GenericNumber]] over time"
+msgstr "[[GenericNumber]] все время"
+
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+#: resources/automagic_dashboards/comparison/State.yaml
+#: resources/automagic_dashboards/comparison/FK.yaml
+#: resources/automagic_dashboards/comparison/Country.yaml
+#: resources/automagic_dashboards/comparison/GenericField.yaml
+msgid "Heres an overview of your [[this]]"
+msgstr "Это обзор вашего [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] by coordinates"
+msgstr "[[this.short-name]] по координатам"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Heres a closer look at your [[this]] per state"
+msgstr "Более близкий взгляд [[this]] по штатам"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Created At by day of the month"
+msgstr "Создано в день месяца"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Sales by coordinates"
+msgstr "Продажи по координатам"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "New [[this.short-name]] over time"
+msgstr "Новый [[this.short-name]] все время"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Join date by hour of the day"
+msgstr "Добавленные данные по часам дня"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "[[Timestamp]] by hour of day"
+msgstr "[[Timestamp]] по часам дня"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Sessions and unique users per day"
+msgstr "Сессии и уникальный пользователи по дням"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per [[GenericCategoryLarge]]"
+msgstr "События по [[GenericCategoryLarge]]"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "How they compare by distribution"
+msgstr "Как они сравниваются по распределению"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Income per country"
+msgstr "Доход по странам"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Heres a closer look at your [[this]] per country"
+msgstr "Вот пристальный взгляд на вашу [[this]] в каждой стране"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Sales by product [[ProductCategory]]"
+msgstr "Продажи по продуктам [[ProductCategory]]"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per [[GenericCategoryLarge]], bottom 5"
+msgstr "[[this]] по [[GenericCategoryLarge]], нижние 5"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] added in the last 30 days"
+msgstr "[[this.short-name]] добавлено за последние 30 дней"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Per [[Source]]"
+msgstr "По [[Source]]"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Average item quantity per month"
+msgstr "Среднее количество товара в месяц"
+
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "The number of [[GenericTable]] per country, and how each country is represented in different categories."
+msgstr "Количество [[GenericTable]] на страну и как каждая страна представлена в разных категориях."
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per day of the week"
+msgstr "[[this]] по дням недели"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Average qunatity per source"
+msgstr "Среднее количество по источнику"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] by [[Timestamp]]"
+msgstr "[[this.short-name]] по [[Timestamp]]"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "Summary statistics"
+msgstr "Сводная статистика"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Sales per month"
+msgstr "Продажи в месяц"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[GenericNumber]] by join date"
+msgstr "[[GenericNumber]] по дате присоединения"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "Average of [[this]] by [[Country]]"
+msgstr "Среднее значение [[this]] по [[Country]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "[[this]] over time"
+msgstr "[[this]] за все время"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Join date by day of the week"
+msgstr "Дата присоединения по дню недели"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "We crunched the numbers for your [[this]]"
+msgstr "Мы сократили цифры для вашего [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Months when [[this.short-name]] joined"
+msgstr "Месяцы присоединения [[this.short-name]]"
+
+#: src/metabase/api/geojson.clj
+msgid "Unable to parse resource `{0}` as JSON"
+msgstr "Невозможно проанализировать ресурс `{0}` как JSON"
+
+#: src/metabase/api/geojson.clj
+msgid "Unable to find JSON via relative path `{0}`"
+msgstr "Невозможно найти JSON по относительному пути `{0}`"
+
+#: src/metabase/api/geojson.clj
+msgid "Connection to host timed out for URL `{0}`"
+msgstr "Истекло время соединения с хостом для URL `{0}`"
+
+#: src/metabase/api/geojson.clj
+msgid "Unable to connect to unknown host at URL `{0}`"
+msgstr "Невозможно подключиться к неизвестному хосту по URL `{0}`"
+
+#: src/metabase/api/geojson.clj
+msgid "Unable to connect to host at URL `{0}`"
+msgstr "Невозможно подключиться к хосту по URL `{0}`"
+
+#: src/metabase/api/geojson.clj
+msgid "Connection refused by host at for URL `{0}`"
+msgstr "Соединение отклонено хостом по адресу URL '{0}'"
+
+#: src/metabase/api/geojson.clj
+msgid "Unable to retrieve resource at URL `{0}`"
+msgstr "Невозможно получить ресурс по URL `{0}`"
+
+#: src/metabase/api/geojson.clj
+msgid "Unable to parse resource at URL `{0}` as JSON"
+msgstr "Невозможно проанализировать ресурс по URL `{0}` как JSON"
+
+#: src/metabase/api/session.clj
+msgid "Problem connecting to LDAP server, will fall back to local authentication: {0}"
+msgstr "При подключении к серверу LDAP возникнет проблема с локальной аутентификацией: {0}"
+
+#: src/metabase/driver/bigquery.clj
+msgid "BigQuery statements can''t be parameterized!"
+msgstr "Заявления BigQuery не могут быть параметризованы!"
+
+#: src/metabase/driver/druid/query_processor.clj
+msgid "WARNING: Druid does not allow limitSpec in time series queries. Ignoring the LIMIT clause."
+msgstr "ВНИМАНИЕ: Druid не разрешает limitSpec в запросах временных рядов. Игнорирование предложения LIMIT."
+
+#: src/metabase/driver/snowflake.clj
+msgid "Invalid Snowflake connection details: missing DB name."
+msgstr "Недействительные сведения о подключении Snowflake: отсутствует имя базы данных."
+
+#: src/metabase/email/messages.clj
+msgid "We’d love your feedback."
+msgstr "Спасибо за обратную связь."
+
+#: src/metabase/email/messages.clj
+msgid "It looks like Metabase wasn’t quite a match for you."
+msgstr "Похоже, что Metabase не совсем подходит для вас."
+
+#: src/metabase/email/messages.clj
+msgid "Would you mind taking a fast 5 question survey to help the Metabase team understand why and make things better in the future?"
+msgstr "Не могли бы вы пройти быстрый опрос из 5 вопросов, чтобы помочь команде Metabase понять, почему и улучшить ситуацию в будущем?"
+
+#: src/metabase/email/messages.clj
+msgid "We hope you''ve been enjoying Metabase."
+msgstr "Мы надеемся, что вы наслаждались метабазой."
+
+#: src/metabase/email/messages.clj
+msgid "Would you mind taking a fast 6 question survey to tell us how it’s going?"
+msgstr "Не могли бы вы пройти быстрый опрос из 6 вопросов, чтобы рассказать нам, как идут дела?"
+
+#: src/metabase/email/messages.clj
+msgid "{0} created a Metabase account"
+msgstr "{0} создал учетную запись в Metabase"
+
+#: src/metabase/email/messages.clj
+msgid "{0} accepted their Metabase invite"
+msgstr "{0} принял приглашение в Metabase"
+
+#: src/metabase/email/messages.clj
+msgid "[Metabase] Password Reset Request"
+msgstr "[Metabase] Запрос на сброс пароля"
+
+#: src/metabase/email/messages.clj
+msgid "[Metabase] Notification"
+msgstr "[Metabase] Уведомление"
+
+#: src/metabase/email/messages.clj
+msgid "[Metabase] Help make Metabase better."
+msgstr "[Metabase] Помогите сделать Metabase лучше"
+
+#: src/metabase/email/messages.clj
+msgid "[Metabase] Tell us how things are going."
+msgstr "[Metabase] Расскажите, как идут дела?"
+
+#: src/metabase/mbql/util.clj
+msgid "Error: query''s source query has not been resolved. You probably need to `preprocess` the query first."
+msgstr "Ошибка: исходный запрос запроса не был разрешен. Вам, вероятно, нужно сначала обработать запрос."
+
+#: src/metabase/models/params.clj
+msgid "Don't know what to do with:"
+msgstr "Не знаю что сделать с:"
+
+#: src/metabase/models/params.clj
+msgid "Don't know how to wrap:"
+msgstr "Не знаю, как обернуть:"
+
+#: src/metabase/public_settings.clj
+msgid "Failed setting `query-caching-max-kb` to {0}."
+msgstr "Не удалось установить для `query-caching-max-kb` значение {0}."
+
+#: src/metabase/public_settings.clj
+msgid "Values greater than {1} are not allowed."
+msgstr "Значения, превышающие {1}, не допускаются."
+
+#: src/metabase/query_processor/middleware/resolve_database.clj
+msgid "Database {0} does not exist."
+msgstr "База данных {0} не существует."
+
+#: src/metabase/query_processor/store.clj
+msgid "Error: Database is not present in the Query Processor Store."
+msgstr "Ошибка: база данных отсутствует в хранилище обработчика запросов."
+
+#: src/metabase/util/embed.clj
+msgid "Invalid embedding-secret-key! Secret key must be a hexadecimal-encoded 256-bit key (i.e., a 64-character string)."
+msgstr "Неверный встраиваемый секретный ключ! Секретным ключом должен быть шестнадцатеричный кодированный 256-битный ключ (то есть строка из 64 символов)."
+
+#: src/metabase/util/embed.clj
+msgid "JWT is missing `alg`."
+msgstr "JWT отсутствует `alg`."
+
+#: src/metabase/util/embed.clj
+msgid "JWT `alg` cannot be `none`."
+msgstr "JWT `alg` не может быть` none`."
+
+#: src/metabase/util/embed.clj
+msgid "The embedding secret key has not been set."
+msgstr "Секретный ключ для встраивания не был установлен."
+
+#: src/metabase/util/embed.clj
+msgid "Token is missing value for keypath"
+msgstr "В токене отсутствует значение для ключевого пути"
+
+#: resources/automagic_dashboards/table/example/indepth.yaml
+msgid "In-depth example"
+msgstr "Подробный пример"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:29
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:17
+msgid "Key"
+msgstr "Ключ"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:30
+msgid "Class"
+msgstr "Класс"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:32
+msgid "Triggers"
+msgstr "Триггер"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:48
+msgid "View triggers"
+msgstr "Просмотр триггеров"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:82
+msgid "Scheduler Info"
+msgstr "Информация о планировщике"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:20
+msgid "Priority"
+msgstr "Приоритет"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:21
+msgid "Last Fired"
+msgstr "Последний Запуск"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:22
+msgid "Next Fire Time"
+msgstr "Время следующего запуска"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:23
+msgid "Start Time"
+msgstr "Время Запуска"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:24
+msgid "End Time"
+msgstr "Время Завершения"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:25
+msgid "Final Fire Time"
+msgstr "Окончательное время запуска"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:26
+msgid "May Fire Again?"
+msgstr "Возможен повторный запуск?"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:75
+msgid "Triggers for {0}"
+msgstr "Триггеры для {0}"
+
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:25
+msgid "Tasks"
+msgstr "Задачи"
+
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:30
+msgid "Jobs"
+msgstr "Работа"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:740
+msgid "Duplicated {0}"
+msgstr "Дубликат {0}"
+
+#: frontend/src/metabase/components/EntityItem.jsx:55
+msgid "Duplicate this item"
+msgstr "Дублировать этот элемент"
+
+#: frontend/src/metabase/components/EntityItem.jsx:61
+msgid "Archive this item"
+msgstr "Архивировать этот элемент"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:330
+msgid "Duplicate dashboard"
+msgstr "Дублировать Панель Управления"
+
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:16
+msgid "Duplicate \"{0}\""
+msgstr "Дублировать \"{0}\""
+
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:21
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:26
+msgid "Duplicate"
+msgstr "Дублировать"
+
+#: frontend/src/metabase/lib/query_time.js:115
+msgid "Tomorrow"
+msgstr "Завтра"
+
+#: frontend/src/metabase/lib/query_time.js:129
+#: frontend/src/metabase/lib/query_time.js:143
+msgid "This {0}"
+msgstr "Этот {0}"
+
+#: frontend/src/metabase/lib/query_time.js:132
+msgid "Next {0}"
+msgstr "Следующий {0}"
+
+#: frontend/src/metabase/lib/query_time.js:135
+msgid "Previous {0}"
+msgstr "Предыдущий {0}"
+
+#: frontend/src/metabase/lib/query_time.js:139
+msgid "Previous {0} {1}"
+msgstr "Предыдущий {0} {1}"
+
+#: frontend/src/metabase/lib/query_time.js:141
+msgid "Next {0} {1}"
+msgstr "Следующий {0}{1}"
+
+#: frontend/src/metabase/lib/query_time.js:171
+msgid "Now"
+msgstr "Сейчас"
+
+#: frontend/src/metabase/lib/query_time.js:174
+msgid "{0} {1} ago"
+msgstr "{0} {1} назад"
+
+#: frontend/src/metabase/lib/query_time.js:175
+msgid "{0} {1} from now"
+msgstr "{0} {1} назад"
+
+#: frontend/src/metabase/lib/query_time.js:187
+msgid "Default period"
+msgid_plural "Default periods"
+msgstr[0] "Период по умолчанию"
+msgstr[1] "Периоды по умолчанию"
+msgstr[2] "Периоды по умолчанию"
+msgstr[3] "Периоды по умолчанию"
+
+#: frontend/src/metabase/lib/query_time.js:203
+msgid "Minute of hour"
+msgid_plural "Minutes of hour"
+msgstr[0] "Минута часа"
+msgstr[1] "минуты часа"
+msgstr[2] "минуты часа"
+msgstr[3] "минуты часа"
+
+#: frontend/src/metabase/lib/query_time.js:205
+msgid "Hour of day"
+msgid_plural "Hours of day"
+msgstr[0] "Час дня"
+msgstr[1] "Час дня"
+msgstr[2] "Час дня"
+msgstr[3] "Час дня"
+
+#: frontend/src/metabase/lib/query_time.js:207
+msgid "Day of week"
+msgid_plural "Days of week"
+msgstr[0] "День недели"
+msgstr[1] "Дни недели"
+msgstr[2] "Дни недели"
+msgstr[3] "Дни недели"
+
+#: frontend/src/metabase/lib/query_time.js:209
+msgid "Day of month"
+msgid_plural "Days of month"
+msgstr[0] "День месяца"
+msgstr[1] "Дни месяца"
+msgstr[2] "Дни месяца"
+msgstr[3] "Дни месяца"
+
+#: frontend/src/metabase/lib/query_time.js:211
+msgid "Day of year"
+msgid_plural "Days of year"
+msgstr[0] "День года"
+msgstr[1] "Дни года"
+msgstr[2] "Дни года"
+msgstr[3] "Дни года"
+
+#: frontend/src/metabase/lib/query_time.js:213
+msgid "Week of year"
+msgid_plural "Weeks of year"
+msgstr[0] "Неделя года"
+msgstr[1] "Недели  года"
+msgstr[2] "Недели  года"
+msgstr[3] "Недели  года"
+
+#: frontend/src/metabase/lib/query_time.js:215
+msgid "Month of year"
+msgid_plural "Months of year"
+msgstr[0] "Месяц года"
+msgstr[1] "Месяцы года"
+msgstr[2] "Месяцы года"
+msgstr[3] "Месяцы года"
+
+#: frontend/src/metabase/lib/query_time.js:217
+msgid "Quarter of year"
+msgid_plural "Quarters of year"
+msgstr[0] "Квартал года"
+msgstr[1] "Кварталы года"
+msgstr[2] "Кварталы года"
+msgstr[3] "Кварталы года"
+
+#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:62
+#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:58
+#: frontend/src/metabase/query_builder/components/Filter.jsx:79
+msgid "{0} selection"
+msgid_plural "{0} selections"
+msgstr[0] "{0} выборка"
+msgstr[1] "{0} выборки"
+msgstr[2] "{0} выборки"
+msgstr[3] "{0} выборки"
+
+#: frontend/src/metabase/parameters/components/widgets/DateQuarterYearWidget.jsx:11
+msgid "[Q]Q"
+msgstr "[?]?"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:28
+msgid "This"
+msgstr "Этот"
+
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:64
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:96
+msgid "Invalid"
+msgstr "Некорректный"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/SpecificDatePicker.jsx:147
+msgid "Add a time"
+msgstr "Добавить время"
+
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:170
+msgid "Nothing to compare for the previous {0}."
+msgstr "Нечего сравнивать с предыдущим {0}."
+
+#: frontend/src/metabase-lib/lib/Dimension.js:517
+msgid "by {0}"
+msgstr "по {0}"
+
+#: src/metabase/api/database.clj
+msgid "value must be a valid database engine."
+msgstr "значение должно быть корректным для СУБД"
+
+#: src/metabase/api/geojson.clj
+msgid "Connection refused by host for URL `{0}`"
+msgstr "Соединение отклонено сервером для URL `{0}`"
+
+#: src/metabase/db.clj
+msgid "Warning: Postgres connection string with `ssl=true` detected."
+msgstr "Предупреждение: соединение с Postgres с параметром `ssl=true` обнаружено."
+
+#: src/metabase/db.clj
+msgid "You may need to add `?sslmode=require` to your application DB connection string."
+msgstr "Возможно необходимо добавить `?sslmode=require` к строке соединения с БД."
+
+#: src/metabase/db.clj
+msgid "If Metabase fails to launch, please add it and try again."
+msgstr "Если запуск Metabase не удался, пожалуйста добавьте и попробуйте снова."
+
+#: src/metabase/db.clj
+msgid "See https://github.com/metabase/metabase/issues/8908 for more details."
+msgstr "Смотрите https://github.com/metabase/metabase/issues/8908 для получения большей информации."
+
+#: src/metabase/db.clj
+msgid "WARNING: Using Metabase with an H2 application database is not recomended for production deployments."
+msgstr "ПРЕДУПРЕЖДЕНИЕ: Использование Metabase с базой данных H2 не рекомендуется для развёртывания в производственной среде."
+
+#: src/metabase/db.clj
+msgid "For production deployments, we highly recommend using Postgres, MySQL, or MariaDB instead."
+msgstr "Для развёртывания в производственной среде, мы настоятельно рекомендуем использовать Postgres, MySQL, или MariaDB."
+
+#: src/metabase/db.clj
+msgid "If you decide to continue to use H2, please be sure to back up the database file regularly."
+msgstr "Если вы решите продолжить использование H2, пожалуйста удостоверьтесь, что резервная копия файла базы данных выполняется регулярно."
+
+#: src/metabase/db.clj
+msgid "See https://metabase.com/docs/latest/operations-guide/start.html#migrating-from-using-the-h2-database-to-mysql-or-postgres for more information."
+msgstr "Для дополнительной информации смотрите: https://metabase.com/docs/latest/operations-guide/start.html#migrating-from-using-the-h2-database-to-mysql-or-postgres."
+
+#: src/metabase/db.clj
+msgid "Unable to connect to Metabase {0} DB."
+msgstr "Невозможно подключиться к Metabase {0} БД."
+
+#: src/metabase/db/migrations.clj
+msgid "Error adding legacy SQL directive to BigQuery saved Question"
+msgstr "Ошибка добавления устаревшей SQL команды в сохранённый вопрос BigQuery"
+
+#: src/metabase/driver.clj
+msgid "Failed to notify {0} Database {1} updated"
+msgstr "Не удалось уведомить {0} база данных {1} обновлена"
+
+#: src/metabase/driver.clj
+msgid "Loading driver {0} {1}"
+msgstr "Загрузка драйвера"
+
+#: src/metabase/driver.clj
+msgid "Load driver {0}"
+msgstr "Загрузить драйвер"
+
+#: src/metabase/driver.clj
+msgid "Driver not registered after loading: {0}"
+msgstr "Драйвер не зарегистрирован после загрузки: {0}"
+
+#: src/metabase/driver.clj
+msgid "Error: attempting to change {0} property `:abstract?` from {1} to {2}."
+msgstr "Ошибка: попытка изменить свойство {0} `: abstract?` с {1} на {2}."
+
+#: src/metabase/driver.clj
+msgid "Registered abstract driver {0}"
+msgstr "Абстрактный драйвер зарегистрирован"
+
+#: src/metabase/driver.clj
+msgid "Registered driver {0}"
+msgstr "Драйвер зарегистрирован"
+
+#: src/metabase/driver.clj
+msgid "(parents: {0})"
+msgstr "(родительские: {0})"
+
+#: src/metabase/driver.clj
+msgid "Initializing driver {0}..."
+msgstr "Инициализация драйвера {0}..."
+
+#: src/metabase/driver.clj
+msgid "Reason:"
+msgstr "Причина:"
+
+#: src/metabase/driver.clj
+msgid "Invalid driver feature: {0}"
+msgstr "Некорректная функция драйвера: {0}"
+
+#: src/metabase/driver/sql/query_processor.clj
+msgid "Invalid HoneySQL form:"
+msgstr "Неправильная HoneySQL форма:"
+
+#: src/metabase/driver/sql_jdbc/connection.clj
+msgid "Closing connection pool for database {0} ..."
+msgstr "Закрытие пула соединений к базе данных {0} ..."
+
+#: src/metabase/driver/util.clj
+msgid "Error loading namespace"
+msgstr "Ошибка в загрузке пространства имен"
+
+#: src/metabase/events.clj
+msgid "Starting events listener:"
+msgstr "Запуск слушателя событий:"
+
+#: src/metabase/events.clj
+msgid "Unexpected error listening on events"
+msgstr "Непредвиденная ошибка прослушивания событий"
+
+#: src/metabase/events/sync_database.clj
+msgid "Error syncing Database {0}"
+msgstr "Ошибка синхронизации Database {0}"
+
+#: src/metabase/events/sync_database.clj
+msgid "Failed to process sync-database event."
+msgstr "Не удалось обработать событие sync-database."
+
+#: src/metabase/mbql/util.clj
+msgid "Bad nested-query-level: query does not have a source query"
+msgstr "Неверный уровень вложенности запросов: запрос не содержит исходного запроса."
+
+#: src/metabase/metabot/command.clj
+msgid "I don''t know how to `{0}`."
+msgstr "Я не знаю как сделать `{0}`."
+
+#: src/metabase/metabot/command.clj
+msgid "Here''s what I can do: "
+msgstr "Вот что я могу: "
+
+#: src/metabase/metabot/slack.clj
+msgid "Error in Metabot command"
+msgstr "Ошибка в команда"
+
+#: src/metabase/metabot/websocket.clj
+msgid "Websocket associated with this Slack event is different from the websocket we're currently using."
+msgstr "Веб-сокет, связанный с этим событием Slack, отличается от веб-сокета, который мы сейчас используем."
+
+#: src/metabase/models/field_values.clj
+msgid "FieldValues for Field {0} remain unchanged. Skipping..."
+msgstr "Значения для поля {0} не изменились. Пропуск..."
+
+#: src/metabase/models/interface.clj
+msgid "Unable to normalize:"
+msgstr "Невозможно нормализовать:"
+
+#: src/metabase/models/params.clj
+msgid "Could not find matching Field ID for target:"
+msgstr "Не удалось найти подходящий Field ID для цели"
+
+#: src/metabase/plugins.clj
+msgid "Metabase does not have permissions to write to plugins directory {0}"
+msgstr "У Metabase нет прав для записи в каталог плагинов {0}"
+
+#: src/metabase/plugins.clj
+msgid "Metabase cannot use the plugins directory {0}"
+msgstr "Metabase не может использовать каталог плагинов {0}"
+
+#: src/metabase/plugins.clj
+msgid "Please make sure the directory exists and that Metabase has permission to write to it."
+msgstr "Пожалуйста проверьте, что каталог существует и Metabase имеет права для записи в него."
+
+#: src/metabase/plugins.clj
+msgid "You can change the directory Metabase uses for modules by setting the environment variable MB_PLUGINS_DIR."
+msgstr "Вы можете изменить каталог, используемый Metabase для модулей, установкой переменной окружения MB_PLUGINS_DIR."
+
+#: src/metabase/plugins.clj
+msgid "Falling back to a temporary directory for now."
+msgstr "Откат к временному каталогу на данный момент."
+
+#: src/metabase/plugins.clj
+msgid "Metabase cannot write to temporary directory. Please set MB_PLUGINS_DIR to a writable directory and restart Metabase."
+msgstr "Metabase не может записать во временный каталог. Пожалуйста укажите в MB_PLUGINS_DIR каталог, доступный для записи, и перезапустите Metabase."
+
+#: src/metabase/plugins.clj
+msgid "spark-deps.jar is no longer needed by Metabase 1.0+. You can delete it from the plugins directory."
+msgstr "spark-deps.jar больше не требуется для Metabase 1.0+. Вы можете его удалить из каталога плагинов."
+
+#: src/metabase/plugins.clj
+msgid "Failied to initialize plugin {0}"
+msgstr "Не удалось инициализировать плагин {0}"
+
+#: src/metabase/plugins.clj
+msgid "Loading plugins in {0}..."
+msgstr "Загрузка плагинов в {0}..."
+
+#: src/metabase/plugins/classloader.clj
+msgid "Using Clojure base loader as shared context classloader: {0}"
+msgstr "Использование базового загрузчика Clojure в качестве загрузчика классов с общим контекстом: {0}"
+
+#: src/metabase/plugins/classloader.clj
+msgid "Setting current thread context classloader to shared classloader {0}..."
+msgstr "Установка текущего загрузчика классов контекста потока в общий загрузчик классов {0}..."
+
+#. it's important that we deref the promise again here instead of using the one we just created because it is
+#. possible thru a race condition that somebody else delivered the promise before we did; in that case,
+#. Clojure ignores subsequent calls to `deliver`. Dereffing the promise guarantees that we'll get the actual
+#. value of it rather than one that ends up getting discarded
+#: src/metabase/plugins/classloader.clj
+msgid "Setting current thread context classloader to NEWLY CREATED classloader {0}..."
+msgstr "Установка текущего загрузчика классов контекста потока в NEWLY CREATED загрузчик классов {0}..."
+
+#: src/metabase/plugins/classloader.clj
+msgid "Added URL {0} to classpath"
+msgstr "Добавлена URL {0} в classpath"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugin {0} declares a dependency that Metabase does not understand: {1}"
+msgstr "Плагин {0} декларирует зависимость, которую Metabase не понимает: {1}"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Refer to the plugin manifest reference for a complete list of valid plugin dependencies:"
+msgstr "Обратитесь к ссылке на manifest плагина для получения полного списка зависимостей плагина:"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Metabase cannot initialize plugin {0} due to required dependencies."
+msgstr "Metabase не может инициализировать плагин {0} из-за обязательных зависимостей."
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Class not found: {0}"
+msgstr "Класс не найден"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugin ''{0}'' depends on plugin ''{1}''"
+msgstr "Плагин \"{0}\" зависит от плагина \"{1}\""
+
+#: src/metabase/plugins/dependencies.clj
+msgid "{0} dependency {1} satisfied? {2}"
+msgstr "{0} зависимость {1} удовлетворена? {2}"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugins with unsatisfied deps: {0}"
+msgstr "Плагины с неудовлетворенными зависимостями: {0}"
+
+#: src/metabase/plugins/files.clj
+msgid "Extract file {0} -> {1}"
+msgstr "Извлечь файл {0} -> {1}"
+
+#: src/metabase/plugins/files.clj
+msgid "Resource does not exist."
+msgstr "Ресурс не существует"
+
+#: src/metabase/plugins/init_steps.clj
+msgid "Loading plugin namespace {0}..."
+msgstr "Загрузка пространства имён плагина {0}..."
+
+#: src/metabase/plugins/initialize.clj
+msgid "Dependencies satisfied; these plugins will now be loaded: {0}"
+msgstr "Зависимости удовлетворены: эти плагины теперь будут загружены: {0}"
+
+#: src/metabase/plugins/jdbc_proxy.clj
+msgid "Registering JDBC proxy driver for {0}..."
+msgstr "Регистрация JDBC-прокси драйвера для {0}..."
+
+#: src/metabase/plugins/jdbc_proxy.clj
+msgid "Deregistering original JDBC driver {0}..."
+msgstr "Разрегистрация оригинального JDBC драйвера {0}..."
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Default connection property {0} does not exist."
+msgstr "Свойства соединения по умолчанию {0} не существует."
+
+#. как перевести map?
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Invalid connection property {0}: not a string or map."
+msgstr "Некорректное свойство соединения {0}: не строка или объект мэппинга."
+
+#. ok, do the init steps listed in the plugin mainfest
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Load lazy loading driver {0}"
+msgstr "Загрузка отложенной загрузки драйвера {0}"
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Cannot initialize plugin: missing required property `driver-name`"
+msgstr "Невозможно инициировать плагин: отсутствует обязательный параметр `driver-name`"
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Warning: plugin manifest for {0} does not include connection properties"
+msgstr "Предупреждение: manifest плагина для {0} не включает свойств соединения"
+
+#. finally, register the Metabase driver
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Registering lazy loading driver {0}..."
+msgstr "Регистрация отложенной загрузки драйвера {0}..."
+
+#: src/metabase/pulse.clj
+msgid "Error running query for Card {0}"
+msgstr "Ошибка выполнения запроса для карточки {0} "
+
+#: src/metabase/pulse/render.clj
+msgid "Last week"
+msgstr "Прошлая неделя"
+
+#: src/metabase/pulse/render.clj
+msgid "This week"
+msgstr "Эта неделя"
+
+#: src/metabase/pulse/render.clj
+msgid "Last month"
+msgstr "Последний месяц"
+
+#: src/metabase/pulse/render.clj
+msgid "This month"
+msgstr "Этот месяц"
+
+#: src/metabase/pulse/render.clj
+msgid "Last quarter"
+msgstr "Последний квартал"
+
+#: src/metabase/pulse/render.clj
+msgid "This quarter"
+msgstr "Этот квартал"
+
+#: src/metabase/pulse/render.clj
+msgid "Last year"
+msgstr "Последний год"
+
+#: src/metabase/pulse/render.clj
+msgid "This year"
+msgstr "Этот год"
+
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "*driver* is unbound."
+msgstr "*driver* не привязан."
+
+#: src/metabase/sync/sync_metadata/fields.clj
+msgid "Error syncing Fields for Table ''{0}''"
+msgstr "Ошибка синхронизации полей из таблицы ''{0}''"
+
+#: src/metabase/sync/sync_metadata/fields.clj
+msgid "Hash of {0} matches stored hash, skipping Fields sync"
+msgstr "Хэш {0} соответствует сохраненному хешу, пропускаем синхронизацию полей"
+
+#: src/metabase/sync/sync_metadata/fields/common.clj
+msgid "Field"
+msgstr "Поле"
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Error checking if Fields {0} need to be created or reactivated"
+msgstr "Ошибка проверки необходимости создания или повторной активации полей {0}"
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Marking Field ''{0}'' as inactive."
+msgstr "Отметка поля ''{0}'' как неактивного."
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Error retiring {0}"
+msgstr "Ошибка получения {0}"
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Database type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr "Тип БД для {0} был изменен с ''{1}'' на ''{2}''. "
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Base type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr "Основной тип для {0} был изменен с ''{1}'' на ''{2}''."
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Special type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr "Специальный тип для {0} был изменен с ''{1}'' на ''{2}''."
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Comment has been added for {0}."
+msgstr "Добавлен комментария для {0}."
+
+#: src/metabase/task.clj
+msgid "Stopping Quartz Scheduler {0}"
+msgstr "Остановка планировщика Quartz {0}"
+
+#: src/metabase/task.clj
+msgid "Starting Quartz Scheduler {0}"
+msgstr "Запуск планировщика Quartz {0} "
+
+#: src/metabase/task.clj
+msgid "Error loading tasks namespace {0}"
+msgstr "Ошибка загрузки пространства имен задач {0}"
+
+#. don't bother logging namespace for now, maybe in the future if there's tasks of the same name in multiple
+#. namespaces we can log it
+#: src/metabase/task.clj
+msgid "Initializing task {0}"
+msgstr "Инициализация задания {0}"
+
+#: src/metabase/task.clj
+msgid "Error initializing task {0}"
+msgstr "Ошибка инициализации задачи {0}"
+
+#: src/metabase/task/follow_up_emails.clj
+msgid "Problem sending abandonment email"
+msgstr "Проблема отправки одиночного email"
+
+#: src/metabase/task/send_anonymous_stats.clj
+msgid "Sending anonymous usage stats."
+msgstr "Отправка анонимной статистики использования."
+
+#: src/metabase/task/send_anonymous_stats.clj
+msgid "Error sending anonymous usage stats"
+msgstr "Ошибка отправки анонимной статистики использования"
+
+#: src/metabase/task/send_pulses.clj
+msgid "Error sending Pulse {0}"
+msgstr "Ошибка отправки Пульса {0}"
+
+#: src/metabase/task/send_pulses.clj
+msgid "Sending scheduled pulses..."
+msgstr "Отправка запланированных пульсов..."
+
+#: src/metabase/task/send_pulses.clj
+msgid "SendPulses task failed"
+msgstr "Задача SendPulses не удалась"
+
+#: src/metabase/task/sync_databases.clj
+msgid "Failed to scheduler tasks for Database {0}"
+msgstr "Ошибка в запланированной задаче базы {0}"
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Cleaning up task history"
+msgstr "Очистка истории заданий"
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Task history cleanup successful, rows were deleted"
+msgstr "Очистка истории прошла успешно, ряды были удалены"
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Task history cleanup successful, no rows were deleted"
+msgstr "Очистка истории прошла успешно, ряды не были удалены"
+
+#: src/metabase/task/upgrade_checks.clj
+msgid "Checking for new Metabase version info."
+msgstr "Проверка наличия новой версии Metabase"
+
+#: src/metabase/task/upgrade_checks.clj
+msgid "Error fetching version info"
+msgstr "Ошибка получения информации о версии"
+
+#: src/metabase/util.clj
+msgid "Maximum memory available to JVM: {0}"
+msgstr "Максимально доступно ОЗУ для JVM: {0}"
+
+#: src/metabase/util.clj
+msgid "Not something with an ID: {0}"
+msgstr "Нет чего-бо с ID: {0}"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by month of the year"
+msgstr "[[CreateDate]] по месяцу года"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Here's a quick look at your [[this]]"
+msgstr "Обратите ваше внимание на [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by hour of the day"
+msgstr "[[CreateTimestamp]] by hour of the day"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Where you've acquired your users"
+msgstr "Где вы приобрели своих пользователей"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How it's distributed across time and other categories."
+msgstr "Распределение данной величины по времени и другим категориям."
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Here's a closer look at your [[this]] per source"
+msgstr "Обратите внимание на [[this]] в источнике"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "Here's a quick look at the [[this]]"
+msgstr "Обратите ваше внимание на [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by day of the month"
+msgstr "[[CreateTimestamp]] по дню месяца"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Here's an overview of the people in your [[this]]"
+msgstr "Здесь обзор людей в вашем [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by quarter of the year"
+msgstr "[[CreateTimestamp]] по кварталу года"
+
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How they compare across location"
+msgstr "Как они сравниваются по расположению"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "Here's a closer look at your [[this]] by products"
+msgstr "Здесь детальный обзор [[this]] по продуктам"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by month of the year"
+msgstr "[[CreateTimestamp]] по месяцу года"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "An overview of your [[this]] and how it's distributed across time, place, and categories."
+msgstr "Обзор вашего [[this]] и его распределения по времени, месту и категориям."
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/question/GenericQuestion.yaml
+msgid "Here's a closer look at your [[this]]"
+msgstr "Здесь детальный обзор вашего [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by day of the week"
+msgstr "[[CreateTimestamp]] по дням недели"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Here's an overview of your [[this]] data from Google Analytics"
+msgstr "Здесь обзор ваших [[this]] данных из Google Analytics"
+
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+#: resources/automagic_dashboards/comparison/State.yaml
+#: resources/automagic_dashboards/comparison/FK.yaml
+#: resources/automagic_dashboards/comparison/Country.yaml
+#: resources/automagic_dashboards/comparison/GenericField.yaml
+msgid "Here's an overview of your [[this]]"
+msgstr "Вот краткий обзор вашего [[this]]"
+
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "Here's a closer look at your [[this]] field"
+msgstr "Вот взгляд на ваше [[this]] поле"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Here's a closer look at your [[this]] per country"
+msgstr "Вот более пристальный взгляд на ваш [[this]] в каждой стране"
+
+#: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
+msgid "If you're into correlations, this is the x-ray for you."
+msgstr "Если вас интересует статистика, то этот x-ray для вас."
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by day of the week"
+msgstr "[[CreateDate]] по дням недели"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "It looks like your [[this]] has transactions, so here's a look at them"
+msgstr "Похоже, что ваши [[this]] имеют транзакции, так что посмотрите на них"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Here's a closer look at your [[this]] per state"
+msgstr "Вот более пристальный взгляд на ваш [[this]] в каждом штате"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by day of the month"
+msgstr "[[CreateDate]] по дням месяца"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTime]] by hour of the day"
+msgstr "[[CreateTime]] по часам в течение дня"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Here's a closer look at your [[this]] over time"
+msgstr "Вот более пристальный взгляд на ваш [[this]] в течении времени"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by quarter of the year"
+msgstr "[[CreateDate]] по кварталам года"
+
+#: frontend/src/metabase/admin/people/containers/EditUserModal.jsx:12
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:200
+msgid "Edit user"
+msgstr "Редактировать пользователя"
+
+#: frontend/src/metabase/admin/people/containers/NewUserModal.jsx:13
+msgid "New user"
+msgstr "Новый пользователь"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:204
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:69
+msgid "Reset password"
+msgstr "Сбросить пароль"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:209
+msgid "Deactivate user"
+msgstr "Деактивировать пользователя"
+
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:47
+msgid "Reactivate {0}?"
+msgstr "Повторно активировать {0}?"
+
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:63
+msgid "We couldn’t send them an email invitation, so make sure to tell them to log in using {0} and this password we’ve generated for them:"
+msgstr "Мы не смогли отправить им приглашение по электронной почте, поэтому обязательно попросите их войти в систему, используя {0}, и этот пароль, который мы сгенерировали для них:"
+
+#: frontend/src/metabase/entities/collections.js:21
+msgid "collection"
+msgstr "коллекция"
+
+#: frontend/src/metabase/entities/collections.js:22
+msgid "collections"
+msgstr "коллекции"
+
+#: frontend/src/metabase/entities/dashboards.js:29
+msgid "dashboard"
+msgstr "дашборд"
+
+#: frontend/src/metabase/entities/dashboards.js:30
+msgid "dashboards"
+msgstr "дашборды"
+
+#: frontend/src/metabase/entities/users.js:125
+msgid "First name is required"
+msgstr "Имя обязательно"
+
+#: frontend/src/metabase/entities/users.js:126
+#: frontend/src/metabase/entities/users.js:133
+msgid "Must be 100 characters or less"
+msgstr "Не более 100 символов"
+
+#: frontend/src/metabase/entities/users.js:132
+msgid "Last name is required"
+msgstr "Фамилия обязательна"
+
+#: frontend/src/metabase/entities/users.js:138
+msgid "Email is required"
+msgstr "Емейл обязателен"
+
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:90
+msgid "Items you archive will appear here."
+msgstr "здесь появится то, что вы заархивировали"
+
+#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:16
+msgid "No description"
+msgstr "Нет описания"
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:175
+msgid "Sum of all values"
+msgstr "Сумма всех значений"
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:183
+msgid "See all distinct values"
+msgstr "Посмотреть уникальные значения"
+
+#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:12
+msgid "Browse the contents of your databases, tables, and columns. Pick a database to get started"
+msgstr "Просмотр содержимого ваших баз, таблиц, колонок. Выберите базу, чтобы начать"
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is VALID. Thanks!"
+msgstr "Метаданные результатов карточки, переданные в API, ДЕЙСТВИТЕЛЬНЫ. Спасибо!"
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is INVALID. Running query to fetch correct metadata."
+msgstr "Метаданные результатов карточки, переданные в API, НЕДЕЙСТВИТЕЛЬНЫ. Выполнените запрос для получения правильных метаданных."
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is  ISSING. Running query to fetch correct metadata."
+msgstr "Метаданные результатов карточки, переданные в API, ОТСУТСТВУЮТ. Выполните запрос для получения правильных метаданных."
+
+#: src/metabase/api/email.clj
+msgid "{0} was autocorrected to {1}"
+msgstr "{0} автоматически поправлен на {1}"
+
+#: src/metabase/api/metric.clj
+msgid "DELETE /api/metric/:id is deprecated. Instead, change its `archived` value via PUT /api/metric/:id."
+msgstr "DELETE /api/metric/:id устарел. Вместо этого, измените значение `archived` через PUT /api/metric/:id."
+
+#: src/metabase/api/segment.clj
+msgid "DELETE /api/segment/:id is deprecated. Instead, change its `archived` value via PUT /api/segment/:id."
+msgstr " DELETE /api/segment/:id устарел. Вместо этого, измените значение `archived` через PUT /api/segment/:id. "
+
+#: src/metabase/api/user.clj
+msgid "Value of is_superuser must correspond to presence of Admin group ID in group_ids."
+msgstr "Значение is_superuser должно соответствовать наличию идентификатора группы администраторов в group_ids."
+
+#: src/metabase/async/api_response.clj
+msgid "Unexpected error writing keepalive characters"
+msgstr "Неожиданная ошибка записи символов поддержки активности"
+
+#: src/metabase/async/api_response.clj
+msgid "Unexpected output in async API response"
+msgstr "Непредвиденных вывод в ответе асинхронного API"
+
+#: src/metabase/async/api_response.clj
+msgid "starting streaming response"
+msgstr "запуск потокового ответа"
+
+#: src/metabase/async/api_response.clj
+msgid "Output chan closed, canceling keepalive request."
+msgstr "Выходной канал закрыт, отмена keepalive-запроса."
+
+#: src/metabase/async/api_response.clj
+msgid "Async response finished, closing channels."
+msgstr "Асинхронный ответ завершен, закрытие каналов."
+
+#: src/metabase/async/api_response.clj
+msgid "No response after waiting {0}. Canceling request."
+msgstr "Нет ответа после ожидания {0}. Отмена запроса."
+
+#: src/metabase/async/api_response.clj
+msgid "Input channel unexpectedly closed."
+msgstr "Входящий канал непредвиденно закрыт."
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "f finished, permit will be returned"
+msgstr "Если закончено, разрешение будет возвращено"
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "request canceled, permit will be returned"
+msgstr "запрос отменен, разрешение будет возвращено"
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Unexpected error attempting to run function after obtaining permit"
+msgstr "Неожиданная ошибка при попытке запустить функцию после получения разрешения"
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Not running pending function call: output channel already closed."
+msgstr "Не запущен ожидающий вызов функции: выходной канал уже закрыт."
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Current thread already has a permit for {0}, will not wait to acquire another"
+msgstr "Текущий поток уже имеет разрешение на {0}, и не будет ждать, чтобы получить другой"
+
+#: src/metabase/async/util.clj
+msgid "Output channel closed, will skip running {0}."
+msgstr "Выходной канал закрыт, пропускаем запуск {0}."
+
+#: src/metabase/async/util.clj
+msgid "Running {0} on separate thread..."
+msgstr "Запуск {0} в отдельном потоке..."
+
+#: src/metabase/async/util.clj
+msgid "Caught error running {0}"
+msgstr "Ошибка при выполнении {0}"
+
+#: src/metabase/async/util.clj
+msgid "Request canceled, canceling future"
+msgstr "Запрос отменен, пройдет отмена."
+
+#: src/metabase/driver/sql_jdbc/connection.clj
+msgid "Closing old connection pool for database {0} ..."
+msgstr "Закрытие старого пула соединений к базе данных {0} ..."
+
+#: src/metabase/metabot/command.clj
+msgid "Here''s your {0} most recent cards:"
+msgstr "Вот ваши {0} самые последних карточек:"
+
+#: src/metabase/metabot/command.clj
+msgid "Could you be a little more specific, or use the ID? I found these cards with names that matched:"
+msgstr "Не могли бы вы быть более конкретным или использовать ID? Я нашел  карточки с именами, которые совпадают с:"
+
+#: src/metabase/metabot/command.clj
+msgid "Card {0} not found."
+msgstr "Карточка {0} не найдена."
+
+#: src/metabase/middleware/exceptions.clj
+msgid "Exception in API call"
+msgstr "Исключение при вызове API"
+
+#: src/metabase/middleware/exceptions.clj
+msgid "Request canceled before finishing."
+msgstr "Запрос отменен до завершения."
+
+#: src/metabase/middleware/json.clj
+msgid "Metabase only supports JSON requests."
+msgstr "Metabase поддерживает только JSON запросы."
+
+#: src/metabase/middleware/json.clj
+msgid "Make sure you set a 'Content-Type: application/json' header."
+msgstr "Убедитесь что используете заголовок 'Content-Type: application/json'."
+
+#: src/metabase/middleware/misc.clj
+msgid "Setting Metabase site URL to {0}"
+msgstr "Установить URLMetabase {0}"
+
+#: src/metabase/models/database.clj
+msgid "Error scheduling tasks for DB"
+msgstr "Ошибка запланированной задачи в БД"
+
+#: src/metabase/models/database.clj
+msgid "Error unscheduling tasks for DB."
+msgstr "Ошибка незапланированной задачи в БД"
+
+#: src/metabase/models/database.clj
+msgid "{0} Database ''{1}'' sync/analyze schedules have changed!"
+msgstr "{0} база данных ''{1}'' расписания синхронизации/анализа изменены!"
+
+#: src/metabase/models/database.clj
+msgid "Sync metadata was: ''{0}'' is now: ''{1}''"
+msgstr "Синхронизация метаданных была: ''{0}'' сейчас: ''{1}''"
+
+#: src/metabase/models/database.clj
+msgid "Cache FieldValues was: ''{0}'', is now: ''{1}''"
+msgstr "Кэш FieldValues был: ''{0}'', сейчас: ''{1}''"
+
+#: src/metabase/models/metric.clj
+msgid "You cannot update the creator_id of a Metric."
+msgstr "Вы не можете обновить creator_id в метрике."
+
+#: src/metabase/models/permissions.clj
+msgid "MetaBot can only have Collection permissions."
+msgstr "MetaBot может иметь разрешения только на коллекции."
+
+#: src/metabase/models/permissions.clj
+msgid "Failed to grant permissions"
+msgstr "Неудача в предоставлении разрешений"
+
+#: src/metabase/models/permissions.clj
+msgid "Changing permissions"
+msgstr "Изменение разрешений"
+
+#: src/metabase/models/permissions.clj
+msgid "FROM:"
+msgstr "ОТ:"
+
+#: src/metabase/models/permissions.clj
+msgid "TO:"
+msgstr "КОМУ:"
+
+#: src/metabase/models/segment.clj
+msgid "You cannot update the creator_id of a Segment."
+msgstr "Вы не можете обновить creator_id в сегменте."
+
+#: src/metabase/models/setting.clj
+msgid "Attempted to set Setting {0} to obfuscated value. Ignoring change."
+msgstr "Попытка установить параметр {0} на неочевидное значение. Изменение проигнорировано."
+
+#: src/metabase/models/setting.clj
+msgid "Using value of env var {0}"
+msgstr "Использование значения переменных среды {0}"
+
+#: src/metabase/models/user.clj
+msgid "Adding User {0} to All Users permissions group..."
+msgstr "Добавление пользователя {0} в группу доступа \"Все пользователи\"..."
+
+#: src/metabase/models/user.clj
+msgid "Adding User {0} to Admin permissions group..."
+msgstr "Добавление пользователя {0} в группу доступа Администратор..."
+
+#: src/metabase/query_processor.clj
+msgid "Query failure"
+msgstr "Ошибка запроса"
+
+#: src/metabase/query_processor/async.clj
+msgid "Maximum number of simultaneous queries to allow per connected Database."
+msgstr "Максимальное количество одновременных запросов для каждой подключенной базы данных."
+
+#: src/metabase/util.clj
+msgid "Timed out after {0} milliseconds."
+msgstr "Тайм-аут после {0} миллисекунд."
+
diff --git a/locales/tr.po b/locales/tr.po
index 2b1ea4e7e9165bfe0b74e7509740c32a90ffd820..82e797e69218229f2ccff2ddaa7c5f703c3b38df 100644
--- a/locales/tr.po
+++ b/locales/tr.po
@@ -141,54 +141,51 @@ msgstr "Bu kutuda:"
 #: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:87
 #: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:93
 #: frontend/src/metabase/admin/people/components/AddRow.jsx:27
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:250
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:302
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:322
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:343
 #: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:49
 #: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:52
 #: frontend/src/metabase/admin/permissions/containers/CollectionPermissionsModal.jsx:58
-#: frontend/src/metabase/admin/permissions/selectors.js:156
-#: frontend/src/metabase/admin/permissions/selectors.js:166
-#: frontend/src/metabase/admin/permissions/selectors.js:181
-#: frontend/src/metabase/admin/permissions/selectors.js:220
+#: frontend/src/metabase/admin/permissions/selectors.js:160
+#: frontend/src/metabase/admin/permissions/selectors.js:170
+#: frontend/src/metabase/admin/permissions/selectors.js:185
+#: frontend/src/metabase/admin/permissions/selectors.js:224
 #: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:355
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:181
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:247
 #: frontend/src/metabase/components/ConfirmContent.jsx:18
 #: frontend/src/metabase/components/DeleteModalWithConfirm.jsx:72
 #: frontend/src/metabase/components/HeaderModal.jsx:49
-#: frontend/src/metabase/components/form/StandardForm.jsx:59
+#: frontend/src/metabase/components/form/StandardForm.jsx:61
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:196
 #: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:289
 #: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:162
 #: frontend/src/metabase/dashboard/components/RemoveFromDashboardModal.jsx:38
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:189
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:192
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:352
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:191
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:354
 #: frontend/src/metabase/query_builder/components/RunButton.jsx:24
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:83
 #: frontend/src/metabase/query_builder/containers/ArchiveQuestionModal.jsx:48
 #: frontend/src/metabase/reference/components/EditHeader.jsx:34
 #: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:52
-#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:219
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:259
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:461
 msgid "Cancel"
 msgstr "Ä°ptal"
 
 #: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:88
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:123
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:121
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:132
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:461
 msgid "Delete"
 msgstr "Sil"
 
 #: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:128
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:76
-#: frontend/src/metabase/admin/permissions/selectors.js:316
-#: frontend/src/metabase/admin/permissions/selectors.js:323
-#: frontend/src/metabase/admin/permissions/selectors.js:419
-#: frontend/src/metabase/admin/routes.jsx:43
-#: frontend/src/metabase/nav/containers/Navbar.jsx:215
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:74
+#: frontend/src/metabase/admin/permissions/selectors.js:320
+#: frontend/src/metabase/admin/permissions/selectors.js:327
+#: frontend/src/metabase/admin/permissions/selectors.js:423
+#: frontend/src/metabase/admin/routes.jsx:53
+#: frontend/src/metabase/nav/containers/Navbar.jsx:214
 #: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:18
 #: frontend/src/metabase/reference/databases/TableSidebar.jsx:21
 msgid "Databases"
@@ -209,11 +206,10 @@ msgstr "Zamanlama"
 #: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:170
 #: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:78
 #: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:84
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:253
 #: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:26
 #: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:221
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:182
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:354
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:356
 #: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:47
 msgid "Save changes"
 msgstr "DeÄŸiÅŸiklikleri kaydet"
@@ -262,7 +258,7 @@ msgid "Scan triggered!"
 msgstr "Tarama tetiklendi!"
 
 #: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:215
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:399
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:401
 msgid "Danger Zone"
 msgstr "Tehlikeli Bölge"
 
@@ -275,39 +271,39 @@ msgstr "Kaydedilen alan deÄŸerlerini iptal et"
 msgid "Remove this database"
 msgstr "Bu veritabanını kaldır"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:75
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:73
 msgid "Add database"
 msgstr "Veritabanı ekle"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:87
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:85
 #: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:36
 #: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:36
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:468
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:122
 #: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:183
 #: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:91
 #: frontend/src/metabase/components/DatabaseDetailsForm.jsx:399
 #: frontend/src/metabase/containers/EntitySearch.jsx:26
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:218
-#: frontend/src/metabase/entities/collections.js:86
-#: frontend/src/metabase/entities/dashboards.js:96
+#: frontend/src/metabase/entities/collections.js:93
+#: frontend/src/metabase/entities/dashboards.js:145
 #: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:461
-#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:78
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:81
 msgid "Name"
 msgstr "Ä°sim"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:88
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:86
 msgid "Engine"
 msgstr "Makine"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:117
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:115
 msgid "Deleting..."
 msgstr "Siliniyor"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:147
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:145
 msgid "Loading ..."
 msgstr "Yükleniyor"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:163
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:161
 msgid "Bring the sample dataset back"
 msgstr "Örnek veri kümesini geri getir"
 
@@ -326,7 +322,7 @@ msgstr "Başarıyla kaydedildi!"
 #: frontend/src/metabase/admin/datamodel/components/ObjectActionSelect.jsx:44
 #: frontend/src/metabase/dashboard/components/DashCard.jsx:278
 #: frontend/src/metabase/parameters/components/ParameterWidget.jsx:177
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:209
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:197
 #: frontend/src/metabase/reference/components/EditButton.jsx:18
 msgid "Edit"
 msgstr "Düzenle"
@@ -479,8 +475,8 @@ msgstr "Metadata Gücü"
 #: frontend/src/metabase/admin/datamodel/components/database/MetadataTableList.jsx:87
 msgid "{0} Queryable Table"
 msgid_plural "{0} Queryable Tables"
-msgstr[0] "{0} Sorgulanan Tablo"
-msgstr[1] "{0} Sorgulanan Tablolar"
+msgstr[0] "{0} Sorgulanabilir Tablo"
+msgstr[1] "{0} Sorgulanabilir Tablolar"
 
 #: frontend/src/metabase/admin/datamodel/components/database/MetadataTableList.jsx:96
 msgid "{0} Hidden Table"
@@ -503,7 +499,7 @@ msgstr "Åžemalar"
 #: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:189
 #: frontend/src/metabase/reference/metrics/MetricList.jsx:56
 #: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:21
-#: frontend/src/metabase/routes.jsx:231
+#: frontend/src/metabase/routes.jsx:232
 msgid "Metrics"
 msgstr "Metrikler"
 
@@ -522,7 +518,7 @@ msgid "Create metrics to add them to the View dropdown in the query builder"
 msgstr "Sorgu oluşturucusundaki açılır/kapanır menüye eklemek için metrikler oluşturun"
 
 #: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:24
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:922
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:930
 #: frontend/src/metabase/reference/guide/BaseSidebar.jsx:33
 #: frontend/src/metabase/reference/segments/SegmentFieldSidebar.jsx:19
 #: frontend/src/metabase/reference/segments/SegmentList.jsx:56
@@ -564,7 +560,7 @@ msgstr "Bazı değişiklikler yaptı"
 
 #: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:46
 #: frontend/src/metabase/home/components/Activity.jsx:80
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:343
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:332
 msgid "You"
 msgstr "Sen"
 
@@ -695,7 +691,7 @@ msgstr "Şemasını görmek ve meta verileri eklemek veya düzenlemek için herh
 
 #: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:37
 #: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:34
-#: frontend/src/metabase/entities/collections.js:89
+#: frontend/src/metabase/entities/collections.js:96
 msgid "Name is required"
 msgstr "Ä°sim gerekli"
 
@@ -817,10 +813,10 @@ msgid "This will show up in the revision history for this segment to help everyo
 msgstr "Neden değiştiğini hatırlamalarını yardımcı olmak için bu segment revizyon geçmişinde görünecek."
 
 #: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:88
-#: frontend/src/metabase/admin/routes.jsx:91
+#: frontend/src/metabase/admin/routes.jsx:127
 #: frontend/src/metabase/admin/settings/containers/SettingsEditorApp.jsx:266
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:96
-#: frontend/src/metabase/nav/containers/Navbar.jsx:200
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:87
+#: frontend/src/metabase/nav/containers/Navbar.jsx:199
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorSidebar.jsx:99
 msgid "Settings"
 msgstr "Ayarlar"
@@ -834,31 +830,26 @@ msgid "Re-scan this table"
 msgstr "Bu tabloyu yeniden tara"
 
 #: frontend/src/metabase/admin/people/components/AddRow.jsx:34
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:194
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:253
 #: frontend/src/metabase/dashboard/components/DashCard.jsx:278
 msgid "Add"
 msgstr "Ekle"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:80
 #: frontend/src/metabase/setup/components/UserStep.jsx:103
 #: frontend/src/metabase/user/components/UpdateUserDetails.jsx:67
 msgid "Not a valid formatted email address"
 msgstr "Geçerli bir e-posta adresi değil"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:135
 #: frontend/src/metabase/setup/components/UserStep.jsx:186
 #: frontend/src/metabase/user/components/UpdateUserDetails.jsx:100
 msgid "First name"
 msgstr "Ä°sim"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:156
 #: frontend/src/metabase/setup/components/UserStep.jsx:203
 #: frontend/src/metabase/user/components/UpdateUserDetails.jsx:117
 msgid "Last name"
 msgstr "Soyisim"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:178
 #: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:77
 #: frontend/src/metabase/auth/containers/LoginApp.jsx:158
 #: frontend/src/metabase/components/NewsletterForm.jsx:94
@@ -872,7 +863,7 @@ msgstr "E-posta adresi"
 msgid "Permission Groups"
 msgstr "İzin grupları"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:238
+#: frontend/src/metabase/components/form/widgets/FormGroupsWidget.jsx:75
 msgid "Make this user an admin"
 msgstr "Bu kullanıcıyı yönetici yap"
 
@@ -891,15 +882,15 @@ msgid "To make sure you don't get locked out of Metabase, there always has to be
 msgstr "Metabase'in kilitlenmediğinden emin olmak için bu grupta en az bir kullanıcı olması gerekir."
 
 #: frontend/src/metabase/admin/people/components/GroupDetail.jsx:177
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:219
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:218
 msgid "Members"
 msgstr "Ãœyeler"
 
 #: frontend/src/metabase/admin/people/components/GroupDetail.jsx:177
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:470
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:124
 #: frontend/src/metabase/admin/settings/selectors.js:113
 #: frontend/src/metabase/lib/core.js:55
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:298
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:301
 msgid "Email"
 msgstr "E-posta"
 
@@ -908,8 +899,8 @@ msgid "A group is only as good as its members."
 msgstr "Bir grup sadece üyeleri kadar iyidir."
 
 #: frontend/src/metabase/admin/people/components/GroupSummary.jsx:15
-#: frontend/src/metabase/admin/routes.jsx:38
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:50
+#: frontend/src/metabase/admin/routes.jsx:48
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:49
 msgid "Admin"
 msgstr "Yönetici"
 
@@ -930,69 +921,69 @@ msgstr[1] "{0} diÄŸer gruplar"
 msgid "Default"
 msgstr "Varsayılan"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:40
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:39
 msgid "Something like \"Marketing\""
 msgstr "Pazarlama gibi bir ÅŸey"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:59
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:58
 msgid "Remove this group?"
 msgstr "Grubu kaldır"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:61
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:60
 msgid "Are you sure? All members of this group will lose any permissions settings they have based on this group.\n"
 "This can't be undone."
 msgstr "Emin misiniz? Bu grubun tüm üyeleri bu gruba dayalı tüm izin ayarlarını kaybedeceklerdir. Bu geri alınamaz."
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:72
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:71
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:42
 #: frontend/src/metabase/components/ConfirmContent.jsx:17
 msgid "Yes"
 msgstr "Evet"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:75
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:74
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:42
 msgid "No"
 msgstr "Hayır"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:93
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:92
 msgid "Edit Name"
 msgstr "İsmi düzenle"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:96
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:95
 msgid "Remove Group"
 msgstr "Grubu Kaldır"
 
 #: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:46
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:139
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:225
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:263
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:367
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:385
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:138
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:42
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:41
 #: frontend/src/metabase/components/HeaderModal.jsx:43
 #: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:282
-#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:106
-#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:298
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:194
+#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:107
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:327
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:193
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:96
-#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:225
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:265
 msgid "Done"
 msgstr "Tamam"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:219
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:218
 msgid "Group name"
 msgstr "Grup adı"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:399
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:363
 #: frontend/src/metabase/admin/people/containers/AdminPeopleApp.jsx:25
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:477
-#: frontend/src/metabase/admin/routes.jsx:76
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:131
+#: frontend/src/metabase/admin/routes.jsx:88
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:154
 msgid "Groups"
 msgstr "Gruplar"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:400
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:364
 msgid "Create a group"
 msgstr "Grup oluÅŸtur"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:406
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:370
 msgid "You can use groups to control your users' access to your data. Put users in groups and then go to the Permissions section to control each group's access. The Administrators and All Users groups are special default groups that can't be removed."
 msgstr "Kullanıcılarınızın verilerinize erişimini kontrol etmek için grupları kullanabilirsiniz. Kullanıcıları gruplara koyun ve ardından her grubun erişimini kontrol etmek için İzinler bölümüne gidin. Yöneticiler ve Tüm Kullanıcılar grupları, kaldırılamayacak özel varsayılan gruplardır."
 
@@ -1008,15 +999,14 @@ msgstr "Davetiyeyi tekrar gönder"
 msgid "Reset Password"
 msgstr "Åžifreyi Yenile"
 
-#: frontend/src/metabase/admin/people/components/UserActionsSelect.jsx:97
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:304
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:40
 msgid "Deactivate"
 msgstr "Devre dışı bırakmak"
 
 #: frontend/src/metabase/admin/people/containers/AdminPeopleApp.jsx:24
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:435
-#: frontend/src/metabase/admin/routes.jsx:74
-#: frontend/src/metabase/nav/containers/Navbar.jsx:205
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:93
+#: frontend/src/metabase/admin/routes.jsx:84
+#: frontend/src/metabase/nav/containers/Navbar.jsx:204
 msgid "People"
 msgstr "Ä°nsan"
 
@@ -1028,8 +1018,7 @@ msgstr "Ne eklemek istiyorsun?"
 msgid "Edit {0}'s details"
 msgstr "{0} 'ın ayrıntılarını düzenle"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:220
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:258
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:40
 msgid "{0} has been added"
 msgstr "{0} eklendi"
 
@@ -1046,11 +1035,11 @@ msgstr "Onlara bir e-posta daveti gönderemedik.\n"
 "bu nedenle, {0}'ı kullanarak giriş yaptıklarını bildirdiğinizden emin olun.\n"
 "ve onlar için oluşturduğumuz şifre:"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:242
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:73
 msgid "If you want to be able to send email invites, just go to the {0} page."
 msgstr "E-posta davetleri göndermek istiyorsanız, sadece {0} sayfasına gidin."
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:268
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:55
 msgid "We’ve sent an invite to {0} with instructions to set their password."
 msgstr "{0} adresine, şifresini ayarlama ile ilgili bir davet gönderdik."
 
@@ -1058,7 +1047,6 @@ msgstr "{0} adresine, şifresini ayarlama ile ilgili bir davet gönderdik."
 msgid "We've re-sent {0}'s invite"
 msgstr "{0} 'ın davetini tekrar gönderdik"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:285
 #: frontend/src/metabase/query_builder/components/SavedQuestionIntroModal.jsx:22
 #: frontend/src/metabase/tutorial/Tutorial.jsx:253
 msgid "Okay"
@@ -1068,11 +1056,11 @@ msgstr "Tamam"
 msgid "Any previous email invites they have will no longer work."
 msgstr "Sahip oldukları önceki e-posta davetleri artık çalışmayacak."
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:300
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:31
 msgid "Deactivate {0}?"
 msgstr "{0} devre dışı bırakılsın mı?"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:309
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:34
 msgid "{0} won't be able to log in anymore."
 msgstr "{0} artık giriş yapamayacak."
 
@@ -1080,35 +1068,33 @@ msgstr "{0} artık giriş yapamayacak."
 msgid "Reactivate {0}'s account?"
 msgstr "{0} hesabını yeniden etkinleştirsin mi?"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:326
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:58
 msgid "Reactivate"
 msgstr "Yeniden etkinleÅŸtirme"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:330
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:51
 msgid "They'll be able to log in again, and they'll be placed back into the groups they were in before their account was deactivated."
 msgstr "Tekrar giriş yapabilecekler ve hesabı devre dışı bırakılmadan önce bulundukları gruplara geri yerleştirilecekler."
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:341
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:51
 msgid "Reset {0}'s password?"
 msgstr "{0} şifresini sıfırlayın"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:347
-#: frontend/src/metabase/components/form/StandardForm.jsx:75
+#: frontend/src/metabase/components/form/StandardForm.jsx:77
 msgid "Reset"
 msgstr "Sıfırla"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:351
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:54
 #: frontend/src/metabase/components/ConfirmContent.jsx:13
 #: frontend/src/metabase/dashboard/components/ArchiveDashboardModal.jsx:44
 msgid "Are you sure you want to do this?"
 msgstr "Bunu yapmak istediÄŸine emin misin?"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:362
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:384
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:41
 msgid "{0}'s password has been reset"
 msgstr "{0} 'un şifresi sıfırlandı"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:371
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:45
 msgid "Here’s a temporary password they can use to log in and then change their password."
 msgstr "Giriş yapmak ve şifrelerini değiştirmek için kullanabilecekleri geçici bir şifre."
 
@@ -1116,41 +1102,40 @@ msgstr "Giriş yapmak ve şifrelerini değiştirmek için kullanabilecekleri ge
 msgid "We've sent them an email with instructions for creating a new password."
 msgstr "Yeni bir şifre oluşturma ile ilgili talimatlar içeren bir e-posta gönderdik."
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:443
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:101
 msgid "Active"
 msgstr "Aktif"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:444
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:473
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:102
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:127
 msgid "Deactivated"
 msgstr "Devre dışı"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:459
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:115
 msgid "Add someone"
 msgstr "Birini ekle"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:478
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:132
 msgid "Last Login"
 msgstr "Son giriÅŸ"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:501
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:153
 msgid "Signed up via Google"
 msgstr "Google üzerinden kaydoldu"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:506
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:158
 msgid "Signed up via LDAP"
 msgstr "LDAP ile kaydoldu"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:518
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:170
 msgid "Reactivate this account"
 msgstr "Bu hesabı yeniden etkinleştir"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:545
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:193
 msgid "Never"
 msgstr "Asla"
 
 #: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:27
-#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:24
 #: src/metabase/automagic_dashboards/core.clj
 msgid "{0} table"
 msgid_plural "{0} tables"
@@ -1186,7 +1171,7 @@ msgid " native queries for "
 msgstr "için yerel sorgular"
 
 #: frontend/src/metabase/admin/permissions/routes.jsx:12
-#: frontend/src/metabase/nav/containers/Navbar.jsx:220
+#: frontend/src/metabase/nav/containers/Navbar.jsx:219
 msgid "Permissions"
 msgstr "Ä°zinler"
 
@@ -1223,135 +1208,135 @@ msgstr "KaydedilmemiÅŸ deÄŸiÅŸiklikleriniz mevcut"
 msgid "Do you want to leave this page and discard your changes?"
 msgstr "Bu sayfadan ayrılmak ve değişikliklerinizi gözardı etmek istiyor musunuz?"
 
-#: frontend/src/metabase/admin/permissions/permissions.js:137
+#: frontend/src/metabase/admin/permissions/permissions.js:126
 msgid "Sorry, an error occurred."
 msgstr "Üzgünüz, bir hata oluştu."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:59
+#: frontend/src/metabase/admin/permissions/selectors.js:65
 msgid "Administrators always have the highest level of access to everything in Metabase."
 msgstr "Yöneticiler her zaman, Metabase'de her şeye en yüksek düzeyde erişime sahiptir."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:61
+#: frontend/src/metabase/admin/permissions/selectors.js:67
 msgid "Every Metabase user belongs to the All Users group. If you want to limit or restrict a group's access to something, make sure the All Users group has an equal or lower level of access."
 msgstr "Her Metabase kullanıcısı Tüm Kullanıcılar grubuna aittir. Bir grubun bir şeye erişimini sınırlamak veya kısıtlamak istiyorsanız, Tüm Kullanıcılar grubunun eşit veya daha düşük bir erişim düzeyine sahip olduğundan emin olun."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:63
+#: frontend/src/metabase/admin/permissions/selectors.js:69
 msgid "MetaBot is Metabase's Slack bot. You can choose what it has access to here."
 msgstr "MetaBot,Metabes'in Slack bot'udur. Buradan erişebileceği şeyi seçebilirsiniz."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:115
+#: frontend/src/metabase/admin/permissions/selectors.js:119
 msgid "The \"{0}\" group may have access to a different set of {1} than this group, which may give this group additional access to some {2}."
 msgstr "\"{0}\" grubu bu gruba göre {1} farklı bir kümeye erişebilir, bu da bu gruba bazı {2} düzeylerine ek erişim sağlayabilir."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:120
+#: frontend/src/metabase/admin/permissions/selectors.js:124
 msgid "The \"{0}\" group has a higher level of access than this, which will override this setting. You should limit or revoke the \"{1}\" group's access to this item."
 msgstr "\"{0}\" grubu, bu ayarı geçersiz kılacak daha yüksek bir erişim düzeyine sahiptir. \"{1}\" grubunun bu öğeye erişimini sınırlandırmalı veya iptal etmelisiniz."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:150
+#: frontend/src/metabase/admin/permissions/selectors.js:154
 msgid "Limit"
 msgstr "Limit"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:150
+#: frontend/src/metabase/admin/permissions/selectors.js:154
 msgid "Revoke"
 msgstr "Geri almak"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:152
+#: frontend/src/metabase/admin/permissions/selectors.js:156
 msgid "access even though \"{0}\" has greater access?"
 msgstr "\"{0}\" daha fazla erişime sahip olsa bile erişimi sağlayın?"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:155
-#: frontend/src/metabase/admin/permissions/selectors.js:254
+#: frontend/src/metabase/admin/permissions/selectors.js:159
+#: frontend/src/metabase/admin/permissions/selectors.js:258
 msgid "Limit access"
 msgstr "LÄ°mit eriÅŸimi"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:155
-#: frontend/src/metabase/admin/permissions/selectors.js:219
-#: frontend/src/metabase/admin/permissions/selectors.js:262
+#: frontend/src/metabase/admin/permissions/selectors.js:159
+#: frontend/src/metabase/admin/permissions/selectors.js:223
+#: frontend/src/metabase/admin/permissions/selectors.js:266
 msgid "Revoke access"
 msgstr "EriÅŸimi iptal et"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:164
+#: frontend/src/metabase/admin/permissions/selectors.js:168
 msgid "Change access to this database to limited?"
 msgstr "Bu veritabanına erişimi sınırlı olacak şekilde değiştirilsin mi?"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:165
+#: frontend/src/metabase/admin/permissions/selectors.js:169
 msgid "Change"
 msgstr "DeÄŸiÅŸtir"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:178
+#: frontend/src/metabase/admin/permissions/selectors.js:182
 msgid "Allow Raw Query Writing?"
 msgstr "Sorgu Yazmaya Ä°zin Verilsin mi?"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:179
+#: frontend/src/metabase/admin/permissions/selectors.js:183
 msgid "This will also change this group's data access to Unrestricted for this database."
 msgstr "Bu ayrıca bu grubun Veritabanını bu veritabanı için Sınırsız olarak değiştirecektir."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:180
+#: frontend/src/metabase/admin/permissions/selectors.js:184
 msgid "Allow"
 msgstr "Ä°zin vermek"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:217
+#: frontend/src/metabase/admin/permissions/selectors.js:221
 msgid "Revoke access to all tables?"
 msgstr "Tüm tablolara erişimi iptal et?"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:218
+#: frontend/src/metabase/admin/permissions/selectors.js:222
 msgid "This will also revoke this group's access to raw queries for this database."
 msgstr "Bu ayrıca bu grubun bu veritabanı için ham sorgulara erişimini iptal edecektir."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:247
+#: frontend/src/metabase/admin/permissions/selectors.js:251
 msgid "Grant unrestricted access"
 msgstr "Sınırsız erişim izni ver"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:248
+#: frontend/src/metabase/admin/permissions/selectors.js:252
 msgid "Unrestricted access"
 msgstr "Sınırsız erişim"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:255
+#: frontend/src/metabase/admin/permissions/selectors.js:259
 msgid "Limited access"
 msgstr "Sınırlı erişim"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:263
+#: frontend/src/metabase/admin/permissions/selectors.js:267
 msgid "No access"
 msgstr "EriÅŸim yok"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:269
+#: frontend/src/metabase/admin/permissions/selectors.js:273
 msgid "Write raw queries"
 msgstr "Ham sorgular yaz"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:270
+#: frontend/src/metabase/admin/permissions/selectors.js:274
 msgid "Can write raw queries"
 msgstr "Ham sorguları yazabilir"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:277
+#: frontend/src/metabase/admin/permissions/selectors.js:281
 msgid "Curate collection"
 msgstr "Koleksiyonu ayarlayın"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:284
+#: frontend/src/metabase/admin/permissions/selectors.js:288
 msgid "View collection"
 msgstr "Koleksiyonu görüntüle"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:327
-#: frontend/src/metabase/admin/permissions/selectors.js:423
-#: frontend/src/metabase/admin/permissions/selectors.js:520
+#: frontend/src/metabase/admin/permissions/selectors.js:331
+#: frontend/src/metabase/admin/permissions/selectors.js:427
+#: frontend/src/metabase/admin/permissions/selectors.js:524
 msgid "Data Access"
 msgstr "Veri EriÅŸimi"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:488
-#: frontend/src/metabase/admin/permissions/selectors.js:645
-#: frontend/src/metabase/admin/permissions/selectors.js:650
+#: frontend/src/metabase/admin/permissions/selectors.js:492
+#: frontend/src/metabase/admin/permissions/selectors.js:649
+#: frontend/src/metabase/admin/permissions/selectors.js:654
 msgid "View tables"
 msgstr "Tabloları görüntüle"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:586
+#: frontend/src/metabase/admin/permissions/selectors.js:590
 msgid "SQL Queries"
 msgstr "SQL Sorguları"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:656
+#: frontend/src/metabase/admin/permissions/selectors.js:660
 msgid "View schemas"
 msgstr "Şemaları görüntüle"
 
-#: frontend/src/metabase/admin/routes.jsx:49
-#: frontend/src/metabase/nav/containers/Navbar.jsx:210
+#: frontend/src/metabase/admin/routes.jsx:59
+#: frontend/src/metabase/nav/containers/Navbar.jsx:209
 msgid "Data Model"
 msgstr "Veri örneği"
 
@@ -1494,7 +1479,7 @@ msgid "Metabase {0} is available.  You're running {1}"
 msgstr "{0} metatabase'i kullanılabilir. Siz {1}'i çalıştırıyorsunuz."
 
 #: frontend/src/metabase/admin/settings/components/SettingsUpdatesForm.jsx:112
-#: frontend/src/metabase/components/form/StandardForm.jsx:67
+#: frontend/src/metabase/components/form/StandardForm.jsx:69
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:96
 msgid "Update"
 msgstr "Güncelleştirme"
@@ -2120,20 +2105,19 @@ msgstr "Kaydedildi"
 msgid "Ok"
 msgstr "Tamam"
 
-#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:40
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:38
 msgid "Archive this collection?"
 msgstr "Bu koleksiyonu arÅŸivlediniz mi?"
 
-#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:45
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:43
 msgid "The dashboards, collections, and pulses in this collection will also be archived."
 msgstr "Bu koleksiyondaki panolar, koleksiyonlar ve darbelerde arÅŸivlenecektir."
 
-#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:49
-#: frontend/src/metabase/components/CollectionLanding.jsx:587
-#: frontend/src/metabase/components/EntityItem.jsx:54
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:47
+#: frontend/src/metabase/components/CollectionLanding.jsx:624
 #: frontend/src/metabase/components/EntityMenu.info.js:31
 #: frontend/src/metabase/components/EntityMenu.info.js:87
-#: frontend/src/metabase/home/containers/ArchiveApp.jsx:48
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:47
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:195
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:200
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:201
@@ -2147,28 +2131,28 @@ msgstr "ArÅŸiv"
 msgid "This {0} has been archived"
 msgstr "Bu {0} arÅŸivlendi"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:679
+#: frontend/src/metabase/components/CollectionLanding.jsx:715
 msgid "View the archive"
 msgstr "Arşivi görüntüle"
 
-#: frontend/src/metabase/components/ArchivedItem.jsx:39
+#: frontend/src/metabase/components/ArchivedItem.jsx:43
 msgid "Unarchive this {0}"
 msgstr "Bunu arşivden kaldır {0}"
 
-#: frontend/src/metabase/components/BrowseApp.jsx:95
-#: frontend/src/metabase/components/BrowseApp.jsx:157
-#: frontend/src/metabase/components/BrowseApp.jsx:250
-#: frontend/src/metabase/containers/Overworld.jsx:224
+#: frontend/src/metabase/components/BrowseApp.jsx:70
+#: frontend/src/metabase/components/BrowseApp.jsx:132
+#: frontend/src/metabase/components/BrowseApp.jsx:225
+#: frontend/src/metabase/containers/Overworld.jsx:219
 msgid "Our data"
 msgstr "Verilerimiz"
 
-#: frontend/src/metabase/components/BrowseApp.jsx:194
+#: frontend/src/metabase/components/BrowseApp.jsx:169
 #: frontend/src/metabase/reference/databases/TableSidebar.jsx:55
 msgid "X-ray this table"
 msgstr "X-ışını bu tablo"
 
-#: frontend/src/metabase/components/BrowseApp.jsx:208
-#: frontend/src/metabase/containers/Overworld.jsx:251
+#: frontend/src/metabase/components/BrowseApp.jsx:183
+#: frontend/src/metabase/containers/Overworld.jsx:246
 msgid "Learn about this table"
 msgstr "Bu tablo hakkında bilgi edinin"
 
@@ -2186,31 +2170,31 @@ msgstr "Kaydedildi!"
 msgid "Saving failed."
 msgstr "Kaydedilemedi."
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Su"
 msgstr "Paz"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Mo"
 msgstr "Pzt"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Tu"
 msgstr "Sal"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "We"
 msgstr "Çar"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Th"
 msgstr "Per"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Fr"
 msgstr "Cum"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Sa"
 msgstr "Cmt"
 
@@ -2243,74 +2227,73 @@ msgstr "Takımınız veya kendiniz için panolar, sorular ve bakliyat düzenleme
 msgid "Create another collection"
 msgstr "BaÅŸka koleksiyon oluÅŸtur"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:61
+#: frontend/src/metabase/components/CollectionLanding.jsx:68
 msgid "Dashboards let you collect and share data in one place."
 msgstr "Panolar, verileri tek bir yerde toplamanıza ve paylaşmanıza olanak tanır."
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:70
+#: frontend/src/metabase/components/CollectionLanding.jsx:77
 msgid "Pulses let you send out the latest data to your team on a schedule via email or slack."
 msgstr "Pulsesler, en son verileri takımınıza e-posta veya gevşeklik aracılığıyla bir programla göndermenizi sağlar."
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:79
+#: frontend/src/metabase/components/CollectionLanding.jsx:86
 msgid "Questions are a saved look at your data."
 msgstr "Sorular, verilerinize kaydedilmiş bir görünümdür."
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:275
+#: frontend/src/metabase/components/CollectionLanding.jsx:287
 msgid "Pins"
 msgstr "Ä°ÄŸneler"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:329
+#: frontend/src/metabase/components/CollectionLanding.jsx:341
 msgid "Drag something here to pin it to the top"
 msgstr "Üstüne sabitlemek için buraya bir şey sürükleyin"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:733
-#: frontend/src/metabase/components/CollectionLanding.jsx:341
+#: frontend/src/metabase/admin/permissions/selectors.js:737
+#: frontend/src/metabase/components/CollectionLanding.jsx:353
 #: frontend/src/metabase/home/containers/SearchApp.jsx:35
-#: frontend/src/metabase/home/containers/SearchApp.jsx:96
+#: frontend/src/metabase/home/containers/SearchApp.jsx:92
 msgid "Collections"
 msgstr "Koleksiyonlar"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:411
-#: frontend/src/metabase/components/CollectionLanding.jsx:434
+#: frontend/src/metabase/components/CollectionLanding.jsx:432
+#: frontend/src/metabase/components/CollectionLanding.jsx:455
 msgid "Drag here to un-pin"
 msgstr "Bu iğneyi kaldırmak için buraya sürükleyin"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:469
+#: frontend/src/metabase/components/CollectionLanding.jsx:490
 msgid "{0} item selected"
 msgid_plural "{0} items selected"
 msgstr[0] "{0} öğe seçildi"
 msgstr[1] "{0} öğeler seçildi"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:487
+#: frontend/src/metabase/components/CollectionLanding.jsx:522
 msgid "Move {0} items?"
 msgstr "Öğeleri {0} taşı?"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:488
+#: frontend/src/metabase/components/CollectionLanding.jsx:523
 msgid "Move \"{0}\"?"
 msgstr "\"{0}\" taşı?"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:594
+#: frontend/src/metabase/components/CollectionLanding.jsx:631
 #: frontend/src/metabase/components/EntityMenu.info.js:29
 #: frontend/src/metabase/components/EntityMenu.info.js:85
-#: frontend/src/metabase/containers/CollectionMoveModal.jsx:78
+#: frontend/src/metabase/containers/CollectionMoveModal.jsx:69
 msgid "Move"
 msgstr "Taşı"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:656
+#: frontend/src/metabase/components/CollectionLanding.jsx:692
 msgid "Edit this collection"
 msgstr "Bu koleksiyonu düzenle"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:664
+#: frontend/src/metabase/components/CollectionLanding.jsx:700
 msgid "Archive this collection"
 msgstr "Bu koleksiyonu arÅŸivle"
 
 #: frontend/src/metabase/components/CollectionList.jsx:64
-#: frontend/src/metabase/entities/collections.js:148
+#: frontend/src/metabase/entities/collections.js:155
 msgid "My personal collection"
 msgstr "KiÅŸisel koleksiyonum"
 
 #: frontend/src/metabase/components/CollectionList.jsx:106
-#: frontend/src/metabase/containers/CollectionForm.jsx:9
 msgid "New collection"
 msgstr "Yeni koleksiyon"
 
@@ -2383,15 +2366,16 @@ msgstr "Bu veritabanına nasıl başvurmak istersiniz?"
 msgid "Next"
 msgstr "Sonraki"
 
+#: frontend/src/metabase/components/ArchivedItem.jsx:52
 #: frontend/src/metabase/components/DeleteModalWithConfirm.jsx:80
 msgid "Delete this {0}"
 msgstr "Bunu sil {0}"
 
-#: frontend/src/metabase/components/EntityItem.jsx:42
+#: frontend/src/metabase/components/EntityItem.jsx:43
 msgid "Pin this item"
 msgstr "Bu öğeyi sabitle"
 
-#: frontend/src/metabase/components/EntityItem.jsx:48
+#: frontend/src/metabase/components/EntityItem.jsx:49
 msgid "Move this item"
 msgstr "Bu öğeyi taşı"
 
@@ -2537,6 +2521,7 @@ msgid "No description yet"
 msgstr "Henüz bir açıklama yok"
 
 #: frontend/src/metabase/components/Header.jsx:112
+#: frontend/src/metabase/entities/containers/EntityForm.jsx:43
 msgid "New {0}"
 msgstr "Yeni {0}"
 
@@ -2600,22 +2585,22 @@ msgid "Everything"
 msgstr "Her ÅŸey"
 
 #: frontend/src/metabase/components/ItemTypeFilterBar.jsx:18
-#: frontend/src/metabase/home/containers/SearchApp.jsx:73
+#: frontend/src/metabase/home/containers/SearchApp.jsx:69
 msgid "Dashboards"
 msgstr "Gösterge tabloları"
 
 #: frontend/src/metabase/components/ItemTypeFilterBar.jsx:23
-#: frontend/src/metabase/home/containers/SearchApp.jsx:119
+#: frontend/src/metabase/home/containers/SearchApp.jsx:115
 msgid "Questions"
 msgstr "Sorular"
 
 #: frontend/src/metabase/components/ItemTypeFilterBar.jsx:28
-#: frontend/src/metabase/routes.jsx:320
+#: frontend/src/metabase/routes.jsx:321
 msgid "Pulses"
 msgstr "Darbeler"
 
 #: frontend/src/metabase/components/LeftNavPane.jsx:36
-#: frontend/src/metabase/query_builder/components/dataref/DataReference.jsx:86
+#: frontend/src/metabase/query_builder/components/dataref/DataReference.jsx:103
 msgid "Back"
 msgstr "Geri"
 
@@ -2716,6 +2701,7 @@ msgid "First"
 msgstr "Ä°lk"
 
 #: frontend/src/metabase/components/SchedulePicker.jsx:34
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:23
 msgid "Last"
 msgstr "Son"
 
@@ -2772,8 +2758,8 @@ msgstr "Üzgünüz, bunu görme izniniz yok."
 msgid "Unknown error encountered"
 msgstr "Hata oluÅŸtu"
 
-#: frontend/src/metabase/components/form/StandardForm.jsx:67
-#: frontend/src/metabase/nav/containers/Navbar.jsx:305
+#: frontend/src/metabase/components/form/StandardForm.jsx:69
+#: frontend/src/metabase/nav/containers/Navbar.jsx:304
 msgid "Create"
 msgstr "OluÅŸtur"
 
@@ -2809,12 +2795,13 @@ msgid "View by"
 msgstr "Tarafından görüntüle"
 
 #: frontend/src/metabase/containers/EntitySearch.jsx:494
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:84
 #: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:69
 #: frontend/src/metabase/tutorial/TutorialModal.jsx:34
 msgid "of"
 msgstr "nın"
 
-#: frontend/src/metabase/containers/Overworld.jsx:80
+#: frontend/src/metabase/containers/Overworld.jsx:75
 msgid "Don't tell anyone, but you're my favorite."
 msgstr "Kimseye söyleme, sen benim favorimsin."
 
@@ -2822,19 +2809,19 @@ msgstr "Kimseye söyleme, sen benim favorimsin."
 msgid "Once you connect your own data, I can show you some automatic explorations called x-rays. Here are some examples with sample data."
 msgstr "Kendi verilerinizi bağladıktan sonra, Size x-ışınları denen bazı otomatik keşifler gösterebilirim. Örnek verilerle ilgili bazı örnekler."
 
-#: frontend/src/metabase/containers/Overworld.jsx:133
-#: frontend/src/metabase/containers/Overworld.jsx:304
+#: frontend/src/metabase/containers/Overworld.jsx:128
+#: frontend/src/metabase/containers/Overworld.jsx:299
 #: frontend/src/metabase/reference/components/GuideHeader.jsx:12
 msgid "Start here"
 msgstr "Buradan başlayın"
 
-#: frontend/src/metabase/containers/Overworld.jsx:299
-#: frontend/src/metabase/entities/collections.js:140
+#: frontend/src/metabase/containers/Overworld.jsx:294
+#: frontend/src/metabase/entities/collections.js:147
 #: src/metabase/models/collection.clj
 msgid "Our analytics"
 msgstr "Analizlerimiz"
 
-#: frontend/src/metabase/containers/Overworld.jsx:208
+#: frontend/src/metabase/containers/Overworld.jsx:203
 msgid "Browse all items"
 msgstr "Tüm öğelere göz at"
 
@@ -2862,9 +2849,11 @@ msgstr "Soru kaydet"
 msgid "What is the name of your card?"
 msgstr "Kartınızın adı nedir?"
 
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:31
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:18
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:232
-#: frontend/src/metabase/entities/collections.js:94
-#: frontend/src/metabase/entities/dashboards.js:102
+#: frontend/src/metabase/entities/collections.js:101
+#: frontend/src/metabase/entities/dashboards.js:151
 #: frontend/src/metabase/lib/core.js:50 frontend/src/metabase/lib/core.js:205
 #: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:156
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:211
@@ -2877,12 +2866,12 @@ msgid "Description"
 msgstr "Açıklama"
 
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:238
-#: frontend/src/metabase/entities/dashboards.js:104
+#: frontend/src/metabase/entities/dashboards.js:153
 msgid "It's optional but oh, so helpful"
 msgstr "O isteğe bağlı ama, çok yararlı"
 
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:245
-#: frontend/src/metabase/entities/dashboards.js:108
+#: frontend/src/metabase/entities/dashboards.js:157
 msgid "Which collection should this go in?"
 msgstr "Bu hangi koleksiyonda olmalı?"
 
@@ -2922,11 +2911,11 @@ msgstr "ArÅŸiv Paneli"
 msgid "Make sure to make a selection for each series, or the filter won't work on this card."
 msgstr "Her seri için seçim yaptığınızdan emin olun, veya filtre bu kartta çalışmaz."
 
-#: frontend/src/metabase/dashboard/components/Dashboard.jsx:286
+#: frontend/src/metabase/dashboard/components/Dashboard.jsx:300
 msgid "This dashboard is looking empty."
 msgstr "Bu gösterge paneli boş görünüyor."
 
-#: frontend/src/metabase/dashboard/components/Dashboard.jsx:289
+#: frontend/src/metabase/dashboard/components/Dashboard.jsx:301
 msgid "Add a question to start making it useful!"
 msgstr "Kullanmaya başlamak için bir soru ekleyin!"
 
@@ -2975,23 +2964,23 @@ msgstr "Parametreler"
 msgid "Add a text box"
 msgstr "Bir metin kutusu ekle"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:302
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:319
 msgid "Move dashboard"
 msgstr "Gösterge tablosunu taşı"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:315
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:302
 msgid "Edit dashboard"
 msgstr "Gösterge tablosunu düzenle"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:319
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:306
 msgid "Edit Dashboard Layout"
 msgstr "Gösterge Tablosu Düzen tasarımını Düzenle"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:357
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:369
 msgid "You are editing a dashboard"
 msgstr "Bir gösterge tablosunu düzenliyorsunuz"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:362
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:374
 msgid "Select the field that should be filtered for each card"
 msgstr "Her kart için filtrelenmesi gereken alanı seçin"
 
@@ -3058,6 +3047,7 @@ msgstr "Bu soruyu kaldırılsın mı?"
 msgid "Your dashboard was saved"
 msgstr "Paneliniz kadedildi"
 
+#: frontend/src/metabase/components/CollectionLanding.jsx:745
 #: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:76
 msgid "See it"
 msgstr "Bu gör"
@@ -3083,15 +3073,15 @@ msgstr "Bu alandaki değerler, seçtiğiniz diğer alanların değerleriyle ört
 msgid "No valid fields"
 msgstr "Geçerli alan yok"
 
-#: frontend/src/metabase/entities/collections.js:90
+#: frontend/src/metabase/entities/collections.js:97
 msgid "Name must be 100 characters or less"
 msgstr "İsim 100 karakter veya daha az olmalı"
 
-#: frontend/src/metabase/entities/collections.js:104
+#: frontend/src/metabase/entities/collections.js:111
 msgid "Color is required"
 msgstr "Renk gereklidir"
 
-#: frontend/src/metabase/entities/dashboards.js:97
+#: frontend/src/metabase/entities/dashboards.js:146
 msgid "What is the name of your dashboard?"
 msgstr "Gösterge tablonuzun adı nedir?"
 
@@ -3144,7 +3134,9 @@ msgstr "gösterge tablosundan bir soru kaldırıldı"
 msgid "received the latest data from"
 msgstr "en son veri alındı"
 
+#: frontend/src/metabase-lib/lib/Dimension.js:621
 #: frontend/src/metabase/home/components/Activity.jsx:244
+#: frontend/src/metabase/lib/query_time.js:180
 #: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:273
 msgid "Unknown"
 msgstr "Bilinmeyen"
@@ -3266,17 +3258,17 @@ msgstr "Son Görüntülenen"
 msgid "You haven't looked at any dashboards or questions recently"
 msgstr "Son zamanlarda hiç gösterge tablosuna veya sorusuna bakmadınız"
 
-#: frontend/src/metabase/home/containers/ArchiveApp.jsx:82
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:99
 msgid "{0} items selected"
 msgstr "{0} öğe seçildi"
 
-#: frontend/src/metabase/home/containers/ArchiveApp.jsx:102
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:121
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:172
 msgid "Unarchive"
 msgstr "Arşivden Çıkar"
 
 #: frontend/src/metabase/home/containers/HomepageApp.jsx:74
-#: frontend/src/metabase/nav/containers/Navbar.jsx:332
+#: frontend/src/metabase/nav/containers/Navbar.jsx:331
 msgid "Activity"
 msgstr "Aktivite"
 
@@ -3284,7 +3276,7 @@ msgstr "Aktivite"
 msgid "Results for \"{0}\""
 msgstr "\"{0}\" için sonuçlar"
 
-#: frontend/src/metabase/home/containers/SearchApp.jsx:142
+#: frontend/src/metabase/home/containers/SearchApp.jsx:138
 msgid "Pulse"
 msgstr "Darbe"
 
@@ -3347,7 +3339,7 @@ msgstr "Genel"
 
 #: frontend/src/metabase/lib/core.js:30
 #: frontend/src/metabase/meta/Dashboard.js:81
-#: frontend/src/metabase/qb/components/actions/PivotByCategoryAction.jsx:9
+#: frontend/src/metabase/modes/components/actions/PivotByCategoryAction.jsx:9
 msgid "Category"
 msgstr "Kategori"
 
@@ -3383,10 +3375,11 @@ msgstr "Boylam"
 
 #: frontend/src/metabase/lib/core.js:85
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:149
-#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:39
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:41
 msgid "Number"
 msgstr "Numara"
 
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:19
 #: frontend/src/metabase/lib/core.js:90
 #: frontend/src/metabase/meta/Dashboard.js:65
 msgid "State"
@@ -3550,7 +3543,7 @@ msgid "CumulativeCount"
 msgstr "Kümülatif Sayım"
 
 #: frontend/src/metabase/lib/expressions/config.js:9
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:17
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:17
 #: frontend/src/metabase/visualizations/lib/utils.js:127
 msgid "Sum"
 msgstr "Toplam"
@@ -3574,14 +3567,14 @@ msgid "Average"
 msgstr "Ortalama"
 
 #: frontend/src/metabase/lib/expressions/config.js:14
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:25
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:25
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:48
 #: frontend/src/metabase/visualizations/lib/settings/graph.js:450
 msgid "Min"
 msgstr "Min"
 
 #: frontend/src/metabase/lib/expressions/config.js:15
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:29
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:29
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:57
 #: frontend/src/metabase/visualizations/lib/settings/graph.js:458
 msgid "Max"
@@ -3591,13 +3584,13 @@ msgstr "Maksimum"
 msgid "sad sad panda, lexing errors detected"
 msgstr "çok üzgün panda, lexing hataları tespit edildi"
 
-#: frontend/src/metabase/lib/formatting.js:724
+#: frontend/src/metabase/lib/formatting.js:707
 msgid "{0} second"
 msgid_plural "{0} seconds"
 msgstr[0] "{0} saniye"
 msgstr[1] "{0} saniyeler"
 
-#: frontend/src/metabase/lib/formatting.js:727
+#: frontend/src/metabase/lib/formatting.js:710
 msgid "{0} minute"
 msgid_plural "{0} minutes"
 msgstr[0] "{0} dakika"
@@ -3856,16 +3849,16 @@ msgid "Cumulative sum of ..."
 msgstr "...nın Birikmiş toplam "
 
 #: frontend/src/metabase/lib/schema_metadata.js:493
-msgid "Additive sum of all the values of a column.\\ne.x. total revenue over time."
-msgstr "Bir sütunun tüm değerlerinin toplamı. \\ ne.x. Zaman içinde toplam gelir."
+msgid "Additive sum of all the values of a column.\\\\ne.x. total revenue over time."
+msgstr "Bir sütunun tüm değerlerinin toplamı. \\\\ ne.x. Zaman içinde toplam gelir."
 
 #: frontend/src/metabase/lib/schema_metadata.js:499
 msgid "Cumulative count of rows"
 msgstr "Kümülatif satır sayısı"
 
 #: frontend/src/metabase/lib/schema_metadata.js:501
-msgid "Additive count of the number of rows.\\ne.x. total number of sales over time."
-msgstr "Satırların sayısının toplam sayısı. \\ ne.x. Zaman içinde toplam satış sayısı."
+msgid "Additive count of the number of rows.\\\\ne.x. total number of sales over time."
+msgstr "Satırların sayısının toplam sayısı. \\\\ ne.x. Zaman içinde toplam satış sayısı."
 
 #: frontend/src/metabase/lib/schema_metadata.js:507
 msgid "Standard deviation of ..."
@@ -4031,7 +4024,7 @@ msgid "ID"
 msgstr "ID"
 
 #: frontend/src/metabase/meta/Dashboard.js:95
-#: frontend/src/metabase/qb/components/actions/PivotByTimeAction.jsx:8
+#: frontend/src/metabase/modes/components/actions/PivotByTimeAction.jsx:8
 msgid "Time"
 msgstr "Zaman"
 
@@ -4040,7 +4033,7 @@ msgid "Date range, relative date, time of day, etc."
 msgstr "Tarih aralığı, göreli tarih, günün saati vb."
 
 #: frontend/src/metabase/meta/Dashboard.js:101
-#: frontend/src/metabase/qb/components/actions/PivotByLocationAction.jsx:8
+#: frontend/src/metabase/modes/components/actions/PivotByLocationAction.jsx:8
 msgid "Location"
 msgstr "Yer"
 
@@ -4060,73 +4053,73 @@ msgstr "DiÄŸer Kategoriler"
 msgid "Category, Type, Model, Rating, etc."
 msgstr "Kategori, Tip, Model, DeÄŸerlendirme, vb."
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:43
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:42
 #: frontend/src/metabase/user/components/UserSettings.jsx:54
 msgid "Account settings"
 msgstr "Hesap ayarları"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:50
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:49
 msgid "Exit admin"
 msgstr "Çıkış yöneticisi"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:60
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:34
 msgid "Logs"
 msgstr "Kayıtlar"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:67
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:58
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorSidebar.jsx:105
 msgid "Help"
 msgstr "Yardım et"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:76
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:67
 msgid "About Metabase"
 msgstr "Metatabanı Hakkında"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:82
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:73
 msgid "Sign out"
 msgstr "Oturumu Kapat"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:107
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:98
 msgid "Thanks for using"
 msgstr "Kullandığınız için teşekkürler"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:111
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:102
 msgid "You're on version"
 msgstr "Versiyondasın"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:114
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:105
 msgid "Built on"
 msgstr "Ãœzerine inÅŸa"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:133
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:124
 msgid "is a Trademark of"
 msgstr "bir Ticari markasıdır"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:135
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:126
 msgid "and is built with care in San Francisco, CA"
 msgstr "ve San Francisco, CA'da özenle inşa edilmiştir"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:195
+#: frontend/src/metabase/nav/containers/Navbar.jsx:194
 msgid "Metabase Admin"
 msgstr "Metabase Yöneticisi"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:301
+#: frontend/src/metabase/nav/containers/Navbar.jsx:300
 #: frontend/src/metabase/reference/databases/TableQuestions.jsx:36
 #: frontend/src/metabase/reference/metrics/MetricQuestions.jsx:37
 #: frontend/src/metabase/reference/segments/SegmentQuestions.jsx:37
 msgid "Ask a question"
 msgstr "Bir soru sor"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:310
+#: frontend/src/metabase/nav/containers/Navbar.jsx:309
 msgid "New dashboard"
 msgstr "Yeni gösterge Paneli"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:316
+#: frontend/src/metabase/nav/containers/Navbar.jsx:315
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:127
 msgid "New pulse"
 msgstr "Yeni arama"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:324
+#: frontend/src/metabase/nav/containers/Navbar.jsx:323
 msgid "Reference"
 msgstr "Referans"
 
@@ -4175,17 +4168,22 @@ msgid "Select a default value…"
 msgstr "Bir varsayılan değer seç…"
 
 #: frontend/src/metabase/parameters/components/widgets/DateAllOptionsWidget.jsx:149
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:390
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:404
 msgid "Update filter"
 msgstr "Filtreyi güncelle"
 
+#: frontend/src/metabase/lib/query_time.js:112
+#: frontend/src/metabase/lib/query_time.js:123
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:9
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:144
+#: src/metabase/pulse/render.clj
 msgid "Today"
 msgstr "Bugün"
 
+#: frontend/src/metabase/lib/query_time.js:118
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:14
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:148
+#: src/metabase/pulse/render.clj
 msgid "Yesterday"
 msgstr "Dün"
 
@@ -4197,23 +4195,32 @@ msgstr " Geçmiş 7 gün "
 msgid "Past 30 days"
 msgstr "Geçmiş 30 gün "
 
+#: frontend/src/metabase/lib/query_time.js:195
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:24
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:29
 #: src/metabase/api/table.clj
 msgid "Week"
-msgstr "Hafta"
+msgid_plural "Weeks"
+msgstr[0] "Hafta"
+msgstr[1] "Haftalar"
 
+#: frontend/src/metabase/lib/query_time.js:197
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:25
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:30
 #: src/metabase/api/table.clj
 msgid "Month"
-msgstr "Ay"
+msgid_plural "Months"
+msgstr[0] "Ay"
+msgstr[1] "Aylar"
 
+#: frontend/src/metabase/lib/query_time.js:201
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:26
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:31
 #: src/metabase/api/table.clj
 msgid "Year"
-msgstr "Yıl"
+msgid_plural "Years"
+msgstr[0] "Yıl"
+msgstr[1] "Yıllar"
 
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:152
 msgid "Past 7 Days"
@@ -4247,7 +4254,7 @@ msgstr "Bu Ay"
 msgid "This Year"
 msgstr "Bu Yıl"
 
-#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:88
+#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:89
 #: frontend/src/metabase/parameters/components/widgets/TextWidget.jsx:54
 msgid "Enter a value..."
 msgstr "Bir deÄŸer girin ..."
@@ -4430,7 +4437,7 @@ msgid "This pulse will no longer be emailed to {0} {1}"
 msgstr "Bu arama artık {0} {1} adresine e-postayla gönderilmeyecek"
 
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:94
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:374
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:376
 msgid "{0} address"
 msgid_plural "{0} addresses"
 msgstr[0] "{0} adres"
@@ -4482,7 +4489,7 @@ msgstr "Ek dosya"
 
 #: frontend/src/metabase/pulse/components/PulseEditCards.jsx:104
 #: frontend/src/metabase/pulse/components/PulseEditCards.jsx:111
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:671
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:673
 msgid "Heads up"
 msgstr "Dikkat et"
 
@@ -4510,55 +4517,55 @@ msgstr "Verilerinizi seçin"
 msgid "Choose questions you'd like to send in this pulse"
 msgstr "Bu darbede göndermek istediğiniz soruları seçin"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:29
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:27
 msgid "Emails"
 msgstr "E-postalar"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:30
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:28
 msgid "Slack messages"
 msgstr "Slack mesajları"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:223
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:221
 msgid "Sent"
 msgstr "Gönderilen"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:224
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:222
 msgid "{0} will be sent at"
 msgstr "{0} adresine gönderilecek"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:226
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:224
 msgid "Messages"
 msgstr "Mesajlar"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:237
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:240
 msgid "Send email now"
 msgstr "Şimdi e-posta gönder"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:238
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:241
 msgid "Send to {0} now"
 msgstr "Şimdi {0} adresine gönder"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:240
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:243
 msgid "Sending…"
 msgstr "Gönderiliyor ..."
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:241
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:244
 msgid "Sending failed"
 msgstr "Gönderim başarısız"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:244
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:247
 msgid "Didn’t send because the pulse has no results."
 msgstr "Gönderme yapılmadı çünkü arama hiçbir sonuç vermedi."
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:245
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:248
 msgid "Pulse sent"
 msgstr "Arama gönderildi"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:284
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:287
 msgid "{0} needs to be set up by an administrator."
 msgstr "{0} bir yönetici tarafından kurulmalıdır."
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:299
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:302
 msgid "Slack"
 msgstr "GevÅŸek"
 
@@ -4598,66 +4605,66 @@ msgstr "Ekibinizdeki herkesin verilerinizle senkronize olmasına yardımcı olun
 msgid "Pulses let you send data from Metabase to email or Slack on the schedule of your choice."
 msgstr "Aramalar, Metabase'den istediğiniz e-postaya veya Slack'e veri göndermenizi sağlar."
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:100
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:100
 msgid "After {0}"
 msgstr "{0} den sonra"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:102
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:102
 msgid "Before {0}"
 msgstr "{0} den önce"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:104
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:104
 #: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:295
 msgid "Is Empty"
 msgstr "BoÅŸ"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:106
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:106
 #: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:301
 msgid "Not Empty"
 msgstr "BoÅŸ deÄŸil"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:109
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:109
 #: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:213
 msgid "All Time"
 msgstr "Her zaman"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:154
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:154
 msgid "Apply"
 msgstr "Uygulamak"
 
-#: frontend/src/metabase/qb/components/actions/CommonMetricsAction.jsx:21
+#: frontend/src/metabase/modes/components/actions/CommonMetricsAction.jsx:21
 msgid "View {0}"
 msgstr "{0} görüntüle"
 
-#: frontend/src/metabase/qb/components/actions/CompareWithTable.jsx:29
+#: frontend/src/metabase/modes/components/actions/CompareWithTable.jsx:29
 msgid "Compare this with all rows in the table"
 msgstr "Bunu tablodaki tüm satırlarla karşılaştırın"
 
-#: frontend/src/metabase/qb/components/actions/CompoundQueryAction.jsx:14
+#: frontend/src/metabase/modes/components/actions/CompoundQueryAction.jsx:14
 msgid "Analyze the results of this Query"
 msgstr "Bu Sorunun sonuçlarını analiz edin"
 
-#: frontend/src/metabase/qb/components/actions/CountByTimeAction.jsx:29
+#: frontend/src/metabase/modes/components/actions/CountByTimeAction.jsx:29
 msgid "Count of rows by time"
 msgstr "Zamana göre satır sayısı"
 
-#: frontend/src/metabase/qb/components/actions/PivotByAction.jsx:55
+#: frontend/src/metabase/modes/components/actions/PivotByAction.jsx:52
 msgid "Break out by {0}"
 msgstr "{0} ile ayrın"
 
-#: frontend/src/metabase/qb/components/actions/SummarizeBySegmentMetricAction.jsx:34
+#: frontend/src/metabase/modes/components/actions/SummarizeBySegmentMetricAction.jsx:31
 msgid "Summarize this segment"
 msgstr "Bu segmenti özetle"
 
-#: frontend/src/metabase/qb/components/actions/UnderlyingDataAction.jsx:14
+#: frontend/src/metabase/modes/components/actions/UnderlyingDataAction.jsx:14
 msgid "View this as a table"
 msgstr "Bunu tablo olarak görüntüle"
 
-#: frontend/src/metabase/qb/components/actions/UnderlyingRecordsAction.jsx:22
+#: frontend/src/metabase/modes/components/actions/UnderlyingRecordsAction.jsx:22
 msgid "View the underlying {0} records"
 msgstr "Temeldeki {0} kayıtları görüntüleyin"
 
-#: frontend/src/metabase/qb/components/actions/XRayCard.jsx:20
+#: frontend/src/metabase/modes/components/actions/XRayCard.jsx:20
 msgid "X-Ray this question"
 msgstr "bu soru X-Ray yapın"
 
@@ -4679,46 +4686,46 @@ msgstr "bu"
 msgid "Compare {0} {1} to the rest"
 msgstr "{0} {1} ile diğerlerini karşılaştır"
 
-#: frontend/src/metabase/qb/components/drill/DistributionDrill.jsx:35
+#: frontend/src/metabase/modes/components/drill/DistributionDrill.jsx:35
 msgid "Distribution"
 msgstr "Dağıtım"
 
-#: frontend/src/metabase/qb/components/drill/ObjectDetailDrill.jsx:38
+#: frontend/src/metabase/modes/components/drill/ObjectDetailDrill.jsx:38
 msgid "View details"
 msgstr "Detayları göster"
 
-#: frontend/src/metabase/qb/components/drill/QuickFilterDrill.jsx:54
+#: frontend/src/metabase/modes/components/drill/QuickFilterDrill.jsx:54
 msgid "View this {0}'s {1}"
 msgstr " {0}'in{1}'ni görüntüle "
 
-#: frontend/src/metabase/qb/components/drill/SortAction.jsx:41
+#: frontend/src/metabase/modes/components/drill/SortAction.jsx:42
 msgid "Ascending"
 msgstr "Yükselen"
 
-#: frontend/src/metabase/qb/components/drill/SortAction.jsx:49
+#: frontend/src/metabase/modes/components/drill/SortAction.jsx:50
 msgid "Descending"
 msgstr "Azalan"
 
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnByTimeDrill.js:47
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnByTimeDrill.js:47
 msgid "over time"
 msgstr "zamanla"
 
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:21
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:21
 msgid "Avg"
 msgstr "Ort"
 
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:33
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:33
 msgid "Distincts"
 msgstr "Farklar"
 
-#: frontend/src/metabase/qb/components/drill/UnderlyingRecordsDrill.jsx:32
+#: frontend/src/metabase/modes/components/drill/UnderlyingRecordsDrill.jsx:32
 msgid "View this {0}"
 msgid_plural "View these {0}"
 msgstr[0] "{0}'ni görüntüle "
 msgstr[1] "{0}ları görüntüle"
 
 #: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:225
-#: frontend/src/metabase/qb/components/drill/ZoomDrill.jsx:26
+#: frontend/src/metabase/modes/components/drill/ZoomDrill.jsx:26
 msgid "Zoom in"
 msgstr "Yakınlaştır"
 
@@ -4730,63 +4737,63 @@ msgstr "Özel ifade"
 msgid "Common Metrics"
 msgstr "Genel Metrikler"
 
-#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:182
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:209
 msgid "Metabasics"
 msgstr "Matabazitlerin"
 
-#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:290
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:319
 msgid "Name (optional)"
 msgstr "İsim: (İsteğe bağlı)"
 
-#: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:153
+#: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:156
 msgid "Choose an aggregation"
 msgstr "Bir toplama seçin"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:115
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:100
 msgid "Set up your own alert"
 msgstr "Kendi uyarınızı ayarlayın"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:155
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:140
 msgid "Unsubscribing..."
 msgstr "Abonelik Kaldırma ..."
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:160
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:145
 msgid "Failed to unsubscribe"
 msgstr "Abonelikten çıkamadı"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:216
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:204
 msgid "Unsubscribe"
 msgstr "AboneliÄŸini"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:247
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:235
 msgid "No channel"
 msgstr "Kanal yok"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:274
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:263
 msgid "Okay, you're unsubscribed"
 msgstr "Tamam, abonelikten çıktın"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:346
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:335
 msgid "You're receiving {0}'s alerts"
 msgstr "{0} adlı kullanıcının uyarılarını alıyorsunuz"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:347
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:336
 msgid "{0} set up an alert"
 msgstr "{0} bir uyarı oluştur"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:161
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:160
 msgid "alerts"
 msgstr "uyarılar"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:184
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:183
 msgid "Let's set up your alert"
 msgstr "Hadi uyarınızı ayarlayalım"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:215
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:214
 msgid "The wide world of alerts"
 msgstr "Uyarılar dünyası"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:216
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:215
 msgid "There are a few different kinds of alerts you can get"
 msgstr "Alabileceğiniz birkaç farklı uyarı var."
 
@@ -4798,123 +4805,123 @@ msgstr "Ä°ÅŸlenmemiÅŸ bir veri sorusu olduÄŸunda {0}"
 msgid "returns any results"
 msgstr "herhangi bir sonuç döndürür"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:240
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:241
 msgid "When a line or bar {0}"
 msgstr "Bir satır veya çubuk {0} olduğunda"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:241
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:242
 msgid "crosses a goal line"
 msgstr "bir gol çizgisini geçiyor"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:251
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:253
 msgid "When a progress bar {0}"
 msgstr "Bir ilerleme çubuğu {0} olduğunda"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:252
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:254
 msgid "reaches its goal"
 msgstr "hedefine ulaşır"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:260
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:262
 msgid "Set up an alert"
 msgstr "Bir uyarı ayarla"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:329
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:331
 msgid "Edit your alert"
 msgstr "Uyarınızı düzenleyin"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:329
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:331
 msgid "Edit alert"
 msgstr "Uyarıyı düzenle"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:372
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:374
 msgid "This alert will no longer be emailed to {0}."
 msgstr "Bu uyarı artık {0} adresine e-postayla gönderilmeyecek."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:380
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:382
 msgid "Slack channel {0} will no longer get this alert."
 msgstr "Slack kanalı {0} artık bu uyarıyı almayacak."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:384
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:386
 msgid "Channel {0} will no longer receive this alert."
 msgstr "Kanal {0} artık bu uyarıyı almayacak."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:401
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:403
 msgid "Delete this alert"
 msgstr "Bu uyarıyı sil"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:403
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:405
 msgid "Stop delivery and delete this alert. There's no undo, so be careful."
 msgstr "Teslim işlemini durdurun ve bu uyarıyı silin. Geri alma yok, o yüzden dikkatli ol."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:411
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:413
 msgid "Delete this alert?"
 msgstr "Bu uyarıyı silinsin mi?"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:495
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:497
 msgid "Alert me when the line…"
 msgstr "Satırdayken beni uyar..."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:496
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:498
 msgid "Alert me when the progress bar…"
 msgstr "İlerleme çubuğuda beni uyar."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:499
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:501
 msgid "Goes above the goal line"
 msgstr "Gol çizgisinin üzerinde gider"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:499
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:501
 msgid "Reaches the goal"
 msgstr "Hedefe ulaşır"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:502
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:504
 msgid "Goes below the goal line"
 msgstr "Gol çizgisinin altına gider"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:502
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:504
 msgid "Goes below the goal"
 msgstr "Hedefin altında gider"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:510
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:512
 msgid "The first time it crosses, or every time?"
 msgstr "İlk kez mi geçiyor, ya da her seferinde mi?"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:511
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:513
 msgid "The first time it reaches the goal, or every time?"
 msgstr "Ä°lk defa hedefe mi, yoksa her sefere mi?"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:513
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:515
 msgid "The first time"
 msgstr "Ä°lk defa"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:514
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:516
 msgid "Every time"
 msgstr "Her zaman"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:617
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:619
 msgid "Where do you want to send these alerts?"
 msgstr "Bu uyarıları nereye göndermek istersiniz?"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:628
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:630
 msgid "Email alerts to:"
 msgstr "E-posta uyarıları:"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:670
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:672
 msgid "{0} Goal-based alerts aren't yet supported for charts with more than one line, so this alert will be sent whenever the chart has {1}."
 msgstr "{0} Birden fazla satıra sahip grafikler için hedef tabanlı uyarılar henüz desteklenmiyor, Bu nedenle, grafik {1} olduğunda bu uyarı gönderilir."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:673
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:675
 msgid "results"
 msgstr "sonuçlar"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:677
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:679
 msgid "{0} This kind of alert is most useful when your saved question doesn’t {1} return any results, but you want to know when it does."
 msgstr "{0} Bu tür bir uyarı, kaydedilen sorunuzu {1} herhangi bir sonuç döndürmediğinde en yararlı olanıdır, ama ne zaman olduğunu bilmek istiyorsun."
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:678
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:680
 msgid "Tip"
 msgstr "Tür"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:680
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:682
 msgid "usually"
 msgstr "genellikle"
 
@@ -4937,28 +4944,28 @@ msgstr "Seç ..."
 msgid "Select a table"
 msgstr "Tablo seç"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:785
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:793
 msgid "No tables found in this database."
 msgstr "Bu veritabanında hiçbir tablo bulunamadı."
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:822
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:830
 msgid "Is a question missing?"
 msgstr "Eksik bir soru mu var?"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:826
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:834
 msgid "Learn more about nested queries"
 msgstr "Yuvalanmış sorgular hakkında daha fazla bilgi edinin."
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:860
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:868
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:30
 msgid "Fields"
 msgstr "Alanlar"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:938
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:946
 msgid "No segments were found."
 msgstr "Segment bulunamadı."
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:961
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:969
 msgid "Find a segment"
 msgstr "Bir segment bul"
 
@@ -4970,27 +4977,27 @@ msgstr "Daha azını görüntüle"
 msgid "View more"
 msgstr "Daha fazla göster"
 
-#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:111
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:112
 msgid "Pick a field to sort by"
 msgstr "Sıralamak için bir alan seçin"
 
-#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:124
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:125
 msgid "Sort"
 msgstr "Çeşit"
 
-#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:193
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:137
 msgid "Row limit"
 msgstr "Satır sınırı"
 
-#: frontend/src/metabase/query_builder/components/FieldName.jsx:76
+#: frontend/src/metabase/query_builder/components/FieldName.jsx:69
 msgid "Unknown Field"
 msgstr "Bilinmeyen Alan"
 
-#: frontend/src/metabase/query_builder/components/FieldName.jsx:79
+#: frontend/src/metabase/query_builder/components/FieldName.jsx:72
 msgid "field"
 msgstr "alan"
 
-#: frontend/src/metabase/query_builder/components/Filter.jsx:113
+#: frontend/src/metabase/query_builder/components/Filter.jsx:114
 msgid "Matches"
 msgstr "Maçlar"
 
@@ -5011,11 +5018,11 @@ msgstr "Bir gruplama ekle"
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:59
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:68
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:75
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:226
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:232
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:238
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:62
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:67
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:225
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:231
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:237
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:70
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:75
 msgid "Data"
 msgstr "Veri"
 
@@ -5023,7 +5030,7 @@ msgstr "Veri"
 msgid "Filtered by"
 msgstr "Tarafından filtrelenmiş"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:82
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:75
 #: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:369
 msgid "View"
 msgstr "Görünüm"
@@ -5175,7 +5182,7 @@ msgstr "{0} {1} gösteriliyor"
 
 #: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:281
 msgid "Doing science"
-msgstr "Bilim yapmak"
+msgstr "Ä°ÅŸleniyor"
 
 #: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:294
 msgid "If you give me some data I can show you something cool. Run a Query!"
@@ -5257,8 +5264,7 @@ msgstr "Son koşuya dönüş"
 msgid "Visualization"
 msgstr "Görüntüleme"
 
-#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:17
-#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:151
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:96
 msgid "No description set."
 msgstr "Açıklama ayarlanmamış."
 
@@ -5266,12 +5272,11 @@ msgstr "Açıklama ayarlanmamış."
 msgid "Use for current question"
 msgstr "Mevcut soru için kullan"
 
-#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:33
 #: frontend/src/metabase/reference/components/UsefulQuestions.jsx:16
 msgid "Potentially useful questions"
 msgstr "Potansiyel olarak yararlı sorular"
 
-#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:156
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:166
 msgid "Group by {0}"
 msgstr "{0} gruba göre gruplandır"
 
@@ -5279,20 +5284,19 @@ msgstr "{0} gruba göre gruplandır"
 msgid "Sum of all values of {0}"
 msgstr "Tüm {0} değerlerinin toplamı"
 
-#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:173
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:63
 #: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:51
 msgid "All distinct values of {0}"
 msgstr "Tüm farklı {0} değerleri"
 
-#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:177
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:187
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:39
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:51
 #: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:39
 msgid "Number of {0} grouped by {1}"
 msgstr "{1} ile gruplandırılmış {0} sayısı"
 
-#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:11
+#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:10
 #: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:20
 #: frontend/src/metabase/reference/databases/FieldSidebar.jsx:30
 #: frontend/src/metabase/reference/databases/TableSidebar.jsx:26
@@ -5347,15 +5351,15 @@ msgstr "Tablo yüklenirken bir hata oluştu"
 msgid "See the raw data for {0}"
 msgstr "{0} için ham verileri görün"
 
-#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:205
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:180
 msgid "More"
 msgstr "Daha"
 
-#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:200
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:201
 msgid "Invalid expression"
 msgstr "Geçersiz ifade"
 
-#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:275
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:276
 msgid "unknown error"
 msgstr "bilinmeyen hata"
 
@@ -5416,19 +5420,19 @@ msgstr "bu dakika"
 msgid "this hour"
 msgstr "bu saat"
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:285
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:290
 msgid "not implemented {0}"
 msgstr "uygulanmadı {0}"
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:286
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:291
 msgid "true"
 msgstr "doÄŸru"
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:286
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:291
 msgid "false"
 msgstr "yanlış"
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:390
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:404
 msgid "Add filter"
 msgstr "Filtre ekle"
 
@@ -5727,7 +5731,7 @@ msgstr "Bu veritabanı hakkında bilinmesi gerekenler"
 msgid "Databases and tables"
 msgstr "Veritabanları ve tablolar"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:68
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:61
 #: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:27
 #: frontend/src/metabase/reference/databases/FieldSidebar.jsx:41
 #: frontend/src/metabase/reference/databases/TableDetail.jsx:170
@@ -5786,7 +5790,7 @@ msgstr "Alan adı"
 
 #: frontend/src/metabase/reference/databases/FieldSidebar.jsx:49
 msgid "X-ray this field"
-msgstr "Bualana x-ışı"
+msgstr "Bu alana x-ray"
 
 #: frontend/src/metabase/reference/databases/NoDatabasesEmptyState.jsx:8
 msgid "Metabase is no fun without any data"
@@ -6113,7 +6117,7 @@ msgstr "Arama"
 msgid "Dashboard"
 msgstr "Gösterge paneli"
 
-#: frontend/src/metabase/routes.jsx:227
+#: frontend/src/metabase/routes.jsx:228
 msgid "New Question"
 msgstr "Yeni soru"
 
@@ -6261,7 +6265,7 @@ msgstr "Metabot milyarlarca diferansiyel denklem gerçekleştiriyor…"
 
 #: frontend/src/metabase/setup/containers/PostSetupApp.jsx:28
 msgid "Metabot is doing science…"
-msgstr "Metabot bilim üretiyor..."
+msgstr "Veriler Ãœretiliyor...."
 
 #: frontend/src/metabase/setup/containers/PostSetupApp.jsx:29
 msgid "Metabot is checking out your metrics…"
@@ -6424,7 +6428,7 @@ msgstr "Google E-posta adresiyle giriÅŸ yap"
 msgid "User Details"
 msgstr "Kullanıcı detayları"
 
-#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:235
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:275
 msgid "Reset to defaults"
 msgstr "Varsayılanlara dön"
 
@@ -6471,37 +6475,37 @@ msgstr "Ayarını kaldır"
 
 #: frontend/src/metabase/visualizations/components/TableSimple.jsx:253
 msgid "Rows {0}-{1} of {2}"
-msgstr "{0}-{1} / {2} satırları"
+msgstr "{0} - {1} - {2} satırda"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:187
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:189
 msgid "Data truncated to {0} rows."
 msgstr "Veriler {0} satırına kesildi."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:352
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:364
 msgid "Could not find visualization"
 msgstr "Görselleştirme bulunamadı"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:359
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:371
 msgid "Could not display this chart with this data."
 msgstr "Grafik bu verileri görüntülenemedi."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:457
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:469
 msgid "No results!"
 msgstr "Sonuç yok!"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:478
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:490
 msgid "Still Waiting..."
 msgstr "Hala bekliyorum ."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:481
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:493
 msgid "This usually takes an average of {0}."
 msgstr "Bu genellikle ortalama {0} alır."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:487
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:499
 msgid "(This is a bit long for a dashboard)"
 msgstr "(Bu bir gösterge paneli için biraz uzun)"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:491
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:503
 msgid "This is usually pretty fast but seems to be taking awhile right now."
 msgstr "Bu genellikle oldukça hızlıdır ancak şu anda bir süredir devam ediyor gibi görünüyor."
 
@@ -6607,7 +6611,7 @@ msgid "Highlight the whole row"
 msgstr "Tüm satırı vurgula"
 
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:390
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:90
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:98
 msgid "Colors"
 msgstr "Renkler"
 
@@ -6916,7 +6920,7 @@ msgid "Funnel"
 msgstr "Huni"
 
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:76
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:68
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:76
 msgid "Measure"
 msgstr "Tedbir"
 
@@ -6932,15 +6936,15 @@ msgstr "Çubuk grafik"
 msgid "line chart"
 msgstr "Çizgi grafik"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:225
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:224
 msgid "Please select longitude and latitude columns in the chart settings."
 msgstr "Grafik ayarlarında boylam ve enlem sütunlarını seçiniz."
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:231
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:230
 msgid "Please select a region map."
 msgstr "Lütfen bir bölge haritası seçin."
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:237
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:236
 msgid "Please select region and metric columns in the chart settings."
 msgstr "Grafik ayarlarında lütfen bölge ve metrik sütunları seçin."
 
@@ -6990,19 +6994,19 @@ msgstr "Metrik alan"
 msgid "Region field"
 msgstr "Bölge alanı"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:193
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:192
 msgid "Radius"
 msgstr "Yarıçap"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:199
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:198
 msgid "Blur"
 msgstr "Bulanıklık"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:205
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:204
 msgid "Min Opacity"
 msgstr "Min Opaklık"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:211
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:210
 msgid "Max Zoom"
 msgstr "Maksimum Zum"
 
@@ -7026,31 +7030,31 @@ msgstr "Nesne detay"
 msgid "object"
 msgstr "nesne"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:304
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:312
 msgid "Total"
 msgstr "Toplam"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:53
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:61
 msgid "Which columns do you want to use?"
 msgstr "Hangi sütunları kullanmak istiyorsunuz?"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:41
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:44
 msgid "Pie"
 msgstr "Turta"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:63
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:71
 msgid "Dimension"
 msgstr "Boyut"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:73
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:81
 msgid "Show legend"
 msgstr "Gösteriyi göster"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:78
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:86
 msgid "Show percentages in legend"
 msgstr "Gösterideki yüzdeleri göster"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:84
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:92
 msgid "Minimum slice percentage"
 msgstr "Minimum dilim yüzdesi"
 
@@ -7074,8 +7078,8 @@ msgstr "İlerleme görselleştirmesi bir sayı gerektirir."
 msgid "Progress"
 msgstr "Ä°lerleme"
 
-#: frontend/src/metabase/entities/collections.js:101
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:177
+#: frontend/src/metabase/entities/collections.js:108
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:176
 #: frontend/src/metabase/visualizations/visualizations/Progress.jsx:57
 msgid "Color"
 msgstr "Renk"
@@ -7166,13 +7170,13 @@ msgstr "SaÄŸ"
 msgid "Show background"
 msgstr "Arka planı göster"
 
-#: frontend/src/metabase-lib/lib/Dimension.js:492
+#: frontend/src/metabase-lib/lib/Dimension.js:553
 msgid "{0} bin"
 msgid_plural "{0} bins"
 msgstr[0] "{0} kutu"
 msgstr[1] "{0} kutular"
 
-#: frontend/src/metabase-lib/lib/Dimension.js:498
+#: frontend/src/metabase-lib/lib/Dimension.js:559
 msgid "Auto binned"
 msgstr "Otomatik olarak silindi"
 
@@ -7204,7 +7208,7 @@ msgstr "Geçersiz varlık türü"
 msgid "Invalid comparison entity type. Can only be one of \"table\", \"segment\", or \"adhoc\""
 msgstr "Geçersiz karşılaştırma varlığı türü. \"Tablo\", \"segment\" veya \"adhoc\" dan sadece biri olabilir"
 
-#: src/metabase/api/card.clj
+#: src/metabase/query_processor/async.clj
 msgid "Error running query to determine Card result metadata:"
 msgstr "Kart sonucu meta verilerini belirlemek için sorgu çalıştırılırken hata oluştu:"
 
@@ -7248,14 +7252,14 @@ msgstr "Uyarı: {0} / {1} bitiş noktasında bir doküman yok."
 msgid "starting streaming request"
 msgstr "akış isteğini başlatma"
 
-#: src/metabase/api/common.clj
+#: src/metabase/async/api_response.clj
 msgid "connection closed, canceling request"
 msgstr "bağlantı kapatıldı, istek iptal edildi"
 
 #. a newline padding character as it's harmless and will allow us to check if the client is connected. If
 #. sending this character fails because the connection is closed, the chan will then close.  Newlines are
 #. no-ops when reading JSON which this depends upon.
-#: src/metabase/api/common.clj
+#: src/metabase/async/api_response.clj
 msgid "Response not ready, writing one byte & sleeping..."
 msgstr "Yanıt hazır değil, bir bayt yazıyor ve uyuyor ..."
 
@@ -7440,22 +7444,30 @@ msgstr "Otomatik kutu"
 msgid "Don''t bin"
 msgstr "Silme"
 
-#: src/metabase/api/table.clj
+#: frontend/src/metabase/lib/query_time.js:193 src/metabase/api/table.clj
 msgid "Day"
-msgstr "Gün"
+msgid_plural "Days"
+msgstr[0] "Gün"
+msgstr[1] "Günler"
 
 #. note the order of these options corresponds to the order they will be shown to the user in the UI
-#: src/metabase/api/table.clj
+#: frontend/src/metabase/lib/query_time.js:189 src/metabase/api/table.clj
 msgid "Minute"
-msgstr "Dakika"
+msgid_plural "Minutes"
+msgstr[0] "Dakika"
+msgstr[1] "Dakikalar"
 
-#: src/metabase/api/table.clj
+#: frontend/src/metabase/lib/query_time.js:191 src/metabase/api/table.clj
 msgid "Hour"
-msgstr "Saat"
+msgid_plural "Hours"
+msgstr[0] "Saat"
+msgstr[1] "Saat"
 
-#: src/metabase/api/table.clj
+#: frontend/src/metabase/lib/query_time.js:199 src/metabase/api/table.clj
 msgid "Quarter"
-msgstr "Çeyrek"
+msgid_plural "Quarters"
+msgstr[0] "Çeyrek"
+msgstr[1] "Çeyrekler"
 
 #: src/metabase/api/table.clj
 msgid "Minute of Hour"
@@ -7805,11 +7817,11 @@ msgstr "Görünüşe göre bu yeni bir kurulum ... kurulum sihirbazını hazırl
 msgid "Metabase Initialization COMPLETE"
 msgstr "Metatabanı Başlatma İşlemi COMPLETE"
 
-#: src/metabase/core.clj
+#: src/metabase/server.clj
 msgid "Launching Embedded Jetty Webserver with config:"
 msgstr "Config ile Embedded Jetty Web sunucusu başlatılıyor:"
 
-#: src/metabase/core.clj
+#: src/metabase/server.clj
 msgid "Shutting Down Embedded Jetty Webserver"
 msgstr "Gömülü Jetty Web Sunucusunu Kapatma"
 
@@ -7870,51 +7882,51 @@ msgstr "Veritabanı Geçişlerini Çalıştırma ..."
 msgid "Database Migrations Current ... "
 msgstr "Veritabanı Geçişleri"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Hmm, we couldn''t connect to the database."
 msgstr "Hmm, veritabanına bağlanamadık."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Make sure your host and port settings are correct"
 msgstr "Ana makine ve bağlantı noktası ayarlarınızın doğru olduğundan emin olun."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "We couldn''t connect to the ssh tunnel host."
 msgstr "Ssh tüneli ana bilgisayarına bağlanamadık."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Check the username, password."
 msgstr "Kullanıcı adını ve şifreyi kontrol edin."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Check the hostname and port."
 msgstr "Ana bilgisayar adını ve bağlantı noktasını kontrol edin."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like the database name is incorrect."
 msgstr "Veritabanı adı yanlış gibi görünüyor."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "It looks like your host is invalid."
 msgstr "Ana makinenizin geçersiz olduğu anlaşılıyor."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Please double-check it and try again."
 msgstr "Lütfen tekrar kontrol edip tekrar deneyin."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like your password is incorrect."
 msgstr "Şifreniz yanlış görünüyor."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like you forgot to enter your password."
 msgstr "Åžifreni girmeyi unutmuÅŸ gibisin."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like your username is incorrect."
 msgstr "Kullanıcı adın yanlış gibi görünüyor."
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like the username or password is incorrect."
 msgstr "Kullanıcı adı veya şifre yanlış görünüyor."
 
@@ -7931,16 +7943,16 @@ msgstr "Kayıtlı sürücü {0} {1}"
 msgid "No -init-driver function found for ''{0}''"
 msgstr "'' {0} '' için herhangi bir sürücü bulunamadı"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Unable to parse date string ''{0}'' for database engine ''{1}''"
 msgstr "veritabanı motoru '' {1} ''  için '' {0} '' tarih dizesi ayrıştırılamıyor"
 
 #. all-NULL columns in DBs like Mongo w/o explicit types
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Don''t know how to map class ''{0}'' to a Field base_type, falling back to :type/*."
 msgstr ": type / * e geri dönmek için '{0}' 'sınıfını Field base_type ye göre nasıl eşleştireceğinizi bilmiyorum,"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/util.clj
 msgid "Failed to connect to database: {0}"
 msgstr "Veritabanına bağlanılamadı: {0}"
 
@@ -7952,7 +7964,7 @@ msgstr "Geçersiz BigQuery tanımlayıcısı: '' {0} ''"
 msgid "BigQuery statements can't be parameterized!"
 msgstr "BigQuery ifadeleri parametrelenemez!"
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql_jdbc/execute.clj
 msgid "Failed to set timezone:"
 msgstr "Saat dilimi ayarlanamadı:"
 
@@ -8084,11 +8096,11 @@ msgstr "Https://api.slack.com/web#authentication adresinden elde edilen Slack AP
 msgid "Enable MetaBot, which lets you search for and view your saved questions directly via Slack."
 msgstr "MetaBot'u etkinleştir, Kayıtlı sorularınızı doğrudan Slack üzerinden arayabilir ve görüntüleyebilirsiniz."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
 msgid "Last MetaBot checkin was {0} ago."
 msgstr "Son MetaBot check-ini {0} önceydi."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
 msgid "This instance will now handle MetaBot duties."
 msgstr "Bu örnek şimdi MetaBot görevlerini üstlenecek."
 
@@ -8100,39 +8112,39 @@ msgstr "Ä°ÅŸte yapabildiÄŸim {0}:"
 msgid "I don''t know how to {0} `{1}`.n{2}"
 msgstr "{0} `{1}` .n {2} nasıl yapılacağını bilmiyorum"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/slack.clj
 msgid "Uh oh! :cry:n> {0}"
 msgstr "Ah ah! : korkarım: n> {0}"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Here''s your {0} most recent cards:n{1}"
 msgstr "İşte {0} en son kartlarınız: n {1}"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Could you be a little more specific? I found these cards with names that matched:n{0}"
 msgstr "Biraz daha spesifik olabilir misin? Bu kartları eşleşen adlarla buldum: n {0}"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "I don''t know what Card `{0}` is. Give me a Card ID or name."
 msgstr "{0} `kartının ne olduğunu bilmiyorum. Bana bir kart kimliği veya isim ver."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Show which card? Give me a part of a card name or its ID and I can show it to you. If you don''t know which card you want, try `metabot list`."
 msgstr "Hangi kartı göster? Bana bir kart adının veya kimliğinin bir kısmını ver ve sana gösterebilirim. Hangi kartı istediğinizi bilmiyorsanız, metabot listeyi deneyin."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Ok, just a second..."
 msgstr "Tamam, bir saniye ..."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Not Found"
 msgstr "Bulunamadı"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Loading Kanye quotes..."
 msgstr "Kanye teklifleri yükleniyor ..."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/events.clj
 msgid "Evaluating Metabot command:"
 msgstr "Metabot komutunun deÄŸerlendirilmesi:"
 
@@ -8140,23 +8152,23 @@ msgstr "Metabot komutunun deÄŸerlendirilmesi:"
 msgid "Go home websocket, you're drunk."
 msgstr "Eve git websocket, sarhoÅŸsun."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/websocket.clj
 msgid "Error launching metabot:"
 msgstr "Metabot başlatılırken hata oluştu:"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/websocket.clj
 msgid "MetaBot WebSocket is closed. Reconnecting now."
 msgstr "MetaBot WebSocket kapalı. Şimdi yeniden bağlanıyor."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/websocket.clj
 msgid "Error connecting websocket:"
 msgstr "Websocket bağlanırken hata oluştu:"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
 msgid "This instance is performing MetaBot duties."
 msgstr "Bu örnek MetaBot görevlerini yerine getiriyor."
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
 msgid "Another instance is already handling MetaBot duties."
 msgstr "Başka bir örnek zaten MetaBot görevlerini ele alıyor."
 
@@ -8172,15 +8184,15 @@ msgstr "MetaBot durduruluyor ... 🤖"
 msgid "MetaBot already running. Killing the previous WebSocket listener first."
 msgstr "MetaBot zaten çalışıyor. Önce bir önceki WebSocket dinleyicisini öldürmek."
 
-#: src/metabase/middleware.clj
+#: src/metabase/middleware/security.clj
 msgid "Base-64 encoded public key for this site's SSL certificate."
 msgstr "Bu sitenin SSL sertifikası için 64 baz kodlu ortak anahtar."
 
-#: src/metabase/middleware.clj
+#: src/metabase/middleware/security.clj
 msgid "Specify this to enable HTTP Public Key Pinning."
 msgstr "HTTP Genel Anahtar Sabitleme'yi etkinleştirmek için bunu belirtin."
 
-#: src/metabase/middleware.clj
+#: src/metabase/middleware/security.clj
 msgid "See {0} for more information."
 msgstr "Daha fazla bilgi için {0} adresine bakın."
 
@@ -8387,19 +8399,19 @@ msgstr "Bir Revizyonu güncelleyemezsiniz!"
 msgid "Setting {0} does not exist.nFound: {1}"
 msgstr "{0} ayarı mevcut değil.nFound: {1}"
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Updating value of settings-last-updated in DB..."
 msgstr "DB'de son güncellenen-ayarların-güncellenmesi ..."
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Checking whether settings cache is out of date (requires DB call)..."
 msgstr "Ayarlar önbelleğinin güncel olup olmadığını kontrol etme (DB çağrısı gerektirir) ..."
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Settings have been changed on another instance, and will be reloaded here."
 msgstr "Ayarlar başka bir örnekte değiştirildi ve buraya yeniden yüklenecek."
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Refreshing Settings cache..."
 msgstr "Yenileme Ayarları önbelleği ..."
 
@@ -8905,27 +8917,27 @@ msgstr "Tüm koleksiyon izinlerine bakın"
 msgid "Also change sub-collections"
 msgstr "Alt koleksiyonları da değiştir"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:278
+#: frontend/src/metabase/admin/permissions/selectors.js:282
 msgid "Can edit this collection and its contents"
 msgstr "Bu koleksiyonu ve içeriğini düzenleyebilir"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:285
+#: frontend/src/metabase/admin/permissions/selectors.js:289
 msgid "Can view items in this collection"
 msgstr "Bu koleksiyondaki öğeleri görebilir"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:745
+#: frontend/src/metabase/admin/permissions/selectors.js:749
 msgid "Collection Access"
 msgstr "Koleksiyon EriÅŸimi"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:821
+#: frontend/src/metabase/admin/permissions/selectors.js:825
 msgid "This group has permission to view at least one subcollection of this collection."
 msgstr "Bu grup, bu koleksiyonun en az bir alt koleksiyonunu görüntüleme iznine sahiptir."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:826
+#: frontend/src/metabase/admin/permissions/selectors.js:830
 msgid "This group has permission to edit at least one subcollection of this collection."
 msgstr "Bu grubun bu koleksiyonun en az bir alt koleksiyonunu düzenleme izni var."
 
-#: frontend/src/metabase/admin/permissions/selectors.js:839
+#: frontend/src/metabase/admin/permissions/selectors.js:843
 msgid "View sub-collections"
 msgstr "Alt koleksiyonları görüntüle"
 
@@ -8933,19 +8945,19 @@ msgstr "Alt koleksiyonları görüntüle"
 msgid "Remember Me"
 msgstr "Beni hatırla"
 
-#: frontend/src/metabase/components/BrowseApp.jsx:120
+#: frontend/src/metabase/components/BrowseApp.jsx:95
 msgid "X-ray this schema"
 msgstr "Bu şema X-ışını"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:246
+#: frontend/src/metabase/components/CollectionLanding.jsx:258
 msgid "Edit the permissions for this collection"
 msgstr "Bu koleksiyon için izinleri düzenle"
 
-#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:51
+#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:55
 msgid "Add this question to a dashboard"
 msgstr "Bu soruyu kontrol paneline ekle"
 
-#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:61
+#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:65
 msgid "Create a new dashboard"
 msgstr "Yeni bir gösterge paneli oluştur"
 
@@ -8957,11 +8969,11 @@ msgstr "İstediğiniz sayfa bulunamadı."
 msgid "Select a {0}"
 msgstr "Bir {0} seçin"
 
-#: frontend/src/metabase/containers/Overworld.jsx:190
+#: frontend/src/metabase/containers/Overworld.jsx:185
 msgid "Save dashboards, questions, and collections in \"{0}\""
 msgstr "\"{0}\" içindeki gösterge panelini, soruları ve koleksiyonları kaydedin"
 
-#: frontend/src/metabase/containers/Overworld.jsx:193
+#: frontend/src/metabase/containers/Overworld.jsx:188
 msgid "Access dashboards, questions, and collections in \"{0}\""
 msgstr "\"{0}\" içindeki gösterge paneli, sorulara ve koleksiyonlara erişin"
 
@@ -8981,11 +8993,11 @@ msgstr "Ä°lgili"
 msgid "More X-rays"
 msgstr "Daha fazla X-rays"
 
-#: frontend/src/metabase/home/containers/SearchApp.jsx:50
+#: frontend/src/metabase/home/containers/SearchApp.jsx:46
 msgid "No results"
 msgstr "Sonuç yok"
 
-#: frontend/src/metabase/home/containers/SearchApp.jsx:51
+#: frontend/src/metabase/home/containers/SearchApp.jsx:47
 msgid "Metabase couldn't find any results for your search."
 msgstr "Metabase aramanız için herhangi bir sonuç bulamadı."
 
@@ -9031,43 +9043,43 @@ msgstr "İzin verme başarısız: {0}"
 msgid "Cannot decrypt encrypted string. Have you changed or forgot to set MB_ENCRYPTION_SECRET_KEY?"
 msgstr "Şifreli dizenin şifresi çözülemiyor. MB_ENCRYPTION_SECRET_KEY'nı değiştirmeyi mi unuttunuz?"
 
-#: frontend/src/metabase/entities/collections.js:157
+#: frontend/src/metabase/entities/collections.js:164
 msgid "All personal collections"
 msgstr "Tüm kişisel koleksiyonlar"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Host"
 msgstr "Sunucu"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Port"
 msgstr "Port"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Database username"
 msgstr "Veritabanı kullanıcı adı"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "What username do you use to login to the database?"
 msgstr "Veritabanına giriş yapmak için hangi kullanıcı adlarını kullanıyorsunuz?"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Database password"
 msgstr "Veritabanı şifresi"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Database name"
 msgstr "Veri tabanı ismi"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "birds_of_the_world"
 msgstr "birds_of_the_world"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Use a secure connection (SSL)?"
 msgstr "Güvenli bir bağlantı (SSL) kullanılsın mı?"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Additional JDBC connection string options"
 msgstr "Ek JDBC bağlantı dizesi seçenekleri"
 
@@ -9206,7 +9218,7 @@ msgstr "Etiketler"
 msgid "Add members"
 msgstr "Ãœye ekle"
 
-#: frontend/src/metabase/entities/collections.js:108
+#: frontend/src/metabase/entities/collections.js:115
 msgid "Collection it's saved in"
 msgstr "Koleksiyon kaydedildi"
 
@@ -9235,10 +9247,10 @@ msgstr "Paylaşım"
 #: frontend/src/metabase/visualizations/lib/settings/graph.js:321
 #: frontend/src/metabase/visualizations/lib/settings/nested.js:126
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:83
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:72
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:77
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:83
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:89
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:80
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:85
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:91
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:97
 #: frontend/src/metabase/visualizations/visualizations/Progress.jsx:50
 #: frontend/src/metabase/visualizations/visualizations/Progress.jsx:56
 #: frontend/src/metabase/visualizations/visualizations/Text.jsx:72
@@ -9260,20 +9272,20 @@ msgstr "Eksen"
 
 #: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:222
 #: frontend/src/metabase/admin/settings/selectors.js:319
-#: frontend/src/metabase/qb/components/drill/FormatAction.jsx:27
+#: frontend/src/metabase/modes/components/drill/FormatAction.jsx:27
 #: frontend/src/metabase/visualizations/lib/settings/column.js:63
 msgid "Formatting"
 msgstr "Biçimlendirme"
 
-#: frontend/src/metabase/containers/Overworld.jsx:107
+#: frontend/src/metabase/containers/Overworld.jsx:102
 msgid "Try these x-rays based on your data."
 msgstr "Verilerinize göre bu x-ışınlarını deneyin."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:35
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:36
 msgid "There was a problem displaying this chart."
 msgstr "Bu grafikte bir sorun oluÅŸtu."
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:36
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:37
 msgid "Sorry, you don't have permission to see this card."
 msgstr "Üzgünüz, bu kartı görme izniniz yok."
 
@@ -9285,11 +9297,11 @@ msgstr "Sadece bir uyarı"
 msgid "{0} without the Sample Dataset, the Query Builder tutorial won't work. You can always restore the Sample Dataset, but any questions you've saved using this data will be lost."
 msgstr "{0} Örnek Veri Kümesi olmadan, sorgu Oluşturucu öğreticisi çalışmayacak. Örnek Veri Kümesini her zaman geri yükleyebilirsiniz, ancak bu verileri kullanarak kaydettiğiniz sorular kaybolacak."
 
-#: frontend/src/metabase/qb/components/drill/AutomaticDashboardDrill.jsx:33
+#: frontend/src/metabase/modes/components/drill/AutomaticDashboardDrill.jsx:33
 msgid "X-ray"
 msgstr "X-ışını"
 
-#: frontend/src/metabase/qb/components/drill/CompareToRestDrill.js:34
+#: frontend/src/metabase/modes/components/drill/CompareToRestDrill.js:34
 msgid "Compare to the rest"
 msgstr "Diğerleriyle karşılaştır"
 
@@ -9302,11 +9314,11 @@ msgid "We suggest you leave this off unless you're doing manual timezone casting
 "many or most of your queries with this data."
 msgstr "Manuel saat dilimi yapmadığınız sürece bunu kaldırmanızı öneririz. Bu verilerle sorgularınızın çoğunda veya çoğunda yayınlanır."
 
-#: frontend/src/metabase/containers/Overworld.jsx:315
+#: frontend/src/metabase/containers/Overworld.jsx:310
 msgid "Your team's most important dashboards go here"
 msgstr "Ekibinizin en önemli gösterge panellerı buraya gider"
 
-#: frontend/src/metabase/containers/Overworld.jsx:316
+#: frontend/src/metabase/containers/Overworld.jsx:311
 msgid "Pin dashboards in {0} to have them appear in this space for everyone"
 msgstr "Herkes için bu alanda görünmesini sağlamak için {0} öğesindeki gösterge panellerını sabitleyin"
 
@@ -9334,8 +9346,8 @@ msgstr "Para birimi seçin"
 msgid "Field Type"
 msgstr "Alan Tipi"
 
-#: frontend/src/metabase/admin/routes.jsx:83
-#: frontend/src/metabase/nav/containers/Navbar.jsx:225
+#: frontend/src/metabase/admin/routes.jsx:109
+#: frontend/src/metabase/nav/containers/Navbar.jsx:224
 msgid "Troubleshooting"
 msgstr "Sorun Giderme"
 
@@ -9347,35 +9359,35 @@ msgstr "X-Ray özelliklerini açın"
 msgid "Formatting Options"
 msgstr "Formatlama Seçenekleri"
 
-#: frontend/src/metabase/admin/tasks/containers/TaskModal.jsx:20
+#: frontend/src/metabase/admin/tasks/containers/TaskModal.jsx:19
 msgid "Task details"
 msgstr "Görev Detayları"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:36
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:29
 msgid "Troubleshooting logs"
 msgstr "Loglar"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:38
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:31
 msgid "Trying to get to the bottom of something? This section shows logs of Metabase's background tasks, which can help shed light on what's going on."
 msgstr "Detaylı mı görmek istiyorsunuz? Bu bölüm, Metabase'in arka planda çalışan görevlerde neler olup bittiğini anlatan logları gösterir. "
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:63
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:56
 msgid "Task"
 msgstr "Görev"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:64
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:57
 msgid "DB ID"
 msgstr "VT ID"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:65
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:58
 msgid "Started at"
 msgstr "BaÅŸlama saati"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:66
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:59
 msgid "Ended at"
 msgstr "BitiÅŸ saati"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:67
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:60
 msgid "Duration (ms)"
 msgstr "Süre (ms)"
 
@@ -9383,7 +9395,7 @@ msgstr "Süre (ms)"
 msgid "Currency"
 msgstr "Para Birimi"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:163
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:161
 msgid "Pick a user or channel..."
 msgstr "Kullanıcı veya kanal seçin"
 
@@ -9560,15 +9572,15 @@ msgstr "Gösterge"
 msgid "Gauge ranges"
 msgstr "Gösterge aralığı"
 
-#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:91
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:94
 msgid "Field to show"
 msgstr "Gösterilecek alan"
 
-#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:118
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:121
 msgid "last {0}"
 msgstr "son {0}"
 
-#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:176
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:185
 msgid "{0} was {1} {2}"
 msgstr "{0}, {1} {2} idi."
 
@@ -9731,19 +9743,19 @@ msgstr "UYARI: Sadece bir sorgulama için alanları belirtmek daha uygun. Seçen
 msgid "WARNING: Druid doenst allow limitSpec in timeseries queries. Ignoring the LIMIT clause."
 msgstr "UYARI: Veri kaynağı, zaman aralıkları sorgularında limitSpec'e izin vermez. LIMIT Seçeneğini yok say."
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql/query_processor.clj
 msgid "HoneySQL Form:"
 msgstr "HoneySQL Formu:"
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql_jdbc/execute.clj
 msgid "Unable to parse date ''{0}''"
-msgstr "Tarih ''{0}'' ayıklanamadı"
+msgstr "Tarih ''{0}'' ayrıştırılamadı"
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql_jdbc/execute.clj
 msgid "Client closed connection, cancelling query"
 msgstr "İstemci bağlantıyı kapattı, sorgulama iptal ediliyor"
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql_jdbc/execute.clj
 msgid "Setting timezone with statement: {0}"
 msgstr "Zaman dilimini {0} ifadesi ile ayarlama"
 
@@ -9828,7 +9840,7 @@ msgid "You cannot remove the last member of the ''Admin'' group!"
 msgstr "\"Yönetici\" grubunun son üyesini çıkarmazsınız."
 
 #. go ahead and log the Exception anyway on the off chance that it *wasn't* just a race condition issue
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Error inserting a new Setting: {0}"
 msgstr "Yeni ayar {0} eklenirken hata oluÅŸtu"
 
@@ -9886,7 +9898,7 @@ msgstr "Sorgulamanın önişlemi sırasında hata oluştu"
 
 #: src/metabase/query_processor.clj
 msgid "No native form returned."
-msgstr ""
+msgstr "Hiçbir yerel form iade edilmedi."
 
 #: src/metabase/query_processor.clj
 msgid "Invalid response from database driver. No :status provided."
@@ -9916,19 +9928,19 @@ msgstr "Hakkında nasıl bilgi alınacağı bilinmeyen alan:"
 
 #: src/metabase/query_processor/middleware/annotate.clj
 msgid "metabase.query-processor.interface/*driver* is unbound."
-msgstr ""
+msgstr "metabase.query-processor.interface / * driver * bağlantısız."
 
 #: src/metabase/query_processor/middleware/annotate.clj
 msgid "Query processor error: mismatched number of columns in query and results."
-msgstr ""
+msgstr "Sorgu işlemcisi hatası: sorgudaki ve sonuçlardaki eşleşmeyen sütun sayısı."
 
 #: src/metabase/query_processor/middleware/annotate.clj
 msgid "Expected {0} fields, got {1}"
-msgstr ""
+msgstr "{0} alan beklendi, {1} eriÅŸildi"
 
 #: src/metabase/query_processor/middleware/annotate.clj
 msgid "Expected: {0}"
-msgstr ""
+msgstr "{0} beklendi"
 
 #: src/metabase/query_processor/middleware/annotate.clj
 msgid "Actual: {0}"
@@ -10016,15 +10028,15 @@ msgstr "Son 30 gün içerisinde eyalet bazında yeni kullanıcılar"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Created At by day of the week"
-msgstr ""
+msgstr "Haftanın gününe göre düzenlendi"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Created At by quarter of the year"
-msgstr ""
+msgstr "Yılın çeyreğine göre düzenlendi"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "[[this.short-name]] per country"
-msgstr ""
+msgstr "Ükle başına [[this.short-name]]"
 
 #: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
 msgid "Users per source"
@@ -10032,56 +10044,56 @@ msgstr "Kaynak başına kullanıcı"
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "The top external pages that brought users to your site"
-msgstr ""
+msgstr "Kullanıcıları sitenize getiren en üstteki harici sayfalar"
 
 #: resources/automagic_dashboards/comparison/State.yaml
 #: resources/automagic_dashboards/comparison/FK.yaml
 #: resources/automagic_dashboards/comparison/Country.yaml
 #: resources/automagic_dashboards/comparison/GenericField.yaml
 msgid "How [[this]] is distributed and more."
-msgstr ""
+msgstr "[[this]] nasıl dağıtılması ve daha fazlası."
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "The [[this]] over time"
-msgstr ""
+msgstr "Zaman içindeki [[this]] "
 
 #: resources/automagic_dashboards/table/UserTable.yaml
 msgid "User growth"
-msgstr ""
+msgstr "Kullanıcı büyümesi"
 
 #: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
 msgid "Whether or not there are any patterns to when they happen."
-msgstr ""
+msgstr "Ne zaman olacağına göre herhangi bir desenin olup olmadığı."
 
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 msgid "Users per state"
-msgstr ""
+msgstr "Elayet başına kullanıcılar"
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "Sessions"
-msgstr ""
+msgstr "Oturumlar"
 
 #: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
 msgid "How some of the numbers in [[this]] relate to each other"
-msgstr ""
+msgstr "[[this]] sayıların bazıların birbirleriyle nasıl ilişkilenmesi?"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Sales per country"
-msgstr ""
+msgstr "Ülkeye göre satış"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Join date by month of the year"
-msgstr ""
+msgstr "Yılın ayına göre katılma tarihi"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "[[Timestamp]] by hour of the day"
-msgstr ""
+msgstr "günün saatine göre [[Timestamp]]"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "A look at the [[this]]"
-msgstr ""
+msgstr "[[this]] bakış"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "Bottom 5 per category"
@@ -10216,35 +10228,35 @@ msgstr "Ülke başına hareket"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Weekdays when [[this.short-name]] were added"
-msgstr ""
+msgstr "[[This.short-name]] eklendiğinde hafta içi"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Months when [[this.short-name]] were added"
-msgstr ""
+msgstr "[[This.short-name]] eklendiÄŸinde aylar"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "How they compare across different categories"
-msgstr ""
+msgstr "Farklı kategorilerde nasıl karşılaştırıldığı"
 
 #: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
 msgid "New users per source in the last 30"
-msgstr ""
+msgstr "Son 30 kaynağa göre yeni kullanıcılar"
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "Events per quarter of the year"
-msgstr ""
+msgstr "Yılın çeyreği başına olaylar"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Heres a quick look at your [[this]]"
-msgstr ""
+msgstr "[[bu]] hızlı bir bakış"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "[[this]] per [[GenericCategoryLarge]], top 5"
-msgstr ""
+msgstr "[[GenericCategoryLarge]] başına[[this]], ilik 5"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Days when [[this.short-name]] were added"
-msgstr ""
+msgstr "[[This.short-name]] eklendiğinde günler"
 
 #: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
 msgid "Total orders per source"
@@ -10252,15 +10264,15 @@ msgstr "Kaynak başına toplam sipariş"
 
 #: resources/automagic_dashboards/field/DateTime.yaml
 msgid "[[this]] by quarter of the year"
-msgstr ""
+msgstr "yılın çeyreğine göre [[this]] "
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "Events per [[GenericCategoryMedium]]"
-msgstr ""
+msgstr "[[GenericCategoryMedium]] başına hareketler "
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "Events per state"
-msgstr ""
+msgstr "Elayete göre hareketler"
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "Top landing pages"
@@ -10288,7 +10300,7 @@ msgstr "[[this]]'in [[State]]'e göre toplamı"
 
 #: resources/automagic_dashboards/field/State.yaml
 msgid "Sum of [[GenericNumber]] per [[this]]"
-msgstr ""
+msgstr "[[This]] başına [[GenericNumber]] toplamı"
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "Events by coordinates"
@@ -10304,7 +10316,7 @@ msgstr "Başlangıç için kullanıclarınızın incelemesi."
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "An overview of your [[this]] and how its distributed across time, place, and categories."
-msgstr ""
+msgstr "[[this]] genel bir görünümü ve unun zaman, yer ve kategorilere göre dağıtılması."
 
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 msgid "Average income per state"
@@ -10315,7 +10327,7 @@ msgstr "Eyalete göre ortalama gelir"
 #: resources/automagic_dashboards/field/Country.yaml
 #: resources/automagic_dashboards/field/GenericField.yaml
 msgid "[[this]] by [[GenericCategoryMedium]]"
-msgstr ""
+msgstr "[[GenericCategoryMedium]] göre [[this]]"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Total transactions"
@@ -10323,11 +10335,11 @@ msgstr "Toplam iÅŸlem"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "[[this.short-name]] that have joined over time"
-msgstr ""
+msgstr "Zaman içinde katılan [[this.short-name]]"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "The [[this]] by location"
-msgstr ""
+msgstr "yerine göre [[this]]"
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "Events per month of the year"
@@ -10335,56 +10347,56 @@ msgstr "Yılın ayına göre olaylar"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "[[this]] by [[GenericNumber]]"
-msgstr ""
+msgstr "[[GenericNumber]] göre [[this]]"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Quarters when [[this.short-name]] were added"
-msgstr ""
+msgstr "[[this.short-name]] eklendiÄŸinde konutlar"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 #: resources/automagic_dashboards/table/UserTable.yaml
 msgid "How these [[this.short-name]] are distributed"
-msgstr ""
+msgstr "[[this.short-name]] ların nasıl dağıtılması"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "[[this.short-name]] by [[GenericNumber]]"
-msgstr ""
+msgstr "[[GenericNumber]] göre [[this.short-name]]"
 
 #: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
 msgid "Where users are coming from"
-msgstr ""
+msgstr "Kullanıcıların gelen yeri"
 
 #: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
 msgid "[[this]] comparisons and correlations"
-msgstr ""
+msgstr "[[this]] karşılaştırmalar ve korelasyonlar"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Total income"
-msgstr ""
+msgstr "Toplam gelir"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Total income per month"
-msgstr ""
+msgstr "Ay başına toplam gelir"
 
 #: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
 msgid "Number of users per source"
-msgstr ""
+msgstr "Kaynak başına kullanıcı sayısı"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 msgid "Transactions per state"
-msgstr ""
+msgstr "Elayet başına işlemler"
 
 #: resources/automagic_dashboards/field/Number.yaml
 msgid "[[this]] by [[Timestamp]]"
-msgstr ""
+msgstr "[[Timestamp]] göre [[this]]"
 
 #: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
 msgid "New users per source in the last 30 days"
-msgstr ""
+msgstr "Son 30 gündeki kaynak başına yeni kullanıcılar"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Join date by day of the month"
-msgstr ""
+msgstr "Ayın gününe göre katılma"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Average discount %"
@@ -10396,7 +10408,7 @@ msgstr "Ortalama indirim %"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "[[this]] per day of the month"
-msgstr ""
+msgstr "her ayın günü başına [[this]] "
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "Total sessions in each country"
@@ -10404,7 +10416,7 @@ msgstr "Ülke başına toplam oturum"
 
 #: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
 msgid "Transactions per month of the year"
-msgstr ""
+msgstr "Yılın her ayındaki işlemler"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Sales per product"
@@ -10416,33 +10428,33 @@ msgstr "Ülke başına kullanıcı"
 
 #: resources/automagic_dashboards/field/DateTime.yaml
 msgid "[[this]] by hour of the day"
-msgstr ""
+msgstr "günün saatine göre [[this]]"
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "Events in the last 30 days"
-msgstr ""
+msgstr "Son 30 gün içindeki olaylar"
 
 #: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
 msgid "Transactions per source"
-msgstr ""
+msgstr "Kaynak başına işlem"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 msgid "Where youve acquired your users"
-msgstr ""
+msgstr "Kullanıcılarınızın edindiniz yer"
 
 #: resources/automagic_dashboards/field/Number.yaml
 #: resources/automagic_dashboards/table/GenericTable.yaml
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
-msgid "How they compare across location"
-msgstr ""
+msgid "How they compare acrosss location"
+msgstr "Konum nasıl karşılaştırılması"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
 msgid "[[this]] per product"
-msgstr ""
+msgstr "ürün başına [[this]] "
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "[[this]] per month of the year"
-msgstr ""
+msgstr "yılın her ayına [[this]] "
 
 #: resources/automagic_dashboards/table/UserTable.yaml
 msgid "Per country"
@@ -10450,7 +10462,7 @@ msgstr "Ülke başına"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
 msgid "A deeper look at how different countries are performing for you."
-msgstr ""
+msgstr "Farklı ülkelerin sizin için nasıl performans gösterdiğine daha derin bir bakış."
 
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 #: resources/automagic_dashboards/table/TransactionTable.yaml
@@ -10459,35 +10471,35 @@ msgstr "Eyalet başına satış"
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "Events by [[GenericNumber]]"
-msgstr ""
+msgstr "[[GenericNumber]] göre hareketler"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
 msgid "Sales per product [[ProductCategoryMedium]]"
-msgstr ""
+msgstr "Ürün başına satış [[Ürün Kategorisi Orta]]"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
 msgid "User acquisition by country"
-msgstr ""
+msgstr "Ülkeye göre kullanıcı edinme"
 
 #: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
 msgid "[[this]] per source"
-msgstr ""
+msgstr "başına kaynak [[this]] "
 
 #: resources/automagic_dashboards/field/DateTime.yaml
 msgid "[[this]] by day of the week"
-msgstr ""
+msgstr "haftanın gününe göre [[this]] "
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Days of the month when [[this.short-name]] joined"
-msgstr ""
+msgstr "[[this.short-name]] eklendiği Ayın gün sayısı"
 
 #: resources/automagic_dashboards/table/UserTable.yaml
 msgid "Heres an overview of the people in your [[this]]"
-msgstr ""
+msgstr "Senin [[this]] insanlara genel bakış "
 
 #: resources/automagic_dashboards/field/DateTime.yaml
 msgid "How [[GenericTable]] are distributed across this time field, and if it has any seasonal patterns."
-msgstr ""
+msgstr "zaman aralığında [[GenericTable]] nasıl dağıtılması, ve mevsimsel desenleri varsa."
 
 #: resources/automagic_dashboards/field/DateTime.yaml
 #: resources/automagic_dashboards/field/State.yaml
@@ -10498,63 +10510,63 @@ msgstr ""
 #: resources/automagic_dashboards/table/EventTable.yaml
 #: resources/automagic_dashboards/table/UserTable.yaml
 msgid "Overview"
-msgstr ""
+msgstr "genel bakış"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "How this metric is distributed across different categories"
-msgstr ""
+msgstr "Bu metrikin, farklı kategorilerde nasıl dağıtılması"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "[[this.short-name]] per state"
-msgstr ""
+msgstr "Eyalet başına [[this.short-name]]"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Weekdays when [[this.short-name]] joined"
-msgstr ""
+msgstr "[[This.short-name]] katıldı zamandaki hafta içleri"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Hours when [[this.short-name]] joined"
-msgstr ""
+msgstr "[[This.short-name]] katıldı zamandaki saatlar"
 
 #: resources/automagic_dashboards/table/example.yaml
 msgid "Total income by month"
-msgstr ""
+msgstr "Aya göre toplam gelir"
 
 #: resources/automagic_dashboards/field/Number.yaml
 msgid "A breakdown of your [[this]] over time, and its min, max, average and more."
-msgstr ""
+msgstr "Zaman içindeki [[this]] sorunu, ve onun min, max, ortalama ve daha fazla diğeri"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 msgid "Average quantity per state"
-msgstr ""
+msgstr "Elayet başına ortalama miktar"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "How they compare by across different numbers"
-msgstr ""
+msgstr "Farklı sayılara göre karşılaştırılması"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
 msgid "New users per country in the last 30 days"
-msgstr ""
+msgstr "Son 30 gündeki ülke başına yeni kullanıcılar"
 
 #: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
 msgid "Transactions over time"
-msgstr ""
+msgstr "Zaman içindeki işlemler"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "[[this]] per [[GenericCategorySmall]]"
-msgstr ""
+msgstr "Zaman içindeki işlemler başına [[this]]"
 
 #: resources/automagic_dashboards/table/example.yaml
 msgid "Some breakdown"
-msgstr ""
+msgstr "Bazı sorunlar"
 
 #: resources/automagic_dashboards/field/Number.yaml
 msgid "Average of [[this]] by [[State]]"
-msgstr ""
+msgstr "Elayete göre ortalama [[this]]"
 
 #: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
 msgid "Transactions per quarter of the year"
-msgstr ""
+msgstr "Yılın çeyreği başına işlemler"
 
 #: resources/automagic_dashboards/table/UserTable.yaml
 msgid "By coordinates"
@@ -10562,23 +10574,23 @@ msgstr "Koordinatlara göre"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
 msgid "Heres a closer look at your [[this]] by products"
-msgstr ""
+msgstr "Ürünlere göre [[this]] daha yakından bakış"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "[[this]] per quarter of the year"
-msgstr ""
+msgstr "yılın çeyrek başına [[this]] "
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "Heres an overview of your [[this]] data from Google Analytics"
-msgstr ""
+msgstr "Google Analytics’ten [[this]] verilerinize genel bakış"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Quarters when [[this.short-name]] joined"
-msgstr ""
+msgstr "[[This.short-name]] katıldığı zamandaki oturum"
 
 #: resources/automagic_dashboards/table/UserTable.yaml
 msgid "New [[this.short-name]] in the last 30 days"
-msgstr ""
+msgstr "Son 30 gündeki yeni [[this.short-name]]"
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "Total sessions by desktop, mobile, or tablet"
@@ -10590,20 +10602,20 @@ msgstr "Ayrıntılı örnek"
 
 #: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
 msgid "Average income per source"
-msgstr ""
+msgstr "Kaynak başına ortalama gelir"
 
 #: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
 msgid "[[Timestamp]] by day of week"
-msgstr ""
+msgstr "Haftanın gününe göre [[Timestamp]]"
 
 #: resources/automagic_dashboards/field/DateTime.yaml
 #: resources/automagic_dashboards/question/GenericQuestion.yaml
 msgid "Heres a closer look at your [[this]]"
-msgstr ""
+msgstr "[[this]] ice bir bakış"
 
 #: resources/automagic_dashboards/field/Country.yaml
 msgid "Heres a closer look at your [[this]] field"
-msgstr ""
+msgstr "[[this]] daha yakından bakış"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
@@ -10612,35 +10624,35 @@ msgstr "Özet"
 
 #: resources/automagic_dashboards/field/Number.yaml
 msgid "How the [[this]] is distributed geographically"
-msgstr ""
+msgstr "[[this]] coğrafi olarak nasıl dağıtılmsı"
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "The pages with the most pageviews"
-msgstr ""
+msgstr "En fazla sayfa görüntülemesine sahip sayfalar"
 
 #: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
 msgid "How [[Number1]] is correlated with [[Number2]]"
-msgstr ""
+msgstr "[[Number1]]'in [[Number2] ile nasıl ilişkilendirilmesi"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 msgid "Top 10 states by sales in the last 30 days"
-msgstr ""
+msgstr "Son 30 gündeki satışa göre en iyi 10 eyalet"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 msgid "Top 10 states by sales"
-msgstr ""
+msgstr "satışa göre en iyi 10 eyalet"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "[[Timestamp]]"
-msgstr ""
+msgstr "[[Timestamp]]"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Where these transactions happened"
-msgstr ""
+msgstr "bu işlemlerin gerçekleştiği yer"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
 msgid "Top 10 countries by sales"
-msgstr ""
+msgstr "satışa göre en iyi 10 ülke"
 
 #: resources/automagic_dashboards/table/example.yaml
 msgid "Sales by state"
@@ -10648,15 +10660,15 @@ msgstr "Eyalet başına satış"
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "Where most of your sessions originate from"
-msgstr ""
+msgstr "En çok oturumlarınızın kaynaklandığı yer"
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "Top acquisition channels"
-msgstr ""
+msgstr "En çok edinilen kanallar"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "These [[this.short-name]] across time"
-msgstr ""
+msgstr "zaman içinde [[this.short-name]]"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Average quantity"
@@ -10675,23 +10687,23 @@ msgstr "Ülke başına ortalama gelir"
 #: resources/automagic_dashboards/comparison/Country.yaml
 #: resources/automagic_dashboards/comparison/GenericField.yaml
 msgid "How [[this]] is distributed"
-msgstr ""
+msgstr "[[this]]'in nasıl dağıtılması"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Distinct [[FK]]"
-msgstr ""
+msgstr "Farklı [[FK]]"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "How these transactions are distributed"
-msgstr ""
+msgstr "Bu işlemlerin nasıl dağıtılması"
 
 #: resources/automagic_dashboards/table/UserTable.yaml
 msgid "Per state"
-msgstr ""
+msgstr "Elayet başı"
 
 #: resources/automagic_dashboards/field/DateTime.yaml
 msgid "Count of [[GenericCategoryMedium]] by [[this]]"
-msgstr ""
+msgstr "[[this]] göre [[GenericCategoryMedium]] sayımı"
 
 #: resources/automagic_dashboards/field/DateTime.yaml
 #: resources/automagic_dashboards/field/State.yaml
@@ -10706,24 +10718,24 @@ msgstr ""
 #: resources/automagic_dashboards/comparison/Country.yaml
 #: resources/automagic_dashboards/comparison/GenericField.yaml
 msgid "A look at your [[this]]"
-msgstr ""
+msgstr "[[this]] bak"
 
 #: resources/automagic_dashboards/field/DateTime.yaml
 #: resources/automagic_dashboards/field/GenericField.yaml
 msgid "[[GenericNumber]] by [[this]]"
-msgstr ""
+msgstr "[[this]] göre [[GenericNumber]]"
 
 #: resources/automagic_dashboards/field/Country.yaml
 msgid "Sum of [[GenericNumber]] by [[this]]"
-msgstr ""
+msgstr "[[this]] göre Toplam [[Genel Sayı]]"
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "A look at your [[this]] table"
-msgstr ""
+msgstr "[[This]] tablonuza bir bakış"
 
 #: resources/automagic_dashboards/field/State.yaml
 msgid "How many [[GenericTable]] there are per state, and how each state is represented across other categories."
-msgstr ""
+msgstr "Devlet başına [[GenericTable]] sayısı, ve her devletin diğer kategorilerde nasıl temsil etmesi."
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "Most-viewed pages"
@@ -10731,31 +10743,31 @@ msgstr "En fazla görüntülenen sayfalar"
 
 #: resources/automagic_dashboards/table/example.yaml
 msgid "Example exploration"
-msgstr ""
+msgstr "Örnek arama"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
 msgid "Sales vs. rating"
-msgstr ""
+msgstr "Satış ve derecelendirme"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "[[this]] per hour of the day"
-msgstr ""
+msgstr "günün saat başına [[this]] "
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Where your [[this.short-name]] are"
-msgstr ""
+msgstr "Sizin [[This.short-name]] bulunduÄŸu yer"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "These are the same for all your [[this.short-name]]"
-msgstr ""
+msgstr "Bunlar tüm [[this.short-name]] için aynıdır"
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "Events by different categories"
-msgstr ""
+msgstr "Farklı kategorilere göre hareketler"
 
 #: resources/automagic_dashboards/table/UserTable.yaml
 msgid "Where these [[this.short-name]] are"
-msgstr ""
+msgstr "[[This.short-name]] bulunduÄŸu yer"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "Over time"
@@ -10763,11 +10775,11 @@ msgstr "Zamanaşımı"
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "A summary of the events in your [[this]] table"
-msgstr ""
+msgstr "[[This]] tablonuzdaki hareketleri bir özeti"
 
 #: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
 msgid "Transactions per source over time"
-msgstr ""
+msgstr "Zaman içindeki kaynak başına gerçekleşen işlemler"
 
 #: resources/automagic_dashboards/field/DateTime.yaml
 #: resources/automagic_dashboards/field/State.yaml
@@ -10775,7 +10787,7 @@ msgstr ""
 #: resources/automagic_dashboards/field/Country.yaml
 #: resources/automagic_dashboards/field/GenericField.yaml
 msgid "How the [[this]] is distributed"
-msgstr ""
+msgstr "[[this]] nasıl dağıtılması"
 
 #: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
 msgid "Total income per source"
@@ -10784,11 +10796,11 @@ msgstr "Kaynak başına toplam gelir"
 #: resources/automagic_dashboards/table/GenericTable.yaml
 #: resources/automagic_dashboards/table/UserTable.yaml
 msgid "Total [[this.short-name]]"
-msgstr ""
+msgstr "Toplam [[this.short-name]]"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Some metrics we found about your transactions."
-msgstr ""
+msgstr "İşlemleriniz hakkında bulduğumuz bazı metrikler."
 
 #: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
 msgid "How your different products are performing."
@@ -10796,200 +10808,200 @@ msgstr "Çeşitli ürünlerinizin performansı"
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "Where these events are happening"
-msgstr ""
+msgstr "Bu hareketlerin gerçekleştiği yer"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 msgid "Which US states are bringing you the most business."
-msgstr ""
+msgstr "Hangi ABD eyaletleri size en çok iş getiriyor."
 
 #: resources/automagic_dashboards/field/Number.yaml
 #: resources/automagic_dashboards/table/GenericTable.yaml
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "How they compare across time"
-msgstr ""
+msgstr "Onların amanla nasıl karşılaştırılması"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Average transaction income per month"
-msgstr ""
+msgstr "Aylık ortalama işlem geliri"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Average quantity per month"
-msgstr ""
+msgstr "Aylık ortalama miktarı"
 
 #: resources/automagic_dashboards/field/DateTime.yaml
 msgid "Seasonal patterns in the [[this]]"
-msgstr ""
+msgstr "[[this]] mevsimsel desenler"
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "Events over time"
-msgstr ""
+msgstr "Zaman içindeki olaylar"
 
 #: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
 msgid "Orders and income per source"
-msgstr ""
+msgstr "Kaynak başına sipariş ve gelir"
 
 #: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
 msgid "Transactions per hour of the day"
-msgstr ""
+msgstr "Günün saatindeki işlemler"
 
 #: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
 msgid "Where most of your traffic is coming from."
-msgstr ""
+msgstr "Trafiğinizin çoğunun geldiği yer"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "Heres a quick look at the [[this]]"
-msgstr ""
+msgstr "[[this]]  hızlı bir bakış "
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "It looks like your [[this]] has transactions, so heres a look at them"
-msgstr ""
+msgstr "[[this]] işlemleriniz var gibi gözüküyor, bir bakın"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Average discount per month"
-msgstr ""
+msgstr "Aylık ortalama indirim"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "[[Timestamp]] by month of the year"
-msgstr ""
+msgstr "Yılın ayına göre [[Timestamp]]"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "[[this]] per [[GenericCategorySmall]] over time"
-msgstr ""
+msgstr "Zaman içindeki [[GenericCategorySmall]] başına [[this]]"
 
 #: resources/automagic_dashboards/table/example.yaml
 msgid "Distribution by coordinates"
-msgstr ""
+msgstr "Koordinatlarla dağıtım"
 
 #: resources/automagic_dashboards/table/example.yaml
 msgid "Sales by source"
-msgstr ""
+msgstr "Kaynağa göre satışlar"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Sales for each product category"
-msgstr ""
+msgstr "Her ürün kategorisi için satış"
 
 #: resources/automagic_dashboards/question/GenericQuestion.yaml
 msgid "A closer look at the metrics and dimensions used in this saved question."
-msgstr ""
+msgstr "Kaydedilen soruda kullanılan metriklere ve boyutlara daha yakından bakış"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "[[this.short-name]] per [[GenericCategoryMedium]]"
-msgstr ""
+msgstr "[[GenericCategoryMedium]] başına [[this.short-name]]"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
 msgid "Sales per product [[ProductCategoryLarge]]"
-msgstr ""
+msgstr "[[ProductCategoryLarge]] ürün başına satış "
 
 #: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
 msgid "Average quantity per country"
-msgstr ""
+msgstr "Ülke başına ortalama miktar"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "[[this.short-name]] per [[GenericCategoryLarge]]"
-msgstr ""
+msgstr "[[GenericCategoryLarge]] başına [[this.short-name]]"
 
 #: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
 msgid "Heres a closer look at your [[this]] per source"
-msgstr ""
+msgstr "[[this]] kaynak başına ince bakış"
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "Events per day of the month"
-msgstr ""
+msgstr "Ayın günlük hareketleri"
 
 #: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
 msgid "If youre into correlations, this is the x-ray for you."
-msgstr ""
+msgstr "Bağıntı halinde iseniz, bu x-eksenidir."
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "Sessions by Country"
-msgstr ""
+msgstr "Ülkeye göre oturumlar"
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "Some interesting metrics about your GA stats to get you started."
-msgstr ""
+msgstr "İlerlemeniz için GA istatistiklerinizle ilgili bazı ilginç metrikler."
 
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "[[this]] per state"
-msgstr ""
+msgstr "Elayet başına [[this]]"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "[[Timestamp]] by quarter of the year"
-msgstr ""
+msgstr "yılın çeyreğine göre [[Timestamp]]"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "How its distributed across time and other categories."
-msgstr ""
+msgstr "Zaman ve diğer kategorilerde nasıl dağıtılması."
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "A look at your events over time and by several categories."
-msgstr ""
+msgstr "Birkaç kategoriye göre zaman içindeki hareketlerinize bakış "
 
 #: resources/automagic_dashboards/field/State.yaml
 msgid "[[GenericTable]] per [[this]]"
-msgstr ""
+msgstr "[[this]] başına [[GenericTable]]"
 
 #: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
 msgid "Average quantity per source"
-msgstr ""
+msgstr "Kaynak başına ortalama miktar"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "Top 5 per category"
-msgstr ""
+msgstr "Kategori başına en iyi 5"
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "Events per day of the week"
-msgstr ""
+msgstr "Haftanın gününe göre hareketler"
 
 #: resources/automagic_dashboards/table/UserTable.yaml
 msgid "New [[this.short-name]] per month"
-msgstr ""
+msgstr "Ay başına yeni [[this.short-name]]"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
 msgid "Top performers"
-msgstr ""
+msgstr "En iyi performans gösterenler"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Transactions in the last 30 days"
-msgstr ""
+msgstr "Son 30 gün içindeki işlemler"
 
 #: resources/automagic_dashboards/field/DateTime.yaml
 msgid "[[GenericTable]] by [[this]]"
-msgstr ""
+msgstr "[[this]] göre [[GenericTable]] by "
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "Overview of your [[this]] data from Google Analytics"
-msgstr ""
+msgstr "Google Analytics’ten [[this]] verilerinize genel bakış"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Created At by hour of the day"
-msgstr ""
+msgstr "Günün saatinde düzenlendi"
 
 #: resources/automagic_dashboards/table/example.yaml
 msgid "Sales by month"
-msgstr ""
+msgstr "Aya göre satış"
 
 #: resources/automagic_dashboards/field/Number.yaml
 msgid "How the [[this]] is distributed across categories"
-msgstr ""
+msgstr "[[this]] kategorilere nasıl dağıtılması?"
 
 #: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
 msgid "[[Timestamp]] by month of year"
-msgstr ""
+msgstr "yılın ayına göre [[Zaman damgası]] "
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "How many total sessions vs. how many individual users you had each day."
-msgstr ""
+msgstr "Toplam toplam oturum sayısı vs günlük kaç bireysel kullanıcı sayısı"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "How this metric is distributed across different numbers"
-msgstr ""
+msgstr "Bu metrik'in, farklı sayılar içinde nasıl dağıtılması"
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "Sessions by page where the session began"
-msgstr ""
+msgstr "Sayfaya göre oturumun başladığı yerdeki oturumlar"
 
 #: resources/automagic_dashboards/field/DateTime.yaml
 #: resources/automagic_dashboards/field/State.yaml
@@ -11001,16 +11013,16 @@ msgstr "Farklı değerler"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Hours when [[this.short-name]] were added"
-msgstr ""
+msgstr "[[This.short-name]] eklendiÄŸinde saatler"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "[[Timestamp]] by day of the week"
-msgstr ""
+msgstr "Haftanın gönüne göre [[Timestamp]] "
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "[[GenericNumber]] over time"
-msgstr ""
+msgstr "Zaman içindeki [[GenericNumber]] "
 
 #: resources/automagic_dashboards/field/State.yaml
 #: resources/automagic_dashboards/field/GenericField.yaml
@@ -11019,43 +11031,43 @@ msgstr ""
 #: resources/automagic_dashboards/comparison/Country.yaml
 #: resources/automagic_dashboards/comparison/GenericField.yaml
 msgid "Heres an overview of your [[this]]"
-msgstr ""
+msgstr "[[this]] genel bir bakış"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "[[this.short-name]] by coordinates"
-msgstr ""
+msgstr "koordinatlara göre [[this.short-name]] "
 
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 msgid "Heres a closer look at your [[this]] per state"
-msgstr ""
+msgstr "Elayet başına [[this]] ince bir bakış"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Created At by day of the month"
-msgstr ""
+msgstr "Ayın Gününe Göre Düzenlendi"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Sales by coordinates"
-msgstr ""
+msgstr "koordinatlara göre satış"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "New [[this.short-name]] over time"
-msgstr ""
+msgstr "Zaman içindeki yeni [[this.short-name]]"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Join date by hour of the day"
-msgstr ""
+msgstr "Günün saatine göre katılış tarihi"
 
 #: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
 msgid "[[Timestamp]] by hour of day"
-msgstr ""
+msgstr "Günün saatine göre [[Timestamp]]"
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "Sessions and unique users per day"
-msgstr ""
+msgstr "Gün başına özgün kullanıcılar ve oturumlar"
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "Events per [[GenericCategoryLarge]]"
-msgstr ""
+msgstr "[[GenericCategoryLarge]] başına hareketler"
 
 #: resources/automagic_dashboards/field/DateTime.yaml
 #: resources/automagic_dashboards/field/State.yaml
@@ -11064,225 +11076,1282 @@ msgstr ""
 #: resources/automagic_dashboards/field/GenericField.yaml
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "How they compare by distribution"
-msgstr ""
+msgstr "Dağıtıma göre nasıl karşılaştırılması"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
 msgid "Income per country"
-msgstr ""
+msgstr "Ülke başına gelir"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
 msgid "Heres a closer look at your [[this]] per country"
-msgstr ""
+msgstr "Ülke başına [[this]] bir ince bakış"
 
 #: resources/automagic_dashboards/table/example.yaml
 msgid "Sales by product [[ProductCategory]]"
-msgstr ""
+msgstr "Ürün [[ProductCategory]] göre satışlar "
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "[[this]] per [[GenericCategoryLarge]], bottom 5"
-msgstr ""
+msgstr "[[GenericCategoryLarge]] başına [[this]], en düşük 5"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "[[this.short-name]] added in the last 30 days"
-msgstr ""
+msgstr "[[this.short-name]] son 30 günde eklendi"
 
 #: resources/automagic_dashboards/table/UserTable.yaml
 msgid "Per [[Source]]"
-msgstr ""
+msgstr "[[Kaynak]] başına"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Average item quantity per month"
-msgstr ""
+msgstr "Aylık ortalama ürün miktarı"
 
 #: resources/automagic_dashboards/field/Country.yaml
 msgid "The number of [[GenericTable]] per country, and how each country is represented in different categories."
-msgstr ""
+msgstr "Ülke başına [[GenericTable]] sayısı, ve her ülkenin farklı kategorilerde nasıl temsil etmesi."
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "[[this]] per day of the week"
-msgstr ""
+msgstr "haftanın gün başına [[this]] "
 
 #: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
 msgid "Average qunatity per source"
-msgstr ""
+msgstr "Kaynak başına ortalama miktar"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "[[this.short-name]] by [[Timestamp]]"
-msgstr ""
+msgstr "[[Timestamp]] göre [[this.short-name]] "
 
 #: resources/automagic_dashboards/field/Number.yaml
 msgid "Summary statistics"
-msgstr ""
+msgstr "Özet istatistikler"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Sales per month"
-msgstr ""
+msgstr "Aylık satış"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "[[GenericNumber]] by join date"
-msgstr ""
+msgstr "katılma tarihine göre [[GenericNumber]] "
 
 #: resources/automagic_dashboards/field/Number.yaml
 msgid "Average of [[this]] by [[Country]]"
-msgstr ""
+msgstr "[[Country]] göre [[this]] ortalaması "
 
 #: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
 msgid "[[this]] over time"
-msgstr ""
+msgstr "Zaman içindeki [[this]] "
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Join date by day of the week"
-msgstr ""
+msgstr "Haftanın gününe göre katılma tarihi"
 
 #: resources/automagic_dashboards/field/Number.yaml
 msgid "We crunched the numbers for your [[this]]"
-msgstr ""
+msgstr "[[this]] için numaraları çektik"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Months when [[this.short-name]] joined"
-msgstr ""
+msgstr "[[This.short-name]] katıldığı zamandaki aylar"
 
 #: src/metabase/api/geojson.clj
 msgid "Unable to parse resource `{0}` as JSON"
-msgstr ""
+msgstr "`{0}` kaynağını JSON olarak ayrıştırılamıyor"
 
 #: src/metabase/api/geojson.clj
 msgid "Unable to find JSON via relative path `{0}`"
-msgstr ""
+msgstr "JSON göreli yolu {0} ile bulunamadı"
 
 #: src/metabase/api/geojson.clj
 msgid "Connection to host timed out for URL `{0}`"
-msgstr ""
+msgstr "'{0}' URL için zaman aşımına bağlandı"
 
 #: src/metabase/api/geojson.clj
 msgid "Unable to connect to unknown host at URL `{0}`"
-msgstr ""
+msgstr "{0} URL’de bilinmeyen barındırıcıya bağlanılamıyor"
 
 #: src/metabase/api/geojson.clj
 msgid "Unable to connect to host at URL `{0}`"
-msgstr ""
+msgstr "'{0}` adresindeki ana makineye bağlanılamıyor"
 
 #: src/metabase/api/geojson.clj
 msgid "Connection refused by host at for URL `{0}`"
-msgstr ""
+msgstr "Bağlantı, `{0}` URL adresi için ana makine tarafından reddedildi"
 
 #: src/metabase/api/geojson.clj
 msgid "Unable to retrieve resource at URL `{0}`"
-msgstr ""
+msgstr "`{0}` URL adresinden kaynak alınamadı"
 
 #: src/metabase/api/geojson.clj
 msgid "Unable to parse resource at URL `{0}` as JSON"
-msgstr ""
+msgstr "JSON olarak `{0}` URL adresindeki kaynak ayrıştırılamıyor"
 
 #: src/metabase/api/session.clj
 msgid "Problem connecting to LDAP server, will fall back to local authentication: {0}"
-msgstr ""
+msgstr "LDAP sunucusuna bağlanma sorunu, {0} yerel kimlik doğrulamaya geri dönecek "
 
 #: src/metabase/driver/bigquery.clj
 msgid "BigQuery statements can''t be parameterized!"
-msgstr ""
+msgstr "BigQuery ifadeleri parametrelenemez!"
 
 #: src/metabase/driver/druid/query_processor.clj
 msgid "WARNING: Druid does not allow limitSpec in time series queries. Ignoring the LIMIT clause."
-msgstr ""
+msgstr "UYARI: Veri kaynağı, zaman aralıkları sorgularında limitSpec'e izin vermez. LIMIT Seçeneğini yok say."
 
 #: src/metabase/driver/snowflake.clj
 msgid "Invalid Snowflake connection details: missing DB name."
-msgstr ""
+msgstr "Geçersiz Snowflake bağlantı detayları: DB adı eksik."
 
 #: src/metabase/email/messages.clj
 msgid "We’d love your feedback."
-msgstr ""
+msgstr "Geri bildiriminizi bekliyoruz."
 
 #: src/metabase/email/messages.clj
 msgid "It looks like Metabase wasn’t quite a match for you."
-msgstr ""
+msgstr "Metatabanı senin için tam bir eşleşme değildi."
 
 #: src/metabase/email/messages.clj
 msgid "Would you mind taking a fast 5 question survey to help the Metabase team understand why and make things better in the future?"
-msgstr ""
+msgstr "Metabase ekibinin gelecekte işleri daha iyi hale getirmesine yardımcı olmak için hızlı bir 5 soru anketi çeker misiniz?"
 
 #: src/metabase/email/messages.clj
 msgid "We hope you''ve been enjoying Metabase."
-msgstr ""
+msgstr "Metabase'i beÄŸeneceÄŸinizi umuyoruz."
 
 #: src/metabase/email/messages.clj
 msgid "Would you mind taking a fast 6 question survey to tell us how it’s going?"
-msgstr ""
+msgstr "İşlerin nasıl gittiğini anlatmak için hızlı bir şekilde 6 soru anketi çeker misiniz?"
 
 #: src/metabase/email/messages.clj
 msgid "{0} created a Metabase account"
-msgstr ""
+msgstr "{0} bir Metabase hesabı oluşturdu"
 
 #: src/metabase/email/messages.clj
 msgid "{0} accepted their Metabase invite"
-msgstr ""
+msgstr "{0} Metatabanı davetlerini kabul etti"
 
 #: src/metabase/email/messages.clj
 msgid "[Metabase] Password Reset Request"
-msgstr ""
+msgstr "[Metabase] Şifre Sıfırlama İsteği"
 
 #: src/metabase/email/messages.clj
 msgid "[Metabase] Notification"
-msgstr ""
+msgstr "[Metatabanı] Bildirimi"
 
 #: src/metabase/email/messages.clj
 msgid "[Metabase] Help make Metabase better."
-msgstr ""
+msgstr "[Metatabanı] Metatabanını daha iyi hale getirmeye yardımcı olun."
 
 #: src/metabase/email/messages.clj
 msgid "[Metabase] Tell us how things are going."
-msgstr ""
+msgstr "[Metabase] işler nasıl gidiyor, bize söyleyin."
 
 #: src/metabase/mbql/util.clj
 msgid "Error: query''s source query has not been resolved. You probably need to `preprocess` the query first."
-msgstr ""
+msgstr "Hatalı: Sorgunun kaynak sorgusu çözülmedi. Muhtemelen ilk önce sorguyu ön işleme almanız gerekir."
 
 #: src/metabase/models/params.clj
 msgid "Don't know what to do with:"
-msgstr ""
+msgstr "ile ne yapacağınızı bilmiyorum:"
 
 #: src/metabase/models/params.clj
 msgid "Don't know how to wrap:"
-msgstr ""
+msgstr "Nasıl kapsamayı bilmiyorum:"
 
 #: src/metabase/public_settings.clj
 msgid "Failed setting `query-caching-max-kb` to {0}."
-msgstr ""
+msgstr "`query-caching-max-kb` {0} olarak ayarlayamadı."
 
 #: src/metabase/public_settings.clj
 msgid "Values greater than {1} are not allowed."
-msgstr ""
+msgstr "{1} değerinden büyük olan değerlere izin verilmez."
 
 #: src/metabase/query_processor/middleware/resolve_database.clj
 msgid "Database {0} does not exist."
-msgstr ""
+msgstr "{0} veritabanı mevcut değil."
 
 #: src/metabase/query_processor/store.clj
 msgid "Error: Database is not present in the Query Processor Store."
-msgstr ""
+msgstr "Hata: Sorgu işlemcisi deposunda veritabanı yok."
 
 #: src/metabase/util/embed.clj
 msgid "Invalid embedding-secret-key! Secret key must be a hexadecimal-encoded 256-bit key (i.e., a 64-character string)."
-msgstr ""
+msgstr "Geçersiz gömme-gizli anahtar! Gizli anahtar, hexadecimal-encoded 256-bit key (i.e., a 64-character string) olmalıdır."
 
 #: src/metabase/util/embed.clj
 msgid "JWT is missing `alg`."
-msgstr ""
+msgstr "JWT `alg` bulamadı"
 
 #: src/metabase/util/embed.clj
 msgid "JWT `alg` cannot be `none`."
-msgstr ""
+msgstr "JWT `alg` `none` olamaz."
 
 #: src/metabase/util/embed.clj
 msgid "The embedding secret key has not been set."
-msgstr ""
+msgstr "Gömme gizli anahtarı ayarlanmamış."
 
 #: src/metabase/util/embed.clj
 msgid "Token is missing value for keypath"
-msgstr ""
+msgstr "Token anahtar yolu için değer bulamadı"
 
 #: resources/automagic_dashboards/table/example/indepth.yaml
 msgid "In-depth example"
-msgstr ""
+msgstr "Derinleme örneği"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:29
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:17
+msgid "Key"
+msgstr "Anahtar"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:30
+msgid "Class"
+msgstr "Sınıf"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:32
+msgid "Triggers"
+msgstr "Tetikleyici"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:48
+msgid "View triggers"
+msgstr "Tetikleyicileri izle"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:82
+msgid "Scheduler Info"
+msgstr "Zamanlayıcı bilgisi"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:20
+msgid "Priority"
+msgstr "Öncelik"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:21
+msgid "Last Fired"
+msgstr "Son tetiklenen"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:22
+msgid "Next Fire Time"
+msgstr "Bir sonraki tetiklenme zamanı"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:23
+msgid "Start Time"
+msgstr "Başlangıç zamanı"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:24
+msgid "End Time"
+msgstr "Bitiş zamanı"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:25
+msgid "Final Fire Time"
+msgstr "Son tetikleme zamanı"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:26
+msgid "May Fire Again?"
+msgstr "Tekrar tetiklensin mi?"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:75
+msgid "Triggers for {0}"
+msgstr "{0} için tetikleyiciler"
+
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:25
+msgid "Tasks"
+msgstr "Görevler"
+
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:30
+msgid "Jobs"
+msgstr "Ä°ÅŸler"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:740
+msgid "Duplicated {0}"
+msgstr "{0} kopyalandı"
+
+#: frontend/src/metabase/components/EntityItem.jsx:55
+msgid "Duplicate this item"
+msgstr "Bu ögeyi kopyala"
+
+#: frontend/src/metabase/components/EntityItem.jsx:61
+msgid "Archive this item"
+msgstr "Bu ögeyi arşivle"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:330
+msgid "Duplicate dashboard"
+msgstr "Bu panoyu kopyala"
+
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:16
+msgid "Duplicate \"{0}\""
+msgstr "\"{0}\"ı kopyala"
+
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:21
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:26
+msgid "Duplicate"
+msgstr "Kopyala"
+
+#: frontend/src/metabase/lib/query_time.js:115
+msgid "Tomorrow"
+msgstr "Yarın"
+
+#: frontend/src/metabase/lib/query_time.js:129
+#: frontend/src/metabase/lib/query_time.js:143
+msgid "This {0}"
+msgstr "Bu {0}"
+
+#: frontend/src/metabase/lib/query_time.js:132
+msgid "Next {0}"
+msgstr "Sonraki {0}"
+
+#: frontend/src/metabase/lib/query_time.js:135
+msgid "Previous {0}"
+msgstr "Önceki {0}"
+
+#: frontend/src/metabase/lib/query_time.js:139
+msgid "Previous {0} {1}"
+msgstr "Önceki {0} {1}"
+
+#: frontend/src/metabase/lib/query_time.js:141
+msgid "Next {0} {1}"
+msgstr "Sonraki {0} {1}"
+
+#: frontend/src/metabase/lib/query_time.js:171
+msgid "Now"
+msgstr "Åžimdi"
+
+#: frontend/src/metabase/lib/query_time.js:174
+msgid "{0} {1} ago"
+msgstr "Geçen {0} {1}"
+
+#: frontend/src/metabase/lib/query_time.js:175
+msgid "{0} {1} from now"
+msgstr "Åžu andan itibaren {0} {1}"
+
+#: frontend/src/metabase/lib/query_time.js:187
+msgid "Default period"
+msgid_plural "Default periods"
+msgstr[0] "Güncel aralık"
+msgstr[1] "Güncel aralıklar"
+
+#: frontend/src/metabase/lib/query_time.js:203
+msgid "Minute of hour"
+msgid_plural "Minutes of hour"
+msgstr[0] "Dakika"
+msgstr[1] "Dakikalar"
+
+#: frontend/src/metabase/lib/query_time.js:205
+msgid "Hour of day"
+msgid_plural "Hours of day"
+msgstr[0] "Saat"
+msgstr[1] "Saatler"
+
+#: frontend/src/metabase/lib/query_time.js:207
+msgid "Day of week"
+msgid_plural "Days of week"
+msgstr[0] "Gün"
+msgstr[1] "Günler"
+
+#: frontend/src/metabase/lib/query_time.js:209
+msgid "Day of month"
+msgid_plural "Days of month"
+msgstr[0] "Ayın günü"
+msgstr[1] "Ayın günleri"
+
+#: frontend/src/metabase/lib/query_time.js:211
+msgid "Day of year"
+msgid_plural "Days of year"
+msgstr[0] "Yılın günü"
+msgstr[1] "Yılın günleri"
+
+#: frontend/src/metabase/lib/query_time.js:213
+msgid "Week of year"
+msgid_plural "Weeks of year"
+msgstr[0] "Yılın haftası"
+msgstr[1] "Yılın haftaları"
+
+#: frontend/src/metabase/lib/query_time.js:215
+msgid "Month of year"
+msgid_plural "Months of year"
+msgstr[0] "Yılın ayı"
+msgstr[1] "Yılın ayları"
+
+#: frontend/src/metabase/lib/query_time.js:217
+msgid "Quarter of year"
+msgid_plural "Quarters of year"
+msgstr[0] "Yılın çeyreği"
+msgstr[1] "Yılın çeyrekleri"
+
+#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:62
+#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:58
+#: frontend/src/metabase/query_builder/components/Filter.jsx:79
+msgid "{0} selection"
+msgid_plural "{0} selections"
+msgstr[0] "{0} seçim"
+msgstr[1] "{0} seçim"
+
+#: frontend/src/metabase/parameters/components/widgets/DateQuarterYearWidget.jsx:11
+msgid "[Q]Q"
+msgstr "[Q]Q"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:28
+msgid "This"
+msgstr "Bu"
+
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:64
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:96
+msgid "Invalid"
+msgstr "Geçersiz"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/SpecificDatePicker.jsx:147
+msgid "Add a time"
+msgstr "Bir zaman ekleyin"
+
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:170
+msgid "Nothing to compare for the previous {0}."
+msgstr "Önceki {0} ile karşılaştırılacak bir şey yok."
+
+#: frontend/src/metabase-lib/lib/Dimension.js:517
+msgid "by {0}"
+msgstr "{0} bazında"
+
+#: src/metabase/api/database.clj
+msgid "value must be a valid database engine."
+msgstr "Değer geçerli bir veritabanı olamalıdır."
+
+#: src/metabase/api/geojson.clj
+msgid "Connection refused by host for URL `{0}`"
+msgstr "URL '{0}'a erişim sistem tarafından reddedildi"
+
+#: src/metabase/db.clj
+msgid "Warning: Postgres connection string with `ssl=true` detected."
+msgstr "Uyarı: Postgres bağlantı dizininde 'ssl=true' dizgesi tespit edildi."
+
+#: src/metabase/db.clj
+msgid "You may need to add `?sslmode=require` to your application DB connection string."
+msgstr "Veritabanı bağlantı dizgesine '?sslmode=require' eklemeniz gerekebilir."
+
+#: src/metabase/db.clj
+msgid "If Metabase fails to launch, please add it and try again."
+msgstr "Eğer Metabase başlatılamazsa, lütfen tekrar ekeleyip deneyin."
+
+#: src/metabase/db.clj
+msgid "See https://github.com/metabase/metabase/issues/8908 for more details."
+msgstr "Ayrıntılar için https://github.com/metabase/metabase/issues/8908'i inceleyin."
+
+#: src/metabase/db.clj
+msgid "WARNING: Using Metabase with an H2 application database is not recomended for production deployments."
+msgstr "Uyarı: Metabase'i bir H2 uygulama veritabanı ile kullanmak canlı sistemlerde tavsiye edilmemektedir."
+
+#: src/metabase/db.clj
+msgid "For production deployments, we highly recommend using Postgres, MySQL, or MariaDB instead."
+msgstr "Canlı sistemlerde kullanılmak üzere, Postgres, MySQL ya da Maria DB'yi tavsiye ediyoruz."
+
+#: src/metabase/db.clj
+msgid "If you decide to continue to use H2, please be sure to back up the database file regularly."
+msgstr "Şayet H2'yi kullanmaya devam etmeye karar verirseniz, lütfen veritabanı dosyasını düzenli olarak yedeklediğinizden emin olun."
+
+#: src/metabase/db.clj
+msgid "See https://metabase.com/docs/latest/operations-guide/start.html#migrating-from-using-the-h2-database-to-mysql-or-postgres for more information."
+msgstr "Lütfen daha fazla bilgi için https://metabase.com/docs/latest/operations-guide/start.html#migrating-from-using-the-h2-database-to-mysql-or-postgres inceleyiniz."
+
+#: src/metabase/db.clj
+msgid "Unable to connect to Metabase {0} DB."
+msgstr "Metabase {0} veritabanına bağlanılamıyor."
+
+#: src/metabase/db/migrations.clj
+msgid "Error adding legacy SQL directive to BigQuery saved Question"
+msgstr "Eski SQL sorgusunun BigQuery ile kaydedilen soruya eklenmesi sırasında hata"
+
+#: src/metabase/driver.clj
+msgid "Failed to notify {0} Database {1} updated"
+msgstr "Veritabanı {1}'in güncelleme bildirimi {0} hatalı"
+
+#: src/metabase/driver.clj
+msgid "Loading driver {0} {1}"
+msgstr "Sürücü {0} {1} yükleniyor"
+
+#: src/metabase/driver.clj
+msgid "Load driver {0}"
+msgstr "Sürücü {0}'ı yükle"
+
+#: src/metabase/driver.clj
+msgid "Driver not registered after loading: {0}"
+msgstr "Sürücü yükleme sonrası kaydedilemedi: {0}"
+
+#: src/metabase/driver.clj
+msgid "Error: attempting to change {0} property `:abstract?` from {1} to {2}."
+msgstr "Hata: {0} `:abstract?` özelliği {1}'den {2}'ye değiştirilirken"
+
+#: src/metabase/driver.clj
+msgid "Registered abstract driver {0}"
+msgstr "Soyut sürücü {0} kaydedildi"
+
+#: src/metabase/driver.clj
+msgid "Registered driver {0}"
+msgstr "Sürücü {0} kaydedildi"
+
+#: src/metabase/driver.clj
+msgid "(parents: {0})"
+msgstr "(atalar: {0})"
+
+#: src/metabase/driver.clj
+msgid "Initializing driver {0}..."
+msgstr "Sürücü {0} başlatılıyor..."
+
+#: src/metabase/driver.clj
+msgid "Reason:"
+msgstr "Neden:"
+
+#: src/metabase/driver.clj
+msgid "Invalid driver feature: {0}"
+msgstr "Geçersiz sürücü özelliği: {0}"
+
+#: src/metabase/driver/sql/query_processor.clj
+msgid "Invalid HoneySQL form:"
+msgstr "Geçersiz HoneySQL formu:"
+
+#: src/metabase/driver/sql_jdbc/connection.clj
+msgid "Closing connection pool for database {0} ..."
+msgstr "Veritabanı {0} için bağlantı havuzu sonlandırılıyor..."
+
+#: src/metabase/driver/util.clj
+msgid "Error loading namespace"
+msgstr "Ad alanı yüklenirken hata oluştu"
+
+#: src/metabase/events.clj
+msgid "Starting events listener:"
+msgstr "Olay dinleyici başlatılıyor:"
+
+#: src/metabase/events.clj
+msgid "Unexpected error listening on events"
+msgstr "Olayları izlerken beklenmeyen bir hata oluştu"
+
+#: src/metabase/events/sync_database.clj
+msgid "Error syncing Database {0}"
+msgstr "Veritabanı eşleştirme hatası"
+
+#: src/metabase/events/sync_database.clj
+msgid "Failed to process sync-database event."
+msgstr "Veritabanı eşleştirme olayının işlenmesi gerçekleştirilemedi."
+
+#: src/metabase/mbql/util.clj
+msgid "Bad nested-query-level: query does not have a source query"
+msgstr "Hatalı yuvalanmış sorgu füzeryi: sorgunun kaynak sorgusu yok"
+
+#: src/metabase/metabot/command.clj
+msgid "I don''t know how to `{0}`."
+msgstr "'{0}'ın nasıl yapılcağını bilmiyorum."
+
+#: src/metabase/metabot/command.clj
+msgid "Here''s what I can do: "
+msgstr "YapabileceÄŸim ÅŸey ÅŸudur: "
+
+#: src/metabase/metabot/slack.clj
+msgid "Error in Metabot command"
+msgstr "Hatalı Metabot komutu"
+
+#: src/metabase/metabot/websocket.clj
+msgid "Websocket associated with this Slack event is different from the websocket we're currently using."
+msgstr "Güncel Slack olayı ile bağlantılı Websocket kullanılandan farklı."
+
+#: src/metabase/models/field_values.clj
+msgid "FieldValues for Field {0} remain unchanged. Skipping..."
+msgstr "Alan {0}'a ait FieldValues değişmiyor. Atlanıyor..."
+
+#: src/metabase/models/interface.clj
+msgid "Unable to normalize:"
+msgstr "Düzgelenemiyor:"
+
+#: src/metabase/models/params.clj
+msgid "Could not find matching Field ID for target:"
+msgstr "Hedef için Field ID bulunamadı:"
+
+#: src/metabase/plugins.clj
+msgid "Metabase does not have permissions to write to plugins directory {0}"
+msgstr "Metabase'in eklentiler dizinine kayıt izni yok"
+
+#: src/metabase/plugins.clj
+msgid "Metabase cannot use the plugins directory {0}"
+msgstr "Metabase eklenti dizini {0}'u kullanamıyor"
+
+#: src/metabase/plugins.clj
+msgid "Please make sure the directory exists and that Metabase has permission to write to it."
+msgstr "Lütfen dizinin varolduğundan emin olun ve Metabase'in bu dizine kayıt izni olduğunu kontrol edin."
+
+#: src/metabase/plugins.clj
+msgid "You can change the directory Metabase uses for modules by setting the environment variable MB_PLUGINS_DIR."
+msgstr "Metabase'in modüller için kullandığı dizini, MB_PLUGINS_DIR çevre değişkenini belirleyerek değiştirebilirsiniz. "
+
+#: src/metabase/plugins.clj
+msgid "Falling back to a temporary directory for now."
+msgstr "Şimdilik geçici bir dizin kullanılacak."
+
+#: src/metabase/plugins.clj
+msgid "Metabase cannot write to temporary directory. Please set MB_PLUGINS_DIR to a writable directory and restart Metabase."
+msgstr "Metabase geçici dizine yazamıyor. Lütfen MB_PLUGINS_DIR'ü yazılabilir bir dizine ayarlayarak Metabase'i yeniden başlatın."
+
+#: src/metabase/plugins.clj
+msgid "spark-deps.jar is no longer needed by Metabase 1.0+. You can delete it from the plugins directory."
+msgstr "spark-deps.jar'a artık Metabase 1.0+ tarafından ihtiyaç duyulmuyor. Eklentiler dizininden silebilirsiniz."
+
+#: src/metabase/plugins.clj
+msgid "Failied to initialize plugin {0}"
+msgstr "Eklenti {0} başlatılırken hata oluştu."
+
+#: src/metabase/plugins.clj
+msgid "Loading plugins in {0}..."
+msgstr "{0}'daki eklentiler yükleniyor..."
+
+#: src/metabase/plugins/classloader.clj
+msgid "Using Clojure base loader as shared context classloader: {0}"
+msgstr "Clojure temel yükleyicisi paylaşımlı ortam sınıf yükleyicisi olarak kullanılıyor: {0}"
+
+#: src/metabase/plugins/classloader.clj
+msgid "Setting current thread context classloader to shared classloader {0}..."
+msgstr "Güncel iş parçası ortam sınıf yükleyicisi, paylaşımlı sınıf yükleyici {0} olarak ayarlanıyor..."
+
+#. it's important that we deref the promise again here instead of using the one we just created because it is
+#. possible thru a race condition that somebody else delivered the promise before we did; in that case,
+#. Clojure ignores subsequent calls to `deliver`. Dereffing the promise guarantees that we'll get the actual
+#. value of it rather than one that ends up getting discarded
+#: src/metabase/plugins/classloader.clj
+msgid "Setting current thread context classloader to NEWLY CREATED classloader {0}..."
+msgstr "Güncel iş parçası ortam sınıf yükleyicisi, yeni oluşturulan sınıf yükleyici {0} olarak ayarlanıyor..."
+
+#: src/metabase/plugins/classloader.clj
+msgid "Added URL {0} to classpath"
+msgstr "URL {0} sınıf yoluna eklendi"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugin {0} declares a dependency that Metabase does not understand: {1}"
+msgstr "Eklenti {0} Metabase'in anlamadığı bir bağımlılık tanımlıyor: {1}"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Refer to the plugin manifest reference for a complete list of valid plugin dependencies:"
+msgstr "Geçerli eklenti bağımlılıklarının tam listesi için eklenti referansına başvurunuz:"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Metabase cannot initialize plugin {0} due to required dependencies."
+msgstr "Gerekli bağımlılıklar yüzünden Metabase ekelnti {0}'ı başlatamıyor."
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Class not found: {0}"
+msgstr "Sınıf bulunamadı: {0}"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugin ''{0}'' depends on plugin ''{1}''"
+msgstr "Eklenti \"{0}\" eklenti \"{1}\" bağımlı"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "{0} dependency {1} satisfied? {2}"
+msgstr "{0} bağımlığı {1}'i yerine getirdi mi? {2}"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugins with unsatisfied deps: {0}"
+msgstr "Yerine getirilmeyen bağımlığı olan eklentiler: {0}"
+
+#: src/metabase/plugins/files.clj
+msgid "Extract file {0} -> {1}"
+msgstr "Dosya {0} -> {1} çıkarılıyor"
+
+#: src/metabase/plugins/files.clj
+msgid "Resource does not exist."
+msgstr "Kaynak mevcut deÄŸil."
+
+#: src/metabase/plugins/init_steps.clj
+msgid "Loading plugin namespace {0}..."
+msgstr "Eklenti alan adı {0} yükleniyor..."
+
+#: src/metabase/plugins/initialize.clj
+msgid "Dependencies satisfied; these plugins will now be loaded: {0}"
+msgstr "Bağımlılıklar yerine getirildi; bu eklentiler şimdi yükleniyor: {0}"
+
+#: src/metabase/plugins/jdbc_proxy.clj
+msgid "Registering JDBC proxy driver for {0}..."
+msgstr "{0} için JDBC vekil sunucu sürücüsü kaydedilyor..."
+
+#: src/metabase/plugins/jdbc_proxy.clj
+msgid "Deregistering original JDBC driver {0}..."
+msgstr "{0} için JDBC vekil sunucu sürücüsü kaydı siliniyor..."
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Default connection property {0} does not exist."
+msgstr "Standart bağlantı özelliği {0} mevcut değil."
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Invalid connection property {0}: not a string or map."
+msgstr "Geçersiz bağlantı özelliği {0}: string ya da map değil."
+
+#. ok, do the init steps listed in the plugin mainfest
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Load lazy loading driver {0}"
+msgstr "Geciktirmeli yükleme sürücü {0}'ı yükle"
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Cannot initialize plugin: missing required property `driver-name`"
+msgstr "Eklenti başlatılamıyor: Gerekli özellik 'driver-name' eksik"
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Warning: plugin manifest for {0} does not include connection properties"
+msgstr "Uyarı: {0} için eklenti manifestosu bağlnatı özelliklerini içermiyor"
+
+#. finally, register the Metabase driver
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Registering lazy loading driver {0}..."
+msgstr "Geciktirmeli yükleme sürücü {0} kaydediliyor..."
+
+#: src/metabase/pulse.clj
+msgid "Error running query for Card {0}"
+msgstr "Kart {0}'a dair sorgu çalıştırılırken hata oluştu"
+
+#: src/metabase/pulse/render.clj
+msgid "Last week"
+msgstr "Geçen hafta"
+
+#: src/metabase/pulse/render.clj
+msgid "This week"
+msgstr "Bu hafta"
+
+#: src/metabase/pulse/render.clj
+msgid "Last month"
+msgstr "Geçen ay"
+
+#: src/metabase/pulse/render.clj
+msgid "This month"
+msgstr "Bu ay"
+
+#: src/metabase/pulse/render.clj
+msgid "Last quarter"
+msgstr "Geçen çeyrek"
+
+#: src/metabase/pulse/render.clj
+msgid "This quarter"
+msgstr "Bu çeyrek"
+
+#: src/metabase/pulse/render.clj
+msgid "Last year"
+msgstr "Geçen yıl"
+
+#: src/metabase/pulse/render.clj
+msgid "This year"
+msgstr "Bu yıl"
+
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "*driver* is unbound."
+msgstr "*sürücü* bağlı değil."
+
+#: src/metabase/sync/sync_metadata/fields.clj
+msgid "Error syncing Fields for Table ''{0}''"
+msgstr "Tablo \"{0}\"'a ait alanlar eÅŸleÅŸtirilirken hata oluÅŸtu"
+
+#: src/metabase/sync/sync_metadata/fields.clj
+msgid "Hash of {0} matches stored hash, skipping Fields sync"
+msgstr "{0}'ın sağlaması kayıtlı sağlama ile eşleşti, alan eşleştirmesi atlanıyor"
+
+#: src/metabase/sync/sync_metadata/fields/common.clj
+msgid "Field"
+msgstr "Alan"
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Error checking if Fields {0} need to be created or reactivated"
+msgstr "{0} alanlarının oluşturulması ya da yeniden etkinleştirilmesi denetlenirken hata oluştu"
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Marking Field ''{0}'' as inactive."
+msgstr "Alan \"{0}\" etkisiz olarak iÅŸaretlendi."
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Error retiring {0}"
+msgstr "{0} geri çekilirken hata oluştu"
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Database type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr "{0} veritabanı tipi \"{1}\"den \"{2}\"e değişti."
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Base type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr "{0} taban tipi \"{1}\"den \"{2}\"e deÄŸiÅŸti."
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Special type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr "{0} özel tipi \"{1}\"den \"{2}\"e değişti."
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Comment has been added for {0}."
+msgstr "{0}'a yorum eklendi."
+
+#: src/metabase/task.clj
+msgid "Stopping Quartz Scheduler {0}"
+msgstr "Quartz zamanlayıcı {0} durduruldu"
+
+#: src/metabase/task.clj
+msgid "Starting Quartz Scheduler {0}"
+msgstr "Quartz zamanlayıcı {0} başlatıldı"
+
+#: src/metabase/task.clj
+msgid "Error loading tasks namespace {0}"
+msgstr "Görev alan adları {0} yüklenirken hata oluştu"
+
+#. don't bother logging namespace for now, maybe in the future if there's tasks of the same name in multiple
+#. namespaces we can log it
+#: src/metabase/task.clj
+msgid "Initializing task {0}"
+msgstr "Görev {0} başlatılıyor"
+
+#: src/metabase/task.clj
+msgid "Error initializing task {0}"
+msgstr "Görev {0} başlatılırken hata oluştu"
+
+#: src/metabase/task/follow_up_emails.clj
+msgid "Problem sending abandonment email"
+msgstr "Terk email'i gönderilirken sorun oluştu"
+
+#: src/metabase/task/send_anonymous_stats.clj
+msgid "Sending anonymous usage stats."
+msgstr "Anonim kullanım istatistikleri gönderiliyor."
+
+#: src/metabase/task/send_anonymous_stats.clj
+msgid "Error sending anonymous usage stats"
+msgstr "Anonim kullanım istatistikleri gönderilirken hata oluştu"
+
+#: src/metabase/task/send_pulses.clj
+msgid "Error sending Pulse {0}"
+msgstr "Pulse {0} gönderilirken hata oluştu"
+
+#: src/metabase/task/send_pulses.clj
+msgid "Sending scheduled pulses..."
+msgstr "Zamanlanmış pulse'lar gönderiliyor..."
+
+#: src/metabase/task/send_pulses.clj
+msgid "SendPulses task failed"
+msgstr "SendPulses görevi başarısız"
+
+#: src/metabase/task/sync_databases.clj
+msgid "Failed to scheduler tasks for Database {0}"
+msgstr "Veritabanı {0} için görevlerin zamanlaması başarısız"
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Cleaning up task history"
+msgstr "Görev geçmişi temizleniyor"
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Task history cleanup successful, rows were deleted"
+msgstr "Görev geçmişi başarı ile temizlendi, satırlar silindi"
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Task history cleanup successful, no rows were deleted"
+msgstr "Görev geçmişi başarı ile temizlendi, hiçbir satır silinmedi"
+
+#: src/metabase/task/upgrade_checks.clj
+msgid "Checking for new Metabase version info."
+msgstr "Yeni Metabase sürüm bilgisi kontrol ediliyor."
+
+#: src/metabase/task/upgrade_checks.clj
+msgid "Error fetching version info"
+msgstr "Sürüm bilgisi alınırken hata oluştu"
+
+#: src/metabase/util.clj
+msgid "Maximum memory available to JVM: {0}"
+msgstr "JVM için kullanılabilir bellek: {0}"
+
+#: src/metabase/util.clj
+msgid "Not something with an ID: {0}"
+msgstr "Bu ID ile bir ÅŸey yok: {0}"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by month of the year"
+msgstr " [[CreateDate]] yılın ayı bazında"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Here's a quick look at your [[this]]"
+msgstr "[[this]]'e hızlı bir bakış"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by hour of the day"
+msgstr "[[CreateTimestamp]] günün saatine göre"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Where you've acquired your users"
+msgstr "Kullanıcılarınız edindiğinizde"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How it's distributed across time and other categories."
+msgstr "Zaman ve diğer sınıflandırmalar bazında nasıl dağıldığı."
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Here's a closer look at your [[this]] per source"
+msgstr "[[this]]'e kaynak bazında hızlı bir bakış"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "Here's a quick look at the [[this]]"
+msgstr "[[this]]'e hızlı bir bakış"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by day of the month"
+msgstr "[[CreateTimestamp]] ayın gününe göre"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Here's an overview of the people in your [[this]]"
+msgstr "[[this]]'inizdeki kişilere genel bakış"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by quarter of the year"
+msgstr "[[CreateTimestamp]] yılın çeyreğine göre"
+
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How they compare across location"
+msgstr "Yerlerine göre karşılaştırma"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "Here's a closer look at your [[this]] by products"
+msgstr "[[this]]'e ürün bazında yakından bir bakış"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by month of the year"
+msgstr "[[CreateTimestamp]] yılın ayına göre"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "An overview of your [[this]] and how it's distributed across time, place, and categories."
+msgstr "[[this]]'inize genel bir bakış ve zaman, yer ve sınıf bazında dağılımları."
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/question/GenericQuestion.yaml
+msgid "Here's a closer look at your [[this]]"
+msgstr "[[this]]'inize yakından bakış"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by day of the week"
+msgstr "[[CreateTimestamp]] haftanın günlerine göre"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Here's an overview of your [[this]] data from Google Analytics"
+msgstr "[[this]]'inize Google Analytics verileri bazında genel bakış"
+
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+#: resources/automagic_dashboards/comparison/State.yaml
+#: resources/automagic_dashboards/comparison/FK.yaml
+#: resources/automagic_dashboards/comparison/Country.yaml
+#: resources/automagic_dashboards/comparison/GenericField.yaml
+msgid "Here's an overview of your [[this]]"
+msgstr "[[this]]'inize genel bakış"
+
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "Here's a closer look at your [[this]] field"
+msgstr "[[this]] alanına yakından bakış"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Here's a closer look at your [[this]] per country"
+msgstr "[[this]]'inize ülke bazında yakından bakış"
+
+#: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
+msgid "If you're into correlations, this is the x-ray for you."
+msgstr "İlintiler ile ilgileniyorsanız, size uygun x-ray budur."
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by day of the week"
+msgstr "[[CreateDate]] haftanın gününe göre"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "It looks like your [[this]] has transactions, so here's a look at them"
+msgstr "[[this]]'inizin hareketleri mevcut görünüyor, onlara bir bakış"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Here's a closer look at your [[this]] per state"
+msgstr "[[this]]'inize durum bazında yakından bakış"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by day of the month"
+msgstr "[[CreateDate]] ayın gününe göre"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTime]] by hour of the day"
+msgstr "[[CreateDate]] günün saatine göre"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Here's a closer look at your [[this]] over time"
+msgstr "[[this]]'inize zaman bazında yakından bakış"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by quarter of the year"
+msgstr "[[CreateDate]] yılın çeyreğine göre"
+
+#: frontend/src/metabase/admin/people/containers/EditUserModal.jsx:12
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:200
+msgid "Edit user"
+msgstr "Kullanıcıyı düzenle"
+
+#: frontend/src/metabase/admin/people/containers/NewUserModal.jsx:13
+msgid "New user"
+msgstr "Yeni kullanıcı"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:204
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:69
+msgid "Reset password"
+msgstr "Şifreyi sıfırla"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:209
+msgid "Deactivate user"
+msgstr "Kullanıcıyı etkisiz kıl"
+
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:47
+msgid "Reactivate {0}?"
+msgstr "{0} yeniden etkinleÅŸtirilsin mi?"
+
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:63
+msgid "We couldn’t send them an email invitation, so make sure to tell them to log in using {0} and this password we’ve generated for them:"
+msgstr "Onlara mail ile davetiye gönderemedik, {0}'ı  ve oluşturduğumuz bu şifreyi kullanarak giriş yapmalarını bildirin:"
+
+#: frontend/src/metabase/entities/collections.js:21
+msgid "collection"
+msgstr "derlem"
+
+#: frontend/src/metabase/entities/collections.js:22
+msgid "collections"
+msgstr "derlemler"
+
+#: frontend/src/metabase/entities/dashboards.js:29
+msgid "dashboard"
+msgstr "bilgi panosu"
+
+#: frontend/src/metabase/entities/dashboards.js:30
+msgid "dashboards"
+msgstr "bilgi panoları"
+
+#: frontend/src/metabase/entities/users.js:125
+msgid "First name is required"
+msgstr "Ön adınız gerekli"
+
+#: frontend/src/metabase/entities/users.js:126
+#: frontend/src/metabase/entities/users.js:133
+msgid "Must be 100 characters or less"
+msgstr "En fazla 100 karakter ya da daha az olmalı"
+
+#: frontend/src/metabase/entities/users.js:132
+msgid "Last name is required"
+msgstr "Soyadınız gerekli"
+
+#: frontend/src/metabase/entities/users.js:138
+msgid "Email is required"
+msgstr "E-Mail gerekli"
+
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:90
+msgid "Items you archive will appear here."
+msgstr "Arşivlediğiniz kalemler burada görülecek."
+
+#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:16
+msgid "No description"
+msgstr "Açıklama yok"
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:175
+msgid "Sum of all values"
+msgstr "Tüm değerlerin toplamı"
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:183
+msgid "See all distinct values"
+msgstr "Tüm ayrık  değerleri gör"
+
+#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:12
+msgid "Browse the contents of your databases, tables, and columns. Pick a database to get started"
+msgstr "Veritabanlarınızın, tablo ve sütunlarınızın içeriğini gezin. Başlamak için bir veritabanı seçin"
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is VALID. Thanks!"
+msgstr "Kart sonuçlarına dair API'ye iletilen veriler GEÇERLİ. Teşekkürler!"
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is INVALID. Running query to fetch correct metadata."
+msgstr "Kart sonuçlarına dair API'ye iletilen veriler GEÇERSİZ. Doğru verileri almak için sorgulama yapılıyor."
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is  ISSING. Running query to fetch correct metadata."
+msgstr "Kart sonuçlarına dair API'ye iletilen veriler EKSİK. Doğru verileri almak için sorgulama yapılıyor."
+
+#: src/metabase/api/email.clj
+msgid "{0} was autocorrected to {1}"
+msgstr "{0} {1} olarak düzeltildi."
+
+#: src/metabase/api/metric.clj
+msgid "DELETE /api/metric/:id is deprecated. Instead, change its `archived` value via PUT /api/metric/:id."
+msgstr "DELETE /api/metric/:id artık kullanılmıyor. Onun yerine, `archived` değerini PUT /api/metric/:id yardımı ile değiştirin."
+
+#: src/metabase/api/segment.clj
+msgid "DELETE /api/segment/:id is deprecated. Instead, change its `archived` value via PUT /api/segment/:id."
+msgstr "DELETE /api/segment/:id artık kullanılmıyor. Onun yerine, `archived` değerini PUT /api/segment/:id yardımı ile değiştirin."
+
+#: src/metabase/api/user.clj
+msgid "Value of is_superuser must correspond to presence of Admin group ID in group_ids."
+msgstr "is_superuser'ın değeri group_ids'teki Admin group ID'nın varlığı ile uyuşmalı."
+
+#: src/metabase/async/api_response.clj
+msgid "Unexpected error writing keepalive characters"
+msgstr "Canlı tutma karakterlerinin kaydı sırasında beklenilmeyen hata"
+
+#: src/metabase/async/api_response.clj
+msgid "Unexpected output in async API response"
+msgstr "Async API cevabında beklenilmeyen sonuç"
+
+#: src/metabase/async/api_response.clj
+msgid "starting streaming response"
+msgstr "Duraksız cevap başlatılıyor"
+
+#: src/metabase/async/api_response.clj
+msgid "Output chan closed, canceling keepalive request."
+msgstr "Çıktı kanalı kapandı, canlı tutma talepleri iptal ediliyor."
+
+#: src/metabase/async/api_response.clj
+msgid "Async response finished, closing channels."
+msgstr "Async cevap tamamlandı, kanallar kapatılıyor."
+
+#: src/metabase/async/api_response.clj
+msgid "No response after waiting {0}. Canceling request."
+msgstr "{0} beklenildikten sonra cevap alınamadı. Talep iptal ediliyorç"
+
+#: src/metabase/async/api_response.clj
+msgid "Input channel unexpectedly closed."
+msgstr "Giriş kanalaı beklenilmedik bir şekilde kapatıldı."
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "f finished, permit will be returned"
+msgstr "Sonlandırıdığında, izin geri alınacak"
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "request canceled, permit will be returned"
+msgstr "Talep iptal edildi, izin geri alınacak"
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Unexpected error attempting to run function after obtaining permit"
+msgstr "İzin alındıktan sonra fonksiyonu işleme denemesinde beklenilmedik hata"
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Not running pending function call: output channel already closed."
+msgstr "Süren fonksiyon çağrısı koşturulmuyor: Çıkış kanalı kapanmış."
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Current thread already has a permit for {0}, will not wait to acquire another"
+msgstr "Güncel iş parçasının {0} için izni var, başka biri için beklenilmeyecek"
+
+#: src/metabase/async/util.clj
+msgid "Output channel closed, will skip running {0}."
+msgstr "Çıkış kanalı kapalı, {0} koşturma atlanacak."
+
+#: src/metabase/async/util.clj
+msgid "Running {0} on separate thread..."
+msgstr "{0} başka bir iş parçacığı olarak koşturuluyor..."
+
+#: src/metabase/async/util.clj
+msgid "Caught error running {0}"
+msgstr "{0} koÅŸturulurken hata oluÅŸtu"
+
+#: src/metabase/async/util.clj
+msgid "Request canceled, canceling future"
+msgstr "Talep iptal edildi, gelecek olanlar iptal ediliyor"
+
+#: src/metabase/driver/sql_jdbc/connection.clj
+msgid "Closing old connection pool for database {0} ..."
+msgstr "Veritabanı {0}{ için eski bağlantı havuzu kapatılıyor..."
+
+#: src/metabase/metabot/command.clj
+msgid "Here''s your {0} most recent cards:"
+msgstr "Sizin en son {0} kartınız:"
+
+#: src/metabase/metabot/command.clj
+msgid "Could you be a little more specific, or use the ID? I found these cards with names that matched:"
+msgstr "Lütfen biraz daha kesin olabilir misiniz, ya da bir ID kullanabilir misiniz? İsimler ile eşleşen şu kartları buldum:"
+
+#: src/metabase/metabot/command.clj
+msgid "Card {0} not found."
+msgstr "Kart {0} bulunamadı."
+
+#: src/metabase/middleware/exceptions.clj
+msgid "Exception in API call"
+msgstr "API çağrısında hata"
+
+#: src/metabase/middleware/exceptions.clj
+msgid "Request canceled before finishing."
+msgstr "Talep sonlandırılamadan iptal edildi."
+
+#: src/metabase/middleware/json.clj
+msgid "Metabase only supports JSON requests."
+msgstr "Metabase sadece JSON taleplerini destekliyor."
+
+#: src/metabase/middleware/json.clj
+msgid "Make sure you set a 'Content-Type: application/json' header."
+msgstr "Lütfen 'Content-Type: application/json' başlığını kullandığınızdan emin olun."
+
+#: src/metabase/middleware/misc.clj
+msgid "Setting Metabase site URL to {0}"
+msgstr "Metabase site URL'si {0}'a ayarlandı"
+
+#: src/metabase/models/database.clj
+msgid "Error scheduling tasks for DB"
+msgstr "DB için görevlerin çizelgelemesinde hata"
+
+#: src/metabase/models/database.clj
+msgid "Error unscheduling tasks for DB."
+msgstr "DB için görevlerin çizelgeleme dışına alınmasında hata"
+
+#: src/metabase/models/database.clj
+msgid "{0} Database ''{1}'' sync/analyze schedules have changed!"
+msgstr " {0} Veritabanı ''{1}'' eşleştirme/analiz zamanlamarı değişti!"
+
+#: src/metabase/models/database.clj
+msgid "Sync metadata was: ''{0}'' is now: ''{1}''"
+msgstr "EÅŸleÅŸtirme verisi: ''{0}'' idi, ÅŸimdi: ''{1}''"
+
+#: src/metabase/models/database.clj
+msgid "Cache FieldValues was: ''{0}'', is now: ''{1}''"
+msgstr "Arabellek FieldValues: ''{0}'' idi, ÅŸimdi: ''{1}''"
+
+#: src/metabase/models/metric.clj
+msgid "You cannot update the creator_id of a Metric."
+msgstr "Bri metriğin creator_id'sini güncelleyemezsiniz."
+
+#: src/metabase/models/permissions.clj
+msgid "MetaBot can only have Collection permissions."
+msgstr "MetaBot sadece Collection izinlerine sahip olabilir."
+
+#: src/metabase/models/permissions.clj
+msgid "Failed to grant permissions"
+msgstr "İzinlerin verilmesi başarısız oldu"
+
+#: src/metabase/models/permissions.clj
+msgid "Changing permissions"
+msgstr "Ä°zinler deÄŸiÅŸtiriliyor"
+
+#: src/metabase/models/permissions.clj
+msgid "FROM:"
+msgstr "Kimden:"
+
+#: src/metabase/models/permissions.clj
+msgid "TO:"
+msgstr "Kime:"
+
+#: src/metabase/models/segment.clj
+msgid "You cannot update the creator_id of a Segment."
+msgstr "Bir bölümün creator_id'sini güncelleyemezsiniz."
+
+#: src/metabase/models/setting.clj
+msgid "Attempted to set Setting {0} to obfuscated value. Ignoring change."
+msgstr "Setting {0}'ı gizlenmiş değere atama denendi .Değişiklik dikkate alınmayacak."
+
+#: src/metabase/models/setting.clj
+msgid "Using value of env var {0}"
+msgstr "env'in değeri {0} kullanılıyor"
+
+#: src/metabase/models/user.clj
+msgid "Adding User {0} to All Users permissions group..."
+msgstr "Kullanıcı {0} tüm kullanıcılar izin grubuna ekleniyor..."
+
+#: src/metabase/models/user.clj
+msgid "Adding User {0} to Admin permissions group..."
+msgstr "Kullanıcı {0} yöneticiler izin grubuna ekleniyor..."
+
+#: src/metabase/query_processor.clj
+msgid "Query failure"
+msgstr "Sorgu hatası"
+
+#: src/metabase/query_processor/async.clj
+msgid "Maximum number of simultaneous queries to allow per connected Database."
+msgstr "Veritabanı başına izin verilen en fazla eşzamanlı sorgu sayısı."
+
+#: src/metabase/util.clj
+msgid "Timed out after {0} milliseconds."
+msgstr "{0} milisaniyenin ardından zaman aşımı."
 
diff --git a/locales/uk.po b/locales/uk.po
new file mode 100644
index 0000000000000000000000000000000000000000..44bbf1f9990e52b01b90283272c557eaa7048204
--- /dev/null
+++ b/locales/uk.po
@@ -0,0 +1,12418 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: POEditor.com\n"
+"Project-Id-Version: Metabase\n"
+"Language: uk\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:24
+msgid "Your database has been added!"
+msgstr "Вашу базу Даних Було додано!"
+
+#: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:28
+msgid "We took a look at your data, and we have some automated explorations that we can show you!"
+msgstr "Ми подивилися на ваші дані і ось результат нашого автоматичного дослідження!"
+
+#: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:35
+msgid "I'm good thanks"
+msgstr "Все гаразд, спасибі"
+
+#: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:42
+msgid "Explore this data"
+msgstr "дослідити дані"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseEditForms.jsx:42
+msgid "Select a database type"
+msgstr "Оберіть тип бази даних"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseEditForms.jsx:75
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:170
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:401
+#: frontend/src/metabase/admin/permissions/containers/CollectionPermissionsModal.jsx:71
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:182
+#: frontend/src/metabase/components/ActionButton.jsx:51
+#: frontend/src/metabase/components/ButtonWithStatus.jsx:7
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:180
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:197
+#: frontend/src/metabase/reference/components/EditHeader.jsx:54
+#: frontend/src/metabase/reference/components/EditHeader.jsx:69
+#: frontend/src/metabase/user/components/SetUserPassword.jsx:171
+#: frontend/src/metabase/user/components/UpdateUserDetails.jsx:164
+msgid "Save"
+msgstr "Зберегти"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:122
+msgid "To do some of its magic, Metabase needs to scan your database. We will also rescan it periodically to keep the metadata up-to-date. You can control when the periodic rescans happen below."
+msgstr "Ми повинні просканувати вашу базу даних. Ми так само будемо періодично повторювати цю дію для актуальності даних. Нижче ви можете контролювати періодичність."
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:127
+msgid "Database syncing"
+msgstr "База даних до процесі сінхронізації"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:128
+msgid "This is a lightweight process that checks for\n"
+"updates to this database’s schema. In most cases, you should be fine leaving this\n"
+"set to sync hourly."
+msgstr "Це легкий процес перевіряючий оновлення структури цієї бази даних. У більшості випадків Вам буде достатньо залишити повсякчасне оновлення"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:147
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:184
+msgid "Scan"
+msgstr "Скануваті"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:152
+msgid "Scanning for Filter Values"
+msgstr "Сканування для значення фільтрів"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:153
+msgid "Metabase can scan the values present in each\n"
+"field in this database to enable checkbox filters in dashboards and questions. This\n"
+"can be a somewhat resource-intensive process, particularly if you have a very large\n"
+"database."
+msgstr "Metabase може просканувати значення кожного поля бази даних і зробити доступними checkbox-фільтри на панелях індикаторів і в питаннях. Процес досить ресурсозатратне, особливо, якщо мова йде про дуже великий базі даних."
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:159
+msgid "When should Metabase automatically scan and cache field values?"
+msgstr "Коли Metabase повинен автоматично сканувати і кешувати значення?"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:164
+msgid "Regularly, on a schedule"
+msgstr "Регулярно, за Расписание"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:195
+msgid "Only when adding a new filter widget"
+msgstr "Тільки коли додається новий віджет фільтрації"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:199
+msgid "When a user adds a new filter to a dashboard or a SQL question, Metabase will\n"
+"scan the field(s) mapped to that filter in order to show the list of selectable values."
+msgstr "Коли користувач додає новий фільтр до дешборду або SQL запит, Метабейз сканує поля пов'язані з цим фільтром для відображення опцій"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:210
+msgid "Never, I'll do this manually if I need to"
+msgstr "Ніколи, я зрозлю це вручну, коли нужно"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:222
+#: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:27
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:222
+#: frontend/src/metabase/components/ActionButton.jsx:52
+#: frontend/src/metabase/components/ButtonWithStatus.jsx:8
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:426
+msgid "Saving..."
+msgstr "Збереження ..."
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:39
+#: frontend/src/metabase/components/form/FormMessage.jsx:4
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:144
+msgid "Server error encountered"
+msgstr "Помилка на сервері"
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:58
+msgid "Delete this database?"
+msgstr "ВИДАЛИТИ Цю базу Даних?"
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:66
+msgid "All saved questions, metrics, and segments that rely on this database will be lost."
+msgstr "Всі збережені запити, метрики і сегменти, які залежать від цієї бази даних, будуть втрачені."
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:67
+msgid "This cannot be undone."
+msgstr "Ця дія є незворотнім."
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:70
+msgid "If you're sure, please type"
+msgstr "Якщо ви впевнені, напишіть"
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:53
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:70
+msgid "DELETE"
+msgstr "ВИЛУЧИТИ"
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:71
+msgid "in this box:"
+msgstr "в цьому полі:"
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:82
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:50
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:87
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:93
+#: frontend/src/metabase/admin/people/components/AddRow.jsx:27
+#: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:49
+#: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:52
+#: frontend/src/metabase/admin/permissions/containers/CollectionPermissionsModal.jsx:58
+#: frontend/src/metabase/admin/permissions/selectors.js:160
+#: frontend/src/metabase/admin/permissions/selectors.js:170
+#: frontend/src/metabase/admin/permissions/selectors.js:185
+#: frontend/src/metabase/admin/permissions/selectors.js:224
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:355
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:181
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:247
+#: frontend/src/metabase/components/ConfirmContent.jsx:18
+#: frontend/src/metabase/components/DeleteModalWithConfirm.jsx:72
+#: frontend/src/metabase/components/HeaderModal.jsx:49
+#: frontend/src/metabase/components/form/StandardForm.jsx:61
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:196
+#: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:289
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:162
+#: frontend/src/metabase/dashboard/components/RemoveFromDashboardModal.jsx:38
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:189
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:191
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:354
+#: frontend/src/metabase/query_builder/components/RunButton.jsx:24
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:83
+#: frontend/src/metabase/query_builder/containers/ArchiveQuestionModal.jsx:48
+#: frontend/src/metabase/reference/components/EditHeader.jsx:34
+#: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:52
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:259
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:461
+msgid "Cancel"
+msgstr "Відмінити"
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:88
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:121
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:132
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:461
+msgid "Delete"
+msgstr "ВИДАЛИТИ"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:128
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:74
+#: frontend/src/metabase/admin/permissions/selectors.js:320
+#: frontend/src/metabase/admin/permissions/selectors.js:327
+#: frontend/src/metabase/admin/permissions/selectors.js:423
+#: frontend/src/metabase/admin/routes.jsx:53
+#: frontend/src/metabase/nav/containers/Navbar.jsx:214
+#: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:18
+#: frontend/src/metabase/reference/databases/TableSidebar.jsx:21
+msgid "Databases"
+msgstr "Бази даних"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:129
+msgid "Add Database"
+msgstr "Додати базу Даних"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:60
+msgid "Connection"
+msgstr "з'єднання"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:61
+msgid "Scheduling"
+msgstr "Розклад"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:170
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:78
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:84
+#: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:26
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:221
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:182
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:356
+#: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:47
+msgid "Save changes"
+msgstr "Зберегти зміни"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:185
+#: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:38
+#: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:38
+msgid "Actions"
+msgstr "Дії"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:193
+msgid "Sync database schema now"
+msgstr "Провести синхронізацію схеми"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:194
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:206
+#: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:15
+#: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:23
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:109
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:117
+msgid "Starting…"
+msgstr "Починаю ..."
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:195
+msgid "Failed to sync"
+msgstr "Помилка синхронізації"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:196
+msgid "Sync triggered!"
+msgstr "Синхронізація почалася!"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:205
+msgid "Re-scan field values now"
+msgstr "Пересканувати значення полів"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:207
+#: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:16
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:110
+msgid "Failed to start scan"
+msgstr "Неможливо розпочати сканування"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:208
+#: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:17
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:111
+msgid "Scan triggered!"
+msgstr "Сканування заплановано!"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:215
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:401
+msgid "Danger Zone"
+msgstr "Небезпечна зона"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:221
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:224
+msgid "Discard saved field values"
+msgstr "Скинути збережені значення полів"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:239
+msgid "Remove this database"
+msgstr "ВИДАЛИТИ Цю базу Даних"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:73
+msgid "Add database"
+msgstr "Додати базу Даних"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:85
+#: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:36
+#: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:36
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:122
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:183
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:91
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:399
+#: frontend/src/metabase/containers/EntitySearch.jsx:26
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:218
+#: frontend/src/metabase/entities/collections.js:93
+#: frontend/src/metabase/entities/dashboards.js:145
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:461
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:81
+msgid "Name"
+msgstr "Ім'я"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:86
+msgid "Engine"
+msgstr "Двигун"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:115
+msgid "Deleting..."
+msgstr "Відалення ..."
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:145
+msgid "Loading ..."
+msgstr "Завантаження ..."
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:161
+msgid "Bring the sample dataset back"
+msgstr "Повернути дані прикладів"
+
+#: frontend/src/metabase/admin/databases/database.js:175
+msgid "Couldn't connect to the database. Please check the connection details."
+msgstr "Не можемо з'єднатися з базою даних. Будь ласка, перевірте налаштування з'єднання."
+
+#: frontend/src/metabase/admin/databases/database.js:383
+msgid "Successfully created!"
+msgstr "Успешно Створено!"
+
+#: frontend/src/metabase/admin/databases/database.js:393
+msgid "Successfully saved!"
+msgstr "Успешно Збережи!"
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectActionSelect.jsx:44
+#: frontend/src/metabase/dashboard/components/DashCard.jsx:278
+#: frontend/src/metabase/parameters/components/ParameterWidget.jsx:177
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:197
+#: frontend/src/metabase/reference/components/EditButton.jsx:18
+msgid "Edit"
+msgstr "Редагуваті"
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectActionSelect.jsx:59
+msgid "Revision History"
+msgstr "Журнал змін"
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:33
+msgid "Retire this {0}?"
+msgstr "Прибрати {0}?"
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:38
+msgid "Saved questions and other things that depend on this {0} will continue to work, but this {1} will no longer be selectable from the query builder."
+msgstr "Збережені питання і інші складові, які залежать від {0}, продовжать працювати, але {1} вже не можна буде вибрати в майстра запитів."
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:39
+msgid "If you're sure you want to retire this {0}, please write a quick explanation of why it's being retired:"
+msgstr "Якщо ви впевнені, що хочете прибрати {0}, будь ласка, напишіть короткий пояснення до ваших дій:"
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:43
+msgid "This will show up in the activity feed and in an email that will be sent to anyone on your team who created something that uses this {0}."
+msgstr "Це буде відображено в списку дій і в повідомленнях, які будуть відправлені будь-якого зі складу вашої команди, хто створив щось, яке використовує {0}."
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:58
+msgid "Retire"
+msgstr "Прибрати"
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:59
+msgid "Retiring…"
+msgstr "Видалення ..."
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:60
+msgid "Failed"
+msgstr "Завершено з помилкою"
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:61
+msgid "Success"
+msgstr "успішно завершено"
+
+#: frontend/src/metabase/admin/datamodel/components/PartialQueryBuilder.jsx:118
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:110
+msgid "Preview"
+msgstr "Попередній перегляд"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnItem.jsx:99
+msgid "No column description yet"
+msgstr "Ще немає опису стоблца"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnItem.jsx:135
+msgid "Select a field visibility"
+msgstr "Виберіть видимість поля"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnItem.jsx:210
+msgid "No special type"
+msgstr "Без спеціального типу"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnItem.jsx:211
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:34
+#: frontend/src/metabase/reference/components/Field.jsx:57
+#: frontend/src/metabase/reference/components/FieldTypeDetail.jsx:42
+msgid "Other"
+msgstr "Інше"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnItem.jsx:231
+msgid "Select a special type"
+msgstr "Вибрати спеціальний тип"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnItem.jsx:277
+msgid "Select a target"
+msgstr "вибрати мета"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnsList.jsx:17
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:77
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:89
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:106
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:122
+msgid "Columns"
+msgstr "Колонки"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnsList.jsx:22
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataSchema.jsx:44
+msgid "Column"
+msgstr "колонка"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnsList.jsx:24
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:121
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:306
+msgid "Visibility"
+msgstr "Видимість"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnsList.jsx:25
+msgid "Type"
+msgstr "Тип"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataHeader.jsx:87
+msgid "Current database:"
+msgstr "Поточна база даних:"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataHeader.jsx:92
+msgid "Show original schema"
+msgstr "Показати оригінальну схему"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataSchema.jsx:45
+msgid "Data Type"
+msgstr "Тип даних"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataSchema.jsx:46
+msgid "Additional Info"
+msgstr "додаткова інформація"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataSchemaList.jsx:44
+msgid "Find a schema"
+msgstr "знайти схему"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataSchemaList.jsx:51
+msgid "{0} schema"
+msgid_plural "{0} schemas"
+msgstr[0] "{0} схема"
+msgstr[1] "{0} схем"
+msgstr[2] "{0} схем"
+msgstr[3] "{0} схемы"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:82
+msgid "Why Hide?"
+msgstr "Навіщо приховувати?"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:83
+msgid "Technical Data"
+msgstr "Технічні дані"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:84
+msgid "Irrelevant/Cruft"
+msgstr "Не важливо / Мотлох"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:90
+msgid "Queryable"
+msgstr "Доступно в запитах"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:91
+msgid "Hidden"
+msgstr "Приховано"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:117
+msgid "No table description yet"
+msgstr "Ще немає опису таблиці"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:124
+msgid "Metadata Strength"
+msgstr "складність метаданих"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTableList.jsx:87
+msgid "{0} Queryable Table"
+msgid_plural "{0} Queryable Tables"
+msgstr[0] "{0} доступних для запиту таблиць"
+msgstr[1] "{0} доступных для запроса таблиц"
+msgstr[2] "{0} доступных для запроса таблиц"
+msgstr[3] "{0} доступных для запроса таблиц"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTableList.jsx:96
+msgid "{0} Hidden Table"
+msgid_plural "{0} Hidden Tables"
+msgstr[0] "{0} прихована таблиця"
+msgstr[1] "{0} скрытых таблиц"
+msgstr[2] "{0} скрытых таблиц"
+msgstr[3] "{0} скрытых таблиц"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTableList.jsx:113
+msgid "Find a table"
+msgstr "знайти таблицю"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTableList.jsx:126
+msgid "Schemas"
+msgstr "схеми"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:24
+#: frontend/src/metabase/new_query/containers/NewQueryOptions.jsx:137
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:33
+#: frontend/src/metabase/reference/guide/BaseSidebar.jsx:27
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:189
+#: frontend/src/metabase/reference/metrics/MetricList.jsx:56
+#: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:21
+#: frontend/src/metabase/routes.jsx:232
+msgid "Metrics"
+msgstr "Метрики"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:30
+msgid "Add a Metric"
+msgstr "Додати Метрику"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:37
+#: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:37
+#: frontend/src/metabase/query_builder/components/QueryDefinitionTooltip.jsx:30
+msgid "Definition"
+msgstr "визначення"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:54
+msgid "Create metrics to add them to the View dropdown in the query builder"
+msgstr "Створити метрики для їх додавання у випадаюче меню майстура запитів"
+
+#: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:24
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:930
+#: frontend/src/metabase/reference/guide/BaseSidebar.jsx:33
+#: frontend/src/metabase/reference/segments/SegmentFieldSidebar.jsx:19
+#: frontend/src/metabase/reference/segments/SegmentList.jsx:56
+#: frontend/src/metabase/reference/segments/SegmentSidebar.jsx:21
+msgid "Segments"
+msgstr "Сегменти"
+
+#: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:30
+msgid "Add a Segment"
+msgstr "Додати Сегмент"
+
+#: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:54
+msgid "Create segments to add them to the Filter dropdown in the query builder"
+msgstr "Створити сегменти для додавання у випадаюче меню фільтра майстра запитів"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:24
+msgid "created"
+msgstr "створено"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:27
+msgid "reverted to a previous version"
+msgstr "повернута попередня версія"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:33
+msgid "edited the title"
+msgstr "змінений заголовок"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:35
+msgid "edited the description"
+msgstr "змінений опис"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:37
+msgid "edited the "
+msgstr "змінено"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:40
+msgid "made some changes"
+msgstr "зроблені деякі зміни"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:46
+#: frontend/src/metabase/home/components/Activity.jsx:80
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:332
+msgid "You"
+msgstr "ви"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/RevisionHistory.jsx:37
+msgid "Datamodel"
+msgstr "модель даних"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/RevisionHistory.jsx:43
+msgid " History"
+msgstr "Історія"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/RevisionHistory.jsx:48
+msgid "Revision History for"
+msgstr "Історія змін за"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:239
+msgid "{0} – Field Settings"
+msgstr "{0} - установки поля"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:307
+msgid "Where this field will appear throughout Metabase"
+msgstr "Де це поле буде відображено в системі"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:329
+msgid "Filtering on this field"
+msgstr "Фільтрація цього поля"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:330
+msgid "When this field is used in a filter, what should people use to enter the value they want to filter on?"
+msgstr "Якщо це поле використовується як фільтр, який вид інформації повинні використовувати користувачі для фільтрації?"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:453
+msgid "No description for this field yet"
+msgstr "Для цього поля поки немає опису"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:379
+msgid "Original value"
+msgstr "Оригінальна значення"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:380
+msgid "Mapped value"
+msgstr "пов'язане значення"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:423
+msgid "Enter value"
+msgstr "Введіть значення"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:25
+msgid "Use original value"
+msgstr "Використовувати початкове значення"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:26
+msgid "Use foreign key"
+msgstr "Використовувати зовнішній ключ"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:27
+msgid "Custom mapping"
+msgstr "своя зв'язок"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:55
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:155
+msgid "Unrecognized mapping type"
+msgstr "Непізнаний вид зв'язку"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:89
+msgid "Current field isn't a foreign key or FK target table metadata is missing"
+msgstr "Дане поле не є зовнішнім ключем або метадані іншої таблиці, що містить зовнішній ключ, відсутні"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:187
+msgid "The selected field isn't a foreign key"
+msgstr "Обраний поле не є зовнішньому ключем"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:347
+msgid "Display values"
+msgstr "Показати значення"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:348
+msgid "Choose to show the original value from the database, or have this field display associated or custom information."
+msgstr "Виберіть, що відобразити в поле: початкове значення з бази даних, асоційовану або іншу налаштовувану інформацію."
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:268
+msgid "Choose a field"
+msgstr "Виберіть поле"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:289
+msgid "Please select a column to use for display."
+msgstr "Будь ласка, виберіть стовпець для відображення."
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:771
+msgid "Tip:"
+msgstr "Підказка:"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:433
+msgid "You might want to update the field name to make sure it still makes sense based on your remapping choices."
+msgstr "Можливо, ви захочете відновити найменування поля, щоб переконатися, що воно відповідає обраному варіанту перепризначення зв'язку."
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:364
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:102
+msgid "Cached field values"
+msgstr "Кешовані значення полів"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:365
+msgid "Metabase can scan the values for this field to enable checkbox filters in dashboards and questions."
+msgstr "Metabase може сканувати значення даного поля і включити можливість використання checkbox-фільтрів на панелі індикаторів і в питаннях."
+
+#: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:14
+msgid "Re-scan this field"
+msgstr "Пересканувати це поле"
+
+#: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:22
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:116
+msgid "Discard cached field values"
+msgstr "Скинути кешування значення полів"
+
+#: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:24
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:118
+msgid "Failed to discard values"
+msgstr "Чи не вдалося скинути значення"
+
+#: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:25
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:119
+msgid "Discard triggered!"
+msgstr "Скидання значень почався!"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetadataEditorApp.jsx:105
+msgid "Select any table to see its schema and add or edit metadata."
+msgstr "Вибрати базу даних щоб побачити її схему або змінити метадані."
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:37
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:34
+#: frontend/src/metabase/entities/collections.js:96
+msgid "Name is required"
+msgstr "ім'я обов'язково"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:40
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:37
+msgid "Description is required"
+msgstr "опис обов'язково"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:44
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:41
+msgid "Revision message is required"
+msgstr "Опис внесених змін обов'язково"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:50
+msgid "Aggregation is required"
+msgstr "агрегація обов'язкове"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:110
+msgid "Edit Your Metric"
+msgstr "Змінити Вашу Метрику"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:111
+msgid "Create Your Metric"
+msgstr "Створити Вашу Метрику"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:115
+msgid "Make changes to your metric and leave an explanatory note."
+msgstr "Внесіть зміни в метрику і залиште до них пояснення."
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:116
+msgid "You can create saved metrics to add a named metric option to this table. Saved metrics include the aggregation type, the aggregated field, and optionally any filter you add. As an example, you might use this to create something like the official way of calculating \"Average Price\" for an Orders table."
+msgstr "Можна створити збережені метрики, щоб додати в цю таблицю параметр іменованої метрики. Збережені метрики включають тип агрегації, агреговане поле і, при необхідності, будь-який фільтр, який ви додасте. Наприклад, ви можете використовувати їх, щоб створити щось на зразок єдиного офіційного способу обчислення \"Середньої ціни\" для таблиці \"Замовлення\"."
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:149
+msgid "Result: "
+msgstr "результати:"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:157
+msgid "Name Your Metric"
+msgstr "Назвіть вашу Метрику"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:158
+msgid "Give your metric a name to help others find it."
+msgstr "Дайте ім'я вашій метриці, щоб інші користувачі змогли її знайти."
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:162
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:166
+msgid "Something descriptive but not too long"
+msgstr "Що-небудь описову, але не занадто довге"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:166
+msgid "Describe Your Metric"
+msgstr "Опишіть вашу Метрику"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:167
+msgid "Give your metric a description to help others understand what it's about."
+msgstr "Вкажіть опис вашої метрики, щоб допомогти іншим зрозуміти про що вона."
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:171
+msgid "This is a good place to be more specific about less obvious metric rules"
+msgstr "Саме час для більш конкретних даних щодо найменш очевидних метричних правил"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:175
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:179
+msgid "Reason For Changes"
+msgstr "Причина змін"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:177
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:181
+msgid "Leave a note to explain what changes you made and why they were required."
+msgstr "Залиште опис внесених вами змін і чому вони були необхідні."
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:181
+msgid "This will show up in the revision history for this metric to help everyone remember why things changed"
+msgstr "Дане повідомлення з'явиться в історії змін метрики і допоможе всім відновити хід подій"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:49
+msgid "At least one filter is required"
+msgstr "Необхідний як мінімум один фільтр"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:116
+msgid "Edit Your Segment"
+msgstr "Змінити ваш Сегмент"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:117
+msgid "Create Your Segment"
+msgstr "Створити ваш Сегмент"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:121
+msgid "Make changes to your segment and leave an explanatory note."
+msgstr "Внесіть зміни в ваш сегмент і залиште до них пояснення."
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:122
+msgid "Select and add filters to create your new segment for the {0} table"
+msgstr "Виберіть і додайте фільтри для створення вашого нового сегмента до таблиці {0}"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:161
+msgid "Name Your Segment"
+msgstr "Задайте ім'я для вашого Сегмента"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:162
+msgid "Give your segment a name to help others find it."
+msgstr "Задайте ім'я для вашого сегмента, щоб інші змогли його знайти."
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:170
+msgid "Describe Your Segment"
+msgstr "Опишіть ваш Сегмент"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:171
+msgid "Give your segment a description to help others understand what it's about."
+msgstr "Вкажіть опис вашого сегменту, щоб допомогти іншим зрозуміти про що він."
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:175
+msgid "This is a good place to be more specific about less obvious segment rules"
+msgstr "Це ідеальне місце, щоб бути більш конкретним щодо менш очевидних правил визначення сегмента"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:185
+msgid "This will show up in the revision history for this segment to help everyone remember why things changed"
+msgstr "Дане повідомлення з'явиться в історії змін сегмента і допоможе всім відновити хід подій"
+
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:88
+#: frontend/src/metabase/admin/routes.jsx:127
+#: frontend/src/metabase/admin/settings/containers/SettingsEditorApp.jsx:266
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:87
+#: frontend/src/metabase/nav/containers/Navbar.jsx:199
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorSidebar.jsx:99
+msgid "Settings"
+msgstr "Налаштування"
+
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:103
+msgid "Metabase can scan the values in this table to enable checkbox filters in dashboards and questions."
+msgstr "Metabase може сканувати значення в цій таблиці для того, щоб увімкнути фільтри прапорців для фільтрів в панелі інструментів і запитів."
+
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:108
+msgid "Re-scan this table"
+msgstr "Пересканувати цю таблицю"
+
+#: frontend/src/metabase/admin/people/components/AddRow.jsx:34
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:253
+#: frontend/src/metabase/dashboard/components/DashCard.jsx:278
+msgid "Add"
+msgstr "Додати"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:103
+#: frontend/src/metabase/user/components/UpdateUserDetails.jsx:67
+msgid "Not a valid formatted email address"
+msgstr "Email вказано невірно"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:186
+#: frontend/src/metabase/user/components/UpdateUserDetails.jsx:100
+msgid "First name"
+msgstr "Ім'я"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:203
+#: frontend/src/metabase/user/components/UpdateUserDetails.jsx:117
+msgid "Last name"
+msgstr "Прізвище"
+
+#: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:77
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:158
+#: frontend/src/metabase/components/NewsletterForm.jsx:94
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:470
+#: frontend/src/metabase/setup/components/UserStep.jsx:222
+#: frontend/src/metabase/user/components/UpdateUserDetails.jsx:138
+msgid "Email address"
+msgstr "Адреса електронної пошти"
+
+#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:202
+msgid "Permission Groups"
+msgstr "Групи Дозволів"
+
+#: frontend/src/metabase/components/form/widgets/FormGroupsWidget.jsx:75
+msgid "Make this user an admin"
+msgstr "Призначити адміністратором"
+
+#: frontend/src/metabase/admin/people/components/GroupDetail.jsx:32
+msgid "All users belong to the {0} group and can't be removed from it. Setting permissions for this group is a great way to\n"
+"make sure you know what new Metabase users will be able to see."
+msgstr "Всі користувачі входять в групу {0} і не можуть бути з неї виключені. Встановіть дозволу для даної групи - так ви будете впевнені в тому, що зможуть побачити нові користувачі Metabase."
+
+#: frontend/src/metabase/admin/people/components/GroupDetail.jsx:41
+msgid "This is a special group whose members can see everything in the Metabase instance, and who can access and make changes to the\n"
+"settings in the Admin Panel, including changing permissions! So, add people to this group with care."
+msgstr "Це спеціальна група, члени якої зможуть бачити всі, що пов'язано з даними екземпляром Metabase, мати доступ і редагувати настройки в Панелі адміністратора, включаючи повноваження! Тому включайте користувачів до цієї групи дотримуючись запобіжних заходів."
+
+#: frontend/src/metabase/admin/people/components/GroupDetail.jsx:45
+msgid "To make sure you don't get locked out of Metabase, there always has to be at least one user in this group."
+msgstr "У даній групі повинен залишатися хоча б один користувач, інакше доступ до Metabase буде блокований."
+
+#: frontend/src/metabase/admin/people/components/GroupDetail.jsx:177
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:218
+msgid "Members"
+msgstr "Учасники"
+
+#: frontend/src/metabase/admin/people/components/GroupDetail.jsx:177
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:124
+#: frontend/src/metabase/admin/settings/selectors.js:113
+#: frontend/src/metabase/lib/core.js:55
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:301
+msgid "Email"
+msgstr "Email"
+
+#: frontend/src/metabase/admin/people/components/GroupDetail.jsx:203
+msgid "A group is only as good as its members."
+msgstr "Група також хороша, як і її члени."
+
+#: frontend/src/metabase/admin/people/components/GroupSummary.jsx:15
+#: frontend/src/metabase/admin/routes.jsx:48
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:49
+msgid "Admin"
+msgstr "Адміністратор"
+
+#: frontend/src/metabase/admin/people/components/GroupSummary.jsx:16
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:237
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:290
+msgid "and"
+msgstr "Ñ–"
+
+#: frontend/src/metabase/admin/people/components/GroupSummary.jsx:19
+#: frontend/src/metabase/admin/people/components/GroupSummary.jsx:31
+msgid "{0} other group"
+msgid_plural "{0} other groups"
+msgstr[0] "{0} інша група"
+msgstr[1] "{0} прочие группы"
+msgstr[2] "{0} прочих групп"
+msgstr[3] "{0} прочих групп"
+
+#: frontend/src/metabase/admin/people/components/GroupSummary.jsx:37
+msgid "Default"
+msgstr "За замовчуванням"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:39
+msgid "Something like \"Marketing\""
+msgstr "Наприклад, \"Маркетинг\""
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:58
+msgid "Remove this group?"
+msgstr "Видалити цю групу?"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:60
+msgid "Are you sure? All members of this group will lose any permissions settings they have based on this group.\n"
+"This can't be undone."
+msgstr "Ви впевнені? Всі учасники цієї групи втратять всі повноваження засновані на цій групі. Дана дія не може бути скасовано."
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:71
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:42
+#: frontend/src/metabase/components/ConfirmContent.jsx:17
+msgid "Yes"
+msgstr "Так"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:74
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:42
+msgid "No"
+msgstr "немає"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:92
+msgid "Edit Name"
+msgstr "Змінити ім'я"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:95
+msgid "Remove Group"
+msgstr "видалити групу"
+
+#: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:46
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:138
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:42
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:41
+#: frontend/src/metabase/components/HeaderModal.jsx:43
+#: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:282
+#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:107
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:327
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:193
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:96
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:265
+msgid "Done"
+msgstr "Готово"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:218
+msgid "Group name"
+msgstr "Ім'я групи"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:363
+#: frontend/src/metabase/admin/people/containers/AdminPeopleApp.jsx:25
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:131
+#: frontend/src/metabase/admin/routes.jsx:88
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:154
+msgid "Groups"
+msgstr "Групи"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:364
+msgid "Create a group"
+msgstr "Створити групу"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:370
+msgid "You can use groups to control your users' access to your data. Put users in groups and then go to the Permissions section to control each group's access. The Administrators and All Users groups are special default groups that can't be removed."
+msgstr "Ви можете використовувати групи для контролю ваших користувачів надають допуск до даних. Додайте користувачів до групи і потім керуйте повноважень груп в розділі Дозволи. Групи Адміністратори і Всі користувачі є спеціальними типами груп і не можуть бути видалені."
+
+#: frontend/src/metabase/admin/people/components/UserActionsSelect.jsx:79
+msgid "Edit Details"
+msgstr "Змінити Деталі"
+
+#: frontend/src/metabase/admin/people/components/UserActionsSelect.jsx:85
+msgid "Re-send Invite"
+msgstr "Надіслати запрошення заново"
+
+#: frontend/src/metabase/admin/people/components/UserActionsSelect.jsx:90
+msgid "Reset Password"
+msgstr "Скинути пароль"
+
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:40
+msgid "Deactivate"
+msgstr "деактивувати"
+
+#: frontend/src/metabase/admin/people/containers/AdminPeopleApp.jsx:24
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:93
+#: frontend/src/metabase/admin/routes.jsx:84
+#: frontend/src/metabase/nav/containers/Navbar.jsx:204
+msgid "People"
+msgstr "Люди"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:192
+msgid "Who do you want to add?"
+msgstr "Кого ви хочете додати?"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:207
+msgid "Edit {0}'s details"
+msgstr "Змінити деталі {0}"
+
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:40
+msgid "{0} has been added"
+msgstr "{0} був доданий"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:224
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:262
+msgid "Add another person"
+msgstr "Додати іншу людину"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:231
+msgid "We couldn’t send them an email invitation,\n"
+"so make sure to tell them to log in using {0}\n"
+"and this password we’ve generated for them:"
+msgstr "Ми не змогли відправити їм запрошення по електронній пошті, тому запропонуйте увійти з ім'ям {0} і наступним згенерував нами паролем:"
+
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:73
+msgid "If you want to be able to send email invites, just go to the {0} page."
+msgstr "Якщо ви хочете мати можливість відправляти запрошення по email, просто перейдіть на сторінку {0}."
+
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:55
+msgid "We’ve sent an invite to {0} with instructions to set their password."
+msgstr "Ми надіслали запрошення для {0} з інструкція по установці пароля."
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:283
+msgid "We've re-sent {0}'s invite"
+msgstr "Ми переотправілі запрошення {0}"
+
+#: frontend/src/metabase/query_builder/components/SavedQuestionIntroModal.jsx:22
+#: frontend/src/metabase/tutorial/Tutorial.jsx:253
+msgid "Okay"
+msgstr "добре"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:289
+msgid "Any previous email invites they have will no longer work."
+msgstr "Всі попередні email-запрошення для них більш не працюють."
+
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:31
+msgid "Deactivate {0}?"
+msgstr "Деактивувати {0}?"
+
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:34
+msgid "{0} won't be able to log in anymore."
+msgstr "{0} не зможе більше зайти."
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:320
+msgid "Reactivate {0}'s account?"
+msgstr "Повторно активувати обліковий запис {0}?"
+
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:58
+msgid "Reactivate"
+msgstr "повторно активувати"
+
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:51
+msgid "They'll be able to log in again, and they'll be placed back into the groups they were in before their account was deactivated."
+msgstr "Вони зможуть зайти знову, і їм будуть повернуті всі групи, до якому ставилися облікові записи до деактивації."
+
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:51
+msgid "Reset {0}'s password?"
+msgstr "Скинути пароль для {0}?"
+
+#: frontend/src/metabase/components/form/StandardForm.jsx:77
+msgid "Reset"
+msgstr "скинути"
+
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:54
+#: frontend/src/metabase/components/ConfirmContent.jsx:13
+#: frontend/src/metabase/dashboard/components/ArchiveDashboardModal.jsx:44
+msgid "Are you sure you want to do this?"
+msgstr "Ви впевнені що хочете виконати цю дію?"
+
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:41
+msgid "{0}'s password has been reset"
+msgstr "Пароль {0} був скинутий"
+
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:45
+msgid "Here’s a temporary password they can use to log in and then change their password."
+msgstr "Це тимчасовий пароль, з яким вони зможуть зайти і встановити свій пароль."
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:388
+msgid "We've sent them an email with instructions for creating a new password."
+msgstr "Ми відправили повідомлення електронної пошти з інструкцією по установці нового пароля."
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:101
+msgid "Active"
+msgstr "активний"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:102
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:127
+msgid "Deactivated"
+msgstr "неактивний"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:115
+msgid "Add someone"
+msgstr "Додати кого-небудь"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:132
+msgid "Last Login"
+msgstr "Останній вхід"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:153
+msgid "Signed up via Google"
+msgstr "Вхід за допомогою Google"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:158
+msgid "Signed up via LDAP"
+msgstr "Вхід за допомогою LDAP"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:170
+msgid "Reactivate this account"
+msgstr "Повторно активувати цей обліковий запис"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:193
+msgid "Never"
+msgstr "ніколи"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:27
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} table"
+msgid_plural "{0} tables"
+msgstr[0] "таблиця {0}"
+msgstr[1] "{0} таблицы"
+msgstr[2] "{0} таблиц"
+msgstr[3] "{0} таблиц"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:45
+msgid " will be "
+msgstr "будуть"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:48
+msgid "given access to"
+msgstr "надано доступ до"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:53
+msgid " and "
+msgstr "Ñ–"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:56
+msgid "denied access to"
+msgstr "доступ заборонений для"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:70
+msgid " will no longer be able to "
+msgstr "ніколи не зможуть"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:71
+msgid " will now be able to "
+msgstr "тепер зможуть"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:79
+msgid " native queries for "
+msgstr "прямі запити до"
+
+#: frontend/src/metabase/admin/permissions/routes.jsx:12
+#: frontend/src/metabase/nav/containers/Navbar.jsx:219
+msgid "Permissions"
+msgstr "Дозволи"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:32
+msgid "Save permissions?"
+msgstr "Зберегти дозволи?"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:38
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:161
+msgid "Save Changes"
+msgstr "Зберегти зміни"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:44
+msgid "Discard changes?"
+msgstr "Відмінити зміни?"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:46
+msgid "No changes to permissions will be made."
+msgstr "Ніяких змін доступу виконано не буде."
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:65
+msgid "You've made changes to permissions."
+msgstr "Ви внесли зміни в налаштування доступу."
+
+#: frontend/src/metabase/admin/permissions/containers/CollectionPermissionsModal.jsx:52
+msgid "Permissions for this collection"
+msgstr "Дозволи для цієї колекції"
+
+#: frontend/src/metabase/admin/permissions/containers/PermissionsApp.jsx:53
+msgid "You have unsaved changes"
+msgstr "У вас є незбережені зміни"
+
+#: frontend/src/metabase/admin/permissions/containers/PermissionsApp.jsx:54
+msgid "Do you want to leave this page and discard your changes?"
+msgstr "Ви дійсно бажаєте залишити цю сторінку і скасувати зміни?"
+
+#: frontend/src/metabase/admin/permissions/permissions.js:126
+msgid "Sorry, an error occurred."
+msgstr "Вибачте, виникла помилка."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:65
+msgid "Administrators always have the highest level of access to everything in Metabase."
+msgstr "Адміністратори завжди мають найвищий пріоритет доступу до всього в Metabase."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:67
+msgid "Every Metabase user belongs to the All Users group. If you want to limit or restrict a group's access to something, make sure the All Users group has an equal or lower level of access."
+msgstr "Кожен користувач Metabase відноситься до групи Всі користувачі. Якщо ви хочете обмежити доступ групи до чого-небудь, переконайтеся що група Всі користувачі має рівний або менший рівень доступу."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:69
+msgid "MetaBot is Metabase's Slack bot. You can choose what it has access to here."
+msgstr "MetaBot це Slack бот Metabase. Тут ви можете вибрати до чого він буде мати доступ."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:119
+msgid "The \"{0}\" group may have access to a different set of {1} than this group, which may give this group additional access to some {2}."
+msgstr "Група \"{0}\" має доступ до інших {1}, ніж дана група, що дозволить їй отримати доступ до {2}."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:124
+msgid "The \"{0}\" group has a higher level of access than this, which will override this setting. You should limit or revoke the \"{1}\" group's access to this item."
+msgstr "Група \"{0}\" має більший рівень доступу, ніж цей, що перевизначити цей параметр. Вам слід обмежити або відкликати доступ групи \"{1}\" до даного елементу."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:154
+msgid "Limit"
+msgstr "обмеження"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:154
+msgid "Revoke"
+msgstr "відкликати"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:156
+msgid "access even though \"{0}\" has greater access?"
+msgstr "доступ, навіть якщо \"{0}\" має більший доступ?"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:159
+#: frontend/src/metabase/admin/permissions/selectors.js:258
+msgid "Limit access"
+msgstr "обмежити доступ"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:159
+#: frontend/src/metabase/admin/permissions/selectors.js:223
+#: frontend/src/metabase/admin/permissions/selectors.js:266
+msgid "Revoke access"
+msgstr "відкликати доступ"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:168
+msgid "Change access to this database to limited?"
+msgstr "Обмежити доступ до цієї бази даних?"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:169
+msgid "Change"
+msgstr "змінити"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:182
+msgid "Allow Raw Query Writing?"
+msgstr "Дозволити написання прямих запитів?"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:183
+msgid "This will also change this group's data access to Unrestricted for this database."
+msgstr "Це також надасть цій групі Необмежений доступ до бази даних."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:184
+msgid "Allow"
+msgstr "Дозволити"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:221
+msgid "Revoke access to all tables?"
+msgstr "Відкликати доступ до всіх таблиць?"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:222
+msgid "This will also revoke this group's access to raw queries for this database."
+msgstr "Це також відкличе доступ групи до прямих запитам до бази даних."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:251
+msgid "Grant unrestricted access"
+msgstr "Надати необмежений доступ"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:252
+msgid "Unrestricted access"
+msgstr "необмежений доступ"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:259
+msgid "Limited access"
+msgstr "Обмежений доступ"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:267
+msgid "No access"
+msgstr "Немає доступу"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:273
+msgid "Write raw queries"
+msgstr "Написання прямих запитів"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:274
+msgid "Can write raw queries"
+msgstr "Може писати прямі запити"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:281
+msgid "Curate collection"
+msgstr "управляти колекцією"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:288
+msgid "View collection"
+msgstr "Подивитися колекцію"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:331
+#: frontend/src/metabase/admin/permissions/selectors.js:427
+#: frontend/src/metabase/admin/permissions/selectors.js:524
+msgid "Data Access"
+msgstr "Доступ до даних"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:492
+#: frontend/src/metabase/admin/permissions/selectors.js:649
+#: frontend/src/metabase/admin/permissions/selectors.js:654
+msgid "View tables"
+msgstr "Подивитися таблиці"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:590
+msgid "SQL Queries"
+msgstr "SQL запити"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:660
+msgid "View schemas"
+msgstr "Подивитися схеми"
+
+#: frontend/src/metabase/admin/routes.jsx:59
+#: frontend/src/metabase/nav/containers/Navbar.jsx:209
+msgid "Data Model"
+msgstr "модель даних"
+
+#: frontend/src/metabase/admin/settings/components/SettingsAuthenticationOptions.jsx:11
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:118
+msgid "Sign in with Google"
+msgstr "Увійти за допомогою Google"
+
+#: frontend/src/metabase/admin/settings/components/SettingsAuthenticationOptions.jsx:13
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:120
+msgid "Allows users with existing Metabase accounts to login with a Google account that matches their email address in addition to their Metabase username and password."
+msgstr "Дозволити користувачам з існуючими Metabase акаунтами входити за допомогою Google акаунтів при збігу email адрес, в додаток до їх Metabase логіну та паролю."
+
+#: frontend/src/metabase/admin/settings/components/SettingsAuthenticationOptions.jsx:17
+#: frontend/src/metabase/admin/settings/components/SettingsAuthenticationOptions.jsx:29
+#: frontend/src/metabase/components/ChannelSetupMessage.jsx:32
+msgid "Configure"
+msgstr "налаштувати"
+
+#: frontend/src/metabase/admin/settings/components/SettingsAuthenticationOptions.jsx:23
+#: frontend/src/metabase/admin/settings/components/SettingsLdapForm.jsx:13
+#: frontend/src/metabase/admin/settings/selectors.js:207
+msgid "LDAP"
+msgstr "LDAP"
+
+#: frontend/src/metabase/admin/settings/components/SettingsAuthenticationOptions.jsx:25
+msgid "Allows users within your LDAP directory to log in to Metabase with their LDAP credentials, and allows automatic mapping of LDAP groups to Metabase groups."
+msgstr "Дозволяє користувачам в каталозі LDAP входити в Metabase з обліковими даними LDAP, а також автоматично пов'язує групи LDAP з групами Metabase."
+
+#: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:17
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:69
+#: frontend/src/metabase/admin/settings/selectors.js:160
+msgid "That's not a valid email address"
+msgstr "Це не дійсний email адреса"
+
+#: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:21
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:73
+msgid "That's not a valid integer"
+msgstr "Це не правильна ціле число"
+
+#: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:28
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:161
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:223
+msgid "Changes saved!"
+msgstr "зміни збережені"
+
+#: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:157
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:132
+msgid "Looks like we ran into some problems"
+msgstr "Схоже, ми зіткнулися з деякими проблемами"
+
+#: frontend/src/metabase/admin/settings/components/SettingsEmailForm.jsx:12
+msgid "Send test email"
+msgstr "Надіслати пробний email"
+
+#: frontend/src/metabase/admin/settings/components/SettingsEmailForm.jsx:13
+msgid "Sending..."
+msgstr "Відправлення ..."
+
+#: frontend/src/metabase/admin/settings/components/SettingsEmailForm.jsx:14
+msgid "Sent!"
+msgstr "Відправлено!"
+
+#: frontend/src/metabase/admin/settings/components/SettingsEmailForm.jsx:82
+msgid "Clear"
+msgstr "Очистити"
+
+#: frontend/src/metabase/admin/settings/components/SettingsLdapForm.jsx:12
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:113
+#: frontend/src/metabase/admin/settings/selectors.js:202
+msgid "Authentication"
+msgstr "Аутентифікація"
+
+#: frontend/src/metabase/admin/settings/components/SettingsLdapForm.jsx:18
+msgid "Server Settings"
+msgstr "Налаштування сервера"
+
+#: frontend/src/metabase/admin/settings/components/SettingsLdapForm.jsx:29
+msgid "User Schema"
+msgstr "Призначена для користувача Схема"
+
+#: frontend/src/metabase/admin/settings/components/SettingsLdapForm.jsx:33
+msgid "Attributes"
+msgstr "атрибути"
+
+#: frontend/src/metabase/admin/settings/components/SettingsLdapForm.jsx:42
+msgid "Group Schema"
+msgstr "Схема Групи"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSetting.jsx:28
+msgid "Using "
+msgstr "використовуючи"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSetupList.jsx:105
+msgid "Getting set up"
+msgstr "Налаштовуємо"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSetupList.jsx:106
+msgid "A few things you can do to get the most out of Metabase."
+msgstr "Ось що ви можете зробити, щоб отримати з Metabase максимум."
+
+#: frontend/src/metabase/admin/settings/components/SettingsSetupList.jsx:115
+msgid "Recommended next step"
+msgstr "Рекомендований наступний крок"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:114
+msgid "Google Sign-In"
+msgstr "Увійти за допомогою Google"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:123
+msgid "To allow users to sign in with Google you'll need to give Metabase a Google Developers console application client ID. It only takes a few steps and instructions on how to create a key can be found {0}"
+msgstr "Для дозволу користувачам входу в Google, вам необхідно надати Metabase Client ID з консолі Google Developers. Дана дія вимагає виконання кількох кроків, інструкцію як створити ключ можна знайти {0}"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:137
+msgid "Your Google client ID"
+msgstr "Ваш Google client ID"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:142
+msgid "Allow users to sign up on their own if their Google account email address is from:"
+msgstr "Дозволити користувачам реєструватися самим якщо їх Google аккаунтом з email:"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:242
+msgid "Answers sent right to your Slack #channels"
+msgstr "Відповіді будуть відправлятися в ваші Slack # канали"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:251
+msgid "Create a Slack Bot User for MetaBot"
+msgstr "Створити Slack Bot користувача для MetaBot"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:261
+msgid "Once you're there, give it a name and click {0}. Then copy and paste the Bot API Token into the field below. Once you are done, create a \"metabase_files\" channel in Slack. Metabase needs this to upload graphs."
+msgstr "Поки ви тут, дайте ім'я та натисніть {0}. Потім скопіюйте і вставте Bot API токен в поле нижче. Після цього, створіть канал \"metabase_files\" в Slack. Це потрібно Metabase для завантаження графіків."
+
+#: frontend/src/metabase/admin/settings/components/SettingsUpdatesForm.jsx:90
+msgid "You're running Metabase {0} which is the latest and greatest!"
+msgstr "Ви запустили останню і найкращу версію Metanase {0}!"
+
+#: frontend/src/metabase/admin/settings/components/SettingsUpdatesForm.jsx:99
+msgid "Metabase {0} is available.  You're running {1}"
+msgstr "Metabase {0} доступна. Ви використовуєте {1}"
+
+#: frontend/src/metabase/admin/settings/components/SettingsUpdatesForm.jsx:112
+#: frontend/src/metabase/components/form/StandardForm.jsx:69
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:96
+msgid "Update"
+msgstr "оновити"
+
+#: frontend/src/metabase/admin/settings/components/SettingsUpdatesForm.jsx:116
+msgid "What's Changed:"
+msgstr "Що змінено:"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:131
+msgid "Add a map"
+msgstr "Додати карту"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:184
+#: frontend/src/metabase/lib/core.js:105
+msgid "URL"
+msgstr "Посилання"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:199
+msgid "Delete custom map"
+msgstr "Видалити поточну карту"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:201
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:327
+#: frontend/src/metabase/dashboard/components/RemoveFromDashboardModal.jsx:40
+#: frontend/src/metabase/parameters/components/ParameterWidget.jsx:181
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:104
+msgid "Remove"
+msgstr "вилучити"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:226
+#: frontend/src/metabase/dashboard/containers/DashCardCardParameterMapper.jsx:187
+#: frontend/src/metabase/parameters/components/ParameterValueWidget.jsx:241
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:145
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:187
+msgid "Select…"
+msgstr "Вибрати ..."
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:241
+msgid "Sample values:"
+msgstr "Приклади значень:"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:279
+msgid "Add a new map"
+msgstr "Додати нову карту"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:279
+msgid "Edit map"
+msgstr "змінити карту"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:280
+msgid "What do you want to call this map?"
+msgstr "Як ви хочете назвати цю карту?"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:285
+msgid "e.g. United Kingdom, Brazil, Mars"
+msgstr "наприклад, Великобританія, Бразилія, Марс"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:292
+msgid "URL for the GeoJSON file you want to use"
+msgstr "URL до файлу GeoJSON, який потрібно використовувати"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:298
+msgid "Like https://my-mb-server.com/maps/my-map.json"
+msgstr "Наприклад, https://my-mb-server.com/maps/my-map.json"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:309
+#: frontend/src/metabase/query_builder/components/RunButton.jsx:33
+msgid "Refresh"
+msgstr "оновити"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:309
+msgid "Load"
+msgstr "Завантажити"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:315
+msgid "Which property specifies the region’s identifier?"
+msgstr "Яка ознака визначає ідентифікатор регіону?"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:324
+msgid "Which property specifies the region’s display name?"
+msgstr "Яка ознака визначає відображення найменування регіону?"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:345
+msgid "Load a GeoJSON file to see a preview"
+msgstr "Завантажте файл GeoJSON для попереднього перегляду"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:363
+msgid "Save map"
+msgstr "зберегти карту"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:363
+msgid "Add map"
+msgstr "Додати карту"
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLegalese.jsx:7
+msgid "Using embedding"
+msgstr "Використання вбудовування"
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLegalese.jsx:9
+msgid "By enabling embedding you're agreeing to the embedding license located at"
+msgstr "Дохволяючи вбудовування, ви погоджуєтеся з вбудованням ліцензії з розташованої в"
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLegalese.jsx:19
+msgid "In plain English, when you embed charts or dashboards from Metabase in your own application, that application isn't subject to the Affero General Public License that covers the rest of Metabase, provided you keep the Metabase logo and the \"Powered by Metabase\" visible on those embeds. You should, however, read the license text linked above as that is the actual license that you will be agreeing to by enabling this feature."
+msgstr "Простіше кажучи, коли ви вбудовуєте графіки і панелі індикаторів Metabase в ваш додаток, такий додаток не є суб'єктом Affero General Public License, яке охоплює решту Metabase, за умови, якщо на вбудованих елементах буде залишатися логотип Metabase і напис \"Powered by Metabase \". Однак, в будь-якому випадку, вам слід ознайомитися з ліцензією за посиланням вище, чинну редакцію якої ви приймаєте, включаючи дану функцію."
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLegalese.jsx:32
+msgid "Enable"
+msgstr "Увімкнути"
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLevel.jsx:24
+msgid "Premium embedding enabled"
+msgstr "Преміальне вбудовування включено"
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLevel.jsx:26
+msgid "Enter the token you bought from the Metabase Store"
+msgstr "Введіть токен, придбаний в Магазині Metabase"
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLevel.jsx:53
+msgid "Premium embedding lets you disable \"Powered by Metabase\" on your embedded dashboards and questions."
+msgstr "Преміальне вбудовування дозволить приховати напис \"Powered by Metabase\" у вбудованих панелях інструментів та запитах."
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLevel.jsx:60
+msgid "Buy a token"
+msgstr "купити токен"
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLevel.jsx:63
+msgid "Enter a token"
+msgstr "ввести токен"
+
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:134
+msgid "Edit Mappings"
+msgstr "змінити зіставлення"
+
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:140
+msgid "Group Mappings"
+msgstr "групове зіставлення"
+
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:147
+msgid "Create a mapping"
+msgstr "створити зіставлення"
+
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:149
+msgid "Mappings allow Metabase to automatically add and remove users from groups based on the membership information provided by the\n"
+"directory server. Membership to the Admin group can be granted through mappings, but will not be automatically removed as a\n"
+"failsafe measure."
+msgstr "Зіставлення дозволяє Metabase автоматично додавати і виключати користувачів з груп на підставі інформації з каталогу сервера. Доступ до групи Адміністраторів може бути надано на підставі зіставлення, але не буде знятий автоматично як запобіжний засіб."
+
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:154
+msgid "Distinguished Name"
+msgstr "відмітна найменування"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:92
+msgid "Public Link"
+msgstr "публічна посилання"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:93
+msgid "Revoke Link"
+msgstr "видалити посилання"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:121
+msgid "Disable this link?"
+msgstr "Відключити це посилання?"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:122
+msgid "They won't work anymore, and can't be restored, but you can create new links."
+msgstr "Вони більше не працюють і не можуть бути відновлені, але ви можете створити нові посилання."
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:149
+msgid "Public Dashboard Listing"
+msgstr "Перелік відкритих панелей індикаторів"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:152
+msgid "No dashboards have been publicly shared yet."
+msgstr "До жодної з панелі індикаторів загальний доступ ще не надано."
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:160
+msgid "Public Card Listing"
+msgstr "Перелік загальних Карток"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:163
+msgid "No questions have been publicly shared yet."
+msgstr "До жодного питання загальний доступ ще не надано."
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:172
+msgid "Embedded Dashboard Listing"
+msgstr "Перелік вбудованих панелей індикаторів"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:173
+msgid "No dashboards have been embedded yet."
+msgstr "Жодна панель індикаторів ще не вбудована."
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:183
+msgid "Embedded Card Listing"
+msgstr "Список вбудованих карток"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:184
+msgid "No questions have been embedded yet."
+msgstr "Жодне питання ще не вбудований."
+
+#: frontend/src/metabase/admin/settings/components/widgets/SecretKeyWidget.jsx:35
+msgid "Regenerate embedding key?"
+msgstr "Згенерувати ключ вбудовування заново?"
+
+#: frontend/src/metabase/admin/settings/components/widgets/SecretKeyWidget.jsx:36
+msgid "This will cause existing embeds to stop working until they are updated with the new key."
+msgstr "Це призведе до того, що існуючі впровадження перестануть працювати до тих пір, поки вони не будуть оновлені новим ключем."
+
+#: frontend/src/metabase/admin/settings/components/widgets/SecretKeyWidget.jsx:39
+msgid "Regenerate key"
+msgstr "перегенерувати ключ"
+
+#: frontend/src/metabase/admin/settings/components/widgets/SecretKeyWidget.jsx:47
+msgid "Generate Key"
+msgstr "згенерувати ключ"
+
+#: frontend/src/metabase/admin/settings/components/widgets/SettingToggle.jsx:11
+#: frontend/src/metabase/admin/settings/selectors.js:78
+#: frontend/src/metabase/admin/settings/selectors.js:87
+msgid "Enabled"
+msgstr "Включено"
+
+#: frontend/src/metabase/admin/settings/components/widgets/SettingToggle.jsx:11
+#: frontend/src/metabase/admin/settings/selectors.js:83
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:103
+msgid "Disabled"
+msgstr "Відключено"
+
+#: frontend/src/metabase/admin/settings/containers/SettingsEditorApp.jsx:116
+msgid "Unknown setting {0}"
+msgstr "Невідома настройка {0}"
+
+#: frontend/src/metabase/admin/settings/selectors.js:23
+msgid "Setup"
+msgstr "налаштувати"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:217
+#: frontend/src/metabase/admin/settings/selectors.js:28
+msgid "General"
+msgstr "Загальні"
+
+#: frontend/src/metabase/admin/settings/selectors.js:33
+msgid "Site Name"
+msgstr "Назва сайту"
+
+#: frontend/src/metabase/admin/settings/selectors.js:38
+msgid "Site URL"
+msgstr "Посилання на сайт"
+
+#: frontend/src/metabase/admin/settings/selectors.js:43
+msgid "Email Address for Help Requests"
+msgstr "Email адреса для запитів допомоги"
+
+#: frontend/src/metabase/admin/settings/selectors.js:48
+msgid "Report Timezone"
+msgstr "Часовий пояс звітів"
+
+#: frontend/src/metabase/admin/settings/selectors.js:51
+msgid "Database Default"
+msgstr "За замовчуванням для бази даних"
+
+#: frontend/src/metabase/admin/settings/selectors.js:54
+msgid "Select a timezone"
+msgstr "Вибрати часовий пояс"
+
+#: frontend/src/metabase/admin/settings/selectors.js:55
+msgid "Not all databases support timezones, in which case this setting won't take effect."
+msgstr "Не всі бази даних підтримують часові пояси, тому цей параметр може не спрацювати."
+
+#: frontend/src/metabase/admin/settings/selectors.js:60
+msgid "Language"
+msgstr "Мова"
+
+#: frontend/src/metabase/admin/settings/selectors.js:65
+msgid "Select a language"
+msgstr "Вибрати мову"
+
+#: frontend/src/metabase/admin/settings/selectors.js:70
+msgid "Anonymous Tracking"
+msgstr "анонімне відстеження"
+
+#: frontend/src/metabase/admin/settings/selectors.js:75
+msgid "Friendly Table and Field Names"
+msgstr "Зрозумілі імена таблиць і полів"
+
+#: frontend/src/metabase/admin/settings/selectors.js:81
+msgid "Only replace underscores and dashes with spaces"
+msgstr "Тільки замініть знаки нижнього підкреслення і точки пробілами"
+
+#: frontend/src/metabase/admin/settings/selectors.js:91
+msgid "Enable Nested Queries"
+msgstr "Включити вкладені запити"
+
+#: frontend/src/metabase/admin/settings/selectors.js:102
+msgid "Updates"
+msgstr "оновлення"
+
+#: frontend/src/metabase/admin/settings/selectors.js:107
+msgid "Check for updates"
+msgstr "перевірити оновлення"
+
+#: frontend/src/metabase/admin/settings/selectors.js:118
+msgid "SMTP Host"
+msgstr "SMTP хост"
+
+#: frontend/src/metabase/admin/settings/selectors.js:126
+msgid "SMTP Port"
+msgstr "SMTP порт"
+
+#: frontend/src/metabase/admin/settings/selectors.js:130
+#: frontend/src/metabase/admin/settings/selectors.js:230
+msgid "That's not a valid port number"
+msgstr "Некоректний номер порту"
+
+#: frontend/src/metabase/admin/settings/selectors.js:134
+msgid "SMTP Security"
+msgstr "Безпека SMTP"
+
+#: frontend/src/metabase/admin/settings/selectors.js:142
+msgid "SMTP Username"
+msgstr "SMTP користувач"
+
+#: frontend/src/metabase/admin/settings/selectors.js:149
+msgid "SMTP Password"
+msgstr "SMTP пароль"
+
+#: frontend/src/metabase/admin/settings/selectors.js:156
+msgid "From Address"
+msgstr "Від кого"
+
+#: frontend/src/metabase/admin/settings/selectors.js:170
+msgid "Slack API Token"
+msgstr "Slack API Token"
+
+#: frontend/src/metabase/admin/settings/selectors.js:172
+msgid "Enter the token you received from Slack"
+msgstr "Введіть токен отриманий від Slack"
+
+#: frontend/src/metabase/admin/settings/selectors.js:189
+msgid "Single Sign-On"
+msgstr "єдиний вхід"
+
+#: frontend/src/metabase/admin/settings/selectors.js:213
+msgid "LDAP Authentication"
+msgstr "Аутентифікація LDAP"
+
+#: frontend/src/metabase/admin/settings/selectors.js:219
+msgid "LDAP Host"
+msgstr "LDAP хост"
+
+#: frontend/src/metabase/admin/settings/selectors.js:227
+msgid "LDAP Port"
+msgstr "LDAP порт"
+
+#: frontend/src/metabase/admin/settings/selectors.js:234
+msgid "LDAP Security"
+msgstr "Безпека LDAP"
+
+#: frontend/src/metabase/admin/settings/selectors.js:242
+msgid "Username or DN"
+msgstr "Користувач або DN"
+
+#: frontend/src/metabase/admin/settings/selectors.js:247
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:188
+#: frontend/src/metabase/user/components/UserSettings.jsx:72
+msgid "Password"
+msgstr "Пароль"
+
+#: frontend/src/metabase/admin/settings/selectors.js:252
+msgid "User search base"
+msgstr "База для пошуку користувача"
+
+#: frontend/src/metabase/admin/settings/selectors.js:258
+msgid "User filter"
+msgstr "Фільтр користувача"
+
+#: frontend/src/metabase/admin/settings/selectors.js:264
+msgid "Check your parentheses"
+msgstr "Перевірте круглі дужки"
+
+#: frontend/src/metabase/admin/settings/selectors.js:270
+msgid "Email attribute"
+msgstr "Email аттрибут"
+
+#: frontend/src/metabase/admin/settings/selectors.js:275
+msgid "First name attribute"
+msgstr "Атрибут імені"
+
+#: frontend/src/metabase/admin/settings/selectors.js:280
+msgid "Last name attribute"
+msgstr "Атрибут прізвища"
+
+#: frontend/src/metabase/admin/settings/selectors.js:285
+msgid "Synchronize group memberships"
+msgstr "Синхронізувати членство в групі"
+
+#: frontend/src/metabase/admin/settings/selectors.js:291
+msgid "Group search base"
+msgstr "База для пошуку групи"
+
+#: frontend/src/metabase/admin/settings/selectors.js:300
+msgid "Maps"
+msgstr "карти"
+
+#: frontend/src/metabase/admin/settings/selectors.js:305
+msgid "Map tile server URL"
+msgstr "URL сервера плиточної веб-карти"
+
+#: frontend/src/metabase/admin/settings/selectors.js:306
+msgid "Metabase uses OpenStreetMaps by default."
+msgstr "За замовчуванням, Metabase використовує OpenStreetMaps."
+
+#: frontend/src/metabase/admin/settings/selectors.js:311
+msgid "Custom Maps"
+msgstr "Налаштовувана карта"
+
+#: frontend/src/metabase/admin/settings/selectors.js:312
+msgid "Add your own GeoJSON files to enable different region map visualizations"
+msgstr "Додайте власні GeoJSON файли для можливості візуалізації різних регіонів на картах"
+
+#: frontend/src/metabase/admin/settings/selectors.js:331
+msgid "Public Sharing"
+msgstr "Загальний доступ"
+
+#: frontend/src/metabase/admin/settings/selectors.js:336
+msgid "Enable Public Sharing"
+msgstr "Включити загальний доступ"
+
+#: frontend/src/metabase/admin/settings/selectors.js:341
+msgid "Shared Dashboards"
+msgstr "Спільні панелі інструментів"
+
+#: frontend/src/metabase/admin/settings/selectors.js:347
+msgid "Shared Questions"
+msgstr "публічні запити"
+
+#: frontend/src/metabase/admin/settings/selectors.js:354
+msgid "Embedding in other Applications"
+msgstr "Вбудовування в інших Додатках"
+
+#: frontend/src/metabase/admin/settings/selectors.js:381
+msgid "Enable Embedding Metabase in other Applications"
+msgstr "Включити вбудовування Metabase в інших Додатках"
+
+#: frontend/src/metabase/admin/settings/selectors.js:391
+msgid "Embedding secret key"
+msgstr "Секретний ключ для вбудовування"
+
+#: frontend/src/metabase/admin/settings/selectors.js:397
+msgid "Embedded Dashboards"
+msgstr "Вбудовувані панелі інструментів"
+
+#: frontend/src/metabase/admin/settings/selectors.js:403
+msgid "Embedded Questions"
+msgstr "Вбудовувані запити"
+
+#: frontend/src/metabase/admin/settings/selectors.js:410
+msgid "Caching"
+msgstr "кешування"
+
+#: frontend/src/metabase/admin/settings/selectors.js:415
+msgid "Enable Caching"
+msgstr "включити кешування"
+
+#: frontend/src/metabase/admin/settings/selectors.js:420
+msgid "Minimum Query Duration"
+msgstr "Мінімальний час запиту"
+
+#: frontend/src/metabase/admin/settings/selectors.js:427
+msgid "Cache Time-To-Live (TTL) multiplier"
+msgstr "Множник Cache Time-To-Live (TTL)"
+
+#: frontend/src/metabase/admin/settings/selectors.js:434
+msgid "Max Cache Entry Size"
+msgstr "Максимальний розмір запису кеша"
+
+#: frontend/src/metabase/alert/alert.js:60
+msgid "Your alert is all set up."
+msgstr "Ваше попередження налаштоване."
+
+#: frontend/src/metabase/alert/alert.js:101
+msgid "Your alert was updated."
+msgstr "Попередження було збережено."
+
+#: frontend/src/metabase/alert/alert.js:149
+msgid "The alert was successfully deleted."
+msgstr "Попередження успішно видалено."
+
+#: frontend/src/metabase/auth/auth.js:33
+msgid "Please enter a valid formatted email address."
+msgstr "Введіть коректний email"
+
+#: frontend/src/metabase/auth/auth.js:116
+#: frontend/src/metabase/setup/components/UserStep.jsx:110
+#: frontend/src/metabase/user/components/SetUserPassword.jsx:69
+msgid "Passwords do not match"
+msgstr "Введені паролі не збігаються"
+
+#: frontend/src/metabase/auth/components/BackToLogin.jsx:6
+msgid "Back to login"
+msgstr "Повернутися до входу"
+
+#: frontend/src/metabase/auth/components/GoogleNoAccount.jsx:15
+msgid "No Metabase account exists for this Google account."
+msgstr "Немає облікового запису пов'язаного з цим Google аккаунтом."
+
+#: frontend/src/metabase/auth/components/GoogleNoAccount.jsx:17
+msgid "You'll need an administrator to create a Metabase account before you can use Google to log in."
+msgstr "Зв'яжіться з адміністратором для використання Гугл логіна."
+
+#: frontend/src/metabase/auth/components/SSOLoginButton.jsx:18
+msgid "Sign in with {0}"
+msgstr "Зайти з {0}"
+
+#: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:56
+msgid "Please contact an administrator to have them reset your password"
+msgstr "Зв'яжіться з адміністратором для скидання вашого пароля"
+
+#: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:69
+msgid "Forgot password"
+msgstr "Забули пароль"
+
+#: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:84
+msgid "The email you use for your Metabase account"
+msgstr "Email, який ви використовуєте з вашим Metabase аккаунта"
+
+#: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:99
+msgid "Send password reset email"
+msgstr "Послати емаил для скидання пароля"
+
+#: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:110
+msgid "Check your email for instructions on how to reset your password."
+msgstr "Послати емаил з інструкцією як скинути пароль."
+
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:128
+msgid "Sign in to Metabase"
+msgstr "Увійти в Metabase"
+
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:138
+msgid "OR"
+msgstr "АБО"
+
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:157
+msgid "Username or email address"
+msgstr "Ім'я користувача або email"
+
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:217
+msgid "Sign in"
+msgstr "Увійти"
+
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:230
+msgid "I seem to have forgotten my password"
+msgstr "Схоже що я забув свій пароль"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:102
+msgid "request a new reset email"
+msgstr "запросити новий лист із запитом на скидання пароля"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:120
+msgid "Whoops, that's an expired link"
+msgstr "Уууупс, здається ця посилання застаріла."
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:122
+msgid "For security reasons, password reset links expire after a little while. If you still need\n"
+"to reset your password, you can {0}."
+msgstr "З міркувань безпеки, посилання на скидання пароля через деякий час закінчуються.\n"
+"Якщо вам все ще потрібно скинути пароль, ви можете {0}."
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:147
+#: frontend/src/metabase/user/components/SetUserPassword.jsx:126
+msgid "New password"
+msgstr "Новий пароль"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:149
+msgid "To keep your data secure, passwords {0}"
+msgstr "Заради безпеки, паролі {0}"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:163
+msgid "Create a new password"
+msgstr "Створити новий пароль"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:170
+#: frontend/src/metabase/user/components/SetUserPassword.jsx:141
+msgid "Make sure its secure like the instructions above"
+msgstr "Переконайтеся що пароль відповідає рекомендації безпеки вище"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:184
+#: frontend/src/metabase/user/components/SetUserPassword.jsx:150
+msgid "Confirm new password"
+msgstr "Підтвердіть новий пароль"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:191
+#: frontend/src/metabase/user/components/SetUserPassword.jsx:159
+msgid "Make sure it matches the one you just entered"
+msgstr "Переконайтеся що він відповідає тому який ви вже ввели"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:216
+msgid "Your password has been reset."
+msgstr "Ваш пароль був скинутий."
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:222
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:227
+msgid "Sign in with your new password"
+msgstr "Зайди з вашим новим паролем"
+
+#: frontend/src/metabase/components/ActionButton.jsx:53
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:182
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:184
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:251
+msgid "Save failed"
+msgstr "Збереження не вдалося"
+
+#: frontend/src/metabase/components/ActionButton.jsx:54
+#: frontend/src/metabase/components/SaveStatus.jsx:60
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:183
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:129
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:185
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:225
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:252
+msgid "Saved"
+msgstr "Збережено"
+
+#: frontend/src/metabase/components/Alert.jsx:12
+msgid "Ok"
+msgstr "Ок"
+
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:38
+msgid "Archive this collection?"
+msgstr "Перемістити колекцію в архів?"
+
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:43
+msgid "The dashboards, collections, and pulses in this collection will also be archived."
+msgstr "Панелі інструментів, збірки та пульси в цій збірці також будуть заархівовані."
+
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:47
+#: frontend/src/metabase/components/CollectionLanding.jsx:624
+#: frontend/src/metabase/components/EntityMenu.info.js:31
+#: frontend/src/metabase/components/EntityMenu.info.js:87
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:47
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:195
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:200
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:201
+#: frontend/src/metabase/query_builder/containers/ArchiveQuestionModal.jsx:40
+#: frontend/src/metabase/query_builder/containers/ArchiveQuestionModal.jsx:53
+#: frontend/src/metabase/routes.jsx:199
+msgid "Archive"
+msgstr "Архів"
+
+#: frontend/src/metabase/containers/ErrorPages.jsx:63
+msgid "This {0} has been archived"
+msgstr "Цей {0} переміщений в архів."
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:715
+msgid "View the archive"
+msgstr "Переглянути архів"
+
+#: frontend/src/metabase/components/ArchivedItem.jsx:43
+msgid "Unarchive this {0}"
+msgstr "Востоновіть цей {0}"
+
+#: frontend/src/metabase/components/BrowseApp.jsx:70
+#: frontend/src/metabase/components/BrowseApp.jsx:132
+#: frontend/src/metabase/components/BrowseApp.jsx:225
+#: frontend/src/metabase/containers/Overworld.jsx:219
+msgid "Our data"
+msgstr "Наші дані"
+
+#: frontend/src/metabase/components/BrowseApp.jsx:169
+#: frontend/src/metabase/reference/databases/TableSidebar.jsx:55
+msgid "X-ray this table"
+msgstr "Просканувати цю таблицю"
+
+#: frontend/src/metabase/components/BrowseApp.jsx:183
+#: frontend/src/metabase/containers/Overworld.jsx:246
+msgid "Learn about this table"
+msgstr "Дізнатися більше про цю таблиці"
+
+#: frontend/src/metabase/components/Button.info.js:11
+#: frontend/src/metabase/components/Button.info.js:12
+#: frontend/src/metabase/components/Button.info.js:13
+msgid "Clickity click"
+msgstr "Натисніть сюди"
+
+#: frontend/src/metabase/components/ButtonWithStatus.jsx:9
+msgid "Saved!"
+msgstr "Збережено!"
+
+#: frontend/src/metabase/components/ButtonWithStatus.jsx:10
+msgid "Saving failed."
+msgstr "Не вийшло зберегти."
+
+#: frontend/src/metabase/components/Calendar.jsx:118
+msgid "Su"
+msgstr "Нд"
+
+#: frontend/src/metabase/components/Calendar.jsx:118
+msgid "Mo"
+msgstr "за"
+
+#: frontend/src/metabase/components/Calendar.jsx:118
+msgid "Tu"
+msgstr "Ð’Ñ‚"
+
+#: frontend/src/metabase/components/Calendar.jsx:118
+msgid "We"
+msgstr "Ср"
+
+#: frontend/src/metabase/components/Calendar.jsx:118
+msgid "Th"
+msgstr "чт"
+
+#: frontend/src/metabase/components/Calendar.jsx:118
+msgid "Fr"
+msgstr "Пт"
+
+#: frontend/src/metabase/components/Calendar.jsx:118
+msgid "Sa"
+msgstr "Сб"
+
+#: frontend/src/metabase/components/ChannelSetupMessage.jsx:41
+msgid "Your admin's email address"
+msgstr "Емаил адресу адміністратора"
+
+#: frontend/src/metabase/components/ChannelSetupModal.jsx:37
+msgid "To send {0}, you'll need to set up {1} integration."
+msgstr "Що б послати {0}, вам потрібно встановити {1} інтеграцію."
+
+#: frontend/src/metabase/components/ChannelSetupModal.jsx:38
+#: frontend/src/metabase/components/ChannelSetupModal.jsx:41
+msgid " or "
+msgstr "або"
+
+#: frontend/src/metabase/components/ChannelSetupModal.jsx:40
+msgid "To send {0}, an admin needs to set up {1} integration."
+msgstr "Що б послати {0}, адмін повинен встановити {1} інтеграцію."
+
+#: frontend/src/metabase/components/CollectionEmptyState.jsx:15
+msgid "This collection is empty, like a blank canvas"
+msgstr "Колекція порожня як чисте полотно"
+
+#: frontend/src/metabase/components/CollectionEmptyState.jsx:16
+msgid "You can use collections to organize and group dashboards, questions and pulses for your team or yourself"
+msgstr "Ви можете використовувати збірки для створення та групування панелі інструментів, запитів і розсилок для себе і своєї команди"
+
+#: frontend/src/metabase/components/CollectionEmptyState.jsx:28
+msgid "Create another collection"
+msgstr "Створити іншу колекцію"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:68
+msgid "Dashboards let you collect and share data in one place."
+msgstr "Панель інструментів дозволяє зберігати і ділитися даними в одному місці."
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:77
+msgid "Pulses let you send out the latest data to your team on a schedule via email or slack."
+msgstr "Пульси дозволяють вам відправляти актуальні дані команді за розкладом через email або slack."
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:86
+msgid "Questions are a saved look at your data."
+msgstr "Запити - це збережений погляд на ваші дані."
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:287
+msgid "Pins"
+msgstr "прикріплені"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:341
+msgid "Drag something here to pin it to the top"
+msgstr "Перемістіть щось для того щоб закріпити нагорі"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:737
+#: frontend/src/metabase/components/CollectionLanding.jsx:353
+#: frontend/src/metabase/home/containers/SearchApp.jsx:35
+#: frontend/src/metabase/home/containers/SearchApp.jsx:92
+msgid "Collections"
+msgstr "колекції"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:432
+#: frontend/src/metabase/components/CollectionLanding.jsx:455
+msgid "Drag here to un-pin"
+msgstr "Перемістіть щоб відкріпити"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:490
+msgid "{0} item selected"
+msgid_plural "{0} items selected"
+msgstr[0] "{0} елемент обраний"
+msgstr[1] "{0} элемента выбрано"
+msgstr[2] "{0} элементов выбрано"
+msgstr[3] "{0} элементов выбрано"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:522
+msgid "Move {0} items?"
+msgstr "Перемістити {0} елементів?"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:523
+msgid "Move \"{0}\"?"
+msgstr "Перемістити \"{0}\"?"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:631
+#: frontend/src/metabase/components/EntityMenu.info.js:29
+#: frontend/src/metabase/components/EntityMenu.info.js:85
+#: frontend/src/metabase/containers/CollectionMoveModal.jsx:69
+msgid "Move"
+msgstr "перемістити"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:692
+msgid "Edit this collection"
+msgstr "Змінити цю колекцію"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:700
+msgid "Archive this collection"
+msgstr "Перемістити колекцію в архів"
+
+#: frontend/src/metabase/components/CollectionList.jsx:64
+#: frontend/src/metabase/entities/collections.js:155
+msgid "My personal collection"
+msgstr "Моя особиста колекція"
+
+#: frontend/src/metabase/components/CollectionList.jsx:106
+msgid "New collection"
+msgstr "Нова колекція"
+
+#: frontend/src/metabase/components/CopyButton.jsx:35
+msgid "Copied!"
+msgstr "Скопійовано!"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:216
+msgid "Use an SSH-tunnel for database connections"
+msgstr "Використовувати SSH-тунель для зв'язку з базою даних"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:218
+msgid "Some database installations can only be accessed by connecting through an SSH bastion host.\n"
+"This option also provides an extra layer of security when a VPN is not available.\n"
+"Enabling this is usually slower than a direct connection."
+msgstr "Деякі інсталяції баз даних можуть бути оцінені тільки за допомогою SSH-тунелів.\n"
+"Ця опція також надає додатковий рівень безпеки, коли VPN є недоступним.\n"
+"Використання може знизити швидкість в порівнянні з прямим з'єднанням."
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:271
+msgid "This is a large database, so let me choose when Metabase syncs and scans"
+msgstr "Це велика база даних, так що дайте мені вибрати коли Мetabase синхронізує і сканує"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:273
+msgid "By default, Metabase does a lightweight hourly sync and an intensive daily scan of field values.\n"
+"If you have a large database, we recommend turning this on and reviewing when and how often the field value scans happen."
+msgstr "За замовчуванням, Metabase виконує поверхневе сканування кожну годину і повне сканування значень полів щодня.\n"
+"Якщо у вас велика база даних, ми рекомендуємо увімкнуте це та дивитися коли і як часто відбувається сканування значень полів."
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:289
+msgid "{0} to generate a Client ID and Client Secret for your project."
+msgstr "{0} для генерації Client ID та Client Secret для вашого проекту."
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:291
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:318
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:353
+msgid "Click here"
+msgstr "Натисніть тут"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:294
+msgid "Choose \"Other\" as the application type. Name it whatever you'd like."
+msgstr "Виберіть \"Інше\" як тип програми. Назвіть його на ваш смак."
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:316
+msgid "{0} to get an auth code"
+msgstr "{0} для отримання коду аутентифікації"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:328
+msgid "with Google Drive permissions"
+msgstr "з дозволами Google Drive"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:348
+msgid "To use Metabase with this data you must enable API access in the Google Developers Console."
+msgstr "Вам необхідно дозволити доступ по API в Google Developers Console, щоб використовувати ці дані в Metabase."
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:351
+msgid "{0} to go to the console if you haven't already done so."
+msgstr "{0} перейдіть в консоль, якщо ви цього ще не зробили"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:400
+msgid "How would you like to refer to this database?"
+msgstr "Як би ви хотіли звертатися до цієї бази даних?"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:427
+#: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:97
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:237
+#: frontend/src/metabase/setup/components/DatabaseConnectionStep.jsx:188
+#: frontend/src/metabase/setup/components/DatabaseSchedulingStep.jsx:74
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:116
+#: frontend/src/metabase/setup/components/UserStep.jsx:308
+msgid "Next"
+msgstr "далі"
+
+#: frontend/src/metabase/components/ArchivedItem.jsx:52
+#: frontend/src/metabase/components/DeleteModalWithConfirm.jsx:80
+msgid "Delete this {0}"
+msgstr "Видалити цей {0}"
+
+#: frontend/src/metabase/components/EntityItem.jsx:43
+msgid "Pin this item"
+msgstr "Закріпити цей елемент"
+
+#: frontend/src/metabase/components/EntityItem.jsx:49
+msgid "Move this item"
+msgstr "Перемістити цей елемент"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:24
+#: frontend/src/metabase/components/EntityMenu.info.js:80
+msgid "Edit this question"
+msgstr "Змінити цей запит"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:26
+#: frontend/src/metabase/components/EntityMenu.info.js:47
+#: frontend/src/metabase/components/EntityMenu.info.js:82
+#: frontend/src/metabase/components/EntityMenu.info.js:99
+msgid "Action type"
+msgstr "Тип дії"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:28
+#: frontend/src/metabase/components/EntityMenu.info.js:84
+msgid "View revision history"
+msgstr "переглянути історію"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:29
+#: frontend/src/metabase/components/EntityMenu.info.js:85
+msgid "Move action"
+msgstr "пересунути"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:33
+#: frontend/src/metabase/components/EntityMenu.info.js:89
+msgid "Archive action"
+msgstr "заархівувати дію"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:45
+#: frontend/src/metabase/components/EntityMenu.info.js:97
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:329
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:342
+msgid "Add to dashboard"
+msgstr "Додати до панелі інструментів"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:49
+#: frontend/src/metabase/components/EntityMenu.info.js:101
+msgid "Download results"
+msgstr "завантажити результати"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:51
+#: frontend/src/metabase/components/EntityMenu.info.js:103
+#: frontend/src/metabase/public/components/widgets/EmbedWidget.jsx:52
+msgid "Sharing and embedding"
+msgstr "параметри шаринга"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:53
+#: frontend/src/metabase/components/EntityMenu.info.js:105
+msgid "Another action type"
+msgstr "Інший вид дії"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:65
+#: frontend/src/metabase/components/EntityMenu.info.js:67
+#: frontend/src/metabase/components/EntityMenu.info.js:113
+#: frontend/src/metabase/components/EntityMenu.info.js:115
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:449
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:454
+msgid "Get alerts about this"
+msgstr "Отримувати сповіщення про це"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:69
+#: frontend/src/metabase/components/EntityMenu.info.js:117
+msgid "View the SQL"
+msgstr "Подивитися SQL"
+
+#: frontend/src/metabase/components/EntitySegments.jsx:18
+msgid "Segments for this"
+msgstr "Сегменти для цього"
+
+#: frontend/src/metabase/components/ErrorDetails.jsx:20
+msgid "Show error details"
+msgstr "Детальніше про твіт помилки"
+
+#: frontend/src/metabase/components/ErrorDetails.jsx:26
+msgid "Here's the full error message"
+msgstr "Повний текст повідомлення про помилку"
+
+#: frontend/src/metabase/components/ExplorePane.jsx:19
+msgid "Hi, Metabot here."
+msgstr "Привіт, Metabot тут."
+
+#: frontend/src/metabase/components/ExplorePane.jsx:95
+msgid "Based on the schema"
+msgstr "Засноване на схемі"
+
+#: frontend/src/metabase/components/ExplorePane.jsx:174
+msgid "A look at your"
+msgstr "Погляньте на"
+
+#: frontend/src/metabase/components/FieldValuesWidget.jsx:234
+msgid "Search the list"
+msgstr "Пошук в списку"
+
+#: frontend/src/metabase/components/FieldValuesWidget.jsx:238
+msgid "Search by {0}"
+msgstr "Шукати по {0}"
+
+#: frontend/src/metabase/components/FieldValuesWidget.jsx:240
+msgid " or enter an ID"
+msgstr "або введітеь ID"
+
+#: frontend/src/metabase/components/FieldValuesWidget.jsx:244
+msgid "Enter an ID"
+msgstr "Введіть ID"
+
+#: frontend/src/metabase/components/FieldValuesWidget.jsx:246
+msgid "Enter a number"
+msgstr "ведіть номер"
+
+#: frontend/src/metabase/components/FieldValuesWidget.jsx:248
+msgid "Enter some text"
+msgstr "Введіть текст"
+
+#: frontend/src/metabase/components/FieldValuesWidget.jsx:355
+msgid "No matching {0} found."
+msgstr "Чи не знайдено сходст в {0}."
+
+#: frontend/src/metabase/components/FieldValuesWidget.jsx:363
+msgid "Including every option in your filter probably won’t do much…"
+msgstr "Припускаю, що вибір всіх значень фільтра справі не допоможе ..."
+
+#: frontend/src/metabase/containers/ErrorPages.jsx:24
+msgid "Something's gone wrong"
+msgstr "Щось пішло не так"
+
+#: frontend/src/metabase/containers/ErrorPages.jsx:25
+msgid "We've run into an error. You can try refreshing the page, or just go back."
+msgstr "Ми зіткнулися з помилкою. Спробуйте оновити сторінку або просто поверніться назад."
+
+#: frontend/src/metabase/components/Header.jsx:97
+#: frontend/src/metabase/components/HeaderBar.jsx:45
+#: frontend/src/metabase/components/ListItem.jsx:37
+#: frontend/src/metabase/reference/components/Detail.jsx:47
+#: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:158
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:213
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:191
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:205
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:209
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:209
+msgid "No description yet"
+msgstr "Опис не заповнено"
+
+#: frontend/src/metabase/components/Header.jsx:112
+#: frontend/src/metabase/entities/containers/EntityForm.jsx:43
+msgid "New {0}"
+msgstr "Новий {0}"
+
+#: frontend/src/metabase/components/Header.jsx:123
+msgid "Asked by {0}"
+msgstr "Заданий {0}"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:13
+msgid "Today, "
+msgstr "сьогодні,"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:15
+msgid "Yesterday, "
+msgstr "вчора,"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:68
+msgid "First revision."
+msgstr "перша ревізія"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:70
+msgid "Reverted to an earlier revision and {0}"
+msgstr "Повернуто до більш ранньої редакції і {0}"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:82
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:289
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:379
+#: frontend/src/metabase/reference/segments/SegmentSidebar.jsx:58
+msgid "Revision history"
+msgstr "Історія ревізій"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:90
+msgid "When"
+msgstr "коли"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:91
+msgid "Who"
+msgstr "хто"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:92
+msgid "What"
+msgstr "що"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:113
+msgid "Revert"
+msgstr "повернути"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:114
+msgid "Reverting…"
+msgstr "Повернення ..."
+
+#: frontend/src/metabase/components/HistoryModal.jsx:115
+msgid "Revert failed"
+msgstr "Повернення не вдався"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:116
+msgid "Reverted"
+msgstr "повернуто"
+
+#: frontend/src/metabase/components/ItemTypeFilterBar.jsx:13
+msgid "Everything"
+msgstr "Усе"
+
+#: frontend/src/metabase/components/ItemTypeFilterBar.jsx:18
+#: frontend/src/metabase/home/containers/SearchApp.jsx:69
+msgid "Dashboards"
+msgstr "панелі"
+
+#: frontend/src/metabase/components/ItemTypeFilterBar.jsx:23
+#: frontend/src/metabase/home/containers/SearchApp.jsx:115
+msgid "Questions"
+msgstr "питання"
+
+#: frontend/src/metabase/components/ItemTypeFilterBar.jsx:28
+#: frontend/src/metabase/routes.jsx:321
+msgid "Pulses"
+msgstr "Пульси"
+
+#: frontend/src/metabase/components/LeftNavPane.jsx:36
+#: frontend/src/metabase/query_builder/components/dataref/DataReference.jsx:103
+msgid "Back"
+msgstr "назад"
+
+#: frontend/src/metabase/components/ListSearchField.jsx:18
+msgid "Find..."
+msgstr "Знайти ..."
+
+#: frontend/src/metabase/components/LoadingAndErrorWrapper.jsx:48
+msgid "An error occured"
+msgstr "Виникла помилка"
+
+#: frontend/src/metabase/components/LoadingAndErrorWrapper.jsx:35
+msgid "Loading..."
+msgstr "Завантаження ..."
+
+#: frontend/src/metabase/components/NewsletterForm.jsx:71
+msgid "Metabase Newsletter"
+msgstr "Розсилка Metabase"
+
+#: frontend/src/metabase/components/NewsletterForm.jsx:81
+msgid "Get infrequent emails about new releases and feature updates."
+msgstr "Отримувати рідкісні повідомлення про нові релізах і оновлення функцій."
+
+#: frontend/src/metabase/components/NewsletterForm.jsx:99
+msgid "Subscribe"
+msgstr "Підписатися"
+
+#: frontend/src/metabase/components/NewsletterForm.jsx:106
+msgid "You're subscribed. Thanks for using Metabase!"
+msgstr "Ви підписані. Дякуємо за використання Metabase!"
+
+#: frontend/src/metabase/containers/ErrorPages.jsx:44
+msgid "We're a little lost..."
+msgstr "Ми трохи заблукали ..."
+
+#: frontend/src/metabase/components/PasswordReveal.jsx:27
+msgid "Temporary Password"
+msgstr "Тимчасовий пароль"
+
+#: frontend/src/metabase/components/PasswordReveal.jsx:68
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:421
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:436
+msgid "Hide"
+msgstr "приховати"
+
+#: frontend/src/metabase/components/PasswordReveal.jsx:68
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:422
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:437
+msgid "Show"
+msgstr "Показати"
+
+#: frontend/src/metabase/components/QuestionSavedModal.jsx:17
+msgid "Saved! Add this to a dashboard?"
+msgstr "Збережено! Додати на панель інструментів?"
+
+#: frontend/src/metabase/components/QuestionSavedModal.jsx:25
+msgid "Yes please!"
+msgstr "Так будь ласка"
+
+#: frontend/src/metabase/components/QuestionSavedModal.jsx:29
+msgid "Not now"
+msgstr "Не зараз"
+
+#: frontend/src/metabase/components/SaveStatus.jsx:53
+msgid "Error:"
+msgstr "Помилка:"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:23
+msgid "Sunday"
+msgstr "неділя"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:24
+msgid "Monday"
+msgstr "понеділок"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:25
+msgid "Tuesday"
+msgstr "вівторок"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:26
+msgid "Wednesday"
+msgstr "середа"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:27
+msgid "Thursday"
+msgstr "четвер"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:28
+msgid "Friday"
+msgstr "п'ятниця"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:29
+msgid "Saturday"
+msgstr "субота"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:33
+msgid "First"
+msgstr "перший"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:34
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:23
+msgid "Last"
+msgstr "Останній"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:35
+msgid "15th (Midpoint)"
+msgstr "15-е (середина)"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:125
+msgid "Calendar Day"
+msgstr "день календаря"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:210
+msgid "your Metabase timezone"
+msgstr "часовий пояс вашого Metabase"
+
+#: frontend/src/metabase/components/SearchHeader.jsx:21
+msgid "Filter this list..."
+msgstr "Фільтрувати цей список ..."
+
+#: frontend/src/metabase/components/Select.info.js:8
+msgid "Blue"
+msgstr "синій"
+
+#: frontend/src/metabase/components/Select.info.js:9
+msgid "Green"
+msgstr "зелений"
+
+#: frontend/src/metabase/components/Select.info.js:10
+msgid "Red"
+msgstr "червоний"
+
+#: frontend/src/metabase/components/Select.info.js:11
+msgid "Yellow"
+msgstr "Желтний"
+
+#: frontend/src/metabase/components/Select.info.js:14
+msgid "A component used to make a selection"
+msgstr "Компонент використаний для можливості вибору"
+
+#: frontend/src/metabase/components/Select.info.js:20
+#: frontend/src/metabase/components/Select.info.js:28
+msgid "Selected"
+msgstr "обрано"
+
+#: frontend/src/metabase/components/Select.jsx:297
+msgid "Nothing to select"
+msgstr "Нічого не вибрано"
+
+#: frontend/src/metabase/containers/ErrorPages.jsx:54
+msgid "Sorry, you don’t have permission to see that."
+msgstr "Вибачте, у вас відсутні дозволи на перегляд."
+
+#: frontend/src/metabase/components/form/FormMessage.jsx:5
+msgid "Unknown error encountered"
+msgstr "Виникла невідома помилка"
+
+#: frontend/src/metabase/components/form/StandardForm.jsx:69
+#: frontend/src/metabase/nav/containers/Navbar.jsx:304
+msgid "Create"
+msgstr "Створити"
+
+#: frontend/src/metabase/containers/DashboardForm.jsx:9
+msgid "Create dashboard"
+msgstr "Створити панель інструментів"
+
+#: frontend/src/metabase/containers/EntitySearch.jsx:35
+#: frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx:331
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:60
+msgid "Table"
+msgstr "Таблиця"
+
+#: frontend/src/metabase/containers/EntitySearch.jsx:42
+#: frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx:306
+msgid "Database"
+msgstr "База даних"
+
+#: frontend/src/metabase/containers/EntitySearch.jsx:49
+msgid "Creator"
+msgstr "творець"
+
+#: frontend/src/metabase/containers/EntitySearch.jsx:238
+msgid "No results found"
+msgstr "Нічого не знайдено"
+
+#: frontend/src/metabase/containers/EntitySearch.jsx:239
+msgid "Try adjusting your filter to find what you’re looking for."
+msgstr "Спробуйте встановити фільтр для того щоб знайти те, що шукали."
+
+#: frontend/src/metabase/containers/EntitySearch.jsx:258
+msgid "View by"
+msgstr "Переглянуто"
+
+#: frontend/src/metabase/containers/EntitySearch.jsx:494
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:84
+#: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:69
+#: frontend/src/metabase/tutorial/TutorialModal.jsx:34
+msgid "of"
+msgstr "з"
+
+#: frontend/src/metabase/containers/Overworld.jsx:75
+msgid "Don't tell anyone, but you're my favorite."
+msgstr "Нікому не кажи, але ти мій улюбленець."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:85
+msgid "Once you connect your own data, I can show you some automatic explorations called x-rays. Here are some examples with sample data."
+msgstr "Як тільки ви підключите власні дані я зможу показати деякі автоматичні вишукування, названі X-ray. Ось кілька прикладів на даних, які є у мене."
+
+#: frontend/src/metabase/containers/Overworld.jsx:128
+#: frontend/src/metabase/containers/Overworld.jsx:299
+#: frontend/src/metabase/reference/components/GuideHeader.jsx:12
+msgid "Start here"
+msgstr "Почніть тут"
+
+#: frontend/src/metabase/containers/Overworld.jsx:294
+#: frontend/src/metabase/entities/collections.js:147
+#: src/metabase/models/collection.clj
+msgid "Our analytics"
+msgstr "Наша статистика"
+
+#: frontend/src/metabase/containers/Overworld.jsx:203
+msgid "Browse all items"
+msgstr "Переглянути всі елементи"
+
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:165
+msgid "Replace or save as new?"
+msgstr "Замінити або зберегти як новий?"
+
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:173
+msgid "Replace original question, \"{0}\""
+msgstr "Замінити вихідний питання, \"{0}\""
+
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:178
+msgid "Save as new question"
+msgstr "Зберегти як новий запит"
+
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:187
+msgid "First, save your question"
+msgstr "Для початку, збережіть ваш запит"
+
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:188
+msgid "Save question"
+msgstr "зберегти запит"
+
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:224
+msgid "What is the name of your card?"
+msgstr "Як називається ваша картка?"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:31
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:18
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:232
+#: frontend/src/metabase/entities/collections.js:101
+#: frontend/src/metabase/entities/dashboards.js:151
+#: frontend/src/metabase/lib/core.js:50 frontend/src/metabase/lib/core.js:205
+#: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:156
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:211
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:189
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:203
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:207
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:207
+#: frontend/src/metabase/visualizations/lib/settings/visualization.js:24
+msgid "Description"
+msgstr "опис"
+
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:238
+#: frontend/src/metabase/entities/dashboards.js:153
+msgid "It's optional but oh, so helpful"
+msgstr "Це не обов'язково, але може бути корисним"
+
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:245
+#: frontend/src/metabase/entities/dashboards.js:157
+msgid "Which collection should this go in?"
+msgstr "В яку збріку слід це включити?"
+
+#: frontend/src/metabase/containers/UndoListing.jsx:34
+msgid "modified"
+msgstr "змінено"
+
+#: frontend/src/metabase/containers/UndoListing.jsx:34
+msgid "item"
+msgstr "елемент"
+
+#: frontend/src/metabase/containers/UndoListing.jsx:81
+msgid "Undo"
+msgstr "Скасувати"
+
+#: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:270
+msgid "Applying Question"
+msgstr "застосувати запит"
+
+#: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:274
+msgid "That question isn't compatible"
+msgstr "Цей запит несумісний"
+
+#: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:310
+msgid "Search for a question"
+msgstr "знайти запит"
+
+#: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:339
+msgid "We're not sure if this question is compatible"
+msgstr "Ми не впевнені, чи поєднується дане питання"
+
+#: frontend/src/metabase/dashboard/components/ArchiveDashboardModal.jsx:43
+msgid "Archive Dashboard"
+msgstr "Архівувати Панель індикаторів"
+
+#: frontend/src/metabase/dashboard/components/DashCardParameterMapper.jsx:20
+msgid "Make sure to make a selection for each series, or the filter won't work on this card."
+msgstr "Переконайтеся що зроблений вибір для кожної з серій, інакше фільтр не буде працювати на цій картці."
+
+#: frontend/src/metabase/dashboard/components/Dashboard.jsx:300
+msgid "This dashboard is looking empty."
+msgstr "Панель індикаторів здається порожньо."
+
+#: frontend/src/metabase/dashboard/components/Dashboard.jsx:301
+msgid "Add a question to start making it useful!"
+msgstr "Додайте питання і зробіть її корисною!"
+
+#: frontend/src/metabase/dashboard/components/DashboardActions.jsx:38
+msgid "Daytime mode"
+msgstr "денний режим"
+
+#: frontend/src/metabase/dashboard/components/DashboardActions.jsx:38
+msgid "Nighttime mode"
+msgstr "Нічний режим"
+
+#: frontend/src/metabase/dashboard/components/DashboardActions.jsx:56
+msgid "Exit fullscreen"
+msgstr "Вихід з повноекранного режиму"
+
+#: frontend/src/metabase/dashboard/components/DashboardActions.jsx:56
+msgid "Enter fullscreen"
+msgstr "Повноекранний режим"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:181
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:183
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:250
+msgid "Saving…"
+msgstr "Збереження ..."
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:216
+msgid "Add a question"
+msgstr "Додати запит"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:219
+msgid "Add a question to this dashboard"
+msgstr "Додати запит до цієї панелі інструментів"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:248
+msgid "Add a filter"
+msgstr "Додати фільтр"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:254
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:78
+msgid "Parameters"
+msgstr "параметри"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:275
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:279
+msgid "Add a text box"
+msgstr "Додати текстове поле"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:319
+msgid "Move dashboard"
+msgstr "Перемісти панелі інструментів"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:302
+msgid "Edit dashboard"
+msgstr "Змінити панель інструментів"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:306
+msgid "Edit Dashboard Layout"
+msgstr "Змінити макет панелі інструментів"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:369
+msgid "You are editing a dashboard"
+msgstr "Ви редагуєте панель інструментів"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:374
+msgid "Select the field that should be filtered for each card"
+msgstr "Виберіть поле, яке повинно бути фільтром в кожній з карт"
+
+#: frontend/src/metabase/dashboard/components/DashboardMoveModal.jsx:28
+msgid "Move dashboard to..."
+msgstr "Перемістити панелі інструментів"
+
+#: frontend/src/metabase/dashboard/components/DashboardMoveModal.jsx:52
+msgid "Dashboard moved to {0}"
+msgstr "Панель інструментів переміщена в {0}"
+
+#: frontend/src/metabase/dashboard/components/ParametersPopover.jsx:82
+msgid "What do you want to filter?"
+msgstr "Що ви хочете відфільтрувати?"
+
+#: frontend/src/metabase/dashboard/components/ParametersPopover.jsx:115
+msgid "What kind of filter?"
+msgstr "Який тип фільтра?"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:13
+#: frontend/src/metabase/visualizations/lib/settings/column.js:231
+#: frontend/src/metabase/visualizations/lib/settings/series.js:90
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:179
+msgid "Off"
+msgstr "Вимкнути"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:14
+msgid "1 minute"
+msgstr "1 хвилина"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:15
+msgid "5 minutes"
+msgstr "5 хвилин"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:16
+msgid "10 minutes"
+msgstr "10 хвилин"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:17
+msgid "15 minutes"
+msgstr "15 хвилин"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:18
+msgid "30 minutes"
+msgstr "30 хвилин"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:19
+msgid "60 minutes"
+msgstr "60 хвилин"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:31
+msgid "Auto-refresh"
+msgstr "автопоновлення"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:37
+msgid "Refreshing in"
+msgstr "оновлення через"
+
+#: frontend/src/metabase/dashboard/components/RemoveFromDashboardModal.jsx:36
+msgid "Remove this question?"
+msgstr "Видалити цей запит?"
+
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:71
+msgid "Your dashboard was saved"
+msgstr "Ваша панель інструментів була збережена"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:745
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:76
+msgid "See it"
+msgstr "переглянути"
+
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:137
+msgid "Save this"
+msgstr "зберегти"
+
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:170
+msgid "Show more about this"
+msgstr "Показати більше про це"
+
+#: frontend/src/metabase/dashboard/containers/DashCardCardParameterMapper.jsx:140
+msgid "This card doesn't have any fields or parameters that can be mapped to this parameter type."
+msgstr "Картка не містить полів або параметрів які можуть бути співставлені з цим типом параметра."
+
+#: frontend/src/metabase/dashboard/containers/DashCardCardParameterMapper.jsx:142
+msgid "The values in this field don't overlap with the values of any other fields you've chosen."
+msgstr "Значення цього поля не покривають значення ніяких полів, які ви вибрали."
+
+#: frontend/src/metabase/dashboard/containers/DashCardCardParameterMapper.jsx:186
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingFieldPicker.jsx:37
+msgid "No valid fields"
+msgstr "Немає коректних полів"
+
+#: frontend/src/metabase/entities/collections.js:97
+msgid "Name must be 100 characters or less"
+msgstr "Ім'я не повинно перевищувати 100 символів"
+
+#: frontend/src/metabase/entities/collections.js:111
+msgid "Color is required"
+msgstr "колір обов'язковий"
+
+#: frontend/src/metabase/entities/dashboards.js:146
+msgid "What is the name of your dashboard?"
+msgstr "Як називається ваша панель інструментів?"
+
+#: frontend/src/metabase/home/components/Activity.jsx:92
+msgid "did some super awesome stuff that's hard to describe"
+msgstr "зробив супер-пупер фінт, який складно описати словами"
+
+#: frontend/src/metabase/home/components/Activity.jsx:101
+#: frontend/src/metabase/home/components/Activity.jsx:116
+msgid "created an alert about - "
+msgstr "створив оповіщення про -"
+
+#: frontend/src/metabase/home/components/Activity.jsx:126
+#: frontend/src/metabase/home/components/Activity.jsx:141
+msgid "deleted an alert about - "
+msgstr "видалив оповіщення про -"
+
+#: frontend/src/metabase/home/components/Activity.jsx:152
+msgid "saved a question about "
+msgstr "зберегти питання про"
+
+#: frontend/src/metabase/home/components/Activity.jsx:165
+msgid "saved a question"
+msgstr "зберіг запит"
+
+#: frontend/src/metabase/home/components/Activity.jsx:169
+msgid "deleted a question"
+msgstr "видалив запит"
+
+#: frontend/src/metabase/home/components/Activity.jsx:172
+msgid "created a dashboard"
+msgstr "створив панель індикаторів"
+
+#: frontend/src/metabase/home/components/Activity.jsx:175
+msgid "deleted a dashboard"
+msgstr "видалив панель індикаторів"
+
+#: frontend/src/metabase/home/components/Activity.jsx:181
+#: frontend/src/metabase/home/components/Activity.jsx:196
+msgid "added a question to the dashboard - "
+msgstr "доавіл питання на панель індикаторів -"
+
+#: frontend/src/metabase/home/components/Activity.jsx:206
+#: frontend/src/metabase/home/components/Activity.jsx:221
+msgid "removed a question from the dashboard - "
+msgstr "видалив питання з панелі індикаторів -"
+
+#: frontend/src/metabase/home/components/Activity.jsx:231
+#: frontend/src/metabase/home/components/Activity.jsx:238
+msgid "received the latest data from"
+msgstr "останні дані отримані"
+
+#: frontend/src/metabase-lib/lib/Dimension.js:621
+#: frontend/src/metabase/home/components/Activity.jsx:244
+#: frontend/src/metabase/lib/query_time.js:180
+#: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:273
+msgid "Unknown"
+msgstr "невідомо"
+
+#: frontend/src/metabase/home/components/Activity.jsx:251
+msgid "Hello World!"
+msgstr "Привіт Світ!"
+
+#: frontend/src/metabase/home/components/Activity.jsx:252
+msgid "Metabase is up and running."
+msgstr "Metabase запущено"
+
+#: frontend/src/metabase/home/components/Activity.jsx:258
+#: frontend/src/metabase/home/components/Activity.jsx:288
+msgid "added the metric "
+msgstr "додав метрику"
+
+#: frontend/src/metabase/home/components/Activity.jsx:272
+#: frontend/src/metabase/home/components/Activity.jsx:362
+msgid " to the "
+msgstr "до"
+
+#: frontend/src/metabase/home/components/Activity.jsx:282
+#: frontend/src/metabase/home/components/Activity.jsx:322
+#: frontend/src/metabase/home/components/Activity.jsx:372
+#: frontend/src/metabase/home/components/Activity.jsx:413
+msgid " table"
+msgstr "таблиця"
+
+#: frontend/src/metabase/home/components/Activity.jsx:298
+#: frontend/src/metabase/home/components/Activity.jsx:328
+msgid "made changes to the metric "
+msgstr "змінив метрику"
+
+#: frontend/src/metabase/home/components/Activity.jsx:312
+#: frontend/src/metabase/home/components/Activity.jsx:403
+msgid " in the "
+msgstr "в"
+
+#: frontend/src/metabase/home/components/Activity.jsx:335
+msgid "removed the metric "
+msgstr "видалив метрику"
+
+#: frontend/src/metabase/home/components/Activity.jsx:338
+msgid "created a pulse"
+msgstr "Створив Пульс"
+
+#: frontend/src/metabase/home/components/Activity.jsx:341
+msgid "deleted a pulse"
+msgstr "Видалив Пульс"
+
+#: frontend/src/metabase/home/components/Activity.jsx:347
+#: frontend/src/metabase/home/components/Activity.jsx:378
+msgid "added the filter"
+msgstr "Додати фільтр"
+
+#: frontend/src/metabase/home/components/Activity.jsx:388
+#: frontend/src/metabase/home/components/Activity.jsx:419
+msgid "made changes to the filter"
+msgstr "змінив фільтр"
+
+#: frontend/src/metabase/home/components/Activity.jsx:426
+msgid "removed the filter {0}"
+msgstr "видалив фільтр {0}"
+
+#: frontend/src/metabase/home/components/Activity.jsx:429
+msgid "joined!"
+msgstr "прієднався!"
+
+#: frontend/src/metabase/home/components/Activity.jsx:529
+msgid "Hmmm, looks like nothing has happened yet."
+msgstr "Хммм, схоже нічого не сталося."
+
+#: frontend/src/metabase/home/components/Activity.jsx:532
+msgid "Save a question and get this baby going!"
+msgstr "Збережіть питання і змусьте цю дитинку йти!"
+
+#: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:19
+msgid "Ask questions and explore"
+msgstr "Задати питання і досліджувати"
+
+#: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:20
+msgid "Click on charts or tables to explore, or ask a new question using the easy interface or the powerful SQL editor."
+msgstr "Натисніть на графіках або таблицях для того щоб дослідити дані, створити новий запит в простому інтерфейсі або повноцінному SQL-редакторі."
+
+#: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:30
+msgid "Make your own charts"
+msgstr "Створити власні графіки"
+
+#: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:31
+msgid "Create line charts, scatter plots, maps, and more."
+msgstr "Створити лінійні графіки, графіки розкиду, карти та інше."
+
+#: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:41
+msgid "Share what you find"
+msgstr "Поділіться тим що знайшли"
+
+#: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:42
+msgid "Create powerful and flexible dashboards, and send regular updates via email or Slack."
+msgstr "Створити потужні та гнучкі панелі інструменті і отримувати регулярні оновлення через email або Slack."
+
+#: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:97
+msgid "Let's go"
+msgstr "почнемо"
+
+#: frontend/src/metabase/home/components/NextStep.jsx:34
+msgid "Setup Tip"
+msgstr "Порада щодо налаштування"
+
+#: frontend/src/metabase/home/components/NextStep.jsx:40
+msgid "View all"
+msgstr "переглянутися все"
+
+#: frontend/src/metabase/home/components/RecentViews.jsx:40
+msgid "Recently Viewed"
+msgstr "Нещодавно переглянуті"
+
+#: frontend/src/metabase/home/components/RecentViews.jsx:75
+msgid "You haven't looked at any dashboards or questions recently"
+msgstr "Ви не переглядали жодних панелей чи запитів останнім часом"
+
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:99
+msgid "{0} items selected"
+msgstr "{0} елементів вибрано"
+
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:121
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:172
+msgid "Unarchive"
+msgstr "Розархівувати"
+
+#: frontend/src/metabase/home/containers/HomepageApp.jsx:74
+#: frontend/src/metabase/nav/containers/Navbar.jsx:331
+msgid "Activity"
+msgstr "Активність"
+
+#: frontend/src/metabase/home/containers/SearchApp.jsx:28
+msgid "Results for \"{0}\""
+msgstr "Результати для \"{0}\""
+
+#: frontend/src/metabase/home/containers/SearchApp.jsx:138
+msgid "Pulse"
+msgstr "Пульс"
+
+#: frontend/src/metabase/lib/core.js:7
+msgid "Entity Key"
+msgstr "Ключ суб'єкта"
+
+#: frontend/src/metabase/lib/core.js:8 frontend/src/metabase/lib/core.js:14
+#: frontend/src/metabase/lib/core.js:20
+msgid "Overall Row"
+msgstr "всього рядків"
+
+#: frontend/src/metabase/lib/core.js:9
+msgid "The primary key for this table."
+msgstr "Первинний ключ для таблиці"
+
+#: frontend/src/metabase/lib/core.js:13
+msgid "Entity Name"
+msgstr "Назва суті"
+
+#: frontend/src/metabase/lib/core.js:15
+msgid "The \"name\" of each record. Usually a column called \"name\", \"title\", etc."
+msgstr "Ім'я кожного запису. Зазвичай використовуються колонки \"ім'я\", \"заголовок\" та інші."
+
+#: frontend/src/metabase/lib/core.js:19
+msgid "Foreign Key"
+msgstr "Зовнішній ключ"
+
+#: frontend/src/metabase/lib/core.js:21
+msgid "Points to another table to make a connection."
+msgstr "Вказує на іншу таблицю для встановлення з'єднання."
+
+#: frontend/src/metabase/lib/core.js:25
+msgid "Avatar Image URL"
+msgstr "Посилання на аватар"
+
+#: frontend/src/metabase/lib/core.js:26 frontend/src/metabase/lib/core.js:31
+#: frontend/src/metabase/lib/core.js:36 frontend/src/metabase/lib/core.js:41
+#: frontend/src/metabase/lib/core.js:46 frontend/src/metabase/lib/core.js:51
+#: frontend/src/metabase/lib/core.js:56 frontend/src/metabase/lib/core.js:61
+#: frontend/src/metabase/lib/core.js:66 frontend/src/metabase/lib/core.js:71
+#: frontend/src/metabase/lib/core.js:76 frontend/src/metabase/lib/core.js:81
+#: frontend/src/metabase/lib/core.js:86 frontend/src/metabase/lib/core.js:91
+#: frontend/src/metabase/lib/core.js:96 frontend/src/metabase/lib/core.js:101
+#: frontend/src/metabase/lib/core.js:106 frontend/src/metabase/lib/core.js:111
+#: frontend/src/metabase/lib/core.js:116 frontend/src/metabase/lib/core.js:121
+#: frontend/src/metabase/lib/core.js:126 frontend/src/metabase/lib/core.js:131
+#: frontend/src/metabase/lib/core.js:136 frontend/src/metabase/lib/core.js:141
+#: frontend/src/metabase/lib/core.js:146 frontend/src/metabase/lib/core.js:151
+#: frontend/src/metabase/lib/core.js:156 frontend/src/metabase/lib/core.js:161
+#: frontend/src/metabase/lib/core.js:166 frontend/src/metabase/lib/core.js:171
+#: frontend/src/metabase/lib/core.js:176 frontend/src/metabase/lib/core.js:181
+#: frontend/src/metabase/lib/core.js:186 frontend/src/metabase/lib/core.js:191
+#: frontend/src/metabase/lib/core.js:196 frontend/src/metabase/lib/core.js:201
+#: frontend/src/metabase/lib/core.js:206 frontend/src/metabase/lib/core.js:211
+#: frontend/src/metabase/lib/core.js:216 frontend/src/metabase/lib/core.js:221
+#: frontend/src/metabase/lib/core.js:226 frontend/src/metabase/lib/core.js:231
+msgid "Common"
+msgstr "Загальна"
+
+#: frontend/src/metabase/lib/core.js:30
+#: frontend/src/metabase/meta/Dashboard.js:81
+#: frontend/src/metabase/modes/components/actions/PivotByCategoryAction.jsx:9
+msgid "Category"
+msgstr "Категорія"
+
+#: frontend/src/metabase/lib/core.js:35
+#: frontend/src/metabase/meta/Dashboard.js:61
+msgid "City"
+msgstr "Місто"
+
+#: frontend/src/metabase/lib/core.js:40
+#: frontend/src/metabase/meta/Dashboard.js:73
+msgid "Country"
+msgstr "Країна"
+
+#: frontend/src/metabase/lib/core.js:60
+msgid "Enum"
+msgstr "список"
+
+#: frontend/src/metabase/lib/core.js:65
+msgid "Image URL"
+msgstr "Посилання на зображення"
+
+#: frontend/src/metabase/lib/core.js:70
+msgid "Field containing JSON"
+msgstr "Поле, що містить JSON"
+
+#: frontend/src/metabase/lib/core.js:75
+msgid "Latitude"
+msgstr "широта"
+
+#: frontend/src/metabase/lib/core.js:80
+msgid "Longitude"
+msgstr "довгота"
+
+#: frontend/src/metabase/lib/core.js:85
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:149
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:41
+msgid "Number"
+msgstr "число"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:19
+#: frontend/src/metabase/lib/core.js:90
+#: frontend/src/metabase/meta/Dashboard.js:65
+msgid "State"
+msgstr "Штат"
+
+#: frontend/src/metabase/lib/core.js:95
+msgid "UNIX Timestamp (Seconds)"
+msgstr "Час UNIX (секунди)"
+
+#: frontend/src/metabase/lib/core.js:100
+msgid "UNIX Timestamp (Milliseconds)"
+msgstr "Час UNIX (мілісекунди)"
+
+#: frontend/src/metabase/lib/core.js:110
+msgid "Zip Code"
+msgstr "ZIP-код"
+
+#: frontend/src/metabase/lib/core.js:115
+msgid "Quantity"
+msgstr "кількість"
+
+#: frontend/src/metabase/lib/core.js:120
+msgid "Income"
+msgstr "Дохід"
+
+#: frontend/src/metabase/lib/core.js:125
+msgid "Discount"
+msgstr "Знижка"
+
+#: frontend/src/metabase/lib/core.js:130
+msgid "Creation timestamp"
+msgstr "Відмітка часу створення"
+
+#: frontend/src/metabase/lib/core.js:135
+msgid "Creation time"
+msgstr "Час створення"
+
+#: frontend/src/metabase/lib/core.js:140
+msgid "Creation date"
+msgstr "дата створення"
+
+#: frontend/src/metabase/lib/core.js:145
+msgid "Product"
+msgstr "продукт"
+
+#: frontend/src/metabase/lib/core.js:150
+msgid "User"
+msgstr "Користувач"
+
+#: frontend/src/metabase/lib/core.js:155
+msgid "Source"
+msgstr "джерело"
+
+#: frontend/src/metabase/lib/core.js:160
+msgid "Price"
+msgstr "Ціна"
+
+#: frontend/src/metabase/lib/core.js:165
+msgid "Join timestamp"
+msgstr "Відмітка часу приєднання"
+
+#: frontend/src/metabase/lib/core.js:170
+msgid "Join time"
+msgstr "час приєднання"
+
+#: frontend/src/metabase/lib/core.js:175
+msgid "Join date"
+msgstr "Дата приєднання"
+
+#: frontend/src/metabase/lib/core.js:180
+msgid "Share"
+msgstr "Поділитися"
+
+#: frontend/src/metabase/lib/core.js:185
+msgid "Owner"
+msgstr "власник"
+
+#: frontend/src/metabase/lib/core.js:190
+msgid "Company"
+msgstr "компанія"
+
+#: frontend/src/metabase/lib/core.js:195
+msgid "Subscription"
+msgstr "Підписка"
+
+#: frontend/src/metabase/lib/core.js:200
+msgid "Score"
+msgstr "результат"
+
+#: frontend/src/metabase/lib/core.js:210
+#: frontend/src/metabase/public/components/widgets/DisplayOptionsPane.jsx:49
+#: frontend/src/metabase/visualizations/lib/settings/visualization.js:17
+msgid "Title"
+msgstr "Заголовок"
+
+#: frontend/src/metabase/lib/core.js:215
+msgid "Comment"
+msgstr "коментар"
+
+#: frontend/src/metabase/lib/core.js:220
+msgid "Cost"
+msgstr "вартість"
+
+#: frontend/src/metabase/lib/core.js:225
+msgid "Gross margin"
+msgstr "Валовий прибуток"
+
+#: frontend/src/metabase/lib/core.js:230
+msgid "Birthday"
+msgstr "дата народження"
+
+#: frontend/src/metabase/lib/core.js:241
+msgid "Search box"
+msgstr "Поле для пошуку"
+
+#: frontend/src/metabase/lib/core.js:242
+msgid "A list of all values"
+msgstr "Список значень"
+
+#: frontend/src/metabase/lib/core.js:243
+msgid "Plain input box"
+msgstr "Поле введення тексту"
+
+#: frontend/src/metabase/lib/core.js:249
+msgid "Everywhere"
+msgstr "Всюди"
+
+#: frontend/src/metabase/lib/core.js:250
+msgid "The default setting. This field will be displayed normally in tables and charts."
+msgstr "За замовчуванням дане поле буде відображатися в таблицях і на графіках."
+
+#: frontend/src/metabase/lib/core.js:254
+msgid "Only in Detail Views"
+msgstr "Тільки в детальному перегляді"
+
+#: frontend/src/metabase/lib/core.js:255
+msgid "This field will only be displayed when viewing the details of a single record. Use this for information that's lengthy or that isn't useful in a table or chart."
+msgstr "Дане поле буде відображено тільки при перегляді інформації про окремого запису, призначене для великого обсягу інформації, необов'язкового для використання в таблицях і на графіках."
+
+#: frontend/src/metabase/lib/core.js:259
+msgid "Do Not Include"
+msgstr "Не вмикати"
+
+#: frontend/src/metabase/lib/core.js:260
+msgid "Metabase will never retrieve this field. Use this for sensitive or irrelevant information."
+msgstr "Metabase ніколи не отримає це поле. Використовуйте для чутливої ​​нерелевантною інформації."
+
+#: frontend/src/metabase/lib/expressions/config.js:7
+#: frontend/src/metabase/lib/query.js:614
+#: frontend/src/metabase/visualizations/lib/utils.js:126
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+msgid "Count"
+msgstr "кількість"
+
+#: frontend/src/metabase/lib/expressions/config.js:8
+msgid "CumulativeCount"
+msgstr "Накопичувальне кількість"
+
+#: frontend/src/metabase/lib/expressions/config.js:9
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:17
+#: frontend/src/metabase/visualizations/lib/utils.js:127
+msgid "Sum"
+msgstr "сума"
+
+#: frontend/src/metabase/lib/expressions/config.js:10
+msgid "CumulativeSum"
+msgstr "Накопичувальна сума"
+
+#: frontend/src/metabase/lib/expressions/config.js:11
+#: frontend/src/metabase/visualizations/lib/utils.js:128
+msgid "Distinct"
+msgstr "унікальні"
+
+#: frontend/src/metabase/lib/expressions/config.js:12
+msgid "StandardDeviation"
+msgstr "Стандартне відхилення"
+
+#: frontend/src/metabase/lib/expressions/config.js:13
+#: frontend/src/metabase/visualizations/lib/utils.js:125
+msgid "Average"
+msgstr "середнє"
+
+#: frontend/src/metabase/lib/expressions/config.js:14
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:25
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:48
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:450
+msgid "Min"
+msgstr "Мінімальна"
+
+#: frontend/src/metabase/lib/expressions/config.js:15
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:29
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:57
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:458
+msgid "Max"
+msgstr "максимальне"
+
+#: frontend/src/metabase/lib/expressions/parser.js:384
+msgid "sad sad panda, lexing errors detected"
+msgstr "сумна сумна панда, виявлені лексичні помилки"
+
+#: frontend/src/metabase/lib/formatting.js:707
+msgid "{0} second"
+msgid_plural "{0} seconds"
+msgstr[0] "{0} секунда"
+msgstr[1] "{0} секунд"
+msgstr[2] "{0} секунд"
+msgstr[3] "{0} секунды"
+
+#: frontend/src/metabase/lib/formatting.js:710
+msgid "{0} minute"
+msgid_plural "{0} minutes"
+msgstr[0] "{0} хвилина"
+msgstr[1] "{0} хвилин"
+msgstr[2] "{0} хвилин"
+msgstr[3] "{0} хвилин"
+
+#: frontend/src/metabase/lib/greeting.js:4
+msgid "Hey there"
+msgstr "Привіт"
+
+#: frontend/src/metabase/lib/greeting.js:5
+#: frontend/src/metabase/lib/greeting.js:29
+msgid "How's it going"
+msgstr "Як справи"
+
+#: frontend/src/metabase/lib/greeting.js:6
+msgid "Howdy"
+msgstr "Привіт"
+
+#: frontend/src/metabase/lib/greeting.js:7
+msgid "Greetings"
+msgstr "Вітання"
+
+#: frontend/src/metabase/lib/greeting.js:8
+msgid "Good to see you"
+msgstr "Раді вас бачити"
+
+#: frontend/src/metabase/lib/greeting.js:12
+msgid "What do you want to know?"
+msgstr "Що ви хочете дізнатися?"
+
+#: frontend/src/metabase/lib/greeting.js:13
+msgid "What's on your mind?"
+msgstr "Що в вас на думці?"
+
+#: frontend/src/metabase/lib/greeting.js:14
+msgid "What do you want to find out?"
+msgstr "Що ви хочете дізнатися?"
+
+#: frontend/src/metabase/lib/query.js:612
+#: frontend/src/metabase/lib/schema_metadata.js:451
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:246
+msgid "Raw data"
+msgstr "Вихідні дані"
+
+#: frontend/src/metabase/lib/query.js:616
+msgid "Cumulative count"
+msgstr "Накопичувальне кількість"
+
+#: frontend/src/metabase/lib/query.js:619
+msgid "Average of "
+msgstr "середнє"
+
+#: frontend/src/metabase/lib/query.js:624
+msgid "Distinct values of "
+msgstr "унікальні значення"
+
+#: frontend/src/metabase/lib/query.js:629
+msgid "Standard deviation of "
+msgstr "Стандартне відхилення"
+
+#: frontend/src/metabase/lib/query.js:634
+msgid "Sum of "
+msgstr "сума"
+
+#: frontend/src/metabase/lib/query.js:639
+msgid "Cumulative sum of "
+msgstr "Накопичувальна сума"
+
+#: frontend/src/metabase/lib/query.js:644
+msgid "Maximum of "
+msgstr "максимум"
+
+#: frontend/src/metabase/lib/query.js:649
+msgid "Minimum of "
+msgstr "мінімум"
+
+#: frontend/src/metabase/lib/query.js:663
+msgid "Grouped by "
+msgstr "згруповано за"
+
+#: frontend/src/metabase/lib/query.js:677
+msgid "Filtered by "
+msgstr "відфільтровано по"
+
+#: frontend/src/metabase/lib/query.js:706
+msgid "Sorted by "
+msgstr "згруповано за"
+
+#: frontend/src/metabase/lib/schema_metadata.js:221
+msgid "True"
+msgstr "істина"
+
+#: frontend/src/metabase/lib/schema_metadata.js:221
+msgid "False"
+msgstr "брехня"
+
+#: frontend/src/metabase/lib/schema_metadata.js:305
+msgid "Select longitude field"
+msgstr "Виберіть поле з довготою"
+
+#: frontend/src/metabase/lib/schema_metadata.js:306
+msgid "Enter upper latitude"
+msgstr "Введіть верхню широту"
+
+#: frontend/src/metabase/lib/schema_metadata.js:307
+msgid "Enter left longitude"
+msgstr "Введіть ліву довготу"
+
+#: frontend/src/metabase/lib/schema_metadata.js:308
+msgid "Enter lower latitude"
+msgstr "Введіть нижню широту"
+
+#: frontend/src/metabase/lib/schema_metadata.js:309
+msgid "Enter right longitude"
+msgstr "Введіть праву довготу"
+
+#: frontend/src/metabase/lib/schema_metadata.js:345
+#: frontend/src/metabase/lib/schema_metadata.js:365
+#: frontend/src/metabase/lib/schema_metadata.js:375
+#: frontend/src/metabase/lib/schema_metadata.js:381
+#: frontend/src/metabase/lib/schema_metadata.js:389
+#: frontend/src/metabase/lib/schema_metadata.js:395
+#: frontend/src/metabase/lib/schema_metadata.js:400
+msgid "Is"
+msgstr "-"
+
+#: frontend/src/metabase/lib/schema_metadata.js:346
+#: frontend/src/metabase/lib/schema_metadata.js:366
+#: frontend/src/metabase/lib/schema_metadata.js:376
+#: frontend/src/metabase/lib/schema_metadata.js:390
+#: frontend/src/metabase/lib/schema_metadata.js:396
+msgid "Is not"
+msgstr "Чи не"
+
+#: frontend/src/metabase/lib/schema_metadata.js:347
+#: frontend/src/metabase/lib/schema_metadata.js:361
+#: frontend/src/metabase/lib/schema_metadata.js:369
+#: frontend/src/metabase/lib/schema_metadata.js:377
+#: frontend/src/metabase/lib/schema_metadata.js:385
+#: frontend/src/metabase/lib/schema_metadata.js:391
+#: frontend/src/metabase/lib/schema_metadata.js:401
+msgid "Is empty"
+msgstr "Пусто"
+
+#: frontend/src/metabase/lib/schema_metadata.js:348
+#: frontend/src/metabase/lib/schema_metadata.js:362
+#: frontend/src/metabase/lib/schema_metadata.js:370
+#: frontend/src/metabase/lib/schema_metadata.js:378
+#: frontend/src/metabase/lib/schema_metadata.js:386
+#: frontend/src/metabase/lib/schema_metadata.js:392
+#: frontend/src/metabase/lib/schema_metadata.js:402
+msgid "Not empty"
+msgstr "Чи не порожньо"
+
+#: frontend/src/metabase/lib/schema_metadata.js:354
+msgid "Equal to"
+msgstr "Так само"
+
+#: frontend/src/metabase/lib/schema_metadata.js:355
+msgid "Not equal to"
+msgstr "Не дорівнює"
+
+#: frontend/src/metabase/lib/schema_metadata.js:356
+msgid "Greater than"
+msgstr "Більше ніж"
+
+#: frontend/src/metabase/lib/schema_metadata.js:357
+msgid "Less than"
+msgstr "Менше ніж"
+
+#: frontend/src/metabase/lib/schema_metadata.js:358
+#: frontend/src/metabase/lib/schema_metadata.js:384
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:285
+#: frontend/src/metabase/query_builder/components/filters/pickers/TimePicker.jsx:96
+msgid "Between"
+msgstr "між"
+
+#: frontend/src/metabase/lib/schema_metadata.js:359
+msgid "Greater than or equal to"
+msgstr "Більше або дорівнює"
+
+#: frontend/src/metabase/lib/schema_metadata.js:360
+msgid "Less than or equal to"
+msgstr "Менше або дорівнює"
+
+#: frontend/src/metabase/lib/schema_metadata.js:367
+msgid "Contains"
+msgstr "містить"
+
+#: frontend/src/metabase/lib/schema_metadata.js:368
+msgid "Does not contain"
+msgstr "Не містить"
+
+#: frontend/src/metabase/lib/schema_metadata.js:371
+msgid "Starts with"
+msgstr "Починається з"
+
+#: frontend/src/metabase/lib/schema_metadata.js:372
+msgid "Ends with"
+msgstr "закінчується"
+
+#: frontend/src/metabase/lib/schema_metadata.js:382
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:264
+#: frontend/src/metabase/query_builder/components/filters/pickers/TimePicker.jsx:74
+msgid "Before"
+msgstr "до"
+
+#: frontend/src/metabase/lib/schema_metadata.js:383
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:271
+#: frontend/src/metabase/query_builder/components/filters/pickers/TimePicker.jsx:85
+msgid "After"
+msgstr "після"
+
+#: frontend/src/metabase/lib/schema_metadata.js:397
+msgid "Inside"
+msgstr "усередині"
+
+#: frontend/src/metabase/lib/schema_metadata.js:453
+msgid "Just a table with the rows in the answer, no additional operations."
+msgstr "Просто таблиця з рядками результатів, без додаткових операцій."
+
+#: frontend/src/metabase/lib/schema_metadata.js:459
+msgid "Count of rows"
+msgstr "Кількість записів"
+
+#: frontend/src/metabase/lib/schema_metadata.js:461
+msgid "Total number of rows in the answer."
+msgstr "Загальна кількість рядків у відповіді"
+
+#: frontend/src/metabase/lib/schema_metadata.js:467
+msgid "Sum of ..."
+msgstr "Кількість ..."
+
+#: frontend/src/metabase/lib/schema_metadata.js:469
+msgid "Sum of all the values of a column."
+msgstr "Кількість всіх значень колонки."
+
+#: frontend/src/metabase/lib/schema_metadata.js:475
+msgid "Average of ..."
+msgstr "Середнє ..."
+
+#: frontend/src/metabase/lib/schema_metadata.js:477
+msgid "Average of all the values of a column"
+msgstr "Середнє всіх значень колонки."
+
+#: frontend/src/metabase/lib/schema_metadata.js:483
+msgid "Number of distinct values of ..."
+msgstr "Унікальні значення ..."
+
+#: frontend/src/metabase/lib/schema_metadata.js:485
+msgid "Number of unique values of a column among all the rows in the answer."
+msgstr "Кількість унікальних значень стовпця серед всіх записів у відповіді."
+
+#: frontend/src/metabase/lib/schema_metadata.js:491
+msgid "Cumulative sum of ..."
+msgstr "Сума наростаючим підсумком ..."
+
+#: frontend/src/metabase/lib/schema_metadata.js:493
+msgid "Additive sum of all the values of a column.\\\\ne.x. total revenue over time."
+msgstr "Сукупна сума всіх значень стовпця. \\\\ ne.x. всього дохід за часовий інтервал."
+
+#: frontend/src/metabase/lib/schema_metadata.js:499
+msgid "Cumulative count of rows"
+msgstr "Наростаючий підсумок"
+
+#: frontend/src/metabase/lib/schema_metadata.js:501
+msgid "Additive count of the number of rows.\\\\ne.x. total number of sales over time."
+msgstr "Сукупна кількість записів. \\\\ ne.x. всього продажів за часовий інтервал."
+
+#: frontend/src/metabase/lib/schema_metadata.js:507
+msgid "Standard deviation of ..."
+msgstr "Стандартне відхилення…"
+
+#: frontend/src/metabase/lib/schema_metadata.js:509
+msgid "Number which expresses how much the values of a column vary among all rows in the answer."
+msgstr "Число, що відображає наскільки значення стовпця відхиляються від всіх записів відповіді."
+
+#: frontend/src/metabase/lib/schema_metadata.js:515
+msgid "Minimum of ..."
+msgstr "Мінімум ..."
+
+#: frontend/src/metabase/lib/schema_metadata.js:517
+msgid "Minimum value of a column"
+msgstr "Мінімальне значення стовпця"
+
+#: frontend/src/metabase/lib/schema_metadata.js:523
+msgid "Maximum of ..."
+msgstr "Максимум ..."
+
+#: frontend/src/metabase/lib/schema_metadata.js:525
+msgid "Maximum value of a column"
+msgstr "Максимальне значення колонки"
+
+#: frontend/src/metabase/lib/schema_metadata.js:533
+msgid "Break out by dimension"
+msgstr "Розбити по вимірюванню"
+
+#: frontend/src/metabase/lib/settings.js:93
+msgid "lower case letter"
+msgstr "буква в нижньому регістрі"
+
+#: frontend/src/metabase/lib/settings.js:95
+msgid "upper case letter"
+msgstr "буква в верхньому регістрі"
+
+#: frontend/src/metabase/lib/settings.js:97
+#: src/metabase/automagic_dashboards/core.clj
+msgid "number"
+msgstr "число"
+
+#: frontend/src/metabase/lib/settings.js:99
+msgid "special character"
+msgstr "спеціальний символ"
+
+#: frontend/src/metabase/lib/settings.js:105
+msgid "must be"
+msgstr "повинен містити не менше"
+
+#: frontend/src/metabase/lib/settings.js:105
+#: frontend/src/metabase/lib/settings.js:106
+msgid "characters long"
+msgstr "символів"
+
+#: frontend/src/metabase/lib/settings.js:106
+msgid "Must be"
+msgstr "Повинен містити не менш"
+
+#: frontend/src/metabase/lib/settings.js:122
+msgid "and include"
+msgstr "і містити як мінімум"
+
+#: frontend/src/metabase/lib/utils.js:92
+msgid "zero"
+msgstr "нуль"
+
+#: frontend/src/metabase/lib/utils.js:93
+msgid "one"
+msgstr "один"
+
+#: frontend/src/metabase/lib/utils.js:94
+msgid "two"
+msgstr "два"
+
+#: frontend/src/metabase/lib/utils.js:95
+msgid "three"
+msgstr "три"
+
+#: frontend/src/metabase/lib/utils.js:96
+msgid "four"
+msgstr "чотири"
+
+#: frontend/src/metabase/lib/utils.js:97
+msgid "five"
+msgstr "п'ять"
+
+#: frontend/src/metabase/lib/utils.js:98
+msgid "six"
+msgstr "шість"
+
+#: frontend/src/metabase/lib/utils.js:99
+msgid "seven"
+msgstr "сім"
+
+#: frontend/src/metabase/lib/utils.js:100
+msgid "eight"
+msgstr "вісім"
+
+#: frontend/src/metabase/lib/utils.js:101
+msgid "nine"
+msgstr "дев'ять"
+
+#: frontend/src/metabase/meta/Dashboard.js:30
+msgid "Month and Year"
+msgstr "Місяць і рік"
+
+#: frontend/src/metabase/meta/Dashboard.js:31
+msgid "Like January, 2016"
+msgstr "Наприклад, Январь 2016"
+
+#: frontend/src/metabase/meta/Dashboard.js:35
+msgid "Quarter and Year"
+msgstr "Квартал і Рік"
+
+#: frontend/src/metabase/meta/Dashboard.js:36
+msgid "Like Q1, 2016"
+msgstr "Наприклад, 1Q 2016"
+
+#: frontend/src/metabase/meta/Dashboard.js:40
+msgid "Single Date"
+msgstr "одна Дата"
+
+#: frontend/src/metabase/meta/Dashboard.js:41
+msgid "Like January 31, 2016"
+msgstr "Наприклад, 31 січня 2016"
+
+#: frontend/src/metabase/meta/Dashboard.js:45
+msgid "Date Range"
+msgstr "діапазон дат"
+
+#: frontend/src/metabase/meta/Dashboard.js:46
+msgid "Like December 25, 2015 - February 14, 2016"
+msgstr "Наприклад, 25 грудня 2015 - 14 лютий 2016"
+
+#: frontend/src/metabase/meta/Dashboard.js:50
+msgid "Relative Date"
+msgstr "відносна Дата"
+
+#: frontend/src/metabase/meta/Dashboard.js:51
+msgid "Like \"the last 7 days\" or \"this month\""
+msgstr "Наприклад, \"останні 7 днів\" або \"цей місяць\""
+
+#: frontend/src/metabase/meta/Dashboard.js:55
+msgid "Date Filter"
+msgstr "Фільтр за датою"
+
+#: frontend/src/metabase/meta/Dashboard.js:56
+msgid "All Options"
+msgstr "всі опції"
+
+#: frontend/src/metabase/meta/Dashboard.js:57
+msgid "Contains all of the above"
+msgstr "Включає все що перераховано нижче"
+
+#: frontend/src/metabase/meta/Dashboard.js:69
+msgid "ZIP or Postal Code"
+msgstr "ZIP або Поштовий код"
+
+#: frontend/src/metabase/meta/Dashboard.js:77
+#: frontend/src/metabase/meta/Dashboard.js:107
+msgid "ID"
+msgstr "ВД"
+
+#: frontend/src/metabase/meta/Dashboard.js:95
+#: frontend/src/metabase/modes/components/actions/PivotByTimeAction.jsx:8
+msgid "Time"
+msgstr "час"
+
+#: frontend/src/metabase/meta/Dashboard.js:96
+msgid "Date range, relative date, time of day, etc."
+msgstr "Часовий інтервал, відносна дата, час дня, інше."
+
+#: frontend/src/metabase/meta/Dashboard.js:101
+#: frontend/src/metabase/modes/components/actions/PivotByLocationAction.jsx:8
+msgid "Location"
+msgstr "Розташування"
+
+#: frontend/src/metabase/meta/Dashboard.js:102
+msgid "City, State, Country, ZIP code."
+msgstr "Місто, Штат, Країна, ZIP код."
+
+#: frontend/src/metabase/meta/Dashboard.js:108
+msgid "User ID, product ID, event ID, etc."
+msgstr "Ідентифікатор користувача, продукту, події, і т.д."
+
+#: frontend/src/metabase/meta/Dashboard.js:113
+msgid "Other Categories"
+msgstr "Інші категорії"
+
+#: frontend/src/metabase/meta/Dashboard.js:114
+msgid "Category, Type, Model, Rating, etc."
+msgstr "Категорія, Тип, Модель, Рейтинг, інше."
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:42
+#: frontend/src/metabase/user/components/UserSettings.jsx:54
+msgid "Account settings"
+msgstr "Налаштування облікового запису"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:49
+msgid "Exit admin"
+msgstr "Вийти з адміністрування"
+
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:34
+msgid "Logs"
+msgstr "Список"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:58
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorSidebar.jsx:105
+msgid "Help"
+msgstr "Допомога"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:67
+msgid "About Metabase"
+msgstr "Про Metabase"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:73
+msgid "Sign out"
+msgstr "Вихід"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:98
+msgid "Thanks for using"
+msgstr "Дякуємо за використання"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:102
+msgid "You're on version"
+msgstr "Ваша версія"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:105
+msgid "Built on"
+msgstr "Побудовано"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:124
+msgid "is a Trademark of"
+msgstr "Торговий знак"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:126
+msgid "and is built with care in San Francisco, CA"
+msgstr "і було створено з турботою в Сан Франциско, Каліфорнія"
+
+#: frontend/src/metabase/nav/containers/Navbar.jsx:194
+msgid "Metabase Admin"
+msgstr "управління Metabase"
+
+#: frontend/src/metabase/nav/containers/Navbar.jsx:300
+#: frontend/src/metabase/reference/databases/TableQuestions.jsx:36
+#: frontend/src/metabase/reference/metrics/MetricQuestions.jsx:37
+#: frontend/src/metabase/reference/segments/SegmentQuestions.jsx:37
+msgid "Ask a question"
+msgstr "Задати питання"
+
+#: frontend/src/metabase/nav/containers/Navbar.jsx:309
+msgid "New dashboard"
+msgstr "Нова панель інструментів"
+
+#: frontend/src/metabase/nav/containers/Navbar.jsx:315
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:127
+msgid "New pulse"
+msgstr "Нова Пульс"
+
+#: frontend/src/metabase/nav/containers/Navbar.jsx:323
+msgid "Reference"
+msgstr "довідник"
+
+#: frontend/src/metabase/new_query/containers/MetricSearch.jsx:83
+msgid "Which metric?"
+msgstr "Яка метрика?"
+
+#: frontend/src/metabase/new_query/containers/MetricSearch.jsx:110
+#: frontend/src/metabase/reference/metrics/MetricList.jsx:24
+msgid "Defining common metrics for your team makes it even easier to ask questions"
+msgstr "Визначення загальних метрик для вашої команди ще більше полегшує ставлення запитань"
+
+#: frontend/src/metabase/new_query/containers/MetricSearch.jsx:113
+msgid "How to create metrics"
+msgstr "Як створити метрики"
+
+#: frontend/src/metabase/new_query/containers/NewQueryOptions.jsx:138
+msgid "See data over time, as a map, or pivoted to help you understand trends or changes."
+msgstr "Дивиться дані у часі у вигляді карт та зведених таблиць для розуміння трендів або змін"
+
+#: frontend/src/metabase/new_query/containers/NewQueryOptions.jsx:149
+msgid "Custom"
+msgstr "Майстер запитів"
+
+#: frontend/src/metabase/new_query/containers/NewQueryOptions.jsx:150
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:517
+msgid "New question"
+msgstr "Новий запит"
+
+#: frontend/src/metabase/new_query/containers/NewQueryOptions.jsx:152
+msgid "Use the simple question builder to see trends, lists of things, or to create your own metrics."
+msgstr "Використовуйте просту програму створення запитів для перегляду трендів, списків або створення власних метрик."
+
+#: frontend/src/metabase/new_query/containers/NewQueryOptions.jsx:161
+#: src/metabase/automagic_dashboards/core.clj
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Native query"
+msgstr "Прямий запит"
+
+#: frontend/src/metabase/new_query/containers/NewQueryOptions.jsx:162
+msgid "For more complicated questions, you can write your own SQL or native query."
+msgstr "Для відповіді на більш складні запитання, ви можете написати власний SQL або прямий запит."
+
+#: frontend/src/metabase/parameters/components/ParameterValueWidget.jsx:240
+msgid "Select a default value…"
+msgstr "Виберіть значення за замовчуванням ..."
+
+#: frontend/src/metabase/parameters/components/widgets/DateAllOptionsWidget.jsx:149
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:404
+msgid "Update filter"
+msgstr "оновити фільтр"
+
+#: frontend/src/metabase/lib/query_time.js:112
+#: frontend/src/metabase/lib/query_time.js:123
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:9
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:144
+#: src/metabase/pulse/render.clj
+msgid "Today"
+msgstr "Сьогодні"
+
+#: frontend/src/metabase/lib/query_time.js:118
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:14
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:148
+#: src/metabase/pulse/render.clj
+msgid "Yesterday"
+msgstr "Вчора"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:18
+msgid "Past 7 days"
+msgstr "Минулі 7 днів"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:19
+msgid "Past 30 days"
+msgstr "Минулі 30 днів"
+
+#: frontend/src/metabase/lib/query_time.js:195
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:24
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:29
+#: src/metabase/api/table.clj
+msgid "Week"
+msgid_plural "Weeks"
+msgstr[0] "тиждень"
+msgstr[1] "тиждень"
+msgstr[2] "тиждень"
+msgstr[3] "тиждень"
+
+#: frontend/src/metabase/lib/query_time.js:197
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:25
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:30
+#: src/metabase/api/table.clj
+msgid "Month"
+msgid_plural "Months"
+msgstr[0] "місяць"
+msgstr[1] "місяць"
+msgstr[2] "місяць"
+msgstr[3] "місяць"
+
+#: frontend/src/metabase/lib/query_time.js:201
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:26
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:31
+#: src/metabase/api/table.clj
+msgid "Year"
+msgid_plural "Years"
+msgstr[0] "рік"
+msgstr[1] "рік"
+msgstr[2] "рік"
+msgstr[3] "рік"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:152
+msgid "Past 7 Days"
+msgstr "Минулі 7 днів"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:156
+msgid "Past 30 Days"
+msgstr "Минулі 30 днів"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:160
+msgid "Last Week"
+msgstr "останній тиждень"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:164
+msgid "Last Month"
+msgstr "Останній місяць"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:168
+msgid "Last Year"
+msgstr "Останній рік"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:172
+msgid "This Week"
+msgstr "Цей тиждень"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:176
+msgid "This Month"
+msgstr "Цей місяць"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:180
+msgid "This Year"
+msgstr "Цей рік"
+
+#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:89
+#: frontend/src/metabase/parameters/components/widgets/TextWidget.jsx:54
+msgid "Enter a value..."
+msgstr "Введіть значення ..."
+
+#: frontend/src/metabase/parameters/components/widgets/TextWidget.jsx:90
+msgid "Enter a default value..."
+msgstr "Введіть значення по-умовчання ..."
+
+#: frontend/src/metabase/public/components/PublicError.jsx:18
+msgid "An error occurred"
+msgstr "Виникла помилка"
+
+#: frontend/src/metabase/public/components/PublicNotFound.jsx:11
+msgid "Not found"
+msgstr "Не знайдено"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:82
+msgid "You’ve made changes that need to be published before they will be reflected in your application embed."
+msgstr "Ви зробили зміни, які повинні бути опубліковані перед тим як вони відіб'ються у вбудованому додатку."
+
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:83
+msgid "You will need to publish this {0} before you can embed it in another application."
+msgstr "Ви повинні опублікувати {0} перед тим як вбудувати це в інший додаток."
+
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:92
+msgid "Discard Changes"
+msgstr "Відмінити зміни"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:99
+msgid "Updating..."
+msgstr "Оновлення ..."
+
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:100
+msgid "Updated"
+msgstr "Оновлене"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:101
+msgid "Failed!"
+msgstr "Виникла помилка!"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:102
+msgid "Publish"
+msgstr "Опублікувати"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:111
+msgid "Code"
+msgstr "код"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:70
+#: frontend/src/metabase/visualizations/lib/settings/column.js:282
+msgid "Style"
+msgstr "Стиль"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:80
+msgid "Which parameters can users of this embed use?"
+msgstr "Які параметри можуть використовуватися для вбудовування?"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:83
+msgid "This {0} doesn't have any parameters to configure yet."
+msgstr "{0} не містить параметрів, що настроюються."
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:104
+msgid "Editable"
+msgstr "редаговані"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:105
+msgid "Locked"
+msgstr "заблоковано"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:113
+msgid "Preview Locked Parameters"
+msgstr "Попередній перегляд заблокованих параметрів"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:115
+msgid "Try passing some values to your locked parameters here. Your server will have to provide the actual values in the signed token when using this for real."
+msgstr "Спробуйте додати значення для заблокованих параметрів. Надалі ваш сервер буде надавати актуальні значення в підписаному токені."
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:126
+msgid "Danger zone"
+msgstr "небезпечна зона"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:127
+msgid "This will disable embedding for this {0}."
+msgstr "Це відключить вкладання {0}."
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:128
+msgid "Unpublish"
+msgstr "Зняти з публікації"
+
+#: frontend/src/metabase/public/components/widgets/DisplayOptionsPane.jsx:17
+msgid "Light"
+msgstr "світла"
+
+#: frontend/src/metabase/public/components/widgets/DisplayOptionsPane.jsx:18
+msgid "Dark"
+msgstr "темна"
+
+#: frontend/src/metabase/public/components/widgets/DisplayOptionsPane.jsx:37
+msgid "Border"
+msgstr "кордон"
+
+#: frontend/src/metabase/public/components/widgets/EmbedCodePane.jsx:62
+msgid "To embed this {0} in your application:"
+msgstr "Для вбудовування {0} в ваш додаток:"
+
+#: frontend/src/metabase/public/components/widgets/EmbedCodePane.jsx:64
+msgid "Insert this code snippet in your server code to generate the signed embedding URL "
+msgstr "Вставте це сниппет на ваш сервер для генерації підписаної посилання для вбудовування"
+
+#: frontend/src/metabase/public/components/widgets/EmbedCodePane.jsx:87
+msgid "Then insert this code snippet in your HTML template or single page app."
+msgstr "Потім вставте цей сниппет в ваш HTML шаблон або односторінкове додаток (SPA)."
+
+#: frontend/src/metabase/public/components/widgets/EmbedCodePane.jsx:94
+msgid "Embed code snippet for your HTML or Frontend Application"
+msgstr "Вставте сниппет в ваш HTML код або Frontend додаток"
+
+#: frontend/src/metabase/public/components/widgets/EmbedCodePane.jsx:101
+msgid "More {0}"
+msgstr "Більше {0}"
+
+#: frontend/src/metabase/public/components/widgets/EmbedCodePane.jsx:103
+msgid "examples on GitHub"
+msgstr "приклади на GitHub"
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:72
+msgid "Enable sharing"
+msgstr "Включити загальний доступ"
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:76
+msgid "Disable this public link?"
+msgstr "Відключити цю публічну посилання?"
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:77
+msgid "This will cause the existing link to stop working. You can re-enable it, but when you do it will be a different link."
+msgstr "Це отлючіт працездатність існуючої посилання. Ви можете повторно включити її, але при цьому буде створено нову посилання."
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:117
+msgid "Public link"
+msgstr "публічна посилання"
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:118
+msgid "Share this {0} with people who don't have a Metabase account using the URL below:"
+msgstr "Поділитися {0} з людьми, якими не мають облікових записів в Metabase використовуючи посилання нижче:"
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:158
+msgid "Public embed"
+msgstr "Вбудувати в режимі загального доступу"
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:159
+msgid "Embed this {0} in blog posts or web pages by copying and pasting this snippet:"
+msgstr "Вбудуйте {0} в повідомлення блогу чи веб-сторінки, скопіювавши і вставивши наступний сниппет:"
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:176
+msgid "Embed this {0} in an application"
+msgstr "Вбудувати {0} в додаток"
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:177
+msgid "By integrating with your application server code, you can provide a secure stats {0} limited to a specific user, customer, organization, etc."
+msgstr "Ви можете інтегрувати в серверну частину коду вашої програми безпечну статистику {0}, обмежену конкретним користувачем, покупцем, організацією і т.п."
+
+#: frontend/src/metabase/pulse/components/PulseCardPreview.jsx:94
+msgid "Remove attachment"
+msgstr "Видалити додаток"
+
+#: frontend/src/metabase/pulse/components/PulseCardPreview.jsx:95
+msgid "Attach file with results"
+msgstr "Прикріпити файл з результатами"
+
+#: frontend/src/metabase/pulse/components/PulseCardPreview.jsx:127
+msgid "This question will be added as a file attachment"
+msgstr "Цей запит буде додано у вигляді прикріпленого файлу"
+
+#: frontend/src/metabase/pulse/components/PulseCardPreview.jsx:128
+msgid "This question won't be included in your Pulse"
+msgstr "Цей запит не може бути включений в Пульс"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:92
+msgid "This pulse will no longer be emailed to {0} {1}"
+msgstr "Цей Пульс більше не буде відправлятися на email {0} {1}"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:94
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:376
+msgid "{0} address"
+msgid_plural "{0} addresses"
+msgstr[0] "{0} Адреса"
+msgstr[1] "{0} Адреси"
+msgstr[2] "{0} Адрес"
+msgstr[3] "{0} Адреси"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:102
+msgid "Slack channel {0} will no longer get this pulse {1}"
+msgstr "Канал Slack {0} більше не буде отримувати цей пульс {1}"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:110
+msgid "Channel {0} will no longer receive this pulse {1}"
+msgstr "Канал {0} більше не буде отримувати цей пульс {1}"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:127
+msgid "Edit pulse"
+msgstr "Змінити пульс"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:131
+msgid "What's a Pulse?"
+msgstr "Що таке Пульс?"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:141
+msgid "Got it"
+msgstr "Зрозуміло"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:157
+msgid "Where should this data go?"
+msgstr "Куди слід відправити ці дані?"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:173
+msgid "Unarchiving…"
+msgstr "Розархівація ..."
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:174
+msgid "Unarchive failed"
+msgstr "Не вдалося розархівувати"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:175
+msgid "Unarchived"
+msgstr "Розархівовано"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:182
+msgid "Create pulse"
+msgstr "Створити Пульс"
+
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:90
+msgid "Attachment"
+msgstr "Додаток"
+
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:104
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:111
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:673
+msgid "Heads up"
+msgstr "Увага"
+
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:105
+msgid "We'll show the first 10 columns and 20 rows of this table in your Pulse. If you email this, we'll add a file attachment with all columns and up to 2,000 rows."
+msgstr "Ми покажемо перші 10 колонок і 20 рядків цієї таблиці у вашому Пульсі. Якщо ви це відправите email, ми додамо у вкладення файл з таблицею до 2000 рядків і з усіма колонками."
+
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:112
+msgid "Raw data questions can only be included as email attachments"
+msgstr "Запити з вихідними даними можуть бути включені тільки як файли"
+
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:119
+msgid "Looks like this pulse is getting big"
+msgstr "Схоже що цей Пульс стає занадто великим"
+
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:120
+msgid "We recommend keeping pulses small and focused to help keep them digestible and useful to the whole team."
+msgstr "Ми рекомендуємо залишати Пульси невеликими і цілеспрямованими, щоб зробити їх легкими для використання та корисний для всієї команди."
+
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:160
+msgid "Pick your data"
+msgstr "Виберіть дані"
+
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:162
+msgid "Choose questions you'd like to send in this pulse"
+msgstr "Виберіть запити, які будуть надіслані в цьому Пульс"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:27
+msgid "Emails"
+msgstr "Електронні адреси"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:28
+msgid "Slack messages"
+msgstr "повідомлення Slack"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:221
+msgid "Sent"
+msgstr "Відправлено"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:222
+msgid "{0} will be sent at"
+msgstr "{0} Буде відправлено на"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:224
+msgid "Messages"
+msgstr "Повідомлення"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:240
+msgid "Send email now"
+msgstr "Надіслати Email прямо зараз"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:241
+msgid "Send to {0} now"
+msgstr "Надіслати {0} прямо зараз"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:243
+msgid "Sending…"
+msgstr "Відправлення ..."
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:244
+msgid "Sending failed"
+msgstr "Не вдалося відправити"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:247
+msgid "Didn’t send because the pulse has no results."
+msgstr "Не відправлено, тому що Пульс не містить результатів."
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:248
+msgid "Pulse sent"
+msgstr "Пульс відправлений"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:287
+msgid "{0} needs to be set up by an administrator."
+msgstr "{0} Має бути налагоджене адміністратором."
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:302
+msgid "Slack"
+msgstr "Slack"
+
+#: frontend/src/metabase/pulse/components/PulseEditCollection.jsx:12
+msgid "Which collection should this pulse live in?"
+msgstr "В якій збірці повинна знаходитись цей Пульс?"
+
+#: frontend/src/metabase/pulse/components/PulseEditName.jsx:35
+msgid "Name your pulse"
+msgstr "Дайти ім'я вашому Пульсу"
+
+#: frontend/src/metabase/pulse/components/PulseEditName.jsx:37
+msgid "Give your pulse a name to help others understand what it's about"
+msgstr "Дайте назву вашому Пульсу, щоб інші люди зрозуміли про що він"
+
+#: frontend/src/metabase/pulse/components/PulseEditName.jsx:49
+msgid "Important metrics"
+msgstr "Важливі метрики"
+
+#: frontend/src/metabase/pulse/components/PulseEditSkip.jsx:22
+msgid "Skip if no results"
+msgstr "Пропустити якщо немає результатів"
+
+#: frontend/src/metabase/pulse/components/PulseEditSkip.jsx:24
+msgid "Skip a scheduled Pulse if none of its questions have any results"
+msgstr "Пропустити заплановану відправку Пульсу якщо жоден із запитів не містить результатів"
+
+#: frontend/src/metabase/pulse/components/RecipientPicker.jsx:65
+msgid "Enter email addresses you'd like this data to go to"
+msgstr "Вкажіть email адреси на які ви б хотіли відправити ці дані"
+
+#: frontend/src/metabase/pulse/components/WhatsAPulse.jsx:16
+msgid "Help everyone on your team stay in sync with your data."
+msgstr "Допоможіть вашій команді залишатися в курсі змін ваших даних."
+
+#: frontend/src/metabase/pulse/components/WhatsAPulse.jsx:30
+msgid "Pulses let you send data from Metabase to email or Slack on the schedule of your choice."
+msgstr "Пульси дозволяють відправляти дані з Metabase по електронній пошті або в Slack за заданим вами розкладом."
+
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:100
+msgid "After {0}"
+msgstr "Після {0}"
+
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:102
+msgid "Before {0}"
+msgstr "До {0}"
+
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:104
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:295
+msgid "Is Empty"
+msgstr "Пусто"
+
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:106
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:301
+msgid "Not Empty"
+msgstr "Чи не порожньо"
+
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:109
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:213
+msgid "All Time"
+msgstr "Весь час"
+
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:154
+msgid "Apply"
+msgstr "застосувати"
+
+#: frontend/src/metabase/modes/components/actions/CommonMetricsAction.jsx:21
+msgid "View {0}"
+msgstr "Переглянути {0}"
+
+#: frontend/src/metabase/modes/components/actions/CompareWithTable.jsx:29
+msgid "Compare this with all rows in the table"
+msgstr "Порівняти з усіма рядками в таблиці"
+
+#: frontend/src/metabase/modes/components/actions/CompoundQueryAction.jsx:14
+msgid "Analyze the results of this Query"
+msgstr "Проаналізовано результати цього запиту"
+
+#: frontend/src/metabase/modes/components/actions/CountByTimeAction.jsx:29
+msgid "Count of rows by time"
+msgstr "Кількість рядків по часу"
+
+#: frontend/src/metabase/modes/components/actions/PivotByAction.jsx:52
+msgid "Break out by {0}"
+msgstr "Розбити по {0}"
+
+#: frontend/src/metabase/modes/components/actions/SummarizeBySegmentMetricAction.jsx:31
+msgid "Summarize this segment"
+msgstr "Резюмувати цей сегмент"
+
+#: frontend/src/metabase/modes/components/actions/UnderlyingDataAction.jsx:14
+msgid "View this as a table"
+msgstr "Переглянути як таблицю"
+
+#: frontend/src/metabase/modes/components/actions/UnderlyingRecordsAction.jsx:22
+msgid "View the underlying {0} records"
+msgstr "Подивитися {0} пов'язані записи"
+
+#: frontend/src/metabase/modes/components/actions/XRayCard.jsx:20
+msgid "X-Ray this question"
+msgstr "Просканувати цей запит"
+
+#: frontend/src/metabase/qb/components/drill/AutomaticDashboardDrill.jsx:32
+msgid "X-ray {0} {1}"
+msgstr "X-ray {0} {1}"
+
+#: frontend/src/metabase/qb/components/drill/AutomaticDashboardDrill.jsx:32
+#: frontend/src/metabase/qb/components/drill/CompareToRestDrill.js:32
+msgid "these"
+msgstr "ці"
+
+#: frontend/src/metabase/qb/components/drill/AutomaticDashboardDrill.jsx:32
+#: frontend/src/metabase/qb/components/drill/CompareToRestDrill.js:32
+msgid "this"
+msgstr "це"
+
+#: frontend/src/metabase/qb/components/drill/CompareToRestDrill.js:32
+msgid "Compare {0} {1} to the rest"
+msgstr "Порівняти {0} {1} з іншим"
+
+#: frontend/src/metabase/modes/components/drill/DistributionDrill.jsx:35
+msgid "Distribution"
+msgstr "поширення"
+
+#: frontend/src/metabase/modes/components/drill/ObjectDetailDrill.jsx:38
+msgid "View details"
+msgstr "Переглянути деталі"
+
+#: frontend/src/metabase/modes/components/drill/QuickFilterDrill.jsx:54
+msgid "View this {0}'s {1}"
+msgstr "Переглянути {0} {1}"
+
+#: frontend/src/metabase/modes/components/drill/SortAction.jsx:42
+msgid "Ascending"
+msgstr "За зростанням"
+
+#: frontend/src/metabase/modes/components/drill/SortAction.jsx:50
+msgid "Descending"
+msgstr "По спаданню"
+
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnByTimeDrill.js:47
+msgid "over time"
+msgstr "по часу"
+
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:21
+msgid "Avg"
+msgstr "середнє"
+
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:33
+msgid "Distincts"
+msgstr "унікальні"
+
+#: frontend/src/metabase/modes/components/drill/UnderlyingRecordsDrill.jsx:32
+msgid "View this {0}"
+msgid_plural "View these {0}"
+msgstr[0] "Показати {0}"
+msgstr[1] "Показати {0}"
+msgstr[2] "Показати {0}"
+msgstr[3] "Показати {0}"
+
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:225
+#: frontend/src/metabase/modes/components/drill/ZoomDrill.jsx:26
+msgid "Zoom in"
+msgstr "наблизити"
+
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:19
+msgid "Custom Expression"
+msgstr "Довільний вираз"
+
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:20
+msgid "Common Metrics"
+msgstr "Загальні метрики"
+
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:209
+msgid "Metabasics"
+msgstr "Metabasics"
+
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:319
+msgid "Name (optional)"
+msgstr "Ім'я (не обов'язково)"
+
+#: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:156
+msgid "Choose an aggregation"
+msgstr "Виберіть агрегацію"
+
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:100
+msgid "Set up your own alert"
+msgstr "Налаштування власне попередження"
+
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:140
+msgid "Unsubscribing..."
+msgstr "Відписка ..."
+
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:145
+msgid "Failed to unsubscribe"
+msgstr "Помилка при її анулювання"
+
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:204
+msgid "Unsubscribe"
+msgstr "Відмовитися"
+
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:235
+msgid "No channel"
+msgstr "немає каналу"
+
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:263
+msgid "Okay, you're unsubscribed"
+msgstr "Відмінно, ви відписалися"
+
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:335
+msgid "You're receiving {0}'s alerts"
+msgstr "Вами отримано {0} попереджень"
+
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:336
+msgid "{0} set up an alert"
+msgstr "{0} встановив оповіщення"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:160
+msgid "alerts"
+msgstr "попередження"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:183
+msgid "Let's set up your alert"
+msgstr "Давайте налаштуємо ваше попередження"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:214
+msgid "The wide world of alerts"
+msgstr "Неосяжний світ попереджень"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:215
+msgid "There are a few different kinds of alerts you can get"
+msgstr "Є кілька різних типів попереджень, які ви можете отримати"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:229
+msgid "When a raw data question {0}"
+msgstr "Коли запит за вихідними даними {0}"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:230
+msgid "returns any results"
+msgstr "повертати будь-які результати"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:241
+msgid "When a line or bar {0}"
+msgstr "Коли лінія або ряд {0}"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:242
+msgid "crosses a goal line"
+msgstr "через лінію мети"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:253
+msgid "When a progress bar {0}"
+msgstr "Коли прогрес бар {0}"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:254
+msgid "reaches its goal"
+msgstr "досягне цільового значення"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:262
+msgid "Set up an alert"
+msgstr "налаштувати попередження"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:331
+msgid "Edit your alert"
+msgstr "Змінити ваше попередження"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:331
+msgid "Edit alert"
+msgstr "змінити попередження"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:374
+msgid "This alert will no longer be emailed to {0}."
+msgstr "Це попередження більше не буде відправлятися на {0}."
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:382
+msgid "Slack channel {0} will no longer get this alert."
+msgstr "Канал Slack {0} більше не буде отримувати дане попередження."
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:386
+msgid "Channel {0} will no longer receive this alert."
+msgstr "Канал {0} більше не буде отримувати дане попередження."
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:403
+msgid "Delete this alert"
+msgstr "Видалити це попередження"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:405
+msgid "Stop delivery and delete this alert. There's no undo, so be careful."
+msgstr "Зупинити доставку і видалити це попередження. Дія не може бути скасовано, будьте уважні."
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:413
+msgid "Delete this alert?"
+msgstr "Видалити це попередження?"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:497
+msgid "Alert me when the line…"
+msgstr "Попередити мене коли лінія ..."
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:498
+msgid "Alert me when the progress bar…"
+msgstr "Попередити мене коли прогрес ..."
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:501
+msgid "Goes above the goal line"
+msgstr "Перевищить лінію мети"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:501
+msgid "Reaches the goal"
+msgstr "досягне мети"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:504
+msgid "Goes below the goal line"
+msgstr "Опуститься нижче лінії цілі"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:504
+msgid "Goes below the goal"
+msgstr "Опуститься нижче цілі"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:512
+msgid "The first time it crosses, or every time?"
+msgstr "При першому перетині, або кожен раз?"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:513
+msgid "The first time it reaches the goal, or every time?"
+msgstr "При першому досягненні мети, або кожен раз?"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:515
+msgid "The first time"
+msgstr "Перший раз"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:516
+msgid "Every time"
+msgstr "Кожен раз"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:619
+msgid "Where do you want to send these alerts?"
+msgstr "Куди ви хочете відправляти дані попередження?"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:630
+msgid "Email alerts to:"
+msgstr "Надсилати попереджувальні на:"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:672
+msgid "{0} Goal-based alerts aren't yet supported for charts with more than one line, so this alert will be sent whenever the chart has {1}."
+msgstr "{0} Повідомлення засновані на цілях ще не підтримуються для графіків з більш ніж однієї кривої. Отже це повідомлення буде надіслано як тільки значення графіка досягне {1}."
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:675
+msgid "results"
+msgstr "результати"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:679
+msgid "{0} This kind of alert is most useful when your saved question doesn’t {1} return any results, but you want to know when it does."
+msgstr "{0} Це повідомлення особливо корисно коли ваш збережений питання не {1} повертає ніяких результатів, але ви хочете знати коли це станеться."
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:680
+msgid "Tip"
+msgstr "Підказка"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:682
+msgid "usually"
+msgstr "зазвичай"
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:57
+msgid "Pick a segment or table"
+msgstr "Прикріпіть сегмент або таблицю"
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:73
+msgid "Select a database"
+msgstr "Виберіть базу даних"
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:88
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:87
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:187
+#: frontend/src/metabase/reference/components/MetricImportantFieldsDetail.jsx:35
+msgid "Select..."
+msgstr "Вибрати ..."
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:128
+msgid "Select a table"
+msgstr "Виберіть таблицю"
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:793
+msgid "No tables found in this database."
+msgstr "У цій базі даних не знайдено жодної таблиці."
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:830
+msgid "Is a question missing?"
+msgstr "Якщо пропустити запит?"
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:834
+msgid "Learn more about nested queries"
+msgstr "Дізнатися більше про вкладених запитах"
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:868
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:30
+msgid "Fields"
+msgstr "поля"
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:946
+msgid "No segments were found."
+msgstr "Сегменти не знайдені."
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:969
+msgid "Find a segment"
+msgstr "знайти сегмент"
+
+#: frontend/src/metabase/query_builder/components/ExpandableString.jsx:46
+msgid "View less"
+msgstr "менше"
+
+#: frontend/src/metabase/query_builder/components/ExpandableString.jsx:56
+msgid "View more"
+msgstr "більше"
+
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:112
+msgid "Pick a field to sort by"
+msgstr "Виберіть поле для сортування"
+
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:125
+msgid "Sort"
+msgstr "Сортувати"
+
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:137
+msgid "Row limit"
+msgstr "Кількість рядків"
+
+#: frontend/src/metabase/query_builder/components/FieldName.jsx:69
+msgid "Unknown Field"
+msgstr "невідоме поле"
+
+#: frontend/src/metabase/query_builder/components/FieldName.jsx:72
+msgid "field"
+msgstr "поле"
+
+#: frontend/src/metabase/query_builder/components/Filter.jsx:114
+msgid "Matches"
+msgstr "збіги"
+
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:152
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:160
+msgid "Add filters to narrow your answer"
+msgstr "Додайте фільтри щоб скоротити результати запиту"
+
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:284
+msgid "Add a grouping"
+msgstr "Додати групування"
+
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:322
+#: frontend/src/metabase/visualizations/components/LineAreaBarChart.jsx:102
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:113
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:152
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:194
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:59
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:68
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:75
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:225
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:231
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:237
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:70
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:75
+msgid "Data"
+msgstr "дані"
+
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:352
+msgid "Filtered by"
+msgstr "відфільтровано по"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:75
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:369
+msgid "View"
+msgstr "Вид"
+
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:386
+msgid "Grouped By"
+msgstr "згруповано за"
+
+#: frontend/src/metabase/query_builder/components/LimitWidget.jsx:27
+msgid "None"
+msgstr "0"
+
+#: frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx:345
+msgid "This question is written in {0}."
+msgstr "Цей запит написаний в {0}."
+
+#: frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx:353
+msgid "Hide Editor"
+msgstr "Приховати редактор"
+
+#: frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx:354
+msgid "Hide Query"
+msgstr "приховати Запит"
+
+#: frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx:359
+msgid "Open Editor"
+msgstr "Відкрити редактор"
+
+#: frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx:360
+msgid "Show Query"
+msgstr "Показати Запит"
+
+#: frontend/src/metabase/query_builder/components/QueryDefinitionTooltip.jsx:25
+msgid "This metric has been retired.  It's no longer available for use."
+msgstr "Ця метрика була видалена. Вона більш недоступна для використання."
+
+#: frontend/src/metabase/query_builder/components/QueryDownloadWidget.jsx:34
+#: frontend/src/metabase/query_builder/components/QueryDownloadWidget.jsx:46
+msgid "Download full results"
+msgstr "Завантажити повні результати."
+
+#: frontend/src/metabase/query_builder/components/QueryDownloadWidget.jsx:35
+msgid "Download this data"
+msgstr "Завантажити ці дані"
+
+#: frontend/src/metabase/query_builder/components/QueryDownloadWidget.jsx:46
+msgid "Warning"
+msgstr "попередження"
+
+#: frontend/src/metabase/query_builder/components/QueryDownloadWidget.jsx:52
+msgid "Your answer has a large number of rows so it could take a while to download."
+msgstr "Ваш результат містить велику кількість рядків і займе якийсь час на завантаження."
+
+#: frontend/src/metabase/query_builder/components/QueryDownloadWidget.jsx:53
+msgid "The maximum download size is 1 million rows."
+msgstr "Максимальний розмір завантажених 1 мільйон рядків."
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:232
+msgid "Edit question"
+msgstr "змінити запит"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:249
+msgid "SAVE CHANGES"
+msgstr "ЗБЕРЕГТИ ЗМІНИ"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:263
+msgid "CANCEL"
+msgstr "СКАСУВАТИ"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:276
+msgid "Move question"
+msgstr "перемістити запит"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:283
+msgid "Which collection should this be in?"
+msgstr "Яка колекція повинна бути тут?"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:313
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:110
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorSidebar.jsx:83
+msgid "Variables"
+msgstr "Змінні"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:432
+msgid "Learn about your data"
+msgstr "Дізнатися про свої дані"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:460
+msgid "Alerts are on"
+msgstr "попередження про"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:522
+msgid "started from"
+msgstr "починаючи з"
+
+#: frontend/src/metabase/query_builder/components/QueryModeButton.jsx:48
+msgid "SQL"
+msgstr "SQL"
+
+#: frontend/src/metabase/query_builder/components/QueryModeButton.jsx:48
+msgid "native query"
+msgstr "Прямий запит"
+
+#: frontend/src/metabase/query_builder/components/QueryModeButton.jsx:52
+msgid "Not Supported"
+msgstr "Не підтримується"
+
+#: frontend/src/metabase/query_builder/components/QueryModeButton.jsx:58
+msgid "View the {0}"
+msgstr "Переглянути {0}"
+
+#: frontend/src/metabase/query_builder/components/QueryModeButton.jsx:59
+msgid "Switch to {0}"
+msgstr "Переключитися на {0}"
+
+#: frontend/src/metabase/query_builder/components/QueryModeButton.jsx:62
+msgid "Switch to Builder"
+msgstr "Переключитися в Майстер запитів"
+
+#: frontend/src/metabase/query_builder/components/QueryModeButton.jsx:87
+msgid "{0} for this question"
+msgstr "{0} для цього запиту"
+
+#: frontend/src/metabase/query_builder/components/QueryModeButton.jsx:111
+msgid "Convert this question to {0}"
+msgstr "Перетворити цей запит в {0}"
+
+#: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:122
+msgid "This question will take approximately {0} to refresh"
+msgstr "Оновлення запиту займе {0}"
+
+#: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:131
+msgid "Updated {0}"
+msgstr "Оновлене {0}"
+
+#: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:141
+msgid "row"
+msgid_plural "rows"
+msgstr[0] "рядок"
+msgstr[1] "рядок"
+msgstr[2] "рядок"
+msgstr[3] "рядок"
+
+#: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:148
+msgid "Showing first {0} {1}"
+msgstr "Перегляд перших {0} {1}"
+
+#: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:151
+msgid "Showing {0} {1}"
+msgstr "Перегляд {0} {1}"
+
+#: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:281
+msgid "Doing science"
+msgstr "наукові дослідження"
+
+#: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:294
+msgid "If you give me some data I can show you something cool. Run a Query!"
+msgstr "Якщо ви дасте мені дані я зможу показати щось круте. Запустіть запит!"
+
+#: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:299
+msgid "How do I use this thing?"
+msgstr "Як це використовувати?"
+
+#: frontend/src/metabase/query_builder/components/RunButton.jsx:28
+msgid "Get Answer"
+msgstr "Отримати відповідь"
+
+#: frontend/src/metabase/query_builder/components/SavedQuestionIntroModal.jsx:12
+msgid "It's okay to play around with saved questions"
+msgstr "Це нормально, коли можна грати зі збереженими питаннями"
+
+#: frontend/src/metabase/query_builder/components/SavedQuestionIntroModal.jsx:14
+msgid "You won't make any permanent changes to a saved question unless you click the edit icon in the top-right."
+msgstr "Ви не будете вносити будь-які постійні зміни в збережений запит, якщо не клацнете значок редагування в правому верхньому куті."
+
+#: frontend/src/metabase/query_builder/components/SearchBar.jsx:28
+msgid "Search for"
+msgstr "Пошук"
+
+#: frontend/src/metabase/query_builder/components/SelectionModule.jsx:158
+msgid "Advanced..."
+msgstr "Розширений ..."
+
+#: frontend/src/metabase/query_builder/components/SelectionModule.jsx:167
+msgid "Sorry. Something went wrong."
+msgstr "Просимо вибачення. Щось пішло не так."
+
+#: frontend/src/metabase/query_builder/components/TimeGroupingPopover.jsx:40
+msgid "Group time by"
+msgstr "Групувати час по"
+
+#: frontend/src/metabase/query_builder/components/VisualizationError.jsx:46
+msgid "Your question took too long"
+msgstr "Ваш запит займає надто багато часу"
+
+#: frontend/src/metabase/query_builder/components/VisualizationError.jsx:47
+msgid "We didn't get an answer back from your database in time, so we had to stop. You can try again in a minute, or if the problem persists, you can email an admin to let them know."
+msgstr "Ми не отримали відповідь від Вашої бази даних вчасно, так що нам довелося зупинитися. Ви можете спробувати ще раз через пару хвилин, або якщо проблема зберігається оповістити адміністратора по електронній пошті"
+
+#: frontend/src/metabase/query_builder/components/VisualizationError.jsx:55
+msgid "We're experiencing server issues"
+msgstr "У нас складнощі з сервером"
+
+#: frontend/src/metabase/query_builder/components/VisualizationError.jsx:56
+msgid "Try refreshing the page after waiting a minute or two. If the problem persists we'd recommend you contact an admin."
+msgstr "Спробуйте оновити сторінку, почекавши одну-дві хвилини. Якщо проблема повториться, рекомендуємо звернутися до адміністратора."
+
+#: frontend/src/metabase/query_builder/components/VisualizationError.jsx:88
+msgid "There was a problem with your question"
+msgstr "З вашим запитів виникла проблема"
+
+#: frontend/src/metabase/query_builder/components/VisualizationError.jsx:89
+msgid "Most of the time this is caused by an invalid selection or bad input value. Double check your inputs and retry your query."
+msgstr "У більшості випадків це пов'язано з помилкою вибору або введеного значення. Перевірте дані та повторіть запит."
+
+#: frontend/src/metabase/query_builder/components/VisualizationResult.jsx:60
+msgid "This may be the answer you’re looking for. If not, try removing or changing your filters to make them less specific."
+msgstr "Можливо, ми знайшли те, що ви шукали. Якщо немає, спробуйте скасувати або змінити фільтри, зробивши їх менш суворими."
+
+#: frontend/src/metabase/query_builder/components/VisualizationResult.jsx:66
+msgid "You can also {0} when there are some results."
+msgstr "Ми також можете {0} після отримання результату."
+
+#: frontend/src/metabase/query_builder/components/VisualizationResult.jsx:68
+msgid "get an alert"
+msgstr "отримати попередження"
+
+#: frontend/src/metabase/query_builder/components/VisualizationResult.jsx:77
+msgid "Back to last run"
+msgstr "Повернутися до останнього запуску"
+
+#: frontend/src/metabase/query_builder/components/VisualizationSettings.jsx:100
+msgid "Visualization"
+msgstr "візуалізація"
+
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:96
+msgid "No description set."
+msgstr "Опис не задано."
+
+#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:21
+msgid "Use for current question"
+msgstr "Використовувати поточний запит."
+
+#: frontend/src/metabase/reference/components/UsefulQuestions.jsx:16
+msgid "Potentially useful questions"
+msgstr "Потенційно корисні запити."
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:166
+msgid "Group by {0}"
+msgstr "Групувати за {0}"
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:165
+msgid "Sum of all values of {0}"
+msgstr "Сума всіх значень {0}"
+
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:63
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:51
+msgid "All distinct values of {0}"
+msgstr "Унікальні значення {0}"
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:187
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:39
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:51
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:39
+msgid "Number of {0} grouped by {1}"
+msgstr "Число {0} згрупованих за {1}"
+
+#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:10
+#: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:20
+#: frontend/src/metabase/reference/databases/FieldSidebar.jsx:30
+#: frontend/src/metabase/reference/databases/TableSidebar.jsx:26
+#: frontend/src/metabase/reference/guide/BaseSidebar.jsx:17
+#: frontend/src/metabase/reference/guide/BaseSidebar.jsx:19
+#: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:23
+#: frontend/src/metabase/reference/segments/SegmentFieldSidebar.jsx:24
+#: frontend/src/metabase/reference/segments/SegmentSidebar.jsx:23
+msgid "Data Reference"
+msgstr "Відповідність Даних"
+
+#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:13
+msgid "Learn more about your data structure to ask more useful questions"
+msgstr "Дізнайтеся більше про структуру ваших даних для створення корисних запитів"
+
+#: frontend/src/metabase/query_builder/components/dataref/MetricPane.jsx:58
+#: frontend/src/metabase/query_builder/components/dataref/SegmentPane.jsx:84
+msgid "Could not find the table metadata prior to creating a new question"
+msgstr "Не вдалося знайти метадані таблиці до створення нового питання"
+
+#: frontend/src/metabase/query_builder/components/dataref/MetricPane.jsx:80
+msgid "See {0}"
+msgstr "Подивитися {0}"
+
+#: frontend/src/metabase/query_builder/components/dataref/MetricPane.jsx:94
+msgid "Metric Definition"
+msgstr "Визначення Метрики"
+
+#: frontend/src/metabase/query_builder/components/dataref/SegmentPane.jsx:118
+msgid "Filter by {0}"
+msgstr "Відфільтровано по {0}"
+
+#: frontend/src/metabase/query_builder/components/dataref/SegmentPane.jsx:127
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:36
+msgid "Number of {0}"
+msgstr "Число {0}"
+
+#: frontend/src/metabase/query_builder/components/dataref/SegmentPane.jsx:134
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:46
+msgid "See all {0}"
+msgstr "Дивитися всі {0}"
+
+#: frontend/src/metabase/query_builder/components/dataref/SegmentPane.jsx:148
+msgid "Segment Definition"
+msgstr "визначення сегмента"
+
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:50
+msgid "An error occurred loading the table"
+msgstr "При завантаженні таблиці сталася помилка"
+
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:74
+msgid "See the raw data for {0}"
+msgstr "Подивитися вихідні дані для {0}"
+
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:180
+msgid "More"
+msgstr "більше"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:201
+msgid "Invalid expression"
+msgstr "некоректне вираз"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:276
+msgid "unknown error"
+msgstr "невідома помилка"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:46
+msgid "Field formula"
+msgstr "Формула поля"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:57
+msgid "Think of this as being kind of like writing a formula in a spreadsheet program: you can use numbers, fields in this table, mathematical symbols like +, and some functions. So you could type something like Subtotal - Cost."
+msgstr "Подумайте про це як про те, як написати формулу в програмі для роботи з електронними таблицями: ви можете використовувати числа, поля таблиці, математичні символи, такі як +, і деякі функції. Таким чином, ви можете ввести щось на зразок Разом - Вартість."
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:62
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:126
+msgid "Learn more"
+msgstr "Дізнатися більше"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:66
+msgid "Give it a name"
+msgstr "Дати ім'я"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:72
+msgid "Something nice and descriptive"
+msgstr "Що-небудь чудове і зрозуміле"
+
+#: frontend/src/metabase/query_builder/components/expressions/Expressions.jsx:60
+msgid "Add a custom field"
+msgstr "Додати довільне поле"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:17
+msgid "Include {0}"
+msgstr "Включаючи {0}"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:19
+msgid "Case sensitive"
+msgstr "Чутливе до регістру"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:23
+msgid "today"
+msgstr "сьогодні"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:24
+msgid "this week"
+msgstr "на цьому тижні"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:25
+msgid "this month"
+msgstr "у цьому місяці"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:26
+msgid "this year"
+msgstr "в цьому році"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:27
+msgid "this minute"
+msgstr "в цю хвилину"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:28
+msgid "this hour"
+msgstr "в цьому годині"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:290
+msgid "not implemented {0}"
+msgstr "не реалізоване {0}"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:291
+msgid "true"
+msgstr "істина"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:291
+msgid "false"
+msgstr "брехня"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:404
+msgid "Add filter"
+msgstr "Додати фільтр"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterWidgetList.jsx:64
+msgid "Item"
+msgstr "елемент"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:221
+msgid "Previous"
+msgstr "Попередній"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:252
+msgid "Current"
+msgstr "Поточний"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:278
+#: frontend/src/metabase/visualizations/lib/settings/column.js:246
+#: frontend/src/metabase/visualizations/lib/settings/series.js:89
+msgid "On"
+msgstr "на"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/NumberPicker.jsx:47
+msgid "Enter desired number"
+msgstr "Введіть бажаний номер"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/SelectPicker.jsx:83
+#: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:100
+msgid "Empty"
+msgstr "Пусто"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/SelectPicker.jsx:116
+msgid "Find a value"
+msgstr "знайти значення"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/SpecificDatePicker.jsx:113
+msgid "Hide calendar"
+msgstr "приховати календар"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/SpecificDatePicker.jsx:113
+msgid "Show calendar"
+msgstr "Показати календар"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/TextPicker.jsx:97
+msgid "You can enter multiple values separated by commas"
+msgstr "Ви можете ввести безліч значень, розділених комою"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/TextPicker.jsx:38
+msgid "Enter desired text"
+msgstr "Введіть бажаний текст"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:83
+msgid "Try it"
+msgstr "Спробувати"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:105
+msgid "What's this for?"
+msgstr "Для чого це?"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:107
+msgid "Variables in native queries let you dynamically replace values in your queries using filter widgets or through the URL."
+msgstr "Змінні в прямих запитах дозволяють динамічно замінювати значення у ваших запитах за допомогою віджетів фільтрів або через URL-адресу."
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:112
+msgid "{0} creates a variable in this SQL template called \"variable_name\". Variables can be given types in the side panel, which changes their behavior. All variable types other than \"Field Filter\" will automatically cause a filter widget to be placed on this question; with Field Filters, this is optional. When this filter widget is filled in, that value replaces the variable in the SQL template."
+msgstr "{0} створює змінну в цьому шаблоні SQL з ім'ям \"variable_name\". Змінні можуть бути задані типами на бічній панелі, що змінює їх поведінку. Всі типи змінних, відмінні від \"Фільтр поля\", автоматично викликають віджет фільтра з цього питання; з \"Фільтром поля\" це необов'язково. При заповненні цього віджет фільтра, це значення замінює змінну в шаблоні SQL."
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:121
+msgid "Field Filters"
+msgstr "Фільтри поля"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:123
+msgid "Giving a variable the \"Field Filter\" type allows you to link SQL cards to dashboard filter widgets or use more types of filter widgets on your SQL question. A Field Filter variable inserts SQL similar to that generated by the GUI query builder when adding filters on existing columns."
+msgstr "Присвоєння змінній типу \"Фільтр поля\" дозволяє зв'язати картки SQL з віджетами фільтра панелі моніторингу або використовувати додаткові типи віджетів фільтра в запиті SQL. Мінлива фільтра поля вставляє SQL, подібний до того, який генерується будівником запитів GUI при додаванні фільтрів на існуючі стовпчики."
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:126
+msgid "When adding a Field Filter variable, you'll need to map it to a specific field. You can then choose to display a filter widget on your question, but even if you don't, you can now map your Field Filter variable to a dashboard filter when adding this question to a dashboard. Field Filters should be used inside of a \"WHERE\" clause."
+msgstr "При додаванні змінної \"Фільтр поля\" необхідно зіставити її з певним полем. Після цього ви можете відобразити віджет фільтра для вашого запиту, але навіть якщо ви цього не зробите, тепер можна зіставити змінну \"Фільтр поля\" з фільтром панелі інструментів при додаванні цього питання на панель інструментів. \"Фільтри поля\" повинні використовуватися всередині положення \"WHERE\"."
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:130
+msgid "Optional Clauses"
+msgstr "Опціональні положення"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:132
+msgid "brackets around a {0} create an optional clause in the template. If \"variable\" is set, then the entire clause is placed into the template. If not, then the entire clause is ignored."
+msgstr "Дужки навколо {0} створюють опциональне положення в шаблоні. Якщо \"Змінна\" встановлена, тоді все положення включається в шаблон. Якщо ні - все положення ігнорується."
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:142
+msgid "To use multiple optional clauses you can include at least one non-optional WHERE clause followed by optional clauses starting with \"AND\"."
+msgstr "Для використання декількох опціональних положень, ви можете включити принаймні одне обов'язкове положення WHERE, доповнивши його опціональними через \"AND\"."
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:154
+msgid "Read the full documentation"
+msgstr "Ознайомитися з повною документацією"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:127
+msgid "Filter label"
+msgstr "Тема фільтра"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:139
+msgid "Variable type"
+msgstr "Тип змінної"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:148
+msgid "Text"
+msgstr "текст"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:150
+msgid "Date"
+msgstr "Дата"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:151
+msgid "Field Filter"
+msgstr "Фільтр поля"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:157
+msgid "Field to map to"
+msgstr "сполучні поля"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:179
+msgid "Filter widget type"
+msgstr "Тип фільтра віджета"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:201
+msgid "Required?"
+msgstr "Обов'язково?"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:211
+msgid "Default filter widget value"
+msgstr "Значення за замовчуванням для фільтра віджета"
+
+#: frontend/src/metabase/query_builder/containers/ArchiveQuestionModal.jsx:46
+msgid "Archive this question?"
+msgstr "Перемістити цей запит в архів?"
+
+#: frontend/src/metabase/query_builder/containers/ArchiveQuestionModal.jsx:57
+msgid "This question will be removed from any dashboards or pulses using it."
+msgstr "Цей запит буде видалений з усіх панелей інструментів або Пульсів, де він був доданий."
+
+#: frontend/src/metabase/query_builder/containers/QueryBuilder.jsx:136
+msgid "Question"
+msgstr "запит"
+
+#: frontend/src/metabase/questions/containers/AddToDashboard.jsx:11
+msgid "Pick a question to add"
+msgstr "Виберіть запит для додавання"
+
+#: frontend/src/metabase/reference/components/EditHeader.jsx:19
+msgid "You are editing this page"
+msgstr "Ви редагуєте цю сторінку"
+
+#: frontend/src/metabase/reference/components/EditableReferenceHeader.jsx:101
+#: frontend/src/metabase/reference/components/ReferenceHeader.jsx:63
+msgid "See this {0}"
+msgstr "Подивитися {0}"
+
+#: frontend/src/metabase/reference/components/EditableReferenceHeader.jsx:120
+msgid "A subset of"
+msgstr "безліч"
+
+#: frontend/src/metabase/reference/components/Field.jsx:47
+#: frontend/src/metabase/reference/components/Field.jsx:86
+#: frontend/src/metabase/reference/components/FieldTypeDetail.jsx:32
+#: frontend/src/metabase/reference/components/FieldTypeDetail.jsx:68
+msgid "Select a field type"
+msgstr "Виберіть тип поля"
+
+#: frontend/src/metabase/reference/components/Field.jsx:56
+#: frontend/src/metabase/reference/components/Field.jsx:71
+#: frontend/src/metabase/reference/components/FieldTypeDetail.jsx:41
+#: frontend/src/metabase/reference/components/FieldTypeDetail.jsx:57
+msgid "No field type"
+msgstr "Ні типу поля"
+
+#: frontend/src/metabase/reference/components/FieldToGroupBy.jsx:22
+msgid "by"
+msgstr "по"
+
+#: frontend/src/metabase/reference/components/FieldTypeDetail.jsx:25
+#: frontend/src/metabase/reference/databases/FieldList.jsx:152
+#: frontend/src/metabase/reference/segments/SegmentFieldList.jsx:153
+msgid "Field type"
+msgstr "Тип поля"
+
+#: frontend/src/metabase/reference/components/FieldTypeDetail.jsx:72
+msgid "Select a Foreign Key"
+msgstr "Виберіть зовнішній ключ"
+
+#: frontend/src/metabase/reference/components/Formula.jsx:53
+msgid "View the {0} formula"
+msgstr "Переглянути формулу {0}"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:80
+msgid "Why this {0} is important"
+msgstr "Чому {0} є важливим"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:81
+msgid "Why this {0} is interesting"
+msgstr "Чому {0} видався цікавим"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:87
+msgid "Nothing important yet"
+msgstr "Поки нічого важливого"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:88
+#: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:168
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:233
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:211
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:215
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:219
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:229
+msgid "Nothing interesting yet"
+msgstr "Поки нічого цікавого"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:93
+msgid "Things to be aware of about this {0}"
+msgstr "Що потрібно знати про {0}"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:97
+#: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:178
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:243
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:221
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:225
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:229
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:239
+msgid "Nothing to be aware of yet"
+msgstr "Поки нічого не відомо"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:103
+msgid "Explore this metric"
+msgstr "дослідити метрику"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:105
+msgid "View this metric"
+msgstr "переглянути метрику"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:112
+msgid "By {0}"
+msgstr "{0}"
+
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:146
+msgid "Remove item"
+msgstr "видалити елемент"
+
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:155
+msgid "Why is this dashboard the most important?"
+msgstr "Чому ця панель інструментів найважливіша?"
+
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:156
+msgid "What is useful or interesting about this {0}?"
+msgstr "Що буде цікаво чи корисно знати про {0}?"
+
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:160
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:174
+msgid "Write something helpful here"
+msgstr "Напишіть тут що-небудь корисне"
+
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:169
+msgid "Is there anything users of this dashboard should be aware of?"
+msgstr "Чи є що-небудь, про що користувачі цієї панелі індикаторів повинні знати?"
+
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:170
+msgid "Anything users should be aware of about this {0}?"
+msgstr "Чи є що-небудь, про що користувачі повинні знати щодо {0}?"
+
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:182
+#: frontend/src/metabase/reference/components/MetricImportantFieldsDetail.jsx:26
+msgid "Which 2-3 fields do you usually group this metric by?"
+msgstr "За якими 2-3 полях ви зазвичай группируете дану метрику?"
+
+#: frontend/src/metabase/reference/components/GuideHeader.jsx:23
+msgid "This is the perfect place to start if you’re new to your company’s data, or if you just want to check in on what’s going on."
+msgstr "Це ідеальне місце для початку ознайомлення з даними вашої організації або щоб просто дізнатися що до чого."
+
+#: frontend/src/metabase/reference/components/MetricImportantFieldsDetail.jsx:65
+msgid "Most useful fields to group this metric by"
+msgstr "Найкорисніші поля, за якими можна групувати цю метрику"
+
+#: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:32
+msgid "Reason for changes"
+msgstr "причини зміни"
+
+#: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:36
+msgid "Leave a note to explain what changes you made and why they were required"
+msgstr "Залиште опис, щоб пояснити які зміни Ви зробили і чому вони необхідні"
+
+#: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:166
+msgid "Why this database is interesting"
+msgstr "Чому ця база даних може бути цікава"
+
+#: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:176
+msgid "Things to be aware of about this database"
+msgstr "Що потрібно знати про цю базі даних"
+
+#: frontend/src/metabase/reference/databases/DatabaseList.jsx:46
+#: frontend/src/metabase/reference/guide/BaseSidebar.jsx:39
+msgid "Databases and tables"
+msgstr "Бази даних і таблиці"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:61
+#: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:27
+#: frontend/src/metabase/reference/databases/FieldSidebar.jsx:41
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:170
+#: frontend/src/metabase/reference/databases/TableSidebar.jsx:34
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:184
+#: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:30
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:188
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:187
+#: frontend/src/metabase/reference/segments/SegmentFieldSidebar.jsx:31
+#: frontend/src/metabase/reference/segments/SegmentSidebar.jsx:30
+msgid "Details"
+msgstr "Деталі"
+
+#: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:33
+#: frontend/src/metabase/reference/databases/TableList.jsx:111
+msgid "Tables in {0}"
+msgstr "Таблиці в {0}"
+
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:222
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:200
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:218
+msgid "Actual name in database"
+msgstr "Справня назва в базі даних"
+
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:231
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:227
+msgid "Why this field is interesting"
+msgstr "Чому це поле може бути цікаво"
+
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:241
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:237
+msgid "Things to be aware of about this field"
+msgstr "Що потрібно знати про це поле"
+
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:253
+#: frontend/src/metabase/reference/databases/FieldList.jsx:155
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:249
+#: frontend/src/metabase/reference/segments/SegmentFieldList.jsx:156
+msgid "Data type"
+msgstr "Тип даних"
+
+#: frontend/src/metabase/reference/databases/FieldList.jsx:39
+#: frontend/src/metabase/reference/segments/SegmentFieldList.jsx:39
+msgid "Fields in this table will appear here as they're added"
+msgstr "Поля в цій таблицю з'являться після їх додавання"
+
+#: frontend/src/metabase/reference/databases/FieldList.jsx:134
+#: frontend/src/metabase/reference/segments/SegmentFieldList.jsx:135
+msgid "Fields in {0}"
+msgstr "Поля в {0}"
+
+#: frontend/src/metabase/reference/databases/FieldList.jsx:149
+#: frontend/src/metabase/reference/segments/SegmentFieldList.jsx:150
+msgid "Field name"
+msgstr "Назва поля"
+
+#: frontend/src/metabase/reference/databases/FieldSidebar.jsx:49
+msgid "X-ray this field"
+msgstr "Просканувати це поле"
+
+#: frontend/src/metabase/reference/databases/NoDatabasesEmptyState.jsx:8
+msgid "Metabase is no fun without any data"
+msgstr "Metabase стає марним якщо немає ніяких даних"
+
+#: frontend/src/metabase/reference/databases/NoDatabasesEmptyState.jsx:9
+msgid "Your databases will appear here once you connect one"
+msgstr "Ваша база даних з'явиться тут після підключення"
+
+#: frontend/src/metabase/reference/databases/NoDatabasesEmptyState.jsx:10
+msgid "Databases will appear here once your admins have added some"
+msgstr "Бази даних з'явиться тут після додавання адміністраторами"
+
+#: frontend/src/metabase/reference/databases/NoDatabasesEmptyState.jsx:12
+msgid "Connect a database"
+msgstr "Підключити базу даних"
+
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:38
+msgid "Count of {0}"
+msgstr "Кількість {0}"
+
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:47
+msgid "See raw data for {0}"
+msgstr "Подивитися вихідні дані для {0}"
+
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:209
+msgid "Why this table is interesting"
+msgstr "Чому ця таблиця може бути цікава"
+
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:219
+msgid "Things to be aware of about this table"
+msgstr "Що потрібно знати про цю таблиці"
+
+#: frontend/src/metabase/reference/databases/TableList.jsx:30
+msgid "Tables in this database will appear here as they're added"
+msgstr "Таблиці в цій базі даних з'являться після додавання"
+
+#: frontend/src/metabase/reference/databases/TableQuestions.jsx:34
+msgid "Questions about this table will appear here as they're added"
+msgstr "Запити про цю таблиці з'являться після додавання"
+
+#: frontend/src/metabase/reference/databases/TableQuestions.jsx:71
+#: frontend/src/metabase/reference/metrics/MetricQuestions.jsx:75
+#: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:36
+#: frontend/src/metabase/reference/segments/SegmentQuestions.jsx:74
+msgid "Questions about {0}"
+msgstr "Запити про {0}"
+
+#: frontend/src/metabase/reference/databases/TableQuestions.jsx:95
+#: frontend/src/metabase/reference/metrics/MetricQuestions.jsx:99
+#: frontend/src/metabase/reference/segments/SegmentQuestions.jsx:98
+msgid "Created {0} by {1}"
+msgstr "Створено {0} користувачем {1}"
+
+#: frontend/src/metabase/reference/databases/TableSidebar.jsx:40
+msgid "Fields in this table"
+msgstr "Поля в цій таблиці"
+
+#: frontend/src/metabase/reference/databases/TableSidebar.jsx:48
+msgid "Questions about this table"
+msgstr "Запити про цю таблиці"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:157
+msgid "Help your team get started with your data."
+msgstr "Допоможіть вашій команді з вашими даними."
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:159
+msgid "Show your team what’s most important by choosing your top dashboard, metrics, and segments."
+msgstr "Покажіть вашій команді найбільш важливе, вибравши найкращі панелі інструментів, метрики і сегменти."
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:165
+msgid "Get started"
+msgstr "почнемо"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:173
+msgid "Our most important dashboard"
+msgstr "Наша найважливіша панелі інструментів"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:188
+msgid "Numbers that we pay attention to"
+msgstr "Числа, які потребують уваги"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:213
+msgid "Metrics are important numbers your company cares about. They often represent a core indicator of how the business is performing."
+msgstr "Метрики - це важливі для компанії показники. Вони часто являють собою основні показники того, як працює бізнес."
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:221
+msgid "See all metrics"
+msgstr "Подивитися всі метрики"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:235
+msgid "Segments and tables"
+msgstr "Сегменти і таблиці"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:236
+msgid "Tables"
+msgstr "таблиці"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:262
+msgid "Segments and tables are the building blocks of your company's data. Tables are collections of the raw information while segments are specific slices with specific meanings, like {0}"
+msgstr "Сегменти і таблиці є складовими блоками даних вашої компанії. Таблиці є збіркою необробленої інформації, а сегменти - це конкретні зрізи зі специфічними значеннями, наприклад {0}"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:267
+msgid "Tables are the building blocks of your company's data."
+msgstr "Таблиці є складовими блоками даних вашої компанії."
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:277
+msgid "See all segments"
+msgstr "Подивитися всі сегменти"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:293
+msgid "See all tables"
+msgstr "Подивитися всі таблиці"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:301
+msgid "Other things to know about our data"
+msgstr "Інші речі, які потрібно знати про наших даних"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:302
+msgid "Find out more"
+msgstr "знайти більше"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:307
+msgid "A good way to get to know your data is by spending a bit of time exploring the different tables and other info available to you. It may take a while, but you'll start to recognize names and meanings over time."
+msgstr "Хороший спосіб познайомитися з вашими даними - витратити трохи часу на вивчення різних таблиць та іншої інформації, доступної вам. Це може зайняти деякий час, але ви з часом ви станете дізнаватися їх назви та значення."
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:313
+msgid "Explore our data"
+msgstr "дослідити дані"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:321
+msgid "Have questions?"
+msgstr "Залишилися питання?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:326
+msgid "Contact {0}"
+msgstr "Зв'яжіться з {0}"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:248
+msgid "Help new Metabase users find their way around."
+msgstr "Допоможіть новим користувачам Metabase знайти свій шлях."
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:251
+msgid "The Getting Started guide highlights the dashboard, metrics, segments, and tables that matter most, and informs your users of important things they should know before digging into the data."
+msgstr "У керівництві Getting Started основна увага приділяється панелі, метрик, сегментам і таблицями, які інформують ваших користувачів про важливі речі, які вони повинні знати, перш ніж вникати в дані."
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:258
+msgid "Is there an important dashboard for your team?"
+msgstr "Ця панель інструментів важлива для вашої команди?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:260
+msgid "Create a dashboard now"
+msgstr "Створити панель інструментів зараз"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:266
+msgid "What is your most important dashboard?"
+msgstr "Яка панель інструментів є найбільш важливою?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:285
+msgid "Do you have any commonly referenced metrics?"
+msgstr "Чи є у вас які-небудь часто згадувані метрики?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:287
+msgid "Learn how to define a metric"
+msgstr "Дізнайтеся як визначити метрику"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:300
+msgid "What are your 3-5 most commonly referenced metrics?"
+msgstr "Які ваші 3-5 найбільш часто згадувані метрики?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:344
+msgid "Add another metric"
+msgstr "Додати іншу метрику"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:357
+msgid "Do you have any commonly referenced segments or tables?"
+msgstr "Чи є у вас які-небудь часто згадувані сегменти або таблиці?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:359
+msgid "Learn how to create a segment"
+msgstr "Дізнайтеся як створити сегмент"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:372
+msgid "What are 3-5 commonly referenced segments or tables that would be useful for this audience?"
+msgstr "Які 3-5 часто згадуваних сегментів або таблиць, які були б корисні для цієї аудиторії?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:418
+msgid "Add another segment or table"
+msgstr "Додати ще один сегмент або таблицю"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:427
+msgid "Is there anything your users should understand or know before they start accessing the data?"
+msgstr "Чи є що-небудь, що ваші користувачі повинні розуміти або знати, перш ніж вони отримають доступ до даних?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:433
+msgid "What should a user of this data know before they start accessing it?"
+msgstr "Що повинен знати користувач про ці дані перед тим, як до них звертатися?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:437
+msgid "E.g., expectations around data privacy and use, common pitfalls or misunderstandings, information about data warehouse performance, legal notices, etc."
+msgstr "Наприклад, очікування щодо конфіденційності та використання даних, типові помилки або непорозуміння, інформація про продуктивність сховища даних, яке правове повідомлення і т.д."
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:448
+msgid "Is there someone your users could contact for help if they're confused about this guide?"
+msgstr "Чи можуть користувачі до вас звертатися при виникненні питань?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:457
+msgid "Who should users contact for help if they're confused about this data?"
+msgstr "З ким повинні пов'язувати користувачі для допомоги при виникненні питань за даними?"
+
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:75
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:95
+msgid "Please enter a revision message"
+msgstr "Будь ласка, додайте повідомлення ревізії"
+
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:213
+msgid "Why this Metric is interesting"
+msgstr "Чому ця Метрика може бути цікавою"
+
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:223
+msgid "Things to be aware of about this Metric"
+msgstr "Що потрібно знати про цю метриці"
+
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:233
+msgid "How this Metric is calculated"
+msgstr "Як розраховується ця метрика"
+
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:235
+msgid "Nothing on how it's calculated yet"
+msgstr "Поки нічого не розраховане"
+
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:293
+msgid "Other fields you can group this metric by"
+msgstr "Інші поля, за якими ви можете групувати цю метрику"
+
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:294
+msgid "Fields you can group this metric by"
+msgstr "Метрика може бути згрупована за такими полями"
+
+#: frontend/src/metabase/reference/metrics/MetricList.jsx:23
+msgid "Metrics are the official numbers that your team cares about"
+msgstr "Метрики це офіційні цифри, якими опікується ваша команда"
+
+#: frontend/src/metabase/reference/metrics/MetricList.jsx:25
+msgid "Metrics will appear here once your admins have created some"
+msgstr "Метрики будуть з'являтися тут як тільки ваші адміни їх зроблять"
+
+#: frontend/src/metabase/reference/metrics/MetricList.jsx:27
+msgid "Learn how to create metrics"
+msgstr "Дізнайтеся як створити метрику"
+
+#: frontend/src/metabase/reference/metrics/MetricQuestions.jsx:35
+msgid "Questions about this metric will appear here as they're added"
+msgstr "Запити про цю метриці з'являться після їх додавання"
+
+#: frontend/src/metabase/reference/metrics/MetricRevisions.jsx:29
+msgid "There are no revisions for this metric"
+msgstr "Дана метрика не містить ревізій"
+
+#: frontend/src/metabase/reference/metrics/MetricRevisions.jsx:88
+#: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:52
+#: frontend/src/metabase/reference/segments/SegmentRevisions.jsx:88
+msgid "Revision history for {0}"
+msgstr "Історія ревізій {0}"
+
+#: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:43
+msgid "X-ray this metric"
+msgstr "Просканувати цю метрику"
+
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:217
+msgid "Why this Segment is interesting"
+msgstr "Чому цей сегмент цікавий"
+
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:227
+msgid "Things to be aware of about this Segment"
+msgstr "Що потрібно знати про цей сегмент"
+
+#: frontend/src/metabase/reference/segments/SegmentList.jsx:23
+msgid "Segments are interesting subsets of tables"
+msgstr "Сегменти є цікавими підмножинами таблиць"
+
+#: frontend/src/metabase/reference/segments/SegmentList.jsx:24
+msgid "Defining common segments for your team makes it even easier to ask questions"
+msgstr "Визначення загальних сегментів для вашої команди спрощує створення запитів"
+
+#: frontend/src/metabase/reference/segments/SegmentList.jsx:25
+msgid "Segments will appear here once your admins have created some"
+msgstr "Сегменти з'являться тут після того як адміністратори їх створять"
+
+#: frontend/src/metabase/reference/segments/SegmentList.jsx:27
+msgid "Learn how to create segments"
+msgstr "Дізнайтеся як створювати сегменти"
+
+#: frontend/src/metabase/reference/segments/SegmentQuestions.jsx:35
+msgid "Questions about this segment will appear here as they're added"
+msgstr "Запити про цей сегмент з'являться тут після їх додавання"
+
+#: frontend/src/metabase/reference/segments/SegmentRevisions.jsx:29
+msgid "There are no revisions for this segment"
+msgstr "Даний сегмент не містить ревізій"
+
+#: frontend/src/metabase/reference/segments/SegmentSidebar.jsx:36
+msgid "Fields in this segment"
+msgstr "Поля в цьому сегменті"
+
+#: frontend/src/metabase/reference/segments/SegmentSidebar.jsx:42
+msgid "Questions about this segment"
+msgstr "Запити з цим сегментом"
+
+#: frontend/src/metabase/reference/segments/SegmentSidebar.jsx:49
+msgid "X-ray this segment"
+msgstr "Просканувати цей сегмент"
+
+#: frontend/src/metabase/routes.jsx:182
+msgid "Login"
+msgstr "Логін"
+
+#: frontend/src/metabase/nav/containers/Navbar.jsx:130
+#: frontend/src/metabase/routes.jsx:198
+msgid "Search"
+msgstr "Пошук"
+
+#: frontend/src/metabase/routes.jsx:217
+msgid "Dashboard"
+msgstr "Панель інструментів"
+
+#: frontend/src/metabase/routes.jsx:228
+msgid "New Question"
+msgstr "Нове питання"
+
+#: frontend/src/metabase/setup/components/DatabaseConnectionStep.jsx:125
+msgid "Select the type of Database you use"
+msgstr "Виберіть тип бази даних"
+
+#: frontend/src/metabase/setup/components/DatabaseConnectionStep.jsx:141
+msgid "Add your data"
+msgstr "Додайте свої дані"
+
+#: frontend/src/metabase/setup/components/DatabaseConnectionStep.jsx:145
+msgid "I'll add my own data later"
+msgstr "Я додам дані пізніше"
+
+#: frontend/src/metabase/setup/components/DatabaseConnectionStep.jsx:146
+msgid "Connecting to {0}"
+msgstr "Підключення до {0}"
+
+#: frontend/src/metabase/setup/components/DatabaseConnectionStep.jsx:165
+msgid "You’ll need some info about your database, like the username and password. If you don’t have that right now, Metabase also comes with a sample dataset you can get started with."
+msgstr "Вам необхідно деяка інформація про вашу базі даних, така як ім'я користувача і пароль. Якщо у вас неї її прямо зараз - Metabase поставляється з набором тестових даних, з яким ви можете почати."
+
+#: frontend/src/metabase/setup/components/DatabaseConnectionStep.jsx:196
+msgid "I'll add my data later"
+msgstr "Я додам мої дані пізніше"
+
+#: frontend/src/metabase/setup/components/DatabaseSchedulingStep.jsx:41
+msgid "Control automatic scans"
+msgstr "Контроль за автоматичним скануванням"
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:53
+msgid "Usage data preferences"
+msgstr "Налаштування використання даних"
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:56
+msgid "Thanks for helping us improve"
+msgstr "Дякую за допомогу в поліпшенні"
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:57
+msgid "We won't collect any usage events"
+msgstr "Ми не хочемо збирати ніякі події використання"
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:76
+msgid "In order to help us improve Metabase, we'd like to collect certain data about usage through Google Analytics."
+msgstr "Для поліпшення Metabase, ми б хотіли збирати деякі дані по використанню через Google Analytics."
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:85
+msgid "Here's a full list of everything we track and why."
+msgstr "Ось повний список всього що ми відстежуємо і чому."
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:98
+msgid "Allow Metabase to anonymously collect usage events"
+msgstr "Дозволити Metabase збирати анонімні дані про використання"
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:105
+msgid "Metabase {0} collects anything about your data or question results."
+msgstr "Metabase {0} збирає що або про ваших даних або результатах питань."
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:106
+msgid "never"
+msgstr "ніколи"
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:108
+msgid "All collection is completely anonymous."
+msgstr "Всі колекції повністю анонімні."
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:110
+msgid "Collection can be turned off at any point in your admin settings."
+msgstr "Колекція може бути відключена в будь-який момент в налаштуваннях адміністратора."
+
+#: frontend/src/metabase/setup/components/Setup.jsx:45
+msgid "If you feel stuck"
+msgstr "Якщо ви застрягли"
+
+#: frontend/src/metabase/setup/components/Setup.jsx:52
+msgid "our getting started guide"
+msgstr "Наше керівництво по початку роботи"
+
+#: frontend/src/metabase/setup/components/Setup.jsx:53
+msgid "is just a click away."
+msgstr "всього в одному кліці від вас."
+
+#: frontend/src/metabase/setup/components/Setup.jsx:95
+msgid "Welcome to Metabase"
+msgstr "Ласкаво просимо в Metabase"
+
+#: frontend/src/metabase/setup/components/Setup.jsx:96
+msgid "Looks like everything is working. Now let’s get to know you, connect to your data, and start finding you some answers!"
+msgstr "Схоже, все працює. Тепер давайте познайомимося ближче: налаштуйте підключення до даних і підемо шукати відповіді!"
+
+#: frontend/src/metabase/setup/components/Setup.jsx:100
+msgid "Let's get started"
+msgstr "почнемо"
+
+#: frontend/src/metabase/setup/components/Setup.jsx:145
+msgid "You're all set up!"
+msgstr "Все налаштоване!"
+
+#: frontend/src/metabase/setup/components/Setup.jsx:156
+msgid "Take me to Metabase"
+msgstr "Покажіть мені Metabase"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:155
+msgid "What should we call you?"
+msgstr "Як ми можемо вас називати?"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:156
+msgid "Hi, {0}. nice to meet you!"
+msgstr "Привіт, {0}. Раді вас бачити!"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:243
+msgid "Create a password"
+msgstr "Створіть пароль"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:259
+#: frontend/src/metabase/user/components/SetUserPassword.jsx:116
+msgid "Shhh..."
+msgstr "Тссс ..."
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:269
+msgid "Confirm password"
+msgstr "Підтвердження пароля"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:278
+msgid "Shhh... but one more time so we get it right"
+msgstr "Тсс ... але ще раз, щоб напевно"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:287
+msgid "Your company or team name"
+msgstr "Назва вашої компанії або команди"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:296
+msgid "Department of awesome"
+msgstr "Департамент"
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:26
+msgid "Metabot is admiring your integers…"
+msgstr "Metabot захоплюється вашими числами ..."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:27
+msgid "Metabot is performing billions of differential equations…"
+msgstr "Metabot виконує мільярди диференціальних рівнянь ..."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:28
+msgid "Metabot is doing science…"
+msgstr "Metabot виконує наукові дослідження ..."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:29
+msgid "Metabot is checking out your metrics…"
+msgstr "Metabot перевіряє ваші метрики ..."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:30
+msgid "Metabot is looking for trends and outliers…"
+msgstr "Metabot шукає тренди і аномалії ..."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:31
+msgid "Metabot is consulting the quantum abacus…"
+msgstr "Metabot консультується з квантовими рахунками ..."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:32
+msgid "Metabot is feeling pretty good about all this…"
+msgstr "Metabot'у все це дуже подобається ..."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:52
+msgid "We’ll show you some interesting explorations of your data in\n"
+"just a few minutes."
+msgstr "Ми покажемо вам кілька цікавих результатів наших досліджень через кілька хвилин."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:72
+msgid "This seems to be taking a while. In the meantime, you can check out one of these example explorations to see what Metabase can do for you."
+msgstr "Здається, це займе трохи більше часу, ніж очікувалося. А поки ви можете подивитися приклади досліджень, які Metabase може робити за вас."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:86
+msgid "I took a look at the data you just connected, and I have some explorations of interesting things I found. Hope you like them!"
+msgstr "Я подивився на дані і ось що цікаве я можу про них сказати. Сподіваюся вам сподобається!"
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:98
+msgid "I'm done exploring for now"
+msgstr "Все, поки вистачить досліджень"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:20
+msgid "Welcome to the Query Builder!"
+msgstr "Ласкаво просимо в Будівник Запитів!"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:22
+msgid "The Query Builder lets you assemble questions (or \"queries\") to ask about your data."
+msgstr "Майстер Запитів дозволить підготувати питання (по-іншому \"запити\") про ваших даних."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:26
+msgid "Tell me more"
+msgstr "розповісти більше"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:43
+msgid "Start by picking the table with the data that you have a question about."
+msgstr "Почніть з вибору таблиці, про дані якої ви хотіли б задати питання."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:45
+msgid "Go ahead and select the \"Orders\" table from the dropdown menu."
+msgstr "Спробуйте вибрати талбіцу \"Замовлення\" зі списку."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:78
+msgid "Filter your data to get just what you want."
+msgstr "Відфільтруйте дані щоб отримати те, що хочете."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:79
+msgid "Click the plus button and select the \"Created At\" field."
+msgstr "Натисніть кнопку \"плюс\" і виберіть поле \"Створено\"."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:93
+msgid "Here we can pick how many days we want to see data for, try 10"
+msgstr "Тут ви можете вибрати скільки днів хочете бачити дані, введіть, наприклад, 10"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:116
+msgid "Here's where you can choose to add or average your data, count the number of rows in the table, or just view the raw data."
+msgstr "Тут можна додати або усереднити дані, підрахувати кількість рядків у таблиці або просто переглянути необроблені дані."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:118
+msgid "Try it: click on <strong>Raw Data</strong> to change it to <strong>Count of rows</strong> so we can count how many orders there are in this table."
+msgstr "Спробуйте: натисніть на <strong> Вихідні дані </ strong> щоб поміняти їх на <strong> Показати # </ strong>, тоді ми зможемо порахувати скільки замовлень в цій таблиці."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:142
+msgid "Add a grouping to break out your results by category, day, month, and more."
+msgstr "Додайте групування для розбивки результатів по категоріям, дням, місяцям і т.д."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:144
+msgid "Let's do it: click on <strong>Add a grouping</strong>, and choose <strong>Created At: by Week</strong>."
+msgstr "Просто зробіть це: натисніть на <strong> Додати группіовку </ strong>, і виберіть <strong> Дата створення: по тижню </ strong>"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:152
+msgid "Click on \"by day\" to change it to \"Week.\""
+msgstr "Натисніть \"по днях\" щоб змінити на \"Тиждень\"."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:173
+msgid "Run Your Query."
+msgstr "Виконати ваш запит."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:175
+msgid "You're doing so well! Click <strong>Run query</strong> to get your results!"
+msgstr "Все готово! Натисніть <strong> Запустити запит </ strong> для отримання результатів!"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:192
+msgid "You can view your results as a chart instead of a table."
+msgstr "Ви можете переглядати ваші результати у вигляді графіка замість таблиці."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:194
+msgid "Everbody likes charts! Click the <strong>Visualization</strong> dropdown and select <strong>Line</strong>."
+msgstr "Всі люблять графіки! Натисніть на випадаючому списку <strong> Візуалізація </ strong> і виберіть <strong> Лінія </ strong>."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:216
+msgid "Well done!"
+msgstr "Зроблено!"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:218
+msgid "That's all! If you still have questions, check out our"
+msgstr "Це все! Якщо у вас залишилися питання, ознайомтеся з нашим"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:223
+msgid "User's Guide"
+msgstr "Інструкція користувача"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:223
+msgid "Have fun exploring your data!"
+msgstr "Веселіться, досліджуючи свої дані!"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:226
+msgid "Thanks"
+msgstr "Дякуємо"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:235
+msgid "Save Your Questions"
+msgstr "Зберегти ваші запити"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:237
+msgid "By the way, you can save your questions so you can refer to them later. Saved Questions can also be put into dashboards or Pulses."
+msgstr "До речі, ви можете зберегти свої запити для того, щоб пізніше існувала можливість посилатися на них. Збережені запити також можуть бути поміщені в панелі інструментів або в Пульси"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:241
+msgid "Sounds good"
+msgstr "Звучить чудово"
+
+#: frontend/src/metabase/tutorial/Tutorial.jsx:248
+msgid "Whoops!"
+msgstr "Ууууупс!"
+
+#: frontend/src/metabase/tutorial/Tutorial.jsx:249
+msgid "Sorry, it looks like something went wrong. Please try restarting the tutorial in a minute."
+msgstr "Просимо вибачення, але щось пішло не так. Спробуйте почати навчання заново через хвилину."
+
+#: frontend/src/metabase/user/actions.js:34
+msgid "Password updated successfully!"
+msgstr "Пароль успішно змінено!"
+
+#: frontend/src/metabase/user/actions.js:53
+msgid "Account updated successfully!"
+msgstr "Обліковий запис успішно змінена!"
+
+#: frontend/src/metabase/user/components/SetUserPassword.jsx:107
+msgid "Current password"
+msgstr "Поточний пароль"
+
+#: frontend/src/metabase/user/components/UpdateUserDetails.jsx:137
+msgid "Sign in with Google Email address"
+msgstr "Увійти за допомогою облікового запису Google"
+
+#: frontend/src/metabase/user/components/UserSettings.jsx:65
+msgid "User Details"
+msgstr "Деталі користувача"
+
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:275
+msgid "Reset to defaults"
+msgstr "Скинути по замовчуванню"
+
+#: frontend/src/metabase/visualizations/components/ChoroplethMap.jsx:133
+msgid "unknown map"
+msgstr "невідома карта"
+
+#: frontend/src/metabase/visualizations/components/LeafletGridHeatMap.jsx:26
+msgid "Grid map requires binned longitude/latitude."
+msgstr "Карта потребує відповідних градусах довготи і широти"
+
+#: frontend/src/metabase/visualizations/components/LegendVertical.jsx:112
+msgid "more"
+msgstr "більше"
+
+#: frontend/src/metabase/visualizations/components/LineAreaBarChart.jsx:101
+msgid "Which fields do you want to use for the X and Y axes?"
+msgstr "Які поля ви хочете використовувати для осей X і Y?"
+
+#: frontend/src/metabase/visualizations/components/LineAreaBarChart.jsx:103
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:60
+msgid "Choose fields"
+msgstr "Виберіть поля"
+
+#: frontend/src/metabase/visualizations/components/PinMap.jsx:204
+msgid "Save as default view"
+msgstr "Зберегти як вид за замовчуванням"
+
+#: frontend/src/metabase/visualizations/components/PinMap.jsx:226
+msgid "Draw box to filter"
+msgstr "Намалюйте \"коробку\" для фільтрації"
+
+#: frontend/src/metabase/visualizations/components/PinMap.jsx:226
+msgid "Cancel filter"
+msgstr "Скасувати фільтр"
+
+#: frontend/src/metabase/visualizations/components/PinMap.jsx:47
+msgid "Pin Map"
+msgstr "закріпити карту"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:303
+msgid "Unset"
+msgstr "зняти вибір"
+
+#: frontend/src/metabase/visualizations/components/TableSimple.jsx:253
+msgid "Rows {0}-{1} of {2}"
+msgstr "Записи {0} - {1} з {2}"
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:189
+msgid "Data truncated to {0} rows."
+msgstr "Дані скорочені до {0} рядків."
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:364
+msgid "Could not find visualization"
+msgstr "Неможливо знайти візуалізацію"
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:371
+msgid "Could not display this chart with this data."
+msgstr "Неможливо відобразити графік з поточними даними."
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:469
+msgid "No results!"
+msgstr "Немає результатів!"
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:490
+msgid "Still Waiting..."
+msgstr "Очікування ..."
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:493
+msgid "This usually takes an average of {0}."
+msgstr "Це в середньому займає {0}."
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:499
+msgid "(This is a bit long for a dashboard)"
+msgstr "Це трохи задовго для панелі інструментів"
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:503
+msgid "This is usually pretty fast but seems to be taking awhile right now."
+msgstr "Зазвичай це досить швидке дію, але, здається, зараз це займе більше часу."
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingFieldPicker.jsx:36
+msgid "Select a field"
+msgstr "Виберіть поле"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingFieldsPicker.jsx:45
+msgid "error"
+msgstr "помилка"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingOrderedColumns.jsx:126
+msgid "Click and drag to change their order"
+msgstr "Натисніть і перетягніть для зміни їх порядку"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingOrderedColumns.jsx:139
+msgid "Add fields from the list below"
+msgstr "Додати поля до списку нижче"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:24
+msgid "less than"
+msgstr "менше ніж"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:25
+msgid "greater than"
+msgstr "більше ніж"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:26
+msgid "less than or equal to"
+msgstr "менше ніж або дорівнює"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:27
+msgid "greater than or equal to"
+msgstr "більше ніж або дорівнює"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:28
+msgid "equal to"
+msgstr "одно"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:29
+msgid "not equal to"
+msgstr "не дорівнює"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:191
+msgid "Conditional formatting"
+msgstr "Умовне форматування"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:193
+msgid "You can add rules to make the cells in this table change color if\n"
+"they meet certain conditions."
+msgstr "Ви можете додати правила щоб поміняти кольори елементів таблиці в залежності від умов."
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:203
+msgid "Add a rule"
+msgstr "Додати правило"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:208
+msgid "Rules will be applied in this order"
+msgstr "Правила будуть застосовуватися в цьому порядку"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:209
+msgid "Click and drag to reorder."
+msgstr "Натисніть і перетягніть щоб змінити порядок."
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:242
+msgid "No columns selected"
+msgstr "Стовпці не вибрані"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:290
+msgid "Cells in this column will be tinted based on their values."
+msgstr "Клітинки цієї колонки будуть пофарбовані в залежності від їх значень."
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:279
+msgid "When a cell in these columns is {0} it will be tinted this color."
+msgstr "Коли осередок в цих колонках буде {0}, вона буде пофарбована в цьому колір."
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:313
+msgid "Which columns should be affected?"
+msgstr "Які колонки повинні бути змінені?"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:335
+msgid "Formatting style"
+msgstr "Стиль форматування"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:339
+msgid "Single color"
+msgstr "один колір"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:340
+msgid "Color range"
+msgstr "діапазон кольорів"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:312
+msgid "When a cell in this column is…"
+msgstr "Коли осередок в цій колонці ..."
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:376
+msgid "…turn its background this color:"
+msgstr "переключити фоновий колір в цей колір:"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:382
+msgid "Highlight the whole row"
+msgstr "Підсвітити всю рядок"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:390
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:98
+msgid "Colors"
+msgstr "кольори"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:404
+msgid "Start the range at"
+msgstr "Почати діапазон з"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:409
+msgid "Smallest value in this column"
+msgstr "Найменше значення в цьому стовпці"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:411
+msgid "Smallest value in each column"
+msgstr "Найменше значення в кожному стовпці"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:413
+msgid "Smallest value in all of these columns"
+msgstr "Найменше значення у всіх цих шпальтах"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:417
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:441
+msgid "Custom value"
+msgstr "Довільний значення"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:428
+msgid "End the range at"
+msgstr "закінчити діапазон"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:433
+msgid "Largest value in this column"
+msgstr "Найбільше значення в цій колонці"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:435
+msgid "Largest value in each column"
+msgstr "Найбільше значення у всіх колонках"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:437
+msgid "Largest value in all of these columns"
+msgstr "Найбільше значення у всіх цих колонках"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:471
+msgid "Add rule"
+msgstr "Додати правило"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:471
+msgid "Update rule"
+msgstr "оновити правило"
+
+#: frontend/src/metabase/visualizations/index.js:33
+msgid "Visualization is null"
+msgstr "Візуалізація не задана"
+
+#: frontend/src/metabase/visualizations/index.js:38
+msgid "Visualization must define an 'identifier' static variable: "
+msgstr "Візуалізація повинна визначати статичну змінну 'identifier':"
+
+#: frontend/src/metabase/visualizations/index.js:44
+msgid "Visualization with that identifier is already registered: "
+msgstr "Візуалізація з цим ідентифікатором вже зареєстрована:"
+
+#: frontend/src/metabase/visualizations/index.js:72
+msgid "No visualization for {0}"
+msgstr "Немає візуалізації для {0}"
+
+#: frontend/src/metabase/visualizations/lib/LineAreaBarRenderer.js:75
+msgid "\"{0}\" is an unaggregated field: if it has more than one value at a point on the x-axis, the values will be summed."
+msgstr "{0} - НЕ агрегування поле: якщо в точці осі x є більше двох значень - вони будуть підсумовані."
+
+#: frontend/src/metabase/visualizations/lib/LineAreaBarRenderer.js:91
+msgid "This chart type requires at least 2 columns."
+msgstr "Даний тип графіка вимагає як мінімум 2 стовпчика."
+
+#: frontend/src/metabase/visualizations/lib/LineAreaBarRenderer.js:96
+msgid "This chart type doesn't support more than {0} series of data."
+msgstr "Даний тип графіка не підтримує більше ніж {0} наборів даних."
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:316
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:51
+msgid "Goal"
+msgstr "мета"
+
+#: frontend/src/metabase/visualizations/lib/errors.js:11
+msgid "Doh! The data from your query doesn't fit the chosen display choice. This visualization requires at least {0} {1} of data."
+msgstr "Ой! Дані із запиту не підходять до обраної візуалізації. Ця візуалізація вимагає мінімум {0}\n"
+" {1} даних"
+
+#: frontend/src/metabase/visualizations/lib/errors.js:11
+msgid "column"
+msgid_plural "columns"
+msgstr[0] "стовпець"
+msgstr[1] "стовпець"
+msgstr[2] "стовпець"
+msgstr[3] "стовпець"
+
+#: frontend/src/metabase/visualizations/lib/errors.js:23
+msgid "No dice. We have {0} data {1} to show and that's not enough for this visualization."
+msgstr "Чи не проканает. У нас {0} даних з {1} щоб показати, і цього недостатньо для цієї візуалізації."
+
+#: frontend/src/metabase/visualizations/lib/errors.js:23
+msgid "point"
+msgid_plural "points"
+msgstr[0] "крапка"
+msgstr[1] "крапка"
+msgstr[2] "крапка"
+msgstr[3] "крапка"
+
+#: frontend/src/metabase/visualizations/lib/errors.js:35
+msgid "Bummer. We can't actually do a pin map for this data because we require both a latitude and longitude column."
+msgstr "Тупик. Ми не зможемо зробити карту з цих даних - потрібна і широта, і довгота."
+
+#: frontend/src/metabase/visualizations/lib/errors.js:55
+msgid "Please configure this chart in the chart settings"
+msgstr "Конфігуруйте цю діаграму в налаштуваннях діаграми"
+
+#: frontend/src/metabase/visualizations/lib/errors.js:57
+msgid "Edit Settings"
+msgstr "Змінити налаштування"
+
+#: frontend/src/metabase/visualizations/lib/fill_data.js:37
+msgid "xValues missing!"
+msgstr "X-значення відсутні!"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:114
+#: frontend/src/metabase/visualizations/visualizations/RowChart.jsx:31
+msgid "X-axis"
+msgstr "вісь абсцис"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:140
+msgid "Add a series breakout..."
+msgstr "Додати розрив серії ..."
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:153
+#: frontend/src/metabase/visualizations/visualizations/RowChart.jsx:35
+msgid "Y-axis"
+msgstr "вісь ординат"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:178
+msgid "Add another series..."
+msgstr "Додати іншу серію ..."
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:195
+msgid "Bubble size"
+msgstr "Розмір бульбашки"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:71
+#: frontend/src/metabase/visualizations/visualizations/LineChart.jsx:16
+msgid "Line"
+msgstr "лінія"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:72
+msgid "Curve"
+msgstr "крива"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:73
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:69
+msgid "Step"
+msgstr "крок"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:170
+msgid "Show point markers on lines"
+msgstr "Показати позначки точок на лініях"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:235
+msgid "Stacking"
+msgstr "об'єднання"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:239
+msgid "Don't stack"
+msgstr "Чи не об'єднувати"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:240
+msgid "Stack"
+msgstr "об'єднати"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:241
+msgid "Stack - 100%"
+msgstr "Об'єднати - 100%"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:300
+msgid "Show goal"
+msgstr "Показати мета"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:306
+msgid "Goal value"
+msgstr "значення мети"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:103
+msgid "Replace missing values with"
+msgstr "Замінити відсутні значення на"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:107
+msgid "Zero"
+msgstr "нуль"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:108
+msgid "Nothing"
+msgstr "нічого"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:109
+msgid "Linear Interpolated"
+msgstr "лінійна інтерполяція"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:371
+msgid "X-axis scale"
+msgstr "Шкала осі абсцис"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:388
+msgid "Timeseries"
+msgstr "тимчасова шкала"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:391
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:409
+msgid "Linear"
+msgstr "лінійний"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:393
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:410
+msgid "Power"
+msgstr "У ступені"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:394
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:411
+msgid "Log"
+msgstr "лог"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:396
+msgid "Histogram"
+msgstr "Гістограма"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:398
+msgid "Ordinal"
+msgstr "порядковий"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:404
+msgid "Y-axis scale"
+msgstr "Масштаб Y осі"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:417
+msgid "Show x-axis line and marks"
+msgstr "Показати рядок і мітки по осі x"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:423
+msgid "Compact"
+msgstr "компактно"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:424
+msgid "Rotate 45°"
+msgstr "Перевернути на 45 °"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:425
+msgid "Rotate 90°"
+msgstr "Перевернути на 90 °"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:432
+msgid "Show y-axis line and marks"
+msgstr "Показати рядок і мітки по осі y"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:444
+msgid "Auto y-axis range"
+msgstr "Авто діапазон осі ординат"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:488
+msgid "Use a split y-axis when necessary"
+msgstr "Використовувати розриви школи ординат коли це необхідно"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:495
+msgid "Show label on x-axis"
+msgstr "Показати мітку на X осі"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:501
+msgid "X-axis label"
+msgstr "Мітка X осі"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:510
+msgid "Show label on y-axis"
+msgstr "Показати мітку на Y осі"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:516
+msgid "Y-axis label"
+msgstr "Мітка Y осі"
+
+#: frontend/src/metabase/visualizations/lib/utils.js:129
+msgid "Standard Deviation"
+msgstr "Стандартне відхилення"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:275
+#: frontend/src/metabase/visualizations/visualizations/AreaChart.jsx:17
+msgid "Area"
+msgstr "область"
+
+#: frontend/src/metabase/visualizations/visualizations/AreaChart.jsx:20
+msgid "area chart"
+msgstr "область графіка"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:276
+#: frontend/src/metabase/visualizations/visualizations/BarChart.jsx:16
+msgid "Bar"
+msgstr "Гістограма"
+
+#: frontend/src/metabase/visualizations/visualizations/BarChart.jsx:19
+msgid "bar chart"
+msgstr "гістограма"
+
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:58
+msgid "Which fields do you want to use?"
+msgstr "Яке поле ви хочете використовувати?"
+
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:32
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:87
+msgid "Funnel"
+msgstr "воронка"
+
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:76
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:76
+msgid "Measure"
+msgstr "Вимірювання"
+
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:82
+msgid "Funnel type"
+msgstr "Тип воронки"
+
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:88
+msgid "Bar chart"
+msgstr "Гістограма"
+
+#: frontend/src/metabase/visualizations/visualizations/LineChart.jsx:19
+msgid "line chart"
+msgstr "Графік"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:224
+msgid "Please select longitude and latitude columns in the chart settings."
+msgstr "Будь ласка виберіть колонки, що містять широту і довготу для настройки графіка."
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:230
+msgid "Please select a region map."
+msgstr "Будь ласка виберіть карту регіону."
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:236
+msgid "Please select region and metric columns in the chart settings."
+msgstr "Будь ласка виберіть область і стовпці метрик в налаштуваннях графіка."
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:38
+msgid "Map"
+msgstr "Мапа"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:53
+msgid "Map type"
+msgstr "Тип карти"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:57
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:149
+msgid "Region map"
+msgstr "Карта регіону"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:58
+msgid "Pin map"
+msgstr "закріпити карту"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:104
+msgid "Pin type"
+msgstr "Тип значка"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:109
+msgid "Tiles"
+msgstr "плитка"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:110
+msgid "Markers"
+msgstr "маркери"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:126
+msgid "Latitude field"
+msgstr "поле широти"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:134
+msgid "Longitude field"
+msgstr "поле довготи"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:142
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:168
+msgid "Metric field"
+msgstr "поле вимірювання"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:172
+msgid "Region field"
+msgstr "поле регіону"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:192
+msgid "Radius"
+msgstr "радіус"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:198
+msgid "Blur"
+msgstr "Розумієте"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:204
+msgid "Min Opacity"
+msgstr "мінімальна прозорість"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:210
+msgid "Max Zoom"
+msgstr "максимальне наближення"
+
+#: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:175
+msgid "No relationships found."
+msgstr "Зв'язки не знайдені."
+
+#: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:213
+msgid "via {0}"
+msgstr "через {0}"
+
+#: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:290
+msgid "This {0} is connected to:"
+msgstr "{0} пов'язано з:"
+
+#: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:47
+msgid "Object Detail"
+msgstr "Деталі об'єкту"
+
+#: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:50
+msgid "object"
+msgstr "об'єкт"
+
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:312
+msgid "Total"
+msgstr "всього"
+
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:61
+msgid "Which columns do you want to use?"
+msgstr "Які колонки ви хочете використовувати?"
+
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:44
+msgid "Pie"
+msgstr "пиріг"
+
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:71
+msgid "Dimension"
+msgstr "Вимірювання"
+
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:81
+msgid "Show legend"
+msgstr "Показати легенду"
+
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:86
+msgid "Show percentages in legend"
+msgstr "Показати процентовку в легенді"
+
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:92
+msgid "Minimum slice percentage"
+msgstr "Мінімальний процентаж зрізу"
+
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:146
+msgid "Goal met"
+msgstr "Мета досягнута"
+
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:148
+msgid "Goal exceeded"
+msgstr "Мета досягнута"
+
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:215
+msgid "Goal {0}"
+msgstr "Мета {0}"
+
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:39
+msgid "Progress visualization requires a number."
+msgstr "Візуалізація прогрес потрібно число."
+
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:27
+msgid "Progress"
+msgstr "прогрес"
+
+#: frontend/src/metabase/entities/collections.js:108
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:176
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:57
+msgid "Color"
+msgstr "колір"
+
+#: frontend/src/metabase/visualizations/visualizations/RowChart.jsx:13
+msgid "Row Chart"
+msgstr "лінійна діаграма"
+
+#: frontend/src/metabase/visualizations/visualizations/RowChart.jsx:16
+msgid "row chart"
+msgstr "лінійна діаграма"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:357
+msgid "Separator style"
+msgstr "Стиль роздільника"
+
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:88
+msgid "Number of decimal places"
+msgstr "Кількість десяткових знаків"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:381
+msgid "Add a prefix"
+msgstr "Додати префікс"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:385
+msgid "Add a suffix"
+msgstr "Додати суфікс"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:374
+msgid "Multiply by a number"
+msgstr "Помножити на число"
+
+#: frontend/src/metabase/visualizations/visualizations/ScatterPlot.jsx:16
+msgid "Scatter"
+msgstr "розкид"
+
+#: frontend/src/metabase/visualizations/visualizations/ScatterPlot.jsx:19
+msgid "scatter plot"
+msgstr "точкова діаграма"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:78
+msgid "Pivot the table"
+msgstr "звід таблиці"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:73
+msgid "Visible fields"
+msgstr "видимі поля"
+
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:167
+msgid "Write here, and use Markdown if you''d like"
+msgstr "Напишіть тут, і використовується якщо хочете Markdown"
+
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:73
+msgid "Vertical Alignment"
+msgstr "вертикальне вирівнювання"
+
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:77
+msgid "Top"
+msgstr "верх"
+
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:78
+msgid "Middle"
+msgstr "середина"
+
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:79
+msgid "Bottom"
+msgstr "низ"
+
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:86
+msgid "Horizontal Alignment"
+msgstr "горизонтальне вирівнювання"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:126
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:90
+msgid "Left"
+msgstr "ліво"
+
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:91
+msgid "Center"
+msgstr "центр"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:127
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:92
+msgid "Right"
+msgstr "право"
+
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:99
+msgid "Show background"
+msgstr "Показати фон"
+
+#: frontend/src/metabase-lib/lib/Dimension.js:553
+msgid "{0} bin"
+msgid_plural "{0} bins"
+msgstr[0] "контейнер"
+msgstr[1] "контейнеров"
+msgstr[2] "контейнеры"
+msgstr[3] "контейнер"
+
+#: frontend/src/metabase-lib/lib/Dimension.js:559
+msgid "Auto binned"
+msgstr "Авт. скомпоновано"
+
+#: src/metabase/api/alert.clj
+msgid "DELETE /api/alert/:id is deprecated. Instead, change its `archived` value via PUT /api/alert/:id."
+msgstr "Запит DELETE / api / alert /: id застарів. Натомість використовуйте PUT / api / alert /: id для зміни 'archived' значення."
+
+#: src/metabase/api/automagic_dashboards.clj
+msgid "invalid show value"
+msgstr "некоректне відображається значення"
+
+#: src/metabase/api/automagic_dashboards.clj
+msgid "invalid value for prefix"
+msgstr "некоректне значення для префікса"
+
+#: src/metabase/api/automagic_dashboards.clj
+msgid "invalid value for rule name"
+msgstr "некоректне значення для імені правила"
+
+#: src/metabase/api/automagic_dashboards.clj
+msgid "value couldn''t be parsed as base64 encoded JSON"
+msgstr "значення не може бути перетворено як base64 кодированная JSON рядок"
+
+#: src/metabase/api/automagic_dashboards.clj
+msgid "Invalid entity type"
+msgstr "Некоректний тип сутності"
+
+#: src/metabase/api/automagic_dashboards.clj
+msgid "Invalid comparison entity type. Can only be one of \"table\", \"segment\", or \"adhoc\""
+msgstr "Некоректний тип для порівняння сутності. Може бути тільки \"таблиця\", \"сегмент\" або \"на льоту\""
+
+#: src/metabase/query_processor/async.clj
+msgid "Error running query to determine Card result metadata:"
+msgstr "Помилка виконання запиту для визначення метаданих картки:"
+
+#: src/metabase/api/card.clj
+msgid "DELETE /api/card/:id is deprecated. Instead, change its `archived` value via PUT /api/card/:id."
+msgstr "Запит DELETE / api / card /: id застарів. Натомість ?, використовуйте PUT / api / card /: id для зміни 'archived' значення."
+
+#: src/metabase/api/common.clj src/metabase/api/common/internal.clj
+msgid "Invalid field: {0}"
+msgstr "Некоректне поле: {0}"
+
+#: src/metabase/api/common.clj
+msgid "Invalid value ''{0}'' for ''{1}'': {2}"
+msgstr "Некоректне значення '' {0} '' для '' {1} '': {2}"
+
+#: src/metabase/api/common.clj
+msgid "must be one of: {0}"
+msgstr "має бути одні з: {0}"
+
+#: src/metabase/api/common.clj
+msgid "Invalid Request."
+msgstr "Некоректний запит."
+
+#: src/metabase/api/common.clj
+msgid "Not found."
+msgstr "Не знайдено."
+
+#: src/metabase/api/common.clj
+msgid "You don''t have permissions to do that."
+msgstr "У вас немає повноважень на виконання даної дії."
+
+#: src/metabase/api/common.clj
+msgid "Internal server error."
+msgstr "Внутрішня помилка сервера."
+
+#: src/metabase/api/common.clj
+msgid "Warning: endpoint {0}/{1} does not have a docstring."
+msgstr "Попередження: кінцева точка {0} / {1} не має опису."
+
+#: src/metabase/api/common.clj
+msgid "starting streaming request"
+msgstr "запуск потокового запиту"
+
+#: src/metabase/async/api_response.clj
+msgid "connection closed, canceling request"
+msgstr "з'єднання закрито, скасування запиту"
+
+#. a newline padding character as it's harmless and will allow us to check if the client is connected. If
+#. sending this character fails because the connection is closed, the chan will then close.  Newlines are
+#. no-ops when reading JSON which this depends upon.
+#: src/metabase/async/api_response.clj
+msgid "Response not ready, writing one byte & sleeping..."
+msgstr "Відповідь не готовий, запишемо один байт і почекаємо ..."
+
+#: src/metabase/api/common.clj
+msgid "Public sharing is not enabled."
+msgstr "Публікація не включена."
+
+#: src/metabase/api/common.clj
+msgid "Embedding is not enabled."
+msgstr "Вбудовування відключено."
+
+#: src/metabase/api/common.clj
+msgid "The object has been archived."
+msgstr "Цей об'єкт переміщений в архів."
+
+#: src/metabase/api/common/internal.clj
+msgid "Attempted to return a boolean as an API response. This is not allowed!"
+msgstr "Спроба повернення логічного значення у відповіді API. Це не дозволено!"
+
+#: src/metabase/api/dataset.clj
+msgid "Source query for this query is Card {0}"
+msgstr "Вихідний запит для поточного - картка {0}"
+
+#: src/metabase/api/dataset.clj
+msgid "Invalid export format: {0}"
+msgstr "Некоректний формат експорту: {0}"
+
+#: src/metabase/api/geojson.clj
+msgid "Invalid JSON URL or resource: {0}"
+msgstr "Некоректна JSON посилання або ресурс: {0}"
+
+#: src/metabase/api/geojson.clj
+msgid "JSON containing information about custom GeoJSON files for use in map visualizations instead of the default US State or World GeoJSON."
+msgstr "JSON, який містить інформацію про користувача файлах GeoJSON для використання в візуалізації карт замість значення за замовчуванням - США або World GeoJSON."
+
+#: src/metabase/api/geojson.clj
+msgid "Invalid custom GeoJSON key: {0}"
+msgstr "Некоректних ключ GeoJSON: {0}"
+
+#. ...but if we *still* couldn't find a match, throw an Exception, because we don't want people
+#. trying to inject new params
+#: src/metabase/api/public.clj
+msgid "Invalid param: {0}"
+msgstr "Некоректний параметр: {0}"
+
+#: src/metabase/api/pulse.clj
+msgid "DELETE /api/pulse/:id is deprecated. Instead, change its `archived` value via PUT /api/pulse/:id."
+msgstr "Запит DELETE / api / pulse /: id застарів. Натомість використовуйте PUT / api / pulse /: id для зміни 'archived' значення."
+
+#: src/metabase/api/routes.clj
+msgid "API endpoint does not exist."
+msgstr "Кінцева точка API не існує."
+
+#: src/metabase/api/session.clj
+msgid "Password did not match stored password."
+msgstr "Пароль не збігається зі збереженим паролем."
+
+#: src/metabase/api/session.clj
+msgid "did not match stored password"
+msgstr "не збігається зі збереженим паролем"
+
+#: src/metabase/api/session.clj
+msgid "Problem connecting to LDAP server, will fallback to local authentication {0}"
+msgstr "Помилка підключення до LDAP сервер, повернення до локальної аутентифікації {0}"
+
+#: src/metabase/api/session.clj
+msgid "Invalid reset token"
+msgstr "Некоректний токен скидання пароля"
+
+#: src/metabase/api/session.clj
+msgid "Client ID for Google Auth SSO. If this is set, Google Auth is considered to be enabled."
+msgstr "Client ID для Google Auth SSO. Якщо встановлено, то Google Auth включено."
+
+#: src/metabase/api/session.clj
+msgid "When set, allow users to sign up on their own if their Google account email address is from this domain."
+msgstr "Коли встановлено, користувачі зможуть використовувати для входу свій Google аккаунт з цього домену."
+
+#: src/metabase/api/session.clj
+msgid "Invalid Google Auth token."
+msgstr "Некоректний Google Auth токен,"
+
+#: src/metabase/api/session.clj
+msgid "Email is not verified."
+msgstr "Email не підтверджений."
+
+#: src/metabase/api/session.clj
+msgid "You''ll need an administrator to create a Metabase account before you can use Google to log in."
+msgstr "Вам необхідний адміністратор для створення Metabase аккаунта до того, як ви зможете входити за допомогою облікового запису Google."
+
+#: src/metabase/api/session.clj
+msgid "Successfully authenticated Google Auth token for: {0} {1}"
+msgstr "Успішний вхід з токеном Google Auth для: {0} {1}"
+
+#: src/metabase/api/setup.clj
+msgid "Add a database"
+msgstr "Додати базу Даних"
+
+#: src/metabase/api/setup.clj
+msgid "Get connected"
+msgstr "Будьте на зв'язку"
+
+#: src/metabase/api/setup.clj
+msgid "Connect to your data so your whole team can start to explore."
+msgstr "Під'єднатися до ваших данних, щоб ваша команда змогла почати їх вивчати."
+
+#: src/metabase/api/setup.clj
+msgid "Set up email"
+msgstr "налаштувати email"
+
+#: src/metabase/api/setup.clj
+msgid "Add email credentials so you can more easily invite team members and get updates via Pulses."
+msgstr "Додавши email вам стане простіше запрошувати членів команди і отримувати оновлення через Пульси."
+
+#: src/metabase/api/setup.clj
+msgid "Set Slack credentials"
+msgstr "Встановити параметри Slack"
+
+#: src/metabase/api/setup.clj
+msgid "Does your team use Slack? If so, you can send automated updates via pulses and ask questions with MetaBot."
+msgstr "Чи використовує ваша команда Slack? Якщо так, то ви можете відправляти автоматичні оновлення через Пульси і задавати питання за допомогою MetaBot."
+
+#: src/metabase/api/setup.clj
+msgid "Invite team members"
+msgstr "Запросити учасників команди"
+
+#: src/metabase/api/setup.clj
+msgid "Share answers and data with the rest of your team."
+msgstr "Поділитися відповідями і даними з вашою командою."
+
+#: src/metabase/api/setup.clj
+msgid "Hide irrelevant tables"
+msgstr "Приховати непотрібні таблиці"
+
+#: src/metabase/api/setup.clj
+msgid "Curate your data"
+msgstr "Завершіть свої дані"
+
+#: src/metabase/api/setup.clj
+msgid "If your data contains technical or irrelevant info you can hide it."
+msgstr "Якщо ваші дані містять технічну або нерелевантну інформацію, ви можете їх приховати."
+
+#: src/metabase/api/setup.clj
+msgid "Organize questions"
+msgstr "Впорядкувати запити"
+
+#: src/metabase/api/setup.clj
+msgid "Have a lot of saved questions in {0}? Create collections to help manage them and add context."
+msgstr "У вас безліч збережених запитів в {0}? Створіть колекції для допомоги в управлінні і додавання контексту."
+
+#. This is the very first log message that will get printed.
+#. It's here because this is one of the very first namespaces that gets loaded, and the first that has access to the logger
+#. It shows up a solid 10-15 seconds before the "Starting Metabase in STANDALONE mode" message because so many other namespaces need to get loaded
+#: src/metabase/api/setup.clj
+msgid "Metabase"
+msgstr "Metabase"
+
+#: src/metabase/api/setup.clj
+msgid "Create metrics"
+msgstr "Створення метрики"
+
+#: src/metabase/api/setup.clj
+msgid "Define canonical metrics to make it easier for the rest of your team to get the right answers."
+msgstr "Визначте канонічні метрики, щоб іншим співробітникам було простіше отримати правильні відповіді."
+
+#: src/metabase/api/setup.clj
+msgid "Create segments"
+msgstr "створення сегментів"
+
+#: src/metabase/api/setup.clj
+msgid "Keep everyone on the same page by creating canonical sets of filters anyone can use while asking questions."
+msgstr "Тримайте всіх на одній сторінці, створюючи канонічні набори фільтрів, які будь-хто може використовувати, ставлячи питання."
+
+#: src/metabase/api/table.clj
+msgid "Table ''{0}'' is now visible. Resyncing."
+msgstr "Таблиця '' {0} '' тепер видима. Ресинхронізація."
+
+#: src/metabase/api/table.clj
+msgid "Auto bin"
+msgstr "авто компоновка"
+
+#: src/metabase/api/table.clj
+msgid "Don''t bin"
+msgstr "Чи не компонувати"
+
+#: frontend/src/metabase/lib/query_time.js:193 src/metabase/api/table.clj
+msgid "Day"
+msgid_plural "Days"
+msgstr[0] "день"
+msgstr[1] "дней"
+msgstr[2] "дней"
+msgstr[3] "дней"
+
+#. note the order of these options corresponds to the order they will be shown to the user in the UI
+#: frontend/src/metabase/lib/query_time.js:189 src/metabase/api/table.clj
+msgid "Minute"
+msgid_plural "Minutes"
+msgstr[0] "хвилина"
+msgstr[1] "хвилин"
+msgstr[2] "хвилин"
+msgstr[3] "хвилин"
+
+#: frontend/src/metabase/lib/query_time.js:191 src/metabase/api/table.clj
+msgid "Hour"
+msgid_plural "Hours"
+msgstr[0] "Година"
+msgstr[1] "Годин"
+msgstr[2] "Годин"
+msgstr[3] "Годин"
+
+#: frontend/src/metabase/lib/query_time.js:199 src/metabase/api/table.clj
+msgid "Quarter"
+msgid_plural "Quarters"
+msgstr[0] "квартал"
+msgstr[1] "Кварталов"
+msgstr[2] "Кварталов"
+msgstr[3] "Кварталов"
+
+#: src/metabase/api/table.clj
+msgid "Minute of Hour"
+msgstr "хвилина години"
+
+#: src/metabase/api/table.clj
+msgid "Hour of Day"
+msgstr "Час Дня"
+
+#: src/metabase/api/table.clj
+msgid "Day of Week"
+msgstr "День тижня"
+
+#: src/metabase/api/table.clj
+msgid "Day of Month"
+msgstr "день місяця"
+
+#: src/metabase/api/table.clj
+msgid "Day of Year"
+msgstr "день року"
+
+#: src/metabase/api/table.clj
+msgid "Week of Year"
+msgstr "тиждень року"
+
+#: src/metabase/api/table.clj
+msgid "Month of Year"
+msgstr "місяць року"
+
+#: src/metabase/api/table.clj
+msgid "Quarter of Year"
+msgstr "Квартал року"
+
+#: src/metabase/api/table.clj
+msgid "10 bins"
+msgstr "10 контейнерів"
+
+#: src/metabase/api/table.clj
+msgid "50 bins"
+msgstr "50 контейнерів"
+
+#: src/metabase/api/table.clj
+msgid "100 bins"
+msgstr "100 контейнерів"
+
+#: src/metabase/api/table.clj
+msgid "Bin every 0.1 degrees"
+msgstr "Конт. кожен 0.1 градус"
+
+#: src/metabase/api/table.clj
+msgid "Bin every 1 degree"
+msgstr "Конт. кожен 1 градус"
+
+#: src/metabase/api/table.clj
+msgid "Bin every 10 degrees"
+msgstr "Конт. кожні 10 градусів"
+
+#: src/metabase/api/table.clj
+msgid "Bin every 20 degrees"
+msgstr "Конт. кожні 20 градусів"
+
+#. returns `true` if successful -- see JavaDoc
+#: src/metabase/api/tiles.clj src/metabase/pulse/render.clj
+msgid "No appropriate image writer found!"
+msgstr "Не вдалося знайти відповідний обробник зображень!"
+
+#: src/metabase/api/user.clj
+msgid "Email address already in use."
+msgstr "Email вже зайнятий."
+
+#: src/metabase/api/user.clj
+msgid "Email address already associated to another user."
+msgstr "Email використаний іншим користувачем."
+
+#: src/metabase/api/user.clj
+msgid "Not able to reactivate an active user"
+msgstr "Неможливо повторно активувати активного користувача"
+
+#: src/metabase/api/user.clj
+msgid "Invalid password"
+msgstr "Некоректний пароль"
+
+#: src/metabase/automagic_dashboards/comparison.clj
+msgid "All {0}"
+msgstr "Всі {0}"
+
+#: src/metabase/automagic_dashboards/comparison.clj
+msgid "{0}, all {1}"
+msgstr "{0}, все {1}"
+
+#: src/metabase/automagic_dashboards/comparison.clj
+msgid "Comparison of {0} and {1}"
+msgstr "Порівняння {0} і {1}"
+
+#: src/metabase/automagic_dashboards/comparison.clj
+msgid "Automatically generated comparison dashboard comparing {0} and {1}"
+msgstr "Автоматично згенерований дешборд, що порівнює {0} і {1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "sum"
+msgstr "сума"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "average"
+msgstr "середнє"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "minumum"
+msgstr "мінімум"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "maximum"
+msgstr "максимум"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "distinct count"
+msgstr "унікальне кількість"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "standard deviation"
+msgstr "стандартне відхилення"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "cumulative count"
+msgstr "накопичувальне кількість"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "cumulative sum"
+msgstr "накопичувальна сума"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} and {1}"
+msgstr "{0} Ñ– {1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} of {1}"
+msgstr "{0} з {1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} by {1}"
+msgstr "{0} по {1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} in the {1} segment"
+msgstr "{0} в {1} сегменті"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} segment"
+msgstr "{0} сегмент"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} metric"
+msgstr "{0} метрика"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} field"
+msgstr "{0} поле"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "\"{0}\" question"
+msgstr "{0} запит"
+
+#: src/metabase/automagic_dashboards/comparison.clj
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Compare with {0}"
+msgstr "Порівняти з {0}"
+
+#: src/metabase/automagic_dashboards/comparison.clj
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Compare with entire dataset"
+msgstr "Порівняти з набором даних"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Applying heuristic %s to %s."
+msgstr "Застосування евристики% s для% s."
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Dimensions bindings:n%s"
+msgstr "Прив'язки розмірів: n% s"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Using definitions:nMetrics:n%snFilters:n%s"
+msgstr "Використовувати визначення: nMetrics: Н% snFilters: н% и"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Can''t create dashboard for {0}"
+msgstr "Неможливо створити панель інструментів для {0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0}st"
+msgstr "{0} ий"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0}nd"
+msgstr "{0} ой"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0}rd"
+msgstr "{0} ий"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0}th"
+msgstr "{0} ий"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "at {0}"
+msgstr "до {0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "on {0}"
+msgstr "на {0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "in {0} week - {1}"
+msgstr "в {0} тиждень - {1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "in {0}"
+msgstr "в {0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "in Q{0} - {1}"
+msgstr "в Кв {0} - {1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Q{0}"
+msgstr "Кв {0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} is {1}"
+msgstr "{0} з {1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} is between {1} and {2}"
+msgstr "{0} між {1} і {2}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} is between {1} and {2}; and {3} is between {4} and {5}"
+msgstr "{0} між {1} і {2}; і {3} між {4} і {5}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "where {0}"
+msgstr "де {0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "A closer look at {0}"
+msgstr "Детальніше про {0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "A closer look at the {0}"
+msgstr "Придивитися до {0}"
+
+#: src/metabase/automagic_dashboards/populate.clj
+msgid "Adding %s cards to dashboard %s:n%s"
+msgstr "Додавання картки %s до панелі інструментів %s: n%s"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "0 <= score <= {0}"
+msgstr "0 <= результат <= {0}"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "1 <= width <= {0}"
+msgstr "1 <= ширина <= {0}"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Valid metrics references"
+msgstr "Допустимі посилання на метрики"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Valid filters references"
+msgstr "Допустимі посилання на фільтри"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Valid group references"
+msgstr "Допустимі посилання на групи"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Valid order_by references"
+msgstr "Допустимі посилання сортування"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Valid dashboard filters references"
+msgstr "Допустимі посилання на фільтри панелі моніторингу"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Valid dimension references"
+msgstr "Допустимі посилання на вимірювання"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Valid card dimension references"
+msgstr "Допустимі посилання на розміри карти"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Error parsing %s:n%s"
+msgstr "Помилка обробки% s: n% s"
+
+#: src/metabase/cmd/reset_password.clj
+msgid "No user found with email address ''{0}''. "
+msgstr "Користувач з email адресою '' {0} ' \"не найден.␣"
+
+#: src/metabase/cmd/reset_password.clj
+msgid "Please check the spelling and try again."
+msgstr "Будь ласка перевірте написання і спробуйте ще раз."
+
+#: src/metabase/cmd/reset_password.clj
+msgid "Resetting password for {0}..."
+msgstr "Скидання пароля для {0} ..."
+
+#: src/metabase/cmd/reset_password.clj
+msgid "OK [[[{0}]]]"
+msgstr "OK [[[{0}]]]"
+
+#: src/metabase/cmd/reset_password.clj
+msgid "FAIL [[[{0}]]]"
+msgstr "ЗБІЙ [[[{0}]]]"
+
+#: src/metabase/core.clj
+msgid "Please use the following URL to setup your Metabase installation:"
+msgstr "Будь ласка, використовуйте цю посилання для установки вашої інсталяції Metabase:"
+
+#: src/metabase/core.clj
+msgid "Metabase Shutting Down ..."
+msgstr "Вимкнення Metabase ..."
+
+#: src/metabase/core.clj
+msgid "Metabase Shutdown COMPLETE"
+msgstr "Вимкнення Metabase ЗАВЕРШЕНО"
+
+#: src/metabase/core.clj
+msgid "Starting Metabase version {0} ..."
+msgstr "Запуск Metabase версії {0} ..."
+
+#: src/metabase/core.clj
+msgid "System timezone is ''{0}'' ..."
+msgstr "Системний часовий пояс '' {0} '' ..."
+
+#. startup database.  validates connection & runs any necessary migrations
+#: src/metabase/core.clj
+msgid "Setting up and migrating Metabase DB. Please sit tight, this may take a minute..."
+msgstr "Налагодження та виконання міграцій внутрішньої бази даних Metabase. Зачекайте, будь ласка, це може зайняти якийсь час ..."
+
+#: src/metabase/core.clj
+msgid "Looks like this is a new installation ... preparing setup wizard"
+msgstr "Схоже що це нова інсталяція ... підготовка майстра установки"
+
+#: src/metabase/core.clj
+msgid "Metabase Initialization COMPLETE"
+msgstr "Ініціалізація Metabase ВИКОНАНО"
+
+#: src/metabase/server.clj
+msgid "Launching Embedded Jetty Webserver with config:"
+msgstr "Запуск вбудованого веб-сервера Jetty з конфігурацією:"
+
+#: src/metabase/server.clj
+msgid "Shutting Down Embedded Jetty Webserver"
+msgstr "Вимкнення вбудованого веб-сервера Jetty"
+
+#: src/metabase/core.clj
+msgid "Starting Metabase in STANDALONE mode"
+msgstr "Запуск Metabase в режимі окремого додатка"
+
+#: src/metabase/core.clj
+msgid "Metabase Initialization FAILED"
+msgstr "Ініціалізація Metabase провалився"
+
+#: src/metabase/db.clj
+msgid "Database has migration lock; cannot run migrations."
+msgstr "База даних містить блокування на запуск міграцій; неможливо запустити міграції."
+
+#: src/metabase/db.clj
+msgid "You can force-release these locks by running `java -jar metabase.jar migrate release-locks`."
+msgstr "Ви можете скинути ці блокування запустивши `java -jar metabase.jar migrate release-locks`."
+
+#: src/metabase/db.clj
+msgid "Checking if Database has unrun migrations..."
+msgstr "Перевірка бази даних на наявність невиконаних міграцій ..."
+
+#: src/metabase/db.clj
+msgid "Database has unrun migrations. Waiting for migration lock to be cleared..."
+msgstr "База даних містить невиконані міграції. Очікуванні очищення блокування на запуск міграцій ..."
+
+#: src/metabase/db.clj
+msgid "Migration lock is cleared. Running migrations..."
+msgstr "Блокування на запуск міграцій очищена. Запуск міграцій ..."
+
+#: src/metabase/db.clj
+msgid "Migration lock cleared, but nothing to do here! Migrations were finished by another instance."
+msgstr "Блокування міграцій очищена, але нічого не виконано. Міграції були завершені іншим інстанси."
+
+#. Set up liquibase and let it do its thing
+#: src/metabase/db.clj
+msgid "Setting up Liquibase..."
+msgstr "Налаштування Liquibase ..."
+
+#: src/metabase/db.clj
+msgid "Liquibase is ready."
+msgstr "Liquibase готовий."
+
+#: src/metabase/db.clj
+msgid "Verifying {0} Database Connection ..."
+msgstr "Перевірка підключення до бази даних {0} ..."
+
+#: src/metabase/db.clj
+msgid "Verify Database Connection ... "
+msgstr "Перевірка підключення до бази даних ..."
+
+#: src/metabase/db.clj
+msgid "Running Database Migrations..."
+msgstr "Запуск міграцій бази даних ..."
+
+#: src/metabase/db.clj
+msgid "Database Migrations Current ... "
+msgstr "Поточна міграція бази даних ..."
+
+#: src/metabase/driver/common.clj
+msgid "Hmm, we couldn''t connect to the database."
+msgstr "Хмм, ми не можемо підключитися до бази даних."
+
+#: src/metabase/driver/common.clj
+msgid "Make sure your host and port settings are correct"
+msgstr "Переконайтеся що хост і порт вказані коректно."
+
+#: src/metabase/driver/common.clj
+msgid "We couldn''t connect to the ssh tunnel host."
+msgstr "Ми не можемо підключитися через ssh-тунель."
+
+#: src/metabase/driver/common.clj
+msgid "Check the username, password."
+msgstr "Перевірте ім'я користувача, пароль."
+
+#: src/metabase/driver/common.clj
+msgid "Check the hostname and port."
+msgstr "Перевірте ім'я хоста і порт."
+
+#: src/metabase/driver/common.clj
+msgid "Looks like the database name is incorrect."
+msgstr "Схоже що зазначено некоректно ім'я бази даних."
+
+#: src/metabase/driver/common.clj
+msgid "It looks like your host is invalid."
+msgstr "Схоже що зазначений некоректний хост."
+
+#: src/metabase/driver/common.clj
+msgid "Please double-check it and try again."
+msgstr "Будь ласка перевірте і спробуйте знову."
+
+#: src/metabase/driver/common.clj
+msgid "Looks like your password is incorrect."
+msgstr "Схоже що зазначений некоректний пароль."
+
+#: src/metabase/driver/common.clj
+msgid "Looks like you forgot to enter your password."
+msgstr "Схоже що ви забули вказати пароль."
+
+#: src/metabase/driver/common.clj
+msgid "Looks like your username is incorrect."
+msgstr "Схоже що зазначено некоректно ім'я користувача."
+
+#: src/metabase/driver/common.clj
+msgid "Looks like the username or password is incorrect."
+msgstr "Схоже вказані некоректні ім'я користувачі або пароль."
+
+#. ## CONFIG
+#: src/metabase/driver.clj
+msgid "Connection timezone to use when executing queries. Defaults to system timezone."
+msgstr "Підключення часового поясу для виконання запитів. За замовчуванням використовується системний часовий пояс."
+
+#: src/metabase/driver.clj
+msgid "Registered driver {0} {1}"
+msgstr "З нами драйвер {0} {1}"
+
+#: src/metabase/driver.clj
+msgid "No -init-driver function found for ''{0}''"
+msgstr "Чи не знайдена функція -init-driver для '' {0} ''"
+
+#: src/metabase/driver/common.clj
+msgid "Unable to parse date string ''{0}'' for database engine ''{1}''"
+msgstr "Неможливо обробити рядок дати '' {0} '' для бази даних '' {1} ''"
+
+#. all-NULL columns in DBs like Mongo w/o explicit types
+#: src/metabase/driver/common.clj
+msgid "Don''t know how to map class ''{0}'' to a Field base_type, falling back to :type/*."
+msgstr "Невідомо як зіставити клас '' {0} '' з полем base_type, повернення до: type / *."
+
+#: src/metabase/driver/util.clj
+msgid "Failed to connect to database: {0}"
+msgstr "Неможливо підключитися до бази даних: {0}"
+
+#: src/metabase/driver/bigquery.clj
+msgid "Invalid BigQuery identifier: ''{0}''"
+msgstr "Некоректний ідентифікатор BigQuery: '' {0} ''"
+
+#: src/metabase/driver/bigquery.clj
+msgid "BigQuery statements can't be parameterized!"
+msgstr "Вираз BigQuery не може бути параметризованих!"
+
+#: src/metabase/driver/sql_jdbc/execute.clj
+msgid "Failed to set timezone:"
+msgstr "Неможливо встановити часовий пояс:"
+
+#: src/metabase/driver/googleanalytics.clj
+msgid "You must enable the Google Analytics API. Use this link to go to the Google Developers Console: {0}"
+msgstr "Ви повинні дозволити Google Analytics API. Використовуйте цю посилання для переходу в Google Developers Console: {0}"
+
+#: src/metabase/driver/h2.clj
+msgid "Running SQL queries against H2 databases using the default (admin) database user is forbidden."
+msgstr "Виконання SQL запитів на H2 базі даних з використанням користувача за замовчуванням (admin) заборонено."
+
+#: src/metabase/driver/sparksql.clj
+msgid "Error: metabase.driver.FixedHiveDriver is registered, but JDBC does not seem to be using it."
+msgstr "Помилка: metabase.driver.FixedHiveDriver зареєстрований, але схоже що JDBC не використовує його."
+
+#: src/metabase/driver/sparksql.clj
+msgid "Found metabase.driver.FixedHiveDriver."
+msgstr "Знайдений metabase.driver.FixedHiveDriver."
+
+#: src/metabase/driver/sparksql.clj
+msgid "Successfully registered metabase.driver.FixedHiveDriver with JDBC."
+msgstr "Успішно зареєстрований metabase.driver.FixedHiveDriver з JDBC."
+
+#. CONFIG
+#. TODO - smtp-port should be switched to type :integer
+#: src/metabase/email.clj
+msgid "Email address you want to use as the sender of Metabase."
+msgstr "Email адреса, яку ви хочете використовувати в якості відправника Metabase."
+
+#: src/metabase/email.clj
+msgid "The address of the SMTP server that handles your emails."
+msgstr "Адреса SMTP сервера, який обробляє вашу пошту."
+
+#: src/metabase/email.clj
+msgid "SMTP username."
+msgstr "SMTP користувач."
+
+#: src/metabase/email.clj
+msgid "SMTP password."
+msgstr "SMTP пароль."
+
+#: src/metabase/email.clj
+msgid "The port your SMTP server uses for outgoing emails."
+msgstr "Порт вашого SMTP сервера, який використовується для відправки пошти."
+
+#: src/metabase/email.clj
+msgid "SMTP secure connection protocol. (tls, ssl, starttls, or none)"
+msgstr "Протокол безпеки підключення SMTP (tls, ssl, starttls, або не використовується)"
+
+#: src/metabase/email.clj
+msgid "none"
+msgstr "нічого"
+
+#: src/metabase/email.clj
+msgid "SMTP host is not set."
+msgstr "SMTP хост не встановлено."
+
+#: src/metabase/email.clj
+msgid "Failed to send email"
+msgstr "Помилка відправки email"
+
+#: src/metabase/email.clj
+msgid "Error testing SMTP connection"
+msgstr "Помилка тестування SMTP з'єднання"
+
+#: src/metabase/integrations/ldap.clj
+msgid "Enable LDAP authentication."
+msgstr "Включити LDAP аутентифікацію."
+
+#: src/metabase/integrations/ldap.clj
+msgid "Server hostname."
+msgstr "хост сервера"
+
+#: src/metabase/integrations/ldap.clj
+msgid "Server port, usually 389 or 636 if SSL is used."
+msgstr "Порт сервера, зазвичай 389 або 636 при використанні SSL."
+
+#: src/metabase/integrations/ldap.clj
+msgid "Use SSL, TLS or plain text."
+msgstr "Використання SSL, TLS або простого тексту."
+
+#: src/metabase/integrations/ldap.clj
+msgid "The Distinguished Name to bind as (if any), this user will be used to lookup information about other users."
+msgstr "Розрізнювальне ім'я для прив'язки як (якщо є), цей користувач буде використовуватися для пошуку інформації про інших користувачів."
+
+#: src/metabase/integrations/ldap.clj
+msgid "The password to bind with for the lookup user."
+msgstr "Пароль для прив'язки користувача, який використовується для пошуку."
+
+#: src/metabase/integrations/ldap.clj
+msgid "Search base for users. (Will be searched recursively)"
+msgstr "Пошукова база для користувачів. (Ми будемо шукати рекурсивно)"
+
+#: src/metabase/integrations/ldap.clj
+msgid "User lookup filter, the placeholder '{login}' will be replaced by the user supplied login."
+msgstr "Фільтр для пошуку користувачів, змінна '{login}' буде замінена наданим логіном користувача."
+
+#: src/metabase/integrations/ldap.clj
+msgid "Attribute to use for the user's email. (usually ''mail'', ''email'' or ''userPrincipalName'')"
+msgstr "Атрибут, що використовується в якості email користувача (зазвичай '' mail ',' 'email' 'або' 'userPrincipalName' ')"
+
+#: src/metabase/integrations/ldap.clj
+msgid "Attribute to use for the user''s first name. (usually ''givenName'')"
+msgstr "Атрибут, що використовується в якості імені користувача (зазвичай '' givenName '')"
+
+#: src/metabase/integrations/ldap.clj
+msgid "Attribute to use for the user''s last name. (usually ''sn'')"
+msgstr "Атрибут, що використовується в якості прізвища користувача (зазвичай '' sn '')"
+
+#: src/metabase/integrations/ldap.clj
+msgid "Enable group membership synchronization with LDAP."
+msgstr "Увімкнути синхронізацію членства в групах з LDAP."
+
+#: src/metabase/integrations/ldap.clj
+msgid "Search base for groups, not required if your LDAP directory provides a ''memberOf'' overlay. (Will be searched recursively)"
+msgstr "Пошукова база для груп, необов'язкова якщо LDAP сервер надає '' memberOf ''. (Ми будемо шукати рекурсивно)"
+
+#. Should be in the form: {"cn=Some Group,dc=...": [1, 2, 3]} where keys are LDAP groups and values are lists of MB groups IDs
+#: src/metabase/integrations/ldap.clj
+msgid "JSON containing LDAP to Metabase group mappings."
+msgstr "JSON містить зіставлення між групами LDAP і Metabase."
+
+#. Define a setting which captures our Slack api token
+#: src/metabase/integrations/slack.clj
+msgid "Slack API bearer token obtained from https://api.slack.com/web#authentication"
+msgstr "Slack API bearer токен, отриманий звідси https://api.slack.com/web#authentication"
+
+#: src/metabase/metabot.clj
+msgid "Enable MetaBot, which lets you search for and view your saved questions directly via Slack."
+msgstr "Увімкніть MetabBot, це дозволить шукати і дивитися запити безпосередньо через Slack."
+
+#: src/metabase/metabot/instance.clj
+msgid "Last MetaBot checkin was {0} ago."
+msgstr "Остання перевірка MetaBot була проведена {0} назад."
+
+#: src/metabase/metabot/instance.clj
+msgid "This instance will now handle MetaBot duties."
+msgstr "Поточний інстанси буде обслуговуватися MetaBot."
+
+#: src/metabase/metabot.clj
+msgid "Here''s what I can {0}:"
+msgstr "Ось що я можу {0}:"
+
+#: src/metabase/metabot.clj
+msgid "I don''t know how to {0} `{1}`.n{2}"
+msgstr "Я не знаю, як {0} `{1}` .n {2}"
+
+#: src/metabase/metabot/slack.clj
+msgid "Uh oh! :cry:n> {0}"
+msgstr "Ууух! : Cry: n> {0}"
+
+#: src/metabase/metabot/command.clj
+msgid "Here''s your {0} most recent cards:n{1}"
+msgstr "Тут ваші {0} останні картки: n {1}"
+
+#: src/metabase/metabot/command.clj
+msgid "Could you be a little more specific? I found these cards with names that matched:n{0}"
+msgstr "Чи можете ви уточнити? Я знайшов ці картки за випадковим збігом імен: n {0}"
+
+#: src/metabase/metabot/command.clj
+msgid "I don''t know what Card `{0}` is. Give me a Card ID or name."
+msgstr "Мені невідома картка `{0}`. Будь ласка вкажіть ідентифікатор або ім'я."
+
+#: src/metabase/metabot/command.clj
+msgid "Show which card? Give me a part of a card name or its ID and I can show it to you. If you don''t know which card you want, try `metabot list`."
+msgstr "Показати яку карту? Дай мені частину імені карти або її ID і я можу показати його вам. Якщо ви не \"т знаю, яку карту ви хочете, спробуйте metabot спісок`."
+
+#: src/metabase/metabot/command.clj
+msgid "Ok, just a second..."
+msgstr "Добре, секунду ..."
+
+#: src/metabase/metabot/command.clj
+msgid "Not Found"
+msgstr "Не знайдено"
+
+#: src/metabase/metabot/command.clj
+msgid "Loading Kanye quotes..."
+msgstr "Завантаження цитат Kanye ..."
+
+#: src/metabase/metabot/events.clj
+msgid "Evaluating Metabot command:"
+msgstr "Виконання команди Metabot:"
+
+#: src/metabase/metabot.clj
+msgid "Go home websocket, you're drunk."
+msgstr "Іди додому вебсокет, ти п'яний."
+
+#: src/metabase/metabot/websocket.clj
+msgid "Error launching metabot:"
+msgstr "Помилка запуску metabot:"
+
+#: src/metabase/metabot/websocket.clj
+msgid "MetaBot WebSocket is closed. Reconnecting now."
+msgstr "Вебсокет MetaBot закритий. Спроба перепідключення."
+
+#: src/metabase/metabot/websocket.clj
+msgid "Error connecting websocket:"
+msgstr "Помилка підключення до вебсокету:"
+
+#: src/metabase/metabot/instance.clj
+msgid "This instance is performing MetaBot duties."
+msgstr "Цей екземпляр виконує обов'язки Метабота."
+
+#: src/metabase/metabot/instance.clj
+msgid "Another instance is already handling MetaBot duties."
+msgstr "Інший екземпляр вже обробляє обов'язки MetaBot."
+
+#: src/metabase/metabot.clj
+msgid "Starting MetaBot threads..."
+msgstr "Запуск потоків MetaBot ..."
+
+#: src/metabase/metabot.clj
+msgid "Stopping MetaBot...  🤖"
+msgstr "Зупинка MetaBot ... 🤖"
+
+#: src/metabase/metabot.clj
+msgid "MetaBot already running. Killing the previous WebSocket listener first."
+msgstr "MetaBot вже працює. Вбивство попереднього WebSocket слухача першим."
+
+#: src/metabase/middleware/security.clj
+msgid "Base-64 encoded public key for this site's SSL certificate."
+msgstr "Base-64 закодований відкритий ключ сертифіката SSL даного сайту."
+
+#: src/metabase/middleware/security.clj
+msgid "Specify this to enable HTTP Public Key Pinning."
+msgstr "Вкажіть це включити HTTP Public Key піннінга."
+
+#: src/metabase/middleware/security.clj
+msgid "See {0} for more information."
+msgstr "Для отримання додаткової інформації див {0}."
+
+#: src/metabase/models/card.clj
+msgid "Cannot save Question: source query has circular references."
+msgstr "Неможливо зберегти питання: джерело запиту має циклічні посилання."
+
+#: src/metabase/models/card.clj src/metabase/models/query/permissions.clj
+#: src/metabase/query_processor/middleware/permissions.clj
+msgid "Card {0} does not exist."
+msgstr "Card {0} не існує."
+
+#: src/metabase/models/card.clj
+msgid "You do not have permissions to run ad-hoc native queries against Database {0}."
+msgstr "У вас немає прав для запуску Ad-Hoc власні запити до бази даних {0}."
+
+#: src/metabase/models/collection.clj
+msgid "Invalid color"
+msgstr "неправильний колір"
+
+#: src/metabase/models/collection.clj
+msgid "must be a valid 6-character hex color code"
+msgstr "повинен бути дійсним 6-символьний код шістнадцятковий колір"
+
+#: src/metabase/models/collection.clj
+msgid "Collection name cannot be blank!"
+msgstr "Назва колекції не може бути порожнім!"
+
+#: src/metabase/models/collection.clj
+msgid "cannot be blank"
+msgstr "не може бути порожнім"
+
+#: src/metabase/models/collection.clj
+msgid "Invalid Collection location: path is invalid."
+msgstr "Invalid розташування Колекція: неприпустимий шлях."
+
+#: src/metabase/models/collection.clj
+msgid "You cannot move a Personal Collection."
+msgstr "Ви не можете перемістити особисту колекцію."
+
+#: src/metabase/models/collection.clj
+msgid "Invalid Collection location: some or all ancestors do not exist."
+msgstr "Неправильне розташування Колекція: деякі або всі предки не існує."
+
+#: src/metabase/models/collection.clj
+msgid "You cannot archive the Root Collection."
+msgstr "Ви не можете архівувати кореневу колекцію."
+
+#: src/metabase/models/collection.clj
+msgid "You cannot archive a Personal Collection."
+msgstr "Ви не можете архівувати особисту колекцію."
+
+#: src/metabase/models/collection.clj
+msgid "You cannot move the Root Collection."
+msgstr "Ви не можете перемістити Root Collection."
+
+#: src/metabase/models/collection.clj
+msgid "You cannot move a Collection into itself or into one of its descendants."
+msgstr "Ви не можете перемістити колекцію в себе або в один з його нащадків."
+
+#. first move this Collection
+#: src/metabase/models/collection.clj
+msgid "Moving Collection {0} and its descendants from {1} to {2}"
+msgstr "Переміщення Collection {0} і його нащадків від {1} до {2}"
+
+#: src/metabase/models/collection.clj
+msgid "You're not allowed to change the owner of a Personal Collection."
+msgstr "Ви не можете змінити власник особистої колекції."
+
+#: src/metabase/models/collection.clj
+msgid "You're not allowed to move a Personal Collection."
+msgstr "Ви не можете передати особисту колекцію."
+
+#: src/metabase/models/collection.clj
+msgid "You cannot move a Collection and archive it at the same time."
+msgstr "Ви не можете перемістити колекцію і архівувати його в той же час."
+
+#: src/metabase/models/collection.clj
+msgid "You cannot delete a Personal Collection!"
+msgstr "Ви не можете видаляти особисту колекцію!"
+
+#: src/metabase/models/collection.clj
+msgid "{0} {1}''s Personal Collection"
+msgstr "{0} {1} '' s Особиста Колекція"
+
+#: src/metabase/models/collection_revision.clj
+msgid "You cannot update a CollectionRevision!"
+msgstr "Ви не можете оновити CollectionRevision!"
+
+#: src/metabase/models/field_values.clj
+msgid "Field {0} was previously automatically set to show a list widget, but now has {1} values."
+msgstr "Поле {0} був раніше автоматично встановлюється, щоб показати список віджетів, але тепер має {1} значення."
+
+#: src/metabase/models/field_values.clj
+msgid "Switching Field to use a search widget instead."
+msgstr "Комутаційне поле використовувати замість віджет пошуку."
+
+#: src/metabase/models/field_values.clj
+msgid "Storing updated FieldValues for Field {0}..."
+msgstr "Зберігання оновлюються FieldValues ​​для поля {0} ..."
+
+#: src/metabase/models/field_values.clj
+msgid "Storing FieldValues for Field {0}..."
+msgstr "Збереження FieldValues ​​для поля {0} ..."
+
+#: src/metabase/models/humanization.clj
+msgid "Metabase can attempt to transform your table and field names into more sensible, human-readable versions, e.g. \"somehorriblename\" becomes \"Some Horrible Name\"."
+msgstr "Metabase може спробувати перетворити ваші імена таблиць і полів в більш розумні, людина-читаються версії, наприклад, «Somehorriblename» стає «Деякі Жахливе ім'я»."
+
+#: src/metabase/models/humanization.clj
+msgid "This doesn’t work all that well if the names are in a language other than English, however."
+msgstr "Це не працює все, що добре, якщо імена знаходяться в іншій мові, крім англійської, однако."
+
+#: src/metabase/models/humanization.clj
+msgid "Do you want us to take a guess?"
+msgstr "Ви хочете, щоб ми зробити припущення?"
+
+#: src/metabase/models/permissions.clj
+msgid "You cannot create or revoke permissions for the 'Admin' group."
+msgstr "Ви не можете створити або скасувати дозволи для групи «Admin»."
+
+#: src/metabase/models/permissions.clj
+msgid "Invalid permissions object path: ''{0}''."
+msgstr "Невірні права доступу об'єкта шлях: '' {0} ''."
+
+#: src/metabase/models/permissions.clj
+msgid "You cannot update a permissions entry!"
+msgstr "Ви не можете оновити запис дозволів!"
+
+#: src/metabase/models/permissions.clj
+msgid "Delete it and create a new one."
+msgstr "Видаліть його і створити новий."
+
+#: src/metabase/models/permissions.clj
+msgid "You cannot edit permissions for a Personal Collection or its descendants."
+msgstr "Ви не можете редагувати дозволу для особистої колекції або його нащадків."
+
+#: src/metabase/models/permissions.clj
+msgid "Looks like someone else edited the permissions and your data is out of date."
+msgstr "Схоже, хтось редагували дозвіл і ваші дані застаріли."
+
+#: src/metabase/models/permissions.clj
+msgid "Please fetch new data and try again."
+msgstr "Будь ласка, отримувати нові дані і спробуйте ще раз."
+
+#: src/metabase/models/permissions_group.clj
+msgid "Created magic permissions group ''{0}'' (ID = {1})"
+msgstr "Створені магії дозволів групи '' {0} '' (ID = {1})"
+
+#: src/metabase/models/permissions_group.clj
+msgid "A group with that name already exists."
+msgstr "Група з таким ім'ям вже існує."
+
+#: src/metabase/models/permissions_group.clj
+msgid "You cannot edit or delete the ''{0}'' permissions group!"
+msgstr "Ви не можете змінити або видалити «» {0} \"\" групу дозволів!"
+
+#: src/metabase/models/permissions_group_membership.clj
+msgid "You cannot add or remove users to/from the 'MetaBot' group."
+msgstr "Ви не можете додавати або видаляти користувачів в / з групи «MetaBot»."
+
+#: src/metabase/models/permissions_group_membership.clj
+msgid "You cannot add or remove users to/from the 'All Users' group."
+msgstr "Ви не можете додавати або видаляти користувачів в / з групи «All Users»."
+
+#: src/metabase/models/permissions_group_membership.clj
+msgid "You cannot remove the last member of the 'Admin' group!"
+msgstr "Ви не можете видалити останній член групи «Адміністрування»!"
+
+#: src/metabase/models/permissions_revision.clj
+msgid "You cannot update a PermissionsRevision!"
+msgstr "Ви не можете оновити PermissionsRevision!"
+
+#. if there's still not a Card, throw an Exception!
+#: src/metabase/models/pulse.clj
+msgid "Invalid Alert: Alert does not have a Card assoicated with it"
+msgstr "Invalid Alert: Оповіщення не має карти assoicated з ним"
+
+#: src/metabase/models/pulse.clj
+msgid "value must be a map with the keys `{0}`, `{1}`, and `{2}`."
+msgstr "Значення має бути карта з ключами `{0},` {1} `і` {2}`."
+
+#: src/metabase/models/pulse.clj
+msgid "value must be a map with the following keys `({0})`"
+msgstr "Значення має бути карта з наступними ключами `({0})`"
+
+#: src/metabase/models/query/permissions.clj
+msgid "Error calculating permissions for query: {0}"
+msgstr "Помилка обчислення дозволу для запиту: {0}"
+
+#: src/metabase/models/query/permissions.clj
+msgid "Invalid query type: {0}"
+msgstr "Неприпустимий тип запиту: {0}"
+
+#: src/metabase/models/query_execution.clj
+msgid "You cannot update a QueryExecution!"
+msgstr "Ви не можете оновити QueryExecution!"
+
+#: src/metabase/models/revision.clj
+msgid "You cannot update a Revision!"
+msgstr "Ви не можете оновити Revision!"
+
+#: src/metabase/models/setting.clj
+msgid "Setting {0} does not exist.nFound: {1}"
+msgstr "Налаштування {0} exist.nFound: {1}"
+
+#: src/metabase/models/setting/cache.clj
+msgid "Updating value of settings-last-updated in DB..."
+msgstr "Оновлення значення параметрів-останніх оновлюваний в БД ..."
+
+#: src/metabase/models/setting/cache.clj
+msgid "Checking whether settings cache is out of date (requires DB call)..."
+msgstr "Перевірка чи кеш налаштувань застаріли (потрібно DB виклику) ..."
+
+#: src/metabase/models/setting/cache.clj
+msgid "Settings have been changed on another instance, and will be reloaded here."
+msgstr "Налаштування були змінені на інший екземпляр, і будуть перезавантажувались тут."
+
+#: src/metabase/models/setting/cache.clj
+msgid "Refreshing Settings cache..."
+msgstr "Оновлення кешу Налаштування"
+
+#: src/metabase/models/setting.clj
+msgid "Invalid value for string: must be either \"true\" or \"false\" (case-insensitive)."
+msgstr "Неприпустиме значення рядка: має бути «справжнім» або «брехня» (без урахування регістру)."
+
+#: src/metabase/models/setting.clj
+msgid "You cannot update `settings-last-updated` yourself! This is done automatically."
+msgstr "Ви не можете оновити `настройки, останній updated` себе! Це робиться автоматично."
+
+#. go ahead and log the Exception anyway on the off chance that it *wasn't* just a race condition issue
+#: src/metabase/models/setting.clj
+msgid "Error inserting a new Setting:"
+msgstr "Помилка вставки нової настройки:"
+
+#: src/metabase/models/setting.clj
+msgid "Assuming Setting already exists in DB and updating existing value."
+msgstr "Припускаючи, що настройки вже існує в БД і оновлення існуючого значення."
+
+#: src/metabase/models/user.clj
+msgid "value must be a map with each value either a string or number."
+msgstr "Значення має бути карта з кожним значенням або рядки або числа."
+
+#: src/metabase/plugins.clj
+msgid "Loading plugins in directory {0}..."
+msgstr "Завантаження плагінів в каталозі {0} ..."
+
+#: src/metabase/plugins.clj
+msgid "Loading plugin {0}... "
+msgstr "Завантаження плагін {0} ..."
+
+#: src/metabase/plugins.clj
+msgid "It looks like you have some external dependencies in your Metabase plugins directory."
+msgstr "Схоже, у вас є кілька зовнішніх залежностей в каталозі Metabase плагінів."
+
+#: src/metabase/plugins.clj
+msgid "With Java 9 or higher, Metabase cannot automatically add them to your classpath."
+msgstr "З Java 9 або вище, Metabase не може автоматично додавати їх в дорозі до класів."
+
+#: src/metabase/plugins.clj
+msgid "Instead, you should include them at launch with the -cp option. For example:"
+msgstr "Замість цього ви повинні включити їх при запуску з -cp опцією. Наприклад:"
+
+#: src/metabase/plugins.clj
+msgid "See https://metabase.com/docs/latest/operations-guide/start.html#java-versions for more details."
+msgstr "Див https://metabase.com/docs/latest/operations-guide/start.html#java-versions для більш докладної інформації."
+
+#: src/metabase/plugins.clj
+msgid "(If you're already running Metabase this way, you can ignore this message.)"
+msgstr "(Якщо ви вже працюєте Metabase таким чином, ви можете ігнорувати це повідомлення.)"
+
+#: src/metabase/public_settings.clj
+msgid "Identify when new versions of Metabase are available."
+msgstr "Визначити, коли будуть доступні нові версії Metabase"
+
+#: src/metabase/public_settings.clj
+msgid "Information about available versions of Metabase."
+msgstr "Інформація про доступні версіях метабази."
+
+#: src/metabase/public_settings.clj
+msgid "The name used for this instance of Metabase."
+msgstr "Ім'я, яке використовується для цієї версії метабази."
+
+#: src/metabase/public_settings.clj
+msgid "The base URL of this Metabase instance, e.g. \"http://metabase.my-company.com\"."
+msgstr "База URL-адресу даного примірника Metabase, наприклад, \"Http://metabase.my-company.com\"."
+
+#: src/metabase/public_settings.clj
+msgid "The default language for this Metabase instance."
+msgstr "Мова за замовчуванням для цієї версії Metabase."
+
+#: src/metabase/public_settings.clj
+msgid "This only applies to emails, Pulses, etc. Users'' browsers will specify the language used in the user interface."
+msgstr "Це відноситься тільки до електронної пошти, Пульсів і т.д. Користувачі «» браузерів вкажуть мову, що використовується в інтерфейсі."
+
+#: src/metabase/public_settings.clj
+msgid "The email address users should be referred to if they encounter a problem."
+msgstr "Користувачам адрес електронної пошти слід звертатися до допомоги, якщо вони зіткнулися з проблемою."
+
+#: src/metabase/public_settings.clj
+msgid "Enable the collection of anonymous usage data in order to help Metabase improve."
+msgstr "Включити збір анонімного використання даних для того, щоб допомогти нам поліпшити Metabase."
+
+#: src/metabase/public_settings.clj
+msgid "The map tile server URL template used in map visualizations, for example from OpenStreetMaps or MapBox."
+msgstr "Шаблон сервера URL плиточної веб-карти використовується в карті візуалізації, наприклад, з OpenStreetMaps або MapBox."
+
+#: src/metabase/public_settings.clj
+msgid "Enable admins to create publicly viewable links (and embeddable iframes) for Questions and Dashboards?"
+msgstr "Дозволити адміністраторам створювати загальнодоступні посилання (і вбудовані i-фрейми) для запитів і панелі інструментів?"
+
+#: src/metabase/public_settings.clj
+msgid "Allow admins to securely embed questions and dashboards within other applications?"
+msgstr "Дозволити адміністраторам безпечно вставляти питання і приладові панелі в інших додатках?"
+
+#: src/metabase/public_settings.clj
+msgid "Allow using a saved question as the source for other queries?"
+msgstr "Дозволити використання збереженого питання як джерело для інших запитів?"
+
+#: src/metabase/public_settings.clj
+msgid "Enabling caching will save the results of queries that take a long time to run."
+msgstr "Включення кешування буде зберігати результати запитів, які займають багато часу для запуску."
+
+#: src/metabase/public_settings.clj
+msgid "The maximum size of the cache, per saved question, in kilobytes:"
+msgstr "Максимальний розмір кешу, за збереженим питання, в кілобайтах:"
+
+#: src/metabase/public_settings.clj
+msgid "The absolute maximum time to keep any cached query results, in seconds."
+msgstr "Абсолютний максимальний час, щоб все кешированниє результати запиту в секундах."
+
+#: src/metabase/public_settings.clj
+msgid "Metabase will cache all saved questions with an average query execution time longer than this many seconds:"
+msgstr "Metabase кешируєт всі збережені питання із середнім часом виконання запитів довше, ніж це багато секунд:"
+
+#: src/metabase/public_settings.clj
+msgid "To determine how long each saved question''s cached result should stick around, we take the query''s average execution time and multiply that by whatever you input here."
+msgstr "Для того, щоб визначити, як довго кожен збережений питання «це кешувати результат повинен дотримуватися навколо, візьмемо запит» середній час виконання х і помножити це все, що ви тут вхід."
+
+#: src/metabase/public_settings.clj
+msgid "So if a query takes on average 2 minutes to run, and you input 10 for your multiplier, its cache entry will persist for 20 minutes."
+msgstr "Таким чином, якщо запит займає в середньому 2 хвилини для запуску, і ви вводите 10 для мультиплікатора, його запис у кеші зберігатиметься протягом 20 хвилин."
+
+#: src/metabase/public_settings.clj
+msgid "When using the default binning strategy and a number of bins is not provided, this number will be used as the default."
+msgstr "При використанні стратегії Біннінг за замовчуванням і кількість бункерів не передбачено, цей номер буде використовуватися за замовчуванням."
+
+#: src/metabase/public_settings.clj
+msgid "When using the default binning strategy for a field of type Coordinate (such as Latitude and Longitude), this number will be used as the default bin width (in degrees)."
+msgstr "При використанні стратегії Біннінг за замовчуванням для поля типу координат (наприклад, широти і довготи), цей номер буде використовуватися в якості ширини бункера за замовчуванням (в градусах)."
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Unable to validate token."
+msgstr "Неможливо перевірити маркер."
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Error fetching token status:"
+msgstr "Помилка вибірки маркерів стану:"
+
+#: src/metabase/public_settings/metastore.clj
+msgid "There was an error checking whether this token was valid."
+msgstr "Там була помилка перевірки, чи був цей маркер дійсний."
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Token validation timed out."
+msgstr "Токен перевірки минув."
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Invalid token: token isn't in the right format."
+msgstr "Неприпустимий маркер: маркер не в потрібному форматі."
+
+#. attempt to query the metastore API about the status of this token. If the request doesn't complete in a
+#. reasonable amount of time throw a timeout exception
+#: src/metabase/public_settings/metastore.clj
+msgid "Checking with the MetaStore to see whether {0} is valid..."
+msgstr "Перевірка з MetaStore, щоб побачити чи {0} діє ..."
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Token for premium embedding. Go to the MetaStore to get yours!"
+msgstr "Маркер для преміум вкладення. Перейти до MetaStore, щоб отримати ваш!"
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Token is valid."
+msgstr "Токен дійсний."
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Error setting premium embedding token"
+msgstr "Помилка установки вкладення преміум маркер"
+
+#: src/metabase/pulse.clj
+msgid "Unable to compare results to goal for alert."
+msgstr "Неможливо порівняти результати цілі для сповіщення."
+
+#: src/metabase/pulse.clj
+msgid "Question ID is ''{0}'' with visualization settings ''{1}''"
+msgstr "Питання ВД «» {0} «» з настройками візуалізації «» {1} «»"
+
+#: src/metabase/pulse.clj
+msgid "Unrecognized alert with condition ''{0}''"
+msgstr "Незнайоме сповіщення з умовою «» {0} «»"
+
+#: src/metabase/pulse.clj
+msgid "Unrecognized channel type {0}"
+msgstr "Нерозпізнаний тип каналу {0}"
+
+#: src/metabase/pulse.clj
+msgid "Error sending notification!"
+msgstr "Помилка відправки повідомлення!"
+
+#: src/metabase/pulse/color.clj
+msgid "Can't find JS color selector at ''{0}''"
+msgstr "Чи не можете знайти JS селектор кольору в «» {0} «»"
+
+#: src/metabase/pulse/render.clj
+msgid "Card has errors: {0}"
+msgstr "Картка містить помилки: {0}"
+
+#: src/metabase/pulse/render.clj
+msgid "Pulse card render error"
+msgstr "Помилка візуалізації карти Пульсу"
+
+#: src/metabase/query_processor/middleware/fetch_source_query.clj
+msgid "Trimming trailing comment from card with id {0}"
+msgstr "Обрізка замикає коментаря від карти з ідентифікатором {0}"
+
+#: src/metabase/query_processor/middleware/parameters/sql.clj
+msgid "Can't find field with ID: {0}"
+msgstr "Неможливо знайти поле з ID: {0}"
+
+#: src/metabase/query_processor/middleware/parameters/sql.clj
+msgid "''{0}'' is a required param."
+msgstr "«{0}» »є необхідними парами."
+
+#: src/metabase/query_processor/middleware/parameters/sql.clj
+msgid "Found ''{0}'' with no terminating ''{1}'' in query ''{2}''"
+msgstr "Знайдено '' {0} '' без будь-яких завершального '' {1} '' в запиті '' {2} ''"
+
+#: src/metabase/query_processor/middleware/parameters/sql.clj
+msgid "Unable to substitute ''{0}'': param not specified.nFound: {1}"
+msgstr "Неможливо замінити '' {0} '': Param НЕ specified.nFound: {1}"
+
+#: src/metabase/query_processor/middleware/permissions.clj
+msgid "You do not have permissions to view Card {0}."
+msgstr "У вас немає прав для перегляду карти {0}."
+
+#: src/metabase/query_processor/middleware/permissions.clj
+msgid "You do not have permissions to run this query."
+msgstr "У вас немає прав для запуску цього запиту."
+
+#: src/metabase/sync/analyze.clj
+msgid "Fingerprint updates attempted {0}, updated {1}, no data found {2}, failed {3}"
+msgstr "Оновлення відбитків пальців спробували {0}, оновлення {1}, ніяких даних, знайдені {2}, не вдалися {3}"
+
+#: src/metabase/sync/analyze.clj
+msgid "Total number of fields classified {0}, {1} failed"
+msgstr "Загальна кількість класифікованих полів {0}, {1} не вдалося"
+
+#: src/metabase/sync/analyze.clj
+msgid "Total number of tables classified {0}, {1} updated"
+msgstr "Загальна кількість класифікованих таблиць {0}, {1} оновлена"
+
+#: src/metabase/sync/analyze/fingerprint/fingerprinters.clj
+msgid "Error generating fingerprint for {0}"
+msgstr "Помилка генерування відбитків пальців для {0}"
+
+#: src/metabase/sync/field_values.clj
+msgid "Updated {0} field value sets, created {1}, deleted {2} with {3} errors"
+msgstr "Оновлені значення {0} поле набори, створені {1}, {2, віддалені з} {3} помилки"
+
+#: src/metabase/sync/sync_metadata.clj
+msgid "Total number of fields sync''d {0}, number of fields updated {1}"
+msgstr "Загальна кількість синхронізованих полів {0}, число оновлених полів {1}"
+
+#: src/metabase/sync/sync_metadata.clj
+msgid "Total number of tables sync''d {0}, number of tables updated {1}"
+msgstr "Загальна кількість синхронізованих таблиць {0}, кількість оновлених таблиць {1}"
+
+#: src/metabase/sync/sync_metadata.clj
+msgid "Found timezone id {0}"
+msgstr "Знайдено часовий пояс ідентифікатор {0}"
+
+#: src/metabase/sync/sync_metadata.clj
+msgid "Total number of foreign keys sync''d {0}, {1} updated and {2} tables failed to update"
+msgstr "Загальна кількість зовнішніх синхронізованих ключів {0}, {1} оновлена ​​і {2} таблиці не вдалося оновити"
+
+#: src/metabase/sync/util.clj
+msgid "{0} Database {1} ''{2}''"
+msgstr "{0} База даних {1} '' {2} ''"
+
+#: src/metabase/sync/util.clj
+msgid "Table {0} ''{1}''"
+msgstr "Таблиця {0} '' {1} ''"
+
+#: src/metabase/sync/util.clj
+msgid "Field {0} ''{1}''"
+msgstr "Поле {0} '' {1} ''"
+
+#: src/metabase/sync/util.clj
+msgid "Field ''{0}''"
+msgstr "Поле '' {0} ''"
+
+#: src/metabase/sync/util.clj
+msgid "step ''{0}'' for {1}"
+msgstr "крок '' {0} '' для {1}"
+
+#: src/metabase/sync/util.clj
+msgid "Completed {0} on {1}"
+msgstr "Завершено {0} {1}"
+
+#: src/metabase/sync/util.clj
+msgid "Start: {0}"
+msgstr "Початок: {0}"
+
+#: src/metabase/sync/util.clj
+msgid "End: {0}"
+msgstr "Кінець: {0}"
+
+#: src/metabase/sync/util.clj
+msgid "Duration: {0}"
+msgstr "Тривалість: {0}"
+
+#: src/metabase/sync/util.clj
+msgid "Completed step ''{0}''"
+msgstr "Завершений крок '' {0} ''"
+
+#: src/metabase/task.clj
+msgid "Loading tasks namespace:"
+msgstr "Завантаження завдання простору імен:"
+
+#: src/metabase/task.clj
+msgid "Starting Quartz Scheduler"
+msgstr "Запуск Quartz Scheduler"
+
+#: src/metabase/task.clj
+msgid "Stopping Quartz Scheduler"
+msgstr "Зупинка Quartz Scheduler"
+
+#: src/metabase/task.clj
+msgid "Job already exists:"
+msgstr "Робота вже існує:"
+
+#. This is the very first log message that will get printed.  It's here because this is one of the very first
+#. namespaces that gets loaded, and the first that has access to the logger It shows up a solid 10-15 seconds before
+#. the "Starting Metabase in STANDALONE mode" message because so many other namespaces need to get loaded
+#: src/metabase/util.clj
+msgid "Loading Metabase..."
+msgstr "Завантаження Metabase ..."
+
+#: src/metabase/util/date.clj
+msgid "Possible timezone conflict found on database {0}."
+msgstr "Можлива тимчасова зона конфлікту знаходиться на базі даних {0}."
+
+#: src/metabase/util/date.clj
+msgid "JVM timezone is {0} and detected database timezone is {1}."
+msgstr "JVM, тимчасова зона {0} і виявлена ​​тимчасова зона бази даних {1}."
+
+#: src/metabase/util/date.clj
+msgid "Configure a report timezone to ensure proper date and time conversions."
+msgstr "Налаштування часового поясу звітів для забезпечення належного перетворення дати і часу."
+
+#: src/metabase/util/embed.clj
+msgid "Secret key used to sign JSON Web Tokens for requests to `/api/embed` endpoints."
+msgstr "Секретний ключ, використовуваний для підпису JSON веб-токенів для запитів до `/ API / embed` кінцевими точками."
+
+#: src/metabase/util/encryption.clj
+msgid "MB_ENCRYPTION_SECRET_KEY must be at least 16 characters."
+msgstr "MB_ENCRYPTION_SECRET_KEY повинен бути не менше 16 символів."
+
+#: src/metabase/util/encryption.clj
+msgid "Saved credentials encryption is ENABLED for this Metabase instance."
+msgstr "Збережено шифрування облікових даних включена для даного екземпляра Metabase."
+
+#: src/metabase/util/encryption.clj
+msgid "Saved credentials encryption is DISABLED for this Metabase instance."
+msgstr "Збережено шифрування облікових даних відключений для даного екземпляра Metabase."
+
+#: src/metabase/util/encryption.clj
+msgid "nFor more information, see"
+msgstr "nДля отримання додаткової інформації див"
+
+#: src/metabase/util/schema.clj
+msgid "value must be an integer."
+msgstr "Значення має бути цілим числом."
+
+#: src/metabase/util/schema.clj
+msgid "value must be a string."
+msgstr "Значення має бути рядком."
+
+#: src/metabase/util/schema.clj
+msgid "value must be a boolean."
+msgstr "Значення має бути логічне значення."
+
+#: src/metabase/util/schema.clj
+msgid "value must be a string that matches the regex `{0}`."
+msgstr "Значення має бути рядком, яка відповідає формальним виразом `{0}`."
+
+#: src/metabase/util/schema.clj
+msgid "value must satisfy one of the following requirements: "
+msgstr "значення має відповідати одній з таких вимог:"
+
+#: src/metabase/util/schema.clj
+msgid "value may be nil, or if non-nil, {0}"
+msgstr "значення може бути нулем, або якщо не-нуль, {0}"
+
+#: src/metabase/util/schema.clj
+msgid "value must be one of: {0}."
+msgstr "Значення має бути одним з: {0}."
+
+#: src/metabase/util/schema.clj
+msgid "value must be an array."
+msgstr "значення має бути масивом."
+
+#: src/metabase/util/schema.clj
+msgid "Each {0}"
+msgstr "Кожен {0}"
+
+#: src/metabase/util/schema.clj
+msgid "The array cannot be empty."
+msgstr "Масив не може бути порожнім."
+
+#: src/metabase/util/schema.clj
+msgid "value must be a non-blank string."
+msgstr "Значення має бути не порожній рядок."
+
+#: src/metabase/util/schema.clj
+msgid "Integer greater than zero"
+msgstr "Ціле число більше нуля"
+
+#: src/metabase/util/schema.clj
+msgid "value must be an integer greater than zero."
+msgstr "Значення має бути ціле число більше нуля."
+
+#: src/metabase/util/schema.clj
+msgid "Number greater than zero"
+msgstr "Число більше нуля"
+
+#: src/metabase/util/schema.clj
+msgid "value must be a number greater than zero."
+msgstr "Значення має бути числом більше нуля."
+
+#: src/metabase/util/schema.clj
+msgid "Keyword or string"
+msgstr "Ключове слово або рядок"
+
+#: src/metabase/util/schema.clj
+msgid "Valid field type"
+msgstr "Дійсний тип поля"
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid field type."
+msgstr "Значення має бути допустимим типом поля."
+
+#: src/metabase/util/schema.clj
+msgid "Valid field type (keyword or string)"
+msgstr "Тип Дійсно поле (ключове слово або рядок)"
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid field type (keyword or string)."
+msgstr "Значення має бути допустимим типом поля (ключове слово або рядок)."
+
+#: src/metabase/util/schema.clj
+msgid "Valid entity type (keyword or string)"
+msgstr "Тип Дійсний об'єкт (ключове слово або рядок)"
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid entity type (keyword or string)."
+msgstr "Значення має бути дійсним тип об'єкта (ключове слово або рядок)."
+
+#: src/metabase/util/schema.clj
+msgid "Valid map"
+msgstr "дійсно карта"
+
+#: src/metabase/util/schema.clj
+msgid "value must be a map."
+msgstr "Значення має бути на карті."
+
+#: src/metabase/util/schema.clj
+msgid "Valid email address"
+msgstr "Дійсна електронна пошта"
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid email address."
+msgstr "Значення має бути дійсною адресою електронної пошти."
+
+#: src/metabase/util/schema.clj
+msgid "Insufficient password strength"
+msgstr "Недостатня міцність пароля"
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid integer."
+msgstr "Значення має бути цілим числом."
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid integer greater than zero."
+msgstr "Значення має бути ціле число більше нуля."
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid boolean string (''true'' or ''false'')."
+msgstr "Значення має бути коректною булевої рядок ( \"\" істинний «» або «» брехні «»)."
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid JSON string."
+msgstr "Значення має бути допустимою рядком JSON."
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid embedding params map."
+msgstr "Значення має бути допустимим відображення вкладення PARAMS."
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsTabs.jsx:12
+msgid "Data permissions"
+msgstr "Дозволи даних"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsTabs.jsx:13
+msgid "Collection permissions"
+msgstr "Дозволи Колекції"
+
+#: frontend/src/metabase/admin/permissions/containers/CollectionPermissionsModal.jsx:56
+msgid "See all collection permissions"
+msgstr "Всі права збору"
+
+#: frontend/src/metabase/admin/permissions/containers/TogglePropagateAction.jsx:25
+msgid "Also change sub-collections"
+msgstr "Крім того, змініть підколекції"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:282
+msgid "Can edit this collection and its contents"
+msgstr "Може редагувати цю колекцію і її вміст"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:289
+msgid "Can view items in this collection"
+msgstr "Ви можете переглянути елементи в цій колекції"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:749
+msgid "Collection Access"
+msgstr "збір доступу"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:825
+msgid "This group has permission to view at least one subcollection of this collection."
+msgstr "Ця група має дозвіл на перегляд, щонайменше, один підколекції цієї колекції."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:830
+msgid "This group has permission to edit at least one subcollection of this collection."
+msgstr "Ця група має дозволу на зміну, щонайменше, один підколекції цієї колекції."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:843
+msgid "View sub-collections"
+msgstr "Перегляд суб-колекція"
+
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:211
+msgid "Remember Me"
+msgstr "Пам'ятай мене"
+
+#: frontend/src/metabase/components/BrowseApp.jsx:95
+msgid "X-ray this schema"
+msgstr "Просканувати цю схема"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:258
+msgid "Edit the permissions for this collection"
+msgstr "Зміна дозволів для цієї колекції"
+
+#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:55
+msgid "Add this question to a dashboard"
+msgstr "Додати це питання в приладову панель"
+
+#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:65
+msgid "Create a new dashboard"
+msgstr "Створити нову приладову панель"
+
+#: frontend/src/metabase/containers/ErrorPages.jsx:45
+msgid "The page you asked for couldn't be found."
+msgstr "На сторінці ви просили не може бути знайдений."
+
+#: frontend/src/metabase/containers/ItemSelect.jsx:30
+msgid "Select a {0}"
+msgstr "Виберіть {0}"
+
+#: frontend/src/metabase/containers/Overworld.jsx:185
+msgid "Save dashboards, questions, and collections in \"{0}\""
+msgstr "Зберегти приладові панелі, питання і колекції в «{0}»"
+
+#: frontend/src/metabase/containers/Overworld.jsx:188
+msgid "Access dashboards, questions, and collections in \"{0}\""
+msgstr "Щитки доступу, питання і колекція в «{0}»"
+
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:221
+msgid "Compare"
+msgstr "порівняти"
+
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:229
+msgid "Zoom out"
+msgstr "Зменшення"
+
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:233
+msgid "Related"
+msgstr "споріднений"
+
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:293
+msgid "More X-rays"
+msgstr "Більше X-Rays"
+
+#: frontend/src/metabase/home/containers/SearchApp.jsx:46
+msgid "No results"
+msgstr "Немає результатів"
+
+#: frontend/src/metabase/home/containers/SearchApp.jsx:47
+msgid "Metabase couldn't find any results for your search."
+msgstr "Metabase не змогли знайти ніяких результатів пошуку."
+
+#: frontend/src/metabase/new_query/containers/MetricSearch.jsx:111
+msgid "No metrics"
+msgstr "Немає метрик"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:31
+msgid "Aggregations"
+msgstr "скупчення"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:32
+msgid "Operators"
+msgstr "оператори"
+
+#: frontend/src/metabase/query_builder/components/expressions/Expressions.jsx:30
+msgid "Custom fields"
+msgstr "Довільні поля"
+
+#. 2. Create the new collections.
+#: src/metabase/db/migrations.clj
+msgid "Migrated Dashboards"
+msgstr "перенесені Зведення"
+
+#: src/metabase/db/migrations.clj
+msgid "Migrated Pulses"
+msgstr "Перенесені Пульси"
+
+#: src/metabase/db/migrations.clj
+msgid "Migrated Questions"
+msgstr "перенесені Питання"
+
+#. 4. move everything not in this Collection to a new Collection
+#: src/metabase/db/migrations.clj
+msgid "Moving instances of {0} that aren't in a Collection to {1} Collection {2}"
+msgstr "Переміщення примірників {0}, які не є в колекцію {1} Колекція {2}"
+
+#: src/metabase/models/permissions.clj
+msgid "Failed to grant permissions: {0}"
+msgstr "Не вдався надати дозвіл: {0}"
+
+#: src/metabase/util/encryption.clj
+msgid "Cannot decrypt encrypted string. Have you changed or forgot to set MB_ENCRYPTION_SECRET_KEY?"
+msgstr "Неможливо розшифрувати зашифровану рядок. Ви змінили або забули встановити MB_ENCRYPTION_SECRET_KEY?"
+
+#: frontend/src/metabase/entities/collections.js:164
+msgid "All personal collections"
+msgstr "Всі персональні колекції"
+
+#: src/metabase/driver/common.clj
+msgid "Host"
+msgstr "Хост"
+
+#: src/metabase/driver/common.clj
+msgid "Port"
+msgstr "Порт"
+
+#: src/metabase/driver/common.clj
+msgid "Database username"
+msgstr "ім'я користувача бази даних"
+
+#: src/metabase/driver/common.clj
+msgid "What username do you use to login to the database?"
+msgstr "Яке ім'я користувача ви використовуєте для входу в базу даних?"
+
+#: src/metabase/driver/common.clj
+msgid "Database password"
+msgstr "Пароль бази даних"
+
+#: src/metabase/driver/common.clj
+msgid "Database name"
+msgstr "ім'я бази даних"
+
+#: src/metabase/driver/common.clj
+msgid "birds_of_the_world"
+msgstr "birds_of_the_world"
+
+#: src/metabase/driver/common.clj
+msgid "Use a secure connection (SSL)?"
+msgstr "Використовуйте захищене з'єднання (SSL)?"
+
+#: src/metabase/driver/common.clj
+msgid "Additional JDBC connection string options"
+msgstr "Додаткові опції підключення рядків JDBC"
+
+#: src/metabase/driver/bigquery.clj
+msgid "Project ID"
+msgstr "ідентифікатор проекту"
+
+#: src/metabase/driver/bigquery.clj
+msgid "praxis-beacon-120871"
+msgstr "Праксис-маяк-120871"
+
+#: src/metabase/driver/bigquery.clj
+msgid "Dataset ID"
+msgstr "Dataset ID"
+
+#: src/metabase/driver/bigquery.clj
+msgid "toucanSightings"
+msgstr "toucanSightings"
+
+#: src/metabase/driver/bigquery.clj src/metabase/driver/googleanalytics.clj
+msgid "Client ID"
+msgstr "ідентифікатор клієнта"
+
+#: src/metabase/driver/bigquery.clj src/metabase/driver/googleanalytics.clj
+msgid "Client Secret"
+msgstr "клієнт Secret"
+
+#: src/metabase/driver/bigquery.clj src/metabase/driver/googleanalytics.clj
+msgid "Auth Code"
+msgstr "код авторизації"
+
+#: src/metabase/driver/crate.clj
+msgid "Hosts"
+msgstr "хости"
+
+#: src/metabase/driver/druid.clj
+msgid "Broker node port"
+msgstr "порту вузла Брокер"
+
+#: src/metabase/driver/googleanalytics.clj
+msgid "Google Analytics Account ID"
+msgstr "Google Analytics ID рахунки"
+
+#: src/metabase/driver/h2.clj
+msgid "Connection String"
+msgstr "рядок з'єднання"
+
+#: src/metabase/driver/h2.clj
+msgid "Users/camsaul/bird_sightings/toucans"
+msgstr "Користувачі / camsaul / bird_sightings / тукани"
+
+#: src/metabase/driver/mongo.clj
+msgid "carrierPigeonDeliveries"
+msgstr "carrierPigeonDeliveries"
+
+#: src/metabase/driver/mongo.clj
+msgid "Authentication Database"
+msgstr "База даних аутентифікації"
+
+#: src/metabase/driver/mongo.clj
+msgid "Optional database to use when authenticating"
+msgstr "Додатково бази даних для використання при перевірці автентичності"
+
+#: src/metabase/driver/mongo.clj
+msgid "Additional Mongo connection string options"
+msgstr "Розширені можливості пошуку рядка підключення Mongo"
+
+#: src/metabase/driver/oracle.clj
+msgid "Oracle system ID (SID)"
+msgstr "Oracle, ідентифікатор системи (SID),"
+
+#: src/metabase/driver/oracle.clj
+msgid "Usually something like ORCL or XE."
+msgstr "Зазвичай щось на зразок ORCL або ХЕ."
+
+#: src/metabase/driver/oracle.clj
+msgid "Optional if using service name"
+msgstr "Додатково, якщо використовується ім'я служби"
+
+#: src/metabase/driver/oracle.clj
+msgid "Oracle service name"
+msgstr "Ім'я служби Oracle"
+
+#: src/metabase/driver/oracle.clj
+msgid "Optional TNS alias"
+msgstr "Додатковий псевдонім TNS"
+
+#: src/metabase/driver/presto.clj
+msgid "hive"
+msgstr "вулик"
+
+#: src/metabase/driver/redshift.clj
+msgid "my-cluster-name.abcd1234.us-east-1.redshift.amazonaws.com"
+msgstr "my-cluster-name.abcd1234.us-east-1.redshift.amazonaws.com"
+
+#: src/metabase/driver/redshift.clj
+msgid "toucan_sightings"
+msgstr "toucan_sightings"
+
+#: src/metabase/driver/sparksql.clj
+msgid "default"
+msgstr "дефолт"
+
+#: src/metabase/driver/sqlite.clj
+msgid "Filename"
+msgstr "ім'я файлу"
+
+#: src/metabase/driver/sqlite.clj
+msgid "/home/camsaul/toucan_sightings.sqlite 😋"
+msgstr "/home/camsaul/toucan_sightings.sqlite 😋"
+
+#: src/metabase/driver/sqlserver.clj
+msgid "BirdsOfTheWorld"
+msgstr "BirdsOfTheWorld"
+
+#: src/metabase/driver/sqlserver.clj
+msgid "Database instance name"
+msgstr "Ім'я примірника бази даних"
+
+#: src/metabase/driver/sqlserver.clj
+msgid "N/A"
+msgstr "N / A"
+
+#: src/metabase/driver/sqlserver.clj
+msgid "Windows domain"
+msgstr "домен Windows,"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:494
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:500
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:509
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:515
+msgid "Labels"
+msgstr "етикетки"
+
+#: frontend/src/metabase/admin/people/components/GroupDetail.jsx:329
+msgid "Add members"
+msgstr "Додати користувачів"
+
+#: frontend/src/metabase/entities/collections.js:115
+msgid "Collection it's saved in"
+msgstr "Колекція вона зберігається в"
+
+#: frontend/src/metabase/lib/groups.js:4
+msgid "All Users"
+msgstr "Всі користувачі"
+
+#: frontend/src/metabase/lib/groups.js:5
+msgid "Administrators"
+msgstr "Адміністратори"
+
+#: frontend/src/metabase/lib/groups.js:6
+msgid "MetaBot"
+msgstr "MetaBot"
+
+#: frontend/src/metabase/public/components/widgets/EmbedModalContent.jsx:290
+msgid "Sharing"
+msgstr "поділ"
+
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:23
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:234
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:270
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:299
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:305
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:313
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:321
+#: frontend/src/metabase/visualizations/lib/settings/nested.js:126
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:83
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:80
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:85
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:91
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:97
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:50
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:56
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:72
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:85
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:98
+msgid "Display"
+msgstr "дисплей"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:370
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:403
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:416
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:431
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:443
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:449
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:457
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:487
+msgid "Axes"
+msgstr "сокири"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:222
+#: frontend/src/metabase/admin/settings/selectors.js:319
+#: frontend/src/metabase/modes/components/drill/FormatAction.jsx:27
+#: frontend/src/metabase/visualizations/lib/settings/column.js:63
+msgid "Formatting"
+msgstr "форматування"
+
+#: frontend/src/metabase/containers/Overworld.jsx:102
+msgid "Try these x-rays based on your data."
+msgstr "Спробуйте ці x-rays на основі ваших даних."
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:36
+msgid "There was a problem displaying this chart."
+msgstr "Існував проблема показати цей графік."
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:37
+msgid "Sorry, you don't have permission to see this card."
+msgstr "На жаль, у вас немає доступу переглядати цю карту."
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:55
+msgid "Just a heads up:"
+msgstr "Всього голови до:"
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:63
+msgid "{0} without the Sample Dataset, the Query Builder tutorial won't work. You can always restore the Sample Dataset, but any questions you've saved using this data will be lost."
+msgstr "{0} без зразка Dataset, підручник Query Builder не працюватиме. Ви завжди можете відновити Sample Dataset, але будь-які питання, ви зберегли використовуючи ці дані будуть втрачені."
+
+#: frontend/src/metabase/modes/components/drill/AutomaticDashboardDrill.jsx:33
+msgid "X-ray"
+msgstr "X-ray"
+
+#: frontend/src/metabase/modes/components/drill/CompareToRestDrill.js:34
+msgid "Compare to the rest"
+msgstr "У порівнянні з іншими"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:244
+msgid "Use the Java Virtual Machine (JVM) timezone"
+msgstr "Використання віртуальної машини Java (JVM) часовий пояс"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:246
+msgid "We suggest you leave this off unless you're doing manual timezone casting in\n"
+"many or most of your queries with this data."
+msgstr "Ми пропонуємо вам залишити цю опцію, якщо ви робите ручну виливок часового поясу в\n"
+"багато чи більшість ваших запитів з цими даними."
+
+#: frontend/src/metabase/containers/Overworld.jsx:310
+msgid "Your team's most important dashboards go here"
+msgstr "Найбільш важливі Щитки вашої команди йдуть сюди"
+
+#: frontend/src/metabase/containers/Overworld.jsx:311
+msgid "Pin dashboards in {0} to have them appear in this space for everyone"
+msgstr "Pin Щитки в {0}, щоб вони відображалися в цьому просторі для всіх"
+
+#: src/metabase/db.clj
+msgid "Unable to release the Liquibase lock after a migration failure"
+msgstr "Неможливо зняти блокування LiquiBase після збою міграції"
+
+#: src/metabase/driver/bigquery.clj
+msgid "Use JVM Time Zone"
+msgstr "Використання віртуальної машини Java Time Zone"
+
+#: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:29
+msgid "We're currently analyzing the tables and fields to help you explore your data."
+msgstr "Ми в даний час аналізує таблиці і поля, які допоможуть вам вивчити ваші дані."
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:432
+msgid "Tip: "
+msgstr "Порада:"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnItem.jsx:258
+msgid "Select a currency type"
+msgstr "Виберіть тип валюти"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:318
+msgid "Field Type"
+msgstr "Тип поля"
+
+#: frontend/src/metabase/admin/routes.jsx:109
+#: frontend/src/metabase/nav/containers/Navbar.jsx:224
+msgid "Troubleshooting"
+msgstr "Вирішення проблем"
+
+#: frontend/src/metabase/admin/settings/selectors.js:96
+msgid "Enable X-ray features"
+msgstr "Включити функції X-ray"
+
+#: frontend/src/metabase/admin/settings/selectors.js:323
+msgid "Formatting Options"
+msgstr "параметри форматування"
+
+#: frontend/src/metabase/admin/tasks/containers/TaskModal.jsx:19
+msgid "Task details"
+msgstr "Деталі про завдання"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:29
+msgid "Troubleshooting logs"
+msgstr "Журнали для розв'язку проблем"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:31
+msgid "Trying to get to the bottom of something? This section shows logs of Metabase's background tasks, which can help shed light on what's going on."
+msgstr "Намагаючись докопатися до чогось? У цьому розділі відображається журнали фонових завдань метабази для, який може допомогти пролити світло на те, що відбувається."
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:56
+msgid "Task"
+msgstr "Задача"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:57
+msgid "DB ID"
+msgstr "DB ID"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:58
+msgid "Started at"
+msgstr "Початок"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:59
+msgid "Ended at"
+msgstr "Закінчення"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:60
+msgid "Duration (ms)"
+msgstr "Тривалість (мс)"
+
+#: frontend/src/metabase/lib/core.js:45
+msgid "Currency"
+msgstr "валюта"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:161
+msgid "Pick a user or channel..."
+msgstr "Виберіть користувача або канал ..."
+
+#: frontend/src/metabase/visualizations/components/ColumnSettings.jsx:90
+msgid "No formatting settings"
+msgstr "Немає настройки форматування"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:81
+msgid "Label for this range (optional)"
+msgstr "Етикетка для цього діапазону (за бажанням)"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:93
+msgid "Add a range"
+msgstr "Додати діапазон"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:26
+msgid "is less than"
+msgstr "менше"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:27
+msgid "is greater than"
+msgstr "більше"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:28
+msgid "is less than or equal to"
+msgstr "менше або дорівнює"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:29
+msgid "is greater than or equal to"
+msgstr "більше або дорівнює"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:30
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:37
+msgid "is equal to"
+msgstr "одно"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:31
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:38
+msgid "is not equal to"
+msgstr "не дорівнює"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:32
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:39
+msgid "is null"
+msgstr "дорівнює нулю"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:33
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:40
+msgid "is not null"
+msgstr "не є нульовим"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:41
+msgid "contains"
+msgstr "містить"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:42
+msgid "does not contain"
+msgstr "не містить"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:43
+msgid "starts with"
+msgstr "починається з"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:44
+msgid "ends with"
+msgstr "закінчується"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:292
+msgid "When a cell in these columns {0} it will be tinted this color."
+msgstr "Коли клітина в цих стовпцях {0} буде тонированной цим кольором."
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:351
+msgid "When a cell in this column…"
+msgstr "Коли клітина в цій колонці ..."
+
+#: frontend/src/metabase/visualizations/lib/errors.js:42
+msgid "This visualization requires you to group by a field."
+msgstr "Ця візуалізація вимагає групувати поле."
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:178
+msgid "Date style"
+msgstr "Стиль дати"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:196
+msgid "Date separators"
+msgstr "Роздільники дати"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:215
+msgid "Abbreviate names of days and months"
+msgstr "Скорочувати назви днів і місяців"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:225
+msgid "Show the time"
+msgstr "Показати час"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:232
+msgid "HH:MM"
+msgstr "HH: MM"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:240
+msgid "HH:MM:SS"
+msgstr "НН: ММ: СС"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:243
+msgid "HH:MM:SS.MS"
+msgstr "HH: MM: SS.MS"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:254
+msgid "Time style"
+msgstr "Стиль часу"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:299
+msgid "Unit of currency"
+msgstr "Грошова одиниця"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:319
+msgid "Currency label style"
+msgstr "Стиль позначення валюти"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:337
+msgid "Where to display the unit of currency"
+msgstr "Де відображати одиницю валюти?"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:370
+msgid "Minimum number of decimal places"
+msgstr "Мінімальна кількість знаків після коми"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:271
+msgid "Stacked chart type"
+msgstr "Stacked тип діаграми"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:314
+msgid "Goal label"
+msgstr "етикетка Мета"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:322
+msgid "Show trend line"
+msgstr "Показати лінії тренду"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:67
+msgid "Line style"
+msgstr "Стиль лінії"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:84
+msgid "Show dots on lines"
+msgstr "Показати точки на лінії"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:88
+#: frontend/src/metabase/visualizations/lib/settings/series.js:125
+msgid "Auto"
+msgstr "автоматичний"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:120
+msgid "Which axis?"
+msgstr "Яка вісь?"
+
+#: frontend/src/metabase/visualizations/visualizations/ComboChart.jsx:16
+msgid "Line + Bar"
+msgstr "Лінія + Бар"
+
+#: frontend/src/metabase/visualizations/visualizations/ComboChart.jsx:19
+msgid "line and bar chart"
+msgstr "лінія і гістограма"
+
+#: frontend/src/metabase/visualizations/visualizations/Gauge.jsx:72
+msgid "Gauge visualization requires a number."
+msgstr "візуалізація Gauge вимагає ряду."
+
+#: frontend/src/metabase/visualizations/visualizations/Gauge.jsx:60
+msgid "Gauge"
+msgstr "вимірювальний прилад"
+
+#: frontend/src/metabase/visualizations/visualizations/Gauge.jsx:104
+msgid "Gauge ranges"
+msgstr "діапазони Калібрувальні"
+
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:94
+msgid "Field to show"
+msgstr "поле показати"
+
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:121
+msgid "last {0}"
+msgstr "останній {0}"
+
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:185
+msgid "{0} was {1} {2}"
+msgstr "{0} був {1} {2}"
+
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:52
+msgid "Group by a time field to see how this has changed over time"
+msgstr "Угруповання по полю часу, щоб побачити, як це змінилося з плином часу"
+
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:39
+msgid "Switch positive / negative colors?"
+msgstr "Перейдіть позитивні / негативні кольору?"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:90
+msgid "Pivot column"
+msgstr "колонка Pivot"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:107
+msgid "Cell column"
+msgstr "колонка Cell"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:123
+msgid "Visible columns"
+msgstr "видимі стовпці"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:143
+msgid "Conditional Formatting"
+msgstr "умовне форматування"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:165
+msgid "Column title"
+msgstr "Назва колонки"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:172
+msgid "Show a mini bar chart"
+msgstr "Показати міні-гистограмму"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:183
+msgid "Link"
+msgstr "посилання"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:187
+msgid "Email link"
+msgstr "Надіслати посилання"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:191
+msgid "Image"
+msgstr "зображення"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:195
+msgid "Automatic"
+msgstr "автоматична"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:200
+msgid "View as link or image"
+msgstr "Перегляд у вигляді посилання або зображення"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:210
+msgid "Link text"
+msgstr "текст"
+
+#: src/metabase/api/common/internal.clj
+msgid "Not a valid integer: ''{0}''"
+msgstr "Чи не є цілим числом: «» {0} «»"
+
+#: src/metabase/api/embed.clj
+msgid "Embedding is not enabled for this object."
+msgstr "Вбудовування не включений для цього об'єкта."
+
+#: src/metabase/api/session.clj
+msgid "Problem connecting to LDAP server, will fallback to local authentication: {0}"
+msgstr "Проблема підключення до сервера LDAP, буде Відкат до локальної аутентифікації: {0}"
+
+#: src/metabase/api/task.clj
+msgid "When including an offset, a limit must also be included."
+msgstr "При включенні зсуву, також повинен бути включений межа."
+
+#: src/metabase/api/task.clj
+msgid "When including a limit, an offset must also be included."
+msgstr "При включенні межа, зміщення також повинні бути включені."
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Applying heuristic {0} to {1}."
+msgstr "Застосовуючи евристику {0} до {1}."
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Dimensions bindings:n{0}"
+msgstr "Розміри прив'язок: п {0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Using definitions:nMetrics:n{0}nFilters:n{1}"
+msgstr "Використання визначень: nMetrics: п {0} nFilters: п {1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "minute"
+msgstr "хвилин"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "hour"
+msgstr "годину"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "day of week"
+msgstr "день тижня"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "day of month"
+msgstr "день місяця"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "day of year"
+msgstr "день року"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "week"
+msgstr "тиждень"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "month"
+msgstr "місяць"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "quarter"
+msgstr "чверть"
+
+#: src/metabase/automagic_dashboards/populate.clj
+msgid "Adding {0} cards to dashboard {1}:n{2}"
+msgstr "Додавання {0} карти приладової панелі {1}: {2 п}"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Error parsing {0}:n{1}"
+msgstr "Помилка синтаксичного аналізу {0}: {1 п}"
+
+#: src/metabase/driver/druid/query_processor.clj
+msgid "WARNING: Filtering only works on dimensions! ''{0}'' is a metric. Ignoring filter."
+msgstr "ПОПЕРЕДЖЕННЯ: фільтрація працює тільки за габаритами! '' {0} '' є метрикою. Не звертаючи уваги на фільтр."
+
+#: src/metabase/driver/druid/query_processor.clj
+msgid "WARNING: A date can't belong to multiple discrete intervals, so ANDing them together doesn't make sense."
+msgstr "УВАГА: дата не може належати кілька дискретним інтервалах, так що вони разом операції AND не мають сенсу."
+
+#: src/metabase/driver/druid/query_processor.clj
+msgid "Ignoring these intervals: {0}"
+msgstr "Ігнорування цих інтервалів: {0}"
+
+#. We should never get to this point since the all non-string negations should get automatically rewritten
+#. by the query expander.
+#: src/metabase/driver/druid/query_processor.clj
+msgid "WARNING: Don't know how to negate: {0}"
+msgstr "УВАГА: Не знаю, як звести нанівець: {0}"
+
+#: src/metabase/driver/druid/query_processor.clj
+msgid "Sorting with Druid is only allowed in queries that have one or more breakout columns. Ignoring :order-by clause."
+msgstr "Сортування з друїдом допускається тільки в запитах, які мають один або кілька секційних колони. Ігнорування: порядку по п."
+
+#. TODO - this is not really true, is it
+#: src/metabase/driver/druid/query_processor.clj
+msgid "WARNING: It only makes sense to specify :fields for a query with no aggregation. Ignoring the clause."
+msgstr "УВАГА: Це має сенс тільки для вказівки: поля для запиту, без агрегації. Не звертаючи уваги на становище."
+
+#: src/metabase/driver/druid/query_processor.clj
+msgid "WARNING: Druid doenst allow limitSpec in timeseries queries. Ignoring the LIMIT clause."
+msgstr "ПОПЕРЕДЖЕННЯ: Друїд doenst дозволяє limitSpec в таймсеріях запитів. Не звертаючи уваги на стан LIMIT."
+
+#: src/metabase/driver/sql/query_processor.clj
+msgid "HoneySQL Form:"
+msgstr "HoneySQL Форма:"
+
+#: src/metabase/driver/sql_jdbc/execute.clj
+msgid "Unable to parse date ''{0}''"
+msgstr "Неможливо розібрати дату «» {0} «»"
+
+#: src/metabase/driver/sql_jdbc/execute.clj
+msgid "Client closed connection, cancelling query"
+msgstr "Клієнт закрив з'єднання, скасовуючи запит"
+
+#: src/metabase/driver/sql_jdbc/execute.clj
+msgid "Setting timezone with statement: {0}"
+msgstr "Як встановити часовий пояс з виразом: {0}"
+
+#: src/metabase/driver/googleanalytics/query_processor.clj
+msgid "Multiple date filters are not supported"
+msgstr "Кілька фільтрів дати не підтримуються"
+
+#: src/metabase/driver/googleanalytics/query_processor.clj
+msgid ":not is not yet implemented"
+msgstr ": Чи не ще не реалізовано"
+
+#: src/metabase/driver/googleanalytics/query_processor.clj
+msgid "Only one Google Analytics segment allowed at a time."
+msgstr "Тільки один сегмент Google Analytics дозволив в той час."
+
+#: src/metabase/driver/mongo/query_processor.clj
+msgid "MONGO AGGREGATION PIPELINE:"
+msgstr "MONGO агрегування ТРУБОПРОВОДОВ:"
+
+#: src/metabase/driver/mongo/query_processor.clj
+msgid "Error: mismatched columns in results! Expected: {0} Got: {1}"
+msgstr "Помилка: незбіжні стовпці в результатах! Очікуваний: {0} Got: {1}"
+
+#: src/metabase/email/messages.clj
+msgid "Unable to create temp file in `{0}` for email attachments "
+msgstr "Неможливо створити тимчасовий файл в `{0} 'для вкладень електронної пошти"
+
+#: src/metabase/events/activity_feed.clj
+msgid "Error preprocessing query:"
+msgstr "Помилка попередньої обробки запиту:"
+
+#: src/metabase/mbql/normalize.clj
+msgid "Illegal filter clause: {0}"
+msgstr "Нелегальне Пропозиція фільтра: {0}"
+
+#: src/metabase/mbql/normalize.clj
+msgid "Invalid clause:"
+msgstr "Невірний розділ:"
+
+#: src/metabase/mbql/util.clj
+msgid "Error: query's source query has not been resolved. You probably need to `preprocess` the query first."
+msgstr "Помилка: джерело запит запитів Query не було вирішене. Ви, ймовірно, потрібно `preprocess` запит першим."
+
+#: src/metabase/mbql/util.clj
+msgid "No expression named ''{0}''"
+msgstr "Ні вирази з ім'ям «» {0} «»"
+
+#: src/metabase/mbql/util.clj
+msgid "No aggregation at index: {0}"
+msgstr "Немає агрегації за індексом: {0}"
+
+#: src/metabase/models/field_values.clj
+msgid "Field values total length is {0} (max {1})."
+msgstr "Загальна довжина значень полів {0} (макс {1})."
+
+#: src/metabase/models/field_values.clj
+msgid "FieldValues are allowed for this Field."
+msgstr "FieldValues ​​дозволені для цього поля."
+
+#: src/metabase/models/field_values.clj
+msgid "FieldValues are NOT allowed for this Field."
+msgstr "FieldValues ​​НЕ дозволені для цього поля."
+
+#: src/metabase/models/field_values.clj
+msgid "Field {0} ''{1}'' should have FieldValues and belongs to a Database with On-Demand FieldValues updating."
+msgstr "Поле {0} \"\" {1} \"» повинен мати FieldValues ​​і належить до бази даних на вимогу, FieldValues ​​поновлення."
+
+#: src/metabase/models/permissions.clj
+msgid "You cannot create or revoke permissions for the ''Admin'' group."
+msgstr "Ви не можете створити або скасувати дозволи для групи «» Admin «»."
+
+#: src/metabase/models/permissions_group_membership.clj
+msgid "You cannot add or remove users to/from the ''MetaBot'' group."
+msgstr "Ви не можете додавати або видаляти користувачів в / з «MetaBot« »групи»."
+
+#: src/metabase/models/permissions_group_membership.clj
+msgid "You cannot add or remove users to/from the ''All Users'' group."
+msgstr "Ви не можете додавати або видаляти користувачів в / з групи «All Users« »»."
+
+#: src/metabase/models/permissions_group_membership.clj
+msgid "You cannot remove the last member of the ''Admin'' group!"
+msgstr "Ви не можете видалити останній елемент з групи «» Admin «»!"
+
+#. go ahead and log the Exception anyway on the off chance that it *wasn't* just a race condition issue
+#: src/metabase/models/setting/cache.clj
+msgid "Error inserting a new Setting: {0}"
+msgstr "Помилка вставки нової установки: {0}"
+
+#: src/metabase/models/setting.clj
+msgid "defsetting descriptions strings must be `:internal?` or internationalized, found: `{0}`"
+msgstr "defsetting опис рядка повинні бути `:` внутрішніми або інтернаціоналізувати, знайдені: `{0}`"
+
+#: src/metabase/plugins.clj
+msgid "Loading plugin {0}... {1}"
+msgstr "Завантаження плагін {0} ... {1}"
+
+#: src/metabase/public_settings.clj
+msgid "Object keyed by type, containing formatting settings"
+msgstr "Параметри форматування об'єкта ключем по типу, що містить"
+
+#: src/metabase/public_settings.clj
+msgid "Allow users to explore data using X-rays"
+msgstr "Дозволити користувачам досліджувати дані за допомогою X-rays"
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Using this URL to check token: {0}"
+msgstr "Використовуючи цей URL, щоб перевірити фішку: {0}"
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Unable to validate token: 404 not found."
+msgstr "Неможливо перевірити маркер: 404, не знайдено."
+
+#: src/metabase/public_settings/metastore.clj
+msgid "There was an error checking whether this token was valid:"
+msgstr "Там була помилка перевірки, чи був цей маркер дійсний:"
+
+#. +----------------------------------------------------------------------------------------------------------------+
+#. |                                             SETTING & RELATED FNS                                              |
+#. +----------------------------------------------------------------------------------------------------------------+
+#. TODO - rename this to premium-features-token?
+#: src/metabase/public_settings/metastore.clj
+msgid "Token for premium features. Go to the MetaStore to get yours!"
+msgstr "Токен преміум-функцій. Перейти до MetaStore, щоб отримати ваш!"
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Token format is invalid. Token should be 64 hexadecimal characters."
+msgstr "Токен невірний формат. Знак повинен бути 64 шістнадцяткових символів."
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Error setting premium features token"
+msgstr "Помилка налаштування токену преміум-функції"
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Error validating token:"
+msgstr "Помилка перевірки маркера:"
+
+#: src/metabase/query_processor.clj
+msgid "Error preprocessing query"
+msgstr "Помилка запиту попередньої обробки"
+
+#: src/metabase/query_processor.clj
+msgid "No native form returned."
+msgstr "Немає нативной форми не повернувся."
+
+#: src/metabase/query_processor.clj
+msgid "Invalid response from database driver. No :status provided."
+msgstr "Неправильна відповідь від драйвера бази даних. Ні: статус надається."
+
+#: src/metabase/query_processor.clj
+msgid "General error"
+msgstr "Загальна помилка"
+
+#: src/metabase/query_processor.clj
+msgid "Missing query hash!"
+msgstr "Відсутня хеш-запит!"
+
+#: src/metabase/query_processor/middleware/add_implicit_clauses.clj
+msgid "Table ''{0}'' has no Fields associated with it."
+msgstr "Таблиця «» {0} \"\" не має полів, пов'язане з ним."
+
+#: src/metabase/query_processor/middleware/add_query_throttle.clj
+msgid "Max concurrent query limit reached"
+msgstr "Максимальна межа одночасних запитів досяг"
+
+#. we should never reach this if our patterns are written right so this is more to catch code mistakes than
+#. something the user should expect to see
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "Don't know how to get information about Field:"
+msgstr "Не знаю, як отримати інформацію про поле:"
+
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "metabase.query-processor.interface/*driver* is unbound."
+msgstr "metabase.query-processor.interface / * драйвер * є непов'язаним."
+
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "Query processor error: mismatched number of columns in query and results."
+msgstr "Запит помилка процесора: неспівпадаючі кількість стовпців в запиті і результатах."
+
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "Expected {0} fields, got {1}"
+msgstr "Очікувані {0} поля, отримав {1}"
+
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "Expected: {0}"
+msgstr "Очікуваний: {0}"
+
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "Actual: {0}"
+msgstr "Фактичне: {0}"
+
+#: src/metabase/query_processor/middleware/binning.clj
+msgid "Unable to bin Field without a min/max value"
+msgstr "Неможливо бен поле без хв / макс значення"
+
+#: src/metabase/query_processor/middleware/check_features.clj
+msgid "{0} is not supported by this driver."
+msgstr "{0} є недоступною драйвером."
+
+#: src/metabase/query_processor/middleware/expand_macros.clj
+msgid "Segment {0} does not exist, or is invalid."
+msgstr "Сегмент {0} не існує, або є недійсним."
+
+#: src/metabase/query_processor/middleware/expand_macros.clj
+msgid "Metric {0} does not exist, or is invalid."
+msgstr "Метрика {0} не існує, або є недійсним."
+
+#: src/metabase/query_processor/middleware/fetch_source_query.clj
+msgid "Missing source query in Card {0}"
+msgstr "Відсутня запит джерела в картці {0}"
+
+#: src/metabase/query_processor/middleware/fetch_source_query.clj
+msgid "Fetched source query from Card {0}:"
+msgstr "Витягнутий джерело запит з карти {0}:"
+
+#: src/metabase/query_processor/middleware/mbql_to_native.clj
+msgid "Error transforming MBQL query to native:"
+msgstr "Помилка перетворення MBQL запиту до рідних:"
+
+#: src/metabase/query_processor/middleware/resolve_source_table.clj
+msgid "Cannot run query: could not find source table {0}."
+msgstr "Неможливо виконати запит: не вдалося знайти таблицю джерела {0}."
+
+#: src/metabase/query_processor/middleware/results_metadata.clj
+msgid "Error recording results metadata for query:"
+msgstr "Результати записи Помилка метаданих для запиту:"
+
+#: src/metabase/query_processor/store.clj
+msgid "Error: Query Processor store is not initialized."
+msgstr "Помилка: обробник запити магазин не инициализирован."
+
+#: src/metabase/query_processor/store.clj
+msgid "Error: Table {0} is not present in the Query Processor Store."
+msgstr "Помилка: Таблиця {0} немає в магазині обробника запитів."
+
+#: src/metabase/query_processor/store.clj
+msgid "Error: Field {0} is not present in the Query Processor Store."
+msgstr "Помилка: Поле {0} не присутній в обробнику запитів Store."
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Task history cleanup successful, rows were {0}deleted"
+msgstr "Завдання історія очищення успішно, рядки були {0} видалені"
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "not"
+msgstr "НЕ"
+
+#: src/metabase/util/encryption.clj
+msgid "For more information, see"
+msgstr "Для отримання додаткової інформації див"
+
+#: src/metabase/util/schema.clj
+msgid "Integer greater than or equal to zero"
+msgstr "Ціле число, більше або рівне нулю"
+
+#: src/metabase/util/schema.clj
+msgid "value must be an integer greater than or equal to zero."
+msgstr "значення має бути цілим числом, більшим або рівним нулю."
+
+#: src/metabase/util/schema.clj
+msgid "value must be an integer zero or greater."
+msgstr "Значення має бути цілим числом нуль або більше."
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid integer greater than or equal to zero."
+msgstr "Значення має бути дійсним числом, більшим або рівним нулю."
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "New users per state in the last 30 days"
+msgstr "Нові користувачі в змозі за останні 30 днів"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Created At by day of the week"
+msgstr "Створений На день тижня"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Created At by quarter of the year"
+msgstr "Створено В поквартально року"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] per country"
+msgstr "[Ім'я this.short []] в кожній країні"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Users per source"
+msgstr "Користувачі на джерело"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "The top external pages that brought users to your site"
+msgstr "Верхні зовнішні сторінки, які привели користувачів на ваш сайт"
+
+#: resources/automagic_dashboards/comparison/State.yaml
+#: resources/automagic_dashboards/comparison/FK.yaml
+#: resources/automagic_dashboards/comparison/Country.yaml
+#: resources/automagic_dashboards/comparison/GenericField.yaml
+msgid "How [[this]] is distributed and more."
+msgstr "Як [[це]] поширюється і багато іншого."
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "The [[this]] over time"
+msgstr "[[Це]] протягом довгого часу"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "User growth"
+msgstr "зростання користувача"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Whether or not there are any patterns to when they happen."
+msgstr "Незалежно від того, є чи ні будь-які моделі, коли вони трапляються."
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Users per state"
+msgstr "Користувачі в стані"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Sessions"
+msgstr "сесії"
+
+#: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
+msgid "How some of the numbers in [[this]] relate to each other"
+msgstr "Як деякі з чисел в [[це]] пов'язані один з одним"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Sales per country"
+msgstr "Менеджер з продажу в країні"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Join date by month of the year"
+msgstr "Дата реєстрації по місяцях року"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "[[Timestamp]] by hour of the day"
+msgstr "[[Відмітка]] по годинах дня"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "A look at the [[this]]"
+msgstr "Погляд на [[це]]"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "Bottom 5 per category"
+msgstr "Дно 5 в категорії"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Number of orders"
+msgstr "кількість замовлень"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Event growth"
+msgstr "зростання подій"
+
+#: resources/automagic_dashboards/table/example/indepth.yaml
+msgid "Total [[GenericTable]]"
+msgstr "Всього [[GenericTable]]"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Income growth"
+msgstr "зростання доходів"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Top 10 countries by sales in the last 30 days"
+msgstr "Топ-10 країн за обсягом продажів за останні 30 днів"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "[[this]] by month of the year"
+msgstr "[[Це]] по місяцях року"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Transactions per day of the week"
+msgstr "Угоди в день тижня"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Sessions by device type"
+msgstr "Сесії за типом пристрою"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Transactions per country"
+msgstr "Операції в країні"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Join date by quarter of the year"
+msgstr "Дата реєстрації на чверть року"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per hour of the day"
+msgstr "Події в годину дня"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[Singleton]]"
+msgstr "[[Сінглтон]]"
+
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "Top 5 [[this]]"
+msgstr "Top 5 [[це]]"
+
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "Bottom 5 [[this]]"
+msgstr "Дно 5 [[це]]"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "[[Timestamp]] by day of the month"
+msgstr "[[Відмітка]] по днях місяця"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Per [[GenericCategoryLarge]]"
+msgstr "Per [[GenericCategoryLarge]]"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+msgid "Null values"
+msgstr "нульові значення"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Total events"
+msgstr "всього подій"
+
+#: resources/automagic_dashboards/field/GenericField.yaml
+msgid "A look at [[GenericTable]] across your [[this]], and how it changes over time."
+msgstr "Погляд на [[GenericTable]] через ваш [[це]], і як вона змінюється з часом."
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per [[GenericCategoryMedium]]"
+msgstr "[[Це]] в [[GenericCategoryMedium]]"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "How the [[this]] changes with time"
+msgstr "Як [[це]] змінюється з часом"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "How they compare by seasonality"
+msgstr "Як вони співвідносяться сезонності"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Average income per transaction"
+msgstr "Середній дохід на одну транзакцію"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per country"
+msgstr "[[Це]] в країні"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Income per state"
+msgstr "Дохід на стан"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Per [[GenericCategoryMedium]]"
+msgstr "Per [[GenericCategoryMedium]]"
+
+#: resources/automagic_dashboards/question/GenericQuestion.yaml
+msgid "A closer look at your [[this]]"
+msgstr "Більш пильний погляд на ваш [[це]]"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "How [[GenericNumber]] is distributed"
+msgstr "Як [[GenericNumber]] поширюється"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "[[Timestamp]] by quarter of year"
+msgstr "[[Відмітка]] на чверть року"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per country"
+msgstr "Події в країні"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Weekdays when [[this.short-name]] were added"
+msgstr "Будні, коли [[this.short-ім'я]] було додано"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Months when [[this.short-name]] were added"
+msgstr "Місяць, коли [[this.short-ім'я]] було додано"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How they compare across different categories"
+msgstr "Як вони співвідносяться між різними категоріями"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "New users per source in the last 30"
+msgstr "Нові користувачі на джерело в останні 30"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per quarter of the year"
+msgstr "Події в квартал цього року"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Heres a quick look at your [[this]]"
+msgstr "Heres швидкий погляд на ваш [[це]]"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per [[GenericCategoryLarge]], top 5"
+msgstr "[[Це]] в [[GenericCategoryLarge]], топ-5"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Days when [[this.short-name]] were added"
+msgstr "Дні, коли [[this.short-ім'я]] було додано"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Total orders per source"
+msgstr "Всього замовлень на джерело"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "[[this]] by quarter of the year"
+msgstr "[[Це]] на чверть року"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per [[GenericCategoryMedium]]"
+msgstr "Події в [[GenericCategoryMedium]]"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per state"
+msgstr "Події в стані"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Top landing pages"
+msgstr "Кращі цільові сторінки"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Heres a closer look at your [[this]] over time"
+msgstr "Heres ближчий погляд на ваш [[це]] протягом довгого часу"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "Sum of [[this]] by [[Country]]"
+msgstr "Сума [[це]] по [[Країна]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "States that are performing best"
+msgstr "Держави, які виконують краще"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Created At by month of the year"
+msgstr "Створено В від місяця року"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "Sum of [[this]] by [[State]]"
+msgstr "Сума [[це]] по [[держави]]"
+
+#: resources/automagic_dashboards/field/State.yaml
+msgid "Sum of [[GenericNumber]] per [[this]]"
+msgstr "Сума [[GenericNumber]] в [[це]]"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events by coordinates"
+msgstr "Події за координатами"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Top referral pages"
+msgstr "Популярні сторінки рефералів"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "An exploration of your users to get you started."
+msgstr "Дослідження ваших користувачів, щоб ви почали."
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "An overview of your [[this]] and how its distributed across time, place, and categories."
+msgstr "Огляд ваших [[це]] і як його розподілені по часу, місце і категорії."
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Average income per state"
+msgstr "Середній дохід на стан"
+
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+msgid "[[this]] by [[GenericCategoryMedium]]"
+msgstr "[[Це]] по [[GenericCategoryMedium]]"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Total transactions"
+msgstr "всього угод"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] that have joined over time"
+msgstr "[Ім'я this.short []], які приєдналися протягом довгого часу"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "The [[this]] by location"
+msgstr "[[Це]] за місцем розташування"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per month of the year"
+msgstr "Події на місяць року"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] by [[GenericNumber]]"
+msgstr "[[Це]] по [[GenericNumber]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Quarters when [[this.short-name]] were added"
+msgstr "Чверті, коли [[this.short-ім'я]] було додано"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "How these [[this.short-name]] are distributed"
+msgstr "Як це [[this.short-ім'я]] розподілені"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] by [[GenericNumber]]"
+msgstr "[Ім'я-this.short []] по [[GenericNumber]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Where users are coming from"
+msgstr "Де користувачі приходять з"
+
+#: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
+msgid "[[this]] comparisons and correlations"
+msgstr "[[Це]] порівнянь і кореляції"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Total income"
+msgstr "сукупний дохід"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Total income per month"
+msgstr "Загальний дохід в місяць"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Number of users per source"
+msgstr "Кількість користувачів на джерело"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Transactions per state"
+msgstr "Операції в стані"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "[[this]] by [[Timestamp]]"
+msgstr "[[Це]] по [[Відмітка]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "New users per source in the last 30 days"
+msgstr "Нові користувачі на джерело в протягом останніх 30 днів"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Join date by day of the month"
+msgstr "Дата реєстрації в день місяця"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Average discount %"
+msgstr "Середня знижка%"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Autogenerated metrics about [[GenericTable]]."
+msgstr "Автогенеріруемие метрики про [[GenericTable]]."
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per day of the month"
+msgstr "[[Це]] в день місяця"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Total sessions in each country"
+msgstr "Всього сесії в кожній країні"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Transactions per month of the year"
+msgstr "Кількість транзакцій в місяць року"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Sales per product"
+msgstr "Продажі на продукт"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Users in each country"
+msgstr "Користувачі в кожній країні"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "[[this]] by hour of the day"
+msgstr "[[Це]] на годину дня"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events in the last 30 days"
+msgstr "Події протягом останніх 30 днів"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Transactions per source"
+msgstr "Операції на джерело"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Where youve acquired your users"
+msgstr "Де, котор ви придбали користувач"
+
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How they compare acrosss location"
+msgstr "Як вони порівнюють acrosss розташування"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "[[this]] per product"
+msgstr "[[Це]] для кожного продукту"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per month of the year"
+msgstr "[[Це]] в місяць на рік"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Per country"
+msgstr "за країну"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "A deeper look at how different countries are performing for you."
+msgstr "Більш глибокий погляд на те, як різні країни виконують для вас."
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Sales per state"
+msgstr "Продажі в стані"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events by [[GenericNumber]]"
+msgstr "Події за [[GenericNumber]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "Sales per product [[ProductCategoryMedium]]"
+msgstr "Продажі на продукт [[ProductCategoryMedium]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "User acquisition by country"
+msgstr "Придбання користувача по країні"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "[[this]] per source"
+msgstr "[[Це]] для кожного джерела"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "[[this]] by day of the week"
+msgstr "[[Це]] по днях тижня"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Days of the month when [[this.short-name]] joined"
+msgstr "Дні місяця, коли [ім'я this.short []] приєднався"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Heres an overview of the people in your [[this]]"
+msgstr "Heres огляд людей у ​​вашій [[це]]"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "How [[GenericTable]] are distributed across this time field, and if it has any seasonal patterns."
+msgstr "Як [[GenericTable]] розподілені по цього часу поля, і якщо у нього є якісь сезонні моделі."
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+#: resources/automagic_dashboards/table/EventTable.yaml
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Overview"
+msgstr "огляд"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How this metric is distributed across different categories"
+msgstr "Як ця метрика розподіляється по різним категоріям"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] per state"
+msgstr "[Ім'я-this.short []] в стані"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Weekdays when [[this.short-name]] joined"
+msgstr "Будні, коли [ім'я this.short []] приєднався"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Hours when [[this.short-name]] joined"
+msgstr "Годинники, коли [ім'я this.short []] приєднався"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Total income by month"
+msgstr "Загальний дохід по місяцях"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "A breakdown of your [[this]] over time, and its min, max, average and more."
+msgstr "Розбивка вашого [[цього]] протягом довгого часу, і його мінімум, максимум, середнє і багато іншого."
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Average quantity per state"
+msgstr "Середня кількість в стані"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How they compare by across different numbers"
+msgstr "Як вони співвідносяться з різних числах"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "New users per country in the last 30 days"
+msgstr "Нові користувачі в країні за останні 30 днів"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Transactions over time"
+msgstr "Угоди з плином часу"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per [[GenericCategorySmall]]"
+msgstr "[[Це]] в [[GenericCategorySmall]]"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Some breakdown"
+msgstr "деякі розбивка"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "Average of [[this]] by [[State]]"
+msgstr "Середнє значення [[це]] по [[держави]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Transactions per quarter of the year"
+msgstr "Угоди за квартал поточного року"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "By coordinates"
+msgstr "за координатами"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "Heres a closer look at your [[this]] by products"
+msgstr "Heres ближчий погляд на ваш [[це]] продуктами"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per quarter of the year"
+msgstr "[[Це]] за квартал поточного року"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Heres an overview of your [[this]] data from Google Analytics"
+msgstr "Heres огляд вашого [[це]] дані з Google Analytics"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Quarters when [[this.short-name]] joined"
+msgstr "Quarters, коли [ім'я this.short []] приєднався"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "New [[this.short-name]] in the last 30 days"
+msgstr "Нове [this.short ім'я-[]] протягом останніх 30 днів"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Total sessions by desktop, mobile, or tablet"
+msgstr "Всього сеансів по настільним, мобільним, або таблетки"
+
+#: resources/automagic_dashboards/table/example/indepth.yaml
+msgid "Indepth example"
+msgstr "Indepth приклад"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Average income per source"
+msgstr "Середній дохід на джерело"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "[[Timestamp]] by day of week"
+msgstr "[[Відмітка]] по днях тижня"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/question/GenericQuestion.yaml
+msgid "Heres a closer look at your [[this]]"
+msgstr "Heres ближчий погляд на ваш [[це]]"
+
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "Heres a closer look at your [[this]] field"
+msgstr "Heres ближчий погляд на ваш [[це]] поле"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Summary"
+msgstr "резюме"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "How the [[this]] is distributed geographically"
+msgstr "Як [[це]] поширюється географічно"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "The pages with the most pageviews"
+msgstr "Сторінки з найбільшою кількістю переглядів сторінок"
+
+#: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
+msgid "How [[Number1]] is correlated with [[Number2]]"
+msgstr "Як [[Number1]] зіставляється з [[Number2]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Top 10 states by sales in the last 30 days"
+msgstr "Топ-10 країн за обсягом продажів за останні 30 днів"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Top 10 states by sales"
+msgstr "Топ-10 країн за обсягом продажів"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[Timestamp]]"
+msgstr "[[Відмітка]]"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Where these transactions happened"
+msgstr "Якщо ці угоди відбулися"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Top 10 countries by sales"
+msgstr "Топ-10 країн за обсягом продажів"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Sales by state"
+msgstr "продажі держави"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Where most of your sessions originate from"
+msgstr "Якщо більшість ваших сесій відбуваються з"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Top acquisition channels"
+msgstr "Найпопулярніші канали придбання"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "These [[this.short-name]] across time"
+msgstr "Це [[ім'я this.short]] під час"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Average quantity"
+msgstr "середня кількість"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Sales per source"
+msgstr "Продажі на джерело"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Average income per country"
+msgstr "Середній дохід на душу країни"
+
+#: resources/automagic_dashboards/comparison/State.yaml
+#: resources/automagic_dashboards/comparison/FK.yaml
+#: resources/automagic_dashboards/comparison/Country.yaml
+#: resources/automagic_dashboards/comparison/GenericField.yaml
+msgid "How [[this]] is distributed"
+msgstr "Як [[це]] поширюється"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Distinct [[FK]]"
+msgstr "Окреме [[ФК]]"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "How these transactions are distributed"
+msgstr "Як ці операції розподілені"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Per state"
+msgstr "за стан"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "Count of [[GenericCategoryMedium]] by [[this]]"
+msgstr "Граф [[GenericCategoryMedium]] по [[це]]"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+#: resources/automagic_dashboards/table/UserTable.yaml
+#: resources/automagic_dashboards/comparison/State.yaml
+#: resources/automagic_dashboards/comparison/FK.yaml
+#: resources/automagic_dashboards/comparison/Country.yaml
+#: resources/automagic_dashboards/comparison/GenericField.yaml
+msgid "A look at your [[this]]"
+msgstr "Подивіться на ваш [[це]]"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+msgid "[[GenericNumber]] by [[this]]"
+msgstr "[[GenericNumber]] по [[це]]"
+
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "Sum of [[GenericNumber]] by [[this]]"
+msgstr "Сума [[GenericNumber]] по [[це]]"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "A look at your [[this]] table"
+msgstr "Подивіться на ваш [[це]] таблиці"
+
+#: resources/automagic_dashboards/field/State.yaml
+msgid "How many [[GenericTable]] there are per state, and how each state is represented across other categories."
+msgstr "Скільки [[GenericTable]] є в стані, і як кожна держава представлена ​​по інших категоріях."
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Most-viewed pages"
+msgstr "Най-популярні сторінки"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Example exploration"
+msgstr "приклад розвідки"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "Sales vs. rating"
+msgstr "Продажі в порівнянні з рейтингом"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per hour of the day"
+msgstr "[[Це]] о першій годині дня"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Where your [[this.short-name]] are"
+msgstr "Де ваше [ім'я this.short []] є"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "These are the same for all your [[this.short-name]]"
+msgstr "Вони однакові для всіх ваших [ім'я-this.short []]"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events by different categories"
+msgstr "Події за різними категоріями"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Where these [[this.short-name]] are"
+msgstr "Там, де це [[ім'я this.short]] є"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "Over time"
+msgstr "Через деякий час"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "A summary of the events in your [[this]] table"
+msgstr "Короткий виклад подій у вашій [[це]] таблиці"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Transactions per source over time"
+msgstr "Операції на джерело з плином часу"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+msgid "How the [[this]] is distributed"
+msgstr "Як [[це]] поширюється"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Total income per source"
+msgstr "Загальний дохід для кожного джерела"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Total [[this.short-name]]"
+msgstr "Всього [this.short ім'я []]"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Some metrics we found about your transactions."
+msgstr "Ми знайшли деякі метрики про ваші транзакції"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "How your different products are performing."
+msgstr "Як ваші різні продукти виконують."
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Where these events are happening"
+msgstr "Там, де ці події відбуваються"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Which US states are bringing you the most business."
+msgstr "Які американські штати приносять вам найбільше бізнесу."
+
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How they compare across time"
+msgstr "Як вони співвідносяться за часом"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Average transaction income per month"
+msgstr "Середній дохід транзакцій в місяць"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Average quantity per month"
+msgstr "Середня кількість на місяць"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "Seasonal patterns in the [[this]]"
+msgstr "Сезонні закономірності в [[це]]"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events over time"
+msgstr "Події протягом довгого часу"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Orders and income per source"
+msgstr "Замовлення і дохід на джерело"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Transactions per hour of the day"
+msgstr "Кількість транзакцій о першій годині дня"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Where most of your traffic is coming from."
+msgstr "Там, де велика частина трафіку приходить від."
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "Heres a quick look at the [[this]]"
+msgstr "Heres швидкий погляд на [[це]]"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "It looks like your [[this]] has transactions, so heres a look at them"
+msgstr "Схоже на [[це]] має угод, так Heres погляд на них"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Average discount per month"
+msgstr "Середня знижка на місяць"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "[[Timestamp]] by month of the year"
+msgstr "[[Відмітка]] по місяцях року"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per [[GenericCategorySmall]] over time"
+msgstr "[[Це]] в [[GenericCategorySmall]] протягом довгого часу"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Distribution by coordinates"
+msgstr "Розподіл за координатами"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Sales by source"
+msgstr "продажі джерела"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Sales for each product category"
+msgstr "Менеджер з продажу для кожної категорії продуктів"
+
+#: resources/automagic_dashboards/question/GenericQuestion.yaml
+msgid "A closer look at the metrics and dimensions used in this saved question."
+msgstr "Більш пильний погляд на метрики і виміри, які використовуються в цьому збереженому запиті"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] per [[GenericCategoryMedium]]"
+msgstr "[Ім'я-this.short []] в [[GenericCategoryMedium]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "Sales per product [[ProductCategoryLarge]]"
+msgstr "Продажі на продукт [[ProductCategoryLarge]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Average quantity per country"
+msgstr "Середня кількість в країні"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] per [[GenericCategoryLarge]]"
+msgstr "[Ім'я-this.short []] в [[GenericCategoryLarge]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Heres a closer look at your [[this]] per source"
+msgstr "Heres ближчий погляд на ваш [[це]] на джерело"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per day of the month"
+msgstr "Події в день місяця"
+
+#: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
+msgid "If youre into correlations, this is the x-ray for you."
+msgstr "Якщо ви корелюєте, цей x-ray для вас."
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Sessions by Country"
+msgstr "Сесії по країнам"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Some interesting metrics about your GA stats to get you started."
+msgstr "Деякі цікаві метрики про вашу статистикою ГА, щоб ви почали."
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per state"
+msgstr "[[Це]] в стані"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "[[Timestamp]] by quarter of the year"
+msgstr "[[Відмітка]] на чверть року"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How its distributed across time and other categories."
+msgstr "Як його розподілені по часу та іншим категоріям."
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "A look at your events over time and by several categories."
+msgstr "Подивіться на ваших подій у часі і по декількох категоріях."
+
+#: resources/automagic_dashboards/field/State.yaml
+msgid "[[GenericTable]] per [[this]]"
+msgstr "[[GenericTable]] в [[це]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Average quantity per source"
+msgstr "Середня кількість на джерело"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "Top 5 per category"
+msgstr "Топ 5 в категорії"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per day of the week"
+msgstr "Події в день тижня"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "New [[this.short-name]] per month"
+msgstr "Нове [[this.short ім'я]] в місяць"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Top performers"
+msgstr "Кращі виконавці"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Transactions in the last 30 days"
+msgstr "Угоди протягом останніх 30 днів"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "[[GenericTable]] by [[this]]"
+msgstr "[[GenericTable]] по [[це]]"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Overview of your [[this]] data from Google Analytics"
+msgstr "Огляд вашого [[це]] дані з Google Analytics"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Created At by hour of the day"
+msgstr "Створено о певній годині дня"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Sales by month"
+msgstr "Продажі по місяцях"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "How the [[this]] is distributed across categories"
+msgstr "Як [[це]] розподілені за категоріями"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "[[Timestamp]] by month of year"
+msgstr "[[Відмітка]] по місяцях року"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "How many total sessions vs. how many individual users you had each day."
+msgstr "Скільки та загалом кожного дня в вас було сеансів та скільки індивідуальних користувачів"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How this metric is distributed across different numbers"
+msgstr "Як ця метрика розподіляється між різними номерами"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Sessions by page where the session began"
+msgstr "Сесії по сторінці, де почалася сесія"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+msgid "Distinct values"
+msgstr "чіткі значення"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Hours when [[this.short-name]] were added"
+msgstr "Годинники, коли [[this.short-ім'я]] було додано"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "[[Timestamp]] by day of the week"
+msgstr "[[Відмітка]] по днях тижня"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[GenericNumber]] over time"
+msgstr "[[GenericNumber]] протягом довгого часу"
+
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+#: resources/automagic_dashboards/comparison/State.yaml
+#: resources/automagic_dashboards/comparison/FK.yaml
+#: resources/automagic_dashboards/comparison/Country.yaml
+#: resources/automagic_dashboards/comparison/GenericField.yaml
+msgid "Heres an overview of your [[this]]"
+msgstr "Heres огляд ваших [[це]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] by coordinates"
+msgstr "[Ім'я-this.short []] за координатами"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Heres a closer look at your [[this]] per state"
+msgstr "Heres ближчий погляд на вашому [[це]] в стані"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Created At by day of the month"
+msgstr "Створений На день місяця"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Sales by coordinates"
+msgstr "Продажі за координатами"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "New [[this.short-name]] over time"
+msgstr "Нове [ім'я this.short []] протягом довгого часу"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Join date by hour of the day"
+msgstr "Дата реєстрації на годину дня"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "[[Timestamp]] by hour of day"
+msgstr "[[Відмітка]] за часом доби"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Sessions and unique users per day"
+msgstr "Сесії і унікальних користувачів в день"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per [[GenericCategoryLarge]]"
+msgstr "Події в [[GenericCategoryLarge]]"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "How they compare by distribution"
+msgstr "Як вони співвідносяться з розподілу"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Income per country"
+msgstr "Дохід від кожної країни"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Heres a closer look at your [[this]] per country"
+msgstr "Heres ближчий погляд на ваш [[це]] в кожній країні"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Sales by product [[ProductCategory]]"
+msgstr "Продажі за видами продукції [[ProductCategory]]"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per [[GenericCategoryLarge]], bottom 5"
+msgstr "[[Це]] в [[GenericCategoryLarge]], нижня 5"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] added in the last 30 days"
+msgstr "[[This.short-ім'я]] додано протягом останніх 30 днів"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Per [[Source]]"
+msgstr "Per [[Джерело]]"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Average item quantity per month"
+msgstr "Середня кількість товару в місяць"
+
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "The number of [[GenericTable]] per country, and how each country is represented in different categories."
+msgstr "Число [[GenericTable]] в кожній країні, і як кожна країна представлена ​​в різних категоріях."
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per day of the week"
+msgstr "[[Це]] в день тижня"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Average qunatity per source"
+msgstr "Середня qunatity на джерело"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] by [[Timestamp]]"
+msgstr "[Ім'я-this.short []] по [[Відмітка]]"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "Summary statistics"
+msgstr "Зведена статистика"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Sales per month"
+msgstr "Продажі в місяць"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[GenericNumber]] by join date"
+msgstr "[[GenericNumber]] дата, приєднатися"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "Average of [[this]] by [[Country]]"
+msgstr "Середнє значення [[це]] по [[Країна]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "[[this]] over time"
+msgstr "[[Це]] протягом довгого часу"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Join date by day of the week"
+msgstr "Дата реєстрації по днях тижня"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "We crunched the numbers for your [[this]]"
+msgstr "Ми хрустіли номера для [[це]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Months when [[this.short-name]] joined"
+msgstr "Місяці, коли [ім'я this.short []] приєднався"
+
+#: src/metabase/api/geojson.clj
+msgid "Unable to parse resource `{0}` as JSON"
+msgstr "Неможливо розібрати ресурс `{0} 'в форматі JSON"
+
+#: src/metabase/api/geojson.clj
+msgid "Unable to find JSON via relative path `{0}`"
+msgstr "Неможливо знайти JSON через відносний шлях `{0}`"
+
+#: src/metabase/api/geojson.clj
+msgid "Connection to host timed out for URL `{0}`"
+msgstr "Підключення до вузла таймаут для URL `{0}`"
+
+#: src/metabase/api/geojson.clj
+msgid "Unable to connect to unknown host at URL `{0}`"
+msgstr "Неможливо підключитися до невідомого хоста в URL `{0}`"
+
+#: src/metabase/api/geojson.clj
+msgid "Unable to connect to host at URL `{0}`"
+msgstr "Неможливо підключитися до хосту в URL `{0}`"
+
+#: src/metabase/api/geojson.clj
+msgid "Connection refused by host at for URL `{0}`"
+msgstr "З'єднання відхилено хоста в URL для `{0}`"
+
+#: src/metabase/api/geojson.clj
+msgid "Unable to retrieve resource at URL `{0}`"
+msgstr "Не вдалося ресурс по URL `{0}`"
+
+#: src/metabase/api/geojson.clj
+msgid "Unable to parse resource at URL `{0}` as JSON"
+msgstr "Неможливо розібрати ресурс на URL `{0} ', як JSON"
+
+#: src/metabase/api/session.clj
+msgid "Problem connecting to LDAP server, will fall back to local authentication: {0}"
+msgstr "Проблема підключення до сервера LDAP, повернеться до локальної аутентифікації: {0}"
+
+#: src/metabase/driver/bigquery.clj
+msgid "BigQuery statements can''t be parameterized!"
+msgstr "заяви BigQuery can''t параметріроваться!"
+
+#: src/metabase/driver/druid/query_processor.clj
+msgid "WARNING: Druid does not allow limitSpec in time series queries. Ignoring the LIMIT clause."
+msgstr "УВАГА: Друїд не дозволяє limitSpec в запитах часових рядів. Не звертаючи уваги на стан LIMIT."
+
+#: src/metabase/driver/snowflake.clj
+msgid "Invalid Snowflake connection details: missing DB name."
+msgstr "Недійсна Сніжинка деталь з'єднання: відсутня ім'я БД."
+
+#: src/metabase/email/messages.clj
+msgid "We’d love your feedback."
+msgstr "Ми хотіли б ваші відгуки."
+
+#: src/metabase/email/messages.clj
+msgid "It looks like Metabase wasn’t quite a match for you."
+msgstr "Схоже Metabase не зовсім підходить для вас."
+
+#: src/metabase/email/messages.clj
+msgid "Would you mind taking a fast 5 question survey to help the Metabase team understand why and make things better in the future?"
+msgstr "Ви не могли б взяти швидкий огляд 5 питання, щоб допомогти команді Metabase зрозуміти, чому і зробити речі краще в майбутньому?"
+
+#: src/metabase/email/messages.clj
+msgid "We hope you''ve been enjoying Metabase."
+msgstr "Ми сподіваємося you''ve насолоджувалися Metabase."
+
+#: src/metabase/email/messages.clj
+msgid "Would you mind taking a fast 6 question survey to tell us how it’s going?"
+msgstr "Ви не заперечуєте б взяти швидкий огляд 6 питання, щоб сказати нам, як це відбувається?"
+
+#: src/metabase/email/messages.clj
+msgid "{0} created a Metabase account"
+msgstr "{0} створення облікового запису Metabase"
+
+#: src/metabase/email/messages.clj
+msgid "{0} accepted their Metabase invite"
+msgstr "{0} прийняв їх Metabase запросити"
+
+#: src/metabase/email/messages.clj
+msgid "[Metabase] Password Reset Request"
+msgstr "[Metabase] Скидання пароля Запит"
+
+#: src/metabase/email/messages.clj
+msgid "[Metabase] Notification"
+msgstr "[Метабаза] Повідомлення"
+
+#: src/metabase/email/messages.clj
+msgid "[Metabase] Help make Metabase better."
+msgstr "[Metabase] Допоможіть зробити Metabase краще."
+
+#: src/metabase/email/messages.clj
+msgid "[Metabase] Tell us how things are going."
+msgstr "[Metabase] Розкажіть, як йдуть справи."
+
+#: src/metabase/mbql/util.clj
+msgid "Error: query''s source query has not been resolved. You probably need to `preprocess` the query first."
+msgstr "Помилка: джерело запит: запит \"в не було вирішене. Ви, ймовірно, потрібно `preprocess` запит першим."
+
+#: src/metabase/models/params.clj
+msgid "Don't know what to do with:"
+msgstr "Не знаю, що робити з:"
+
+#: src/metabase/models/params.clj
+msgid "Don't know how to wrap:"
+msgstr "Не знаю, як обернути:"
+
+#: src/metabase/public_settings.clj
+msgid "Failed setting `query-caching-max-kb` to {0}."
+msgstr "Помилка установки `запиту кешування-Max-kb` до {0}."
+
+#: src/metabase/public_settings.clj
+msgid "Values greater than {1} are not allowed."
+msgstr "Значення більше {1} не допускаються."
+
+#: src/metabase/query_processor/middleware/resolve_database.clj
+msgid "Database {0} does not exist."
+msgstr "База даних {0} не існує."
+
+#: src/metabase/query_processor/store.clj
+msgid "Error: Database is not present in the Query Processor Store."
+msgstr "Помилка: База даних немає в Query Processor Store."
+
+#: src/metabase/util/embed.clj
+msgid "Invalid embedding-secret-key! Secret key must be a hexadecimal-encoded 256-bit key (i.e., a 64-character string)."
+msgstr "Invalid вкладення-секретний ключ! Секретний ключ повинен бути шістнадцятковим-закодовано 256-бітний ключ (тобто рядки 64 символів)."
+
+#: src/metabase/util/embed.clj
+msgid "JWT is missing `alg`."
+msgstr "JWT відсутня `alg`."
+
+#: src/metabase/util/embed.clj
+msgid "JWT `alg` cannot be `none`."
+msgstr "JWT `alg` не може бить` none`."
+
+#: src/metabase/util/embed.clj
+msgid "The embedding secret key has not been set."
+msgstr "Вкладення секретний ключ не був встановлений."
+
+#: src/metabase/util/embed.clj
+msgid "Token is missing value for keypath"
+msgstr "Токен не вказане значення ключового ресурсу"
+
+#: resources/automagic_dashboards/table/example/indepth.yaml
+msgid "In-depth example"
+msgstr "поглиблений приклад"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:29
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:17
+msgid "Key"
+msgstr "ключ"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:30
+msgid "Class"
+msgstr "клас"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:32
+msgid "Triggers"
+msgstr "тригери"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:48
+msgid "View triggers"
+msgstr "Перегляд спускові"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:82
+msgid "Scheduler Info"
+msgstr "планувальник інформація"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:20
+msgid "Priority"
+msgstr "пріоритет"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:21
+msgid "Last Fired"
+msgstr "Останній Звільнено"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:22
+msgid "Next Fire Time"
+msgstr "Далі Вогонь Час"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:23
+msgid "Start Time"
+msgstr "Час початку"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:24
+msgid "End Time"
+msgstr "час закінчення"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:25
+msgid "Final Fire Time"
+msgstr "Заключний Вогонь Час"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:26
+msgid "May Fire Again?"
+msgstr "Може Знову пожежа?"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:75
+msgid "Triggers for {0}"
+msgstr "Тригери для {0}"
+
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:25
+msgid "Tasks"
+msgstr "Завдання"
+
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:30
+msgid "Jobs"
+msgstr "Роботи"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:740
+msgid "Duplicated {0}"
+msgstr "Дубльований {0}"
+
+#: frontend/src/metabase/components/EntityItem.jsx:55
+msgid "Duplicate this item"
+msgstr "Дублюйте цей пункт"
+
+#: frontend/src/metabase/components/EntityItem.jsx:61
+msgid "Archive this item"
+msgstr "Архів цього пункту"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:330
+msgid "Duplicate dashboard"
+msgstr "дублікат панель"
+
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:16
+msgid "Duplicate \"{0}\""
+msgstr "Дублікат \"{0}\""
+
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:21
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:26
+msgid "Duplicate"
+msgstr "дублювати"
+
+#: frontend/src/metabase/lib/query_time.js:115
+msgid "Tomorrow"
+msgstr "завтра"
+
+#: frontend/src/metabase/lib/query_time.js:129
+#: frontend/src/metabase/lib/query_time.js:143
+msgid "This {0}"
+msgstr "Це {0}"
+
+#: frontend/src/metabase/lib/query_time.js:132
+msgid "Next {0}"
+msgstr "Далі {0}"
+
+#: frontend/src/metabase/lib/query_time.js:135
+msgid "Previous {0}"
+msgstr "Попередня {0}"
+
+#: frontend/src/metabase/lib/query_time.js:139
+msgid "Previous {0} {1}"
+msgstr "Попередня {0} {1}"
+
+#: frontend/src/metabase/lib/query_time.js:141
+msgid "Next {0} {1}"
+msgstr "Далі {0} {1}"
+
+#: frontend/src/metabase/lib/query_time.js:171
+msgid "Now"
+msgstr "в даний час"
+
+#: frontend/src/metabase/lib/query_time.js:174
+msgid "{0} {1} ago"
+msgstr "{0} {1} назад"
+
+#: frontend/src/metabase/lib/query_time.js:175
+msgid "{0} {1} from now"
+msgstr "{0} {1} тепер"
+
+#: frontend/src/metabase/lib/query_time.js:187
+msgid "Default period"
+msgid_plural "Default periods"
+msgstr[0] "період за замовчуванням"
+msgstr[1] "Периоды по умолчанию"
+msgstr[2] "Периоды по умолчанию"
+msgstr[3] "Периоды по умолчанию"
+
+#: frontend/src/metabase/lib/query_time.js:203
+msgid "Minute of hour"
+msgid_plural "Minutes of hour"
+msgstr[0] "хвилина годину"
+msgstr[1] "хвилина годину"
+msgstr[2] "хвилина годину"
+msgstr[3] "хвилина годину"
+
+#: frontend/src/metabase/lib/query_time.js:205
+msgid "Hour of day"
+msgid_plural "Hours of day"
+msgstr[0] "час дня"
+msgstr[1] "час дня"
+msgstr[2] "час дня"
+msgstr[3] "час дня"
+
+#: frontend/src/metabase/lib/query_time.js:207
+msgid "Day of week"
+msgid_plural "Days of week"
+msgstr[0] "день тижня"
+msgstr[1] "день тижня"
+msgstr[2] "день тижня"
+msgstr[3] "день тижня"
+
+#: frontend/src/metabase/lib/query_time.js:209
+msgid "Day of month"
+msgid_plural "Days of month"
+msgstr[0] "день місяця"
+msgstr[1] "день місяця"
+msgstr[2] "день місяця"
+msgstr[3] "день місяця"
+
+#: frontend/src/metabase/lib/query_time.js:211
+msgid "Day of year"
+msgid_plural "Days of year"
+msgstr[0] "день року"
+msgstr[1] "день року"
+msgstr[2] "день року"
+msgstr[3] "день року"
+
+#: frontend/src/metabase/lib/query_time.js:213
+msgid "Week of year"
+msgid_plural "Weeks of year"
+msgstr[0] "тиждень року"
+msgstr[1] "тиждень року"
+msgstr[2] "тиждень року"
+msgstr[3] "тиждень року"
+
+#: frontend/src/metabase/lib/query_time.js:215
+msgid "Month of year"
+msgid_plural "Months of year"
+msgstr[0] "місяць року"
+msgstr[1] "місяць року"
+msgstr[2] "місяць року"
+msgstr[3] "місяць року"
+
+#: frontend/src/metabase/lib/query_time.js:217
+msgid "Quarter of year"
+msgid_plural "Quarters of year"
+msgstr[0] "чверть року"
+msgstr[1] "чверть року"
+msgstr[2] "чверть року"
+msgstr[3] "чверть року"
+
+#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:62
+#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:58
+#: frontend/src/metabase/query_builder/components/Filter.jsx:79
+msgid "{0} selection"
+msgid_plural "{0} selections"
+msgstr[0] "{0} вибору"
+msgstr[1] "{0} вибору"
+msgstr[2] "{0} вибору"
+msgstr[3] "{0} вибору"
+
+#: frontend/src/metabase/parameters/components/widgets/DateQuarterYearWidget.jsx:11
+msgid "[Q]Q"
+msgstr "[Q] Q"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:28
+msgid "This"
+msgstr "це"
+
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:64
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:96
+msgid "Invalid"
+msgstr "недійсний"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/SpecificDatePicker.jsx:147
+msgid "Add a time"
+msgstr "Додати час"
+
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:170
+msgid "Nothing to compare for the previous {0}."
+msgstr "Ніщо не порівняти для попередньої {0}."
+
+#: frontend/src/metabase-lib/lib/Dimension.js:517
+msgid "by {0}"
+msgstr "{0}"
+
+#: src/metabase/api/database.clj
+msgid "value must be a valid database engine."
+msgstr "Значення має бути дійсним двигуном бази даних."
+
+#: src/metabase/api/geojson.clj
+msgid "Connection refused by host for URL `{0}`"
+msgstr "З'єднання відхилено хоста для URL `{0}`"
+
+#: src/metabase/db.clj
+msgid "Warning: Postgres connection string with `ssl=true` detected."
+msgstr "Увага: Postgres рядок з'єднання з `Ssl = true` виявлений."
+
+#: src/metabase/db.clj
+msgid "You may need to add `?sslmode=require` to your application DB connection string."
+msgstr "Ви можете додати `? Sslmode = require` в прикладної рядок з'єднання DB."
+
+#: src/metabase/db.clj
+msgid "If Metabase fails to launch, please add it and try again."
+msgstr "Якщо Metabase не запускається, будь ласка, додайте його і спробуйте ще раз."
+
+#: src/metabase/db.clj
+msgid "See https://github.com/metabase/metabase/issues/8908 for more details."
+msgstr "Див https://github.com/metabase/metabase/issues/8908 для більш докладної інформації."
+
+#: src/metabase/db.clj
+msgid "WARNING: Using Metabase with an H2 application database is not recomended for production deployments."
+msgstr "ПОПЕРЕДЖЕННЯ: Використання Metabase з базою даних програми H2 не рекомендується для розгортання виробництва."
+
+#: src/metabase/db.clj
+msgid "For production deployments, we highly recommend using Postgres, MySQL, or MariaDB instead."
+msgstr "Для розгортання виробництва, ми настійно рекомендуємо використовувати Postgres, MySQL, або MariaDB замість цього."
+
+#: src/metabase/db.clj
+msgid "If you decide to continue to use H2, please be sure to back up the database file regularly."
+msgstr "Якщо ви вирішите продовжувати використовувати H2, будь ласка, переконайтеся, що регулярно створювати резервні копії файлу бази даних."
+
+#: src/metabase/db.clj
+msgid "See https://metabase.com/docs/latest/operations-guide/start.html#migrating-from-using-the-h2-database-to-mysql-or-postgres for more information."
+msgstr "Див https://metabase.com/docs/latest/operations-guide/start.html#migrating-from-using-the-h2-database-to-mysql-or-postgres для отримання додаткової інформації."
+
+#: src/metabase/db.clj
+msgid "Unable to connect to Metabase {0} DB."
+msgstr "Неможливо підключитися до Metabase {0} БД."
+
+#: src/metabase/db/migrations.clj
+msgid "Error adding legacy SQL directive to BigQuery saved Question"
+msgstr "Помилка додавання директиви спадок SQL в BigQuery збережений питання"
+
+#: src/metabase/driver.clj
+msgid "Failed to notify {0} Database {1} updated"
+msgstr "Чи не вдалося повідомити {0} База даних {1} оновлена"
+
+#: src/metabase/driver.clj
+msgid "Loading driver {0} {1}"
+msgstr "Завантаження драйвера {0} {1}"
+
+#: src/metabase/driver.clj
+msgid "Load driver {0}"
+msgstr "Водій навантаження {0}"
+
+#: src/metabase/driver.clj
+msgid "Driver not registered after loading: {0}"
+msgstr "Водій не зареєстрований після завантаження: {0}"
+
+#: src/metabase/driver.clj
+msgid "Error: attempting to change {0} property `:abstract?` from {1} to {2}."
+msgstr "Помилка: спроби змінити властивість {0} `?: Абстрактние` від {1} до {2}."
+
+#: src/metabase/driver.clj
+msgid "Registered abstract driver {0}"
+msgstr "Зареєстрований абстрактний драйвер {0}"
+
+#: src/metabase/driver.clj
+msgid "Registered driver {0}"
+msgstr "Зареєстрований драйвер {0}"
+
+#: src/metabase/driver.clj
+msgid "(parents: {0})"
+msgstr "(Батьки: {0})"
+
+#: src/metabase/driver.clj
+msgid "Initializing driver {0}..."
+msgstr "Ініціалізація драйвера {0} ..."
+
+#: src/metabase/driver.clj
+msgid "Reason:"
+msgstr "Причина:"
+
+#: src/metabase/driver.clj
+msgid "Invalid driver feature: {0}"
+msgstr "Невірна функція драйвера: {0}"
+
+#: src/metabase/driver/sql/query_processor.clj
+msgid "Invalid HoneySQL form:"
+msgstr "Неприпустима форма HoneySQL:"
+
+#: src/metabase/driver/sql_jdbc/connection.clj
+msgid "Closing connection pool for database {0} ..."
+msgstr "Закриття пулу з'єднань для бази даних {0} ..."
+
+#: src/metabase/driver/util.clj
+msgid "Error loading namespace"
+msgstr "Помилка при завантаженні імен"
+
+#: src/metabase/events.clj
+msgid "Starting events listener:"
+msgstr "Запуск подій слухача:"
+
+#: src/metabase/events.clj
+msgid "Unexpected error listening on events"
+msgstr "Несподівана помилка прослуховування подій"
+
+#: src/metabase/events/sync_database.clj
+msgid "Error syncing Database {0}"
+msgstr "синхронізація Помилка бази даних {0}"
+
+#: src/metabase/events/sync_database.clj
+msgid "Failed to process sync-database event."
+msgstr "Чи не вдалося обробити подія синхронізації бази даних."
+
+#: src/metabase/mbql/util.clj
+msgid "Bad nested-query-level: query does not have a source query"
+msgstr "Bad вкладеного-запит рівень: запит не має запит джерела"
+
+#: src/metabase/metabot/command.clj
+msgid "I don''t know how to `{0}`."
+msgstr "Я don''t знаю, як `{0} '."
+
+#: src/metabase/metabot/command.clj
+msgid "Here''s what I can do: "
+msgstr "Ось що я можу зробити:"
+
+#: src/metabase/metabot/slack.clj
+msgid "Error in Metabot command"
+msgstr "Помилка в команді Metabot"
+
+#: src/metabase/metabot/websocket.clj
+msgid "Websocket associated with this Slack event is different from the websocket we're currently using."
+msgstr "WebSocket, пов'язаний з цією подією Слак відрізняється від WebSocket, ми в даний час використовується."
+
+#: src/metabase/models/field_values.clj
+msgid "FieldValues for Field {0} remain unchanged. Skipping..."
+msgstr "FieldValues ​​для поля {0} залишається незмінним. Пропустивши ..."
+
+#: src/metabase/models/interface.clj
+msgid "Unable to normalize:"
+msgstr "Неможливо нормалізувати:"
+
+#: src/metabase/models/params.clj
+msgid "Could not find matching Field ID for target:"
+msgstr "Не вдалося знайти відповідні поля ідентифікатор мети:"
+
+#: src/metabase/plugins.clj
+msgid "Metabase does not have permissions to write to plugins directory {0}"
+msgstr "Metabase не має дозволу на запис в каталог плагінів {0}"
+
+#: src/metabase/plugins.clj
+msgid "Metabase cannot use the plugins directory {0}"
+msgstr "Metabase не може використовувати каталог плагінів {0}"
+
+#: src/metabase/plugins.clj
+msgid "Please make sure the directory exists and that Metabase has permission to write to it."
+msgstr "Переконайтеся, що каталог існує і що Metabase має дозвіл на запис в нього."
+
+#: src/metabase/plugins.clj
+msgid "You can change the directory Metabase uses for modules by setting the environment variable MB_PLUGINS_DIR."
+msgstr "Ви можете змінити каталог Metabase використовує для модулів, встановивши змінну оточення MB_PLUGINS_DIR."
+
+#: src/metabase/plugins.clj
+msgid "Falling back to a temporary directory for now."
+msgstr "Падіння назад в тимчасову директорію на даний момент."
+
+#: src/metabase/plugins.clj
+msgid "Metabase cannot write to temporary directory. Please set MB_PLUGINS_DIR to a writable directory and restart Metabase."
+msgstr "Metabase не може писати на тимчасовий каталог. Будь ласка, встановіть MB_PLUGINS_DIR на записуваний директорію і перезапустити Metabase."
+
+#: src/metabase/plugins.clj
+msgid "spark-deps.jar is no longer needed by Metabase 1.0+. You can delete it from the plugins directory."
+msgstr "НЕ іскровий deps.jar більше не потрібен метабази 1.0+. Ви можете видалити його з каталогу плагінів."
+
+#: src/metabase/plugins.clj
+msgid "Failied to initialize plugin {0}"
+msgstr "Failied для ініціалізації модуля {0}"
+
+#: src/metabase/plugins.clj
+msgid "Loading plugins in {0}..."
+msgstr "Завантаження плагінів в {0} ..."
+
+#: src/metabase/plugins/classloader.clj
+msgid "Using Clojure base loader as shared context classloader: {0}"
+msgstr "Використання базового завантажувача Clojure в якості загального контексту завантажувача класів: {0}"
+
+#: src/metabase/plugins/classloader.clj
+msgid "Setting current thread context classloader to shared classloader {0}..."
+msgstr "Налаштування поточного контексту потоку завантажувач класів для загального завантажувача класів {0} ..."
+
+#. it's important that we deref the promise again here instead of using the one we just created because it is
+#. possible thru a race condition that somebody else delivered the promise before we did; in that case,
+#. Clojure ignores subsequent calls to `deliver`. Dereffing the promise guarantees that we'll get the actual
+#. value of it rather than one that ends up getting discarded
+#: src/metabase/plugins/classloader.clj
+msgid "Setting current thread context classloader to NEWLY CREATED classloader {0}..."
+msgstr "Налаштування поточного контексту нитки завантажувача класів по відношенню до нових загрузчиком класів {0} ..."
+
+#: src/metabase/plugins/classloader.clj
+msgid "Added URL {0} to classpath"
+msgstr "Доданий URL {0} шлях до класів"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugin {0} declares a dependency that Metabase does not understand: {1}"
+msgstr "Плагін {0} оголошує залежність, Metabase не розуміє: {1}"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Refer to the plugin manifest reference for a complete list of valid plugin dependencies:"
+msgstr "Зверніться до плагіном маніфесту посилання на повний список допустимих залежностей плагіна:"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Metabase cannot initialize plugin {0} due to required dependencies."
+msgstr "Метабази не може звернутися до плагін {0} через необхідних залежностей."
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Class not found: {0}"
+msgstr "Клас не найден: {0}"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugin ''{0}'' depends on plugin ''{1}''"
+msgstr "Плагін '' {0} '' залежить від плагіна '' {1} ''"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "{0} dependency {1} satisfied? {2}"
+msgstr "{0} залежність {1} задоволені? {2}"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugins with unsatisfied deps: {0}"
+msgstr "Модулі з незадоволеним DEPS: {0}"
+
+#: src/metabase/plugins/files.clj
+msgid "Extract file {0} -> {1}"
+msgstr "Файл Extract {0} -> {1}"
+
+#: src/metabase/plugins/files.clj
+msgid "Resource does not exist."
+msgstr "Ресурс не існує."
+
+#: src/metabase/plugins/init_steps.clj
+msgid "Loading plugin namespace {0}..."
+msgstr "Завантаження плагін імен {0} ..."
+
+#: src/metabase/plugins/initialize.clj
+msgid "Dependencies satisfied; these plugins will now be loaded: {0}"
+msgstr "Залежності задоволені; ці модулі тепер будуть завантажені: {0}"
+
+#: src/metabase/plugins/jdbc_proxy.clj
+msgid "Registering JDBC proxy driver for {0}..."
+msgstr "Реєстрація драйвера JDBC проксі для {0} ..."
+
+#: src/metabase/plugins/jdbc_proxy.clj
+msgid "Deregistering original JDBC driver {0}..."
+msgstr "Скасування реєстрації оригінальний драйвер JDBC {0} ..."
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Default connection property {0} does not exist."
+msgstr "За замовчуванням підключення властивості {0} не існує."
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Invalid connection property {0}: not a string or map."
+msgstr "Неправильне підключення властивість {0}: чи не рядок або карти."
+
+#. ok, do the init steps listed in the plugin mainfest
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Load lazy loading driver {0}"
+msgstr "Навантаження ледачою водій завантаження {0}"
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Cannot initialize plugin: missing required property `driver-name`"
+msgstr "Неможливо ініціалізувати плагін: відсутня обов'язкова властивість `водія name`"
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Warning: plugin manifest for {0} does not include connection properties"
+msgstr "Увага: плагін маніфесту для {0} не включає в себе властивість з'єднання"
+
+#. finally, register the Metabase driver
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Registering lazy loading driver {0}..."
+msgstr "Реєстрація ледачого водія завантаження {0} ..."
+
+#: src/metabase/pulse.clj
+msgid "Error running query for Card {0}"
+msgstr "Помилка при виконанні запиту для карти {0}"
+
+#: src/metabase/pulse/render.clj
+msgid "Last week"
+msgstr "Минулого тижня"
+
+#: src/metabase/pulse/render.clj
+msgid "This week"
+msgstr "Цього тижня"
+
+#: src/metabase/pulse/render.clj
+msgid "Last month"
+msgstr "Останній місяця"
+
+#: src/metabase/pulse/render.clj
+msgid "This month"
+msgstr "Цього місяця"
+
+#: src/metabase/pulse/render.clj
+msgid "Last quarter"
+msgstr "Останній квартал"
+
+#: src/metabase/pulse/render.clj
+msgid "This quarter"
+msgstr "У цьому кварталі"
+
+#: src/metabase/pulse/render.clj
+msgid "Last year"
+msgstr "Минулого року"
+
+#: src/metabase/pulse/render.clj
+msgid "This year"
+msgstr "Цього року"
+
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "*driver* is unbound."
+msgstr "* Драйвер * є непов'язаним."
+
+#: src/metabase/sync/sync_metadata/fields.clj
+msgid "Error syncing Fields for Table ''{0}''"
+msgstr "Помилка синхронізації полів для таблиці «» {0} «»"
+
+#: src/metabase/sync/sync_metadata/fields.clj
+msgid "Hash of {0} matches stored hash, skipping Fields sync"
+msgstr "Хеш {0} відповідає збереженій хеш, пропускаючи Поля синхронізації"
+
+#: src/metabase/sync/sync_metadata/fields/common.clj
+msgid "Field"
+msgstr "поле"
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Error checking if Fields {0} need to be created or reactivated"
+msgstr "Помилка перевірки, якщо поля {0} повинні бути створені або реактивировать"
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Marking Field ''{0}'' as inactive."
+msgstr "Маркування Поле «» {0} \"\" як неактивний."
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Error retiring {0}"
+msgstr "Помилка догляду {0}"
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Database type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr "Тип бази даних {0} змінено з '' {1} '' до '' {2} ''."
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Base type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr "Базовий тип {0} змінено з '' {1} '' до '' {2} ''."
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Special type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr "Спеціальний тип {0} змінено з '' {1} '' до '' {2} ''."
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Comment has been added for {0}."
+msgstr "Коментар був доданий для {0}."
+
+#: src/metabase/task.clj
+msgid "Stopping Quartz Scheduler {0}"
+msgstr "Зупинка Кварц Планувальник {0}"
+
+#: src/metabase/task.clj
+msgid "Starting Quartz Scheduler {0}"
+msgstr "Запуск Quartz Scheduler {0}"
+
+#: src/metabase/task.clj
+msgid "Error loading tasks namespace {0}"
+msgstr "Помилка при завантаженні завдання простору імен {0}"
+
+#. don't bother logging namespace for now, maybe in the future if there's tasks of the same name in multiple
+#. namespaces we can log it
+#: src/metabase/task.clj
+msgid "Initializing task {0}"
+msgstr "Ініціалізація завдання {0}"
+
+#: src/metabase/task.clj
+msgid "Error initializing task {0}"
+msgstr "Помилка при ініціалізації завдання {0}"
+
+#: src/metabase/task/follow_up_emails.clj
+msgid "Problem sending abandonment email"
+msgstr "Проблема відправки електронної пошти закидання"
+
+#: src/metabase/task/send_anonymous_stats.clj
+msgid "Sending anonymous usage stats."
+msgstr "Відправлення анонімної статистики використання."
+
+#: src/metabase/task/send_anonymous_stats.clj
+msgid "Error sending anonymous usage stats"
+msgstr "Помилка відправки анонімної статистики використання"
+
+#: src/metabase/task/send_pulses.clj
+msgid "Error sending Pulse {0}"
+msgstr "Помилка відправки Пульсу {0}"
+
+#: src/metabase/task/send_pulses.clj
+msgid "Sending scheduled pulses..."
+msgstr "Відправлення регулярних Пульсів ..."
+
+#: src/metabase/task/send_pulses.clj
+msgid "SendPulses task failed"
+msgstr "Завдання з відправки Пульсів не виконано"
+
+#: src/metabase/task/sync_databases.clj
+msgid "Failed to scheduler tasks for Database {0}"
+msgstr "Помилка завдань планувальника для бази даних {0}"
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Cleaning up task history"
+msgstr "Очищення історії завдання"
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Task history cleanup successful, rows were deleted"
+msgstr "Завдання історії очищення успішно, рядки були видалені"
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Task history cleanup successful, no rows were deleted"
+msgstr "Завдання історії очищення успішно, жодна рядок не була видалена"
+
+#: src/metabase/task/upgrade_checks.clj
+msgid "Checking for new Metabase version info."
+msgstr "Перевірка нової Metabase інформації про версії."
+
+#: src/metabase/task/upgrade_checks.clj
+msgid "Error fetching version info"
+msgstr "Помилка при отриманні інформації про версії"
+
+#: src/metabase/util.clj
+msgid "Maximum memory available to JVM: {0}"
+msgstr "Максимальний обсяг пам'яті, доступний для віртуальної машини Java: {0}"
+
+#: src/metabase/util.clj
+msgid "Not something with an ID: {0}"
+msgstr "Не те, що з ID: {0}"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by month of the year"
+msgstr "[[CreateDate]] по місяцях року"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Here's a quick look at your [[this]]"
+msgstr "Ось швидкий погляд на ваш [[це]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by hour of the day"
+msgstr "[[CreateTimestamp]] по годинах дня"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Where you've acquired your users"
+msgstr "Де ви придбали користувач"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How it's distributed across time and other categories."
+msgstr "Як це розподілено за часом і іншим категоріям."
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Here's a closer look at your [[this]] per source"
+msgstr "Ось ближчий погляд на ваш [[це]] на джерело"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "Here's a quick look at the [[this]]"
+msgstr "Ось швидкий погляд на [[це]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by day of the month"
+msgstr "[[CreateTimestamp]] по днях місяця"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Here's an overview of the people in your [[this]]"
+msgstr "Ось короткий огляд людей в ваших [[це]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by quarter of the year"
+msgstr "[[CreateTimestamp]] на чверть року"
+
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How they compare across location"
+msgstr "Як вони співвідносяться через місце"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "Here's a closer look at your [[this]] by products"
+msgstr "Ось ближчий погляд на ваш [[це]] по продукції"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by month of the year"
+msgstr "[[CreateTimestamp]] по місяцях року"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "An overview of your [[this]] and how it's distributed across time, place, and categories."
+msgstr "Огляд ваших [[це]] і як це розподілено за часом, місцем, і категорії."
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/question/GenericQuestion.yaml
+msgid "Here's a closer look at your [[this]]"
+msgstr "Ось ближчий погляд на ваш [[це]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by day of the week"
+msgstr "[[CreateTimestamp]] по днях тижня"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Here's an overview of your [[this]] data from Google Analytics"
+msgstr "Ось короткий огляд вашого [[це]] дані з Google Analytics"
+
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+#: resources/automagic_dashboards/comparison/State.yaml
+#: resources/automagic_dashboards/comparison/FK.yaml
+#: resources/automagic_dashboards/comparison/Country.yaml
+#: resources/automagic_dashboards/comparison/GenericField.yaml
+msgid "Here's an overview of your [[this]]"
+msgstr "Ось короткий огляд вашого [[це]]"
+
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "Here's a closer look at your [[this]] field"
+msgstr "Ось ближчий погляд на ваш [[це]] поле"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Here's a closer look at your [[this]] per country"
+msgstr "Ось ближчий погляд на ваш [[це]] в країні"
+
+#: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
+msgid "If you're into correlations, this is the x-ray for you."
+msgstr "Якщо ви корелюєте, цей x-ray для вас."
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by day of the week"
+msgstr "[[CreateDate]] по днях тижня"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "It looks like your [[this]] has transactions, so here's a look at them"
+msgstr "Схоже, ваш [[це]] має угод, так ось подивіться на них"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Here's a closer look at your [[this]] per state"
+msgstr "Ось ближчий погляд на вашому [[це]] в стані"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by day of the month"
+msgstr "[[CreateDate]] по днях місяця"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTime]] by hour of the day"
+msgstr "[[CreateTime]] по годинах дня"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Here's a closer look at your [[this]] over time"
+msgstr "Ось ближчий погляд на ваш [[це]] протягом довгого часу"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by quarter of the year"
+msgstr "[[CreateDate]] на чверть року"
+
+#: frontend/src/metabase/admin/people/containers/EditUserModal.jsx:12
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:200
+msgid "Edit user"
+msgstr ""
+
+#: frontend/src/metabase/admin/people/containers/NewUserModal.jsx:13
+msgid "New user"
+msgstr ""
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:204
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:69
+msgid "Reset password"
+msgstr ""
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:209
+msgid "Deactivate user"
+msgstr ""
+
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:47
+msgid "Reactivate {0}?"
+msgstr ""
+
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:63
+msgid "We couldn’t send them an email invitation, so make sure to tell them to log in using {0} and this password we’ve generated for them:"
+msgstr ""
+
+#: frontend/src/metabase/entities/collections.js:21
+msgid "collection"
+msgstr ""
+
+#: frontend/src/metabase/entities/collections.js:22
+msgid "collections"
+msgstr ""
+
+#: frontend/src/metabase/entities/dashboards.js:29
+msgid "dashboard"
+msgstr ""
+
+#: frontend/src/metabase/entities/dashboards.js:30
+msgid "dashboards"
+msgstr ""
+
+#: frontend/src/metabase/entities/users.js:125
+msgid "First name is required"
+msgstr ""
+
+#: frontend/src/metabase/entities/users.js:126
+#: frontend/src/metabase/entities/users.js:133
+msgid "Must be 100 characters or less"
+msgstr ""
+
+#: frontend/src/metabase/entities/users.js:132
+msgid "Last name is required"
+msgstr ""
+
+#: frontend/src/metabase/entities/users.js:138
+msgid "Email is required"
+msgstr ""
+
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:90
+msgid "Items you archive will appear here."
+msgstr ""
+
+#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:16
+msgid "No description"
+msgstr ""
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:175
+msgid "Sum of all values"
+msgstr ""
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:183
+msgid "See all distinct values"
+msgstr ""
+
+#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:12
+msgid "Browse the contents of your databases, tables, and columns. Pick a database to get started"
+msgstr ""
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is VALID. Thanks!"
+msgstr ""
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is INVALID. Running query to fetch correct metadata."
+msgstr ""
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is  ISSING. Running query to fetch correct metadata."
+msgstr ""
+
+#: src/metabase/api/email.clj
+msgid "{0} was autocorrected to {1}"
+msgstr ""
+
+#: src/metabase/api/metric.clj
+msgid "DELETE /api/metric/:id is deprecated. Instead, change its `archived` value via PUT /api/metric/:id."
+msgstr ""
+
+#: src/metabase/api/segment.clj
+msgid "DELETE /api/segment/:id is deprecated. Instead, change its `archived` value via PUT /api/segment/:id."
+msgstr ""
+
+#: src/metabase/api/user.clj
+msgid "Value of is_superuser must correspond to presence of Admin group ID in group_ids."
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "Unexpected error writing keepalive characters"
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "Unexpected output in async API response"
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "starting streaming response"
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "Output chan closed, canceling keepalive request."
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "Async response finished, closing channels."
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "No response after waiting {0}. Canceling request."
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "Input channel unexpectedly closed."
+msgstr ""
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "f finished, permit will be returned"
+msgstr ""
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "request canceled, permit will be returned"
+msgstr ""
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Unexpected error attempting to run function after obtaining permit"
+msgstr ""
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Not running pending function call: output channel already closed."
+msgstr ""
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Current thread already has a permit for {0}, will not wait to acquire another"
+msgstr ""
+
+#: src/metabase/async/util.clj
+msgid "Output channel closed, will skip running {0}."
+msgstr ""
+
+#: src/metabase/async/util.clj
+msgid "Running {0} on separate thread..."
+msgstr ""
+
+#: src/metabase/async/util.clj
+msgid "Caught error running {0}"
+msgstr ""
+
+#: src/metabase/async/util.clj
+msgid "Request canceled, canceling future"
+msgstr ""
+
+#: src/metabase/driver/sql_jdbc/connection.clj
+msgid "Closing old connection pool for database {0} ..."
+msgstr ""
+
+#: src/metabase/metabot/command.clj
+msgid "Here''s your {0} most recent cards:"
+msgstr ""
+
+#: src/metabase/metabot/command.clj
+msgid "Could you be a little more specific, or use the ID? I found these cards with names that matched:"
+msgstr ""
+
+#: src/metabase/metabot/command.clj
+msgid "Card {0} not found."
+msgstr ""
+
+#: src/metabase/middleware/exceptions.clj
+msgid "Exception in API call"
+msgstr ""
+
+#: src/metabase/middleware/exceptions.clj
+msgid "Request canceled before finishing."
+msgstr ""
+
+#: src/metabase/middleware/json.clj
+msgid "Metabase only supports JSON requests."
+msgstr ""
+
+#: src/metabase/middleware/json.clj
+msgid "Make sure you set a 'Content-Type: application/json' header."
+msgstr ""
+
+#: src/metabase/middleware/misc.clj
+msgid "Setting Metabase site URL to {0}"
+msgstr ""
+
+#: src/metabase/models/database.clj
+msgid "Error scheduling tasks for DB"
+msgstr ""
+
+#: src/metabase/models/database.clj
+msgid "Error unscheduling tasks for DB."
+msgstr ""
+
+#: src/metabase/models/database.clj
+msgid "{0} Database ''{1}'' sync/analyze schedules have changed!"
+msgstr ""
+
+#: src/metabase/models/database.clj
+msgid "Sync metadata was: ''{0}'' is now: ''{1}''"
+msgstr ""
+
+#: src/metabase/models/database.clj
+msgid "Cache FieldValues was: ''{0}'', is now: ''{1}''"
+msgstr ""
+
+#: src/metabase/models/metric.clj
+msgid "You cannot update the creator_id of a Metric."
+msgstr ""
+
+#: src/metabase/models/permissions.clj
+msgid "MetaBot can only have Collection permissions."
+msgstr ""
+
+#: src/metabase/models/permissions.clj
+msgid "Failed to grant permissions"
+msgstr ""
+
+#: src/metabase/models/permissions.clj
+msgid "Changing permissions"
+msgstr ""
+
+#: src/metabase/models/permissions.clj
+msgid "FROM:"
+msgstr ""
+
+#: src/metabase/models/permissions.clj
+msgid "TO:"
+msgstr ""
+
+#: src/metabase/models/segment.clj
+msgid "You cannot update the creator_id of a Segment."
+msgstr ""
+
+#: src/metabase/models/setting.clj
+msgid "Attempted to set Setting {0} to obfuscated value. Ignoring change."
+msgstr ""
+
+#: src/metabase/models/setting.clj
+msgid "Using value of env var {0}"
+msgstr ""
+
+#: src/metabase/models/user.clj
+msgid "Adding User {0} to All Users permissions group..."
+msgstr ""
+
+#: src/metabase/models/user.clj
+msgid "Adding User {0} to Admin permissions group..."
+msgstr ""
+
+#: src/metabase/query_processor.clj
+msgid "Query failure"
+msgstr ""
+
+#: src/metabase/query_processor/async.clj
+msgid "Maximum number of simultaneous queries to allow per connected Database."
+msgstr ""
+
+#: src/metabase/util.clj
+msgid "Timed out after {0} milliseconds."
+msgstr ""
+
diff --git a/locales/vi.po b/locales/vi.po
new file mode 100644
index 0000000000000000000000000000000000000000..422ecd5677f4c9a3ab73a6dfa587f4e9151270cf
--- /dev/null
+++ b/locales/vi.po
@@ -0,0 +1,12326 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: POEditor.com\n"
+"Project-Id-Version: Metabase\n"
+"Language: vi\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:24
+msgid "Your database has been added!"
+msgstr "Cơ sở dữ liệu đã được thêm!"
+
+#: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:28
+msgid "We took a look at your data, and we have some automated explorations that we can show you!"
+msgstr "Chúng tôi đã xem dữ liệu của bạn và chúng tôi có một số khám phá tự động mà có thể chỉ cho bạn!"
+
+#: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:35
+msgid "I'm good thanks"
+msgstr "Tôi ổn, cảm ơn"
+
+#: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:42
+msgid "Explore this data"
+msgstr "Khám phá dữ liệu này"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseEditForms.jsx:42
+msgid "Select a database type"
+msgstr "Chọn kiểu cơ sở dữ liệu"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseEditForms.jsx:75
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:170
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:401
+#: frontend/src/metabase/admin/permissions/containers/CollectionPermissionsModal.jsx:71
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:182
+#: frontend/src/metabase/components/ActionButton.jsx:51
+#: frontend/src/metabase/components/ButtonWithStatus.jsx:7
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:180
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:197
+#: frontend/src/metabase/reference/components/EditHeader.jsx:54
+#: frontend/src/metabase/reference/components/EditHeader.jsx:69
+#: frontend/src/metabase/user/components/SetUserPassword.jsx:171
+#: frontend/src/metabase/user/components/UpdateUserDetails.jsx:164
+msgid "Save"
+msgstr "LÆ°u"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:122
+msgid "To do some of its magic, Metabase needs to scan your database. We will also rescan it periodically to keep the metadata up-to-date. You can control when the periodic rescans happen below."
+msgstr "Để thực hiện một số magic của nó, Metabase cần quét cơ sở dữ liệu của bạn. Chúng tôi cũng sẽ quét lại định kỳ để cập nhật siêu dữ liệu. Bạn có thể kiểm soát khi việc quét lại định kỳ xảy ra dưới đây"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:127
+msgid "Database syncing"
+msgstr "Đang đồng bộ cơ sở dữ liệu"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:128
+msgid "This is a lightweight process that checks for\n"
+"updates to this database’s schema. In most cases, you should be fine leaving this\n"
+"set to sync hourly."
+msgstr "thiết lập đồng bộ hóa hàng giờ"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:147
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:184
+msgid "Scan"
+msgstr "Quét"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:152
+msgid "Scanning for Filter Values"
+msgstr "Quét các giá trị lọc"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:153
+msgid "Metabase can scan the values present in each\n"
+"field in this database to enable checkbox filters in dashboards and questions. This\n"
+"can be a somewhat resource-intensive process, particularly if you have a very large\n"
+"database."
+msgstr "Metabase có thể quét các giá trị hiện tại trong mỗi \n"
+"\" \"có thể là một quá trình tốn nhiều tài nguyên, đặc biệt nếu bạn có \\ n rất lớn\" \"cơ sở dữ liệ"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:159
+msgid "When should Metabase automatically scan and cache field values?"
+msgstr "Khi nào Metabase sẽ tự động quét và lưu các giá trị trường bộ đệm "
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:164
+msgid "Regularly, on a schedule"
+msgstr "Thường xuyên, theo lịch trình"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:195
+msgid "Only when adding a new filter widget"
+msgstr "Chỉ khi thêm tiện ích bộ lọc mới"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:199
+msgid "When a user adds a new filter to a dashboard or a SQL question, Metabase will\n"
+"scan the field(s) mapped to that filter in order to show the list of selectable values."
+msgstr "Khi người dùng thêm bộ lọc mới vào bảng điều khiển hoặc câu hỏi SQL, Metabase sẽ quét (các) trường được ánh xạ tới bộ lọc đó để hiển thị danh sách các giá trị có thể chọn."
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:210
+msgid "Never, I'll do this manually if I need to"
+msgstr "Không bao giờ, tôi sẽ làm thủ công nếu cần thiết"
+
+#: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:222
+#: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:27
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:222
+#: frontend/src/metabase/components/ActionButton.jsx:52
+#: frontend/src/metabase/components/ButtonWithStatus.jsx:8
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:426
+msgid "Saving..."
+msgstr "Đang lưu..."
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:39
+#: frontend/src/metabase/components/form/FormMessage.jsx:4
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:144
+msgid "Server error encountered"
+msgstr "Máy chủ lỗi"
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:58
+msgid "Delete this database?"
+msgstr "Xoá cơ sở dữ liệu này?"
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:66
+msgid "All saved questions, metrics, and segments that rely on this database will be lost."
+msgstr "Tất cả các câu hỏi, số liệu và phân đoạn đã lưu dựa trên cơ sở dữ liệu này sẽ bị mất."
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:67
+msgid "This cannot be undone."
+msgstr "Hành động này không thể khôi phục"
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:70
+msgid "If you're sure, please type"
+msgstr "Nếu chắc chắn, hãy gõ vào"
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:53
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:70
+msgid "DELETE"
+msgstr "XOÁ"
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:71
+msgid "in this box:"
+msgstr "trong hộp thoại này:"
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:82
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:50
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:87
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:93
+#: frontend/src/metabase/admin/people/components/AddRow.jsx:27
+#: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:49
+#: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:52
+#: frontend/src/metabase/admin/permissions/containers/CollectionPermissionsModal.jsx:58
+#: frontend/src/metabase/admin/permissions/selectors.js:160
+#: frontend/src/metabase/admin/permissions/selectors.js:170
+#: frontend/src/metabase/admin/permissions/selectors.js:185
+#: frontend/src/metabase/admin/permissions/selectors.js:224
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:355
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:181
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:247
+#: frontend/src/metabase/components/ConfirmContent.jsx:18
+#: frontend/src/metabase/components/DeleteModalWithConfirm.jsx:72
+#: frontend/src/metabase/components/HeaderModal.jsx:49
+#: frontend/src/metabase/components/form/StandardForm.jsx:61
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:196
+#: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:289
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:162
+#: frontend/src/metabase/dashboard/components/RemoveFromDashboardModal.jsx:38
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:189
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:191
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:354
+#: frontend/src/metabase/query_builder/components/RunButton.jsx:24
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:83
+#: frontend/src/metabase/query_builder/containers/ArchiveQuestionModal.jsx:48
+#: frontend/src/metabase/reference/components/EditHeader.jsx:34
+#: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:52
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:259
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:461
+msgid "Cancel"
+msgstr "Huá»·"
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:88
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:121
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:132
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:461
+msgid "Delete"
+msgstr "Xoá"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:128
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:74
+#: frontend/src/metabase/admin/permissions/selectors.js:320
+#: frontend/src/metabase/admin/permissions/selectors.js:327
+#: frontend/src/metabase/admin/permissions/selectors.js:423
+#: frontend/src/metabase/admin/routes.jsx:53
+#: frontend/src/metabase/nav/containers/Navbar.jsx:214
+#: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:18
+#: frontend/src/metabase/reference/databases/TableSidebar.jsx:21
+msgid "Databases"
+msgstr "Các cơ sở dữ liệu"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:129
+msgid "Add Database"
+msgstr "Thêm cơ sở dữ liệu"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:60
+msgid "Connection"
+msgstr "Kết nối"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:61
+msgid "Scheduling"
+msgstr "Lên lịch"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:170
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:78
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:84
+#: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:26
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:221
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:182
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:356
+#: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:47
+msgid "Save changes"
+msgstr "Lưu thay đổi"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:185
+#: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:38
+#: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:38
+msgid "Actions"
+msgstr "Các thao tác"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:193
+msgid "Sync database schema now"
+msgstr "Đồng bộ cấu trúc cơ sở dữ liệu ngay bây giờ"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:194
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:206
+#: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:15
+#: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:23
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:109
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:117
+msgid "Starting…"
+msgstr "Đang bắt đầu..."
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:195
+msgid "Failed to sync"
+msgstr "Đồng bộ thất bại"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:196
+msgid "Sync triggered!"
+msgstr "Đã kích hoạt đồng bộ!"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:205
+msgid "Re-scan field values now"
+msgstr "Quét lại các trường giá trị ngay bây giờ"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:207
+#: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:16
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:110
+msgid "Failed to start scan"
+msgstr "Bắt đầu quét thất bại"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:208
+#: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:17
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:111
+msgid "Scan triggered!"
+msgstr "Đã kích hoạt quét"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:215
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:401
+msgid "Danger Zone"
+msgstr "Khu vực nguy hiểm"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:221
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:224
+msgid "Discard saved field values"
+msgstr "Huỷ những trường giá trị đã lưu"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:239
+msgid "Remove this database"
+msgstr "Xoá cơ sở dữ liệu này"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:73
+msgid "Add database"
+msgstr "Thêm cơ sở dữ liệu"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:85
+#: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:36
+#: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:36
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:122
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:183
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:91
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:399
+#: frontend/src/metabase/containers/EntitySearch.jsx:26
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:218
+#: frontend/src/metabase/entities/collections.js:93
+#: frontend/src/metabase/entities/dashboards.js:145
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:461
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:81
+msgid "Name"
+msgstr "Tên"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:86
+msgid "Engine"
+msgstr "Động c"
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:115
+msgid "Deleting..."
+msgstr "Đang xoá..."
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:145
+msgid "Loading ..."
+msgstr "Đang tải..."
+
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:161
+msgid "Bring the sample dataset back"
+msgstr "Khôi phục lại dữ liệu mẫu"
+
+#: frontend/src/metabase/admin/databases/database.js:175
+msgid "Couldn't connect to the database. Please check the connection details."
+msgstr "Không thể kết nối tới cơ sở dữ liệu. Xin hãy kiểm tra chi tiết kết nối"
+
+#: frontend/src/metabase/admin/databases/database.js:383
+msgid "Successfully created!"
+msgstr "Tạo thành công!"
+
+#: frontend/src/metabase/admin/databases/database.js:393
+msgid "Successfully saved!"
+msgstr "Lưu thành công!"
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectActionSelect.jsx:44
+#: frontend/src/metabase/dashboard/components/DashCard.jsx:278
+#: frontend/src/metabase/parameters/components/ParameterWidget.jsx:177
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:197
+#: frontend/src/metabase/reference/components/EditButton.jsx:18
+msgid "Edit"
+msgstr "Sá»­a"
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectActionSelect.jsx:59
+msgid "Revision History"
+msgstr "Lịch sử sửa đổi"
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:33
+msgid "Retire this {0}?"
+msgstr "Không sử dụng {0} nữa"
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:38
+msgid "Saved questions and other things that depend on this {0} will continue to work, but this {1} will no longer be selectable from the query builder."
+msgstr "Các câu hỏi đã lưu và những thứ khác phụ thuộc vào {0} này sẽ tiếp tục hoạt động, nhưng {1} này sẽ không còn có thể được chọn từ trình tạo truy vấn."
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:39
+msgid "If you're sure you want to retire this {0}, please write a quick explanation of why it's being retired:"
+msgstr "Nếu bạn chắc chắn muốn rút về {0} này, vui lòng viết một lời giải thích nhanh về lý do tại sao nó được rút về:"
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:43
+msgid "This will show up in the activity feed and in an email that will be sent to anyone on your team who created something that uses this {0}."
+msgstr "Điều này sẽ hiển thị trong nguồn cấp dữ liệu hoạt động và trong email sẽ được gửi cho bất kỳ ai trong nhóm của bạn, người đã tạo ra thứ gì đó sử dụng {0} này"
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:58
+msgid "Retire"
+msgstr "Thu hồi"
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:59
+msgid "Retiring…"
+msgstr "Đang thu hồi"
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:60
+msgid "Failed"
+msgstr "Thất bại"
+
+#: frontend/src/metabase/admin/datamodel/components/ObjectRetireModal.jsx:61
+msgid "Success"
+msgstr "Thành công"
+
+#: frontend/src/metabase/admin/datamodel/components/PartialQueryBuilder.jsx:118
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:110
+msgid "Preview"
+msgstr "Xem trÆ°á»›c"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnItem.jsx:99
+msgid "No column description yet"
+msgstr "Chưa có cột mô tả"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnItem.jsx:135
+msgid "Select a field visibility"
+msgstr "Chọn một trường hiển thị"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnItem.jsx:210
+msgid "No special type"
+msgstr "Không có kiểu đặc biệt"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnItem.jsx:211
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:34
+#: frontend/src/metabase/reference/components/Field.jsx:57
+#: frontend/src/metabase/reference/components/FieldTypeDetail.jsx:42
+msgid "Other"
+msgstr "Khác"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnItem.jsx:231
+msgid "Select a special type"
+msgstr "Chọn một kiểu đặc biệt"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnItem.jsx:277
+msgid "Select a target"
+msgstr "Chọn một mục tiêu"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnsList.jsx:17
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:77
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:89
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:106
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:122
+msgid "Columns"
+msgstr "Các cột"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnsList.jsx:22
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataSchema.jsx:44
+msgid "Column"
+msgstr "Cá»™t"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnsList.jsx:24
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:121
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:306
+msgid "Visibility"
+msgstr "Hiển thị"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnsList.jsx:25
+msgid "Type"
+msgstr "Kiểu"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataHeader.jsx:87
+msgid "Current database:"
+msgstr "Cơ sở dữ liệu hiện tại:"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataHeader.jsx:92
+msgid "Show original schema"
+msgstr "Đưa ra schema gốc"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataSchema.jsx:45
+msgid "Data Type"
+msgstr "Kiểu dữ liệu"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataSchema.jsx:46
+msgid "Additional Info"
+msgstr "Thông tin thêm"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataSchemaList.jsx:44
+msgid "Find a schema"
+msgstr "Tìm một schema"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataSchemaList.jsx:51
+msgid "{0} schema"
+msgid_plural "{0} schemas"
+msgstr[0] "{0} Schema"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:82
+msgid "Why Hide?"
+msgstr "Tại sao ẩn ?"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:83
+msgid "Technical Data"
+msgstr "Dữ liệu kỹ thuật"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:84
+msgid "Irrelevant/Cruft"
+msgstr "Không liên quan / Tuần dương"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:90
+msgid "Queryable"
+msgstr "Có thể truy vấn"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:91
+msgid "Hidden"
+msgstr "Ẩn"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:117
+msgid "No table description yet"
+msgstr "Bảng chưa có mô tả"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTable.jsx:124
+msgid "Metadata Strength"
+msgstr "Sức mạnh siêu dữ liệu"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTableList.jsx:87
+msgid "{0} Queryable Table"
+msgid_plural "{0} Queryable Tables"
+msgstr[0] "{0} Bảng có thể truy vấn"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTableList.jsx:96
+msgid "{0} Hidden Table"
+msgid_plural "{0} Hidden Tables"
+msgstr[0] "{0} Bảng ẩn"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTableList.jsx:113
+msgid "Find a table"
+msgstr "Tìm bảng"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetadataTableList.jsx:126
+msgid "Schemas"
+msgstr "Các schema"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:24
+#: frontend/src/metabase/new_query/containers/NewQueryOptions.jsx:137
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:33
+#: frontend/src/metabase/reference/guide/BaseSidebar.jsx:27
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:189
+#: frontend/src/metabase/reference/metrics/MetricList.jsx:56
+#: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:21
+#: frontend/src/metabase/routes.jsx:232
+msgid "Metrics"
+msgstr "Số liệu"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:30
+msgid "Add a Metric"
+msgstr "Thêm một số liệu"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:37
+#: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:37
+#: frontend/src/metabase/query_builder/components/QueryDefinitionTooltip.jsx:30
+msgid "Definition"
+msgstr "Định nghĩa"
+
+#: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:54
+msgid "Create metrics to add them to the View dropdown in the query builder"
+msgstr "Tạo số liệu để thêm chúng vào danh sách thả xuống Chế độ xem trong trình tạo truy vấn"
+
+#: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:24
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:930
+#: frontend/src/metabase/reference/guide/BaseSidebar.jsx:33
+#: frontend/src/metabase/reference/segments/SegmentFieldSidebar.jsx:19
+#: frontend/src/metabase/reference/segments/SegmentList.jsx:56
+#: frontend/src/metabase/reference/segments/SegmentSidebar.jsx:21
+msgid "Segments"
+msgstr "Phân khúc"
+
+#: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:30
+msgid "Add a Segment"
+msgstr "Thêm một phân khúc"
+
+#: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:54
+msgid "Create segments to add them to the Filter dropdown in the query builder"
+msgstr "Tạo các phân đoạn để thêm chúng vào danh sách thả xuống Bộ lọc trong trình tạo truy vấn "
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:24
+msgid "created"
+msgstr "đã tạo"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:27
+msgid "reverted to a previous version"
+msgstr "đã khôi phục về phiên bản trước"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:33
+msgid "edited the title"
+msgstr "đã sửa tiêu đề"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:35
+msgid "edited the description"
+msgstr "đã sửa mô tả"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:37
+msgid "edited the "
+msgstr "sá»­a "
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:40
+msgid "made some changes"
+msgstr "tạo một vài thay đổi"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:46
+#: frontend/src/metabase/home/components/Activity.jsx:80
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:332
+msgid "You"
+msgstr "Bạn"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/RevisionHistory.jsx:37
+msgid "Datamodel"
+msgstr "Dữ liệu mẫu"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/RevisionHistory.jsx:43
+msgid " History"
+msgstr " Lịch sử"
+
+#: frontend/src/metabase/admin/datamodel/components/revisions/RevisionHistory.jsx:48
+msgid "Revision History for"
+msgstr "Lịch sử thay đổi cho"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:239
+msgid "{0} – Field Settings"
+msgstr "{0} - Cài đặt trường"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:307
+msgid "Where this field will appear throughout Metabase"
+msgstr "Trường này sẽ xuất hiện trên khắp Metabase"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:329
+msgid "Filtering on this field"
+msgstr "Lọc trên trường này"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:330
+msgid "When this field is used in a filter, what should people use to enter the value they want to filter on?"
+msgstr "Khi trường này được sử dụng trong bộ lọc, mọi người nên sử dụng gì để nhập giá trị họ muốn lọc?"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:453
+msgid "No description for this field yet"
+msgstr "Chưa có mô tả cho trường này"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:379
+msgid "Original value"
+msgstr "Giá trị gốc"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:380
+msgid "Mapped value"
+msgstr "Giá trị đã được ánh xạ"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:423
+msgid "Enter value"
+msgstr "Nhập giá trị"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:25
+msgid "Use original value"
+msgstr "Sử dụng giá trị gốc"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:26
+msgid "Use foreign key"
+msgstr "Sử dụng khoá ngoài"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:27
+msgid "Custom mapping"
+msgstr "Tuỳ chỉnh ánh xạ"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:55
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:155
+msgid "Unrecognized mapping type"
+msgstr "Không nhận diện được kiểu ảnh xạ"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:89
+msgid "Current field isn't a foreign key or FK target table metadata is missing"
+msgstr "Trường hiện tại không phải khoá ngoài hoặc thiếu bảng đích của khoá ngoài"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:187
+msgid "The selected field isn't a foreign key"
+msgstr "Trường đã chọn không phải khoá ngoài"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:347
+msgid "Display values"
+msgstr "Các giá trị hiển thị"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:348
+msgid "Choose to show the original value from the database, or have this field display associated or custom information."
+msgstr "Chọn hiển thị giá trị gốc từ cơ sở dữ liệu hoặc hiển thị trường này liên quan hoặc thông tin tùy chỉnh."
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:268
+msgid "Choose a field"
+msgstr "Chọn một trường"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:289
+msgid "Please select a column to use for display."
+msgstr "Vui lòng chọn một cột để hiển thị."
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:771
+msgid "Tip:"
+msgstr "Mẹo:"
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:433
+msgid "You might want to update the field name to make sure it still makes sense based on your remapping choices."
+msgstr "Bạn có thể muốn cập nhật tên trường để đảm bảo nó vẫn có ý nghĩa dựa trên các lựa chọn ánh xạ lại của bạn."
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:364
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:102
+msgid "Cached field values"
+msgstr "Giá trị trường lưu trữ"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:365
+msgid "Metabase can scan the values for this field to enable checkbox filters in dashboards and questions."
+msgstr "Metabase có thể quét các giá trị cho trường này để bật các bộ lọc hộp kiểm trong bảng điều khiển và câu hỏi."
+
+#: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:14
+msgid "Re-scan this field"
+msgstr "Quét lại trường này"
+
+#: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:22
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:116
+msgid "Discard cached field values"
+msgstr "Hủy giá trị trường được lưu trong bộ nhớ cache"
+
+#: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:24
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:118
+msgid "Failed to discard values"
+msgstr "Không thể loại bỏ các giá trị"
+
+#: frontend/src/metabase/admin/datamodel/components/UpdateCachedFieldValues.jsx:25
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:119
+msgid "Discard triggered!"
+msgstr "Hủy kích hoạt!"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetadataEditorApp.jsx:105
+msgid "Select any table to see its schema and add or edit metadata."
+msgstr "Chọn bất kỳ bảng nào để xem lược đồ của nó và thêm hoặc chỉnh sửa siêu dữ liệu."
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:37
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:34
+#: frontend/src/metabase/entities/collections.js:96
+msgid "Name is required"
+msgstr "Tên là bắt buộc"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:40
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:37
+msgid "Description is required"
+msgstr "Mô tả là bắt buộc"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:44
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:41
+msgid "Revision message is required"
+msgstr "Thông điệp sửa đổi là bắt buộc"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:50
+msgid "Aggregation is required"
+msgstr "Tổng hợp là cần thiết"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:110
+msgid "Edit Your Metric"
+msgstr "Chỉnh sửa số liệu của bạn"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:111
+msgid "Create Your Metric"
+msgstr "Tạo số liệu của bạn"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:115
+msgid "Make changes to your metric and leave an explanatory note."
+msgstr "Thay đổi số liệu của bạn và để lại lời giải thích"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:116
+msgid "You can create saved metrics to add a named metric option to this table. Saved metrics include the aggregation type, the aggregated field, and optionally any filter you add. As an example, you might use this to create something like the official way of calculating \"Average Price\" for an Orders table."
+msgstr "Bạn có thể tạo số liệu đã lưu để thêm tùy chọn số liệu được đặt tên vào bảng này. Số liệu đã lưu bao gồm loại tổng hợp, trường tổng hợp và tùy chọn bất kỳ bộ lọc nào bạn thêm. Ví dụ: bạn có thể sử dụng điều này để tạo một cái gì đó giống như cách tính chính thức \\ \"Giá trung bình \" cho bảng Đơn hàng."
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:149
+msgid "Result: "
+msgstr "Kết quả: "
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:157
+msgid "Name Your Metric"
+msgstr "Đặt tên số liệu của bạn"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:158
+msgid "Give your metric a name to help others find it."
+msgstr "Đặt tên số liệu của bạn để giúp người khác tìm thấy nó"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:162
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:166
+msgid "Something descriptive but not too long"
+msgstr "Một vài mô tả không quá dài"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:166
+msgid "Describe Your Metric"
+msgstr "Mô tả số liệu của bạn"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:167
+msgid "Give your metric a description to help others understand what it's about."
+msgstr "Cho số liệu của bạn một lời mô tả để giúp người khác hiểu nó là gì"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:171
+msgid "This is a good place to be more specific about less obvious metric rules"
+msgstr "Đây là một nơi tốt để cụ thể hơn về các quy tắc số liệu ít rõ ràng hơn"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:175
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:179
+msgid "Reason For Changes"
+msgstr "Lý do thay đổi"
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:177
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:181
+msgid "Leave a note to explain what changes you made and why they were required."
+msgstr "Để lại một ghi chú để giải thích những thay đổi bạn đã thực hiện và tại sao chúng được yêu cầu."
+
+#: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:181
+msgid "This will show up in the revision history for this metric to help everyone remember why things changed"
+msgstr "Điều này sẽ hiển thị trong lịch sử sửa đổi cho số liệu này để giúp mọi người nhớ tại sao mọi thứ thay đổi"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:49
+msgid "At least one filter is required"
+msgstr "Bắt buộc có ít nhất một giá trị lọc"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:116
+msgid "Edit Your Segment"
+msgstr "Chỉnh sửa phân khúc của bạn"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:117
+msgid "Create Your Segment"
+msgstr "Tạo phân khúc của bạn"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:121
+msgid "Make changes to your segment and leave an explanatory note."
+msgstr "Thay đổi phân khúc của bạn và để lại một ghi chú giải thích."
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:122
+msgid "Select and add filters to create your new segment for the {0} table"
+msgstr "Chọn và thêm các bộ lọc để tạo phân khúc mới của bạn cho bảng {0}"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:161
+msgid "Name Your Segment"
+msgstr "Đặt tên phân khúc của bạn"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:162
+msgid "Give your segment a name to help others find it."
+msgstr "Đặt tên cho phân khúc của bạn để giúp người khác tìm thấy nó"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:170
+msgid "Describe Your Segment"
+msgstr "Mô tả phân khúc của bạn"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:171
+msgid "Give your segment a description to help others understand what it's about."
+msgstr "Cho phân khúc của bạn một lời mô tả để giúp người khác hiểu nó là gì"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:175
+msgid "This is a good place to be more specific about less obvious segment rules"
+msgstr "Đây là một nơi tốt để cụ thể hơn về các quy tắc phân khúc ít rõ ràng hơn"
+
+#: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:185
+msgid "This will show up in the revision history for this segment to help everyone remember why things changed"
+msgstr "Điều này sẽ hiển thị trong lịch sử sửa đổi cho phân khúc này để giúp mọi người nhớ tại sao mọi thứ thay đổi"
+
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:88
+#: frontend/src/metabase/admin/routes.jsx:127
+#: frontend/src/metabase/admin/settings/containers/SettingsEditorApp.jsx:266
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:87
+#: frontend/src/metabase/nav/containers/Navbar.jsx:199
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorSidebar.jsx:99
+msgid "Settings"
+msgstr "Cài đặt"
+
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:103
+msgid "Metabase can scan the values in this table to enable checkbox filters in dashboards and questions."
+msgstr "Metabase có thể quét các giá trị trong bảng này để bật các bộ lọc hộp kiểm trong bảng điều khiển và câu hỏi."
+
+#: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:108
+msgid "Re-scan this table"
+msgstr "Quét lại bảng này"
+
+#: frontend/src/metabase/admin/people/components/AddRow.jsx:34
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:253
+#: frontend/src/metabase/dashboard/components/DashCard.jsx:278
+msgid "Add"
+msgstr "Thêm"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:103
+#: frontend/src/metabase/user/components/UpdateUserDetails.jsx:67
+msgid "Not a valid formatted email address"
+msgstr "Không phải là một địa chỉ email được định dạng hợp lệ"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:186
+#: frontend/src/metabase/user/components/UpdateUserDetails.jsx:100
+msgid "First name"
+msgstr "Tên"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:203
+#: frontend/src/metabase/user/components/UpdateUserDetails.jsx:117
+msgid "Last name"
+msgstr "Họ"
+
+#: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:77
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:158
+#: frontend/src/metabase/components/NewsletterForm.jsx:94
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:470
+#: frontend/src/metabase/setup/components/UserStep.jsx:222
+#: frontend/src/metabase/user/components/UpdateUserDetails.jsx:138
+msgid "Email address"
+msgstr "Địa chỉ email"
+
+#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:202
+msgid "Permission Groups"
+msgstr "Nhóm quyền"
+
+#: frontend/src/metabase/components/form/widgets/FormGroupsWidget.jsx:75
+msgid "Make this user an admin"
+msgstr "Cho người dùng này làm quản trị viên"
+
+#: frontend/src/metabase/admin/people/components/GroupDetail.jsx:32
+msgid "All users belong to the {0} group and can't be removed from it. Setting permissions for this group is a great way to\n"
+"make sure you know what new Metabase users will be able to see."
+msgstr "Tất cả người dùng thuộc nhóm {0} và không thể xóa khỏi nhóm. Đặt quyền cho nhóm này là một cách tuyệt vời để đảm bảo bạn biết những gì người dùng Metabase mới sẽ có thể nhìn thấy."
+
+#: frontend/src/metabase/admin/people/components/GroupDetail.jsx:41
+msgid "This is a special group whose members can see everything in the Metabase instance, and who can access and make changes to the\n"
+"settings in the Admin Panel, including changing permissions! So, add people to this group with care."
+msgstr "Đây là một nhóm đặc biệt mà các thành viên có thể nhìn thấy mọi thứ trong ví dụ Metabase và những người có thể truy cập và thay đổi các cài đặt trong Bảng quản trị, bao gồm thay đổi quyền! Vì vậy, thêm người vào nhóm này một cách cẩn thận."
+
+#: frontend/src/metabase/admin/people/components/GroupDetail.jsx:45
+msgid "To make sure you don't get locked out of Metabase, there always has to be at least one user in this group."
+msgstr "Để đảm bảo bạn không bị khóa khỏi Metabase, luôn phải có ít nhất một người dùng trong nhóm này."
+
+#: frontend/src/metabase/admin/people/components/GroupDetail.jsx:177
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:218
+msgid "Members"
+msgstr "Các thành viên"
+
+#: frontend/src/metabase/admin/people/components/GroupDetail.jsx:177
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:124
+#: frontend/src/metabase/admin/settings/selectors.js:113
+#: frontend/src/metabase/lib/core.js:55
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:301
+msgid "Email"
+msgstr "Email"
+
+#: frontend/src/metabase/admin/people/components/GroupDetail.jsx:203
+msgid "A group is only as good as its members."
+msgstr "Một nhóm chỉ tốt như các thành viên của nó."
+
+#: frontend/src/metabase/admin/people/components/GroupSummary.jsx:15
+#: frontend/src/metabase/admin/routes.jsx:48
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:49
+msgid "Admin"
+msgstr "Quản trị viên"
+
+#: frontend/src/metabase/admin/people/components/GroupSummary.jsx:16
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:237
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:290
+msgid "and"
+msgstr "và"
+
+#: frontend/src/metabase/admin/people/components/GroupSummary.jsx:19
+#: frontend/src/metabase/admin/people/components/GroupSummary.jsx:31
+msgid "{0} other group"
+msgid_plural "{0} other groups"
+msgstr[0] "{0} các nhóm khác"
+
+#: frontend/src/metabase/admin/people/components/GroupSummary.jsx:37
+msgid "Default"
+msgstr "Mặc định"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:39
+msgid "Something like \"Marketing\""
+msgstr "\"Tiếp thị\" chẳng hạn"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:58
+msgid "Remove this group?"
+msgstr "Xoá nhóm này?"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:60
+msgid "Are you sure? All members of this group will lose any permissions settings they have based on this group.\n"
+"This can't be undone."
+msgstr "Bạn chắc chứ? Tất cả thành viên trong nhóm sẽ mất các quyền có được nhờ nhóm này.\n"
+"Hành động này không thể khôi phục."
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:71
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:42
+#: frontend/src/metabase/components/ConfirmContent.jsx:17
+msgid "Yes"
+msgstr "Vâng"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:74
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:42
+msgid "No"
+msgstr "Không"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:92
+msgid "Edit Name"
+msgstr "Sửa tên"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:95
+msgid "Remove Group"
+msgstr "Xoá nhóm"
+
+#: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:46
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:138
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:42
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:41
+#: frontend/src/metabase/components/HeaderModal.jsx:43
+#: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:282
+#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:107
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:327
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:193
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:96
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:265
+msgid "Done"
+msgstr "Xong"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:218
+msgid "Group name"
+msgstr "Tên nhóm"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:363
+#: frontend/src/metabase/admin/people/containers/AdminPeopleApp.jsx:25
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:131
+#: frontend/src/metabase/admin/routes.jsx:88
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:154
+msgid "Groups"
+msgstr "Các nhóm"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:364
+msgid "Create a group"
+msgstr "Tạo một nhóm"
+
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:370
+msgid "You can use groups to control your users' access to your data. Put users in groups and then go to the Permissions section to control each group's access. The Administrators and All Users groups are special default groups that can't be removed."
+msgstr "Bạn có thể sử dụng các nhóm để kiểm soát quyền truy cập của người dùng vào dữ liệu của bạn. Đặt người dùng theo nhóm và sau đó chuyển đến phần Quyền để kiểm soát quyền truy cập của từng nhóm. Các nhóm Quản trị viên và Tất cả Người dùng là các nhóm mặc định đặc biệt không thể xóa được."
+
+#: frontend/src/metabase/admin/people/components/UserActionsSelect.jsx:79
+msgid "Edit Details"
+msgstr "Sửa chi tiết"
+
+#: frontend/src/metabase/admin/people/components/UserActionsSelect.jsx:85
+msgid "Re-send Invite"
+msgstr "Gửi lại thư mời"
+
+#: frontend/src/metabase/admin/people/components/UserActionsSelect.jsx:90
+msgid "Reset Password"
+msgstr "Đặt lại mật khẩu"
+
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:40
+msgid "Deactivate"
+msgstr "Huỷ kích hoạt"
+
+#: frontend/src/metabase/admin/people/containers/AdminPeopleApp.jsx:24
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:93
+#: frontend/src/metabase/admin/routes.jsx:84
+#: frontend/src/metabase/nav/containers/Navbar.jsx:204
+msgid "People"
+msgstr "Mọi người"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:192
+msgid "Who do you want to add?"
+msgstr "Bạn muốn thêm ai?"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:207
+msgid "Edit {0}'s details"
+msgstr "Sửa thông tin chi tiết của {0}"
+
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:40
+msgid "{0} has been added"
+msgstr "{0} đã được thêm vào"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:224
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:262
+msgid "Add another person"
+msgstr "Thêm người khác"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:231
+msgid "We couldn’t send them an email invitation,\n"
+"so make sure to tell them to log in using {0}\n"
+"and this password we’ve generated for them:"
+msgstr "Không thể gửi email mời, vậy nên hãy bảo họ đăng nhập sử dụng {0} và mật khẩu chúng tôi đã sinh cho họ"
+
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:73
+msgid "If you want to be able to send email invites, just go to the {0} page."
+msgstr "Nếu bạn muốn có khả năng gửi email mời, hãy đi tới trang {0}"
+
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:55
+msgid "We’ve sent an invite to {0} with instructions to set their password."
+msgstr "Chúng tôi đã gửi một thư mời tới {0} kèm hướng dẫn đặt mật khẩu."
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:283
+msgid "We've re-sent {0}'s invite"
+msgstr "Chúng tôi đã gửi lại thư mời cho {0}"
+
+#: frontend/src/metabase/query_builder/components/SavedQuestionIntroModal.jsx:22
+#: frontend/src/metabase/tutorial/Tutorial.jsx:253
+msgid "Okay"
+msgstr "Đồng ý"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:289
+msgid "Any previous email invites they have will no longer work."
+msgstr "Các email mời trước đó sẽ không còn hiệu lực"
+
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:31
+msgid "Deactivate {0}?"
+msgstr "Huỷ kích hoạt {0} ?"
+
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:34
+msgid "{0} won't be able to log in anymore."
+msgstr "{0} sẽ không thể đăng nhập được nữa."
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:320
+msgid "Reactivate {0}'s account?"
+msgstr "Kích hoạt lại tài khoản {0}?"
+
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:58
+msgid "Reactivate"
+msgstr "Kích hoạt lại"
+
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:51
+msgid "They'll be able to log in again, and they'll be placed back into the groups they were in before their account was deactivated."
+msgstr "Họ sẽ có thể đăng nhập lại được, và sẽ trở về nhóm mà họ ở trước khi tài khoản bị huỷ kích hoạt."
+
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:51
+msgid "Reset {0}'s password?"
+msgstr "Đặt lại mật khẩu của {0}?"
+
+#: frontend/src/metabase/components/form/StandardForm.jsx:77
+msgid "Reset"
+msgstr "Đặt lại"
+
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:54
+#: frontend/src/metabase/components/ConfirmContent.jsx:13
+#: frontend/src/metabase/dashboard/components/ArchiveDashboardModal.jsx:44
+msgid "Are you sure you want to do this?"
+msgstr "Bạn chắc chắn muốn thực hiện chứ?"
+
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:41
+msgid "{0}'s password has been reset"
+msgstr "Mật khẩu của {0} đã được đặt lại"
+
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:45
+msgid "Here’s a temporary password they can use to log in and then change their password."
+msgstr "Đây là mật khẩu tạm thời họ có thể dùng để đăng nhập và đổi mật khẩu."
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:388
+msgid "We've sent them an email with instructions for creating a new password."
+msgstr "Chúng tôi đã gửi cho họ một email hướng dẫn tạo mật khẩu mới."
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:101
+msgid "Active"
+msgstr "Kích hoạt"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:102
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:127
+msgid "Deactivated"
+msgstr "Huỷ kích hoạt"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:115
+msgid "Add someone"
+msgstr "Thêm ai đó"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:132
+msgid "Last Login"
+msgstr "Đăng nhập cuối"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:153
+msgid "Signed up via Google"
+msgstr "Đăng ký qua Google"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:158
+msgid "Signed up via LDAP"
+msgstr "Đăng ký qua LDAP"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:170
+msgid "Reactivate this account"
+msgstr "Kích hoạt lại tài khoản này"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:193
+msgid "Never"
+msgstr "Không bao giờ"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:27
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} table"
+msgid_plural "{0} tables"
+msgstr[0] "{0} bản"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:45
+msgid " will be "
+msgstr " sẽ được "
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:48
+msgid "given access to"
+msgstr "cấp quyền truy cập tới"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:53
+msgid " and "
+msgstr " và "
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:56
+msgid "denied access to"
+msgstr "chặn truy cập tới"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:70
+msgid " will no longer be able to "
+msgstr " sẽ không thể"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:71
+msgid " will now be able to "
+msgstr " bây giờ có thể"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:79
+msgid " native queries for "
+msgstr "truy vấn gốc cho"
+
+#: frontend/src/metabase/admin/permissions/routes.jsx:12
+#: frontend/src/metabase/nav/containers/Navbar.jsx:219
+msgid "Permissions"
+msgstr "Các quyền"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:32
+msgid "Save permissions?"
+msgstr "Lưu các quyền?"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:38
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:161
+msgid "Save Changes"
+msgstr "Lưu thay đổi"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:44
+msgid "Discard changes?"
+msgstr "Huỷ thay đổi?"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:46
+msgid "No changes to permissions will be made."
+msgstr "Không có thay đổi gì về quyền."
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:65
+msgid "You've made changes to permissions."
+msgstr "Bạn đã tạo thay đổi về quyền."
+
+#: frontend/src/metabase/admin/permissions/containers/CollectionPermissionsModal.jsx:52
+msgid "Permissions for this collection"
+msgstr "Quyền hạn cho bộ sưu tập này"
+
+#: frontend/src/metabase/admin/permissions/containers/PermissionsApp.jsx:53
+msgid "You have unsaved changes"
+msgstr "Bạn có những thay đổi chưa được lưu"
+
+#: frontend/src/metabase/admin/permissions/containers/PermissionsApp.jsx:54
+msgid "Do you want to leave this page and discard your changes?"
+msgstr "Bạn có muốn rời trang này và huỷ các thay đổi?"
+
+#: frontend/src/metabase/admin/permissions/permissions.js:126
+msgid "Sorry, an error occurred."
+msgstr "Xin lỗi, đã có lỗi xảy ra."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:65
+msgid "Administrators always have the highest level of access to everything in Metabase."
+msgstr "Các quản trị viên luôn có quyền hạn cao nhất tới tất cả các thứ trong Metabase"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:67
+msgid "Every Metabase user belongs to the All Users group. If you want to limit or restrict a group's access to something, make sure the All Users group has an equal or lower level of access."
+msgstr "Tất cả người dùng Metabase nằm trong nhóm \"Tất cả người dùng\". Nếu bạn muốn giới hạn hoặc thu hẹp truy cập của một nhóm tới một thứ gì đó, hãy đảm bảo rằng nhóm \"Tất cả người dùng\" có quyền tương đương hoặc thấp hơn."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:69
+msgid "MetaBot is Metabase's Slack bot. You can choose what it has access to here."
+msgstr "MetaBot là một con bot của Metabase trên Slack. Bạn có thể chọn những thứ nó có thể truy cập ở đây."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:119
+msgid "The \"{0}\" group may have access to a different set of {1} than this group, which may give this group additional access to some {2}."
+msgstr "Nhóm \\ \"{0} \" có thể có quyền truy cập vào một nhóm {1} khác với nhóm này, nhóm này có thể cung cấp cho nhóm này quyền truy cập bổ sung vào một số {2}."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:124
+msgid "The \"{0}\" group has a higher level of access than this, which will override this setting. You should limit or revoke the \"{1}\" group's access to this item."
+msgstr "Nhóm \\ \"{0} \" có mức truy cập cao hơn nhóm này, sẽ ghi đè cài đặt này. Bạn nên giới hạn hoặc thu hồi quyền truy cập của nhóm \\ \"{1} \" vào mục này."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:154
+msgid "Limit"
+msgstr "Giới hạn"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:154
+msgid "Revoke"
+msgstr "Thu hồi"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:156
+msgid "access even though \"{0}\" has greater access?"
+msgstr "truy cập mặc dù \\ \"{0} \" có quyền truy cập lớn hơn?"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:159
+#: frontend/src/metabase/admin/permissions/selectors.js:258
+msgid "Limit access"
+msgstr "Giới hạn truy cập"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:159
+#: frontend/src/metabase/admin/permissions/selectors.js:223
+#: frontend/src/metabase/admin/permissions/selectors.js:266
+msgid "Revoke access"
+msgstr "Thu hồi quyền truy cập"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:168
+msgid "Change access to this database to limited?"
+msgstr "Thay đổi quyền truy cập tới cơ sở dữ liệu này thành giới hạn?"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:169
+msgid "Change"
+msgstr "Thay đổi"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:182
+msgid "Allow Raw Query Writing?"
+msgstr "Cho phép viết truy vấn thuần tuý"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:183
+msgid "This will also change this group's data access to Unrestricted for this database."
+msgstr "Điều này cũng sẽ thay đổi quyền truy cập dữ liệu của nhóm này thành Không giới hạn đối với cơ sở dữ liệu này."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:184
+msgid "Allow"
+msgstr "Cho phép"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:221
+msgid "Revoke access to all tables?"
+msgstr "Thu hồi quyền truy cập tới tất cả cá bảng?"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:222
+msgid "This will also revoke this group's access to raw queries for this database."
+msgstr "Điều này cũng sẽ thu hồi quyền truy cập của nhóm này vào các truy vấn thô cho cơ sở dữ liệu này."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:251
+msgid "Grant unrestricted access"
+msgstr "Cấp quyền truy cập không hạn chế"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:252
+msgid "Unrestricted access"
+msgstr "Truy cập không hạn chế"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:259
+msgid "Limited access"
+msgstr "Giới hạn truy cập"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:267
+msgid "No access"
+msgstr "Không truy cập"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:273
+msgid "Write raw queries"
+msgstr "Viết truy vấn thuần tuý"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:274
+msgid "Can write raw queries"
+msgstr "Có thể viết các truy vấn thuần tuý"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:281
+msgid "Curate collection"
+msgstr "Bộ sưu tập"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:288
+msgid "View collection"
+msgstr "Xem bộ sưu tập"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:331
+#: frontend/src/metabase/admin/permissions/selectors.js:427
+#: frontend/src/metabase/admin/permissions/selectors.js:524
+msgid "Data Access"
+msgstr "Truy cập dữ liệu"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:492
+#: frontend/src/metabase/admin/permissions/selectors.js:649
+#: frontend/src/metabase/admin/permissions/selectors.js:654
+msgid "View tables"
+msgstr "Xem bảng"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:590
+msgid "SQL Queries"
+msgstr "Truy vấn SQL"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:660
+msgid "View schemas"
+msgstr "Xem schema"
+
+#: frontend/src/metabase/admin/routes.jsx:59
+#: frontend/src/metabase/nav/containers/Navbar.jsx:209
+msgid "Data Model"
+msgstr "Dữ liệu mẫu"
+
+#: frontend/src/metabase/admin/settings/components/SettingsAuthenticationOptions.jsx:11
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:118
+msgid "Sign in with Google"
+msgstr "Đăng nhập với Google"
+
+#: frontend/src/metabase/admin/settings/components/SettingsAuthenticationOptions.jsx:13
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:120
+msgid "Allows users with existing Metabase accounts to login with a Google account that matches their email address in addition to their Metabase username and password."
+msgstr "Cho phép người dùng có tài khoản Metabase hiện tại đăng nhập bằng tài khoản Google khớp với địa chỉ email của họ bên cạnh tên người dùng và mật khẩu Metabase của họ."
+
+#: frontend/src/metabase/admin/settings/components/SettingsAuthenticationOptions.jsx:17
+#: frontend/src/metabase/admin/settings/components/SettingsAuthenticationOptions.jsx:29
+#: frontend/src/metabase/components/ChannelSetupMessage.jsx:32
+msgid "Configure"
+msgstr "Cấu hình"
+
+#: frontend/src/metabase/admin/settings/components/SettingsAuthenticationOptions.jsx:23
+#: frontend/src/metabase/admin/settings/components/SettingsLdapForm.jsx:13
+#: frontend/src/metabase/admin/settings/selectors.js:207
+msgid "LDAP"
+msgstr "LDAP"
+
+#: frontend/src/metabase/admin/settings/components/SettingsAuthenticationOptions.jsx:25
+msgid "Allows users within your LDAP directory to log in to Metabase with their LDAP credentials, and allows automatic mapping of LDAP groups to Metabase groups."
+msgstr "Cho phép người dùng trong thư mục LDAP của bạn đăng nhập vào Metabase bằng thông tin LDAP của họ và cho phép tự động ánh xạ các nhóm LDAP sang các nhóm Metabase."
+
+#: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:17
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:69
+#: frontend/src/metabase/admin/settings/selectors.js:160
+msgid "That's not a valid email address"
+msgstr "Đó không phải là một địa chỉ email hợp lệ"
+
+#: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:21
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:73
+msgid "That's not a valid integer"
+msgstr "Đó không phải là một số nguyên hợp lệ"
+
+#: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:28
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:161
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:223
+msgid "Changes saved!"
+msgstr "Đã lưu thay đổi!"
+
+#: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:157
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:132
+msgid "Looks like we ran into some problems"
+msgstr "Có vẻ như chúng ta đã gặp một số vấn đề"
+
+#: frontend/src/metabase/admin/settings/components/SettingsEmailForm.jsx:12
+msgid "Send test email"
+msgstr "Gửi email kiểm tra"
+
+#: frontend/src/metabase/admin/settings/components/SettingsEmailForm.jsx:13
+msgid "Sending..."
+msgstr "Đang gửi..."
+
+#: frontend/src/metabase/admin/settings/components/SettingsEmailForm.jsx:14
+msgid "Sent!"
+msgstr "Đã gửi!"
+
+#: frontend/src/metabase/admin/settings/components/SettingsEmailForm.jsx:82
+msgid "Clear"
+msgstr "Xoá"
+
+#: frontend/src/metabase/admin/settings/components/SettingsLdapForm.jsx:12
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:113
+#: frontend/src/metabase/admin/settings/selectors.js:202
+msgid "Authentication"
+msgstr "Xác thực"
+
+#: frontend/src/metabase/admin/settings/components/SettingsLdapForm.jsx:18
+msgid "Server Settings"
+msgstr "Cài đặt máy chủ"
+
+#: frontend/src/metabase/admin/settings/components/SettingsLdapForm.jsx:29
+msgid "User Schema"
+msgstr "Schema người dùng"
+
+#: frontend/src/metabase/admin/settings/components/SettingsLdapForm.jsx:33
+msgid "Attributes"
+msgstr "Các thuộc tính"
+
+#: frontend/src/metabase/admin/settings/components/SettingsLdapForm.jsx:42
+msgid "Group Schema"
+msgstr "Nhóm Schema"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSetting.jsx:28
+msgid "Using "
+msgstr "Đang sử dụng "
+
+#: frontend/src/metabase/admin/settings/components/SettingsSetupList.jsx:105
+msgid "Getting set up"
+msgstr "Đang thiết lập"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSetupList.jsx:106
+msgid "A few things you can do to get the most out of Metabase."
+msgstr "Một vài điều bạn có thể làm để tận dụng tối đa Metabase."
+
+#: frontend/src/metabase/admin/settings/components/SettingsSetupList.jsx:115
+msgid "Recommended next step"
+msgstr "Đề xuất bước tiếp theo"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:114
+msgid "Google Sign-In"
+msgstr "Đăng nhập Google"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:123
+msgid "To allow users to sign in with Google you'll need to give Metabase a Google Developers console application client ID. It only takes a few steps and instructions on how to create a key can be found {0}"
+msgstr "Để cho phép người dùng đăng nhập bằng Google, bạn cần cung cấp cho Metabase ID ứng dụng khách ứng dụng bảng điều khiển Google Developers. Chỉ mất vài bước và hướng dẫn về cách tạo khóa có thể được tìm thấy {0}"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:137
+msgid "Your Google client ID"
+msgstr "Google client ID của bạn"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSingleSignOnForm.jsx:142
+msgid "Allow users to sign up on their own if their Google account email address is from:"
+msgstr "Cho phép người dùng tự đăng ký nếu địa chỉ email tài khoản Google của họ đến từ:"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:242
+msgid "Answers sent right to your Slack #channels"
+msgstr "Câu trả lời đã được gửi thằng tới kênh Slack của bạn"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:251
+msgid "Create a Slack Bot User for MetaBot"
+msgstr "Tạo một tài khoản Slack Bot cho MetaBot"
+
+#: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:261
+msgid "Once you're there, give it a name and click {0}. Then copy and paste the Bot API Token into the field below. Once you are done, create a \"metabase_files\" channel in Slack. Metabase needs this to upload graphs."
+msgstr "Khi bạn đã ở đó, hãy đặt tên cho nó và nhấp vào {0}. Sau đó sao chép và dán mã thông báo Bot API vào trường bên dưới. Khi bạn đã hoàn tất, hãy tạo kênh \\ \"metabase_files \" trong Slack. Metabase cần điều này để tải lên biểu đồ."
+
+#: frontend/src/metabase/admin/settings/components/SettingsUpdatesForm.jsx:90
+msgid "You're running Metabase {0} which is the latest and greatest!"
+msgstr "Bạn đang chạy Metabase {0}, đây là phiên bản mới nhất và tốt nhất!"
+
+#: frontend/src/metabase/admin/settings/components/SettingsUpdatesForm.jsx:99
+msgid "Metabase {0} is available.  You're running {1}"
+msgstr "Đã có Metabase {0}. Bạn đang sử dụng {1}"
+
+#: frontend/src/metabase/admin/settings/components/SettingsUpdatesForm.jsx:112
+#: frontend/src/metabase/components/form/StandardForm.jsx:69
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:96
+msgid "Update"
+msgstr "Cập nhật"
+
+#: frontend/src/metabase/admin/settings/components/SettingsUpdatesForm.jsx:116
+msgid "What's Changed:"
+msgstr "Những thay đổi:"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:131
+msgid "Add a map"
+msgstr "Thêm một bản đồ"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:184
+#: frontend/src/metabase/lib/core.js:105
+msgid "URL"
+msgstr "URL"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:199
+msgid "Delete custom map"
+msgstr "Xoá bản đồ tuỳ chỉnh"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:201
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:327
+#: frontend/src/metabase/dashboard/components/RemoveFromDashboardModal.jsx:40
+#: frontend/src/metabase/parameters/components/ParameterWidget.jsx:181
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:104
+msgid "Remove"
+msgstr "Xoá"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:226
+#: frontend/src/metabase/dashboard/containers/DashCardCardParameterMapper.jsx:187
+#: frontend/src/metabase/parameters/components/ParameterValueWidget.jsx:241
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:145
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:187
+msgid "Select…"
+msgstr "Chọn..."
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:241
+msgid "Sample values:"
+msgstr "Các giá trị mẫu:"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:279
+msgid "Add a new map"
+msgstr "Thêm một bản đồ mới"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:279
+msgid "Edit map"
+msgstr "Sửa bản đồ"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:280
+msgid "What do you want to call this map?"
+msgstr "Bạn muốn gọi bản đồ này là gì?"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:285
+msgid "e.g. United Kingdom, Brazil, Mars"
+msgstr "ví dụ: Việt Nam, Thái lan, Mặt trăng"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:292
+msgid "URL for the GeoJSON file you want to use"
+msgstr "URL đến file GeoJSON bạn muốn sử dụng"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:298
+msgid "Like https://my-mb-server.com/maps/my-map.json"
+msgstr "Ví dụ như https://my-mb-server.com/maps/my-map.json"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:309
+#: frontend/src/metabase/query_builder/components/RunButton.jsx:33
+msgid "Refresh"
+msgstr "Làm mới"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:309
+msgid "Load"
+msgstr "Tải"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:315
+msgid "Which property specifies the region’s identifier?"
+msgstr "Thuộc tính nào xác định định danh của vùng"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:324
+msgid "Which property specifies the region’s display name?"
+msgstr "Thuộc tính nào xác định tên của vùng"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:345
+msgid "Load a GeoJSON file to see a preview"
+msgstr "Tải file GeoJSON để xem trước"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:363
+msgid "Save map"
+msgstr "Lưu bản đồ"
+
+#: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:363
+msgid "Add map"
+msgstr "Thêm bản đồ"
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLegalese.jsx:7
+msgid "Using embedding"
+msgstr "Sử dụng nhúng"
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLegalese.jsx:9
+msgid "By enabling embedding you're agreeing to the embedding license located at"
+msgstr "Bằng cách cho phép nhúng, bạn đồng ý với giấy phép nhúng nằm ở"
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLegalese.jsx:19
+msgid "In plain English, when you embed charts or dashboards from Metabase in your own application, that application isn't subject to the Affero General Public License that covers the rest of Metabase, provided you keep the Metabase logo and the \"Powered by Metabase\" visible on those embeds. You should, however, read the license text linked above as that is the actual license that you will be agreeing to by enabling this feature."
+msgstr "Nói một cách dễ hiểu, khi bạn nhúng biểu đồ hoặc bảng điều khiển từ Metabase vào ứng dụng của riêng bạn, ứng dụng đó không phải tuân theo Giấy phép Công cộng Chung bao gồm phần còn lại của Metabase, miễn là bạn giữ logo Metabase và \\ \"Được cung cấp bởi Metabase \\ \"Hiển thị trên các nhúng. Tuy nhiên, bạn nên đọc văn bản giấy phép được liên kết ở trên vì đó là giấy phép thực tế mà bạn sẽ đồng ý bằng cách bật tính năng này."
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLegalese.jsx:32
+msgid "Enable"
+msgstr "Bật"
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLevel.jsx:24
+msgid "Premium embedding enabled"
+msgstr "Đã bật nhúng cao cấp"
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLevel.jsx:26
+msgid "Enter the token you bought from the Metabase Store"
+msgstr "Nhập vào mã bạn đã mua từ Metabase Store"
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLevel.jsx:53
+msgid "Premium embedding lets you disable \"Powered by Metabase\" on your embedded dashboards and questions."
+msgstr "Nhúng cao cấp cho phép bạn tắt thông báo \"Powered by Metabase\" trên các trang nhúng tổng quan và các câu hỏi"
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLevel.jsx:60
+msgid "Buy a token"
+msgstr "Mua một mã"
+
+#: frontend/src/metabase/admin/settings/components/widgets/EmbeddingLevel.jsx:63
+msgid "Enter a token"
+msgstr "Nhập một mã"
+
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:134
+msgid "Edit Mappings"
+msgstr "Sửa các ánh xạ"
+
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:140
+msgid "Group Mappings"
+msgstr "Nhóm các ánh xạ"
+
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:147
+msgid "Create a mapping"
+msgstr "Tạo một ánh xạ"
+
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:149
+msgid "Mappings allow Metabase to automatically add and remove users from groups based on the membership information provided by the\n"
+"directory server. Membership to the Admin group can be granted through mappings, but will not be automatically removed as a\n"
+"failsafe measure."
+msgstr "Ánh xạ cho phép Metabase tự động thêm và xóa người dùng khỏi các nhóm dựa trên thông tin thành viên được cung cấp bởi máy chủ thư mục. Tư cách thành viên của nhóm Quản trị viên có thể được cấp thông qua ánh xạ, nhưng sẽ không tự động bị xóa như một biện pháp không an toàn."
+
+#: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:154
+msgid "Distinguished Name"
+msgstr "Tên phân biệt"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:92
+msgid "Public Link"
+msgstr "Liên kết công khai"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:93
+msgid "Revoke Link"
+msgstr "Thu hồi liên kết"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:121
+msgid "Disable this link?"
+msgstr "Vô hiệu hoá liên kết này?"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:122
+msgid "They won't work anymore, and can't be restored, but you can create new links."
+msgstr "Nó sẽ không hoạt động nữa, và cũng không thể khôi phục, tuy nhiên bạn có thể tạo các liên kết mới."
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:149
+msgid "Public Dashboard Listing"
+msgstr "Danh sách trang tổng quan công khai"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:152
+msgid "No dashboards have been publicly shared yet."
+msgstr "Chưa có trang tổng quan nào được chia sẻ công khai."
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:160
+msgid "Public Card Listing"
+msgstr "Danh sách thẻ công khai"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:163
+msgid "No questions have been publicly shared yet."
+msgstr "Chưa có câu hỏi nào được chia sẻ không khai."
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:172
+msgid "Embedded Dashboard Listing"
+msgstr "Danh sách trang nhúng tổng quan"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:173
+msgid "No dashboards have been embedded yet."
+msgstr "Chưa có trang tổng quan nào được nhúng."
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:183
+msgid "Embedded Card Listing"
+msgstr "Danh sách thẻ nhúng"
+
+#: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:184
+msgid "No questions have been embedded yet."
+msgstr "Chưa có câu hỏi nào được nhúng."
+
+#: frontend/src/metabase/admin/settings/components/widgets/SecretKeyWidget.jsx:35
+msgid "Regenerate embedding key?"
+msgstr "Sinh lại mã khoá nhúng"
+
+#: frontend/src/metabase/admin/settings/components/widgets/SecretKeyWidget.jsx:36
+msgid "This will cause existing embeds to stop working until they are updated with the new key."
+msgstr "Điều này sẽ khiến các nhúng đang có không hoạt động cho tới khi bạn cập nhật mã khoá mới cho chúng."
+
+#: frontend/src/metabase/admin/settings/components/widgets/SecretKeyWidget.jsx:39
+msgid "Regenerate key"
+msgstr "Sinh lại mã khoá"
+
+#: frontend/src/metabase/admin/settings/components/widgets/SecretKeyWidget.jsx:47
+msgid "Generate Key"
+msgstr "Sinh mã khoá"
+
+#: frontend/src/metabase/admin/settings/components/widgets/SettingToggle.jsx:11
+#: frontend/src/metabase/admin/settings/selectors.js:78
+#: frontend/src/metabase/admin/settings/selectors.js:87
+msgid "Enabled"
+msgstr "Bật"
+
+#: frontend/src/metabase/admin/settings/components/widgets/SettingToggle.jsx:11
+#: frontend/src/metabase/admin/settings/selectors.js:83
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:103
+msgid "Disabled"
+msgstr "Tắt"
+
+#: frontend/src/metabase/admin/settings/containers/SettingsEditorApp.jsx:116
+msgid "Unknown setting {0}"
+msgstr "Cài đặt {0} không xác định"
+
+#: frontend/src/metabase/admin/settings/selectors.js:23
+msgid "Setup"
+msgstr "Thiết lập"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:217
+#: frontend/src/metabase/admin/settings/selectors.js:28
+msgid "General"
+msgstr "Tổng quan"
+
+#: frontend/src/metabase/admin/settings/selectors.js:33
+msgid "Site Name"
+msgstr "Tên trang"
+
+#: frontend/src/metabase/admin/settings/selectors.js:38
+msgid "Site URL"
+msgstr "Đường dẫn trang"
+
+#: frontend/src/metabase/admin/settings/selectors.js:43
+msgid "Email Address for Help Requests"
+msgstr "Địa chỉ email yêu cầu giúp đỡ"
+
+#: frontend/src/metabase/admin/settings/selectors.js:48
+msgid "Report Timezone"
+msgstr "Múi giờ báo cáo"
+
+#: frontend/src/metabase/admin/settings/selectors.js:51
+msgid "Database Default"
+msgstr "Cơ sở dữ liệu mặc định"
+
+#: frontend/src/metabase/admin/settings/selectors.js:54
+msgid "Select a timezone"
+msgstr "Chọn múi giờ"
+
+#: frontend/src/metabase/admin/settings/selectors.js:55
+msgid "Not all databases support timezones, in which case this setting won't take effect."
+msgstr "Không phải tất cả cơ sở dữ liệu đều hõ trợ múi giờ, trong trường hợp đó cài đặt này sẽ không có tác dụng."
+
+#: frontend/src/metabase/admin/settings/selectors.js:60
+msgid "Language"
+msgstr "Ngôn ngữ"
+
+#: frontend/src/metabase/admin/settings/selectors.js:65
+msgid "Select a language"
+msgstr "Chọn một ngôn ngữ"
+
+#: frontend/src/metabase/admin/settings/selectors.js:70
+msgid "Anonymous Tracking"
+msgstr "Theo dõi nặc danh"
+
+#: frontend/src/metabase/admin/settings/selectors.js:75
+msgid "Friendly Table and Field Names"
+msgstr "Bảng và trường dữ liệu thân thiện"
+
+#: frontend/src/metabase/admin/settings/selectors.js:81
+msgid "Only replace underscores and dashes with spaces"
+msgstr "Chỉ thay thế các dấu gạch dưới và các dấu gạch ngang bằng các dấu cách"
+
+#: frontend/src/metabase/admin/settings/selectors.js:91
+msgid "Enable Nested Queries"
+msgstr "Cho phép các truy vấn lồng nhau"
+
+#: frontend/src/metabase/admin/settings/selectors.js:102
+msgid "Updates"
+msgstr "Các cập nhật"
+
+#: frontend/src/metabase/admin/settings/selectors.js:107
+msgid "Check for updates"
+msgstr "Kiểm tra các cập nhật"
+
+#: frontend/src/metabase/admin/settings/selectors.js:118
+msgid "SMTP Host"
+msgstr "Máy chủ SMTP"
+
+#: frontend/src/metabase/admin/settings/selectors.js:126
+msgid "SMTP Port"
+msgstr "Cổng SMTP"
+
+#: frontend/src/metabase/admin/settings/selectors.js:130
+#: frontend/src/metabase/admin/settings/selectors.js:230
+msgid "That's not a valid port number"
+msgstr "Đó không phải là một giá trị cổng hợp lệ"
+
+#: frontend/src/metabase/admin/settings/selectors.js:134
+msgid "SMTP Security"
+msgstr "Bảo mật SMTP"
+
+#: frontend/src/metabase/admin/settings/selectors.js:142
+msgid "SMTP Username"
+msgstr "Tên tài khoản SMTP"
+
+#: frontend/src/metabase/admin/settings/selectors.js:149
+msgid "SMTP Password"
+msgstr "Mật khẩu SMTP"
+
+#: frontend/src/metabase/admin/settings/selectors.js:156
+msgid "From Address"
+msgstr "Địa chỉ gửi"
+
+#: frontend/src/metabase/admin/settings/selectors.js:170
+msgid "Slack API Token"
+msgstr "Slack API Token"
+
+#: frontend/src/metabase/admin/settings/selectors.js:172
+msgid "Enter the token you received from Slack"
+msgstr "Nhập token bạn lấy từ Slack"
+
+#: frontend/src/metabase/admin/settings/selectors.js:189
+msgid "Single Sign-On"
+msgstr "Đăng nhập một lần"
+
+#: frontend/src/metabase/admin/settings/selectors.js:213
+msgid "LDAP Authentication"
+msgstr "Xác thực LDAP"
+
+#: frontend/src/metabase/admin/settings/selectors.js:219
+msgid "LDAP Host"
+msgstr "Máy chủ LDAP"
+
+#: frontend/src/metabase/admin/settings/selectors.js:227
+msgid "LDAP Port"
+msgstr "Cổng LDAP"
+
+#: frontend/src/metabase/admin/settings/selectors.js:234
+msgid "LDAP Security"
+msgstr "Bảo mật LDAP"
+
+#: frontend/src/metabase/admin/settings/selectors.js:242
+msgid "Username or DN"
+msgstr "Tên tài khoản hoặc tên miền"
+
+#: frontend/src/metabase/admin/settings/selectors.js:247
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:188
+#: frontend/src/metabase/user/components/UserSettings.jsx:72
+msgid "Password"
+msgstr "Mật khẩu"
+
+#: frontend/src/metabase/admin/settings/selectors.js:252
+msgid "User search base"
+msgstr "Cơ sở tìm kiếm người dùng"
+
+#: frontend/src/metabase/admin/settings/selectors.js:258
+msgid "User filter"
+msgstr "Lọc người dùng"
+
+#: frontend/src/metabase/admin/settings/selectors.js:264
+msgid "Check your parentheses"
+msgstr "Kiểm tra dấu ngoặc đơn"
+
+#: frontend/src/metabase/admin/settings/selectors.js:270
+msgid "Email attribute"
+msgstr "Thuộc tính email"
+
+#: frontend/src/metabase/admin/settings/selectors.js:275
+msgid "First name attribute"
+msgstr "Thuộc tính tên"
+
+#: frontend/src/metabase/admin/settings/selectors.js:280
+msgid "Last name attribute"
+msgstr "Thuộc tính họ"
+
+#: frontend/src/metabase/admin/settings/selectors.js:285
+msgid "Synchronize group memberships"
+msgstr "Đồng bộ thành viên nhóm"
+
+#: frontend/src/metabase/admin/settings/selectors.js:291
+msgid "Group search base"
+msgstr "Cơ sở tìm kiếm nhóm"
+
+#: frontend/src/metabase/admin/settings/selectors.js:300
+msgid "Maps"
+msgstr "Các bản đồ"
+
+#: frontend/src/metabase/admin/settings/selectors.js:305
+msgid "Map tile server URL"
+msgstr "Đường dẫn đến máy chủ mảnh bản đồ"
+
+#: frontend/src/metabase/admin/settings/selectors.js:306
+msgid "Metabase uses OpenStreetMaps by default."
+msgstr "Metabase mặc định sử dụngOpenStreetMaps"
+
+#: frontend/src/metabase/admin/settings/selectors.js:311
+msgid "Custom Maps"
+msgstr "Tuỳ chỉnh các bản đồ"
+
+#: frontend/src/metabase/admin/settings/selectors.js:312
+msgid "Add your own GeoJSON files to enable different region map visualizations"
+msgstr "Thêm các file GeoJSON của bạn để có thể hiển thị các khu vực bản đồ khác nhau"
+
+#: frontend/src/metabase/admin/settings/selectors.js:331
+msgid "Public Sharing"
+msgstr "Chia sẻ công khai"
+
+#: frontend/src/metabase/admin/settings/selectors.js:336
+msgid "Enable Public Sharing"
+msgstr "Bật chia sẻ công khai"
+
+#: frontend/src/metabase/admin/settings/selectors.js:341
+msgid "Shared Dashboards"
+msgstr "Các trang tổng quan được chi sẻ"
+
+#: frontend/src/metabase/admin/settings/selectors.js:347
+msgid "Shared Questions"
+msgstr "Các câu hỏi được chia sẻ"
+
+#: frontend/src/metabase/admin/settings/selectors.js:354
+msgid "Embedding in other Applications"
+msgstr "Nhung vào các ứng dụng khác"
+
+#: frontend/src/metabase/admin/settings/selectors.js:381
+msgid "Enable Embedding Metabase in other Applications"
+msgstr "Cho phép nhúng Metabase vào các ứng dụng khác"
+
+#: frontend/src/metabase/admin/settings/selectors.js:391
+msgid "Embedding secret key"
+msgstr "Mã nhúng khoá bí mật"
+
+#: frontend/src/metabase/admin/settings/selectors.js:397
+msgid "Embedded Dashboards"
+msgstr "Các trang tổng quan được nhúng"
+
+#: frontend/src/metabase/admin/settings/selectors.js:403
+msgid "Embedded Questions"
+msgstr "Các câu hỏi được nhúng"
+
+#: frontend/src/metabase/admin/settings/selectors.js:410
+msgid "Caching"
+msgstr "Bộ nhớ đệm"
+
+#: frontend/src/metabase/admin/settings/selectors.js:415
+msgid "Enable Caching"
+msgstr "Kích hoạt bộ nhớ đệm"
+
+#: frontend/src/metabase/admin/settings/selectors.js:420
+msgid "Minimum Query Duration"
+msgstr "Thời gian truy vấn tối thiểu"
+
+#: frontend/src/metabase/admin/settings/selectors.js:427
+msgid "Cache Time-To-Live (TTL) multiplier"
+msgstr "Bộ nhớ đệm hệ số nhân thời gian sống (TTL)"
+
+#: frontend/src/metabase/admin/settings/selectors.js:434
+msgid "Max Cache Entry Size"
+msgstr "Kích thước mục nhập bộ nhớ cache tối đa"
+
+#: frontend/src/metabase/alert/alert.js:60
+msgid "Your alert is all set up."
+msgstr "Cảnh báo của bạn đã được thiết lập."
+
+#: frontend/src/metabase/alert/alert.js:101
+msgid "Your alert was updated."
+msgstr "Cảnh báo của bạn đã được cập nhật."
+
+#: frontend/src/metabase/alert/alert.js:149
+msgid "The alert was successfully deleted."
+msgstr "Đã xoá cảnh báo thành công."
+
+#: frontend/src/metabase/auth/auth.js:33
+msgid "Please enter a valid formatted email address."
+msgstr "Vui lòng nhập một email hợp lệ"
+
+#: frontend/src/metabase/auth/auth.js:116
+#: frontend/src/metabase/setup/components/UserStep.jsx:110
+#: frontend/src/metabase/user/components/SetUserPassword.jsx:69
+msgid "Passwords do not match"
+msgstr "Mật khẩu không khớp"
+
+#: frontend/src/metabase/auth/components/BackToLogin.jsx:6
+msgid "Back to login"
+msgstr "Trở về đăng nhập"
+
+#: frontend/src/metabase/auth/components/GoogleNoAccount.jsx:15
+msgid "No Metabase account exists for this Google account."
+msgstr "Không có tài khoản Metabase nào tương ứng với tài khoản Google này."
+
+#: frontend/src/metabase/auth/components/GoogleNoAccount.jsx:17
+msgid "You'll need an administrator to create a Metabase account before you can use Google to log in."
+msgstr "Bạn sẽ cần quản trị viên tạo một tài khoản Metabase trước khi bạn có thể dùng Google để đăng nhập."
+
+#: frontend/src/metabase/auth/components/SSOLoginButton.jsx:18
+msgid "Sign in with {0}"
+msgstr "Đăng nhập với {0}"
+
+#: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:56
+msgid "Please contact an administrator to have them reset your password"
+msgstr "Xin hãy liên hệ với quản trị viên để đặt lại mật khẩu cho bạn"
+
+#: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:69
+msgid "Forgot password"
+msgstr "Quên mật khẩu"
+
+#: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:84
+msgid "The email you use for your Metabase account"
+msgstr "Địa chỉ email sử dụng cho tài khoản Metabase"
+
+#: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:99
+msgid "Send password reset email"
+msgstr "Gửi email khôi phục mật khẩu"
+
+#: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:110
+msgid "Check your email for instructions on how to reset your password."
+msgstr "Hãy kiểm tra email hướng dẫn cách đặt lại mật khẩu."
+
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:128
+msgid "Sign in to Metabase"
+msgstr "Đăng nhập vào Metabase"
+
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:138
+msgid "OR"
+msgstr "HOẶC"
+
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:157
+msgid "Username or email address"
+msgstr "Tên tài khoản hoặc địa chỉ email"
+
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:217
+msgid "Sign in"
+msgstr "Đăng nhập"
+
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:230
+msgid "I seem to have forgotten my password"
+msgstr "Có vẻ như tôi đã quên mật khẩu của mình"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:102
+msgid "request a new reset email"
+msgstr "yêu cầu một email đặt lại mật khẩu"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:120
+msgid "Whoops, that's an expired link"
+msgstr "Ôi, liên kết đó đã hết hạn"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:122
+msgid "For security reasons, password reset links expire after a little while. If you still need\n"
+"to reset your password, you can {0}."
+msgstr "Vì lý do bảo mật, liên kết đặt lại mật khẩu sẽ hết hạn trong một khoảng thời gian. Nếu bạn vẫn cần đặt lại mật khẩu, bạn có thể {0}"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:147
+#: frontend/src/metabase/user/components/SetUserPassword.jsx:126
+msgid "New password"
+msgstr "Mật khẩu mới"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:149
+msgid "To keep your data secure, passwords {0}"
+msgstr "Để giữ cho dữ liệu của bạn được bảo mật, mật khẩu {0}"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:163
+msgid "Create a new password"
+msgstr "Tạo mật khẩu mới"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:170
+#: frontend/src/metabase/user/components/SetUserPassword.jsx:141
+msgid "Make sure its secure like the instructions above"
+msgstr "Hãy chắc rằng nó bảo mật như hướng dẫn bên trên"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:184
+#: frontend/src/metabase/user/components/SetUserPassword.jsx:150
+msgid "Confirm new password"
+msgstr "Xác nhận mật khẩu mới"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:191
+#: frontend/src/metabase/user/components/SetUserPassword.jsx:159
+msgid "Make sure it matches the one you just entered"
+msgstr "Hãy đảm bảo rằng nó khớp với giá trị bạn vừa nhập"
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:216
+msgid "Your password has been reset."
+msgstr "Mật khẩu của bạn đã được đặt lại."
+
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:222
+#: frontend/src/metabase/auth/containers/PasswordResetApp.jsx:227
+msgid "Sign in with your new password"
+msgstr "Đăng nhập với mật khẩu mới"
+
+#: frontend/src/metabase/components/ActionButton.jsx:53
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:182
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:184
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:251
+msgid "Save failed"
+msgstr "Lưu thất bại"
+
+#: frontend/src/metabase/components/ActionButton.jsx:54
+#: frontend/src/metabase/components/SaveStatus.jsx:60
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:183
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:129
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:185
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:225
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:252
+msgid "Saved"
+msgstr "Đã lưu"
+
+#: frontend/src/metabase/components/Alert.jsx:12
+msgid "Ok"
+msgstr "Được"
+
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:38
+msgid "Archive this collection?"
+msgstr "Lưu trữ bộ sưu tập này?"
+
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:43
+msgid "The dashboards, collections, and pulses in this collection will also be archived."
+msgstr "Bảng điều khiển, bộ sưu tập và xung trong bộ sưu tập này cũng sẽ được lưu trữ."
+
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:47
+#: frontend/src/metabase/components/CollectionLanding.jsx:624
+#: frontend/src/metabase/components/EntityMenu.info.js:31
+#: frontend/src/metabase/components/EntityMenu.info.js:87
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:47
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:195
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:200
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:201
+#: frontend/src/metabase/query_builder/containers/ArchiveQuestionModal.jsx:40
+#: frontend/src/metabase/query_builder/containers/ArchiveQuestionModal.jsx:53
+#: frontend/src/metabase/routes.jsx:199
+msgid "Archive"
+msgstr "Lưu trữ"
+
+#: frontend/src/metabase/containers/ErrorPages.jsx:63
+msgid "This {0} has been archived"
+msgstr "{0} này đã được lưu trữ"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:715
+msgid "View the archive"
+msgstr "Xem lưu trữ"
+
+#: frontend/src/metabase/components/ArchivedItem.jsx:43
+msgid "Unarchive this {0}"
+msgstr "Bỏ lưu trữ {0} này"
+
+#: frontend/src/metabase/components/BrowseApp.jsx:70
+#: frontend/src/metabase/components/BrowseApp.jsx:132
+#: frontend/src/metabase/components/BrowseApp.jsx:225
+#: frontend/src/metabase/containers/Overworld.jsx:219
+msgid "Our data"
+msgstr "Dữ liệu của chúng ta"
+
+#: frontend/src/metabase/components/BrowseApp.jsx:169
+#: frontend/src/metabase/reference/databases/TableSidebar.jsx:55
+msgid "X-ray this table"
+msgstr "X-ray bảng này"
+
+#: frontend/src/metabase/components/BrowseApp.jsx:183
+#: frontend/src/metabase/containers/Overworld.jsx:246
+msgid "Learn about this table"
+msgstr "Học hỏi về bảng này"
+
+#: frontend/src/metabase/components/Button.info.js:11
+#: frontend/src/metabase/components/Button.info.js:12
+#: frontend/src/metabase/components/Button.info.js:13
+msgid "Clickity click"
+msgstr "Nhấp chuột"
+
+#: frontend/src/metabase/components/ButtonWithStatus.jsx:9
+msgid "Saved!"
+msgstr "Đã lưu!"
+
+#: frontend/src/metabase/components/ButtonWithStatus.jsx:10
+msgid "Saving failed."
+msgstr "Lưu thất bại."
+
+#: frontend/src/metabase/components/Calendar.jsx:118
+msgid "Su"
+msgstr "CN"
+
+#: frontend/src/metabase/components/Calendar.jsx:118
+msgid "Mo"
+msgstr "T2"
+
+#: frontend/src/metabase/components/Calendar.jsx:118
+msgid "Tu"
+msgstr "T3"
+
+#: frontend/src/metabase/components/Calendar.jsx:118
+msgid "We"
+msgstr "T4"
+
+#: frontend/src/metabase/components/Calendar.jsx:118
+msgid "Th"
+msgstr "T5"
+
+#: frontend/src/metabase/components/Calendar.jsx:118
+msgid "Fr"
+msgstr "T6"
+
+#: frontend/src/metabase/components/Calendar.jsx:118
+msgid "Sa"
+msgstr "T7"
+
+#: frontend/src/metabase/components/ChannelSetupMessage.jsx:41
+msgid "Your admin's email address"
+msgstr "Địa chỉ email quản trị"
+
+#: frontend/src/metabase/components/ChannelSetupModal.jsx:37
+msgid "To send {0}, you'll need to set up {1} integration."
+msgstr "Để gửi {0}, bạn sẽ cần thiết lập tích hợp {1}."
+
+#: frontend/src/metabase/components/ChannelSetupModal.jsx:38
+#: frontend/src/metabase/components/ChannelSetupModal.jsx:41
+msgid " or "
+msgstr " hoặc "
+
+#: frontend/src/metabase/components/ChannelSetupModal.jsx:40
+msgid "To send {0}, an admin needs to set up {1} integration."
+msgstr "Để gửi {0}, quản trị viên cần thiết lập tích hợp {1}."
+
+#: frontend/src/metabase/components/CollectionEmptyState.jsx:15
+msgid "This collection is empty, like a blank canvas"
+msgstr "Bộ sưu tập này trống rỗng, giống như một khung vẽ trống"
+
+#: frontend/src/metabase/components/CollectionEmptyState.jsx:16
+msgid "You can use collections to organize and group dashboards, questions and pulses for your team or yourself"
+msgstr "Bạn có thể sử dụng các bộ sưu tập để sắp xếp và nhóm bảng điều khiển, câu hỏi và xung cho nhóm của bạn hoặc chính bạn"
+
+#: frontend/src/metabase/components/CollectionEmptyState.jsx:28
+msgid "Create another collection"
+msgstr "Tạo bộ sưu tập khác"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:68
+msgid "Dashboards let you collect and share data in one place."
+msgstr "Trang tổng quan cho phép bạn tổng hợp và chia sẻ dữ liệu vào một nơi."
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:77
+msgid "Pulses let you send out the latest data to your team on a schedule via email or slack."
+msgstr "Các xung cho phép bạn gửi dữ liệu mới nhất đến nhóm của mình theo lịch trình qua email hoặc chùng."
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:86
+msgid "Questions are a saved look at your data."
+msgstr "Các câu hỏi là một cái nhìn lưu vào dữ liệu của bạn."
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:287
+msgid "Pins"
+msgstr "Các ghim"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:341
+msgid "Drag something here to pin it to the top"
+msgstr "Kéo thứ gì đó vào đây để ghim nó lên đầu"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:737
+#: frontend/src/metabase/components/CollectionLanding.jsx:353
+#: frontend/src/metabase/home/containers/SearchApp.jsx:35
+#: frontend/src/metabase/home/containers/SearchApp.jsx:92
+msgid "Collections"
+msgstr "Các bộ sưu tập"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:432
+#: frontend/src/metabase/components/CollectionLanding.jsx:455
+msgid "Drag here to un-pin"
+msgstr "Kéo vào đây để bỏ ghim"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:490
+msgid "{0} item selected"
+msgid_plural "{0} items selected"
+msgstr[0] "{0} mục đã chọn"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:522
+msgid "Move {0} items?"
+msgstr "Di chuyển {0} mục"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:523
+msgid "Move \"{0}\"?"
+msgstr "Di chuyển \"{0}\"?"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:631
+#: frontend/src/metabase/components/EntityMenu.info.js:29
+#: frontend/src/metabase/components/EntityMenu.info.js:85
+#: frontend/src/metabase/containers/CollectionMoveModal.jsx:69
+msgid "Move"
+msgstr "Di chuyển"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:692
+msgid "Edit this collection"
+msgstr "Chỉnh sửa bộ sưu tập này"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:700
+msgid "Archive this collection"
+msgstr "Lưu trữ bộ sưu tập này"
+
+#: frontend/src/metabase/components/CollectionList.jsx:64
+#: frontend/src/metabase/entities/collections.js:155
+msgid "My personal collection"
+msgstr "Bộ sưu tập cá nhân của tôi"
+
+#: frontend/src/metabase/components/CollectionList.jsx:106
+msgid "New collection"
+msgstr "Bộ sưu tập mới"
+
+#: frontend/src/metabase/components/CopyButton.jsx:35
+msgid "Copied!"
+msgstr "Đã sao chép!"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:216
+msgid "Use an SSH-tunnel for database connections"
+msgstr "Sử dụng một SSH-tunnel cho các kết nối tới cơ sở dữ liệu này"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:218
+msgid "Some database installations can only be accessed by connecting through an SSH bastion host.\n"
+"This option also provides an extra layer of security when a VPN is not available.\n"
+"Enabling this is usually slower than a direct connection."
+msgstr "Một vài cài đặt cơ sở dữ liệu chỉ có thể truy cập bằng kết nối qua một máy chủ SSH.\n"
+"Lựa chọn này cung cấp một tầng bảo mật khi VPN không khả dụng.\n"
+"Bật tính năng này sẽ làm chậm hết nối hơn là kết nối trực tiếp."
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:271
+msgid "This is a large database, so let me choose when Metabase syncs and scans"
+msgstr "Đây là một cơ sở dữ liệu lớn, vậy nên hãy để tôi chọn khi nào thì Metabase đồng bộ và quét"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:273
+msgid "By default, Metabase does a lightweight hourly sync and an intensive daily scan of field values.\n"
+"If you have a large database, we recommend turning this on and reviewing when and how often the field value scans happen."
+msgstr "Nếu bạn có cơ sở dữ liệu lớn, chúng tôi khuyên bạn nên bật tính năng này và xem xét thời điểm và tần suất quét giá trị trường xảy ra."
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:289
+msgid "{0} to generate a Client ID and Client Secret for your project."
+msgstr "{0} để sinh Client ID và Client Secret cho dự án của bạn."
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:291
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:318
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:353
+msgid "Click here"
+msgstr "Nhấn vào đây"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:294
+msgid "Choose \"Other\" as the application type. Name it whatever you'd like."
+msgstr "Chọn \"Khác\" cho kiểu ứng dụng. Đặt tên tuỳ ý bạn thích"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:316
+msgid "{0} to get an auth code"
+msgstr "{0} để lấy mã xác thực"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:328
+msgid "with Google Drive permissions"
+msgstr "với quyền của Google Drive"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:348
+msgid "To use Metabase with this data you must enable API access in the Google Developers Console."
+msgstr "Để sử dụng Metabase với dữ liệu này bạn phải bật tính năng API access trên giao diện Google Developers Console."
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:351
+msgid "{0} to go to the console if you haven't already done so."
+msgstr "{0} để đi tới bảng điều khiển nếu bạn chưa làm thế."
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:400
+msgid "How would you like to refer to this database?"
+msgstr "Bạn muốn tham khảo cơ sở dữ liệu này như thế nào?"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:427
+#: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:97
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:237
+#: frontend/src/metabase/setup/components/DatabaseConnectionStep.jsx:188
+#: frontend/src/metabase/setup/components/DatabaseSchedulingStep.jsx:74
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:116
+#: frontend/src/metabase/setup/components/UserStep.jsx:308
+msgid "Next"
+msgstr "Tiếp theo"
+
+#: frontend/src/metabase/components/ArchivedItem.jsx:52
+#: frontend/src/metabase/components/DeleteModalWithConfirm.jsx:80
+msgid "Delete this {0}"
+msgstr "Xoá {0} này"
+
+#: frontend/src/metabase/components/EntityItem.jsx:43
+msgid "Pin this item"
+msgstr "Ghim cái này"
+
+#: frontend/src/metabase/components/EntityItem.jsx:49
+msgid "Move this item"
+msgstr "Di chuyển cái này"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:24
+#: frontend/src/metabase/components/EntityMenu.info.js:80
+msgid "Edit this question"
+msgstr "Sửa câu hỏi này"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:26
+#: frontend/src/metabase/components/EntityMenu.info.js:47
+#: frontend/src/metabase/components/EntityMenu.info.js:82
+#: frontend/src/metabase/components/EntityMenu.info.js:99
+msgid "Action type"
+msgstr "Kiểu hành động"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:28
+#: frontend/src/metabase/components/EntityMenu.info.js:84
+msgid "View revision history"
+msgstr "Xem lịch sử thay đổi"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:29
+#: frontend/src/metabase/components/EntityMenu.info.js:85
+msgid "Move action"
+msgstr "Hành động di chuyển"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:33
+#: frontend/src/metabase/components/EntityMenu.info.js:89
+msgid "Archive action"
+msgstr "Hành động lưu trữ"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:45
+#: frontend/src/metabase/components/EntityMenu.info.js:97
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:329
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:342
+msgid "Add to dashboard"
+msgstr "Thêm vào bảng tổng quan"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:49
+#: frontend/src/metabase/components/EntityMenu.info.js:101
+msgid "Download results"
+msgstr "Tải xuống kết quả"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:51
+#: frontend/src/metabase/components/EntityMenu.info.js:103
+#: frontend/src/metabase/public/components/widgets/EmbedWidget.jsx:52
+msgid "Sharing and embedding"
+msgstr "Chia sẻ và nhúng"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:53
+#: frontend/src/metabase/components/EntityMenu.info.js:105
+msgid "Another action type"
+msgstr "Kiểu hành đông khác"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:65
+#: frontend/src/metabase/components/EntityMenu.info.js:67
+#: frontend/src/metabase/components/EntityMenu.info.js:113
+#: frontend/src/metabase/components/EntityMenu.info.js:115
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:449
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:454
+msgid "Get alerts about this"
+msgstr "Nhận cảnh báo về cái này"
+
+#: frontend/src/metabase/components/EntityMenu.info.js:69
+#: frontend/src/metabase/components/EntityMenu.info.js:117
+msgid "View the SQL"
+msgstr "Xem câu truy vấn SQL"
+
+#: frontend/src/metabase/components/EntitySegments.jsx:18
+msgid "Segments for this"
+msgstr "Phân khúc cho việc này"
+
+#: frontend/src/metabase/components/ErrorDetails.jsx:20
+msgid "Show error details"
+msgstr "Hiển thị chi tiết lỗi"
+
+#: frontend/src/metabase/components/ErrorDetails.jsx:26
+msgid "Here's the full error message"
+msgstr "Đây là chi tiết thông báo lỗi"
+
+#: frontend/src/metabase/components/ExplorePane.jsx:19
+msgid "Hi, Metabot here."
+msgstr "Xin chào, Metabot đây."
+
+#: frontend/src/metabase/components/ExplorePane.jsx:95
+msgid "Based on the schema"
+msgstr "Dựa vào schema"
+
+#: frontend/src/metabase/components/ExplorePane.jsx:174
+msgid "A look at your"
+msgstr "Nhìn vào cái của bạn"
+
+#: frontend/src/metabase/components/FieldValuesWidget.jsx:234
+msgid "Search the list"
+msgstr "Tìm kiếm trong danh sách"
+
+#: frontend/src/metabase/components/FieldValuesWidget.jsx:238
+msgid "Search by {0}"
+msgstr "Tìm kiếm theo {0}"
+
+#: frontend/src/metabase/components/FieldValuesWidget.jsx:240
+msgid " or enter an ID"
+msgstr " hoặc nhập vào một ID"
+
+#: frontend/src/metabase/components/FieldValuesWidget.jsx:244
+msgid "Enter an ID"
+msgstr "Nhập vào một ID"
+
+#: frontend/src/metabase/components/FieldValuesWidget.jsx:246
+msgid "Enter a number"
+msgstr "Nhập vào một số"
+
+#: frontend/src/metabase/components/FieldValuesWidget.jsx:248
+msgid "Enter some text"
+msgstr "Nhập vào vài dòng chữ"
+
+#: frontend/src/metabase/components/FieldValuesWidget.jsx:355
+msgid "No matching {0} found."
+msgstr "Không có {0} nào khớp."
+
+#: frontend/src/metabase/components/FieldValuesWidget.jsx:363
+msgid "Including every option in your filter probably won’t do much…"
+msgstr "Bao gồm mọi tùy chọn trong bộ lọc của bạn có thể sẽ không làm được nhiều"
+
+#: frontend/src/metabase/containers/ErrorPages.jsx:24
+msgid "Something's gone wrong"
+msgstr "Có gì đó sai"
+
+#: frontend/src/metabase/containers/ErrorPages.jsx:25
+msgid "We've run into an error. You can try refreshing the page, or just go back."
+msgstr "Đã gặp lỗi. Bạn có  thể thử làm mới lại trang, hoặc trở về trang trước."
+
+#: frontend/src/metabase/components/Header.jsx:97
+#: frontend/src/metabase/components/HeaderBar.jsx:45
+#: frontend/src/metabase/components/ListItem.jsx:37
+#: frontend/src/metabase/reference/components/Detail.jsx:47
+#: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:158
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:213
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:191
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:205
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:209
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:209
+msgid "No description yet"
+msgstr "Chưa có mô tả"
+
+#: frontend/src/metabase/components/Header.jsx:112
+#: frontend/src/metabase/entities/containers/EntityForm.jsx:43
+msgid "New {0}"
+msgstr "{0} má»›i"
+
+#: frontend/src/metabase/components/Header.jsx:123
+msgid "Asked by {0}"
+msgstr "Được hỏi bởi {0}"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:13
+msgid "Today, "
+msgstr "Hôm nay "
+
+#: frontend/src/metabase/components/HistoryModal.jsx:15
+msgid "Yesterday, "
+msgstr "Hôm qua "
+
+#: frontend/src/metabase/components/HistoryModal.jsx:68
+msgid "First revision."
+msgstr "Phiên bản đầu tiên."
+
+#: frontend/src/metabase/components/HistoryModal.jsx:70
+msgid "Reverted to an earlier revision and {0}"
+msgstr "Khôi phục về phiên bản trước đó và {0}"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:82
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:289
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:379
+#: frontend/src/metabase/reference/segments/SegmentSidebar.jsx:58
+msgid "Revision history"
+msgstr "Lịch sử thay đổi"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:90
+msgid "When"
+msgstr "Khi"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:91
+msgid "Who"
+msgstr "Ai"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:92
+msgid "What"
+msgstr "Cái gì"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:113
+msgid "Revert"
+msgstr "Khôi phục"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:114
+msgid "Reverting…"
+msgstr "Đang khôi phục..."
+
+#: frontend/src/metabase/components/HistoryModal.jsx:115
+msgid "Revert failed"
+msgstr "Không phục thất lại"
+
+#: frontend/src/metabase/components/HistoryModal.jsx:116
+msgid "Reverted"
+msgstr "Đã khôi phục"
+
+#: frontend/src/metabase/components/ItemTypeFilterBar.jsx:13
+msgid "Everything"
+msgstr "Tất cả mọi thứ"
+
+#: frontend/src/metabase/components/ItemTypeFilterBar.jsx:18
+#: frontend/src/metabase/home/containers/SearchApp.jsx:69
+msgid "Dashboards"
+msgstr "Các trang tổng quan"
+
+#: frontend/src/metabase/components/ItemTypeFilterBar.jsx:23
+#: frontend/src/metabase/home/containers/SearchApp.jsx:115
+msgid "Questions"
+msgstr "Các câu hỏi"
+
+#: frontend/src/metabase/components/ItemTypeFilterBar.jsx:28
+#: frontend/src/metabase/routes.jsx:321
+msgid "Pulses"
+msgstr "Xung"
+
+#: frontend/src/metabase/components/LeftNavPane.jsx:36
+#: frontend/src/metabase/query_builder/components/dataref/DataReference.jsx:103
+msgid "Back"
+msgstr "Trở lại"
+
+#: frontend/src/metabase/components/ListSearchField.jsx:18
+msgid "Find..."
+msgstr "Tìm..."
+
+#: frontend/src/metabase/components/LoadingAndErrorWrapper.jsx:48
+msgid "An error occured"
+msgstr "Lỗi đã xảy ra"
+
+#: frontend/src/metabase/components/LoadingAndErrorWrapper.jsx:35
+msgid "Loading..."
+msgstr "Đang tải..."
+
+#: frontend/src/metabase/components/NewsletterForm.jsx:71
+msgid "Metabase Newsletter"
+msgstr "Bản tin Metabase"
+
+#: frontend/src/metabase/components/NewsletterForm.jsx:81
+msgid "Get infrequent emails about new releases and feature updates."
+msgstr "Nhận email không thường xuyên về các bản phát hành hoặc tính năng cập nhật."
+
+#: frontend/src/metabase/components/NewsletterForm.jsx:99
+msgid "Subscribe"
+msgstr "Đăng ký"
+
+#: frontend/src/metabase/components/NewsletterForm.jsx:106
+msgid "You're subscribed. Thanks for using Metabase!"
+msgstr "Bạn đã đăng ký. Cảm ơn đã sử dụng Metabase!"
+
+#: frontend/src/metabase/containers/ErrorPages.jsx:44
+msgid "We're a little lost..."
+msgstr "Chúng ta hơi lạc lối..."
+
+#: frontend/src/metabase/components/PasswordReveal.jsx:27
+msgid "Temporary Password"
+msgstr "Mật khẩu tạm thời"
+
+#: frontend/src/metabase/components/PasswordReveal.jsx:68
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:421
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:436
+msgid "Hide"
+msgstr "Ẩn"
+
+#: frontend/src/metabase/components/PasswordReveal.jsx:68
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:422
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:437
+msgid "Show"
+msgstr "Hiện"
+
+#: frontend/src/metabase/components/QuestionSavedModal.jsx:17
+msgid "Saved! Add this to a dashboard?"
+msgstr "Đã lưu! Thêm vào trang tổng quan?"
+
+#: frontend/src/metabase/components/QuestionSavedModal.jsx:25
+msgid "Yes please!"
+msgstr "Vâng!"
+
+#: frontend/src/metabase/components/QuestionSavedModal.jsx:29
+msgid "Not now"
+msgstr "Không phải bây giờ"
+
+#: frontend/src/metabase/components/SaveStatus.jsx:53
+msgid "Error:"
+msgstr "Lá»—i:"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:23
+msgid "Sunday"
+msgstr "Chủ nhật"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:24
+msgid "Monday"
+msgstr "Thứ hai"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:25
+msgid "Tuesday"
+msgstr "Thứ ba"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:26
+msgid "Wednesday"
+msgstr "Thứ tư"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:27
+msgid "Thursday"
+msgstr "Thứ năm"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:28
+msgid "Friday"
+msgstr "Thứ sáu"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:29
+msgid "Saturday"
+msgstr "Thứ bảy"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:33
+msgid "First"
+msgstr "Đầu tiên"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:34
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:23
+msgid "Last"
+msgstr "Cuối cùng"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:35
+msgid "15th (Midpoint)"
+msgstr "15 (điểm giữa)"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:125
+msgid "Calendar Day"
+msgstr "Lịch ngày"
+
+#: frontend/src/metabase/components/SchedulePicker.jsx:210
+msgid "your Metabase timezone"
+msgstr "Múi giờ Metabase của bạn"
+
+#: frontend/src/metabase/components/SearchHeader.jsx:21
+msgid "Filter this list..."
+msgstr "Lọc danh sách này..."
+
+#: frontend/src/metabase/components/Select.info.js:8
+msgid "Blue"
+msgstr "Xanh dÆ°Æ¡ng"
+
+#: frontend/src/metabase/components/Select.info.js:9
+msgid "Green"
+msgstr "Xanh lá cây"
+
+#: frontend/src/metabase/components/Select.info.js:10
+msgid "Red"
+msgstr "Đỏ"
+
+#: frontend/src/metabase/components/Select.info.js:11
+msgid "Yellow"
+msgstr "Vàng"
+
+#: frontend/src/metabase/components/Select.info.js:14
+msgid "A component used to make a selection"
+msgstr "Một yếu tố được sử dụng để tạo lựa chọ"
+
+#: frontend/src/metabase/components/Select.info.js:20
+#: frontend/src/metabase/components/Select.info.js:28
+msgid "Selected"
+msgstr "Đã chọn"
+
+#: frontend/src/metabase/components/Select.jsx:297
+msgid "Nothing to select"
+msgstr "Không có gì để chọn"
+
+#: frontend/src/metabase/containers/ErrorPages.jsx:54
+msgid "Sorry, you don’t have permission to see that."
+msgstr "Xin lỗi, bạn không có quyền xem."
+
+#: frontend/src/metabase/components/form/FormMessage.jsx:5
+msgid "Unknown error encountered"
+msgstr "Lỗi không xác định"
+
+#: frontend/src/metabase/components/form/StandardForm.jsx:69
+#: frontend/src/metabase/nav/containers/Navbar.jsx:304
+msgid "Create"
+msgstr "Tạo"
+
+#: frontend/src/metabase/containers/DashboardForm.jsx:9
+msgid "Create dashboard"
+msgstr "Tạo trang tổng quan"
+
+#: frontend/src/metabase/containers/EntitySearch.jsx:35
+#: frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx:331
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:60
+msgid "Table"
+msgstr "Bảng"
+
+#: frontend/src/metabase/containers/EntitySearch.jsx:42
+#: frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx:306
+msgid "Database"
+msgstr "Cơ sở dữ liệu"
+
+#: frontend/src/metabase/containers/EntitySearch.jsx:49
+msgid "Creator"
+msgstr "Người tạo"
+
+#: frontend/src/metabase/containers/EntitySearch.jsx:238
+msgid "No results found"
+msgstr "Không có kết quả"
+
+#: frontend/src/metabase/containers/EntitySearch.jsx:239
+msgid "Try adjusting your filter to find what you’re looking for."
+msgstr "Thử chỉnh sửa lọc để tìm những gì bạn đang tìm kiếm."
+
+#: frontend/src/metabase/containers/EntitySearch.jsx:258
+msgid "View by"
+msgstr "Xem bởi"
+
+#: frontend/src/metabase/containers/EntitySearch.jsx:494
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:84
+#: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:69
+#: frontend/src/metabase/tutorial/TutorialModal.jsx:34
+msgid "of"
+msgstr "của"
+
+#: frontend/src/metabase/containers/Overworld.jsx:75
+msgid "Don't tell anyone, but you're my favorite."
+msgstr "Đừng nói với ai, nhưng mà bạn mà người tôi yêu thích."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:85
+msgid "Once you connect your own data, I can show you some automatic explorations called x-rays. Here are some examples with sample data."
+msgstr "Một khi bạn kết nối dữ liệu của mình, Tôi có thể cho bạn một vài khám phá tự động gọi là x-rays. Đây là một vài ví dụ với mẫu dữ liệu."
+
+#: frontend/src/metabase/containers/Overworld.jsx:128
+#: frontend/src/metabase/containers/Overworld.jsx:299
+#: frontend/src/metabase/reference/components/GuideHeader.jsx:12
+msgid "Start here"
+msgstr "Bắt đầu ở đây"
+
+#: frontend/src/metabase/containers/Overworld.jsx:294
+#: frontend/src/metabase/entities/collections.js:147
+#: src/metabase/models/collection.clj
+msgid "Our analytics"
+msgstr "Các phân tích của chúng ta"
+
+#: frontend/src/metabase/containers/Overworld.jsx:203
+msgid "Browse all items"
+msgstr "Duyệt tất cả"
+
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:165
+msgid "Replace or save as new?"
+msgstr "Thay thế hoặc lưu mới?"
+
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:173
+msgid "Replace original question, \"{0}\""
+msgstr "Thay thế câu hỏi gốc, \"{0}\""
+
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:178
+msgid "Save as new question"
+msgstr "Lưu ra câu hỏi mới"
+
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:187
+msgid "First, save your question"
+msgstr "Đầu tiên, hãy lưu câu hỏi của bạn"
+
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:188
+msgid "Save question"
+msgstr "Lưu câu hỏi"
+
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:224
+msgid "What is the name of your card?"
+msgstr "Tên thẻ của bạn là gì?"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:31
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:18
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:232
+#: frontend/src/metabase/entities/collections.js:101
+#: frontend/src/metabase/entities/dashboards.js:151
+#: frontend/src/metabase/lib/core.js:50 frontend/src/metabase/lib/core.js:205
+#: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:156
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:211
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:189
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:203
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:207
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:207
+#: frontend/src/metabase/visualizations/lib/settings/visualization.js:24
+msgid "Description"
+msgstr "Mô tả"
+
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:238
+#: frontend/src/metabase/entities/dashboards.js:153
+msgid "It's optional but oh, so helpful"
+msgstr "Nó không bắt buộc, nhưng có ích đó"
+
+#: frontend/src/metabase/containers/SaveQuestionModal.jsx:245
+#: frontend/src/metabase/entities/dashboards.js:157
+msgid "Which collection should this go in?"
+msgstr "Cái này nên đi vào bộ sưu tập nào?"
+
+#: frontend/src/metabase/containers/UndoListing.jsx:34
+msgid "modified"
+msgstr "Đã điều chỉnh"
+
+#: frontend/src/metabase/containers/UndoListing.jsx:34
+msgid "item"
+msgstr "mục"
+
+#: frontend/src/metabase/containers/UndoListing.jsx:81
+msgid "Undo"
+msgstr "Làm lại"
+
+#: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:270
+msgid "Applying Question"
+msgstr "Áp dụng câu hỏi"
+
+#: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:274
+msgid "That question isn't compatible"
+msgstr "Câu hỏi này không phù hợp"
+
+#: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:310
+msgid "Search for a question"
+msgstr "Tìm một câu hỏi"
+
+#: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:339
+msgid "We're not sure if this question is compatible"
+msgstr "Chúng tôi không chắc câu hỏi này là phù hợp"
+
+#: frontend/src/metabase/dashboard/components/ArchiveDashboardModal.jsx:43
+msgid "Archive Dashboard"
+msgstr "Lưu trữ bảng điều khiển"
+
+#: frontend/src/metabase/dashboard/components/DashCardParameterMapper.jsx:20
+msgid "Make sure to make a selection for each series, or the filter won't work on this card."
+msgstr "Đảm bảo thực hiện lựa chọn cho từng chuỗi hoặc bộ lọc sẽ không hoạt động trên thẻ này."
+
+#: frontend/src/metabase/dashboard/components/Dashboard.jsx:300
+msgid "This dashboard is looking empty."
+msgstr "Bảng điều khiển này trống"
+
+#: frontend/src/metabase/dashboard/components/Dashboard.jsx:301
+msgid "Add a question to start making it useful!"
+msgstr "Thêm một câu hỏi để bắt đầu khiến nó hữu ích"
+
+#: frontend/src/metabase/dashboard/components/DashboardActions.jsx:38
+msgid "Daytime mode"
+msgstr "Chế độ ban ngày"
+
+#: frontend/src/metabase/dashboard/components/DashboardActions.jsx:38
+msgid "Nighttime mode"
+msgstr "Chế độ ban đêm"
+
+#: frontend/src/metabase/dashboard/components/DashboardActions.jsx:56
+msgid "Exit fullscreen"
+msgstr "Thoát toàn màn hình"
+
+#: frontend/src/metabase/dashboard/components/DashboardActions.jsx:56
+msgid "Enter fullscreen"
+msgstr "Vào toàn màn hình"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:181
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:183
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:250
+msgid "Saving…"
+msgstr "Đang lưu..."
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:216
+msgid "Add a question"
+msgstr "Thêm một câu hỏi"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:219
+msgid "Add a question to this dashboard"
+msgstr "Thêm một câu hỏi vào bảng điều khiển này"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:248
+msgid "Add a filter"
+msgstr "Thêm một bộ lọc"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:254
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:78
+msgid "Parameters"
+msgstr "Thông số"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:275
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:279
+msgid "Add a text box"
+msgstr "Thêm một hộp văn bản"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:319
+msgid "Move dashboard"
+msgstr "Di chuyển bảng điều khiển"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:302
+msgid "Edit dashboard"
+msgstr "Chỉnh sửa bảng điều khiển"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:306
+msgid "Edit Dashboard Layout"
+msgstr "Chỉnh sửa bố cục bảng điều khiển"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:369
+msgid "You are editing a dashboard"
+msgstr "Bạn đang chỉnh sửa bảng điều khiển"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:374
+msgid "Select the field that should be filtered for each card"
+msgstr "Chọn trường được lọc cho mỗi thẻ"
+
+#: frontend/src/metabase/dashboard/components/DashboardMoveModal.jsx:28
+msgid "Move dashboard to..."
+msgstr "Di chuyển bảng điều khiển đến..."
+
+#: frontend/src/metabase/dashboard/components/DashboardMoveModal.jsx:52
+msgid "Dashboard moved to {0}"
+msgstr "Bảng điều khiển đã di chuyển tới {0}"
+
+#: frontend/src/metabase/dashboard/components/ParametersPopover.jsx:82
+msgid "What do you want to filter?"
+msgstr "Bạn muốn lọc cái gì?"
+
+#: frontend/src/metabase/dashboard/components/ParametersPopover.jsx:115
+msgid "What kind of filter?"
+msgstr "Kiểu của bộ lọc là gì?"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:13
+#: frontend/src/metabase/visualizations/lib/settings/column.js:231
+#: frontend/src/metabase/visualizations/lib/settings/series.js:90
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:179
+msgid "Off"
+msgstr "Tắt"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:14
+msgid "1 minute"
+msgstr "1 phút"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:15
+msgid "5 minutes"
+msgstr "5 phút"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:16
+msgid "10 minutes"
+msgstr "10 phút"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:17
+msgid "15 minutes"
+msgstr "15 phút"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:18
+msgid "30 minutes"
+msgstr "30 phút"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:19
+msgid "60 minutes"
+msgstr "60 phút"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:31
+msgid "Auto-refresh"
+msgstr "Tự động làm mới"
+
+#: frontend/src/metabase/dashboard/components/RefreshWidget.jsx:37
+msgid "Refreshing in"
+msgstr "Làm mới trong"
+
+#: frontend/src/metabase/dashboard/components/RemoveFromDashboardModal.jsx:36
+msgid "Remove this question?"
+msgstr "Bỏ câu hỏi này?"
+
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:71
+msgid "Your dashboard was saved"
+msgstr "Bảng điều khiển của bạn đã được lưu"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:745
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:76
+msgid "See it"
+msgstr "Xem nó"
+
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:137
+msgid "Save this"
+msgstr "LÆ°u"
+
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:170
+msgid "Show more about this"
+msgstr "Hiển thị thêm về điều nàys"
+
+#: frontend/src/metabase/dashboard/containers/DashCardCardParameterMapper.jsx:140
+msgid "This card doesn't have any fields or parameters that can be mapped to this parameter type."
+msgstr "Thẻ này không có bất kỳ trường hoặc tham số nào có thể được ánh xạ tới loại tham số này."
+
+#: frontend/src/metabase/dashboard/containers/DashCardCardParameterMapper.jsx:142
+msgid "The values in this field don't overlap with the values of any other fields you've chosen."
+msgstr "Các giá trị trong trường này không trùng với giá trị của bất kỳ trường nào khác bạn đã chọn."
+
+#: frontend/src/metabase/dashboard/containers/DashCardCardParameterMapper.jsx:186
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingFieldPicker.jsx:37
+msgid "No valid fields"
+msgstr "Trường không khả dụng"
+
+#: frontend/src/metabase/entities/collections.js:97
+msgid "Name must be 100 characters or less"
+msgstr "Tên phải chứa ít hơn 100 kí tự"
+
+#: frontend/src/metabase/entities/collections.js:111
+msgid "Color is required"
+msgstr "Màu sắc là bắt buộc"
+
+#: frontend/src/metabase/entities/dashboards.js:146
+msgid "What is the name of your dashboard?"
+msgstr "Tên của bảng điều khiển của bạn là gì?"
+
+#: frontend/src/metabase/home/components/Activity.jsx:92
+msgid "did some super awesome stuff that's hard to describe"
+msgstr "Những thứ tuyệt vời này có khó để mô tả không?"
+
+#: frontend/src/metabase/home/components/Activity.jsx:101
+#: frontend/src/metabase/home/components/Activity.jsx:116
+msgid "created an alert about - "
+msgstr "Đã tạo một cảnh báo về - "
+
+#: frontend/src/metabase/home/components/Activity.jsx:126
+#: frontend/src/metabase/home/components/Activity.jsx:141
+msgid "deleted an alert about - "
+msgstr "Đã xóa một cảnh báo về - "
+
+#: frontend/src/metabase/home/components/Activity.jsx:152
+msgid "saved a question about "
+msgstr "Đã lưu một câu hỏi về"
+
+#: frontend/src/metabase/home/components/Activity.jsx:165
+msgid "saved a question"
+msgstr "Đã lưu một câu hỏi"
+
+#: frontend/src/metabase/home/components/Activity.jsx:169
+msgid "deleted a question"
+msgstr "Đã xóa một câu hỏi"
+
+#: frontend/src/metabase/home/components/Activity.jsx:172
+msgid "created a dashboard"
+msgstr "Đã tạo một bảng điều khiển"
+
+#: frontend/src/metabase/home/components/Activity.jsx:175
+msgid "deleted a dashboard"
+msgstr "Đã xóa một bảng điều khiển"
+
+#: frontend/src/metabase/home/components/Activity.jsx:181
+#: frontend/src/metabase/home/components/Activity.jsx:196
+msgid "added a question to the dashboard - "
+msgstr "Đã thêm một câu hỏi vào bảng điều khiển - "
+
+#: frontend/src/metabase/home/components/Activity.jsx:206
+#: frontend/src/metabase/home/components/Activity.jsx:221
+msgid "removed a question from the dashboard - "
+msgstr "Đã loại bỏ một câu hỏi từ bảng điều khiển - "
+
+#: frontend/src/metabase/home/components/Activity.jsx:231
+#: frontend/src/metabase/home/components/Activity.jsx:238
+msgid "received the latest data from"
+msgstr "Đã nhận dữ liệu mới nhất từ"
+
+#: frontend/src/metabase-lib/lib/Dimension.js:621
+#: frontend/src/metabase/home/components/Activity.jsx:244
+#: frontend/src/metabase/lib/query_time.js:180
+#: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:273
+msgid "Unknown"
+msgstr "Không biết"
+
+#: frontend/src/metabase/home/components/Activity.jsx:251
+msgid "Hello World!"
+msgstr "Xin chào thế giới!"
+
+#: frontend/src/metabase/home/components/Activity.jsx:252
+msgid "Metabase is up and running."
+msgstr "Metabase đang hoạt động"
+
+#: frontend/src/metabase/home/components/Activity.jsx:258
+#: frontend/src/metabase/home/components/Activity.jsx:288
+msgid "added the metric "
+msgstr "Đã thêm số liệu"
+
+#: frontend/src/metabase/home/components/Activity.jsx:272
+#: frontend/src/metabase/home/components/Activity.jsx:362
+msgid " to the "
+msgstr "Đến"
+
+#: frontend/src/metabase/home/components/Activity.jsx:282
+#: frontend/src/metabase/home/components/Activity.jsx:322
+#: frontend/src/metabase/home/components/Activity.jsx:372
+#: frontend/src/metabase/home/components/Activity.jsx:413
+msgid " table"
+msgstr "Bảng"
+
+#: frontend/src/metabase/home/components/Activity.jsx:298
+#: frontend/src/metabase/home/components/Activity.jsx:328
+msgid "made changes to the metric "
+msgstr "Đã thay đổi số liệu"
+
+#: frontend/src/metabase/home/components/Activity.jsx:312
+#: frontend/src/metabase/home/components/Activity.jsx:403
+msgid " in the "
+msgstr "trong"
+
+#: frontend/src/metabase/home/components/Activity.jsx:335
+msgid "removed the metric "
+msgstr "Đã loại bỏ số liệu"
+
+#: frontend/src/metabase/home/components/Activity.jsx:338
+msgid "created a pulse"
+msgstr "Tạo một xung"
+
+#: frontend/src/metabase/home/components/Activity.jsx:341
+msgid "deleted a pulse"
+msgstr "Đã xóa một xung"
+
+#: frontend/src/metabase/home/components/Activity.jsx:347
+#: frontend/src/metabase/home/components/Activity.jsx:378
+msgid "added the filter"
+msgstr "Đã thêm bộ lọc"
+
+#: frontend/src/metabase/home/components/Activity.jsx:388
+#: frontend/src/metabase/home/components/Activity.jsx:419
+msgid "made changes to the filter"
+msgstr "Đã thay đổi bộ lọc"
+
+#: frontend/src/metabase/home/components/Activity.jsx:426
+msgid "removed the filter {0}"
+msgstr "Bỏ bộ lọc {0}"
+
+#: frontend/src/metabase/home/components/Activity.jsx:429
+msgid "joined!"
+msgstr "Đã tham gia"
+
+#: frontend/src/metabase/home/components/Activity.jsx:529
+msgid "Hmmm, looks like nothing has happened yet."
+msgstr "Hmmm, trông như chưa có gì xảy ra"
+
+#: frontend/src/metabase/home/components/Activity.jsx:532
+msgid "Save a question and get this baby going!"
+msgstr "Lưu một câu hỏi và khiến "
+
+#: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:19
+msgid "Ask questions and explore"
+msgstr "Hỏi các câu hỏi và khám phá"
+
+#: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:20
+msgid "Click on charts or tables to explore, or ask a new question using the easy interface or the powerful SQL editor."
+msgstr "Nhấp chuột vào biểu đồ hoặc bảng để khám phá, hoặc hỏi một câu hỏi mới sử dụng giao diện dễ dàng hoặc biên tập SQL mạnh."
+
+#: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:30
+msgid "Make your own charts"
+msgstr "Tạo biểu đồ của bạn"
+
+#: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:31
+msgid "Create line charts, scatter plots, maps, and more."
+msgstr "Tạo biểu đồ đường, sơ đồ phân tán, bản đồ, v.v."
+
+#: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:41
+msgid "Share what you find"
+msgstr "Chia sẻ cái bạn tìm được"
+
+#: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:42
+msgid "Create powerful and flexible dashboards, and send regular updates via email or Slack."
+msgstr "Tạo bảng điều khiển mạnh mẽ và linh hoạt và gửi cập nhật thường xuyên qua email hoặc Slack."
+
+#: frontend/src/metabase/home/components/NewUserOnboardingModal.jsx:97
+msgid "Let's go"
+msgstr "Đi thôi"
+
+#: frontend/src/metabase/home/components/NextStep.jsx:34
+msgid "Setup Tip"
+msgstr "Mẹo thiết lập"
+
+#: frontend/src/metabase/home/components/NextStep.jsx:40
+msgid "View all"
+msgstr "Xem tất cả"
+
+#: frontend/src/metabase/home/components/RecentViews.jsx:40
+msgid "Recently Viewed"
+msgstr "Xem gần đây"
+
+#: frontend/src/metabase/home/components/RecentViews.jsx:75
+msgid "You haven't looked at any dashboards or questions recently"
+msgstr "Bạn không xem bảng điều khiển hay câu hỏi nào gần đây"
+
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:99
+msgid "{0} items selected"
+msgstr "{0} mục được chọn"
+
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:121
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:172
+msgid "Unarchive"
+msgstr "Bỏ lưu trữ"
+
+#: frontend/src/metabase/home/containers/HomepageApp.jsx:74
+#: frontend/src/metabase/nav/containers/Navbar.jsx:331
+msgid "Activity"
+msgstr "Hoạt động"
+
+#: frontend/src/metabase/home/containers/SearchApp.jsx:28
+msgid "Results for \"{0}\""
+msgstr "Kết quả cho \"{0}\""
+
+#: frontend/src/metabase/home/containers/SearchApp.jsx:138
+msgid "Pulse"
+msgstr "Xung"
+
+#: frontend/src/metabase/lib/core.js:7
+msgid "Entity Key"
+msgstr "Chìa khóa thực thể"
+
+#: frontend/src/metabase/lib/core.js:8 frontend/src/metabase/lib/core.js:14
+#: frontend/src/metabase/lib/core.js:20
+msgid "Overall Row"
+msgstr "Hàng tổng quan"
+
+#: frontend/src/metabase/lib/core.js:9
+msgid "The primary key for this table."
+msgstr "Chìa khóa chính cho bảng này"
+
+#: frontend/src/metabase/lib/core.js:13
+msgid "Entity Name"
+msgstr "Tên thực thể"
+
+#: frontend/src/metabase/lib/core.js:15
+msgid "The \"name\" of each record. Usually a column called \"name\", \"title\", etc."
+msgstr "\\ \"Tên \" của mỗi bản ghi. Thông thường một cột có tên \\ \"name \", \\ \"title \", v.v."
+
+#: frontend/src/metabase/lib/core.js:19
+msgid "Foreign Key"
+msgstr "Chìa khóa ngoại"
+
+#: frontend/src/metabase/lib/core.js:21
+msgid "Points to another table to make a connection."
+msgstr "Chỉ vào một bảng khác để tạo kết nối."
+
+#: frontend/src/metabase/lib/core.js:25
+msgid "Avatar Image URL"
+msgstr "URL ảnh đại diện"
+
+#: frontend/src/metabase/lib/core.js:26 frontend/src/metabase/lib/core.js:31
+#: frontend/src/metabase/lib/core.js:36 frontend/src/metabase/lib/core.js:41
+#: frontend/src/metabase/lib/core.js:46 frontend/src/metabase/lib/core.js:51
+#: frontend/src/metabase/lib/core.js:56 frontend/src/metabase/lib/core.js:61
+#: frontend/src/metabase/lib/core.js:66 frontend/src/metabase/lib/core.js:71
+#: frontend/src/metabase/lib/core.js:76 frontend/src/metabase/lib/core.js:81
+#: frontend/src/metabase/lib/core.js:86 frontend/src/metabase/lib/core.js:91
+#: frontend/src/metabase/lib/core.js:96 frontend/src/metabase/lib/core.js:101
+#: frontend/src/metabase/lib/core.js:106 frontend/src/metabase/lib/core.js:111
+#: frontend/src/metabase/lib/core.js:116 frontend/src/metabase/lib/core.js:121
+#: frontend/src/metabase/lib/core.js:126 frontend/src/metabase/lib/core.js:131
+#: frontend/src/metabase/lib/core.js:136 frontend/src/metabase/lib/core.js:141
+#: frontend/src/metabase/lib/core.js:146 frontend/src/metabase/lib/core.js:151
+#: frontend/src/metabase/lib/core.js:156 frontend/src/metabase/lib/core.js:161
+#: frontend/src/metabase/lib/core.js:166 frontend/src/metabase/lib/core.js:171
+#: frontend/src/metabase/lib/core.js:176 frontend/src/metabase/lib/core.js:181
+#: frontend/src/metabase/lib/core.js:186 frontend/src/metabase/lib/core.js:191
+#: frontend/src/metabase/lib/core.js:196 frontend/src/metabase/lib/core.js:201
+#: frontend/src/metabase/lib/core.js:206 frontend/src/metabase/lib/core.js:211
+#: frontend/src/metabase/lib/core.js:216 frontend/src/metabase/lib/core.js:221
+#: frontend/src/metabase/lib/core.js:226 frontend/src/metabase/lib/core.js:231
+msgid "Common"
+msgstr "Chung"
+
+#: frontend/src/metabase/lib/core.js:30
+#: frontend/src/metabase/meta/Dashboard.js:81
+#: frontend/src/metabase/modes/components/actions/PivotByCategoryAction.jsx:9
+msgid "Category"
+msgstr "Ngành"
+
+#: frontend/src/metabase/lib/core.js:35
+#: frontend/src/metabase/meta/Dashboard.js:61
+msgid "City"
+msgstr "Thành phố"
+
+#: frontend/src/metabase/lib/core.js:40
+#: frontend/src/metabase/meta/Dashboard.js:73
+msgid "Country"
+msgstr "Quốc gia"
+
+#: frontend/src/metabase/lib/core.js:60
+msgid "Enum"
+msgstr "Enum"
+
+#: frontend/src/metabase/lib/core.js:65
+msgid "Image URL"
+msgstr "URL hình ảnh"
+
+#: frontend/src/metabase/lib/core.js:70
+msgid "Field containing JSON"
+msgstr "Trường chứa JSON"
+
+#: frontend/src/metabase/lib/core.js:75
+msgid "Latitude"
+msgstr "VÄ© Ä‘á»™"
+
+#: frontend/src/metabase/lib/core.js:80
+msgid "Longitude"
+msgstr "Kinh Ä‘á»™"
+
+#: frontend/src/metabase/lib/core.js:85
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:149
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:41
+msgid "Number"
+msgstr "Số"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:19
+#: frontend/src/metabase/lib/core.js:90
+#: frontend/src/metabase/meta/Dashboard.js:65
+msgid "State"
+msgstr "Bang"
+
+#: frontend/src/metabase/lib/core.js:95
+msgid "UNIX Timestamp (Seconds)"
+msgstr "Dấu thời gian UNIX (Giây)"
+
+#: frontend/src/metabase/lib/core.js:100
+msgid "UNIX Timestamp (Milliseconds)"
+msgstr "Dấu thời gian UNIX (Mili giây)"
+
+#: frontend/src/metabase/lib/core.js:110
+msgid "Zip Code"
+msgstr "Mã bưu chính"
+
+#: frontend/src/metabase/lib/core.js:115
+msgid "Quantity"
+msgstr "Số lượng"
+
+#: frontend/src/metabase/lib/core.js:120
+msgid "Income"
+msgstr "Lợi tức"
+
+#: frontend/src/metabase/lib/core.js:125
+msgid "Discount"
+msgstr "Giảm giá"
+
+#: frontend/src/metabase/lib/core.js:130
+msgid "Creation timestamp"
+msgstr "Dấu thời gian tạo"
+
+#: frontend/src/metabase/lib/core.js:135
+msgid "Creation time"
+msgstr "Thời gian tạo"
+
+#: frontend/src/metabase/lib/core.js:140
+msgid "Creation date"
+msgstr "Ngày tạo"
+
+#: frontend/src/metabase/lib/core.js:145
+msgid "Product"
+msgstr "Sản phẩm"
+
+#: frontend/src/metabase/lib/core.js:150
+msgid "User"
+msgstr "Người dùng"
+
+#: frontend/src/metabase/lib/core.js:155
+msgid "Source"
+msgstr "Nguồn"
+
+#: frontend/src/metabase/lib/core.js:160
+msgid "Price"
+msgstr "Giá"
+
+#: frontend/src/metabase/lib/core.js:165
+msgid "Join timestamp"
+msgstr "Dấu thời gian tham gia"
+
+#: frontend/src/metabase/lib/core.js:170
+msgid "Join time"
+msgstr "Thời gian tham gia"
+
+#: frontend/src/metabase/lib/core.js:175
+msgid "Join date"
+msgstr "Ngày tham gia"
+
+#: frontend/src/metabase/lib/core.js:180
+msgid "Share"
+msgstr "Chia sẻ"
+
+#: frontend/src/metabase/lib/core.js:185
+msgid "Owner"
+msgstr "Chủ sở hữu"
+
+#: frontend/src/metabase/lib/core.js:190
+msgid "Company"
+msgstr "Công ty"
+
+#: frontend/src/metabase/lib/core.js:195
+msgid "Subscription"
+msgstr "Theo dõi"
+
+#: frontend/src/metabase/lib/core.js:200
+msgid "Score"
+msgstr "Điểm"
+
+#: frontend/src/metabase/lib/core.js:210
+#: frontend/src/metabase/public/components/widgets/DisplayOptionsPane.jsx:49
+#: frontend/src/metabase/visualizations/lib/settings/visualization.js:17
+msgid "Title"
+msgstr "Tiêu đề"
+
+#: frontend/src/metabase/lib/core.js:215
+msgid "Comment"
+msgstr "Bình luận"
+
+#: frontend/src/metabase/lib/core.js:220
+msgid "Cost"
+msgstr "Chi phí"
+
+#: frontend/src/metabase/lib/core.js:225
+msgid "Gross margin"
+msgstr "Biên lãi gộp"
+
+#: frontend/src/metabase/lib/core.js:230
+msgid "Birthday"
+msgstr "Sinh nhật"
+
+#: frontend/src/metabase/lib/core.js:241
+msgid "Search box"
+msgstr "Hộp tìm kiếm"
+
+#: frontend/src/metabase/lib/core.js:242
+msgid "A list of all values"
+msgstr "Danh sách tất cả các giá trị"
+
+#: frontend/src/metabase/lib/core.js:243
+msgid "Plain input box"
+msgstr "Hộp đầu vào trơn"
+
+#: frontend/src/metabase/lib/core.js:249
+msgid "Everywhere"
+msgstr "Mọi nơi"
+
+#: frontend/src/metabase/lib/core.js:250
+msgid "The default setting. This field will be displayed normally in tables and charts."
+msgstr "Cài đặt mặc định. Trường này sẽ được hiển thị bình thường trong bảng và biểu đồ."
+
+#: frontend/src/metabase/lib/core.js:254
+msgid "Only in Detail Views"
+msgstr "Chỉ trong chế độ xem chi tiết"
+
+#: frontend/src/metabase/lib/core.js:255
+msgid "This field will only be displayed when viewing the details of a single record. Use this for information that's lengthy or that isn't useful in a table or chart."
+msgstr "Trường này sẽ chỉ được hiển thị khi xem chi tiết của một bản ghi. Sử dụng thông tin này cho thông tin dài hoặc không hữu ích trong bảng hoặc biểu đồ."
+
+#: frontend/src/metabase/lib/core.js:259
+msgid "Do Not Include"
+msgstr "Không bao gồm"
+
+#: frontend/src/metabase/lib/core.js:260
+msgid "Metabase will never retrieve this field. Use this for sensitive or irrelevant information."
+msgstr "Cơ sở dữ liệu tích lũy sẽ không bao giờ lấy lại trường này. Sử dụng điều này cho thông tin nhạy cảm hoặc không liên quan."
+
+#: frontend/src/metabase/lib/expressions/config.js:7
+#: frontend/src/metabase/lib/query.js:614
+#: frontend/src/metabase/visualizations/lib/utils.js:126
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+msgid "Count"
+msgstr "Số đếm"
+
+#: frontend/src/metabase/lib/expressions/config.js:8
+msgid "CumulativeCount"
+msgstr "Số tích lũy"
+
+#: frontend/src/metabase/lib/expressions/config.js:9
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:17
+#: frontend/src/metabase/visualizations/lib/utils.js:127
+msgid "Sum"
+msgstr "Tổng"
+
+#: frontend/src/metabase/lib/expressions/config.js:10
+msgid "CumulativeSum"
+msgstr "Tổng tích lũy"
+
+#: frontend/src/metabase/lib/expressions/config.js:11
+#: frontend/src/metabase/visualizations/lib/utils.js:128
+msgid "Distinct"
+msgstr "Phân biệt"
+
+#: frontend/src/metabase/lib/expressions/config.js:12
+msgid "StandardDeviation"
+msgstr "Độ lệch chuẩn"
+
+#: frontend/src/metabase/lib/expressions/config.js:13
+#: frontend/src/metabase/visualizations/lib/utils.js:125
+msgid "Average"
+msgstr "Trung bình"
+
+#: frontend/src/metabase/lib/expressions/config.js:14
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:25
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:48
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:450
+msgid "Min"
+msgstr "Nhỏ nhất"
+
+#: frontend/src/metabase/lib/expressions/config.js:15
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:29
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:57
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:458
+msgid "Max"
+msgstr "Lớn nhất"
+
+#: frontend/src/metabase/lib/expressions/parser.js:384
+msgid "sad sad panda, lexing errors detected"
+msgstr "Lỗi lexing được phát hiệ"
+
+#: frontend/src/metabase/lib/formatting.js:707
+msgid "{0} second"
+msgid_plural "{0} seconds"
+msgstr[0] "{0} giây"
+
+#: frontend/src/metabase/lib/formatting.js:710
+msgid "{0} minute"
+msgid_plural "{0} minutes"
+msgstr[0] "{0} phút"
+
+#: frontend/src/metabase/lib/greeting.js:4
+msgid "Hey there"
+msgstr "Xin chào"
+
+#: frontend/src/metabase/lib/greeting.js:5
+#: frontend/src/metabase/lib/greeting.js:29
+msgid "How's it going"
+msgstr "Bạn thế nào?"
+
+#: frontend/src/metabase/lib/greeting.js:6
+msgid "Howdy"
+msgstr "Xin chào"
+
+#: frontend/src/metabase/lib/greeting.js:7
+msgid "Greetings"
+msgstr "Xin chào"
+
+#: frontend/src/metabase/lib/greeting.js:8
+msgid "Good to see you"
+msgstr "Rất vui được gặp bạn"
+
+#: frontend/src/metabase/lib/greeting.js:12
+msgid "What do you want to know?"
+msgstr "Bạn muốn biết cái gì?"
+
+#: frontend/src/metabase/lib/greeting.js:13
+msgid "What's on your mind?"
+msgstr "Bạn đang nghĩ gì?"
+
+#: frontend/src/metabase/lib/greeting.js:14
+msgid "What do you want to find out?"
+msgstr "Bạn muốn tìm cái gì?"
+
+#: frontend/src/metabase/lib/query.js:612
+#: frontend/src/metabase/lib/schema_metadata.js:451
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:246
+msgid "Raw data"
+msgstr "Dữ liệu gốc"
+
+#: frontend/src/metabase/lib/query.js:616
+msgid "Cumulative count"
+msgstr "Số tích lũy"
+
+#: frontend/src/metabase/lib/query.js:619
+msgid "Average of "
+msgstr "Trung bình của"
+
+#: frontend/src/metabase/lib/query.js:624
+msgid "Distinct values of "
+msgstr "Giá trị riêng biệt của"
+
+#: frontend/src/metabase/lib/query.js:629
+msgid "Standard deviation of "
+msgstr "Độ lệch chuẩn của"
+
+#: frontend/src/metabase/lib/query.js:634
+msgid "Sum of "
+msgstr "Tổng của"
+
+#: frontend/src/metabase/lib/query.js:639
+msgid "Cumulative sum of "
+msgstr "Tổng cộng của"
+
+#: frontend/src/metabase/lib/query.js:644
+msgid "Maximum of "
+msgstr "Lớn nhất của"
+
+#: frontend/src/metabase/lib/query.js:649
+msgid "Minimum of "
+msgstr "Nhỏ nhất của"
+
+#: frontend/src/metabase/lib/query.js:663
+msgid "Grouped by "
+msgstr "Được nhóm bởi"
+
+#: frontend/src/metabase/lib/query.js:677
+msgid "Filtered by "
+msgstr "Được lọc bởi"
+
+#: frontend/src/metabase/lib/query.js:706
+msgid "Sorted by "
+msgstr "Được sắp xếp bởi"
+
+#: frontend/src/metabase/lib/schema_metadata.js:221
+msgid "True"
+msgstr "Đúng"
+
+#: frontend/src/metabase/lib/schema_metadata.js:221
+msgid "False"
+msgstr "Sai"
+
+#: frontend/src/metabase/lib/schema_metadata.js:305
+msgid "Select longitude field"
+msgstr "Chọn trường kinh độ"
+
+#: frontend/src/metabase/lib/schema_metadata.js:306
+msgid "Enter upper latitude"
+msgstr "Nhập vĩ độ cao hơn"
+
+#: frontend/src/metabase/lib/schema_metadata.js:307
+msgid "Enter left longitude"
+msgstr "Nhập kinh độ trái"
+
+#: frontend/src/metabase/lib/schema_metadata.js:308
+msgid "Enter lower latitude"
+msgstr "Nhập vĩ độ thấp hơn"
+
+#: frontend/src/metabase/lib/schema_metadata.js:309
+msgid "Enter right longitude"
+msgstr "Nhập kinh độ phải"
+
+#: frontend/src/metabase/lib/schema_metadata.js:345
+#: frontend/src/metabase/lib/schema_metadata.js:365
+#: frontend/src/metabase/lib/schema_metadata.js:375
+#: frontend/src/metabase/lib/schema_metadata.js:381
+#: frontend/src/metabase/lib/schema_metadata.js:389
+#: frontend/src/metabase/lib/schema_metadata.js:395
+#: frontend/src/metabase/lib/schema_metadata.js:400
+msgid "Is"
+msgstr "Là"
+
+#: frontend/src/metabase/lib/schema_metadata.js:346
+#: frontend/src/metabase/lib/schema_metadata.js:366
+#: frontend/src/metabase/lib/schema_metadata.js:376
+#: frontend/src/metabase/lib/schema_metadata.js:390
+#: frontend/src/metabase/lib/schema_metadata.js:396
+msgid "Is not"
+msgstr "Không là"
+
+#: frontend/src/metabase/lib/schema_metadata.js:347
+#: frontend/src/metabase/lib/schema_metadata.js:361
+#: frontend/src/metabase/lib/schema_metadata.js:369
+#: frontend/src/metabase/lib/schema_metadata.js:377
+#: frontend/src/metabase/lib/schema_metadata.js:385
+#: frontend/src/metabase/lib/schema_metadata.js:391
+#: frontend/src/metabase/lib/schema_metadata.js:401
+msgid "Is empty"
+msgstr "Trống"
+
+#: frontend/src/metabase/lib/schema_metadata.js:348
+#: frontend/src/metabase/lib/schema_metadata.js:362
+#: frontend/src/metabase/lib/schema_metadata.js:370
+#: frontend/src/metabase/lib/schema_metadata.js:378
+#: frontend/src/metabase/lib/schema_metadata.js:386
+#: frontend/src/metabase/lib/schema_metadata.js:392
+#: frontend/src/metabase/lib/schema_metadata.js:402
+msgid "Not empty"
+msgstr "Không trống"
+
+#: frontend/src/metabase/lib/schema_metadata.js:354
+msgid "Equal to"
+msgstr "Bằng"
+
+#: frontend/src/metabase/lib/schema_metadata.js:355
+msgid "Not equal to"
+msgstr "Không bằng"
+
+#: frontend/src/metabase/lib/schema_metadata.js:356
+msgid "Greater than"
+msgstr "Lớn hơn"
+
+#: frontend/src/metabase/lib/schema_metadata.js:357
+msgid "Less than"
+msgstr "Ít hơn"
+
+#: frontend/src/metabase/lib/schema_metadata.js:358
+#: frontend/src/metabase/lib/schema_metadata.js:384
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:285
+#: frontend/src/metabase/query_builder/components/filters/pickers/TimePicker.jsx:96
+msgid "Between"
+msgstr "Giữa"
+
+#: frontend/src/metabase/lib/schema_metadata.js:359
+msgid "Greater than or equal to"
+msgstr "Lớn hơn hoặc bằng"
+
+#: frontend/src/metabase/lib/schema_metadata.js:360
+msgid "Less than or equal to"
+msgstr "Ít hơn hoặc bằng"
+
+#: frontend/src/metabase/lib/schema_metadata.js:367
+msgid "Contains"
+msgstr "Bao gồm"
+
+#: frontend/src/metabase/lib/schema_metadata.js:368
+msgid "Does not contain"
+msgstr "Không bao gồm"
+
+#: frontend/src/metabase/lib/schema_metadata.js:371
+msgid "Starts with"
+msgstr "Bắt đầu với"
+
+#: frontend/src/metabase/lib/schema_metadata.js:372
+msgid "Ends with"
+msgstr "Kết thúc với"
+
+#: frontend/src/metabase/lib/schema_metadata.js:382
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:264
+#: frontend/src/metabase/query_builder/components/filters/pickers/TimePicker.jsx:74
+msgid "Before"
+msgstr "TrÆ°á»›c"
+
+#: frontend/src/metabase/lib/schema_metadata.js:383
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:271
+#: frontend/src/metabase/query_builder/components/filters/pickers/TimePicker.jsx:85
+msgid "After"
+msgstr "Sau"
+
+#: frontend/src/metabase/lib/schema_metadata.js:397
+msgid "Inside"
+msgstr "Bên trong"
+
+#: frontend/src/metabase/lib/schema_metadata.js:453
+msgid "Just a table with the rows in the answer, no additional operations."
+msgstr "Chỉ cần một bảng với các hàng trong câu trả lời, không có thao tác bổ sung."
+
+#: frontend/src/metabase/lib/schema_metadata.js:459
+msgid "Count of rows"
+msgstr "Đếm số hàng"
+
+#: frontend/src/metabase/lib/schema_metadata.js:461
+msgid "Total number of rows in the answer."
+msgstr "Tổng số dòng trong câu trả lời"
+
+#: frontend/src/metabase/lib/schema_metadata.js:467
+msgid "Sum of ..."
+msgstr "Tổng của ..."
+
+#: frontend/src/metabase/lib/schema_metadata.js:469
+msgid "Sum of all the values of a column."
+msgstr "Tổng tất cả giá trị của một cột"
+
+#: frontend/src/metabase/lib/schema_metadata.js:475
+msgid "Average of ..."
+msgstr "Trung bình của..."
+
+#: frontend/src/metabase/lib/schema_metadata.js:477
+msgid "Average of all the values of a column"
+msgstr "Trung bình tất cả giá trị của một cột"
+
+#: frontend/src/metabase/lib/schema_metadata.js:483
+msgid "Number of distinct values of ..."
+msgstr "Số lượng giá trị riêng biệt của ..."
+
+#: frontend/src/metabase/lib/schema_metadata.js:485
+msgid "Number of unique values of a column among all the rows in the answer."
+msgstr "Số giá trị duy nhất của một cột trong số tất cả các hàng trong câu trả lời."
+
+#: frontend/src/metabase/lib/schema_metadata.js:491
+msgid "Cumulative sum of ..."
+msgstr "Tổng cộng của"
+
+#: frontend/src/metabase/lib/schema_metadata.js:493
+msgid "Additive sum of all the values of a column.\\\\ne.x. total revenue over time."
+msgstr "Tổng cộng của tất cả các giá trị của một cột. \\\\ ne.x. tổng doanh thu theo thời gian."
+
+#: frontend/src/metabase/lib/schema_metadata.js:499
+msgid "Cumulative count of rows"
+msgstr "Số hàng tích lũy"
+
+#: frontend/src/metabase/lib/schema_metadata.js:501
+msgid "Additive count of the number of rows.\\\\ne.x. total number of sales over time."
+msgstr "Tổng số phụ của số lượng hàng. \\\\ ne.x. tổng số lượng bán hàng theo thời gian."
+
+#: frontend/src/metabase/lib/schema_metadata.js:507
+msgid "Standard deviation of ..."
+msgstr "Độ lệch chuẩn của ..."
+
+#: frontend/src/metabase/lib/schema_metadata.js:509
+msgid "Number which expresses how much the values of a column vary among all rows in the answer."
+msgstr "Số biểu thị số lượng giá trị của một cột khác nhau giữa tất cả các hàng trong câu trả lời."
+
+#: frontend/src/metabase/lib/schema_metadata.js:515
+msgid "Minimum of ..."
+msgstr "Nhỏ nhất của..."
+
+#: frontend/src/metabase/lib/schema_metadata.js:517
+msgid "Minimum value of a column"
+msgstr "Giá trị nhỏ nhất của cột"
+
+#: frontend/src/metabase/lib/schema_metadata.js:523
+msgid "Maximum of ..."
+msgstr "Lớn nhất của ..."
+
+#: frontend/src/metabase/lib/schema_metadata.js:525
+msgid "Maximum value of a column"
+msgstr "Giá trị cao nhất của cột"
+
+#: frontend/src/metabase/lib/schema_metadata.js:533
+msgid "Break out by dimension"
+msgstr "Thoát ra theo chiều"
+
+#: frontend/src/metabase/lib/settings.js:93
+msgid "lower case letter"
+msgstr "chữ thường"
+
+#: frontend/src/metabase/lib/settings.js:95
+msgid "upper case letter"
+msgstr "chữ hoa"
+
+#: frontend/src/metabase/lib/settings.js:97
+#: src/metabase/automagic_dashboards/core.clj
+msgid "number"
+msgstr "số"
+
+#: frontend/src/metabase/lib/settings.js:99
+msgid "special character"
+msgstr "Kí tự đặc biệt"
+
+#: frontend/src/metabase/lib/settings.js:105
+msgid "must be"
+msgstr "Phải là"
+
+#: frontend/src/metabase/lib/settings.js:105
+#: frontend/src/metabase/lib/settings.js:106
+msgid "characters long"
+msgstr "Độ dài kí tự"
+
+#: frontend/src/metabase/lib/settings.js:106
+msgid "Must be"
+msgstr "Phải là"
+
+#: frontend/src/metabase/lib/settings.js:122
+msgid "and include"
+msgstr "và bao gồm"
+
+#: frontend/src/metabase/lib/utils.js:92
+msgid "zero"
+msgstr "không"
+
+#: frontend/src/metabase/lib/utils.js:93
+msgid "one"
+msgstr "má»™t"
+
+#: frontend/src/metabase/lib/utils.js:94
+msgid "two"
+msgstr "hai"
+
+#: frontend/src/metabase/lib/utils.js:95
+msgid "three"
+msgstr "ba"
+
+#: frontend/src/metabase/lib/utils.js:96
+msgid "four"
+msgstr "bốn"
+
+#: frontend/src/metabase/lib/utils.js:97
+msgid "five"
+msgstr "năm"
+
+#: frontend/src/metabase/lib/utils.js:98
+msgid "six"
+msgstr "sáu"
+
+#: frontend/src/metabase/lib/utils.js:99
+msgid "seven"
+msgstr "bảy"
+
+#: frontend/src/metabase/lib/utils.js:100
+msgid "eight"
+msgstr "tám"
+
+#: frontend/src/metabase/lib/utils.js:101
+msgid "nine"
+msgstr "chín"
+
+#: frontend/src/metabase/meta/Dashboard.js:30
+msgid "Month and Year"
+msgstr "Tháng và Năm"
+
+#: frontend/src/metabase/meta/Dashboard.js:31
+msgid "Like January, 2016"
+msgstr "Như tháng Một, 2016"
+
+#: frontend/src/metabase/meta/Dashboard.js:35
+msgid "Quarter and Year"
+msgstr "Quý và Năm"
+
+#: frontend/src/metabase/meta/Dashboard.js:36
+msgid "Like Q1, 2016"
+msgstr "NhÆ° Q1, 2016"
+
+#: frontend/src/metabase/meta/Dashboard.js:40
+msgid "Single Date"
+msgstr "Ngày cụ thể"
+
+#: frontend/src/metabase/meta/Dashboard.js:41
+msgid "Like January 31, 2016"
+msgstr "Như 31 tháng Một, 2016"
+
+#: frontend/src/metabase/meta/Dashboard.js:45
+msgid "Date Range"
+msgstr "Khoảng thời gian"
+
+#: frontend/src/metabase/meta/Dashboard.js:46
+msgid "Like December 25, 2015 - February 14, 2016"
+msgstr "Như 25 tháng 12,2015 - 14 tháng 2,2016"
+
+#: frontend/src/metabase/meta/Dashboard.js:50
+msgid "Relative Date"
+msgstr "Ngày tương đối"
+
+#: frontend/src/metabase/meta/Dashboard.js:51
+msgid "Like \"the last 7 days\" or \"this month\""
+msgstr "Như \"7 ngày gần nhất\" hoặc \"tháng này\""
+
+#: frontend/src/metabase/meta/Dashboard.js:55
+msgid "Date Filter"
+msgstr "Bộ lọc ngày"
+
+#: frontend/src/metabase/meta/Dashboard.js:56
+msgid "All Options"
+msgstr "Tất cả các lựa chọn"
+
+#: frontend/src/metabase/meta/Dashboard.js:57
+msgid "Contains all of the above"
+msgstr "Bao gồm tất cả cái phía trên"
+
+#: frontend/src/metabase/meta/Dashboard.js:69
+msgid "ZIP or Postal Code"
+msgstr "ZIP hoặc mã bưu chính"
+
+#: frontend/src/metabase/meta/Dashboard.js:77
+#: frontend/src/metabase/meta/Dashboard.js:107
+msgid "ID"
+msgstr "ID"
+
+#: frontend/src/metabase/meta/Dashboard.js:95
+#: frontend/src/metabase/modes/components/actions/PivotByTimeAction.jsx:8
+msgid "Time"
+msgstr "Thời gian"
+
+#: frontend/src/metabase/meta/Dashboard.js:96
+msgid "Date range, relative date, time of day, etc."
+msgstr "Khoảng thời gian, ngày tương đối, thời gian trong ngày, ..."
+
+#: frontend/src/metabase/meta/Dashboard.js:101
+#: frontend/src/metabase/modes/components/actions/PivotByLocationAction.jsx:8
+msgid "Location"
+msgstr "Địa điểm"
+
+#: frontend/src/metabase/meta/Dashboard.js:102
+msgid "City, State, Country, ZIP code."
+msgstr "Thành phố, Bang, Quốc gia, mã ZIP"
+
+#: frontend/src/metabase/meta/Dashboard.js:108
+msgid "User ID, product ID, event ID, etc."
+msgstr "ID người dùng, ID sản phẩn, ID sự kiện,..."
+
+#: frontend/src/metabase/meta/Dashboard.js:113
+msgid "Other Categories"
+msgstr "Ngành khác"
+
+#: frontend/src/metabase/meta/Dashboard.js:114
+msgid "Category, Type, Model, Rating, etc."
+msgstr "Ngành, loại, mẫu, đánh giá,..."
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:42
+#: frontend/src/metabase/user/components/UserSettings.jsx:54
+msgid "Account settings"
+msgstr "Cài đặt tài khoản"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:49
+msgid "Exit admin"
+msgstr "Thoát người quản lý"
+
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:34
+msgid "Logs"
+msgstr "Nhật kí"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:58
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorSidebar.jsx:105
+msgid "Help"
+msgstr "Trợ giúp"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:67
+msgid "About Metabase"
+msgstr "Về Metabase"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:73
+msgid "Sign out"
+msgstr "Thoát ra"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:98
+msgid "Thanks for using"
+msgstr "Cảm ơn vì đã sử dụng"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:102
+msgid "You're on version"
+msgstr "Bạn đang ở phiên bản"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:105
+msgid "Built on"
+msgstr "đã xây dựng trên"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:124
+msgid "is a Trademark of"
+msgstr "là nhãn hiệu của"
+
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:126
+msgid "and is built with care in San Francisco, CA"
+msgstr "và được xây dựng cẩn thận ở San Francisco, CA"
+
+#: frontend/src/metabase/nav/containers/Navbar.jsx:194
+msgid "Metabase Admin"
+msgstr "Quản trị viên Metabase"
+
+#: frontend/src/metabase/nav/containers/Navbar.jsx:300
+#: frontend/src/metabase/reference/databases/TableQuestions.jsx:36
+#: frontend/src/metabase/reference/metrics/MetricQuestions.jsx:37
+#: frontend/src/metabase/reference/segments/SegmentQuestions.jsx:37
+msgid "Ask a question"
+msgstr "Hỏi một câu hỏi"
+
+#: frontend/src/metabase/nav/containers/Navbar.jsx:309
+msgid "New dashboard"
+msgstr "Bảng điều khiển mới"
+
+#: frontend/src/metabase/nav/containers/Navbar.jsx:315
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:127
+msgid "New pulse"
+msgstr "Xung má»›i"
+
+#: frontend/src/metabase/nav/containers/Navbar.jsx:323
+msgid "Reference"
+msgstr "Tham khảo"
+
+#: frontend/src/metabase/new_query/containers/MetricSearch.jsx:83
+msgid "Which metric?"
+msgstr "Số liệu nào?"
+
+#: frontend/src/metabase/new_query/containers/MetricSearch.jsx:110
+#: frontend/src/metabase/reference/metrics/MetricList.jsx:24
+msgid "Defining common metrics for your team makes it even easier to ask questions"
+msgstr "Xác định các số liệu phổ biến cho nhóm của bạn giúp đặt câu hỏi dễ dàng hơn"
+
+#: frontend/src/metabase/new_query/containers/MetricSearch.jsx:113
+msgid "How to create metrics"
+msgstr "Cách tạo số liệu"
+
+#: frontend/src/metabase/new_query/containers/NewQueryOptions.jsx:138
+msgid "See data over time, as a map, or pivoted to help you understand trends or changes."
+msgstr "Xem dữ liệu theo thời gian, dưới dạng bản đồ hoặc xoay vòng để giúp bạn hiểu xu hướng hoặc thay đổi."
+
+#: frontend/src/metabase/new_query/containers/NewQueryOptions.jsx:149
+msgid "Custom"
+msgstr "Tập quán"
+
+#: frontend/src/metabase/new_query/containers/NewQueryOptions.jsx:150
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:517
+msgid "New question"
+msgstr "Câu hỏi mới"
+
+#: frontend/src/metabase/new_query/containers/NewQueryOptions.jsx:152
+msgid "Use the simple question builder to see trends, lists of things, or to create your own metrics."
+msgstr "Sử dụng trình tạo câu hỏi đơn giản để xem xu hướng, danh sách các thứ hoặc để tạo số liệu của riêng bạn."
+
+#: frontend/src/metabase/new_query/containers/NewQueryOptions.jsx:161
+#: src/metabase/automagic_dashboards/core.clj
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Native query"
+msgstr "Truy vấn gốc"
+
+#: frontend/src/metabase/new_query/containers/NewQueryOptions.jsx:162
+msgid "For more complicated questions, you can write your own SQL or native query."
+msgstr "Với nhiều câu hỏi phức tạp hơn, bạn có thể viết SQL hoặc truy vấn gốc của bạn."
+
+#: frontend/src/metabase/parameters/components/ParameterValueWidget.jsx:240
+msgid "Select a default value…"
+msgstr "Chọn một giá trị mặc định..."
+
+#: frontend/src/metabase/parameters/components/widgets/DateAllOptionsWidget.jsx:149
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:404
+msgid "Update filter"
+msgstr "Cập nhật bộ lọc"
+
+#: frontend/src/metabase/lib/query_time.js:112
+#: frontend/src/metabase/lib/query_time.js:123
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:9
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:144
+#: src/metabase/pulse/render.clj
+msgid "Today"
+msgstr "Hôm nay"
+
+#: frontend/src/metabase/lib/query_time.js:118
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:14
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:148
+#: src/metabase/pulse/render.clj
+msgid "Yesterday"
+msgstr "Hôm qua"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:18
+msgid "Past 7 days"
+msgstr "7 ngày vừa qua"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:19
+msgid "Past 30 days"
+msgstr "30 ngày vừa qua"
+
+#: frontend/src/metabase/lib/query_time.js:195
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:24
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:29
+#: src/metabase/api/table.clj
+msgid "Week"
+msgid_plural "Weeks"
+msgstr[0] "tuần"
+
+#: frontend/src/metabase/lib/query_time.js:197
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:25
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:30
+#: src/metabase/api/table.clj
+msgid "Month"
+msgid_plural "Months"
+msgstr[0] "tháng"
+
+#: frontend/src/metabase/lib/query_time.js:201
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:26
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:31
+#: src/metabase/api/table.clj
+msgid "Year"
+msgid_plural "Years"
+msgstr[0] "Năm"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:152
+msgid "Past 7 Days"
+msgstr "7 ngày vừa qua"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:156
+msgid "Past 30 Days"
+msgstr "30 ngày vừa qua"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:160
+msgid "Last Week"
+msgstr "Tuần trước"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:164
+msgid "Last Month"
+msgstr "Tháng trước"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:168
+msgid "Last Year"
+msgstr "Năm trước"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:172
+msgid "This Week"
+msgstr "Tuần này"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:176
+msgid "This Month"
+msgstr "Tháng này"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:180
+msgid "This Year"
+msgstr "Năm nay"
+
+#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:89
+#: frontend/src/metabase/parameters/components/widgets/TextWidget.jsx:54
+msgid "Enter a value..."
+msgstr "Nhập một giá trị..."
+
+#: frontend/src/metabase/parameters/components/widgets/TextWidget.jsx:90
+msgid "Enter a default value..."
+msgstr "Nhập một giá trị mặc định..."
+
+#: frontend/src/metabase/public/components/PublicError.jsx:18
+msgid "An error occurred"
+msgstr "Có lỗi xảy ra"
+
+#: frontend/src/metabase/public/components/PublicNotFound.jsx:11
+msgid "Not found"
+msgstr "Không tìm thấy"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:82
+msgid "You’ve made changes that need to be published before they will be reflected in your application embed."
+msgstr "Bạn đã thực hiện các thay đổi cần được công bố trước khi chúng được phản ánh trong ứng dụng của bạn được nhúng."
+
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:83
+msgid "You will need to publish this {0} before you can embed it in another application."
+msgstr "You will need to publish this {0} before you can embed it in another application."
+
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:92
+msgid "Discard Changes"
+msgstr "Bỏ thay đổi"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:99
+msgid "Updating..."
+msgstr "Đang cập nhật..."
+
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:100
+msgid "Updated"
+msgstr "Đã cập nhật"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:101
+msgid "Failed!"
+msgstr "Thất bại!"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:102
+msgid "Publish"
+msgstr "Xuất bản"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedEmbedPane.jsx:111
+msgid "Code"
+msgstr "Mã"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:70
+#: frontend/src/metabase/visualizations/lib/settings/column.js:282
+msgid "Style"
+msgstr "Phong cách"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:80
+msgid "Which parameters can users of this embed use?"
+msgstr "Những thông số nào người dùng có thể sử dụng nhúng này"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:83
+msgid "This {0} doesn't have any parameters to configure yet."
+msgstr "{0} này chưa có bất kì thông số nào để định cấu hình."
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:104
+msgid "Editable"
+msgstr "Có thể chỉnh sửa"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:105
+msgid "Locked"
+msgstr "Đã khóa"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:113
+msgid "Preview Locked Parameters"
+msgstr "Xem trước thông số đã khóa"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:115
+msgid "Try passing some values to your locked parameters here. Your server will have to provide the actual values in the signed token when using this for real."
+msgstr "Hãy thử chuyển một số giá trị cho các tham số bị khóa của bạn ở đây. Máy chủ của bạn sẽ phải cung cấp các giá trị thực tế trong mã thông báo đã ký khi sử dụng giá trị thực này."
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:126
+msgid "Danger zone"
+msgstr "Khu vực nguy hiểm"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:127
+msgid "This will disable embedding for this {0}."
+msgstr "Điều này sẽ vô hiệu nhúng cho {0}"
+
+#: frontend/src/metabase/public/components/widgets/AdvancedSettingsPane.jsx:128
+msgid "Unpublish"
+msgstr "Hủy xuất bản"
+
+#: frontend/src/metabase/public/components/widgets/DisplayOptionsPane.jsx:17
+msgid "Light"
+msgstr "Sáng"
+
+#: frontend/src/metabase/public/components/widgets/DisplayOptionsPane.jsx:18
+msgid "Dark"
+msgstr "Tối"
+
+#: frontend/src/metabase/public/components/widgets/DisplayOptionsPane.jsx:37
+msgid "Border"
+msgstr "Biên"
+
+#: frontend/src/metabase/public/components/widgets/EmbedCodePane.jsx:62
+msgid "To embed this {0} in your application:"
+msgstr "Nhúng {0} trong ứng dụng của bạn"
+
+#: frontend/src/metabase/public/components/widgets/EmbedCodePane.jsx:64
+msgid "Insert this code snippet in your server code to generate the signed embedding URL "
+msgstr "Chèn đoạn mã này vào mã máy chủ của bạn để tạo URL nhúng đã ký "
+
+#: frontend/src/metabase/public/components/widgets/EmbedCodePane.jsx:87
+msgid "Then insert this code snippet in your HTML template or single page app."
+msgstr "Sau đó chèn đoạn mã này vào mẫu HTML hoặc ứng dụng trang đơn."
+
+#: frontend/src/metabase/public/components/widgets/EmbedCodePane.jsx:94
+msgid "Embed code snippet for your HTML or Frontend Application"
+msgstr "Đoạn mã nhúng cho ứng dụng HTML hoặc Frontend của bạn"
+
+#: frontend/src/metabase/public/components/widgets/EmbedCodePane.jsx:101
+msgid "More {0}"
+msgstr "Nhiều {0} hơn"
+
+#: frontend/src/metabase/public/components/widgets/EmbedCodePane.jsx:103
+msgid "examples on GitHub"
+msgstr "Ví dụ trên GitHub"
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:72
+msgid "Enable sharing"
+msgstr "Cho phép chia sẻ"
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:76
+msgid "Disable this public link?"
+msgstr "Vô hiệu hóa đường dẫn công khai này?"
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:77
+msgid "This will cause the existing link to stop working. You can re-enable it, but when you do it will be a different link."
+msgstr "Điều này sẽ khiến liên kết hiện tại ngừng hoạt động. Bạn có thể kích hoạt lại nó, nhưng khi bạn làm điều đó sẽ là một liên kết khác."
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:117
+msgid "Public link"
+msgstr "Đường dẫn công khai"
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:118
+msgid "Share this {0} with people who don't have a Metabase account using the URL below:"
+msgstr "Chia sẻ {0} này với người không có tài khoản Metabase sử dụng URL phía dưới:"
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:158
+msgid "Public embed"
+msgstr "Nhúng công khai"
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:159
+msgid "Embed this {0} in blog posts or web pages by copying and pasting this snippet:"
+msgstr "Nhúng {0} này vào các bài đăng trên blog hoặc trang web bằng cách sao chép và dán đoạn mã này:"
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:176
+msgid "Embed this {0} in an application"
+msgstr "Nhúng {0} này trong ứng dụng"
+
+#: frontend/src/metabase/public/components/widgets/SharingPane.jsx:177
+msgid "By integrating with your application server code, you can provide a secure stats {0} limited to a specific user, customer, organization, etc."
+msgstr "Bằng cách tích hợp với mã máy chủ ứng dụng của bạn, bạn có thể cung cấp số liệu thống kê an toàn {0} giới hạn cho một người dùng, khách hàng, tổ chức cụ thể, v.v."
+
+#: frontend/src/metabase/pulse/components/PulseCardPreview.jsx:94
+msgid "Remove attachment"
+msgstr "Loại bỏ đính kèm"
+
+#: frontend/src/metabase/pulse/components/PulseCardPreview.jsx:95
+msgid "Attach file with results"
+msgstr "Đính kèm tệp với các kết quả"
+
+#: frontend/src/metabase/pulse/components/PulseCardPreview.jsx:127
+msgid "This question will be added as a file attachment"
+msgstr "Câu hỏi này sẽ được thêm vào như một tệp đính kèm"
+
+#: frontend/src/metabase/pulse/components/PulseCardPreview.jsx:128
+msgid "This question won't be included in your Pulse"
+msgstr "Câu hỏi này sẽ không được bao gồm trong Xung của bạn"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:92
+msgid "This pulse will no longer be emailed to {0} {1}"
+msgstr "Xung này sẽ không còn được gửi qua email tới {0} {1}"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:94
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:376
+msgid "{0} address"
+msgid_plural "{0} addresses"
+msgstr[0] "Địa chỉ {0}"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:102
+msgid "Slack channel {0} will no longer get this pulse {1}"
+msgstr "Kênh Slack {0} sẽ không còn nhận được xung này {1} "
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:110
+msgid "Channel {0} will no longer receive this pulse {1}"
+msgstr "Kênh {0} sẽ không còn nhận được xung này {1}"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:127
+msgid "Edit pulse"
+msgstr "Chỉnh sửa xung"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:131
+msgid "What's a Pulse?"
+msgstr "Xung là gì?"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:141
+msgid "Got it"
+msgstr "Đã hiểu"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:157
+msgid "Where should this data go?"
+msgstr "Dữ liệu này nên đến đâu?"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:173
+msgid "Unarchiving…"
+msgstr "Đang bỏ lưu trữ..."
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:174
+msgid "Unarchive failed"
+msgstr "Bỏ lưu trữ thất bại"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:175
+msgid "Unarchived"
+msgstr "Đã bỏ lưu trữ"
+
+#: frontend/src/metabase/pulse/components/PulseEdit.jsx:182
+msgid "Create pulse"
+msgstr "Tạo xung"
+
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:90
+msgid "Attachment"
+msgstr "Đính kèm"
+
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:104
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:111
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:673
+msgid "Heads up"
+msgstr "Đứng lên"
+
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:105
+msgid "We'll show the first 10 columns and 20 rows of this table in your Pulse. If you email this, we'll add a file attachment with all columns and up to 2,000 rows."
+msgstr "Chúng tôi sẽ hiển thị 10 cột đầu tiên và 20 hàng của bảng này trong Xung của bạn. Nếu bạn gửi email này, chúng tôi sẽ thêm tệp đính kèm với tất cả các cột và tối đa 2.000 hàng."
+
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:112
+msgid "Raw data questions can only be included as email attachments"
+msgstr "Câu hỏi dữ liệu thô chỉ có thể được bao gồm dưới dạng tệp đính kèm email"
+
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:119
+msgid "Looks like this pulse is getting big"
+msgstr "Có vẻ như xung này đang trở nên lớn"
+
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:120
+msgid "We recommend keeping pulses small and focused to help keep them digestible and useful to the whole team."
+msgstr "Chúng tôi khuyên bạn nên giữ xung nhỏ và tập trung để giúp giữ cho chúng dễ tiêu hóa và hữu ích cho cả nhóm."
+
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:160
+msgid "Pick your data"
+msgstr "Chọn dữ liệu của bạn"
+
+#: frontend/src/metabase/pulse/components/PulseEditCards.jsx:162
+msgid "Choose questions you'd like to send in this pulse"
+msgstr "Chọn câu hỏi bạn muốn gửi trong xung này"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:27
+msgid "Emails"
+msgstr "Email"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:28
+msgid "Slack messages"
+msgstr "Tin nhắn Slack"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:221
+msgid "Sent"
+msgstr "Đã gửi"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:222
+msgid "{0} will be sent at"
+msgstr "{0} sẽ được gửi tại"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:224
+msgid "Messages"
+msgstr "Tin nhắn"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:240
+msgid "Send email now"
+msgstr "Gửi email bây giờ"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:241
+msgid "Send to {0} now"
+msgstr "Gửi đến {0} bây giờ"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:243
+msgid "Sending…"
+msgstr "Đang gửi"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:244
+msgid "Sending failed"
+msgstr "Gửi thất bại"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:247
+msgid "Didn’t send because the pulse has no results."
+msgstr "Không gửi vì xung không có kết quả"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:248
+msgid "Pulse sent"
+msgstr "Đã gửi xung"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:287
+msgid "{0} needs to be set up by an administrator."
+msgstr "{0} cần được cài đặt bởi quản trị viên"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:302
+msgid "Slack"
+msgstr "Slack"
+
+#: frontend/src/metabase/pulse/components/PulseEditCollection.jsx:12
+msgid "Which collection should this pulse live in?"
+msgstr "Xung này nên ở trong bộ sưu tập nào? "
+
+#: frontend/src/metabase/pulse/components/PulseEditName.jsx:35
+msgid "Name your pulse"
+msgstr "Đặt tên cho xung của bạn"
+
+#: frontend/src/metabase/pulse/components/PulseEditName.jsx:37
+msgid "Give your pulse a name to help others understand what it's about"
+msgstr "Đặt tên cho xung của bạn để giúp người khác hiểu nó là cái gì"
+
+#: frontend/src/metabase/pulse/components/PulseEditName.jsx:49
+msgid "Important metrics"
+msgstr "Số đo quan trọng"
+
+#: frontend/src/metabase/pulse/components/PulseEditSkip.jsx:22
+msgid "Skip if no results"
+msgstr "Bỏ qua nếu không có kết quả"
+
+#: frontend/src/metabase/pulse/components/PulseEditSkip.jsx:24
+msgid "Skip a scheduled Pulse if none of its questions have any results"
+msgstr "Bỏ qua xung đã lên lịch nếu không có câu hỏi nào có kết quả"
+
+#: frontend/src/metabase/pulse/components/RecipientPicker.jsx:65
+msgid "Enter email addresses you'd like this data to go to"
+msgstr "Nhập địa chỉ email bạn muốn dữ liệu này tới"
+
+#: frontend/src/metabase/pulse/components/WhatsAPulse.jsx:16
+msgid "Help everyone on your team stay in sync with your data."
+msgstr "Giúp mọi người trong nhóm của bạn tiếp tục đồng bộ với dữ liệu của bạn."
+
+#: frontend/src/metabase/pulse/components/WhatsAPulse.jsx:30
+msgid "Pulses let you send data from Metabase to email or Slack on the schedule of your choice."
+msgstr "Các xung cho phép bạn gửi dữ liệu từ Metabase đến email hoặc Slack theo lịch bạn chọn"
+
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:100
+msgid "After {0}"
+msgstr "Sau {0}"
+
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:102
+msgid "Before {0}"
+msgstr "TrÆ°á»›c {0}"
+
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:104
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:295
+msgid "Is Empty"
+msgstr "Trống rỗng"
+
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:106
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:301
+msgid "Not Empty"
+msgstr "Không trống rỗng"
+
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:109
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:213
+msgid "All Time"
+msgstr "Tất cả thời gian"
+
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:154
+msgid "Apply"
+msgstr "Áp dụng"
+
+#: frontend/src/metabase/modes/components/actions/CommonMetricsAction.jsx:21
+msgid "View {0}"
+msgstr "Xem {0}"
+
+#: frontend/src/metabase/modes/components/actions/CompareWithTable.jsx:29
+msgid "Compare this with all rows in the table"
+msgstr "So sánh cái này với tất cả các hàng trong bảng"
+
+#: frontend/src/metabase/modes/components/actions/CompoundQueryAction.jsx:14
+msgid "Analyze the results of this Query"
+msgstr "Phân tích kết quả của truy vấn này"
+
+#: frontend/src/metabase/modes/components/actions/CountByTimeAction.jsx:29
+msgid "Count of rows by time"
+msgstr "Số dòng theo thời gian"
+
+#: frontend/src/metabase/modes/components/actions/PivotByAction.jsx:52
+msgid "Break out by {0}"
+msgstr "Thoát ra bằng {0}"
+
+#: frontend/src/metabase/modes/components/actions/SummarizeBySegmentMetricAction.jsx:31
+msgid "Summarize this segment"
+msgstr "Tổng hợp phân đoạn này"
+
+#: frontend/src/metabase/modes/components/actions/UnderlyingDataAction.jsx:14
+msgid "View this as a table"
+msgstr "Xem như một bảng"
+
+#: frontend/src/metabase/modes/components/actions/UnderlyingRecordsAction.jsx:22
+msgid "View the underlying {0} records"
+msgstr "Xem các bản ghi {0} bên dưới"
+
+#: frontend/src/metabase/modes/components/actions/XRayCard.jsx:20
+msgid "X-Ray this question"
+msgstr "X-Ray câu hỏi này"
+
+#: frontend/src/metabase/qb/components/drill/AutomaticDashboardDrill.jsx:32
+msgid "X-ray {0} {1}"
+msgstr "X-ray {0} {1}"
+
+#: frontend/src/metabase/qb/components/drill/AutomaticDashboardDrill.jsx:32
+#: frontend/src/metabase/qb/components/drill/CompareToRestDrill.js:32
+msgid "these"
+msgstr "Những cái nà"
+
+#: frontend/src/metabase/qb/components/drill/AutomaticDashboardDrill.jsx:32
+#: frontend/src/metabase/qb/components/drill/CompareToRestDrill.js:32
+msgid "this"
+msgstr "này"
+
+#: frontend/src/metabase/qb/components/drill/CompareToRestDrill.js:32
+msgid "Compare {0} {1} to the rest"
+msgstr "So sánh {0} {1} tới hết"
+
+#: frontend/src/metabase/modes/components/drill/DistributionDrill.jsx:35
+msgid "Distribution"
+msgstr "Phân phối"
+
+#: frontend/src/metabase/modes/components/drill/ObjectDetailDrill.jsx:38
+msgid "View details"
+msgstr "Xem chi tiết"
+
+#: frontend/src/metabase/modes/components/drill/QuickFilterDrill.jsx:54
+msgid "View this {0}'s {1}"
+msgstr "Xem {0} của {1}"
+
+#: frontend/src/metabase/modes/components/drill/SortAction.jsx:42
+msgid "Ascending"
+msgstr "Tăng dần"
+
+#: frontend/src/metabase/modes/components/drill/SortAction.jsx:50
+msgid "Descending"
+msgstr "Giảm dần"
+
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnByTimeDrill.js:47
+msgid "over time"
+msgstr "Thêm giờ"
+
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:21
+msgid "Avg"
+msgstr "Trung bình"
+
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:33
+msgid "Distincts"
+msgstr "Khác biệt"
+
+#: frontend/src/metabase/modes/components/drill/UnderlyingRecordsDrill.jsx:32
+msgid "View this {0}"
+msgid_plural "View these {0}"
+msgstr[0] "Xem {0}"
+
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:225
+#: frontend/src/metabase/modes/components/drill/ZoomDrill.jsx:26
+msgid "Zoom in"
+msgstr "Phóng to"
+
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:19
+msgid "Custom Expression"
+msgstr "Biểu hiện tùy chỉnh"
+
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:20
+msgid "Common Metrics"
+msgstr "Số liệu chung"
+
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:209
+msgid "Metabasics"
+msgstr "Metabasics"
+
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:319
+msgid "Name (optional)"
+msgstr "Tên (tùy chọn)"
+
+#: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:156
+msgid "Choose an aggregation"
+msgstr "Chọn một tập hợp"
+
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:100
+msgid "Set up your own alert"
+msgstr "Thiết lập cảnh báo của riêng bạn"
+
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:140
+msgid "Unsubscribing..."
+msgstr "Đang bỏ theo dõi..."
+
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:145
+msgid "Failed to unsubscribe"
+msgstr "Thất bại bỏ theo dõi"
+
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:204
+msgid "Unsubscribe"
+msgstr "Bỏ theo dõi"
+
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:235
+msgid "No channel"
+msgstr "Không có kênh nào"
+
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:263
+msgid "Okay, you're unsubscribed"
+msgstr "Được rồi, bạn đã hủy đăng ký "
+
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:335
+msgid "You're receiving {0}'s alerts"
+msgstr "Bạn đang nhận cảnh báo của {0}"
+
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:336
+msgid "{0} set up an alert"
+msgstr "{0} thiết lập một cảnh bảo"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:160
+msgid "alerts"
+msgstr "cảnh báo"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:183
+msgid "Let's set up your alert"
+msgstr "Hãy thiết lập cảnh báo của bạn"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:214
+msgid "The wide world of alerts"
+msgstr "Thế giới cảnh báo rộng lớn"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:215
+msgid "There are a few different kinds of alerts you can get"
+msgstr "Có một vài loại cảnh báo khác nhau mà bạn có thể nhận được"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:229
+msgid "When a raw data question {0}"
+msgstr "Khi một câu hỏi dữ liệu thô {0}"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:230
+msgid "returns any results"
+msgstr "trả về bất kỳ kết quả nào"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:241
+msgid "When a line or bar {0}"
+msgstr "Khi một dòng hoặc thanh {0}"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:242
+msgid "crosses a goal line"
+msgstr "vượt qua một mục tiêu"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:253
+msgid "When a progress bar {0}"
+msgstr "Khi một thanh tiến trình {0}"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:254
+msgid "reaches its goal"
+msgstr "đạt được mục tiêu của nó"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:262
+msgid "Set up an alert"
+msgstr "Thiết lập cảnh báo"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:331
+msgid "Edit your alert"
+msgstr "Chỉnh sửa cảnh báo của bạn"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:331
+msgid "Edit alert"
+msgstr "Chỉnh sửa cảnh báo"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:374
+msgid "This alert will no longer be emailed to {0}."
+msgstr "Thông báo này sẽ không còn được gửi qua email tới {0}."
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:382
+msgid "Slack channel {0} will no longer get this alert."
+msgstr "Kênh Slack {0} sẽ không còn nhận được cảnh báo này nữa"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:386
+msgid "Channel {0} will no longer receive this alert."
+msgstr "Kênh {0} sẽ không còn nhận được cảnh báo này nữa"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:403
+msgid "Delete this alert"
+msgstr "Xóa thông báo này"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:405
+msgid "Stop delivery and delete this alert. There's no undo, so be careful."
+msgstr "Dừng giao hàng và xóa thông báo này. Không có hoàn tác, vì vậy hãy cẩn thận."
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:413
+msgid "Delete this alert?"
+msgstr "Xóa cảnh báo này?"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:497
+msgid "Alert me when the line…"
+msgstr "Thông báo cho tôi khi đường..."
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:498
+msgid "Alert me when the progress bar…"
+msgstr "Thông báo cho tôi khi thanh tiến trình"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:501
+msgid "Goes above the goal line"
+msgstr "Đi trên vạch đích"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:501
+msgid "Reaches the goal"
+msgstr "Đạt được mục tiêu"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:504
+msgid "Goes below the goal line"
+msgstr "Đi dưới vạch đích"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:504
+msgid "Goes below the goal"
+msgstr "Đi dưới mục tiêu"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:512
+msgid "The first time it crosses, or every time?"
+msgstr "Lần đầu tiên nó đi qua, hay mỗi lần?"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:513
+msgid "The first time it reaches the goal, or every time?"
+msgstr "Lần đầu tiên nó đạt được mục tiêu, hay mọi lần?"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:515
+msgid "The first time"
+msgstr "Lần đầu tiên"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:516
+msgid "Every time"
+msgstr "Mỗi lần"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:619
+msgid "Where do you want to send these alerts?"
+msgstr "Bạn muốn gửi những thông báo này tới đâu"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:630
+msgid "Email alerts to:"
+msgstr "Thông báo email tới:"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:672
+msgid "{0} Goal-based alerts aren't yet supported for charts with more than one line, so this alert will be sent whenever the chart has {1}."
+msgstr "{0} Cảnh báo dựa trên mục tiêu chưa được hỗ trợ cho các biểu đồ có nhiều hơn một dòng, vì vậy cảnh báo này sẽ được gửi bất cứ khi nào biểu đồ có {1}."
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:675
+msgid "results"
+msgstr "kết quả"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:679
+msgid "{0} This kind of alert is most useful when your saved question doesn’t {1} return any results, but you want to know when it does."
+msgstr "{0} Loại cảnh báo này hữu ích nhất khi câu hỏi đã lưu của bạn không {1} trả về bất kỳ kết quả nào, nhưng bạn muốn biết khi nào nó xảy ra."
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:680
+msgid "Tip"
+msgstr "Tip"
+
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:682
+msgid "usually"
+msgstr "thường"
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:57
+msgid "Pick a segment or table"
+msgstr "Chọn một phân đoạn hoặc bảng"
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:73
+msgid "Select a database"
+msgstr "Chọn một cơ sở dữ liệu"
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:88
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:87
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:187
+#: frontend/src/metabase/reference/components/MetricImportantFieldsDetail.jsx:35
+msgid "Select..."
+msgstr "Lựa chọn..."
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:128
+msgid "Select a table"
+msgstr "Chọn một bảng"
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:793
+msgid "No tables found in this database."
+msgstr "Không có bảng nào được tìm thấy trong cơ sở dữ liệu này"
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:830
+msgid "Is a question missing?"
+msgstr "Có phải một câu hỏi đang thiếu?"
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:834
+msgid "Learn more about nested queries"
+msgstr "Tìm hiểu thêm về các truy vấn lồng nhau"
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:868
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:30
+msgid "Fields"
+msgstr "Các trường"
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:946
+msgid "No segments were found."
+msgstr "Không có phân đoạn nào được tìm thấy"
+
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:969
+msgid "Find a segment"
+msgstr "Tìm một phân đoạn"
+
+#: frontend/src/metabase/query_builder/components/ExpandableString.jsx:46
+msgid "View less"
+msgstr "Xem ít hơn"
+
+#: frontend/src/metabase/query_builder/components/ExpandableString.jsx:56
+msgid "View more"
+msgstr "Xem nhiều hơn"
+
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:112
+msgid "Pick a field to sort by"
+msgstr "Chọn một trường để phân loại"
+
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:125
+msgid "Sort"
+msgstr "Phân loại"
+
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:137
+msgid "Row limit"
+msgstr "Giới hạn dòng"
+
+#: frontend/src/metabase/query_builder/components/FieldName.jsx:69
+msgid "Unknown Field"
+msgstr "Trường không xác định"
+
+#: frontend/src/metabase/query_builder/components/FieldName.jsx:72
+msgid "field"
+msgstr "trường"
+
+#: frontend/src/metabase/query_builder/components/Filter.jsx:114
+msgid "Matches"
+msgstr "Những sự kết hợp"
+
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:152
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:160
+msgid "Add filters to narrow your answer"
+msgstr "Thêm bộ lọc để thu hẹp câu trả lời của bạn"
+
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:284
+msgid "Add a grouping"
+msgstr "Thêm một nhóm"
+
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:322
+#: frontend/src/metabase/visualizations/components/LineAreaBarChart.jsx:102
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:113
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:152
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:194
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:59
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:68
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:75
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:225
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:231
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:237
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:70
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:75
+msgid "Data"
+msgstr "Dữ liệu"
+
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:352
+msgid "Filtered by"
+msgstr "Lọc bởi"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:75
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:369
+msgid "View"
+msgstr "Xem"
+
+#: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:386
+msgid "Grouped By"
+msgstr "Được nhóm bởi"
+
+#: frontend/src/metabase/query_builder/components/LimitWidget.jsx:27
+msgid "None"
+msgstr "Không"
+
+#: frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx:345
+msgid "This question is written in {0}."
+msgstr "Câu hỏi này được viết bằng {0}"
+
+#: frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx:353
+msgid "Hide Editor"
+msgstr "Ẩn biên tập"
+
+#: frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx:354
+msgid "Hide Query"
+msgstr "Ẩn truy vấn"
+
+#: frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx:359
+msgid "Open Editor"
+msgstr "Mở trình chỉnh sửa"
+
+#: frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx:360
+msgid "Show Query"
+msgstr "Hiển thị truy vấn"
+
+#: frontend/src/metabase/query_builder/components/QueryDefinitionTooltip.jsx:25
+msgid "This metric has been retired.  It's no longer available for use."
+msgstr "Số liệu này đã được bỏ. Nó không còn có sẵn để sử dụng."
+
+#: frontend/src/metabase/query_builder/components/QueryDownloadWidget.jsx:34
+#: frontend/src/metabase/query_builder/components/QueryDownloadWidget.jsx:46
+msgid "Download full results"
+msgstr "Tải xuống kết quả đầy đủ"
+
+#: frontend/src/metabase/query_builder/components/QueryDownloadWidget.jsx:35
+msgid "Download this data"
+msgstr "Tải xuống dữ liệu này"
+
+#: frontend/src/metabase/query_builder/components/QueryDownloadWidget.jsx:46
+msgid "Warning"
+msgstr "Cảnh báo"
+
+#: frontend/src/metabase/query_builder/components/QueryDownloadWidget.jsx:52
+msgid "Your answer has a large number of rows so it could take a while to download."
+msgstr "Câu trả lời của bạn có số lượng lớn các hàng để có thể mất một lúc để tải xuống."
+
+#: frontend/src/metabase/query_builder/components/QueryDownloadWidget.jsx:53
+msgid "The maximum download size is 1 million rows."
+msgstr "Kích thước tải xuống tối đa là 1 triệu hàng."
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:232
+msgid "Edit question"
+msgstr "Chỉnh sửa câu hỏi"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:249
+msgid "SAVE CHANGES"
+msgstr "LƯU THAY ĐỔI"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:263
+msgid "CANCEL"
+msgstr "HỦY BỎ"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:276
+msgid "Move question"
+msgstr "Di chuyển câu hỏi"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:283
+msgid "Which collection should this be in?"
+msgstr "Cái này nên ở trong bộ sưu tập nào?"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:313
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:110
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorSidebar.jsx:83
+msgid "Variables"
+msgstr "Các biến"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:432
+msgid "Learn about your data"
+msgstr "Tìm hiểu về dữ liệu của bạn"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:460
+msgid "Alerts are on"
+msgstr "Thông báo đang bật"
+
+#: frontend/src/metabase/query_builder/components/QueryHeader.jsx:522
+msgid "started from"
+msgstr "được bắt đầu từ"
+
+#: frontend/src/metabase/query_builder/components/QueryModeButton.jsx:48
+msgid "SQL"
+msgstr "SQL"
+
+#: frontend/src/metabase/query_builder/components/QueryModeButton.jsx:48
+msgid "native query"
+msgstr "truy vấn gốc"
+
+#: frontend/src/metabase/query_builder/components/QueryModeButton.jsx:52
+msgid "Not Supported"
+msgstr "Không hỗ trợ"
+
+#: frontend/src/metabase/query_builder/components/QueryModeButton.jsx:58
+msgid "View the {0}"
+msgstr "Xem {0}"
+
+#: frontend/src/metabase/query_builder/components/QueryModeButton.jsx:59
+msgid "Switch to {0}"
+msgstr "Chuyển sang {0}"
+
+#: frontend/src/metabase/query_builder/components/QueryModeButton.jsx:62
+msgid "Switch to Builder"
+msgstr "Chuyển sang Builder"
+
+#: frontend/src/metabase/query_builder/components/QueryModeButton.jsx:87
+msgid "{0} for this question"
+msgstr "{0} cho câu hỏi này"
+
+#: frontend/src/metabase/query_builder/components/QueryModeButton.jsx:111
+msgid "Convert this question to {0}"
+msgstr "Chuyển đổi câu hỏi này thành {0}"
+
+#: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:122
+msgid "This question will take approximately {0} to refresh"
+msgstr "Câu hỏi này sẽ mất khoảng {0} để làm mới"
+
+#: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:131
+msgid "Updated {0}"
+msgstr "Đã cập nhật {0}"
+
+#: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:141
+msgid "row"
+msgid_plural "rows"
+msgstr[0] "hàng"
+
+#: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:148
+msgid "Showing first {0} {1}"
+msgstr "Hiển thị đầu tiên {0} {1}"
+
+#: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:151
+msgid "Showing {0} {1}"
+msgstr "Hiển thị {0} {1}"
+
+#: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:281
+msgid "Doing science"
+msgstr "Làm khoa học"
+
+#: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:294
+msgid "If you give me some data I can show you something cool. Run a Query!"
+msgstr "Nếu bạn cho tôi một số dữ liệu tôi có thể cho bạn thấy một cái gì đó tuyệt vời. Chạy một truy vấn!"
+
+#: frontend/src/metabase/query_builder/components/QueryVisualization.jsx:299
+msgid "How do I use this thing?"
+msgstr "Làm thế nào để tôi sử dụng điều này?"
+
+#: frontend/src/metabase/query_builder/components/RunButton.jsx:28
+msgid "Get Answer"
+msgstr "Nhận câu trả lời"
+
+#: frontend/src/metabase/query_builder/components/SavedQuestionIntroModal.jsx:12
+msgid "It's okay to play around with saved questions"
+msgstr "Bạn có thể chơi xung quanh với những câu hỏi đã lưu"
+
+#: frontend/src/metabase/query_builder/components/SavedQuestionIntroModal.jsx:14
+msgid "You won't make any permanent changes to a saved question unless you click the edit icon in the top-right."
+msgstr "Bạn sẽ không thực hiện bất kỳ thay đổi vĩnh viễn nào cho câu hỏi đã lưu trừ khi bạn nhấp vào biểu tượng chỉnh sửa ở góc trên bên phải."
+
+#: frontend/src/metabase/query_builder/components/SearchBar.jsx:28
+msgid "Search for"
+msgstr "Tìm kiếm"
+
+#: frontend/src/metabase/query_builder/components/SelectionModule.jsx:158
+msgid "Advanced..."
+msgstr "Nâng cao..."
+
+#: frontend/src/metabase/query_builder/components/SelectionModule.jsx:167
+msgid "Sorry. Something went wrong."
+msgstr "Lấy làm tiếc. Đã xảy ra lỗi."
+
+#: frontend/src/metabase/query_builder/components/TimeGroupingPopover.jsx:40
+msgid "Group time by"
+msgstr "Nhóm thời gian bằng"
+
+#: frontend/src/metabase/query_builder/components/VisualizationError.jsx:46
+msgid "Your question took too long"
+msgstr "Câu hỏi của bạn mất quá nhiều thời gian"
+
+#: frontend/src/metabase/query_builder/components/VisualizationError.jsx:47
+msgid "We didn't get an answer back from your database in time, so we had to stop. You can try again in a minute, or if the problem persists, you can email an admin to let them know."
+msgstr "Chúng tôi đã không nhận được câu trả lời từ cơ sở dữ liệu của bạn kịp thời, vì vậy chúng tôi đã phải dừng lại. Bạn có thể thử lại sau một phút hoặc nếu sự cố vẫn còn, bạn có thể gửi email cho quản trị viên để thông báo cho họ biết."
+
+#: frontend/src/metabase/query_builder/components/VisualizationError.jsx:55
+msgid "We're experiencing server issues"
+msgstr "Chúng tôi đang gặp sự cố máy chủ"
+
+#: frontend/src/metabase/query_builder/components/VisualizationError.jsx:56
+msgid "Try refreshing the page after waiting a minute or two. If the problem persists we'd recommend you contact an admin."
+msgstr "Hãy thử làm mới trang sau khi đợi một hoặc hai phút. Nếu vấn đề vẫn còn, chúng tôi khuyên bạn nên liên hệ với quản trị viên."
+
+#: frontend/src/metabase/query_builder/components/VisualizationError.jsx:88
+msgid "There was a problem with your question"
+msgstr "Có một vấn đề với câu hỏi của bạn"
+
+#: frontend/src/metabase/query_builder/components/VisualizationError.jsx:89
+msgid "Most of the time this is caused by an invalid selection or bad input value. Double check your inputs and retry your query."
+msgstr "Hầu hết thời gian này là do lựa chọn không hợp lệ hoặc giá trị đầu vào xấu. Kiểm tra lại đầu vào của bạn và thử lại truy vấn của bạn."
+
+#: frontend/src/metabase/query_builder/components/VisualizationResult.jsx:60
+msgid "This may be the answer you’re looking for. If not, try removing or changing your filters to make them less specific."
+msgstr "Đây có thể là câu trả lời mà bạn đang tìm kiếm. Nếu không, hãy thử loại bỏ hoặc thay đổi các bộ lọc của bạn để làm cho chúng ít cụ thể hơn."
+
+#: frontend/src/metabase/query_builder/components/VisualizationResult.jsx:66
+msgid "You can also {0} when there are some results."
+msgstr "Bạn cũng có thể {0} khi có một số kết quả."
+
+#: frontend/src/metabase/query_builder/components/VisualizationResult.jsx:68
+msgid "get an alert"
+msgstr "nhận một thông báo"
+
+#: frontend/src/metabase/query_builder/components/VisualizationResult.jsx:77
+msgid "Back to last run"
+msgstr "Quay lại lần chạy trước"
+
+#: frontend/src/metabase/query_builder/components/VisualizationSettings.jsx:100
+msgid "Visualization"
+msgstr "Hình ảnh hóa"
+
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:96
+msgid "No description set."
+msgstr "Không có bộ mô tả."
+
+#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:21
+msgid "Use for current question"
+msgstr "Sử dụng cho câu hỏi hiện tại"
+
+#: frontend/src/metabase/reference/components/UsefulQuestions.jsx:16
+msgid "Potentially useful questions"
+msgstr "Câu hỏi tiềm năng hữu ích"
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:166
+msgid "Group by {0}"
+msgstr "Nhóm theo {0}"
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:165
+msgid "Sum of all values of {0}"
+msgstr "Tổng tất cả các giá trị của {0}"
+
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:63
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:51
+msgid "All distinct values of {0}"
+msgstr "Tất cả các giá trị riêng biệt của {0}"
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:187
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:39
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:51
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:39
+msgid "Number of {0} grouped by {1}"
+msgstr "Số {0} được nhóm theo {1}"
+
+#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:10
+#: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:20
+#: frontend/src/metabase/reference/databases/FieldSidebar.jsx:30
+#: frontend/src/metabase/reference/databases/TableSidebar.jsx:26
+#: frontend/src/metabase/reference/guide/BaseSidebar.jsx:17
+#: frontend/src/metabase/reference/guide/BaseSidebar.jsx:19
+#: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:23
+#: frontend/src/metabase/reference/segments/SegmentFieldSidebar.jsx:24
+#: frontend/src/metabase/reference/segments/SegmentSidebar.jsx:23
+msgid "Data Reference"
+msgstr "Dữ liệu tham khảo"
+
+#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:13
+msgid "Learn more about your data structure to ask more useful questions"
+msgstr "Tìm hiểu thêm về cấu trúc dữ liệu của bạn để hỏi những câu hỏi hữu ích hơn"
+
+#: frontend/src/metabase/query_builder/components/dataref/MetricPane.jsx:58
+#: frontend/src/metabase/query_builder/components/dataref/SegmentPane.jsx:84
+msgid "Could not find the table metadata prior to creating a new question"
+msgstr "Không thể tìm thấy siêu dữ liệu bảng trước khi tạo câu hỏi mới"
+
+#: frontend/src/metabase/query_builder/components/dataref/MetricPane.jsx:80
+msgid "See {0}"
+msgstr "Xem {0}"
+
+#: frontend/src/metabase/query_builder/components/dataref/MetricPane.jsx:94
+msgid "Metric Definition"
+msgstr "Định nghĩa số liệu"
+
+#: frontend/src/metabase/query_builder/components/dataref/SegmentPane.jsx:118
+msgid "Filter by {0}"
+msgstr "Lọc bởi {0}"
+
+#: frontend/src/metabase/query_builder/components/dataref/SegmentPane.jsx:127
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:36
+msgid "Number of {0}"
+msgstr "Số của {0}"
+
+#: frontend/src/metabase/query_builder/components/dataref/SegmentPane.jsx:134
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:46
+msgid "See all {0}"
+msgstr "Xem tất cả {0}"
+
+#: frontend/src/metabase/query_builder/components/dataref/SegmentPane.jsx:148
+msgid "Segment Definition"
+msgstr "Định nghĩa phân đoạn"
+
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:50
+msgid "An error occurred loading the table"
+msgstr "Lỗi xảy ra khi tải bảng"
+
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:74
+msgid "See the raw data for {0}"
+msgstr "Xem dữ liệu thô cho {0}"
+
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:180
+msgid "More"
+msgstr "Nhiều hơn"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:201
+msgid "Invalid expression"
+msgstr "Biểu hiện không hợp lệ"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:276
+msgid "unknown error"
+msgstr "lỗi không xác định"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:46
+msgid "Field formula"
+msgstr "Công thức trường"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:57
+msgid "Think of this as being kind of like writing a formula in a spreadsheet program: you can use numbers, fields in this table, mathematical symbols like +, and some functions. So you could type something like Subtotal - Cost."
+msgstr "Hãy nghĩ về điều này giống như viết một công thức trong chương trình bảng tính: bạn có thể sử dụng các số, các trường trong bảng này, các ký hiệu toán học như + và một số hàm. Vì vậy, bạn có thể gõ một cái gì đó như tổng phụ - Chi phí."
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:62
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:126
+msgid "Learn more"
+msgstr "Tìm hiểu thêm"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:66
+msgid "Give it a name"
+msgstr "Đặt tên cho nó"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:72
+msgid "Something nice and descriptive"
+msgstr "Một cái gì đó tốt đẹp và mô tả"
+
+#: frontend/src/metabase/query_builder/components/expressions/Expressions.jsx:60
+msgid "Add a custom field"
+msgstr "Thêm một trường tùy chỉnh"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:17
+msgid "Include {0}"
+msgstr "Bao gồm {0}"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:19
+msgid "Case sensitive"
+msgstr "Trường hợp nhạy cảm"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:23
+msgid "today"
+msgstr "hôm nay"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:24
+msgid "this week"
+msgstr "tuần này"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:25
+msgid "this month"
+msgstr "tháng này"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:26
+msgid "this year"
+msgstr "năm nay"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:27
+msgid "this minute"
+msgstr "phút này"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:28
+msgid "this hour"
+msgstr "giờ này"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:290
+msgid "not implemented {0}"
+msgstr "không thực hiện {0}"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:291
+msgid "true"
+msgstr "đúng"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:291
+msgid "false"
+msgstr "sai"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:404
+msgid "Add filter"
+msgstr "Thêm bộ lọc"
+
+#: frontend/src/metabase/query_builder/components/filters/FilterWidgetList.jsx:64
+msgid "Item"
+msgstr "mục"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:221
+msgid "Previous"
+msgstr "TrÆ°á»›c"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:252
+msgid "Current"
+msgstr "Hiện tại"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:278
+#: frontend/src/metabase/visualizations/lib/settings/column.js:246
+#: frontend/src/metabase/visualizations/lib/settings/series.js:89
+msgid "On"
+msgstr "trên"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/NumberPicker.jsx:47
+msgid "Enter desired number"
+msgstr "Nhập số mong muốn"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/SelectPicker.jsx:83
+#: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:100
+msgid "Empty"
+msgstr "Rá»—ng"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/SelectPicker.jsx:116
+msgid "Find a value"
+msgstr "Tìm một giá trị"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/SpecificDatePicker.jsx:113
+msgid "Hide calendar"
+msgstr "Ẩn lịch"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/SpecificDatePicker.jsx:113
+msgid "Show calendar"
+msgstr "Hiển thị lịch"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/TextPicker.jsx:97
+msgid "You can enter multiple values separated by commas"
+msgstr "Bạn có thể nhập nhiều giá trị được ngăn cách bởi dấu phẩy"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/TextPicker.jsx:38
+msgid "Enter desired text"
+msgstr "Nhập văn bản mong muốn"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:83
+msgid "Try it"
+msgstr "Thá»­"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:105
+msgid "What's this for?"
+msgstr "Cái này để làm gì?"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:107
+msgid "Variables in native queries let you dynamically replace values in your queries using filter widgets or through the URL."
+msgstr "Các biến trong các truy vấn gốc cho phép bạn thay thế linh hoạt các giá trị trong các truy vấn của mình bằng các tiện ích bộ lọc hoặc thông qua URL."
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:112
+msgid "{0} creates a variable in this SQL template called \"variable_name\". Variables can be given types in the side panel, which changes their behavior. All variable types other than \"Field Filter\" will automatically cause a filter widget to be placed on this question; with Field Filters, this is optional. When this filter widget is filled in, that value replaces the variable in the SQL template."
+msgstr "{0} tạo một biến trong mẫu SQL này được gọi là \\ \"biến_name \". Các biến có thể được đưa ra các loại trong bảng điều khiển bên, làm thay đổi hành vi của chúng. Tất cả các loại biến khác ngoài \\ \"Bộ lọc trường \" sẽ tự động khiến tiện ích bộ lọc được đặt vào câu hỏi này; với Bộ lọc trường, đây là tùy chọn. Khi tiện ích bộ lọc này được điền vào, giá trị đó sẽ thay thế biến trong mẫu SQL."
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:121
+msgid "Field Filters"
+msgstr "Bộ lọc trường"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:123
+msgid "Giving a variable the \"Field Filter\" type allows you to link SQL cards to dashboard filter widgets or use more types of filter widgets on your SQL question. A Field Filter variable inserts SQL similar to that generated by the GUI query builder when adding filters on existing columns."
+msgstr "Đưa ra một biến loại \\ \"Bộ lọc trường \" cho phép bạn liên kết thẻ SQL với các tiện ích bộ lọc bảng điều khiển hoặc sử dụng nhiều loại tiện ích bộ lọc hơn cho câu hỏi SQL của bạn. Biến Bộ lọc trường chèn SQL tương tự như được tạo bởi trình tạo truy vấn GUI khi thêm bộ lọc vào các cột hiện có."
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:126
+msgid "When adding a Field Filter variable, you'll need to map it to a specific field. You can then choose to display a filter widget on your question, but even if you don't, you can now map your Field Filter variable to a dashboard filter when adding this question to a dashboard. Field Filters should be used inside of a \"WHERE\" clause."
+msgstr "Khi thêm biến Bộ lọc trường, bạn sẽ cần ánh xạ nó tới một trường cụ thể. Sau đó, bạn có thể chọn hiển thị tiện ích bộ lọc cho câu hỏi của mình, nhưng ngay cả khi bạn không, giờ đây bạn có thể ánh xạ biến Bộ lọc trường vào bộ lọc bảng điều khiển khi thêm câu hỏi này vào bảng điều khiển. Bộ lọc trường nên được sử dụng bên trong mệnh đề \\ \"WHERE \"."
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:130
+msgid "Optional Clauses"
+msgstr "Điều khoản tùy chọn"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:132
+msgid "brackets around a {0} create an optional clause in the template. If \"variable\" is set, then the entire clause is placed into the template. If not, then the entire clause is ignored."
+msgstr "dấu ngoặc quanh {0} tạo mệnh đề tùy chọn trong mẫu. Nếu \\ \"biến \" được đặt, thì toàn bộ mệnh đề được đặt vào mẫu. Nếu không, thì toàn bộ mệnh đề được bỏ qua."
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:142
+msgid "To use multiple optional clauses you can include at least one non-optional WHERE clause followed by optional clauses starting with \"AND\"."
+msgstr "Để sử dụng nhiều mệnh đề tùy chọn, bạn có thể bao gồm ít nhất một mệnh đề WHERE không tùy chọn, theo sau là các mệnh đề tùy chọn bắt đầu bằng \\ \"AND \"."
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:154
+msgid "Read the full documentation"
+msgstr "Đọc tài liệu đầy đủ"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:127
+msgid "Filter label"
+msgstr "Nhãn bộ lọc"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:139
+msgid "Variable type"
+msgstr "Loại biến"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:148
+msgid "Text"
+msgstr "Bản văn"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:150
+msgid "Date"
+msgstr "Ngày"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:151
+msgid "Field Filter"
+msgstr "Bộ lọc trường"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:157
+msgid "Field to map to"
+msgstr "Trường để ánh xạ tới"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:179
+msgid "Filter widget type"
+msgstr "Loại bộ lọc"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:201
+msgid "Required?"
+msgstr "Cần thiết?"
+
+#: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:211
+msgid "Default filter widget value"
+msgstr "Giá trị widget bộ lọc mặc định"
+
+#: frontend/src/metabase/query_builder/containers/ArchiveQuestionModal.jsx:46
+msgid "Archive this question?"
+msgstr "Lưu trữ câu hỏi này?"
+
+#: frontend/src/metabase/query_builder/containers/ArchiveQuestionModal.jsx:57
+msgid "This question will be removed from any dashboards or pulses using it."
+msgstr "Câu hỏi này sẽ bị xóa khỏi bất kỳ bảng điều khiển hoặc xung sử dụng nó."
+
+#: frontend/src/metabase/query_builder/containers/QueryBuilder.jsx:136
+msgid "Question"
+msgstr "Câu hỏi"
+
+#: frontend/src/metabase/questions/containers/AddToDashboard.jsx:11
+msgid "Pick a question to add"
+msgstr "Chọn một câu hỏi để thêm vào"
+
+#: frontend/src/metabase/reference/components/EditHeader.jsx:19
+msgid "You are editing this page"
+msgstr "Bạn đang chỉnh sửa trang này"
+
+#: frontend/src/metabase/reference/components/EditableReferenceHeader.jsx:101
+#: frontend/src/metabase/reference/components/ReferenceHeader.jsx:63
+msgid "See this {0}"
+msgstr "Xem {0}"
+
+#: frontend/src/metabase/reference/components/EditableReferenceHeader.jsx:120
+msgid "A subset of"
+msgstr "Một tập hợp con của"
+
+#: frontend/src/metabase/reference/components/Field.jsx:47
+#: frontend/src/metabase/reference/components/Field.jsx:86
+#: frontend/src/metabase/reference/components/FieldTypeDetail.jsx:32
+#: frontend/src/metabase/reference/components/FieldTypeDetail.jsx:68
+msgid "Select a field type"
+msgstr "Chọn một kiểu trường"
+
+#: frontend/src/metabase/reference/components/Field.jsx:56
+#: frontend/src/metabase/reference/components/Field.jsx:71
+#: frontend/src/metabase/reference/components/FieldTypeDetail.jsx:41
+#: frontend/src/metabase/reference/components/FieldTypeDetail.jsx:57
+msgid "No field type"
+msgstr "Không có kiểu trường"
+
+#: frontend/src/metabase/reference/components/FieldToGroupBy.jsx:22
+msgid "by"
+msgstr "bởi"
+
+#: frontend/src/metabase/reference/components/FieldTypeDetail.jsx:25
+#: frontend/src/metabase/reference/databases/FieldList.jsx:152
+#: frontend/src/metabase/reference/segments/SegmentFieldList.jsx:153
+msgid "Field type"
+msgstr "Kiểu trường"
+
+#: frontend/src/metabase/reference/components/FieldTypeDetail.jsx:72
+msgid "Select a Foreign Key"
+msgstr "Chọn một chìa khóa nước ngoài"
+
+#: frontend/src/metabase/reference/components/Formula.jsx:53
+msgid "View the {0} formula"
+msgstr "Xem công thức {0}"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:80
+msgid "Why this {0} is important"
+msgstr "Tại sao {0} quan trọng?"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:81
+msgid "Why this {0} is interesting"
+msgstr "Tại sao {0} thú vị"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:87
+msgid "Nothing important yet"
+msgstr "Không có gì quan trọng hết"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:88
+#: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:168
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:233
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:211
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:215
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:219
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:229
+msgid "Nothing interesting yet"
+msgstr "Không có gì thú vị hết"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:93
+msgid "Things to be aware of about this {0}"
+msgstr "Những điều cần biết về điều này {0}"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:97
+#: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:178
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:243
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:221
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:225
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:229
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:239
+msgid "Nothing to be aware of yet"
+msgstr "Không có gì cần biết"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:103
+msgid "Explore this metric"
+msgstr "Khám phá số liệu này"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:105
+msgid "View this metric"
+msgstr "Xem số liệu này"
+
+#: frontend/src/metabase/reference/components/GuideDetail.jsx:112
+msgid "By {0}"
+msgstr "Bởi {0}"
+
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:146
+msgid "Remove item"
+msgstr "Loại bỏ mục"
+
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:155
+msgid "Why is this dashboard the most important?"
+msgstr "Tại sao bảng điều khiển này là quan trọng nhất"
+
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:156
+msgid "What is useful or interesting about this {0}?"
+msgstr "Cái gì hữu ích và thú vị về {0}"
+
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:160
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:174
+msgid "Write something helpful here"
+msgstr "Viết gì đó hữu ích tại đây"
+
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:169
+msgid "Is there anything users of this dashboard should be aware of?"
+msgstr "Có bất cứ điều gì người dùng của bảng điều khiển này nên được biết về? "
+
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:170
+msgid "Anything users should be aware of about this {0}?"
+msgstr "Bất cứ điều gì người dùng nên biết về điều này {0}?"
+
+#: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:182
+#: frontend/src/metabase/reference/components/MetricImportantFieldsDetail.jsx:26
+msgid "Which 2-3 fields do you usually group this metric by?"
+msgstr "2-3 trường nào bạn thường nhóm số liệu này theo?"
+
+#: frontend/src/metabase/reference/components/GuideHeader.jsx:23
+msgid "This is the perfect place to start if you’re new to your company’s data, or if you just want to check in on what’s going on."
+msgstr "Đây là nơi hoàn hảo để bắt đầu nếu bạn mới sử dụng dữ liệu của công ty bạn hoặc nếu bạn chỉ muốn kiểm tra xem những gì diễn ra."
+
+#: frontend/src/metabase/reference/components/MetricImportantFieldsDetail.jsx:65
+msgid "Most useful fields to group this metric by"
+msgstr "Các trường hữu ích nhất để nhóm số liệu này theo"
+
+#: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:32
+msgid "Reason for changes"
+msgstr "Lí do cho thay đổi"
+
+#: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:36
+msgid "Leave a note to explain what changes you made and why they were required"
+msgstr "Để lại chú thích để giải thích những thay đổi bạn vừa tạo và tại sao chúng cần thiết."
+
+#: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:166
+msgid "Why this database is interesting"
+msgstr "Tại sao cơ sở dữ liệu này thú vị"
+
+#: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:176
+msgid "Things to be aware of about this database"
+msgstr "Những điều cần lưu ý về cơ sở dữ liệu này"
+
+#: frontend/src/metabase/reference/databases/DatabaseList.jsx:46
+#: frontend/src/metabase/reference/guide/BaseSidebar.jsx:39
+msgid "Databases and tables"
+msgstr "Cơ sở dữ liệu và bảng"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:61
+#: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:27
+#: frontend/src/metabase/reference/databases/FieldSidebar.jsx:41
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:170
+#: frontend/src/metabase/reference/databases/TableSidebar.jsx:34
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:184
+#: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:30
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:188
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:187
+#: frontend/src/metabase/reference/segments/SegmentFieldSidebar.jsx:31
+#: frontend/src/metabase/reference/segments/SegmentSidebar.jsx:30
+msgid "Details"
+msgstr "Chi tiết"
+
+#: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:33
+#: frontend/src/metabase/reference/databases/TableList.jsx:111
+msgid "Tables in {0}"
+msgstr "Bảng trong {0}"
+
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:222
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:200
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:218
+msgid "Actual name in database"
+msgstr "Tên thực trong cơ sở dữ liệu"
+
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:231
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:227
+msgid "Why this field is interesting"
+msgstr "Tại sao trường này thú vị"
+
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:241
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:237
+msgid "Things to be aware of about this field"
+msgstr "Những điều cần lưu ý về trường này"
+
+#: frontend/src/metabase/reference/databases/FieldDetail.jsx:253
+#: frontend/src/metabase/reference/databases/FieldList.jsx:155
+#: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:249
+#: frontend/src/metabase/reference/segments/SegmentFieldList.jsx:156
+msgid "Data type"
+msgstr "Kiểu dữ liệu"
+
+#: frontend/src/metabase/reference/databases/FieldList.jsx:39
+#: frontend/src/metabase/reference/segments/SegmentFieldList.jsx:39
+msgid "Fields in this table will appear here as they're added"
+msgstr "Các trường trong bảng này sẽ xuất hiện tại đây khi chúng được thêm vào"
+
+#: frontend/src/metabase/reference/databases/FieldList.jsx:134
+#: frontend/src/metabase/reference/segments/SegmentFieldList.jsx:135
+msgid "Fields in {0}"
+msgstr "Các trường trong {0}"
+
+#: frontend/src/metabase/reference/databases/FieldList.jsx:149
+#: frontend/src/metabase/reference/segments/SegmentFieldList.jsx:150
+msgid "Field name"
+msgstr "Tên trường"
+
+#: frontend/src/metabase/reference/databases/FieldSidebar.jsx:49
+msgid "X-ray this field"
+msgstr "X quang trường này"
+
+#: frontend/src/metabase/reference/databases/NoDatabasesEmptyState.jsx:8
+msgid "Metabase is no fun without any data"
+msgstr "Metabase không thú vị nếu không có dữ liệu"
+
+#: frontend/src/metabase/reference/databases/NoDatabasesEmptyState.jsx:9
+msgid "Your databases will appear here once you connect one"
+msgstr "Cơ sở dữ liệu của bạn sẽ xuất hiện ở đây ngay khi bạn kết nối"
+
+#: frontend/src/metabase/reference/databases/NoDatabasesEmptyState.jsx:10
+msgid "Databases will appear here once your admins have added some"
+msgstr "Cơ sở dữ liệu sẽ xuất hiện ở đây ngay khi quản trị viên thêm vào"
+
+#: frontend/src/metabase/reference/databases/NoDatabasesEmptyState.jsx:12
+msgid "Connect a database"
+msgstr "Kết nối một cơ sở dữ liệu"
+
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:38
+msgid "Count of {0}"
+msgstr "Số đếm của {0}"
+
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:47
+msgid "See raw data for {0}"
+msgstr "Xem dữ liệu thô cho {0}"
+
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:209
+msgid "Why this table is interesting"
+msgstr "Tại sao bảng này thú vị"
+
+#: frontend/src/metabase/reference/databases/TableDetail.jsx:219
+msgid "Things to be aware of about this table"
+msgstr "Những điều cần lưu ý về bảng này"
+
+#: frontend/src/metabase/reference/databases/TableList.jsx:30
+msgid "Tables in this database will appear here as they're added"
+msgstr "Các bảng trong cơ sở dữ liệu này sẽ xuất hiện tại đây khi chúng được thêm vào"
+
+#: frontend/src/metabase/reference/databases/TableQuestions.jsx:34
+msgid "Questions about this table will appear here as they're added"
+msgstr "Các câu hỏi về bảng này sẽ xuất hiện tại đây khi chúng được thêm vào"
+
+#: frontend/src/metabase/reference/databases/TableQuestions.jsx:71
+#: frontend/src/metabase/reference/metrics/MetricQuestions.jsx:75
+#: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:36
+#: frontend/src/metabase/reference/segments/SegmentQuestions.jsx:74
+msgid "Questions about {0}"
+msgstr "Các câu hỏi về {0}"
+
+#: frontend/src/metabase/reference/databases/TableQuestions.jsx:95
+#: frontend/src/metabase/reference/metrics/MetricQuestions.jsx:99
+#: frontend/src/metabase/reference/segments/SegmentQuestions.jsx:98
+msgid "Created {0} by {1}"
+msgstr "Đã tạo {0} bởi {1}"
+
+#: frontend/src/metabase/reference/databases/TableSidebar.jsx:40
+msgid "Fields in this table"
+msgstr "Các trường trong bảng này"
+
+#: frontend/src/metabase/reference/databases/TableSidebar.jsx:48
+msgid "Questions about this table"
+msgstr "Các câu hỏi về bảng này"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:157
+msgid "Help your team get started with your data."
+msgstr "Giúp nhóm của bạn bắt đầu với dữ liệu của bạn"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:159
+msgid "Show your team what’s most important by choosing your top dashboard, metrics, and segments."
+msgstr "Hiển thị cho nhóm của bạn cái gì quan trọng nhất bằng cách chọn bảng điều khiển, số liệu và phân đoạn hàng đầu"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:165
+msgid "Get started"
+msgstr "Bắt đầu"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:173
+msgid "Our most important dashboard"
+msgstr "Bảng điều khiển quan trọng nhất của chúng tôi"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:188
+msgid "Numbers that we pay attention to"
+msgstr "Các con số mà chúng tôi chú ý"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:213
+msgid "Metrics are important numbers your company cares about. They often represent a core indicator of how the business is performing."
+msgstr "Số liệu là các con số quan trọng mà công ty bạn quan tâm. Chúng thường đại diện một chỉ số cốt lõi của cách mà doanh nghiệp đang thể hiện"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:221
+msgid "See all metrics"
+msgstr "Xem tất cả số liệu"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:235
+msgid "Segments and tables"
+msgstr "Phân đoạn và bảng"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:236
+msgid "Tables"
+msgstr "Các bảng"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:262
+msgid "Segments and tables are the building blocks of your company's data. Tables are collections of the raw information while segments are specific slices with specific meanings, like {0}"
+msgstr "Phân đoạn và bảng là các khối xây dựng dữ liệu của công ty bạn. Bảng là tập hợp các thông tin thô trong khi các phân đoạn là các lát cụ thể với ý nghĩa cụ thể, như {0}"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:267
+msgid "Tables are the building blocks of your company's data."
+msgstr "Bảng là các khối xây dựng dữ liệu của công ty bạn."
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:277
+msgid "See all segments"
+msgstr "Xem tất cả phân đoạn"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:293
+msgid "See all tables"
+msgstr "Xem tất cả bảng"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:301
+msgid "Other things to know about our data"
+msgstr "Những điều khác cần biết về dữ liệu của chúng tôi \""
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:302
+msgid "Find out more"
+msgstr "Tìm hiểu thêm"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:307
+msgid "A good way to get to know your data is by spending a bit of time exploring the different tables and other info available to you. It may take a while, but you'll start to recognize names and meanings over time."
+msgstr "Một cách tốt để biết dữ liệu của bạn là dành một chút thời gian để khám phá các bảng khác nhau và thông tin khác có sẵn cho bạn. Có thể mất một lúc, nhưng bạn sẽ bắt đầu nhận ra tên và ý nghĩa theo thời gian."
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:313
+msgid "Explore our data"
+msgstr "Khám phá dữ liệu của chúng tôi"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:321
+msgid "Have questions?"
+msgstr "Có câu hỏi?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:326
+msgid "Contact {0}"
+msgstr "Liên hệ {0}"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:248
+msgid "Help new Metabase users find their way around."
+msgstr "Giúp người dùng Metabase mới tìm đường "
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:251
+msgid "The Getting Started guide highlights the dashboard, metrics, segments, and tables that matter most, and informs your users of important things they should know before digging into the data."
+msgstr "Hướng dẫn Bắt đầu làm nổi bật bảng điều khiển, số liệu, phân đoạn và bảng quan trọng nhất và thông báo cho người dùng của bạn về những điều quan trọng họ nên biết trước khi đào sâu vào dữ liệu."
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:258
+msgid "Is there an important dashboard for your team?"
+msgstr "Có bảng điều khiển nào quan trọng cho team của bạn không?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:260
+msgid "Create a dashboard now"
+msgstr "Tạo một bảng điều khiển bây giờ"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:266
+msgid "What is your most important dashboard?"
+msgstr "Bảng điều khiển quan trọng nhất của bạn là gì?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:285
+msgid "Do you have any commonly referenced metrics?"
+msgstr "Bạn có số liệu tham khảo chung nào không?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:287
+msgid "Learn how to define a metric"
+msgstr "Tìm hiểu cách định nghĩa một số liệu"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:300
+msgid "What are your 3-5 most commonly referenced metrics?"
+msgstr "3-5 số liệu tham khảo thông thường nhất của bạn là gì?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:344
+msgid "Add another metric"
+msgstr "Thêm một số liệu khác"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:357
+msgid "Do you have any commonly referenced segments or tables?"
+msgstr "Bạn có bất cứ phân đoạn hoặc bảng tham khảo thông thường nào không?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:359
+msgid "Learn how to create a segment"
+msgstr "Tìm hiểu cách tạo một phân đoạn"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:372
+msgid "What are 3-5 commonly referenced segments or tables that would be useful for this audience?"
+msgstr "3-5 phân đoạn hoặc bảng thường được tham chiếu sẽ hữu ích cho đối tượng này là gì?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:418
+msgid "Add another segment or table"
+msgstr "Thêm phân đoạn hoặc bảng khác"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:427
+msgid "Is there anything your users should understand or know before they start accessing the data?"
+msgstr "Có bất cứ điều gì người dùng của bạn nên hiểu hoặc biết trước khi họ bắt đầu truy cập dữ liệu không? \" "
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:433
+msgid "What should a user of this data know before they start accessing it?"
+msgstr "Người dùng của dữ liệu này nên biết gì trước khi họ bắt đầu truy cập nó?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:437
+msgid "E.g., expectations around data privacy and use, common pitfalls or misunderstandings, information about data warehouse performance, legal notices, etc."
+msgstr "Ví dụ: những kỳ vọng xung quanh quyền riêng tư và sử dụng dữ liệu, những cạm bẫy hoặc hiểu lầm phổ biến, thông tin về hiệu suất kho dữ liệu, thông báo pháp lý, v.v."
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:448
+msgid "Is there someone your users could contact for help if they're confused about this guide?"
+msgstr "Có ai đó mà người dùng của bạn có thể liên hệ để được giúp đỡ nếu họ bối rối về hướng dẫn này?"
+
+#: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:457
+msgid "Who should users contact for help if they're confused about this data?"
+msgstr "Người dùng nên liên hệ với ai để được giúp đỡ nếu họ bối rối về dữ liệu này?"
+
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:75
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:95
+msgid "Please enter a revision message"
+msgstr "Vui lòng nhập tin nhắn sửa đổi"
+
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:213
+msgid "Why this Metric is interesting"
+msgstr "Tại sao số liệu này thú vị"
+
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:223
+msgid "Things to be aware of about this Metric"
+msgstr "Những điều cần biết về số liệu này"
+
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:233
+msgid "How this Metric is calculated"
+msgstr "Số liệu này được tính toán thế nào"
+
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:235
+msgid "Nothing on how it's calculated yet"
+msgstr "Chưa có gì về cách tính toán"
+
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:293
+msgid "Other fields you can group this metric by"
+msgstr "Các trường khác bạn có thể nhóm dữ liệu này theo"
+
+#: frontend/src/metabase/reference/metrics/MetricDetail.jsx:294
+msgid "Fields you can group this metric by"
+msgstr "Các trường bạn có thể nhóm dữ liệu này theo"
+
+#: frontend/src/metabase/reference/metrics/MetricList.jsx:23
+msgid "Metrics are the official numbers that your team cares about"
+msgstr "Số liệu là các con số chính thức mà nhóm của bạn quan tâm"
+
+#: frontend/src/metabase/reference/metrics/MetricList.jsx:25
+msgid "Metrics will appear here once your admins have created some"
+msgstr "Số liệu sẽ xuất hiện tại đây ngay khi các quản trị viên của bạn tạo"
+
+#: frontend/src/metabase/reference/metrics/MetricList.jsx:27
+msgid "Learn how to create metrics"
+msgstr "Tìm hiều cách tạo số liệu"
+
+#: frontend/src/metabase/reference/metrics/MetricQuestions.jsx:35
+msgid "Questions about this metric will appear here as they're added"
+msgstr "Các câu hỏi về số liệu này sẽ xuất hiện tại đây khi chúng được thêm vào"
+
+#: frontend/src/metabase/reference/metrics/MetricRevisions.jsx:29
+msgid "There are no revisions for this metric"
+msgstr "Không có sửa đổi cho số liệu này"
+
+#: frontend/src/metabase/reference/metrics/MetricRevisions.jsx:88
+#: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:52
+#: frontend/src/metabase/reference/segments/SegmentRevisions.jsx:88
+msgid "Revision history for {0}"
+msgstr "Lịch sử sửa đổi cho {0}"
+
+#: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:43
+msgid "X-ray this metric"
+msgstr "X quang số liệu này"
+
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:217
+msgid "Why this Segment is interesting"
+msgstr "Tại sao phân đoạn này thú vị"
+
+#: frontend/src/metabase/reference/segments/SegmentDetail.jsx:227
+msgid "Things to be aware of about this Segment"
+msgstr "Những điều cần lưu ý về phân đoạn này"
+
+#: frontend/src/metabase/reference/segments/SegmentList.jsx:23
+msgid "Segments are interesting subsets of tables"
+msgstr "Phân đoạn là tập con thú vị của bảng"
+
+#: frontend/src/metabase/reference/segments/SegmentList.jsx:24
+msgid "Defining common segments for your team makes it even easier to ask questions"
+msgstr "Xác định các phân khúc phổ biến cho nhóm của bạn giúp đặt câu hỏi dễ dàng hơn"
+
+#: frontend/src/metabase/reference/segments/SegmentList.jsx:25
+msgid "Segments will appear here once your admins have created some"
+msgstr "Phân khúc sẽ xuất hiện ở đây khi quản lý của bạn thiết lập "
+
+#: frontend/src/metabase/reference/segments/SegmentList.jsx:27
+msgid "Learn how to create segments"
+msgstr "Học cách thiết lập phân khúc"
+
+#: frontend/src/metabase/reference/segments/SegmentQuestions.jsx:35
+msgid "Questions about this segment will appear here as they're added"
+msgstr "Câu hỏi về phân khúc sẽ xuất hiện ở đây khi nó được hỏi"
+
+#: frontend/src/metabase/reference/segments/SegmentRevisions.jsx:29
+msgid "There are no revisions for this segment"
+msgstr "Không có sửa đổi cho phân khúc này"
+
+#: frontend/src/metabase/reference/segments/SegmentSidebar.jsx:36
+msgid "Fields in this segment"
+msgstr "Các trường trong phân khúc này"
+
+#: frontend/src/metabase/reference/segments/SegmentSidebar.jsx:42
+msgid "Questions about this segment"
+msgstr "Câu hỏi về phân khúc này"
+
+#: frontend/src/metabase/reference/segments/SegmentSidebar.jsx:49
+msgid "X-ray this segment"
+msgstr "X-ray phân khúc này"
+
+#: frontend/src/metabase/routes.jsx:182
+msgid "Login"
+msgstr "Đăng nhập"
+
+#: frontend/src/metabase/nav/containers/Navbar.jsx:130
+#: frontend/src/metabase/routes.jsx:198
+msgid "Search"
+msgstr "Tìm kiếm"
+
+#: frontend/src/metabase/routes.jsx:217
+msgid "Dashboard"
+msgstr "Bảng điều khiển"
+
+#: frontend/src/metabase/routes.jsx:228
+msgid "New Question"
+msgstr "Câu hỏi mới"
+
+#: frontend/src/metabase/setup/components/DatabaseConnectionStep.jsx:125
+msgid "Select the type of Database you use"
+msgstr "Chọn loại cơ sở dữ liệu bạn sử dụng"
+
+#: frontend/src/metabase/setup/components/DatabaseConnectionStep.jsx:141
+msgid "Add your data"
+msgstr "Thêm dữ liệu"
+
+#: frontend/src/metabase/setup/components/DatabaseConnectionStep.jsx:145
+msgid "I'll add my own data later"
+msgstr "Tôi sẽ thêm dữ liệu riêng sau"
+
+#: frontend/src/metabase/setup/components/DatabaseConnectionStep.jsx:146
+msgid "Connecting to {0}"
+msgstr "Đang kết nối đến {0}"
+
+#: frontend/src/metabase/setup/components/DatabaseConnectionStep.jsx:165
+msgid "You’ll need some info about your database, like the username and password. If you don’t have that right now, Metabase also comes with a sample dataset you can get started with."
+msgstr "Bạn sẽ cần vài thông tin về cơ sở dữ liệu của mình, như tên đăng nhập và mật khẩu. Nếu bạn không có thông tin đó bây giờ, Metabase sẽ đưa ra thông tin mẫu để bạn có thể bắt đầu "
+
+#: frontend/src/metabase/setup/components/DatabaseConnectionStep.jsx:196
+msgid "I'll add my data later"
+msgstr "Tôi sẽ bổ sung dữ liệu sau"
+
+#: frontend/src/metabase/setup/components/DatabaseSchedulingStep.jsx:41
+msgid "Control automatic scans"
+msgstr "Điều khiển scan tự động"
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:53
+msgid "Usage data preferences"
+msgstr "Tùy chọn dữ liệu sử dụng"
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:56
+msgid "Thanks for helping us improve"
+msgstr "Cảm ơn đã giúp chúng tôi cải tiến"
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:57
+msgid "We won't collect any usage events"
+msgstr "Chúng tôi sẽ không thu tập sự kiện được sử dụng"
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:76
+msgid "In order to help us improve Metabase, we'd like to collect certain data about usage through Google Analytics."
+msgstr "Với mục đích cải tiến Metabase, chúng tôi muốn thu thập dữ liệu sử dụng hiện tại qua Google Analytics "
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:85
+msgid "Here's a full list of everything we track and why."
+msgstr "Đây là danh sách đầy đủ những gì chúng tôi theo dõi và tại sao"
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:98
+msgid "Allow Metabase to anonymously collect usage events"
+msgstr "Cho phép Metabase thu thập sự kiện được sử dụng ẩn danh"
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:105
+msgid "Metabase {0} collects anything about your data or question results."
+msgstr "Metabase {0} thu thập mọi thứ về dữ liệu hay kết quả câu hỏi của bạn"
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:106
+msgid "never"
+msgstr "không bao giờ"
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:108
+msgid "All collection is completely anonymous."
+msgstr "Tất cả bộ sưu tập đều hoàn toàn ẩn danh"
+
+#: frontend/src/metabase/setup/components/PreferencesStep.jsx:110
+msgid "Collection can be turned off at any point in your admin settings."
+msgstr "Có thể tắt bộ sưu tập bất cứ lúc nào trong phần cài đặt quản trị của bạn"
+
+#: frontend/src/metabase/setup/components/Setup.jsx:45
+msgid "If you feel stuck"
+msgstr "Nếu bạn cảm thấy bế tắc"
+
+#: frontend/src/metabase/setup/components/Setup.jsx:52
+msgid "our getting started guide"
+msgstr "Hướng dẫn khởi động của chúng tôi"
+
+#: frontend/src/metabase/setup/components/Setup.jsx:53
+msgid "is just a click away."
+msgstr "Chỉ một click nữa"
+
+#: frontend/src/metabase/setup/components/Setup.jsx:95
+msgid "Welcome to Metabase"
+msgstr "Chào mừng đến Metabase"
+
+#: frontend/src/metabase/setup/components/Setup.jsx:96
+msgid "Looks like everything is working. Now let’s get to know you, connect to your data, and start finding you some answers!"
+msgstr "Có vẻ mọi thứ đang hoạt động. Giờ để hiểu về bạn, hãy kết nối dữ liệu của bạn, và bắt đầu tìm kiếm cho bạn vài câu trả lời"
+
+#: frontend/src/metabase/setup/components/Setup.jsx:100
+msgid "Let's get started"
+msgstr "Cùng bắt đầu"
+
+#: frontend/src/metabase/setup/components/Setup.jsx:145
+msgid "You're all set up!"
+msgstr "Bạn đã được trang bị đầy đủ"
+
+#: frontend/src/metabase/setup/components/Setup.jsx:156
+msgid "Take me to Metabase"
+msgstr "Đưa tôi đến Metabase"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:155
+msgid "What should we call you?"
+msgstr "Chúng tôi nên gọi bạn là gì"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:156
+msgid "Hi, {0}. nice to meet you!"
+msgstr "Xin chào {0}, rất vui được gặp bạn"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:243
+msgid "Create a password"
+msgstr "Thiết lập mật khẩu"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:259
+#: frontend/src/metabase/user/components/SetUserPassword.jsx:116
+msgid "Shhh..."
+msgstr "Shhh..."
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:269
+msgid "Confirm password"
+msgstr "Xác nhận mật khẩu"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:278
+msgid "Shhh... but one more time so we get it right"
+msgstr "Shhh... thêm một lần nữa để chúng tôi chắc rằng nó đúng"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:287
+msgid "Your company or team name"
+msgstr "Tên công ty hoặc nhóm"
+
+#: frontend/src/metabase/setup/components/UserStep.jsx:296
+msgid "Department of awesome"
+msgstr "Ban tuyệt vời"
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:26
+msgid "Metabot is admiring your integers…"
+msgstr "Metabot ngưỡng mộ số nguyên của bạn"
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:27
+msgid "Metabot is performing billions of differential equations…"
+msgstr "Metabot đang thực hiện hàng tỉ phương trình vi phân khác nhau"
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:28
+msgid "Metabot is doing science…"
+msgstr "Metabot đang làm khoa học"
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:29
+msgid "Metabot is checking out your metrics…"
+msgstr "Metabot đang kiểm tra số liệu của bạn"
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:30
+msgid "Metabot is looking for trends and outliers…"
+msgstr "Metabot đang tìm kiếm xu hướng và ngoại lệ"
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:31
+msgid "Metabot is consulting the quantum abacus…"
+msgstr "Metabot đang tư vấn bàn tính lượng tử..."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:32
+msgid "Metabot is feeling pretty good about all this…"
+msgstr "Metabot cảm thấy khá tốt về những điều này..."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:52
+msgid "We’ll show you some interesting explorations of your data in\n"
+"just a few minutes."
+msgstr "Chúng tôi sẽ cho bạn thấy một số khám phá thú vị về dữ liệu của bạn trong \\ n chỉ một vài phút."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:72
+msgid "This seems to be taking a while. In the meantime, you can check out one of these example explorations to see what Metabase can do for you."
+msgstr "Điều này sẽ tốn chút thời gian. Trong thời gian chờ đợi, bạn có thể kiểm tra một trong những khám phá ví dụ này để xem Metabase có thể làm gì cho bạn."
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:86
+msgid "I took a look at the data you just connected, and I have some explorations of interesting things I found. Hope you like them!"
+msgstr "Tôi đã xem xét dữ liệu bạn vừa kết nối, và tôi có một số khám phá về những điều thú vị mà tôi tìm thấy. Hy vọng bạn thích nó!"
+
+#: frontend/src/metabase/setup/containers/PostSetupApp.jsx:98
+msgid "I'm done exploring for now"
+msgstr "Tôi đã khám phá xong"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:20
+msgid "Welcome to the Query Builder!"
+msgstr "Chào mừng đến Query Builder"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:22
+msgid "The Query Builder lets you assemble questions (or \"queries\") to ask about your data."
+msgstr "Trình tạo truy vấn cho phép bạn tập hợp các câu hỏi (hoặc \\ \"truy vấn \") để hỏi về dữ liệu của bạn."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:26
+msgid "Tell me more"
+msgstr "Nói với tôi nhiều hơn"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:43
+msgid "Start by picking the table with the data that you have a question about."
+msgstr "Bắt đầu bằng cách chọn bảng với phần dữ liệu bạn có câu hỏi về"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:45
+msgid "Go ahead and select the \"Orders\" table from the dropdown menu."
+msgstr "Tiếp tục và chọn bảng \"Mệnh lệnh\"\\ từ menu thả xuống"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:78
+msgid "Filter your data to get just what you want."
+msgstr "Lọc dữ liệu của bạn để có được những gì bạn muốn."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:79
+msgid "Click the plus button and select the \"Created At\" field."
+msgstr "Nhấp vào nút dấu cộng và chọn trường \\ \"Đã tạo tại \"."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:93
+msgid "Here we can pick how many days we want to see data for, try 10"
+msgstr "Ở đây chúng tôi có thể chọn số ngày chúng tôi muốn xem dữ liệu, hãy thử 10"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:116
+msgid "Here's where you can choose to add or average your data, count the number of rows in the table, or just view the raw data."
+msgstr "Đây là nơi bạn có thể chọn để thêm hoặc lấy trung bình dữ liệu của mình, đếm số lượng hàng trong bảng hoặc chỉ xem dữ liệu thô."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:118
+msgid "Try it: click on <strong>Raw Data</strong> to change it to <strong>Count of rows</strong> so we can count how many orders there are in this table."
+msgstr "Hãy thử: nhấp vào <strong> Dữ liệu thô </ strong> để thay đổi thành <strong> Đếm số hàng </ strong> để chúng tôi có thể đếm được có bao nhiêu đơn hàng trong bảng này."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:142
+msgid "Add a grouping to break out your results by category, day, month, and more."
+msgstr "Thêm một nhóm để chia ra kết quả của bạn theo thể loại, ngày, tháng và hơn thế nữa"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:144
+msgid "Let's do it: click on <strong>Add a grouping</strong>, and choose <strong>Created At: by Week</strong>."
+msgstr "Hãy làm điều đó: nhấp vào <strong> Thêm một nhóm </ strong> và chọn <strong> Được tạo tại: theo tuần </ strong>"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:152
+msgid "Click on \"by day\" to change it to \"Week.\""
+msgstr "Nhấp vào \"theo ngày \" để thay đổi thành  \"Tuần. \""
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:173
+msgid "Run Your Query."
+msgstr "Chạy truy vấn của bạn."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:175
+msgid "You're doing so well! Click <strong>Run query</strong> to get your results!"
+msgstr "Bạn đang làm rất tốt Nhấp vào <strong> Chạy truy vấn </ strong> để nhận kết quả của bạn!"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:192
+msgid "You can view your results as a chart instead of a table."
+msgstr "Bạn có thể xem kết quả của mình dưới dạng biểu đồ thay vì bảng."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:194
+msgid "Everbody likes charts! Click the <strong>Visualization</strong> dropdown and select <strong>Line</strong>."
+msgstr "Nhấp vào menu thả xuống <strong> Visualization </ strong> và chọn <strong> Dòng </ strong>."
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:216
+msgid "Well done!"
+msgstr "Tốt lắm"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:218
+msgid "That's all! If you still have questions, check out our"
+msgstr "Đó là tất cả! Nếu bạn vẫn còn thắc mắc, hãy xem"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:223
+msgid "User's Guide"
+msgstr "Hướng dẫn sử dụng"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:223
+msgid "Have fun exploring your data!"
+msgstr "Hãy vui vẻ khám phá dữ liệu của bạn!"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:226
+msgid "Thanks"
+msgstr "Cảm ơn bạn"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:235
+msgid "Save Your Questions"
+msgstr "Lưu câu hỏi"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:237
+msgid "By the way, you can save your questions so you can refer to them later. Saved Questions can also be put into dashboards or Pulses."
+msgstr "Nhân tiện, bạn có thể lưu câu hỏi của bạn để bạn có thể tham khảo chúng sau này. Câu hỏi đã lưu cũng có thể được đưa vào bảng điều khiển hoặc Xung"
+
+#: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:241
+msgid "Sounds good"
+msgstr "Ổn đó"
+
+#: frontend/src/metabase/tutorial/Tutorial.jsx:248
+msgid "Whoops!"
+msgstr "Whoops!"
+
+#: frontend/src/metabase/tutorial/Tutorial.jsx:249
+msgid "Sorry, it looks like something went wrong. Please try restarting the tutorial in a minute."
+msgstr "Xin lỗi, có vẻ như đã xảy ra sự cố. Vui lòng thử khởi động lại hướng dẫn trong một phút."
+
+#: frontend/src/metabase/user/actions.js:34
+msgid "Password updated successfully!"
+msgstr "Cập nhập mật khẩu thành công!"
+
+#: frontend/src/metabase/user/actions.js:53
+msgid "Account updated successfully!"
+msgstr "Tài khoản cập nhập thành công!"
+
+#: frontend/src/metabase/user/components/SetUserPassword.jsx:107
+msgid "Current password"
+msgstr "Mật khẩu hiện tại "
+
+#: frontend/src/metabase/user/components/UpdateUserDetails.jsx:137
+msgid "Sign in with Google Email address"
+msgstr "Đăng nhập bằng địa chỉ Google Email"
+
+#: frontend/src/metabase/user/components/UserSettings.jsx:65
+msgid "User Details"
+msgstr "Thông tin người sử dụng"
+
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:275
+msgid "Reset to defaults"
+msgstr "Đặt lại về mặc định"
+
+#: frontend/src/metabase/visualizations/components/ChoroplethMap.jsx:133
+msgid "unknown map"
+msgstr "Bản đồ không rõ"
+
+#: frontend/src/metabase/visualizations/components/LeafletGridHeatMap.jsx:26
+msgid "Grid map requires binned longitude/latitude."
+msgstr "Bản đồ lưới yêu cầu kinh độ / vĩ độ."
+
+#: frontend/src/metabase/visualizations/components/LegendVertical.jsx:112
+msgid "more"
+msgstr "Thêm"
+
+#: frontend/src/metabase/visualizations/components/LineAreaBarChart.jsx:101
+msgid "Which fields do you want to use for the X and Y axes?"
+msgstr "Những trường nào bạn muốn sử dụng cho trục X và Y"
+
+#: frontend/src/metabase/visualizations/components/LineAreaBarChart.jsx:103
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:60
+msgid "Choose fields"
+msgstr "Chọn trường"
+
+#: frontend/src/metabase/visualizations/components/PinMap.jsx:204
+msgid "Save as default view"
+msgstr "Lưu làm mặc định"
+
+#: frontend/src/metabase/visualizations/components/PinMap.jsx:226
+msgid "Draw box to filter"
+msgstr "Vẽ hộp để lọc"
+
+#: frontend/src/metabase/visualizations/components/PinMap.jsx:226
+msgid "Cancel filter"
+msgstr "Hủy lọc"
+
+#: frontend/src/metabase/visualizations/components/PinMap.jsx:47
+msgid "Pin Map"
+msgstr "Gắn bản đồ"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:303
+msgid "Unset"
+msgstr "Không đặt"
+
+#: frontend/src/metabase/visualizations/components/TableSimple.jsx:253
+msgid "Rows {0}-{1} of {2}"
+msgstr "Hàng {0} - {1} trong số {2}"
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:189
+msgid "Data truncated to {0} rows."
+msgstr "Dữ liệu bị cắt ngắn thành {0} hàng"
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:364
+msgid "Could not find visualization"
+msgstr "Không thể tìm thấy trực quan"
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:371
+msgid "Could not display this chart with this data."
+msgstr "Không thể hiển thị biểu đồ này với dữ liệu này"
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:469
+msgid "No results!"
+msgstr "Không có kết quả"
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:490
+msgid "Still Waiting..."
+msgstr "Đang chờ..."
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:493
+msgid "This usually takes an average of {0}."
+msgstr "Điều này thường mất trung bình {0}."
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:499
+msgid "(This is a bit long for a dashboard)"
+msgstr "(Đây là một chút dài cho một bảng điều khiển)"
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:503
+msgid "This is usually pretty fast but seems to be taking awhile right now."
+msgstr "Điều này thường khá nhanh nhưng dường như đang mất một lúc"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingFieldPicker.jsx:36
+msgid "Select a field"
+msgstr "Chọn một trường"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingFieldsPicker.jsx:45
+msgid "error"
+msgstr "lá»—i"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingOrderedColumns.jsx:126
+msgid "Click and drag to change their order"
+msgstr "Nhấp và kéo để thay đổi thứ tự của họ"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingOrderedColumns.jsx:139
+msgid "Add fields from the list below"
+msgstr "Thêm các trường từ danh sách dưới đây"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:24
+msgid "less than"
+msgstr "ít hơn"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:25
+msgid "greater than"
+msgstr "nhiều hơn"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:26
+msgid "less than or equal to"
+msgstr "ít hơn hoặc bằng"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:27
+msgid "greater than or equal to"
+msgstr "nhiều hơn hoặc bằng"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:28
+msgid "equal to"
+msgstr "bằng"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:29
+msgid "not equal to"
+msgstr "không bằng"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:191
+msgid "Conditional formatting"
+msgstr "Cài đặt điều kiện"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:193
+msgid "You can add rules to make the cells in this table change color if\n"
+"they meet certain conditions."
+msgstr "Bạn có thể thêm quy tắc để làm cho các ô trong bảng này thay đổi màu nếu \\ n Họ đáp ứng một số điều kiện nhất định."
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:203
+msgid "Add a rule"
+msgstr "Thêm luật"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:208
+msgid "Rules will be applied in this order"
+msgstr "Các quy tắc sẽ được áp dụng theo thứ tự này"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:209
+msgid "Click and drag to reorder."
+msgstr "Nhấp và kéo để sắp xếp lại"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:242
+msgid "No columns selected"
+msgstr "Không cột nào được chọn"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:290
+msgid "Cells in this column will be tinted based on their values."
+msgstr "Các ô trong cột này sẽ được pha màu dựa trên các giá trị của chúng"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:279
+msgid "When a cell in these columns is {0} it will be tinted this color."
+msgstr "Khi một ô trong các cột này là {0}, nó sẽ được tô màu này."
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:313
+msgid "Which columns should be affected?"
+msgstr "Những cột nào sẽ bị ảnh hưởng?"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:335
+msgid "Formatting style"
+msgstr "Định dạng kiểu "
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:339
+msgid "Single color"
+msgstr "Màu đơn"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:340
+msgid "Color range"
+msgstr "Dải màu"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:312
+msgid "When a cell in this column is…"
+msgstr "Khi một ô trong cột này là..."
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:376
+msgid "…turn its background this color:"
+msgstr "...để nền màu này"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:382
+msgid "Highlight the whole row"
+msgstr "Đánh dấu toàn bộ hàng"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:390
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:98
+msgid "Colors"
+msgstr "Màu"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:404
+msgid "Start the range at"
+msgstr "Bắt đầu chuỗi từ"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:409
+msgid "Smallest value in this column"
+msgstr "Giá trị nhỏ nhất cột"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:411
+msgid "Smallest value in each column"
+msgstr "Giá trị nhỏ nhất mỗi cột"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:413
+msgid "Smallest value in all of these columns"
+msgstr "Giá trị nhỏ nhất trong tất cả các cột"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:417
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:441
+msgid "Custom value"
+msgstr "Giá trị tùy chỉnh"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:428
+msgid "End the range at"
+msgstr "Kết thúc chuỗi ở"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:433
+msgid "Largest value in this column"
+msgstr "Giá trị lớn nhất trong cột"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:435
+msgid "Largest value in each column"
+msgstr "Giá trị lớn nhất từng cột"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:437
+msgid "Largest value in all of these columns"
+msgstr "Giá trị lớn nhất trong tất cả các cột"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:471
+msgid "Add rule"
+msgstr "Thêm luật"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:471
+msgid "Update rule"
+msgstr "Cập nhập luật"
+
+#: frontend/src/metabase/visualizations/index.js:33
+msgid "Visualization is null"
+msgstr "Trá»±c quan rá»—ng"
+
+#: frontend/src/metabase/visualizations/index.js:38
+msgid "Visualization must define an 'identifier' static variable: "
+msgstr "Trực quan hóa phải xác định biến tĩnh 'định danh'"
+
+#: frontend/src/metabase/visualizations/index.js:44
+msgid "Visualization with that identifier is already registered: "
+msgstr "Hình dung với định danh đó đã được đăng ký:"
+
+#: frontend/src/metabase/visualizations/index.js:72
+msgid "No visualization for {0}"
+msgstr "Không trực quan hóa cho {0}"
+
+#: frontend/src/metabase/visualizations/lib/LineAreaBarRenderer.js:75
+msgid "\"{0}\" is an unaggregated field: if it has more than one value at a point on the x-axis, the values will be summed."
+msgstr "\\ \"{0} \" là trường không kết hợp: nếu nó có nhiều hơn một giá trị tại một điểm trên trục x, các giá trị sẽ được tính tổng."
+
+#: frontend/src/metabase/visualizations/lib/LineAreaBarRenderer.js:91
+msgid "This chart type requires at least 2 columns."
+msgstr "Loại biểu đồ này yêu cầu ít nhất 2 cột."
+
+#: frontend/src/metabase/visualizations/lib/LineAreaBarRenderer.js:96
+msgid "This chart type doesn't support more than {0} series of data."
+msgstr "Loại biểu đồ này không hỗ trợ nhiều hơn {0} chuỗi dữ liệu."
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:316
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:51
+msgid "Goal"
+msgstr "Mục đích"
+
+#: frontend/src/metabase/visualizations/lib/errors.js:11
+msgid "Doh! The data from your query doesn't fit the chosen display choice. This visualization requires at least {0} {1} of data."
+msgstr "Đừng! Dữ liệu từ truy vấn của bạn không phù hợp với lựa chọn hiển thị đã chọn. Hình dung này yêu cầu ít nhất {0} {1} dữ liệu."
+
+#: frontend/src/metabase/visualizations/lib/errors.js:11
+msgid "column"
+msgid_plural "columns"
+msgstr[0] "cá»™t"
+
+#: frontend/src/metabase/visualizations/lib/errors.js:23
+msgid "No dice. We have {0} data {1} to show and that's not enough for this visualization."
+msgstr "Không có con xúc xắc. Chúng tôi có {0} dữ liệu {1} để hiển thị và điều đó không đủ cho hình dung này"
+
+#: frontend/src/metabase/visualizations/lib/errors.js:23
+msgid "point"
+msgid_plural "points"
+msgstr[0] "điểm"
+
+#: frontend/src/metabase/visualizations/lib/errors.js:35
+msgid "Bummer. We can't actually do a pin map for this data because we require both a latitude and longitude column."
+msgstr "Bummer. Chúng tôi thực sự không thể thực hiện bản đồ pin cho dữ liệu này vì chúng tôi yêu cầu cả cột vĩ độ và kinh độ."
+
+#: frontend/src/metabase/visualizations/lib/errors.js:55
+msgid "Please configure this chart in the chart settings"
+msgstr "Vui lòng định cấu hình biểu đồ này trong cài đặt biểu đồ"
+
+#: frontend/src/metabase/visualizations/lib/errors.js:57
+msgid "Edit Settings"
+msgstr "Thay đổi cài đặt"
+
+#: frontend/src/metabase/visualizations/lib/fill_data.js:37
+msgid "xValues missing!"
+msgstr "Giá trị thiếu"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:114
+#: frontend/src/metabase/visualizations/visualizations/RowChart.jsx:31
+msgid "X-axis"
+msgstr "Trục X"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:140
+msgid "Add a series breakout..."
+msgstr "Thêm chuỗi"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:153
+#: frontend/src/metabase/visualizations/visualizations/RowChart.jsx:35
+msgid "Y-axis"
+msgstr "trục Y"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:178
+msgid "Add another series..."
+msgstr "Thêm chuỗi khác..."
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:195
+msgid "Bubble size"
+msgstr "Kích thước bong bóng"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:71
+#: frontend/src/metabase/visualizations/visualizations/LineChart.jsx:16
+msgid "Line"
+msgstr "Dòng"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:72
+msgid "Curve"
+msgstr "Đường cong"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:73
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:69
+msgid "Step"
+msgstr "BÆ°á»›c"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:170
+msgid "Show point markers on lines"
+msgstr "Hiển thị điểm đánh dấu trên đường"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:235
+msgid "Stacking"
+msgstr "Đang xếp chồng"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:239
+msgid "Don't stack"
+msgstr "Không xếp chồng"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:240
+msgid "Stack"
+msgstr "Xếp chồng"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:241
+msgid "Stack - 100%"
+msgstr "Xếp chồng - 100%"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:300
+msgid "Show goal"
+msgstr "Hiển thị đích"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:306
+msgid "Goal value"
+msgstr "Giá trị đích"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:103
+msgid "Replace missing values with"
+msgstr "Thay thế giá trị thiếu bằng"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:107
+msgid "Zero"
+msgstr "không"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:108
+msgid "Nothing"
+msgstr "Không có gì"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:109
+msgid "Linear Interpolated"
+msgstr "Nội suy tuyến tính"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:371
+msgid "X-axis scale"
+msgstr "Kích thước trục X"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:388
+msgid "Timeseries"
+msgstr "Dòng thời gian"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:391
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:409
+msgid "Linear"
+msgstr "Tuyến tính"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:393
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:410
+msgid "Power"
+msgstr "Nguồn"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:394
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:411
+msgid "Log"
+msgstr "Khóa"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:396
+msgid "Histogram"
+msgstr "Biểu đồ"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:398
+msgid "Ordinal"
+msgstr "Bình thường"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:404
+msgid "Y-axis scale"
+msgstr "Kích thước trục Y"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:417
+msgid "Show x-axis line and marks"
+msgstr "Hiển thị dòng trục x và điểm"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:423
+msgid "Compact"
+msgstr "Gọn nhẹ"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:424
+msgid "Rotate 45°"
+msgstr "Xoay 45 Ä‘á»™"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:425
+msgid "Rotate 90°"
+msgstr "Xoay 90 Ä‘á»™"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:432
+msgid "Show y-axis line and marks"
+msgstr "Hiển thị dòng trục y và điểm"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:444
+msgid "Auto y-axis range"
+msgstr "Tự động phạm vi trục y "
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:488
+msgid "Use a split y-axis when necessary"
+msgstr "Dùng trục Y xoay khi cần thiết"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:495
+msgid "Show label on x-axis"
+msgstr "Hiển thị nhãn trên trục X"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:501
+msgid "X-axis label"
+msgstr "Nhãn trục "
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:510
+msgid "Show label on y-axis"
+msgstr "Thể hiện nhãn trên trục "
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:516
+msgid "Y-axis label"
+msgstr "Hiển thị nhãn trên trục Y"
+
+#: frontend/src/metabase/visualizations/lib/utils.js:129
+msgid "Standard Deviation"
+msgstr "Độ lệch chuẩn"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:275
+#: frontend/src/metabase/visualizations/visualizations/AreaChart.jsx:17
+msgid "Area"
+msgstr "Vùng"
+
+#: frontend/src/metabase/visualizations/visualizations/AreaChart.jsx:20
+msgid "area chart"
+msgstr "biểu đồ khu vực"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:276
+#: frontend/src/metabase/visualizations/visualizations/BarChart.jsx:16
+msgid "Bar"
+msgstr "Thanh"
+
+#: frontend/src/metabase/visualizations/visualizations/BarChart.jsx:19
+msgid "bar chart"
+msgstr "biểu đồ thanh"
+
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:58
+msgid "Which fields do you want to use?"
+msgstr "Những lĩnh vực nào bạn muốn sử dụng"
+
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:32
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:87
+msgid "Funnel"
+msgstr "Phá»…u"
+
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:76
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:76
+msgid "Measure"
+msgstr "Đo lường"
+
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:82
+msgid "Funnel type"
+msgstr "Loại phễu"
+
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:88
+msgid "Bar chart"
+msgstr "Biểu đồ cột"
+
+#: frontend/src/metabase/visualizations/visualizations/LineChart.jsx:19
+msgid "line chart"
+msgstr "biểu đồ đường"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:224
+msgid "Please select longitude and latitude columns in the chart settings."
+msgstr "Vui lòng chọn các cột kinh độ và vĩ độ trong cài đặt biểu đồ."
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:230
+msgid "Please select a region map."
+msgstr "Vui lòng chọn một bản đồ khu vực."
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:236
+msgid "Please select region and metric columns in the chart settings."
+msgstr "Vui lòng chọn các cột khu vực và số liệu trong cài đặt biểu đồ."
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:38
+msgid "Map"
+msgstr "Bản đồ"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:53
+msgid "Map type"
+msgstr "Loại bản đồ"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:57
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:149
+msgid "Region map"
+msgstr "Vùng trên bản đồ"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:58
+msgid "Pin map"
+msgstr "Đánh dấu trên bản đồ"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:104
+msgid "Pin type"
+msgstr "Loại đánh dấu"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:109
+msgid "Tiles"
+msgstr "Ngói"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:110
+msgid "Markers"
+msgstr "Dấu"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:126
+msgid "Latitude field"
+msgstr "Trường vĩ độ"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:134
+msgid "Longitude field"
+msgstr "Trường kinh độ"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:142
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:168
+msgid "Metric field"
+msgstr "Trường số liệu"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:172
+msgid "Region field"
+msgstr "Trường vùng"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:192
+msgid "Radius"
+msgstr "Bán kính"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:198
+msgid "Blur"
+msgstr "Làm nhòe"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:204
+msgid "Min Opacity"
+msgstr "Độ mờ tối thiểu"
+
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:210
+msgid "Max Zoom"
+msgstr "Thu phóng tối đa"
+
+#: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:175
+msgid "No relationships found."
+msgstr "Không tìm thấy quan hệ"
+
+#: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:213
+msgid "via {0}"
+msgstr "thông qua {0}"
+
+#: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:290
+msgid "This {0} is connected to:"
+msgstr " {0} này được liên kết đến:"
+
+#: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:47
+msgid "Object Detail"
+msgstr "Chi tiết đối tượng"
+
+#: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:50
+msgid "object"
+msgstr "đối tượng"
+
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:312
+msgid "Total"
+msgstr "Tổng"
+
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:61
+msgid "Which columns do you want to use?"
+msgstr "Cột bạn muốn sử dụng"
+
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:44
+msgid "Pie"
+msgstr "Bánh"
+
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:71
+msgid "Dimension"
+msgstr "Kích thước"
+
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:81
+msgid "Show legend"
+msgstr "Hiển thị huyền thoại"
+
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:86
+msgid "Show percentages in legend"
+msgstr "Hiển thị phần trăm trong huyền thoại"
+
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:92
+msgid "Minimum slice percentage"
+msgstr "Tỉ lệ phần trăm tối thiểu"
+
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:146
+msgid "Goal met"
+msgstr "Đạt được mục tiêu"
+
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:148
+msgid "Goal exceeded"
+msgstr "Vượt quá mục tiêu"
+
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:215
+msgid "Goal {0}"
+msgstr "Mục tiêu {0}"
+
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:39
+msgid "Progress visualization requires a number."
+msgstr "Hình dung tiến độ đòi hỏi một số"
+
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:27
+msgid "Progress"
+msgstr "Đang thực hiện"
+
+#: frontend/src/metabase/entities/collections.js:108
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:176
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:57
+msgid "Color"
+msgstr "Màu"
+
+#: frontend/src/metabase/visualizations/visualizations/RowChart.jsx:13
+msgid "Row Chart"
+msgstr "Biểu đồ hàng"
+
+#: frontend/src/metabase/visualizations/visualizations/RowChart.jsx:16
+msgid "row chart"
+msgstr "biểu đồ hàng"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:357
+msgid "Separator style"
+msgstr "Kiểu tách"
+
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:88
+msgid "Number of decimal places"
+msgstr "Số vị thập phân"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:381
+msgid "Add a prefix"
+msgstr "Thêm một tiền tố"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:385
+msgid "Add a suffix"
+msgstr "Thêm một hậu tố"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:374
+msgid "Multiply by a number"
+msgstr "Nhân với một số"
+
+#: frontend/src/metabase/visualizations/visualizations/ScatterPlot.jsx:16
+msgid "Scatter"
+msgstr "Tiêu tan"
+
+#: frontend/src/metabase/visualizations/visualizations/ScatterPlot.jsx:19
+msgid "scatter plot"
+msgstr "phân tán âm mưu"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:78
+msgid "Pivot the table"
+msgstr "Xoay bảng"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:73
+msgid "Visible fields"
+msgstr "Các trường nhìn thấy được"
+
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:167
+msgid "Write here, and use Markdown if you''d like"
+msgstr "Viết ở đây và sử dụng Markdown nếu bạn muốn"
+
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:73
+msgid "Vertical Alignment"
+msgstr "Căn dọc"
+
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:77
+msgid "Top"
+msgstr "Đầu"
+
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:78
+msgid "Middle"
+msgstr "Giữa"
+
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:79
+msgid "Bottom"
+msgstr "Cuối"
+
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:86
+msgid "Horizontal Alignment"
+msgstr "Căn ngang"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:126
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:90
+msgid "Left"
+msgstr "Bên trái"
+
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:91
+msgid "Center"
+msgstr "Giữa"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:127
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:92
+msgid "Right"
+msgstr "Phải"
+
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:99
+msgid "Show background"
+msgstr "Hiển thị nền"
+
+#: frontend/src/metabase-lib/lib/Dimension.js:553
+msgid "{0} bin"
+msgid_plural "{0} bins"
+msgstr[0] "ngăn"
+
+#: frontend/src/metabase-lib/lib/Dimension.js:559
+msgid "Auto binned"
+msgstr "tự động ngăn"
+
+#: src/metabase/api/alert.clj
+msgid "DELETE /api/alert/:id is deprecated. Instead, change its `archived` value via PUT /api/alert/:id."
+msgstr "XÓA / api / alert /: id không được dùng nữa. Thay vào đó, thay đổi giá trị `được lưu trữ của nó thông qua PUT / api / alert /: id."
+
+#: src/metabase/api/automagic_dashboards.clj
+msgid "invalid show value"
+msgstr "giá trị hiển thị không hợp lệ"
+
+#: src/metabase/api/automagic_dashboards.clj
+msgid "invalid value for prefix"
+msgstr "giá trị không hợp lệ cho tiền tố"
+
+#: src/metabase/api/automagic_dashboards.clj
+msgid "invalid value for rule name"
+msgstr "Giá trị không hợp lệ cho luật tên"
+
+#: src/metabase/api/automagic_dashboards.clj
+msgid "value couldn''t be parsed as base64 encoded JSON"
+msgstr "giá trị không thể được phân tích cú pháp dưới dạng JSON được mã hóa base64"
+
+#: src/metabase/api/automagic_dashboards.clj
+msgid "Invalid entity type"
+msgstr "Loại thực thể không hợp lệ"
+
+#: src/metabase/api/automagic_dashboards.clj
+msgid "Invalid comparison entity type. Can only be one of \"table\", \"segment\", or \"adhoc\""
+msgstr "Loại thực thể so sánh không hợp lệ. Chỉ có thể là một trong \\ \"bảng \", \\ \"phân đoạn \" hoặc \\ \"adhoc \\"
+
+#: src/metabase/query_processor/async.clj
+msgid "Error running query to determine Card result metadata:"
+msgstr "Lỗi khi chạy truy vấn để xác định siêu dữ liệu kết quả Thẻ:"
+
+#: src/metabase/api/card.clj
+msgid "DELETE /api/card/:id is deprecated. Instead, change its `archived` value via PUT /api/card/:id."
+msgstr "XÓA / api / thẻ /: id không được dùng nữa. Thay vào đó, thay đổi giá trị `được lưu trữ của nó thông qua PUT / api / card /: id."
+
+#: src/metabase/api/common.clj src/metabase/api/common/internal.clj
+msgid "Invalid field: {0}"
+msgstr "Trường không hợp lệ: {0}"
+
+#: src/metabase/api/common.clj
+msgid "Invalid value ''{0}'' for ''{1}'': {2}"
+msgstr "Giá trị không hợp lệ '' {0} '' cho '' {1} '': {2}"
+
+#: src/metabase/api/common.clj
+msgid "must be one of: {0}"
+msgstr "phải là một trong: {0}"
+
+#: src/metabase/api/common.clj
+msgid "Invalid Request."
+msgstr "Yêu cầu không hợp lệ."
+
+#: src/metabase/api/common.clj
+msgid "Not found."
+msgstr "Không tìm thấy"
+
+#: src/metabase/api/common.clj
+msgid "You don''t have permissions to do that."
+msgstr "Bạn không có quyền làm thế"
+
+#: src/metabase/api/common.clj
+msgid "Internal server error."
+msgstr "Nội bộ hệ thống lỗi"
+
+#: src/metabase/api/common.clj
+msgid "Warning: endpoint {0}/{1} does not have a docstring."
+msgstr "Cảnh báo: điểm cuối {0} / {1} không có chuỗi doc."
+
+#: src/metabase/api/common.clj
+msgid "starting streaming request"
+msgstr "bắt đầu yêu cầu phát trực tuyến"
+
+#: src/metabase/async/api_response.clj
+msgid "connection closed, canceling request"
+msgstr "đóng kết nối, hủy yêu cầu"
+
+#. a newline padding character as it's harmless and will allow us to check if the client is connected. If
+#. sending this character fails because the connection is closed, the chan will then close.  Newlines are
+#. no-ops when reading JSON which this depends upon.
+#: src/metabase/async/api_response.clj
+msgid "Response not ready, writing one byte & sleeping..."
+msgstr "Response not ready, writing one byte & sleeping..."
+
+#: src/metabase/api/common.clj
+msgid "Public sharing is not enabled."
+msgstr "Chia sẻ công khai không kích hoạt"
+
+#: src/metabase/api/common.clj
+msgid "Embedding is not enabled."
+msgstr "Embedding is not enabled."
+
+#: src/metabase/api/common.clj
+msgid "The object has been archived."
+msgstr "Đối tượng đã được lưu trữ"
+
+#: src/metabase/api/common/internal.clj
+msgid "Attempted to return a boolean as an API response. This is not allowed!"
+msgstr "Đã cố trả về boolean dưới dạng phản hồi API. Điều này không được phép!"
+
+#: src/metabase/api/dataset.clj
+msgid "Source query for this query is Card {0}"
+msgstr "Truy vấn nguồn cho truy vấn này là Thẻ {0}"
+
+#: src/metabase/api/dataset.clj
+msgid "Invalid export format: {0}"
+msgstr "Định dạng xuất không hợp lệ: {0}"
+
+#: src/metabase/api/geojson.clj
+msgid "Invalid JSON URL or resource: {0}"
+msgstr "Tài nguyên hoặc URL JSON không hợp lệ: {0}"
+
+#: src/metabase/api/geojson.clj
+msgid "JSON containing information about custom GeoJSON files for use in map visualizations instead of the default US State or World GeoJSON."
+msgstr "JSON chứa thông tin về các tệp GeoJSON tùy chỉnh để sử dụng trong trực quan hóa bản đồ thay vì trạng thái mặc định của Hoa Kỳ hoặc World GeoJSON."
+
+#: src/metabase/api/geojson.clj
+msgid "Invalid custom GeoJSON key: {0}"
+msgstr "Khóa GeoJSON tùy chỉnh không hợp lệ: {0}"
+
+#. ...but if we *still* couldn't find a match, throw an Exception, because we don't want people
+#. trying to inject new params
+#: src/metabase/api/public.clj
+msgid "Invalid param: {0}"
+msgstr "Thông số không hợp lệ: {0}"
+
+#: src/metabase/api/pulse.clj
+msgid "DELETE /api/pulse/:id is deprecated. Instead, change its `archived` value via PUT /api/pulse/:id."
+msgstr "XÓA / api / xung /: id không được dùng nữa. Thay vào đó, thay đổi giá trị `được lưu trữ của nó thông qua PUT / api / Pulse /: id"
+
+#: src/metabase/api/routes.clj
+msgid "API endpoint does not exist."
+msgstr "Điểm cuối API không tồn tại."
+
+#: src/metabase/api/session.clj
+msgid "Password did not match stored password."
+msgstr "Mật khẩu không khớp với mật khẩu được lưu trữ."
+
+#: src/metabase/api/session.clj
+msgid "did not match stored password"
+msgstr "không khớp với mật khẩu đã lưu"
+
+#: src/metabase/api/session.clj
+msgid "Problem connecting to LDAP server, will fallback to local authentication {0}"
+msgstr "Sự cố khi kết nối với máy chủ LDAP, sẽ chuyển sang xác thực cục bộ {0}"
+
+#: src/metabase/api/session.clj
+msgid "Invalid reset token"
+msgstr "Mã thông báo đặt lại không hợp lệ"
+
+#: src/metabase/api/session.clj
+msgid "Client ID for Google Auth SSO. If this is set, Google Auth is considered to be enabled."
+msgstr "ID khách hàng cho Google Auth SSO. Nếu điều này được đặt, Google Auth được coi là được bật."
+
+#: src/metabase/api/session.clj
+msgid "When set, allow users to sign up on their own if their Google account email address is from this domain."
+msgstr "Khi được đặt, cho phép người dùng tự đăng ký nếu địa chỉ email tài khoản Google của họ đến từ miền này"
+
+#: src/metabase/api/session.clj
+msgid "Invalid Google Auth token."
+msgstr "Mã thông báo xác thực Google không hợp lệ."
+
+#: src/metabase/api/session.clj
+msgid "Email is not verified."
+msgstr "Email is not verified."
+
+#: src/metabase/api/session.clj
+msgid "You''ll need an administrator to create a Metabase account before you can use Google to log in."
+msgstr "Bạn sẽ cần một quản trị viên để tạo tài khoản Metabase trước khi bạn có thể sử dụng Google để đăng nhập."
+
+#: src/metabase/api/session.clj
+msgid "Successfully authenticated Google Auth token for: {0} {1}"
+msgstr "Mã thông báo Google Auth được xác thực thành công cho: {0} {1}"
+
+#: src/metabase/api/setup.clj
+msgid "Add a database"
+msgstr "Thêm cơ sở dữ liệu"
+
+#: src/metabase/api/setup.clj
+msgid "Get connected"
+msgstr "Kết nối"
+
+#: src/metabase/api/setup.clj
+msgid "Connect to your data so your whole team can start to explore."
+msgstr "Kết nối với dữ liệu của bạn để cả nhóm của bạn có thể bắt đầu khám phá."
+
+#: src/metabase/api/setup.clj
+msgid "Set up email"
+msgstr "Thiết lập email"
+
+#: src/metabase/api/setup.clj
+msgid "Add email credentials so you can more easily invite team members and get updates via Pulses."
+msgstr "Thêm thông tin đăng nhập email để bạn có thể dễ dàng mời các thành viên trong nhóm hơn và nhận thông tin cập nhật qua Xung."
+
+#: src/metabase/api/setup.clj
+msgid "Set Slack credentials"
+msgstr "Đặt thông tin đăng nhập Slack"
+
+#: src/metabase/api/setup.clj
+msgid "Does your team use Slack? If so, you can send automated updates via pulses and ask questions with MetaBot."
+msgstr "Đội của bạn có sử dụng Slack không? Nếu vậy, bạn có thể gửi cập nhật tự động qua các xung và đặt câu hỏi với MetaBot"
+
+#: src/metabase/api/setup.clj
+msgid "Invite team members"
+msgstr "Mời thành viên trong nhóm"
+
+#: src/metabase/api/setup.clj
+msgid "Share answers and data with the rest of your team."
+msgstr "Chia sẻ câu trả lời và dữ liệu với phần còn lại của nhóm của bạn."
+
+#: src/metabase/api/setup.clj
+msgid "Hide irrelevant tables"
+msgstr "Ẩn bảng liên quan"
+
+#: src/metabase/api/setup.clj
+msgid "Curate your data"
+msgstr "Quản lý dữ liệu của bạn"
+
+#: src/metabase/api/setup.clj
+msgid "If your data contains technical or irrelevant info you can hide it."
+msgstr "Nếu dữ liệu của bạn chứa thông tin kỹ thuật hoặc không liên quan, bạn có thể ẩn nó."
+
+#: src/metabase/api/setup.clj
+msgid "Organize questions"
+msgstr "Sắp xếp câu hỏi"
+
+#: src/metabase/api/setup.clj
+msgid "Have a lot of saved questions in {0}? Create collections to help manage them and add context."
+msgstr "Có rất nhiều câu hỏi được lưu trong {0}? Tạo các bộ sưu tập để giúp quản lý chúng và thêm bối cảnh."
+
+#. This is the very first log message that will get printed.
+#. It's here because this is one of the very first namespaces that gets loaded, and the first that has access to the logger
+#. It shows up a solid 10-15 seconds before the "Starting Metabase in STANDALONE mode" message because so many other namespaces need to get loaded
+#: src/metabase/api/setup.clj
+msgid "Metabase"
+msgstr "Cơ sở dữ liệu"
+
+#: src/metabase/api/setup.clj
+msgid "Create metrics"
+msgstr "Tạo số liệu"
+
+#: src/metabase/api/setup.clj
+msgid "Define canonical metrics to make it easier for the rest of your team to get the right answers."
+msgstr "Xác định các số liệu chính tắc để giúp các thành viên còn lại của bạn dễ dàng có được câu trả lời đúng."
+
+#: src/metabase/api/setup.clj
+msgid "Create segments"
+msgstr "Tạo phân khúc"
+
+#: src/metabase/api/setup.clj
+msgid "Keep everyone on the same page by creating canonical sets of filters anyone can use while asking questions."
+msgstr "Giữ tất cả mọi người trên cùng một trang bằng cách tạo các bộ lọc chuẩn mà bất kỳ ai cũng có thể sử dụng trong khi đặt câu hỏi."
+
+#: src/metabase/api/table.clj
+msgid "Table ''{0}'' is now visible. Resyncing."
+msgstr "Bảng '' {0} '' hiện có thể nhìn thấy. Tái đồng bộ"
+
+#: src/metabase/api/table.clj
+msgid "Auto bin"
+msgstr "Tự động ngăn"
+
+#: src/metabase/api/table.clj
+msgid "Don''t bin"
+msgstr "Không ngăn"
+
+#: frontend/src/metabase/lib/query_time.js:193 src/metabase/api/table.clj
+msgid "Day"
+msgid_plural "Days"
+msgstr[0] "ngày"
+
+#. note the order of these options corresponds to the order they will be shown to the user in the UI
+#: frontend/src/metabase/lib/query_time.js:189 src/metabase/api/table.clj
+msgid "Minute"
+msgid_plural "Minutes"
+msgstr[0] "Phút"
+
+#: frontend/src/metabase/lib/query_time.js:191 src/metabase/api/table.clj
+msgid "Hour"
+msgid_plural "Hours"
+msgstr[0] "giờ"
+
+#. Quý
+#: frontend/src/metabase/lib/query_time.js:199 src/metabase/api/table.clj
+#, fuzzy
+msgid "Quarter"
+msgid_plural "Quarters"
+msgstr[0] "Quý"
+
+#: src/metabase/api/table.clj
+msgid "Minute of Hour"
+msgstr "Phút của giờ"
+
+#: src/metabase/api/table.clj
+msgid "Hour of Day"
+msgstr "Giờ của ngày"
+
+#: src/metabase/api/table.clj
+msgid "Day of Week"
+msgstr "Ngày của tuần"
+
+#: src/metabase/api/table.clj
+msgid "Day of Month"
+msgstr "Ngày của tháng"
+
+#: src/metabase/api/table.clj
+msgid "Day of Year"
+msgstr "Ngày của năm"
+
+#: src/metabase/api/table.clj
+msgid "Week of Year"
+msgstr "Tuần của năm"
+
+#: src/metabase/api/table.clj
+msgid "Month of Year"
+msgstr "Tháng của năm"
+
+#: src/metabase/api/table.clj
+msgid "Quarter of Year"
+msgstr "Quý của năm"
+
+#: src/metabase/api/table.clj
+msgid "10 bins"
+msgstr "10 thùng"
+
+#: src/metabase/api/table.clj
+msgid "50 bins"
+msgstr "50 thùng"
+
+#: src/metabase/api/table.clj
+msgid "100 bins"
+msgstr "100 thùng"
+
+#: src/metabase/api/table.clj
+msgid "Bin every 0.1 degrees"
+msgstr "Ngăn mỗi 0.1 độ"
+
+#: src/metabase/api/table.clj
+msgid "Bin every 1 degree"
+msgstr "Ngăn mỗi 1 độ"
+
+#: src/metabase/api/table.clj
+msgid "Bin every 10 degrees"
+msgstr "Ngăn mỗi 10 độ"
+
+#: src/metabase/api/table.clj
+msgid "Bin every 20 degrees"
+msgstr "Ngăn mỗi 20 độ"
+
+#. returns `true` if successful -- see JavaDoc
+#: src/metabase/api/tiles.clj src/metabase/pulse/render.clj
+msgid "No appropriate image writer found!"
+msgstr "Không tìm thấy nhà văn hình ảnh thích hợp!"
+
+#: src/metabase/api/user.clj
+msgid "Email address already in use."
+msgstr "Địa chỉ email đã được sử dụng"
+
+#: src/metabase/api/user.clj
+msgid "Email address already associated to another user."
+msgstr "Địa chỉ email đã được liên kết với người dùng khác."
+
+#: src/metabase/api/user.clj
+msgid "Not able to reactivate an active user"
+msgstr "Không thể kích hoạt lại người dùng đang hoạt động"
+
+#: src/metabase/api/user.clj
+msgid "Invalid password"
+msgstr "Mật khẩu không hợp lệ"
+
+#: src/metabase/automagic_dashboards/comparison.clj
+msgid "All {0}"
+msgstr "Tất cả {0}"
+
+#: src/metabase/automagic_dashboards/comparison.clj
+msgid "{0}, all {1}"
+msgstr "{0}, tất cả {1}"
+
+#: src/metabase/automagic_dashboards/comparison.clj
+msgid "Comparison of {0} and {1}"
+msgstr "So sánh {0} và {1}"
+
+#: src/metabase/automagic_dashboards/comparison.clj
+msgid "Automatically generated comparison dashboard comparing {0} and {1}"
+msgstr "Bảng điều khiển so sánh được tạo tự động so sánh {0} và {1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "sum"
+msgstr "tổng"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "average"
+msgstr "trung bình"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "minumum"
+msgstr "nhỏ nhất"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "maximum"
+msgstr "lớn nhất"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "distinct count"
+msgstr "số lượng khác biệt"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "standard deviation"
+msgstr "độ lệch chuẩn"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "cumulative count"
+msgstr "số tích lũy"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "cumulative sum"
+msgstr "tổng tích lũy"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} and {1}"
+msgstr "{0} và {1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} of {1}"
+msgstr "{0} của {1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} by {1}"
+msgstr "{0} bởi {1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} in the {1} segment"
+msgstr "{0} trong phân đoạn {1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} segment"
+msgstr "Phân đoạn {0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} metric"
+msgstr "{0} số liệu"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} field"
+msgstr "{0} trường"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "\"{0}\" question"
+msgstr "\"{0}\" câu hỏi"
+
+#: src/metabase/automagic_dashboards/comparison.clj
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Compare with {0}"
+msgstr "So sánh với {0}"
+
+#: src/metabase/automagic_dashboards/comparison.clj
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Compare with entire dataset"
+msgstr "So sánh với toàn bộ dữ liệu"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Applying heuristic %s to %s."
+msgstr "Áp dụng heuristic% s cho% s."
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Dimensions bindings:n%s"
+msgstr "Kích thước ràng buộc: n% s"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Using definitions:nMetrics:n%snFilters:n%s"
+msgstr "Sử dụng định nghĩa: nMetrics: n% snFilters: n% s"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Can''t create dashboard for {0}"
+msgstr "Không thể tạo bảng điều khiển cho {0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0}st"
+msgstr "{0}st"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0}nd"
+msgstr "{0}nd"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0}rd"
+msgstr "{0}rd"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0}th"
+msgstr "{0}th"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "at {0}"
+msgstr "ở {0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "on {0}"
+msgstr "trên {0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "in {0} week - {1}"
+msgstr "trong {0} tuần - {1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "in {0}"
+msgstr "trong {0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "in Q{0} - {1}"
+msgstr "trong Q{0} - {1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Q{0}"
+msgstr "Q{0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} is {1}"
+msgstr "{0} là {1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} is between {1} and {2}"
+msgstr "{0} ở giữa {1} và {2}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "{0} is between {1} and {2}; and {3} is between {4} and {5}"
+msgstr "{0} nằm trong khoảng từ {1} đến {2}; và {3} nằm trong khoảng từ {4} đến {5}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "where {0}"
+msgstr "ở {0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "A closer look at {0}"
+msgstr "Nhìn kỹ hơn vào {0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "A closer look at the {0}"
+msgstr "Nhìn kỹ hơn vào {0}"
+
+#: src/metabase/automagic_dashboards/populate.clj
+msgid "Adding %s cards to dashboard %s:n%s"
+msgstr "Thêm thẻ% s vào bảng điều khiển% s: n% s"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "0 <= score <= {0}"
+msgstr "0 <= điểm <= {0}"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "1 <= width <= {0}"
+msgstr "1 <= chiều rộng <= {0}"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Valid metrics references"
+msgstr "Tài liệu tham khảo số liệu hợp lệ"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Valid filters references"
+msgstr "Tham chiếu bộ lọc hợp lệ"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Valid group references"
+msgstr "Tham chiếu nhóm hợp lệ"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Valid order_by references"
+msgstr "Tài liệu tham khảo order_by hợp lệ"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Valid dashboard filters references"
+msgstr "Tài liệu tham khảo bộ lọc bảng điều khiển hợp lệ"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Valid dimension references"
+msgstr "Tài liệu tham gia và trong số các tài liệu"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Valid card dimension references"
+msgstr "Tham chiếu kích thước thẻ hợp lệ"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Error parsing %s:n%s"
+msgstr "Lỗi phân tích cú pháp% s: n% s"
+
+#: src/metabase/cmd/reset_password.clj
+msgid "No user found with email address ''{0}''. "
+msgstr "Không tìm thấy người dùng có địa chỉ email '' {0} ''."
+
+#: src/metabase/cmd/reset_password.clj
+msgid "Please check the spelling and try again."
+msgstr "Vui lòng kiểm tra chính tả và thử lại."
+
+#: src/metabase/cmd/reset_password.clj
+msgid "Resetting password for {0}..."
+msgstr "Đặt lại mật khẩu cho {0} ..."
+
+#: src/metabase/cmd/reset_password.clj
+msgid "OK [[[{0}]]]"
+msgstr "OK [[[{0}]]]"
+
+#: src/metabase/cmd/reset_password.clj
+msgid "FAIL [[[{0}]]]"
+msgstr "Sai [[[{0}]]]"
+
+#: src/metabase/core.clj
+msgid "Please use the following URL to setup your Metabase installation:"
+msgstr "Vui lòng sử dụng URL sau để thiết lập cài đặt Metabase của bạn:"
+
+#: src/metabase/core.clj
+msgid "Metabase Shutting Down ..."
+msgstr "Metabase đóng cửa ..."
+
+#: src/metabase/core.clj
+msgid "Metabase Shutdown COMPLETE"
+msgstr "Tắt cơ sở dữ liệu HOÀN THÀNH"
+
+#: src/metabase/core.clj
+msgid "Starting Metabase version {0} ..."
+msgstr "Bắt đầu phiên bản Metabase {0} ..."
+
+#: src/metabase/core.clj
+msgid "System timezone is ''{0}'' ..."
+msgstr "Múi giờ hệ thống là '' {0} '' ..."
+
+#. startup database.  validates connection & runs any necessary migrations
+#: src/metabase/core.clj
+msgid "Setting up and migrating Metabase DB. Please sit tight, this may take a minute..."
+msgstr "Thiết lập và di chuyển Metabase DB. Hãy ngồi thật chặt, điều này có thể mất một phút ..."
+
+#: src/metabase/core.clj
+msgid "Looks like this is a new installation ... preparing setup wizard"
+msgstr "Có vẻ như đây là một cài đặt mới ... chuẩn bị trình hướng dẫn thiết lập"
+
+#: src/metabase/core.clj
+msgid "Metabase Initialization COMPLETE"
+msgstr "Khởi tạo Metabase HOÀN THÀNH"
+
+#: src/metabase/server.clj
+msgid "Launching Embedded Jetty Webserver with config:"
+msgstr "Khởi chạy Máy chủ web nhúng với cấu hình:"
+
+#: src/metabase/server.clj
+msgid "Shutting Down Embedded Jetty Webserver"
+msgstr "Tắt Máy chủ web nhún"
+
+#: src/metabase/core.clj
+msgid "Starting Metabase in STANDALONE mode"
+msgstr "Khởi chạy Metabase trong STANDALON"
+
+#: src/metabase/core.clj
+msgid "Metabase Initialization FAILED"
+msgstr "Lỗi khởi tạo Metabas"
+
+#: src/metabase/db.clj
+msgid "Database has migration lock; cannot run migrations."
+msgstr "Cơ sở dữ liệu có khóa di chuyển; không thể chạy di chuyển."
+
+#: src/metabase/db.clj
+msgid "You can force-release these locks by running `java -jar metabase.jar migrate release-locks`."
+msgstr "Bạn có thể buộc giải phóng các khóa này bằng cách chạy `java -jar metabase.jar di chuyển các khóa phát hành"
+
+#: src/metabase/db.clj
+msgid "Checking if Database has unrun migrations..."
+msgstr "Kiểm tra xem Cơ sở dữ liệu có di chuyển không vượt quá ..."
+
+#: src/metabase/db.clj
+msgid "Database has unrun migrations. Waiting for migration lock to be cleared..."
+msgstr "Cơ sở dữ liệu đã di chuyển không di chuyển. Đang chờ khóa di chuyển bị xóa ..."
+
+#: src/metabase/db.clj
+msgid "Migration lock is cleared. Running migrations..."
+msgstr "Khóa di chuyển bị xóa. Chạy di chuyển ..."
+
+#: src/metabase/db.clj
+msgid "Migration lock cleared, but nothing to do here! Migrations were finished by another instance."
+msgstr "Xóa khóa di chuyển, nhưng không có gì để làm ở đây! Di chuyển đã được hoàn thành bởi một ví dụ khác."
+
+#. Set up liquibase and let it do its thing
+#: src/metabase/db.clj
+msgid "Setting up Liquibase..."
+msgstr "Thiết lập Liquibase ..."
+
+#: src/metabase/db.clj
+msgid "Liquibase is ready."
+msgstr "Liquibase đã sẵn sàng."
+
+#: src/metabase/db.clj
+msgid "Verifying {0} Database Connection ..."
+msgstr "Đang xác minh {0} Kết nối cơ sở dữ liệu ... "
+
+#: src/metabase/db.clj
+msgid "Verify Database Connection ... "
+msgstr "Xác minh kết nối cơ sở dữ liệu ..."
+
+#: src/metabase/db.clj
+msgid "Running Database Migrations..."
+msgstr "Chạy di chuyển cơ sở dữ liệu ..."
+
+#: src/metabase/db.clj
+msgid "Database Migrations Current ... "
+msgstr "Di chuyển cơ sở dữ liệu hiện tại ..."
+
+#: src/metabase/driver/common.clj
+msgid "Hmm, we couldn''t connect to the database."
+msgstr "Hmm, chúng tôi không thể kết nối với cơ sở dữ liệu."
+
+#: src/metabase/driver/common.clj
+msgid "Make sure your host and port settings are correct"
+msgstr "Đảm bảo rằng cài đặt máy chủ và cổng của bạn là chính xác"
+
+#: src/metabase/driver/common.clj
+msgid "We couldn''t connect to the ssh tunnel host."
+msgstr "Chúng tôi không thể kết nối với máy chủ đường hầm ssh."
+
+#: src/metabase/driver/common.clj
+msgid "Check the username, password."
+msgstr "Kiểm tra tên đăng nhập, mật khẩu."
+
+#: src/metabase/driver/common.clj
+msgid "Check the hostname and port."
+msgstr "Kiểm tra tên máy chủ và cổng."
+
+#: src/metabase/driver/common.clj
+msgid "Looks like the database name is incorrect."
+msgstr "Hình như tên cơ sở dữ liệu không chính xác."
+
+#: src/metabase/driver/common.clj
+msgid "It looks like your host is invalid."
+msgstr "Có vẻ như máy chủ của bạn không hợp lệ."
+
+#: src/metabase/driver/common.clj
+msgid "Please double-check it and try again."
+msgstr "Vui lòng kiểm tra lại và thử lại."
+
+#: src/metabase/driver/common.clj
+msgid "Looks like your password is incorrect."
+msgstr "Có vẻ mật khẩu của bạn sai"
+
+#: src/metabase/driver/common.clj
+msgid "Looks like you forgot to enter your password."
+msgstr "Có vẻ bạn quên điền mật khẩu"
+
+#: src/metabase/driver/common.clj
+msgid "Looks like your username is incorrect."
+msgstr "Có vẻ tên đăng nhập của bạn không chính xác"
+
+#: src/metabase/driver/common.clj
+msgid "Looks like the username or password is incorrect."
+msgstr "Có vẻ tên đăng nhập hoặc mật khẩu không chính xác"
+
+#. ## CONFIG
+#: src/metabase/driver.clj
+msgid "Connection timezone to use when executing queries. Defaults to system timezone."
+msgstr "Múi giờ kết nối để sử dụng khi thực hiện truy vấn. Mặc định cho múi giờ hệ thống."
+
+#: src/metabase/driver.clj
+msgid "Registered driver {0} {1}"
+msgstr "Trình điều khiển đã đăng ký {0} {1}"
+
+#: src/metabase/driver.clj
+msgid "No -init-driver function found for ''{0}''"
+msgstr "Không tìm thấy chức năng trình điều khiển -init cho '' {0}''"
+
+#: src/metabase/driver/common.clj
+msgid "Unable to parse date string ''{0}'' for database engine ''{1}''"
+msgstr "Không thể phân tích chuỗi ngày '' {0} '' cho công cụ cơ sở dữ liệu '' {1} ''"
+
+#. all-NULL columns in DBs like Mongo w/o explicit types
+#: src/metabase/driver/common.clj
+msgid "Don''t know how to map class ''{0}'' to a Field base_type, falling back to :type/*."
+msgstr "Không biết cách ánh xạ lớp '' {0} '' sang Field base_type, quay lại: type / *."
+
+#: src/metabase/driver/util.clj
+msgid "Failed to connect to database: {0}"
+msgstr "Không thể kết nối với cơ sở dữ liệu: {0}"
+
+#: src/metabase/driver/bigquery.clj
+msgid "Invalid BigQuery identifier: ''{0}''"
+msgstr "Mã định danh BigQuery không hợp lệ: '' {0} ''"
+
+#: src/metabase/driver/bigquery.clj
+msgid "BigQuery statements can't be parameterized!"
+msgstr "Các câu lệnh BigQuery không thể được tham số hóa!"
+
+#: src/metabase/driver/sql_jdbc/execute.clj
+msgid "Failed to set timezone:"
+msgstr "Không thể đặt múi giờ:"
+
+#: src/metabase/driver/googleanalytics.clj
+msgid "You must enable the Google Analytics API. Use this link to go to the Google Developers Console: {0}"
+msgstr "Bạn phải bật API Google Analytics. Sử dụng liên kết này để đi tới Bảng điều khiển dành cho nhà phát triển của Google: {0} Không thể đặt múi giờ: \""
+
+#: src/metabase/driver/h2.clj
+msgid "Running SQL queries against H2 databases using the default (admin) database user is forbidden."
+msgstr "Ch.ạy các truy vấn SQL đối với cơ sở dữ liệu H2 bằng cách sử dụng người dùng cơ sở dữ liệu (quản trị viên) mặc định"
+
+#: src/metabase/driver/sparksql.clj
+msgid "Error: metabase.driver.FixedHiveDriver is registered, but JDBC does not seem to be using it."
+msgstr "Lỗi: metabase.driver.FixedHiveDriver đã được đăng ký, nhưng JDBC dường như không sử dụng nó."
+
+#: src/metabase/driver/sparksql.clj
+msgid "Found metabase.driver.FixedHiveDriver."
+msgstr "Tìm thấy metabase.driver.FixedHiveDriver."
+
+#: src/metabase/driver/sparksql.clj
+msgid "Successfully registered metabase.driver.FixedHiveDriver with JDBC."
+msgstr "Đã đăng ký thành công metabase.driver.FixedHiveDriver với JDBC."
+
+#. CONFIG
+#. TODO - smtp-port should be switched to type :integer
+#: src/metabase/email.clj
+msgid "Email address you want to use as the sender of Metabase."
+msgstr "Địa chỉ email bạn muốn sử dụng làm người gửi Metabase."
+
+#: src/metabase/email.clj
+msgid "The address of the SMTP server that handles your emails."
+msgstr "Địa chỉ của máy chủ SMTP xử lý email của bạn."
+
+#: src/metabase/email.clj
+msgid "SMTP username."
+msgstr "Tên người dùng SMTP."
+
+#: src/metabase/email.clj
+msgid "SMTP password."
+msgstr "SMTP mật khẩu"
+
+#: src/metabase/email.clj
+msgid "The port your SMTP server uses for outgoing emails."
+msgstr "Cổng máy chủ SMTP của bạn sử dụng cho các email gửi đi."
+
+#: src/metabase/email.clj
+msgid "SMTP secure connection protocol. (tls, ssl, starttls, or none)"
+msgstr "Giao thức kết nối an toàn SMTP. (tls, ssl, starttls hoặc không)"
+
+#: src/metabase/email.clj
+msgid "none"
+msgstr "không"
+
+#: src/metabase/email.clj
+msgid "SMTP host is not set."
+msgstr "Máy chủ SMTP không được đặt."
+
+#: src/metabase/email.clj
+msgid "Failed to send email"
+msgstr "Không thể gửi email"
+
+#: src/metabase/email.clj
+msgid "Error testing SMTP connection"
+msgstr "Lỗi kiểm tra kết nối SMTP"
+
+#: src/metabase/integrations/ldap.clj
+msgid "Enable LDAP authentication."
+msgstr "Kích hoạt xác thực LDAP."
+
+#: src/metabase/integrations/ldap.clj
+msgid "Server hostname."
+msgstr "Tên máy chủ."
+
+#: src/metabase/integrations/ldap.clj
+msgid "Server port, usually 389 or 636 if SSL is used."
+msgstr "Cổng máy chủ, thường là 389 hoặc 636 nếu SSL được sử dụng"
+
+#: src/metabase/integrations/ldap.clj
+msgid "Use SSL, TLS or plain text."
+msgstr "Sử dụng SSL, TLS hoặc văn bản thuần túy."
+
+#: src/metabase/integrations/ldap.clj
+msgid "The Distinguished Name to bind as (if any), this user will be used to lookup information about other users."
+msgstr "Tên Phân biệt để liên kết dưới dạng (nếu có), người dùng này sẽ được sử dụng để tra cứu thông tin về người dùng khác."
+
+#: src/metabase/integrations/ldap.clj
+msgid "The password to bind with for the lookup user."
+msgstr "Mật khẩu để liên kết với người dùng tra cứu"
+
+#: src/metabase/integrations/ldap.clj
+msgid "Search base for users. (Will be searched recursively)"
+msgstr "Tìm kiếm cơ sở cho người dùng. (Sẽ được tìm kiếm đệ quy)"
+
+#: src/metabase/integrations/ldap.clj
+msgid "User lookup filter, the placeholder '{login}' will be replaced by the user supplied login."
+msgstr "Bộ lọc tra cứu người dùng, trình giữ chỗ '{login}' sẽ được thay thế bằng thông tin đăng nhập do người dùng cung cấp."
+
+#: src/metabase/integrations/ldap.clj
+msgid "Attribute to use for the user's email. (usually ''mail'', ''email'' or ''userPrincipalName'')"
+msgstr "Thuộc tính để sử dụng cho email của người dùng. (thường là '' thư '', '' email '' hoặc '' userPrincipalName '')"
+
+#: src/metabase/integrations/ldap.clj
+msgid "Attribute to use for the user''s first name. (usually ''givenName'')"
+msgstr "Thuộc tính để sử dụng cho tên của người dùng. (thường là '' cho tên ''"
+
+#: src/metabase/integrations/ldap.clj
+msgid "Attribute to use for the user''s last name. (usually ''sn'')"
+msgstr "Thuộc tính để sử dụng cho họ của người dùng. (thường là '' sn '')"
+
+#: src/metabase/integrations/ldap.clj
+msgid "Enable group membership synchronization with LDAP."
+msgstr "Cho phép đồng bộ hóa thành viên nhóm với LDAP."
+
+#: src/metabase/integrations/ldap.clj
+msgid "Search base for groups, not required if your LDAP directory provides a ''memberOf'' overlay. (Will be searched recursively)"
+msgstr "Tìm kiếm cơ sở cho các nhóm, không bắt buộc nếu thư mục LDAP của bạn cung cấp lớp phủ '' MemberOf ''. (Sẽ được tìm kiếm đệ quy)"
+
+#. Should be in the form: {"cn=Some Group,dc=...": [1, 2, 3]} where keys are LDAP groups and values are lists of MB groups IDs
+#: src/metabase/integrations/ldap.clj
+msgid "JSON containing LDAP to Metabase group mappings."
+msgstr "JSON chứa ánh xạ nhóm LDAP sang Metabase."
+
+#. Define a setting which captures our Slack api token
+#: src/metabase/integrations/slack.clj
+msgid "Slack API bearer token obtained from https://api.slack.com/web#authentication"
+msgstr "Mã thông báo mang Slack API thu được từ https://api.slack.com/web#authentication."
+
+#: src/metabase/metabot.clj
+msgid "Enable MetaBot, which lets you search for and view your saved questions directly via Slack."
+msgstr "Kích hoạt MetaBot, cho phép bạn tìm kiếm và xem các câu hỏi đã lưu của bạn trực tiếp thông qua Slack."
+
+#: src/metabase/metabot/instance.clj
+msgid "Last MetaBot checkin was {0} ago."
+msgstr "Lần đăng ký MetaBot cuối cùng là {0} trước đây."
+
+#: src/metabase/metabot/instance.clj
+msgid "This instance will now handle MetaBot duties."
+msgstr "Trường hợp này bây giờ sẽ xử lý các nhiệm vụ MetaBot."
+
+#: src/metabase/metabot.clj
+msgid "Here''s what I can {0}:"
+msgstr "Đây là những gì tôi có thể {0}:"
+
+#: src/metabase/metabot.clj
+msgid "I don''t know how to {0} `{1}`.n{2}"
+msgstr "Tôi không biết làm thế nào để {0} `{1}` .n {2}"
+
+#: src/metabase/metabot/slack.clj
+msgid "Uh oh! :cry:n> {0}"
+msgstr "À! : khóc: n> {0}"
+
+#: src/metabase/metabot/command.clj
+msgid "Here''s your {0} most recent cards:n{1}"
+msgstr "Đây là {0} thẻ gần đây nhất của bạn: n {1}"
+
+#: src/metabase/metabot/command.clj
+msgid "Could you be a little more specific? I found these cards with names that matched:n{0}"
+msgstr "Bạn có thể nêu chi tiết hơn được không? Tôi tìm thấy những thẻ này có tên trùng khớp: n {0}"
+
+#: src/metabase/metabot/command.clj
+msgid "I don''t know what Card `{0}` is. Give me a Card ID or name."
+msgstr "Tôi không biết Thẻ `{0}` là gì. Cho tôi ID thẻ hoặc tên."
+
+#: src/metabase/metabot/command.clj
+msgid "Show which card? Give me a part of a card name or its ID and I can show it to you. If you don''t know which card you want, try `metabot list`."
+msgstr "Cho xem thẻ nào? Đưa cho tôi một phần tên thẻ hoặc ID của nó và tôi có thể cho bạn xem. Nếu bạn không biết bạn muốn thẻ nào, hãy thử `danh sách metabot`.abot.clj"
+
+#: src/metabase/metabot/command.clj
+msgid "Ok, just a second..."
+msgstr "OK, chờ một giây..."
+
+#: src/metabase/metabot/command.clj
+msgid "Not Found"
+msgstr "Không tìm thấy"
+
+#: src/metabase/metabot/command.clj
+msgid "Loading Kanye quotes..."
+msgstr "Đang tải câu của Kanye..."
+
+#: src/metabase/metabot/events.clj
+msgid "Evaluating Metabot command:"
+msgstr "Đánh giá lệnh Metabot"
+
+#: src/metabase/metabot.clj
+msgid "Go home websocket, you're drunk."
+msgstr "Về nhà websocket, bạn say rượu."
+
+#: src/metabase/metabot/websocket.clj
+msgid "Error launching metabot:"
+msgstr "Lỗi khởi chạy metabot:"
+
+#: src/metabase/metabot/websocket.clj
+msgid "MetaBot WebSocket is closed. Reconnecting now."
+msgstr "MetaBot WebSocket đã bị đóng. Kết nối lại bây giờ."
+
+#: src/metabase/metabot/websocket.clj
+msgid "Error connecting websocket:"
+msgstr "Lỗi kết nối websocket:"
+
+#: src/metabase/metabot/instance.clj
+msgid "This instance is performing MetaBot duties."
+msgstr "Trường hợp này đang thực hiện nhiệm vụ MetaBot."
+
+#: src/metabase/metabot/instance.clj
+msgid "Another instance is already handling MetaBot duties."
+msgstr "Một trường hợp khác đã xử lý các nhiệm vụ của MetaBot."
+
+#: src/metabase/metabot.clj
+msgid "Starting MetaBot threads..."
+msgstr "Bắt đầu các chủ đề MetaBot ..."
+
+#: src/metabase/metabot.clj
+msgid "Stopping MetaBot...  🤖"
+msgstr "Đang dừng Metabot..."
+
+#: src/metabase/metabot.clj
+msgid "MetaBot already running. Killing the previous WebSocket listener first."
+msgstr "MetaBot đã chạy. Giết người nghe WebSocket trước đó trước."
+
+#: src/metabase/middleware/security.clj
+msgid "Base-64 encoded public key for this site's SSL certificate."
+msgstr "Khóa công khai được mã hóa Base-64 cho chứng chỉ SSL của trang web này."
+
+#: src/metabase/middleware/security.clj
+msgid "Specify this to enable HTTP Public Key Pinning."
+msgstr "Chỉ định điều này để bật Ghim khóa công khai HTTP."
+
+#: src/metabase/middleware/security.clj
+msgid "See {0} for more information."
+msgstr "Xem {0} để biết thêm thông tin."
+
+#: src/metabase/models/card.clj
+msgid "Cannot save Question: source query has circular references."
+msgstr "Không thể lưu Câu hỏi: truy vấn nguồn có tham chiếu vòng tròn."
+
+#: src/metabase/models/card.clj src/metabase/models/query/permissions.clj
+#: src/metabase/query_processor/middleware/permissions.clj
+msgid "Card {0} does not exist."
+msgstr "Thẻ {0} không tồn tại."
+
+#: src/metabase/models/card.clj
+msgid "You do not have permissions to run ad-hoc native queries against Database {0}."
+msgstr "Bạn không có quyền để chạy các truy vấn gốc ad-hoc đối với Cơ sở dữ liệu {0}."
+
+#: src/metabase/models/collection.clj
+msgid "Invalid color"
+msgstr "Màu sắc không hợp lệ"
+
+#: src/metabase/models/collection.clj
+msgid "must be a valid 6-character hex color code"
+msgstr "phải là mã màu lục 6 ký tự hợp lệ"
+
+#: src/metabase/models/collection.clj
+msgid "Collection name cannot be blank!"
+msgstr "Tên bộ sưu tập không thể để trống!"
+
+#: src/metabase/models/collection.clj
+msgid "cannot be blank"
+msgstr "không thể để trống"
+
+#: src/metabase/models/collection.clj
+msgid "Invalid Collection location: path is invalid."
+msgstr "Vị trí Bộ sưu tập không hợp lệ: đường dẫn không hợp lệ."
+
+#: src/metabase/models/collection.clj
+msgid "You cannot move a Personal Collection."
+msgstr "Bạn không thể di chuyển Bộ sưu tập cá nhân."
+
+#: src/metabase/models/collection.clj
+msgid "Invalid Collection location: some or all ancestors do not exist."
+msgstr "Vị trí Bộ sưu tập không hợp lệ: một số hoặc tất cả bộ sưu tập trước không tồn tại."
+
+#: src/metabase/models/collection.clj
+msgid "You cannot archive the Root Collection."
+msgstr "Bạn không thể lưu trữ Bộ sưu tập gốc."
+
+#: src/metabase/models/collection.clj
+msgid "You cannot archive a Personal Collection."
+msgstr "Bạn không thể lưu trữ Bộ sưu tập cá nhân."
+
+#: src/metabase/models/collection.clj
+msgid "You cannot move the Root Collection."
+msgstr "Bạn không thể di chuyển Bộ sưu tập gốc."
+
+#: src/metabase/models/collection.clj
+msgid "You cannot move a Collection into itself or into one of its descendants."
+msgstr "Bạn không thể di chuyển Bộ sưu tập vào chính nó hoặc vào một trong những tập con của nó."
+
+#. first move this Collection
+#: src/metabase/models/collection.clj
+msgid "Moving Collection {0} and its descendants from {1} to {2}"
+msgstr "Di chuyển Bộ sưu tập {0} và tập con của nó từ {1} đến {2}"
+
+#: src/metabase/models/collection.clj
+msgid "You're not allowed to change the owner of a Personal Collection."
+msgstr "Bạn không được phép thay đổi chủ sở hữu của Bộ sưu tập cá nhân."
+
+#: src/metabase/models/collection.clj
+msgid "You're not allowed to move a Personal Collection."
+msgstr "Bạn không được phép di chuyển Bộ sưu tập cá nhân."
+
+#: src/metabase/models/collection.clj
+msgid "You cannot move a Collection and archive it at the same time."
+msgstr "Bạn không thể di chuyển Bộ sưu tập và lưu trữ nó cùng một lúc."
+
+#: src/metabase/models/collection.clj
+msgid "You cannot delete a Personal Collection!"
+msgstr "Bạn không thể xóa Bộ sưu tập cá nhân!"
+
+#: src/metabase/models/collection.clj
+msgid "{0} {1}''s Personal Collection"
+msgstr "Bộ sưu tập cá nhân của {0} {1}"
+
+#: src/metabase/models/collection_revision.clj
+msgid "You cannot update a CollectionRevision!"
+msgstr "Bạn không thể cập nhật CollectionRevision!"
+
+#: src/metabase/models/field_values.clj
+msgid "Field {0} was previously automatically set to show a list widget, but now has {1} values."
+msgstr "Trường {0} trước đây được đặt tự động để hiển thị tiện ích danh sách, nhưng hiện tại có giá trị {1}."
+
+#: src/metabase/models/field_values.clj
+msgid "Switching Field to use a search widget instead."
+msgstr "Thay đổi Trường để sử dụng widget tìm kiếm thay thế."
+
+#: src/metabase/models/field_values.clj
+msgid "Storing updated FieldValues for Field {0}..."
+msgstr "Lưu trữ FieldValues được cập nhật cho Trường {0}.."
+
+#: src/metabase/models/field_values.clj
+msgid "Storing FieldValues for Field {0}..."
+msgstr "Lưu trữ FieldValues cho Trường {0} ..."
+
+#: src/metabase/models/humanization.clj
+msgid "Metabase can attempt to transform your table and field names into more sensible, human-readable versions, e.g. \"somehorriblename\" becomes \"Some Horrible Name\"."
+msgstr "Metabase có thể cố gắng chuyển đổi tên bảng và trường của bạn thành các phiên bản hợp lý hơn, dễ đọc hơn, ví dụ: \\ \"somehorriblename \" trở thành \\ \"Một cái tên khủng khiếp \"."
+
+#: src/metabase/models/humanization.clj
+msgid "This doesn’t work all that well if the names are in a language other than English, however."
+msgstr "Tuy nhiên, điều này không hoạt động hiệu quả nếu tên đó bằng một ngôn ngữ khác tiếng Anh."
+
+#: src/metabase/models/humanization.clj
+msgid "Do you want us to take a guess?"
+msgstr "Bạn có muốn chúng tôi đoán không?"
+
+#: src/metabase/models/permissions.clj
+msgid "You cannot create or revoke permissions for the 'Admin' group."
+msgstr "Bạn không thể tạo hoặc thu hồi quyền cho nhóm 'Quản trị viên'."
+
+#: src/metabase/models/permissions.clj
+msgid "Invalid permissions object path: ''{0}''."
+msgstr "Đường dẫn cho phép không khả dụng: ''{0}''"
+
+#: src/metabase/models/permissions.clj
+msgid "You cannot update a permissions entry!"
+msgstr "Bạn không thể cập nhật mục nhập quyền!"
+
+#: src/metabase/models/permissions.clj
+msgid "Delete it and create a new one."
+msgstr "Xóa nó đi và tạo một cái mới."
+
+#: src/metabase/models/permissions.clj
+msgid "You cannot edit permissions for a Personal Collection or its descendants."
+msgstr "Bạn không thể chỉnh sửa quyền cho Bộ sưu tập cá nhân hoặc tập con của nó."
+
+#: src/metabase/models/permissions.clj
+msgid "Looks like someone else edited the permissions and your data is out of date."
+msgstr "Có vẻ như ai đó đã chỉnh sửa các quyền và dữ liệu của bạn đã hết hạn"
+
+#: src/metabase/models/permissions.clj
+msgid "Please fetch new data and try again."
+msgstr "Vui lòng lấy dữ liệu mới và thử lại."
+
+#: src/metabase/models/permissions_group.clj
+msgid "Created magic permissions group ''{0}'' (ID = {1})"
+msgstr "Đã tạo nhóm quyền phép thuật '' {0} '' (ID = {1})"
+
+#: src/metabase/models/permissions_group.clj
+msgid "A group with that name already exists."
+msgstr "Một nhóm với tên đó đã tồn tại."
+
+#: src/metabase/models/permissions_group.clj
+msgid "You cannot edit or delete the ''{0}'' permissions group!"
+msgstr "Bạn không thể chỉnh sửa hoặc xóa nhóm quyền '' {0} ''!"
+
+#: src/metabase/models/permissions_group_membership.clj
+msgid "You cannot add or remove users to/from the 'MetaBot' group."
+msgstr "Bạn không thể thêm hoặc xóa người dùng vào / ra khỏi nhóm 'MetaBot'."
+
+#: src/metabase/models/permissions_group_membership.clj
+msgid "You cannot add or remove users to/from the 'All Users' group."
+msgstr "Bạn không thể thêm hoặc xóa người dùng đến / khỏi nhóm 'Tất cả người dùng'."
+
+#: src/metabase/models/permissions_group_membership.clj
+msgid "You cannot remove the last member of the 'Admin' group!"
+msgstr "Bạn không thể xóa thành viên cuối cùng của nhóm 'Quản trị viên'!"
+
+#: src/metabase/models/permissions_revision.clj
+msgid "You cannot update a PermissionsRevision!"
+msgstr "Bạn không thể cập nhật Quyền hạn!"
+
+#. if there's still not a Card, throw an Exception!
+#: src/metabase/models/pulse.clj
+msgid "Invalid Alert: Alert does not have a Card assoicated with it"
+msgstr "Thông báo không hợp lệ: Thông báo không có Thẻ được liên kết với nó"
+
+#: src/metabase/models/pulse.clj
+msgid "value must be a map with the keys `{0}`, `{1}`, and `{2}`."
+msgstr "giá trị phải là ánh xạ với các khóa `{0}`, `{1}` và `{2}`."
+
+#: src/metabase/models/pulse.clj
+msgid "value must be a map with the following keys `({0})`"
+msgstr "giá trị phải là ánh xạ với các khóa sau `({0})`"
+
+#: src/metabase/models/query/permissions.clj
+msgid "Error calculating permissions for query: {0}"
+msgstr "Lỗi tính toán quyền truy vấn: {0}"
+
+#: src/metabase/models/query/permissions.clj
+msgid "Invalid query type: {0}"
+msgstr "Loại truy vấn không hợp lệ: {0}"
+
+#: src/metabase/models/query_execution.clj
+msgid "You cannot update a QueryExecution!"
+msgstr "Bạn không thể cập nhật Truy vấn thực thi!"
+
+#: src/metabase/models/revision.clj
+msgid "You cannot update a Revision!"
+msgstr "Bạn không thể cập nhật Bản sửa đổi!"
+
+#: src/metabase/models/setting.clj
+msgid "Setting {0} does not exist.nFound: {1}"
+msgstr "Cài đặt {0} không tồn tại.nFound: {1}"
+
+#: src/metabase/models/setting/cache.clj
+msgid "Updating value of settings-last-updated in DB..."
+msgstr "Cập nhật giá trị của cài đặt được cập nhật lần cuối trong cơ sở dữ liệu ..."
+
+#: src/metabase/models/setting/cache.clj
+msgid "Checking whether settings cache is out of date (requires DB call)..."
+msgstr "Kiểm tra xem bộ đệm cài đặt đã hết hạn chưa (yêu cầu cuộc gọi DB) ..."
+
+#: src/metabase/models/setting/cache.clj
+msgid "Settings have been changed on another instance, and will be reloaded here."
+msgstr "Các cài đặt đã được thay đổi trong một thao tác khác và sẽ được tải lại tại đây."
+
+#: src/metabase/models/setting/cache.clj
+msgid "Refreshing Settings cache..."
+msgstr "Làm mới bộ đệm Cài đặt ..."
+
+#: src/metabase/models/setting.clj
+msgid "Invalid value for string: must be either \"true\" or \"false\" (case-insensitive)."
+msgstr "Giá trị không hợp lệ cho chuỗi: phải là \\ \"true \" hoặc \\ \"false \" (không phân biệt chữ hoa chữ thường)."
+
+#: src/metabase/models/setting.clj
+msgid "You cannot update `settings-last-updated` yourself! This is done automatically."
+msgstr "Bạn không thể tự cập nhật `cài đặt được cập nhật lần cuối`! Điều này được thực hiện tự động."
+
+#. go ahead and log the Exception anyway on the off chance that it *wasn't* just a race condition issue
+#: src/metabase/models/setting.clj
+msgid "Error inserting a new Setting:"
+msgstr "Lỗi khi chèn Cài đặt mới:"
+
+#: src/metabase/models/setting.clj
+msgid "Assuming Setting already exists in DB and updating existing value."
+msgstr "Giả sử Cài đặt đã tồn tại trong cơ sở dữ liệu và cập nhật giá trị hiện có."
+
+#: src/metabase/models/user.clj
+msgid "value must be a map with each value either a string or number."
+msgstr "giá trị phải là ánh  với mỗi giá trị là một chuỗi hoặc số."
+
+#: src/metabase/plugins.clj
+msgid "Loading plugins in directory {0}..."
+msgstr "Đang tải các plugin trong thư mục {0} ..."
+
+#: src/metabase/plugins.clj
+msgid "Loading plugin {0}... "
+msgstr "Đang tải plugin {0} ..."
+
+#: src/metabase/plugins.clj
+msgid "It looks like you have some external dependencies in your Metabase plugins directory."
+msgstr "Có vẻ như bạn có một số phụ thuộc bên ngoài trong thư mục bổ trợ Metabase của mình."
+
+#: src/metabase/plugins.clj
+msgid "With Java 9 or higher, Metabase cannot automatically add them to your classpath."
+msgstr "Đối với Java 9 hoặc cao hơn, Metabase không thể tự động thêm chúng vào đường dẫn lớp của bạn."
+
+#: src/metabase/plugins.clj
+msgid "Instead, you should include them at launch with the -cp option. For example:"
+msgstr "Thay vào đó, bạn nên bao gồm chúng khi khởi chạy với tùy chọn -cp. Ví dụ"
+
+#: src/metabase/plugins.clj
+msgid "See https://metabase.com/docs/latest/operations-guide/start.html#java-versions for more details."
+msgstr "Xem https://metabase.com/docs/latest/operations-guide/start.html#java-versions để biết thêm chi tiết."
+
+#: src/metabase/plugins.clj
+msgid "(If you're already running Metabase this way, you can ignore this message.)"
+msgstr "(Nếu bạn đang chạy Metabase theo cách này, bạn có thể bỏ qua thông báo này.)"
+
+#: src/metabase/public_settings.clj
+msgid "Identify when new versions of Metabase are available."
+msgstr "Xác định khi nào có phiên bản mới của Metabase."
+
+#: src/metabase/public_settings.clj
+msgid "Information about available versions of Metabase."
+msgstr "Thông tin về các phiên bản có sẵn của Metabase."
+
+#: src/metabase/public_settings.clj
+msgid "The name used for this instance of Metabase."
+msgstr "Tên được sử dụng cho trường hợp này của Metabase."
+
+#: src/metabase/public_settings.clj
+msgid "The base URL of this Metabase instance, e.g. \"http://metabase.my-company.com\"."
+msgstr "URL cơ sở của trường hợp Metabase này, ví dụ: \\ \"http: //metabase.my-company.com \"."
+
+#: src/metabase/public_settings.clj
+msgid "The default language for this Metabase instance."
+msgstr "Ngôn ngữ mặc định cho trường hợp Metabase này."
+
+#: src/metabase/public_settings.clj
+msgid "This only applies to emails, Pulses, etc. Users'' browsers will specify the language used in the user interface."
+msgstr "Điều này chỉ áp dụng cho email, Xung, v.v. Trình duyệt của người dùng sẽ chỉ định ngôn ngữ được sử dụng trong giao diện người dùng."
+
+#: src/metabase/public_settings.clj
+msgid "The email address users should be referred to if they encounter a problem."
+msgstr "địa chỉ email người dùng nên được đề cập nếu họ gặp vấn đề."
+
+#: src/metabase/public_settings.clj
+msgid "Enable the collection of anonymous usage data in order to help Metabase improve."
+msgstr "Cho phép thu thập dữ liệu sử dụng ẩn danh để giúp Metabase cải thiện."
+
+#: src/metabase/public_settings.clj
+msgid "The map tile server URL template used in map visualizations, for example from OpenStreetMaps or MapBox."
+msgstr "Mẫu URL máy chủ lát bản đồ được sử dụng trong trực quan hóa bản đồ, ví dụ từ OpenStreetMaps hoặc MapBox."
+
+#: src/metabase/public_settings.clj
+msgid "Enable admins to create publicly viewable links (and embeddable iframes) for Questions and Dashboards?"
+msgstr "Cho phép quản trị viên tạo các liên kết có thể xem công khai (và iframe có thể nhúng) cho Câu hỏi và Bảng điều khiển?"
+
+#: src/metabase/public_settings.clj
+msgid "Allow admins to securely embed questions and dashboards within other applications?"
+msgstr "Cho phép quản trị viên nhúng các câu hỏi và bảng điều khiển an toàn trong các ứng dụng khác ?"
+
+#: src/metabase/public_settings.clj
+msgid "Allow using a saved question as the source for other queries?"
+msgstr "Cho phép sử dụng câu hỏi đã lưu làm nguồn cho các truy vấn khác?"
+
+#: src/metabase/public_settings.clj
+msgid "Enabling caching will save the results of queries that take a long time to run."
+msgstr "Kích hoạt bộ đệm ẩn sẽ lưu kết quả của các truy vấn mất nhiều thời gian để chạy."
+
+#: src/metabase/public_settings.clj
+msgid "The maximum size of the cache, per saved question, in kilobytes:"
+msgstr "Kích thước tối đa của bộ đệm, cho mỗi câu hỏi đã lưu, tính bằng kilobyte:"
+
+#: src/metabase/public_settings.clj
+msgid "The absolute maximum time to keep any cached query results, in seconds."
+msgstr "Thời gian tối đa tuyệt đối để giữ bất kỳ kết quả truy vấn được lưu trong bộ nhớ cache nào, tính bằng giây."
+
+#: src/metabase/public_settings.clj
+msgid "Metabase will cache all saved questions with an average query execution time longer than this many seconds:"
+msgstr "Metabase sẽ lưu trữ tất cả các câu hỏi đã lưu với thời gian thực hiện truy vấn trung bình dài hơn số giây này:"
+
+#: src/metabase/public_settings.clj
+msgid "To determine how long each saved question''s cached result should stick around, we take the query''s average execution time and multiply that by whatever you input here."
+msgstr "Để xác định thời gian mỗi kết quả được lưu trong bộ nhớ cache của câu hỏi đã lưu sẽ kéo dài bao lâu, chúng tôi lấy thời gian thực hiện trung bình của truy vấn và nhân số đó với bất cứ gì bạn nhập vào đây."
+
+#: src/metabase/public_settings.clj
+msgid "So if a query takes on average 2 minutes to run, and you input 10 for your multiplier, its cache entry will persist for 20 minutes."
+msgstr "Vì vậy, nếu một truy vấn mất trung bình 2 phút để chạy và bạn nhập 10 cho số nhân của mình, mục nhập bộ đệm của nó sẽ tồn tại trong 20 phút."
+
+#: src/metabase/public_settings.clj
+msgid "When using the default binning strategy and a number of bins is not provided, this number will be used as the default."
+msgstr "Khi sử dụng chiến lược tạo thùng mặc định và một số thùng không được cung cấp, số này sẽ được sử dụng làm mặc định."
+
+#: src/metabase/public_settings.clj
+msgid "When using the default binning strategy for a field of type Coordinate (such as Latitude and Longitude), this number will be used as the default bin width (in degrees)."
+msgstr "Khi sử dụng chiến lược tạo thùng mặc định cho trường Loại tọa độ (như Vĩ độ và Kinh độ), số này sẽ được sử dụng làm độ rộng thùng mặc định (tính theo độ)."
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Unable to validate token."
+msgstr "Không thể xác thực mã thông báo."
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Error fetching token status:"
+msgstr "Lỗi khi tìm nạp trạng thái mã thông báo:"
+
+#: src/metabase/public_settings/metastore.clj
+msgid "There was an error checking whether this token was valid."
+msgstr "Có lỗi khi kiểm tra xem mã thông báo này có hợp lệ không."
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Token validation timed out."
+msgstr "Xác thực mã thông báo đã hết thời gian."
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Invalid token: token isn't in the right format."
+msgstr "Mã thông báo không hợp lệ: mã thông báo không ở định dạng đúng."
+
+#. attempt to query the metastore API about the status of this token. If the request doesn't complete in a
+#. reasonable amount of time throw a timeout exception
+#: src/metabase/public_settings/metastore.clj
+msgid "Checking with the MetaStore to see whether {0} is valid..."
+msgstr "Kiểm tra với MetaStore để xem {0} có hợp lệ không ..."
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Token for premium embedding. Go to the MetaStore to get yours!"
+msgstr "Mã thông báo cho nhúng cao cấp. Tới MetaStore để lấy của bạn!"
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Token is valid."
+msgstr "Mã thông báo hợp lệ."
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Error setting premium embedding token"
+msgstr "Lỗi thiết lập mã thông báo nhúng cao cấp"
+
+#: src/metabase/pulse.clj
+msgid "Unable to compare results to goal for alert."
+msgstr "Không thể so sánh kết quả với mục tiêu để cảnh báo."
+
+#: src/metabase/pulse.clj
+msgid "Question ID is ''{0}'' with visualization settings ''{1}''"
+msgstr "ID câu hỏi là '' {0} '' với cài đặt trực quan '' {1} ''"
+
+#: src/metabase/pulse.clj
+msgid "Unrecognized alert with condition ''{0}''"
+msgstr "Cảnh báo không được nhận dạng với điều kiện '' {0} ''"
+
+#: src/metabase/pulse.clj
+msgid "Unrecognized channel type {0}"
+msgstr "Loại kênh không được nhận dạng {0}"
+
+#: src/metabase/pulse.clj
+msgid "Error sending notification!"
+msgstr "Lỗi gửi thông báo!"
+
+#: src/metabase/pulse/color.clj
+msgid "Can't find JS color selector at ''{0}''"
+msgstr "Không thể tìm thấy bộ chọn màu JS tại '' {0} ''"
+
+#: src/metabase/pulse/render.clj
+msgid "Card has errors: {0}"
+msgstr "Thẻ có lỗi: {0}"
+
+#: src/metabase/pulse/render.clj
+msgid "Pulse card render error"
+msgstr "Lỗi kết xuất thẻ xung"
+
+#: src/metabase/query_processor/middleware/fetch_source_query.clj
+msgid "Trimming trailing comment from card with id {0}"
+msgstr "Cắt bình luận từ thẻ có id {0}"
+
+#: src/metabase/query_processor/middleware/parameters/sql.clj
+msgid "Can't find field with ID: {0}"
+msgstr "Không thể tìm thấy trường có ID: {0}"
+
+#: src/metabase/query_processor/middleware/parameters/sql.clj
+msgid "''{0}'' is a required param."
+msgstr "{0} '' là thông số bắt buộc."
+
+#: src/metabase/query_processor/middleware/parameters/sql.clj
+msgid "Found ''{0}'' with no terminating ''{1}'' in query ''{2}''"
+msgstr "Đã tìm thấy '' {0} '' mà không kết thúc '' {1} '' trong truy vấn '' {2} ''"
+
+#: src/metabase/query_processor/middleware/parameters/sql.clj
+msgid "Unable to substitute ''{0}'': param not specified.nFound: {1}"
+msgstr "Không thể thay thế '' {0} '': param không được chỉ định.nFound: {1}"
+
+#: src/metabase/query_processor/middleware/permissions.clj
+msgid "You do not have permissions to view Card {0}."
+msgstr "Bạn không có quyền xem Thẻ {0}."
+
+#: src/metabase/query_processor/middleware/permissions.clj
+msgid "You do not have permissions to run this query."
+msgstr "Bạn không có quyền để chạy truy vấn này."
+
+#: src/metabase/sync/analyze.clj
+msgid "Fingerprint updates attempted {0}, updated {1}, no data found {2}, failed {3}"
+msgstr "Cập nhật vân tay đã cố gắng {0}, đã cập nhật {1}, không tìm thấy dữ liệu {2}, không thành công {3}"
+
+#: src/metabase/sync/analyze.clj
+msgid "Total number of fields classified {0}, {1} failed"
+msgstr "Tổng số trường được phân loại {0}, {1} không thành công"
+
+#: src/metabase/sync/analyze.clj
+msgid "Total number of tables classified {0}, {1} updated"
+msgstr "Tổng số bảng được phân loại {0}, {1} được cập nhật"
+
+#: src/metabase/sync/analyze/fingerprint/fingerprinters.clj
+msgid "Error generating fingerprint for {0}"
+msgstr "Lỗi tạo vân tay cho {0}"
+
+#: src/metabase/sync/field_values.clj
+msgid "Updated {0} field value sets, created {1}, deleted {2} with {3} errors"
+msgstr "Các bộ giá trị trường {0} đã cập nhật, đã tạo {1}, đã xóa {2} với {3} lỗi"
+
+#: src/metabase/sync/sync_metadata.clj
+msgid "Total number of fields sync''d {0}, number of fields updated {1}"
+msgstr "Tổng số trường được đồng bộ hóa {0}, số trường được cập nhật {1}"
+
+#: src/metabase/sync/sync_metadata.clj
+msgid "Total number of tables sync''d {0}, number of tables updated {1}"
+msgstr "Tổng số bảng được đồng bộ hóa {0}, số lượng bảng được cập nhật {1"
+
+#: src/metabase/sync/sync_metadata.clj
+msgid "Found timezone id {0}"
+msgstr "Đã tìm thấy id múi giờ {0}"
+
+#: src/metabase/sync/sync_metadata.clj
+msgid "Total number of foreign keys sync''d {0}, {1} updated and {2} tables failed to update"
+msgstr "Tổng số khóa nước ngoài được đồng bộ hóa {0}, {1} đã cập nhật và {2} bảng không cập nhật"
+
+#: src/metabase/sync/util.clj
+msgid "{0} Database {1} ''{2}''"
+msgstr "{0} Cơ sở dữ liệu {1} '' {2} ''"
+
+#: src/metabase/sync/util.clj
+msgid "Table {0} ''{1}''"
+msgstr "Bảng {0} '' {1} ''"
+
+#: src/metabase/sync/util.clj
+msgid "Field {0} ''{1}''"
+msgstr "Trường {0} '' {1} ''"
+
+#: src/metabase/sync/util.clj
+msgid "Field ''{0}''"
+msgstr "Trường '' {0} ''"
+
+#: src/metabase/sync/util.clj
+msgid "step ''{0}'' for {1}"
+msgstr "bÆ°á»›c '' {0} '' cho {1}"
+
+#: src/metabase/sync/util.clj
+msgid "Completed {0} on {1}"
+msgstr "Đã hoàn thành {0} vào {1}"
+
+#: src/metabase/sync/util.clj
+msgid "Start: {0}"
+msgstr "Bắt đầu: {0}"
+
+#: src/metabase/sync/util.clj
+msgid "End: {0}"
+msgstr "Kết thúc: {0}"
+
+#: src/metabase/sync/util.clj
+msgid "Duration: {0}"
+msgstr "Thời lượng: {0}"
+
+#: src/metabase/sync/util.clj
+msgid "Completed step ''{0}''"
+msgstr "Hoàn thành bước '' {0} ''"
+
+#: src/metabase/task.clj
+msgid "Loading tasks namespace:"
+msgstr "Đang tải không gian tên tác vụ:"
+
+#: src/metabase/task.clj
+msgid "Starting Quartz Scheduler"
+msgstr "Bắt đầu lên lịch trình Quart"
+
+#: src/metabase/task.clj
+msgid "Stopping Quartz Scheduler"
+msgstr "Dừng lịch trình Quart"
+
+#: src/metabase/task.clj
+msgid "Job already exists:"
+msgstr "Công việc đã tồn tại:"
+
+#. This is the very first log message that will get printed.  It's here because this is one of the very first
+#. namespaces that gets loaded, and the first that has access to the logger It shows up a solid 10-15 seconds before
+#. the "Starting Metabase in STANDALONE mode" message because so many other namespaces need to get loaded
+#: src/metabase/util.clj
+msgid "Loading Metabase..."
+msgstr "Đang tải Metabase ..."
+
+#: src/metabase/util/date.clj
+msgid "Possible timezone conflict found on database {0}."
+msgstr "Xung đột múi giờ có thể có trên cơ sở dữ liệu {0}."
+
+#: src/metabase/util/date.clj
+msgid "JVM timezone is {0} and detected database timezone is {1}."
+msgstr "Múi giờ JVM là {0} và múi giờ cơ sở dữ liệu được phát hiện là {1}."
+
+#: src/metabase/util/date.clj
+msgid "Configure a report timezone to ensure proper date and time conversions."
+msgstr "Định cấu hình múi giờ báo cáo để đảm bảo chuyển đổi ngày và giờ thích hợp."
+
+#: src/metabase/util/embed.clj
+msgid "Secret key used to sign JSON Web Tokens for requests to `/api/embed` endpoints."
+msgstr "Khóa bí mật được sử dụng để ký các Mã thông báo Web JSON cho các yêu cầu tới các điểm cuối `/ api / embed`"
+
+#: src/metabase/util/encryption.clj
+msgid "MB_ENCRYPTION_SECRET_KEY must be at least 16 characters."
+msgstr "MB_ENCRYPTION_SECRET_KEY phải có ít nhất 16 ký tự."
+
+#: src/metabase/util/encryption.clj
+msgid "Saved credentials encryption is ENABLED for this Metabase instance."
+msgstr "Mã hóa thông tin đã lưu là ENABLED cho phiên bản Metabase này."
+
+#: src/metabase/util/encryption.clj
+msgid "Saved credentials encryption is DISABLED for this Metabase instance."
+msgstr "Mã hóa thông tin đăng nhập đã lưu là DISABLED cho phiên bản Metabase này. "
+
+#: src/metabase/util/encryption.clj
+msgid "nFor more information, see"
+msgstr "Để biết thêm thông tin, xem"
+
+#: src/metabase/util/schema.clj
+msgid "value must be an integer."
+msgstr "giá trị phải là một số nguyên."
+
+#: src/metabase/util/schema.clj
+msgid "value must be a string."
+msgstr "giá trị phải là một chuỗi."
+
+#: src/metabase/util/schema.clj
+msgid "value must be a boolean."
+msgstr "giá trị phải là một boolean. "
+
+#: src/metabase/util/schema.clj
+msgid "value must be a string that matches the regex `{0}`."
+msgstr "giá trị phải là một chuỗi khớp với regex `{0}`."
+
+#: src/metabase/util/schema.clj
+msgid "value must satisfy one of the following requirements: "
+msgstr "giá trị phải đáp ứng một trong các yêu cầu sau:"
+
+#: src/metabase/util/schema.clj
+msgid "value may be nil, or if non-nil, {0}"
+msgstr "giá trị có thể là 0 hoặc nếu không phải là 0, {0}"
+
+#: src/metabase/util/schema.clj
+msgid "value must be one of: {0}."
+msgstr "giá trị phải là một trong số: {0}."
+
+#: src/metabase/util/schema.clj
+msgid "value must be an array."
+msgstr "giá trị phải là một mảng."
+
+#: src/metabase/util/schema.clj
+msgid "Each {0}"
+msgstr "Má»—i {0}"
+
+#: src/metabase/util/schema.clj
+msgid "The array cannot be empty."
+msgstr "Các mảng không thể để trống."
+
+#: src/metabase/util/schema.clj
+msgid "value must be a non-blank string."
+msgstr "giá trị phải là một chuỗi không trống."
+
+#: src/metabase/util/schema.clj
+msgid "Integer greater than zero"
+msgstr "Số nguyên lớn hơn 0"
+
+#: src/metabase/util/schema.clj
+msgid "value must be an integer greater than zero."
+msgstr "giá trị phải là số nguyên lớn hơn 0."
+
+#: src/metabase/util/schema.clj
+msgid "Number greater than zero"
+msgstr "Số lớn hơn 0"
+
+#: src/metabase/util/schema.clj
+msgid "value must be a number greater than zero."
+msgstr "giá trị phải là một số lớn hơn 0."
+
+#: src/metabase/util/schema.clj
+msgid "Keyword or string"
+msgstr "Từ khóa hoặc chuỗi"
+
+#: src/metabase/util/schema.clj
+msgid "Valid field type"
+msgstr "Loại trường hợp lệ"
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid field type."
+msgstr "giá trị phải là loại trường hợp lệ."
+
+#: src/metabase/util/schema.clj
+msgid "Valid field type (keyword or string)"
+msgstr "Loại trường hợp lệ (từ khóa hoặc chuỗi)"
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid field type (keyword or string)."
+msgstr "giá trị phải là loại trường hợp lệ (từ khóa hoặc chuỗi)."
+
+#: src/metabase/util/schema.clj
+msgid "Valid entity type (keyword or string)"
+msgstr "Loại thực thể hợp lệ (từ khóa hoặc chuỗi)"
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid entity type (keyword or string)."
+msgstr "giá trị phải là loại thực thể hợp lệ (từ khóa hoặc chuỗi)."
+
+#: src/metabase/util/schema.clj
+msgid "Valid map"
+msgstr "Bản đồ hợp lệ"
+
+#: src/metabase/util/schema.clj
+msgid "value must be a map."
+msgstr "giá trị phải là bản đồ."
+
+#: src/metabase/util/schema.clj
+msgid "Valid email address"
+msgstr "Địa chỉ email hợp lệ"
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid email address."
+msgstr "giá trị phải là một địa chỉ email hợp lệ."
+
+#: src/metabase/util/schema.clj
+msgid "Insufficient password strength"
+msgstr "Mật khẩu không đủ mạnh"
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid integer."
+msgstr "giá trị phải là số nguyên hợp lệ."
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid integer greater than zero."
+msgstr "giá trị phải là số nguyên hợp lệ lớn hơn 0."
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid boolean string (''true'' or ''false'')."
+msgstr "giá trị phải là một chuỗi boolean hợp lệ ('' true '' hoặc '' false '')."
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid JSON string."
+msgstr "giá trị phải là một chuỗi JSON hợp lệ."
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid embedding params map."
+msgstr "giá trị phải là một bản đồ params nhúng hợp lệ."
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsTabs.jsx:12
+msgid "Data permissions"
+msgstr "Quyền dữ liệu"
+
+#: frontend/src/metabase/admin/permissions/components/PermissionsTabs.jsx:13
+msgid "Collection permissions"
+msgstr "Quyền thu thập"
+
+#: frontend/src/metabase/admin/permissions/containers/CollectionPermissionsModal.jsx:56
+msgid "See all collection permissions"
+msgstr "Xem tất cả các quyền thu thập"
+
+#: frontend/src/metabase/admin/permissions/containers/TogglePropagateAction.jsx:25
+msgid "Also change sub-collections"
+msgstr "Đồng thời thay đổi bộ sưu tập phụ"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:282
+msgid "Can edit this collection and its contents"
+msgstr "Có thể chỉnh sửa bộ sưu tập này và nội dung của nó"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:289
+msgid "Can view items in this collection"
+msgstr "Có thể xem các mục trong bộ sưu tập này"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:749
+msgid "Collection Access"
+msgstr "Có thể xem các mục trong bộ sưu tập này"
+
+#: frontend/src/metabase/admin/permissions/selectors.js:825
+msgid "This group has permission to view at least one subcollection of this collection."
+msgstr "Nhóm này có quyền xem ít nhất một bộ sưu tập của bộ sưu tập này."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:830
+msgid "This group has permission to edit at least one subcollection of this collection."
+msgstr "Nhóm này có quyền chỉnh sửa ít nhất một bộ sưu tập con của bộ sưu tập này."
+
+#: frontend/src/metabase/admin/permissions/selectors.js:843
+msgid "View sub-collections"
+msgstr "Xem các bộ sưu tập phụ "
+
+#: frontend/src/metabase/auth/containers/LoginApp.jsx:211
+msgid "Remember Me"
+msgstr "Nhớ tôi"
+
+#: frontend/src/metabase/components/BrowseApp.jsx:95
+msgid "X-ray this schema"
+msgstr "X-quang lược đồ này"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:258
+msgid "Edit the permissions for this collection"
+msgstr "Chỉnh sửa quyền cho bộ sưu tập này"
+
+#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:55
+msgid "Add this question to a dashboard"
+msgstr "Thêm câu hỏi này vào bảng điều khiển"
+
+#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:65
+msgid "Create a new dashboard"
+msgstr "Tạo bảng điều khiển mới"
+
+#: frontend/src/metabase/containers/ErrorPages.jsx:45
+msgid "The page you asked for couldn't be found."
+msgstr "Trang bạn yêu cầu không thể được tìm thấy."
+
+#: frontend/src/metabase/containers/ItemSelect.jsx:30
+msgid "Select a {0}"
+msgstr "Chọn một {0}"
+
+#: frontend/src/metabase/containers/Overworld.jsx:185
+msgid "Save dashboards, questions, and collections in \"{0}\""
+msgstr "Lưu bảng điều khiển, câu hỏi và bộ sưu tập trong \\ \"{0} \""
+
+#: frontend/src/metabase/containers/Overworld.jsx:188
+msgid "Access dashboards, questions, and collections in \"{0}\""
+msgstr "Truy cập bảng điều khiển, câu hỏi và bộ sưu tập trong \\ \"{0} \""
+
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:221
+msgid "Compare"
+msgstr "So sánh"
+
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:229
+msgid "Zoom out"
+msgstr "Thu nhỏ"
+
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:233
+msgid "Related"
+msgstr "Liên quan"
+
+#: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:293
+msgid "More X-rays"
+msgstr "Thêm tia X"
+
+#: frontend/src/metabase/home/containers/SearchApp.jsx:46
+msgid "No results"
+msgstr "Không có kết quả"
+
+#: frontend/src/metabase/home/containers/SearchApp.jsx:47
+msgid "Metabase couldn't find any results for your search."
+msgstr "Metabase không thể tìm thấy bất kỳ kết quả nào cho tìm kiếm của bạn. "
+
+#: frontend/src/metabase/new_query/containers/MetricSearch.jsx:111
+msgid "No metrics"
+msgstr "Không có số liệu"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:31
+msgid "Aggregations"
+msgstr "Tập hợp"
+
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:32
+msgid "Operators"
+msgstr "Người vận hành"
+
+#: frontend/src/metabase/query_builder/components/expressions/Expressions.jsx:30
+msgid "Custom fields"
+msgstr "Trường tùy chỉnh"
+
+#. 2. Create the new collections.
+#: src/metabase/db/migrations.clj
+msgid "Migrated Dashboards"
+msgstr "Bảng điều khiển di chuyển"
+
+#: src/metabase/db/migrations.clj
+msgid "Migrated Pulses"
+msgstr "Xung di chuyển"
+
+#: src/metabase/db/migrations.clj
+msgid "Migrated Questions"
+msgstr "Câu hỏi di chuyển"
+
+#. 4. move everything not in this Collection to a new Collection
+#: src/metabase/db/migrations.clj
+msgid "Moving instances of {0} that aren't in a Collection to {1} Collection {2}"
+msgstr "Di chuyển các phiên bản của {0} không có trong Bộ sưu tập sang {1} Bộ sưu tập {2}"
+
+#: src/metabase/models/permissions.clj
+msgid "Failed to grant permissions: {0}"
+msgstr "Không thể cấp quyền: {0}"
+
+#: src/metabase/util/encryption.clj
+msgid "Cannot decrypt encrypted string. Have you changed or forgot to set MB_ENCRYPTION_SECRET_KEY?"
+msgstr "Không thể giải mã chuỗi mã hóa. Bạn đã thay đổi hoặc quên đặt MB_ENCRYPTION_SECRET_KEY?"
+
+#: frontend/src/metabase/entities/collections.js:164
+msgid "All personal collections"
+msgstr "Tất cả các bộ sưu tập cá nhân"
+
+#: src/metabase/driver/common.clj
+msgid "Host"
+msgstr "Máy chủ"
+
+#: src/metabase/driver/common.clj
+msgid "Port"
+msgstr "Cổng"
+
+#: src/metabase/driver/common.clj
+msgid "Database username"
+msgstr "Tên người dùng cơ sở dữ liệu"
+
+#: src/metabase/driver/common.clj
+msgid "What username do you use to login to the database?"
+msgstr "Tên người dùng nào bạn sử dụng để đăng nhập vào cơ sở dữ liệu?"
+
+#: src/metabase/driver/common.clj
+msgid "Database password"
+msgstr "Mật khẩu cơ sở dữ liệu"
+
+#: src/metabase/driver/common.clj
+msgid "Database name"
+msgstr "Tên cơ sở dữ liệu"
+
+#: src/metabase/driver/common.clj
+msgid "birds_of_the_world"
+msgstr "birds_of_the_world"
+
+#: src/metabase/driver/common.clj
+msgid "Use a secure connection (SSL)?"
+msgstr "Sử dụng kết nối an toàn (SSL)?"
+
+#: src/metabase/driver/common.clj
+msgid "Additional JDBC connection string options"
+msgstr "Các tùy chọn chuỗi kết nối JDBC bổ sung"
+
+#: src/metabase/driver/bigquery.clj
+msgid "Project ID"
+msgstr "ID dự án"
+
+#: src/metabase/driver/bigquery.clj
+msgid "praxis-beacon-120871"
+msgstr "praxis-beacon-120871"
+
+#: src/metabase/driver/bigquery.clj
+msgid "Dataset ID"
+msgstr "ID dữ liệu"
+
+#: src/metabase/driver/bigquery.clj
+msgid "toucanSightings"
+msgstr "toucanSightings"
+
+#: src/metabase/driver/bigquery.clj src/metabase/driver/googleanalytics.clj
+msgid "Client ID"
+msgstr "ID khách hàng"
+
+#: src/metabase/driver/bigquery.clj src/metabase/driver/googleanalytics.clj
+msgid "Client Secret"
+msgstr "Bí mật khách hàng"
+
+#: src/metabase/driver/bigquery.clj src/metabase/driver/googleanalytics.clj
+msgid "Auth Code"
+msgstr "Mã xác thực"
+
+#: src/metabase/driver/crate.clj
+msgid "Hosts"
+msgstr "Máy chủ"
+
+#: src/metabase/driver/druid.clj
+msgid "Broker node port"
+msgstr "Cổng nút môi giới"
+
+#: src/metabase/driver/googleanalytics.clj
+msgid "Google Analytics Account ID"
+msgstr "ID tài khoản Google Analytics"
+
+#: src/metabase/driver/h2.clj
+msgid "Connection String"
+msgstr "Chuỗi kết nối"
+
+#: src/metabase/driver/h2.clj
+msgid "Users/camsaul/bird_sightings/toucans"
+msgstr "Users/camsaul/bird_sightings/toucans"
+
+#: src/metabase/driver/mongo.clj
+msgid "carrierPigeonDeliveries"
+msgstr "CarrierPigeonDeliveries"
+
+#: src/metabase/driver/mongo.clj
+msgid "Authentication Database"
+msgstr "Cơ sở dữ liệu xác thực"
+
+#: src/metabase/driver/mongo.clj
+msgid "Optional database to use when authenticating"
+msgstr "Cơ sở dữ liệu xác thực"
+
+#: src/metabase/driver/mongo.clj
+msgid "Additional Mongo connection string options"
+msgstr "Tùy chọn chuỗi kết nối Mongo bổ sung"
+
+#: src/metabase/driver/oracle.clj
+msgid "Oracle system ID (SID)"
+msgstr "ID hệ thống Oracle (SID)"
+
+#: src/metabase/driver/oracle.clj
+msgid "Usually something like ORCL or XE."
+msgstr "Thông thường một cái gì đó như ORCL hoặc XE."
+
+#: src/metabase/driver/oracle.clj
+msgid "Optional if using service name"
+msgstr "Tùy chọn nếu sử dụng tên dịch vụ"
+
+#: src/metabase/driver/oracle.clj
+msgid "Oracle service name"
+msgstr "Tên dịch vụ của Oracle"
+
+#: src/metabase/driver/oracle.clj
+msgid "Optional TNS alias"
+msgstr "Bí danh TNS tùy chọn"
+
+#: src/metabase/driver/presto.clj
+msgid "hive"
+msgstr "tổ ong"
+
+#: src/metabase/driver/redshift.clj
+msgid "my-cluster-name.abcd1234.us-east-1.redshift.amazonaws.com"
+msgstr "my-cluster-name.abcd1234.us-east-1.redshift.amazonaws.com"
+
+#: src/metabase/driver/redshift.clj
+msgid "toucan_sightings"
+msgstr "toucan_sightings"
+
+#: src/metabase/driver/sparksql.clj
+msgid "default"
+msgstr "mặc định"
+
+#: src/metabase/driver/sqlite.clj
+msgid "Filename"
+msgstr "Tên tệp"
+
+#: src/metabase/driver/sqlite.clj
+msgid "/home/camsaul/toucan_sightings.sqlite 😋"
+msgstr "/home/camsaul/toucan_sightings.sqlite 😋"
+
+#: src/metabase/driver/sqlserver.clj
+msgid "BirdsOfTheWorld"
+msgstr "BirdsOfTheWorld"
+
+#: src/metabase/driver/sqlserver.clj
+msgid "Database instance name"
+msgstr "Tên ví dụ cơ sở dữ liệu"
+
+#: src/metabase/driver/sqlserver.clj
+msgid "N/A"
+msgstr "Không có"
+
+#: src/metabase/driver/sqlserver.clj
+msgid "Windows domain"
+msgstr "Tên miền Windows"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:494
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:500
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:509
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:515
+msgid "Labels"
+msgstr "Nhãn"
+
+#: frontend/src/metabase/admin/people/components/GroupDetail.jsx:329
+msgid "Add members"
+msgstr "Thêm thành viên"
+
+#: frontend/src/metabase/entities/collections.js:115
+msgid "Collection it's saved in"
+msgstr "Bộ sưu tập đã được lưu trongBộ sưu tập đã được lưu trong"
+
+#: frontend/src/metabase/lib/groups.js:4
+msgid "All Users"
+msgstr "Tất cả người dùng"
+
+#: frontend/src/metabase/lib/groups.js:5
+msgid "Administrators"
+msgstr "Quản trị viên"
+
+#: frontend/src/metabase/lib/groups.js:6
+msgid "MetaBot"
+msgstr "MetaBot"
+
+#: frontend/src/metabase/public/components/widgets/EmbedModalContent.jsx:290
+msgid "Sharing"
+msgstr "Chia sẻ"
+
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:23
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:234
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:270
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:299
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:305
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:313
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:321
+#: frontend/src/metabase/visualizations/lib/settings/nested.js:126
+#: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:83
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:80
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:85
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:91
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:97
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:50
+#: frontend/src/metabase/visualizations/visualizations/Progress.jsx:56
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:72
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:85
+#: frontend/src/metabase/visualizations/visualizations/Text.jsx:98
+msgid "Display"
+msgstr "Hiển thị"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:370
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:403
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:416
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:431
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:443
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:449
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:457
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:487
+msgid "Axes"
+msgstr "Trục"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:222
+#: frontend/src/metabase/admin/settings/selectors.js:319
+#: frontend/src/metabase/modes/components/drill/FormatAction.jsx:27
+#: frontend/src/metabase/visualizations/lib/settings/column.js:63
+msgid "Formatting"
+msgstr "Định dạng"
+
+#: frontend/src/metabase/containers/Overworld.jsx:102
+msgid "Try these x-rays based on your data."
+msgstr "Hãy thử những tia X này dựa trên dữ liệu của bạn."
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:36
+msgid "There was a problem displaying this chart."
+msgstr "Có một vấn đề hiển thị biểu đồ này."
+
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:37
+msgid "Sorry, you don't have permission to see this card."
+msgstr "Xin lỗi, bạn không được phép xem thẻ này."
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:55
+msgid "Just a heads up:"
+msgstr "Chỉ cần ngẩng cao đầu:"
+
+#: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:63
+msgid "{0} without the Sample Dataset, the Query Builder tutorial won't work. You can always restore the Sample Dataset, but any questions you've saved using this data will be lost."
+msgstr "{0} không có Bộ dữ liệu mẫu, hướng dẫn Trình tạo truy vấn sẽ không hoạt động. Bạn luôn có thể khôi phục Bộ dữ liệu mẫu, nhưng mọi câu hỏi bạn đã lưu bằng dữ liệu này sẽ bị mất"
+
+#: frontend/src/metabase/modes/components/drill/AutomaticDashboardDrill.jsx:33
+msgid "X-ray"
+msgstr "tia X"
+
+#: frontend/src/metabase/modes/components/drill/CompareToRestDrill.js:34
+msgid "Compare to the rest"
+msgstr "So sánh với phần còn lại"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:244
+msgid "Use the Java Virtual Machine (JVM) timezone"
+msgstr "Sử dụng múi giờ của Máy ảo Java (JVM)"
+
+#: frontend/src/metabase/components/DatabaseDetailsForm.jsx:246
+msgid "We suggest you leave this off unless you're doing manual timezone casting in\n"
+"many or most of your queries with this data."
+msgstr "Chúng tôi khuyên bạn nên bỏ qua điều này trừ khi bạn thực hiện truyền múi giờ thủ công trong\n"
+"\"\"nhiều hoặc hầu hết các truy vấn của bạn với dữ liệu này."
+
+#: frontend/src/metabase/containers/Overworld.jsx:310
+msgid "Your team's most important dashboards go here"
+msgstr "Bảng điều khiển quan trọng nhất của nhóm của bạn ở đây"
+
+#: frontend/src/metabase/containers/Overworld.jsx:311
+msgid "Pin dashboards in {0} to have them appear in this space for everyone"
+msgstr "Ghim bảng điều khiển trong {0} để chúng xuất hiện trong không gian này cho mọi người"
+
+#: src/metabase/db.clj
+msgid "Unable to release the Liquibase lock after a migration failure"
+msgstr "Không thể giải phóng khóa Liquibase sau khi lỗi di chuyển"
+
+#: src/metabase/driver/bigquery.clj
+msgid "Use JVM Time Zone"
+msgstr "Sử dụng múi giờ JVM"
+
+#: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:29
+msgid "We're currently analyzing the tables and fields to help you explore your data."
+msgstr "Chúng tôi hiện đang phân tích các bảng và trường để giúp bạn khám phá dữ liệu của mình. "
+
+#: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:432
+msgid "Tip: "
+msgstr "Mẹo"
+
+#: frontend/src/metabase/admin/datamodel/components/database/ColumnItem.jsx:258
+msgid "Select a currency type"
+msgstr "Chọn một loại tiền tệ"
+
+#: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:318
+msgid "Field Type"
+msgstr "Loại lĩnh vực"
+
+#: frontend/src/metabase/admin/routes.jsx:109
+#: frontend/src/metabase/nav/containers/Navbar.jsx:224
+msgid "Troubleshooting"
+msgstr "Xử lý sự cố"
+
+#: frontend/src/metabase/admin/settings/selectors.js:96
+msgid "Enable X-ray features"
+msgstr "Kích hoạt tính năng X-quang"
+
+#: frontend/src/metabase/admin/settings/selectors.js:323
+msgid "Formatting Options"
+msgstr "Tùy chọn định dạng"
+
+#: frontend/src/metabase/admin/tasks/containers/TaskModal.jsx:19
+msgid "Task details"
+msgstr "Chi tiết tác vụ"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:29
+msgid "Troubleshooting logs"
+msgstr "Nhật ký xử lý sự cố"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:31
+msgid "Trying to get to the bottom of something? This section shows logs of Metabase's background tasks, which can help shed light on what's going on."
+msgstr "Đang cố gắng để đi đến tận cùng của một cái gì đó? Phần này hiển thị nhật ký các tác vụ nền của Metabase, có thể giúp làm sáng tỏ những gì đang diễn ra."
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:56
+msgid "Task"
+msgstr "Tác vụ"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:57
+msgid "DB ID"
+msgstr "DB ID"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:58
+msgid "Started at"
+msgstr "Bắt đầu lúc"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:59
+msgid "Ended at"
+msgstr "Đã kết thúc lúc"
+
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:60
+msgid "Duration (ms)"
+msgstr "Thời lượng (ms)"
+
+#: frontend/src/metabase/lib/core.js:45
+msgid "Currency"
+msgstr "Tiền tệ"
+
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:161
+msgid "Pick a user or channel..."
+msgstr "Chọn người dùng hoặc kênh ..."
+
+#: frontend/src/metabase/visualizations/components/ColumnSettings.jsx:90
+msgid "No formatting settings"
+msgstr "Không có cài đặt định dạng"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:81
+msgid "Label for this range (optional)"
+msgstr "Nhãn cho phạm vi này (tùy chọn)"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:93
+msgid "Add a range"
+msgstr "Thêm một phạm vi"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:26
+msgid "is less than"
+msgstr "nhỏ hơn"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:27
+msgid "is greater than"
+msgstr "lớn hơn"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:28
+msgid "is less than or equal to"
+msgstr "nhỏ hơn hoặc bằng"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:29
+msgid "is greater than or equal to"
+msgstr "lớn hơn hoặc bằng"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:30
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:37
+msgid "is equal to"
+msgstr "bằng"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:31
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:38
+msgid "is not equal to"
+msgstr "không bằng"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:32
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:39
+msgid "is null"
+msgstr "là không"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:33
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:40
+msgid "is not null"
+msgstr "không phải là không"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:41
+msgid "contains"
+msgstr "chứa đựng"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:42
+msgid "does not contain"
+msgstr "không chứa đựng"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:43
+msgid "starts with"
+msgstr "bắt đầu với "
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:44
+msgid "ends with"
+msgstr "kết thúc bằng"
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:292
+msgid "When a cell in these columns {0} it will be tinted this color."
+msgstr "Khi một ô trong các cột này {0}, nó sẽ được tô màu này."
+
+#: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:351
+msgid "When a cell in this column…"
+msgstr "Khi một ô trong cột này"
+
+#: frontend/src/metabase/visualizations/lib/errors.js:42
+msgid "This visualization requires you to group by a field."
+msgstr "Hình dung này đòi hỏi bạn phải nhóm theo một lĩnh vực."
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:178
+msgid "Date style"
+msgstr "Kiểu ngày"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:196
+msgid "Date separators"
+msgstr "Dấu phân cách ngày"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:215
+msgid "Abbreviate names of days and months"
+msgstr "Tên viết tắt của ngày và tháng"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:225
+msgid "Show the time"
+msgstr "Hiển thị thời gian"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:232
+msgid "HH:MM"
+msgstr "HH:MM"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:240
+msgid "HH:MM:SS"
+msgstr "HH:MM:SS"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:243
+msgid "HH:MM:SS.MS"
+msgstr "HH:MM:SS.MS"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:254
+msgid "Time style"
+msgstr "Kiểu thời gian"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:299
+msgid "Unit of currency"
+msgstr "Đơn vị tiền tệ"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:319
+msgid "Currency label style"
+msgstr "Kiểu nhãn tiền tệ"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:337
+msgid "Where to display the unit of currency"
+msgstr "Nơi hiển thị đơn vị tiền tệ"
+
+#: frontend/src/metabase/visualizations/lib/settings/column.js:370
+msgid "Minimum number of decimal places"
+msgstr "Số lượng thập phân tối thiểu"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:271
+msgid "Stacked chart type"
+msgstr "Loại biểu đồ xếp chồng"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:314
+msgid "Goal label"
+msgstr "Nhãn mục tiêu"
+
+#: frontend/src/metabase/visualizations/lib/settings/graph.js:322
+msgid "Show trend line"
+msgstr "Hiển thị đường xu hướng"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:67
+msgid "Line style"
+msgstr "Kiểu dòng"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:84
+msgid "Show dots on lines"
+msgstr "Hiển thị dấu chấm trên dòng"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:88
+#: frontend/src/metabase/visualizations/lib/settings/series.js:125
+msgid "Auto"
+msgstr "Tự động"
+
+#: frontend/src/metabase/visualizations/lib/settings/series.js:120
+msgid "Which axis?"
+msgstr "Trục nào?"
+
+#: frontend/src/metabase/visualizations/visualizations/ComboChart.jsx:16
+msgid "Line + Bar"
+msgstr "Dòng + Cột"
+
+#: frontend/src/metabase/visualizations/visualizations/ComboChart.jsx:19
+msgid "line and bar chart"
+msgstr "biểu đồ đường và biểu đồ cột"
+
+#: frontend/src/metabase/visualizations/visualizations/Gauge.jsx:72
+msgid "Gauge visualization requires a number."
+msgstr "Đo trực quan đòi hỏi một số."
+
+#: frontend/src/metabase/visualizations/visualizations/Gauge.jsx:60
+msgid "Gauge"
+msgstr "Máy đo"
+
+#: frontend/src/metabase/visualizations/visualizations/Gauge.jsx:104
+msgid "Gauge ranges"
+msgstr "Phạm vi đo"
+
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:94
+msgid "Field to show"
+msgstr "Lĩnh vực để hiển thị"
+
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:121
+msgid "last {0}"
+msgstr "cuối {0}"
+
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:185
+msgid "{0} was {1} {2}"
+msgstr "{0} là {1} {2}"
+
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:52
+msgid "Group by a time field to see how this has changed over time"
+msgstr "Nhóm theo trường thời gian để xem điều này đã thay đổi theo thời gian như thế nào"
+
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:39
+msgid "Switch positive / negative colors?"
+msgstr "Chuyển màu dương / âm?"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:90
+msgid "Pivot column"
+msgstr "Cá»™t xoay"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:107
+msgid "Cell column"
+msgstr "Cá»™t di Ä‘á»™ng"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:123
+msgid "Visible columns"
+msgstr "Cột có thể nhìn thấy"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:143
+msgid "Conditional Formatting"
+msgstr "Định dạng có điều kiện"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:165
+msgid "Column title"
+msgstr "Tiêu đề cột"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:172
+msgid "Show a mini bar chart"
+msgstr "Hiển thị biểu đồ cột nhỏ"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:183
+msgid "Link"
+msgstr "Liên kết"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:187
+msgid "Email link"
+msgstr "Liên kết email"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:191
+msgid "Image"
+msgstr "Hình ảnh"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:195
+msgid "Automatic"
+msgstr "Tá»± Ä‘á»™ng"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:200
+msgid "View as link or image"
+msgstr "Xem dưới dạng liên kết hoặc hình ảnh"
+
+#: frontend/src/metabase/visualizations/visualizations/Table.jsx:210
+msgid "Link text"
+msgstr "văn bản liên kết"
+
+#: src/metabase/api/common/internal.clj
+msgid "Not a valid integer: ''{0}''"
+msgstr "Không phải là số nguyên hợp lệ: '' {0} ''"
+
+#: src/metabase/api/embed.clj
+msgid "Embedding is not enabled for this object."
+msgstr "Nhúng không được kích hoạt cho đối tượng này."
+
+#: src/metabase/api/session.clj
+msgid "Problem connecting to LDAP server, will fallback to local authentication: {0}"
+msgstr "Sự cố khi kết nối với máy chủ LDAP, sẽ chuyển sang xác thực cục bộ: {0}"
+
+#: src/metabase/api/task.clj
+msgid "When including an offset, a limit must also be included."
+msgstr "Khi bao gồm một phần bù, một giới hạn cũng phải được đưa vào."
+
+#: src/metabase/api/task.clj
+msgid "When including a limit, an offset must also be included."
+msgstr "Khi bao gồm một giới hạn, một phần bù cũng phải được đưa vào."
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Applying heuristic {0} to {1}."
+msgstr "Áp dụng heuristic {0} cho {1}."
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Dimensions bindings:n{0}"
+msgstr "Kích thước ràng buộc: n {0}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "Using definitions:nMetrics:n{0}nFilters:n{1}"
+msgstr "Sử dụng định nghĩa: nMetrics: n {0} nFilters: n {1}"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "minute"
+msgstr "phút"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "hour"
+msgstr "giờ"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "day of week"
+msgstr "ngày trong tuần"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "day of month"
+msgstr "ngày trong tháng"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "day of year"
+msgstr "ngày trong năm"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "week"
+msgstr "tuần"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "month"
+msgstr "tháng"
+
+#: src/metabase/automagic_dashboards/core.clj
+msgid "quarter"
+msgstr "quý"
+
+#: src/metabase/automagic_dashboards/populate.clj
+msgid "Adding {0} cards to dashboard {1}:n{2}"
+msgstr "Thêm thẻ {0} vào bảng điều khiển {1}: n {2}"
+
+#: src/metabase/automagic_dashboards/rules.clj
+msgid "Error parsing {0}:n{1}"
+msgstr "Lỗi phân tích cú pháp {0}: n {1}"
+
+#: src/metabase/driver/druid/query_processor.clj
+msgid "WARNING: Filtering only works on dimensions! ''{0}'' is a metric. Ignoring filter."
+msgstr "CẢNH BÁO: Lọc chỉ hoạt động trên kích thước! '' {0} '' là một số liệu. Bỏ qua bộ lọc."
+
+#: src/metabase/driver/druid/query_processor.clj
+msgid "WARNING: A date can't belong to multiple discrete intervals, so ANDing them together doesn't make sense."
+msgstr "CẢNH BÁO: Một ngày không thể thuộc về nhiều khoảng thời gian riêng biệt, vì vậy ANDing chúng cùng nhau không có ý nghĩa."
+
+#: src/metabase/driver/druid/query_processor.clj
+msgid "Ignoring these intervals: {0}"
+msgstr "Bỏ qua các khoảng này: {0}"
+
+#. We should never get to this point since the all non-string negations should get automatically rewritten
+#. by the query expander.
+#: src/metabase/driver/druid/query_processor.clj
+msgid "WARNING: Don't know how to negate: {0}"
+msgstr "CẢNH BÁO: Không biết cách phủ định: {0}"
+
+#: src/metabase/driver/druid/query_processor.clj
+msgid "Sorting with Druid is only allowed in queries that have one or more breakout columns. Ignoring :order-by clause."
+msgstr "Sắp xếp với Druid chỉ được phép trong các truy vấn có một hoặc nhiều cột đột phá. Bỏ qua: mệnh đề theo thứ tự."
+
+#. TODO - this is not really true, is it
+#: src/metabase/driver/druid/query_processor.clj
+msgid "WARNING: It only makes sense to specify :fields for a query with no aggregation. Ignoring the clause."
+msgstr "CẢNH BÁO: Chỉ có ý nghĩa khi chỉ định: các trường cho một truy vấn không có tổng hợp. Bỏ qua mệnh đề."
+
+#: src/metabase/driver/druid/query_processor.clj
+msgid "WARNING: Druid doenst allow limitSpec in timeseries queries. Ignoring the LIMIT clause."
+msgstr "CẢNH BÁO: Druid doenst cho phép giới hạnSpec trong các truy vấn thời gian. Bỏ qua mệnh đề LIMIT."
+
+#: src/metabase/driver/sql/query_processor.clj
+msgid "HoneySQL Form:"
+msgstr "Mẫu HoneySQL:"
+
+#: src/metabase/driver/sql_jdbc/execute.clj
+msgid "Unable to parse date ''{0}''"
+msgstr "Không thể phân tích ngày '' {0} ''"
+
+#: src/metabase/driver/sql_jdbc/execute.clj
+msgid "Client closed connection, cancelling query"
+msgstr "Kết nối khách hàng, hủy truy vấn"
+
+#: src/metabase/driver/sql_jdbc/execute.clj
+msgid "Setting timezone with statement: {0}"
+msgstr "Đặt múi giờ với câu lệnh: {0}"
+
+#: src/metabase/driver/googleanalytics/query_processor.clj
+msgid "Multiple date filters are not supported"
+msgstr "Nhiều bộ lọc ngày không được hỗ trợ"
+
+#: src/metabase/driver/googleanalytics/query_processor.clj
+msgid ":not is not yet implemented"
+msgstr ": chưa được thực hiện"
+
+#: src/metabase/driver/googleanalytics/query_processor.clj
+msgid "Only one Google Analytics segment allowed at a time."
+msgstr "Mỗi lần chỉ có một phân đoạn Google Analytics."
+
+#: src/metabase/driver/mongo/query_processor.clj
+msgid "MONGO AGGREGATION PIPELINE:"
+msgstr "MONGO AGGREGATION PIPELINE:"
+
+#: src/metabase/driver/mongo/query_processor.clj
+msgid "Error: mismatched columns in results! Expected: {0} Got: {1}"
+msgstr "Lỗi: các cột không khớp trong kết quả! Dự kiến: {0} Đã nhận: {1}"
+
+#: src/metabase/email/messages.clj
+msgid "Unable to create temp file in `{0}` for email attachments "
+msgstr "Không thể tạo tệp tạm thời trong `{0}` cho tệp đính kèm email"
+
+#: src/metabase/events/activity_feed.clj
+msgid "Error preprocessing query:"
+msgstr "Lỗi truy vấn tiền xử lý:"
+
+#: src/metabase/mbql/normalize.clj
+msgid "Illegal filter clause: {0}"
+msgstr "Điều khoản lọc bất hợp pháp: {0}"
+
+#: src/metabase/mbql/normalize.clj
+msgid "Invalid clause:"
+msgstr "Điều khoản không hợp lệ:"
+
+#: src/metabase/mbql/util.clj
+msgid "Error: query's source query has not been resolved. You probably need to `preprocess` the query first."
+msgstr "Lỗi: truy vấn nguồn của truy vấn chưa được giải quyết. Bạn có thể cần phải 'tiền xử lý' truy vấn trước."
+
+#: src/metabase/mbql/util.clj
+msgid "No expression named ''{0}''"
+msgstr "Không có biểu thức có tên '' {0} ''"
+
+#: src/metabase/mbql/util.clj
+msgid "No aggregation at index: {0}"
+msgstr "Không tổng hợp tại chỉ mục: {0}"
+
+#: src/metabase/models/field_values.clj
+msgid "Field values total length is {0} (max {1})."
+msgstr "Tổng giá trị trường dài {{} (tối đa {1})."
+
+#: src/metabase/models/field_values.clj
+msgid "FieldValues are allowed for this Field."
+msgstr "FieldValues được phép cho Trường này."
+
+#: src/metabase/models/field_values.clj
+msgid "FieldValues are NOT allowed for this Field."
+msgstr "Trường {0} '' {1} '' nên có FieldValues và thuộc về Cơ sở dữ liệu với Cập nhật FieldValues theo yêu cầu."
+
+#: src/metabase/models/field_values.clj
+msgid "Field {0} ''{1}'' should have FieldValues and belongs to a Database with On-Demand FieldValues updating."
+msgstr "Trường {0} '' {1} '' nên có FieldValues và thuộc về Cơ sở dữ liệu với Cập nhật FieldValues theo yêu cầu."
+
+#: src/metabase/models/permissions.clj
+msgid "You cannot create or revoke permissions for the ''Admin'' group."
+msgstr "Bạn không thể tạo hoặc thu hồi quyền cho nhóm '' Quản trị viên ''."
+
+#: src/metabase/models/permissions_group_membership.clj
+msgid "You cannot add or remove users to/from the ''MetaBot'' group."
+msgstr "Bạn không thể thêm hoặc xóa người dùng vào / ra khỏi nhóm '' MetaBot ''."
+
+#: src/metabase/models/permissions_group_membership.clj
+msgid "You cannot add or remove users to/from the ''All Users'' group."
+msgstr "Bạn không thể thêm hoặc xóa người dùng vào / ra khỏi nhóm '' Tất cả người dùng '."
+
+#: src/metabase/models/permissions_group_membership.clj
+msgid "You cannot remove the last member of the ''Admin'' group!"
+msgstr "Bạn không thể xóa thành viên cuối cùng của nhóm '' Quản trị viên ''!"
+
+#. go ahead and log the Exception anyway on the off chance that it *wasn't* just a race condition issue
+#: src/metabase/models/setting/cache.clj
+msgid "Error inserting a new Setting: {0}"
+msgstr "Lỗi khi chèn Cài đặt mới: {0}"
+
+#: src/metabase/models/setting.clj
+msgid "defsetting descriptions strings must be `:internal?` or internationalized, found: `{0}`"
+msgstr "làm mờ các chuỗi mô tả phải là `: Internal?` hoặc được quốc tế hóa, được tìm thấy: `{0}`"
+
+#: src/metabase/plugins.clj
+msgid "Loading plugin {0}... {1}"
+msgstr "Đang tải plugin {0} ... {1}"
+
+#: src/metabase/public_settings.clj
+msgid "Object keyed by type, containing formatting settings"
+msgstr "Đối tượng được khóa theo loại, chứa các cài đặt định dạng"
+
+#: src/metabase/public_settings.clj
+msgid "Allow users to explore data using X-rays"
+msgstr "Cho phép người dùng khám phá dữ liệu bằng tia X"
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Using this URL to check token: {0}"
+msgstr "Sử dụng URL này để kiểm tra mã thông báo: {0}"
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Unable to validate token: 404 not found."
+msgstr "Không thể xác thực mã thông báo: Không tìm thấy 404."
+
+#: src/metabase/public_settings/metastore.clj
+msgid "There was an error checking whether this token was valid:"
+msgstr "Có lỗi khi kiểm tra xem mã thông báo này có hợp lệ không:"
+
+#. +----------------------------------------------------------------------------------------------------------------+
+#. |                                             SETTING & RELATED FNS                                              |
+#. +----------------------------------------------------------------------------------------------------------------+
+#. TODO - rename this to premium-features-token?
+#: src/metabase/public_settings/metastore.clj
+msgid "Token for premium features. Go to the MetaStore to get yours!"
+msgstr "Mã thông báo cho các tính năng cao cấp. Truy cập MetaStore để lấy của bạn!"
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Token format is invalid. Token should be 64 hexadecimal characters."
+msgstr "Định dạng mã thông báo không hợp lệ. Mã thông báo phải là 64 ký tự thập lục phân."
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Error setting premium features token"
+msgstr "Lỗi thiết lập mã thông báo tính năng cao cấp"
+
+#: src/metabase/public_settings/metastore.clj
+msgid "Error validating token:"
+msgstr "Lỗi xác thực mã thông báo:"
+
+#: src/metabase/query_processor.clj
+msgid "Error preprocessing query"
+msgstr "Lỗi truy vấn tiền xử lý"
+
+#: src/metabase/query_processor.clj
+msgid "No native form returned."
+msgstr "Không có hình thức bản địa trở lại."
+
+#: src/metabase/query_processor.clj
+msgid "Invalid response from database driver. No :status provided."
+msgstr "Phản hồi không hợp lệ từ trình điều khiển cơ sở dữ liệu. Không: tình trạng được cung cấp."
+
+#: src/metabase/query_processor.clj
+msgid "General error"
+msgstr "Lá»—i chung"
+
+#: src/metabase/query_processor.clj
+msgid "Missing query hash!"
+msgstr "Thiếu băm truy vấn!"
+
+#: src/metabase/query_processor/middleware/add_implicit_clauses.clj
+msgid "Table ''{0}'' has no Fields associated with it."
+msgstr "Bảng '' {0} '' không có Trường liên quan đến nó.Đạt đến giới hạn truy vấn đồng thời tối đa"
+
+#: src/metabase/query_processor/middleware/add_query_throttle.clj
+msgid "Max concurrent query limit reached"
+msgstr "Bảng '' {0} '' không có Trường liên quan đến nó.Đạt đến giới hạn truy vấn đồng thời tối đa"
+
+#. we should never reach this if our patterns are written right so this is more to catch code mistakes than
+#. something the user should expect to see
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "Don't know how to get information about Field:"
+msgstr "Không biết cách lấy thông tin về Trường:"
+
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "metabase.query-processor.interface/*driver* is unbound."
+msgstr "metabase.query-processor.interface/*driver* không bị ràng buộc."
+
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "Query processor error: mismatched number of columns in query and results."
+msgstr "Lỗi bộ xử lý truy vấn: số lượng cột không khớp trong truy vấn và kết quả."
+
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "Expected {0} fields, got {1}"
+msgstr "Các trường {0} dự kiến, đã nhận {1}"
+
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "Expected: {0}"
+msgstr "Dự kiến: {0}"
+
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "Actual: {0}"
+msgstr "Thực tế: {0}"
+
+#: src/metabase/query_processor/middleware/binning.clj
+msgid "Unable to bin Field without a min/max value"
+msgstr "Không thể bin Field mà không có giá trị tối thiểu / tối đa"
+
+#: src/metabase/query_processor/middleware/check_features.clj
+msgid "{0} is not supported by this driver."
+msgstr "{0} không được trình điều khiển này hỗ trợ."
+
+#: src/metabase/query_processor/middleware/expand_macros.clj
+msgid "Segment {0} does not exist, or is invalid."
+msgstr "Phân đoạn {0} không tồn tại hoặc không hợp lệ."
+
+#: src/metabase/query_processor/middleware/expand_macros.clj
+msgid "Metric {0} does not exist, or is invalid."
+msgstr "Số liệu {0} không tồn tại hoặc không hợp lệ."
+
+#: src/metabase/query_processor/middleware/fetch_source_query.clj
+msgid "Missing source query in Card {0}"
+msgstr "Thiếu truy vấn nguồn trong Thẻ {0}"
+
+#: src/metabase/query_processor/middleware/fetch_source_query.clj
+msgid "Fetched source query from Card {0}:"
+msgstr "Truy vấn nguồn được tìm nạp từ Thẻ {0}:"
+
+#: src/metabase/query_processor/middleware/mbql_to_native.clj
+msgid "Error transforming MBQL query to native:"
+msgstr "Lỗi khi chuyển đổi truy vấn MBQL thành nguồn gốc:"
+
+#: src/metabase/query_processor/middleware/resolve_source_table.clj
+msgid "Cannot run query: could not find source table {0}."
+msgstr "Không thể chạy truy vấn: không thể tìm thấy bảng nguồn {0}."
+
+#: src/metabase/query_processor/middleware/results_metadata.clj
+msgid "Error recording results metadata for query:"
+msgstr "Lỗi ghi siêu dữ liệu kết quả cho truy vấn:"
+
+#: src/metabase/query_processor/store.clj
+msgid "Error: Query Processor store is not initialized."
+msgstr "Lỗi: Cửa hàng Bộ xử lý truy vấn không được khởi tạo."
+
+#: src/metabase/query_processor/store.clj
+msgid "Error: Table {0} is not present in the Query Processor Store."
+msgstr "Lỗi: Bảng {0} không có trong Cửa hàng Bộ xử lý truy vấn."
+
+#: src/metabase/query_processor/store.clj
+msgid "Error: Field {0} is not present in the Query Processor Store."
+msgstr "Lỗi: Trường {0} không có trong Cửa hàng Bộ xử lý truy vấn."
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Task history cleanup successful, rows were {0}deleted"
+msgstr "Dọn dẹp lịch sử nhiệm vụ thành công, các hàng đã bị xóa {0}"
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "not"
+msgstr "không phải"
+
+#: src/metabase/util/encryption.clj
+msgid "For more information, see"
+msgstr "Để biết thêm thông tin, xem"
+
+#: src/metabase/util/schema.clj
+msgid "Integer greater than or equal to zero"
+msgstr "Số nguyên lớn hơn hoặc bằng 0"
+
+#: src/metabase/util/schema.clj
+msgid "value must be an integer greater than or equal to zero."
+msgstr "giá trị phải là số nguyên lớn hơn hoặc bằng 0."
+
+#: src/metabase/util/schema.clj
+msgid "value must be an integer zero or greater."
+msgstr "giá trị phải là số nguyên bằng 0 hoặc lớn hơn."
+
+#: src/metabase/util/schema.clj
+msgid "value must be a valid integer greater than or equal to zero."
+msgstr "giá trị phải là số nguyên hợp lệ lớn hơn hoặc bằng 0."
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "New users per state in the last 30 days"
+msgstr "Người dùng mới cho mỗi tiểu bang trong 30 ngày qua"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Created At by day of the week"
+msgstr "Tạo vào ngày trong tuần"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Created At by quarter of the year"
+msgstr "Tạo vào lúc một phần tư của năm"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] per country"
+msgstr "[[this.short-name]] mỗi quốc gia"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Users per source"
+msgstr "Người dùng mỗi nguồn"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "The top external pages that brought users to your site"
+msgstr "Các trang bên ngoài hàng đầu đã đưa người dùng đến trang web của bạn"
+
+#: resources/automagic_dashboards/comparison/State.yaml
+#: resources/automagic_dashboards/comparison/FK.yaml
+#: resources/automagic_dashboards/comparison/Country.yaml
+#: resources/automagic_dashboards/comparison/GenericField.yaml
+msgid "How [[this]] is distributed and more."
+msgstr "Cách [[này]] được phân phối và hơn thế nữa"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "The [[this]] over time"
+msgstr "[[This]] theo thời gian"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "User growth"
+msgstr "Tăng trưởng người dùng"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Whether or not there are any patterns to when they happen."
+msgstr "Có hay không có bất kỳ mô hình nào khi chúng xảy ra."
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Users per state"
+msgstr "Người dùng mỗi tiểu bang"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Sessions"
+msgstr "Phiên"
+
+#: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
+msgid "How some of the numbers in [[this]] relate to each other"
+msgstr "Làm thế nào một số số trong [[này]] liên quan với nhau"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Sales per country"
+msgstr "Bán hàng mỗi quốc gia"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Join date by month of the year"
+msgstr "Tham gia ngày theo tháng trong năm"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "[[Timestamp]] by hour of the day"
+msgstr "[[Dấu thời gian]] theo giờ trong ngày"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "A look at the [[this]]"
+msgstr "Nhìn vào [[này]]"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "Bottom 5 per category"
+msgstr "5 dưới cùng cho mỗi loại"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Number of orders"
+msgstr "Số lượng đơn đặt hàng"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Event growth"
+msgstr "Tăng trưởng sự kiện"
+
+#: resources/automagic_dashboards/table/example/indepth.yaml
+msgid "Total [[GenericTable]]"
+msgstr "Tổng số [[Bảng chung]]"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Income growth"
+msgstr "Tăng trưởng thu nhập"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Top 10 countries by sales in the last 30 days"
+msgstr "10 quốc gia hàng đầu theo doanh số trong 30 ngày qua"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "[[this]] by month of the year"
+msgstr "[[này]] theo tháng trong năm"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Transactions per day of the week"
+msgstr "Giao dịch mỗi ngày trong tuần"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Sessions by device type"
+msgstr "Phiên theo loại thiết bị"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Transactions per country"
+msgstr "Giao dịch mỗi quốc gia"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Join date by quarter of the year"
+msgstr "Tham gia ngày theo quý"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per hour of the day"
+msgstr "Sự kiện mỗi giờ trong ngày"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[Singleton]]"
+msgstr "[[Singleton]]"
+
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "Top 5 [[this]]"
+msgstr "Top 5 [[này]]"
+
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "Bottom 5 [[this]]"
+msgstr "Dưới 5 [[này]]"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "[[Timestamp]] by day of the month"
+msgstr "[[Dấu thời gian]] theo ngày trong tháng"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Per [[GenericCategoryLarge]]"
+msgstr "Má»—i [[GenericCategoryLarge]]"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+msgid "Null values"
+msgstr "Giá trị không"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Total events"
+msgstr "Tổng số sự kiện"
+
+#: resources/automagic_dashboards/field/GenericField.yaml
+msgid "A look at [[GenericTable]] across your [[this]], and how it changes over time."
+msgstr "Hãy xem [[GenericTable]] trên [[này]] và cách nó thay đổi theo thời gian."
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per [[GenericCategoryMedium]]"
+msgstr "[[này]] mỗi [[GenericCategoryMedium]]"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "How the [[this]] changes with time"
+msgstr "Cách [[này]] thay đổi theo thời gian"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "How they compare by seasonality"
+msgstr "Làm thế nào họ so sánh theo mùa"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Average income per transaction"
+msgstr "Thu nhập trung bình trên mỗi giao dịch"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per country"
+msgstr "[[này]] mỗi quốc gia"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Income per state"
+msgstr "Thu nhập mỗi bang"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Per [[GenericCategoryMedium]]"
+msgstr "Má»—i [[GenericCategoryMedium]]"
+
+#: resources/automagic_dashboards/question/GenericQuestion.yaml
+msgid "A closer look at your [[this]]"
+msgstr "Nhìn kỹ hơn vào [[này]]"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "How [[GenericNumber]] is distributed"
+msgstr "Cách [[GenericNumber]] được phân phối"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "[[Timestamp]] by quarter of year"
+msgstr "[[Dấu thời gian]] theo quý"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per country"
+msgstr "Sự kiện mỗi quốc gia"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Weekdays when [[this.short-name]] were added"
+msgstr "Các ngày trong tuần khi [[this.short-name]] đã được thêm vào"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Months when [[this.short-name]] were added"
+msgstr "Các tháng khi [[this.short-name]] được thêm vào"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How they compare across different categories"
+msgstr "Làm thế nào họ so sánh giữa các loại khác nhau"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "New users per source in the last 30"
+msgstr "Người dùng mới trên mỗi nguồn trong 30 gần nhất"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per quarter of the year"
+msgstr "Sự kiện mỗi quý trong năm"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Heres a quick look at your [[this]]"
+msgstr "Đây là một cái nhìn nhanh về [[này]]"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per [[GenericCategoryLarge]], top 5"
+msgstr "[[this]] má»—i [[GenericC CategoryLarge]], top 5"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Days when [[this.short-name]] were added"
+msgstr "Ngày khi [[this.short-name]] được thêm vào"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Total orders per source"
+msgstr "Tổng số đơn hàng trên mỗi nguồn"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "[[this]] by quarter of the year"
+msgstr "[[này]] theo quý của năm"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per [[GenericCategoryMedium]]"
+msgstr "Sự kiện trên [[GenericCategoryMedium]]"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per state"
+msgstr "Sự kiện mỗi tiểu bang"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Top landing pages"
+msgstr "Trang đích hàng đầu"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Heres a closer look at your [[this]] over time"
+msgstr "Đây là một cái nhìn gần hơn về [[này]] theo thời gian"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "Sum of [[this]] by [[Country]]"
+msgstr "Tổng của [[này]] bởi [[Quốc gia]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "States that are performing best"
+msgstr "Các tiểu bang đang hoạt động tốt nhất"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Created At by month of the year"
+msgstr "Tạo vào tháng của năm"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "Sum of [[this]] by [[State]]"
+msgstr "Tổng của [[này]] bởi [[Bang]]"
+
+#: resources/automagic_dashboards/field/State.yaml
+msgid "Sum of [[GenericNumber]] per [[this]]"
+msgstr "Tổng của [[GenericNumber]] mỗi [[này]]"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events by coordinates"
+msgstr "Sự kiện theo tọa độ"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Top referral pages"
+msgstr "Trang tham chiếu hàng đầ"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "An exploration of your users to get you started."
+msgstr "Một cuộc thăm dò người dùng của bạn để giúp bạn bắt đầu."
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "An overview of your [[this]] and how its distributed across time, place, and categories."
+msgstr "Tổng quan về [[này]] của bạn và cách phân bổ theo thời gian, địa điểm và danh mục."
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Average income per state"
+msgstr "Thu nhập trung bình trên mỗi huyện"
+
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+msgid "[[this]] by [[GenericCategoryMedium]]"
+msgstr "[[this]] bởi [[GenericCategoryMedium]"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Total transactions"
+msgstr "Tổng số giao dịch"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] that have joined over time"
+msgstr "[[this.short-name]] đã tham gia theo thời gian"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "The [[this]] by location"
+msgstr "[[This]] theo vị trí"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per month of the year"
+msgstr "Sự kiện mỗi tháng trong năm"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] by [[GenericNumber]]"
+msgstr "[[this]] bởi [[GenericNumber]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Quarters when [[this.short-name]] were added"
+msgstr " Một quý khi [[this.short-name]] đã được thêm vào"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "How these [[this.short-name]] are distributed"
+msgstr "những [[this.short-name]] này được phân bổ như thế nào"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] by [[GenericNumber]]"
+msgstr "[[this.short-name]] bởi [[GenericNumber]"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Where users are coming from"
+msgstr "Người dùng đến từ đâu"
+
+#: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
+msgid "[[this]] comparisons and correlations"
+msgstr "[[this]] so sánh và tương quan"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Total income"
+msgstr "Tổng thu nhậ"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Total income per month"
+msgstr "Tổng thu nhập mỗi tháng"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Number of users per source"
+msgstr "Số lượng người dùng trên mỗi nguồn"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Transactions per state"
+msgstr "Giao dịch trên mỗi huyện"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "[[this]] by [[Timestamp]]"
+msgstr "[[this]] bởi [[Timestamp]"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "New users per source in the last 30 days"
+msgstr "Người dùng mới trên mỗi nguồn trong 30 ngày qua"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Join date by day of the month"
+msgstr "Ngày tham gia theo ngày trong tháng"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Average discount %"
+msgstr "Chiết khấu trung bình%"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Autogenerated metrics about [[GenericTable]]."
+msgstr "Số liệu được tạo tự động về [[GenericTable]]."
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per day of the month"
+msgstr "[[this]] mỗi ngày trong tháng"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Total sessions in each country"
+msgstr "Tổng số phiên tại mỗi quốc gia"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Transactions per month of the year"
+msgstr "Giao dịch mỗi tháng trong năm"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Sales per product"
+msgstr "Doanh số trên mỗi sản phẩm"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Users in each country"
+msgstr "Người dùng ở mỗi quốc gia"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "[[this]] by hour of the day"
+msgstr "[[this]] theo giờ trong ngày"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events in the last 30 days"
+msgstr "Sự kiện trong 30 ngày qua"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Transactions per source"
+msgstr "Giao dịch trên mỗi nguồn"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Where youve acquired your users"
+msgstr "Nơi bạn đã có được người dùng của bạn"
+
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How they compare acrosss location"
+msgstr "Làm thế nào họ so sánh giữa các vị trí"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "[[this]] per product"
+msgstr "[[this]] trên mỗi sản phẩm"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per month of the year"
+msgstr "[[this]] mỗi tháng trong năm"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Per country"
+msgstr " Trên mỗi vùng"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "A deeper look at how different countries are performing for you."
+msgstr "Một cái nhìn sâu sắc hơn về cách các vùng khác nhau đang thực hiện cho bạn."
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Sales per state"
+msgstr "Doanh số trên huyệ"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events by [[GenericNumber]]"
+msgstr "Sự kiện theo [[GenericNumber]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "Sales per product [[ProductCategoryMedium]]"
+msgstr "Doanh số trên mỗi sản phẩm [[ProductC CategoryMedium]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "User acquisition by country"
+msgstr "Người dùng mua lại theo vùn"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "[[this]] per source"
+msgstr "[[this]] trên mỗi nguồn"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "[[this]] by day of the week"
+msgstr "[[this]] theo ngày trong tuầ"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Days of the month when [[this.short-name]] joined"
+msgstr "Ngày trong tháng khi [[this.short-name]] tham gia"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Heres an overview of the people in your [[this]]"
+msgstr "Đây là tổng quan về những người trong [[this]]"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "How [[GenericTable]] are distributed across this time field, and if it has any seasonal patterns."
+msgstr "Cách [[GenericTable]] được phân bổ trên trường thời gian này nếu nó có bất kỳ mẫu theo mùa nào."
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+#: resources/automagic_dashboards/table/EventTable.yaml
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Overview"
+msgstr "Tổng qua"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How this metric is distributed across different categories"
+msgstr "Cách số liệu này được phân bổ trên các danh mục khác nhau"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] per state"
+msgstr "[[this.short-name]] trên từng huyệ"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Weekdays when [[this.short-name]] joined"
+msgstr "Các ngày trong tuần khi [[this.short-name]] tham gia"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Hours when [[this.short-name]] joined"
+msgstr "Giờ khi [[this.short-name]] tham gia"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Total income by month"
+msgstr "Tổng thu nhập theo tháng"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "A breakdown of your [[this]] over time, and its min, max, average and more."
+msgstr "Phân tích [[này]] của bạn theo thời gian và giá trị tối thiểu, tối đa, trung bình và nhiều hơn."
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Average quantity per state"
+msgstr "Số lượng trung bình trên mỗi huyện"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How they compare by across different numbers"
+msgstr "Làm thế nào họ so sánh được qua các số khác nhau"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "New users per country in the last 30 days"
+msgstr "Người dùng mới mỗi vùng trong 30 ngày qua"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Transactions over time"
+msgstr "Giao dịch theo thời gian"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per [[GenericCategorySmall]]"
+msgstr "[[this]] trên mỗi [[GenericCargetSmall]]"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Some breakdown"
+msgstr "Một số sự cố"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "Average of [[this]] by [[State]]"
+msgstr "Trung bình của [[this]] bởi [[state]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Transactions per quarter of the year"
+msgstr "Giao dịch trên một quý của nă"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "By coordinates"
+msgstr "Theo hệ toạ đ"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "Heres a closer look at your [[this]] by products"
+msgstr "Đây là một cái nhìn cận cảnh hơn về [[this]] bởi các sản phẩm"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per quarter of the year"
+msgstr "[[this]] theo một quý trong nă"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Heres an overview of your [[this]] data from Google Analytics"
+msgstr "Đây là tổng quan về dữ liệu [[this]] của bạn từ Google Analytics"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Quarters when [[this.short-name]] joined"
+msgstr " Quý khi [[this.short-name]] đã tham gia"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "New [[this.short-name]] in the last 30 days"
+msgstr "[[this.short-name]] mới trong 30 ngày qua"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Total sessions by desktop, mobile, or tablet"
+msgstr "Tổng số phiên bằng máy tính để bàn, thiết bị di động hoặc máy tính bảng"
+
+#: resources/automagic_dashboards/table/example/indepth.yaml
+msgid "Indepth example"
+msgstr "Ví dụ hoàn toà"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Average income per source"
+msgstr "Thu nhập trung bình trên mỗi nguồn"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "[[Timestamp]] by day of week"
+msgstr "[[Timestamp]] theo ngày trong tuầ"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/question/GenericQuestion.yaml
+msgid "Heres a closer look at your [[this]]"
+msgstr "Đây là một cái nhìn gần hơn về [[this]"
+
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "Heres a closer look at your [[this]] field"
+msgstr "Đây là một cái nhìn gần hơn về trường [[this]] của bạ"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Summary"
+msgstr "Tóm lượ"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "How the [[this]] is distributed geographically"
+msgstr "Cách [[this]] được phân bổ theo địa lý"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "The pages with the most pageviews"
+msgstr "Các trang có nhiều lượt xem nhất"
+
+#: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
+msgid "How [[Number1]] is correlated with [[Number2]]"
+msgstr "Cách [[Number1]] tương quan với [[Number2]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Top 10 states by sales in the last 30 days"
+msgstr "10 huyện hàng đầu theo doanh số trong 30 ngày qua"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Top 10 states by sales"
+msgstr "10 huyện hàng đầu theo doanh s"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[Timestamp]]"
+msgstr "[[Timestamp]"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Where these transactions happened"
+msgstr "những giao dịch này xảy ra ở đâu"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Top 10 countries by sales"
+msgstr "10 vùng theo doanh s"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Sales by state"
+msgstr "doanh số theo huyệ"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Where most of your sessions originate from"
+msgstr " Nơi hầu hết các phiên của bạn bắt nguồn từ"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Top acquisition channels"
+msgstr "Các kênh mua lại hàng đầu"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "These [[this.short-name]] across time"
+msgstr "Những [[this.short-name]] theo thời gian"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Average quantity"
+msgstr "Số lượng trung bìn"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Sales per source"
+msgstr "Doanh số theo nguồ"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Average income per country"
+msgstr "Thu nhập bình quân theo vùn"
+
+#: resources/automagic_dashboards/comparison/State.yaml
+#: resources/automagic_dashboards/comparison/FK.yaml
+#: resources/automagic_dashboards/comparison/Country.yaml
+#: resources/automagic_dashboards/comparison/GenericField.yaml
+msgid "How [[this]] is distributed"
+msgstr "Cách [[this]] được phân b"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Distinct [[FK]]"
+msgstr " [[FK]] Khác biệt"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "How these transactions are distributed"
+msgstr "Cách những giao dịch này được phân bổ"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Per state"
+msgstr "Trên mỗi huyệ"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "Count of [[GenericCategoryMedium]] by [[this]]"
+msgstr "Đếm [[GenericCategoryMedium]] theo [[this]"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+#: resources/automagic_dashboards/table/UserTable.yaml
+#: resources/automagic_dashboards/comparison/State.yaml
+#: resources/automagic_dashboards/comparison/FK.yaml
+#: resources/automagic_dashboards/comparison/Country.yaml
+#: resources/automagic_dashboards/comparison/GenericField.yaml
+msgid "A look at your [[this]]"
+msgstr "Xem [[this]]"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+msgid "[[GenericNumber]] by [[this]]"
+msgstr "[[GenericNumber]] theo [[this]"
+
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "Sum of [[GenericNumber]] by [[this]]"
+msgstr "Tổng [[GenericNumber]] theo [[this]"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "A look at your [[this]] table"
+msgstr "Xem bảng [[this]] của bạ"
+
+#: resources/automagic_dashboards/field/State.yaml
+msgid "How many [[GenericTable]] there are per state, and how each state is represented across other categories."
+msgstr " Có bao nhiêu [[GenericTable]] mỗi huyện, và làm thế nào mỗi huyện được đại diện trên các loại khác."
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Most-viewed pages"
+msgstr "Trang được xem nhiều nhấ"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Example exploration"
+msgstr "Ví dụ thăm d"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "Sales vs. rating"
+msgstr "Doanh số và xếp hạn"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per hour of the day"
+msgstr "[[this]] trên mỗi giờ trong ngà"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Where your [[this.short-name]] are"
+msgstr "[[this.short-name]] của bạn ở đâ"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "These are the same for all your [[this.short-name]]"
+msgstr "Tất cả đều giống [[this.short-name]"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events by different categories"
+msgstr "Sự kiện theo danh mục khác nhau"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Where these [[this.short-name]] are"
+msgstr "Những [[this.short-name]] này ở đâ"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "Over time"
+msgstr "theo thời gia"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "A summary of the events in your [[this]] table"
+msgstr "Tóm tắt về các sự kiện trong bảng [[this]] của bạn"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Transactions per source over time"
+msgstr "Giao dịch trên mỗi nguồn theo thời gia"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+msgid "How the [[this]] is distributed"
+msgstr " Cách [[this]] được phân b"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Total income per source"
+msgstr "Tổng thu nhập trên mỗi nguồ"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Total [[this.short-name]]"
+msgstr "Tổng [[this.short-name]"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Some metrics we found about your transactions."
+msgstr "Một số số liệu chúng tôi tìm thấy về các giao dịch của bạn."
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "How your different products are performing."
+msgstr "các sản phẩm khác nhau của bạn đang hoạt động như thế nào."
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Where these events are happening"
+msgstr "Các sự kiện này xảy ra ở đâ"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Which US states are bringing you the most business."
+msgstr "Những tiểu bang nào của Hoa Kỳ đang mang lại cho bạn nhiều mối làm ăn nhất."
+
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How they compare across time"
+msgstr "Làm thế nào họ so sánh theo thời gian"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Average transaction income per month"
+msgstr "Thu nhập giao dịch trung bình mỗi tháng"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Average quantity per month"
+msgstr "Số lượng trung bình mỗi tháng"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "Seasonal patterns in the [[this]]"
+msgstr "Các mẫu theo mùa trong [[this]]"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events over time"
+msgstr "Sự kiện the"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Orders and income per source"
+msgstr "Đơn đặt hàng và thu nhập trên mỗi nguồn"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Transactions per hour of the day"
+msgstr "Các giao dịch mỗi giờ trong ngà"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Where most of your traffic is coming from."
+msgstr "Nơi mà hầu hết lưu lượng truy cập của bạn đến từ."
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "Heres a quick look at the [[this]]"
+msgstr "Đây là một cái nhìn nhanh về [[this]]"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "It looks like your [[this]] has transactions, so heres a look at them"
+msgstr "Có vẻ như [[this]] của bạn có giao dịch, vì vậy đây là một cái nhìn về chúng"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Average discount per month"
+msgstr "Chiết khấu trung bình trên một thán"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "[[Timestamp]] by month of the year"
+msgstr "[[Timestamp]] theo tháng trong nă"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per [[GenericCategorySmall]] over time"
+msgstr "[[this]] trên [[GenericCategorySmall]] theo thời gia"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Distribution by coordinates"
+msgstr "Phân bổ theo hệ toạ đ"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Sales by source"
+msgstr "Doanh số theo nguồ"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Sales for each product category"
+msgstr "Doanh số của mỗi loại sản phẩ"
+
+#: resources/automagic_dashboards/question/GenericQuestion.yaml
+msgid "A closer look at the metrics and dimensions used in this saved question."
+msgstr "Quan sát kỹ hơn các số liệu và kích thước được sử dụng trong câu hỏi đã lưu này."
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] per [[GenericCategoryMedium]]"
+msgstr "[[this.short-name]] trên [[GenericCategoryMedium]"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "Sales per product [[ProductCategoryLarge]]"
+msgstr "Doanh số trên sản phẩm [[ProductCategoryLarge]"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Average quantity per country"
+msgstr "Số lượng trung bình trên một huyệ"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] per [[GenericCategoryLarge]]"
+msgstr "[[this.short-name]] trên [[GenericCategoryLarge]"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Heres a closer look at your [[this]] per source"
+msgstr "Đây là một cái nhìn sâu hơn về [[this]] trên mỗi nguồn"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per day of the month"
+msgstr "Sự kiện mỗi ngày trong tháng"
+
+#: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
+msgid "If youre into correlations, this is the x-ray for you."
+msgstr "Nếu bạn đang ở trong mối tương quan, đây là X ray cho bạn."
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Sessions by Country"
+msgstr "Phiên theo vùng"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Some interesting metrics about your GA stats to get you started."
+msgstr "Một số số liệu thú vị về số liệu thống kê GA của bạn để giúp bạn bắt đầu."
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per state"
+msgstr "[[this]] theo vùn"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "[[Timestamp]] by quarter of the year"
+msgstr "[[Timestamp]] theo một quý của nă"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How its distributed across time and other categories."
+msgstr "Làm thế nào nó phân bổ theo thời gian và các loại khác."
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "A look at your events over time and by several categories."
+msgstr "Nhìn vào các sự kiện của bạn theo thời gian và theo một số loại."
+
+#: resources/automagic_dashboards/field/State.yaml
+msgid "[[GenericTable]] per [[this]]"
+msgstr "[[GenericTable]] trên [[this]]"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Average quantity per source"
+msgstr "Số lượng trung bình trên mỗi nguồ"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "Top 5 per category"
+msgstr "Top 5 của mỗi loạ"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per day of the week"
+msgstr "Các sự kiện mỗi ngày trong tuầ"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "New [[this.short-name]] per month"
+msgstr "[[this.short-name]] mới trên thán"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Top performers"
+msgstr "Top người thực hiệ"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Transactions in the last 30 days"
+msgstr "Giao dịch trong 30 ngày gần đâ"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+msgid "[[GenericTable]] by [[this]]"
+msgstr "[[GenericTable]] theo [[this]"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Overview of your [[this]] data from Google Analytics"
+msgstr "Tổng quan về dữ liệu [[this]] của bạn từ Google Analytics"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Created At by hour of the day"
+msgstr "Tạo vào giờ của ngày"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Sales by month"
+msgstr "Doanh số theo thán"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "How the [[this]] is distributed across categories"
+msgstr "Cách [[this]] được phân bổ qua các loạ"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "[[Timestamp]] by month of year"
+msgstr "[[Timestamp]] theo tháng trong nă"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "How many total sessions vs. how many individual users you had each day."
+msgstr "Có bao nhiêu tổng số phiên so với số lượng người dùng cá nhân bạn có mỗi ngày."
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How this metric is distributed across different numbers"
+msgstr "Cách số liệu này được phân bổ trên các số khác nhau"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Sessions by page where the session began"
+msgstr "Phiên theo trang nơi phiên bắt đầu"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+msgid "Distinct values"
+msgstr "Giá trị riêng biệt"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Hours when [[this.short-name]] were added"
+msgstr "Giờ khi [[this.short-name]] được thêm vào"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "[[Timestamp]] by day of the week"
+msgstr "[[Timestamp]] theo ngày trong tuần"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[GenericNumber]] over time"
+msgstr "[[GenericNumber]] theo thời gia"
+
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+#: resources/automagic_dashboards/comparison/State.yaml
+#: resources/automagic_dashboards/comparison/FK.yaml
+#: resources/automagic_dashboards/comparison/Country.yaml
+#: resources/automagic_dashboards/comparison/GenericField.yaml
+msgid "Heres an overview of your [[this]]"
+msgstr "Đây là tổng quan về [[this]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] by coordinates"
+msgstr "[[this.short-name]] theo hệ toạ đ"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Heres a closer look at your [[this]] per state"
+msgstr "Đây là một cái nhìn sâu hơn về [[this]] cho mỗi trạng thái"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Created At by day of the month"
+msgstr "Tạo vào ngày của tháng"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Sales by coordinates"
+msgstr "Doanh số theo hệ toạ đ"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "New [[this.short-name]] over time"
+msgstr "[[this.short-name]] mới theo thời gia"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Join date by hour of the day"
+msgstr "Ngày gia nhập theo giờ trong ngà"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "[[Timestamp]] by hour of day"
+msgstr "[[Timestamp]] theo giờ trong ngà"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Sessions and unique users per day"
+msgstr "Phiên và người dùng duy nhất mỗi ngày"
+
+#: resources/automagic_dashboards/table/EventTable.yaml
+msgid "Events per [[GenericCategoryLarge]]"
+msgstr "Các sự kiện theo [[GenericCategoryLarge]"
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/field/Country.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "How they compare by distribution"
+msgstr "Làm thế nào so sánh bằng phân bổ"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Income per country"
+msgstr "Thu nhập theo vùn"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Heres a closer look at your [[this]] per country"
+msgstr "Đây là một cái nhìn sâu hơn về [[this]] mỗi vùn"
+
+#: resources/automagic_dashboards/table/example.yaml
+msgid "Sales by product [[ProductCategory]]"
+msgstr " Doanh số theo sản phẩm [[ProductCategory]"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per [[GenericCategoryLarge]], bottom 5"
+msgstr "[[this]] trên [[GenericCategoryLarge]], dứoi "
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] added in the last 30 days"
+msgstr "[[this.short-name]] đã được thêm trong 30 ngày trước"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Per [[Source]]"
+msgstr "Má»—i [[Source]]"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Average item quantity per month"
+msgstr "Số lượng mặt hàng trung bình mỗi tháng"
+
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "The number of [[GenericTable]] per country, and how each country is represented in different categories."
+msgstr "Số lượng [[GenericTable]] trên mỗi vùng và cách mỗi vùng được thể hiện trong các danh mục khác nhau."
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "[[this]] per day of the week"
+msgstr "[[this]] mỗi ngày trong tuần"
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Average qunatity per source"
+msgstr "Số lượng trung bình trên mỗi nguồn"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[this.short-name]] by [[Timestamp]]"
+msgstr "[[this.short-name]] theo [[Timestamp]"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "Summary statistics"
+msgstr "Tóm tắt thống k"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "Sales per month"
+msgstr "Doanh số mỗi thán"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[GenericNumber]] by join date"
+msgstr "[[GenericNumber]] theo ngày tham gi"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "Average of [[this]] by [[Country]]"
+msgstr "Trung bình của [[this]] theo [[Country]"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "[[this]] over time"
+msgstr "[[this]] theo thời gia"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Join date by day of the week"
+msgstr "Ngày gia nhập theo ngày trong tuầ"
+
+#: resources/automagic_dashboards/field/Number.yaml
+msgid "We crunched the numbers for your [[this]]"
+msgstr "Chúng tôi đã xử lý các con số cho [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Months when [[this.short-name]] joined"
+msgstr "Tháng khi [[this.short-name]] tham gia"
+
+#: src/metabase/api/geojson.clj
+msgid "Unable to parse resource `{0}` as JSON"
+msgstr "Không thể phân tích tài nguyên `{0}` dưới dạng JSON"
+
+#: src/metabase/api/geojson.clj
+msgid "Unable to find JSON via relative path `{0}`"
+msgstr "Không thể tìm thấy JSON thông qua đường dẫn tương đối `{0}`"
+
+#: src/metabase/api/geojson.clj
+msgid "Connection to host timed out for URL `{0}`"
+msgstr "Kết nối với máy chủ đã hết thời gian cho URL `{0}`"
+
+#: src/metabase/api/geojson.clj
+msgid "Unable to connect to unknown host at URL `{0}`"
+msgstr "Không thể kết nối với máy chủ không xác định tại URL `{0}`"
+
+#: src/metabase/api/geojson.clj
+msgid "Unable to connect to host at URL `{0}`"
+msgstr "Không thể kết nối với máy chủ tại URL `{0}`"
+
+#: src/metabase/api/geojson.clj
+msgid "Connection refused by host at for URL `{0}`"
+msgstr "Kết nối bị từ chối bởi máy chủ tại URL `{0}`"
+
+#: src/metabase/api/geojson.clj
+msgid "Unable to retrieve resource at URL `{0}`"
+msgstr "Không thể truy xuất tài nguyên tại URL `{0}`"
+
+#: src/metabase/api/geojson.clj
+msgid "Unable to parse resource at URL `{0}` as JSON"
+msgstr "Không thể phân tích tài nguyên tại URL `{0}` dưới dạng JSON"
+
+#: src/metabase/api/session.clj
+msgid "Problem connecting to LDAP server, will fall back to local authentication: {0}"
+msgstr "Sự cố khi kết nối với máy chủ LDAP, sẽ quay trở lại xác thực cục bộ: {0}"
+
+#: src/metabase/driver/bigquery.clj
+msgid "BigQuery statements can''t be parameterized!"
+msgstr "Các câu lệnh BigQuery không thể được tham số hóa!"
+
+#: src/metabase/driver/druid/query_processor.clj
+msgid "WARNING: Druid does not allow limitSpec in time series queries. Ignoring the LIMIT clause."
+msgstr "CẢNH BÁO: Druid không cho phép giới hạnSpec trong các truy vấn chuỗi thời gian. Bỏ qua mệnh đề LIMIT."
+
+#: src/metabase/driver/snowflake.clj
+msgid "Invalid Snowflake connection details: missing DB name."
+msgstr "Chi tiết kết nối Snowflake không hợp lệ: thiếu tên cơ sở dữ liệu."
+
+#: src/metabase/email/messages.clj
+msgid "We’d love your feedback."
+msgstr "Chúng tôi rất thích phản hồi của bạn."
+
+#: src/metabase/email/messages.clj
+msgid "It looks like Metabase wasn’t quite a match for you."
+msgstr "Có vẻ như Metabase không phù hợp với bạn."
+
+#: src/metabase/email/messages.clj
+msgid "Would you mind taking a fast 5 question survey to help the Metabase team understand why and make things better in the future?"
+msgstr "Bạn có phiền khi thực hiện một cuộc khảo sát nhanh 5 câu hỏi để giúp nhóm Metabase hiểu lý do tại sao và làm cho mọi thứ tốt hơn trong tương lai không?"
+
+#: src/metabase/email/messages.clj
+msgid "We hope you''ve been enjoying Metabase."
+msgstr "Chúng tôi hy vọng bạn đã được thưởng thức Metabase."
+
+#: src/metabase/email/messages.clj
+msgid "Would you mind taking a fast 6 question survey to tell us how it’s going?"
+msgstr "Bạn có phiền khi tham gia một cuộc khảo sát nhanh 6 câu hỏi để cho chúng tôi biết nó sẽ diễn ra như thế nào không?"
+
+#: src/metabase/email/messages.clj
+msgid "{0} created a Metabase account"
+msgstr "{0} đã tạo tài khoản Metabase"
+
+#: src/metabase/email/messages.clj
+msgid "{0} accepted their Metabase invite"
+msgstr "{0} đã chấp nhận lời mời Metabase của họ"
+
+#: src/metabase/email/messages.clj
+msgid "[Metabase] Password Reset Request"
+msgstr "[Metabase] Yêu cầu cài đặt lại mật khẩ"
+
+#: src/metabase/email/messages.clj
+msgid "[Metabase] Notification"
+msgstr "[Metabase] Thông bá"
+
+#: src/metabase/email/messages.clj
+msgid "[Metabase] Help make Metabase better."
+msgstr "[Metabase]Giúp Metabase tốt hơ"
+
+#: src/metabase/email/messages.clj
+msgid "[Metabase] Tell us how things are going."
+msgstr "[Metabase]Hãy nói với chúng tôi mọi thứ đang diễn ra như thế nà"
+
+#: src/metabase/mbql/util.clj
+msgid "Error: query''s source query has not been resolved. You probably need to `preprocess` the query first."
+msgstr "Lỗi: truy vấn nguồn của truy vấn chưa được giải quyết. Có lẽ bạn cần phải 'tiền xử lý' truy vấn trước."
+
+#: src/metabase/models/params.clj
+msgid "Don't know what to do with:"
+msgstr "Không biết làm gì với cái nà"
+
+#: src/metabase/models/params.clj
+msgid "Don't know how to wrap:"
+msgstr "Không biết cách quấ"
+
+#: src/metabase/public_settings.clj
+msgid "Failed setting `query-caching-max-kb` to {0}."
+msgstr "Lõi cài đặt `query-caching-max-kb` thành {0}"
+
+#: src/metabase/public_settings.clj
+msgid "Values greater than {1} are not allowed."
+msgstr "Các giá trị lớn hơn {1} không được phép."
+
+#: src/metabase/query_processor/middleware/resolve_database.clj
+msgid "Database {0} does not exist."
+msgstr "Cơ sở dữ liệu {0} không tồn tại."
+
+#: src/metabase/query_processor/store.clj
+msgid "Error: Database is not present in the Query Processor Store."
+msgstr "Lỗi: Cơ sở dữ liệu không có trong Cửa hàng Bộ xử lý truy vấn."
+
+#: src/metabase/util/embed.clj
+msgid "Invalid embedding-secret-key! Secret key must be a hexadecimal-encoded 256-bit key (i.e., a 64-character string)."
+msgstr "Khóa nhúng bí mật không hợp lệ! Khóa bí mật phải là khóa 256 bit được mã hóa thập lục phân (nghĩa là chuỗi 64 ký tự)."
+
+#: src/metabase/util/embed.clj
+msgid "JWT is missing `alg`."
+msgstr "JWT bị thiếu `alg`"
+
+#: src/metabase/util/embed.clj
+msgid "JWT `alg` cannot be `none`."
+msgstr "JWT `alg` không thể là` none`"
+
+#: src/metabase/util/embed.clj
+msgid "The embedding secret key has not been set."
+msgstr "Khóa nhúng bí mật chưa được cài đặt."
+
+#: src/metabase/util/embed.clj
+msgid "Token is missing value for keypath"
+msgstr "Mã thông báo bị thiếu giá trị cho keypath"
+
+#: resources/automagic_dashboards/table/example/indepth.yaml
+msgid "In-depth example"
+msgstr "Ví dụ chuyên sâu "
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:29
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:17
+msgid "Key"
+msgstr "Khoá"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:30
+msgid "Class"
+msgstr "Class"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:32
+msgid "Triggers"
+msgstr "Triggers"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:48
+msgid "View triggers"
+msgstr "Xem triggers"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:82
+msgid "Scheduler Info"
+msgstr "Thông tin Scheduler"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:20
+msgid "Priority"
+msgstr "Ưu tiên"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:21
+msgid "Last Fired"
+msgstr "Lần cuối chạy"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:22
+msgid "Next Fire Time"
+msgstr "Thời gian chạy lần tới"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:23
+msgid "Start Time"
+msgstr "Thời gian bắt đầu"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:24
+msgid "End Time"
+msgstr "Thời gian kết thúc"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:25
+msgid "Final Fire Time"
+msgstr "Thời gian chạy cuối cùng"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:26
+msgid "May Fire Again?"
+msgstr "Có thể chạy tiếp?"
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:75
+msgid "Triggers for {0}"
+msgstr "Triggers cho {0}"
+
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:25
+msgid "Tasks"
+msgstr "Tác vụ"
+
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:30
+msgid "Jobs"
+msgstr "Jobs"
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:740
+msgid "Duplicated {0}"
+msgstr "Đã tạo bản sao {0}"
+
+#: frontend/src/metabase/components/EntityItem.jsx:55
+msgid "Duplicate this item"
+msgstr "Tạo bản sao"
+
+#: frontend/src/metabase/components/EntityItem.jsx:61
+msgid "Archive this item"
+msgstr "Lưu trữ item này"
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:330
+msgid "Duplicate dashboard"
+msgstr "Đã tạo bản sao"
+
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:16
+msgid "Duplicate \"{0}\""
+msgstr "Tạo bản sao \"{0}\""
+
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:21
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:26
+msgid "Duplicate"
+msgstr "Tạo bản sao"
+
+#: frontend/src/metabase/lib/query_time.js:115
+msgid "Tomorrow"
+msgstr "Ngày mai"
+
+#: frontend/src/metabase/lib/query_time.js:129
+#: frontend/src/metabase/lib/query_time.js:143
+msgid "This {0}"
+msgstr "{0} Này"
+
+#: frontend/src/metabase/lib/query_time.js:132
+msgid "Next {0}"
+msgstr "{0} Tiếp theo"
+
+#: frontend/src/metabase/lib/query_time.js:135
+msgid "Previous {0}"
+msgstr "{0} Trước đó"
+
+#: frontend/src/metabase/lib/query_time.js:139
+msgid "Previous {0} {1}"
+msgstr "{0} {1} trÆ°á»›c"
+
+#: frontend/src/metabase/lib/query_time.js:141
+msgid "Next {0} {1}"
+msgstr "{0} {1} tiếp theo"
+
+#: frontend/src/metabase/lib/query_time.js:171
+msgid "Now"
+msgstr "Bây giờ"
+
+#: frontend/src/metabase/lib/query_time.js:174
+msgid "{0} {1} ago"
+msgstr "{0} {1} trÆ°á»›c"
+
+#: frontend/src/metabase/lib/query_time.js:175
+msgid "{0} {1} from now"
+msgstr "{0} {1} từ nay"
+
+#: frontend/src/metabase/lib/query_time.js:187
+msgid "Default period"
+msgid_plural "Default periods"
+msgstr[0] "Khoảng mặc định"
+
+#: frontend/src/metabase/lib/query_time.js:203
+msgid "Minute of hour"
+msgid_plural "Minutes of hour"
+msgstr[0] "phút mỗi giờ"
+
+#: frontend/src/metabase/lib/query_time.js:205
+msgid "Hour of day"
+msgid_plural "Hours of day"
+msgstr[0] "giờ mỗi ngày"
+
+#: frontend/src/metabase/lib/query_time.js:207
+msgid "Day of week"
+msgid_plural "Days of week"
+msgstr[0] "ngày mỗi tuần"
+
+#: frontend/src/metabase/lib/query_time.js:209
+msgid "Day of month"
+msgid_plural "Days of month"
+msgstr[0] "ngày mỗi tháng"
+
+#: frontend/src/metabase/lib/query_time.js:211
+msgid "Day of year"
+msgid_plural "Days of year"
+msgstr[0] "ngày mỗi năm"
+
+#: frontend/src/metabase/lib/query_time.js:213
+msgid "Week of year"
+msgid_plural "Weeks of year"
+msgstr[0] "tuần mỗi năm"
+
+#: frontend/src/metabase/lib/query_time.js:215
+msgid "Month of year"
+msgid_plural "Months of year"
+msgstr[0] "tháng mỗi năm"
+
+#: frontend/src/metabase/lib/query_time.js:217
+msgid "Quarter of year"
+msgid_plural "Quarters of year"
+msgstr[0] "quý mỗi năm"
+
+#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:62
+#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:58
+#: frontend/src/metabase/query_builder/components/Filter.jsx:79
+msgid "{0} selection"
+msgid_plural "{0} selections"
+msgstr[0] "lựa chọn"
+
+#: frontend/src/metabase/parameters/components/widgets/DateQuarterYearWidget.jsx:11
+msgid "[Q]Q"
+msgstr "[Q]Q"
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:28
+msgid "This"
+msgstr "Cái này"
+
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:64
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:96
+msgid "Invalid"
+msgstr "Không phù hợp"
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/SpecificDatePicker.jsx:147
+msgid "Add a time"
+msgstr "Thêm thời gian"
+
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:170
+msgid "Nothing to compare for the previous {0}."
+msgstr "Không có gì để so sánh với {0}."
+
+#: frontend/src/metabase-lib/lib/Dimension.js:517
+msgid "by {0}"
+msgstr "bởi {0}"
+
+#: src/metabase/api/database.clj
+msgid "value must be a valid database engine."
+msgstr "giá trị phải là một công cụ cơ sở dữ liệu hợp lệ."
+
+#: src/metabase/api/geojson.clj
+msgid "Connection refused by host for URL `{0}`"
+msgstr "Kết nối bị từ chối bởi máy chủ cho URL `{0}`"
+
+#: src/metabase/db.clj
+msgid "Warning: Postgres connection string with `ssl=true` detected."
+msgstr "Cảnh báo: Đã phát hiện chuỗi kết nối Postgres với `ssl = true`."
+
+#: src/metabase/db.clj
+msgid "You may need to add `?sslmode=require` to your application DB connection string."
+msgstr "Bạn có thể cần thêm `?sslmode = quiries` vào chuỗi kết nối cơ sở dữ liệu ứng dụng của bạn."
+
+#: src/metabase/db.clj
+msgid "If Metabase fails to launch, please add it and try again."
+msgstr "Nếu Metabase không khởi chạy, vui lòng thêm nó và thử lại."
+
+#: src/metabase/db.clj
+msgid "See https://github.com/metabase/metabase/issues/8908 for more details."
+msgstr "Xem https://github.com/metabase/metabase/issues/8908 để biết thêm chi tiết."
+
+#: src/metabase/db.clj
+msgid "WARNING: Using Metabase with an H2 application database is not recomended for production deployments."
+msgstr "CẢNH BÁO: Không nên sử dụng Metabase với cơ sở dữ liệu ứng dụng H2 để triển khai lên Production."
+
+#: src/metabase/db.clj
+msgid "For production deployments, we highly recommend using Postgres, MySQL, or MariaDB instead."
+msgstr "Để triển khai lên Production, chúng tôi khuyên bạn nên sử dụng Postgres, MySQL hoặc MariaDB thay thế."
+
+#: src/metabase/db.clj
+msgid "If you decide to continue to use H2, please be sure to back up the database file regularly."
+msgstr "Nếu bạn quyết định tiếp tục sử dụng H2, vui lòng đảm bảo sao lưu tệp cơ sở dữ liệu thường xuyên."
+
+#: src/metabase/db.clj
+msgid "See https://metabase.com/docs/latest/operations-guide/start.html#migrating-from-using-the-h2-database-to-mysql-or-postgres for more information."
+msgstr "Xem https://metabase.com/docs/latest/operations-guide/start.html#migrating-from-USE-the-h2-database-to-mysql-or-postgres để biết thêm thông tin."
+
+#: src/metabase/db.clj
+msgid "Unable to connect to Metabase {0} DB."
+msgstr "Không thể kết nối với Metabase {0} DB."
+
+#: src/metabase/db/migrations.clj
+msgid "Error adding legacy SQL directive to BigQuery saved Question"
+msgstr "Lỗi khi thêm lệnh SQL cũ vào Câu hỏi đã lưu của BigQuery"
+
+#: src/metabase/driver.clj
+msgid "Failed to notify {0} Database {1} updated"
+msgstr "Không thể thông báo {0} Cơ sở dữ liệu {1} đã cập nhật"
+
+#: src/metabase/driver.clj
+msgid "Loading driver {0} {1}"
+msgstr "Đang tải trình điều khiển {0} {1}"
+
+#: src/metabase/driver.clj
+msgid "Load driver {0}"
+msgstr "Tải trình điều khiển {0}"
+
+#: src/metabase/driver.clj
+msgid "Driver not registered after loading: {0}"
+msgstr "Trình điều khiển không được đăng ký sau khi tải: {0}"
+
+#: src/metabase/driver.clj
+msgid "Error: attempting to change {0} property `:abstract?` from {1} to {2}."
+msgstr "Lỗi: cố gắng thay đổi thuộc tính {0} `:abstract?` từ {1} thành {2}."
+
+#: src/metabase/driver.clj
+msgid "Registered abstract driver {0}"
+msgstr "Trình điều khiển abstract đã đăng ký {0}"
+
+#: src/metabase/driver.clj
+msgid "Registered driver {0}"
+msgstr "Trình điều khiển đã đăng ký {0}"
+
+#: src/metabase/driver.clj
+msgid "(parents: {0})"
+msgstr "(cha mẹ: {0})"
+
+#: src/metabase/driver.clj
+msgid "Initializing driver {0}..."
+msgstr "Đang khởi tạo trình điều khiển {0} ..."
+
+#: src/metabase/driver.clj
+msgid "Reason:"
+msgstr "Lý do:"
+
+#: src/metabase/driver.clj
+msgid "Invalid driver feature: {0}"
+msgstr "Tính năng trình điều khiển không hợp lệ: {0}"
+
+#: src/metabase/driver/sql/query_processor.clj
+msgid "Invalid HoneySQL form:"
+msgstr "Biểu mẫu HoneySQL không hợp lệ:"
+
+#: src/metabase/driver/sql_jdbc/connection.clj
+msgid "Closing connection pool for database {0} ..."
+msgstr "Đóng nhóm kết nối cho cơ sở dữ liệu {0} ..."
+
+#: src/metabase/driver/util.clj
+msgid "Error loading namespace"
+msgstr "Lỗi tải namespace"
+
+#: src/metabase/events.clj
+msgid "Starting events listener:"
+msgstr "Bắt đầu events listener:"
+
+#: src/metabase/events.clj
+msgid "Unexpected error listening on events"
+msgstr "Lỗi bất ngờ khi nghe về các sự kiện"
+
+#: src/metabase/events/sync_database.clj
+msgid "Error syncing Database {0}"
+msgstr "Lỗi đồng bộ hóa cơ sở dữ liệu {0}"
+
+#: src/metabase/events/sync_database.clj
+msgid "Failed to process sync-database event."
+msgstr "Không thể xử lý sự kiện đồng bộ hóa cơ sở dữ liệu."
+
+#: src/metabase/mbql/util.clj
+msgid "Bad nested-query-level: query does not have a source query"
+msgstr "Nested-query-level tồi: truy vấn không có truy vấn nguồn"
+
+#: src/metabase/metabot/command.clj
+msgid "I don''t know how to `{0}`."
+msgstr "Tôi không biết làm thế nào để `{0}`."
+
+#: src/metabase/metabot/command.clj
+msgid "Here''s what I can do: "
+msgstr "Tôi không biết làm thế nào để `{0}`."
+
+#: src/metabase/metabot/slack.clj
+msgid "Error in Metabot command"
+msgstr "Lỗi trong lệnh Metabot"
+
+#: src/metabase/metabot/websocket.clj
+msgid "Websocket associated with this Slack event is different from the websocket we're currently using."
+msgstr "Websocket liên quan đến sự kiện Slack này khác với websocket chúng tôi hiện đang sử dụng."
+
+#: src/metabase/models/field_values.clj
+msgid "FieldValues for Field {0} remain unchanged. Skipping..."
+msgstr "FieldValues cho Field {0} không thay đổi. Bỏ qua ..."
+
+#: src/metabase/models/interface.clj
+msgid "Unable to normalize:"
+msgstr "Không thể bình thường hóa:"
+
+#: src/metabase/models/params.clj
+msgid "Could not find matching Field ID for target:"
+msgstr "Không thể tìm thấy ID trường phù hợp cho mục tiêu:"
+
+#: src/metabase/plugins.clj
+msgid "Metabase does not have permissions to write to plugins directory {0}"
+msgstr "Metabase không có quyền ghi vào thư mục plugin {0}"
+
+#: src/metabase/plugins.clj
+msgid "Metabase cannot use the plugins directory {0}"
+msgstr "Metabase không thể sử dụng thư mục plugin {0}"
+
+#: src/metabase/plugins.clj
+msgid "Please make sure the directory exists and that Metabase has permission to write to it."
+msgstr "Vui lòng đảm bảo thư mục tồn tại và Metabase có quyền ghi vào thư mục đó."
+
+#: src/metabase/plugins.clj
+msgid "You can change the directory Metabase uses for modules by setting the environment variable MB_PLUGINS_DIR."
+msgstr "Bạn có thể thay đổi thư mục Metabase sử dụng cho các mô-đun bằng cách đặt biến môi trường MB_PLUGINS_DIR."
+
+#: src/metabase/plugins.clj
+msgid "Falling back to a temporary directory for now."
+msgstr "Quay trở lại một thư mục tạm thời bây giờ."
+
+#: src/metabase/plugins.clj
+msgid "Metabase cannot write to temporary directory. Please set MB_PLUGINS_DIR to a writable directory and restart Metabase."
+msgstr "Metabase không thể ghi vào thư mục tạm thời. Vui lòng đặt MB_PLUGINS_DIR thành thư mục có thể ghi và khởi động lại Metabase."
+
+#: src/metabase/plugins.clj
+msgid "spark-deps.jar is no longer needed by Metabase 1.0+. You can delete it from the plugins directory."
+msgstr "spark-deps.jar không còn cần bởi Metabase 1.0+. Bạn có thể xóa nó khỏi thư mục plugin."
+
+#: src/metabase/plugins.clj
+msgid "Failied to initialize plugin {0}"
+msgstr "Không thể khởi chạy plugin {0}"
+
+#: src/metabase/plugins.clj
+msgid "Loading plugins in {0}..."
+msgstr "Đang tải các plugin trong {0} ..."
+
+#: src/metabase/plugins/classloader.clj
+msgid "Using Clojure base loader as shared context classloader: {0}"
+msgstr "Sử dụng loader cơ sở Clojure làm classloader ngữ cảnh được chia sẻ: {0}"
+
+#: src/metabase/plugins/classloader.clj
+msgid "Setting current thread context classloader to shared classloader {0}..."
+msgstr "Đặt classloader ngữ cảnh luồng hiện tại thành classloader được chia sẻ {0} ..."
+
+#. it's important that we deref the promise again here instead of using the one we just created because it is
+#. possible thru a race condition that somebody else delivered the promise before we did; in that case,
+#. Clojure ignores subsequent calls to `deliver`. Dereffing the promise guarantees that we'll get the actual
+#. value of it rather than one that ends up getting discarded
+#: src/metabase/plugins/classloader.clj
+msgid "Setting current thread context classloader to NEWLY CREATED classloader {0}..."
+msgstr "Đặt classloader ngữ cảnh luồng hiện tại thành classloader MỚI TẠO {0} ..."
+
+#: src/metabase/plugins/classloader.clj
+msgid "Added URL {0} to classpath"
+msgstr "Đã thêm URL {0} vào classpath"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugin {0} declares a dependency that Metabase does not understand: {1}"
+msgstr "Plugin {0} tuyên bố một phụ thuộc mà Metabase không hiểu: {1}"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Refer to the plugin manifest reference for a complete list of valid plugin dependencies:"
+msgstr "Tham khảo tham chiếu bảng kê khai plugin để biết danh sách đầy đủ các yếu tố phụ thuộc plugin hợp lệ:"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Metabase cannot initialize plugin {0} due to required dependencies."
+msgstr "Metabase không thể khởi chạy plugin {0} do thiếu yếu tố phụ thuộc bắt buộc."
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Class not found: {0}"
+msgstr "Không tìm thấy lớp: {0}"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugin ''{0}'' depends on plugin ''{1}''"
+msgstr "Plugin '' {0} '' phụ thuộc vào plugin '' {1} ''"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "{0} dependency {1} satisfied? {2}"
+msgstr "{0} phụ thuộc {1} được đáp ứng? {2}"
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugins with unsatisfied deps: {0}"
+msgstr "Các plugin có deps không thỏa mãn: {0}"
+
+#: src/metabase/plugins/files.clj
+msgid "Extract file {0} -> {1}"
+msgstr "Trích xuất file {0} -> {1}"
+
+#: src/metabase/plugins/files.clj
+msgid "Resource does not exist."
+msgstr "Tài nguyên không tồn tại."
+
+#: src/metabase/plugins/init_steps.clj
+msgid "Loading plugin namespace {0}..."
+msgstr "Đang tải plugin namespace{0} ..."
+
+#: src/metabase/plugins/initialize.clj
+msgid "Dependencies satisfied; these plugins will now be loaded: {0}"
+msgstr "Yếu tố phụ thuộc được đáp ứng; các plugin này sẽ được tải: {0}"
+
+#: src/metabase/plugins/jdbc_proxy.clj
+msgid "Registering JDBC proxy driver for {0}..."
+msgstr "Đăng ký trình điều khiển proxy JDBC cho {0} ..."
+
+#: src/metabase/plugins/jdbc_proxy.clj
+msgid "Deregistering original JDBC driver {0}..."
+msgstr "Hủy đăng ký trình điều khiển JDBC gốc {0} ..."
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Default connection property {0} does not exist."
+msgstr "Thuộc tính kết nối mặc định {0} không tồn tại."
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Invalid connection property {0}: not a string or map."
+msgstr "Thuộc tính kết nối không hợp lệ {0}: không phải là string hoặc map."
+
+#. ok, do the init steps listed in the plugin mainfest
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Load lazy loading driver {0}"
+msgstr "Tải trình điều khiển chậm chạp {0}"
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Cannot initialize plugin: missing required property `driver-name`"
+msgstr "Không thể khởi tạo plugin: thiếu thuộc tính bắt buộc `driver-name`"
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Warning: plugin manifest for {0} does not include connection properties"
+msgstr "Cảnh báo: file kê khai plugin cho {0} không bao gồm các thuộc tính kết nối"
+
+#. finally, register the Metabase driver
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Registering lazy loading driver {0}..."
+msgstr "Đăng ký driver chậm chạp {0} ..."
+
+#: src/metabase/pulse.clj
+msgid "Error running query for Card {0}"
+msgstr "Lỗi khi chạy truy vấn cho Thẻ {0}"
+
+#: src/metabase/pulse/render.clj
+msgid "Last week"
+msgstr "Tuần trước"
+
+#: src/metabase/pulse/render.clj
+msgid "This week"
+msgstr "Tuần này"
+
+#: src/metabase/pulse/render.clj
+msgid "Last month"
+msgstr "Tháng trước"
+
+#: src/metabase/pulse/render.clj
+msgid "This month"
+msgstr "Tháng này"
+
+#: src/metabase/pulse/render.clj
+msgid "Last quarter"
+msgstr "Quý trước"
+
+#: src/metabase/pulse/render.clj
+msgid "This quarter"
+msgstr "Quý này"
+
+#: src/metabase/pulse/render.clj
+msgid "Last year"
+msgstr "Năm ngoái"
+
+#: src/metabase/pulse/render.clj
+msgid "This year"
+msgstr "Năm nay"
+
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "*driver* is unbound."
+msgstr "*driver* không ràng buộc."
+
+#: src/metabase/sync/sync_metadata/fields.clj
+msgid "Error syncing Fields for Table ''{0}''"
+msgstr "Lỗi đồng bộ hóa các trường cho Bảng '' {0} ''"
+
+#: src/metabase/sync/sync_metadata/fields.clj
+msgid "Hash of {0} matches stored hash, skipping Fields sync"
+msgstr "Băm của {0} khớp với hàm băm được lưu trữ, bỏ qua đồng bộ hóa Trường"
+
+#: src/metabase/sync/sync_metadata/fields/common.clj
+msgid "Field"
+msgstr "Trường"
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Error checking if Fields {0} need to be created or reactivated"
+msgstr "Lỗi khi kiểm tra xem liệu Trường {0} cần được tạo hoặc kích hoạt lại"
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Marking Field ''{0}'' as inactive."
+msgstr " Đánh dấu Trường '' {0} '' là không hoạt động."
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Error retiring {0}"
+msgstr "Lỗi khi nghỉ hưu {0}"
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Database type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr "Loại cơ sở dữ liệu của {0} đã thay đổi từ '' {1} '' thành '' {2} ''."
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Base type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr "Loại cơ sở của {0} đã thay đổi từ '' {1} '' thành '' {2} ''."
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Special type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr "Loại đặc biệt của {0} đã thay đổi từ '' {1} '' thành '' {2} ''."
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Comment has been added for {0}."
+msgstr "Nhận xét đã được thêm cho {0}."
+
+#: src/metabase/task.clj
+msgid "Stopping Quartz Scheduler {0}"
+msgstr "Dừng lại Quartz Scheduler {0}"
+
+#: src/metabase/task.clj
+msgid "Starting Quartz Scheduler {0}"
+msgstr "Bắt đầu Quartz Scheduler {0}"
+
+#: src/metabase/task.clj
+msgid "Error loading tasks namespace {0}"
+msgstr "Lỗi khi tải tác vụ namespace {0}"
+
+#. don't bother logging namespace for now, maybe in the future if there's tasks of the same name in multiple
+#. namespaces we can log it
+#: src/metabase/task.clj
+msgid "Initializing task {0}"
+msgstr "Đang khởi tạo tác vụ {0}"
+
+#: src/metabase/task.clj
+msgid "Error initializing task {0}"
+msgstr "Lỗi khởi tạo tác vụ {0}"
+
+#: src/metabase/task/follow_up_emails.clj
+msgid "Problem sending abandonment email"
+msgstr "Sự cố khi gửi email từ bỏ"
+
+#: src/metabase/task/send_anonymous_stats.clj
+msgid "Sending anonymous usage stats."
+msgstr "Gửi số liệu thống kê sử dụng ẩn danh."
+
+#: src/metabase/task/send_anonymous_stats.clj
+msgid "Error sending anonymous usage stats"
+msgstr "Gửi số liệu thống kê sử dụng ẩn danh."
+
+#: src/metabase/task/send_pulses.clj
+msgid "Error sending Pulse {0}"
+msgstr "Lá»—i gá»­i Pulse {0}"
+
+#: src/metabase/task/send_pulses.clj
+msgid "Sending scheduled pulses..."
+msgstr "Gửi pulses theo lịch trình ..."
+
+#: src/metabase/task/send_pulses.clj
+msgid "SendPulses task failed"
+msgstr "Nhiệm vụ SendPulses không thành công"
+
+#: src/metabase/task/sync_databases.clj
+msgid "Failed to scheduler tasks for Database {0}"
+msgstr "Không thể lập lịch tác vụ cho Cơ sở dữ liệu {0}"
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Cleaning up task history"
+msgstr "Dọn dẹp lịch sử tác vụ"
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Task history cleanup successful, rows were deleted"
+msgstr "Dọn dẹp lịch sử tác vụ thành công, các hàng đã bị xóa"
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Task history cleanup successful, no rows were deleted"
+msgstr "Dọn dẹp lịch sử tác vụ thành công, không có hàng nào bị xóa"
+
+#: src/metabase/task/upgrade_checks.clj
+msgid "Checking for new Metabase version info."
+msgstr "Kiểm tra thông tin về phiên bản Metabase mới."
+
+#: src/metabase/task/upgrade_checks.clj
+msgid "Error fetching version info"
+msgstr "Lỗi khi tìm thông tin phiên bản"
+
+#: src/metabase/util.clj
+msgid "Maximum memory available to JVM: {0}"
+msgstr "Bộ nhớ tối đa khả dụng cho JVM: {0}"
+
+#: src/metabase/util.clj
+msgid "Not something with an ID: {0}"
+msgstr "Không phải cái có ID: {0}"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by month of the year"
+msgstr "[[CreatDate]] theo tháng trong năm"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Here's a quick look at your [[this]]"
+msgstr "Dưới đây là một cái nhìn nhanh về [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by hour of the day"
+msgstr "[[CreateTimestamp]] theo giờ trong ngày"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Where you've acquired your users"
+msgstr "Nơi bạn đã có được người dùng của mình"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How it's distributed across time and other categories."
+msgstr "Làm thế nào nó được phân phối theo thời gian và các loại khác."
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Here's a closer look at your [[this]] per source"
+msgstr "Đây là một cái nhìn sâu hơn về [[this]] theo mỗi nguồn"
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "Here's a quick look at the [[this]]"
+msgstr "Dây là một cái nhìn nhanh về [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by day of the month"
+msgstr "[[CreateTimestamp]] theo ngày trong tháng"
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Here's an overview of the people in your [[this]]"
+msgstr "Dưới đây là tổng quan về những người trong [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by quarter of the year"
+msgstr "[[CreateTimestamp]] theo quý của năm"
+
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How they compare across location"
+msgstr "Cách họ so sánh giữa các vị trí"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "Here's a closer look at your [[this]] by products"
+msgstr "Đây là một cái nhìn sâu hơn về [[this]] của bạn theo sản phẩm"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by month of the year"
+msgstr "[[CreateTimestamp]] theo tháng trong năm"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "An overview of your [[this]] and how it's distributed across time, place, and categories."
+msgstr "Tổng quan về [[this]] của bạn và cách phân phối theo thời gian, địa điểm và danh mục."
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/question/GenericQuestion.yaml
+msgid "Here's a closer look at your [[this]]"
+msgstr "Đây là một cái nhìn sâu hơn về [[this]]"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by day of the week"
+msgstr "[[CreateTimestamp]] theo ngày trong tuần"
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Here's an overview of your [[this]] data from Google Analytics"
+msgstr "Đây là tổng quan về dữ liệu [[this]] của bạn từ Google Analytics"
+
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+#: resources/automagic_dashboards/comparison/State.yaml
+#: resources/automagic_dashboards/comparison/FK.yaml
+#: resources/automagic_dashboards/comparison/Country.yaml
+#: resources/automagic_dashboards/comparison/GenericField.yaml
+msgid "Here's an overview of your [[this]]"
+msgstr "Đây là tổng quan về [[this]]"
+
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "Here's a closer look at your [[this]] field"
+msgstr "Đây là một cái nhìn sâu hơn về trường [[this]] của bạn"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Here's a closer look at your [[this]] per country"
+msgstr "Đây là một cái nhìn sâu hơn về [[this]] của bạn theo quốc gia"
+
+#: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
+msgid "If you're into correlations, this is the x-ray for you."
+msgstr "Nếu bạn quan tâm đến sự tương quan, đây là bản X quang cho bạn."
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by day of the week"
+msgstr "[[CreateDate]] theo ngày trong tuần"
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "It looks like your [[this]] has transactions, so here's a look at them"
+msgstr "Có vẻ như [[this]] của bạn có giao dịch, vậy đây là một cái nhìn về chúng"
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Here's a closer look at your [[this]] per state"
+msgstr "Đây là một cái nhìn sâu hơn về [[này]] theo từng trạng thái"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by day of the month"
+msgstr "[[CreatDate]] theo ngày trong tháng"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTime]] by hour of the day"
+msgstr "[[CreatTime]] theo giờ trong ngày"
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Here's a closer look at your [[this]] over time"
+msgstr "Đây là một cái nhìn sâu hơn về [[this]] của bạn theo thời gian"
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by quarter of the year"
+msgstr "[[CreatDate]] theo quý trong năm"
+
+#: frontend/src/metabase/admin/people/containers/EditUserModal.jsx:12
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:200
+msgid "Edit user"
+msgstr "Chỉnh sửa người dùng"
+
+#: frontend/src/metabase/admin/people/containers/NewUserModal.jsx:13
+msgid "New user"
+msgstr "Người dùng mới"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:204
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:69
+msgid "Reset password"
+msgstr "Đặt lại mật khẩu"
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:209
+msgid "Deactivate user"
+msgstr "Vô hiệu hóa người dùng"
+
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:47
+msgid "Reactivate {0}?"
+msgstr "Kích hoạt lại {0}?"
+
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:63
+msgid "We couldn’t send them an email invitation, so make sure to tell them to log in using {0} and this password we’ve generated for them:"
+msgstr "Chúng tôi không thể gửi cho họ lời mời qua email, vì vậy hãy yêu cầu họ đăng nhập bằng {0} và mật khẩu này mà chúng tôi đã tạo cho họ:"
+
+#: frontend/src/metabase/entities/collections.js:21
+msgid "collection"
+msgstr "bộ sưu tập"
+
+#: frontend/src/metabase/entities/collections.js:22
+msgid "collections"
+msgstr "bộ sưu tập"
+
+#: frontend/src/metabase/entities/dashboards.js:29
+msgid "dashboard"
+msgstr "bảng điều khiển"
+
+#: frontend/src/metabase/entities/dashboards.js:30
+msgid "dashboards"
+msgstr "bảng điều khiển"
+
+#: frontend/src/metabase/entities/users.js:125
+msgid "First name is required"
+msgstr "Tên là bắt buộc"
+
+#: frontend/src/metabase/entities/users.js:126
+#: frontend/src/metabase/entities/users.js:133
+msgid "Must be 100 characters or less"
+msgstr "Phải từ 100 ký tự trở xuống"
+
+#: frontend/src/metabase/entities/users.js:132
+msgid "Last name is required"
+msgstr "Họ là bắt buộc"
+
+#: frontend/src/metabase/entities/users.js:138
+msgid "Email is required"
+msgstr "Email là bắt buộc"
+
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:90
+msgid "Items you archive will appear here."
+msgstr "Các mục bạn lưu trữ sẽ xuất hiện ở đây."
+
+#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:16
+msgid "No description"
+msgstr "Không có mô tả"
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:175
+msgid "Sum of all values"
+msgstr "Tổng tất cả các giá trị"
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:183
+msgid "See all distinct values"
+msgstr "Xem tất cả các giá trị riêng biệt"
+
+#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:12
+msgid "Browse the contents of your databases, tables, and columns. Pick a database to get started"
+msgstr "Duyệt nội dung của cơ sở dữ liệu, bảng và cột của bạn. Chọn một cơ sở dữ liệu để bắt đầu"
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is VALID. Thanks!"
+msgstr "Metadata của các kết quả thẻ được truyền vào API là HỢP LỆ. Xin cảm ơn!"
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is INVALID. Running query to fetch correct metadata."
+msgstr "Metadata của các kết quả thẻ được truyền vào API là KHÔNG HỢP LỆ. Chạy truy vấn để lấy metadata chính xác."
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is  ISSING. Running query to fetch correct metadata."
+msgstr "KHÔNG TÌM THẤY metadata của các kết quả thẻ thông qua API. Chạy truy vấn để lấy metadata chính xác."
+
+#: src/metabase/api/email.clj
+msgid "{0} was autocorrected to {1}"
+msgstr "{0} đã được tự động chuyển thành {1}"
+
+#: src/metabase/api/metric.clj
+msgid "DELETE /api/metric/:id is deprecated. Instead, change its `archived` value via PUT /api/metric/:id."
+msgstr "DELETE /api/metric/:id không được dùng nữa. Thay vào đó, thay đổi giá trị `archived` của nó thông qua PUT /api/metric/:id."
+
+#: src/metabase/api/segment.clj
+msgid "DELETE /api/segment/:id is deprecated. Instead, change its `archived` value via PUT /api/segment/:id."
+msgstr "DELETE /api/segment/:id không được dùng nữa. Thay vào đó, thay đổi giá trị `archived` của nó thông qua PUT /api/segment/:id."
+
+#: src/metabase/api/user.clj
+msgid "Value of is_superuser must correspond to presence of Admin group ID in group_ids."
+msgstr "Giá trị của is_superuser phải tương ứng với sự hiện diện của ID của nhóm quản trị viên trong group_ids."
+
+#: src/metabase/async/api_response.clj
+msgid "Unexpected error writing keepalive characters"
+msgstr "Lỗi bất ngờ khi viết các ký tự cố định"
+
+#: src/metabase/async/api_response.clj
+msgid "Unexpected output in async API response"
+msgstr "Đầu ra bất ngờ trong phản hồi API async"
+
+#: src/metabase/async/api_response.clj
+msgid "starting streaming response"
+msgstr "bắt đầu phản hồi trực tuyến"
+
+#: src/metabase/async/api_response.clj
+msgid "Output chan closed, canceling keepalive request."
+msgstr "Output chan đóng lại, hủy bỏ yêu cầu keepalive."
+
+#: src/metabase/async/api_response.clj
+msgid "Async response finished, closing channels."
+msgstr "Đáp ứng Async xong, đóng kênh."
+
+#: src/metabase/async/api_response.clj
+msgid "No response after waiting {0}. Canceling request."
+msgstr "Không có phản hồi sau khi chờ đợi {0}. Hủy yêu cầu."
+
+#: src/metabase/async/api_response.clj
+msgid "Input channel unexpectedly closed."
+msgstr "Kênh đầu vào bất ngờ đóng."
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "f finished, permit will be returned"
+msgstr "nếu hoàn thành, giấy phép sẽ được trả lại"
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "request canceled, permit will be returned"
+msgstr "yêu cầu hủy bỏ, giấy phép sẽ được trả lại"
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Unexpected error attempting to run function after obtaining permit"
+msgstr "Lỗi không mong muốn khi chạy chức năng sau khi có giấy phép"
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Not running pending function call: output channel already closed."
+msgstr "Không chạy chức năng đang chờ xử lý: kênh đầu ra đã bị đóng."
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Current thread already has a permit for {0}, will not wait to acquire another"
+msgstr "Chủ đề hiện tại đã có giấy phép cho {0}, sẽ không chờ để có được một giấy phép khác"
+
+#: src/metabase/async/util.clj
+msgid "Output channel closed, will skip running {0}."
+msgstr "Kênh đầu ra đã đóng, sẽ bỏ qua việc chạy {0}."
+
+#: src/metabase/async/util.clj
+msgid "Running {0} on separate thread..."
+msgstr "Chạy {0} trên luồng riêng ..."
+
+#: src/metabase/async/util.clj
+msgid "Caught error running {0}"
+msgstr "Lỗi bắt gặp khi chạy {0}"
+
+#: src/metabase/async/util.clj
+msgid "Request canceled, canceling future"
+msgstr "Yêu cầu bị hủy bỏ, đang hủy các yêu cầu tương lai"
+
+#: src/metabase/driver/sql_jdbc/connection.clj
+msgid "Closing old connection pool for database {0} ..."
+msgstr "Đóng nhóm kết nối cũ cho cơ sở dữ liệu {0} ..."
+
+#: src/metabase/metabot/command.clj
+msgid "Here''s your {0} most recent cards:"
+msgstr "Đây là {0} thẻ gần đây nhất của bạn:"
+
+#: src/metabase/metabot/command.clj
+msgid "Could you be a little more specific, or use the ID? I found these cards with names that matched:"
+msgstr "Bạn có thể cụ thể hơn một chút, hoặc sử dụng ID? Tôi tìm thấy những thẻ có tên phù hợp:"
+
+#: src/metabase/metabot/command.clj
+msgid "Card {0} not found."
+msgstr "Không tìm thấy thẻ {0}."
+
+#: src/metabase/middleware/exceptions.clj
+msgid "Exception in API call"
+msgstr "Ngoại lệ trong lệnh gọi API"
+
+#: src/metabase/middleware/exceptions.clj
+msgid "Request canceled before finishing."
+msgstr "Yêu cầu bị hủy trước khi hoàn thành."
+
+#: src/metabase/middleware/json.clj
+msgid "Metabase only supports JSON requests."
+msgstr "Metabase chỉ hỗ trợ các yêu cầu JSON."
+
+#: src/metabase/middleware/json.clj
+msgid "Make sure you set a 'Content-Type: application/json' header."
+msgstr "Hãy chắc chắn rằng bạn thiết lập một tiêu đề 'Content-Type: application / json' ."
+
+#: src/metabase/middleware/misc.clj
+msgid "Setting Metabase site URL to {0}"
+msgstr "Đặt URL trang web Metabase thành {0}"
+
+#: src/metabase/models/database.clj
+msgid "Error scheduling tasks for DB"
+msgstr "Lỗi khi lên lịch tác vụ cho DB"
+
+#: src/metabase/models/database.clj
+msgid "Error unscheduling tasks for DB."
+msgstr "Lỗi khi hủy lịch tác vụ cho DB"
+
+#: src/metabase/models/database.clj
+msgid "{0} Database ''{1}'' sync/analyze schedules have changed!"
+msgstr "{0} Lịch trình đồng bộ hóa / phân tích cơ sở dữ liệu '' {1} '' đã thay đổi!"
+
+#: src/metabase/models/database.clj
+msgid "Sync metadata was: ''{0}'' is now: ''{1}''"
+msgstr "Đồng bộ hóa metadata là: ''{0}'' hiện là: ''{1}''"
+
+#: src/metabase/models/database.clj
+msgid "Cache FieldValues was: ''{0}'', is now: ''{1}''"
+msgstr "Cache FieldValues là: ''{0}'' hiện là: ''{1}''"
+
+#: src/metabase/models/metric.clj
+msgid "You cannot update the creator_id of a Metric."
+msgstr "Bạn không thể cập nhật creator_id của một Metric."
+
+#: src/metabase/models/permissions.clj
+msgid "MetaBot can only have Collection permissions."
+msgstr "MetaBot chỉ có thể có quyền Collection."
+
+#: src/metabase/models/permissions.clj
+msgid "Failed to grant permissions"
+msgstr "Không thể cấp quyền"
+
+#: src/metabase/models/permissions.clj
+msgid "Changing permissions"
+msgstr "Thay đổi quyền"
+
+#: src/metabase/models/permissions.clj
+msgid "FROM:"
+msgstr "TỪ:"
+
+#: src/metabase/models/permissions.clj
+msgid "TO:"
+msgstr "ĐẾN:"
+
+#: src/metabase/models/segment.clj
+msgid "You cannot update the creator_id of a Segment."
+msgstr "Bạn không thể cập nhật creator_id của Segment."
+
+#: src/metabase/models/setting.clj
+msgid "Attempted to set Setting {0} to obfuscated value. Ignoring change."
+msgstr "Đã cố gắng đặt Cài đặt {0} thành giá trị bị xáo trộn. Bỏ qua sự thay đổi."
+
+#: src/metabase/models/setting.clj
+msgid "Using value of env var {0}"
+msgstr "Sử dụng giá trị của env var {0}"
+
+#: src/metabase/models/user.clj
+msgid "Adding User {0} to All Users permissions group..."
+msgstr "Thêm người dùng {0} vào nhóm Tất cả người dùng ..."
+
+#: src/metabase/models/user.clj
+msgid "Adding User {0} to Admin permissions group..."
+msgstr "Thêm người dùng {0} vào nhóm Quản trị viên ..."
+
+#: src/metabase/query_processor.clj
+msgid "Query failure"
+msgstr "Truy vấn thất bại"
+
+#: src/metabase/query_processor/async.clj
+msgid "Maximum number of simultaneous queries to allow per connected Database."
+msgstr "Số lượng truy vấn đồng thời tối đa để cho phép trên mỗi Cơ sở dữ liệu được kết nối."
+
+#: src/metabase/util.clj
+msgid "Timed out after {0} milliseconds."
+msgstr "Đã hết thời gian sau {0} mili giây."
+
diff --git a/locales/zh.po b/locales/zh.po
index 40f14322bbf2d531ad3bff13e0239be4838202c6..8e509beaf86423b03d7f14b732cd1686536c5edd 100644
--- a/locales/zh.po
+++ b/locales/zh.po
@@ -18,11 +18,11 @@ msgstr "我们查看了你的数据,有一些自动化的探索,我们可以
 
 #: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:35
 msgid "I'm good thanks"
-msgstr "很好谢谢"
+msgstr "不用,谢谢"
 
 #: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:42
 msgid "Explore this data"
-msgstr "导出该数据"
+msgstr "探索数据"
 
 #: frontend/src/metabase/admin/databases/components/DatabaseEditForms.jsx:42
 msgid "Select a database type"
@@ -56,7 +56,7 @@ msgstr "数据库同步中"
 msgid "This is a lightweight process that checks for\n"
 "updates to this database’s schema. In most cases, you should be fine leaving this\n"
 "set to sync hourly."
-msgstr "这是一个用来检查数据库表结构定义是否更新的轻量化进程。多数情况下应该保持设置为每小时同步一次"
+msgstr "这是一个检查数据库模式变化的轻量级的过程,大部分情况下,你可以使用每小时同步。"
 
 #: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:147
 #: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:184
@@ -65,22 +65,22 @@ msgstr "扫描"
 
 #: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:152
 msgid "Scanning for Filter Values"
-msgstr "扫描过滤值"
+msgstr "扫描过滤器值"
 
 #: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:153
 msgid "Metabase can scan the values present in each\n"
 "field in this database to enable checkbox filters in dashboards and questions. This\n"
 "can be a somewhat resource-intensive process, particularly if you have a very large\n"
 "database."
-msgstr "Metabase 可以扫描开启了多选框过滤器的数据库中的每个字段,这将是一个耗时耗力的过程,尤其是数据非常多的时候"
+msgstr "Metabase可以扫描数据库中每个字段的值来启用选择框过滤器。这是一个资源密集型的过程,尤其当你有一个很大的数据库"
 
 #: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:159
 msgid "When should Metabase automatically scan and cache field values?"
-msgstr "Metabase 应该在什么时候自动扫描和缓存字段值?"
+msgstr "Metabase应该在什么时候自动扫描缓存的字段值"
 
 #: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:164
 msgid "Regularly, on a schedule"
-msgstr "按计划定期执行"
+msgstr "根据排程,周期性地进行"
 
 #: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:195
 msgid "Only when adding a new filter widget"
@@ -89,11 +89,11 @@ msgstr "只有当你在添加一个新的过滤控件时"
 #: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:199
 msgid "When a user adds a new filter to a dashboard or a SQL question, Metabase will\n"
 "scan the field(s) mapped to that filter in order to show the list of selectable values."
-msgstr "当用户添加过滤器到 Dashboard 或者 SQL 问题中,Metabase 将会扫描过滤器到全部字段并展现选定字段的列表"
+msgstr "当用户向仪表盘或SQL查询添加一个新的过滤器,Metabase会扫描过滤器对应的字段来显示一个可选值列表。"
 
 #: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:210
 msgid "Never, I'll do this manually if I need to"
-msgstr "从不,如果需要,我将手工执行"
+msgstr "不用,如果需要我会手动执行"
 
 #: frontend/src/metabase/admin/databases/components/DatabaseSchedulingForm.jsx:222
 #: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:27
@@ -108,7 +108,7 @@ msgstr "保存中......"
 #: frontend/src/metabase/components/form/FormMessage.jsx:4
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:144
 msgid "Server error encountered"
-msgstr "服务器出错了"
+msgstr "服务器碰到错误"
 
 #: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:58
 msgid "Delete this database?"
@@ -140,54 +140,51 @@ msgstr "在这个框里:"
 #: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:87
 #: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:93
 #: frontend/src/metabase/admin/people/components/AddRow.jsx:27
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:250
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:302
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:322
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:343
 #: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:49
 #: frontend/src/metabase/admin/permissions/components/PermissionsEditor.jsx:52
 #: frontend/src/metabase/admin/permissions/containers/CollectionPermissionsModal.jsx:58
-#: frontend/src/metabase/admin/permissions/selectors.js:156
-#: frontend/src/metabase/admin/permissions/selectors.js:166
-#: frontend/src/metabase/admin/permissions/selectors.js:181
-#: frontend/src/metabase/admin/permissions/selectors.js:220
+#: frontend/src/metabase/admin/permissions/selectors.js:160
+#: frontend/src/metabase/admin/permissions/selectors.js:170
+#: frontend/src/metabase/admin/permissions/selectors.js:185
+#: frontend/src/metabase/admin/permissions/selectors.js:224
 #: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:355
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:181
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:247
 #: frontend/src/metabase/components/ConfirmContent.jsx:18
 #: frontend/src/metabase/components/DeleteModalWithConfirm.jsx:72
 #: frontend/src/metabase/components/HeaderModal.jsx:49
-#: frontend/src/metabase/components/form/StandardForm.jsx:59
+#: frontend/src/metabase/components/form/StandardForm.jsx:61
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:196
 #: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:289
 #: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:162
 #: frontend/src/metabase/dashboard/components/RemoveFromDashboardModal.jsx:38
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:189
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:192
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:352
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:191
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:354
 #: frontend/src/metabase/query_builder/components/RunButton.jsx:24
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:83
 #: frontend/src/metabase/query_builder/containers/ArchiveQuestionModal.jsx:48
 #: frontend/src/metabase/reference/components/EditHeader.jsx:34
 #: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:52
-#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:219
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:259
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:461
 msgid "Cancel"
 msgstr "取消"
 
 #: frontend/src/metabase/admin/databases/components/DeleteDatabaseModal.jsx:88
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:123
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:121
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:132
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:461
 msgid "Delete"
 msgstr "删除"
 
 #: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:128
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:76
-#: frontend/src/metabase/admin/permissions/selectors.js:316
-#: frontend/src/metabase/admin/permissions/selectors.js:323
-#: frontend/src/metabase/admin/permissions/selectors.js:419
-#: frontend/src/metabase/admin/routes.jsx:43
-#: frontend/src/metabase/nav/containers/Navbar.jsx:215
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:74
+#: frontend/src/metabase/admin/permissions/selectors.js:320
+#: frontend/src/metabase/admin/permissions/selectors.js:327
+#: frontend/src/metabase/admin/permissions/selectors.js:423
+#: frontend/src/metabase/admin/routes.jsx:53
+#: frontend/src/metabase/nav/containers/Navbar.jsx:214
 #: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:18
 #: frontend/src/metabase/reference/databases/TableSidebar.jsx:21
 msgid "Databases"
@@ -208,11 +205,10 @@ msgstr "调度"
 #: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:170
 #: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:78
 #: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:84
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:253
 #: frontend/src/metabase/admin/settings/components/SettingsBatchForm.jsx:26
 #: frontend/src/metabase/admin/settings/components/SettingsSlackForm.jsx:221
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:182
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:354
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:356
 #: frontend/src/metabase/reference/components/RevisionMessageModal.jsx:47
 msgid "Save changes"
 msgstr "保存修改"
@@ -261,7 +257,7 @@ msgid "Scan triggered!"
 msgstr "扫描已触发!"
 
 #: frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx:215
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:399
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:401
 msgid "Danger Zone"
 msgstr "危险操作"
 
@@ -274,39 +270,39 @@ msgstr "放弃保存的字段值"
 msgid "Remove this database"
 msgstr "删除数据库"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:75
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:73
 msgid "Add database"
 msgstr "添加数据库"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:87
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:85
 #: frontend/src/metabase/admin/datamodel/components/database/MetricsList.jsx:36
 #: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:36
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:468
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:122
 #: frontend/src/metabase/admin/settings/components/widgets/CustomGeoJSONWidget.jsx:183
 #: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:91
 #: frontend/src/metabase/components/DatabaseDetailsForm.jsx:399
 #: frontend/src/metabase/containers/EntitySearch.jsx:26
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:218
-#: frontend/src/metabase/entities/collections.js:86
-#: frontend/src/metabase/entities/dashboards.js:96
+#: frontend/src/metabase/entities/collections.js:93
+#: frontend/src/metabase/entities/dashboards.js:145
 #: frontend/src/metabase/reference/guide/GettingStartedGuideEditForm.jsx:461
-#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:78
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:81
 msgid "Name"
 msgstr "名字"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:88
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:86
 msgid "Engine"
 msgstr "引擎"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:117
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:115
 msgid "Deleting..."
 msgstr "删除中。。。"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:147
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:145
 msgid "Loading ..."
 msgstr "加载中。。。"
 
-#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:163
+#: frontend/src/metabase/admin/databases/containers/DatabaseListApp.jsx:161
 msgid "Bring the sample dataset back"
 msgstr "恢复样本数据集"
 
@@ -325,7 +321,7 @@ msgstr "保存成功!"
 #: frontend/src/metabase/admin/datamodel/components/ObjectActionSelect.jsx:44
 #: frontend/src/metabase/dashboard/components/DashCard.jsx:278
 #: frontend/src/metabase/parameters/components/ParameterWidget.jsx:177
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:209
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:197
 #: frontend/src/metabase/reference/components/EditButton.jsx:18
 msgid "Edit"
 msgstr "编辑"
@@ -499,7 +495,7 @@ msgstr "表结构"
 #: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:189
 #: frontend/src/metabase/reference/metrics/MetricList.jsx:56
 #: frontend/src/metabase/reference/metrics/MetricSidebar.jsx:21
-#: frontend/src/metabase/routes.jsx:231
+#: frontend/src/metabase/routes.jsx:232
 msgid "Metrics"
 msgstr "指标"
 
@@ -518,7 +514,7 @@ msgid "Create metrics to add them to the View dropdown in the query builder"
 msgstr "创建指标并添加到查询设计器的视图下拉列表"
 
 #: frontend/src/metabase/admin/datamodel/components/database/SegmentsList.jsx:24
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:922
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:930
 #: frontend/src/metabase/reference/guide/BaseSidebar.jsx:33
 #: frontend/src/metabase/reference/segments/SegmentFieldSidebar.jsx:19
 #: frontend/src/metabase/reference/segments/SegmentList.jsx:56
@@ -560,7 +556,7 @@ msgstr "做了一些改动"
 
 #: frontend/src/metabase/admin/datamodel/components/revisions/Revision.jsx:46
 #: frontend/src/metabase/home/components/Activity.jsx:80
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:343
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:332
 msgid "You"
 msgstr "您"
 
@@ -655,7 +651,7 @@ msgstr "提示:"
 
 #: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:433
 msgid "You might want to update the field name to make sure it still makes sense based on your remapping choices."
-msgstr "你可能想要更新这个区域的名称来确保它基于你的重新映射选择时仍然有意义"
+msgstr "你可能想要更新这个字段的名称来确保它基于你的重新映射选择时仍然有意义"
 
 #: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:364
 #: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:102
@@ -691,7 +687,7 @@ msgstr "选择任意表单来显示它的所有模式并且添加或删除元数
 
 #: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:37
 #: frontend/src/metabase/admin/datamodel/containers/SegmentForm.jsx:34
-#: frontend/src/metabase/entities/collections.js:89
+#: frontend/src/metabase/entities/collections.js:96
 msgid "Name is required"
 msgstr "名称必填"
 
@@ -723,7 +719,7 @@ msgstr "修改指标并留下简要说明。"
 
 #: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:116
 msgid "You can create saved metrics to add a named metric option to this table. Saved metrics include the aggregation type, the aggregated field, and optionally any filter you add. As an example, you might use this to create something like the official way of calculating \"Average Price\" for an Orders table."
-msgstr "你能够创造已存储的指标来添加一个已经命名的指标选项到这个表单。存储刻度包括你添加的聚合类型,聚合区域和可选的任何筛选项。举个例子,你可能使用这个来为一个订单表单创造一些像是“平均价”的官方计算方法,"
+msgstr "你能够创造已存储的指标来添加一个已经命名的指标选项到这个表单。存储刻度包括你添加的聚合类型,聚合字段和可选的任何筛选项。举个例子,你可能使用这个来为一个订单表单创造一些像是“平均价”的官方计算方法,"
 
 #: frontend/src/metabase/admin/datamodel/containers/MetricForm.jsx:149
 msgid "Result: "
@@ -813,10 +809,10 @@ msgid "This will show up in the revision history for this segment to help everyo
 msgstr "这将显示在过滤器的修订历史记录中,以帮助每个人记住事情发生变化的原因"
 
 #: frontend/src/metabase/admin/datamodel/containers/TableSettingsApp.jsx:88
-#: frontend/src/metabase/admin/routes.jsx:91
+#: frontend/src/metabase/admin/routes.jsx:127
 #: frontend/src/metabase/admin/settings/containers/SettingsEditorApp.jsx:266
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:96
-#: frontend/src/metabase/nav/containers/Navbar.jsx:200
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:87
+#: frontend/src/metabase/nav/containers/Navbar.jsx:199
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorSidebar.jsx:99
 msgid "Settings"
 msgstr "设置"
@@ -830,31 +826,26 @@ msgid "Re-scan this table"
 msgstr "刷新表格"
 
 #: frontend/src/metabase/admin/people/components/AddRow.jsx:34
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:194
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:253
 #: frontend/src/metabase/dashboard/components/DashCard.jsx:278
 msgid "Add"
 msgstr "添加"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:80
 #: frontend/src/metabase/setup/components/UserStep.jsx:103
 #: frontend/src/metabase/user/components/UpdateUserDetails.jsx:67
 msgid "Not a valid formatted email address"
 msgstr "非法的email地址"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:135
 #: frontend/src/metabase/setup/components/UserStep.jsx:186
 #: frontend/src/metabase/user/components/UpdateUserDetails.jsx:100
 msgid "First name"
 msgstr "名"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:156
 #: frontend/src/metabase/setup/components/UserStep.jsx:203
 #: frontend/src/metabase/user/components/UpdateUserDetails.jsx:117
 msgid "Last name"
 msgstr "姓"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:178
 #: frontend/src/metabase/auth/containers/ForgotPasswordApp.jsx:77
 #: frontend/src/metabase/auth/containers/LoginApp.jsx:158
 #: frontend/src/metabase/components/NewsletterForm.jsx:94
@@ -868,7 +859,7 @@ msgstr "邮箱地址"
 msgid "Permission Groups"
 msgstr "组权限"
 
-#: frontend/src/metabase/admin/people/components/EditUserForm.jsx:238
+#: frontend/src/metabase/components/form/widgets/FormGroupsWidget.jsx:75
 msgid "Make this user an admin"
 msgstr "设为管理员"
 
@@ -887,15 +878,15 @@ msgid "To make sure you don't get locked out of Metabase, there always has to be
 msgstr "为了确保你不会被Metabase锁在外面,必须需要至少一个用户在这个群组里。"
 
 #: frontend/src/metabase/admin/people/components/GroupDetail.jsx:177
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:219
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:218
 msgid "Members"
 msgstr "组员"
 
 #: frontend/src/metabase/admin/people/components/GroupDetail.jsx:177
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:470
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:124
 #: frontend/src/metabase/admin/settings/selectors.js:113
 #: frontend/src/metabase/lib/core.js:55
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:298
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:301
 msgid "Email"
 msgstr "邮箱"
 
@@ -904,8 +895,8 @@ msgid "A group is only as good as its members."
 msgstr "组内成员权限一致"
 
 #: frontend/src/metabase/admin/people/components/GroupSummary.jsx:15
-#: frontend/src/metabase/admin/routes.jsx:38
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:50
+#: frontend/src/metabase/admin/routes.jsx:48
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:49
 msgid "Admin"
 msgstr "管理员"
 
@@ -925,69 +916,69 @@ msgstr[0] "{0}个组"
 msgid "Default"
 msgstr "默认"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:40
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:39
 msgid "Something like \"Marketing\""
 msgstr "如“市场部”"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:59
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:58
 msgid "Remove this group?"
 msgstr "移除分组?"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:61
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:60
 msgid "Are you sure? All members of this group will lose any permissions settings they have based on this group.\n"
 "This can't be undone."
 msgstr "确定吗?该组所有成员都将丢失该组下的权限设置。此操作不可逆。"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:72
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:71
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:42
 #: frontend/src/metabase/components/ConfirmContent.jsx:17
 msgid "Yes"
 msgstr "是"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:75
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:74
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:42
 msgid "No"
 msgstr "否"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:93
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:92
 msgid "Edit Name"
 msgstr "编辑名称"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:96
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:95
 msgid "Remove Group"
 msgstr "移除分组"
 
 #: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:46
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:139
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:225
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:263
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:367
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:385
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:138
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:42
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:41
 #: frontend/src/metabase/components/HeaderModal.jsx:43
 #: frontend/src/metabase/dashboard/components/AddSeriesModal.jsx:282
-#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:106
-#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:298
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:194
+#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:107
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:327
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:193
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:96
-#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:225
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:265
 msgid "Done"
 msgstr "完成"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:219
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:218
 msgid "Group name"
 msgstr "分组名称"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:399
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:363
 #: frontend/src/metabase/admin/people/containers/AdminPeopleApp.jsx:25
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:477
-#: frontend/src/metabase/admin/routes.jsx:76
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:131
+#: frontend/src/metabase/admin/routes.jsx:88
 #: frontend/src/metabase/admin/settings/components/widgets/LdapGroupMappingsWidget.jsx:154
 msgid "Groups"
 msgstr "分组"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:400
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:364
 msgid "Create a group"
 msgstr "创建分组"
 
-#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:406
+#: frontend/src/metabase/admin/people/components/GroupsListing.jsx:370
 msgid "You can use groups to control your users' access to your data. Put users in groups and then go to the Permissions section to control each group's access. The Administrators and All Users groups are special default groups that can't be removed."
 msgstr "可以通过分组控制成员的数据权限。更改分组权限来控制组内成员权限。管理员和全员是默认分组,无法删除。"
 
@@ -1003,15 +994,14 @@ msgstr "重新邀请"
 msgid "Reset Password"
 msgstr "重置密码"
 
-#: frontend/src/metabase/admin/people/components/UserActionsSelect.jsx:97
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:304
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:40
 msgid "Deactivate"
 msgstr "停用"
 
 #: frontend/src/metabase/admin/people/containers/AdminPeopleApp.jsx:24
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:435
-#: frontend/src/metabase/admin/routes.jsx:74
-#: frontend/src/metabase/nav/containers/Navbar.jsx:205
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:93
+#: frontend/src/metabase/admin/routes.jsx:84
+#: frontend/src/metabase/nav/containers/Navbar.jsx:204
 msgid "People"
 msgstr "人员管理"
 
@@ -1023,8 +1013,7 @@ msgstr "想要添加谁?"
 msgid "Edit {0}'s details"
 msgstr "编辑{0}的详情"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:220
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:258
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:40
 msgid "{0} has been added"
 msgstr "{0}已经被添加。"
 
@@ -1039,11 +1028,11 @@ msgid "We couldn’t send them an email invitation,\n"
 "and this password we’ve generated for them:"
 msgstr "我们不能给他们发送邀请电子邮件,请务必告诉他们,使用{0}和密码来登录系统:"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:242
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:73
 msgid "If you want to be able to send email invites, just go to the {0} page."
 msgstr "如果你想要能够发送e-mail 邀请,请转到{0}页面。"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:268
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:55
 msgid "We’ve sent an invite to {0} with instructions to set their password."
 msgstr "我们已经发送了一个带有说明的邀请给{0}来设置他们的密码。"
 
@@ -1051,7 +1040,6 @@ msgstr "我们已经发送了一个带有说明的邀请给{0}来设置他们的
 msgid "We've re-sent {0}'s invite"
 msgstr "我们已重新发送{0}的邀请邮件"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:285
 #: frontend/src/metabase/query_builder/components/SavedQuestionIntroModal.jsx:22
 #: frontend/src/metabase/tutorial/Tutorial.jsx:253
 msgid "Okay"
@@ -1061,11 +1049,11 @@ msgstr "好的"
 msgid "Any previous email invites they have will no longer work."
 msgstr "任何以前的电子邮件邀请将不再有效。"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:300
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:31
 msgid "Deactivate {0}?"
 msgstr "停用{0}?"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:309
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:34
 msgid "{0} won't be able to log in anymore."
 msgstr "{0} 不再能够登录了。"
 
@@ -1073,35 +1061,33 @@ msgstr "{0} 不再能够登录了。"
 msgid "Reactivate {0}'s account?"
 msgstr "重新激活{0}的账户?"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:326
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:58
 msgid "Reactivate"
 msgstr "重新激活"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:330
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:51
 msgid "They'll be able to log in again, and they'll be placed back into the groups they were in before their account was deactivated."
 msgstr "他们将能够再次登录,并且将被放回到帐户被停用之前所在的群组中。"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:341
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:51
 msgid "Reset {0}'s password?"
 msgstr "重置{0}的密码"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:347
-#: frontend/src/metabase/components/form/StandardForm.jsx:75
+#: frontend/src/metabase/components/form/StandardForm.jsx:77
 msgid "Reset"
 msgstr "重置"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:351
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:54
 #: frontend/src/metabase/components/ConfirmContent.jsx:13
 #: frontend/src/metabase/dashboard/components/ArchiveDashboardModal.jsx:44
 msgid "Are you sure you want to do this?"
 msgstr "是否确认执行此操作?"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:362
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:384
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:41
 msgid "{0}'s password has been reset"
 msgstr "{0}的密码已被重置"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:371
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:45
 msgid "Here’s a temporary password they can use to log in and then change their password."
 msgstr "这是系统提供的用于登录的临时密码,登录成功后请修改密码。"
 
@@ -1109,41 +1095,40 @@ msgstr "这是系统提供的用于登录的临时密码,登录成功后请修
 msgid "We've sent them an email with instructions for creating a new password."
 msgstr "我们已向他们发送了一封电子邮件,其中包含创建新密码的说明。"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:443
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:101
 msgid "Active"
 msgstr "激活"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:444
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:473
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:102
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:127
 msgid "Deactivated"
 msgstr "已停用"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:459
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:115
 msgid "Add someone"
 msgstr "邀请其他人"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:478
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:132
 msgid "Last Login"
 msgstr "上次登录"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:501
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:153
 msgid "Signed up via Google"
 msgstr "用谷歌账号登录"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:506
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:158
 msgid "Signed up via LDAP"
 msgstr "用LDAP账号登录"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:518
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:170
 msgid "Reactivate this account"
 msgstr "重启账号"
 
-#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:545
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:193
 msgid "Never"
 msgstr "永不"
 
 #: frontend/src/metabase/admin/permissions/components/PermissionsConfirm.jsx:27
-#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:24
 #: src/metabase/automagic_dashboards/core.clj
 msgid "{0} table"
 msgid_plural "{0} tables"
@@ -1179,7 +1164,7 @@ msgid " native queries for "
 msgstr "本地查询"
 
 #: frontend/src/metabase/admin/permissions/routes.jsx:12
-#: frontend/src/metabase/nav/containers/Navbar.jsx:220
+#: frontend/src/metabase/nav/containers/Navbar.jsx:219
 msgid "Permissions"
 msgstr "权限"
 
@@ -1216,135 +1201,135 @@ msgstr "有变更未保存"
 msgid "Do you want to leave this page and discard your changes?"
 msgstr "页面上有未保存的变革,你想离开吗?"
 
-#: frontend/src/metabase/admin/permissions/permissions.js:137
+#: frontend/src/metabase/admin/permissions/permissions.js:126
 msgid "Sorry, an error occurred."
 msgstr "对不起,发生错误。"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:59
+#: frontend/src/metabase/admin/permissions/selectors.js:65
 msgid "Administrators always have the highest level of access to everything in Metabase."
 msgstr "管理员始终对Metabase中的所有内容具有最高级别的访问权限。"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:61
+#: frontend/src/metabase/admin/permissions/selectors.js:67
 msgid "Every Metabase user belongs to the All Users group. If you want to limit or restrict a group's access to something, make sure the All Users group has an equal or lower level of access."
 msgstr "每个Metabase用户都属于“所有用户”组。如果要限制一个用户组对某些内容的访问权限,请确保“所有用户”组具有相同或更低级别的访问权限。"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:63
+#: frontend/src/metabase/admin/permissions/selectors.js:69
 msgid "MetaBot is Metabase's Slack bot. You can choose what it has access to here."
 msgstr "MetaBot是Metabase的Slack机器人。您可以在此处选择访问权限。"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:115
+#: frontend/src/metabase/admin/permissions/selectors.js:119
 msgid "The \"{0}\" group may have access to a different set of {1} than this group, which may give this group additional access to some {2}."
 msgstr "“{0}”组可以访问与该组不同的{1},这可以为该组提供对某些{2}的额外访问权限。"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:120
+#: frontend/src/metabase/admin/permissions/selectors.js:124
 msgid "The \"{0}\" group has a higher level of access than this, which will override this setting. You should limit or revoke the \"{1}\" group's access to this item."
 msgstr "“{0}”组具有比此更高的访问级别,并将覆盖此设置。您应该限制或撤消“{1}”组对此项目的访问权限。"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:150
+#: frontend/src/metabase/admin/permissions/selectors.js:154
 msgid "Limit"
 msgstr "限制"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:150
+#: frontend/src/metabase/admin/permissions/selectors.js:154
 msgid "Revoke"
 msgstr "撤销"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:152
+#: frontend/src/metabase/admin/permissions/selectors.js:156
 msgid "access even though \"{0}\" has greater access?"
 msgstr "即使{0}有更高权限?"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:155
-#: frontend/src/metabase/admin/permissions/selectors.js:254
+#: frontend/src/metabase/admin/permissions/selectors.js:159
+#: frontend/src/metabase/admin/permissions/selectors.js:258
 msgid "Limit access"
 msgstr "部分权限"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:155
-#: frontend/src/metabase/admin/permissions/selectors.js:219
-#: frontend/src/metabase/admin/permissions/selectors.js:262
+#: frontend/src/metabase/admin/permissions/selectors.js:159
+#: frontend/src/metabase/admin/permissions/selectors.js:223
+#: frontend/src/metabase/admin/permissions/selectors.js:266
 msgid "Revoke access"
 msgstr "取消权限"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:164
+#: frontend/src/metabase/admin/permissions/selectors.js:168
 msgid "Change access to this database to limited?"
 msgstr "更改权限为受限权限"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:165
+#: frontend/src/metabase/admin/permissions/selectors.js:169
 msgid "Change"
 msgstr "更改"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:178
+#: frontend/src/metabase/admin/permissions/selectors.js:182
 msgid "Allow Raw Query Writing?"
 msgstr "允许原始查询语句写作?"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:179
+#: frontend/src/metabase/admin/permissions/selectors.js:183
 msgid "This will also change this group's data access to Unrestricted for this database."
 msgstr "这也将更改此组对此数据库的“不受限制的”访问权限。"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:180
+#: frontend/src/metabase/admin/permissions/selectors.js:184
 msgid "Allow"
 msgstr "允许"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:217
+#: frontend/src/metabase/admin/permissions/selectors.js:221
 msgid "Revoke access to all tables?"
 msgstr "取消所有表的权限"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:218
+#: frontend/src/metabase/admin/permissions/selectors.js:222
 msgid "This will also revoke this group's access to raw queries for this database."
 msgstr "这也将撤消此组对该数据库的原始查询的访问权限。"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:247
+#: frontend/src/metabase/admin/permissions/selectors.js:251
 msgid "Grant unrestricted access"
 msgstr "授予不受限制的访问权限"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:248
+#: frontend/src/metabase/admin/permissions/selectors.js:252
 msgid "Unrestricted access"
 msgstr "不受限制的权限"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:255
+#: frontend/src/metabase/admin/permissions/selectors.js:259
 msgid "Limited access"
 msgstr "受限制的权限"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:263
+#: frontend/src/metabase/admin/permissions/selectors.js:267
 msgid "No access"
 msgstr "没有权限"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:269
+#: frontend/src/metabase/admin/permissions/selectors.js:273
 msgid "Write raw queries"
 msgstr "写原始查询语句"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:270
+#: frontend/src/metabase/admin/permissions/selectors.js:274
 msgid "Can write raw queries"
 msgstr "能够写原始查询语句"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:277
+#: frontend/src/metabase/admin/permissions/selectors.js:281
 msgid "Curate collection"
 msgstr "修改集合"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:284
+#: frontend/src/metabase/admin/permissions/selectors.js:288
 msgid "View collection"
 msgstr "查看集合"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:327
-#: frontend/src/metabase/admin/permissions/selectors.js:423
-#: frontend/src/metabase/admin/permissions/selectors.js:520
+#: frontend/src/metabase/admin/permissions/selectors.js:331
+#: frontend/src/metabase/admin/permissions/selectors.js:427
+#: frontend/src/metabase/admin/permissions/selectors.js:524
 msgid "Data Access"
 msgstr "允许访问数据"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:488
-#: frontend/src/metabase/admin/permissions/selectors.js:645
-#: frontend/src/metabase/admin/permissions/selectors.js:650
+#: frontend/src/metabase/admin/permissions/selectors.js:492
+#: frontend/src/metabase/admin/permissions/selectors.js:649
+#: frontend/src/metabase/admin/permissions/selectors.js:654
 msgid "View tables"
 msgstr "查看表格"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:586
+#: frontend/src/metabase/admin/permissions/selectors.js:590
 msgid "SQL Queries"
 msgstr "SQL查询"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:656
+#: frontend/src/metabase/admin/permissions/selectors.js:660
 msgid "View schemas"
 msgstr "查看架构"
 
-#: frontend/src/metabase/admin/routes.jsx:49
-#: frontend/src/metabase/nav/containers/Navbar.jsx:210
+#: frontend/src/metabase/admin/routes.jsx:59
+#: frontend/src/metabase/nav/containers/Navbar.jsx:209
 msgid "Data Model"
 msgstr "数据模型"
 
@@ -1368,7 +1353,7 @@ msgstr "配置"
 #: frontend/src/metabase/admin/settings/components/SettingsLdapForm.jsx:13
 #: frontend/src/metabase/admin/settings/selectors.js:207
 msgid "LDAP"
-msgstr "LDAP资源管理服务(权限管理)"
+msgstr "联机分析处理"
 
 #: frontend/src/metabase/admin/settings/components/SettingsAuthenticationOptions.jsx:25
 msgid "Allows users within your LDAP directory to log in to Metabase with their LDAP credentials, and allows automatic mapping of LDAP groups to Metabase groups."
@@ -1487,7 +1472,7 @@ msgid "Metabase {0} is available.  You're running {1}"
 msgstr "Metabase {0}可更新。你正在运行是{1}"
 
 #: frontend/src/metabase/admin/settings/components/SettingsUpdatesForm.jsx:112
-#: frontend/src/metabase/components/form/StandardForm.jsx:67
+#: frontend/src/metabase/components/form/StandardForm.jsx:69
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:96
 msgid "Update"
 msgstr "æ›´æ–°"
@@ -1658,11 +1643,11 @@ msgstr "它们将不会工作了,并且不能被重新存储,但是你能够
 
 #: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:149
 msgid "Public Dashboard Listing"
-msgstr "公共看板列表"
+msgstr "公共仪表盘列表"
 
 #: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:152
 msgid "No dashboards have been publicly shared yet."
-msgstr "还没有公开分享的看板。"
+msgstr "还没有公开分享的仪表盘。"
 
 #: frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx:160
 msgid "Public Card Listing"
@@ -1771,7 +1756,7 @@ msgstr "匿名跟踪"
 
 #: frontend/src/metabase/admin/settings/selectors.js:75
 msgid "Friendly Table and Field Names"
-msgstr "友好的表单和区域名称"
+msgstr "友好的表单和字段名称"
 
 #: frontend/src/metabase/admin/settings/selectors.js:81
 msgid "Only replace underscores and dashes with spaces"
@@ -2113,20 +2098,19 @@ msgstr "已保存"
 msgid "Ok"
 msgstr "好"
 
-#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:40
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:38
 msgid "Archive this collection?"
 msgstr "归档集合"
 
-#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:45
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:43
 msgid "The dashboards, collections, and pulses in this collection will also be archived."
 msgstr "此集合中的仪表板,集合和定时通知也将被归档。"
 
-#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:49
-#: frontend/src/metabase/components/CollectionLanding.jsx:587
-#: frontend/src/metabase/components/EntityItem.jsx:54
+#: frontend/src/metabase/components/ArchiveCollectionModal.jsx:47
+#: frontend/src/metabase/components/CollectionLanding.jsx:624
 #: frontend/src/metabase/components/EntityMenu.info.js:31
 #: frontend/src/metabase/components/EntityMenu.info.js:87
-#: frontend/src/metabase/home/containers/ArchiveApp.jsx:48
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:47
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:195
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:200
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:201
@@ -2140,28 +2124,28 @@ msgstr "å½’æ¡£"
 msgid "This {0} has been archived"
 msgstr "此{0}已归档。"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:679
+#: frontend/src/metabase/components/CollectionLanding.jsx:715
 msgid "View the archive"
 msgstr "查看归档"
 
-#: frontend/src/metabase/components/ArchivedItem.jsx:39
+#: frontend/src/metabase/components/ArchivedItem.jsx:43
 msgid "Unarchive this {0}"
 msgstr "取消归档此{0}"
 
-#: frontend/src/metabase/components/BrowseApp.jsx:95
-#: frontend/src/metabase/components/BrowseApp.jsx:157
-#: frontend/src/metabase/components/BrowseApp.jsx:250
-#: frontend/src/metabase/containers/Overworld.jsx:224
+#: frontend/src/metabase/components/BrowseApp.jsx:70
+#: frontend/src/metabase/components/BrowseApp.jsx:132
+#: frontend/src/metabase/components/BrowseApp.jsx:225
+#: frontend/src/metabase/containers/Overworld.jsx:219
 msgid "Our data"
 msgstr "我们的数据"
 
-#: frontend/src/metabase/components/BrowseApp.jsx:194
+#: frontend/src/metabase/components/BrowseApp.jsx:169
 #: frontend/src/metabase/reference/databases/TableSidebar.jsx:55
 msgid "X-ray this table"
 msgstr "透视这个数据表单"
 
-#: frontend/src/metabase/components/BrowseApp.jsx:208
-#: frontend/src/metabase/containers/Overworld.jsx:251
+#: frontend/src/metabase/components/BrowseApp.jsx:183
+#: frontend/src/metabase/containers/Overworld.jsx:246
 msgid "Learn about this table"
 msgstr "了解这张数据表"
 
@@ -2179,33 +2163,33 @@ msgstr "已保存!"
 msgid "Saving failed."
 msgstr "保存失败"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Su"
-msgstr "周日"
+msgstr "æ—¥"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Mo"
-msgstr "周一"
+msgstr "一"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Tu"
-msgstr "周二"
+msgstr "二"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "We"
-msgstr "周三"
+msgstr "三"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Th"
-msgstr "周四"
+msgstr "å››"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Fr"
-msgstr "周五"
+msgstr "五"
 
-#: frontend/src/metabase/components/Calendar.jsx:119
+#: frontend/src/metabase/components/Calendar.jsx:118
 msgid "Sa"
-msgstr "周六"
+msgstr "å…­"
 
 #: frontend/src/metabase/components/ChannelSetupMessage.jsx:41
 msgid "Your admin's email address"
@@ -2236,73 +2220,72 @@ msgstr "您可以使用集合来为您的团队或您自己组织和分组仪表
 msgid "Create another collection"
 msgstr "再创建一个集合"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:61
+#: frontend/src/metabase/components/CollectionLanding.jsx:68
 msgid "Dashboards let you collect and share data in one place."
 msgstr "仪表板允许您在一个位置收集和共享数据。"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:70
+#: frontend/src/metabase/components/CollectionLanding.jsx:77
 msgid "Pulses let you send out the latest data to your team on a schedule via email or slack."
 msgstr "定时通知允许您通过电子邮件或Slack向团队发送最新数据。"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:79
+#: frontend/src/metabase/components/CollectionLanding.jsx:86
 msgid "Questions are a saved look at your data."
 msgstr "问题是对保存的数据查看。"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:275
+#: frontend/src/metabase/components/CollectionLanding.jsx:287
 msgid "Pins"
 msgstr "固定"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:329
+#: frontend/src/metabase/components/CollectionLanding.jsx:341
 msgid "Drag something here to pin it to the top"
 msgstr "把东西拖到这里将它固定在顶部"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:733
-#: frontend/src/metabase/components/CollectionLanding.jsx:341
+#: frontend/src/metabase/admin/permissions/selectors.js:737
+#: frontend/src/metabase/components/CollectionLanding.jsx:353
 #: frontend/src/metabase/home/containers/SearchApp.jsx:35
-#: frontend/src/metabase/home/containers/SearchApp.jsx:96
+#: frontend/src/metabase/home/containers/SearchApp.jsx:92
 msgid "Collections"
 msgstr "集合"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:411
-#: frontend/src/metabase/components/CollectionLanding.jsx:434
+#: frontend/src/metabase/components/CollectionLanding.jsx:432
+#: frontend/src/metabase/components/CollectionLanding.jsx:455
 msgid "Drag here to un-pin"
 msgstr "拖到这里取消固定"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:469
+#: frontend/src/metabase/components/CollectionLanding.jsx:490
 msgid "{0} item selected"
 msgid_plural "{0} items selected"
 msgstr[0] "已选择{0}项"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:487
+#: frontend/src/metabase/components/CollectionLanding.jsx:522
 msgid "Move {0} items?"
 msgstr "移动{0}项?"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:488
+#: frontend/src/metabase/components/CollectionLanding.jsx:523
 msgid "Move \"{0}\"?"
 msgstr "移动“{0}”?"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:594
+#: frontend/src/metabase/components/CollectionLanding.jsx:631
 #: frontend/src/metabase/components/EntityMenu.info.js:29
 #: frontend/src/metabase/components/EntityMenu.info.js:85
-#: frontend/src/metabase/containers/CollectionMoveModal.jsx:78
+#: frontend/src/metabase/containers/CollectionMoveModal.jsx:69
 msgid "Move"
 msgstr "移动"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:656
+#: frontend/src/metabase/components/CollectionLanding.jsx:692
 msgid "Edit this collection"
 msgstr "修改集合"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:664
+#: frontend/src/metabase/components/CollectionLanding.jsx:700
 msgid "Archive this collection"
 msgstr "归档集合"
 
 #: frontend/src/metabase/components/CollectionList.jsx:64
-#: frontend/src/metabase/entities/collections.js:148
+#: frontend/src/metabase/entities/collections.js:155
 msgid "My personal collection"
 msgstr "我的个人集合"
 
 #: frontend/src/metabase/components/CollectionList.jsx:106
-#: frontend/src/metabase/containers/CollectionForm.jsx:9
 msgid "New collection"
 msgstr "新建集合"
 
@@ -2376,15 +2359,16 @@ msgstr "您想如何使用这个数据库?"
 msgid "Next"
 msgstr "下一步"
 
+#: frontend/src/metabase/components/ArchivedItem.jsx:52
 #: frontend/src/metabase/components/DeleteModalWithConfirm.jsx:80
 msgid "Delete this {0}"
 msgstr "删除这个{0}"
 
-#: frontend/src/metabase/components/EntityItem.jsx:42
+#: frontend/src/metabase/components/EntityItem.jsx:43
 msgid "Pin this item"
 msgstr "标记这个项目"
 
-#: frontend/src/metabase/components/EntityItem.jsx:48
+#: frontend/src/metabase/components/EntityItem.jsx:49
 msgid "Move this item"
 msgstr "移动这个项目"
 
@@ -2530,6 +2514,7 @@ msgid "No description yet"
 msgstr "暂无描述"
 
 #: frontend/src/metabase/components/Header.jsx:112
+#: frontend/src/metabase/entities/containers/EntityForm.jsx:43
 msgid "New {0}"
 msgstr "æ–°çš„"
 
@@ -2593,22 +2578,22 @@ msgid "Everything"
 msgstr "所有的"
 
 #: frontend/src/metabase/components/ItemTypeFilterBar.jsx:18
-#: frontend/src/metabase/home/containers/SearchApp.jsx:73
+#: frontend/src/metabase/home/containers/SearchApp.jsx:69
 msgid "Dashboards"
-msgstr "看板"
+msgstr "仪表盘"
 
 #: frontend/src/metabase/components/ItemTypeFilterBar.jsx:23
-#: frontend/src/metabase/home/containers/SearchApp.jsx:119
+#: frontend/src/metabase/home/containers/SearchApp.jsx:115
 msgid "Questions"
 msgstr "报表"
 
 #: frontend/src/metabase/components/ItemTypeFilterBar.jsx:28
-#: frontend/src/metabase/routes.jsx:320
+#: frontend/src/metabase/routes.jsx:321
 msgid "Pulses"
 msgstr "定时任务"
 
 #: frontend/src/metabase/components/LeftNavPane.jsx:36
-#: frontend/src/metabase/query_builder/components/dataref/DataReference.jsx:86
+#: frontend/src/metabase/query_builder/components/dataref/DataReference.jsx:103
 msgid "Back"
 msgstr "后退"
 
@@ -2662,7 +2647,7 @@ msgstr "显示"
 
 #: frontend/src/metabase/components/QuestionSavedModal.jsx:17
 msgid "Saved! Add this to a dashboard?"
-msgstr "已保存!添加到看板?"
+msgstr "已保存!添加到仪表盘?"
 
 #: frontend/src/metabase/components/QuestionSavedModal.jsx:25
 msgid "Yes please!"
@@ -2709,6 +2694,7 @@ msgid "First"
 msgstr "第一个"
 
 #: frontend/src/metabase/components/SchedulePicker.jsx:34
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:23
 msgid "Last"
 msgstr "最后一个"
 
@@ -2765,14 +2751,14 @@ msgstr "对不起,你没有权限看那些东西"
 msgid "Unknown error encountered"
 msgstr "未知错误发生了"
 
-#: frontend/src/metabase/components/form/StandardForm.jsx:67
-#: frontend/src/metabase/nav/containers/Navbar.jsx:305
+#: frontend/src/metabase/components/form/StandardForm.jsx:69
+#: frontend/src/metabase/nav/containers/Navbar.jsx:304
 msgid "Create"
 msgstr "创建"
 
 #: frontend/src/metabase/containers/DashboardForm.jsx:9
 msgid "Create dashboard"
-msgstr "创建看板"
+msgstr "创建仪表盘"
 
 #: frontend/src/metabase/containers/EntitySearch.jsx:35
 #: frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx:331
@@ -2802,12 +2788,13 @@ msgid "View by"
 msgstr "查看方式"
 
 #: frontend/src/metabase/containers/EntitySearch.jsx:494
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:84
 #: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:69
 #: frontend/src/metabase/tutorial/TutorialModal.jsx:34
 msgid "of"
 msgstr "çš„"
 
-#: frontend/src/metabase/containers/Overworld.jsx:80
+#: frontend/src/metabase/containers/Overworld.jsx:75
 msgid "Don't tell anyone, but you're my favorite."
 msgstr "不要告诉任何人,但你是我的最爱。"
 
@@ -2815,19 +2802,19 @@ msgstr "不要告诉任何人,但你是我的最爱。"
 msgid "Once you connect your own data, I can show you some automatic explorations called x-rays. Here are some examples with sample data."
 msgstr "一旦连接了自己的数据,我就可以向您展示一些称为透视的自动探索。以下是一些基于示例数据的例子。"
 
-#: frontend/src/metabase/containers/Overworld.jsx:133
-#: frontend/src/metabase/containers/Overworld.jsx:304
+#: frontend/src/metabase/containers/Overworld.jsx:128
+#: frontend/src/metabase/containers/Overworld.jsx:299
 #: frontend/src/metabase/reference/components/GuideHeader.jsx:12
 msgid "Start here"
 msgstr "从这里开始"
 
-#: frontend/src/metabase/containers/Overworld.jsx:299
-#: frontend/src/metabase/entities/collections.js:140
+#: frontend/src/metabase/containers/Overworld.jsx:294
+#: frontend/src/metabase/entities/collections.js:147
 #: src/metabase/models/collection.clj
 msgid "Our analytics"
 msgstr "分析"
 
-#: frontend/src/metabase/containers/Overworld.jsx:208
+#: frontend/src/metabase/containers/Overworld.jsx:203
 msgid "Browse all items"
 msgstr "浏览所有"
 
@@ -2855,9 +2842,11 @@ msgstr "保存问题"
 msgid "What is the name of your card?"
 msgstr "这个卡片叫什么名字?"
 
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:31
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:18
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:232
-#: frontend/src/metabase/entities/collections.js:94
-#: frontend/src/metabase/entities/dashboards.js:102
+#: frontend/src/metabase/entities/collections.js:101
+#: frontend/src/metabase/entities/dashboards.js:151
 #: frontend/src/metabase/lib/core.js:50 frontend/src/metabase/lib/core.js:205
 #: frontend/src/metabase/reference/databases/DatabaseDetail.jsx:156
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:211
@@ -2870,12 +2859,12 @@ msgid "Description"
 msgstr "描述"
 
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:238
-#: frontend/src/metabase/entities/dashboards.js:104
+#: frontend/src/metabase/entities/dashboards.js:153
 msgid "It's optional but oh, so helpful"
 msgstr "这是可选的,但非常有帮助"
 
 #: frontend/src/metabase/containers/SaveQuestionModal.jsx:245
-#: frontend/src/metabase/entities/dashboards.js:108
+#: frontend/src/metabase/entities/dashboards.js:157
 msgid "Which collection should this go in?"
 msgstr "将这个放到哪个集合中?"
 
@@ -2915,11 +2904,11 @@ msgstr "文档仪表盘"
 msgid "Make sure to make a selection for each series, or the filter won't work on this card."
 msgstr "确保为每个系列都做出了选择,不然筛选将不会在这个卡片上起作用"
 
-#: frontend/src/metabase/dashboard/components/Dashboard.jsx:286
+#: frontend/src/metabase/dashboard/components/Dashboard.jsx:300
 msgid "This dashboard is looking empty."
 msgstr "这个仪表盘看起来是空的"
 
-#: frontend/src/metabase/dashboard/components/Dashboard.jsx:289
+#: frontend/src/metabase/dashboard/components/Dashboard.jsx:301
 msgid "Add a question to start making it useful!"
 msgstr "添加一个疑问来让它变得有用"
 
@@ -2951,7 +2940,7 @@ msgstr "添加报表"
 
 #: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:219
 msgid "Add a question to this dashboard"
-msgstr "添加报表到看板"
+msgstr "添加报表到仪表盘"
 
 #: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:248
 msgid "Add a filter"
@@ -2967,25 +2956,25 @@ msgstr "参数"
 msgid "Add a text box"
 msgstr "添加文本框"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:302
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:319
 msgid "Move dashboard"
-msgstr "移动看板"
+msgstr "移动仪表盘"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:315
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:302
 msgid "Edit dashboard"
-msgstr "编辑看板"
+msgstr "编辑仪表盘"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:319
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:306
 msgid "Edit Dashboard Layout"
 msgstr "编辑仪表盘展示"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:357
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:369
 msgid "You are editing a dashboard"
-msgstr "正在编辑看板"
+msgstr "正在编辑仪表盘"
 
-#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:362
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:374
 msgid "Select the field that should be filtered for each card"
-msgstr "选择应该在每个卡片中都应该被过滤的区域"
+msgstr "选择应该在每个卡片中都应该被过滤的字段"
 
 #: frontend/src/metabase/dashboard/components/DashboardMoveModal.jsx:28
 msgid "Move dashboard to..."
@@ -3050,6 +3039,7 @@ msgstr "移除这个疑问?"
 msgid "Your dashboard was saved"
 msgstr "你的仪表盘已经保存"
 
+#: frontend/src/metabase/components/CollectionLanding.jsx:745
 #: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:76
 msgid "See it"
 msgstr "查看它"
@@ -3073,17 +3063,17 @@ msgstr "此字段中的值不会与您选择的任何其他字段的值重叠。
 #: frontend/src/metabase/dashboard/containers/DashCardCardParameterMapper.jsx:186
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingFieldPicker.jsx:37
 msgid "No valid fields"
-msgstr "不可用区域"
+msgstr "无可用字段"
 
-#: frontend/src/metabase/entities/collections.js:90
+#: frontend/src/metabase/entities/collections.js:97
 msgid "Name must be 100 characters or less"
 msgstr "名称不能超过100个字符"
 
-#: frontend/src/metabase/entities/collections.js:104
+#: frontend/src/metabase/entities/collections.js:111
 msgid "Color is required"
 msgstr "颜色是必需的"
 
-#: frontend/src/metabase/entities/dashboards.js:97
+#: frontend/src/metabase/entities/dashboards.js:146
 msgid "What is the name of your dashboard?"
 msgstr "你的仪表盘叫什么名字?"
 
@@ -3136,7 +3126,9 @@ msgstr "从仪表盘中移除一个问题"
 msgid "received the latest data from"
 msgstr "接收最新的数据来自"
 
+#: frontend/src/metabase-lib/lib/Dimension.js:621
 #: frontend/src/metabase/home/components/Activity.jsx:244
+#: frontend/src/metabase/lib/query_time.js:180
 #: frontend/src/metabase/visualizations/visualizations/ObjectDetail.jsx:273
 msgid "Unknown"
 msgstr "未知"
@@ -3256,27 +3248,27 @@ msgstr "最近查看"
 
 #: frontend/src/metabase/home/components/RecentViews.jsx:75
 msgid "You haven't looked at any dashboards or questions recently"
-msgstr "最近没有查看的看板或者图表"
+msgstr "最近没有查看的仪表盘或者图表"
 
-#: frontend/src/metabase/home/containers/ArchiveApp.jsx:82
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:99
 msgid "{0} items selected"
 msgstr "{0}项已选择"
 
-#: frontend/src/metabase/home/containers/ArchiveApp.jsx:102
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:121
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:172
 msgid "Unarchive"
 msgstr "取消归档"
 
 #: frontend/src/metabase/home/containers/HomepageApp.jsx:74
-#: frontend/src/metabase/nav/containers/Navbar.jsx:332
+#: frontend/src/metabase/nav/containers/Navbar.jsx:331
 msgid "Activity"
-msgstr "使用中"
+msgstr "活动"
 
 #: frontend/src/metabase/home/containers/SearchApp.jsx:28
 msgid "Results for \"{0}\""
 msgstr "{0}的结果"
 
-#: frontend/src/metabase/home/containers/SearchApp.jsx:142
+#: frontend/src/metabase/home/containers/SearchApp.jsx:138
 msgid "Pulse"
 msgstr "定时任务"
 
@@ -3339,7 +3331,7 @@ msgstr "共同"
 
 #: frontend/src/metabase/lib/core.js:30
 #: frontend/src/metabase/meta/Dashboard.js:81
-#: frontend/src/metabase/qb/components/actions/PivotByCategoryAction.jsx:9
+#: frontend/src/metabase/modes/components/actions/PivotByCategoryAction.jsx:9
 msgid "Category"
 msgstr "分类"
 
@@ -3363,7 +3355,7 @@ msgstr "图片链接"
 
 #: frontend/src/metabase/lib/core.js:70
 msgid "Field containing JSON"
-msgstr "包含JSON的领域"
+msgstr "包含JSON的字段"
 
 #: frontend/src/metabase/lib/core.js:75
 msgid "Latitude"
@@ -3375,10 +3367,11 @@ msgstr "经度"
 
 #: frontend/src/metabase/lib/core.js:85
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:149
-#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:39
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:41
 msgid "Number"
 msgstr "æ•°å­—"
 
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:19
 #: frontend/src/metabase/lib/core.js:90
 #: frontend/src/metabase/meta/Dashboard.js:65
 msgid "State"
@@ -3434,7 +3427,7 @@ msgstr "来源"
 
 #: frontend/src/metabase/lib/core.js:160
 msgid "Price"
-msgstr "货币"
+msgstr "ä»·æ ¼"
 
 #: frontend/src/metabase/lib/core.js:165
 msgid "Join timestamp"
@@ -3442,7 +3435,7 @@ msgstr "关联时间戳"
 
 #: frontend/src/metabase/lib/core.js:170
 msgid "Join time"
-msgstr "关联实际时间"
+msgstr "关联时间"
 
 #: frontend/src/metabase/lib/core.js:175
 msgid "Join date"
@@ -3462,7 +3455,7 @@ msgstr "公司"
 
 #: frontend/src/metabase/lib/core.js:195
 msgid "Subscription"
-msgstr "描述"
+msgstr "订阅"
 
 #: frontend/src/metabase/lib/core.js:200
 msgid "Score"
@@ -3484,7 +3477,7 @@ msgstr "花费"
 
 #: frontend/src/metabase/lib/core.js:225
 msgid "Gross margin"
-msgstr "毛利率"
+msgstr "毛利"
 
 #: frontend/src/metabase/lib/core.js:230
 msgid "Birthday"
@@ -3508,7 +3501,7 @@ msgstr "所有地方"
 
 #: frontend/src/metabase/lib/core.js:250
 msgid "The default setting. This field will be displayed normally in tables and charts."
-msgstr "默认设置。这个区域通常将会被展示在表单中和图表中。"
+msgstr "默认设置。这个字段通常将会被展示在表单中和图表中。"
 
 #: frontend/src/metabase/lib/core.js:254
 msgid "Only in Detail Views"
@@ -3542,7 +3535,7 @@ msgid "CumulativeCount"
 msgstr "累积计数"
 
 #: frontend/src/metabase/lib/expressions/config.js:9
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:17
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:17
 #: frontend/src/metabase/visualizations/lib/utils.js:127
 msgid "Sum"
 msgstr "求和"
@@ -3566,14 +3559,14 @@ msgid "Average"
 msgstr "平均"
 
 #: frontend/src/metabase/lib/expressions/config.js:14
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:25
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:25
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:48
 #: frontend/src/metabase/visualizations/lib/settings/graph.js:450
 msgid "Min"
 msgstr "最小"
 
 #: frontend/src/metabase/lib/expressions/config.js:15
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:29
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:29
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:57
 #: frontend/src/metabase/visualizations/lib/settings/graph.js:458
 msgid "Max"
@@ -3583,12 +3576,12 @@ msgstr "最大"
 msgid "sad sad panda, lexing errors detected"
 msgstr "哎呀,出错了"
 
-#: frontend/src/metabase/lib/formatting.js:724
+#: frontend/src/metabase/lib/formatting.js:707
 msgid "{0} second"
 msgid_plural "{0} seconds"
 msgstr[0] "{0}秒"
 
-#: frontend/src/metabase/lib/formatting.js:727
+#: frontend/src/metabase/lib/formatting.js:710
 msgid "{0} minute"
 msgid_plural "{0} minutes"
 msgstr[0] "{0}分钟"
@@ -3608,7 +3601,7 @@ msgstr "你好"
 
 #: frontend/src/metabase/lib/greeting.js:7
 msgid "Greetings"
-msgstr "你好"
+msgstr "问候"
 
 #: frontend/src/metabase/lib/greeting.js:8
 msgid "Good to see you"
@@ -3846,16 +3839,16 @@ msgid "Cumulative sum of ..."
 msgstr "累积求和"
 
 #: frontend/src/metabase/lib/schema_metadata.js:493
-msgid "Additive sum of all the values of a column.\\ne.x. total revenue over time."
-msgstr "一个字段所有数值的累积加和。\\n比如:随着时间推移的总收入。"
+msgid "Additive sum of all the values of a column.\\\\ne.x. total revenue over time."
+msgstr "一个字段所有数值的累积加和。\\\\n比如:随着时间推移的总收入。"
 
 #: frontend/src/metabase/lib/schema_metadata.js:499
 msgid "Cumulative count of rows"
 msgstr "累积行数"
 
 #: frontend/src/metabase/lib/schema_metadata.js:501
-msgid "Additive count of the number of rows.\\ne.x. total number of sales over time."
-msgstr "累积的数据行数。\\ n比如:随着时间的推移销售数量。"
+msgid "Additive count of the number of rows.\\\\ne.x. total number of sales over time."
+msgstr "累积的数据行数。\\\\ n比如:随着时间的推移销售数量。"
 
 #: frontend/src/metabase/lib/schema_metadata.js:507
 msgid "Standard deviation of ..."
@@ -4021,7 +4014,7 @@ msgid "ID"
 msgstr "ID"
 
 #: frontend/src/metabase/meta/Dashboard.js:95
-#: frontend/src/metabase/qb/components/actions/PivotByTimeAction.jsx:8
+#: frontend/src/metabase/modes/components/actions/PivotByTimeAction.jsx:8
 msgid "Time"
 msgstr "时间"
 
@@ -4030,7 +4023,7 @@ msgid "Date range, relative date, time of day, etc."
 msgstr "日期范围,相关日期,一天中的时间,等等"
 
 #: frontend/src/metabase/meta/Dashboard.js:101
-#: frontend/src/metabase/qb/components/actions/PivotByLocationAction.jsx:8
+#: frontend/src/metabase/modes/components/actions/PivotByLocationAction.jsx:8
 msgid "Location"
 msgstr "位置"
 
@@ -4050,73 +4043,73 @@ msgstr "其他类别"
 msgid "Category, Type, Model, Rating, etc."
 msgstr "类别、类型、模型、评分等"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:43
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:42
 #: frontend/src/metabase/user/components/UserSettings.jsx:54
 msgid "Account settings"
 msgstr "账户设置"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:50
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:49
 msgid "Exit admin"
 msgstr "退出管理员"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:60
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:34
 msgid "Logs"
 msgstr "日志"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:67
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:58
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorSidebar.jsx:105
 msgid "Help"
 msgstr "帮助"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:76
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:67
 msgid "About Metabase"
 msgstr "关于Metabase"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:82
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:73
 msgid "Sign out"
 msgstr "注销"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:107
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:98
 msgid "Thanks for using"
 msgstr "谢谢使用"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:111
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:102
 msgid "You're on version"
 msgstr "正在使用版本"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:114
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:105
 msgid "Built on"
 msgstr "建立于"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:133
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:124
 msgid "is a Trademark of"
 msgstr "是一个……的商标"
 
-#: frontend/src/metabase/nav/components/ProfileLink.jsx:135
+#: frontend/src/metabase/nav/components/ProfileLink.jsx:126
 msgid "and is built with care in San Francisco, CA"
 msgstr "并且它在加州,旧金山精心被打造"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:195
+#: frontend/src/metabase/nav/containers/Navbar.jsx:194
 msgid "Metabase Admin"
 msgstr "Metabase管理员"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:301
+#: frontend/src/metabase/nav/containers/Navbar.jsx:300
 #: frontend/src/metabase/reference/databases/TableQuestions.jsx:36
 #: frontend/src/metabase/reference/metrics/MetricQuestions.jsx:37
 #: frontend/src/metabase/reference/segments/SegmentQuestions.jsx:37
 msgid "Ask a question"
 msgstr "创建图表"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:310
+#: frontend/src/metabase/nav/containers/Navbar.jsx:309
 msgid "New dashboard"
-msgstr "新看板"
+msgstr "新仪表盘"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:316
+#: frontend/src/metabase/nav/containers/Navbar.jsx:315
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:127
 msgid "New pulse"
 msgstr "新定时任务"
 
-#: frontend/src/metabase/nav/containers/Navbar.jsx:324
+#: frontend/src/metabase/nav/containers/Navbar.jsx:323
 msgid "Reference"
 msgstr "参考"
 
@@ -4165,17 +4158,22 @@ msgid "Select a default value…"
 msgstr "选择一个默认值"
 
 #: frontend/src/metabase/parameters/components/widgets/DateAllOptionsWidget.jsx:149
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:390
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:404
 msgid "Update filter"
-msgstr "更新筛选条件"
+msgstr "更新过滤器"
 
+#: frontend/src/metabase/lib/query_time.js:112
+#: frontend/src/metabase/lib/query_time.js:123
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:9
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:144
+#: src/metabase/pulse/render.clj
 msgid "Today"
 msgstr "今天"
 
+#: frontend/src/metabase/lib/query_time.js:118
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:14
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:148
+#: src/metabase/pulse/render.clj
 msgid "Yesterday"
 msgstr "昨天"
 
@@ -4187,23 +4185,29 @@ msgstr "过去7天"
 msgid "Past 30 days"
 msgstr "过去30天"
 
+#: frontend/src/metabase/lib/query_time.js:195
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:24
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:29
 #: src/metabase/api/table.clj
 msgid "Week"
-msgstr "周"
+msgid_plural "Weeks"
+msgstr[0] "周"
 
+#: frontend/src/metabase/lib/query_time.js:197
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:25
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:30
 #: src/metabase/api/table.clj
 msgid "Month"
-msgstr "月"
+msgid_plural "Months"
+msgstr[0] "月"
 
+#: frontend/src/metabase/lib/query_time.js:201
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:26
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:31
 #: src/metabase/api/table.clj
 msgid "Year"
-msgstr "å¹´"
+msgid_plural "Years"
+msgstr[0] "å¹´"
 
 #: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:152
 msgid "Past 7 Days"
@@ -4237,7 +4241,7 @@ msgstr "这个月"
 msgid "This Year"
 msgstr "今年"
 
-#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:88
+#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:89
 #: frontend/src/metabase/parameters/components/widgets/TextWidget.jsx:54
 msgid "Enter a value..."
 msgstr "输入一个值……"
@@ -4420,7 +4424,7 @@ msgid "This pulse will no longer be emailed to {0} {1}"
 msgstr "这个定时任务不再发送给{0}{1}"
 
 #: frontend/src/metabase/pulse/components/PulseEdit.jsx:94
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:374
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:376
 msgid "{0} address"
 msgid_plural "{0} addresses"
 msgstr[0] "{0}地址"
@@ -4471,7 +4475,7 @@ msgstr "附件"
 
 #: frontend/src/metabase/pulse/components/PulseEditCards.jsx:104
 #: frontend/src/metabase/pulse/components/PulseEditCards.jsx:111
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:671
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:673
 msgid "Heads up"
 msgstr "小心"
 
@@ -4499,55 +4503,55 @@ msgstr "选择你的数据"
 msgid "Choose questions you'd like to send in this pulse"
 msgstr "挑选你想在这个定时任务里发送的图表。"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:29
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:27
 msgid "Emails"
 msgstr "电子邮箱"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:30
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:28
 msgid "Slack messages"
 msgstr "Slack消息"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:223
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:221
 msgid "Sent"
 msgstr "发送"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:224
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:222
 msgid "{0} will be sent at"
 msgstr "{0}将会在……被发送"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:226
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:224
 msgid "Messages"
 msgstr "信息"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:237
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:240
 msgid "Send email now"
 msgstr "现在发送邮件"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:238
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:241
 msgid "Send to {0} now"
 msgstr "现在发送邮件给{0}"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:240
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:243
 msgid "Sending…"
 msgstr "发送中……"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:241
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:244
 msgid "Sending failed"
 msgstr "发送失败"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:244
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:247
 msgid "Didn’t send because the pulse has no results."
 msgstr "未发送,因为定时任务没有结果。"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:245
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:248
 msgid "Pulse sent"
 msgstr "定时任务已发送。"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:284
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:287
 msgid "{0} needs to be set up by an administrator."
 msgstr "{0}需要被设置成管理员"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:299
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:302
 msgid "Slack"
 msgstr "Slack"
 
@@ -4587,66 +4591,66 @@ msgstr "帮助每个在你们团队的人和你们的数据保持联结"
 msgid "Pulses let you send data from Metabase to email or Slack on the schedule of your choice."
 msgstr "定时通知允许您根据您选择的时间表从Metabase发送数据到电子邮件或Slack。"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:100
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:100
 msgid "After {0}"
 msgstr "之后{0}"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:102
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:102
 msgid "Before {0}"
 msgstr "之前{0}"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:104
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:104
 #: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:295
 msgid "Is Empty"
 msgstr "是空的"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:106
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:106
 #: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:301
 msgid "Not Empty"
 msgstr "不是空的"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:109
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:109
 #: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:213
 msgid "All Time"
 msgstr "所有时间"
 
-#: frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx:154
+#: frontend/src/metabase/modes/components/TimeseriesFilterWidget.jsx:154
 msgid "Apply"
 msgstr "应用"
 
-#: frontend/src/metabase/qb/components/actions/CommonMetricsAction.jsx:21
+#: frontend/src/metabase/modes/components/actions/CommonMetricsAction.jsx:21
 msgid "View {0}"
 msgstr "查看"
 
-#: frontend/src/metabase/qb/components/actions/CompareWithTable.jsx:29
+#: frontend/src/metabase/modes/components/actions/CompareWithTable.jsx:29
 msgid "Compare this with all rows in the table"
 msgstr "把这个在表单中和所有原始数据比较"
 
-#: frontend/src/metabase/qb/components/actions/CompoundQueryAction.jsx:14
+#: frontend/src/metabase/modes/components/actions/CompoundQueryAction.jsx:14
 msgid "Analyze the results of this Query"
 msgstr "分析这个查询的结果"
 
-#: frontend/src/metabase/qb/components/actions/CountByTimeAction.jsx:29
+#: frontend/src/metabase/modes/components/actions/CountByTimeAction.jsx:29
 msgid "Count of rows by time"
 msgstr "按时间对行计数"
 
-#: frontend/src/metabase/qb/components/actions/PivotByAction.jsx:55
+#: frontend/src/metabase/modes/components/actions/PivotByAction.jsx:52
 msgid "Break out by {0}"
 msgstr "按{0}分组"
 
-#: frontend/src/metabase/qb/components/actions/SummarizeBySegmentMetricAction.jsx:34
+#: frontend/src/metabase/modes/components/actions/SummarizeBySegmentMetricAction.jsx:31
 msgid "Summarize this segment"
 msgstr "总结这个划分"
 
-#: frontend/src/metabase/qb/components/actions/UnderlyingDataAction.jsx:14
+#: frontend/src/metabase/modes/components/actions/UnderlyingDataAction.jsx:14
 msgid "View this as a table"
 msgstr "以表单的形式查看"
 
-#: frontend/src/metabase/qb/components/actions/UnderlyingRecordsAction.jsx:22
+#: frontend/src/metabase/modes/components/actions/UnderlyingRecordsAction.jsx:22
 msgid "View the underlying {0} records"
 msgstr "查看下层的{0}记录"
 
-#: frontend/src/metabase/qb/components/actions/XRayCard.jsx:20
+#: frontend/src/metabase/modes/components/actions/XRayCard.jsx:20
 msgid "X-Ray this question"
 msgstr "透视这个疑问"
 
@@ -4668,46 +4672,46 @@ msgstr "这个"
 msgid "Compare {0} {1} to the rest"
 msgstr "将{0}{1}和剩下的比较"
 
-#: frontend/src/metabase/qb/components/drill/DistributionDrill.jsx:35
+#: frontend/src/metabase/modes/components/drill/DistributionDrill.jsx:35
 msgid "Distribution"
 msgstr "分布"
 
-#: frontend/src/metabase/qb/components/drill/ObjectDetailDrill.jsx:38
+#: frontend/src/metabase/modes/components/drill/ObjectDetailDrill.jsx:38
 msgid "View details"
 msgstr "查看细节"
 
-#: frontend/src/metabase/qb/components/drill/QuickFilterDrill.jsx:54
+#: frontend/src/metabase/modes/components/drill/QuickFilterDrill.jsx:54
 msgid "View this {0}'s {1}"
 msgstr "查看{0}的{1}"
 
-#: frontend/src/metabase/qb/components/drill/SortAction.jsx:41
+#: frontend/src/metabase/modes/components/drill/SortAction.jsx:42
 msgid "Ascending"
 msgstr "升序"
 
-#: frontend/src/metabase/qb/components/drill/SortAction.jsx:49
+#: frontend/src/metabase/modes/components/drill/SortAction.jsx:50
 msgid "Descending"
 msgstr "降序"
 
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnByTimeDrill.js:47
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnByTimeDrill.js:47
 msgid "over time"
 msgstr "超时"
 
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:21
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:21
 msgid "Avg"
 msgstr "平均"
 
-#: frontend/src/metabase/qb/components/drill/SummarizeColumnDrill.js:33
+#: frontend/src/metabase/modes/components/drill/SummarizeColumnDrill.js:33
 msgid "Distincts"
 msgstr "不重复"
 
-#: frontend/src/metabase/qb/components/drill/UnderlyingRecordsDrill.jsx:32
+#: frontend/src/metabase/modes/components/drill/UnderlyingRecordsDrill.jsx:32
 msgid "View this {0}"
 msgid_plural "View these {0}"
 msgstr[0] "查看这个{0}\n"
 "Plural:查看这些{0}"
 
 #: frontend/src/metabase/dashboard/containers/AutomaticDashboardApp.jsx:225
-#: frontend/src/metabase/qb/components/drill/ZoomDrill.jsx:26
+#: frontend/src/metabase/modes/components/drill/ZoomDrill.jsx:26
 msgid "Zoom in"
 msgstr "放大"
 
@@ -4719,63 +4723,63 @@ msgstr "自定义表达方式"
 msgid "Common Metrics"
 msgstr "共同指标"
 
-#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:182
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:209
 msgid "Metabasics"
 msgstr "基本知識"
 
-#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:290
+#: frontend/src/metabase/query_builder/components/AggregationPopover.jsx:319
 msgid "Name (optional)"
 msgstr "名称(可选)"
 
-#: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:153
+#: frontend/src/metabase/query_builder/components/AggregationWidget.jsx:156
 msgid "Choose an aggregation"
 msgstr "选择一个聚合"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:115
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:100
 msgid "Set up your own alert"
 msgstr "建立你自己的警报"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:155
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:140
 msgid "Unsubscribing..."
 msgstr "不可关注……"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:160
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:145
 msgid "Failed to unsubscribe"
 msgstr "关注失败"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:216
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:204
 msgid "Unsubscribe"
 msgstr "取消关注"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:247
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:235
 msgid "No channel"
 msgstr "没有频道"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:274
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:263
 msgid "Okay, you're unsubscribed"
 msgstr "完成,你已经关注了"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:346
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:335
 msgid "You're receiving {0}'s alerts"
 msgstr "你正在接收{0}的警报"
 
-#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:347
+#: frontend/src/metabase/query_builder/components/AlertListPopoverContent.jsx:336
 msgid "{0} set up an alert"
 msgstr "{0}设置一个警报"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:161
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:160
 msgid "alerts"
 msgstr "警报"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:184
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:183
 msgid "Let's set up your alert"
 msgstr "让我们来设置你的警报"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:215
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:214
 msgid "The wide world of alerts"
 msgstr "全局警报"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:216
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:215
 msgid "There are a few different kinds of alerts you can get"
 msgstr "可以设置不同的提醒方式"
 
@@ -4787,123 +4791,123 @@ msgstr "当一个源数据查询 {0}"
 msgid "returns any results"
 msgstr "返回任意结果"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:240
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:241
 msgid "When a line or bar {0}"
 msgstr "当一个线或者柱{0}"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:241
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:242
 msgid "crosses a goal line"
 msgstr "超越目标线"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:251
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:253
 msgid "When a progress bar {0}"
 msgstr "当进度条  {0}"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:252
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:254
 msgid "reaches its goal"
 msgstr "达到它的目标"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:260
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:262
 msgid "Set up an alert"
 msgstr "设置提醒"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:329
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:331
 msgid "Edit your alert"
 msgstr "编辑提醒"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:329
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:331
 msgid "Edit alert"
 msgstr "编辑提醒"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:372
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:374
 msgid "This alert will no longer be emailed to {0}."
 msgstr "提醒不再发送{0}"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:380
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:382
 msgid "Slack channel {0} will no longer get this alert."
 msgstr "Slack通道{0}将不再接收此警报。"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:384
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:386
 msgid "Channel {0} will no longer receive this alert."
 msgstr "{0}不再收到这个提醒"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:401
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:403
 msgid "Delete this alert"
 msgstr "删除提醒"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:403
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:405
 msgid "Stop delivery and delete this alert. There's no undo, so be careful."
 msgstr "停止并删除提醒。无法恢复,请注意!"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:411
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:413
 msgid "Delete this alert?"
 msgstr "删除这个警报?"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:495
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:497
 msgid "Alert me when the line…"
 msgstr "当这个线……时警告我"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:496
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:498
 msgid "Alert me when the progress bar…"
 msgstr "警告我,当这个进程条……"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:499
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:501
 msgid "Goes above the goal line"
 msgstr "超过目标线"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:499
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:501
 msgid "Reaches the goal"
 msgstr "达成目标"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:502
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:504
 msgid "Goes below the goal line"
 msgstr "低于目标线"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:502
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:504
 msgid "Goes below the goal"
 msgstr "低于目标"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:510
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:512
 msgid "The first time it crosses, or every time?"
 msgstr "首次超越,还是每次?"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:511
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:513
 msgid "The first time it reaches the goal, or every time?"
 msgstr "是第一次达成目标,还是每一次都是?"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:513
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:515
 msgid "The first time"
 msgstr "第一次"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:514
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:516
 msgid "Every time"
 msgstr "每一次"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:617
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:619
 msgid "Where do you want to send these alerts?"
 msgstr "你想发送这些警报到哪里?"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:628
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:630
 msgid "Email alerts to:"
 msgstr "电子邮件发送警报到:"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:670
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:672
 msgid "{0} Goal-based alerts aren't yet supported for charts with more than one line, so this alert will be sent whenever the chart has {1}."
 msgstr "{0} 多行图表还不支持基于目标的报警,所以当图标有{1}时,这个报警就会发送。"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:673
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:675
 msgid "results"
 msgstr "结果"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:677
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:679
 msgid "{0} This kind of alert is most useful when your saved question doesn’t {1} return any results, but you want to know when it does."
 msgstr "{0}这种类型的警报是最有效果的,当你存储疑问没有"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:678
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:680
 msgid "Tip"
 msgstr "提示"
 
-#: frontend/src/metabase/query_builder/components/AlertModals.jsx:680
+#: frontend/src/metabase/query_builder/components/AlertModals.jsx:682
 msgid "usually"
 msgstr "通常"
 
@@ -4926,28 +4930,28 @@ msgstr "选择……"
 msgid "Select a table"
 msgstr "选择一个表单"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:785
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:793
 msgid "No tables found in this database."
 msgstr "该数据库未发现表"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:822
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:830
 msgid "Is a question missing?"
 msgstr "图表缺失?"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:826
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:834
 msgid "Learn more about nested queries"
 msgstr "了解更多关于嵌套查询"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:860
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:868
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:30
 msgid "Fields"
 msgstr "字段"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:938
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:946
 msgid "No segments were found."
 msgstr "没有划分"
 
-#: frontend/src/metabase/query_builder/components/DataSelector.jsx:961
+#: frontend/src/metabase/query_builder/components/DataSelector.jsx:969
 msgid "Find a segment"
 msgstr "找到一个划分"
 
@@ -4959,27 +4963,27 @@ msgstr "查看更少"
 msgid "View more"
 msgstr "查看更多"
 
-#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:111
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:112
 msgid "Pick a field to sort by"
-msgstr "选择一个区域来分类"
+msgstr "选择一个字段来排序"
 
-#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:124
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:125
 msgid "Sort"
-msgstr "分类"
+msgstr "排序"
 
-#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:193
+#: frontend/src/metabase/query_builder/components/ExtendedOptions.jsx:137
 msgid "Row limit"
-msgstr "限制行"
+msgstr "行限制"
 
-#: frontend/src/metabase/query_builder/components/FieldName.jsx:76
+#: frontend/src/metabase/query_builder/components/FieldName.jsx:69
 msgid "Unknown Field"
-msgstr "未知区域"
+msgstr "未知字段"
 
-#: frontend/src/metabase/query_builder/components/FieldName.jsx:79
+#: frontend/src/metabase/query_builder/components/FieldName.jsx:72
 msgid "field"
-msgstr "区域"
+msgstr "字段"
 
-#: frontend/src/metabase/query_builder/components/Filter.jsx:113
+#: frontend/src/metabase/query_builder/components/Filter.jsx:114
 msgid "Matches"
 msgstr "匹配"
 
@@ -5000,26 +5004,26 @@ msgstr "添加一个聚合"
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:59
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:68
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:75
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:226
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:232
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:238
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:62
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:67
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:225
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:231
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:237
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:70
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:75
 msgid "Data"
 msgstr "数据"
 
 #: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:352
 msgid "Filtered by"
-msgstr "分类根据"
+msgstr "筛选条件"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:82
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:75
 #: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:369
 msgid "View"
 msgstr "查看"
 
 #: frontend/src/metabase/query_builder/components/GuiQueryEditor.jsx:386
 msgid "Grouped By"
-msgstr "聚合根据"
+msgstr "分组条件"
 
 #: frontend/src/metabase/query_builder/components/LimitWidget.jsx:27
 msgid "None"
@@ -5235,7 +5239,7 @@ msgstr "你也可以{0},当有一些结果时。"
 
 #: frontend/src/metabase/query_builder/components/VisualizationResult.jsx:68
 msgid "get an alert"
-msgstr "得到一个预警"
+msgstr "得到一个警报"
 
 #: frontend/src/metabase/query_builder/components/VisualizationResult.jsx:77
 msgid "Back to last run"
@@ -5245,8 +5249,7 @@ msgstr "返回上一次运行"
 msgid "Visualization"
 msgstr "可视化"
 
-#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:17
-#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:151
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:96
 msgid "No description set."
 msgstr "没有设置描述"
 
@@ -5254,12 +5257,11 @@ msgstr "没有设置描述"
 msgid "Use for current question"
 msgstr "为当前疑问使用"
 
-#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:33
 #: frontend/src/metabase/reference/components/UsefulQuestions.jsx:16
 msgid "Potentially useful questions"
-msgstr "潜在有价值图表"
+msgstr "有潜在价值的疑问"
 
-#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:156
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:166
 msgid "Group by {0}"
 msgstr "按{0}分组"
 
@@ -5267,20 +5269,19 @@ msgstr "按{0}分组"
 msgid "Sum of all values of {0}"
 msgstr "{0}的和"
 
-#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:173
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:63
 #: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:51
 msgid "All distinct values of {0}"
 msgstr "{0}的去重值"
 
-#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:177
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:187
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:39
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:51
 #: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:39
 msgid "Number of {0} grouped by {1}"
 msgstr "按{1}分组的{0}计数"
 
-#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:11
+#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:10
 #: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:20
 #: frontend/src/metabase/reference/databases/FieldSidebar.jsx:30
 #: frontend/src/metabase/reference/databases/TableSidebar.jsx:26
@@ -5325,31 +5326,31 @@ msgstr "查看所有的{0}"
 
 #: frontend/src/metabase/query_builder/components/dataref/SegmentPane.jsx:148
 msgid "Segment Definition"
-msgstr "区间定义"
+msgstr "区段定义"
 
 #: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:50
 msgid "An error occurred loading the table"
-msgstr "在读取表单时发生了一个错误"
+msgstr "在加载表时发生了一个错误"
 
 #: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:74
 msgid "See the raw data for {0}"
 msgstr "查看{0}的所有原始数据"
 
-#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:205
+#: frontend/src/metabase/query_builder/components/dataref/TablePane.jsx:180
 msgid "More"
 msgstr "更多"
 
-#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:200
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:201
 msgid "Invalid expression"
-msgstr "不可用的表达方式"
+msgstr "不可用的表达式"
 
-#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:275
+#: frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx:276
 msgid "unknown error"
 msgstr "未知错误"
 
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:46
 msgid "Field formula"
-msgstr "区域公式"
+msgstr "字段公式"
 
 #: frontend/src/metabase/query_builder/components/expressions/ExpressionWidget.jsx:57
 msgid "Think of this as being kind of like writing a formula in a spreadsheet program: you can use numbers, fields in this table, mathematical symbols like +, and some functions. So you could type something like Subtotal - Cost."
@@ -5370,7 +5371,7 @@ msgstr "一些超棒的、值得记录的东西"
 
 #: frontend/src/metabase/query_builder/components/expressions/Expressions.jsx:60
 msgid "Add a custom field"
-msgstr "添加一个自定义区域"
+msgstr "添加一个自定义字段"
 
 #: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:17
 msgid "Include {0}"
@@ -5386,11 +5387,11 @@ msgstr "今天"
 
 #: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:24
 msgid "this week"
-msgstr "这周"
+msgstr "本周"
 
 #: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:25
 msgid "this month"
-msgstr "这个月"
+msgstr "本月"
 
 #: frontend/src/metabase/query_builder/components/filters/FilterOptions.jsx:26
 msgid "this year"
@@ -5404,21 +5405,21 @@ msgstr "这一分钟"
 msgid "this hour"
 msgstr "这个小时"
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:285
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:290
 msgid "not implemented {0}"
 msgstr "未实现{0}"
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:286
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:291
 msgid "true"
 msgstr "正确"
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:286
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:291
 msgid "false"
 msgstr "错误"
 
-#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:390
+#: frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx:404
 msgid "Add filter"
-msgstr "添加筛选器"
+msgstr "添加过滤器"
 
 #: frontend/src/metabase/query_builder/components/filters/FilterWidgetList.jsx:64
 msgid "Item"
@@ -5426,11 +5427,11 @@ msgstr "项"
 
 #: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:221
 msgid "Previous"
-msgstr "前一个"
+msgstr "前"
 
 #: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:252
 msgid "Current"
-msgstr "当天"
+msgstr "当前"
 
 #: frontend/src/metabase/query_builder/components/filters/pickers/DatePicker.jsx:278
 #: frontend/src/metabase/visualizations/lib/settings/column.js:246
@@ -5485,7 +5486,7 @@ msgstr "{0}在此SQL模板中创建一个名为“variable_name”的变量。
 
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:121
 msgid "Field Filters"
-msgstr "字段筛选器"
+msgstr "字段过滤器"
 
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:123
 msgid "Giving a variable the \"Field Filter\" type allows you to link SQL cards to dashboard filter widgets or use more types of filter widgets on your SQL question. A Field Filter variable inserts SQL similar to that generated by the GUI query builder when adding filters on existing columns."
@@ -5493,7 +5494,7 @@ msgstr "为变量提供“字段过滤器”类型将允许您链接SQL卡到仪
 
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:126
 msgid "When adding a Field Filter variable, you'll need to map it to a specific field. You can then choose to display a filter widget on your question, but even if you don't, you can now map your Field Filter variable to a dashboard filter when adding this question to a dashboard. Field Filters should be used inside of a \"WHERE\" clause."
-msgstr "添加“字段筛选器”变量时,您需要将其映射到特定字段。 然后,您可以选择在问题上显示过滤组件,但即使不这样做,现在可以在将此问题添加到仪表板时将“字段筛选器”变量映射到仪表盘过滤器。 字段筛选器应在“WHERE”子句中使用。"
+msgstr "添加“字段过滤器”变量时,您需要将其映射到特定字段。 然后,您可以选择在问题上显示过滤组件,但即使不这样做,现在可以在将此问题添加到仪表板时将“字段过滤器”变量映射到仪表盘过滤器。 字段过滤器应在“WHERE”子句中使用。"
 
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorHelp.jsx:130
 msgid "Optional Clauses"
@@ -5537,7 +5538,7 @@ msgstr "字段映射到"
 
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:179
 msgid "Filter widget type"
-msgstr "筛选器样式"
+msgstr "过滤器样式"
 
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:201
 msgid "Required?"
@@ -5545,7 +5546,7 @@ msgstr "需要么?"
 
 #: frontend/src/metabase/query_builder/components/template_tags/TagEditorParam.jsx:211
 msgid "Default filter widget value"
-msgstr "筛选器默认值"
+msgstr "过滤器默认值"
 
 #: frontend/src/metabase/query_builder/containers/ArchiveQuestionModal.jsx:46
 msgid "Archive this question?"
@@ -5553,7 +5554,7 @@ msgstr "归档图表?"
 
 #: frontend/src/metabase/query_builder/containers/ArchiveQuestionModal.jsx:57
 msgid "This question will be removed from any dashboards or pulses using it."
-msgstr "这个图表会从已引用的看板或定时任务中移除"
+msgstr "这个图表会从已引用的仪表盘或定时任务中移除"
 
 #: frontend/src/metabase/query_builder/containers/QueryBuilder.jsx:136
 msgid "Question"
@@ -5581,14 +5582,14 @@ msgstr "子集"
 #: frontend/src/metabase/reference/components/FieldTypeDetail.jsx:32
 #: frontend/src/metabase/reference/components/FieldTypeDetail.jsx:68
 msgid "Select a field type"
-msgstr "选择一个区域类型"
+msgstr "选择一个字段类型"
 
 #: frontend/src/metabase/reference/components/Field.jsx:56
 #: frontend/src/metabase/reference/components/Field.jsx:71
 #: frontend/src/metabase/reference/components/FieldTypeDetail.jsx:41
 #: frontend/src/metabase/reference/components/FieldTypeDetail.jsx:57
 msgid "No field type"
-msgstr "没有区域类型"
+msgstr "没有字段类型"
 
 #: frontend/src/metabase/reference/components/FieldToGroupBy.jsx:22
 msgid "by"
@@ -5598,7 +5599,7 @@ msgstr "通过"
 #: frontend/src/metabase/reference/databases/FieldList.jsx:152
 #: frontend/src/metabase/reference/segments/SegmentFieldList.jsx:153
 msgid "Field type"
-msgstr "区域类型"
+msgstr "字段类型"
 
 #: frontend/src/metabase/reference/components/FieldTypeDetail.jsx:72
 msgid "Select a Foreign Key"
@@ -5662,7 +5663,7 @@ msgstr "移除选项"
 
 #: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:155
 msgid "Why is this dashboard the most important?"
-msgstr "为什么看板最重要?"
+msgstr "为什么仪表盘最重要?"
 
 #: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:156
 msgid "What is useful or interesting about this {0}?"
@@ -5684,7 +5685,7 @@ msgstr "任何事情关于{0}是用户需要知道的吗?"
 #: frontend/src/metabase/reference/components/GuideDetailEditor.jsx:182
 #: frontend/src/metabase/reference/components/MetricImportantFieldsDetail.jsx:26
 msgid "Which 2-3 fields do you usually group this metric by?"
-msgstr "哪2-3个区域是你经常把这些指标聚合的?"
+msgstr "你经常用哪2-3个字段把这些指标聚合?"
 
 #: frontend/src/metabase/reference/components/GuideHeader.jsx:23
 msgid "This is the perfect place to start if you’re new to your company’s data, or if you just want to check in on what’s going on."
@@ -5715,7 +5716,7 @@ msgstr "关于这个数据库需要了解的事情"
 msgid "Databases and tables"
 msgstr "数据库和报表"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:68
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:61
 #: frontend/src/metabase/reference/databases/DatabaseSidebar.jsx:27
 #: frontend/src/metabase/reference/databases/FieldSidebar.jsx:41
 #: frontend/src/metabase/reference/databases/TableDetail.jsx:170
@@ -5743,12 +5744,12 @@ msgstr "实际在数据库中的名称"
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:231
 #: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:227
 msgid "Why this field is interesting"
-msgstr "为什么这个区域有趣"
+msgstr "为什么这个字段有趣"
 
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:241
 #: frontend/src/metabase/reference/segments/SegmentFieldDetail.jsx:237
 msgid "Things to be aware of about this field"
-msgstr "关于这个区域需要了解的事情"
+msgstr "关于这个字段需要了解的事情"
 
 #: frontend/src/metabase/reference/databases/FieldDetail.jsx:253
 #: frontend/src/metabase/reference/databases/FieldList.jsx:155
@@ -5760,21 +5761,21 @@ msgstr "数据类型"
 #: frontend/src/metabase/reference/databases/FieldList.jsx:39
 #: frontend/src/metabase/reference/segments/SegmentFieldList.jsx:39
 msgid "Fields in this table will appear here as they're added"
-msgstr "在这个表单中添加区域时,它们将会出现在这里"
+msgstr "在这个表单中添加字段时,它们将会出现在这里"
 
 #: frontend/src/metabase/reference/databases/FieldList.jsx:134
 #: frontend/src/metabase/reference/segments/SegmentFieldList.jsx:135
 msgid "Fields in {0}"
-msgstr "在{0}中的区域"
+msgstr "在{0}中的字段"
 
 #: frontend/src/metabase/reference/databases/FieldList.jsx:149
 #: frontend/src/metabase/reference/segments/SegmentFieldList.jsx:150
 msgid "Field name"
-msgstr "区域类型"
+msgstr "字段名称"
 
 #: frontend/src/metabase/reference/databases/FieldSidebar.jsx:49
 msgid "X-ray this field"
-msgstr "透视这个区域"
+msgstr "透视这个字段"
 
 #: frontend/src/metabase/reference/databases/NoDatabasesEmptyState.jsx:8
 msgid "Metabase is no fun without any data"
@@ -5831,11 +5832,11 @@ msgstr "根据{1}创建{0}"
 
 #: frontend/src/metabase/reference/databases/TableSidebar.jsx:40
 msgid "Fields in this table"
-msgstr "在这个表单中的区域"
+msgstr "在这个表中的字段"
 
 #: frontend/src/metabase/reference/databases/TableSidebar.jsx:48
 msgid "Questions about this table"
-msgstr "关于这个表单的疑问"
+msgstr "关于这个表的疑问"
 
 #: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:157
 msgid "Help your team get started with your data."
@@ -5843,7 +5844,7 @@ msgstr "帮助团队了解数据"
 
 #: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:159
 msgid "Show your team what’s most important by choosing your top dashboard, metrics, and segments."
-msgstr "选择TOP看板、指标和划分,向团队展示什么是最重要的。"
+msgstr "选择TOP仪表盘、指标和划分,向团队展示什么是最重要的。"
 
 #: frontend/src/metabase/reference/guide/GettingStartedGuide.jsx:165
 msgid "Get started"
@@ -6046,47 +6047,47 @@ msgstr "透视这个指标"
 
 #: frontend/src/metabase/reference/segments/SegmentDetail.jsx:217
 msgid "Why this Segment is interesting"
-msgstr "为什么这个区间有趣"
+msgstr "为什么这个区段很有意思"
 
 #: frontend/src/metabase/reference/segments/SegmentDetail.jsx:227
 msgid "Things to be aware of about this Segment"
-msgstr "这个划分的注意项"
+msgstr "关于这个区段的注意事项"
 
 #: frontend/src/metabase/reference/segments/SegmentList.jsx:23
 msgid "Segments are interesting subsets of tables"
-msgstr "划分是表格的子集"
+msgstr "区段是表格的子集"
 
 #: frontend/src/metabase/reference/segments/SegmentList.jsx:24
 msgid "Defining common segments for your team makes it even easier to ask questions"
-msgstr "为你的团队定义公共区间,让它用来提问也十分容易"
+msgstr "为你的团队定义公共区段,让它用来提问也十分容易"
 
 #: frontend/src/metabase/reference/segments/SegmentList.jsx:25
 msgid "Segments will appear here once your admins have created some"
-msgstr "区间将会出现在这里,一但你的管理员添加了的话"
+msgstr "你的管理员添加后,区段将会出现在这里,"
 
 #: frontend/src/metabase/reference/segments/SegmentList.jsx:27
 msgid "Learn how to create segments"
-msgstr "学习如何创建区间"
+msgstr "学习如何创建区段"
 
 #: frontend/src/metabase/reference/segments/SegmentQuestions.jsx:35
 msgid "Questions about this segment will appear here as they're added"
-msgstr "当它们被添加时,关于这个区间的问题将会出现在这里"
+msgstr "当它们被添加时,关于这个区段的疑问将会出现在这里"
 
 #: frontend/src/metabase/reference/segments/SegmentRevisions.jsx:29
 msgid "There are no revisions for this segment"
-msgstr "这个划分没有修改过"
+msgstr "这个区段没有修改过"
 
 #: frontend/src/metabase/reference/segments/SegmentSidebar.jsx:36
 msgid "Fields in this segment"
-msgstr "在这个区间中的领域"
+msgstr "在这个区段中的字段"
 
 #: frontend/src/metabase/reference/segments/SegmentSidebar.jsx:42
 msgid "Questions about this segment"
-msgstr "有关这个划分的图表"
+msgstr "有关这个区段的疑问"
 
 #: frontend/src/metabase/reference/segments/SegmentSidebar.jsx:49
 msgid "X-ray this segment"
-msgstr "透视这个区间"
+msgstr "透视这个区段"
 
 #: frontend/src/metabase/routes.jsx:182
 msgid "Login"
@@ -6099,11 +6100,11 @@ msgstr "查询"
 
 #: frontend/src/metabase/routes.jsx:217
 msgid "Dashboard"
-msgstr "看板"
+msgstr "仪表盘"
 
-#: frontend/src/metabase/routes.jsx:227
+#: frontend/src/metabase/routes.jsx:228
 msgid "New Question"
-msgstr "新图标"
+msgstr "æ–°ç–‘é—®"
 
 #: frontend/src/metabase/setup/components/DatabaseConnectionStep.jsx:125
 msgid "Select the type of Database you use"
@@ -6309,7 +6310,7 @@ msgstr "过滤你的数据来获得你想要的结果"
 
 #: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:79
 msgid "Click the plus button and select the \"Created At\" field."
-msgstr "点击加号按钮并且选择“创建于”区域。"
+msgstr "点击加号按钮并且选择“创建于”字段。"
 
 #: frontend/src/metabase/tutorial/QueryBuilderTutorial.jsx:93
 msgid "Here we can pick how many days we want to see data for, try 10"
@@ -6411,7 +6412,7 @@ msgstr "用Google邮箱地址登录"
 msgid "User Details"
 msgstr "用户详情"
 
-#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:235
+#: frontend/src/metabase/visualizations/components/ChartSettings.jsx:275
 msgid "Reset to defaults"
 msgstr "恢复默认值"
 
@@ -6434,7 +6435,7 @@ msgstr "横坐标和纵坐标想使用那些字段?"
 #: frontend/src/metabase/visualizations/components/LineAreaBarChart.jsx:103
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:60
 msgid "Choose fields"
-msgstr "选择区域"
+msgstr "选择字段"
 
 #: frontend/src/metabase/visualizations/components/PinMap.jsx:204
 msgid "Save as default view"
@@ -6442,11 +6443,11 @@ msgstr "作为默认视图存储"
 
 #: frontend/src/metabase/visualizations/components/PinMap.jsx:226
 msgid "Draw box to filter"
-msgstr "添加筛选器"
+msgstr "添加过滤器"
 
 #: frontend/src/metabase/visualizations/components/PinMap.jsx:226
 msgid "Cancel filter"
-msgstr "取消过滤"
+msgstr "取消过滤器"
 
 #: frontend/src/metabase/visualizations/components/PinMap.jsx:47
 msgid "Pin Map"
@@ -6460,41 +6461,41 @@ msgstr "撤销设置"
 msgid "Rows {0}-{1} of {2}"
 msgstr "{2}的{0}~{1}行"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:187
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:189
 msgid "Data truncated to {0} rows."
 msgstr "数据被截断为{0}行。"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:352
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:364
 msgid "Could not find visualization"
 msgstr "找不到可视化"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:359
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:371
 msgid "Could not display this chart with this data."
 msgstr "无法显示这个图表显示这些数据"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:457
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:469
 msgid "No results!"
 msgstr "没有结果!"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:478
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:490
 msgid "Still Waiting..."
 msgstr "仍然在等待……"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:481
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:493
 msgid "This usually takes an average of {0}."
 msgstr "这将通常取一个{0}的平均数。"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:487
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:499
 msgid "(This is a bit long for a dashboard)"
 msgstr "(这对于仪表盘来说有点太长了)"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:491
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:503
 msgid "This is usually pretty fast but seems to be taking awhile right now."
 msgstr "这个一般超级快,但是看起来现在等了有一会儿了"
 
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingFieldPicker.jsx:36
 msgid "Select a field"
-msgstr "选择一个区域"
+msgstr "选择一个字段"
 
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingFieldsPicker.jsx:45
 msgid "error"
@@ -6506,7 +6507,7 @@ msgstr "点击并且拖拽来改变他们的指令"
 
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingOrderedColumns.jsx:139
 msgid "Add fields from the list below"
-msgstr "从下方列表中添加区域"
+msgstr "从下方列表中添加字段"
 
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:24
 msgid "less than"
@@ -6594,7 +6595,7 @@ msgid "Highlight the whole row"
 msgstr "高亮整行"
 
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:390
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:90
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:98
 msgid "Colors"
 msgstr "颜色"
 
@@ -6902,7 +6903,7 @@ msgid "Funnel"
 msgstr "漏斗"
 
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:76
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:68
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:76
 msgid "Measure"
 msgstr "测量"
 
@@ -6918,15 +6919,15 @@ msgstr "柱形图"
 msgid "line chart"
 msgstr "线段图表"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:225
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:224
 msgid "Please select longitude and latitude columns in the chart settings."
 msgstr "请在图表设置中选择经度和维度的列"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:231
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:230
 msgid "Please select a region map."
 msgstr "请选择一个区域地图"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:237
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:236
 msgid "Please select region and metric columns in the chart settings."
 msgstr "请在图表设置中选择一个区域和指标列"
 
@@ -6961,34 +6962,34 @@ msgstr "标记"
 
 #: frontend/src/metabase/visualizations/visualizations/Map.jsx:126
 msgid "Latitude field"
-msgstr "维度区域"
+msgstr "维度字段"
 
 #: frontend/src/metabase/visualizations/visualizations/Map.jsx:134
 msgid "Longitude field"
-msgstr "经度区域"
+msgstr "经度字段"
 
 #: frontend/src/metabase/visualizations/visualizations/Map.jsx:142
 #: frontend/src/metabase/visualizations/visualizations/Map.jsx:168
 msgid "Metric field"
-msgstr "指标区域"
+msgstr "指标字段"
 
 #: frontend/src/metabase/visualizations/visualizations/Map.jsx:172
 msgid "Region field"
-msgstr "地域区域"
+msgstr "区域字段"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:193
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:192
 msgid "Radius"
 msgstr "半径"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:199
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:198
 msgid "Blur"
 msgstr "模糊"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:205
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:204
 msgid "Min Opacity"
 msgstr "最小不透明度"
 
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:211
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:210
 msgid "Max Zoom"
 msgstr "放到最大"
 
@@ -7012,31 +7013,31 @@ msgstr "对象细节"
 msgid "object"
 msgstr "对象"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:304
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:312
 msgid "Total"
 msgstr "总计"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:53
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:61
 msgid "Which columns do you want to use?"
 msgstr "需要用哪些列?"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:41
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:44
 msgid "Pie"
 msgstr "饼图"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:63
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:71
 msgid "Dimension"
 msgstr "维度"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:73
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:81
 msgid "Show legend"
 msgstr "显示说明"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:78
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:86
 msgid "Show percentages in legend"
 msgstr "在说明中显示百分比"
 
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:84
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:92
 msgid "Minimum slice percentage"
 msgstr "最小切片百分比"
 
@@ -7060,8 +7061,8 @@ msgstr "处理可视化需要一个数字。"
 msgid "Progress"
 msgstr "处理"
 
-#: frontend/src/metabase/entities/collections.js:101
-#: frontend/src/metabase/visualizations/visualizations/Map.jsx:177
+#: frontend/src/metabase/entities/collections.js:108
+#: frontend/src/metabase/visualizations/visualizations/Map.jsx:176
 #: frontend/src/metabase/visualizations/visualizations/Progress.jsx:57
 msgid "Color"
 msgstr "颜色"
@@ -7152,12 +7153,12 @@ msgstr "右边"
 msgid "Show background"
 msgstr "显示背景"
 
-#: frontend/src/metabase-lib/lib/Dimension.js:492
+#: frontend/src/metabase-lib/lib/Dimension.js:553
 msgid "{0} bin"
 msgid_plural "{0} bins"
 msgstr[0] "{0} 刻度间隔"
 
-#: frontend/src/metabase-lib/lib/Dimension.js:498
+#: frontend/src/metabase-lib/lib/Dimension.js:559
 msgid "Auto binned"
 msgstr "自动分组"
 
@@ -7189,7 +7190,7 @@ msgstr "不可用的实体类型"
 msgid "Invalid comparison entity type. Can only be one of \"table\", \"segment\", or \"adhoc\""
 msgstr "无效的比较实体类型。这只能是“表格”,“划分”或“即席查询”之一"
 
-#: src/metabase/api/card.clj
+#: src/metabase/query_processor/async.clj
 msgid "Error running query to determine Card result metadata:"
 msgstr "运行查询以确定卡片结果元数据时出错:"
 
@@ -7233,14 +7234,14 @@ msgstr "警告: 末端 {0}/{1} 不包含 docstring."
 msgid "starting streaming request"
 msgstr "开始流请求"
 
-#: src/metabase/api/common.clj
+#: src/metabase/async/api_response.clj
 msgid "connection closed, canceling request"
 msgstr "链接已关闭,正在取消请求"
 
 #. a newline padding character as it's harmless and will allow us to check if the client is connected. If
 #. sending this character fails because the connection is closed, the chan will then close.  Newlines are
 #. no-ops when reading JSON which this depends upon.
-#: src/metabase/api/common.clj
+#: src/metabase/async/api_response.clj
 msgid "Response not ready, writing one byte & sleeping..."
 msgstr "响应内容没准备好,写一个字节然后暂停了......"
 
@@ -7425,22 +7426,26 @@ msgstr "自动间隔"
 msgid "Don''t bin"
 msgstr "æ— é—´éš”"
 
-#: src/metabase/api/table.clj
+#: frontend/src/metabase/lib/query_time.js:193 src/metabase/api/table.clj
 msgid "Day"
-msgstr "天"
+msgid_plural "Days"
+msgstr[0] "天"
 
 #. note the order of these options corresponds to the order they will be shown to the user in the UI
-#: src/metabase/api/table.clj
+#: frontend/src/metabase/lib/query_time.js:189 src/metabase/api/table.clj
 msgid "Minute"
-msgstr "分钟"
+msgid_plural "Minutes"
+msgstr[0] "分钟"
 
-#: src/metabase/api/table.clj
+#: frontend/src/metabase/lib/query_time.js:191 src/metabase/api/table.clj
 msgid "Hour"
-msgstr "小时"
+msgid_plural "Hours"
+msgstr[0] "小时"
 
-#: src/metabase/api/table.clj
+#: frontend/src/metabase/lib/query_time.js:199 src/metabase/api/table.clj
 msgid "Quarter"
-msgstr "1/4"
+msgid_plural "Quarters"
+msgstr[0] "季度"
 
 #: src/metabase/api/table.clj
 msgid "Minute of Hour"
@@ -7537,7 +7542,7 @@ msgstr "比较 {0} 和 {1}"
 
 #: src/metabase/automagic_dashboards/comparison.clj
 msgid "Automatically generated comparison dashboard comparing {0} and {1}"
-msgstr "自动生成的 {0} 和 {1} 的对比看板"
+msgstr "自动生成的 {0} 和 {1} 的对比仪表盘"
 
 #: src/metabase/automagic_dashboards/core.clj
 msgid "sum"
@@ -7780,7 +7785,7 @@ msgstr "系统时区是“{0}”"
 #. startup database.  validates connection & runs any necessary migrations
 #: src/metabase/core.clj
 msgid "Setting up and migrating Metabase DB. Please sit tight, this may take a minute..."
-msgstr "Metabse数据库设置、迁移中。坐稳了,这个可能要花一年时间……"
+msgstr "Metabse数据库设置、迁移中。坐稳了,这个可能要花一分钟……"
 
 #: src/metabase/core.clj
 msgid "Looks like this is a new installation ... preparing setup wizard"
@@ -7790,11 +7795,11 @@ msgstr "看起来这是一个新的安装过程……正在准备安装向导"
 msgid "Metabase Initialization COMPLETE"
 msgstr "Metabase初始化完成"
 
-#: src/metabase/core.clj
+#: src/metabase/server.clj
 msgid "Launching Embedded Jetty Webserver with config:"
 msgstr "用配置启动嵌入式Jetty Webserver"
 
-#: src/metabase/core.clj
+#: src/metabase/server.clj
 msgid "Shutting Down Embedded Jetty Webserver"
 msgstr "关闭嵌入式Jetty We服务器"
 
@@ -7855,51 +7860,51 @@ msgstr "正在运行数据库迁移…"
 msgid "Database Migrations Current ... "
 msgstr "数据库迁移当前…"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Hmm, we couldn''t connect to the database."
 msgstr "嗯……我们不能连接到数据库。"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Make sure your host and port settings are correct"
 msgstr "确保你的服务器和端口设置正确"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "We couldn''t connect to the ssh tunnel host."
 msgstr "我们不能连接到SSH通道服务器。"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Check the username, password."
 msgstr "检查用户名、密码。"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Check the hostname and port."
 msgstr "检查服务器名和端口。"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like the database name is incorrect."
 msgstr "看起来数据库名称不正确。"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "It looks like your host is invalid."
 msgstr "看起来你的服务器不可用。"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Please double-check it and try again."
 msgstr "请再次确认并且重试一遍。"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like your password is incorrect."
 msgstr "看起来你的密码不正确。"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like you forgot to enter your password."
 msgstr "看起来你忘了输入密码。"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like your username is incorrect."
 msgstr "看起来你的用户名不正确。"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Looks like the username or password is incorrect."
 msgstr "看起来用户名或者密码不正确。"
 
@@ -7916,16 +7921,16 @@ msgstr "已注册的驱动器 {0} {1}"
 msgid "No -init-driver function found for ''{0}''"
 msgstr "对于''{0}''没找到“init-driver”函数"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Unable to parse date string ''{0}'' for database engine ''{1}''"
 msgstr "数据库引擎“{ 1 }”无法解析日期字符串“{ 0 }”"
 
 #. all-NULL columns in DBs like Mongo w/o explicit types
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Don''t know how to map class ''{0}'' to a Field base_type, falling back to :type/*."
 msgstr "不知道如何将类“{ 0 }”映射到字段BaseType类型,落回到:type/*"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/util.clj
 msgid "Failed to connect to database: {0}"
 msgstr "连接到数据库失败:{0}"
 
@@ -7937,7 +7942,7 @@ msgstr "无效的 BigQuery 标识符:''{0}''"
 msgid "BigQuery statements can't be parameterized!"
 msgstr "BigQuery 语句不能参数化!"
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql_jdbc/execute.clj
 msgid "Failed to set timezone:"
 msgstr "设置时区失败:"
 
@@ -8069,11 +8074,11 @@ msgstr "从 https://api.slack.com/web#authentication 获取的Slack API的不记
 msgid "Enable MetaBot, which lets you search for and view your saved questions directly via Slack."
 msgstr "启用MetaBot,可让您直接通过Slack搜索和查看已保存的问题。"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
 msgid "Last MetaBot checkin was {0} ago."
 msgstr "上次MetaBot确认已经是{0}之前了。"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
 msgid "This instance will now handle MetaBot duties."
 msgstr "这个实例现在将处理Myabor任务"
 
@@ -8085,39 +8090,39 @@ msgstr "这里是我能做的{0}:"
 msgid "I don''t know how to {0} `{1}`.n{2}"
 msgstr "我不知道如何{0}`{1}`.n{2}"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/slack.clj
 msgid "Uh oh! :cry:n> {0}"
 msgstr "啊喔!:( n> {0}"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Here''s your {0} most recent cards:n{1}"
 msgstr "这是你的{0}张最新的卡片:n{1}"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Could you be a little more specific? I found these cards with names that matched:n{0}"
 msgstr "你能再具体一点吗?我找到了这些名称匹配{0}的卡片"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "I don''t know what Card `{0}` is. Give me a Card ID or name."
 msgstr "我不知道卡片 `{0} `是什么。给我一个卡片ID或者名称。"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Show which card? Give me a part of a card name or its ID and I can show it to you. If you don''t know which card you want, try `metabot list`."
 msgstr "展示哪个卡片?给我卡片名字或者它的ID的一部分,我可以展示它。如果你不知道你需要的是哪个卡片,试试 `metabot列表 `"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Ok, just a second..."
 msgstr "Ok,马上就好……"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Not Found"
 msgstr "未找到"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/command.clj
 msgid "Loading Kanye quotes..."
 msgstr "加载Kanye名言"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/events.clj
 msgid "Evaluating Metabot command:"
 msgstr "评估Metabot 命令"
 
@@ -8125,23 +8130,23 @@ msgstr "评估Metabot 命令"
 msgid "Go home websocket, you're drunk."
 msgstr "回家吧 websocket,你喝醉了"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/websocket.clj
 msgid "Error launching metabot:"
 msgstr "运行Metabot时发生错误:"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/websocket.clj
 msgid "MetaBot WebSocket is closed. Reconnecting now."
 msgstr "MetaBot WebSocket已关闭。现在重新连接。"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/websocket.clj
 msgid "Error connecting websocket:"
 msgstr "连接websocket时发生错误:"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
 msgid "This instance is performing MetaBot duties."
 msgstr "此实例正在执行MetaBot职责。"
 
-#: src/metabase/metabot.clj
+#: src/metabase/metabot/instance.clj
 msgid "Another instance is already handling MetaBot duties."
 msgstr "另一个实例已经在处理MetaBot职责。"
 
@@ -8157,15 +8162,15 @@ msgstr "Metabot停止中……"
 msgid "MetaBot already running. Killing the previous WebSocket listener first."
 msgstr "MetaBot已经在运行。请先杀死之前的WebSocket侦听器。"
 
-#: src/metabase/middleware.clj
+#: src/metabase/middleware/security.clj
 msgid "Base-64 encoded public key for this site's SSL certificate."
 msgstr "此站点的SSL证书公钥(public key)需要通过Base-64加密"
 
-#: src/metabase/middleware.clj
+#: src/metabase/middleware/security.clj
 msgid "Specify this to enable HTTP Public Key Pinning."
 msgstr "指定这个选项来打开HTTP Public Key Pinning"
 
-#: src/metabase/middleware.clj
+#: src/metabase/middleware/security.clj
 msgid "See {0} for more information."
 msgstr "查看{0}获取更多信息。"
 
@@ -8372,19 +8377,19 @@ msgstr "你不能更新一个修订版本!"
 msgid "Setting {0} does not exist.nFound: {1}"
 msgstr "设置 {0} 不存在,未找到: {1}"
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Updating value of settings-last-updated in DB..."
 msgstr "将最新设置内容更新到数据库中..."
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Checking whether settings cache is out of date (requires DB call)..."
 msgstr "查询设置缓存是否过期中(需要数据库连接)"
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Settings have been changed on another instance, and will be reloaded here."
 msgstr "设置已在另一个实例上更改,并将在此处重新加载。"
 
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Refreshing Settings cache..."
 msgstr "刷新设置缓存中……"
 
@@ -8890,27 +8895,27 @@ msgstr "查看所有文件夹权限"
 msgid "Also change sub-collections"
 msgstr "同时更改子集合"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:278
+#: frontend/src/metabase/admin/permissions/selectors.js:282
 msgid "Can edit this collection and its contents"
 msgstr "允许修改集合及其内容"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:285
+#: frontend/src/metabase/admin/permissions/selectors.js:289
 msgid "Can view items in this collection"
 msgstr "允许查看该集合的内容"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:745
+#: frontend/src/metabase/admin/permissions/selectors.js:749
 msgid "Collection Access"
 msgstr "集合的权限"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:821
+#: frontend/src/metabase/admin/permissions/selectors.js:825
 msgid "This group has permission to view at least one subcollection of this collection."
 msgstr "该组有权查看此集合的至少一个子集合。"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:826
+#: frontend/src/metabase/admin/permissions/selectors.js:830
 msgid "This group has permission to edit at least one subcollection of this collection."
 msgstr "该组有权编辑此集合的至少一个子集合。"
 
-#: frontend/src/metabase/admin/permissions/selectors.js:839
+#: frontend/src/metabase/admin/permissions/selectors.js:843
 msgid "View sub-collections"
 msgstr "查看子集合"
 
@@ -8918,19 +8923,19 @@ msgstr "查看子集合"
 msgid "Remember Me"
 msgstr "记住我"
 
-#: frontend/src/metabase/components/BrowseApp.jsx:120
+#: frontend/src/metabase/components/BrowseApp.jsx:95
 msgid "X-ray this schema"
 msgstr "透视这个图表"
 
-#: frontend/src/metabase/components/CollectionLanding.jsx:246
+#: frontend/src/metabase/components/CollectionLanding.jsx:258
 msgid "Edit the permissions for this collection"
 msgstr "修改集合权限"
 
-#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:51
+#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:55
 msgid "Add this question to a dashboard"
 msgstr "把报表添加到dashboard"
 
-#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:61
+#: frontend/src/metabase/containers/AddToDashSelectDashModal.jsx:65
 msgid "Create a new dashboard"
 msgstr "创建一个新的仪表板"
 
@@ -8942,11 +8947,11 @@ msgstr "找不到您要访问的页面"
 msgid "Select a {0}"
 msgstr "选择{0}"
 
-#: frontend/src/metabase/containers/Overworld.jsx:190
+#: frontend/src/metabase/containers/Overworld.jsx:185
 msgid "Save dashboards, questions, and collections in \"{0}\""
 msgstr "在“{0}”中保存仪表板,问题和集合"
 
-#: frontend/src/metabase/containers/Overworld.jsx:193
+#: frontend/src/metabase/containers/Overworld.jsx:188
 msgid "Access dashboards, questions, and collections in \"{0}\""
 msgstr "访问“{0}”中的仪表板,问题和集合"
 
@@ -8966,11 +8971,11 @@ msgstr "相关"
 msgid "More X-rays"
 msgstr "更多透视方法"
 
-#: frontend/src/metabase/home/containers/SearchApp.jsx:50
+#: frontend/src/metabase/home/containers/SearchApp.jsx:46
 msgid "No results"
 msgstr "没有结果"
 
-#: frontend/src/metabase/home/containers/SearchApp.jsx:51
+#: frontend/src/metabase/home/containers/SearchApp.jsx:47
 msgid "Metabase couldn't find any results for your search."
 msgstr "Metabase无法找到您的搜索结果。"
 
@@ -9016,43 +9021,43 @@ msgstr "无法获取权限:{0}"
 msgid "Cannot decrypt encrypted string. Have you changed or forgot to set MB_ENCRYPTION_SECRET_KEY?"
 msgstr "无法解密已加密的字符。你是否忘记设置 MB_ENCRYPTION_SECRET_KEY?"
 
-#: frontend/src/metabase/entities/collections.js:157
+#: frontend/src/metabase/entities/collections.js:164
 msgid "All personal collections"
 msgstr "所有个人集合"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Host"
 msgstr "主机"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Port"
 msgstr "端口"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Database username"
 msgstr "数据库用户名"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "What username do you use to login to the database?"
 msgstr "您登陆数据库的用户名是什么?"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Database password"
 msgstr "数据库密码"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Database name"
 msgstr "数据库名称"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "birds_of_the_world"
 msgstr "birds_of_the_world"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Use a secure connection (SSL)?"
 msgstr "使用安全连接(SSL)?"
 
-#: src/metabase/driver.clj
+#: src/metabase/driver/common.clj
 msgid "Additional JDBC connection string options"
 msgstr "额外的JDBC连接字符串选项"
 
@@ -9191,7 +9196,7 @@ msgstr "标签"
 msgid "Add members"
 msgstr "添加成员"
 
-#: frontend/src/metabase/entities/collections.js:108
+#: frontend/src/metabase/entities/collections.js:115
 msgid "Collection it's saved in"
 msgstr "集合保存在"
 
@@ -9220,10 +9225,10 @@ msgstr "分享"
 #: frontend/src/metabase/visualizations/lib/settings/graph.js:321
 #: frontend/src/metabase/visualizations/lib/settings/nested.js:126
 #: frontend/src/metabase/visualizations/visualizations/Funnel.jsx:83
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:72
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:77
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:83
-#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:89
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:80
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:85
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:91
+#: frontend/src/metabase/visualizations/visualizations/PieChart.jsx:97
 #: frontend/src/metabase/visualizations/visualizations/Progress.jsx:50
 #: frontend/src/metabase/visualizations/visualizations/Progress.jsx:56
 #: frontend/src/metabase/visualizations/visualizations/Text.jsx:72
@@ -9245,20 +9250,20 @@ msgstr "坐标轴"
 
 #: frontend/src/metabase/admin/datamodel/containers/FieldApp.jsx:222
 #: frontend/src/metabase/admin/settings/selectors.js:319
-#: frontend/src/metabase/qb/components/drill/FormatAction.jsx:27
+#: frontend/src/metabase/modes/components/drill/FormatAction.jsx:27
 #: frontend/src/metabase/visualizations/lib/settings/column.js:63
 msgid "Formatting"
 msgstr "格式化"
 
-#: frontend/src/metabase/containers/Overworld.jsx:107
+#: frontend/src/metabase/containers/Overworld.jsx:102
 msgid "Try these x-rays based on your data."
 msgstr "根据你的数据试试这些x光。"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:35
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:36
 msgid "There was a problem displaying this chart."
 msgstr "显示这个图表有一个问题。"
 
-#: frontend/src/metabase/visualizations/components/Visualization.jsx:36
+#: frontend/src/metabase/visualizations/components/Visualization.jsx:37
 msgid "Sorry, you don't have permission to see this card."
 msgstr "对不起,您没有权限看这张卡。"
 
@@ -9270,11 +9275,11 @@ msgstr "只是提个醒:"
 msgid "{0} without the Sample Dataset, the Query Builder tutorial won't work. You can always restore the Sample Dataset, but any questions you've saved using this data will be lost."
 msgstr "{0}没有样本数据集,查询创建器教程将不会工作。你可以总是重新存储样本数据集,但是任何你已经保存的问题将会丢失。"
 
-#: frontend/src/metabase/qb/components/drill/AutomaticDashboardDrill.jsx:33
+#: frontend/src/metabase/modes/components/drill/AutomaticDashboardDrill.jsx:33
 msgid "X-ray"
 msgstr "透视"
 
-#: frontend/src/metabase/qb/components/drill/CompareToRestDrill.js:34
+#: frontend/src/metabase/modes/components/drill/CompareToRestDrill.js:34
 msgid "Compare to the rest"
 msgstr "和其余的比较"
 
@@ -9287,11 +9292,11 @@ msgid "We suggest you leave this off unless you're doing manual timezone casting
 "many or most of your queries with this data."
 msgstr "我们建议你让它关闭,除非你用这些数据在大部分查询中手动调整时区"
 
-#: frontend/src/metabase/containers/Overworld.jsx:315
+#: frontend/src/metabase/containers/Overworld.jsx:310
 msgid "Your team's most important dashboards go here"
 msgstr "你的团队的最重要的仪表盘在这里"
 
-#: frontend/src/metabase/containers/Overworld.jsx:316
+#: frontend/src/metabase/containers/Overworld.jsx:311
 msgid "Pin dashboards in {0} to have them appear in this space for everyone"
 msgstr "把面板固定在{0}里,使之对所有人可见"
 
@@ -9305,7 +9310,7 @@ msgstr "使用Java虚拟机时区"
 
 #: frontend/src/metabase/admin/databases/components/CreatedDatabaseModal.jsx:29
 msgid "We're currently analyzing the tables and fields to help you explore your data."
-msgstr "正在分析表格和字段,以帮助您浏览数据"
+msgstr "我们现在正在分析数据表和字段来帮助你探索数据"
 
 #: frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx:432
 msgid "Tip: "
@@ -9319,10 +9324,10 @@ msgstr "选择一个统用的类型"
 msgid "Field Type"
 msgstr "字段类型"
 
-#: frontend/src/metabase/admin/routes.jsx:83
-#: frontend/src/metabase/nav/containers/Navbar.jsx:225
+#: frontend/src/metabase/admin/routes.jsx:109
+#: frontend/src/metabase/nav/containers/Navbar.jsx:224
 msgid "Troubleshooting"
-msgstr "分析问题中"
+msgstr "错误排查"
 
 #: frontend/src/metabase/admin/settings/selectors.js:96
 msgid "Enable X-ray features"
@@ -9332,35 +9337,35 @@ msgstr "开启 X-ray 功能"
 msgid "Formatting Options"
 msgstr "格式化"
 
-#: frontend/src/metabase/admin/tasks/containers/TaskModal.jsx:20
+#: frontend/src/metabase/admin/tasks/containers/TaskModal.jsx:19
 msgid "Task details"
 msgstr "任务详情"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:36
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:29
 msgid "Troubleshooting logs"
 msgstr "分析日志"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:38
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:31
 msgid "Trying to get to the bottom of something? This section shows logs of Metabase's background tasks, which can help shed light on what's going on."
 msgstr ""
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:63
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:56
 msgid "Task"
 msgstr "任务"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:64
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:57
 msgid "DB ID"
 msgstr "数据库 ID"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:65
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:58
 msgid "Started at"
 msgstr "开始于"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:66
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:59
 msgid "Ended at"
 msgstr "结束于"
 
-#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:67
+#: frontend/src/metabase/admin/tasks/containers/TasksApp.jsx:60
 msgid "Duration (ms)"
 msgstr "用时"
 
@@ -9368,21 +9373,21 @@ msgstr "用时"
 msgid "Currency"
 msgstr "货币"
 
-#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:163
+#: frontend/src/metabase/pulse/components/PulseEditChannels.jsx:161
 msgid "Pick a user or channel..."
 msgstr "选择一个用户或频道"
 
 #: frontend/src/metabase/visualizations/components/ColumnSettings.jsx:90
 msgid "No formatting settings"
-msgstr "无格式"
+msgstr "无格式化设置"
 
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:81
 msgid "Label for this range (optional)"
-msgstr ""
+msgstr "该范围的标签(可选)"
 
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingGaugeSegments.jsx:93
 msgid "Add a range"
-msgstr ""
+msgstr "添加一个范围"
 
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:26
 msgid "is less than"
@@ -9398,7 +9403,7 @@ msgstr "小于等于"
 
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:29
 msgid "is greater than or equal to"
-msgstr "大于或等于"
+msgstr "大于等于"
 
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:30
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:37
@@ -9413,12 +9418,12 @@ msgstr "不等于"
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:32
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:39
 msgid "is null"
-msgstr "等于空"
+msgstr "为空"
 
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:33
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:40
 msgid "is not null"
-msgstr "不等于空"
+msgstr "不为空"
 
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:41
 msgid "contains"
@@ -9442,11 +9447,11 @@ msgstr ""
 
 #: frontend/src/metabase/visualizations/components/settings/ChartSettingsTableFormatting.jsx:351
 msgid "When a cell in this column…"
-msgstr ""
+msgstr "当这栏内的一个单元格..."
 
 #: frontend/src/metabase/visualizations/lib/errors.js:42
 msgid "This visualization requires you to group by a field."
-msgstr ""
+msgstr "这个可视化需要你按字段分组"
 
 #: frontend/src/metabase/visualizations/lib/settings/column.js:178
 msgid "Date style"
@@ -9458,7 +9463,7 @@ msgstr "日期分隔符"
 
 #: frontend/src/metabase/visualizations/lib/settings/column.js:215
 msgid "Abbreviate names of days and months"
-msgstr "天和月的缩写名称"
+msgstr "日和月的缩写"
 
 #: frontend/src/metabase/visualizations/lib/settings/column.js:225
 msgid "Show the time"
@@ -9486,76 +9491,76 @@ msgstr "货币单位"
 
 #: frontend/src/metabase/visualizations/lib/settings/column.js:319
 msgid "Currency label style"
-msgstr "货币标签样式"
+msgstr "货币标签风格"
 
 #: frontend/src/metabase/visualizations/lib/settings/column.js:337
 msgid "Where to display the unit of currency"
-msgstr "货币单位显示位置"
+msgstr "在哪里显示货币单位"
 
 #: frontend/src/metabase/visualizations/lib/settings/column.js:370
 msgid "Minimum number of decimal places"
-msgstr "小数点后位数"
+msgstr "最少小数位数"
 
 #: frontend/src/metabase/visualizations/lib/settings/graph.js:271
 msgid "Stacked chart type"
-msgstr "堆积图表类型"
+msgstr "堆叠图表类型"
 
 #: frontend/src/metabase/visualizations/lib/settings/graph.js:314
 msgid "Goal label"
-msgstr ""
+msgstr "目标标签"
 
 #: frontend/src/metabase/visualizations/lib/settings/graph.js:322
 msgid "Show trend line"
-msgstr ""
+msgstr "显示趋势线"
 
 #: frontend/src/metabase/visualizations/lib/settings/series.js:67
 msgid "Line style"
-msgstr ""
+msgstr "线条样式"
 
 #: frontend/src/metabase/visualizations/lib/settings/series.js:84
 msgid "Show dots on lines"
-msgstr ""
+msgstr "在线上显示圆圈"
 
 #: frontend/src/metabase/visualizations/lib/settings/series.js:88
 #: frontend/src/metabase/visualizations/lib/settings/series.js:125
 msgid "Auto"
-msgstr ""
+msgstr "自动"
 
 #: frontend/src/metabase/visualizations/lib/settings/series.js:120
 msgid "Which axis?"
-msgstr ""
+msgstr "哪个轴?"
 
 #: frontend/src/metabase/visualizations/visualizations/ComboChart.jsx:16
 msgid "Line + Bar"
-msgstr ""
+msgstr "线状图+条行图"
 
 #: frontend/src/metabase/visualizations/visualizations/ComboChart.jsx:19
 msgid "line and bar chart"
-msgstr ""
+msgstr "线状图和条型图"
 
 #: frontend/src/metabase/visualizations/visualizations/Gauge.jsx:72
 msgid "Gauge visualization requires a number."
-msgstr ""
+msgstr "标尺可视化需要一个数字"
 
 #: frontend/src/metabase/visualizations/visualizations/Gauge.jsx:60
 msgid "Gauge"
-msgstr ""
+msgstr "标尺"
 
 #: frontend/src/metabase/visualizations/visualizations/Gauge.jsx:104
 msgid "Gauge ranges"
-msgstr ""
+msgstr "标尺范围"
 
-#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:91
+#: frontend/src/metabase/visualizations/visualizations/Scalar.jsx:94
 msgid "Field to show"
-msgstr ""
+msgstr "显示的字段"
 
-#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:118
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:121
 msgid "last {0}"
-msgstr ""
+msgstr "上一{0}"
 
-#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:176
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:185
 msgid "{0} was {1} {2}"
-msgstr ""
+msgstr "{0}{2} {1}"
 
 #: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:52
 msgid "Group by a time field to see how this has changed over time"
@@ -9563,11 +9568,11 @@ msgstr ""
 
 #: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:39
 msgid "Switch positive / negative colors?"
-msgstr ""
+msgstr "切换正、负颜色"
 
 #: frontend/src/metabase/visualizations/visualizations/Table.jsx:90
 msgid "Pivot column"
-msgstr ""
+msgstr "透视列"
 
 #: frontend/src/metabase/visualizations/visualizations/Table.jsx:107
 msgid "Cell column"
@@ -9579,11 +9584,11 @@ msgstr "可见列"
 
 #: frontend/src/metabase/visualizations/visualizations/Table.jsx:143
 msgid "Conditional Formatting"
-msgstr "条件格式"
+msgstr "条件格式化"
 
 #: frontend/src/metabase/visualizations/visualizations/Table.jsx:165
 msgid "Column title"
-msgstr "列标题"
+msgstr "列抬头"
 
 #: frontend/src/metabase/visualizations/visualizations/Table.jsx:172
 msgid "Show a mini bar chart"
@@ -9603,15 +9608,15 @@ msgstr "图片"
 
 #: frontend/src/metabase/visualizations/visualizations/Table.jsx:195
 msgid "Automatic"
-msgstr ""
+msgstr "自动"
 
 #: frontend/src/metabase/visualizations/visualizations/Table.jsx:200
 msgid "View as link or image"
-msgstr "查看链接或图像"
+msgstr "以链接或图片查看"
 
 #: frontend/src/metabase/visualizations/visualizations/Table.jsx:210
 msgid "Link text"
-msgstr "链接文本"
+msgstr "链接文字"
 
 #: src/metabase/api/common/internal.clj
 msgid "Not a valid integer: ''{0}''"
@@ -9619,7 +9624,7 @@ msgstr "无效的整数:“{0}”"
 
 #: src/metabase/api/embed.clj
 msgid "Embedding is not enabled for this object."
-msgstr ""
+msgstr "这个对象的嵌入功能没有启用。"
 
 #: src/metabase/api/session.clj
 msgid "Problem connecting to LDAP server, will fallback to local authentication: {0}"
@@ -9651,35 +9656,35 @@ msgstr "分"
 
 #: src/metabase/automagic_dashboards/core.clj
 msgid "hour"
-msgstr ""
+msgstr "小时"
 
 #: src/metabase/automagic_dashboards/core.clj
 msgid "day of week"
-msgstr ""
+msgstr "一周中的天"
 
 #: src/metabase/automagic_dashboards/core.clj
 msgid "day of month"
-msgstr ""
+msgstr "一个月中的天"
 
 #: src/metabase/automagic_dashboards/core.clj
 msgid "day of year"
-msgstr ""
+msgstr "一年中的天"
 
 #: src/metabase/automagic_dashboards/core.clj
 msgid "week"
-msgstr ""
+msgstr "周"
 
 #: src/metabase/automagic_dashboards/core.clj
 msgid "month"
-msgstr ""
+msgstr "月"
 
 #: src/metabase/automagic_dashboards/core.clj
 msgid "quarter"
-msgstr ""
+msgstr "季度"
 
 #: src/metabase/automagic_dashboards/populate.clj
 msgid "Adding {0} cards to dashboard {1}:n{2}"
-msgstr ""
+msgstr "添加 {0} 卡片到仪表盘 {1}:n{2}"
 
 #: src/metabase/automagic_dashboards/rules.clj
 msgid "Error parsing {0}:n{1}"
@@ -9691,7 +9696,7 @@ msgstr ""
 
 #: src/metabase/driver/druid/query_processor.clj
 msgid "WARNING: A date can't belong to multiple discrete intervals, so ANDing them together doesn't make sense."
-msgstr ""
+msgstr "警告:日期不能属于多个离散间隔,因此将它们组合(AND)在一起没有意义。"
 
 #: src/metabase/driver/druid/query_processor.clj
 msgid "Ignoring these intervals: {0}"
@@ -9705,36 +9710,36 @@ msgstr ""
 
 #: src/metabase/driver/druid/query_processor.clj
 msgid "Sorting with Druid is only allowed in queries that have one or more breakout columns. Ignoring :order-by clause."
-msgstr ""
+msgstr "只有具有一个或多个分组列的查询才允许使用Druid进行排序。忽略 :order-by 子句。"
 
 #. TODO - this is not really true, is it
 #: src/metabase/driver/druid/query_processor.clj
 msgid "WARNING: It only makes sense to specify :fields for a query with no aggregation. Ignoring the clause."
-msgstr ""
+msgstr "警告:仅指定没有聚合的查询的 :fields 才有意义。 忽略该子句。"
 
 #: src/metabase/driver/druid/query_processor.clj
 msgid "WARNING: Druid doenst allow limitSpec in timeseries queries. Ignoring the LIMIT clause."
-msgstr ""
+msgstr "警告:Druid在时间序列查询中不允许使用limitSpec。 忽略LIMIT子句。"
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql/query_processor.clj
 msgid "HoneySQL Form:"
-msgstr ""
+msgstr "HoneySQL 表单:"
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql_jdbc/execute.clj
 msgid "Unable to parse date ''{0}''"
 msgstr ""
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql_jdbc/execute.clj
 msgid "Client closed connection, cancelling query"
-msgstr ""
+msgstr "客户端关闭了连接,正在取消查询"
 
-#: src/metabase/driver/generic_sql/query_processor.clj
+#: src/metabase/driver/sql_jdbc/execute.clj
 msgid "Setting timezone with statement: {0}"
-msgstr ""
+msgstr "使用语句设置时区: {0}"
 
 #: src/metabase/driver/googleanalytics/query_processor.clj
 msgid "Multiple date filters are not supported"
-msgstr ""
+msgstr "不支持多个过滤器"
 
 #: src/metabase/driver/googleanalytics/query_processor.clj
 msgid ":not is not yet implemented"
@@ -9758,7 +9763,7 @@ msgstr ""
 
 #: src/metabase/events/activity_feed.clj
 msgid "Error preprocessing query:"
-msgstr ""
+msgstr "预处理查询时出错:"
 
 #: src/metabase/mbql/normalize.clj
 msgid "Illegal filter clause: {0}"
@@ -9766,7 +9771,7 @@ msgstr "非法的过滤条件:{0}"
 
 #: src/metabase/mbql/normalize.clj
 msgid "Invalid clause:"
-msgstr ""
+msgstr "无效的语句:"
 
 #: src/metabase/mbql/util.clj
 msgid "Error: query's source query has not been resolved. You probably need to `preprocess` the query first."
@@ -9798,24 +9803,24 @@ msgstr ""
 
 #: src/metabase/models/permissions.clj
 msgid "You cannot create or revoke permissions for the ''Admin'' group."
-msgstr ""
+msgstr "你不能为“管理员(Admin)”群组创建或撤销权限"
 
 #: src/metabase/models/permissions_group_membership.clj
 msgid "You cannot add or remove users to/from the ''MetaBot'' group."
-msgstr ""
+msgstr "你不能添加或移除’MetaBot‘组的成员"
 
 #: src/metabase/models/permissions_group_membership.clj
 msgid "You cannot add or remove users to/from the ''All Users'' group."
-msgstr ""
+msgstr "你不能添加或移除‘All Users'组的成员"
 
 #: src/metabase/models/permissions_group_membership.clj
 msgid "You cannot remove the last member of the ''Admin'' group!"
-msgstr ""
+msgstr "你不能移除‘Admin’组的最后一个成员"
 
 #. go ahead and log the Exception anyway on the off chance that it *wasn't* just a race condition issue
-#: src/metabase/models/setting.clj
+#: src/metabase/models/setting/cache.clj
 msgid "Error inserting a new Setting: {0}"
-msgstr ""
+msgstr "插入新设置时出错: {0}"
 
 #: src/metabase/models/setting.clj
 msgid "defsetting descriptions strings must be `:internal?` or internationalized, found: `{0}`"
@@ -9827,7 +9832,7 @@ msgstr "加载插件 {0}...{1}"
 
 #: src/metabase/public_settings.clj
 msgid "Object keyed by type, containing formatting settings"
-msgstr ""
+msgstr "按类型键入的对象包含格式设置"
 
 #: src/metabase/public_settings.clj
 msgid "Allow users to explore data using X-rays"
@@ -9835,15 +9840,15 @@ msgstr "允许用户使用X-rays探索数据"
 
 #: src/metabase/public_settings/metastore.clj
 msgid "Using this URL to check token: {0}"
-msgstr ""
+msgstr "使用这个URL来检查token: {0}"
 
 #: src/metabase/public_settings/metastore.clj
 msgid "Unable to validate token: 404 not found."
-msgstr ""
+msgstr "不能验证token:404 not found"
 
 #: src/metabase/public_settings/metastore.clj
 msgid "There was an error checking whether this token was valid:"
-msgstr ""
+msgstr "检查此令牌是否有效时出错:"
 
 #. +----------------------------------------------------------------------------------------------------------------+
 #. |                                             SETTING & RELATED FNS                                              |
@@ -9851,39 +9856,39 @@ msgstr ""
 #. TODO - rename this to premium-features-token?
 #: src/metabase/public_settings/metastore.clj
 msgid "Token for premium features. Go to the MetaStore to get yours!"
-msgstr ""
+msgstr "令牌(Token)为高级功能。 转到MetaStore来获取你的令牌!"
 
 #: src/metabase/public_settings/metastore.clj
 msgid "Token format is invalid. Token should be 64 hexadecimal characters."
-msgstr ""
+msgstr "令牌格式无效。 令牌应为64个十六进制字符。"
 
 #: src/metabase/public_settings/metastore.clj
 msgid "Error setting premium features token"
-msgstr ""
+msgstr "设置高级功能-令牌时出错"
 
 #: src/metabase/public_settings/metastore.clj
 msgid "Error validating token:"
-msgstr ""
+msgstr "验证令牌时出错:"
 
 #: src/metabase/query_processor.clj
 msgid "Error preprocessing query"
-msgstr ""
+msgstr "预处理查询时出错"
 
 #: src/metabase/query_processor.clj
 msgid "No native form returned."
-msgstr ""
+msgstr "没有返回原生表格。"
 
 #: src/metabase/query_processor.clj
 msgid "Invalid response from database driver. No :status provided."
-msgstr ""
+msgstr "数据库驱动程序的响应无效。 无 :status 提供。"
 
 #: src/metabase/query_processor.clj
 msgid "General error"
-msgstr ""
+msgstr "一般错误"
 
 #: src/metabase/query_processor.clj
 msgid "Missing query hash!"
-msgstr ""
+msgstr "缺少查询哈希!"
 
 #: src/metabase/query_processor/middleware/add_implicit_clauses.clj
 msgid "Table ''{0}'' has no Fields associated with it."
@@ -9891,13 +9896,13 @@ msgstr ""
 
 #: src/metabase/query_processor/middleware/add_query_throttle.clj
 msgid "Max concurrent query limit reached"
-msgstr ""
+msgstr "达到最大并发查询限制"
 
 #. we should never reach this if our patterns are written right so this is more to catch code mistakes than
 #. something the user should expect to see
 #: src/metabase/query_processor/middleware/annotate.clj
 msgid "Don't know how to get information about Field:"
-msgstr ""
+msgstr "不知道如何获取有关这个字段的信息:"
 
 #: src/metabase/query_processor/middleware/annotate.clj
 msgid "metabase.query-processor.interface/*driver* is unbound."
@@ -9905,19 +9910,19 @@ msgstr ""
 
 #: src/metabase/query_processor/middleware/annotate.clj
 msgid "Query processor error: mismatched number of columns in query and results."
-msgstr ""
+msgstr "查询处理器错误:查询和结果中的列数不匹配。"
 
 #: src/metabase/query_processor/middleware/annotate.clj
 msgid "Expected {0} fields, got {1}"
-msgstr ""
+msgstr "预期 {0} 个字段,取得 {1} 个"
 
 #: src/metabase/query_processor/middleware/annotate.clj
 msgid "Expected: {0}"
-msgstr ""
+msgstr "预期: {0}"
 
 #: src/metabase/query_processor/middleware/annotate.clj
 msgid "Actual: {0}"
-msgstr ""
+msgstr "实际: {0}"
 
 #: src/metabase/query_processor/middleware/binning.clj
 msgid "Unable to bin Field without a min/max value"
@@ -9937,7 +9942,7 @@ msgstr ""
 
 #: src/metabase/query_processor/middleware/fetch_source_query.clj
 msgid "Missing source query in Card {0}"
-msgstr ""
+msgstr "卡片中缺少源查询 {0}"
 
 #: src/metabase/query_processor/middleware/fetch_source_query.clj
 msgid "Fetched source query from Card {0}:"
@@ -9945,19 +9950,19 @@ msgstr ""
 
 #: src/metabase/query_processor/middleware/mbql_to_native.clj
 msgid "Error transforming MBQL query to native:"
-msgstr ""
+msgstr "将MBQL查询转为本地时出错:"
 
 #: src/metabase/query_processor/middleware/resolve_source_table.clj
 msgid "Cannot run query: could not find source table {0}."
-msgstr ""
+msgstr "无法执行查询:找不到源表 {0} 。"
 
 #: src/metabase/query_processor/middleware/results_metadata.clj
 msgid "Error recording results metadata for query:"
-msgstr ""
+msgstr "记录查询结果元数据时出错:"
 
 #: src/metabase/query_processor/store.clj
 msgid "Error: Query Processor store is not initialized."
-msgstr ""
+msgstr "错误:未初始化查询处理器存储。"
 
 #: src/metabase/query_processor/store.clj
 msgid "Error: Table {0} is not present in the Query Processor Store."
@@ -9973,47 +9978,47 @@ msgstr ""
 
 #: src/metabase/task/task_history_cleanup.clj
 msgid "not"
-msgstr ""
+msgstr "不"
 
 #: src/metabase/util/encryption.clj
 msgid "For more information, see"
-msgstr ""
+msgstr "查看更多信息,看"
 
 #: src/metabase/util/schema.clj
 msgid "Integer greater than or equal to zero"
-msgstr ""
+msgstr "大于等于0的整数"
 
 #: src/metabase/util/schema.clj
 msgid "value must be an integer greater than or equal to zero."
-msgstr ""
+msgstr "值必须是一个大于等于0的整数"
 
 #: src/metabase/util/schema.clj
 msgid "value must be an integer zero or greater."
-msgstr ""
+msgstr "值必须是一个大于等于0的整数"
 
 #: src/metabase/util/schema.clj
 msgid "value must be a valid integer greater than or equal to zero."
-msgstr ""
+msgstr "值必须是一个大于等于0的有效整数"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 msgid "New users per state in the last 30 days"
-msgstr ""
+msgstr "最近30天每州新增用户"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Created At by day of the week"
-msgstr ""
+msgstr "创建于周"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Created At by quarter of the year"
-msgstr ""
+msgstr "创建于第{0}季度"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "[[this.short-name]] per country"
-msgstr ""
+msgstr "[[this.short-name]] 每国家"
 
 #: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
 msgid "Users per source"
-msgstr ""
+msgstr "每来源用户"
 
 #: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
 msgid "The top external pages that brought users to your site"
@@ -10066,15 +10071,15 @@ msgstr ""
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "A look at the [[this]]"
-msgstr ""
+msgstr "看一看 [[this]]"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "Bottom 5 per category"
-msgstr ""
+msgstr "每类的后5个"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Number of orders"
-msgstr ""
+msgstr "订单数"
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "Event growth"
@@ -10086,7 +10091,7 @@ msgstr ""
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Income growth"
-msgstr ""
+msgstr "收入增长"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
 msgid "Top 10 countries by sales in the last 30 days"
@@ -10144,7 +10149,7 @@ msgstr ""
 #: resources/automagic_dashboards/field/Country.yaml
 #: resources/automagic_dashboards/field/GenericField.yaml
 msgid "Null values"
-msgstr ""
+msgstr "空值"
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "Total events"
@@ -10177,7 +10182,7 @@ msgstr ""
 
 #: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
 msgid "Income per state"
-msgstr ""
+msgstr "每州收入"
 
 #: resources/automagic_dashboards/table/UserTable.yaml
 msgid "Per [[GenericCategoryMedium]]"
@@ -10185,7 +10190,7 @@ msgstr ""
 
 #: resources/automagic_dashboards/question/GenericQuestion.yaml
 msgid "A closer look at your [[this]]"
-msgstr ""
+msgstr "细看你的 [[this]]"
 
 #: resources/automagic_dashboards/table/UserTable.yaml
 msgid "How [[GenericNumber]] is distributed"
@@ -10233,7 +10238,7 @@ msgstr ""
 
 #: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
 msgid "Total orders per source"
-msgstr ""
+msgstr "分来源订单总数"
 
 #: resources/automagic_dashboards/field/DateTime.yaml
 msgid "[[this]] by quarter of the year"
@@ -10345,11 +10350,11 @@ msgstr ""
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Total income"
-msgstr ""
+msgstr "总收入"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Total income per month"
-msgstr ""
+msgstr "每月总收入"
 
 #: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
 msgid "Number of users per source"
@@ -10373,7 +10378,7 @@ msgstr ""
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Average discount %"
-msgstr ""
+msgstr "平均折扣%"
 
 #: resources/automagic_dashboards/table/example.yaml
 msgid "Autogenerated metrics about [[GenericTable]]."
@@ -10393,7 +10398,7 @@ msgstr ""
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Sales per product"
-msgstr ""
+msgstr "每类产品销售额"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
 msgid "Users in each country"
@@ -10418,7 +10423,7 @@ msgstr ""
 #: resources/automagic_dashboards/field/Number.yaml
 #: resources/automagic_dashboards/table/GenericTable.yaml
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
-msgid "How they compare across location"
+msgid "How they compare acrosss location"
 msgstr ""
 
 #: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
@@ -10431,7 +10436,7 @@ msgstr ""
 
 #: resources/automagic_dashboards/table/UserTable.yaml
 msgid "Per country"
-msgstr ""
+msgstr "每个国家"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
 msgid "A deeper look at how different countries are performing for you."
@@ -10483,7 +10488,7 @@ msgstr ""
 #: resources/automagic_dashboards/table/EventTable.yaml
 #: resources/automagic_dashboards/table/UserTable.yaml
 msgid "Overview"
-msgstr ""
+msgstr "总览"
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "How this metric is distributed across different categories"
@@ -10503,7 +10508,7 @@ msgstr ""
 
 #: resources/automagic_dashboards/table/example.yaml
 msgid "Total income by month"
-msgstr ""
+msgstr "按月收入总额"
 
 #: resources/automagic_dashboards/field/Number.yaml
 msgid "A breakdown of your [[this]] over time, and its min, max, average and more."
@@ -10531,7 +10536,7 @@ msgstr ""
 
 #: resources/automagic_dashboards/table/example.yaml
 msgid "Some breakdown"
-msgstr ""
+msgstr "一些故障"
 
 #: resources/automagic_dashboards/field/Number.yaml
 msgid "Average of [[this]] by [[State]]"
@@ -10543,7 +10548,7 @@ msgstr ""
 
 #: resources/automagic_dashboards/table/UserTable.yaml
 msgid "By coordinates"
-msgstr ""
+msgstr "根据经纬度坐标"
 
 #: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
 msgid "Heres a closer look at your [[this]] by products"
@@ -10625,7 +10630,7 @@ msgstr ""
 
 #: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
 msgid "Top 10 countries by sales"
-msgstr ""
+msgstr "销售额前10国家"
 
 #: resources/automagic_dashboards/table/example.yaml
 msgid "Sales by state"
@@ -10653,7 +10658,7 @@ msgstr ""
 
 #: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
 msgid "Average income per country"
-msgstr ""
+msgstr "每个国家平均收入"
 
 #: resources/automagic_dashboards/comparison/State.yaml
 #: resources/automagic_dashboards/comparison/FK.yaml
@@ -10744,11 +10749,11 @@ msgstr ""
 
 #: resources/automagic_dashboards/metric/GenericMetric.yaml
 msgid "Over time"
-msgstr ""
+msgstr "所有时间"
 
 #: resources/automagic_dashboards/table/EventTable.yaml
 msgid "A summary of the events in your [[this]] table"
-msgstr ""
+msgstr "[[this]]表中事件的摘要"
 
 #: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
 msgid "Transactions per source over time"
@@ -10795,7 +10800,7 @@ msgstr ""
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Average transaction income per month"
-msgstr ""
+msgstr "月均交易收入"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Average quantity per month"
@@ -10852,7 +10857,7 @@ msgstr ""
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Sales for each product category"
-msgstr ""
+msgstr "每产品分类销售"
 
 #: resources/automagic_dashboards/question/GenericQuestion.yaml
 msgid "A closer look at the metrics and dimensions used in this saved question."
@@ -11097,11 +11102,11 @@ msgstr ""
 
 #: resources/automagic_dashboards/field/Number.yaml
 msgid "Summary statistics"
-msgstr ""
+msgstr "摘要统计"
 
 #: resources/automagic_dashboards/table/TransactionTable.yaml
 msgid "Sales per month"
-msgstr ""
+msgstr "每月销售"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "[[GenericNumber]] by join date"
@@ -11113,7 +11118,7 @@ msgstr ""
 
 #: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
 msgid "[[this]] over time"
-msgstr ""
+msgstr "[[this]] 所有时间"
 
 #: resources/automagic_dashboards/table/GenericTable.yaml
 msgid "Join date by day of the week"
@@ -11129,103 +11134,103 @@ msgstr ""
 
 #: src/metabase/api/geojson.clj
 msgid "Unable to parse resource `{0}` as JSON"
-msgstr ""
+msgstr "无法将资源`{0}`解析为JSON格式"
 
 #: src/metabase/api/geojson.clj
 msgid "Unable to find JSON via relative path `{0}`"
-msgstr ""
+msgstr "找不到JSON `{0}`"
 
 #: src/metabase/api/geojson.clj
 msgid "Connection to host timed out for URL `{0}`"
-msgstr ""
+msgstr "建立连接至主机超时:`{0}`"
 
 #: src/metabase/api/geojson.clj
 msgid "Unable to connect to unknown host at URL `{0}`"
-msgstr ""
+msgstr "无法连接到未知主机:`{0}`"
 
 #: src/metabase/api/geojson.clj
 msgid "Unable to connect to host at URL `{0}`"
-msgstr ""
+msgstr "无法连接至主机:`{0}`"
 
 #: src/metabase/api/geojson.clj
 msgid "Connection refused by host at for URL `{0}`"
-msgstr ""
+msgstr "连接被主机拒绝:`{0}`"
 
 #: src/metabase/api/geojson.clj
 msgid "Unable to retrieve resource at URL `{0}`"
-msgstr ""
+msgstr "无法获取资源:`{0}`"
 
 #: src/metabase/api/geojson.clj
 msgid "Unable to parse resource at URL `{0}` as JSON"
-msgstr ""
+msgstr "无法将对应资源转换为JSON格式:`{0}`"
 
 #: src/metabase/api/session.clj
 msgid "Problem connecting to LDAP server, will fall back to local authentication: {0}"
-msgstr ""
+msgstr "无法连接到配置的LDAP服务器,改为使用本地鉴权:{0}"
 
 #: src/metabase/driver/bigquery.clj
 msgid "BigQuery statements can''t be parameterized!"
-msgstr ""
+msgstr "BigQuery语句无法被参数化!"
 
 #: src/metabase/driver/druid/query_processor.clj
 msgid "WARNING: Druid does not allow limitSpec in time series queries. Ignoring the LIMIT clause."
-msgstr ""
+msgstr "警告:Druid不支持在时间序列的查询中使用Limit语句。忽略Limit关键字。"
 
 #: src/metabase/driver/snowflake.clj
 msgid "Invalid Snowflake connection details: missing DB name."
-msgstr ""
+msgstr "无效的Snowflake连接详情:缺少DB名"
 
 #: src/metabase/email/messages.clj
 msgid "We’d love your feedback."
-msgstr ""
+msgstr "我们需要您的反馈。"
 
 #: src/metabase/email/messages.clj
 msgid "It looks like Metabase wasn’t quite a match for you."
-msgstr ""
+msgstr "看起来似乎Metabase不是很适合您使用。"
 
 #: src/metabase/email/messages.clj
 msgid "Would you mind taking a fast 5 question survey to help the Metabase team understand why and make things better in the future?"
-msgstr ""
+msgstr "为了帮助Metabase团队改进产品,请参与完成包含5个简单问题的调查,谢谢。"
 
 #: src/metabase/email/messages.clj
 msgid "We hope you''ve been enjoying Metabase."
-msgstr ""
+msgstr "我们希望您能对Metabase满意。"
 
 #: src/metabase/email/messages.clj
 msgid "Would you mind taking a fast 6 question survey to tell us how it’s going?"
-msgstr ""
+msgstr "您是否愿意帮助我们来快速填写一个有着6个问题的调查问卷?"
 
 #: src/metabase/email/messages.clj
 msgid "{0} created a Metabase account"
-msgstr ""
+msgstr "{0}创建了一个Metabase账号"
 
 #: src/metabase/email/messages.clj
 msgid "{0} accepted their Metabase invite"
-msgstr ""
+msgstr "{0}接受了Metabase的邀请"
 
 #: src/metabase/email/messages.clj
 msgid "[Metabase] Password Reset Request"
-msgstr ""
+msgstr "[Metabase] 重置密码请求"
 
 #: src/metabase/email/messages.clj
 msgid "[Metabase] Notification"
-msgstr ""
+msgstr "[Metabase] 通知"
 
 #: src/metabase/email/messages.clj
 msgid "[Metabase] Help make Metabase better."
-msgstr ""
+msgstr "[Metabase] 帮助Metabase变得更好"
 
 #: src/metabase/email/messages.clj
 msgid "[Metabase] Tell us how things are going."
-msgstr ""
+msgstr "[Metabase] 使用反馈"
 
 #: src/metabase/mbql/util.clj
 msgid "Error: query''s source query has not been resolved. You probably need to `preprocess` the query first."
-msgstr ""
+msgstr "错误:查询语句无法解析,请先验证查询语句的正确性。"
 
 #: src/metabase/models/params.clj
 msgid "Don't know what to do with:"
-msgstr ""
+msgstr "不知道要做什么:"
 
 #: src/metabase/models/params.clj
 msgid "Don't know how to wrap:"
@@ -11233,11 +11238,11 @@ msgstr ""
 
 #: src/metabase/public_settings.clj
 msgid "Failed setting `query-caching-max-kb` to {0}."
-msgstr ""
+msgstr "设置参数query-caching-max-kb为{0}失败。"
 
 #: src/metabase/public_settings.clj
 msgid "Values greater than {1} are not allowed."
-msgstr ""
+msgstr "不允许设置大于{1}的值。"
 
 #: src/metabase/query_processor/middleware/resolve_database.clj
 msgid "Database {0} does not exist."
@@ -11245,29 +11250,1076 @@ msgstr "数据库 {0} 不存在。"
 
 #: src/metabase/query_processor/store.clj
 msgid "Error: Database is not present in the Query Processor Store."
-msgstr ""
+msgstr "错误:数据库在查询处理仓库中不存在。"
 
 #: src/metabase/util/embed.clj
 msgid "Invalid embedding-secret-key! Secret key must be a hexadecimal-encoded 256-bit key (i.e., a 64-character string)."
-msgstr ""
+msgstr "错误的内置密钥!密钥必须为长度为256个比特的16进制编码的字符串(比如,64个字符的字符串)。"
 
 #: src/metabase/util/embed.clj
 msgid "JWT is missing `alg`."
-msgstr ""
+msgstr "JWT 确少 `alg`"
 
 #: src/metabase/util/embed.clj
 msgid "JWT `alg` cannot be `none`."
-msgstr ""
+msgstr "JWT的`alg`不能为`none`"
 
 #: src/metabase/util/embed.clj
 msgid "The embedding secret key has not been set."
-msgstr ""
+msgstr "内置密钥没有被设置。"
 
 #: src/metabase/util/embed.clj
 msgid "Token is missing value for keypath"
-msgstr ""
+msgstr "令牌(Token)的keypath的值缺失。"
 
 #: resources/automagic_dashboards/table/example/indepth.yaml
 msgid "In-depth example"
+msgstr "有内涵的例子"
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:29
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:17
+msgid "Key"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:30
+msgid "Class"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:32
+msgid "Triggers"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:48
+msgid "View triggers"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobInfoApp.jsx:82
+msgid "Scheduler Info"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:20
+msgid "Priority"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:21
+msgid "Last Fired"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:22
+msgid "Next Fire Time"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:23
+msgid "Start Time"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:24
+msgid "End Time"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:25
+msgid "Final Fire Time"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:26
+msgid "May Fire Again?"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/JobTriggersModal.jsx:75
+msgid "Triggers for {0}"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:25
+msgid "Tasks"
+msgstr ""
+
+#: frontend/src/metabase/admin/tasks/containers/TroubleshootingApp.jsx:30
+msgid "Jobs"
+msgstr ""
+
+#: frontend/src/metabase/components/CollectionLanding.jsx:740
+msgid "Duplicated {0}"
+msgstr ""
+
+#: frontend/src/metabase/components/EntityItem.jsx:55
+msgid "Duplicate this item"
+msgstr ""
+
+#: frontend/src/metabase/components/EntityItem.jsx:61
+msgid "Archive this item"
+msgstr ""
+
+#: frontend/src/metabase/dashboard/components/DashboardHeader.jsx:330
+msgid "Duplicate dashboard"
+msgstr ""
+
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:16
+msgid "Duplicate \"{0}\""
+msgstr ""
+
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:21
+#: frontend/src/metabase/entities/containers/EntityCopyModal.jsx:26
+msgid "Duplicate"
+msgstr ""
+
+#: frontend/src/metabase/lib/query_time.js:115
+msgid "Tomorrow"
+msgstr ""
+
+#: frontend/src/metabase/lib/query_time.js:129
+#: frontend/src/metabase/lib/query_time.js:143
+msgid "This {0}"
+msgstr ""
+
+#: frontend/src/metabase/lib/query_time.js:132
+msgid "Next {0}"
+msgstr ""
+
+#: frontend/src/metabase/lib/query_time.js:135
+msgid "Previous {0}"
+msgstr ""
+
+#: frontend/src/metabase/lib/query_time.js:139
+msgid "Previous {0} {1}"
+msgstr ""
+
+#: frontend/src/metabase/lib/query_time.js:141
+msgid "Next {0} {1}"
+msgstr ""
+
+#: frontend/src/metabase/lib/query_time.js:171
+msgid "Now"
+msgstr ""
+
+#: frontend/src/metabase/lib/query_time.js:174
+msgid "{0} {1} ago"
+msgstr ""
+
+#: frontend/src/metabase/lib/query_time.js:175
+msgid "{0} {1} from now"
+msgstr ""
+
+#: frontend/src/metabase/lib/query_time.js:187
+msgid "Default period"
+msgid_plural "Default periods"
+msgstr[0] ""
+
+#: frontend/src/metabase/lib/query_time.js:203
+msgid "Minute of hour"
+msgid_plural "Minutes of hour"
+msgstr[0] ""
+
+#: frontend/src/metabase/lib/query_time.js:205
+msgid "Hour of day"
+msgid_plural "Hours of day"
+msgstr[0] ""
+
+#: frontend/src/metabase/lib/query_time.js:207
+msgid "Day of week"
+msgid_plural "Days of week"
+msgstr[0] ""
+
+#: frontend/src/metabase/lib/query_time.js:209
+msgid "Day of month"
+msgid_plural "Days of month"
+msgstr[0] ""
+
+#: frontend/src/metabase/lib/query_time.js:211
+msgid "Day of year"
+msgid_plural "Days of year"
+msgstr[0] ""
+
+#: frontend/src/metabase/lib/query_time.js:213
+msgid "Week of year"
+msgid_plural "Weeks of year"
+msgstr[0] ""
+
+#: frontend/src/metabase/lib/query_time.js:215
+msgid "Month of year"
+msgid_plural "Months of year"
+msgstr[0] ""
+
+#: frontend/src/metabase/lib/query_time.js:217
+msgid "Quarter of year"
+msgid_plural "Quarters of year"
+msgstr[0] ""
+
+#: frontend/src/metabase/parameters/components/widgets/CategoryWidget.jsx:62
+#: frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget.jsx:58
+#: frontend/src/metabase/query_builder/components/Filter.jsx:79
+msgid "{0} selection"
+msgid_plural "{0} selections"
+msgstr[0] ""
+
+#: frontend/src/metabase/parameters/components/widgets/DateQuarterYearWidget.jsx:11
+msgid "[Q]Q"
+msgstr ""
+
+#: frontend/src/metabase/parameters/components/widgets/DateRelativeWidget.jsx:28
+msgid "This"
+msgstr ""
+
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:64
+#: frontend/src/metabase/query_builder/components/AggregationName.jsx:96
+msgid "Invalid"
+msgstr ""
+
+#: frontend/src/metabase/query_builder/components/filters/pickers/SpecificDatePicker.jsx:147
+msgid "Add a time"
+msgstr ""
+
+#: frontend/src/metabase/visualizations/visualizations/SmartScalar.jsx:170
+msgid "Nothing to compare for the previous {0}."
+msgstr ""
+
+#: frontend/src/metabase-lib/lib/Dimension.js:517
+msgid "by {0}"
+msgstr ""
+
+#: src/metabase/api/database.clj
+msgid "value must be a valid database engine."
+msgstr ""
+
+#: src/metabase/api/geojson.clj
+msgid "Connection refused by host for URL `{0}`"
+msgstr ""
+
+#: src/metabase/db.clj
+msgid "Warning: Postgres connection string with `ssl=true` detected."
+msgstr ""
+
+#: src/metabase/db.clj
+msgid "You may need to add `?sslmode=require` to your application DB connection string."
+msgstr ""
+
+#: src/metabase/db.clj
+msgid "If Metabase fails to launch, please add it and try again."
+msgstr ""
+
+#: src/metabase/db.clj
+msgid "See https://github.com/metabase/metabase/issues/8908 for more details."
+msgstr ""
+
+#: src/metabase/db.clj
+msgid "WARNING: Using Metabase with an H2 application database is not recomended for production deployments."
+msgstr ""
+
+#: src/metabase/db.clj
+msgid "For production deployments, we highly recommend using Postgres, MySQL, or MariaDB instead."
+msgstr ""
+
+#: src/metabase/db.clj
+msgid "If you decide to continue to use H2, please be sure to back up the database file regularly."
+msgstr ""
+
+#: src/metabase/db.clj
+msgid "See https://metabase.com/docs/latest/operations-guide/start.html#migrating-from-using-the-h2-database-to-mysql-or-postgres for more information."
+msgstr ""
+
+#: src/metabase/db.clj
+msgid "Unable to connect to Metabase {0} DB."
+msgstr ""
+
+#: src/metabase/db/migrations.clj
+msgid "Error adding legacy SQL directive to BigQuery saved Question"
+msgstr ""
+
+#: src/metabase/driver.clj
+msgid "Failed to notify {0} Database {1} updated"
+msgstr ""
+
+#: src/metabase/driver.clj
+msgid "Loading driver {0} {1}"
+msgstr ""
+
+#: src/metabase/driver.clj
+msgid "Load driver {0}"
+msgstr ""
+
+#: src/metabase/driver.clj
+msgid "Driver not registered after loading: {0}"
+msgstr ""
+
+#: src/metabase/driver.clj
+msgid "Error: attempting to change {0} property `:abstract?` from {1} to {2}."
+msgstr ""
+
+#: src/metabase/driver.clj
+msgid "Registered abstract driver {0}"
+msgstr ""
+
+#: src/metabase/driver.clj
+msgid "Registered driver {0}"
+msgstr ""
+
+#: src/metabase/driver.clj
+msgid "(parents: {0})"
+msgstr ""
+
+#: src/metabase/driver.clj
+msgid "Initializing driver {0}..."
+msgstr ""
+
+#: src/metabase/driver.clj
+msgid "Reason:"
+msgstr ""
+
+#: src/metabase/driver.clj
+msgid "Invalid driver feature: {0}"
+msgstr ""
+
+#: src/metabase/driver/sql/query_processor.clj
+msgid "Invalid HoneySQL form:"
+msgstr ""
+
+#: src/metabase/driver/sql_jdbc/connection.clj
+msgid "Closing connection pool for database {0} ..."
+msgstr ""
+
+#: src/metabase/driver/util.clj
+msgid "Error loading namespace"
+msgstr ""
+
+#: src/metabase/events.clj
+msgid "Starting events listener:"
+msgstr ""
+
+#: src/metabase/events.clj
+msgid "Unexpected error listening on events"
+msgstr ""
+
+#: src/metabase/events/sync_database.clj
+msgid "Error syncing Database {0}"
+msgstr ""
+
+#: src/metabase/events/sync_database.clj
+msgid "Failed to process sync-database event."
+msgstr ""
+
+#: src/metabase/mbql/util.clj
+msgid "Bad nested-query-level: query does not have a source query"
+msgstr ""
+
+#: src/metabase/metabot/command.clj
+msgid "I don''t know how to `{0}`."
+msgstr ""
+
+#: src/metabase/metabot/command.clj
+msgid "Here''s what I can do: "
+msgstr ""
+
+#: src/metabase/metabot/slack.clj
+msgid "Error in Metabot command"
+msgstr ""
+
+#: src/metabase/metabot/websocket.clj
+msgid "Websocket associated with this Slack event is different from the websocket we're currently using."
+msgstr ""
+
+#: src/metabase/models/field_values.clj
+msgid "FieldValues for Field {0} remain unchanged. Skipping..."
+msgstr ""
+
+#: src/metabase/models/interface.clj
+msgid "Unable to normalize:"
+msgstr ""
+
+#: src/metabase/models/params.clj
+msgid "Could not find matching Field ID for target:"
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid "Metabase does not have permissions to write to plugins directory {0}"
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid "Metabase cannot use the plugins directory {0}"
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid "Please make sure the directory exists and that Metabase has permission to write to it."
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid "You can change the directory Metabase uses for modules by setting the environment variable MB_PLUGINS_DIR."
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid "Falling back to a temporary directory for now."
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid "Metabase cannot write to temporary directory. Please set MB_PLUGINS_DIR to a writable directory and restart Metabase."
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid "spark-deps.jar is no longer needed by Metabase 1.0+. You can delete it from the plugins directory."
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid "Failied to initialize plugin {0}"
+msgstr ""
+
+#: src/metabase/plugins.clj
+msgid "Loading plugins in {0}..."
+msgstr ""
+
+#: src/metabase/plugins/classloader.clj
+msgid "Using Clojure base loader as shared context classloader: {0}"
+msgstr ""
+
+#: src/metabase/plugins/classloader.clj
+msgid "Setting current thread context classloader to shared classloader {0}..."
+msgstr ""
+
+#. it's important that we deref the promise again here instead of using the one we just created because it is
+#. possible thru a race condition that somebody else delivered the promise before we did; in that case,
+#. Clojure ignores subsequent calls to `deliver`. Dereffing the promise guarantees that we'll get the actual
+#. value of it rather than one that ends up getting discarded
+#: src/metabase/plugins/classloader.clj
+msgid "Setting current thread context classloader to NEWLY CREATED classloader {0}..."
+msgstr ""
+
+#: src/metabase/plugins/classloader.clj
+msgid "Added URL {0} to classpath"
+msgstr ""
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugin {0} declares a dependency that Metabase does not understand: {1}"
+msgstr ""
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Refer to the plugin manifest reference for a complete list of valid plugin dependencies:"
+msgstr ""
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Metabase cannot initialize plugin {0} due to required dependencies."
+msgstr ""
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Class not found: {0}"
+msgstr ""
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugin ''{0}'' depends on plugin ''{1}''"
+msgstr ""
+
+#: src/metabase/plugins/dependencies.clj
+msgid "{0} dependency {1} satisfied? {2}"
+msgstr ""
+
+#: src/metabase/plugins/dependencies.clj
+msgid "Plugins with unsatisfied deps: {0}"
+msgstr ""
+
+#: src/metabase/plugins/files.clj
+msgid "Extract file {0} -> {1}"
+msgstr ""
+
+#: src/metabase/plugins/files.clj
+msgid "Resource does not exist."
+msgstr ""
+
+#: src/metabase/plugins/init_steps.clj
+msgid "Loading plugin namespace {0}..."
+msgstr ""
+
+#: src/metabase/plugins/initialize.clj
+msgid "Dependencies satisfied; these plugins will now be loaded: {0}"
+msgstr ""
+
+#: src/metabase/plugins/jdbc_proxy.clj
+msgid "Registering JDBC proxy driver for {0}..."
+msgstr ""
+
+#: src/metabase/plugins/jdbc_proxy.clj
+msgid "Deregistering original JDBC driver {0}..."
+msgstr ""
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Default connection property {0} does not exist."
+msgstr ""
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Invalid connection property {0}: not a string or map."
+msgstr ""
+
+#. ok, do the init steps listed in the plugin mainfest
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Load lazy loading driver {0}"
+msgstr ""
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Cannot initialize plugin: missing required property `driver-name`"
+msgstr ""
+
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Warning: plugin manifest for {0} does not include connection properties"
+msgstr ""
+
+#. finally, register the Metabase driver
+#: src/metabase/plugins/lazy_loaded_driver.clj
+msgid "Registering lazy loading driver {0}..."
+msgstr ""
+
+#: src/metabase/pulse.clj
+msgid "Error running query for Card {0}"
+msgstr ""
+
+#: src/metabase/pulse/render.clj
+msgid "Last week"
+msgstr ""
+
+#: src/metabase/pulse/render.clj
+msgid "This week"
+msgstr ""
+
+#: src/metabase/pulse/render.clj
+msgid "Last month"
+msgstr ""
+
+#: src/metabase/pulse/render.clj
+msgid "This month"
+msgstr ""
+
+#: src/metabase/pulse/render.clj
+msgid "Last quarter"
+msgstr ""
+
+#: src/metabase/pulse/render.clj
+msgid "This quarter"
+msgstr ""
+
+#: src/metabase/pulse/render.clj
+msgid "Last year"
+msgstr ""
+
+#: src/metabase/pulse/render.clj
+msgid "This year"
+msgstr ""
+
+#: src/metabase/query_processor/middleware/annotate.clj
+msgid "*driver* is unbound."
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields.clj
+msgid "Error syncing Fields for Table ''{0}''"
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields.clj
+msgid "Hash of {0} matches stored hash, skipping Fields sync"
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/common.clj
+msgid "Field"
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Error checking if Fields {0} need to be created or reactivated"
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Marking Field ''{0}'' as inactive."
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/sync_instances.clj
+msgid "Error retiring {0}"
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Database type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Base type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Special type of {0} has changed from ''{1}'' to ''{2}''."
+msgstr ""
+
+#: src/metabase/sync/sync_metadata/fields/sync_metadata.clj
+msgid "Comment has been added for {0}."
+msgstr ""
+
+#: src/metabase/task.clj
+msgid "Stopping Quartz Scheduler {0}"
+msgstr ""
+
+#: src/metabase/task.clj
+msgid "Starting Quartz Scheduler {0}"
+msgstr ""
+
+#: src/metabase/task.clj
+msgid "Error loading tasks namespace {0}"
+msgstr ""
+
+#. don't bother logging namespace for now, maybe in the future if there's tasks of the same name in multiple
+#. namespaces we can log it
+#: src/metabase/task.clj
+msgid "Initializing task {0}"
+msgstr ""
+
+#: src/metabase/task.clj
+msgid "Error initializing task {0}"
+msgstr ""
+
+#: src/metabase/task/follow_up_emails.clj
+msgid "Problem sending abandonment email"
+msgstr ""
+
+#: src/metabase/task/send_anonymous_stats.clj
+msgid "Sending anonymous usage stats."
+msgstr ""
+
+#: src/metabase/task/send_anonymous_stats.clj
+msgid "Error sending anonymous usage stats"
+msgstr ""
+
+#: src/metabase/task/send_pulses.clj
+msgid "Error sending Pulse {0}"
+msgstr ""
+
+#: src/metabase/task/send_pulses.clj
+msgid "Sending scheduled pulses..."
+msgstr ""
+
+#: src/metabase/task/send_pulses.clj
+msgid "SendPulses task failed"
+msgstr ""
+
+#: src/metabase/task/sync_databases.clj
+msgid "Failed to scheduler tasks for Database {0}"
+msgstr ""
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Cleaning up task history"
+msgstr ""
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Task history cleanup successful, rows were deleted"
+msgstr ""
+
+#: src/metabase/task/task_history_cleanup.clj
+msgid "Task history cleanup successful, no rows were deleted"
+msgstr ""
+
+#: src/metabase/task/upgrade_checks.clj
+msgid "Checking for new Metabase version info."
+msgstr ""
+
+#: src/metabase/task/upgrade_checks.clj
+msgid "Error fetching version info"
+msgstr ""
+
+#: src/metabase/util.clj
+msgid "Maximum memory available to JVM: {0}"
+msgstr ""
+
+#: src/metabase/util.clj
+msgid "Not something with an ID: {0}"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by month of the year"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "Here's a quick look at your [[this]]"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by hour of the day"
+msgstr ""
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Where you've acquired your users"
+msgstr ""
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How it's distributed across time and other categories."
+msgstr ""
+
+#: resources/automagic_dashboards/table/TransactionTable/BySource.yaml
+msgid "Here's a closer look at your [[this]] per source"
+msgstr ""
+
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "Here's a quick look at the [[this]]"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by day of the month"
+msgstr ""
+
+#: resources/automagic_dashboards/table/UserTable.yaml
+msgid "Here's an overview of the people in your [[this]]"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by quarter of the year"
+msgstr ""
+
+#: resources/automagic_dashboards/field/Number.yaml
+#: resources/automagic_dashboards/table/GenericTable.yaml
+#: resources/automagic_dashboards/metric/GenericMetric.yaml
+msgid "How they compare across location"
+msgstr ""
+
+#: resources/automagic_dashboards/table/TransactionTable/ByProduct.yaml
+msgid "Here's a closer look at your [[this]] by products"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by month of the year"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "An overview of your [[this]] and how it's distributed across time, place, and categories."
+msgstr ""
+
+#: resources/automagic_dashboards/field/DateTime.yaml
+#: resources/automagic_dashboards/question/GenericQuestion.yaml
+msgid "Here's a closer look at your [[this]]"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTimestamp]] by day of the week"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GoogleAnalyticsTable.yaml
+msgid "Here's an overview of your [[this]] data from Google Analytics"
+msgstr ""
+
+#: resources/automagic_dashboards/field/State.yaml
+#: resources/automagic_dashboards/field/GenericField.yaml
+#: resources/automagic_dashboards/comparison/State.yaml
+#: resources/automagic_dashboards/comparison/FK.yaml
+#: resources/automagic_dashboards/comparison/Country.yaml
+#: resources/automagic_dashboards/comparison/GenericField.yaml
+msgid "Here's an overview of your [[this]]"
+msgstr ""
+
+#: resources/automagic_dashboards/field/Country.yaml
+msgid "Here's a closer look at your [[this]] field"
+msgstr ""
+
+#: resources/automagic_dashboards/table/TransactionTable/ByCountry.yaml
+msgid "Here's a closer look at your [[this]] per country"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable/Correlations.yaml
+msgid "If you're into correlations, this is the x-ray for you."
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by day of the week"
+msgstr ""
+
+#: resources/automagic_dashboards/table/TransactionTable.yaml
+msgid "It looks like your [[this]] has transactions, so here's a look at them"
+msgstr ""
+
+#: resources/automagic_dashboards/table/TransactionTable/ByState.yaml
+msgid "Here's a closer look at your [[this]] per state"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by day of the month"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateTime]] by hour of the day"
+msgstr ""
+
+#: resources/automagic_dashboards/table/TransactionTable/Seasonality.yaml
+msgid "Here's a closer look at your [[this]] over time"
+msgstr ""
+
+#: resources/automagic_dashboards/table/GenericTable.yaml
+msgid "[[CreateDate]] by quarter of the year"
+msgstr ""
+
+#: frontend/src/metabase/admin/people/containers/EditUserModal.jsx:12
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:200
+msgid "Edit user"
+msgstr ""
+
+#: frontend/src/metabase/admin/people/containers/NewUserModal.jsx:13
+msgid "New user"
+msgstr ""
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:204
+#: frontend/src/metabase/admin/people/containers/UserPasswordResetModal.jsx:69
+msgid "Reset password"
+msgstr ""
+
+#: frontend/src/metabase/admin/people/containers/PeopleListingApp.jsx:209
+msgid "Deactivate user"
+msgstr ""
+
+#: frontend/src/metabase/admin/people/containers/UserActivationModal.jsx:47
+msgid "Reactivate {0}?"
+msgstr ""
+
+#: frontend/src/metabase/admin/people/containers/UserSuccessModal.jsx:63
+msgid "We couldn’t send them an email invitation, so make sure to tell them to log in using {0} and this password we’ve generated for them:"
+msgstr ""
+
+#: frontend/src/metabase/entities/collections.js:21
+msgid "collection"
+msgstr ""
+
+#: frontend/src/metabase/entities/collections.js:22
+msgid "collections"
+msgstr ""
+
+#: frontend/src/metabase/entities/dashboards.js:29
+msgid "dashboard"
+msgstr ""
+
+#: frontend/src/metabase/entities/dashboards.js:30
+msgid "dashboards"
+msgstr ""
+
+#: frontend/src/metabase/entities/users.js:125
+msgid "First name is required"
+msgstr ""
+
+#: frontend/src/metabase/entities/users.js:126
+#: frontend/src/metabase/entities/users.js:133
+msgid "Must be 100 characters or less"
+msgstr ""
+
+#: frontend/src/metabase/entities/users.js:132
+msgid "Last name is required"
+msgstr ""
+
+#: frontend/src/metabase/entities/users.js:138
+msgid "Email is required"
+msgstr ""
+
+#: frontend/src/metabase/home/containers/ArchiveApp.jsx:90
+msgid "Items you archive will appear here."
+msgstr ""
+
+#: frontend/src/metabase/query_builder/components/dataref/DetailPane.jsx:16
+msgid "No description"
+msgstr ""
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:175
+msgid "Sum of all values"
+msgstr ""
+
+#: frontend/src/metabase/query_builder/components/dataref/FieldPane.jsx:183
+msgid "See all distinct values"
+msgstr ""
+
+#: frontend/src/metabase/query_builder/components/dataref/MainPane.jsx:12
+msgid "Browse the contents of your databases, tables, and columns. Pick a database to get started"
+msgstr ""
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is VALID. Thanks!"
+msgstr ""
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is INVALID. Running query to fetch correct metadata."
+msgstr ""
+
+#: src/metabase/api/card.clj
+msgid "Card results metadata passed in to API is  ISSING. Running query to fetch correct metadata."
+msgstr ""
+
+#: src/metabase/api/email.clj
+msgid "{0} was autocorrected to {1}"
+msgstr ""
+
+#: src/metabase/api/metric.clj
+msgid "DELETE /api/metric/:id is deprecated. Instead, change its `archived` value via PUT /api/metric/:id."
+msgstr ""
+
+#: src/metabase/api/segment.clj
+msgid "DELETE /api/segment/:id is deprecated. Instead, change its `archived` value via PUT /api/segment/:id."
+msgstr ""
+
+#: src/metabase/api/user.clj
+msgid "Value of is_superuser must correspond to presence of Admin group ID in group_ids."
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "Unexpected error writing keepalive characters"
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "Unexpected output in async API response"
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "starting streaming response"
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "Output chan closed, canceling keepalive request."
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "Async response finished, closing channels."
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "No response after waiting {0}. Canceling request."
+msgstr ""
+
+#: src/metabase/async/api_response.clj
+msgid "Input channel unexpectedly closed."
+msgstr ""
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "f finished, permit will be returned"
+msgstr ""
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "request canceled, permit will be returned"
+msgstr ""
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Unexpected error attempting to run function after obtaining permit"
+msgstr ""
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Not running pending function call: output channel already closed."
+msgstr ""
+
+#: src/metabase/async/semaphore_channel.clj
+msgid "Current thread already has a permit for {0}, will not wait to acquire another"
+msgstr ""
+
+#: src/metabase/async/util.clj
+msgid "Output channel closed, will skip running {0}."
+msgstr ""
+
+#: src/metabase/async/util.clj
+msgid "Running {0} on separate thread..."
+msgstr ""
+
+#: src/metabase/async/util.clj
+msgid "Caught error running {0}"
+msgstr ""
+
+#: src/metabase/async/util.clj
+msgid "Request canceled, canceling future"
+msgstr ""
+
+#: src/metabase/driver/sql_jdbc/connection.clj
+msgid "Closing old connection pool for database {0} ..."
+msgstr ""
+
+#: src/metabase/metabot/command.clj
+msgid "Here''s your {0} most recent cards:"
+msgstr ""
+
+#: src/metabase/metabot/command.clj
+msgid "Could you be a little more specific, or use the ID? I found these cards with names that matched:"
+msgstr ""
+
+#: src/metabase/metabot/command.clj
+msgid "Card {0} not found."
+msgstr ""
+
+#: src/metabase/middleware/exceptions.clj
+msgid "Exception in API call"
+msgstr ""
+
+#: src/metabase/middleware/exceptions.clj
+msgid "Request canceled before finishing."
+msgstr ""
+
+#: src/metabase/middleware/json.clj
+msgid "Metabase only supports JSON requests."
+msgstr ""
+
+#: src/metabase/middleware/json.clj
+msgid "Make sure you set a 'Content-Type: application/json' header."
+msgstr ""
+
+#: src/metabase/middleware/misc.clj
+msgid "Setting Metabase site URL to {0}"
+msgstr ""
+
+#: src/metabase/models/database.clj
+msgid "Error scheduling tasks for DB"
+msgstr ""
+
+#: src/metabase/models/database.clj
+msgid "Error unscheduling tasks for DB."
+msgstr ""
+
+#: src/metabase/models/database.clj
+msgid "{0} Database ''{1}'' sync/analyze schedules have changed!"
+msgstr ""
+
+#: src/metabase/models/database.clj
+msgid "Sync metadata was: ''{0}'' is now: ''{1}''"
+msgstr ""
+
+#: src/metabase/models/database.clj
+msgid "Cache FieldValues was: ''{0}'', is now: ''{1}''"
+msgstr ""
+
+#: src/metabase/models/metric.clj
+msgid "You cannot update the creator_id of a Metric."
+msgstr ""
+
+#: src/metabase/models/permissions.clj
+msgid "MetaBot can only have Collection permissions."
+msgstr ""
+
+#: src/metabase/models/permissions.clj
+msgid "Failed to grant permissions"
+msgstr ""
+
+#: src/metabase/models/permissions.clj
+msgid "Changing permissions"
+msgstr ""
+
+#: src/metabase/models/permissions.clj
+msgid "FROM:"
+msgstr ""
+
+#: src/metabase/models/permissions.clj
+msgid "TO:"
+msgstr ""
+
+#: src/metabase/models/segment.clj
+msgid "You cannot update the creator_id of a Segment."
+msgstr ""
+
+#: src/metabase/models/setting.clj
+msgid "Attempted to set Setting {0} to obfuscated value. Ignoring change."
+msgstr ""
+
+#: src/metabase/models/setting.clj
+msgid "Using value of env var {0}"
+msgstr ""
+
+#: src/metabase/models/user.clj
+msgid "Adding User {0} to All Users permissions group..."
+msgstr ""
+
+#: src/metabase/models/user.clj
+msgid "Adding User {0} to Admin permissions group..."
+msgstr ""
+
+#: src/metabase/query_processor.clj
+msgid "Query failure"
+msgstr ""
+
+#: src/metabase/query_processor/async.clj
+msgid "Maximum number of simultaneous queries to allow per connected Database."
+msgstr ""
+
+#: src/metabase/util.clj
+msgid "Timed out after {0} milliseconds."
 msgstr ""
 
diff --git a/modules/drivers/bigquery/src/metabase/driver/bigquery.clj b/modules/drivers/bigquery/src/metabase/driver/bigquery.clj
index a7aa9d5e0ece735d243ebb7730aa24ddf21dfd41..204f263793c45a97cb942e46d6fa63e05adc7351 100644
--- a/modules/drivers/bigquery/src/metabase/driver/bigquery.clj
+++ b/modules/drivers/bigquery/src/metabase/driver/bigquery.clj
@@ -147,6 +147,7 @@
     "DATETIME"  :type/DateTime
     "TIMESTAMP" :type/DateTime
     "TIME"      :type/Time
+    "NUMERIC"   :type/Decimal
     :type/*))
 
 (defn- table-schema->metabase-field-info [^TableSchema schema]
@@ -217,6 +218,7 @@
   {"BOOLEAN"   (constantly #(Boolean/parseBoolean %))
    "FLOAT"     (constantly #(Double/parseDouble %))
    "INTEGER"   (constantly #(Long/parseLong %))
+   "NUMERIC"   (constantly #(bigdec %))
    "RECORD"    (constantly identity)
    "STRING"    (constantly identity)
    "DATE"      parse-timestamp-str
@@ -504,12 +506,12 @@
     (time/time-zone-for-id (.getID jvm-tz))
     time/utc))
 
-(defmethod driver/execute-query :bigquery [_ {{sql :query, params :params, :keys [table-name mbql?]} :native
-                                              :as                                                    outer-query}]
+(defmethod driver/execute-query :bigquery [driver {{sql :query, params :params, :keys [table-name mbql?]} :native
+                                                   :as                                                    outer-query}]
   (let [database (qp.store/database)]
     (binding [*bigquery-timezone* (effective-query-timezone database)]
       (let [sql (str "-- " (qputil/query->remark outer-query) "\n" (if (seq params)
-                                                                     (unprepare/unprepare (cons sql params))
+                                                                     (unprepare/unprepare driver (cons sql params))
                                                                      sql))]
         (process-native* database sql)))))
 
diff --git a/modules/drivers/bigquery/test/metabase/driver/bigquery_test.clj b/modules/drivers/bigquery/test/metabase/driver/bigquery_test.clj
index be726da68acdc94893151a80de0002a800a7907c..75315afb626aa1692d4f9b321a056ac74efe2af7 100644
--- a/modules/drivers/bigquery/test/metabase/driver/bigquery_test.clj
+++ b/modules/drivers/bigquery/test/metabase/driver/bigquery_test.clj
@@ -160,9 +160,9 @@
        "ORDER BY `name` ASC")
   ;; normally for test purposes BigQuery doesn't support foreign keys so override the function that checks that and
   ;; make it return `true` so this test proceeds as expected
-  (with-redefs [driver/supports?                (constantly true)]
-    (tu/with-temp-vals-in-db 'Field (data/id :venues :category_id) {:fk_target_field_id (data/id :categories :id)
-                                                                    :special_type       "type/FK"}
+  (with-redefs [driver/supports? (constantly true)]
+    (tu/with-temp-vals-in-db Field (data/id :venues :category_id) {:fk_target_field_id (data/id :categories :id)
+                                                                   :special_type       "type/FK"}
       (let [results (qp/process-query
                      {:database (data/id)
                       :type     "query"
diff --git a/modules/drivers/bigquery/test/metabase/test/data/bigquery.clj b/modules/drivers/bigquery/test/metabase/test/data/bigquery.clj
index 0f2d0721a32ae5075a18ca65c92f0b30df8c00ab..8e817cb3a725e0be2f02c5ebfe9a7eab9099cc1f 100644
--- a/modules/drivers/bigquery/test/metabase/test/data/bigquery.clj
+++ b/modules/drivers/bigquery/test/metabase/test/data/bigquery.clj
@@ -137,7 +137,7 @@
    :type/Date           :TIMESTAMP
    :type/DateTime       :TIMESTAMP
    :type/DateTimeWithTZ :TIMESTAMP
-   :type/Decimal        :FLOAT
+   :type/Decimal        :NUMERIC
    :type/Dictionary     :RECORD
    :type/Float          :FLOAT
    :type/Integer        :INTEGER
diff --git a/modules/drivers/oracle/src/metabase/driver/oracle.clj b/modules/drivers/oracle/src/metabase/driver/oracle.clj
index 6bdfeb7d17e4ade9d56cf6610c3de6bb577b3415..3ed2764b3f7bb53f1a7800f903e23063cd70eaf6 100644
--- a/modules/drivers/oracle/src/metabase/driver/oracle.clj
+++ b/modules/drivers/oracle/src/metabase/driver/oracle.clj
@@ -13,10 +13,13 @@
              [execute :as sql-jdbc.execute]
              [sync :as sql-jdbc.sync]]
             [metabase.driver.sql.query-processor :as sql.qp]
+            [metabase.driver.sql.util.unprepare :as unprepare]
             [metabase.util
+             [date :as du]
              [honeysql-extensions :as hx]
              [ssh :as ssh]])
-  (:import [java.sql ResultSet Types]))
+  (:import [java.sql ResultSet Types]
+           java.util.Date))
 
 (driver/register! :oracle, :parent :sql-jdbc)
 
@@ -327,3 +330,6 @@
 ;; instead of returning a CLOB object, return the String. (#9026)
 (defmethod sql-jdbc.execute/read-column [:oracle Types/CLOB] [_ _, ^ResultSet resultset, _, ^Integer i]
   (.getString resultset i))
+
+(defmethod unprepare/unprepare-value [:oracle Date] [_ value]
+  (format "timestamp '%s'" (du/format-date "yyyy-MM-dd hh:mm:ss.SSS ZZ" value)))
diff --git a/modules/drivers/oracle/test/metabase/driver/oracle_test.clj b/modules/drivers/oracle/test/metabase/driver/oracle_test.clj
index 2440ff936769d2573b72e4631c15e0b36130b96a..a5c9901543b11712db020001a094abc8a1007382 100644
--- a/modules/drivers/oracle/test/metabase/driver/oracle_test.clj
+++ b/modules/drivers/oracle/test/metabase/driver/oracle_test.clj
@@ -1,7 +1,7 @@
 (ns metabase.driver.oracle-test
   "Tests for specific behavior of the Oracle driver."
   (:require [clojure.java.jdbc :as jdbc]
-            [expectations :refer :all]
+            [expectations :refer [expect]]
             [metabase
              [driver :as driver]
              [query-processor :as qp]
diff --git a/modules/drivers/oracle/test/metabase/test/data/oracle.clj b/modules/drivers/oracle/test/metabase/test/data/oracle.clj
index ed534826d24a7d7eb447bd9ff33e8e69e0ca727f..a50415267b26377897ff758965fa74979bf1c4c9 100644
--- a/modules/drivers/oracle/test/metabase/test/data/oracle.clj
+++ b/modules/drivers/oracle/test/metabase/test/data/oracle.clj
@@ -46,6 +46,10 @@
 (defmethod sql.tx/field-base-type->sql-type [:oracle :type/Integer]    [_ _] "INTEGER")
 (defmethod sql.tx/field-base-type->sql-type [:oracle :type/Text]       [_ _] "VARCHAR2(4000)")
 
+;; If someone tries to run Time column tests with Oracle give them a heads up that Oracle does not support it
+(defmethod sql.tx/field-base-type->sql-type [:oracle :type/Time] [_ _]
+  (throw (UnsupportedOperationException. "Oracle does not have a TIME data type.")))
+
 (defmethod sql.tx/drop-table-if-exists-sql :oracle [_ {:keys [database-name]} {:keys [table-name]}]
   (format "BEGIN
              EXECUTE IMMEDIATE 'DROP TABLE \"%s\".\"%s\" CASCADE CONSTRAINTS'â…‹
diff --git a/modules/drivers/presto/src/metabase/driver/presto.clj b/modules/drivers/presto/src/metabase/driver/presto.clj
index dc1a4110cd37bc83ef7308d6e07a2b9121837a2f..349f0add4cb4a0d8125e579a163a27bf83b24282 100644
--- a/modules/drivers/presto/src/metabase/driver/presto.clj
+++ b/modules/drivers/presto/src/metabase/driver/presto.clj
@@ -247,14 +247,19 @@
   [_ [_ value]]
   (hx/cast :time (time->str value (driver/report-timezone))))
 
-(defmethod driver/execute-query :presto [_ {database-id                  :database
-                                            :keys                        [settings]
-                                            {sql :query, params :params} :native
-                                            query-type                   :type
-                                            :as                          outer-query}]
+(defmethod unprepare/unprepare-value [:presto Date] [_ value]
+  (unprepare/unprepare-date-with-iso-8601-fn :from_iso8601_timestamp value))
+
+(prefer-method unprepare/unprepare-value [:sql Time] [:presto Date])
+
+(defmethod driver/execute-query :presto [driver {database-id                  :database
+                                                 :keys                        [settings]
+                                                 {sql :query, params :params} :native
+                                                 query-type                   :type
+                                                 :as                          outer-query}]
   (let [sql                    (str "-- "
                                     (qputil/query->remark outer-query) "\n"
-                                    (unprepare/unprepare (cons sql params) :quote-escape "'", :iso-8601-fn :from_iso8601_timestamp))
+                                    (unprepare/unprepare driver (cons sql params)))
         details                (merge (:details (qp.store/database))
                                       settings)
         {:keys [columns rows]} (execute-presto-query! details sql)
diff --git a/modules/drivers/presto/test/metabase/test/data/presto.clj b/modules/drivers/presto/test/metabase/test/data/presto.clj
index 97aa12557ceeffd42d8cc04a19e0f617dd484f33..77b495cda1fa862c971fb48806d288f17f90f19c 100644
--- a/modules/drivers/presto/test/metabase/test/data/presto.clj
+++ b/modules/drivers/presto/test/metabase/test/data/presto.clj
@@ -77,7 +77,7 @@
                               (hsql/format :allow-dashed-names? true, :quoting :ansi))]
     (if (nil? params)
       query
-      (unprepare/unprepare (cons query params) :quote-escape "'", :iso-8601-fn :from_iso8601_timestamp))))
+      (unprepare/unprepare :presto (cons query params)))))
 
 (defmethod tx/create-db! :presto
   [driver {:keys [table-definitions database-name] :as dbdef} & {:keys [skip-drop-db?]}]
diff --git a/modules/drivers/redshift/test/metabase/test/data/redshift.clj b/modules/drivers/redshift/test/metabase/test/data/redshift.clj
index 5ab1436d7b7b45eedebea5e0583c61f494652fb3..740c78a3ed4cfc7831906202f88dbb31cb90a151 100644
--- a/modules/drivers/redshift/test/metabase/test/data/redshift.clj
+++ b/modules/drivers/redshift/test/metabase/test/data/redshift.clj
@@ -20,6 +20,10 @@
 (defmethod sql.tx/field-base-type->sql-type [:redshift :type/Integer]    [_ _] "INTEGER")
 (defmethod sql.tx/field-base-type->sql-type [:redshift :type/Text]       [_ _] "TEXT")
 
+;; If someone tries to run Time column tests with Redshift give them a heads up that Redshift does not support it
+(defmethod sql.tx/field-base-type->sql-type [:redshift :type/Time] [_ _]
+  (throw (UnsupportedOperationException. "Redshift does not have a TIME data type.")))
+
 (def ^:private db-connection-details
   (delay {:host     (tx/db-test-env-var-or-throw :redshift :host)
           :port     (Integer/parseInt (tx/db-test-env-var-or-throw :redshift :port "5439"))
diff --git a/modules/drivers/snowflake/src/metabase/driver/snowflake.clj b/modules/drivers/snowflake/src/metabase/driver/snowflake.clj
index 586dc3a362965b503739a918f583390e69dc97a1..6917bb01b601f8aa838ceab4316c219c69a6f363 100644
--- a/modules/drivers/snowflake/src/metabase/driver/snowflake.clj
+++ b/modules/drivers/snowflake/src/metabase/driver/snowflake.clj
@@ -17,15 +17,18 @@
              [execute :as sql-jdbc.execute]
              [sync :as sql-jdbc.sync]]
             [metabase.driver.sql.query-processor :as sql.qp]
+            [metabase.driver.sql.util.unprepare :as unprepare]
             [metabase.models
              [field :refer [Field]]
              [table :refer [Table]]]
             [metabase.query-processor.store :as qp.store]
             [metabase.util
+             [date :as du]
              [honeysql-extensions :as hx]
              [i18n :refer [tru]]]
             [toucan.db :as db])
   (:import java.sql.Time
+           java.util.Date
            net.snowflake.client.jdbc.SnowflakeSQLException))
 
 (driver/register! :snowflake, :parent :sql-jdbc)
@@ -209,3 +212,8 @@
            (catch SnowflakeSQLException e
              (log/error e (tru "Snowflake Database does not exist."))
              false)))))
+
+(defmethod unprepare/unprepare-value [:snowflake Date] [_ value]
+  (format "timestamp '%s'" (du/date->iso-8601 value)))
+
+(prefer-method unprepare/unprepare-value [:sql Time] [:snowflake Date])
diff --git a/modules/drivers/sparksql/src/metabase/driver/hive_like.clj b/modules/drivers/sparksql/src/metabase/driver/hive_like.clj
index 1da4bc71827f8e9b3b30d61bad1a713d152a6a7f..b97546112cd625d6f686d2c30db66e77fb823ada 100644
--- a/modules/drivers/sparksql/src/metabase/driver/hive_like.clj
+++ b/modules/drivers/sparksql/src/metabase/driver/hive_like.clj
@@ -1,5 +1,6 @@
 (ns metabase.driver.hive-like
   (:require [clojure.java.jdbc :as jdbc]
+            [clojure.string :as str]
             [honeysql
              [core :as hsql]
              [format :as hformat]]
@@ -12,9 +13,11 @@
             [metabase.models
              [field :refer [Field]]
              [table :refer [Table]]]
-            [metabase.util.honeysql-extensions :as hx]
+            [metabase.util
+             [date :as du]
+             [honeysql-extensions :as hx]]
             [toucan.db :as db])
-  (:import java.sql.PreparedStatement java.util.Date))
+  (:import [java.sql PreparedStatement Time] java.util.Date))
 
 (driver/register! :hive-like, :parent :sql-jdbc, :abstract? true)
 
@@ -127,15 +130,14 @@
   [_ _ connection query]
   (run-query query connection))
 
-(defmethod hformat/fn-handler "hive-like-from-unixtime" [_ datetime-literal]
+(defmethod unprepare/unprepare-value [:hive-like Date] [_ value]
   (hformat/to-sql
    (hsql/call :from_unixtime
      (hsql/call :unix_timestamp
-       datetime-literal
+       (hx/literal (du/date->iso-8601 value))
        (hx/literal "yyyy-MM-dd\\\\'T\\\\'HH:mm:ss.SSS\\\\'Z\\\\'")))))
 
-(defn unprepare
-  "Convert a normal SQL `[statement & prepared-statement-args]` vector into a flat, non-prepared statement.
-   Deals with iso-8601-fn in a Hive compatible way"
-  [sql-and-args]
-  (unprepare/unprepare sql-and-args :iso-8601-fn :hive-like-from-unixtime))
+(prefer-method unprepare/unprepare-value [:sql Time] [:hive-like Date])
+
+(defmethod unprepare/unprepare-value [:hive-like String] [_ value]
+  (str \' (str/replace value "'" "\\\\'") \'))
diff --git a/modules/drivers/sparksql/src/metabase/driver/sparksql.clj b/modules/drivers/sparksql/src/metabase/driver/sparksql.clj
index 447cc2f2ed2614ef5a324f72f5b6b1b84be5607d..6c857e8e987b8cc0b306d4910d38c7a1f9c6c772 100644
--- a/modules/drivers/sparksql/src/metabase/driver/sparksql.clj
+++ b/modules/drivers/sparksql/src/metabase/driver/sparksql.clj
@@ -16,6 +16,7 @@
              [execute :as sql-jdbc.execute]
              [sync :as sql-jdbc.sync]]
             [metabase.driver.sql.query-processor :as sql.qp]
+            [metabase.driver.sql.util.unprepare :as unprepare]
             [metabase.mbql.util :as mbql.u]
             [metabase.models.field :refer [Field]]
             [metabase.query-processor
@@ -118,7 +119,7 @@
   (let [query (-> (assoc query
                     :remark (qputil/query->remark outer-query)
                     :query  (if (seq (:params query))
-                              (hive-like/unprepare (cons (:query query) (:params query)))
+                              (unprepare/unprepare driver (cons (:query query) (:params query)))
                               (:query query))
                     :max-rows (mbql.u/query->max-rows-limit outer-query))
                   (dissoc :params))]
diff --git a/modules/drivers/sparksql/test/metabase/test/data/sparksql.clj b/modules/drivers/sparksql/test/metabase/test/data/sparksql.clj
index 383f1ad48c48636e8bc17c34d3383aa11d92fa81..7b2e7345d022c46bbdea725c0d5dcf7aa5cebd63 100644
--- a/modules/drivers/sparksql/test/metabase/test/data/sparksql.clj
+++ b/modules/drivers/sparksql/test/metabase/test/data/sparksql.clj
@@ -7,6 +7,7 @@
              [helpers :as h]]
             [metabase.driver.hive-like :as hive-like]
             [metabase.driver.sql.query-processor :as sql.qp]
+            [metabase.driver.sql.util.unprepare :as unprepare]
             [metabase.test.data
              [interface :as tx]
              [sql :as sql.tx]
@@ -28,6 +29,10 @@
 (defmethod sql.tx/field-base-type->sql-type [:sparksql :type/Integer]    [_ _] "INTEGER")
 (defmethod sql.tx/field-base-type->sql-type [:sparksql :type/Text]       [_ _] "STRING")
 
+;; If someone tries to run Time column tests with SparkSQL give them a heads up that SparkSQL does not support it
+(defmethod sql.tx/field-base-type->sql-type [:sparksql :type/Time] [_ _]
+  (throw (UnsupportedOperationException. "SparkSQL does not have a TIME data type.")))
+
 (defmethod tx/format-name :sparksql [_ s]
   (s/replace s #"-" "_"))
 
@@ -61,11 +66,12 @@
                         (sql.qp/->honeysql driver value)))
         hsql-form   (-> (h/insert-into (prepare-key table-name))
                         (h/values values))
-        sql+args    (hive-like/unprepare
+        sql+args    (unprepare/unprepare
+                     driver
                      (hx/unescape-dots (binding [hformat/*subquery?* false]
                                          (hsql/format hsql-form
-                                                      :quoting             (sql.qp/quote-style driver)
-                                                      :allow-dashed-names? false))))]
+                                           :quoting             (sql.qp/quote-style driver)
+                                           :allow-dashed-names? false))))]
     (with-open [conn (jdbc/get-connection spec)]
       (try
         (.setAutoCommit conn false)
diff --git a/modules/drivers/sqlserver/src/metabase/driver/sqlserver.clj b/modules/drivers/sqlserver/src/metabase/driver/sqlserver.clj
index 34f9feae4e67ea3d16c28d1824014fd5560b5c73..520dc2da15ac82673975aa888d776c4ce4a6826f 100644
--- a/modules/drivers/sqlserver/src/metabase/driver/sqlserver.clj
+++ b/modules/drivers/sqlserver/src/metabase/driver/sqlserver.clj
@@ -10,9 +10,13 @@
              [connection :as sql-jdbc.conn]
              [sync :as sql-jdbc.sync]]
             [metabase.driver.sql.query-processor :as sql.qp]
+            [metabase.driver.sql.util.unprepare :as unprepare]
             [metabase.query-processor.interface :as qp.i]
-            [metabase.util.honeysql-extensions :as hx])
-  (:import java.sql.Time))
+            [metabase.util
+             [date :as du]
+             [honeysql-extensions :as hx]])
+  (:import java.sql.Time
+           java.util.Date))
 
 (driver/register! :sqlserver, :parent :sql-jdbc)
 
@@ -223,3 +227,8 @@
 
 (defmethod sql-jdbc.sync/excluded-schemas :sqlserver [_]
   #{"sys" "INFORMATION_SCHEMA"})
+
+(defmethod unprepare/unprepare-value [:sqlserver Date] [_ value]
+  (format "cast('%s' AS datetime)" (du/date->iso-8601 value)))
+
+(prefer-method unprepare/unprepare-value [:sqlserver Date] [:sql Time])
diff --git a/modules/drivers/vertica/src/metabase/driver/vertica.clj b/modules/drivers/vertica/src/metabase/driver/vertica.clj
index 17a439f00a37ac68680cf567a0e7836c3ec735ab..e706d3aa83f2b50c7388a762b0875a1938d585cd 100644
--- a/modules/drivers/vertica/src/metabase/driver/vertica.clj
+++ b/modules/drivers/vertica/src/metabase/driver/vertica.clj
@@ -11,10 +11,13 @@
              [execute :as sql-jdbc.execute]
              [sync :as sql-jdbc.sync]]
             [metabase.driver.sql.query-processor :as sql.qp]
+            [metabase.driver.sql.util.unprepare :as unprepare]
             [metabase.util
              [date :as du]
              [honeysql-extensions :as hx]
-             [i18n :refer [trs]]]))
+             [i18n :refer [trs]]])
+  (:import java.sql.Time
+           java.util.Date))
 
 (driver/register! :vertica, :parent :sql-jdbc)
 
@@ -65,7 +68,7 @@
 
 (def ^:private extract-integer (comp hx/->integer extract))
 
-(def ^:private ^:const one-day (hsql/raw "INTERVAL '1 day'"))
+(def ^:private one-day (hsql/raw "INTERVAL '1 day'"))
 
 (defmethod sql.qp/date [:vertica :default]         [_ _ expr] expr)
 (defmethod sql.qp/date [:vertica :minute]          [_ _ expr] (date-trunc :minute expr))
@@ -114,3 +117,8 @@
   (apply driver.common/current-db-time args))
 
 (defmethod sql-jdbc.execute/set-timezone-sql :vertica [_] "SET TIME ZONE TO %s;")
+
+(defmethod unprepare/unprepare-value [:vertica Date] [_ value]
+  (format "timestamp '%s'" (du/date->iso-8601 value)))
+
+(prefer-method unprepare/unprepare-value [:sql Time] [:vertica Date])
diff --git a/project.clj b/project.clj
index cd653c89fa08682c1457c11fe42d8f0b4c3c5092..b225ea7ffda2065815978a97a586b331387de48b 100644
--- a/project.clj
+++ b/project.clj
@@ -39,7 +39,7 @@
    [org.clojure/core.memoize "0.7.1"]                                 ; needed by core.match; has useful FIFO, LRU, etc. caching mechanisms
    [org.clojure/data.csv "0.1.4"]                                     ; CSV parsing / generation
    [org.clojure/java.classpath "0.3.0"]                               ; examine the Java classpath from Clojure programs
-   [org.clojure/java.jdbc "0.7.8"]                                    ; basic JDBC access from Clojure
+   [org.clojure/java.jdbc "0.7.9"]                                    ; basic JDBC access from Clojure
    [org.clojure/math.combinatorics "0.1.4"]                           ; combinatorics functions
    [org.clojure/math.numeric-tower "0.0.4"]                           ; math functions like `ceil`
    [org.clojure/tools.logging "0.4.1"]                                ; logging framework
@@ -73,7 +73,7 @@
    [com.jcraft/jsch "0.1.55"]                                         ; SSH client for tunnels
    [com.h2database/h2 "1.4.197"]                                      ; embedded SQL database
    [com.mattbertolini/liquibase-slf4j "2.0.0"]                        ; Java Migrations lib logging. We don't actually use this AFAIK (?)
-   [com.mchange/c3p0 "0.9.5.2"]                                       ; connection pooling library
+   [com.mchange/c3p0 "0.9.5.3"]                                       ; connection pooling library
    [com.taoensso/nippy "2.14.0"]                                      ; Fast serialization (i.e., GZIP) library for Clojure
    [compojure "1.6.1" :exclusions [ring/ring-codec]]                  ; HTTP Routing library built on Ring
    [crypto-random "1.2.0"]                                            ; library for generating cryptographically secure random bytes and strings
@@ -109,7 +109,7 @@
    [redux "0.1.4"]                                                    ; Utility functions for building and composing transducers
    [ring/ring-core "1.7.1"]
    [ring/ring-jetty-adapter "1.7.1"]                                  ; Ring adapter using Jetty webserver (used to run a Ring server for unit tests)
-   [org.eclipse.jetty/jetty-server "9.4.14.v20181114"]                ; We require JDK 8 which allows us to run Jetty 9.4, ring-jetty-adapter runs on 1.7 which forces an older version
+   [org.eclipse.jetty/jetty-server "9.4.15.v20190215"]                ; We require JDK 8 which allows us to run Jetty 9.4, ring-jetty-adapter runs on 1.7 which forces an older version
    [ring/ring-json "0.4.0"]                                           ; Ring middleware for reading/writing JSON automatically
    [stencil "0.5.0"]                                                  ; Mustache templates for Clojure
    [toucan "1.11.0" :exclusions [org.clojure/java.jdbc honeysql]]]    ; Model layer, hydration, and DB utilities
@@ -117,28 +117,26 @@
   :main ^:skip-aot metabase.core
 
   ;; TODO - WHAT DOES THIS DO?
-  :manifest {"Liquibase-Package"
-             #= (eval
-                 (str "liquibase.change,liquibase.changelog,liquibase.database,liquibase.parser,liquibase.precondition,"
-                      "liquibase.datatype,liquibase.serializer,liquibase.sqlgenerator,liquibase.executor,"
-                      "liquibase.snapshot,liquibase.logging,liquibase.diff,liquibase.structure,"
-                      "liquibase.structurecompare,liquibase.lockservice,liquibase.sdk,liquibase.ext"))}
-
-  :target-path "target/%s"
+  :manifest
+  {"Liquibase-Package"
+   #=(eval
+      (str "liquibase.change,liquibase.changelog,liquibase.database,liquibase.parser,liquibase.precondition,"
+           "liquibase.datatype,liquibase.serializer,liquibase.sqlgenerator,liquibase.executor,"
+           "liquibase.snapshot,liquibase.logging,liquibase.diff,liquibase.structure,"
+           "liquibase.structurecompare,liquibase.lockservice,liquibase.sdk,liquibase.ext"))}
 
   :jvm-opts
   ["-XX:+IgnoreUnrecognizedVMOptions"                                 ; ignore things not recognized for our Java version instead of refusing to start
    "-Xverify:none"                                                    ; disable bytecode verification when running in dev so it starts slightly faster
    "-Djava.awt.headless=true"]                                        ; prevent Java icon from randomly popping up in dock when running `lein ring server`
 
-  :javac-options ["-target" "1.8", "-source" "1.8"]
-  :uberjar-name "metabase.jar"
+  :target-path "target/%s"
 
-  :ring
-  {:handler      metabase.core/app
-   :init         metabase.core/init!
-   :destroy      metabase.core/destroy
-   :reload-paths ["src"]}
+  :javac-options
+  ["-target" "1.8", "-source" "1.8"]
+
+  :uberjar-name
+  "metabase.jar"
 
   :profiles
   {:dev
@@ -148,13 +146,7 @@
      [ring/ring-mock "0.3.2"]]
 
     :plugins
-    [[docstring-checker "1.0.3"]                                      ; Check that all public vars have docstrings. Run with 'lein docstring-checker'
-     [jonase/eastwood "0.3.1"
-      :exclusions [org.clojure/clojure]]                              ; Linting
-     [lein-bikeshed "0.4.1"]                                          ; Linting
-     [lein-check-namespace-decls "1.0.1"]                             ; lints namespace declarations
-     [lein-environ "1.1.0"]                                           ; easy access to environment variables
-     [lein-expectations "0.0.8"]]                                     ; run unit tests with 'lein expectations'
+    [[lein-environ "1.1.0"]]                                          ; easy access to environment variables
 
     :env      {:mb-run-mode "dev"}
     :jvm-opts ["-Dlogfile.path=target/log"]
@@ -179,10 +171,18 @@
    :run
    [:exclude-tests {}]
 
+   ;; start the HTTP server with 'lein ring server'
    :ring
    [:exclude-tests
-    {:dependencies
-     [[lein-ring "0.12.5" :exclusions [org.clojure/clojure]]]}]       ; start the HTTP server with 'lein ring server'
+    {:plugins
+     [[lein-ring "0.12.5" :exclusions [org.clojure/clojure]]]
+
+     :ring
+     {:handler      metabase.handler/app
+      :init         metabase.core/init!
+      :async?       true
+      :destroy      metabase.core/destroy
+      :reload-paths ["src"]}}]
 
    :with-include-drivers-middleware
    {:plugins
@@ -193,7 +193,11 @@
 
    :expectations
    [:with-include-drivers-middleware
-    {:injections
+    {:plugins
+     [[lein-expectations "0.0.8"
+       :exclusions [expectations]]]
+
+     :injections
      [(require 'metabase.test-setup                                   ; for test setup stuff
                'metabase.test.util)]                                  ; for the toucan.util.test default values for temp models
 
@@ -221,19 +225,27 @@
    [:include-all-drivers]
 
    :bikeshed
-   [:include-all-drivers]
+   [:include-all-drivers
+    {:plugins [[lein-bikeshed "0.4.1"]]}]
 
    :eastwood
    [:include-all-drivers
-    {:eastwood
+    {:plugins
+     [[jonase/eastwood "0.3.1" :exclusions [org.clojure/clojure]]]
+
+     :eastwood
      {:exclude-namespaces [:test-paths]
       :config-files       ["./test_resources/eastwood-config.clj"]
       :add-linters        [:unused-private-vars
                            :unused-namespaces
-                           ;; These linters are pretty useful but give a few false positives and can't be selectively disabled (yet)
+                           ;; These linters are pretty useful but give a few false positives and can't be selectively
+                           ;; disabled (yet)
+                           ;;
                            ;; For example see https://github.com/jonase/eastwood/issues/193
-                           ;; It's still useful to re-enable them and run them every once in a while because they catch a lot of actual errors too. Keep an eye on the issue above
-                           ;; and re-enable them if we can get them to work
+                           ;
+                           ;; It's still useful to re-enable them and run them every once in a while because they catch
+                           ;; a lot of actual errors too. Keep an eye on the issue above and re-enable them if we can
+                           ;; get them to work
                            #_:unused-fn-args
                            #_:unused-locals]
       ;; Turn this off temporarily until we finish removing self-deprecated functions & macros
@@ -244,16 +256,21 @@
    [:include-all-drivers
     {:global-vars {*warn-on-reflection* true}}]
 
+   ;; Check that all public vars have docstrings. Run with 'lein docstring-checker'
    :docstring-checker
    [:include-all-drivers
-    {:docstring-checker
+    {:plugins
+     [[docstring-checker "1.0.3"]]
+
+     :docstring-checker
      {:include [#"^metabase"]
       :exclude [#"test"
                 #"^metabase\.http-client$"]}}]
 
    :check-namespace-decls
    [:include-all-drivers
-    {:source-paths          ["test"]
+    {:plugins               [[lein-check-namespace-decls "1.0.2"]]
+     :source-paths          ["test"]
      :check-namespace-decls {:prefix-rewriting true}}]
 
    ;; build the uberjar with `lein uberjar`
diff --git a/resources/locales.clj b/resources/locales.clj
index ae9bca5ae71d8211038ddc040dd4afc35d9592ad..132368c0a1989d8673e43331280673e216a4129a 100644
--- a/resources/locales.clj
+++ b/resources/locales.clj
@@ -1,5 +1,5 @@
 {
-  :locales  #{"en" "de" "es" "fa" "fr" "ja" "nb" "pl" "pt" "tr" "zh" }
+  :locales  #{"en" "ca" "de" "es" "fa" "fr" "it" "ja" "nb" "pl" "pt" "ru" "tr" "uk" "vi" "zh" }
   :packages ["metabase"]
   :bundle   "metabase.Messages"
 }
diff --git a/resources/log4j.properties b/resources/log4j.properties
index 40bc26ba7cc3f1d45df31042cd7a84a8f7b004e8..d0b2c7b0c8738195a33fea8ac0406ca5ab656b30 100644
--- a/resources/log4j.properties
+++ b/resources/log4j.properties
@@ -25,6 +25,12 @@ log4j.logger.metabase.query-processor.permissions=INFO
 log4j.logger.metabase.query-processor=INFO
 log4j.logger.metabase.sync=DEBUG
 log4j.logger.metabase.models.field-values=INFO
+# NOCOMMIT
+log4j.logger.metabase.async.semaphore-channel=DEBUG
+log4j.logger.metabase.async.util=DEBUG
+log4j.logger.metabase.middleware.async=DEBUG
+log4j.logger.metabase.query-processor.async=DEBUG
+log4j.logger.metabase.async.api-response=DEBUG
 log4j.logger.metabase=INFO
 # c3p0 connection pools tend to log useless warnings way too often; only log actual errors
 log4j.logger.com.mchange=ERROR
diff --git a/resources/migrations/000_migrations.yaml b/resources/migrations/000_migrations.yaml
index c229596d4c84d5876a34ae93962834636b907c6e..d711ed50d2329bc2c14bf1ec0dbba24be2b8e189 100644
--- a/resources/migrations/000_migrations.yaml
+++ b/resources/migrations/000_migrations.yaml
@@ -1464,8 +1464,15 @@ databaseChangeLog:
   - changeSet:
       id: 10
       author: cammsaul
-      validCheckSum: 7:97fec69516d0dfe424ea7365f51bb87e
-      validCheckSum: 7:3b90e2fe0ac8e617a1f30ef95d39319b
+      validCheckSum:
+        - 7:3b90e2fe0ac8e617a1f30ef95d39319b
+        - 7:97fec69516d0dfe424ea7365f51bb87e
+        - 8:2e03a495932b4a9aebb9d58a6ad87ca9
+        - 8:431360d062cb82d8b27960b3a0abb98c
+        - 8:5297214d1788d964675d8c6336ac9b6d
+        - 8:532075ff1717d4a16bb9f27c606db46b
+        - 8:96e54d9100db3f9cdcc00eaeccc200a3
+        - 8:9f03a236be31f54e8e5c894fe5fc7f00
       changes:
         - createTable:
             tableName: revision
@@ -1516,10 +1523,10 @@ databaseChangeLog:
             tableName: revision
             indexName: idx_revision_model_model_id
             columns:
-              column:
-                name: model
-              column:
-                name: model_id
+              - column:
+                  name: model
+              - column:
+                  name: model_id
         - modifySql:
             dbms: postgresql
             replace:
@@ -1569,8 +1576,9 @@ databaseChangeLog:
   - changeSet:
       id: 13
       author: agilliland
-      validCheckSum: 7:f27286894439bef33ff93761f9b32bc4
-      validCheckSum: 7:1bc8ccc9b1803cda5651f144029be40c
+      validCheckSum:
+        - 7:f27286894439bef33ff93761f9b32bc4
+        - 7:1bc8ccc9b1803cda5651f144029be40c
       changes:
         - createTable:
             tableName: activity
@@ -1759,8 +1767,9 @@ databaseChangeLog:
   - changeSet:
       id: 18
       author: camsaul
-      validCheckSum: 7:07d501a6e52c14691f7f895d137e565f
-      validCheckSum: 7:329d897d44ba9893fdafc9ce7e876d73
+      validCheckSum:
+        - 7:07d501a6e52c14691f7f895d137e565f
+        - 7:329d897d44ba9893fdafc9ce7e876d73
       changes:
         - createTable:
             tableName: data_migrations
@@ -2916,6 +2925,9 @@ databaseChangeLog:
   - changeSet:
       id: 40
       author: camsaul
+      validCheckSum:
+        - 8:231d66cf27fc4b4bc066172b435439b5
+        - 8:ee7f50a264d6cf8d891bd01241eebd2c
       changes:
         ############################################################ add PermissionsGroup table ############################################################
         - createTable:
@@ -2990,10 +3002,10 @@ databaseChangeLog:
             tableName: permissions_group_membership
             indexName: idx_permissions_group_membership_group_id_user_id
             columns:
-              column:
-                name: group_id
-              column:
-                name: user_id
+              - column:
+                  name: group_id
+              - column:
+                  name: user_id
         ############################################################ add Permissions table ############################################################
         - createTable:
             tableName: permissions
@@ -3033,10 +3045,10 @@ databaseChangeLog:
             tableName: permissions
             indexName: idx_permissions_group_id_object
             columns:
-              column:
-                name: group_id
-              column:
-                name: object
+              - column:
+                  name: group_id
+              - column:
+                  name: object
         - addUniqueConstraint:
             tableName: permissions
             columnNames: group_id, object
@@ -3058,10 +3070,10 @@ databaseChangeLog:
             tableName: metabase_table
             indexName: idx_metabase_table_db_id_schema
             columns:
-              column:
-                name: db_id
-              column:
-                name: schema
+              - column:
+                  name: db_id
+              - column:
+                  name: schema
   - changeSet:
       id: 41
       author: camsaul
@@ -3132,8 +3144,9 @@ databaseChangeLog:
   - changeSet:
       id: 43
       author: camsaul
-      validCheckSum: 7:b20750a949504e93efced32877a4488f
-      validCheckSum: 7:dbc18c8ca697fc335869f0ed0eb5f4cb
+      validCheckSum:
+        - 7:b20750a949504e93efced32877a4488f
+        - 7:dbc18c8ca697fc335869f0ed0eb5f4cb
       changes:
         - createTable:
             tableName: permissions_revision
@@ -3433,6 +3446,9 @@ databaseChangeLog:
   - changeSet:
       id: 51
       author: camsaul
+      validCheckSum:
+        - 8:8491a72bd30aac2565c97daf8b84e515
+        - 8:676d3f95358dcd572ccce47c950e8ed9
       changes:
         - createTable:
             tableName: query_execution
@@ -3516,10 +3532,10 @@ databaseChangeLog:
             tableName: query_execution
             indexName: idx_query_execution_query_hash_started_at
             columns:
-              column:
-                name: query_hash
-              column:
-                name: started_at
+              - column:
+                  name: hash
+              - column:
+                  name: started_at
   - property:
         name: blob.type
         value: blob
@@ -3592,8 +3608,9 @@ databaseChangeLog:
   - changeSet:
       id: 54
       author: tlrobinson
-      validCheckSum: '7:695b12a78e897c62c21d41bfb04ab44b'
-      validCheckSum: '7:0857800db71a4757e7202aad4eaed48d'
+      validCheckSum:
+        - 7:695b12a78e897c62c21d41bfb04ab44b
+        - 7:0857800db71a4757e7202aad4eaed48d
       changes:
         - addColumn:
             tableName: pulse
@@ -3858,8 +3875,9 @@ databaseChangeLog:
       id: 66
       author: senior
       comment: 'Added 0.26.0'
-      validCheckSum: '7:e494c2c90fe5c377526da7a6e5ad63a2'
-      validCheckSum: '7:76d06b44a544105c2a613603b8bdf25f'
+      validCheckSum:
+        - 7:e494c2c90fe5c377526da7a6e5ad63a2
+        - 7:76d06b44a544105c2a613603b8bdf25f
       changes:
         - sql:
             sql: drop table if exists computation_job_result cascade
@@ -4230,8 +4248,10 @@ databaseChangeLog:
               defaultValueBoolean: false
         # Before this change, metrics/segments had opposite logic, rather than marking something as archived
         # it was marked as active. Since the column is now an archived column, flip the boolean value
+        #
+        # As you may have noticed, we're not flipping the value for Metric here. @senior originally intended to do so,
+        # but the YAML was off slightly. We have corrected this issue at a later date -- see migration #100
         - sql:
-            sql: update metric set archived = not(archived)
             sql: update segment set archived = not(archived)
   # Personal Collections, and removing Collection's unique constraint and index on slug
   - changeSet:
@@ -4995,9 +5015,10 @@ databaseChangeLog:
       id: 92
       author: camsaul
       comment: 'Added 0.31.0'
-      validCheckSum: 8:a875945f36824a0667c740888c00c37f
-      validCheckSum: 8:83ded48e18fe8f70d6ec09add042124d
-      validCheckSum: 8:1e5bc2d66778316ea640a561862c23b4
+      validCheckSum:
+        - 8:a875945f36824a0667c740888c00c37f
+        - 8:83ded48e18fe8f70d6ec09add042124d
+        - 8:1e5bc2d66778316ea640a561862c23b4
       changes:
         - addColumn:
             tableName: query_execution
@@ -5213,3 +5234,44 @@ databaseChangeLog:
         - sql:
             dbms: postgresql
             sql: CREATE UNIQUE INDEX idx_uniq_field_table_id_parent_id_name_2col ON "metabase_field" ("table_id", "name") WHERE "parent_id" IS NULL
+
+#
+# Migration 84 was written slightly incorrectly and did not correctly migrate the values of is_active -> archived for
+# METRICS. If you look at the migration you will notice the raw SQL part is a `sql` map with 2 `sql` keys. The first key
+# is ignored, and that statement was never ran.
+#
+# To fix this we will migrate any metrics that haven't been updated since that migration ran and fix their archived
+# status
+  - changeSet:
+      id: 100
+      author: camsaul
+      comment: 'Added 0.32.0'
+      preConditions:
+        - onFail: MARK_RAN
+        - onUpdateSQL: RUN
+        - tableExists:
+            tableName: databasechangelog
+      changes:
+        - sql:
+            sql: >-
+              UPDATE metric
+              SET archived = NOT archived
+              WHERE EXISTS (
+                SELECT *
+                FROM databasechangelog dbcl
+                WHERE dbcl.id = '84'
+                  AND metric.updated_at < dbcl.dateexecuted
+              )
+
+# Very helpful for performance reasons. See #9519
+  - changeSet:
+      id: 101
+      author: camsaul
+      comment: 'Added 0.32.0'
+      changes:
+        - createIndex:
+            indexName: idx_field_parent_id
+            tableName: metabase_field
+            columns:
+              - column:
+                  name: parent_id
diff --git a/src/metabase/api/alert.clj b/src/metabase/api/alert.clj
index 276bb3908d377f05d60c943828babbd38f297bb4..c0075d653902fc3b1b1b64e1c7d05f2d5b7dce99 100644
--- a/src/metabase/api/alert.clj
+++ b/src/metabase/api/alert.clj
@@ -114,11 +114,11 @@
   "Create a new Alert."
   [:as {{:keys [alert_condition card channels alert_first_only alert_above_goal]
          :as new-alert-request-body} :body}]
-  {alert_condition     pulse/AlertConditions
-   alert_first_only    s/Bool
-   alert_above_goal    (s/maybe s/Bool)
-   card                pulse/CardRef
-   channels            (su/non-empty [su/Map])}
+  {alert_condition  pulse/AlertConditions
+   alert_first_only s/Bool
+   alert_above_goal (s/maybe s/Bool)
+   card             pulse/CardRef
+   channels         (su/non-empty [su/Map])}
   ;; do various perms checks as needed. Perms for an Alert == perms for its Card. So to create an Alert you need write
   ;; perms for its Card
   (api/write-check Card (u/get-id card))
diff --git a/src/metabase/api/card.clj b/src/metabase/api/card.clj
index 157fb19d037ed0b33f7584ad4f92c326f16b0c70..9a6466d00e90317460a3213483ffed46b8bb57e5 100644
--- a/src/metabase/api/card.clj
+++ b/src/metabase/api/card.clj
@@ -1,6 +1,7 @@
 (ns metabase.api.card
   "/api/card endpoints."
   (:require [cheshire.core :as json]
+            [clojure.core.async :as a]
             [clojure.tools.logging :as log]
             [compojure.core :refer [DELETE GET POST PUT]]
             [medley.core :as m]
@@ -13,6 +14,7 @@
             [metabase.api
              [common :as api]
              [dataset :as dataset-api]]
+            [metabase.async.util :as async.u]
             [metabase.email.messages :as messages]
             [metabase.models
              [card :as card :refer [Card]]
@@ -26,7 +28,7 @@
              [view-log :refer [ViewLog]]]
             [metabase.models.query.permissions :as query-perms]
             [metabase.query-processor
-             [interface :as qpi]
+             [async :as qp.async]
              [util :as qputil]]
             [metabase.query-processor.middleware
              [cache :as cache]
@@ -39,7 +41,8 @@
             [toucan
              [db :as db]
              [hydrate :refer [hydrate]]])
-  (:import java.util.UUID
+  (:import clojure.core.async.impl.channels.ManyToManyChannel
+           java.util.UUID
            metabase.models.card.CardInstance))
 
 ;;; --------------------------------------------------- Hydration ----------------------------------------------------
@@ -181,31 +184,23 @@
 ;; we'll also pass a simple checksum and have the frontend pass it back to us.  See the QP `results-metadata`
 ;; middleware namespace for more details
 
-(s/defn ^:private result-metadata-for-query :- qr/ResultsMetadata
-  "Fetch the results metadata for a QUERY by running the query and seeing what the QP gives us in return.
-   This is obviously a bit wasteful so hopefully we can avoid having to do this."
-  [query]
-  (binding [qpi/*disable-qp-logging* true]
-    (let [{:keys [status], :as results} (qp/process-query-without-save! api/*current-user-id* query)]
-      (if (= status :failed)
-        (log/error (trs "Error running query to determine Card result metadata:")
-                   (u/pprint-to-str 'red results))
-        (get-in results [:data :results_metadata :columns])))))
-
-(s/defn ^:private result-metadata :- (s/maybe qr/ResultsMetadata)
-  "Get the right results metadata for this CARD. We'll check to see whether the METADATA passed in seems valid;
-   otherwise we'll run the query ourselves to get the right values."
+
+
+(s/defn ^:private result-metadata-async :- ManyToManyChannel
+  "Get the right results metadata for this `card`, and return them in a channel. We'll check to see whether the
+  `metadata` passed in seems valid,and, if so, return a channel that returns the value as-is; otherwise, we'll run the
+  query ourselves to get the right values, and return a channel where you can listen for the results."
   [query metadata checksum]
   (let [valid-metadata? (and (results-metadata/valid-checksum? metadata checksum)
                              (s/validate qr/ResultsMetadata metadata))]
-    (log/info (str "Card results metadata passed in to API is "
-                   (cond
-                     valid-metadata? "VALID. Thanks!"
-                     metadata        "INVALID. Running query to fetch correct metadata."
-                     :else           "MISSING. Running query to fetch correct metadata.")))
+    (log/info
+     (cond
+       valid-metadata? (trs "Card results metadata passed in to API is VALID. Thanks!")
+       metadata        (trs "Card results metadata passed in to API is INVALID. Running query to fetch correct metadata.")
+       :else           (trs "Card results metadata passed in to API is  ISSING. Running query to fetch correct metadata.")))
     (if valid-metadata?
-      metadata
-      (result-metadata-for-query query))))
+      (a/to-chan [metadata])
+      (qp.async/result-metadata-for-query-async query))))
 
 (defn check-data-permissions-for-query
   "Check that we have *data* permissions to run the QUERY in question."
@@ -213,6 +208,48 @@
   {:pre [(map? query)]}
   (api/check-403 (query-perms/can-run-query? query)))
 
+(defn- save-new-card-async!
+  "Save `card-data` as a new Card on a separate thread. Returns a channel to fetch the response; closing this channel
+  will cancel the save."
+  [card-data]
+  (async.u/do-on-separate-thread
+   (fn []
+     (let [card (db/transaction
+                  ;; Adding a new card at `collection_position` could cause other cards in this
+                  ;; collection to change position, check that and fix it if needed
+                  (api/maybe-reconcile-collection-position! card-data)
+                  (db/insert! Card card-data))]
+       (events/publish-event! :card-create card)
+       ;; include same information returned by GET /api/card/:id since frontend replaces the Card it
+       ;; currently has with returned one -- See #4283
+       (hydrate card :creator :dashboard_count :can_write :collection)))))
+
+(defn- create-card-async!
+  "Create a new Card asynchronously. Returns a channel for fetching the newly created Card, or an Exception if one was
+  thrown. Closing this channel before it finishes will cancel the Card creation."
+  [{:keys [dataset_query result_metadata metadata_checksum], :as card-data}]
+  ;; `zipmap` instead of `select-keys` because we want to get `nil` values for keys that aren't present. Required by
+  ;; `api/maybe-reconcile-collection-position!`
+  (let [data-keys            [:dataset_query :description :display :name
+                              :visualization_settings :collection_id :collection_position]
+        card-data            (assoc (zipmap data-keys (map card-data data-keys))
+                               :creator_id api/*current-user-id*)
+        result-metadata-chan (result-metadata-async dataset_query result_metadata metadata_checksum)
+        out-chan             (a/chan 1)]
+    (a/go
+      (try
+        (let [card-data (assoc card-data :result_metadata (a/<! result-metadata-chan))]
+          (a/close! result-metadata-chan)
+          ;; now do the actual saving on a separate thread so we don't tie up our precious core.async thread. Pipe the
+          ;; result into `out-chan`.
+          (async.u/single-value-pipe (save-new-card-async! card-data) out-chan))
+        (catch Throwable e
+          (a/put! out-chan e)
+          (a/close! e))))
+    ;; Return a channel
+    out-chan))
+
+
 (api/defendpoint POST "/"
   "Create a new `Card`."
   [:as {{:keys [collection_id collection_position dataset_query description display metadata_checksum name
@@ -229,26 +266,8 @@
   (check-data-permissions-for-query dataset_query)
   ;; check that we have permissions for the collection we're trying to save this card to, if applicable
   (collection/check-write-perms-for-collection collection_id)
-  ;; everything is g2g, now save the card
-  (let [card-data {:creator_id             api/*current-user-id*
-                   :dataset_query          dataset_query
-                   :description            description
-                   :display                display
-                   :name                   name
-                   :visualization_settings visualization_settings
-                   :collection_id          collection_id
-                   :collection_position    collection_position
-                   :result_metadata        (result-metadata dataset_query result_metadata metadata_checksum)}
-
-        card      (db/transaction
-                    ;; Adding a new card at `collection_position` could cause other cards in this
-                    ;; collection to change position, check that and fix it if needed
-                    (api/maybe-reconcile-collection-position! card-data)
-                    (db/insert! Card card-data))]
-    (events/publish-event! :card-create card)
-    ;; include same information returned by GET /api/card/:id since frontend replaces the Card it currently has
-    ;; with returned one -- See #4283
-    (hydrate card :creator :dashboard_count :can_write :collection)))
+  ;; Return a channel that can be used to fetch the results asynchronously
+  (create-card-async! body))
 
 
 ;;; ------------------------------------------------- Updating Cards -------------------------------------------------
@@ -276,14 +295,19 @@
     (api/check-superuser)))
 
 
-(defn- result-metadata-for-updating
-  "If CARD's query is being updated, return the value that should be saved for `result_metadata`. This *should* be
-  passed in to the API; if so, verifiy that it was correct (the checksum is valid); if not, go fetch it.  If the query
-  has not changed, this returns `nil`, which means the value won't get updated below."
+(defn- result-metadata-for-updating-async
+  "If `card`'s query is being updated, return the value that should be saved for `result_metadata`. This *should* be
+  passed in to the API; if so, verifiy that it was correct (the checksum is valid); if not, go fetch it. If the query
+  has not changed, this returns a closed channel (so you will get `nil` when you attempt to fetch the result, and
+  will know not to update the value in the DB.)
+
+  Either way, results are returned asynchronously on a channel."
   [card query metadata checksum]
-  (when (and query
+  (if (and query
              (not= query (:dataset_query card)))
-    (result-metadata query metadata checksum)))
+    (result-metadata-async query metadata checksum)
+    (u/prog1 (a/chan)
+      (a/close! <>))))
 
 (defn- publish-card-update!
   "Publish an event appropriate for the update(s) done to this CARD (`:card-update`, or archiving/unarchiving
@@ -379,11 +403,35 @@
       :else
       nil)))
 
+(defn- update-card-async! [{:keys [id], :as card-before-update} {:keys [archived], :as card-updates}]
+  ;; don't block our precious core.async thread, run the actual DB updates on a separate thread
+  (async.u/do-on-separate-thread
+   (fn []
+     ;; Setting up a transaction here so that we don't get a partially reconciled/updated card.
+     (db/transaction
+       (api/maybe-reconcile-collection-position! card-before-update card-updates)
+
+       ;; ok, now save the Card
+       (db/update! Card id
+         ;; `collection_id` and `description` can be `nil` (in order to unset them). Other values should only be
+         ;; modified if they're passed in as non-nil
+         (u/select-keys-when card-updates
+           :present #{:collection_id :collection_position :description}
+           :non-nil #{:dataset_query :display :name :visualization_settings :archived :enable_embedding
+                      :embedding_params :result_metadata})))
+     ;; Fetch the updated Card from the DB
+     (let [card (Card id)]
+       (delete-alerts-if-needed! card-before-update card)
+       (publish-card-update! card archived)
+       ;; include same information returned by GET /api/card/:id since frontend replaces the Card it currently
+       ;; has with returned one -- See #4142
+       (hydrate card :creator :dashboard_count :can_write :collection)))))
+
 (api/defendpoint PUT "/:id"
   "Update a `Card`."
   [id :as {{:keys [dataset_query description display name visualization_settings archived collection_id
                    collection_position enable_embedding embedding_params result_metadata metadata_checksum]
-            :as card-updates} :body}]
+            :as   card-updates} :body}]
   {name                   (s/maybe su/NonBlankString)
    dataset_query          (s/maybe su/Map)
    display                (s/maybe su/NonBlankString)
@@ -403,29 +451,23 @@
     (check-allowed-to-unarchive                    card-before-update card-updates)
     (check-allowed-to-change-embedding             card-before-update card-updates)
     ;; make sure we have the correct `result_metadata`
-    (let [card-updates (assoc card-updates
-                         :result_metadata (result-metadata-for-updating card-before-update dataset_query
-                                                                        result_metadata metadata_checksum))]
-
-      ;; Setting up a transaction here so that we don't get a partially reconciled/updated card.
-      (db/transaction
-        (api/maybe-reconcile-collection-position! card-before-update card-updates)
-
-        ;; ok, now save the Card
-        (db/update! Card id
-          ;; `collection_id` and `description` can be `nil` (in order to unset them). Other values should only be
-          ;; modified if they're passed in as non-nil
-          (u/select-keys-when card-updates
-            :present #{:collection_id :collection_position :description}
-            :non-nil #{:dataset_query :display :name :visualization_settings :archived :enable_embedding
-                       :embedding_params :result_metadata}))))
-    ;; Fetch the updated Card from the DB
-    (let [card (Card id)]
-      (delete-alerts-if-needed! card-before-update card)
-      (publish-card-update! card archived)
-      ;; include same information returned by GET /api/card/:id since frontend replaces the Card it currently has with
-      ;; returned one -- See #4142
-      (hydrate card :creator :dashboard_count :can_write :collection))))
+    (let [result-metadata-chan (result-metadata-for-updating-async
+                                card-before-update
+                                dataset_query
+                                result_metadata
+                                metadata_checksum)
+          out-chan             (a/chan 1)]
+      ;; asynchronously wait for our updated result metadata, then after that call `update-card-async!`, which is done
+      ;; on a non-core.async thread. Pipe the results of that into `out-chan`.
+      (a/go
+        (try
+          (let [card-updates (assoc card-updates :result_metadata (a/<! result-metadata-chan))]
+            (async.u/single-value-pipe
+             (update-card-async! card-before-update card-updates)
+             out-chan))
+          (finally
+            (a/close! result-metadata-chan))))
+      out-chan)))
 
 
 ;;; ------------------------------------------------- Deleting Cards -------------------------------------------------
@@ -563,8 +605,9 @@
                     (query-magic-ttl query)))]
     (assoc query :cache-ttl ttl)))
 
-(defn run-query-for-card
-  "Run the query for Card with PARAMETERS and CONSTRAINTS, and return results in the usual format."
+(defn run-query-for-card-async
+  "Run the query for Card with `parameters` and `constraints`, and return results in a core.async channel. Will throw an
+  Exception if preconditions (such as read perms) are not met before returning a channel."
   {:style/indent 1}
   [card-id & {:keys [parameters constraints context dashboard-id middleware]
               :or   {constraints qp/default-query-constraints
@@ -577,24 +620,24 @@
                  :card-id      card-id
                  :dashboard-id dashboard-id}]
     (api/check-not-archived card)
-    (qp/process-query-and-save-execution! query options)))
+    (qp.async/process-query-and-save-execution! query options)))
 
 (api/defendpoint POST "/:card-id/query"
   "Run the query associated with a Card."
   [card-id :as {{:keys [parameters ignore_cache], :or {ignore_cache false}} :body}]
   {ignore_cache (s/maybe s/Bool)}
   (binding [cache/*ignore-cached-results* ignore_cache]
-    (run-query-for-card card-id, :parameters parameters)))
+    (run-query-for-card-async card-id, :parameters parameters)))
 
-(api/defendpoint POST "/:card-id/query/:export-format"
+(api/defendpoint-async POST "/:card-id/query/:export-format"
   "Run the query associated with a Card, and return its results as a file in the specified format. Note that this
   expects the parameters as serialized JSON in the 'parameters' parameter"
-  [card-id export-format parameters]
+  [{{:keys [card-id export-format parameters]} :params} respond raise]
   {parameters    (s/maybe su/JSONString)
    export-format dataset-api/ExportFormat}
   (binding [cache/*ignore-cached-results* true]
-    (dataset-api/as-format export-format
-      (run-query-for-card card-id
+    (dataset-api/as-format-async export-format respond raise
+      (run-query-for-card-async (Integer/parseUnsignedInt card-id)
         :parameters  (json/parse-string parameters keyword)
         :constraints nil
         :context     (dataset-api/export-format->context export-format)
diff --git a/src/metabase/api/common.clj b/src/metabase/api/common.clj
index d99f8b1b0397de618eb0c9ab727b9443a24babe0..24d5a4666f0fe2240dabb16eb1bc281cbd7ef850 100644
--- a/src/metabase/api/common.clj
+++ b/src/metabase/api/common.clj
@@ -1,10 +1,6 @@
 (ns metabase.api.common
   "Dynamic variables and utility functions/macros for writing API functions."
-  (:require [cheshire.core :as json]
-            [clojure.core.async :as async]
-            [clojure.core.async.impl.protocols :as async-proto]
-            [clojure.java.io :as io]
-            [clojure.string :as str]
+  (:require [clojure.string :as str]
             [clojure.tools.logging :as log]
             [compojure.core :as compojure]
             [honeysql.types :as htypes]
@@ -17,11 +13,8 @@
             [metabase.util
              [i18n :as ui18n :refer [trs tru]]
              [schema :as su]]
-            [ring.core.protocols :as protocols]
-            [ring.util.response :as response]
             [schema.core :as s]
-            [toucan.db :as db])
-  (:import java.io.OutputStream))
+            [toucan.db :as db]))
 
 (declare check-403 check-404)
 
@@ -296,6 +289,27 @@
           ~@validate-param-calls
           (wrap-response-if-needed (do ~@body)))))))
 
+(defmacro defendpoint-async
+  "Like `defendpoint`, but generates an endpoint that accepts the usual `[request respond raise]` params."
+  {:arglists '([method route docstr? args schemas-map? & body])}
+  [method route & more]
+  (let [fn-name                (route-fn-name method route)
+        route                  (typify-route route)
+        [docstr [args & more]] (u/optional string? more)
+        [arg->schema body]     (u/optional (every-pred map? #(every? symbol? (keys %))) more)
+        validate-param-calls   (validate-params arg->schema)]
+    (when-not docstr
+      (log/warn (trs "Warning: endpoint {0}/{1} does not have a docstring." (ns-name *ns*) fn-name)))
+    `(def ~(vary-meta fn-name assoc
+                      ;; eval the vals in arg->schema to make sure the actual schemas are resolved so we can document
+                      ;; their API error messages
+                      :doc (route-dox method route docstr args (m/map-vals eval arg->schema) body)
+                      :is-endpoint? true)
+       (~method ~route []
+        (fn ~args
+          ~@validate-param-calls
+          ~@body)))))
+
 (defn- namespace->api-route-fns
   "Return a sequence of all API endpoint functions defined by `defendpoint` in a namespace."
   [nmspace]
@@ -368,114 +382,15 @@
   ([entity id & other-conditions]
    (write-check (apply db/select-one entity :id id other-conditions))))
 
-;;; --------------------------------------------------- STREAMING ----------------------------------------------------
-
-(def ^:private ^:const streaming-response-keep-alive-interval-ms
-  "Interval between sending newline characters to keep Heroku from terminating requests like queries that take a long
-  time to complete."
-  (* 1 1000))
-
-;; Handle ring response maps that contain a core.async chan in the :body key:
-;;
-;; {:status 200
-;;  :body (async/chan)}
-;;
-;; and send strings (presumibly \n) as heartbeats to the client until the real results (a seq) is received, then
-;; stream that to the client
-(extend-protocol protocols/StreamableResponseBody
-  clojure.core.async.impl.channels.ManyToManyChannel
-  (write-body-to-stream [output-queue _ ^OutputStream output-stream]
-    (log/debug (u/format-color 'green (trs "starting streaming request")))
-    (with-open [out (io/writer output-stream)]
-      (loop [chunk (async/<!! output-queue)]
-        (cond
-          (char? chunk)
-          (do
-            (try
-              (.write out (str chunk))
-              (.flush out)
-              (catch org.eclipse.jetty.io.EofException e
-                (log/info e (u/format-color 'yellow (trs "connection closed, canceling request")))
-                (async/close! output-queue)
-                (throw e)))
-            (recur (async/<!! output-queue)))
-
-          ;; An error has occurred, let the user know
-          (instance? Exception chunk)
-          (json/generate-stream {:error (.getMessage ^Exception chunk)} out)
-
-          ;; We've recevied the response, write it to the output stream and we're done
-          (seq chunk)
-          (json/generate-stream chunk out)
-
-          ;;chunk is nil meaning the output channel has been closed
-          :else
-          out)))))
-
-(def ^:private InvokeWithKeepAliveSchema
-  {;; Channel that contains any number of newlines followed by the results of the invoked query thunk
-   :output-channel  (s/protocol async-proto/Channel)
-   ;; This channel will have an exception if that error condition is hit before the first heartbeat time, if a
-   ;; heartbeat has been sent, this channel is closed and its no longer useful
-   :error-channel   (s/protocol async-proto/Channel)
-   ;; Future that is invoking the query thunk. This is mainly useful for testing metadata to see if the future has been
-   ;; cancelled or was completed successfully
-   :response-future java.util.concurrent.Future})
-
-(s/defn ^:private invoke-thunk-with-keepalive :- InvokeWithKeepAliveSchema
-  "This function does the heavy lifting of invoking `query-thunk` on a background thread and returning it's results
-  along with a heartbeat while waiting for the results. This function returns a map that includes the relevate
-  execution information, see `InvokeWithKeepAliveSchema` for more information"
-  [query-thunk]
-  (let [response-chan (async/chan 1)
-        output-chan   (async/chan 1)
-        error-chan    (async/chan 1)
-        response-fut  (future
-                        (try
-                          (async/>!! response-chan (query-thunk))
-                          (catch Exception e
-                            (async/>!! error-chan e)
-                            (async/>!! response-chan e))
-                          (finally
-                            (async/close! error-chan))))]
-    (async/go-loop []
-      (let [[response-or-timeout c] (async/alts! [response-chan (async/timeout streaming-response-keep-alive-interval-ms)])]
-        (if response-or-timeout
-          ;; We have a response since it's non-nil, write the results and close, we're done
-          (do
-            ;; If output-chan is closed, it's already too late, nothing else we need to do
-            (async/>! output-chan response-or-timeout)
-            (async/close! output-chan))
-          (do
-            ;; We don't have a result yet, but enough time has passed, let's assume it's not an error
-            (async/close! error-chan)
-            ;; a newline padding character as it's harmless and will allow us to check if the client is connected. If
-            ;; sending this character fails because the connection is closed, the chan will then close.  Newlines are
-            ;; no-ops when reading JSON which this depends upon.
-            (log/debug (u/format-color 'blue (trs "Response not ready, writing one byte & sleeping...")))
-            (if (async/>! output-chan \newline)
-              ;; Success put the channel, wait and see if we get the response next time
-              (recur)
-              ;; The channel is closed, client has given up, we should give up too
-              (future-cancel response-fut))))))
-    {:output-channel  output-chan
-     :error-channel   error-chan
-     :response-future response-fut}))
-
-(defn cancelable-json-response
-  "Invokes `cancelable-thunk` in a future. If there's an immediate exception, throw it. If there's not an immediate
-  exception, return a ring response with a channel. The channel will potentially include newline characters before the
-  full response is delivered as a keepalive to the client. Eventually the results of `cancelable-thunk` will be put
-  to the channel"
-  [cancelable-thunk]
-  (let [{:keys [output-channel error-channel]} (invoke-thunk-with-keepalive cancelable-thunk)]
-    ;; If there's an immediate exception, it will be in `error-chan`, if not, `error-chan` will close and we'll assume
-    ;; the response is a success
-    (if-let [ex (async/<!! error-channel)]
-      (throw ex)
-      (assoc (response/response output-channel)
-        :content-type "applicaton/json"))))
+(defn create-check
+  "NEW! Check whether the current user has permissions to CREATE a new instance of an object with properties in map `m`.
 
+  This function was added *years* after `read-check` and `write-check`, and at the time of this writing most models do
+  not implement this method. Most `POST` API endpoints instead have the `can-create?` logic for a given model
+  hardcoded into this -- this should be considered an antipattern and be refactored out going forward."
+  {:added "0.32.0", :style/indent 2}
+  [entity m]
+  (check-403 (mi/can-create? entity m)))
 
 ;;; ------------------------------------------------ OTHER HELPER FNS ------------------------------------------------
 
@@ -588,3 +503,19 @@
        (do
          (reconcile-position-for-collection! old-collection-id old-position nil)
          (reconcile-position-for-collection! new-collection-id nil new-position))))))
+
+(defmacro catch-and-raise
+  "Catches exceptions thrown in `body` and passes them along to the `raise` function. Meant for writing async
+  endpoints.
+
+  You only need to `raise` Exceptions that happen outside the initial thread of the API endpoint function; things like
+  normal permissions checks are usually done within the same thread that called the endpoint, meaning the middleware
+  that catches Exceptions will automatically handle them."
+  {:style/indent 1}
+  ;; using 2+ args so we can catch cases where people forget to pass in `raise`
+  [raise body & more]
+  `(try
+     ~body
+     ~@more
+     (catch Throwable e#
+       (~raise e#))))
diff --git a/src/metabase/api/dataset.clj b/src/metabase/api/dataset.clj
index 669d1f566685f394516c52e6a29c94900961b131..28024af1e50772a08a9c0a8599544788bab5092c 100644
--- a/src/metabase/api/dataset.clj
+++ b/src/metabase/api/dataset.clj
@@ -1,6 +1,7 @@
 (ns metabase.api.dataset
   "/api/dataset endpoints."
   (:require [cheshire.core :as json]
+            [clojure.core.async :as a]
             [clojure.string :as str]
             [clojure.tools.logging :as log]
             [compojure.core :refer [POST]]
@@ -10,13 +11,17 @@
              [database :as database :refer [Database]]
              [query :as query]]
             [metabase.query-processor :as qp]
-            [metabase.query-processor.util :as qputil]
+            [metabase.query-processor
+             [async :as qp.async]
+             [util :as qputil]]
             [metabase.util
              [date :as du]
              [export :as ex]
              [i18n :refer [trs tru]]
              [schema :as su]]
-            [schema.core :as s]))
+            [schema.core :as s])
+  (:import clojure.core.async.impl.channels.ManyToManyChannel))
+
 
 ;;; -------------------------------------------- Running a Query Normally --------------------------------------------
 
@@ -39,13 +44,10 @@
   (when-not (= database database/virtual-id)
     (api/read-check Database database))
   ;; add sensible constraints for results limits on our query
-  (let [source-card-id (query->source-card-id query)]
-    (api/cancelable-json-response
-     (fn []
-       (qp/process-query-and-save-with-max!
-           query
-           {:executed-by api/*current-user-id*, :context :ad-hoc,
-            :card-id     source-card-id,        :nested? (boolean source-card-id)})))))
+  (let [source-card-id (query->source-card-id query)
+        options        {:executed-by api/*current-user-id*, :context :ad-hoc,
+                        :card-id     source-card-id,        :nested? (boolean source-card-id)}]
+    (qp.async/process-query-and-save-with-max! query options)))
 
 
 ;;; ----------------------------------- Downloading Query Results in Other Formats -----------------------------------
@@ -95,8 +97,8 @@
       (map (comp (swap-date-columns date-indexes) vec) rows)
       rows)))
 
-(defn as-format
-  "Return a response containing the RESULTS of a query in the specified format."
+(defn- as-format-response
+  "Return a response containing the `results` of a query in the specified format."
   {:style/indent 1, :arglists '([export-format results])}
   [export-format {{:keys [columns rows cols]} :data, :keys [status], :as response}]
   (api/let-404 [export-conf (ex/export-formats export-format)]
@@ -110,6 +112,23 @@
       {:status 500
        :body   (:error response)})))
 
+(s/defn as-format-async
+  "Write the results of an async query to API `respond` or `raise` functions in `export-format`. `in-chan` should be a
+  core.async channel that can be used to fetch the results of the query."
+  {:style/indent 3}
+  [export-format :- ExportFormat, respond :- (s/pred fn?), raise :- (s/pred fn?), in-chan :- ManyToManyChannel]
+  (a/go
+    (try
+      (let [results (a/<! in-chan)]
+        (if (instance? Throwable results)
+          (raise results)
+          (respond (as-format-response export-format results))))
+      (catch Throwable e
+        (raise e))
+      (finally
+        (a/close! in-chan))))
+  nil)
+
 (def export-format-regex
   "Regex for matching valid export formats (e.g., `json`) for queries.
    Inteneded for use in an endpoint definition:
@@ -117,19 +136,20 @@
      (api/defendpoint POST [\"/:export-format\", :export-format export-format-regex]"
   (re-pattern (str "(" (str/join "|" (keys ex/export-formats)) ")")))
 
-(api/defendpoint POST ["/:export-format", :export-format export-format-regex]
+(api/defendpoint-async POST ["/:export-format", :export-format export-format-regex]
   "Execute a query and download the result data as a file in the specified format."
-  [export-format query]
+  [{{:keys [export-format query]} :params} respond raise]
   {query         su/JSONString
    export-format ExportFormat}
   (let [{:keys [database] :as query} (json/parse-string query keyword)]
     (when-not (= database database/virtual-id)
       (api/read-check Database database))
-    (as-format export-format
-      (qp/process-query-and-save-execution! (-> query
-                                                (dissoc :constraints)
-                                                (assoc-in [:middleware :skip-results-metadata?] true))
-        {:executed-by api/*current-user-id*, :context (export-format->context export-format)}))))
+    (as-format-async export-format respond raise
+      (qp.async/process-query-and-save-execution!
+       (-> query
+           (dissoc :constraints)
+           (assoc-in [:middleware :skip-results-metadata?] true))
+       {:executed-by api/*current-user-id*, :context (export-format->context export-format)}))))
 
 
 ;;; ------------------------------------------------ Other Endpoints -------------------------------------------------
@@ -141,8 +161,11 @@
   (api/read-check Database database)
   ;; try calculating the average for the query as it was given to us, otherwise with the default constraints if
   ;; there's no data there. If we still can't find relevant info, just default to 0
-  {:average (or (query/average-execution-time-ms (qputil/query-hash query))
-                (query/average-execution-time-ms (qputil/query-hash (assoc query :constraints qp/default-query-constraints)))
-                0)})
+  {:average (or
+             (some (comp query/average-execution-time-ms qputil/query-hash)
+                   [query
+                    (assoc query :constraints qp/default-query-constraints)])
+             0)})
+
 
 (api/define-routes)
diff --git a/src/metabase/api/email.clj b/src/metabase/api/email.clj
index d6da9a13a865bf74db111f6e5286dfaac63b0405..984991c0842d2cffe81774700085542e312a50a5 100644
--- a/src/metabase/api/email.clj
+++ b/src/metabase/api/email.clj
@@ -3,7 +3,7 @@
   (:require [clojure
              [data :as data]
              [set :as set]
-             [string :as string]]
+             [string :as str]]
             [clojure.tools.logging :as log]
             [compojure.core :refer [DELETE POST PUT]]
             [metabase
@@ -11,9 +11,11 @@
              [email :as email]]
             [metabase.api.common :as api]
             [metabase.models.setting :as setting]
-            [metabase.util.schema :as su]))
+            [metabase.util
+             [i18n :refer [tru]]
+             [schema :as su]]))
 
-(def ^:private ^:const mb-to-smtp-settings
+(def ^:private mb-to-smtp-settings
   {:email-smtp-host     :host
    :email-smtp-username :user
    :email-smtp-password :pass
@@ -55,18 +57,18 @@
         #".*"
         {:message "Sorry, something went wrong.  Please try again."}))))
 
-(defn humanize-email-corrections
-  "formats warnings when security settings are autocorrected"
+(defn- humanize-email-corrections
+  "Formats warnings when security settings are autocorrected."
   [corrections]
-  (into {}
-        (mapv (fn [[k v]]
-                [k (format "%s was autocorrected to %s"
-                           (name (mb-to-smtp-settings k))
-                           (string/upper-case v))])
-              corrections)))
+  (into
+   {}
+   (for [[k v] corrections]
+     [k (tru "{0} was autocorrected to {1}"
+             (name (mb-to-smtp-settings k))
+             (str/upper-case v))])))
 
 (api/defendpoint PUT "/"
-  "Update multiple `Settings` values.  You must be a superuser to do this."
+  "Update multiple email Settings. You must be a superuser to do this."
   [:as {settings :body}]
   {settings su/Map}
   (api/check-superuser)
diff --git a/src/metabase/api/embed.clj b/src/metabase/api/embed.clj
index 99a755c07f6ea57fd9702862e98b6e059b3b0c31..467d0bd5531addd74f09ed3beab74cedd55fcd89 100644
--- a/src/metabase/api/embed.clj
+++ b/src/metabase/api/embed.clj
@@ -208,15 +208,15 @@
         (remove-locked-and-disabled-params (or embedding-params
                                                (db/select-one-field :embedding_params Card :id card-id))))))
 
-(defn run-query-for-card-with-params
-  "Run the query associated with Card with CARD-ID using JWT TOKEN-PARAMS, user-supplied URL QUERY-PARAMS,
-   an EMBEDDING-PARAMS whitelist, and additional query OPTIONS."
+(defn run-query-for-card-with-params-async
+  "Run the query associated with Card with `card-id` using JWT `token-params`, user-supplied URL `query-params`,
+   an `embedding-params` whitelist, and additional query `options`. Returns channel for fetching the results."
   {:style/indent 0}
   [& {:keys [card-id embedding-params token-params query-params options]}]
   {:pre [(integer? card-id) (u/maybe? map? embedding-params) (map? token-params) (map? query-params)]}
   (let [parameter-values (validate-and-merge-params embedding-params token-params (normalize-query-params query-params))
         parameters       (apply-parameter-values (resolve-card-parameters card-id) parameter-values)]
-    (apply public-api/run-query-for-card-with-id card-id parameters, :context :embedded-question, options)))
+    (apply public-api/run-query-for-card-with-id-async card-id parameters, :context :embedded-question, options)))
 
 
 ;;; -------------------------- Dashboard Fns used by both /api/embed and /api/preview_embed --------------------------
@@ -233,7 +233,7 @@
         (remove-locked-and-disabled-params (or embedding-params
                                                (db/select-one-field :embedding_params Dashboard, :id dashboard-id))))))
 
-(defn dashcard-results
+(defn dashcard-results-async
   "Return results for running the query belonging to a DashboardCard."
   {:style/indent 0}
   [& {:keys [dashboard-id dashcard-id card-id embedding-params token-params query-params]}]
@@ -242,7 +242,7 @@
   (let [parameter-values (validate-and-merge-params embedding-params token-params (normalize-query-params query-params))
         parameters       (apply-parameter-values (resolve-dashboard-parameters dashboard-id dashcard-id card-id)
                                                  parameter-values)]
-    (public-api/public-dashcard-results dashboard-id card-id parameters, :context :embedded-dashboard)))
+    (public-api/public-dashcard-results-async dashboard-id card-id parameters, :context :embedded-dashboard)))
 
 
 ;;; ------------------------------------- Other /api/embed-specific utility fns --------------------------------------
@@ -279,13 +279,13 @@
     (card-for-unsigned-token unsigned, :constraints {:enable_embedding true})))
 
 
-(defn- run-query-for-unsigned-token
+(defn- run-query-for-unsigned-token-async
   "Run the query belonging to Card identified by `unsigned-token`. Checks that embedding is enabled both globally and
-  for this Card."
+  for this Card. Returns core.async channel to fetch the results."
   [unsigned-token query-params & options]
   (let [card-id (eu/get-in-unsigned-token-or-throw unsigned-token [:resource :question])]
     (check-embedding-enabled-for-card card-id)
-    (run-query-for-card-with-params
+    (run-query-for-card-with-params-async
       :card-id          card-id
       :token-params     (eu/get-in-unsigned-token-or-throw unsigned-token [:params])
       :embedding-params (db/select-one-field :embedding_params Card :id card-id)
@@ -301,15 +301,15 @@
      {:resource {:question <card-id>}
       :params   <parameters>}"
   [token & query-params]
-  (run-query-for-unsigned-token (eu/unsign token) query-params))
+  (run-query-for-unsigned-token-async (eu/unsign token) query-params))
 
 
-(api/defendpoint GET ["/card/:token/query/:export-format", :export-format dataset-api/export-format-regex]
+(api/defendpoint-async GET ["/card/:token/query/:export-format", :export-format dataset-api/export-format-regex]
   "Like `GET /api/embed/card/query`, but returns the results as a file in the specified format."
-  [token export-format & query-params]
+  [{{:keys [token export-format]} :params, :keys [query-params]} respond raise]
   {export-format dataset-api/ExportFormat}
-  (dataset-api/as-format export-format
-    (run-query-for-unsigned-token (eu/unsign token) query-params, :constraints nil)))
+  (dataset-api/as-format-async export-format respond raise
+    (run-query-for-unsigned-token-async (eu/unsign token) (m/map-keys keyword query-params), :constraints nil)))
 
 
 ;;; ----------------------------------------- /api/embed/dashboard endpoints -----------------------------------------
@@ -328,7 +328,7 @@
 
 
 
-(defn- card-for-signed-token
+(defn- card-for-signed-token-async
   "Fetch the results of running a Card belonging to a Dashboard using a JSON Web Token signed with the
    `embedding-secret-key`.
 
@@ -343,7 +343,7 @@
   (let [unsigned-token (eu/unsign token)
         dashboard-id   (eu/get-in-unsigned-token-or-throw unsigned-token [:resource :dashboard])]
     (check-embedding-enabled-for-dashboard dashboard-id)
-    (dashcard-results
+    (dashcard-results-async
       :dashboard-id     dashboard-id
       :dashcard-id      dashcard-id
       :card-id          card-id
@@ -355,7 +355,8 @@
   "Fetch the results of running a Card belonging to a Dashboard using a JSON Web Token signed with the
   `embedding-secret-key`"
   [token dashcard-id card-id & query-params]
-  (card-for-signed-token token dashcard-id card-id query-params ))
+  (card-for-signed-token-async token dashcard-id card-id query-params ))
+
 
 ;;; +----------------------------------------------------------------------------------------------------------------+
 ;;; |                                        FieldValues, Search, Remappings                                         |
@@ -427,12 +428,17 @@
     (public-api/dashboard-field-remapped-values dashboard-id field-id remapped-id value)))
 
 
-(api/defendpoint GET ["/dashboard/:token/dashcard/:dashcard-id/card/:card-id/:export-format",
-                      :export-format dataset-api/export-format-regex]
+(api/defendpoint-async GET ["/dashboard/:token/dashcard/:dashcard-id/card/:card-id/:export-format"
+                            :export-format dataset-api/export-format-regex]
   "Fetch the results of running a Card belonging to a Dashboard using a JSON Web Token signed with the
   `embedding-secret-key` return the data in one of the export formats"
-  [token export-format dashcard-id card-id & query-params]
+  [{{:keys [token export-format dashcard-id card-id]} :params, :keys [query-params]} respond raise]
   {export-format dataset-api/ExportFormat}
-  (dataset-api/as-format export-format (card-for-signed-token token dashcard-id card-id query-params )))
+  (dataset-api/as-format-async export-format respond raise
+    (card-for-signed-token-async token
+      (Integer/parseUnsignedInt dashcard-id)
+      (Integer/parseUnsignedInt card-id)
+      (m/map-keys keyword query-params))))
+
 
 (api/define-routes)
diff --git a/src/metabase/api/metric.clj b/src/metabase/api/metric.clj
index dfd05310a9a3c6715cb056e070aca6edf3262db6..1de9e04392a214b353c0f5e78da8c3fc485e5de1 100644
--- a/src/metabase/api/metric.clj
+++ b/src/metabase/api/metric.clj
@@ -1,38 +1,56 @@
 (ns metabase.api.metric
   "/api/metric endpoints."
   (:require [clojure.data :as data]
+            [clojure.tools.logging :as log]
             [compojure.core :refer [DELETE GET POST PUT]]
+            [metabase
+             [events :as events]
+             [related :as related]
+             [util :as u]]
             [metabase.api.common :as api]
             [metabase.models
              [interface :as mi]
              [metric :as metric :refer [Metric]]
              [revision :as revision]
              [table :refer [Table]]]
-            [metabase.related :as related]
-            [metabase.util.schema :as su]
+            [metabase.util
+             [i18n :refer [trs]]
+             [schema :as su]]
+            [schema.core :as s]
             [toucan
              [db :as db]
              [hydrate :refer [hydrate]]]))
 
 (api/defendpoint POST "/"
   "Create a new `Metric`."
-  [:as {{:keys [name description table_id definition]} :body}]
-  {name       su/NonBlankString
-   table_id   su/IntGreaterThanZero
-   definition su/Map}
-  (api/check-superuser)
-  (api/write-check Table table_id)
-  (api/check-500 (metric/create-metric! table_id name description api/*current-user-id* definition)))
-
+  [:as {{:keys [name description table_id definition], :as body} :body}]
+  {name        su/NonBlankString
+   table_id    su/IntGreaterThanZero
+   definition  su/Map
+   description (s/maybe s/Str)}
+  ;; TODO - why can't set the other properties like `show_in_getting_started` when you create a Metric?
+  (api/create-check Metric body)
+  (let [metric (api/check-500
+                (db/insert! Metric
+                  :table_id    table_id
+                  :creator_id  api/*current-user-id*
+                  :name        name
+                  :description description
+                  :definition  definition))]
+    (-> (events/publish-event! :metric-create metric)
+        (hydrate :creator))))
+
+(s/defn ^:private hydrated-metric [id :- su/IntGreaterThanZero]
+  (-> (api/read-check (Metric id))
+      (hydrate :creator)))
 
 (api/defendpoint GET "/:id"
   "Fetch `Metric` with ID."
   [id]
-  (api/check-superuser)
-  (api/read-check (metric/retrieve-metric id)))
+  (hydrated-metric id))
 
 (defn- add-db-ids
-  "Add `:database_id` fields to METRICS by looking them up from their `:table_id`."
+  "Add `:database_id` fields to `metrics` by looking them up from their `:table_id`."
   [metrics]
   (when (seq metrics)
     (let [table-id->db-id (db/select-id->field :db_id Table, :id [:in (set (map :table_id metrics))])]
@@ -42,25 +60,43 @@
 (api/defendpoint GET "/"
   "Fetch *all* `Metrics`."
   [id]
-  (as-> (db/select Metric, :archived false, {:order-by [:%lower.name]}) <>
-    (hydrate <> :creator)
-    (add-db-ids <>)
-    (filter mi/can-read? <>)))
-
+  (as-> (db/select Metric, :archived false, {:order-by [:%lower.name]}) metrics
+    (hydrate metrics :creator)
+    (add-db-ids metrics)
+    (filter mi/can-read? metrics)))
+
+(defn- write-check-and-update-metric!
+  "Check whether current user has write permissions, then update Metric with values in `body`. Publishes appropriate
+  event and returns updated/hydrated Metric."
+  [id {:keys [revision_message archived], :as body}]
+  (let [existing (api/write-check Metric id)
+        [changes] (data/diff
+                   (u/select-keys-when body
+                     :present #{:description :caveats :how_is_this_calculated :points_of_interest}
+                     :non-nil #{:archived :definition :name :show_in_getting_started})
+                   existing)
+        archive? (:archived changes)]
+    (when changes
+      (db/update! Metric id changes))
+    (u/prog1 (hydrated-metric id)
+      (events/publish-event! (if archive? :metric-delete :metric-update)
+        (assoc <> :actor_id api/*current-user-id*, :revision_message revision_message)))))
 
 (api/defendpoint PUT "/:id"
   "Update a `Metric` with ID."
-  [id :as {{:keys [definition name revision_message], :as body} :body}]
-  {name             su/NonBlankString
-   revision_message su/NonBlankString
-   definition       su/Map}
-  (api/check-superuser)
-  (api/write-check Metric id)
-  (metric/update-metric!
-   (assoc (select-keys body #{:caveats :definition :description :how_is_this_calculated :name :points_of_interest
-                              :revision_message :show_in_getting_started})
-     :id id)
-   api/*current-user-id*))
+  [id :as {{:keys [name definition revision_message archived caveats description how_is_this_calculated
+                   points_of_interest show_in_getting_started]
+            :as   body} :body}]
+  {name                    (s/maybe su/NonBlankString)
+   definition              (s/maybe su/Map)
+   revision_message        su/NonBlankString
+   archived                (s/maybe s/Bool)
+   caveats                 (s/maybe s/Str)
+   description             (s/maybe s/Str)
+   how_is_this_calculated  (s/maybe s/Str)
+   points_of_interest      (s/maybe s/Str)
+   show_in_getting_started (s/maybe s/Bool)}
+  (write-check-and-update-metric! id body))
 
 (api/defendpoint PUT "/:id/important_fields"
   "Update the important `Fields` for a `Metric` with ID.
@@ -84,20 +120,19 @@
 
 
 (api/defendpoint DELETE "/:id"
-  "Delete a `Metric`."
+  "Archive a Metric. (DEPRECATED -- Just pass updated value of `:archived` to the `PUT` endpoint instead.)"
   [id revision_message]
   {revision_message su/NonBlankString}
-  (api/check-superuser)
-  (api/write-check Metric id)
-  (metric/delete-metric! id api/*current-user-id* revision_message)
-  {:success true}) ; TODO - why doesn't this return a 204 'No Content'?
+  (log/warn
+   (trs "DELETE /api/metric/:id is deprecated. Instead, change its `archived` value via PUT /api/metric/:id."))
+  (write-check-and-update-metric! id {:archived true, :revision_message revision_message})
+  api/generic-204-no-content)
 
 
 (api/defendpoint GET "/:id/revisions"
   "Fetch `Revisions` for `Metric` with ID."
   [id]
-  (api/check-superuser)
-  (api/write-check Metric id)
+  (api/read-check Metric id)
   (revision/revisions+details Metric id))
 
 
@@ -105,7 +140,6 @@
   "Revert a `Metric` to a prior `Revision`."
   [id :as {{:keys [revision_id]} :body}]
   {revision_id su/IntGreaterThanZero}
-  (api/check-superuser)
   (api/write-check Metric id)
   (revision/revert!
     :entity      Metric
@@ -118,4 +152,5 @@
   [id]
   (-> id Metric api/read-check related/related))
 
+
 (api/define-routes)
diff --git a/src/metabase/api/permissions.clj b/src/metabase/api/permissions.clj
index 2c0ffcca67d795dc6692f146bf36568df3e6c96e..c16a7664180fac7b377349a19ccebe415a385e4c 100644
--- a/src/metabase/api/permissions.clj
+++ b/src/metabase/api/permissions.clj
@@ -89,13 +89,15 @@
   "Return a map of `PermissionsGroup` ID -> number of members in the group. (This doesn't include entries for empty
   groups.)"
   []
-  (into {} (for [{:keys [group_id members]} (db/query
-                                             {:select    [[:pgm.group_id :group_id] [:%count.pgm.id :members]]
-                                              :from      [[:permissions_group_membership :pgm]]
-                                              :left-join [[:core_user :user] [:= :pgm.user_id :user.id]]
-                                              :where     [:= :user.is_active true]
-                                              :group-by  [:pgm.group_id]})]
-             {group_id members})))
+  (let [results (db/query
+                 {:select    [[:pgm.group_id :group_id] [:%count.pgm.id :members]]
+                  :from      [[:permissions_group_membership :pgm]]
+                  :left-join [[:core_user :user] [:= :pgm.user_id :user.id]]
+                  :where     [:= :user.is_active true]
+                  :group-by  [:pgm.group_id]})]
+    (zipmap
+     (map :group_id results)
+     (map :members results))))
 
 (defn- ordered-groups
   "Return a sequence of ordered `PermissionsGroups`, including the `MetaBot` group only if MetaBot is enabled."
@@ -106,14 +108,20 @@
                  [:not= :id (u/get-id (group/metabot))])
      :order-by [:%lower.name]}))
 
+(defn add-member-counts
+  "Efficiently add `:member_count` to PermissionGroups."
+  {:batched-hydrate :member_count}
+  [groups]
+  (let [group-id->num-members (group-id->num-members)]
+    (for [group groups]
+      (assoc group :member_count (get group-id->num-members (u/get-id group) 0)))))
+
 (api/defendpoint GET "/group"
   "Fetch all `PermissionsGroups`, including a count of the number of `:members` in that group."
   []
   (api/check-superuser)
-  (let [group-id->members (group-id->num-members)]
-    (for [group (ordered-groups)]
-      (assoc group :members (or (group-id->members (u/get-id group))
-                                0)))))
+  (-> (ordered-groups)
+      (hydrate :member_count)))
 
 (api/defendpoint GET "/group/:id"
   "Fetch the details for a certain permissions group."
diff --git a/src/metabase/api/preview_embed.clj b/src/metabase/api/preview_embed.clj
index 3d3ca312f596812bc9eff75bf6a9b0b8d46064d0..5aba5a037b8b549fe9a08d96c4c34cfa6c666df4 100644
--- a/src/metabase/api/preview_embed.clj
+++ b/src/metabase/api/preview_embed.clj
@@ -30,7 +30,7 @@
   [token & query-params]
   (let [unsigned-token (check-and-unsign token)
         card-id        (eu/get-in-unsigned-token-or-throw unsigned-token [:resource :question])]
-    (embed-api/run-query-for-card-with-params
+    (embed-api/run-query-for-card-with-params-async
       :card-id          card-id
       :token-params     (eu/get-in-unsigned-token-or-throw unsigned-token [:params])
       :embedding-params (eu/get-in-unsigned-token-or-throw unsigned-token [:_embedding_params])
@@ -47,7 +47,7 @@
   "Fetch the results of running a Card belonging to a Dashboard you're considering embedding with JWT TOKEN."
   [token dashcard-id card-id & query-params]
   (let [unsigned-token (check-and-unsign token)]
-    (embed-api/dashcard-results
+    (embed-api/dashcard-results-async
       :dashboard-id     (eu/get-in-unsigned-token-or-throw unsigned-token [:resource :dashboard])
       :dashcard-id      dashcard-id
       :card-id          card-id
diff --git a/src/metabase/api/public.clj b/src/metabase/api/public.clj
index d2a13332fced20132cb47601e0e1ad1cad7bb93e..45a178913671b4b3a2f62f49775dae82366395eb 100644
--- a/src/metabase/api/public.clj
+++ b/src/metabase/api/public.clj
@@ -1,6 +1,7 @@
 (ns metabase.api.public
   "Metabase API endpoints for viewing publicly-accessible Cards and Dashboards."
   (:require [cheshire.core :as json]
+            [clojure.core.async :as a]
             [compojure.core :refer [GET]]
             [medley.core :as m]
             [metabase
@@ -13,6 +14,7 @@
              [dashboard :as dashboard-api]
              [dataset :as dataset-api]
              [field :as field-api]]
+            [metabase.async.util :as async.u]
             [metabase.mbql
              [normalize :as normalize]
              [util :as mbql.u]]
@@ -64,27 +66,37 @@
   (api/check-public-sharing-enabled)
   (card-with-uuid uuid))
 
-(defn run-query-for-card-with-id
-  "Run the query belonging to Card with CARD-ID with PARAMETERS and other query options (e.g. `:constraints`)."
+(defn- transform-results [results]
+  (if (= (:status results) :failed)
+    ;; if the query failed instead of returning anything about the query just return a generic error message
+    (ex-info "An error occurred while running the query." {:status-code 400})
+    (u/select-nested-keys
+     results
+     [[:data :columns :cols :rows :rows_truncated :insights] [:json_query :parameters] :error :status])))
+
+(defn run-query-for-card-with-id-async
+  "Run the query belonging to Card with `card-id` with `parameters` and other query options (e.g. `:constraints`).
+  Returns core.async channel to fetch the results."
   {:style/indent 2}
   [card-id parameters & options]
-  (u/prog1 (-> ;; run this query with full superuser perms
-            (binding [api/*current-user-permissions-set*     (atom #{"/"})
-                      qp/*allow-queries-with-no-executor-id* true]
-              (apply card-api/run-query-for-card card-id, :parameters parameters, :context :public-question, options))
-            (u/select-nested-keys [[:data :columns :cols :rows :rows_truncated :insights] [:json_query :parameters] :error :status]))
-    ;; if the query failed instead of returning anything about the query just return a generic error message
-    (when (= (:status <>) :failed)
-      (throw (ex-info "An error occurred while running the query." {:status-code 400})))))
-
-(defn- run-query-for-card-with-public-uuid
-  "Run query for a *public* Card with UUID. If public sharing is not enabled, this throws an exception."
+  ;; run this query with full superuser perms
+  (let [in-chan  (binding [api/*current-user-permissions-set*     (atom #{"/"})
+                           qp/*allow-queries-with-no-executor-id* true]
+                   (apply card-api/run-query-for-card-async card-id, :parameters parameters, :context :public-question, options))
+        out-chan (a/chan 1 (map transform-results))]
+    (async.u/single-value-pipe in-chan out-chan)
+    out-chan))
+
+(defn- run-query-for-card-with-public-uuid-async
+  "Run query for a *public* Card with UUID. If public sharing is not enabled, this throws an exception. Returns channel
+  for fetching results."
   [uuid parameters & options]
   (api/check-public-sharing-enabled)
-  (apply run-query-for-card-with-id
-         (api/check-404 (db/select-one-id Card :public_uuid uuid, :archived false))
-         parameters
-         options))
+  (apply
+   run-query-for-card-with-id-async
+   (api/check-404 (db/select-one-id Card :public_uuid uuid, :archived false))
+   parameters
+   options))
 
 
 (api/defendpoint GET "/card/:uuid/query"
@@ -92,16 +104,16 @@
    credentials. Public sharing must be enabled."
   [uuid parameters]
   {parameters (s/maybe su/JSONString)}
-  (run-query-for-card-with-public-uuid uuid (json/parse-string parameters keyword)))
+  (run-query-for-card-with-public-uuid-async uuid (json/parse-string parameters keyword)))
 
-(api/defendpoint GET "/card/:uuid/query/:export-format"
+(api/defendpoint-async GET "/card/:uuid/query/:export-format"
   "Fetch a publicly-accessible Card and return query results in the specified format. Does not require auth
    credentials. Public sharing must be enabled."
-  [uuid export-format parameters]
+  [{{:keys [uuid export-format parameters]} :params}, respond raise]
   {parameters    (s/maybe su/JSONString)
    export-format dataset-api/ExportFormat}
-  (dataset-api/as-format export-format
-    (run-query-for-card-with-public-uuid uuid (json/parse-string parameters keyword), :constraints nil)))
+  (dataset-api/as-format-async export-format respond raise
+    (run-query-for-card-with-public-uuid-async uuid (json/parse-string parameters keyword), :constraints nil)))
 
 
 
@@ -219,15 +231,17 @@
            :card_id          card-id
            :dashboardcard_id [:in dashcard-ids])))))
 
-(defn public-dashcard-results
-  "Return the results of running a query with PARAMETERS for Card with CARD-ID belonging to Dashboard with
-   DASHBOARD-ID. Throws a 404 if the Card isn't part of the Dashboard."
+(defn public-dashcard-results-async
+  "Return the results of running a query with `parameters` for Card with `card-id` belonging to Dashboard with
+  `dashboard-id`. Throws a 404 immediately if the Card isn't part of the Dashboard.
+
+  Otherwise returns channel for fetching results."
   [dashboard-id card-id parameters & {:keys [context]
                                       :or   {context :public-dashboard}}]
   (check-card-is-in-dashboard card-id dashboard-id)
-  (run-query-for-card-with-id card-id (resolve-params dashboard-id (if (string? parameters)
-                                                                     (json/parse-string parameters keyword)
-                                                                     parameters))
+  (run-query-for-card-with-id-async card-id (resolve-params dashboard-id (if (string? parameters)
+                                                                           (json/parse-string parameters keyword)
+                                                                           parameters))
     :context context, :dashboard-id dashboard-id))
 
 (api/defendpoint GET "/dashboard/:uuid/card/:card-id"
@@ -236,7 +250,7 @@
   [uuid card-id parameters]
   {parameters (s/maybe su/JSONString)}
   (api/check-public-sharing-enabled)
-  (public-dashcard-results
+  (public-dashcard-results-async
    (api/check-404 (db/select-one-id Dashboard :public_uuid uuid, :archived false)) card-id parameters))
 
 
diff --git a/src/metabase/api/routes.clj b/src/metabase/api/routes.clj
index 27615f3a823f8114c90dea16f1be3c0a4dbd698c..6666faff0d948f8a0d68644c8cd15cffd968d5c0 100644
--- a/src/metabase/api/routes.clj
+++ b/src/metabase/api/routes.clj
@@ -34,26 +34,28 @@
              [tiles :as tiles]
              [user :as user]
              [util :as util]]
-            [metabase.middleware :as middleware]
+            [metabase.middleware
+             [auth :as middleware.auth]
+             [exceptions :as middleware.exceptions]]
             [metabase.util.i18n :refer [tru]]))
 
 (def ^:private +generic-exceptions
   "Wrap ROUTES so any Exception thrown is just returned as a generic 400, to prevent details from leaking in public
   endpoints."
-  middleware/genericize-exceptions)
+  middleware.exceptions/genericize-exceptions)
 
 (def ^:private +message-only-exceptions
   "Wrap ROUTES so any Exception thrown is just returned as a 400 with only the message from the original
   Exception (i.e., remove the original stacktrace), to prevent details from leaking in public endpoints."
-  middleware/message-only-exceptions)
+  middleware.exceptions/message-only-exceptions)
 
 (def ^:private +apikey
   "Wrap ROUTES so they may only be accessed with proper apikey credentials."
-  middleware/enforce-api-key)
+  middleware.auth/enforce-api-key)
 
 (def ^:private +auth
   "Wrap ROUTES so they may only be accessed with proper authentiaction credentials."
-  middleware/enforce-authentication)
+  middleware.auth/enforce-authentication)
 
 (defroutes ^{:doc "Ring routes for API endpoints."} routes
   (context "/activity"             [] (+auth activity/routes))
diff --git a/src/metabase/api/search.clj b/src/metabase/api/search.clj
index b6fbad58df7118404b46c0206c803fb2db4f2aeb..14f80b6be0408a526814d85b592774c048c2bd9b 100644
--- a/src/metabase/api/search.clj
+++ b/src/metabase/api/search.clj
@@ -10,7 +10,6 @@
              [collection :as coll :refer [Collection]]
              [dashboard :refer [Dashboard]]
              [dashboard-favorite :refer [DashboardFavorite]]
-             [interface :as mi]
              [metric :refer [Metric]]
              [pulse :refer [Pulse]]
              [segment :refer [Segment]]]
@@ -115,15 +114,12 @@
 
 (s/defn ^:private add-collection-criteria
   "Update the query to only include collections the user has access to"
-  [query-map column-kwd {:keys [visible-collections]} :- SearchContext]
-  (if (= :all visible-collections)
-    query-map
-    (let [in-clause [:in column-kwd visible-collections]]
-      ;; This is validated in the API call, just double checking here
-      (assert (seq visible-collections))
-      (h/merge-where query-map (if (mi/can-read? coll/root-collection)
-                                 [:or [:= column-kwd nil] in-clause]
-                                 in-clause) ))))
+  [query-map, column-kwd :- s/Keyword, {:keys [visible-collections]} :- SearchContext]
+  (h/merge-where
+   query-map
+   (coll/visible-collection-ids->honeysql-filter-clause
+    column-kwd
+    visible-collections)))
 
 (defn- make-honeysql-search-query
   "Create a HoneySQL query map to search for `entity`, suitable for the UNION ALL used in search."
@@ -206,8 +202,8 @@
 (defendpoint GET "/"
   "Search Cards, Dashboards, Collections and Pulses for the substring `q`."
   [q archived]
-  {q             (s/maybe su/NonBlankString)
-   archived      (s/maybe su/BooleanString)}
+  {q        (s/maybe su/NonBlankString)
+   archived (s/maybe su/BooleanString)}
   (let [{:keys [visible-collections] :as search-ctx} (make-search-context q archived)]
     ;; Throw if the user doesn't have access to any collections
     (check-403 (or (= :all visible-collections)
diff --git a/src/metabase/api/segment.clj b/src/metabase/api/segment.clj
index 27706f653dc15e8f4079788cc1170f97458fef06..47a489ae9b7ce941b314cbff4f8fb243dfbbbc9d 100644
--- a/src/metabase/api/segment.clj
+++ b/src/metabase/api/segment.clj
@@ -1,72 +1,106 @@
 (ns metabase.api.segment
   "/api/segment endpoints."
-  (:require [compojure.core :refer [DELETE GET POST PUT]]
+  (:require [clojure.data :as data]
+            [clojure.tools.logging :as log]
+            [compojure.core :refer [DELETE GET POST PUT]]
+            [metabase
+             [events :as events]
+             [related :as related]
+             [util :as u]]
             [metabase.api.common :as api]
             [metabase.models
              [interface :as mi]
              [revision :as revision]
-             [segment :as segment :refer [Segment]]
-             [table :refer [Table]]]
-            [metabase.related :as related]
-            [metabase.util.schema :as su]
+             [segment :as segment :refer [Segment]]]
+            [metabase.util
+             [i18n :refer [trs]]
+             [schema :as su]]
+            [schema.core :as s]
             [toucan
              [db :as db]
              [hydrate :refer [hydrate]]]))
 
 (api/defendpoint POST "/"
   "Create a new `Segment`."
-  [:as {{:keys [name description table_id definition]} :body}]
+  [:as {{:keys [name description table_id definition], :as body} :body}]
   {name       su/NonBlankString
    table_id   su/IntGreaterThanZero
-   definition su/Map}
-  (api/check-superuser)
-  (api/write-check Table table_id)
-  (api/check-500 (segment/create-segment! table_id name description api/*current-user-id* definition)))
+   definition su/Map
+   description (s/maybe s/Str)}
+  ;; TODO - why can't we set other properties like `show_in_getting_started` when we create the Segment?
+  (api/create-check Segment body)
+  (let [segment (api/check-500
+                 (db/insert! Segment
+                   :table_id    table_id
+                   :creator_id  api/*current-user-id*
+                   :name        name
+                   :description description
+                   :definition  definition))]
+    (-> (events/publish-event! :segment-create segment)
+        (hydrate :creator))))
 
+(s/defn ^:private hydrated-segment [id :- su/IntGreaterThanZero]
+  (-> (api/read-check (Segment id))
+      (hydrate :creator)))
 
 (api/defendpoint GET "/:id"
   "Fetch `Segment` with ID."
   [id]
-  (api/check-superuser)
-  (api/read-check (segment/retrieve-segment id)))
+  (hydrated-segment id))
 
-;; TODO - Why do we require superuser status for GET /api/segment/:id but not GET /api/segment?
 (api/defendpoint GET "/"
   "Fetch *all* `Segments`."
   []
-  (filter mi/can-read? (-> (db/select Segment, :archived false, {:order-by [[:%lower.name :asc]]})
-                           (hydrate :creator))))
+  (as-> (db/select Segment, :archived false, {:order-by [[:%lower.name :asc]]}) segments
+    (filter mi/can-read? segments)
+    (hydrate segments :creator)))
 
 
+(defn- write-check-and-update-segment!
+  "Check whether current user has write permissions, then update Segment with values in `body`. Publishes appropriate
+  event and returns updated/hydrated Segment."
+  [id {:keys [revision_message archived], :as body}]
+  (let [existing  (api/write-check Segment id)
+        [changes] (data/diff
+                   (u/select-keys-when body
+                     :present #{:description :caveats :points_of_interest}
+                     :non-nil #{:archived :definition :name :show_in_getting_started})
+                   existing)
+        archive?  (:archived changes)]
+    (when changes
+      (db/update! Segment id changes))
+    (u/prog1 (hydrated-segment id)
+      (events/publish-event! (if archive? :segment-delete :segment-update)
+        (assoc <> :actor_id api/*current-user-id*, :revision_message revision_message)))))
+
 (api/defendpoint PUT "/:id"
   "Update a `Segment` with ID."
-  [id :as {{:keys [name definition revision_message], :as body} :body}]
-  {name             su/NonBlankString
-   revision_message su/NonBlankString
-   definition       su/Map}
-  (api/check-superuser)
-  (api/write-check Segment id)
-  (segment/update-segment!
-   (assoc (select-keys body #{:name :description :caveats :points_of_interest :show_in_getting_started :definition
-                              :revision_message})
-     :id id)
-   api/*current-user-id*))
-
+  [id :as {{:keys [name definition revision_message archived caveats description points_of_interest
+                   show_in_getting_started]
+            :as   body} :body}]
+  {name                    (s/maybe su/NonBlankString)
+   definition              (s/maybe su/Map)
+   revision_message        su/NonBlankString
+   archived                (s/maybe s/Bool)
+   caveats                 (s/maybe s/Str)
+   description             (s/maybe s/Str)
+   points_of_interest      (s/maybe s/Str)
+   show_in_getting_started (s/maybe s/Bool)}
+  (write-check-and-update-segment! id body))
 
 (api/defendpoint DELETE "/:id"
-  "Delete a `Segment`."
+  "Archive a Segment. (DEPRECATED -- Just pass updated value of `:archived` to the `PUT` endpoint instead.)"
   [id revision_message]
   {revision_message su/NonBlankString}
-  (api/check-superuser)
-  (api/write-check Segment id)
-  (segment/delete-segment! id api/*current-user-id* revision_message)
-  {:success true}) ; TODO - why doesn't this return a 204 'No Content'?
+  (log/warn
+   (trs "DELETE /api/segment/:id is deprecated. Instead, change its `archived` value via PUT /api/segment/:id."))
+  (write-check-and-update-segment! id {:archived true, :revision_message revision_message})
+  api/generic-204-no-content)
 
 
 (api/defendpoint GET "/:id/revisions"
   "Fetch `Revisions` for `Segment` with ID."
   [id]
-  (api/check-superuser)
   (api/read-check Segment id)
   (revision/revisions+details Segment id))
 
@@ -75,7 +109,6 @@
   "Revert a `Segement` to a prior `Revision`."
   [id :as {{:keys [revision_id]} :body}]
   {revision_id su/IntGreaterThanZero}
-  (api/check-superuser)
   (api/write-check Segment id)
   (revision/revert!
     :entity      Segment
@@ -88,4 +121,5 @@
   [id]
   (-> id Segment api/read-check related/related))
 
+
 (api/define-routes)
diff --git a/src/metabase/api/session.clj b/src/metabase/api/session.clj
index ecc1829f2f37f29c6b523bff6c193f65646f58fe..3b27ad0ee0c7c9ec1abcc6cd5f435bd36999d16e 100644
--- a/src/metabase/api/session.clj
+++ b/src/metabase/api/session.clj
@@ -13,6 +13,7 @@
             [metabase.api.common :as api]
             [metabase.email.messages :as email]
             [metabase.integrations.ldap :as ldap]
+            [metabase.middleware.session :as mw.session]
             [metabase.models
              [session :refer [Session]]
              [setting :refer [defsetting]]
@@ -23,19 +24,21 @@
              [schema :as su]]
             [schema.core :as s]
             [throttle.core :as throttle]
-            [toucan.db :as db]))
+            [toucan.db :as db])
+  (:import com.unboundid.util.LDAPSDKException
+           java.util.UUID))
 
-(defn- create-session!
+(s/defn ^:private create-session! :- UUID
   "Generate a new `Session` for a given `User`. Returns the newly generated session ID."
-  [user]
-  {:pre  [(map? user) (integer? (:id user)) (contains? user :last_login)]
-   :post [(string? %)]}
-  (u/prog1 (str (java.util.UUID/randomUUID))
+  [user :- {:id         su/IntGreaterThanZero
+            :last_login s/Any
+            s/Keyword   s/Any}]
+  (u/prog1 (UUID/randomUUID)
     (db/insert! Session
-      :id      <>
+      :id      (str <>)
       :user_id (:id user))
     (events/publish-event! :user-login
-      {:user_id (:id user), :session_id <>, :first_login (not (boolean (:last_login user)))})))
+      {:user_id (:id user), :session_id (str <>), :first_login (nil? (:last_login user))})))
 
 ;;; ## API Endpoints
 
@@ -47,7 +50,7 @@
 (def ^:private password-fail-message (tru "Password did not match stored password."))
 (def ^:private password-fail-snippet (tru "did not match stored password"))
 
-(defn- ldap-login
+(s/defn ^:private ldap-login :- (s/maybe UUID)
   "If LDAP is enabled and a matching user exists return a new Session for them, or `nil` if they couldn't be
   authenticated."
   [username password]
@@ -61,18 +64,16 @@
                    {:status-code 400
                     :errors      {:password password-fail-snippet}})))
         ;; password is ok, return new session
-        {:id (create-session! (ldap/fetch-or-create-user! user-info password))})
-      (catch com.unboundid.util.LDAPSDKException e
-        (log/error
-         (u/format-color 'red
-             (trs "Problem connecting to LDAP server, will fall back to local authentication: {0}" (.getMessage e))))))))
+        (create-session! (ldap/fetch-or-create-user! user-info password)))
+      (catch LDAPSDKException e
+        (log/error e (trs "Problem connecting to LDAP server, will fall back to local authentication"))))))
 
-(defn- email-login
+(s/defn ^:private email-login :- (s/maybe UUID)
   "Find a matching `User` if one exists and return a new Session for them, or `nil` if they couldn't be authenticated."
   [username password]
   (when-let [user (db/select-one [User :id :password_salt :password :last_login], :email username, :is_active true)]
     (when (pass/verify-password password (:password_salt user) (:password user))
-      {:id (create-session! user)})))
+      (create-session! user))))
 
 (def ^:private throttling-disabled? (config/config-bool :mb-disable-session-throttle))
 
@@ -82,6 +83,20 @@
   (when-not throttling-disabled?
     (throttle/check throttler throttle-key)))
 
+(s/defn ^:private login :- UUID
+  "Attempt to login with different avaialable methods with `username` and `password`, returning new Session ID or
+  throwing an Exception if login could not be completed."
+  [username :- su/NonBlankString, password :- su/NonBlankString]
+  ;; Primitive "strategy implementation", should be reworked for modular providers in #3210
+  (or (ldap-login username password)    ; First try LDAP if it's enabled
+      (email-login username password)   ; Then try local authentication
+      ;; If nothing succeeded complain about it
+      ;; Don't leak whether the account doesn't exist or the password was incorrect
+      (throw
+       (ui18n/ex-info password-fail-message
+         {:status-code 400
+          :errors      {:password password-fail-snippet}}))))
+
 (api/defendpoint POST "/"
   "Login."
   [:as {{:keys [username password]} :body, remote-address :remote-addr}]
@@ -89,23 +104,17 @@
    password su/NonBlankString}
   (throttle-check (login-throttlers :ip-address) remote-address)
   (throttle-check (login-throttlers :username)   username)
-  ;; Primitive "strategy implementation", should be reworked for modular providers in #3210
-  (or (ldap-login username password)  ; First try LDAP if it's enabled
-      (email-login username password) ; Then try local authentication
-      ;; If nothing succeeded complain about it
-      ;; Don't leak whether the account doesn't exist or the password was incorrect
-      (throw (ui18n/ex-info password-fail-message
-               {:status-code 400
-                :errors      {:password password-fail-snippet}}))))
+  (let [session-id (login username password)
+        response   {:id session-id}]
+    (mw.session/set-session-cookie response session-id)))
 
 
 (api/defendpoint DELETE "/"
   "Logout."
-  [session_id]
-  {session_id su/NonBlankString}
-  (api/check-exists? Session session_id)
-  (db/delete! Session :id session_id)
-  api/generic-204-no-content)
+  [:as {:keys [metabase-session-id]}]
+  (api/check-exists? Session metabase-session-id)
+  (db/delete! Session :id metabase-session-id)
+  (mw.session/clear-session-cookie api/generic-204-no-content))
 
 ;; Reset tokens: We need some way to match a plaintext token with the a user since the token stored in the DB is
 ;; hashed. So we'll make the plaintext token in the format USER-ID_RANDOM-UUID, e.g.
@@ -165,8 +174,11 @@
         (when-not (:last_login user)
           (email/send-user-joined-admin-notification-email! (User user-id)))
         ;; after a successful password update go ahead and offer the client a new session that they can use
-        {:success    true
-         :session_id (create-session! user)})
+        (let [session-id (create-session! user)]
+          (mw.session/set-session-cookie
+           {:success    true
+            :session_id (str session-id)}
+           session-id)))
       (api/throw-invalid-param-exception :password (tru "Invalid reset token"))))
 
 
@@ -231,12 +243,13 @@
   ;; things hairy and only enforce those for non-Google Auth users
   (user/create-new-google-auth-user! new-user))
 
-(defn- google-auth-fetch-or-create-user! [first-name last-name email]
-  (if-let [user (or (db/select-one [User :id :last_login] :email email)
-                    (google-auth-create-new-user! {:first_name first-name
-                                                   :last_name  last-name
-                                                   :email      email}))]
-    {:id (create-session! user)}))
+(s/defn ^:private google-auth-fetch-or-create-user! :- (s/maybe UUID)
+  [first-name last-name email]
+  (when-let [user (or (db/select-one [User :id :last_login] :email email)
+                      (google-auth-create-new-user! {:first_name first-name
+                                                     :last_name  last-name
+                                                     :email      email}))]
+    (create-session! user)))
 
 (api/defendpoint POST "/google_auth"
   "Login with Google Auth."
@@ -246,7 +259,9 @@
   ;; Verify the token is valid with Google
   (let [{:keys [given_name family_name email]} (google-auth-token-info token)]
     (log/info (trs "Successfully authenticated Google Auth token for: {0} {1}" given_name family_name))
-    (google-auth-fetch-or-create-user! given_name family_name email)))
+    (let [session-id (api/check-500 (google-auth-fetch-or-create-user! given_name family_name email))
+          response   {:id session-id}]
+      (mw.session/set-session-cookie response session-id))))
 
 
 (api/define-routes)
diff --git a/src/metabase/api/setting.clj b/src/metabase/api/setting.clj
index ab173a82628eee5f998095e923992a7f1d56ea21..5e87b2b4c49494ac081ca31555d1995c09c9620b 100644
--- a/src/metabase/api/setting.clj
+++ b/src/metabase/api/setting.clj
@@ -22,11 +22,7 @@
   [key]
   {key su/NonBlankString}
   (api/check-superuser)
-  (let [k (keyword key)
-        v (setting/get k)]
-    ;; for security purposes, don't return value of a setting if it was defined via env var
-    (when (not= v (setting/env-var-value k))
-      v)))
+  (setting/user-facing-value key))
 
 (api/defendpoint PUT "/:key"
   "Create/update a `Setting`. You must be a superuser to do this.
diff --git a/src/metabase/api/setup.clj b/src/metabase/api/setup.clj
index bdb50027f84be58db833a36e47d6ebf3f5022475..34db8770dfb673b615de27f0f434e6026c971562 100644
--- a/src/metabase/api/setup.clj
+++ b/src/metabase/api/setup.clj
@@ -10,6 +10,7 @@
              [common :as api]
              [database :as database-api :refer [DBEngineString]]]
             [metabase.integrations.slack :as slack]
+            [metabase.middleware.session :as mw.session]
             [metabase.models
              [database :refer [Database]]
              [session :refer [Session]]
@@ -18,7 +19,8 @@
              [i18n :refer [tru]]
              [schema :as su]]
             [schema.core :as s]
-            [toucan.db :as db]))
+            [toucan.db :as db])
+  (:import java.util.UUID))
 
 (def ^:private SetupToken
   "Schema for a string that matches the instance setup token."
@@ -42,12 +44,12 @@
    allow_tracking (s/maybe (s/cond-pre s/Bool su/BooleanString))
    schedules      (s/maybe database-api/ExpandedSchedulesMap)}
   ;; Now create the user
-  (let [session-id (str (java.util.UUID/randomUUID))
+  (let [session-id (UUID/randomUUID)
         new-user   (db/insert! User
                      :email        email
                      :first_name   first_name
                      :last_name    last_name
-                     :password     (str (java.util.UUID/randomUUID))
+                     :password     (str (UUID/randomUUID))
                      :is_superuser true)]
     ;; this results in a second db call, but it avoids redundant password code so figure it's worth it
     (user/set-password! (:id new-user) password)
@@ -75,12 +77,12 @@
     (setup/clear-token!)
     ;; then we create a session right away because we want our new user logged in to continue the setup process
     (db/insert! Session
-      :id      session-id
+      :id      (str session-id)
       :user_id (:id new-user))
     ;; notify that we've got a new user in the system AND that this user logged in
     (events/publish-event! :user-create {:user_id (:id new-user)})
-    (events/publish-event! :user-login {:user_id (:id new-user), :session_id session-id, :first_login true})
-    {:id session-id}))
+    (events/publish-event! :user-login {:user_id (:id new-user), :session_id (str session-id), :first_login true})
+    (mw.session/set-session-cookie {:id (str session-id)} session-id)))
 
 
 (api/defendpoint POST "/validate"
diff --git a/src/metabase/api/tiles.clj b/src/metabase/api/tiles.clj
index e7c62269a0abcb7aa1a545cd2a7ae0c8734334f9..a2c9be71ef5b8415d7b092b9b4f266dd633d616f 100644
--- a/src/metabase/api/tiles.clj
+++ b/src/metabase/api/tiles.clj
@@ -6,7 +6,9 @@
              [query-processor :as qp]
              [util :as u]]
             [metabase.api.common :as api]
-            [metabase.mbql.util :as mbql.u]
+            [metabase.mbql
+             [normalize :as normalize]
+             [util :as mbql.u]]
             [metabase.util
              [i18n :refer [tru]]
              [schema :as su]])
@@ -133,7 +135,7 @@
         y             (Integer/parseInt y)
         lat-col-idx   (Integer/parseInt lat-col-idx)
         lon-col-idx   (Integer/parseInt lon-col-idx)
-        query         (json/parse-string query keyword)
+        query         (normalize/normalize (json/parse-string query keyword))
         updated-query (update query :query (u/rpartial query-with-inside-filter lat-field-id lon-field-id x y zoom))
         result        (qp/process-query-and-save-execution! updated-query {:executed-by api/*current-user-id*, :context :map-tiles})
         points        (for [row (-> result :data :rows)]
diff --git a/src/metabase/api/user.clj b/src/metabase/api/user.clj
index ace9cd5ec681451e3c19bae7500b4248f72809ea..d9816989b98fcdad74583f324e0e6728c300d4ee 100644
--- a/src/metabase/api/user.clj
+++ b/src/metabase/api/user.clj
@@ -8,7 +8,9 @@
              [session :as session-api]]
             [metabase.email.messages :as email]
             [metabase.integrations.ldap :as ldap]
-            [metabase.models.user :as user :refer [User]]
+            [metabase.models
+             [permissions-group :as group]
+             [user :as user :refer [User]]]
             [metabase.util :as u]
             [metabase.util
              [i18n :refer [tru]]
@@ -22,8 +24,31 @@
   "Check that USER-ID is *current-user-id*` or that `*current-user*` is a superuser, or throw a 403."
   [user-id]
   {:pre [(integer? user-id)]}
-  (api/check-403 (or (= user-id api/*current-user-id*)
-                     (:is_superuser @api/*current-user*))))
+  (api/check-403
+   (or
+    (= user-id api/*current-user-id*)
+    api/*is-superuser?*)))
+
+(defn- fetch-user [& query-criteria]
+  (apply db/select-one (vec (cons User user/admin-or-self-visible-columns)) query-criteria))
+
+(defn- maybe-set-user-permissions-groups! [user-or-id new-groups-or-ids & [is-superuser?]]
+  ;; if someone passed in both `:is_superuser` and `:group_ids`, make sure the whether the admin group is in group_ids
+  ;; agrees with is_superuser -- don't want to have ambiguous behavior
+  (when (and (some? is-superuser?)
+             new-groups-or-ids)
+    (api/checkp (= is-superuser? (contains? (set new-groups-or-ids) (u/get-id (group/admin))))
+      "is_superuser" (tru "Value of is_superuser must correspond to presence of Admin group ID in group_ids.")))
+  (when (some? new-groups-or-ids)
+    (when-not (= (user/group-ids user-or-id)
+                 (set (map u/get-id new-groups-or-ids)))
+      (api/check-superuser)
+      (user/set-permissions-groups! user-or-id new-groups-or-ids))))
+
+
+;;; +----------------------------------------------------------------------------------------------------------------+
+;;; |                   Fetching Users -- GET /api/user, GET /api/user/current, GET /api/user/:id                    |
+;;; +----------------------------------------------------------------------------------------------------------------+
 
 (api/defendpoint GET "/"
   "Fetch a list of `Users` for the admin People page or for Pulses. By default returns only active users. If
@@ -41,52 +66,50 @@
                 (hh/merge-where (when-not include_deactivated
                                   [:= :is_active true]))))
     ;; For admins, also include the IDs of the  Users' Personal Collections
-    api/*is-superuser?* (hydrate :personal_collection_id)))
+    api/*is-superuser?* (hydrate :personal_collection_id :group_ids)))
 
-(defn- fetch-user [& query-criteria]
-  (apply db/select-one (vec (cons User user/admin-or-self-visible-columns)) query-criteria))
+(api/defendpoint GET "/current"
+  "Fetch the current `User`."
+  []
+  (-> (api/check-404 @api/*current-user*)
+      (hydrate :personal_collection_id :group_ids)))
+
+(api/defendpoint GET "/:id"
+  "Fetch a `User`. You must be fetching yourself *or* be a superuser."
+  [id]
+  (check-self-or-superuser id)
+  (-> (api/check-404 (fetch-user :id id, :is_active true))
+      (hydrate :group_ids)))
 
-(defn- reactivate-user! [existing-user]
-  (db/update! User (u/get-id existing-user)
-    :is_active     true
-    :is_superuser  false
-    ;; if the user orignally logged in via Google Auth and it's no longer enabled, convert them into a regular user
-    ;; (see Issue #3323)
-    :google_auth   (boolean (and (:google_auth existing-user)
-                                 ;; if google-auth-client-id is set it means Google Auth is enabled
-                                 (session-api/google-auth-client-id)))
-    :ldap_auth     (boolean (and (:ldap_auth existing-user)
-                                 (ldap/ldap-configured?))))
-  ;; now return the existing user whether they were originally active or not
-  (fetch-user :id (u/get-id existing-user)))
 
+;;; +----------------------------------------------------------------------------------------------------------------+
+;;; |                                     Creating a new User -- POST /api/user                                      |
+;;; +----------------------------------------------------------------------------------------------------------------+
 
 (api/defendpoint POST "/"
   "Create a new `User`, return a 400 if the email address is already taken"
-  [:as {{:keys [first_name last_name email password login_attributes] :as body} :body}]
+  [:as {{:keys [first_name last_name email password group_ids login_attributes] :as body} :body}]
   {first_name       su/NonBlankString
    last_name        su/NonBlankString
    email            su/Email
+   group_ids        (s/maybe [su/IntGreaterThanZero])
    login_attributes (s/maybe user/LoginAttributes)}
   (api/check-superuser)
   (api/checkp (not (db/exists? User :email email))
     "email" (tru "Email address already in use."))
-  (let [new-user-id (u/get-id (user/invite-user! (select-keys body [:first_name :last_name :email :password :login_attributes])
-                                                 @api/*current-user*))]
-    (fetch-user :id new-user-id)))
-
-(api/defendpoint GET "/current"
-  "Fetch the current `User`."
-  []
-  (-> (api/check-404 @api/*current-user*)
-      (hydrate :personal_collection_id)))
+  (db/transaction
+    (let [new-user-id (u/get-id (user/create-and-invite-user!
+                                 (u/select-keys-when body
+                                   :non-nil [:first_name :last_name :email :password :login_attributes])
+                                 @api/*current-user*))]
+      (maybe-set-user-permissions-groups! new-user-id group_ids)
+      (-> (fetch-user :id new-user-id)
+          (hydrate :group_ids)))))
 
 
-(api/defendpoint GET "/:id"
-  "Fetch a `User`. You must be fetching yourself *or* be a superuser."
-  [id]
-  (check-self-or-superuser id)
-  (api/check-404 (fetch-user :id id, :is_active true)))
+;;; +----------------------------------------------------------------------------------------------------------------+
+;;; |                                      Updating a User -- PUT /api/user/:id                                      |
+;;; +----------------------------------------------------------------------------------------------------------------+
 
 (defn- valid-email-update?
   "This predicate tests whether or not the user is allowed to update the email address associated with this account."
@@ -103,10 +126,12 @@
 
 (api/defendpoint PUT "/:id"
   "Update an existing, active `User`."
-  [id :as {{:keys [email first_name last_name is_superuser login_attributes] :as body} :body}]
+  [id :as {{:keys [email first_name last_name group_ids is_superuser login_attributes] :as body} :body}]
   {email            (s/maybe su/Email)
    first_name       (s/maybe su/NonBlankString)
    last_name        (s/maybe su/NonBlankString)
+   group_ids        (s/maybe [su/IntGreaterThanZero])
+   is_superuser     (s/maybe s/Bool)
    login_attributes (s/maybe user/LoginAttributes)}
   (check-self-or-superuser id)
   ;; only allow updates if the specified account is active
@@ -115,7 +140,8 @@
     (api/check-403 (valid-email-update? user-before-update email))
     ;; can't change email if it's already taken BY ANOTHER ACCOUNT
     (api/checkp (not (db/exists? User, :email email, :id [:not= id]))
-      "email" (tru "Email address already associated to another user."))
+      "email" (tru "Email address already associated to another user.")))
+  (db/transaction
     (api/check-500
      (db/update! User id
        (u/select-keys-when body
@@ -123,8 +149,29 @@
                     #{:login_attributes})
          :non-nil (set (concat [:first_name :last_name :email]
                                (when api/*is-superuser?*
-                                 [:is_superuser])))))))
-  (fetch-user :id id))
+                                 [:is_superuser]))))))
+    (maybe-set-user-permissions-groups! id group_ids is_superuser))
+  (-> (fetch-user :id id)
+      (hydrate :group_ids)))
+
+
+;;; +----------------------------------------------------------------------------------------------------------------+
+;;; |                              Reactivating a User -- PUT /api/user/:id/reactivate                               |
+;;; +----------------------------------------------------------------------------------------------------------------+
+
+(defn- reactivate-user! [existing-user]
+  (db/update! User (u/get-id existing-user)
+    :is_active     true
+    :is_superuser  false
+    ;; if the user orignally logged in via Google Auth and it's no longer enabled, convert them into a regular user
+    ;; (see Issue #3323)
+    :google_auth   (boolean (and (:google_auth existing-user)
+                                 ;; if google-auth-client-id is set it means Google Auth is enabled
+                                 (session-api/google-auth-client-id)))
+    :ldap_auth     (boolean (and (:ldap_auth existing-user)
+                                 (ldap/ldap-configured?))))
+  ;; now return the existing user whether they were originally active or not
+  (fetch-user :id (u/get-id existing-user)))
 
 (api/defendpoint PUT "/:id/reactivate"
   "Reactivate user at `:id`"
@@ -138,6 +185,10 @@
     (reactivate-user! user)))
 
 
+;;; +----------------------------------------------------------------------------------------------------------------+
+;;; |                               Updating a Password -- PUT /api/user/:id/password                                |
+;;; +----------------------------------------------------------------------------------------------------------------+
+
 (api/defendpoint PUT "/:id/password"
   "Update a user's password."
   [id :as {{:keys [password old_password]} :body}]
@@ -146,7 +197,7 @@
   (api/let-404 [user (db/select-one [User :password_salt :password], :id id, :is_active true)]
     ;; admins are allowed to reset anyone's password (in the admin people list) so no need to check the value of
     ;; `old_password` for them regular users have to know their password, however
-    (when-not (:is_superuser @api/*current-user*)
+    (when-not api/*is-superuser?*
       (api/checkp (creds/bcrypt-verify (str (:password_salt user) old_password) (:password user))
         "old_password"
         (tru "Invalid password"))))
@@ -155,6 +206,21 @@
   (fetch-user :id id))
 
 
+;;; +----------------------------------------------------------------------------------------------------------------+
+;;; |                             Deleting (Deactivating) a User -- DELETE /api/user/:id                             |
+;;; +----------------------------------------------------------------------------------------------------------------+
+
+(api/defendpoint DELETE "/:id"
+  "Disable a `User`.  This does not remove the `User` from the DB, but instead disables their account."
+  [id]
+  (api/check-superuser)
+  (api/check-500 (db/update! User id, :is_active false))
+  {:success true})
+
+;;; +----------------------------------------------------------------------------------------------------------------+
+;;; |                  Other Endpoints -- PUT /api/user/:id/qpnewb, POST /api/user/:id/send_invite                   |
+;;; +----------------------------------------------------------------------------------------------------------------+
+
 ;; TODO - This could be handled by PUT /api/user/:id, we don't need a separate endpoint
 (api/defendpoint PUT "/:id/qbnewb"
   "Indicate that a user has been informed about the vast intricacies of 'the' Query Builder."
@@ -163,7 +229,6 @@
   (api/check-500 (db/update! User id, :is_qbnewb false))
   {:success true})
 
-
 (api/defendpoint POST "/:id/send_invite"
   "Resend the user invite email for a given user."
   [id]
@@ -172,14 +237,7 @@
     (let [reset-token (user/set-password-reset-token! id)
           ;; NOTE: the new user join url is just a password reset with an indicator that this is a first time user
           join-url    (str (user/form-password-reset-url reset-token) "#new")]
-      (email/send-new-user-email! user @api/*current-user* join-url))))
-
-
-(api/defendpoint DELETE "/:id"
-  "Disable a `User`.  This does not remove the `User` from the DB, but instead disables their account."
-  [id]
-  (api/check-superuser)
-  (api/check-500 (db/update! User id, :is_active false))
+      (email/send-new-user-email! user @api/*current-user* join-url)))
   {:success true})
 
 
diff --git a/src/metabase/async/api_response.clj b/src/metabase/async/api_response.clj
new file mode 100644
index 0000000000000000000000000000000000000000..0f6b1340ef375554eda7e23bff8311a15c777579
--- /dev/null
+++ b/src/metabase/async/api_response.clj
@@ -0,0 +1,173 @@
+(ns metabase.async.api-response
+  (:require [cheshire.core :as json]
+            [clojure.core.async :as a]
+            [clojure.java.io :as io]
+            [clojure.tools.logging :as log]
+            [compojure.response :refer [Sendable]]
+            [metabase.middleware.exceptions :as mw.exceptions]
+            [metabase.util :as u]
+            [metabase.util
+             [date :as du]
+             [i18n :as ui18n :refer [trs]]]
+            [ring.core.protocols :as ring.protocols]
+            [ring.util.response :as response])
+  (:import clojure.core.async.impl.channels.ManyToManyChannel
+           [java.io OutputStream Writer]
+           java.util.concurrent.TimeoutException
+           org.eclipse.jetty.io.EofException))
+
+(def ^:private keepalive-interval-ms
+  "Interval between sending newline characters to keep Heroku from terminating requests like queries that take a long
+  time to complete."
+  (* 1 1000))
+
+(def ^:private absolute-max-keepalive-ms
+  "Absolute maximum amount of time to wait for a response to return results, instead of keeping the connection open
+  forever. Normally we'll eventually give up when a connection is closed, but if someone keeps the connection open
+  forever, or if there's a bug in the API code (and `respond` is never called, or a value is never written to the
+  channel it returns) give up after 4 hours."
+  ;; 4 hours
+  (* 4 60 60 1000))
+
+;; Handle ring response maps that contain a core.async chan in the :body key:
+;;
+;; {:status 200
+;;  :body (a/chan)}
+;;
+;; and send strings (presumibly \n) as heartbeats to the client until the real results (a seq) is received, then
+;; stream that to the client
+(defn- write-keepalive-character [^Writer out]
+  (try
+    ;; a newline padding character as it's harmless and will allow us to check if the client
+    ;; is connected. If sending this character fails because the connection is closed, the
+    ;; chan will then close. Newlines are no-ops when reading JSON which this depends upon.
+    (.write out (str \newline))
+    (.flush out)
+    true
+    (catch EofException e
+      (log/debug e (u/format-color 'yellow (trs "connection closed, canceling request")))
+      false)
+    (catch Throwable e
+      (log/error e (trs "Unexpected error writing keepalive characters"))
+      false)))
+
+;; `chunkk` named as such to avoid conflict with `clojure.core/chunk`
+(defn- write-response-chunk [chunkk, ^Writer out]
+  (cond
+    ;; An error has occurred, let the user know
+    (instance? Throwable chunkk)
+    (json/generate-stream (:body (mw.exceptions/api-exception-response chunkk)) out)
+
+    ;; We've recevied the response, write it to the output stream and we're done
+    (seqable? chunkk)
+    (json/generate-stream chunkk out)
+
+    :else
+    (log/error (trs "Unexpected output in async API response") (class chunkk))))
+
+(defn- write-channel-to-output-stream [chan, ^Writer out]
+  (a/go-loop [chunkk (a/<! chan)]
+    (cond
+      (= chunkk ::keepalive)
+      ;; keepalive chunkk
+      (if (write-keepalive-character out)
+        (recur (a/<! chan))
+        (do
+          (a/close! chan)
+          (.close out)))
+
+      ;; nothing -- `chan` is prematurely closed
+      (nil? chunkk)
+      (.close out)
+
+      ;; otherwise we got an actual response. Do this on another thread so we don't block our precious core.async
+      ;; threads doing potentially long-running I/O
+      :else
+      (future
+        (try
+          ;; chunkk *might* be `nil` if the channel already go closed.
+          (write-response-chunk chunkk out)
+          (finally
+            ;; should already be closed, but just to be safe
+            (a/close! chan)
+            ;; close the writer so Ring knows the response is finished
+            (.close out))))))
+  nil)
+
+
+(extend-protocol ring.protocols/StreamableResponseBody
+  ManyToManyChannel
+  (write-body-to-stream [chan _ ^OutputStream output-stream]
+    (log/debug (u/format-color 'green (trs "starting streaming response")))
+    (write-channel-to-output-stream chan (io/writer output-stream))))
+
+
+(defn- start-async-keepalive-loop
+  "Starts a go-loop that will send `::keepalive` messages to `output-chan` every second until `input-chan` either
+  produces a response or one of the two channels is closed. If `output-chan` is closed (because there's no longer
+  anywhere to write to -- the connection was canceled), closes `input-chan`; this can and is used by producers such as
+  the async QP to cancel whatever they're doing."
+  [input-chan output-chan]
+  (let [start-time-ms (System/currentTimeMillis)]
+    ;; Start the async loop to wait for the response/write messages to the output
+    (a/go-loop []
+      ;; check whether input-chan is closed or has produced a value, or time out after a second
+      (let [[response chan]                  (a/alts! [input-chan (a/timeout keepalive-interval-ms)])
+            elapsed-time-ms                  (- (System/currentTimeMillis) start-time-ms)
+            exceeded-absolute-max-keepalive? (> elapsed-time-ms absolute-max-keepalive-ms)
+            timed-out?                       (not= chan input-chan)
+            input-chan-closed?               (and (= chan input-chan)
+                                                  (nil? response))
+            should-write-keepalive-byte?     (and timed-out? (not exceeded-absolute-max-keepalive?))]
+        ;; if we hit a timeout before getting a response but haven't hit the `absolute-max-keepalive-ms` limit then
+        ;; attempt to write our byte. Recur if successful
+        (if (when should-write-keepalive-byte?
+              (log/debug (u/format-color 'blue (trs "Response not ready, writing one byte & sleeping...")))
+              (a/>! output-chan ::keepalive))
+          (recur)
+          ;; otherwise do the appropriate thing & then we're done here
+          (try
+            (cond
+              ;; if we attempted to write a keepalive byte but `>!` returned `nil`, that means output-chan is closed.
+              ;; Log a message, and the `finally` block will handle closing everything
+              should-write-keepalive-byte?
+              (log/debug (trs "Output chan closed, canceling keepalive request."))
+
+              ;; We have a response since it's non-nil, write the results, we're done
+              (some? response)
+              (do
+                ;; BTW if output-chan is closed, it's already too late, nothing else we need to do
+                (a/>! output-chan response)
+                (log/debug (u/format-color 'blue (trs "Async response finished, closing channels."))))
+
+              ;; Otherwise if we've been waiting longer than `absolute-max-keepalive-ms` it's time to call it quits
+              exceeded-absolute-max-keepalive?
+              (a/>! output-chan (TimeoutException. (str (trs "No response after waiting {0}. Canceling request."
+                                                             (du/format-milliseconds absolute-max-keepalive-ms)))))
+
+              ;; if input-chan was unexpectedly closed log a message to that effect and return an appropriate error
+              ;; rather than letting people wait forever
+              input-chan-closed?
+              (do
+                (log/error (trs "Input channel unexpectedly closed."))
+                (a/>! output-chan (InterruptedException. (str (trs "Input channel unexpectedly closed."))))))
+            (finally
+              (a/close! output-chan)
+              (a/close! input-chan))))))))
+
+(defn- async-keepalive-chan [input-chan]
+  ;; Output chan only needs to hold on to the last message it got, for example no point in writing multiple `\n`
+  ;; characters if the consumer didn't get a chance to consume them, and no point writing `\n` before writing the
+  ;; actual response
+  (let [output-chan (a/chan (a/sliding-buffer 1))]
+    (start-async-keepalive-loop input-chan output-chan)
+    output-chan))
+
+(defn- async-keepalive-response [input-chan]
+  (assoc (response/response (async-keepalive-chan input-chan))
+    :content-type "applicaton/json; charset=utf-8"))
+
+(extend-protocol Sendable
+  ManyToManyChannel
+  (send* [input-chan _ respond _]
+    (respond (async-keepalive-response input-chan))))
diff --git a/src/metabase/async/semaphore_channel.clj b/src/metabase/async/semaphore_channel.clj
new file mode 100644
index 0000000000000000000000000000000000000000..d0f7dbf640c710155bc81a4cb8455611de768977
--- /dev/null
+++ b/src/metabase/async/semaphore_channel.clj
@@ -0,0 +1,123 @@
+(ns metabase.async.semaphore-channel
+  (:require [clojure.core.async :as a]
+            [clojure.tools.logging :as log]
+            [metabase.async.util :as async.u]
+            [metabase.util.i18n :refer [trs]])
+  (:import java.io.Closeable
+           java.util.concurrent.Semaphore))
+
+(defn- permit-handle
+  "Object that can holds on to a permit for a Semaphore. Can be closed with `.close`, and thus, used with `with-open`;
+  also returns the permit upon finalization if not already returned."
+  ^Closeable [^Semaphore semaphore, id]
+  (let [closed? (atom false)
+        close!  (fn []
+                  (when (compare-and-set! closed? false true)
+                    (.release semaphore)))]
+    (reify
+      Object
+      (toString [_]
+        (format "Permit #%d" id)) ; ID is a simple per-channel counter mainly for debugging purposes
+      (finalize [_]
+        (close!))
+      Closeable
+      (close [_]
+        (close!)))))
+
+(defn- notifying-semaphore
+  "When a permit is released via Semaphore.release() we'll send a message to the `notify-released-chan`. This is a
+  signal to the go-loop in the code below below to resume and try to acquire more permits from the semaphore."
+  ^Semaphore [num-permits notify-released-chan]
+  (proxy [Semaphore] [num-permits]
+    (release []
+      ;; Release the permit ASAP. (Add tag to proxy anaphor `this`, otherwise we get reflection warnings)
+      (let [^Semaphore this this]
+        (proxy-super release))
+      ;; Then send the message right away to let the go-loop know a permit is available.
+      (a/>!! notify-released-chan ::released))))
+
+(defn semaphore-channel
+  "Creates a core.async channel that manages a counting Semaphore with `num-permits`. Takes from this channel will block
+  until a permit is available; the object taken is a special 'permit handle' that implements `Closeable`; hold on to
+  it with `with-open` or close it with `.close` to return the permit when finished with it."
+  [^Integer num-permits]
+  (let [permits-chan         (a/chan)
+        ;; We only need one such 'release' notification at any given moment to let the loop know to resume so we can
+        ;; go ahead and make this channel a dropping buffer that will drop any additional messages.
+        notify-released-chan (a/chan (a/dropping-buffer 1))
+        semaphore            (notifying-semaphore num-permits notify-released-chan)]
+    ;; start the loop that will deliver permits
+    (a/go-loop [next-id 1]
+      (if (.tryAcquire semaphore)
+        ;; If the semaphore has a permit available right away, send a new `permit-handle` to `permits-chan`. Since
+        ;; that channel has no buffer this loop will park until someone is there to take it. Recur unless the
+        ;; permits-chan is closed.
+        (if (a/>! permits-chan (permit-handle semaphore next-id))
+          (recur (inc next-id))
+          (a/close! notify-released-chan))
+        ;; Otherwise if no permit is available, wait for a notification on `notify-released-chan`, then recur and try
+        ;; again, unless channel is closed
+        (when (a/<! notify-released-chan)
+          (recur next-id))))
+    ;; return a channel to get permits on
+    permits-chan))
+
+
+;;; ------------------------------------------- do-after-receiving-permit --------------------------------------------
+
+(def ^:private ^:dynamic *permits*
+  "Map of semaphore channel -> obtained permit for the current and child thread[s]. Used so we can skip obtaining a
+  second permit if this thread already has one."
+  {})
+
+(defn- do-f-with-permit
+  "Once a `permit` is obtained, execute `(apply f args)`, writing the results to `output-chan`, and returning the permit
+  no matter what."
+  [^Closeable permit out-chan f & args]
+  (try
+    (let [f (fn []
+              (with-open [permit permit]
+                (try
+                  (apply f args)
+                  (catch Throwable e
+                    e)
+                  (finally
+                    (log/debug (trs "f finished, permit will be returned"))))))]
+      (a/go
+        (let [canceled-chan (async.u/single-value-pipe (async.u/do-on-separate-thread f) out-chan)]
+          (when (a/<! canceled-chan)
+            (log/debug (trs "request canceled, permit will be returned"))
+            (.close permit)))))
+    (catch Throwable e
+      (log/error e (trs "Unexpected error attempting to run function after obtaining permit"))
+      (a/>! out-chan e)
+      (.close permit))))
+
+(defn- do-after-waiting-for-new-permit [semaphore-chan f & args]
+  (let [out-chan (a/chan 1)]
+    ;; fire off a go block to wait for a permit.
+    (a/go
+      (let [[permit first-done] (a/alts! [semaphore-chan out-chan])]
+        (binding [*permits* (assoc *permits* semaphore-chan permit)]
+          ;; If out-chan closes before we get a permit, there's nothing for us to do here. Otherwise if we got our
+          ;; permit then proceed
+          (if (= first-done out-chan)
+            (log/debug (trs "Not running pending function call: output channel already closed."))
+            ;; otherwise if channel is still open run the function
+            (apply do-f-with-permit permit out-chan f args)))))
+    ;; return `out-chan` which can be used to wait for results
+    out-chan))
+
+(defn do-after-receiving-permit
+  "Run `(apply f args)` asynchronously after receiving a permit from `semaphore-chan`. Returns a channel from which you
+  can fetch the results. Closing this channel before results are produced will cancel the function call."
+  {:style/indent 1}
+  [semaphore-chan f & args]
+  ;; check and see whether we already have a permit for `semaphore-chan`, if so, go ahead and run the function right
+  ;; away instead of waiting for *another* permit
+  (if (get *permits* semaphore-chan)
+    (do
+      (log/debug (trs "Current thread already has a permit for {0}, will not wait to acquire another" semaphore-chan))
+      (async.u/do-on-separate-thread f))
+    ;; otherwise wait for a permit
+    (apply do-after-waiting-for-new-permit semaphore-chan f args)))
diff --git a/src/metabase/async/util.clj b/src/metabase/async/util.clj
new file mode 100644
index 0000000000000000000000000000000000000000..4a7e671038b344b85cd9a30a3da5e48fce11befd
--- /dev/null
+++ b/src/metabase/async/util.clj
@@ -0,0 +1,65 @@
+(ns metabase.async.util
+  (:require [clojure.core.async :as a]
+            [clojure.tools.logging :as log]
+            [metabase.util.i18n :refer [trs]]
+            [schema.core :as s])
+  (:import clojure.core.async.impl.channels.ManyToManyChannel))
+
+(s/defn single-value-pipe :- ManyToManyChannel
+  "Pipe that will forward a single message from `in-chan` to `out-chan`, closing both afterward. If `out-chan` is closed
+  before `in-chan` produces a value, closes `in-chan`; this can be used to automatically cancel QP requests and the
+  like.
+
+  Returns a channel that will send a single message when such early-closing cancelation occurs. You can listen for
+  this message to implement special cancelation behavior, such as canceling async jobs. This channel automatically
+  closes when either `in-chan` or `out-chan` closes."
+  [in-chan :- ManyToManyChannel, out-chan :- ManyToManyChannel]
+  (let [canceled-chan (a/chan 1)]
+    ;; fire off a block that will wait for either in-chan to produce a result or out-chan to be closed
+    (a/go
+      (try
+        (let [[result first-finished-chan] (a/alts! [in-chan out-chan])]
+          (if (and (= first-finished-chan in-chan)
+                   (some? result))
+            ;; If `in-chan` (e.g. fn call result) finishes first and receives a result, forward result to `out-chan`
+            (a/>! out-chan result)
+            ;; Otherwise one of the two channels was closed (e.g. query cancelation) before `in-chan` returned a
+            ;; result (e.g. QP result), pass a message to `canceled-chan`; `finally` block will close all three channels
+            (a/>! canceled-chan ::canceled)))
+        ;; Either way, close whichever of the channels is still open just to be safe
+        (finally
+          (a/close! out-chan)
+          (a/close! in-chan)
+          (a/close! canceled-chan))))
+    ;; return the canceled chan in case someone wants to listen to it
+    canceled-chan))
+
+(defn do-on-separate-thread
+  "Run `(apply f args)` on a separate thread, returns a channel to fetch the results. Closing this channel early will
+  cancel the future running the function, if possible."
+  [f & args]
+  (let [in-chan       (a/chan 1)
+        out-chan      (a/chan 1)
+        canceled-chan (single-value-pipe in-chan out-chan)
+        ;; Run `f` on a separarate thread because it's a potentially long-running QP query and we don't want to tie
+        ;; up precious core.async threads
+        futur
+        (future
+          (if-not (= ::open (first (a/alts!! [out-chan] :default ::open)))
+            (log/debug (trs "Output channel closed, will skip running {0}." f))
+            (do
+              (log/debug (trs "Running {0} on separate thread..." f))
+              (try
+                (let [result (apply f args)]
+                  (a/put! in-chan result))
+                ;; if we catch an Exception (shouldn't happen in a QP query, but just in case), send it to `chan`. It's ok,
+                ;; our IMPL of Ring `StreamableResponseBody` will do the right thing with it.
+                (catch Throwable e
+                  (log/error e (trs "Caught error running {0}" f))
+                  (a/put! in-chan e))))))]
+    (a/go
+      (when-let [canceled (a/<! canceled-chan)]
+        (log/debug (trs "Request canceled, canceling future"))
+        (future-cancel futur)))
+
+    out-chan))
diff --git a/src/metabase/automagic_dashboards/comparison.clj b/src/metabase/automagic_dashboards/comparison.clj
index 4181c9d9dd12384801016351c3b8de5ed037b052..1f39bfef24da12ebe78e5c20d6fa15551054534a 100644
--- a/src/metabase/automagic_dashboards/comparison.clj
+++ b/src/metabase/automagic_dashboards/comparison.clj
@@ -93,7 +93,8 @@
                                                  :card                   card
                                                  :card_id                (:id card)
                                                  :series                 series
-                                                 :visualization_settings {:graph.y_axis.auto_split false}
+                                                 :visualization_settings {:graph.y_axis.auto_split false
+                                                                          :graph.series_labels [(:name card) (:name (first series))]}
                                                  :id                     (gensym)}))
         (let [width        (/ populate/grid-width 2)
               series-left  (map clone-card (:series card-left))
diff --git a/src/metabase/automagic_dashboards/core.clj b/src/metabase/automagic_dashboards/core.clj
index 73f9b2ca4e943884a27148c7481c84a5a9b7ba50..aac9ba0fb6bd6f4622134c8dfd664c869cc5e864 100644
--- a/src/metabase/automagic_dashboards/core.clj
+++ b/src/metabase/automagic_dashboards/core.clj
@@ -1123,14 +1123,14 @@
    (->> field-reference (field-reference->field root) field-name))
   ([{:keys [display_name unit] :as field}]
    (cond->> display_name
-     (and (filters/periodic-datetime? field) unit) (tru "{0} of {1}" (unit-name unit)))))
+     (some-> unit date/date-extract-units) (tru "{0} of {1}" (unit-name unit)))))
 
 (defmethod humanize-filter-value :=
   [root [_ field-reference value]]
   (let [field      (field-reference->field root field-reference)
         field-name (field-name field)]
-    (if (or (filters/datetime? field)
-            (filters/periodic-datetime? field))
+    (if (or (isa? (:base_type field) :type/DateTime)
+            (field/unix-timestamp? field))
       (tru "{0} is {1}" field-name (humanize-datetime value (:unit field)))
       (tru "{0} is {1}" field-name value))))
 
diff --git a/src/metabase/automagic_dashboards/filters.clj b/src/metabase/automagic_dashboards/filters.clj
index 44b0ba4742a4c9feaf410848c4423c4037efd2c4..e12c9ed7ebf227457cba864610972b201136c3e6 100644
--- a/src/metabase/automagic_dashboards/filters.clj
+++ b/src/metabase/automagic_dashboards/filters.clj
@@ -50,16 +50,10 @@
                  identity)
        (filter field-reference?)))
 
-(def ^{:arglists '([field])} periodic-datetime?
-  "Is `field` a periodic datetime (eg. day of month)?"
-  (comp #{:minute-of-hour :hour-of-day :day-of-week :day-of-month :day-of-year :week-of-year
-          :month-of-year :quarter-of-year}
-        :unit))
-
 (defn datetime?
   "Is `field` a datetime?"
   [field]
-  (and (not (periodic-datetime? field))
+  (and (not ((disj metabase.util.date/date-extract-units :year) (:unit field)))
        (or (isa? (:base_type field) :type/DateTime)
            (field/unix-timestamp? field))))
 
@@ -75,6 +69,23 @@
     (isa? special_type :type/CreationTimestamp)         inc
     (#{:type/State :type/Country} special_type)         inc))
 
+(defn- interleave-all
+  [& colls]
+  (lazy-seq
+   (when-not (empty? colls)
+     (concat (map first colls) (apply interleave-all (keep (comp seq rest) colls))))))
+
+(defn- sort-by-interestingness
+  [fields]
+  (->> fields
+       (map #(assoc % :interestingness (interestingness %)))
+       (sort-by interestingness >)
+       (partition-by :interestingness)
+       (mapcat (fn [fields]
+                 (->> fields
+                      (group-by (juxt :base_type :special_type))
+                      vals
+                      (apply interleave-all))))))
 
 (defn interesting-fields
   "Pick out interesting fields and sort them by interestingness."
@@ -83,7 +94,7 @@
        (filter (fn [{:keys [special_type] :as field}]
                  (or (datetime? field)
                      (isa? special_type :type/Category))))
-       (sort-by interestingness >)))
+       sort-by-interestingness))
 
 (defn- candidates-for-filtering
   [fieldset cards]
@@ -160,7 +171,7 @@
                   field/with-targets)]
      (->> dimensions
           remove-unqualified
-          (sort-by interestingness >)
+          sort-by-interestingness
           (take max-filters)
           (reduce
            (fn [dashboard candidate]
diff --git a/src/metabase/core.clj b/src/metabase/core.clj
index 19fef79cae73790cb3a5a0fcb9282e36cf359ae5..43cef9ec9bdd7bf05f8688a8fb2da9b54c5c7468 100644
--- a/src/metabase/core.clj
+++ b/src/metabase/core.clj
@@ -1,19 +1,16 @@
 ;; -*- comment-column: 35; -*-
 (ns metabase.core
   (:gen-class)
-  (:require [cheshire.core :as json]
-            [clojure.pprint :as pprint]
-            [clojure.tools.logging :as log]
-            [medley.core :as m]
+  (:require [clojure.tools.logging :as log]
             [metabase
              [config :as config]
              [db :as mdb]
              [events :as events]
+             [handler :as handler]
              [metabot :as metabot]
-             [middleware :as mb-middleware]
              [plugins :as plugins]
-             [routes :as routes]
              [sample-data :as sample-data]
+             [server :as server]
              [setup :as setup]
              [task :as task]
              [util :as u]]
@@ -23,92 +20,7 @@
              [setting :as setting]
              [user :refer [User]]]
             [metabase.util.i18n :refer [set-locale trs]]
-            [puppetlabs.i18n.core :refer [locale-negotiator]]
-            [ring.adapter.jetty :as ring-jetty]
-            [ring.middleware
-             [cookies :refer [wrap-cookies]]
-             [gzip :refer [wrap-gzip]]
-             [json :refer [wrap-json-body]]
-             [keyword-params :refer [wrap-keyword-params]]
-             [params :refer [wrap-params]]
-             [session :refer [wrap-session]]]
-            [ring.util
-             [io :as rui]
-             [response :as rr]]
-            [toucan.db :as db])
-  (:import [java.io BufferedWriter OutputStream OutputStreamWriter]
-           [java.nio.charset Charset StandardCharsets]
-           org.eclipse.jetty.server.Server
-           org.eclipse.jetty.util.thread.QueuedThreadPool))
-
-;;; CONFIG
-
-;; TODO - why not just put this in `metabase.middleware` with *all* of our other custom middleware. Also, what's the
-;; difference between this and `streaming-json-response`?
-(defn- streamed-json-response
-  "Write `RESPONSE-SEQ` to a PipedOutputStream as JSON, returning the connected PipedInputStream"
-  [response-seq opts]
-  (rui/piped-input-stream
-   (fn [^OutputStream output-stream]
-     (with-open [output-writer   (OutputStreamWriter. ^OutputStream output-stream ^Charset StandardCharsets/UTF_8)
-                 buffered-writer (BufferedWriter. output-writer)]
-       (json/generate-stream response-seq buffered-writer opts)))))
-
-(defn- wrap-streamed-json-response
-  "Similar to ring.middleware/wrap-json-response in that it will serialize the response's body to JSON if it's a
-  collection. Rather than generating a string it will stream the response using a PipedOutputStream.
-
-  Accepts the following options (same as `wrap-json-response`):
-
-  :pretty            - true if the JSON should be pretty-printed
-  :escape-non-ascii  - true if non-ASCII characters should be escaped with \\u"
-  [handler & [{:as opts}]]
-  (fn [request]
-    (let [response (handler request)]
-      (if-let [json-response (and (coll? (:body response))
-                                  (update-in response [:body] streamed-json-response opts))]
-        (if (contains? (:headers json-response) "Content-Type")
-          json-response
-          (rr/content-type json-response "application/json; charset=utf-8"))
-        response))))
-
-(def ^:private jetty-instance
-  (atom nil))
-
-(defn- jetty-stats []
-  (when-let [^Server jetty-server @jetty-instance]
-    (let [^QueuedThreadPool pool (.getThreadPool jetty-server)]
-      {:min-threads  (.getMinThreads pool)
-       :max-threads  (.getMaxThreads pool)
-       :busy-threads (.getBusyThreads pool)
-       :idle-threads (.getIdleThreads pool)
-       :queue-size   (.getQueueSize pool)})))
-
-(def ^:private app
-  "The primary entry point to the Ring HTTP server."
-  ;; ▼▼▼ POST-PROCESSING ▼▼▼ happens from TOP-TO-BOTTOM
-  (-> #'routes/routes                    ; the #' is to allow tests to redefine endpoints
-      mb-middleware/catch-api-exceptions ; catch exceptions and return them in our expected format
-      (mb-middleware/log-api-call
-       jetty-stats)
-      mb-middleware/add-security-headers ; Add HTTP headers to API responses to prevent them from being cached
-      (wrap-json-body                    ; extracts json POST body and makes it avaliable on request
-        {:keywords? true})
-      wrap-streamed-json-response        ; middleware to automatically serialize suitable objects as JSON in responses
-      wrap-keyword-params                ; converts string keys in :params to keyword keys
-      wrap-params                        ; parses GET and POST params as :query-params/:form-params and both as :params
-      mb-middleware/bind-current-user    ; Binds *current-user* and *current-user-id* if :metabase-user-id is non-nil
-      mb-middleware/wrap-current-user-id ; looks for :metabase-session-id and sets :metabase-user-id if Session ID is valid
-      mb-middleware/wrap-api-key         ; looks for a Metabase API Key on the request and assocs as :metabase-api-key
-      mb-middleware/wrap-session-id      ; looks for a Metabase Session ID and assoc as :metabase-session-id
-      mb-middleware/maybe-set-site-url   ; set the value of `site-url` if it hasn't been set yet
-      locale-negotiator                  ; Binds *locale* for i18n
-      wrap-cookies                       ; Parses cookies in the request map and assocs as :cookies
-      wrap-session                       ; reads in current HTTP session and sets :session/key
-      mb-middleware/add-content-type     ; Adds a Content-Type header for any response that doesn't already have one
-      wrap-gzip))                        ; GZIP response if client can handle it
-;; ▲▲▲ PRE-PROCESSING ▲▲▲ happens from BOTTOM-TO-TOP
-
+            [toucan.db :as db]))
 
 ;;; --------------------------------------------------- Lifecycle ----------------------------------------------------
 
@@ -195,64 +107,18 @@
   (init-status/set-complete!)
   (log/info (trs "Metabase Initialization COMPLETE")))
 
-
-;;; ## ---------------------------------------- Jetty (Web) Server ----------------------------------------
-
-(defn- jetty-ssl-config []
-  (m/filter-vals identity {:ssl-port       (config/config-int :mb-jetty-ssl-port)
-                           :keystore       (config/config-str :mb-jetty-ssl-keystore)
-                           :key-password   (config/config-str :mb-jetty-ssl-keystore-password)
-                           :truststore     (config/config-str :mb-jetty-ssl-truststore)
-                           :trust-password (config/config-str :mb-jetty-ssl-truststore-password)}))
-
-(defn- jetty-config []
-  (cond-> (m/filter-vals identity {:port          (config/config-int :mb-jetty-port)
-                                   :host          (config/config-str :mb-jetty-host)
-                                   :max-threads   (config/config-int :mb-jetty-maxthreads)
-                                   :min-threads   (config/config-int :mb-jetty-minthreads)
-                                   :max-queued    (config/config-int :mb-jetty-maxqueued)
-                                   :max-idle-time (config/config-int :mb-jetty-maxidletime)})
-    (config/config-str :mb-jetty-daemon) (assoc :daemon? (config/config-bool :mb-jetty-daemon))
-    (config/config-str :mb-jetty-ssl)    (-> (assoc :ssl? true)
-                                             (merge (jetty-ssl-config)))))
-
-(defn- log-config [jetty-config]
-  (log/info (trs "Launching Embedded Jetty Webserver with config:")
-            "\n"
-            (with-out-str (pprint/pprint (m/filter-keys #(not (re-matches #".*password.*" (str %)))
-                                                        jetty-config)))))
-
-(defn start-jetty!
-  "Start the embedded Jetty web server."
-  []
-  (when-not @jetty-instance
-    (let [jetty-config (jetty-config)]
-      (log-config jetty-config)
-      ;; NOTE: we always start jetty w/ join=false so we can start the server first then do init in the background
-      (->> (ring-jetty/run-jetty app (assoc jetty-config :join? false))
-           (reset! jetty-instance)))))
-
-(defn stop-jetty!
-  "Stop the embedded Jetty web server."
-  []
-  (when @jetty-instance
-    (log/info (trs "Shutting Down Embedded Jetty Webserver"))
-    (.stop ^Server @jetty-instance)
-    (reset! jetty-instance nil)))
-
-
 ;;; -------------------------------------------------- Normal Start --------------------------------------------------
 
 (defn- start-normally []
   (log/info (trs "Starting Metabase in STANDALONE mode"))
   (try
     ;; launch embedded webserver async
-    (start-jetty!)
+    (server/start-web-server! handler/app)
     ;; run our initialization process
     (init!)
     ;; Ok, now block forever while Jetty does its thing
     (when (config/config-bool :mb-jetty-join)
-      (.join ^Server @jetty-instance))
+      (.join (server/instance)))
     (catch Throwable e
       (log/error e (trs "Metabase Initialization FAILED"))
       (System/exit 1))))
diff --git a/src/metabase/db.clj b/src/metabase/db.clj
index d757df7ec0aa39c16eb961e7be53a8765b2bba72..9e7a49c701e051c25aa07dd11f30aa13e475de91 100644
--- a/src/metabase/db.clj
+++ b/src/metabase/db.clj
@@ -98,8 +98,11 @@
       (u/format-color 'red
           (str
            (trs "WARNING: Using Metabase with an H2 application database is not recomended for production deployments.")
+           " "
            (trs "For production deployments, we highly recommend using Postgres, MySQL, or MariaDB instead.")
+           " "
            (trs "If you decide to continue to use H2, please be sure to back up the database file regularly.")
+           " "
            (trs "See https://metabase.com/docs/latest/operations-guide/start.html#migrating-from-using-the-h2-database-to-mysql-or-postgres for more information.")))))
    (or @connection-string-details
        (case (db-type)
diff --git a/src/metabase/db/spec.clj b/src/metabase/db/spec.clj
index 7c1fd20fc37f905c6b68c7fd221481dce7e746a8..fc16f0d398f84d16f4dd0045f2d7132c63872921 100644
--- a/src/metabase/db/spec.clj
+++ b/src/metabase/db/spec.clj
@@ -24,7 +24,7 @@
   (merge
    {:classname                     "org.postgresql.Driver"
     :subprotocol                   "postgresql"
-    :subname                       (make-subname host port db)
+    :subname                       (make-subname host (or port 5432) db)
     ;; I think this is done to prevent conflicts with redshift driver registering itself to handle postgres://
     :OpenSourceSubProtocolOverride true}
    (dissoc opts :host :port :db)))
@@ -37,7 +37,7 @@
   (merge
    {:classname   "org.mariadb.jdbc.Driver"
     :subprotocol "mysql"
-    :subname     (make-subname host port db)}
+    :subname     (make-subname host (or port 3306) db)}
    (dissoc opts :host :port :db)))
 
 
diff --git a/src/metabase/driver.clj b/src/metabase/driver.clj
index e4102285a81885b7a11856d8cc0a9ab0da3616ac..0d1b1d9279172bd98dc5987c527e99f955fa3aaf 100644
--- a/src/metabase/driver.clj
+++ b/src/metabase/driver.clj
@@ -80,7 +80,7 @@
   [driver]
   (not (isa? hierarchy driver ::concrete)))
 
-(defn- driver->expected-namespace [driver]
+(s/defn ^:private driver->expected-namespace [driver :- s/Keyword]
   (symbol
    (or (namespace driver)
        (str "metabase.driver." (name driver)))))
@@ -123,7 +123,7 @@
           (when-not (registered? driver)
             (throw (Exception. (str (tru "Driver not registered after loading: {0}" driver))))))))))
 
-(defn the-driver
+(s/defn the-driver
   "Like Clojure core `the-ns`. Converts argument to a keyword, then loads and registers the driver if not already done,
   throwing an Exception if it fails or is invalid. Returns keyword.
 
@@ -140,7 +140,7 @@
 
     (the-driver :postgres) ; -> :postgres
     (the-driver :baby)     ; -> Exception"
-  [driver]
+  [driver :- (s/cond-pre s/Str s/Keyword)]
   (let [driver (keyword driver)]
     (load-driver-namespace-if-needed driver)
     driver))
@@ -583,10 +583,40 @@
 
     {:query \"-- Metabase card: 10 user: 5
               SELECT * FROM my_table\"}"
-  {:arglists '([driver query])}
+  {:arglists '([driver query]), :style/indent 1}
+  dispatch-on-initialized-driver
+  :hierarchy #'hierarchy)
+
+
+(defmulti splice-parameters-into-native-query
+  "For a native query that has separate parameters, such as a JDBC prepared statement, e.g.
+
+    {:query \"SELECT * FROM birds WHERE name = ?\", :params [\"Reggae\"]}
+
+  splice the parameters in to the native query as literals so it can be executed by the user, e.g.
+
+    {:query \"SELECT * FROM birds WHERE name = 'Reggae'\"}
+
+  This is used to power features such as 'Convert this Question to SQL' in the Query Builder. Normally when executing
+  the query we'd like to leave the statement as a prepared one and pass parameters that way instead of splicing them
+  in as literals so as to avoid SQL injection vulnerabilities. Thus the results of this method are not normally
+  executed by the Query Processor when processing an MBQL query. However when people convert a
+  question to SQL they can see what they will be executing and edit the query as needed.
+
+  Input to this function follows the same shape as output of `mbql->native` -- that is, it will be a so-called 'inner'
+  native query, with `:query` and `:params` keys, as in the example code above; output should be of the same format.
+  This method might be called even if no splicing needs to take place, e.g. if `:params` is empty; implementations
+  should be sure to handle this situation correctly.
+
+  For databases that do not feature concepts like 'prepared statements', this method need not be implemented; the
+  default implementation is an identity function."
+  {:arglists '([driver query]), :style/indent 1}
   dispatch-on-initialized-driver
   :hierarchy #'hierarchy)
 
+(defmethod splice-parameters-into-native-query ::driver [_ query]
+  query)
+
 
 (defmulti notify-database-updated
   "Notify the driver that the attributes of a `database` have changed, or that `database was deleted. This is
diff --git a/src/metabase/driver/h2.clj b/src/metabase/driver/h2.clj
index 724292a812f33b0a0cbbf43f7aaff27c733b7217..099ebc306c8cc4da78bd3c3327194431b569f2a8 100644
--- a/src/metabase/driver/h2.clj
+++ b/src/metabase/driver/h2.clj
@@ -11,10 +11,14 @@
              [connection :as sql-jdbc.conn]
              [sync :as sql-jdbc.sync]]
             [metabase.driver.sql.query-processor :as sql.qp]
+            [metabase.driver.sql.util.unprepare :as unprepare]
             [metabase.query-processor.store :as qp.store]
             [metabase.util
+             [date :as du]
              [honeysql-extensions :as hx]
-             [i18n :refer [tru]]]))
+             [i18n :refer [tru]]])
+  (:import java.sql.Time
+           java.util.Date))
 
 (driver/register! :h2, :parent :sql-jdbc)
 
@@ -148,6 +152,12 @@
                                                   2))))
 
 
+(defmethod unprepare/unprepare-value [:h2 Date] [_ value]
+  (format "timestamp '%s'" (du/date->iso-8601 value)))
+
+(prefer-method unprepare/unprepare-value [:sql Time] [:h2 Date])
+
+
 ;;; +----------------------------------------------------------------------------------------------------------------+
 ;;; |                                         metabase.driver.sql-jdbc impls                                         |
 ;;; +----------------------------------------------------------------------------------------------------------------+
diff --git a/src/metabase/driver/mysql.clj b/src/metabase/driver/mysql.clj
index bfe7c9470c1f1f03092116cb273003430b408b6d..936b2d97dbcd8b72aa9b2aa333feb1754937c045 100644
--- a/src/metabase/driver/mysql.clj
+++ b/src/metabase/driver/mysql.clj
@@ -7,6 +7,7 @@
             [clojure
              [set :as set]
              [string :as str]]
+            [clojure.tools.logging :as log]
             [honeysql.core :as hsql]
             [metabase.db.spec :as dbspec]
             [metabase.driver :as driver]
@@ -22,6 +23,7 @@
             [metabase.util
              [date :as du]
              [honeysql-extensions :as hx]
+             [i18n :refer [trs]]
              [ssh :as ssh]]
             [schema.core :as s])
   (:import [java.sql ResultSet Time Timestamp Types]
@@ -45,6 +47,7 @@
      driver.common/default-dbname-details
      driver.common/default-user-details
      driver.common/default-password-details
+     driver.common/default-ssl-details
      (assoc driver.common/default-additional-options-details
        :placeholder  "tinyInt1isBit=false")]))
 
@@ -282,14 +285,24 @@
    ;; but we still want to test that we can handle it correctly for older ones
    :sessionVariables     "sql_mode='ALLOW_INVALID_DATES'"})
 
-(defmethod sql-jdbc.conn/connection-details->spec :mysql [_ {ssl? :ssl, :as details}]
-  (merge
-   default-connection-args
-   ;; newer versions of MySQL will complain if you don't specify this when not using SSL
-   (when-not ssl?
-     {:useSSL false})
-   (-> (dbspec/mysql (set/rename-keys details {:dbname :db}))
-       (sql-jdbc.common/handle-additional-options details))))
+(defmethod sql-jdbc.conn/connection-details->spec :mysql [_ {ssl? :ssl, :keys [additional-options], :as details}]
+  ;; In versions older than 0.32.0 the MySQL driver did not correctly save `ssl?` connection status. Users worked
+  ;; around this by including `useSSL=true`. Check if that's there, and if it is, assume SSL status. See #9629
+  ;;
+  ;; TODO - should this be fixed by a data migration instead?
+  (let [ssl? (or ssl? (some-> additional-options (str/includes? "useSSL=true")))]
+    (when (and ssl?
+               (not (some->  additional-options (str/includes? "trustServerCertificate"))))
+      (log/info (trs "You may need to add 'trustServerCertificate=true' to the additional connection options to connect with SSL.")))
+    (merge
+     default-connection-args
+     ;; newer versions of MySQL will complain if you don't specify this when not using SSL
+     {:useSSL (boolean ssl?)}
+     (let [details (-> details
+                       (set/rename-keys {:dbname :db})
+                       (dissoc :ssl))]
+       (-> (dbspec/mysql details)
+           (sql-jdbc.common/handle-additional-options details))))))
 
 
 (defmethod sql-jdbc.sync/active-tables :mysql [& args]
diff --git a/src/metabase/driver/postgres.clj b/src/metabase/driver/postgres.clj
index 402a651f051764dde209fecfbee5e9e8e6e004f7..d75c962d43298ea6a6c8565379025a1baa3f492e 100644
--- a/src/metabase/driver/postgres.clj
+++ b/src/metabase/driver/postgres.clj
@@ -15,11 +15,13 @@
              [execute :as sql-jdbc.execute]
              [sync :as sql-jdbc.sync]]
             [metabase.driver.sql.query-processor :as sql.qp]
+            [metabase.driver.sql.util.unprepare :as unprepare]
             [metabase.util
+             [date :as du]
              [honeysql-extensions :as hx]
              [ssh :as ssh]])
   (:import java.sql.Time
-           java.util.UUID))
+           [java.util Date UUID]))
 
 (driver/register! :postgres, :parent :sql-jdbc)
 
@@ -145,11 +147,19 @@
         (isa? base-type :type/PostgresEnum) (hx/quoted-cast database-type value)
         :else                               (sql.qp/->honeysql driver value)))))
 
-(defmethod sql.qp/->honeysql [:postgres Time]
-  [_ time-value]
+(defmethod sql.qp/->honeysql [:postgres Time] [_ time-value]
   (hx/->time time-value))
 
 
+(defmethod unprepare/unprepare-value [:postgres Date] [_ value]
+  (format "'%s'::timestamp" (du/date->iso-8601 value)))
+
+(prefer-method unprepare/unprepare-value [:sql Time] [:postgres Date])
+
+(defmethod unprepare/unprepare-value [:postgres UUID] [_ value]
+  (format "'%s'::uuid" value))
+
+
 ;;; +----------------------------------------------------------------------------------------------------------------+
 ;;; |                                         metabase.driver.sql-jdbc impls                                         |
 ;;; +----------------------------------------------------------------------------------------------------------------+
@@ -253,6 +263,5 @@
       db.spec/postgres
       (sql-jdbc.common/handle-additional-options details-map)))
 
-
 (defmethod sql-jdbc.execute/set-timezone-sql :postgres [_]
   "SET SESSION TIMEZONE TO %s;")
diff --git a/src/metabase/driver/sql/util/unprepare.clj b/src/metabase/driver/sql/util/unprepare.clj
index b9f158456996b387d309ea2c1987d1d512d5d253..68c8b26fb169f927c8a786d03f81f21e4665d1b6 100644
--- a/src/metabase/driver/sql/util/unprepare.clj
+++ b/src/metabase/driver/sql/util/unprepare.clj
@@ -1,32 +1,76 @@
 (ns metabase.driver.sql.util.unprepare
-  "Utility functions for converting a prepared statement with `?` into a plain SQL query."
+  "Utility functions for converting a prepared statement with `?` into a plain SQL query.
+
+  TODO - since this is no longer strictly a 'util' namespace (most `:sql-jdbc` drivers need to implement one or
+  methods from here) let's rename this `metabase.driver.sql.unprepare` when we get a chance."
   (:require [clojure.string :as str]
-            [honeysql.core :as hsql]
+            [honeysql
+             [core :as hsql]
+             [format :as hformat]]
+            [metabase.driver :as driver]
             [metabase.util
              [date :as du]
              [honeysql-extensions :as hx]])
   (:import java.sql.Time
            java.util.Date))
 
-(defprotocol ^:private IUnprepare
-  (^:private unprepare-arg ^String [this settings]))
+(defmulti unprepare-value
+  "Convert a single argument to appropriate raw SQL for splicing directly into a SQL query. Dispatches on both driver
+  and the class of `value`."
+  {:arglists '([driver value])}
+  (fn [driver value]
+    [(driver/the-initialized-driver driver) (class value)])
+  :hierarchy #'driver/hierarchy)
+
+(defmethod unprepare-value [:sql nil] [_ _]
+  "NULL")
+
+(defmethod unprepare-value [:sql String] [_ value]
+  ;; escape single-quotes like Cam's String -> Cam''s String
+  (str \' (str/replace value "'" "''") \'))
+
+(defmethod unprepare-value [:sql Boolean] [_ value]
+  (if value "TRUE" "FALSE"))
+
+(defmethod unprepare-value [:sql Number] [_ value]
+  (str value))
+
+(defn unprepare-date-with-iso-8601-fn
+  "Convert a Date to appropriate raw SQL by passing an ISO-8601 literal string to the function named by `iso-8601-fn`.
+  You can use this function to create implementations of `unprepare-value` for Date values."
+  [iso-8601-fn value]
+  (hformat/to-sql
+   (hsql/call iso-8601-fn (hx/literal (du/date->iso-8601 value)))))
+
+(defmethod unprepare-value [:sql Date] [_ value]
+  (unprepare-date-with-iso-8601-fn :timestamp value))
+
+;; default impl for Time is just converting the Time literal to a `1970-01-01T<time>` Timestamp and passing to impl
+;; for `Date`, then wrapping entire expression in `time()`
+(defmethod unprepare-value [:sql Time] [driver value]
+  (hformat/to-sql (hx/->time (hsql/raw (unprepare-value driver (du/->Timestamp value))))))
+
 
-(defn- unprepare-date [date-or-time iso-8601-fn]
-  (hsql/call iso-8601-fn (hx/literal (du/date->iso-8601 date-or-time))))
+(defmulti ^String unprepare
+  "Convert a normal SQL `[statement & prepared-statement-args]` vector into a flat, non-prepared statement.
+  Implementations should return a plain SQL string.
 
-(extend-protocol IUnprepare
-  nil     (unprepare-arg [_ _] "NULL")
-  String  (unprepare-arg [this {:keys [quote-escape]}] (str \' (str/replace this "'" (str quote-escape "'")) \')) ; escape single-quotes
-  Boolean (unprepare-arg [this _] (if this "TRUE" "FALSE"))
-  Number  (unprepare-arg [this _] (str this))
-  Date    (unprepare-arg [this {:keys [iso-8601-fn]}] (first (hsql/format (unprepare-date this iso-8601-fn))))
-  Time    (unprepare-arg [this {:keys [iso-8601-fn]}] (first (hsql/format (hx/->time (unprepare-date this iso-8601-fn))))))
+  Drivers likely do not need to implement this method themselves -- instead, you should only need to provide
+  implementations of `unprepare-value` for the cases where it is needed."
+  {:arglists '([driver [sql & args]]), :style/indent 1}
+  driver/dispatch-on-initialized-driver
+  :hierarchy #'driver/hierarchy)
 
-(defn unprepare
-  "Convert a normal SQL `[statement & prepared-statement-args]` vector into a flat, non-prepared statement."
-  ^String [[sql & args] & {:keys [quote-escape iso-8601-fn], :or {quote-escape "\\\\", iso-8601-fn :timestamp}}]
+(defmethod unprepare :sql [driver [sql & args]]
   (loop [sql sql, [arg & more-args, :as args] args]
     (if-not (seq args)
       sql
-      (recur (str/replace-first sql #"(?<!\?)\?(?!\?)" (unprepare-arg arg {:quote-escape quote-escape, :iso-8601-fn iso-8601-fn}))
-             more-args))))
+      ;; Only match single question marks; do not match ones like `??` which JDBC converts to `?` to use as Postgres
+      ;; JSON operators amongst other things.
+      ;;
+      ;; TODO - this is not smart enough to handle question marks in non argument contexts, for example if someone
+      ;; were to have a question mark inside an identifier such as a table name. I think we'd have to parse the SQL in
+      ;; order to handle those situations.
+      (recur
+       (str/replace-first sql #"(?<!\?)\?(?!\?)" (unprepare-value driver arg))
+       more-args))))
diff --git a/src/metabase/driver/sql_jdbc.clj b/src/metabase/driver/sql_jdbc.clj
index 67a9af85d32dbd020b8367c1ef5039fcabdb5ed4..2bf6cb01cb92fe219015cf22627c121a532fec6c 100644
--- a/src/metabase/driver/sql_jdbc.clj
+++ b/src/metabase/driver/sql_jdbc.clj
@@ -7,6 +7,7 @@
              [execute :as sql-jdbc.execute]
              [sync :as sql-jdbc.sync]]
             [metabase.driver.sql.query-processor :as sql.qp]
+            [metabase.driver.sql.util.unprepare :as unprepare]
             [metabase.util.honeysql-extensions :as hx]))
 
 (driver/register! :sql-jdbc, :parent :sql, :abstract? true)
@@ -57,3 +58,12 @@
 
 (defmethod driver/describe-table-fks :sql-jdbc [driver database table]
   (sql-jdbc.sync/describe-table-fks driver database table))
+
+
+;; `:sql-jdbc` drivers almost certainly don't need to override this method, and instead can implement
+;; `unprepare/unprepare-value` for specific classes, or, in extereme cases, `unprepare/unprepare` itself.
+(defmethod driver/splice-parameters-into-native-query :sql-jdbc [driver {:keys [params], sql :query, :as query}]
+  (cond-> query
+    (seq params)
+    (merge {:params nil
+            :query  (unprepare/unprepare driver (cons sql params))})))
diff --git a/src/metabase/driver/sql_jdbc/connection.clj b/src/metabase/driver/sql_jdbc/connection.clj
index 7f5036c2d0b815f2ef9809a7fbbc356846ce32ad..581303dd0d3d58f8adbd0ff600d0c0099436cc80 100644
--- a/src/metabase/driver/sql_jdbc/connection.clj
+++ b/src/metabase/driver/sql_jdbc/connection.clj
@@ -28,10 +28,6 @@
 ;;; |                                           Creating Connection Pools                                            |
 ;;; +----------------------------------------------------------------------------------------------------------------+
 
-(defonce ^:private ^{:doc "A map of our currently open connection pools, keyed by Database `:id`."}
-  database-id->connection-pool
-  (atom {}))
-
 (def ^:private data-warehouse-connection-pool-properties
   "c3p0 connection pool properties for connected data warehouse DBs. See
   https://www.mchange.com/projects/c3p0/#configuration_properties for descriptions of properties."
@@ -44,7 +40,7 @@
    ;; prevent overly large pools by condensing them when connections are idle for 15m+
    "maxIdleTimeExcessConnections" (* 15 60)})
 
-(defn- create-connection-pool
+(defn- create-pool!
   "Create a new C3P0 `ComboPooledDataSource` for connecting to the given DATABASE."
   [{:keys [id engine details], :as database}]
   {:pre [(map? database)]}
@@ -54,32 +50,58 @@
     (assoc (connection-pool/connection-pool-spec spec data-warehouse-connection-pool-properties)
       :ssh-tunnel (:tunnel-connection details-with-tunnel))))
 
+(defn- destroy-pool! [database-id pool-spec]
+  (log/debug (u/format-color 'red (tru "Closing old connection pool for database {0} ..." database-id)))
+  (connection-pool/destroy-connection-pool! (:datasource pool-spec))
+  (when-let [ssh-tunnel (:ssh-tunnel pool-spec)]
+    (.disconnect ^com.jcraft.jsch.Session ssh-tunnel)))
+
+(defonce ^:private ^{:doc "A map of our currently open connection pools, keyed by Database `:id`."}
+  database-id->connection-pool
+  (atom {}))
+
+(defn- set-pool!
+  "Atomically update the current connection pool for Database with `database-id`. Use this function instead of modifying
+  `database-id->connection-pool` directly because it properly closes down old pools in a thread-safe way, ensuring no
+  more than one pool is ever open for a single database."
+  [database-id pool-spec-or-nil]
+  (let [[old-id->pool] (swap-vals! database-id->connection-pool assoc database-id pool-spec-or-nil)]
+    ;; if we replaced a different pool with the new pool that is different from the old one, destroy the old pool
+    (when-let [old-pool-spec (get old-id->pool database-id)]
+      (when-not (identical? old-pool-spec pool-spec-or-nil)
+        (destroy-pool! database-id old-pool-spec))))
+  nil)
+
 (defn notify-database-updated
   "Default implementation of `driver/notify-database-updated` for JDBC SQL drivers. We are being informed that a
   DATABASE has been updated, so lets shut down the connection pool (if it exists) under the assumption that the
   connection details have changed."
   [_ database]
-  (when-let [pool (get @database-id->connection-pool (u/get-id database))]
-    (log/debug (u/format-color 'red (tru "Closing connection pool for database {0} ..." (u/get-id database))))
-    ;; remove the cached reference to the pool so we don't try to use it anymore
-    (swap! database-id->connection-pool dissoc (u/get-id database))
-    ;; now actively shut down the pool so that any open connections are closed
-    (connection-pool/destroy-connection-pool! (:datasource pool))
-    (when-let [ssh-tunnel (:ssh-tunnel pool)]
-      (.disconnect ^com.jcraft.jsch.Session ssh-tunnel))))
+  (set-pool! (u/get-id database) nil))
+
+(def ^:private db->pooled-spec-lock (Object.))
 
 (defn db->pooled-connection-spec
   "Return a JDBC connection spec that includes a cp30 `ComboPooledDataSource`.
    Theses connection pools are cached so we don't create multiple ones to the same DB."
   [database-or-id]
-  (if (contains? @database-id->connection-pool (u/get-id database-or-id))
-    ;; we have an existing pool for this database, so use it
-    (get @database-id->connection-pool (u/get-id database-or-id))
-    ;; create a new pool and add it to our cache, then return it
-    (let [db (if (map? database-or-id) database-or-id (db/select-one [Database :id :engine :details]
-                                                        :id database-or-id))]
-      (u/prog1 (create-connection-pool db)
-        (swap! database-id->connection-pool assoc (u/get-id database-or-id) <>)))))
+  (or
+   ;; we have an existing pool for this database, so use it
+   (get @database-id->connection-pool (u/get-id database-or-id))
+   ;; Even tho `set-pool!` will properly shut down old pools if two threads call this method at the same time, we
+   ;; don't want to end up with a bunch of simultaneous threads creating pools only to have them destroyed the very
+   ;; next instant. This will cause their queries to fail. Thus we should do the usual locking here and make sure only
+   ;; one thread will be creating a pool at a given instant.
+   (locking db->pooled-spec-lock
+     (or
+      ;; check if another thread created the pool while we were waiting to acquire the lock
+      (get @database-id->connection-pool (u/get-id database-or-id))
+      ;; create a new pool and add it to our cache, then return it
+      (let [db (if (map? database-or-id)
+                 database-or-id
+                 (db/select-one [Database :id :engine :details] :id database-or-id))]
+        (u/prog1 (create-pool! db)
+          (set-pool! (u/get-id database-or-id) <>)))))))
 
 
 ;;; +----------------------------------------------------------------------------------------------------------------+
diff --git a/src/metabase/driver/sql_jdbc/execute.clj b/src/metabase/driver/sql_jdbc/execute.clj
index 76eabd5c5d8ad12e4948843553045256caa0ae12..4fa65c7861ca14ff57386297d99abb83ae4d82c6 100644
--- a/src/metabase/driver/sql_jdbc/execute.clj
+++ b/src/metabase/driver/sql_jdbc/execute.clj
@@ -1,3 +1,4 @@
+
 (ns metabase.driver.sql-jdbc.execute
   "Code related to actually running a SQL query against a JDBC database (including setting the session timezone when
   appropriate), and for properly encoding/decoding types going in and out of the database."
@@ -147,16 +148,20 @@
 ;;; |                                                Running Queries                                                 |
 ;;; +----------------------------------------------------------------------------------------------------------------+
 
+;; TODO - this is pretty similar to what `jdbc/with-db-connection` does, but not exactly the same. See if we can
+;; switch to using that instead?
+(defn- do-with-ensured-connection [db f]
+  (if-let [conn (jdbc/db-find-connection db)]
+    (f conn)
+    (with-open [conn (jdbc/get-connection db)]
+      (f conn))))
+
 (defmacro ^:private with-ensured-connection
   "In many of the clojure.java.jdbc functions, it checks to see if there's already a connection open before opening a
   new one. This macro checks to see if one is open, or will open a new one. Will bind the connection to `conn-sym`."
   {:style/indent 1}
-  [[conn-sym db] & body]
-  `(let [db# ~db]
-     (if-let [~conn-sym (jdbc/db-find-connection db#)]
-       (do ~@body)
-       (with-open [~conn-sym (jdbc/get-connection db#)]
-         ~@body))))
+  [[conn-binding db] & body]
+  `(do-with-ensured-connection ~db (fn [~conn-binding] ~@body)))
 
 (defn- cancelable-run-query
   "Runs `sql` in such a way that it can be interrupted via a `future-cancel`"
@@ -164,6 +169,10 @@
   (with-ensured-connection [conn db]
     ;; This is normally done for us by java.jdbc as a result of our `jdbc/query` call
     (with-open [^PreparedStatement stmt (jdbc/prepare-statement conn sql opts)]
+      ;; specifiy that we'd like this statement to close once its dependent result sets are closed
+      ;; (Not all drivers support this so ignore Exceptions if they don't)
+      (u/ignore-exceptions
+        (.closeOnCompletion stmt))
       ;; Need to run the query in another thread so that this thread can cancel it if need be
       (try
         (let [query-future (future (jdbc/query conn (into [stmt] params) opts))]
@@ -206,10 +215,11 @@
   and rethrowing the exception as an Exception with a nicely formatted error message."
   {:style/indent 0}
   [f]
-  (try (f)
-       (catch SQLException e
-         (log/error (jdbc/print-sql-exception-chain e))
-         (throw (Exception. (exception->nice-error-message e))))))
+  (try
+    (f)
+    (catch SQLException e
+      (log/error (jdbc/print-sql-exception-chain e))
+      (throw (Exception. (exception->nice-error-message e) e)))))
 
 (defn- do-with-auto-commit-disabled
   "Disable auto-commit for this transaction, and make the transaction `rollback-only`, which means when the
@@ -222,8 +232,9 @@
   (.setAutoCommit (jdbc/get-connection conn) false)
   ;; TODO - it would be nice if we could also `.setReadOnly` on the transaction as well, but that breaks setting the
   ;; timezone. Is there some way we can have our cake and eat it too?
-  (try (f)
-       (finally (.rollback (jdbc/get-connection conn)))))
+  (try
+    (f)
+    (finally (.rollback (jdbc/get-connection conn)))))
 
 (defn- do-in-transaction [connection f]
   (jdbc/with-db-transaction [transaction-connection connection]
diff --git a/src/metabase/driver/sql_jdbc/sync.clj b/src/metabase/driver/sql_jdbc/sync.clj
index cf3d400a78c2f14a430b8ec4256daa9d65ceb1fb..223eb92f7a81627e3fe155837bf19379dba188bd 100644
--- a/src/metabase/driver/sql_jdbc/sync.clj
+++ b/src/metabase/driver/sql_jdbc/sync.clj
@@ -86,10 +86,10 @@
 (defn- get-tables
   "Fetch a JDBC Metadata ResultSet of tables in the DB, optionally limited to ones belonging to a given schema."
   [^DatabaseMetaData metadata, ^String schema-or-nil, ^String db-name-or-nil]
-  (vec
-   (jdbc/metadata-result
-    (.getTables metadata db-name-or-nil schema-or-nil "%" ; tablePattern "%" = match all tables
-                (into-array String ["TABLE", "VIEW", "FOREIGN TABLE", "MATERIALIZED VIEW"])))))
+  ;; tablePattern "%" = match all tables
+  (with-open [rs (.getTables metadata db-name-or-nil schema-or-nil "%"
+                             (into-array String ["TABLE", "VIEW", "FOREIGN TABLE", "MATERIALIZED VIEW"]))]
+    (vec (jdbc/metadata-result rs))))
 
 (defn fast-active-tables
   "Default, fast implementation of `ISQLDriver/active-tables` best suited for DBs with lots of system tables (like
@@ -99,15 +99,16 @@
    This is as much as 15x faster for Databases with lots of system tables than `post-filtered-active-tables` (4
    seconds vs 60)."
   [driver, ^DatabaseMetaData metadata, & [db-name-or-nil]]
-  (let [all-schemas (set (map :table_schem (jdbc/metadata-result (.getSchemas metadata))))
-        schemas     (set/difference all-schemas (excluded-schemas driver))]
-    (set (for [schema schemas
-               table  (get-tables metadata schema db-name-or-nil)]
-           (let [remarks (:remarks table)]
-             {:name        (:table_name table)
-              :schema      schema
-              :description (when-not (str/blank? remarks)
-                             remarks)})))))
+  (with-open [rs (.getSchemas metadata)]
+    (let [all-schemas (set (map :table_schem (jdbc/metadata-result rs)))
+          schemas     (set/difference all-schemas (excluded-schemas driver))]
+      (set (for [schema schemas
+                 table  (get-tables metadata schema db-name-or-nil)]
+             (let [remarks (:remarks table)]
+               {:name        (:table_name table)
+                :schema      schema
+                :description (when-not (str/blank? remarks)
+                               remarks)}))))))
 
 (defn post-filtered-active-tables
   "Alternative implementation of `ISQLDriver/active-tables` best suited for DBs with little or no support for schemas.
@@ -124,7 +125,8 @@
 (defn get-catalogs
   "Returns a set of all of the catalogs found via `metadata`"
   [^DatabaseMetaData metadata]
-  (set (map :table_cat (jdbc/result-set-seq (.getCatalogs metadata)))))
+  (with-open [rs (.getCatalogs metadata)]
+    (set (map :table_cat (jdbc/metadata-result rs)))))
 
 (defn- database-type->base-type-or-warn
   "Given a `database-type` (e.g. `VARCHAR`) return the mapped Metabase type (e.g. `:type/Text`)."
@@ -145,30 +147,30 @@
 (defn describe-table-fields
   "Returns a set of column metadata for `schema` and `table-name` using `metadata`. "
   [^DatabaseMetaData metadata, driver, {^String schema :schema, ^String table-name :name}, & [^String db-name-or-nil]]
-  (set
-   (for [{database-type :type_name
-          column-name   :column_name
-          remarks       :remarks} (jdbc/metadata-result
-                                   (.getColumns metadata db-name-or-nil schema table-name nil))]
-     (merge
-      {:name          column-name
-       :database-type database-type
-       :base-type     (database-type->base-type-or-warn driver database-type)}
-      (when (not (str/blank? remarks))
-        {:field-comment remarks})
-      (when-let [special-type (calculated-special-type driver column-name database-type)]
-        {:special-type special-type})))))
+  (with-open [rs (.getColumns metadata db-name-or-nil schema table-name nil)]
+    (set
+     (for [{database-type :type_name
+            column-name   :column_name
+            remarks       :remarks} (jdbc/metadata-result rs)]
+       (merge
+        {:name          column-name
+         :database-type database-type
+         :base-type     (database-type->base-type-or-warn driver database-type)}
+        (when (not (str/blank? remarks))
+          {:field-comment remarks})
+        (when-let [special-type (calculated-special-type driver column-name database-type)]
+          {:special-type special-type}))))))
 
 (defn add-table-pks
   "Using `metadata` find any primary keys for `table` and assoc `:pk?` to true for those columns."
   [^DatabaseMetaData metadata, table]
-  (let [pks (set (map :column_name (jdbc/metadata-result
-                                    (.getPrimaryKeys metadata nil nil (:name table)))))]
-    (update table :fields (fn [fields]
-                            (set (for [field fields]
-                                   (if-not (contains? pks (:name field))
-                                     field
-                                     (assoc field :pk? true))))))))
+  (with-open [rs (.getPrimaryKeys metadata nil nil (:name table))]
+    (let [pks (set (map :column_name (jdbc/metadata-result rs)))]
+      (update table :fields (fn [fields]
+                              (set (for [field fields]
+                                     (if-not (contains? pks (:name field))
+                                       field
+                                       (assoc field :pk? true)))))))))
 
 
 ;;; +----------------------------------------------------------------------------------------------------------------+
@@ -199,10 +201,10 @@
   "Default implementation of `driver/describe-table-fks` for SQL JDBC drivers. Uses JDBC DatabaseMetaData."
   [driver db-or-id-or-spec table & [^String db-name-or-nil]]
   (jdbc/with-db-metadata [metadata (->spec db-or-id-or-spec)]
-    (set
-     (for [result (jdbc/metadata-result
-                   (.getImportedKeys metadata db-name-or-nil, ^String (:schema table), ^String (:name table)))]
-       {:fk-column-name   (:fkcolumn_name result)
-        :dest-table       {:name   (:pktable_name result)
-                           :schema (:pktable_schem result)}
-        :dest-column-name (:pkcolumn_name result)}))))
+    (with-open [rs (.getImportedKeys metadata db-name-or-nil, ^String (:schema table), ^String (:name table))]
+      (set
+       (for [result (jdbc/metadata-result rs)]
+         {:fk-column-name   (:fkcolumn_name result)
+          :dest-table       {:name   (:pktable_name result)
+                             :schema (:pktable_schem result)}
+          :dest-column-name (:pkcolumn_name result)})))))
diff --git a/src/metabase/email.clj b/src/metabase/email.clj
index 2f37d7f67527fe29a15b19a4f98631a8175934f7..72fd5395526dea8e4e04f37efb65af29451794c9 100644
--- a/src/metabase/email.clj
+++ b/src/metabase/email.clj
@@ -12,13 +12,25 @@
   (:import javax.mail.Session))
 
 ;;; CONFIG
+
+(defsetting email-from-address
+  (tru "Email address you want to use as the sender of Metabase.")
+  :default "notifications@metabase.com")
+
+(defsetting email-smtp-host
+  (tru "The address of the SMTP server that handles your emails."))
+
+(defsetting email-smtp-username
+  (tru "SMTP username."))
+
+(defsetting email-smtp-password
+  (tru "SMTP password.")
+  :sensitive? true)
+
 ;; TODO - smtp-port should be switched to type :integer
+(defsetting email-smtp-port
+  (tru "The port your SMTP server uses for outgoing emails."))
 
-(defsetting email-from-address  (tru "Email address you want to use as the sender of Metabase.") :default "notifications@metabase.com")
-(defsetting email-smtp-host     (tru "The address of the SMTP server that handles your emails."))
-(defsetting email-smtp-username (tru "SMTP username."))
-(defsetting email-smtp-password (tru "SMTP password."))
-(defsetting email-smtp-port     (tru "The port your SMTP server uses for outgoing emails."))
 (defsetting email-smtp-security
   (tru "SMTP secure connection protocol. (tls, ssl, starttls, or none)")
   :default (tru "none")
diff --git a/src/metabase/handler.clj b/src/metabase/handler.clj
new file mode 100644
index 0000000000000000000000000000000000000000..6d81b9f0fb643270d1011ea4b4fd539b02b5f569
--- /dev/null
+++ b/src/metabase/handler.clj
@@ -0,0 +1,45 @@
+(ns metabase.handler
+  "Top-level Metabase Ring handler."
+  (:require [metabase.middleware
+             [auth :as mw.auth]
+             [exceptions :as mw.exceptions]
+             [json :as mw.json]
+             [log :as mw.log]
+             [misc :as mw.misc]
+             [security :as mw.security]
+             [session :as mw.session]]
+            [metabase.routes :as routes]
+            [ring.middleware
+             [cookies :refer [wrap-cookies]]
+             [keyword-params :refer [wrap-keyword-params]]
+             [params :refer [wrap-params]]]))
+
+;; required here because this namespace is not actually used anywhere but we need it to be loaded because it adds
+;; impls for handling `core.async` channels as web server responses
+(require 'metabase.async.api-response)
+
+(def app
+  "The primary entry point to the Ring HTTP server."
+  ;; ▼▼▼ POST-PROCESSING ▼▼▼ happens from TOP-TO-BOTTOM
+  (->
+   #'routes/routes                         ; the #' is to allow tests to redefine endpoints
+   mw.exceptions/catch-uncaught-exceptions ; catch any Exceptions that weren't passed to `raise`
+   mw.exceptions/catch-api-exceptions      ; catch exceptions and return them in our expected format
+   mw.log/log-api-call
+   mw.security/add-security-headers        ; Add HTTP headers to API responses to prevent them from being cached
+   mw.json/wrap-json-body                  ; extracts json POST body and makes it avaliable on request
+   mw.json/wrap-streamed-json-response     ; middleware to automatically serialize suitable objects as JSON in responses
+   wrap-keyword-params                     ; converts string keys in :params to keyword keys
+   wrap-params                             ; parses GET and POST params as :query-params/:form-params and both as :params
+   mw.session/bind-current-user            ; Binds *current-user* and *current-user-id* if :metabase-user-id is non-nil
+   mw.session/wrap-current-user-id         ; looks for :metabase-session-id and sets :metabase-user-id if Session ID is valid
+   mw.session/wrap-session-id              ; looks for a Metabase Session ID and assoc as :metabase-session-id
+   mw.auth/wrap-api-key                    ; looks for a Metabase API Key on the request and assocs as :metabase-api-key
+   mw.misc/maybe-set-site-url              ; set the value of `site-url` if it hasn't been set yet
+   ;; Disabled for now because some things like CSV download buttons don't work with this on.
+   #_mw.json/check-application-type-headers  ; Reject non-GET requests without Content-Type: application/json headers, we don't support them
+   mw.misc/bind-user-locale                ; Binds *locale* for i18n
+   wrap-cookies                            ; Parses cookies in the request map and assocs as :cookies
+   mw.misc/add-content-type                ; Adds a Content-Type header for any response that doesn't already have one
+   mw.misc/wrap-gzip))                     ; GZIP response if client can handle it
+;; ▲▲▲ PRE-PROCESSING ▲▲▲ happens from BOTTOM-TO-TOP
diff --git a/src/metabase/integrations/ldap.clj b/src/metabase/integrations/ldap.clj
index e2a9992b8edd4996e6b0b19b2ab280969d7a1bc2..89453b4844690de0777325b56b636e021f48a3f0 100644
--- a/src/metabase/integrations/ldap.clj
+++ b/src/metabase/integrations/ldap.clj
@@ -39,7 +39,8 @@
   (tru "The Distinguished Name to bind as (if any), this user will be used to lookup information about other users."))
 
 (defsetting ldap-password
-  (tru "The password to bind with for the lookup user."))
+  (tru "The password to bind with for the lookup user.")
+  :sensitive? true)
 
 (defsetting ldap-user-base
   (tru "Search base for users. (Will be searched recursively)"))
diff --git a/src/metabase/integrations/slack.clj b/src/metabase/integrations/slack.clj
index f2d37af750c47c4cb4d4df0846b787fa69d74063..4f9351d9f94b613cf0f1a4be72d0d72a627c4f59 100644
--- a/src/metabase/integrations/slack.clj
+++ b/src/metabase/integrations/slack.clj
@@ -8,7 +8,10 @@
              [config :as config]
              [util :as u]]
             [metabase.models.setting :as setting :refer [defsetting]]
-            [metabase.util.i18n :refer [tru]]))
+            [metabase.util
+             [i18n :refer [tru]]
+             [schema :as su]]
+            [schema.core :as s]))
 
 ;; Define a setting which captures our Slack api token
 (defsetting slack-token (tru "Slack API bearer token obtained from https://api.slack.com/web#authentication"))
@@ -39,8 +42,15 @@
                                                                                :conn-timeout   1000
                                                                                :socket-timeout 1000}))))
 
-(def ^{:arglists '([endpoint & {:as params}]), :style/indent 1} GET  "Make a GET request to the Slack API."  (partial do-slack-request http/get  :query-params))
-(def ^{:arglists '([endpoint & {:as params}]), :style/indent 1} POST "Make a POST request to the Slack API." (partial do-slack-request http/post :form-params))
+(def ^{:arglists '([endpoint & {:as params}]), :style/indent 1}
+  GET
+  "Make a GET request to the Slack API."
+  (partial do-slack-request http/get  :query-params))
+
+(def ^{:arglists '([endpoint & {:as params}]), :style/indent 1}
+  POST
+  "Make a POST request to the Slack API."
+  (partial do-slack-request http/post :form-params))
 
 (def ^{:arglists '([& {:as args}])} channels-list
   "Calls Slack api `channels.list` function and returns the list of available channels."
@@ -50,7 +60,7 @@
   "Calls Slack api `users.list` function and returns the list of available users."
   (comp :members (partial GET :users.list)))
 
-(def ^:private ^:const ^String channel-missing-msg
+(def ^:private ^String channel-missing-msg
   (str "Slack channel named `metabase_files` is missing! Please create the channel in order to complete "
        "the Slack integration. The channel is used for storing graphs that are included in pulses and "
        "MetaBot answers."))
@@ -84,18 +94,16 @@
     (let [six-hours-ms (* 6 60 60 1000)]
       (memoize/ttl files-channel* :ttl/threshold six-hours-ms))))
 
+(def ^:private NonEmptyByteArray
+  (s/constrained
+   (Class/forName "[B")
+   #(pos? (count %))
+   "Non-empty byte array"))
 
-(defn upload-file!
+(s/defn upload-file!
   "Calls Slack api `files.upload` function and returns the body of the uploaded file."
-  [file filename channel-ids-str]
-  {:pre [file
-         (instance? (Class/forName "[B") file)
-         (not (zero? (count file)))
-         (string? filename)
-         (seq filename)
-         (string? channel-ids-str)
-         (seq channel-ids-str)
-         (seq (slack-token))]}
+  [file :- NonEmptyByteArray, filename :- su/NonBlankString, channel-ids-str :- su/NonBlankString]
+  {:pre [(seq (slack-token))]}
   (let [response (http/post (str slack-api-base-url "/files.upload") {:multipart [{:name "token",    :content (slack-token)}
                                                                                   {:name "file",     :content file}
                                                                                   {:name "filename", :content filename}
@@ -106,11 +114,10 @@
         (log/debug "Uploaded image" <>))
       (log/warn "Error uploading file to Slack:" (u/pprint-to-str response)))))
 
-(defn post-chat-message!
-  "Calls Slack api `chat.postMessage` function and posts a message to a given channel.
-   ATTACHMENTS should be serialized JSON."
-  [channel-id text-or-nil & [attachments]]
-  {:pre [(string? channel-id)]}
+(s/defn post-chat-message!
+  "Calls Slack api `chat.postMessage` function and posts a message to a given channel. `attachments` should be
+  serialized JSON."
+  [channel-id :- su/NonBlankString, text-or-nil :- (s/maybe s/Str) & [attachments]]
   ;; TODO: it would be nice to have an emoji or icon image to use here
   (POST :chat.postMessage
     :channel     channel-id
diff --git a/src/metabase/logger.clj b/src/metabase/logger.clj
index ae397a67a12ea484e7f5a1cdea519a49bfe11233..9adf286d416bf9020fbea3a52b8314a829f4220e 100644
--- a/src/metabase/logger.clj
+++ b/src/metabase/logger.clj
@@ -6,7 +6,8 @@
             [clj-time
              [coerce :as coerce]
              [core :as t]
-             [format :as time]])
+             [format :as time]]
+            [clojure.string :as str])
   (:import org.apache.log4j.spi.LoggingEvent))
 
 (def ^:private ^:const max-log-entries 2500)
@@ -22,16 +23,26 @@
 
 (defonce ^:private formatter (time/formatter "MMM dd HH:mm:ss" (t/default-time-zone)))
 
+(defn- event->log-string [^LoggingEvent event]
+  ;; for messages that include an Exception, include the string representation of it (i.e., its stacktrace)
+  ;; separated by newlines
+  (str/join
+   "\n"
+   (cons
+    (let [ts    (time/unparse formatter (coerce/from-long (.getTimeStamp event)))
+          level (.getLevel event)
+          fqns  (.getLoggerName event)
+          msg   (.getMessage event)]
+      (format "%s \033[1m%s %s\033[0m :: %s" ts level fqns msg))
+    (seq (.getThrowableStrRep event)))))
+
 (defn -append
   "Append a new EVENT to the `messages` atom.
-   [Overrides an `AppenderSkeleton` method](http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/AppenderSkeleton.html#append(org.apache.log4j.spi.LoggingEvent))"
+   [Overrides an `AppenderSkeleton`
+  method](http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/AppenderSkeleton.html#append(org.apache.log4j.spi.LoggingEvent))"
   [_, ^LoggingEvent event]
-  (let [ts    (time/unparse formatter (coerce/from-long (.getTimeStamp event)))
-        level (.getLevel event)
-        fqns  (.getLoggerName event)
-        msg   (.getMessage event)]
-    (swap! messages conj (format "%s \033[1m%s %s\033[0m :: %s" ts level fqns msg))
-    nil))
+  (swap! messages conj (event->log-string event))
+  nil)
 
 (defn -close
   "No-op if something tries to close this logging appender.
diff --git a/src/metabase/metabot/command.clj b/src/metabase/metabot/command.clj
index c545ff418df3b82972d54ff752932e5054fb2ca2..6206411b70e2967fa7fce079ada137b46413b550 100644
--- a/src/metabase/metabot/command.clj
+++ b/src/metabase/metabot/command.clj
@@ -12,6 +12,7 @@
             [metabase.metabot.slack :as metabot.slack]
             [metabase.models
              [card :refer [Card]]
+             [collection :as collection]
              [interface :as mi]
              [permissions :refer [Permissions]]
              [permissions-group :as perms-group]]
@@ -23,9 +24,19 @@
 ;;; ----------------------------------------------------- Perms ------------------------------------------------------
 
 (defn- metabot-permissions
-  "Return the set of permissions granted to the MetaBot."
+  "Return the set of permissions granted to the MetaBot.
+
+  MetaBot can only interact with Cards, and Cards are always in a collection; thus any non-collection perms are legacy
+  and irrelevant."
+  []
+  (db/select-field :object Permissions
+    :group_id (u/get-id (perms-group/metabot))
+    :object   [:like "/collection/%"]))
+
+(defn- metabot-visible-collection-ids
+  "Set of visible collection IDs, including `nil` if the MetaBot can see the Root Collection."
   []
-  (db/select-field :object Permissions, :group_id (u/get-id (perms-group/metabot))))
+  (collection/permissions-set->visible-collection-ids (metabot-permissions)))
 
 (defn- do-with-metabot-permissions [f]
   (binding [*current-user-permissions-set* (delay (metabot-permissions))]
@@ -54,7 +65,7 @@
     User: metabot show 100
 
     [In Metabase]
-    (command \"show\" \"100\") ; -> [some results]
+    (command \"show\" 100) ; -> [some results]
 
     [In Slack]
     MetaBot: [some results]
@@ -64,6 +75,7 @@
 
   The results are normally immediately posted directly to Slack; some commands also post additional messages
   asynchronously, such as `show`."
+  {:arglists '([command & args])}
   (fn [command & _]
     (keyword (str/lower-case command))))
 
@@ -87,7 +99,7 @@
 
 ;;; ------------------------------------------------------ list ------------------------------------------------------
 
-(defn- format-cards
+(defn- formar-cards-list
   "Format a sequence of Cards as a nice multiline list for use in responses."
   [cards]
   (apply str (interpose "\n" (for [{id :id, card-name :name} cards]
@@ -95,24 +107,46 @@
 
 (defn- list-cards []
   (filter-metabot-readable
-   (db/select [Card :id :name :dataset_query :collection_id]
-     :archived false
-     {:order-by [[:id :desc]]
-      :limit    20})))
+   (let [collection-ids                  (metabot-visible-collection-ids)
+         root-collection-perms?          (contains? collection-ids nil)
+         other-visible-collection-ids    (filter some? collection-ids)
+
+         root-collection-filter-clause   (when root-collection-perms?
+                                           [:= :collection_id nil])
+         other-collections-filter-clause (when (seq other-visible-collection-ids)
+                                           [:in :collection_id other-visible-collection-ids])]
+     (db/select [Card :id :name :dataset_query :collection_id]
+       {:order-by [[:id :desc]]
+        :limit    20
+        :where    [:and
+                   [:= :archived false]
+                   (collection/visible-collection-ids->honeysql-filter-clause
+                    (metabot-visible-collection-ids))]}))))
 
 (defmethod command :list [& _]
   (let [cards (list-cards)]
-    (str (tru "Here''s your {0} most recent cards:\n{1}" (count cards) (format-cards cards)))))
+    (str (tru "Here''s your {0} most recent cards:" (count cards))
+         "\n"
+          (formar-cards-list cards))))
 
 
 ;;; ------------------------------------------------------ show ------------------------------------------------------
 
+(defn- cards-with-name [card-name]
+  (db/select [Card :id :name]
+    :%lower.name [:like (str \% (str/lower-case card-name) \%)]
+    :archived false))
+
 (defn- card-with-name [card-name]
-  (first (u/prog1 (db/select [Card :id :name], :%lower.name [:like (str \% (str/lower-case card-name) \%)])
-           (when (> (count <>) 1)
-             (throw (Exception.
-                     (str (tru "Could you be a little more specific? I found these cards with names that matched:\n{0}"
-                               (format-cards <>)))))))))
+  (let [[first-card & more, :as cards] (cards-with-name card-name)]
+    (when (seq more)
+      (throw
+       (Exception.
+        (str
+         (tru "Could you be a little more specific, or use the ID? I found these cards with names that matched:")
+         "\n"
+         (formar-cards-list cards)))))
+    first-card))
 
 (defn- id-or-name->card [card-id-or-name]
   (cond
@@ -133,7 +167,7 @@
   ([_ card-id-or-name]
    (let [{card-id :id} (id-or-name->card card-id-or-name)]
      (when-not card-id
-       (throw (Exception. (str (tru "Not Found")))))
+       (throw (Exception. (str (tru "Card {0} not found." card-id-or-name)))))
      (with-metabot-permissions
        (read-check Card card-id))
      (metabot.slack/async
diff --git a/src/metabase/metabot/events.clj b/src/metabase/metabot/events.clj
index 359a4eecb7629d6f186be95d449ac2a8fa8dac34..a6f5fa93a52365dcb90c1633d5f3834ed95011c2 100644
--- a/src/metabase/metabot/events.clj
+++ b/src/metabase/metabot/events.clj
@@ -6,7 +6,6 @@
              [edn :as edn]
              [string :as str]]
             [clojure.tools.logging :as log]
-            [metabase.integrations.slack :as slack]
             [metabase.metabot
              [command :as metabot.cmd]
              [slack :as metabot.slack]]
@@ -44,7 +43,7 @@
     (let [response (if (coll? response) (str "```\n" (u/pprint-to-str response) "```")
                        (str response))]
       (when (seq response)
-        (slack/post-chat-message! (:channel message) response)))))
+        (metabot.slack/post-chat-message! response)))))
 
 (defn- handle-slack-message [message]
   (respond-to-message! message (eval-command-str (message->command-str message))))
@@ -63,11 +62,11 @@
 (defn handle-slack-event
   "Handle a Slack `event`; if the event is a message that starts with `metabot`, parse the message, execute the
   appropriate command, and reply with the results."
-  [start-time event]
+  [start-time-ms event]
   (when-let [event (json/parse-string event keyword)]
     ;; Only respond to events where a *human* sends a message that have happened *after* the MetaBot launches
     (when (and (human-message? event)
-               (> (event-timestamp-ms event) start-time))
+               (> (event-timestamp-ms event) start-time-ms))
       (metabot.slack/with-channel-id (:channel event)
         (metabot.slack/async
           (handle-slack-message event))))))
diff --git a/src/metabase/metabot/slack.clj b/src/metabase/metabot/slack.clj
index ad0f6ba0bef4d3073939cac1dc290f66581fd3f9..e9553abcc8760023d0df52214316a8eca7d33667 100644
--- a/src/metabase/metabot/slack.clj
+++ b/src/metabase/metabot/slack.clj
@@ -12,7 +12,7 @@
   (binding [*channel-id* channel-id]
     (f)))
 
-(defn with-channel-id
+(defmacro with-channel-id
   "Execute `body` with `channel-id` as the current Slack channel; all messages will be posted to that channel. (This is
   bound to the channel that recieved the MetaBot command we're currently handling by the
   `metabase.metabot.events/handle-slack-event` event handler.)"
@@ -20,18 +20,23 @@
   [channel-id & body]
   `(do-with-channel-id ~channel-id (fn [] ~@body)))
 
-(def ^{:arglists '([text-or-nil] [text-or-nil attachments])} post-chat-message!
+(defn post-chat-message!
   "Post a MetaBot response Slack message. Goes to channel where the MetaBot command we're replying to was posted."
-  (partial slack/post-chat-message! *channel-id*))
+  {:arglists '([text-or-nil] [text-or-nil attachments])}
+  [& args]
+  {:pre [(some? *channel-id*)]}
+  (apply slack/post-chat-message! *channel-id* args))
 
 (defn format-exception
   "Format a `Throwable` the way we'd like for posting it on Slack."
   [^Throwable e]
   (str (tru "Uh oh! :cry:\n> {0}" (.getMessage e))))
 
+;; TODO - this stuff should be implemented with an agent or something. Or with core.async
 (defn do-async
   "Impl for `async` macro."
   [f]
+  ;; don't fret -- futures preserve the calling thread's dynamic bindings, so `*channel-id*` will still be bound
   (future
     (try
       (f)
diff --git a/src/metabase/middleware.clj b/src/metabase/middleware.clj
deleted file mode 100644
index 5be386dc9b6010e9661a87814ef609ebf8845fab..0000000000000000000000000000000000000000
--- a/src/metabase/middleware.clj
+++ /dev/null
@@ -1,436 +0,0 @@
-(ns metabase.middleware
-  "Metabase-specific middleware functions & configuration."
-  (:require [cheshire.generate :refer [add-encoder encode-str]]
-            [clojure.java.jdbc :as jdbc]
-            [clojure.string :as str]
-            [clojure.tools.logging :as log]
-            [metabase
-             [config :as config]
-             [db :as mdb]
-             [public-settings :as public-settings]
-             [util :as u]]
-            [metabase.api.common :refer [*current-user* *current-user-id* *current-user-permissions-set* *is-superuser?*]]
-            [metabase.core.initialization-status :as init-status]
-            [metabase.models
-             [session :refer [Session]]
-             [setting :refer [defsetting]]
-             [user :as user :refer [User]]]
-            [metabase.util
-             [date :as du]
-             [i18n :as ui18n :refer [tru]]]
-            [toucan.db :as db])
-  (:import com.fasterxml.jackson.core.JsonGenerator
-           java.sql.SQLException))
-
-;;; ---------------------------------------------------- UTIL FNS ----------------------------------------------------
-
-(defn- api-call?
-  "Is this ring request an API call (does path start with `/api`)?"
-  [{:keys [^String uri]}]
-  (str/starts-with? uri "/api"))
-
-(defn- public?
-  "Is this ring request one that will serve `public.html`?"
-  [{:keys [uri]}]
-  (re-matches #"^/public/.*$" uri))
-
-(defn- embed?
-  "Is this ring request one that will serve `public.html`?"
-  [{:keys [uri]}]
-  (re-matches #"^/embed/.*$" uri))
-
-(defn- cacheable?
-  "Can the ring request be permanently cached?"
-  [{:keys [uri query-string]}]
-  ;; match requests that are js/css and have a cache-busting query string
-  (and query-string (re-matches #"^/app/dist/.*\.(js|css)$" uri)))
-
-;;; ------------------------------------------- AUTH & SESSION MANAGEMENT --------------------------------------------
-
-(def ^:private ^:const ^String metabase-session-cookie "metabase.SESSION_ID")
-(def ^:private ^:const ^String metabase-session-header "x-metabase-session")
-(def ^:private ^:const ^String metabase-api-key-header "x-metabase-apikey")
-
-(def ^:const response-unauthentic "Generic `401 (Unauthenticated)` Ring response map." {:status 401, :body "Unauthenticated"})
-(def ^:const response-forbidden   "Generic `403 (Forbidden)` Ring response map."       {:status 403, :body "Forbidden"})
-
-
-(defn wrap-session-id
-  "Middleware that sets the `:metabase-session-id` keyword on the request if a session id can be found.
-
-   We first check the request :cookies for `metabase.SESSION_ID`, then if no cookie is found we look in the
-   http headers for `X-METABASE-SESSION`.  If neither is found then then no keyword is bound to the request."
-  [handler]
-  (comp handler (fn [{:keys [cookies headers] :as request}]
-                  (if-let [session-id (or (get-in cookies [metabase-session-cookie :value])
-                                          (headers metabase-session-header))]
-                    (assoc request :metabase-session-id session-id)
-                    request))))
-
-(defn- session-with-id
-  "Fetch a session with SESSION-ID, and include the User ID and superuser status associated with it."
-  [session-id]
-  (db/select-one [Session :created_at :user_id (db/qualify User :is_superuser)]
-    (mdb/join [Session :user_id] [User :id])
-    (db/qualify User :is_active) true
-    (db/qualify Session :id) session-id))
-
-(defn- session-age-ms [session]
-  (- (System/currentTimeMillis) (or (when-let [^java.util.Date created-at (:created_at session)]
-                                      (.getTime created-at))
-                                    0)))
-
-(defn- session-age-minutes [session]
-  (quot (session-age-ms session) 60000))
-
-(defn- session-expired? [session]
-  (> (session-age-minutes session)
-     (config/config-int :max-session-age)))
-
-(defn- current-user-info-for-session
-  "Return User ID and superuser status for Session with SESSION-ID if it is valid and not expired."
-  [session-id]
-  (when (and session-id (init-status/complete?))
-    (when-let [session (session-with-id session-id)]
-      (when-not (session-expired? session)
-        {:metabase-user-id (:user_id session)
-         :is-superuser?    (:is_superuser session)}))))
-
-(defn- add-current-user-info [{:keys [metabase-session-id], :as request}]
-  (merge request (current-user-info-for-session metabase-session-id)))
-
-(defn wrap-current-user-id
-  "Add `:metabase-user-id` to the request if a valid session token was passed."
-  [handler]
-  (comp handler add-current-user-info))
-
-
-(defn enforce-authentication
-  "Middleware that returns a 401 response if REQUEST has no associated `:metabase-user-id`."
-  [handler]
-  (fn [{:keys [metabase-user-id] :as request}]
-    (if metabase-user-id
-      (handler request)
-      response-unauthentic)))
-
-(def ^:private current-user-fields
-  (vec (cons User user/admin-or-self-visible-columns)))
-
-(defn- find-user [user-id]
-  (db/select-one current-user-fields, :id user-id))
-
-(defn bind-current-user
-  "Middleware that binds `metabase.api.common/*current-user*`, `*current-user-id*`, `*is-superuser?*`, and
-  `*current-user-permissions-set*`.
-
-  *  `*current-user-id*`             int ID or nil of user associated with request
-  *  `*current-user*`                delay that returns current user (or nil) from DB
-  *  `*is-superuser?*`               Boolean stating whether current user is a superuser.
-  *  `current-user-permissions-set*` delay that returns the set of permissions granted to the current user from DB"
-  [handler]
-  (fn [request]
-    (if-let [current-user-id (:metabase-user-id request)]
-      (binding [*current-user-id*              current-user-id
-                *is-superuser?*                (:is-superuser? request)
-                *current-user*                 (delay (find-user current-user-id))
-                *current-user-permissions-set* (delay (user/permissions-set current-user-id))]
-        (handler request))
-      (handler request))))
-
-
-(defn wrap-api-key
-  "Middleware that sets the `:metabase-api-key` keyword on the request if a valid API Key can be found. We check the
-  request headers for `X-METABASE-APIKEY` and if it's not found then then no keyword is bound to the request."
-  [handler]
-  (comp handler (fn [{:keys [headers] :as request}]
-                  (if-let [api-key (headers metabase-api-key-header)]
-                    (assoc request :metabase-api-key api-key)
-                    request))))
-
-
-(defn enforce-api-key
-  "Middleware that enforces validation of the client via API Key, cancelling the request processing if the check fails.
-
-  Validation is handled by first checking for the presence of the `:metabase-api-key` on the request.  If the api key
-  is available then we validate it by checking it against the configured `:mb-api-key` value set in our global config.
-
-  If the request `:metabase-api-key` matches the configured `:mb-api-key` value then the request continues, otherwise
-  we reject the request and return a 403 Forbidden response."
-  [handler]
-  (fn [{:keys [metabase-api-key] :as request}]
-    (if (= (config/config-str :mb-api-key) metabase-api-key)
-      (handler request)
-      ;; default response is 403
-      response-forbidden)))
-
-
-;;; ------------------------------------------------ security HEADERS ------------------------------------------------
-
-(defn- cache-prevention-headers
-  "Headers that tell browsers not to cache a response."
-  []
-  {"Cache-Control" "max-age=0, no-cache, must-revalidate, proxy-revalidate"
-   "Expires"        "Tue, 03 Jul 2001 06:00:00 GMT"
-   "Last-Modified"  (du/format-date :rfc822)})
-
- (defn- cache-far-future-headers
-   "Headers that tell browsers to cache a static resource for a long time."
-   []
-   {"Cache-Control" "public, max-age=31536000"})
-
-(def ^:private ^:const strict-transport-security-header
-  "Tell browsers to only access this resource over HTTPS for the next year (prevent MTM attacks). (This only applies if
-  the original request was HTTPS; if sent in response to an HTTP request, this is simply ignored)"
-  {"Strict-Transport-Security" "max-age=31536000"})
-
-(def ^:private ^:const content-security-policy-header
-  "`Content-Security-Policy` header. See https://content-security-policy.com for more details."
-  {"Content-Security-Policy"
-   (apply str (for [[k vs] {:default-src ["'none'"]
-                            :script-src  ["'unsafe-inline'"
-                                          "'unsafe-eval'"
-                                          "'self'"
-                                          "https://maps.google.com"
-                                          "https://apis.google.com"
-                                          "https://www.google-analytics.com" ; Safari requires the protocol
-                                          "https://*.googleapis.com"
-                                          "*.gstatic.com"
-                                          (when config/is-dev?
-                                            "localhost:8080")]
-                            :child-src   ["'self'"
-                                          ;; TODO - double check that we actually need this for Google Auth
-                                          "https://accounts.google.com"]
-                            :style-src   ["'unsafe-inline'"
-                                          "'self'"
-                                          "fonts.googleapis.com"]
-                            :font-src    ["'self'"
-                                          "fonts.gstatic.com"
-                                          "themes.googleusercontent.com"
-                                          (when config/is-dev?
-                                            "localhost:8080")]
-                            :img-src     ["*"
-                                          "'self' data:"]
-                            :connect-src ["'self'"
-                                          "metabase.us10.list-manage.com"
-                                          (when config/is-dev?
-                                            "localhost:8080 ws://localhost:8080")]}]
-                (format "%s %s; " (name k) (apply str (interpose " " vs)))))})
-
-(defsetting ssl-certificate-public-key
-  (str (tru "Base-64 encoded public key for this site's SSL certificate.")
-       (tru "Specify this to enable HTTP Public Key Pinning.")
-       (tru "See {0} for more information." "http://mzl.la/1EnfqBf")))
-;; TODO - it would be nice if we could make this a proper link in the UI; consider enabling markdown parsing
-
-#_(defn- public-key-pins-header []
-  (when-let [k (ssl-certificate-public-key)]
-    {"Public-Key-Pins" (format "pin-sha256=\"base64==%s\"; max-age=31536000" k)}))
-
-(defn- security-headers [& {:keys [allow-iframes? allow-cache?]
-                            :or   {allow-iframes? false, allow-cache? false}}]
-  (merge
-   (if allow-cache?
-     (cache-far-future-headers)
-     (cache-prevention-headers))
-   strict-transport-security-header
-   content-security-policy-header
-   #_(public-key-pins-header)
-   (when-not allow-iframes?
-     ;; Tell browsers not to render our site as an iframe (prevent clickjacking)
-     {"X-Frame-Options"                 "DENY"})
-   { ;; Tell browser to block suspected XSS attacks
-    "X-XSS-Protection"                  "1; mode=block"
-    ;; Prevent Flash / PDF files from including content from site.
-    "X-Permitted-Cross-Domain-Policies" "none"
-    ;; Tell browser not to use MIME sniffing to guess types of files -- protect against MIME type confusion attacks
-    "X-Content-Type-Options"            "nosniff"}))
-
-(defn add-security-headers
-  "Add HTTP security and cache-busting headers."
-  [handler]
-  (fn [request]
-    (let [response (handler request)]
-      ;; add security headers to all responses, but allow iframes on public & embed responses
-      (update response :headers merge (security-headers :allow-iframes? ((some-fn public? embed?) request)
-                                                        :allow-cache?   (cacheable? request))))))
-
-(defn add-content-type
-  "Add an appropriate Content-Type header to response if it doesn't already have one. Most responses should already
-  have one, so this is a fallback for ones that for one reason or another do not."
-  [handler]
-  (fn [request]
-    (let [response (handler request)]
-      (update-in
-       response
-       [:headers "Content-Type"]
-       (fn [content-type]
-         (or content-type
-             (when (api-call? request)
-               (if (string? (:body response))
-                 "text/plain"
-                 "application/json; charset=utf-8"))))))))
-
-
-;;; ------------------------------------------------ SETTING SITE-URL ------------------------------------------------
-
-;; It's important for us to know what the site URL is for things like returning links, etc. this is stored in the
-;; `site-url` Setting; we can set it automatically by looking at the `Origin` or `Host` headers sent with a request.
-;; Effectively the very first API request that gets sent to us (usually some sort of setup request) ends up setting
-;; the (initial) value of `site-url`
-
-(defn maybe-set-site-url
-  "Middleware to set the `site-url` Setting if it's unset the first time a request is made."
-  [handler]
-  (fn [{{:strs [origin host] :as headers} :headers, :as request}]
-    (when (mdb/db-is-setup?)
-      (when-not (public-settings/site-url)
-        (when-let [site-url (or origin host)]
-          (log/info "Setting Metabase site URL to" site-url)
-          (public-settings/site-url site-url))))
-    (handler request)))
-
-
-;;; ------------------------------------------- JSON SERIALIZATION CONFIG --------------------------------------------
-
-;; Tell the JSON middleware to use a date format that includes milliseconds (why?)
-(def ^:private ^:const default-date-format "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
-(intern 'cheshire.factory 'default-date-format default-date-format)
-(intern 'cheshire.generate '*date-format* default-date-format)
-
-;; ## Custom JSON encoders
-
-;; Always fall back to `.toString` instead of barfing. In some cases we should be able to improve upon this behavior;
-;; `.toString` may just return the Class and address, e.g. `some.Class@72a8b25e`
-;; The following are known few classes where `.toString` is the optimal behavior:
-;; *  `org.postgresql.jdbc4.Jdbc4Array` (Postgres arrays)
-;; *  `org.bson.types.ObjectId`         (Mongo BSON IDs)
-;; *  `java.sql.Date`                   (SQL Dates -- .toString returns YYYY-MM-DD)
-(add-encoder Object encode-str)
-
-(defn- encode-jdbc-clob [clob, ^JsonGenerator json-generator]
-  (.writeString json-generator (u/jdbc-clob->str clob)))
-
-;; stringify JDBC clobs
-(add-encoder org.h2.jdbc.JdbcClob               encode-jdbc-clob) ; H2
-(add-encoder org.postgresql.util.PGobject       encode-jdbc-clob) ; Postgres
-
-;; Binary arrays ("[B") -- hex-encode their first four bytes, e.g. "0xC42360D7"
-(add-encoder (Class/forName "[B") (fn [byte-ar, ^JsonGenerator json-generator]
-                                    (.writeString json-generator ^String (apply str "0x" (for [b (take 4 byte-ar)]
-                                                                                           (format "%02X" b))))))
-
-;;; ---------------------------------------------------- LOGGING -----------------------------------------------------
-
-(def ^:private jetty-stats-coll
-  (juxt :min-threads :max-threads :busy-threads :idle-threads :queue-size))
-
-(defn- log-response [jetty-stats-fn {:keys [uri request-method]} {:keys [status body]} elapsed-time db-call-count]
-  (let [log-error #(log/error %)        ; these are macros so we can't pass by value :sad:
-        log-debug #(log/debug %)
-        log-warn  #(log/warn  %)
-        ;; stats? here is to avoid incurring the cost of collecting the Jetty stats and concatenating the extra
-        ;; strings when they're just going to be ignored. This is automatically handled by the macro , but is bypassed
-        ;; once we wrap it in a function
-        [error? color log-fn stats?] (cond
-                                       (>= status 500) [true  'red   log-error false]
-                                       (=  status 403) [true  'red   log-warn false]
-                                       (>= status 400) [true  'red   log-debug false]
-                                       :else           [false 'green log-debug true])]
-    (log-fn (str (apply u/format-color color (str "%s %s %d (%s) (%d DB calls)."
-                                                  (when stats?
-                                                    " Jetty threads: %s/%s (%s busy, %s idle, %s queued)"))
-                        (.toUpperCase (name request-method)) uri status elapsed-time db-call-count
-                        (when stats?
-                          (jetty-stats-coll (jetty-stats-fn))))
-                 ;; only print body on error so we don't pollute our environment by over-logging
-                 (when (and error?
-                            (or (string? body) (coll? body)))
-                   (str "\n" (u/pprint-to-str body)))))))
-
-(defn log-api-call
-  "Takes a handler and a `jetty-stats-fn`. Logs info about request such as status code, number of DB calls, and time
-  taken to complete. `jetty-stats-fn` returns threadpool metadata that is included in the api request log"
-  [handler jetty-stats-fn]
-  (fn [{:keys [uri], :as request}]
-    (if (or (not (api-call? request))
-            (= uri "/api/health")     ; don't log calls to /health or /util/logs because they clutter up
-            (= uri "/api/util/logs")) ; the logs (especially the window in admin) with useless lines
-      (handler request)
-      (let [start-time (System/nanoTime)]
-        (db/with-call-counting [call-count]
-          (u/prog1 (handler request)
-            (log-response jetty-stats-fn request <> (du/format-nanoseconds (- (System/nanoTime) start-time)) (call-count))))))))
-
-
-;;; ----------------------------------------------- EXCEPTION HANDLING -----------------------------------------------
-
-(def ^:dynamic ^:private ^Boolean *automatically-catch-api-exceptions*
-  "Should API exceptions automatically be caught? By default, this is `true`, but this can be disabled when we want to
-  catch Exceptions and return something generic to avoid leaking information, e.g. with the `api/public` and
-  `api/embed` endpoints. generic exceptions"
-  true)
-
-(defn genericize-exceptions
-  "Catch any exceptions thrown in the request handler body and rethrow a generic 400 exception instead. This minimizes
-  information available to bad actors when exceptions occur on public endpoints."
-  [handler]
-  (fn [request]
-    (try (binding [*automatically-catch-api-exceptions* false]
-           (handler request))
-         (catch Throwable e
-           (log/warn (.getMessage e))
-           {:status 400, :body "An error occurred."}))))
-
-(defn message-only-exceptions
-  "Catch any exceptions thrown in the request handler body and rethrow a 400 exception that only has the message from
-  the original instead (i.e., don't rethrow the original stacktrace). This reduces the information available to bad
-  actors but still provides some information that will prove useful in debugging errors."
-  [handler]
-  (fn [request]
-    (try (binding [*automatically-catch-api-exceptions* false]
-           (handler request))
-         (catch Throwable e
-           {:status 400, :body (.getMessage e)}))))
-
-(defn- api-exception-response
-  "Convert an exception from an API endpoint into an appropriate HTTP response."
-  [^Throwable e]
-  (let [{:keys [status-code], :as info} (ex-data e)
-        other-info                      (dissoc info :status-code :schema :type)
-        message                         (.getMessage e)
-        body                            (cond
-                                          ;; Exceptions that include a status code *and* other info are things like
-                                          ;; Field validation exceptions. Return those as is
-                                          (and status-code
-                                               (seq other-info))
-                                          (ui18n/localized-strings->strings other-info)
-                                          ;; If status code was specified but other data wasn't, it's something like a
-                                          ;; 404. Return message as the (plain-text) body.
-                                          status-code
-                                          (str message)
-                                          ;; Otherwise it's a 500. Return a body that includes exception & filtered
-                                          ;; stacktrace for debugging purposes
-                                          :else
-                                          (let [stacktrace (u/filtered-stacktrace e)]
-                                            (merge (assoc other-info
-                                                     :message    message
-                                                     :type       (class e)
-                                                     :stacktrace stacktrace)
-                                                   (when (instance? SQLException e)
-                                                     {:sql-exception-chain
-                                                      (str/split (with-out-str (jdbc/print-sql-exception-chain e))
-                                                                 #"\s*\n\s*")}))))]
-    {:status  (or status-code 500)
-     :headers (security-headers)
-     :body    body}))
-
-(defn catch-api-exceptions
-  "Middleware that catches API Exceptions and returns them in our normal-style format rather than the Jetty 500
-  Stacktrace page, which is not so useful for our frontend."
-  [handler]
-  (fn [request]
-    (if *automatically-catch-api-exceptions*
-      (try (handler request)
-           (catch Throwable e
-             (api-exception-response e)))
-      (handler request))))
diff --git a/src/metabase/middleware/auth.clj b/src/metabase/middleware/auth.clj
new file mode 100644
index 0000000000000000000000000000000000000000..e3bcfe8c2edaf0982fde649dcfb411b410335bba
--- /dev/null
+++ b/src/metabase/middleware/auth.clj
@@ -0,0 +1,43 @@
+(ns metabase.middleware.auth
+  "Middleware related to enforcing authentication/API keys (when applicable). Unlike most other middleware most of this
+  is not used as part of the normal `app`; it is instead added selectively to appropriate routes."
+  (:require [metabase.config :as config]
+            [metabase.middleware.util :as middleware.u]))
+
+(def ^:private ^:const ^String metabase-api-key-header "x-metabase-apikey")
+
+(defn enforce-authentication
+  "Middleware that returns a 401 response if REQUEST has no associated `:metabase-user-id`."
+  [handler]
+  (fn [{:keys [metabase-user-id] :as request} respond raise]
+    (if metabase-user-id
+      (handler request respond raise)
+      (respond middleware.u/response-unauthentic))))
+
+(defn- wrap-api-key* [{:keys [headers], :as request}]
+  (if-let [api-key (headers metabase-api-key-header)]
+    (assoc request :metabase-api-key api-key)
+    request))
+
+(defn wrap-api-key
+  "Middleware that sets the `:metabase-api-key` keyword on the request if a valid API Key can be found. We check the
+  request headers for `X-METABASE-APIKEY` and if it's not found then then no keyword is bound to the request."
+  [handler]
+  (fn [request respond raise]
+    (handler (wrap-api-key* request) respond raise)))
+
+
+(defn enforce-api-key
+  "Middleware that enforces validation of the client via API Key, cancelling the request processing if the check fails.
+
+  Validation is handled by first checking for the presence of the `:metabase-api-key` on the request.  If the api key
+  is available then we validate it by checking it against the configured `:mb-api-key` value set in our global config.
+
+  If the request `:metabase-api-key` matches the configured `:mb-api-key` value then the request continues, otherwise
+  we reject the request and return a 403 Forbidden response."
+  [handler]
+  (fn [{:keys [metabase-api-key], :as request} respond raise]
+    (if (= (config/config-str :mb-api-key) metabase-api-key)
+      (handler request respond raise)
+      ;; default response is 403
+      (respond middleware.u/response-forbidden))))
diff --git a/src/metabase/middleware/exceptions.clj b/src/metabase/middleware/exceptions.clj
new file mode 100644
index 0000000000000000000000000000000000000000..1f8f8411f6a8b370b102f4b18cdf60ba17a22eb8
--- /dev/null
+++ b/src/metabase/middleware/exceptions.clj
@@ -0,0 +1,114 @@
+(ns metabase.middleware.exceptions
+  "Ring middleware for handling Exceptions thrown in API request handler functions."
+  (:require [clojure.java.jdbc :as jdbc]
+            [clojure.string :as str]
+            [clojure.tools.logging :as log]
+            [metabase.middleware.security :as mw.security]
+            [metabase.util :as u]
+            [metabase.util.i18n :as ui18n :refer [trs]])
+  (:import java.sql.SQLException
+           org.eclipse.jetty.io.EofException))
+
+(defn genericize-exceptions
+  "Catch any exceptions thrown in the request handler body and rethrow a generic 400 exception instead. This minimizes
+  information available to bad actors when exceptions occur on public endpoints."
+  [handler]
+  (fn [request respond _]
+    (let [raise (fn [e]
+                  (log/warn e (trs "Exception in API call"))
+                  (respond {:status 400, :body "An error occurred."}))]
+      (try
+        (handler request respond raise)
+        (catch Throwable e
+          (raise e))))))
+
+(defn message-only-exceptions
+  "Catch any exceptions thrown in the request handler body and rethrow a 400 exception that only has the message from
+  the original instead (i.e., don't rethrow the original stacktrace). This reduces the information available to bad
+  actors but still provides some information that will prove useful in debugging errors."
+  [handler]
+  (fn [request respond _]
+    (let [raise (fn [^Throwable e]
+                  (respond {:status 400, :body (.getMessage e)}))]
+      (try
+        (handler request respond raise)
+        (catch Throwable e
+          (raise e))))))
+
+(defmulti api-exception-response
+  "Convert an exception from an API endpoint into an appropriate HTTP response."
+  {:arglists '([e])}
+  class)
+
+(defmethod api-exception-response Throwable [^Throwable e]
+  (let [{:keys [status-code], :as info}
+        (ex-data e)
+
+        other-info
+        (dissoc info :status-code :schema :type)
+
+        message
+        (.getMessage e)
+
+        body
+        (cond
+          ;; Exceptions that include a status code *and* other info are things like
+          ;; Field validation exceptions. Return those as is
+          (and status-code
+               (seq other-info))
+          (ui18n/localized-strings->strings other-info)
+
+          ;; If status code was specified but other data wasn't, it's something like a
+          ;; 404. Return message as the (plain-text) body.
+          status-code
+          (str message)
+
+          ;; Otherwise it's a 500. Return a body that includes exception & filtered
+          ;; stacktrace for debugging purposes
+          :else
+          (assoc other-info
+            :message    message
+            :type       (class e)
+            :stacktrace (u/filtered-stacktrace e)))]
+    {:status  (or status-code 500)
+     :headers (mw.security/security-headers)
+     :body    body}))
+
+(defmethod api-exception-response SQLException [e]
+  (->
+   ((get-method api-exception-response (.getSuperclass SQLException)) e)
+   (assoc-in [:body :sql-exception-chain] (str/split (with-out-str (jdbc/print-sql-exception-chain e))
+                                                     #"\s*\n\s*"))))
+
+(defmethod api-exception-response EofException [e]
+  (log/info (trs "Request canceled before finishing."))
+  {:status-code 204, :body nil, :headers (mw.security/security-headers)})
+
+(defn catch-api-exceptions
+  "Middleware that catches API Exceptions and returns them in our normal-style format rather than the Jetty 500
+  Stacktrace page, which is not so useful for our frontend."
+  [handler]
+  (fn [request respond raise]
+    (handler
+     request
+     respond
+     (comp respond api-exception-response))))
+
+
+(defn catch-uncaught-exceptions
+  "Middleware that catches any unexpected Exceptions that reroutes them thru `raise` where they can be handled
+  appropriately."
+  [handler]
+  (fn [request respond raise]
+    (try
+      (handler
+       request
+       ;; for people that accidentally pass along an Exception, e.g. from qp.async, do the nice thing and route it to
+       ;; the write place for them
+       (fn [response]
+         ((if (instance? Throwable response)
+            raise
+            respond) response))
+       raise)
+      (catch Throwable e
+        (raise e)))))
diff --git a/src/metabase/middleware/json.clj b/src/metabase/middleware/json.clj
new file mode 100644
index 0000000000000000000000000000000000000000..34b067d88eb5ad76db9e8af85900a5440e732289
--- /dev/null
+++ b/src/metabase/middleware/json.clj
@@ -0,0 +1,123 @@
+(ns metabase.middleware.json
+  "Middleware related to parsing JSON requests and generating JSON responses."
+  (:require [cheshire
+             [core :as json]
+             [generate :refer [add-encoder encode-str]]]
+            [metabase.util :as u]
+            [ring.middleware.json :as ring.json]
+            [ring.util
+             [io :as rui]
+             [response :as rr]])
+  (:import com.fasterxml.jackson.core.JsonGenerator
+           [java.io BufferedWriter OutputStream OutputStreamWriter]
+           [java.nio.charset Charset StandardCharsets]))
+
+;;; +----------------------------------------------------------------------------------------------------------------+
+;;; |                                           JSON SERIALIZATION CONFIG                                            |
+;;; +----------------------------------------------------------------------------------------------------------------+
+
+;; Tell the JSON middleware to use a date format that includes milliseconds (why?)
+(def ^:private default-date-format "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
+
+(intern 'cheshire.factory 'default-date-format default-date-format)
+(intern 'cheshire.generate '*date-format* default-date-format)
+
+;; ## Custom JSON encoders
+
+;; Always fall back to `.toString` instead of barfing. In some cases we should be able to improve upon this behavior;
+;; `.toString` may just return the Class and address, e.g. `some.Class@72a8b25e`
+;; The following are known few classes where `.toString` is the optimal behavior:
+;; *  `org.postgresql.jdbc4.Jdbc4Array` (Postgres arrays)
+;; *  `org.bson.types.ObjectId`         (Mongo BSON IDs)
+;; *  `java.sql.Date`                   (SQL Dates -- .toString returns YYYY-MM-DD)
+(add-encoder Object encode-str)
+
+(defn- encode-jdbc-clob [clob, ^JsonGenerator json-generator]
+  (.writeString json-generator (u/jdbc-clob->str clob)))
+
+;; stringify JDBC clobs
+(add-encoder org.h2.jdbc.JdbcClob               encode-jdbc-clob) ; H2
+(add-encoder org.postgresql.util.PGobject       encode-jdbc-clob) ; Postgres
+
+;; Binary arrays ("[B") -- hex-encode their first four bytes, e.g. "0xC42360D7"
+(add-encoder (Class/forName "[B") (fn [byte-ar, ^JsonGenerator json-generator]
+                                    (.writeString json-generator ^String (apply str "0x" (for [b (take 4 byte-ar)]
+                                                                                           (format "%02X" b))))))
+
+
+;;; +----------------------------------------------------------------------------------------------------------------+
+;;; |                                             Parsing JSON Requests                                              |
+;;; +----------------------------------------------------------------------------------------------------------------+
+
+(defn wrap-json-body
+  "Middleware that parses JSON in the body of a request. (This is basically a copy of `ring-json-middleware`, but
+  tweaked to handle async-style calls.)"
+  ;; TODO - we should really just fork ring-json-middleware and put these changes in the fork, or submit this as a PR
+  [handler]
+  (fn
+    [request respond raise]
+    (if-let [[valid? json] (#'ring.json/read-json request {:keywords? true})]
+      (if valid?
+        (handler (assoc request :body json) respond raise)
+        (respond ring.json/default-malformed-response))
+      (handler request respond raise))))
+
+#_(defn check-application-type-headers
+  "We don't support API requests with any type of content encoding other than JSON so let's be nice and make that
+  explicit. Added benefit is that it reduces CSRF surface because POSTing a form with JSON content encoding isn't so
+  easy to do."
+  [handler]
+  (fn
+    [{:keys [request-method body], {:strs [content-type]} :headers, :as request} respond raise]
+    ;; GET or DELETE requests with no body we can go ahead and proceed without Content-Type headers, since they
+    ;; generally don't have bodies.
+    ;;
+    ;; POST/PUT requests always require Content-Type: application/json. GET/DELETE requests that specify any other
+    ;; content type aren't allowed.
+    (if (or (and (#{:get :delete} request-method)
+                 (nil? content-type))
+            (#'ring.json/json-request? request))
+      (handler request respond raise)
+      (respond
+       {:status  400
+        :headers {"Content-Type" "text/plain"}
+        :body    (str (tru "Metabase only supports JSON requests.")
+                      " "
+                      (tru "Make sure you set a 'Content-Type: application/json' header."))}))))
+
+
+;;; +----------------------------------------------------------------------------------------------------------------+
+;;; |                                            Streaming JSON Responses                                            |
+;;; +----------------------------------------------------------------------------------------------------------------+
+
+(defn- streamed-json-response
+  "Write `RESPONSE-SEQ` to a PipedOutputStream as JSON, returning the connected PipedInputStream"
+  [response-seq opts]
+  (rui/piped-input-stream
+   (fn [^OutputStream output-stream]
+     (with-open [output-writer   (OutputStreamWriter. ^OutputStream output-stream ^Charset StandardCharsets/UTF_8)
+                 buffered-writer (BufferedWriter. output-writer)]
+       (json/generate-stream response-seq buffered-writer opts)))))
+
+(defn- wrap-streamed-json-response* [opts response]
+  (if-let [json-response (and (coll? (:body response))
+                              (update-in response [:body] streamed-json-response opts))]
+    (if (contains? (:headers json-response) "Content-Type")
+      json-response
+      (rr/content-type json-response "application/json; charset=utf-8"))
+    response))
+
+(defn wrap-streamed-json-response
+  "Similar to ring.middleware/wrap-json-response in that it will serialize the response's body to JSON if it's a
+  collection. Rather than generating a string it will stream the response using a PipedOutputStream.
+
+  Accepts the following options (same as `wrap-json-response`):
+
+  :pretty            - true if the JSON should be pretty-printed
+  :escape-non-ascii  - true if non-ASCII characters should be escaped with \\u"
+  [handler & [{:as opts}]]
+  (fn [request respond raise]
+    (handler
+     request
+     (comp respond (partial wrap-streamed-json-response* opts))
+     raise)))
diff --git a/src/metabase/middleware/log.clj b/src/metabase/middleware/log.clj
new file mode 100644
index 0000000000000000000000000000000000000000..3957da0a386f11944466766d8637be9111894ca6
--- /dev/null
+++ b/src/metabase/middleware/log.clj
@@ -0,0 +1,73 @@
+(ns metabase.middleware.log
+  "Ring middleware for logging API requests/responses."
+  (:require [clojure.tools.logging :as log]
+            [metabase
+             [server :as server]
+             [util :as u]]
+            [metabase.middleware.util :as middleware.u]
+            [metabase.util
+             [date :as du]
+             [i18n :refer [trs]]]
+            [toucan.db :as db])
+  (:import org.eclipse.jetty.util.thread.QueuedThreadPool))
+
+(def ^:private jetty-stats-coll
+  (juxt :min-threads :max-threads :busy-threads :idle-threads :queue-size))
+
+(defn- jetty-stats []
+  (when-let [jetty-server (server/instance)]
+    (let [^QueuedThreadPool pool (.getThreadPool jetty-server)]
+      {:min-threads  (.getMinThreads pool)
+       :max-threads  (.getMaxThreads pool)
+       :busy-threads (.getBusyThreads pool)
+       :idle-threads (.getIdleThreads pool)
+       :queue-size   (.getQueueSize pool)})))
+
+(defn- log-response [{:keys [uri request-method]} {:keys [status body]} elapsed-time db-call-count]
+  (let [log-error #(log/error %)        ; these are macros so we can't pass by value :sad:
+        log-debug #(log/debug %)
+        log-warn  #(log/warn  %)
+        ;; stats? here is to avoid incurring the cost of collecting the Jetty stats and concatenating the extra
+        ;; strings when they're just going to be ignored. This is automatically handled by the macro , but is bypassed
+        ;; once we wrap it in a function
+        [error? color log-fn stats?] (cond
+                                       (>= status 500) [true  'red   log-error false]
+                                       (=  status 403) [true  'red   log-warn false]
+                                       (>= status 400) [true  'red   log-debug false]
+                                       :else           [false 'green log-debug true])]
+    (log-fn (str (apply u/format-color color
+                        (str "%s %s %d (%s) (%d DB calls)."
+                             (when stats?
+                               " Jetty threads: %s/%s (%s busy, %s idle, %s queued) (%d total active threads)"))
+                        (.toUpperCase (name request-method)) uri status elapsed-time db-call-count
+                        (when stats?
+                          (conj (vec (jetty-stats-coll (jetty-stats)))
+                                (Thread/activeCount))))
+                 ;; only print body on error so we don't pollute our environment by over-logging
+                 (when (and error?
+                            (or (string? body) (coll? body)))
+                   (str "\n" (u/pprint-to-str body)))))))
+
+(defn- should-log-request? [{:keys [uri], :as request}]
+  ;; don't log calls to /health or /util/logs because they clutter up the logs (especially the window in admin) with
+  ;; useless lines
+  (and (middleware.u/api-call? request)
+       (not (#{"/api/health" "/api/util/logs"} uri))))
+
+(defn log-api-call
+  "Logs info about request such as status code, number of DB calls, and time taken to complete."
+  [handler]
+  (fn [request respond raise]
+    (if-not (should-log-request? request)
+      ;; non-API call or health or logs call, don't log it
+      (handler request respond raise)
+      ;; API call, log info about it
+      (let [start-time (System/nanoTime)]
+        (db/with-call-counting [call-count]
+          (let [respond (fn [response]
+                          (try
+                            (log-response request response (du/format-nanoseconds (- (System/nanoTime) start-time)) (call-count))
+                            (catch Throwable e
+                              (log/error e (trs "Error logging API request"))))
+                          (respond response))]
+            (handler request respond raise)))))))
diff --git a/src/metabase/middleware/misc.clj b/src/metabase/middleware/misc.clj
new file mode 100644
index 0000000000000000000000000000000000000000..bee301fd081290ec58fe11846e76ce4ddd5b848e
--- /dev/null
+++ b/src/metabase/middleware/misc.clj
@@ -0,0 +1,100 @@
+(ns metabase.middleware.misc
+  "Misc Ring middleware."
+  (:require [clojure.tools.logging :as log]
+            [metabase
+             [db :as mdb]
+             [public-settings :as public-settings]]
+            [metabase.middleware.util :as middleware.u]
+            [metabase.util.i18n :refer [trs]]
+            [puppetlabs.i18n.core :as puppet-i18n]
+            [ring.middleware.gzip :as ring.gzip])
+  (:import [java.io File InputStream]))
+
+(defn- add-content-type* [request response]
+  (update-in
+   response
+   [:headers "Content-Type"]
+   (fn [content-type]
+     (or content-type
+         (when (middleware.u/api-call? request)
+           (if (string? (:body response))
+             "text/plain"
+             "application/json; charset=utf-8"))))))
+
+(defn add-content-type
+  "Add an appropriate Content-Type header to response if it doesn't already have one. Most responses should already
+  have one, so this is a fallback for ones that for one reason or another do not."
+  [handler]
+  (fn [request respond raise]
+    (handler
+     request
+     (comp respond (partial add-content-type* request))
+     raise)))
+
+
+;;; ------------------------------------------------ SETTING SITE-URL ------------------------------------------------
+
+;; It's important for us to know what the site URL is for things like returning links, etc. this is stored in the
+;; `site-url` Setting; we can set it automatically by looking at the `Origin` or `Host` headers sent with a request.
+;; Effectively the very first API request that gets sent to us (usually some sort of setup request) ends up setting
+;; the (initial) value of `site-url`
+
+(defn- maybe-set-site-url* [{{:strs [origin host] :as headers} :headers, :as request}]
+  (when (mdb/db-is-setup?)
+    (when-not (public-settings/site-url)
+      (when-let [site-url (or origin host)]
+        (log/info (trs "Setting Metabase site URL to {0}" site-url))
+        (public-settings/site-url site-url)))))
+
+(defn maybe-set-site-url
+  "Middleware to set the `site-url` Setting if it's unset the first time a request is made."
+  [handler]
+  (fn [request respond raise]
+    (maybe-set-site-url* request)
+    (handler request respond raise)))
+
+
+;;; ------------------------------------------------------ i18n ------------------------------------------------------
+
+(defn bind-user-locale
+  "Middleware that binds locale info for the current User. (This is basically a copy of the
+  `puppetlabs.i18n.core/locale-negotiator`, but reworked to handle async-style requests as well.)"
+  ;; TODO - We should really just fork puppet i18n and put these changes there, or PR
+  [handler]
+  (fn [request respond raise]
+    (let [headers    (:headers request)
+          parsed     (puppet-i18n/parse-http-accept-header (get headers "accept-language"))
+          wanted     (mapv first parsed)
+          negotiated ^java.util.Locale (puppet-i18n/negotiate-locale wanted (puppet-i18n/available-locales))]
+      (puppet-i18n/with-user-locale negotiated
+        (handler request respond raise)))))
+
+
+;;; ------------------------------------------------------ GZIP ------------------------------------------------------
+
+(defn- wrap-gzip* [request {:keys [body status] :as resp}]
+  (if (and (= status 200)
+           (not (get-in resp [:headers "Content-Encoding"]))
+           (or
+            (and (string? body) (> (count body) 200))
+            (and (seq? body) @@#'ring.gzip/flushable-gzip?)
+            (instance? InputStream body)
+            (instance? File body)))
+    (let [accepts (get-in request [:headers "accept-encoding"] "")
+          match   (re-find #"(gzip|\*)(;q=((0|1)(.\d+)?))?" accepts)]
+      (if (and match (not (contains? #{"0" "0.0" "0.00" "0.000"}
+                                     (match 3))))
+        (ring.gzip/gzipped-response resp)
+        resp))
+    resp))
+
+(defn wrap-gzip
+  "Middleware that GZIPs response if client can handle it. This is basically the same as the version in
+  `ring.middleware.gzip`, but handles async requests as well."
+  ;; TODO - we should really just fork the dep in question and put these changes there, or PR
+  [handler]
+  (fn [request respond raise]
+    (handler
+     request
+     (comp respond (partial wrap-gzip* request))
+     raise)))
diff --git a/src/metabase/middleware/security.clj b/src/metabase/middleware/security.clj
new file mode 100644
index 0000000000000000000000000000000000000000..18544c794a1bceb5c471cfd4da1f794ca38b1908
--- /dev/null
+++ b/src/metabase/middleware/security.clj
@@ -0,0 +1,105 @@
+(ns metabase.middleware.security
+  "Ring middleware for adding security-related headers to API responses."
+  (:require [clojure.string :as str]
+            [metabase.config :as config]
+            [metabase.middleware.util :as middleware.u]
+            [metabase.models.setting :refer [defsetting]]
+            [metabase.util
+             [date :as du]
+             [i18n :as ui18n :refer [tru]]]))
+
+(defn- cache-prevention-headers
+  "Headers that tell browsers not to cache a response."
+  []
+  {"Cache-Control" "max-age=0, no-cache, must-revalidate, proxy-revalidate"
+   "Expires"        "Tue, 03 Jul 2001 06:00:00 GMT"
+   "Last-Modified"  (du/format-date :rfc822)})
+
+ (defn- cache-far-future-headers
+   "Headers that tell browsers to cache a static resource for a long time."
+   []
+   {"Cache-Control" "public, max-age=31536000"})
+
+(def ^:private ^:const strict-transport-security-header
+  "Tell browsers to only access this resource over HTTPS for the next year (prevent MTM attacks). (This only applies if
+  the original request was HTTPS; if sent in response to an HTTP request, this is simply ignored)"
+  {"Strict-Transport-Security" "max-age=31536000"})
+
+(def ^:private content-security-policy-header
+  "`Content-Security-Policy` header. See https://content-security-policy.com for more details."
+  {"Content-Security-Policy"
+   (str/join
+    (for [[k vs] {:default-src ["'none'"]
+                  :script-src  ["'unsafe-inline'"
+                                "'unsafe-eval'"
+                                "'self'"
+                                "https://maps.google.com"
+                                "https://apis.google.com"
+                                "https://www.google-analytics.com" ; Safari requires the protocol
+                                "https://*.googleapis.com"
+                                "*.gstatic.com"
+                                (when config/is-dev?
+                                  "localhost:8080")]
+                  :child-src   ["'self'"
+                                ;; TODO - double check that we actually need this for Google Auth
+                                "https://accounts.google.com"]
+                  :style-src   ["'unsafe-inline'"
+                                "'self'"
+                                "fonts.googleapis.com"]
+                  :font-src    ["'self'"
+                                "fonts.gstatic.com"
+                                "themes.googleusercontent.com"
+                                (when config/is-dev?
+                                  "localhost:8080")]
+                  :img-src     ["*"
+                                "'self' data:"]
+                  :connect-src ["'self'"
+                                "metabase.us10.list-manage.com"
+                                (when config/is-dev?
+                                  "localhost:8080 ws://localhost:8080")]}]
+      (format "%s %s; " (name k) (apply str (interpose " " vs)))))})
+
+(defsetting ssl-certificate-public-key
+  (str (tru "Base-64 encoded public key for this site's SSL certificate.")
+       (tru "Specify this to enable HTTP Public Key Pinning.")
+       (tru "See {0} for more information." "http://mzl.la/1EnfqBf")))
+;; TODO - it would be nice if we could make this a proper link in the UI; consider enabling markdown parsing
+
+#_(defn- public-key-pins-header []
+  (when-let [k (ssl-certificate-public-key)]
+    {"Public-Key-Pins" (format "pin-sha256=\"base64==%s\"; max-age=31536000" k)}))
+
+(defn security-headers
+  "Fetch a map of security headers that should be added to a response based on the passed options."
+  [& {:keys [allow-iframes? allow-cache?]
+      :or   {allow-iframes? false, allow-cache? false}}]
+  (merge
+   (if allow-cache?
+     (cache-far-future-headers)
+     (cache-prevention-headers))
+   strict-transport-security-header
+   content-security-policy-header
+   #_(public-key-pins-header)
+   (when-not allow-iframes?
+     ;; Tell browsers not to render our site as an iframe (prevent clickjacking)
+     {"X-Frame-Options"                 "DENY"})
+   { ;; Tell browser to block suspected XSS attacks
+    "X-XSS-Protection"                  "1; mode=block"
+    ;; Prevent Flash / PDF files from including content from site.
+    "X-Permitted-Cross-Domain-Policies" "none"
+    ;; Tell browser not to use MIME sniffing to guess types of files -- protect against MIME type confusion attacks
+    "X-Content-Type-Options"            "nosniff"}))
+
+(defn- add-security-headers* [request response]
+  (update response :headers merge (security-headers
+                                   :allow-iframes? ((some-fn middleware.u/public? middleware.u/embed?) request)
+                                   :allow-cache?   (middleware.u/cacheable? request))))
+
+(defn add-security-headers
+  "Add HTTP security and cache-busting headers."
+  [handler]
+  (fn [request respond raise]
+    (handler
+     request
+     (comp respond (partial add-security-headers* request))
+     raise)))
diff --git a/src/metabase/middleware/session.clj b/src/metabase/middleware/session.clj
new file mode 100644
index 0000000000000000000000000000000000000000..4757e14593cb6daeb02b5012de81082f1c713200
--- /dev/null
+++ b/src/metabase/middleware/session.clj
@@ -0,0 +1,159 @@
+(ns metabase.middleware.session
+  "Ring middleware related to session (binding current user and permissions)."
+  (:require [metabase
+             [config :as config]
+             [db :as mdb]
+             [public-settings :as public-settings]]
+            [metabase.api.common :refer [*current-user* *current-user-id* *current-user-permissions-set*
+                                         *is-superuser?*]]
+            [metabase.core.initialization-status :as init-status]
+            [metabase.models
+             [session :refer [Session]]
+             [user :as user :refer [User]]]
+            [ring.util.response :as resp]
+            [schema.core :as s]
+            [toucan.db :as db])
+  (:import java.net.URL
+           java.util.UUID
+           org.joda.time.DateTime))
+
+;; How do authenticated API requests work? Metabase first looks for a cookie called `metabase.SESSION`. This is the
+;; normal way of doing things; this cookie gets set automatically upon login. `metabase.SESSION` is an HttpOnly
+;; cookie and thus can't be viewed by FE code.
+;;
+;; If that cookie is isn't present, we look for the `metabase.SESSION_ID`, which is the old session cookie set in
+;; 0.31.x and older. Unlike `metabase.SESSION`, this cookie was set directly by the frontend and thus was not
+;; HttpOnly; for 0.32.x we'll continue to accept it rather than logging every one else out on upgrade. (We've
+;; switched to a new Cookie name for 0.32.x because the new cookie includes a `path` attribute, thus browsers consider
+;; it to be a different Cookie; Ring cookie middleware does not handle multiple cookies with the same name.)
+;;
+;; Finally we'll check for the presence of a `X-Metabase-Session` header. If that isn't present, you don't have a
+;; Session ID and thus are definitely not authenticated
+(def ^:private ^String metabase-session-cookie        "metabase.SESSION")
+(def ^:private ^String metabase-legacy-session-cookie "metabase.SESSION_ID") ; this can be removed in 0.33.x
+(def ^:private ^String metabase-session-header        "x-metabase-session")
+
+(defn- clear-cookie [response cookie-name]
+  (resp/set-cookie response cookie-name nil {:expires (DateTime. 0)}))
+
+(defn- wrap-body-if-needed
+  "You can't add a cookie (by setting the `:cookies` key of a response) if the response is an unwrapped JSON response;
+  wrap `response` if needed."
+  [response]
+  (if (and (map? response) (contains? response :body))
+    response
+    {:body response, :status 200}))
+
+(s/defn set-session-cookie
+  "Add a `Set-Cookie` header to `response` to persist the Metabase session."
+  [response, session-id :- UUID]
+  (-> response
+      wrap-body-if-needed
+      (clear-cookie metabase-legacy-session-cookie)
+      (resp/set-cookie
+       metabase-session-cookie
+       (str session-id)
+       (merge
+        {:same-site :lax
+         :http-only true
+         :path      "/api"
+         :max-age   (config/config-int :max-session-age)}
+        ;; If Metabase is running over HTTPS (hopefully always except for local dev instances) then make sure to
+        ;; make this cookie HTTPS-only
+        (when (some-> (public-settings/site-url) URL. .getProtocol (= "https"))
+          {:secure true})))))
+
+(defn clear-session-cookie
+  "Add a header to `response` to clear the current Metabase session cookie."
+  [response]
+  (-> response
+      wrap-body-if-needed
+      (clear-cookie metabase-session-cookie)
+      (clear-cookie metabase-legacy-session-cookie)))
+
+(defn- wrap-session-id* [{:keys [cookies headers] :as request}]
+  (let [session-id (or (get-in cookies [metabase-session-cookie :value])
+                       (get-in cookies [metabase-legacy-session-cookie :value])
+                       (headers metabase-session-header))]
+    (if (seq session-id)
+      (assoc request :metabase-session-id session-id)
+      request)))
+
+(defn wrap-session-id
+  "Middleware that sets the `:metabase-session-id` keyword on the request if a session id can be found.
+
+   We first check the request :cookies for `metabase.SESSION_ID`, then if no cookie is found we look in the
+   http headers for `X-METABASE-SESSION`.  If neither is found then then no keyword is bound to the request."
+  [handler]
+  (fn [request respond raise]
+    (handler (wrap-session-id* request) respond raise)))
+
+(defn- session-with-id
+  "Fetch a session with SESSION-ID, and include the User ID and superuser status associated with it."
+  [session-id]
+  (db/select-one [Session :created_at :user_id (db/qualify User :is_superuser)]
+    (mdb/join [Session :user_id] [User :id])
+    (db/qualify User :is_active) true
+    (db/qualify Session :id) session-id))
+
+(defn- session-age-ms [session]
+  (- (System/currentTimeMillis) (or (when-let [^java.util.Date created-at (:created_at session)]
+                                      (.getTime created-at))
+                                    0)))
+
+(defn- session-age-minutes [session]
+  (quot (session-age-ms session) 60000))
+
+(defn- session-expired? [session]
+  (> (session-age-minutes session)
+     (config/config-int :max-session-age)))
+
+(defn- current-user-info-for-session
+  "Return User ID and superuser status for Session with SESSION-ID if it is valid and not expired."
+  [session-id]
+  (when (and session-id (init-status/complete?))
+    (when-let [session (session-with-id session-id)]
+      (when-not (session-expired? session)
+        {:metabase-user-id (:user_id session)
+         :is-superuser?    (:is_superuser session)}))))
+
+(defn- wrap-current-user-id* [{:keys [metabase-session-id], :as request}]
+  (merge request (current-user-info-for-session metabase-session-id)))
+
+(defn wrap-current-user-id
+  "Add `:metabase-user-id` to the request if a valid session token was passed."
+  [handler]
+  (fn [request respond raise]
+    (handler (wrap-current-user-id* request) respond raise)))
+
+
+(def ^:private current-user-fields
+  (into [User] user/admin-or-self-visible-columns))
+
+(defn- find-user [user-id]
+  (db/select-one current-user-fields, :id user-id))
+
+(defn- do-with-current-user [request f]
+  (if-let [current-user-id (:metabase-user-id request)]
+    (binding [*current-user-id*              current-user-id
+              *is-superuser?*                (:is-superuser? request)
+              *current-user*                 (delay (find-user current-user-id))
+              *current-user-permissions-set* (delay (user/permissions-set current-user-id))]
+      (f))
+    (f)))
+
+(defmacro ^:private with-current-user [request & body]
+  `(do-with-current-user ~request (fn [] ~@body)))
+
+(defn bind-current-user
+  "Middleware that binds `metabase.api.common/*current-user*`, `*current-user-id*`, `*is-superuser?*`, and
+  `*current-user-permissions-set*`.
+
+  *  `*current-user-id*`             int ID or nil of user associated with request
+  *  `*current-user*`                delay that returns current user (or nil) from DB
+  *  `*is-superuser?*`               Boolean stating whether current user is a superuser.
+  *  `current-user-permissions-set*` delay that returns the set of permissions granted to the current user from DB"
+  [handler]
+  (fn [request respond raise]
+    (with-current-user request
+      (handler request respond raise))))
diff --git a/src/metabase/middleware/util.clj b/src/metabase/middleware/util.clj
new file mode 100644
index 0000000000000000000000000000000000000000..7cf2fa064084c927e8ed341c73f8c60bae389507
--- /dev/null
+++ b/src/metabase/middleware/util.clj
@@ -0,0 +1,27 @@
+(ns metabase.middleware.util
+  "Ring middleware utility functions."
+  (:require [clojure.string :as str]))
+
+(def response-unauthentic "Generic `401 (Unauthenticated)` Ring response map." {:status 401, :body "Unauthenticated"})
+(def response-forbidden   "Generic `403 (Forbidden)` Ring response map."       {:status 403, :body "Forbidden"})
+
+(defn api-call?
+  "Is this ring request an API call (does path start with `/api`)?"
+  [{:keys [^String uri]}]
+  (str/starts-with? uri "/api"))
+
+(defn public?
+  "Is this ring request one that will serve `public.html`?"
+  [{:keys [uri]}]
+  (re-matches #"^/public/.*$" uri))
+
+(defn embed?
+  "Is this ring request one that will serve `public.html`?"
+  [{:keys [uri]}]
+  (re-matches #"^/embed/.*$" uri))
+
+(defn cacheable?
+  "Can the ring request be permanently cached?"
+  [{:keys [uri query-string]}]
+  ;; match requests that are js/css and have a cache-busting query string
+  (and query-string (re-matches #"^/app/dist/.*\.(js|css)$" uri)))
diff --git a/src/metabase/models/collection.clj b/src/metabase/models/collection.clj
index ea9e3ce215dbe91809a79e077050634e7bb5f8ab..eaef7636c8435aa597f40c28ce0c0dac48524764 100644
--- a/src/metabase/models/collection.clj
+++ b/src/metabase/models/collection.clj
@@ -230,27 +230,78 @@
 ;; breadcrumbing in the frontend.
 
 (def VisibleCollections
-  "Includes the possible values for visible collections, either `:all` or a set of ids"
-  (s/cond-pre (s/eq :all) #{su/IntGreaterThanZero}))
+  "Includes the possible values for visible collections, either `:all` or a set of ids, possibly including `\"root\"` to
+  represent the root collection."
+  (s/cond-pre (s/eq :all) #{(s/cond-pre (s/eq "root") su/IntGreaterThanZero)}))
 
 (s/defn permissions-set->visible-collection-ids :- VisibleCollections
   "Given a `permissions-set` (presumably those of the current user), return a set of IDs of Collections that the
   permissions set allows you to view. For those with *root* permissions (e.g., an admin), this function will return
-  `:all`, signifying that you are allowed to view all Collections.
+  `:all`, signifying that you are allowed to view all Collections. For *Root Collection* permissions, the response
+  will include \"root\".
 
-    (permissions-set->visible-collection-ids #{\"/collection/10/\"}) ; -> #{10}
-    (permissions-set->visible-collection-ids #{\"/\"})               ; -> :all"
+    (permissions-set->visible-collection-ids #{\"/collection/10/\"})   ; -> #{10}
+    (permissions-set->visible-collection-ids #{\"/\"})                 ; -> :all
+    (permissions-set->visible-collection-ids #{\"/collection/root/\"}) ; -> #{\"root\"}
+
+  You probably don't want to consume the results of this function directly -- most of the time, the reason you are
+  calling this function in the first place is because you want add a `FILTER` clause to an application DB query (e.g.
+  to only fetch Cards that belong to Collections visible to the current User). Use
+  `visible-collection-ids->honeysql-filter-clause` to generate a filter clause that handles all possible outputs of
+  this function correctly.
+
+  !!! IMPORTANT NOTE !!!
+
+  Because the result may include `nil` for the Root Collection, or may be `:all`, MAKE SURE YOU HANDLE THOSE
+  SITUATIONS CORRECTLY before using these IDs to make a DB call. Better yet, use
+  `collection-ids->honeysql-filter-clause` to generate appropriate HoneySQL."
   [permissions-set :- #{perms/UserPath}]
   (if (contains? permissions-set "/")
     :all
-    (set (for [path  permissions-set
-               :let  [[_ id-str] (re-matches #"/collection/(\d+)/(read/)?" path)]
-               :when id-str]
-           (Integer/parseInt id-str)))))
+    (set
+     (for [path  permissions-set
+           :let  [[_ id-str] (re-matches #"/collection/((?:\d+)|root)/(read/)?" path)]
+           :when id-str]
+       (cond-> id-str
+         (not= id-str "root") Integer/parseInt)))))
+
+
+(s/defn visible-collection-ids->honeysql-filter-clause
+  "Generate an appropriate HoneySQL `:where` clause to filter something by visible Collection IDs, such as the ones
+  returned by `permissions-set->visible-collection-ids`. Correctly handles all possible values returned by that
+  function, including `:all` and `nil` Collection IDs (for the Root Collection).
+
+  Guaranteed to always generate a valid HoneySQL form, so this can be used directly in a query without further checks.
+
+    (db/select Card
+      {:where (collection/visible-collection-ids->honeysql-filter-clause
+               (collection/permissions-set->visible-collection-ids
+                @*current-user-permissions-set*))})"
+  ([collection-ids :- VisibleCollections]
+   (visible-collection-ids->honeysql-filter-clause :collection_id collection-ids))
+
+  ([collection-id-field :- s/Keyword, collection-ids :- VisibleCollections]
+   (if (= collection-ids :all)
+     true
+     (let [{non-root-ids false, root-id true} (group-by (partial = "root") collection-ids)
+           non-root-clause                    (when (seq non-root-ids)
+                                                [:in collection-id-field non-root-ids])
+           root-clause                        (when (seq root-id)
+                                                [:= collection-id-field nil])]
+       (cond
+         (and root-clause non-root-clause)
+         [:or root-clause non-root-clause]
+
+         (or root-clause non-root-clause)
+         (or root-clause non-root-clause)
+
+         :else
+         false)))))
+
 
 (s/defn effective-location-path :- (s/maybe LocationPath)
   "Given a `location-path` and a set of Collection IDs one is allowed to view (obtained from
-  `permissions-set->visibile-collection-ids` above), calculate the 'effective' location path (excluding IDs of
+  `permissions-set->visible-collection-ids` above), calculate the 'effective' location path (excluding IDs of
   Collections for which we do not have read perms) we should show to the User.
 
   When called with a single argument, `collection`, this is used as a hydration function to hydrate
@@ -262,7 +313,7 @@
      (effective-location-path (:location collection)
                               (permissions-set->visible-collection-ids @*current-user-permissions-set*))))
 
-  ([real-location-path :- LocationPath, allowed-collection-ids :- (s/cond-pre (s/eq :all) #{su/IntGreaterThanZero})]
+  ([real-location-path :- LocationPath, allowed-collection-ids :- VisibleCollections]
    (if (= allowed-collection-ids :all)
      real-location-path
      (apply location-path (for [id    (location-path->ids real-location-path)
@@ -743,10 +794,11 @@
 
 ;;; ----------------------------------------------------- DELETE -----------------------------------------------------
 
-(def ^:dynamic *allow-deleting-personal-collections*
-  "Whether to allow deleting Personal Collections. Normally we should *never* allow this, but in the single case of
-  deleting a User themselves, we need to allow this. (Note that in normal usage, Users never get deleted, but rather
-  archived; thus this code is used solely by our test suite, by things such as the `with-temp` macros.)"
+(defonce ^:dynamic ^{:doc "Whether to allow deleting Personal Collections. Normally we should *never* allow this, but
+  in the single case of deleting a User themselves, we need to allow this. (Note that in normal usage, Users never get
+  deleted, but rather archived; thus this code is used solely by our test suite, by things such as the `with-temp`
+  macros.)"}
+  *allow-deleting-personal-collections*
   false)
 
 (defn- pre-delete [collection]
diff --git a/src/metabase/models/dashboard.clj b/src/metabase/models/dashboard.clj
index 39937027bbd8db628795311ae057acb9f92ef854..3787ec8bf2d6e836d44bac58090fdcc1465bece3 100644
--- a/src/metabase/models/dashboard.clj
+++ b/src/metabase/models/dashboard.clj
@@ -3,11 +3,11 @@
              [data :refer [diff]]
              [set :as set]
              [string :as str]]
+            [clojure.core.async :as a]
             [clojure.tools.logging :as log]
             [metabase
              [events :as events]
              [public-settings :as public-settings]
-             [query-processor :as qp]
              [util :as u]]
             [metabase.automagic-dashboards.populate :as magic.populate]
             [metabase.models
@@ -20,7 +20,7 @@
              [permissions :as perms]
              [revision :as revision]]
             [metabase.models.revision.diff :refer [build-sentence]]
-            [metabase.query-processor.interface :as qpi]
+            [metabase.query-processor.async :as qp.async]
             [metabase.util.i18n :as ui18n]
             [toucan
              [db :as db]
@@ -217,11 +217,11 @@
       (update-field-values-for-on-demand-dbs! old-param-field-ids new-param-field-ids))))
 
 
+;; TODO - we need to actually make this async, but then we'd need to make `save-card!` async, and so forth
 (defn- result-metadata-for-query
   "Fetch the results metadata for a `query` by running the query and seeing what the `qp` gives us in return."
   [query]
-  (binding [qpi/*disable-qp-logging* true]
-    (get-in (qp/process-query query) [:data :results_metadata :columns])))
+  (a/<!! (qp.async/result-metadata-for-query-async query)))
 
 (defn- save-card!
   [card]
diff --git a/src/metabase/models/database.clj b/src/metabase/models/database.clj
index 1f8ba9e4133754ea406533dbc8f8d2662daad96a..bbcfd52aa40fc4de3040f174278d6504e16acc24 100644
--- a/src/metabase/models/database.clj
+++ b/src/metabase/models/database.clj
@@ -11,6 +11,7 @@
              [interface :as i]
              [permissions :as perms]
              [permissions-group :as perm-group]]
+            [metabase.util.i18n :refer [trs]]
             [toucan
              [db :as db]
              [models :as models]]))
@@ -41,37 +42,33 @@
 
 
 (defn- schedule-tasks!
-  "(Re)schedule sync operation tasks for DATABASE. (Existing scheduled tasks will be deleted first.)"
+  "(Re)schedule sync operation tasks for `database`. (Existing scheduled tasks will be deleted first.)"
   [database]
   (try
     ;; this is done this way to avoid circular dependencies
     (require 'metabase.task.sync-databases)
     ((resolve 'metabase.task.sync-databases/schedule-tasks-for-db!) database)
     (catch Throwable e
-      (log/error "Error scheduling tasks for DB:" (.getMessage e) "\n"
-                 (u/pprint-to-str (u/filtered-stacktrace e))))))
+      (log/error e (trs "Error scheduling tasks for DB")))))
 
 (defn- unschedule-tasks!
-  "Unschedule any currently pending sync operation tasks for DATABASE."
+  "Unschedule any currently pending sync operation tasks for `database`."
   [database]
   (try
     (require 'metabase.task.sync-databases)
     ((resolve 'metabase.task.sync-databases/unschedule-tasks-for-db!) database)
     (catch Throwable e
-      (log/error "Error unscheduling tasks for DB:" (.getMessage e) "\n"
-                 (u/pprint-to-str (u/filtered-stacktrace e))))))
+      (log/error e (trs "Error unscheduling tasks for DB.")))))
 
-(defn- post-insert [{database-id :id, :as database}]
+(defn- post-insert [database]
   (u/prog1 database
-    ;; add this database to the all users and metabot permissions groups
-    (doseq [{group-id :id} [(perm-group/all-users)
-                            (perm-group/metabot)]]
-      (perms/grant-full-db-permissions! group-id database-id))
-    ;; schedule the Database sync tasks
+    ;; add this database to the All Users permissions groups
+    (perms/grant-full-db-permissions! (perm-group/all-users) database)
+    ;; schedule the Database sync & analyze tasks
     (schedule-tasks! database)))
 
 (defn- post-select [{driver :engine, :as database}]
-  ;; TODO - this is only really needed for API responses
+  ;; TODO - this is only really needed for API responses. This should be a `hydrate` thing instead!
   (cond-> database
     (driver/initialized? driver) (assoc :features (driver.u/features driver))))
 
@@ -83,25 +80,32 @@
   (driver/notify-database-updated driver database))
 
 ;; TODO - this logic would make more sense in post-update if such a method existed
-(defn- pre-update [{new-metadata-schedule :metadata_sync_schedule, new-fieldvalues-schedule :cache_field_values_schedule, :as database}]
+(defn- pre-update
+  [{new-metadata-schedule :metadata_sync_schedule, new-fieldvalues-schedule :cache_field_values_schedule, :as database}]
   (u/prog1 database
     ;; if the sync operation schedules have changed, we need to reschedule this DB
     (when (or new-metadata-schedule new-fieldvalues-schedule)
       (let [{old-metadata-schedule    :metadata_sync_schedule
-             old-fieldvalues-schedule :cache_field_values_schedule} (db/select-one [Database :metadata_sync_schedule :cache_field_values_schedule]
+             old-fieldvalues-schedule :cache_field_values_schedule} (db/select-one [Database
+                                                                                    :metadata_sync_schedule
+                                                                                    :cache_field_values_schedule]
                                                                       :id (u/get-id database))
             ;; if one of the schedules wasn't passed continue using the old one
             new-metadata-schedule    (or new-metadata-schedule old-metadata-schedule)
             new-fieldvalues-schedule (or new-fieldvalues-schedule old-fieldvalues-schedule)]
-        (when (or (not= new-metadata-schedule old-metadata-schedule)
-                  (not= new-fieldvalues-schedule old-fieldvalues-schedule))
-          (log/info "DB's schedules have changed!\n"
-                    (format "Sync metadata was: '%s', is now: '%s'\n" old-metadata-schedule new-metadata-schedule)
-                    (format "Cache FieldValues was: '%s', is now: '%s'\n" old-fieldvalues-schedule new-fieldvalues-schedule))
+        (when-not (= [new-metadata-schedule new-fieldvalues-schedule]
+                     [old-metadata-schedule old-fieldvalues-schedule])
+          (log/info
+           (trs "{0} Database ''{1}'' sync/analyze schedules have changed!" (:engine database) (:name database))
+           "\n"
+           (trs "Sync metadata was: ''{0}'' is now: ''{1}''" old-metadata-schedule new-metadata-schedule)
+           "\n"
+           (trs "Cache FieldValues was: ''{0}'', is now: ''{1}''" old-fieldvalues-schedule new-fieldvalues-schedule))
           ;; reschedule the database. Make sure we're passing back the old schedule if one of the two wasn't supplied
-          (schedule-tasks! (assoc database
-                             :metadata_sync_schedule      new-metadata-schedule
-                             :cache_field_values_schedule new-fieldvalues-schedule)))))))
+          (schedule-tasks!
+           (assoc database
+             :metadata_sync_schedule      new-metadata-schedule
+             :cache_field_values_schedule new-fieldvalues-schedule)))))))
 
 
 (defn- perms-objects-set [database _]
diff --git a/src/metabase/models/interface.clj b/src/metabase/models/interface.clj
index f05d16685ec236208100765ddba9a9bd5e17f15d..0f506492eecfdf7fcc0222021379ea94817b2f33 100644
--- a/src/metabase/models/interface.clj
+++ b/src/metabase/models/interface.clj
@@ -203,11 +203,26 @@
      *  `superuser?`
      *  `(partial current-user-has-full-permissions? :write)` (you must also implement `perms-objects-set` to use this)
      *  `(partial current-user-has-partial-permissions? :write)` (you must also implement `perms-objects-set` to use
-        this)"))
+        this)")
+
+  (^{:added "0.32.0"} can-create? ^Boolean [entity m]
+    "NEW! Check whether or not current user is allowed to CREATE a new instance of `entity` with properties in map
+    `m`.
+
+    Because this method was added YEARS after `can-read?` and `can-write?`, most models do not have an implementation
+    for this method, and instead `POST` API endpoints themselves contain the appropriate permissions logic (ick).
+    Implement this method as you come across models that are missing it."))
 
 (def IObjectPermissionsDefaults
   "Default implementations for `IObjectPermissions`."
-  {:perms-objects-set (constantly nil)})
+  {:perms-objects-set
+   (constantly nil)
+
+   :can-create?
+   (fn [entity _]
+     (throw
+      (NoSuchMethodException.
+       (format "%s does not yet have an implementation for `can-create?`. Feel free to add one!" (name entity)))))})
 
 (defn superuser?
   "Is `*current-user*` is a superuser? Ignores args.
diff --git a/src/metabase/models/metric.clj b/src/metabase/models/metric.clj
index bcdb2df54c6597d97d00f4ef8bd0102d803640c8..9b6664d3668b26bf08cf5b8aaab1befaf256d49a 100644
--- a/src/metabase/models/metric.clj
+++ b/src/metabase/models/metric.clj
@@ -3,14 +3,16 @@
   It is passed in as an `:aggregation` clause but is replaced by the `expand-macros` middleware with the appropriate
   clauses."
   (:require [medley.core :as m]
-            [metabase
-             [events :as events]
-             [util :as u]]
             [metabase.mbql.util :as mbql.u]
             [metabase.models
              [dependency :as dependency]
              [interface :as i]
              [revision :as revision]]
+            [metabase.util :as u]
+            [metabase.util
+             [i18n :refer [tru]]
+             [schema :as su]]
+            [schema.core :as s]
             [toucan
              [db :as db]
              [hydrate :refer [hydrate]]
@@ -18,25 +20,38 @@
 
 (models/defmodel Metric :metric)
 
+(defn- pre-update [{:keys [creator_id id], :as updates}]
+  (u/prog1 updates
+    ;; throw an Exception if someone tries to update creator_id
+    (when (contains? updates :creator_id)
+      (when (not= creator_id (db/select-one-field :creator_id Metric :id id))
+        (throw (UnsupportedOperationException. (str (tru "You cannot update the creator_id of a Metric."))))))))
+
 (defn- pre-delete [{:keys [id]}]
   (db/delete! 'MetricImportantField :metric_id id))
 
 (defn- perms-objects-set [metric read-or-write]
   (let [table (or (:table metric)
-                  (db/select-one ['Table :db_id :schema :id] :id (:table_id metric)))]
+                  (db/select-one ['Table :db_id :schema :id] :id (u/get-id (:table_id metric))))]
     (i/perms-objects-set table read-or-write)))
 
 (u/strict-extend (class Metric)
   models/IModel
-  (merge models/IModelDefaults
-         {:types      (constantly {:definition :metric-segment-definition, :description :clob})
-          :properties (constantly {:timestamped? true})
-          :pre-delete pre-delete})
+  (merge
+   models/IModelDefaults
+   {:types      (constantly {:definition :metric-segment-definition, :description :clob})
+    :properties (constantly {:timestamped? true})
+    :pre-delete pre-delete
+    :pre-update pre-update})
   i/IObjectPermissions
-  (merge i/IObjectPermissionsDefaults
-         {:perms-objects-set perms-objects-set
-          :can-read?         (partial i/current-user-has-full-permissions? :read)
-          :can-write?        (partial i/current-user-has-full-permissions? :write)}))
+  (merge
+   i/IObjectPermissionsDefaults
+   {:perms-objects-set perms-objects-set
+    :can-read?         (partial i/current-user-has-full-permissions? :read)
+    ;; for the time being you need to be a superuser in order to create or update Metrics because the UI for doing so
+    ;; is only exposed in the admin panel
+    :can-write?        i/superuser?
+    :can-create?       i/superuser?}))
 
 
 ;;; --------------------------------------------------- REVISIONS ----------------------------------------------------
@@ -79,86 +94,20 @@
   {:dependencies metric-dependencies})
 
 
-;; ## Persistence Functions
-
-(defn create-metric!
-  "Create a new Metric.
-
-   Returns the newly created Metric or throws an Exception."
-  [table-id metric-name description creator-id definition]
-  {:pre [(integer? table-id)
-         (string? metric-name)
-         (integer? creator-id)
-         (map? definition)]}
-  (let [metric (db/insert! Metric
-                 :table_id    table-id
-                 :creator_id  creator-id
-                 :name        metric-name
-                 :description description
-                 :definition  definition)]
-    (-> (events/publish-event! :metric-create metric)
-        (hydrate :creator))))
-
-(defn exists?
-  "Does an *active* Metric with ID exist?"
-  ^Boolean [id]
-  {:pre [(integer? id)]}
-  (db/exists? Metric :id id, :archived false))
-
-(defn retrieve-metric
-  "Fetch a single Metric by its ID value. Hydrates its `:creator`."
-  [id]
-  {:pre [(integer? id)]}
-  (-> (Metric id)
-      (hydrate :creator)))
-
-(defn retrieve-metrics
+;;; ----------------------------------------------------- OTHER ------------------------------------------------------
+
+(s/defn retrieve-metrics :- [MetricInstance]
   "Fetch all `Metrics` for a given `Table`. Optional second argument allows filtering by active state by providing one
   of 3 keyword values: `:active`, `:deleted`, `:all`. Default filtering is for `:active`."
-  ([table-id]
+  ([table-id :- su/IntGreaterThanZero]
    (retrieve-metrics table-id :active))
-  ([table-id state]
-   {:pre [(integer? table-id) (keyword? state)]}
+
+  ([table-id :- su/IntGreaterThanZero, state :- (s/enum :all :active :deleted)]
    (-> (db/select Metric
          {:where    [:and [:= :table_id table-id]
-                          (case state
-                            :all     true
-                            :active  [:= :archived false]
-                            :deleted [:= :archived true])]
+                     (case state
+                       :all     true
+                       :active  [:= :archived false]
+                       :deleted [:= :archived true])]
           :order-by [[:name :asc]]})
        (hydrate :creator))))
-
-(defn update-metric!
-  "Update an existing Metric.
-
-   Returns the updated Metric or throws an Exception."
-  [{:keys [id name definition revision_message], :as body} user-id]
-  {:pre [(integer? id)
-         (string? name)
-         (map? definition)
-         (integer? user-id)
-         (string? revision_message)]}
-  ;; update the metric itself
-  (db/update! Metric id
-    (select-keys body #{:caveats :definition :description :how_is_this_calculated :name :points_of_interest
-                        :show_in_getting_started}))
-  (u/prog1 (retrieve-metric id)
-    (events/publish-event! :metric-update (assoc <> :actor_id user-id, :revision_message revision_message))))
-
-;; TODO - rename to `delete!`
-(defn delete-metric!
-  "Delete a Metric.
-
-  This does a soft delete and simply marks the Metric as deleted but does not actually remove the record from the
-  database at any time.
-
-  Returns the final state of the Metric is successful, or throws an Exception."
-  [id user-id revision-message]
-  {:pre [(integer? id)
-         (integer? user-id)
-         (string? revision-message)]}
-  ;; make Metric not active
-  (db/update! Metric id, :archived true)
-  ;; retrieve the updated metric (now retired)
-  (u/prog1 (retrieve-metric id)
-    (events/publish-event! :metric-delete (assoc <> :actor_id user-id, :revision_message revision-message))))
diff --git a/src/metabase/models/permissions.clj b/src/metabase/models/permissions.clj
index f9012eb4458ff0b4f8bbbf250e4a3ba5e7fbc80e..1a04b08fbfbdd1b986d4251a6727301f90f94bae 100644
--- a/src/metabase/models/permissions.clj
+++ b/src/metabase/models/permissions.clj
@@ -15,7 +15,7 @@
              [permissions-revision :as perms-revision :refer [PermissionsRevision]]]
             [metabase.util
              [honeysql-extensions :as hx]
-             [i18n :as ui18n :refer [tru]]
+             [i18n :as ui18n :refer [trs tru]]
              [schema :as su]]
             [schema.core :as s]
             [toucan
@@ -38,25 +38,22 @@
    prevent accidental tragedy, but you can enable it here when creating the default entry for `Admin`."
   false)
 
-(def segmented-perm-regex
-  "Regex that matches a segmented permission"
-  #"^/db/(\d+)/schema/([^\\/]*)/table/(\d+)/query/segmented/$")
 
 ;;; --------------------------------------------------- Validation ---------------------------------------------------
 
 (def ^:private ^:const valid-object-path-patterns
-  [#"^/db/(\d+)/$"                                    ; permissions for the entire DB -- native and all schemas
-   #"^/db/(\d+)/native/$"                             ; permissions to create new native queries for the DB
-   #"^/db/(\d+)/schema/$"                             ; permissions for all schemas in the DB
-   #"^/db/(\d+)/schema/([^/]*)/$"                   ; permissions for a specific schema
-   #"^/db/(\d+)/schema/([^/]*)/table/(\d+)/$"       ; FULL permissions for a specific table
-   #"^/db/(\d+)/schema/([^/]*)/table/(\d+)/read/$"  ; Permissions to fetch the Metadata for a specific Table
-   #"^/db/(\d+)/schema/([^/]*)/table/(\d+)/query/$" ; Permissions to run any sort of query against a Table
-   segmented-perm-regex                               ; Permissions to run a query against a Table using GTAP
-   #"^/collection/(\d+)/$"                            ; readwrite permissions for a collection
-   #"^/collection/(\d+)/read/$"                       ; read permissions for a collection
-   #"^/collection/root/$"          ; readwrite permissions for the 'Root' Collection (things with `nil` collection_id)
-   #"^/collection/root/read/$"])   ; read permissions for the 'Root' Collection
+  [#"^/db/(\d+)/$"                                              ; permissions for the entire DB -- native and all schemas
+   #"^/db/(\d+)/native/$"                                       ; permissions to create new native queries for the DB
+   #"^/db/(\d+)/schema/$"                                       ; permissions for all schemas in the DB
+   #"^/db/(\d+)/schema/([^/]*)/$"                               ; permissions for a specific schema
+   #"^/db/(\d+)/schema/([^/]*)/table/(\d+)/$"                   ; FULL permissions for a specific table
+   #"^/db/(\d+)/schema/([^/]*)/table/(\d+)/read/$"              ; Permissions to fetch the Metadata for a specific Table
+   #"^/db/(\d+)/schema/([^/]*)/table/(\d+)/query/$"             ; Permissions to run any sort of query against a Table
+   #"^/db/(\d+)/schema/([^\\/]*)/table/(\d+)/query/segmented/$" ; Permissions to run a query against a Table using GTAP
+   #"^/collection/(\d+)/$"                                      ; readwrite permissions for a collection
+   #"^/collection/(\d+)/read/$"                                 ; read permissions for a collection
+   #"^/collection/root/$"                                       ; readwrite permissions for the 'Root' Collection (things with `nil` collection_id)
+   #"^/collection/root/read/$"])                                ; read permissions for the 'Root' Collection
 
 (defn valid-object-path?
   "Does OBJECT-PATH follow a known, allowed format to an *object*?
@@ -95,12 +92,23 @@
     (throw (ui18n/ex-info (tru "Invalid permissions object path: ''{0}''." object)
              {:status-code 400}))))
 
+(defn- assert-valid-metabot-permissions
+  "MetaBot permissions can only be created for Collections, since MetaBot can only interact with objects that are always
+  in Collections (such as Cards)."
+  [{:keys [object group_id]}]
+  (when (and (= group_id (:id (group/metabot)))
+             (not (str/starts-with? object "/collection/")))
+    (throw (ui18n/ex-info (tru "MetaBot can only have Collection permissions.")
+             {:status-code 400}))))
+
 (defn- assert-valid
   "Check to make sure this PERMISSIONS entry is something that's allowed to be saved (i.e. it has a valid `:object`
    path and it's not for the admin group)."
   [permissions]
-  (assert-not-admin-group permissions)
-  (assert-valid-object permissions))
+  (doseq [f [assert-not-admin-group
+             assert-valid-object
+             assert-valid-metabot-permissions]]
+    (f permissions)))
 
 
 ;;; ------------------------------------------------- Path Util Fns --------------------------------------------------
@@ -256,6 +264,10 @@
 ;;; |                                                  GRAPH SCHEMA                                                  |
 ;;; +----------------------------------------------------------------------------------------------------------------+
 
+;; TODO - there is so much stuff related to the perms graph I think we should really move it into a separate
+;; `metabase.models.permissions-graph.data` namespace or something and move the collections graph from
+;; `metabase.models.collection` to `metabase.models.permissions-graph.collection` (?)
+
 (def ^:private TablePermissionsGraph
   (s/enum :none :all))
 
@@ -351,12 +363,12 @@
 
 ;; TODO - if a DB has no tables, then it won't show up in the permissions graph!
 (s/defn graph :- PermissionsGraph
-  "Fetch a graph representing the current permissions status for every group and all permissioned databases."
+  "Fetch a graph representing the current permissions status for every Group and all permissioned databases."
   []
-  (let [permissions (db/select [Permissions :group_id :object])
+  (let [permissions (db/select [Permissions :group_id :object], :group_id [:not= (:id (group/metabot))])
         tables      (group-by :db_id (db/select ['Table :schema :id :db_id]))]
     {:revision (perms-revision/latest-id)
-     :groups   (into {} (for [group-id (db/select-ids 'PermissionsGroup)]
+     :groups   (into {} (for [group-id (db/select-ids 'PermissionsGroup, :id [:not= (:id (group/metabot))])]
                           (let [group-permissions-set (set (for [perms permissions
                                                                  :when (= (:group_id perms) group-id)]
                                                              (:object perms)))]
@@ -426,7 +438,7 @@
        :object   path)
      ;; on some occasions through weirdness we might accidentally try to insert a key that's already been inserted
      (catch Throwable e
-       (log/error (u/format-color 'red (tru "Failed to grant permissions: {0}" (.getMessage e))))
+       (log/error e (u/format-color 'red (tru "Failed to grant permissions")))
        ;; if we're running tests, we're doing something wrong here if duplicate permissions are getting assigned,
        ;; mostly likely because tests aren't properly cleaning up after themselves, and possibly causing other tests
        ;; to pass when they shouldn't. Don't allow this during tests
@@ -435,32 +447,32 @@
 
 (defn revoke-native-permissions!
   "Revoke all native query permissions for `group-or-id` to database with `database-id`."
-  [group-or-id database-id]
-  (delete-related-permissions! group-or-id (adhoc-native-query-path database-id)))
+  [group-or-id database-or-id]
+  (delete-related-permissions! group-or-id (adhoc-native-query-path database-or-id)))
 
 (defn grant-native-readwrite-permissions!
   "Grant full readwrite permissions for `group-or-id` to database with `database-id`."
-  [group-or-id database-id]
-  (grant-permissions! group-or-id (adhoc-native-query-path database-id)))
+  [group-or-id database-or-id]
+  (grant-permissions! group-or-id (adhoc-native-query-path database-or-id)))
 
 (defn revoke-db-schema-permissions!
   "Remove all permissions entires for a DB and *any* child objects.
    This does *not* revoke native permissions; use `revoke-native-permssions!` to do that."
-  [group-or-id database-id]
+  [group-or-id database-or-id]
   ;; TODO - if permissions for this DB are DB root entries like `/db/1/` won't this end up removing our native perms?
-  (delete-related-permissions! group-or-id (object-path database-id)
-    [:not= :object (adhoc-native-query-path database-id)]))
+  (delete-related-permissions! group-or-id (object-path database-or-id)
+    [:not= :object (adhoc-native-query-path database-or-id)]))
 
-(s/defn grant-permissions-for-all-schemas!
+(defn grant-permissions-for-all-schemas!
   "Grant full permissions for all schemas belonging to this database.
    This does *not* grant native permissions; use `grant-native-readwrite-permissions!` to do that."
-  [group-id :- su/IntGreaterThanZero, database-id :- su/IntGreaterThanZero]
-  (grant-permissions! group-id (all-schemas-path database-id)))
+  [group-or-id database-or-id]
+  (grant-permissions! group-or-id (all-schemas-path database-or-id)))
 
-(s/defn grant-full-db-permissions!
+(defn grant-full-db-permissions!
   "Grant full access to the database, including all schemas and readwrite native access."
-  [group-id :- su/IntGreaterThanZero, database-id :- su/IntGreaterThanZero]
-  (grant-permissions! group-id (object-path database-id)))
+  [group-or-id database-or-id]
+  (grant-permissions! group-or-id (object-path database-or-id)))
 
 (defn- check-not-personal-collection-or-descendant
   "Check whether `collection-or-id` refers to a Personal Collection; if so, throw an Exception. This is done because we
@@ -580,9 +592,10 @@
 (defn log-permissions-changes
   "Log changes to the permissions graph."
   [old new]
-  (log/debug (format "Changing permissions: 🔏\nFROM:\n%s\nTO:\n%s\n"
-                     (u/pprint-to-str 'magenta old)
-                     (u/pprint-to-str 'blue new))))
+  (log/debug
+   (trs "Changing permissions")
+   "\n" (trs "FROM:") (u/pprint-to-str 'magenta old)
+   "\n" (trs "TO:")   (u/pprint-to-str 'blue    new)))
 
 (s/defn update-graph!
   "Update the permissions graph, making any changes necessary to make it match NEW-GRAPH.
diff --git a/src/metabase/models/permissions_group_membership.clj b/src/metabase/models/permissions_group_membership.clj
index 83bf95456c4c91de6e0837dbcc5bc11dc71d0a59..2383bf56b045995b0eeb74185a533e5d5b7a2bdf 100644
--- a/src/metabase/models/permissions_group_membership.clj
+++ b/src/metabase/models/permissions_group_membership.clj
@@ -15,9 +15,9 @@
     (throw (ui18n/ex-info (tru "You cannot add or remove users to/from the ''MetaBot'' group.")
              {:status-code 400}))))
 
-(def ^:dynamic ^Boolean *allow-changing-all-users-group-members*
-  "Should we allow people to be added to or removed from the All Users permissions group?
-   By default, this is `false`, but enable it when adding or deleting users."
+(defonce ^:dynamic ^{:doc "Should we allow people to be added to or removed from the All Users permissions group? By
+  default, this is `false`, but enable it when adding or deleting users."}
+  *allow-changing-all-users-group-members*
   false)
 
 (defn- check-not-all-users-group
@@ -53,7 +53,8 @@
 
 (defn- post-insert [{:keys [group_id user_id], :as membership}]
   (u/prog1 membership
-    ;; If we're adding a user to the admin group, set athe `:is_superuser` flag for the user to whom membership was granted
+    ;; If we're adding a user to the admin group, set the `:is_superuser` flag for the user to whom membership was
+    ;; granted
     (when (= group_id (:id (group/admin)))
       (db/update! 'User user_id
         :is_superuser true))))
diff --git a/src/metabase/models/pulse.clj b/src/metabase/models/pulse.clj
index dfbaa58973200388e75c793df9c994c038e3c491..2a19275166603a5b9b963d589612f59a1cfb1a25 100644
--- a/src/metabase/models/pulse.clj
+++ b/src/metabase/models/pulse.clj
@@ -69,14 +69,18 @@
 
 (u/strict-extend (class Pulse)
   models/IModel
-  (merge models/IModelDefaults
-         {:hydration-keys (constantly [:pulse])
-          :properties     (constantly {:timestamped? true})
-          :pre-delete     pre-delete})
+  (merge
+   models/IModelDefaults
+   {:hydration-keys (constantly [:pulse])
+    :properties     (constantly {:timestamped? true})
+    :pre-delete     pre-delete})
   i/IObjectPermissions
-  {:can-read?         (partial i/current-user-has-full-permissions? :read)
-   :can-write?        (partial i/current-user-has-full-permissions? :write)
-   :perms-objects-set perms-objects-set})
+  (merge
+   i/IObjectPermissionsDefaults
+   {:can-read?         (partial i/current-user-has-full-permissions? :read)
+    :can-write?        (partial i/current-user-has-full-permissions? :write)
+    :perms-objects-set perms-objects-set}))
+
 
 ;;; ---------------------------------------------------- Schemas -----------------------------------------------------
 
diff --git a/src/metabase/models/revision.clj b/src/metabase/models/revision.clj
index 35663b0fa02757ff84f13668fcf05732c46ea255..316cb6d5a363669b4ada870ebf9bccc50272aa58 100644
--- a/src/metabase/models/revision.clj
+++ b/src/metabase/models/revision.clj
@@ -134,6 +134,7 @@
   [& {object :object,
       :keys [entity id user-id is-creation? message],
       :or {id (:id object), is-creation? false}}]
+  ;; TODO - rewrite this to use a schema
   {:pre [(models/model? entity)
          (integer? user-id)
          (db/exists? User :id user-id)
diff --git a/src/metabase/models/segment.clj b/src/metabase/models/segment.clj
index e792a21a989744bb58424e3aeb75902f2e3fc6b5..ec81b2f69f30e01c945373d228324ad978dec067 100644
--- a/src/metabase/models/segment.clj
+++ b/src/metabase/models/segment.clj
@@ -2,12 +2,14 @@
   "A Segment is a saved MBQL 'macro', expanding to a `:filter` subclause. It is passed in as a `:filter` subclause but is
   replaced by the `expand-macros` middleware with the appropriate clauses."
   (:require [medley.core :as m]
-            [metabase
-             [events :as events]
-             [util :as u]]
             [metabase.models
              [interface :as i]
              [revision :as revision]]
+            [metabase.util :as u]
+            [metabase.util
+             [i18n :refer [tru]]
+             [schema :as su]]
+            [schema.core :as s]
             [toucan
              [db :as db]
              [hydrate :refer [hydrate]]
@@ -15,26 +17,38 @@
 
 (models/defmodel Segment :segment)
 
+(defn- pre-update [{:keys [creator_id id], :as updates}]
+  (u/prog1 updates
+    ;; throw an Exception if someone tries to update creator_id
+    (when (contains? updates :creator_id)
+      (when (not= creator_id (db/select-one-field :creator_id Segment :id id))
+        (throw (UnsupportedOperationException. (str (tru "You cannot update the creator_id of a Segment."))))))))
+
 (defn- perms-objects-set [segment read-or-write]
   (let [table (or (:table segment)
-                  (db/select-one ['Table :db_id :schema :id] :id (:table_id segment)))]
+                  (db/select-one ['Table :db_id :schema :id] :id (u/get-id (:table_id segment))))]
     (i/perms-objects-set table read-or-write)))
 
 (u/strict-extend (class Segment)
   models/IModel
-  (merge models/IModelDefaults
-         {:types          (constantly {:definition :metric-segment-definition, :description :clob})
-          :properties     (constantly {:timestamped? true})
-          :hydration-keys (constantly [:segment])})
+  (merge
+   models/IModelDefaults
+   {:types          (constantly {:definition :metric-segment-definition, :description :clob})
+    :properties     (constantly {:timestamped? true})
+    :hydration-keys (constantly [:segment])
+    :pre-update     pre-update})
   i/IObjectPermissions
-  (merge i/IObjectPermissionsDefaults
-         {:perms-objects-set perms-objects-set
-          :can-read?         (partial i/current-user-has-full-permissions? :read)
-          :can-write?        (partial i/current-user-has-full-permissions? :write)}))
-
+  (merge
+   i/IObjectPermissionsDefaults
+   {:perms-objects-set perms-objects-set
+    :can-read?         (partial i/current-user-has-full-permissions? :read)
+    ;; for the time being you need to be a superuser in order to create or update Segments because the UI for
+    ;; doing so is only exposed in the admin panel
+    :can-write?        i/superuser?
+    :can-create?       i/superuser?}))
 
-;;; ## ---------------------------------------- REVISIONS ----------------------------------------
 
+;;; --------------------------------------------------- Revisions ----------------------------------------------------
 
 (defn- serialize-segment [_ _ instance]
   (dissoc instance :created_at :updated_at))
@@ -57,88 +71,22 @@
 
 (u/strict-extend (class Segment)
   revision/IRevisioned
-  (merge revision/IRevisionedDefaults
-         {:serialize-instance serialize-segment
-          :diff-map           diff-segments}))
-
-
-;; ## Persistence Functions
-
-(defn create-segment!
-  "Create a new `Segment`.
+  (merge
+   revision/IRevisionedDefaults
+   {:serialize-instance serialize-segment
+    :diff-map           diff-segments}))
 
-   Returns the newly created `Segment` or throws an Exception."
-  [table-id segment-name description creator-id definition]
-  {:pre [(integer? table-id)
-         (string? segment-name)
-         (integer? creator-id)
-         (map? definition)]}
-  (let [segment (db/insert! Segment
-                  :table_id    table-id
-                  :creator_id  creator-id
-                  :name        segment-name
-                  :description description
-                  :definition  definition)]
-    (-> (events/publish-event! :segment-create segment)
-        (hydrate :creator))))
 
-(defn exists?
-  "Does an *active* `Segment` with ID exist?"
-  ^Boolean [id]
-  {:pre [(integer? id)]}
-  (db/exists? Segment, :id id, :archived false))
+;;; ------------------------------------------------------ Etc. ------------------------------------------------------
 
-(defn retrieve-segment
-  "Fetch a single `Segment` by its ID value. Hydrates the Segment's `:creator`."
-  [id]
-  {:pre [(integer? id)]}
-  (-> (Segment id)
-      (hydrate :creator)))
+(s/defn retrieve-segments :- [SegmentInstance]
+  "Fetch all `Segments` for a given `Table`. Optional second argument allows filtering by active state by providing
+   one of 3 keyword values: `:active`, `:deleted`, `:all`. Default filtering is for `:active`."
+  ([table-id :- su/IntGreaterThanZero]
+   (retrieve-segments table-id :active))
 
-(defn retrieve-segments
-  "Fetch all `Segments` for a given `Table`.  Optional second argument allows filtering by active state by
-   providing one of 3 keyword values: `:active`, `:deleted`, `:all`.  Default filtering is for `:active`."
-  ([table-id]
-    (retrieve-segments table-id :active))
-  ([table-id state]
-   {:pre [(integer? table-id) (keyword? state)]}
+  ([table-id :- su/IntGreaterThanZero state :- (s/enum :active :deleted :all)]
    (-> (if (= :all state)
          (db/select Segment, :table_id table-id, {:order-by [[:name :asc]]})
          (db/select Segment, :table_id table-id, :archived (= :deleted state), {:order-by [[:name :asc]]}))
        (hydrate :creator))))
-
-(defn update-segment!
-  "Update an existing `Segment`.
-   Returns the updated `Segment` or throws an Exception."
-  [{:keys [id name description caveats points_of_interest show_in_getting_started definition revision_message]
-    :as   body}
-   user-id]
-  {:pre [(integer? id)
-         (string? name)
-         (map? definition)
-         (integer? user-id)
-         (string? revision_message)]}
-  ;; update the segment itself
-  (db/update! Segment id
-    (u/select-keys-when body
-      :present #{:name :description :caveats :definition}
-      :non-nil #{:points_of_interest :show_in_getting_started}))
-  (u/prog1 (retrieve-segment id)
-    (events/publish-event! :segment-update (assoc <> :actor_id user-id, :revision_message revision_message))))
-
-(defn delete-segment!
-  "Delete a `Segment`.
-
-   This does a soft delete and simply marks the `Segment` as deleted but does not actually remove the
-   record from the database at any time.
-
-   Returns the final state of the `Segment` is successful, or throws an Exception."
-  [id user-id revision-message]
-  {:pre [(integer? id)
-         (integer? user-id)
-         (string? revision-message)]}
-  ;; make Segment not active
-  (db/update! Segment id, :archived true)
-  ;; retrieve the updated segment (now retired)
-  (u/prog1 (retrieve-segment id)
-    (events/publish-event! :segment-delete (assoc <> :actor_id user-id, :revision_message revision-message))))
diff --git a/src/metabase/models/setting.clj b/src/metabase/models/setting.clj
index 2b7213bd0bace7e7e240f3378e832b8bc6392924..836f659b2982973b474dcaf7473ec10024060427 100644
--- a/src/metabase/models/setting.clj
+++ b/src/metabase/models/setting.clj
@@ -33,18 +33,14 @@
             [clojure
              [core :as core]
              [string :as str]]
-            [clojure.core.memoize :as memoize]
-            [clojure.java.jdbc :as jdbc]
             [clojure.tools.logging :as log]
             [environ.core :as env]
-            [honeysql.core :as hsql]
             [metabase
-             [db :as mdb]
              [events :as events]
              [util :as u]]
+            [metabase.models.setting.cache :as cache]
             [metabase.util
              [date :as du]
-             [honeysql-extensions :as hx]
              [i18n :as ui18n :refer [trs tru]]]
             [schema.core :as s]
             [toucan
@@ -81,6 +77,7 @@
    :getter      clojure.lang.IFn ; different getters/setters take care of parsing/unparsing
    :setter      clojure.lang.IFn
    :tag         (s/maybe Class)  ; type annotation, e.g. ^String, to be applied. Defaults to tag based on :type
+   :sensitive?  s/Bool           ; is this sensitive (never show in plaintext), like a password? (default: false)
    :internal?   s/Bool           ; should the API never return this setting? (default: false)
    :cache?      s/Bool})         ; should the getter always fetch this value "fresh" from the DB? (default: false)
 
@@ -98,128 +95,6 @@
                   (str (tru "Setting {0} does not exist.\nFound: {1}" k (sort (keys @registered-settings))))))))))
 
 
-;;; +----------------------------------------------------------------------------------------------------------------+
-;;; |                                                     cache                                                      |
-;;; +----------------------------------------------------------------------------------------------------------------+
-
-;; Cache is a 1:1 mapping of what's in the DB
-;; Cached lookup time is ~60µs, compared to ~1800µs for DB lookup
-
-(def ^:private cache
-  "Settings cache. Map of Setting key (string) -> Setting value (string)."
-  (atom nil))
-
-;; CACHE SYNCHRONIZATION
-;;
-;; When running multiple Metabase instances (horizontal scaling), it is of course possible for one instance to update
-;; a Setting, and, since Settings are cached (to avoid tons of DB calls), for the other instances to then have an
-;; out-of-date cache. Thus we need a way for instances to know when their caches are out of date, so they can update
-;; them accordingly. Here is our solution:
-;;
-;; We will record the last time *any* Setting was updated in a special Setting called `settings-last-updated`.
-;;
-;; Since `settings-last-updated` itself is a Setting, it will get fetched as part of each instance's local cache; we
-;; can then periodically compare the locally cached value of `settings-last-updated` with the value in the DB. If our
-;; locally cached value is older than the one in the DB, we will flush our cache. When the cache is fetched again, it
-;; will have the up-to-date value.
-;;
-;; Because different machines can have out-of-sync clocks, we'll rely entirely on the application DB for caclulating
-;; and comparing values of `settings-last-updated`. Because the Setting table itself only stores text values, we'll
-;; need to cast it between TEXT and TIMESTAMP SQL types as needed.
-
-(def ^:private ^String settings-last-updated-key "settings-last-updated")
-
-(defn- update-settings-last-updated!
-  "Update the value of `settings-last-updated` in the DB; if the row does not exist, insert one."
-  []
-  (log/debug (trs "Updating value of settings-last-updated in DB..."))
-  ;; for MySQL, cast(current_timestamp AS char); for H2 & Postgres, cast(current_timestamp AS text)
-  (let [current-timestamp-as-string-honeysql (hx/cast (if (= (mdb/db-type) :mysql) :char :text)
-                                                      (hsql/raw "current_timestamp"))]
-    ;; attempt to UPDATE the existing row. If no row exists, `update-where!` will return false...
-    (or (db/update-where! Setting {:key settings-last-updated-key} :value current-timestamp-as-string-honeysql)
-        ;; ...at which point we will try to INSERT a new row. Note that it is entirely possible two instances can both
-        ;; try to INSERT it at the same time; one instance would fail because it would violate the PK constraint on
-        ;; `key`, and throw a SQLException. As long as one instance updates the value, we are fine, so we can go ahead
-        ;; and ignore that Exception if one is thrown.
-        (try
-          ;; Use `simple-insert!` because we do *not* want to trigger pre-insert behavior, such as encrypting `:value`
-          (db/simple-insert! Setting :key settings-last-updated-key, :value current-timestamp-as-string-honeysql)
-          (catch java.sql.SQLException e
-            ;; go ahead and log the Exception anyway on the off chance that it *wasn't* just a race condition issue
-            (log/error (trs "Error inserting a new Setting: {0}"
-                            (with-out-str (jdbc/print-sql-exception-chain e))))))))
-  ;; Now that we updated the value in the DB, go ahead and update our cached value as well, because we know about the
-  ;; changes
-  (swap! cache assoc settings-last-updated-key (db/select-one-field :value Setting :key settings-last-updated-key)))
-
-(defn- cache-out-of-date?
-  "Check whether our Settings cache is out of date. We know the cache is out of date if either of the following
-  conditions is true:
-
-   *  The cache is empty (the `cache` atom is `nil`), which of course means it needs to be updated
-   *  There is a value of `settings-last-updated` in the cache, and it is older than the value of in the DB. (There
-      will be no value until the first time a normal Setting is updated; thus if it is not yet set, we do not yet need
-      to invalidate our cache.)"
-  []
-  (log/debug (trs "Checking whether settings cache is out of date (requires DB call)..."))
-  (boolean
-   (or
-    ;; is the cache empty?
-    (not @cache)
-    ;; if not, get the cached value of `settings-last-updated`, and if it exists...
-    (when-let [last-known-update (core/get @cache settings-last-updated-key)]
-      ;; compare it to the value in the DB. This is done be seeing whether a row exists
-      ;; WHERE value > <local-value>
-      (u/prog1 (db/select-one Setting
-                 {:where [:and
-                          [:= :key settings-last-updated-key]
-                          [:> :value last-known-update]]})
-        (when <>
-          (log/info (u/format-color 'red
-                        (str (trs "Settings have been changed on another instance, and will be reloaded here."))))))))))
-
-(def ^:private cache-update-check-interval-ms
-  "How often we should check whether the Settings cache is out of date (which requires a DB call)?"
-  ;; once a minute
-  (* 60 1000))
-
-(def ^:private ^{:arglists '([])} should-restore-cache?
-  "TTL-memoized version of `cache-out-of-date?`. Call this function to see whether we need to repopulate the cache with
-  values from the DB."
-  (memoize/ttl cache-out-of-date? :ttl/threshold cache-update-check-interval-ms))
-
-(def ^:private restore-cache-if-needed-lock (Object.))
-
-(defn- restore-cache-if-needed!
-  "Check whether we need to repopulate the cache with fresh values from the DB (because the cache is either empty or
-  known to be out-of-date), and do so if needed. This is intended to be called every time a Setting value is
-  retrieved, so it should be efficient; thus the calculation (`should-restore-cache?`) is itself TTL-memoized."
-  []
-  ;; There's a potential race condition here where two threads both call this at the exact same moment, and both get
-  ;; `true` when they call `should-restore-cache`, and then both simultaneously try to update the cache (or, one
-  ;; updates the cache, but the other calls `should-restore-cache?` and gets `true` before the other calls
-  ;; `memo-swap!` (see below))
-  ;;
-  ;; This is not desirable, since either situation would result in duplicate work. Better to just add a quick lock
-  ;; here so only one of them does it, since at any rate waiting for the other thread to finish the task in progress is
-  ;; certainly quicker than starting the task ourselves from scratch
-  (locking restore-cache-if-needed-lock
-    (when (should-restore-cache?)
-      (log/debug (trs "Refreshing Settings cache..."))
-      (reset! cache (db/select-field->field :key :value Setting))
-      ;; Now the cache is up-to-date. That is all good, but if we call `should-restore-cache?` again in a second it
-      ;; will still return `true`, because its result is memoized, and we would be on the hook to (again) update the
-      ;; cache. So go ahead and clear the memozied results for `should-restore-cache?`. The next time around when
-      ;; someone calls this it will cache the latest value (which should be `false`)
-      ;;
-      ;; NOTE: I tried using `memo-swap!` instead to set the cached response to `false` here, avoiding the extra DB
-      ;; call the next fn call would make, but it didn't seem to work correctly (I think it was still discarding the
-      ;; new value because of the TTL). So we will just stick with `memo-clear!` for now. (One extra DB call whenever
-      ;; the cache gets invalidated shouldn't be a huge deal)
-      (memoize/memo-clear! should-restore-cache?))))
-
-
 ;;; +----------------------------------------------------------------------------------------------------------------+
 ;;; |                                                      get                                                       |
 ;;; +----------------------------------------------------------------------------------------------------------------+
@@ -252,8 +127,8 @@
   (if *disable-cache*
     (db/select-one-field :value Setting :key (setting-name setting-or-name))
     (do
-      (restore-cache-if-needed!)
-      (clojure.core/get @cache (setting-name setting-or-name)))))
+      (cache/restore-cache-if-needed!)
+      (clojure.core/get (cache/cache) (setting-name setting-or-name)))))
 
 
 (defn get-string
@@ -336,7 +211,7 @@
 (defn- update-setting!
   "Update an existing Setting. Used internally by `set-string!` below; do not use directly."
   [setting-name new-value]
-  (assert (not= setting-name settings-last-updated-key)
+  (assert (not= setting-name cache/settings-last-updated-key)
     (tru "You cannot update `settings-last-updated` yourself! This is done automatically."))
   ;; This is indeed a very annoying way of having to do things, but `update-where!` doesn't call `pre-update` (in case
   ;; it updates thousands of objects). So we need to manually trigger `pre-update` behavior by calling `do-pre-update`
@@ -361,34 +236,42 @@
                    (tru "Assuming Setting already exists in DB and updating existing value."))
          (update-setting! setting-name new-value))))
 
+(defn- obfuscated-value? [v]
+  (when (seq v)
+    (boolean (re-matches #"^\*{10}.{2}$" v))))
+
 (s/defn set-string!
   "Set string value of `setting-or-name`. A `nil` or empty `new-value` can be passed to unset (i.e., delete)
   `setting-or-name`. String-type settings use this function directly; all other types ultimately call this (e.g.
   `set-boolean!` eventually calls `set-string!`). Returns the `new-value`."
   [setting-or-name, new-value :- (s/maybe s/Str)]
-  (let [new-value    (when (seq new-value)
-                       new-value)
-        setting      (resolve-setting setting-or-name)
-        setting-name (setting-name setting)]
-    (restore-cache-if-needed!)
-    ;; write to DB
-    (cond
-      (not new-value)                 (db/simple-delete! Setting :key setting-name)
-      ;; if there's a value in the cache then the row already exists in the DB; update that
-      (contains? @cache setting-name) (update-setting! setting-name new-value)
-      ;; if there's nothing in the cache then the row doesn't exist, insert a new one
-      :else                           (set-new-setting! setting-name new-value))
-    ;; update cached value
-    (if new-value
-      (swap! cache assoc  setting-name new-value)
-      (swap! cache dissoc setting-name))
-    ;; Record the fact that a Setting has been updated so eventaully other instances (if applicable) find out about it
-    ;; (For Settings that don't use the Cache, don't update the `last-updated` value, because it will cause other
-    ;; instances to do needless reloading of the cache from the DB)
-    (when-not *disable-cache*
-      (update-settings-last-updated!))
-    ;; Now return the `new-value`.
-    new-value))
+  (let [new-value                         (when (seq new-value)
+                                            new-value)
+        {:keys [sensitive?], :as setting} (resolve-setting setting-or-name)
+        obfuscated?                       (and sensitive? (obfuscated-value? new-value))
+        setting-name                      (setting-name setting)]
+    ;; if someone attempts to set a sensitive setting to an obfuscated value (probably via a misuse of the `set-many!`
+    ;; function, setting values that have not changed), ignore the change. Log a message that we are ignoring it.
+    (if obfuscated?
+      (log/info (trs "Attempted to set Setting {0} to obfuscated value. Ignoring change." setting-name))
+      (do
+        (cache/restore-cache-if-needed!)
+        ;; write to DB
+        (cond
+          (nil? new-value)                       (db/simple-delete! Setting :key setting-name)
+          ;; if there's a value in the cache then the row already exists in the DB; update that
+          (contains? (cache/cache) setting-name) (update-setting! setting-name new-value)
+          ;; if there's nothing in the cache then the row doesn't exist, insert a new one
+          :else                                  (set-new-setting! setting-name new-value))
+        ;; update cached value
+        (cache/update-cache! setting-name new-value)
+        ;; Record the fact that a Setting has been updated so eventaully other instances (if applicable) find out about it
+        ;; (For Settings that don't use the Cache, don't update the `last-updated` value, because it will cause other
+        ;; instances to do needless reloading of the cache from the DB)
+        (when-not *disable-cache*
+          (cache/update-settings-last-updated!))
+        ;; Now return the `new-value`.
+        new-value))))
 
 (defn set-boolean!
   "Set the value of boolean `setting-or-name`. `new-value` can be nil, a boolean, or a string representation of one,
@@ -461,21 +344,22 @@
    This is used internally be `defsetting`; you shouldn't need to use it yourself."
   [{setting-name :name, setting-type :type, default :default, :as setting}]
   (u/prog1 (let [setting-type         (s/validate Type (or setting-type :string))]
-             (merge {:name        setting-name
-                     :description nil
-                     :type        setting-type
-                     :default     default
-                     :getter      (partial (default-getter-for-type setting-type) setting-name)
-                     :setter      (partial (default-setter-for-type setting-type) setting-name)
-                     :tag         (default-tag-for-type setting-type)
-                     :internal?   false
-                     :cache?      true}
+             (merge
+              {:name        setting-name
+               :description nil
+               :type        setting-type
+               :default     default
+               :getter      (partial (default-getter-for-type setting-type) setting-name)
+               :setter      (partial (default-setter-for-type setting-type) setting-name)
+               :tag         (default-tag-for-type setting-type)
+               :internal?   false
+               :sensitive?  false
+               :cache?      true}
                     (dissoc setting :name :type :default)))
     (s/validate SettingDefinition <>)
     (swap! registered-settings assoc setting-name <>)))
 
 
-
 ;;; +----------------------------------------------------------------------------------------------------------------+
 ;;; |                                                defsetting macro                                                |
 ;;; +----------------------------------------------------------------------------------------------------------------+
@@ -519,16 +403,15 @@
      ;; :refer-clojure :exclude doesn't seem to work in this case
      (metabase.models.setting/set! setting new-value))))
 
-(defn- expr-of-sym? [symbols expr]
-  (when-let [first-sym (and (coll? expr)
-                            (first expr))]
-    (some #(= first-sym %) symbols)))
+(defn- is-expression? [symbols expression]
+  (when (list? expression)
+    ((set symbols) (first expression))))
 
 (defn- valid-trs-or-tru? [desc]
-  (expr-of-sym? ['trs 'tru `trs `tru] desc))
+  (is-expression? #{'trs 'tru `trs `tru} desc))
 
 (defn- valid-str-of-trs-or-tru? [maybe-str-expr]
-  (when (expr-of-sym? ['str `str] maybe-str-expr)
+  (when (is-expression? #{'str `str} maybe-str-expr)
     ;; When there are several i18n'd sentences, there will probably be a surrounding `str` invocation and a space in
     ;; between the sentences, remove those to validate the i18n clauses
     (let [exprs-without-strs (remove (every-pred string? str/blank?) (rest maybe-str-expr))]
@@ -560,20 +443,25 @@
 
    You may optionally pass any of the OPTIONS below:
 
-   *  `:default`   - The default value of the setting. (default: `nil`)
-   *  `:type`      - `:string` (default), `:boolean`, `:integer`, or `:json`. Non-`:string` settings have special
-                     default getters and setters that automatically coerce values to the correct types.
-   *  `:internal?` - This Setting is for internal use and shouldn't be exposed in the UI (i.e., not returned by the
-                      corresponding endpoints). Default: `false`
-   *  `:getter`    - A custom getter fn, which takes no arguments. Overrides the default implementation. (This can in
-                     turn call functions in this namespace like `get-string` or `get-boolean` to invoke the default
-                     getter behavior.)
-   *  `:setter`    - A custom setter fn, which takes a single argument. Overrides the default implementation. (This
-                     can in turn call functions in this namespace like `set-string!` or `set-boolean!` to invoke the
-                     default setter behavior. Keep in mind that the custom setter may be passed `nil`, which should
-                     clear the values of the Setting.)
-   *  `:cache?`    - Should this Setting be cached? (default `true`)? Be careful when disabling this, because it could
-                     have a very negative performance impact."
+   *  `:default`    - The default value of the setting. (default: `nil`)
+   *  `:type`       - `:string` (default), `:boolean`, `:integer`, or `:json`. Non-`:string` settings have special
+                      default getters and setters that automatically coerce values to the correct types.
+   *  `:internal?`  - This Setting is for internal use and shouldn't be exposed in the UI (i.e., not returned by the
+                       corresponding endpoints). Default: `false`
+   *  `:getter`     - A custom getter fn, which takes no arguments. Overrides the default implementation. (This can in
+                      turn call functions in this namespace like `get-string` or `get-boolean` to invoke the default
+                      getter behavior.)
+   *  `:setter`     - A custom setter fn, which takes a single argument. Overrides the default implementation. (This
+                      can in turn call functions in this namespace like `set-string!` or `set-boolean!` to invoke the
+                      default setter behavior. Keep in mind that the custom setter may be passed `nil`, which should
+                      clear the values of the Setting.)
+   *  `:cache?`     - Should this Setting be cached? (default `true`)? Be careful when disabling this, because it could
+                      have a very negative performance impact.
+   *  `:sensitive?` - Is this a sensitive setting, such as a password, that we should never return in plaintext?
+                      (Default: `false`). Obfuscation is not done by getter functions, but instead by functions that
+                      ultimately return these values via the API, such as `all` below. (In other words, code in the
+                      backend can continute to consume sensitive Settings normally; sensitivity is a purely user-facing
+                      option.)"
   {:style/indent 1}
   [setting-symb description & {:as options}]
   {:pre [(symbol? setting-symb)]}
@@ -606,21 +494,46 @@
   ;; changed, and doesn't run when irrelevant changes (to other settings) are made.
   (events/publish-event! :settings-update settings))
 
+(defn- obfuscate-value
+  "Obfuscate the value of sensitive Setting. We'll still show the last 2 characters so admins can still check that the
+  value is what's expected (e.g. the correct password).
+
+    (obfuscate-value \"sensitivePASSWORD123\") ;; -> \"**********23\""
+  [s]
+  (str "**********" (str/join (take-last 2 (str s)))))
+
+(defn user-facing-value
+  "Get the value of a Setting that should be displayed to a User (i.e. via `/api/setting/` endpoints): for Settings set
+  via env vars, or Settings whose value has not been set (i.e., Settings whose value is the same as the default value)
+  no value is displayed; for sensitive Settings, the value is obfuscated."
+  [setting-or-name]
+  (let [{:keys [sensitive? default], k :name, :as setting} (resolve-setting setting-or-name)
+        v                                                  (get k)
+        value-is-default?                                  (= v default)
+        value-is-from-env-var?                             (= v (env-var-value setting))]
+    (cond
+      ;; TODO - Settings set via an env var aren't returned for security purposes. It is an open question whether we
+      ;; should obfuscate them and still show the last two characters like we do for sensitive values that are set via
+      ;; the UI.
+      (or value-is-default? value-is-from-env-var?)
+      nil
+
+      sensitive?
+      (obfuscate-value v)
+
+      :else
+      v)))
 
-(defn- user-facing-info [setting]
-  (let [k         (:name setting)
-        v         (get k)
-        env-value (env-var-value setting)]
+(defn- user-facing-info [{:keys [sensitive? default description], k :name, :as setting}]
+  (let [set-via-env-var? (boolean (env-var-value setting))]
     {:key            k
-     :value          (when (and (not= v env-value)
-                                (not= v (:default setting)))
-                       v)
-     :is_env_setting (boolean env-value)
+     :value          (user-facing-value setting)
+     :is_env_setting set-via-env-var?
      :env_name       (env-var-name setting)
-     :description    (str (:description setting))
-     :default        (or (when env-value
-                           (format "Using $%s" (env-var-name setting)))
-                         (:default setting))}))
+     :description    (str description)
+     :default        (if set-via-env-var?
+                       (str (tru "Using value of env var {0}" (str \$ (env-var-name setting))))
+                       default)}))
 
 (defn all
   "Return a sequence of Settings maps in a format suitable for consumption by the frontend.
diff --git a/src/metabase/models/setting/cache.clj b/src/metabase/models/setting/cache.clj
new file mode 100644
index 0000000000000000000000000000000000000000..35334a2ff91b2ecc73eb767b495b499f6451cd41
--- /dev/null
+++ b/src/metabase/models/setting/cache.clj
@@ -0,0 +1,143 @@
+(ns metabase.models.setting.cache
+  "Settings cache. Cache is a 1:1 mapping of what's in the DB. Cached lookup time is ~60µs, compared to ~1800µs for DB
+  lookup."
+  (:require [clojure.core :as core]
+            [clojure.core.memoize :as memoize]
+            [clojure.java.jdbc :as jdbc]
+            [clojure.tools.logging :as log]
+            [honeysql.core :as hsql]
+            [metabase
+             [db :as mdb]
+             [util :as u]]
+            [metabase.util
+             [honeysql-extensions :as hx]
+             [i18n :as ui18n :refer [trs]]]
+            [toucan.db :as db]))
+
+(def ^:private cache*
+  "Settings cache. Map of Setting key (string) -> Setting value (string)."
+  (atom nil))
+
+(defn cache
+  "Fetch the current contents of the Settings cache, a map of key (string) -> value (string)."
+  []
+  @cache*)
+
+(defn update-cache!
+  "Update the String value of a Setting in the Settings cache."
+  [setting-name, ^String new-value]
+  (if (seq new-value)
+    (swap! cache* assoc  setting-name new-value)
+    (swap! cache* dissoc setting-name)))
+
+;; CACHE SYNCHRONIZATION
+;;
+;; When running multiple Metabase instances (horizontal scaling), it is of course possible for one instance to update
+;; a Setting, and, since Settings are cached (to avoid tons of DB calls), for the other instances to then have an
+;; out-of-date cache. Thus we need a way for instances to know when their caches are out of date, so they can update
+;; them accordingly. Here is our solution:
+;;
+;; We will record the last time *any* Setting was updated in a special Setting called `settings-last-updated`.
+;;
+;; Since `settings-last-updated` itself is a Setting, it will get fetched as part of each instance's local cache; we
+;; can then periodically compare the locally cached value of `settings-last-updated` with the value in the DB. If our
+;; locally cached value is older than the one in the DB, we will flush our cache. When the cache is fetched again, it
+;; will have the up-to-date value.
+;;
+;; Because different machines can have out-of-sync clocks, we'll rely entirely on the application DB for caclulating
+;; and comparing values of `settings-last-updated`. Because the Setting table itself only stores text values, we'll
+;; need to cast it between TEXT and TIMESTAMP SQL types as needed.
+
+(def ^String settings-last-updated-key
+  "Internal key used to store the last updated timestamp for Settings."
+  "settings-last-updated")
+
+(defn update-settings-last-updated!
+  "Update the value of `settings-last-updated` in the DB; if the row does not exist, insert one."
+  []
+  (log/debug (trs "Updating value of settings-last-updated in DB..."))
+  ;; for MySQL, cast(current_timestamp AS char); for H2 & Postgres, cast(current_timestamp AS text)
+  (let [current-timestamp-as-string-honeysql (hx/cast (if (= (mdb/db-type) :mysql) :char :text)
+                                                      (hsql/raw "current_timestamp"))]
+    ;; attempt to UPDATE the existing row. If no row exists, `update-where!` will return false...
+    (or (db/update-where! 'Setting {:key settings-last-updated-key} :value current-timestamp-as-string-honeysql)
+        ;; ...at which point we will try to INSERT a new row. Note that it is entirely possible two instances can both
+        ;; try to INSERT it at the same time; one instance would fail because it would violate the PK constraint on
+        ;; `key`, and throw a SQLException. As long as one instance updates the value, we are fine, so we can go ahead
+        ;; and ignore that Exception if one is thrown.
+        (try
+          ;; Use `simple-insert!` because we do *not* want to trigger pre-insert behavior, such as encrypting `:value`
+          (db/simple-insert! 'Setting :key settings-last-updated-key, :value current-timestamp-as-string-honeysql)
+          (catch java.sql.SQLException e
+            ;; go ahead and log the Exception anyway on the off chance that it *wasn't* just a race condition issue
+            (log/error (trs "Error inserting a new Setting: {0}"
+                            (with-out-str (jdbc/print-sql-exception-chain e))))))))
+  ;; Now that we updated the value in the DB, go ahead and update our cached value as well, because we know about the
+  ;; changes
+  (swap! cache* assoc settings-last-updated-key (db/select-one-field :value 'Setting :key settings-last-updated-key)))
+
+(defn- cache-out-of-date?
+  "Check whether our Settings cache is out of date. We know the cache is out of date if either of the following
+  conditions is true:
+
+   *  The cache is empty (the `cache*` atom is `nil`), which of course means it needs to be updated
+   *  There is a value of `settings-last-updated` in the cache, and it is older than the value of in the DB. (There
+      will be no value until the first time a normal Setting is updated; thus if it is not yet set, we do not yet need
+      to invalidate our cache.)"
+  []
+  (log/debug (trs "Checking whether settings cache is out of date (requires DB call)..."))
+  (boolean
+   (or
+    ;; is the cache empty?
+    (not @cache*)
+    ;; if not, get the cached value of `settings-last-updated`, and if it exists...
+    (when-let [last-known-update (core/get @cache* settings-last-updated-key)]
+      ;; compare it to the value in the DB. This is done be seeing whether a row exists
+      ;; WHERE value > <local-value>
+      (u/prog1 (db/select-one 'Setting
+                 {:where [:and
+                          [:= :key settings-last-updated-key]
+                          [:> :value last-known-update]]})
+        (when <>
+          (log/info (u/format-color 'red
+                        (str (trs "Settings have been changed on another instance, and will be reloaded here."))))))))))
+
+(def ^:private cache-update-check-interval-ms
+  "How often we should check whether the Settings cache is out of date (which requires a DB call)?"
+  ;; once a minute
+  (* 60 1000))
+
+(def ^:private ^{:arglists '([])} should-restore-cache?
+  "TTL-memoized version of `cache-out-of-date?`. Call this function to see whether we need to repopulate the cache with
+  values from the DB."
+  (memoize/ttl cache-out-of-date? :ttl/threshold cache-update-check-interval-ms))
+
+(def ^:private restore-cache-if-needed-lock (Object.))
+
+(defn restore-cache-if-needed!
+  "Check whether we need to repopulate the cache with fresh values from the DB (because the cache is either empty or
+  known to be out-of-date), and do so if needed. This is intended to be called every time a Setting value is
+  retrieved, so it should be efficient; thus the calculation (`should-restore-cache?`) is itself TTL-memoized."
+  []
+  ;; There's a potential race condition here where two threads both call this at the exact same moment, and both get
+  ;; `true` when they call `should-restore-cache`, and then both simultaneously try to update the cache (or, one
+  ;; updates the cache, but the other calls `should-restore-cache?` and gets `true` before the other calls
+  ;; `memo-swap!` (see below))
+  ;;
+  ;; This is not desirable, since either situation would result in duplicate work. Better to just add a quick lock
+  ;; here so only one of them does it, since at any rate waiting for the other thread to finish the task in progress is
+  ;; certainly quicker than starting the task ourselves from scratch
+  (locking restore-cache-if-needed-lock
+    (when (should-restore-cache?)
+      (log/debug (trs "Refreshing Settings cache..."))
+      (reset! cache* (db/select-field->field :key :value 'Setting))
+      ;; Now the cache is up-to-date. That is all good, but if we call `should-restore-cache?` again in a second it
+      ;; will still return `true`, because its result is memoized, and we would be on the hook to (again) update the
+      ;; cache. So go ahead and clear the memozied results for `should-restore-cache?`. The next time around when
+      ;; someone calls this it will cache the latest value (which should be `false`)
+      ;;
+      ;; NOTE: I tried using `memo-swap!` instead to set the cached response to `false` here, avoiding the extra DB
+      ;; call the next fn call would make, but it didn't seem to work correctly (I think it was still discarding the
+      ;; new value because of the TTL). So we will just stick with `memo-clear!` for now. (One extra DB call whenever
+      ;; the cache gets invalidated shouldn't be a huge deal)
+      (memoize/memo-clear! should-restore-cache?))))
diff --git a/src/metabase/models/user.clj b/src/metabase/models/user.clj
index a723f9ee394f24431e89e10d8def59dbec80b29b..39976f8e94abd8fe6c076b9d363ef99312bc71b4 100644
--- a/src/metabase/models/user.clj
+++ b/src/metabase/models/user.clj
@@ -1,6 +1,8 @@
 (ns metabase.models.user
   (:require [cemerick.friend.credentials :as creds]
-            [clojure.string :as str]
+            [clojure
+             [data :as data]
+             [string :as str]]
             [clojure.tools.logging :as log]
             [metabase
              [public-settings :as public-settings]
@@ -13,7 +15,7 @@
              [permissions-group-membership :as perm-membership :refer [PermissionsGroupMembership]]]
             [metabase.util
              [date :as du]
-             [i18n :refer [tru]]
+             [i18n :refer [trs tru]]
              [schema :as su]]
             [schema.core :as s]
             [toucan
@@ -50,12 +52,12 @@
   (u/prog1 user
     ;; add the newly created user to the magic perms groups
     (binding [perm-membership/*allow-changing-all-users-group-members* true]
-      (log/info (format "Adding user %d to All Users permissions group..." user-id))
+      (log/info (trs "Adding User {0} to All Users permissions group..." user-id))
       (db/insert! PermissionsGroupMembership
         :user_id  user-id
         :group_id (:id (group/all-users))))
     (when superuser?
-      (log/info (format "Adding user %d to Admin permissions group..." user-id))
+      (log/info (trs "Adding User {0} to Admin permissions group..." user-id))
       (db/insert! PermissionsGroupMembership
         :user_id  user-id
         :group_id (:id (group/admin))))))
@@ -68,13 +70,19 @@
                                :user_id  id)]
       (cond
         (and is_superuser
-             (not membership-exists?)) (db/insert! PermissionsGroupMembership
-                                         :group_id (:id (group/admin))
-                                         :user_id  id)
+             (not membership-exists?))
+        (db/insert! PermissionsGroupMembership
+          :group_id (u/get-id (group/admin))
+          :user_id  id)
+
+        ;; don't use `delete!` here because that does the opposite and tries to update this user
+        ;; which leads to a stack overflow of calls between the two
+        ;; TODO - could we fix this issue by using `post-delete!`?
         (and (not is_superuser)
-             membership-exists?)       (db/simple-delete! PermissionsGroupMembership ; don't use `delete!` here because that does the opposite and tries to update this user
-                                         :group_id (:id (group/admin))               ; which leads to a stack overflow of calls between the two
-                                         :user_id  id))))                            ; TODO - could we fix this issue by using `post-delete!`?
+             membership-exists?)
+        (db/simple-delete! PermissionsGroupMembership
+          :group_id (u/get-id (group/admin))
+          :user_id  id))))
   (when email
     (assert (u/email? email)))
   ;; If we're setting the reset_token then encrypt it before it goes into the DB
@@ -135,6 +143,22 @@
           :pre-delete     pre-delete
           :types          (constantly {:login_attributes :json-no-keywordization})}))
 
+(defn group-ids
+  "Fetch set of IDs of PermissionsGroup a User belongs to."
+  [user-or-id]
+  (when user-or-id
+    (db/select-field :group_id PermissionsGroupMembership :user_id (u/get-id user-or-id))))
+
+(defn add-group-ids
+  "Efficiently add PermissionsGroup `group_ids` to a collection of `users`."
+  {:batched-hydrate :group_ids}
+  [users]
+  (when (seq users)
+    (let [user-id->memberships (group-by :user_id (db/select [PermissionsGroupMembership :user_id :group_id]
+                                                    :user_id [:in (set (map u/get-id users))]))]
+      (for [user users]
+        (assoc user :group_ids (set (map :group_id (user-id->memberships (u/get-id user)))))))))
+
 
 ;;; --------------------------------------------------- Helper Fns ---------------------------------------------------
 
@@ -172,7 +196,7 @@
   [new-user :- NewUser]
   (db/insert! User (update new-user :password #(or % (str (UUID/randomUUID))))))
 
-(s/defn invite-user!
+(s/defn create-and-invite-user!
   "Convenience function for inviting a new `User` and sending out the welcome email."
   [new-user :- NewUser, invitor :- Invitor]
   ;; create the new user
@@ -223,6 +247,25 @@
   {:pre [(string? reset-token)]}
   (str (public-settings/site-url) "/auth/reset_password/" reset-token))
 
+(defn set-permissions-groups!
+  "Set the user's group memberships to equal the supplied group IDs. Returns `true` if updates were made, `nil`
+  otherwise."
+  [user-or-id new-groups-or-ids]
+  (let [user-id            (u/get-id user-or-id)
+        old-group-ids      (group-ids user-id)
+        new-group-ids      (set (map u/get-id new-groups-or-ids))
+        [to-remove to-add] (data/diff old-group-ids new-group-ids)]
+    (when (seq (concat to-remove to-add))
+      (db/transaction
+        (when (seq to-remove)
+          (db/delete! PermissionsGroupMembership :user_id user-id, :group_id [:in to-remove]))
+        ;; a little inefficient, but we need to do a separate `insert!` for each group we're adding membership to,
+        ;; because `insert-many!` does not currently trigger methods such as `pre-insert`. We rely on those methods to
+        ;; do things like automatically set the `is_superuser` flag for a User
+        (doseq [group-id to-add]
+          (db/insert! PermissionsGroupMembership {:user_id user-id, :group_id group-id})))
+      true)))
+
 
 ;;; -------------------------------------------------- Permissions ---------------------------------------------------
 
diff --git a/src/metabase/plugins.clj b/src/metabase/plugins.clj
index fca00b8c8c54ccd9bde7d25be43979c17075e527..c1d0cd099511921cd15f04d45c731d99bf1f03ad 100644
--- a/src/metabase/plugins.clj
+++ b/src/metabase/plugins.clj
@@ -103,8 +103,16 @@
                                  (trs "spark-deps.jar is no longer needed by Metabase 1.0+. You can delete it from the plugins directory.")))))]
     path))
 
+(defn- has-manifest? ^Boolean [^Path path]
+  (boolean (files/file-exists-in-archive? path "metabase-plugin.yaml")))
+
 (defn- init-plugins! [paths]
-  (doseq [^Path path paths]
+  ;; sort paths so that ones that correspond to JARs with no plugin manifest (e.g. a dependency like the Oracle JDBC
+  ;; driver `ojdbc8.jar`) always get initialized (i.e., added to the classpath) first; that way, Metabase drivers that
+  ;; depend on them (such as Oracle) can be initialized the first time we see them.
+  ;;
+  ;; In Clojure world at least `false` < `true` so we can use `sort-by` to get non-Metabase-plugin JARs in front
+  (doseq [^Path path (sort-by has-manifest? paths)]
     (try
       (init-plugin! path)
       (catch Throwable e
diff --git a/src/metabase/plugins/files.clj b/src/metabase/plugins/files.clj
index af2ecb9abf963b8ff07f5290b85dafb20c453a0b..20e070519c1e163d17b188231eac47bf789ebc28 100644
--- a/src/metabase/plugins/files.clj
+++ b/src/metabase/plugins/files.clj
@@ -122,6 +122,13 @@
 ;;; |                                               JAR FILE CONTENTS                                                |
 ;;; +----------------------------------------------------------------------------------------------------------------+
 
+(defn file-exists-in-archive?
+  "True is a file exists in an archive."
+  [^Path archive-path & path-components]
+  (with-open [fs (FileSystems/newFileSystem archive-path (ClassLoader/getSystemClassLoader))]
+    (let [file-path (apply get-path-in-filesystem fs path-components)]
+      (exists? file-path))))
+
 (defn slurp-file-from-archive
   "Read the entire contents of a file from a archive (such as a JAR)."
   [^Path archive-path & path-components]
diff --git a/src/metabase/pulse.clj b/src/metabase/pulse.clj
index 4674f53808dfff80369d085793be85a945cc652c..03972a4f517a6ba904437da73bc406e9a19b7114 100644
--- a/src/metabase/pulse.clj
+++ b/src/metabase/pulse.clj
@@ -65,12 +65,12 @@
   [card-results]
   (let [{channel-id :id} (slack/files-channel)]
     (for [{{card-id :id, card-name :name, :as card} :card, result :result} card-results]
-      {:title      card-name
+      {:title                  card-name
        :attachment-bytes-thunk (fn [] (render/render-pulse-card-to-png (defaulted-timezone card) card result))
-       :title_link (urls/card-url card-id)
-       :attachment-name "image.png"
-       :channel-id channel-id
-       :fallback   card-name})))
+       :title_link             (urls/card-url card-id)
+       :attachment-name        "image.png"
+       :channel-id             channel-id
+       :fallback               card-name})))
 
 (defn create-and-upload-slack-attachments!
   "Create an attachment in Slack for a given Card by rendering its result into an image and uploading it."
@@ -105,6 +105,7 @@
 
     (when-not (and goal-val comparison-col-rowfn)
       (throw (Exception. (str (tru "Unable to compare results to goal for alert.")
+                              " "
                               (tru "Question ID is ''{0}'' with visualization settings ''{1}''"
                                    (get-in results [:card :id])
                                    (pr-str (get-in results [:card :visualization_settings])))))))
@@ -160,8 +161,8 @@
 (defmethod create-notification [:pulse :slack]
   [pulse results {{channel-id :channel} :details :as channel}]
   (log/debug (u/format-color 'cyan "Sending Pulse (%d: %s) via Slack" (:id pulse) (:name pulse)))
-  {:channel-id channel-id
-   :message (str "Pulse: " (:name pulse))
+  {:channel-id  channel-id
+   :message     (str "Pulse: " (:name pulse))
    :attachments (create-slack-attachment-data results)})
 
 (defmethod create-notification [:alert :email]
diff --git a/src/metabase/query_processor.clj b/src/metabase/query_processor.clj
index c46e6e4c00d18cb2e9a16344f47029e5b35901f5..fd64e52000b294e59ee98689760fe28332641ace 100644
--- a/src/metabase/query_processor.clj
+++ b/src/metabase/query_processor.clj
@@ -6,6 +6,7 @@
             [metabase
              [driver :as driver]
              [util :as u]]
+            [metabase.driver.util :as driver.u]
             [metabase.mbql.schema :as mbql.s]
             [metabase.models
              [query :as query]
@@ -13,7 +14,6 @@
             [metabase.query-processor.middleware
              [add-dimension-projections :as add-dim]
              [add-implicit-clauses :as implicit-clauses]
-             [add-query-throttle :as query-throttle]
              [add-row-count-and-status :as row-count-and-status]
              [add-settings :as add-settings]
              [annotate :as annotate]
@@ -43,13 +43,14 @@
              [resolve-joined-tables :as resolve-joined-tables]
              [resolve-source-table :as resolve-source-table]
              [results-metadata :as results-metadata]
+             [splice-params-in-response :as splice-params-in-response]
              [store :as store]
              [validate :as validate]
              [wrap-value-literals :as wrap-value-literals]]
             [metabase.query-processor.util :as qputil]
             [metabase.util
              [date :as du]
-             [i18n :refer [tru]]]
+             [i18n :refer [trs tru]]]
             [schema.core :as s]
             [toucan.db :as db]))
 
@@ -57,12 +58,12 @@
 ;;; |                                                QUERY PROCESSOR                                                 |
 ;;; +----------------------------------------------------------------------------------------------------------------+
 
-(defn- execute-query
+(s/defn ^:private execute-query
   "The pivotal stage of the `process-query` pipeline where the query is actually executed by the driver's Query
   Processor methods. This function takes the fully pre-processed query, runs it, and returns the results, which then
   run through the various post-processing steps."
-  [query]
-  {:pre [(map? query) (:driver query)]}
+  [query :- {:driver   s/Keyword
+             s/Keyword s/Any}]
   (driver/execute-query (:driver query) query))
 
 ;; The way these functions are applied is actually straight-forward; it matches the middleware pattern used by
@@ -131,6 +132,7 @@
       ;; (drivers can inject custom middleware if they implement IDriver's `process-query-in-context`)
       driver-specific/process-query-in-context
       add-settings/add-settings
+      splice-params-in-response/splice-params-in-response
       ;; ▲▲▲ DRIVER RESOLUTION POINT ▲▲▲
       ;; All functions *above* will have access to the driver during PRE- *and* POST-PROCESSING
       ;; TODO - I think we should do this much earlier
@@ -139,7 +141,6 @@
       resolve-database/resolve-database
       fetch-source-query/fetch-source-query
       store/initialize-store
-      query-throttle/maybe-add-query-throttle
       log-query/log-initial-query
       ;; TODO - bind `*query*` here ?
       cache/maybe-return-cached-results
@@ -196,8 +197,11 @@
       (m/dissoc-in [:middleware :disable-mbql->native?])))
 
 (defn query->native
-  "Return the native form for QUERY (e.g. for a MBQL query on Postgres this would return a map containing the compiled
-  SQL form). (Like `preprocess`, this function will throw an Exception if preprocessing was not successful.)"
+  "Return the native form for `query` (e.g. for a MBQL query on Postgres this would return a map containing the compiled
+  SQL form). (Like `preprocess`, this function will throw an Exception if preprocessing was not successful.)
+
+  (Currently, this function is mostly used by tests and in the REPL; `mbql-to-native/mbql->native` middleware handles
+  simliar functionality for queries that are actually executed.)"
   {:style/indent 0}
   [query]
   (let [results (preprocess query)]
@@ -205,6 +209,20 @@
         (throw (ex-info (str (tru "No native form returned."))
                  (or results {}))))))
 
+(defn query->native-with-spliced-params
+  "Return the native form for a `query`, with any prepared statement (or equivalent) parameters spliced into the query
+  itself as literals. This is used to power features such as 'Convert this Question to SQL'.
+
+  (Currently, this function is mostly used by tests and in the REPL; `splice-params-in-response` middleware handles
+  simliar functionality for queries that are actually executed.)"
+  {:style/indent 0}
+  [query]
+  ;; We need to preprocess the query first to get a valid database in case we're dealing with a nested query whose DB
+  ;; ID is the virtual DB identifier
+  (let [driver (driver.u/database->driver (:database (query->preprocessed query)))]
+    (driver/splice-parameters-into-native-query driver
+      (query->native query))))
+
 (def ^:private default-pipeline (qp-pipeline execute-query))
 
 (defn process-query
@@ -324,13 +342,11 @@
         (assert-query-status-successful result)
         (save-and-return-successful-query! query-execution result))
       (catch Throwable e
-        (if (= (:type (ex-data e)) ::query-throttle/concurrent-query-limit-reached)
-          (throw e)
-          (do
-            (log/warn (u/format-color 'red "Query failure: %s\n%s"
-                                      (.getMessage e)
-                                      (u/pprint-to-str (u/filtered-stacktrace e))))
-            (save-and-return-failed-query! query-execution e)))))))
+        (log/warn (u/format-color 'red (trs "Query failure")
+                    (.getMessage e)
+                    "\n"
+                    (u/pprint-to-str (u/filtered-stacktrace e))))
+        (save-and-return-failed-query! query-execution e)))))
 
 (s/defn ^:private assoc-query-info [query, options :- mbql.s/Info]
   (assoc query :info (assoc options
diff --git a/src/metabase/query_processor/async.clj b/src/metabase/query_processor/async.clj
new file mode 100644
index 0000000000000000000000000000000000000000..b829c6c3d7c29eb6d145b7d78139daab8c0dcb27
--- /dev/null
+++ b/src/metabase/query_processor/async.clj
@@ -0,0 +1,115 @@
+(ns metabase.query-processor.async
+  "Async versions of the usual public query processor functions. Instead of blocking while the query is ran, these
+  functions all return a `core.async` channel that can be used to fetch the results when they become available.
+
+  Each connected database is limited to a maximum of 15 simultaneous queries (configurable) using these methods; any
+  additional queries will park the thread. Super-useful for writing high-performance API endpoints. Prefer these
+  methods to the old-school synchronous versions.
+
+  How is this achieved? For each Database, we'll maintain a channel that acts as a counting semaphore; the channel
+  will initially contain 15 permits. Each incoming request will asynchronously read from the channel until it acquires
+  a permit, then put it back when it finishes."
+  (:require [clojure.core.async :as a]
+            [clojure.tools.logging :as log]
+            [metabase
+             [query-processor :as qp]
+             [util :as u]]
+            [metabase.api.common :as api]
+            [metabase.async
+             [semaphore-channel :as semaphore-channel]
+             [util :as async.u]]
+            [metabase.models.setting :refer [defsetting]]
+            [metabase.query-processor.interface :as qpi]
+            [metabase.util.i18n :refer [trs]]
+            [schema.core :as s])
+  (:import clojure.core.async.impl.channels.ManyToManyChannel))
+
+(defsetting max-simultaneous-queries-per-db
+  (trs "Maximum number of simultaneous queries to allow per connected Database.")
+  :type    :integer
+  :default 15)
+
+
+(defonce ^:private db-semaphore-channels (atom {}))
+
+(defn- fetch-db-semaphore-channel
+  "Fetch the counting semaphore channel for a Database, creating it if not already created."
+  [database-or-id]
+  (let [id (u/get-id database-or-id)]
+    (or
+     ;; channel already exists
+     (@db-semaphore-channels id)
+     ;; channel does not exist, Create a channel and stick it in the atom
+     (let [ch     (semaphore-channel/semaphore-channel (max-simultaneous-queries-per-db))
+           new-ch ((swap! db-semaphore-channels update id #(or % ch)) id)]
+       ;; ok, if the value swapped into the atom was a different channel (another thread beat us to it) then close our
+       ;; newly created channel
+       (when-not (= ch new-ch)
+         (a/close! ch))
+       ;; return the newly created channel
+       new-ch))))
+
+(defn- do-async
+  "Execute `f` asynchronously, waiting to receive a permit from `db`'s semaphore channel before proceeding. Returns the
+  results in a channel."
+  [db f & args]
+  (let [semaphore-chan (fetch-db-semaphore-channel db)]
+    (apply semaphore-channel/do-after-receiving-permit semaphore-chan f args)))
+
+(defn process-query
+  "Async version of `metabase.query-processor/process-query`. Runs query asynchronously, and returns a `core.async`
+  channel that can be used to fetch the results once the query finishes running. Closing the channel will cancel the
+  query."
+  [query]
+  (do-async (:database query) qp/process-query query))
+
+(defn process-query-and-save-execution!
+  "Async version of `metabase.query-processor/process-query-and-save-execution!`. Runs query asynchronously, and returns
+  a `core.async` channel that can be used to fetch the results once the query finishes running. Closing the channel
+  will cancel the query."
+  [query options]
+  (do-async (:database query) qp/process-query-and-save-execution! query options))
+
+(defn process-query-and-save-with-max!
+  "Async version of `metabase.query-processor/process-query-and-save-with-max!`. Runs query asynchronously, and returns
+  a `core.async` channel that can be used to fetch the results once the query finishes running. Closing the channel
+  will cancel the query."
+  [query options]
+  (do-async (:database query) qp/process-query-and-save-with-max! query options))
+
+(defn process-query-without-save!
+  "Async version of `metabase.query-processor/process-query-without-save!`. Runs query asynchronously, and returns a
+  `core.async` channel that can be used to fetch the results once the query finishes running. Closing the channel will
+  cancel the query."
+  [user query]
+  (do-async (:database query) qp/process-query-without-save! user query))
+
+
+;;; ------------------------------------------------ Result Metadata -------------------------------------------------
+
+(defn- transform-result-metadata-query-results [{:keys [status], :as results}]
+  (when (= status :failed)
+    (log/error (trs "Error running query to determine Card result metadata:")
+               (u/pprint-to-str 'red results)))
+  (or (get-in results [:data :results_metadata :columns])
+      []))
+
+(s/defn result-metadata-for-query-async :- ManyToManyChannel
+  "Fetch the results metadata for a `query` by running the query and seeing what the QP gives us in return.
+   This is obviously a bit wasteful so hopefully we can avoid having to do this. Returns a channel to get the
+   results."
+  [query]
+  (let [out-chan (a/chan 1 (map transform-result-metadata-query-results))]
+    ;; set up a pipe to get the async QP results and pipe them thru to out-chan
+    (async.u/single-value-pipe
+     (binding [qpi/*disable-qp-logging* true]
+       (process-query-without-save!
+        api/*current-user-id*
+        ;; for purposes of calculating the actual Fields & types returned by this query we really only need the first
+        ;; row in the results
+        (-> query
+            (assoc-in [:constrains :max-results] 1)
+            (assoc-in [:constrains :max-results-bare-rows] 1))))
+     out-chan)
+    ;; return out-chan
+    out-chan))
diff --git a/src/metabase/query_processor/middleware/add_query_throttle.clj b/src/metabase/query_processor/middleware/add_query_throttle.clj
deleted file mode 100644
index 859351121a82b8dbceb50e1bb8e3b7ef0c13a354..0000000000000000000000000000000000000000
--- a/src/metabase/query_processor/middleware/add_query_throttle.clj
+++ /dev/null
@@ -1,51 +0,0 @@
-(ns metabase.query-processor.middleware.add-query-throttle
-  "Middleware that constrains the number of concurrent queries, rejects queries by throwing an exception and
-  returning a 503 when we exceed our capacity"
-  (:require [metabase.config :as config]
-            [puppetlabs.i18n.core :refer [tru]])
-  (:import [java.util.concurrent Semaphore TimeUnit]))
-
-(def ^:private calculate-max-queries-from-max-threads
-  (let [max-threads (or (config/config-int :mb-jetty-maxthreads) 50)]
-    (int (Math/ceil (/ max-threads 2)))))
-
-(defn- ^Semaphore create-query-semaphore []
-  (let [total-concurrent-queries (or (config/config-int :mb-max-concurrent-queries)
-                                     calculate-max-queries-from-max-threads)]
-    (Semaphore. total-concurrent-queries true)))
-
-(def ^Semaphore ^:private query-semaphore (create-query-semaphore))
-
-(defn- throw-503-unavailable
-  []
-  (throw (ex-info (str (tru "Max concurrent query limit reached"))
-           {:type        ::concurrent-query-limit-reached
-            :status-code 503})))
-
-;; Not marking this as `const` so it can be redef'd in tests
-(def ^:private max-query-wait-time-in-millis
-  (or (config/config-int :mb-max-query-wait-time)
-      5000))
-
-(defn- throttle-queries
-  "Query middle that will throttle queries using `semaphore`. Throws 503 exceptions if there are no more slots
-  available"
-  [^Semaphore semaphore qp]
-  (fn [query]
-    ;; `tryAquire` will return `true` if it is able to get a permit, false otherwise
-    (if (.tryAcquire semaphore max-query-wait-time-in-millis TimeUnit/MILLISECONDS)
-      (try
-        (qp query)
-        (finally
-          ;; We have a permit, whether the query is successful or it failed, we must make sure that we always release
-          ;; the permit
-          (.release semaphore)))
-      ;; We were not able to get a permit without the timeout period, return a 503
-      (throw-503-unavailable))))
-
-(defn maybe-add-query-throttle
-  "Adds the query throttle middleware if `MB_ENABLE_QUERY_THROTTLE` has been set"
-  [qp]
-  (if (config/config-bool :mb-enable-query-throttle)
-    (throttle-queries query-semaphore qp)
-    qp))
diff --git a/src/metabase/query_processor/middleware/catch_exceptions.clj b/src/metabase/query_processor/middleware/catch_exceptions.clj
index 62ede372d1e0fe8f02f3bd00cf7fa2d46f79d933..5dcba95f1700491b0ac602409c03ee884a8a8882 100644
--- a/src/metabase/query_processor/middleware/catch_exceptions.clj
+++ b/src/metabase/query_processor/middleware/catch_exceptions.clj
@@ -1,7 +1,6 @@
 (ns metabase.query-processor.middleware.catch-exceptions
   "Middleware for catching exceptions thrown by the query processor and returning them in a friendlier format."
-  (:require [metabase.query-processor.middleware.add-query-throttle :as query-throttle]
-            [metabase.util :as u]
+  (:require [metabase.util :as u]
             schema.utils)
   (:import [schema.utils NamedError ValidationError]))
 
@@ -64,11 +63,8 @@
     (try (qp query)
          (catch clojure.lang.ExceptionInfo e
            (let [{error :error, error-type :type, :as data} (ex-data e)]
-             ;; When we've hit our concurrent query limit, let that exception bubble up, otherwise repackage it as a failure
-             (if (=  error-type ::query-throttle/concurrent-query-limit-reached)
-               (throw e)
-               (fail query e (when-let [error-msg (and (= error-type :schema.core/error)
-                                                       (explain-schema-validation-error error))]
-                               {:error error-msg})))))
+             (fail query e (when-let [error-msg (and (= error-type :schema.core/error)
+                                                     (explain-schema-validation-error error))]
+                             {:error error-msg}))))
          (catch Throwable e
            (fail query e)))))
diff --git a/src/metabase/query_processor/middleware/parameters.clj b/src/metabase/query_processor/middleware/parameters.clj
index 94ee7e3f506a3a585f8870c6b88d6c14427dc6e6..d1de860e0bacd29f3376888754659fc0df47ee83 100644
--- a/src/metabase/query_processor/middleware/parameters.clj
+++ b/src/metabase/query_processor/middleware/parameters.clj
@@ -2,12 +2,14 @@
   "Middleware for substituting parameters in queries."
   (:require [clojure.data :as data]
             [clojure.tools.logging :as log]
+            [metabase
+             [driver :as driver]
+             [util :as u]]
             [metabase.driver.sql.util.unprepare :as unprepare]
             [metabase.query-processor.interface :as i]
             [metabase.query-processor.middleware.parameters
              [mbql :as mbql-params]
-             [sql :as sql-params]]
-            [metabase.util :as u]))
+             [sql :as sql-params]]))
 
 (defn- expand-parameters*
   "Expand any `:parameters` set on the `query-dict` and apply them to the query definition. This function removes
@@ -32,10 +34,8 @@
       outer-query
       ;; otherwise replace the native query with the param-substituted version.
       ;; 'Unprepare' the args because making sure args get passed in the right order is too tricky for nested queries
-      ;; TODO - This might not work for all drivers. We should make 'unprepare' a SQL driver method
-      ;; so different drivers can invoke unprepare/unprepare with the correct args
       (-> outer-query
-          (assoc-in [:query :source-query :native] (unprepare/unprepare (cons new-query new-params)))))))
+          (assoc-in [:query :source-query :native] (unprepare/unprepare driver/*driver* (cons new-query new-params)))))))
 
 (defn- expand-parameters
   "Expand parameters in the OUTER-QUERY, and if the query is using a native source query, expand params in that as well."
diff --git a/src/metabase/query_processor/middleware/parameters/dates.clj b/src/metabase/query_processor/middleware/parameters/dates.clj
index 38c2d73aa7ae39edb4ab8643d1c51186e25e41ae..ce8b4e85514dc510b5402cf4db5d10a0bba0d61b 100644
--- a/src/metabase/query_processor/middleware/parameters/dates.clj
+++ b/src/metabase/query_processor/middleware/parameters/dates.clj
@@ -177,7 +177,7 @@
               {:start date, :end date})
     :filter (fn [{:keys [date]} field-id-clause]
               (let [iso8601date (day->iso8601 date)]
-                [:= [:datetime-field field-id-clause :day] :between]))}
+                [:= [:datetime-field field-id-clause :day] iso8601date]))}
    ;; day range
    {:parser (regex->parser #"([0-9-T:]+)~([0-9-T:]+)" [:date-1 :date-2])
     :range  (fn [{:keys [date-1 date-2]} _]
diff --git a/src/metabase/query_processor/middleware/results_metadata.clj b/src/metabase/query_processor/middleware/results_metadata.clj
index 86941a97087f5f0bae35f65e86f53b936455e2f7..ad99f653a12f2325c48ba9ef95df7185cb770144 100644
--- a/src/metabase/query_processor/middleware/results_metadata.clj
+++ b/src/metabase/query_processor/middleware/results_metadata.clj
@@ -69,8 +69,7 @@
     (-> metadata
         serialize-metadata-for-hashing
         hash/md5
-        codec/base64-encode
-        encryption/maybe-encrypt)))
+        codec/base64-encode)))
 
 (defn valid-checksum?
   "Is the CHECKSUM the right one for this column METADATA?"
diff --git a/src/metabase/query_processor/middleware/splice_params_in_response.clj b/src/metabase/query_processor/middleware/splice_params_in_response.clj
new file mode 100644
index 0000000000000000000000000000000000000000..cf1c9e8851fe580e23623caa36372a486dc28e60
--- /dev/null
+++ b/src/metabase/query_processor/middleware/splice_params_in_response.clj
@@ -0,0 +1,41 @@
+(ns metabase.query-processor.middleware.splice-params-in-response
+  (:require [metabase.driver :as driver]))
+
+(defn- splice-params-in-response* [{:keys [status], {{:keys [params]} :native_form} :data, :as results}]
+  ;; no need to i18n this since this message is something only developers who break the QP by changing middleware
+  ;; order will see
+  (assert driver/*driver*
+    "Middleware order error: splice-params-in-response must run *after* driver is resolved.")
+  (cond
+    (not= status :completed)
+    results
+
+    (empty? params)
+    results
+
+    :else
+    (update-in results [:data :native_form] (partial driver/splice-parameters-into-native-query driver/*driver*))))
+
+(defn splice-params-in-response
+  "Middleware that manipulates query response. Splice prepared statement (or equivalent) parameters directly into the
+  native query returned as part of successful query results. (This `:native_form` is ultimately what powers the
+  'Convert this Question to SQL' feature in the Query Processor.) E.g.:
+
+    {:data {:native_form {:query \"SELECT * FROM birds WHERE name = ?\", :params [\"Reggae\"]}}}
+
+     -> splice params in response ->
+
+    {:data {:native_form {:query \"SELECT * FROM birds WHERE name = 'Reggae'\"}}}
+
+  Note that this step happens *after* a query is executed; we do not want to execute the query with literals spliced
+  in, so as to avoid SQL injection attacks.
+
+  This feature is ultimately powered by the `metabase.driver/splice-parameters-into-native-query` method. For native
+  queries without `:params` (which will be all of them for drivers that don't support the equivalent of prepared
+  statement parameters, like Druid), this middleware does nothing.
+
+  !!! IMPORTANT NOTE !!!
+
+  This middleware "
+  [qp]
+  (comp splice-params-in-response* qp))
diff --git a/src/metabase/routes.clj b/src/metabase/routes.clj
index 0e23fb8b6908555d2b9c0419a8af91953141eac5..284d5b8912e283efe104769dbb629ea1e7689ccb 100644
--- a/src/metabase/routes.clj
+++ b/src/metabase/routes.clj
@@ -51,19 +51,24 @@
       (fallback-localization *locale*)))
     (fallback-localization *locale*)))
 
+(defn- load-entrypoint-template [entrypoint-name embeddable? uri]
+  (load-template
+   (str "frontend_client/" entrypoint-name ".html")
+   {:bootstrap_json    (escape-script (json/generate-string (public-settings/public-settings)))
+    :localization_json (escape-script (load-localization))
+    :uri               (escape-script (json/generate-string uri))
+    :base_href         (escape-script (json/generate-string (base-href)))
+    :embed_code        (when embeddable? (embed/head uri))}))
+
 (defn- entrypoint
   "Repsonse that serves up an entrypoint into the Metabase application, e.g. `index.html`."
-  [entry embeddable? {:keys [uri]}]
-  (-> (if (init-status/complete?)
-        (load-template (str "frontend_client/" entry ".html")
-                       {:bootstrap_json    (escape-script (json/generate-string (public-settings/public-settings)))
-                        :localization_json (escape-script (load-localization))
-                        :uri               (escape-script (json/generate-string uri))
-                        :base_href         (escape-script (json/generate-string (base-href)))
-                        :embed_code        (when embeddable? (embed/head uri))})
-        (load-file-at-path "frontend_client/init.html"))
-      resp/response
-      (resp/content-type "text/html; charset=utf-8")))
+  [entrypoint-name embeddable? {:keys [uri]} respond raise]
+  (respond
+   (-> (if (init-status/complete?)
+         (load-entrypoint-template entrypoint-name embeddable? uri)
+         (load-file-at-path "frontend_client/init.html"))
+       resp/response
+       (resp/content-type "text/html; charset=utf-8"))))
 
 (def ^:private index  (partial entrypoint "index"  (not :embeddable)))
 (def ^:private public (partial entrypoint "public" :embeddable))
@@ -73,8 +78,8 @@
   "Like `resp/redirect`, but passes along query string URL params as well. This is important because the public and
    embedding routes below pass query params (such as template tags) as part of the URL."
   [url]
-  (fn [{:keys [query-string]}]
-    (resp/redirect (str url "?" query-string))))
+  (fn [{:keys [query-string]} respond _]
+    (respond (resp/redirect (str url "?" query-string)))))
 
 ;; /public routes. /public/question/:uuid.:export-format redirects to /api/public/card/:uuid/query/:export-format
 (defroutes ^:private public-routes
diff --git a/src/metabase/server.clj b/src/metabase/server.clj
new file mode 100644
index 0000000000000000000000000000000000000000..03dfdc75a0adc8f493d352279143f2e80682120b
--- /dev/null
+++ b/src/metabase/server.clj
@@ -0,0 +1,85 @@
+(ns metabase.server
+  (:require [clojure
+             [core :as core]
+             [string :as str]]
+            [clojure.tools.logging :as log]
+            [medley.core :as m]
+            [metabase
+             [config :as config]
+             [util :as u]]
+            [metabase.util.i18n :refer [trs]]
+            [ring.adapter.jetty :as ring-jetty])
+  (:import org.eclipse.jetty.server.Server))
+
+(defn- jetty-ssl-config []
+  (m/filter-vals
+   some?
+   {:ssl-port       (config/config-int :mb-jetty-ssl-port)
+    :keystore       (config/config-str :mb-jetty-ssl-keystore)
+    :key-password   (config/config-str :mb-jetty-ssl-keystore-password)
+    :truststore     (config/config-str :mb-jetty-ssl-truststore)
+    :trust-password (config/config-str :mb-jetty-ssl-truststore-password)}))
+
+(defn- jetty-config []
+  (cond-> (m/filter-vals
+           some?
+           {:port          (config/config-int :mb-jetty-port)
+            :host          (config/config-str :mb-jetty-host)
+            :max-threads   (config/config-int :mb-jetty-maxthreads)
+            :min-threads   (config/config-int :mb-jetty-minthreads)
+            :max-queued    (config/config-int :mb-jetty-maxqueued)
+            :max-idle-time (config/config-int :mb-jetty-maxidletime)})
+    (config/config-str :mb-jetty-daemon) (assoc :daemon? (config/config-bool :mb-jetty-daemon))
+    (config/config-str :mb-jetty-ssl)    (-> (assoc :ssl? true)
+                                             (merge (jetty-ssl-config)))))
+
+(defn- log-config [jetty-config]
+  (log/info (trs "Launching Embedded Jetty Webserver with config:")
+            "\n"
+            (u/pprint-to-str (m/filter-keys
+                              #(not (str/includes? % "password"))
+                              jetty-config))))
+
+(defonce ^:private instance*
+  (atom nil))
+
+(defn instance
+  "*THE* instance of our Jetty web server, if there currently is one."
+  ^Server []
+  @instance*)
+
+(defn create-server
+  "Create a new async Jetty server with `handler` and `options`. Handy for creating the real Metabase web server, and
+  creating one-off web servers for tests and REPL usage."
+  ^Server [handler options]
+  (doto ^Server (#'ring-jetty/create-server (assoc options :async? true))
+    (.setHandler (#'ring-jetty/async-proxy-handler
+                  handler
+                  ;; if any API endpoint functions aren't at the very least returning a channel to fetch the results
+                  ;; later after 30 seconds we're in serious trouble. Kill the request.
+                  (or (config/config-int :mb-jetty-async-response-timeout)
+                      (* 30 1000))))))
+
+(defn start-web-server!
+  "Start the embedded Jetty web server. Returns `:started` if a new server was started; `nil` if there was already a
+  running server."
+  [handler]
+  (when-not (instance)
+    ;; NOTE: we always start jetty w/ join=false so we can start the server first then do init in the background
+    (let [config     (jetty-config)
+          new-server (create-server handler config)]
+      (log-config config)
+      ;; Only start the server if the newly created server becomes the official new server
+      ;; Don't JOIN yet -- we're doing other init in the background; we can join later
+      (when (compare-and-set! instance* nil new-server)
+        (.start new-server)
+        :started))))
+
+(defn stop-web-server!
+  "Stop the embedded Jetty web server. Returns `:stopped` if a server was stopped, `nil` if there was nothing to stop."
+  []
+  (let [[^Server old-server] (reset-vals! instance* nil)]
+    (when old-server
+      (log/info (trs "Shutting Down Embedded Jetty Webserver"))
+      (.stop old-server)
+      :stopped)))
diff --git a/src/metabase/sync/analyze/fingerprint.clj b/src/metabase/sync/analyze/fingerprint.clj
index 7d16786c8839a173e014e172050bda3994d5700e..b20ef877fe06702028caca3f7ea0cfd54446b56c 100644
--- a/src/metabase/sync/analyze/fingerprint.clj
+++ b/src/metabase/sync/analyze/fingerprint.clj
@@ -148,7 +148,7 @@
 
 (s/defn ^:private fields-to-fingerprint :- (s/maybe [i/FieldInstance])
   "Return a sequences of Fields belonging to TABLE for which we should generate (and save) fingerprints.
-   This should include NEW fields that are active and visibile."
+   This should include NEW fields that are active and visible."
   [table :- i/TableInstance]
   (seq (db/select Field
          (honeysql-for-fields-that-need-fingerprint-updating table))))
diff --git a/src/metabase/sync/analyze/fingerprint/insights.clj b/src/metabase/sync/analyze/fingerprint/insights.clj
index 8285f270577de65fa67587c364f29c1a54d3fc1e..92636a0982c9eeacc9bcecb08a90cd0ad6fa738c 100644
--- a/src/metabase/sync/analyze/fingerprint/insights.clj
+++ b/src/metabase/sync/analyze/fingerprint/insights.clj
@@ -134,9 +134,12 @@
        (= (count datetimes) 1)
        (empty? others)))
 
-(def ^:private ms->day
-  "We downsize UNIX timestamps to lessen the chance of overflows and numerical instabilities."
-  #(/ % (* 1000 60 60 24)))
+;; We downsize UNIX timestamps to lessen the chance of overflows and numerical instabilities.
+(def ^Long ^:const ^:private ms-in-a-day (* 1000 60 60 24))
+
+(defn- ms->day
+  [dt]
+  (/ dt ms-in-a-day))
 
 (defn- about=
   [a b]
@@ -151,13 +154,18 @@
    :quarter (* 30.4 3)
    :year    365.1})
 
+(defn- infer-unit
+  [from to]
+  (when (and from to)
+    (some (fn [[unit duration]]
+            (when (about= (- to from) duration)
+              unit))
+          unit->duration)))
+
 (defn- valid-period?
   [from to unit]
-  (when (and from to)
-    (let [delta (- to from)]
-      (if unit
-        (about= delta (unit->duration unit))
-        (some (partial about= delta) (vals unit->duration))))))
+  (when (and from to unit)
+    (about= (- to from) (unit->duration unit))))
 
 (defn- timeseries-insight
   [{:keys [numbers datetimes]}]
@@ -185,7 +193,10 @@
                             (stats/simple-linear-regression xfn yfn)
                             (best-fit xfn yfn)))
               (fn [[[y-previous y-current] [x-previous x-current] [offset slope] best-fit]]
-                (let [show-change? (valid-period? x-previous x-current (:unit datetime))]
+                (let [unit         (if (contains? #{:default nil} (:unit datetime))
+                                     (infer-unit x-previous x-current)
+                                     (:unit datetime))
+                      show-change? (valid-period? x-previous x-current unit)]
                   {:last-value     y-current
                    :previous-value (when show-change?
                                      y-previous)
diff --git a/src/metabase/sync/interface.clj b/src/metabase/sync/interface.clj
index d0e75a0f2c35803a8ed356d4dcceb5c99f2eb588..53100c7a5d981925737ad5f9c0d78982ae9b393e 100644
--- a/src/metabase/sync/interface.clj
+++ b/src/metabase/sync/interface.clj
@@ -11,8 +11,8 @@
 
 (def DatabaseMetadataTable
   "Schema for the expected output of `describe-database` for a Table."
-  {:name          su/NonBlankString
-   :schema        (s/maybe su/NonBlankString)
+  {:name                         su/NonBlankString
+   :schema                       (s/maybe su/NonBlankString)
    (s/optional-key :description) (s/maybe su/NonBlankString)})
 
 (def DatabaseMetadata
diff --git a/src/metabase/sync/sync_metadata/tables.clj b/src/metabase/sync/sync_metadata/tables.clj
index 9903fc90ebcaefbd196c86ddf72f01b9be0233b2..465852f44b94c1b3f88ab401b9115c2d4df51541 100644
--- a/src/metabase/sync/sync_metadata/tables.clj
+++ b/src/metabase/sync/sync_metadata/tables.clj
@@ -13,6 +13,7 @@
              [util :as sync-util]]
             [metabase.sync.sync-metadata.metabase-metadata :as metabase-metadata]
             [metabase.util :as u]
+            [metabase.util.i18n :refer [trs]]
             [schema.core :as s]
             [toucan.db :as db]))
 
@@ -85,7 +86,7 @@
 (s/defn ^:private create-or-reactivate-tables!
   "Create NEW-TABLES for database, or if they already exist, mark them as active."
   [database :- i/DatabaseInstance, new-tables :- #{i/DatabaseMetadataTable}]
-  (log/info "Found new tables:"
+  (log/info (trs "Found new tables:")
             (for [table new-tables]
               (sync-util/name-for-logging (table/map->TableInstance table))))
   (doseq [{schema :schema, table-name :name, :as table} new-tables]
@@ -109,22 +110,23 @@
 
 
 (s/defn ^:private retire-tables!
-  "Mark any OLD-TABLES belonging to DATABASE as inactive."
+  "Mark any `old-tables` belonging to `database` as inactive."
   [database :- i/DatabaseInstance, old-tables :- #{i/DatabaseMetadataTable}]
-  (log/info "Marking tables as inactive:"
+  (log/info (trs "Marking tables as inactive:")
             (for [table old-tables]
               (sync-util/name-for-logging (table/map->TableInstance table))))
   (doseq [{schema :schema, table-name :name, :as table} old-tables]
     (db/update-where! Table {:db_id  (u/get-id database)
                              :schema schema
+                             :name   table-name
                              :active true}
       :active false)))
 
 
 (s/defn ^:private update-table-description!
-  "Update description for any CHANGED-TABLES belonging to DATABASE."
+  "Update description for any `changed-tables` belonging to `database`."
   [database :- i/DatabaseInstance, changed-tables :- #{i/DatabaseMetadataTable}]
-  (log/info "Updating description for tables:"
+  (log/info (trs "Updating description for tables:")
             (for [table changed-tables]
               (sync-util/name-for-logging (table/map->TableInstance table))))
   (doseq [{schema :schema, table-name :name, description :description} changed-tables]
@@ -137,7 +139,7 @@
 
 
 (s/defn ^:private db-metadata :- #{i/DatabaseMetadataTable}
-  "Return information about DATABASE by calling its driver's implementation of `describe-database`."
+  "Return information about `database` by calling its driver's implementation of `describe-database`."
   [database :- i/DatabaseInstance]
   (set (for [table (:tables (fetch-metadata/db-metadata database))
              :when (not (metabase-metadata/is-metabase-metadata-table? table))]
diff --git a/src/metabase/task/sync_databases.clj b/src/metabase/task/sync_databases.clj
index cebef868d4bd46728dbeec7d489984331a2a6c56..9b0ad73317ba2bdcf49e23ba92da5815033a2785 100644
--- a/src/metabase/task/sync_databases.clj
+++ b/src/metabase/task/sync_databases.clj
@@ -192,4 +192,4 @@
     (try
       (schedule-tasks-for-db! database)
       (catch Throwable e
-        (log/error e (trs "Failed to scheduler tasks for Database {0}" (:id database)))))))
+        (log/error e (trs "Failed to schedule tasks for Database {0}" (:id database)))))))
diff --git a/src/metabase/util.clj b/src/metabase/util.clj
index 372af039e3aa8885d836722f307532c4708582a9..c7189fec10906c620ed64c3fbed423699995694f 100644
--- a/src/metabase/util.clj
+++ b/src/metabase/util.clj
@@ -317,7 +317,7 @@
        (concat
         frames-after-last-mb
         ;; add a little arrow to the frame so it stands out more
-        (cons (str "--> " last-mb-frame)
+        (cons (some->> last-mb-frame (str "--> "))
               frames-before-last-mb))))})
 
 (defn deref-with-timeout
@@ -325,7 +325,8 @@
   [futur timeout-ms]
   (let [result (deref futur timeout-ms ::timeout)]
     (when (= result ::timeout)
-      (throw (TimeoutException. (format "Timed out after %d milliseconds." timeout-ms))))
+      (future-cancel futur)
+      (throw (TimeoutException. (str (tru "Timed out after {0} milliseconds." timeout-ms)))))
     result))
 
 (defmacro with-timeout
@@ -568,7 +569,8 @@
        :non-nil #{:d :e :f})
      ;; -> {:a 100, :b nil, :d 200}"
   {:style/indent 1}
-  [m & {:keys [present non-nil]}]
+  [m & {:keys [present non-nil], :as options}]
+  {:pre [(every? #{:present :non-nil} (keys options))]}
   (merge (select-keys m present)
          (select-non-nil-keys m non-nil)))
 
diff --git a/src/metabase/util/date.clj b/src/metabase/util/date.clj
index 314ee9bdd00160ce784842481debe4e0df357301..79c04052cbbda0666f423335dffbf68700633fe7 100644
--- a/src/metabase/util/date.clj
+++ b/src/metabase/util/date.clj
@@ -162,15 +162,17 @@
 
 (defprotocol ^:private ISO8601
   "Protocol for converting objects to ISO8601 formatted strings."
-  (->iso-8601-datetime ^String [this timezone-id]
-    "Coerce object to an ISO8601 date-time string such as \"2015-11-18T23:55:03.841Z\" with a given TIMEZONE."))
+  (->iso-8601-datetime ^String [this, ^String timezone-id-or-nil]
+    "Coerce object to an ISO8601 date-time string such as \"2015-11-18T23:55:03.841Z\" with a given `timezone-id`
+    string (such as '\"UTC\"'), or `nil`, which defaults to \"UTC\" (?)"))
 
 (def ^:private ^{:arglists '([timezone-id])} ISO8601Formatter
   ;; memoize this because the formatters are static. They must be distinct per timezone though.
-  (memoize (fn [timezone-id]
-             (if timezone-id
-               (time/with-zone (time/formatters :date-time) (t/time-zone-for-id timezone-id))
-               (time/formatters :date-time)))))
+  (memoize
+   (fn [^String timezone-id]
+     (if timezone-id
+       (time/with-zone (time/formatters :date-time) (t/time-zone-for-id timezone-id))
+       (time/formatters :date-time)))))
 
 (extend-protocol ISO8601
   nil                    (->iso-8601-datetime [_ _] nil)
@@ -218,7 +220,7 @@
    `Long` (ms since the epoch), or an ISO-8601 `String`. `date` defaults to the current moment in time.
 
    `date-format` is anything that can be passed to `->DateTimeFormatter`, such as `String`
-   (using [the usual date format args](http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html)),
+   (using [the usual date format args](http://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html)),
    `Keyword`, or `DateTimeFormatter`.
 
 
diff --git a/test/expectation_options.clj b/test/expectation_options.clj
index f9dbc19aa97febe1b371e6ae586e0614ec33eec4..635fa87d7c302b8ce38fcdbcd79a0eaf48e4ba4b 100644
--- a/test/expectation_options.clj
+++ b/test/expectation_options.clj
@@ -1,5 +1,53 @@
 (ns expectation-options
-  "Namespace expectations will automatically load before running a tests")
+  "Namespace expectations will automatically load before running a tests"
+  (:require [clojure
+             [data :as data]
+             [set :as set]]
+            [expectations :as expectations]
+            [metabase.util :as u]))
+
+;;; ---------------------------------------- Expectations Framework Settings -----------------------------------------
+
+;; ## EXPECTATIONS FORMATTING OVERRIDES
+
+;; These overrides the methods Expectations usually uses for printing failed tests.
+;; These are basically the same as the original implementations, but they colorize and pretty-print the
+;; output, which makes it an order of magnitude easier to read, especially for tests that compare a
+;; lot of data, like Query Processor or API tests.
+(defn- format-failure [e a str-e str-a]
+  {:type             :fail
+   :expected-message (when-let [in-e (first (data/diff e a))]
+                       (format "\nin expected, not actual:\n%s" (u/pprint-to-str 'green in-e)))
+   :actual-message   (when-let [in-a (first (data/diff a e))]
+                       (format "\nin actual, not expected:\n%s" (u/pprint-to-str 'red in-a)))
+   :raw              [str-e str-a]
+   :result           ["\nexpected:\n"
+                      (u/pprint-to-str 'green e)
+                      "\nwas:\n"
+                      (u/pprint-to-str 'red a)]})
+
+(defmethod expectations/compare-expr :expectations/maps [e a str-e str-a]
+  (let [[in-e in-a] (data/diff e a)]
+    (if (and (nil? in-e) (nil? in-a))
+      {:type :pass}
+      (format-failure e a str-e str-a))))
+
+(defmethod expectations/compare-expr :expectations/sets [e a str-e str-a]
+  (format-failure e a str-e str-a))
+
+(defmethod expectations/compare-expr :expectations/sequentials [e a str-e str-a]
+  (let [diff-fn (fn [e a] (seq (set/difference (set e) (set a))))]
+    (assoc (format-failure e a str-e str-a)
+           :message (cond
+                      (and (= (set e) (set a))
+                           (= (count e) (count a))
+                           (= (count e) (count (set a)))) "lists appear to contain the same items with different ordering"
+                      (and (= (set e) (set a))
+                           (< (count e) (count a)))       "some duplicate items in actual are not expected"
+                      (and (= (set e) (set a))
+                           (> (count e) (count a)))       "some duplicate items in expected are not actual"
+                      (< (count e) (count a))             "actual is larger than expected"
+                      (> (count e) (count a))             "expected is larger than actual"))))
 
 ;;; ---------------------------------------------- check-for-slow-tests ----------------------------------------------
 
diff --git a/test/metabase/api/alert_test.clj b/test/metabase/api/alert_test.clj
index f2f3d80e4736accbb2dfe36a02415367d8c6abca..7fd652707c7f36635c0d892116386e953f08f5b6 100644
--- a/test/metabase/api/alert_test.clj
+++ b/test/metabase/api/alert_test.clj
@@ -4,8 +4,8 @@
             [metabase
              [email-test :as et]
              [http-client :as http]
-             [middleware :as middleware]
              [util :as u]]
+            [metabase.middleware.util :as middleware.u]
             [metabase.models
              [card :refer [Card]]
              [collection :refer [Collection]]
@@ -122,8 +122,8 @@
 ;; We assume that all endpoints for a given context are enforced by the same middleware, so we don't run the same
 ;; authentication test on every single individual endpoint
 
-(expect (get middleware/response-unauthentic :body) (http/client :get 401 "alert"))
-(expect (get middleware/response-unauthentic :body) (http/client :put 401 "alert/13"))
+(expect (get middleware.u/response-unauthentic :body) (http/client :get 401 "alert"))
+(expect (get middleware.u/response-unauthentic :body) (http/client :put 401 "alert/13"))
 
 
 ;;; +----------------------------------------------------------------------------------------------------------------+
diff --git a/test/metabase/api/card_test.clj b/test/metabase/api/card_test.clj
index 59cf35ffd0459aa5844d020184b1fd38867274e3..bfc0b23ca09e30d9b43a08288f2a5fa00a19494e 100644
--- a/test/metabase/api/card_test.clj
+++ b/test/metabase/api/card_test.clj
@@ -7,10 +7,9 @@
             [metabase
              [email-test :as et]
              [http-client :as http :refer :all]
-             [middleware :as middleware]
              [util :as u]]
-            [metabase.api.card :as card-api]
             [metabase.driver.sql-jdbc.execute :as sql-jdbc.execute]
+            [metabase.middleware.util :as middleware.u]
             [metabase.models
              [card :refer [Card]]
              [card-favorite :refer [CardFavorite]]
@@ -25,6 +24,7 @@
              [pulse-channel-recipient :refer [PulseChannelRecipient]]
              [table :refer [Table]]
              [view-log :refer [ViewLog]]]
+            [metabase.query-processor.async :as qp.async]
             [metabase.query-processor.middleware.results-metadata :as results-metadata]
             [metabase.test
              [data :as data]
@@ -161,8 +161,8 @@
        3 (card-returned? :database db        card-2)))))
 
 
-(expect (get middleware/response-unauthentic :body) (http/client :get 401 "card"))
-(expect (get middleware/response-unauthentic :body) (http/client :put 401 "card/13"))
+(expect (get middleware.u/response-unauthentic :body) (http/client :get 401 "card"))
+(expect (get middleware.u/response-unauthentic :body) (http/client :put 401 "card/13"))
 
 
 ;; Make sure `model_id` is required when `f` is :database
@@ -353,7 +353,7 @@
           card-name (tu/random-name)]
       (tt/with-temp Collection [collection]
         (perms/grant-collection-readwrite-permissions! (perms-group/all-users) collection)
-        (tu/throw-if-called card-api/result-metadata-for-query
+        (tu/throw-if-called qp.async/result-metadata-for-query-async
           (tu/with-model-cleanup [Card]
             ;; create a card with the metadata
             ((user->client :rasta) :post 200 "card"
diff --git a/test/metabase/api/common_test.clj b/test/metabase/api/common_test.clj
index dcbe9f5cdfe13617c46ba60e7e21cb0de2de656f..bccd4913141361316e5deb3704143f2261504fd8 100644
--- a/test/metabase/api/common_test.clj
+++ b/test/metabase/api/common_test.clj
@@ -1,9 +1,11 @@
 (ns metabase.api.common-test
-  (:require [clojure.core.async :as async]
-            [expectations :refer :all]
+  (:require [expectations :refer [expect]]
             [metabase.api.common :as api :refer :all]
             [metabase.api.common.internal :refer :all]
-            [metabase.middleware :as mb-middleware]
+            [metabase.middleware
+             [exceptions :as mw.exceptions]
+             [misc :as mw.misc]
+             [security :as mw.security]]
             [metabase.test.data :refer :all]
             [metabase.util.schema :as su]))
 
@@ -14,7 +16,7 @@
   {:status  404
    :body    "Not found."
    :headers {"Cache-Control"                     "max-age=0, no-cache, must-revalidate, proxy-revalidate"
-             "Content-Security-Policy"           (-> @#'mb-middleware/content-security-policy-header vals first)
+             "Content-Security-Policy"           (-> @#'mw.security/content-security-policy-header vals first)
              "Content-Type"                      "text/plain"
              "Expires"                           "Tue, 03 Jul 2001 06:00:00 GMT"
              "Last-Modified"                     true ; this will be current date, so do update-in ... string?
@@ -25,10 +27,14 @@
              "X-XSS-Protection"                  "1; mode=block"}})
 
 (defn- mock-api-fn [response-fn]
-  ((-> response-fn
-       mb-middleware/catch-api-exceptions
-       mb-middleware/add-content-type)
-   {:uri "/api/my_fake_api_call"}))
+  ((-> (fn [request respond _]
+         (respond (response-fn request)))
+       mw.exceptions/catch-uncaught-exceptions
+       mw.exceptions/catch-api-exceptions
+       mw.misc/add-content-type)
+   {:uri "/api/my_fake_api_call"}
+   identity
+   (fn [e] (throw e))))
 
 (defn- my-mock-api-fn []
   (mock-api-fn
@@ -63,11 +69,14 @@
 ;; otherwise let-404 should bind as expected
 (expect
   {:user {:name "Cam"}}
-  ((mb-middleware/catch-api-exceptions
-    (fn [_]
-      (let-404 [user {:name "Cam"}]
-        {:user user})))
-   nil))
+  ((mw.exceptions/catch-api-exceptions
+    (fn [_ respond _]
+      (respond
+       (let-404 [user {:name "Cam"}]
+         {:user user}))))
+   nil
+   identity
+   (fn [e] (throw e))))
 
 
 (defmacro ^:private expect-expansion
@@ -123,86 +132,3 @@
     (defendpoint GET "/:id" [id]
       {id su/IntGreaterThanZero}
       (select-one Card :id id))))
-
-(def ^:private long-timeout
-  ;; 2 minutes
-  (* 2 60000))
-
-(defn- take-with-timeout [response-chan]
-  (let [[response c] (async/alts!! [response-chan
-                                    ;; We should never reach this unless something is REALLY wrong
-                                    (async/timeout long-timeout)])]
-    (when (and (nil? response)
-               (not= c response-chan))
-      (throw (Exception. "Taking from streaming endpoint timed out!")))
-
-    response))
-
-(defn- wait-for-future-cancellation
-  "Once a client disconnects, the next heartbeat sent will result in an exception that should cancel the future. In
-  theory 1 keepalive-interval should be enough, but building in some wiggle room here for poor concurrency timing in
-  tests."
-  [fut]
-  (let [keepalive-interval (var-get #'api/streaming-response-keep-alive-interval-ms)
-        max-iterations     (long (/ long-timeout keepalive-interval))]
-    (loop [i 0]
-      (if (or (future-cancelled? fut) (> i max-iterations))
-        fut
-        (do
-          (Thread/sleep keepalive-interval)
-          (recur (inc i)))))))
-
-;; This simulates 2 keepalive-intervals followed by the query response
-(expect
-  [\newline \newline {:success true} false]
-  (let [send-response (promise)
-        {:keys [output-channel error-channel response-future]} (#'api/invoke-thunk-with-keepalive (fn [] @send-response))]
-    [(take-with-timeout output-channel)
-     (take-with-timeout output-channel)
-     (do
-       (deliver send-response {:success true})
-       (take-with-timeout output-channel))
-     (future-cancelled? response-future)]))
-
-;; This simulates an immediate query response
-(expect
-  [{:success true} false]
-  (let [{:keys [output-channel error-channel response-future]} (#'api/invoke-thunk-with-keepalive (fn [] {:success true}))]
-    [(take-with-timeout output-channel)
-     (future-cancelled? response-future)]))
-
-;; This simulates a closed connection from the client, should cancel the future
-(expect
-  [\newline \newline true]
-  (let [send-response (promise)
-        {:keys [output-channel error-channel response-future]} (#'api/invoke-thunk-with-keepalive (fn [] (Thread/sleep long-timeout)))]
-    [(take-with-timeout output-channel)
-     (take-with-timeout output-channel)
-     (do
-       (async/close! output-channel)
-       (future-cancelled? (wait-for-future-cancellation response-future)))]))
-
-;; When an immediate exception happens, we should know that via the error channel
-(expect
-  ;; Each channel should have the failure and then get closed
-  ["It failed" "It failed" nil nil]
-  (let [{:keys [output-channel error-channel response-future]} (#'api/invoke-thunk-with-keepalive (fn [] (throw (Exception. "It failed"))))]
-    [(.getMessage (take-with-timeout error-channel))
-     (.getMessage (take-with-timeout output-channel))
-     (async/<!! error-channel)
-     (async/<!! output-channel)]))
-
-;; This simulates a slow failure, we'll still get an exception, but the error channel is closed, so at this point
-;; we've assumed it would be a success, but it wasn't
-(expect
-  [\newline nil \newline "It failed" false]
-  (let [now-throw-exception (promise)
-        {:keys [output-channel error-channel response-future]} (#'api/invoke-thunk-with-keepalive
-                                                                (fn [] @now-throw-exception (throw (Exception. "It failed"))))]
-    [(take-with-timeout output-channel)
-     (take-with-timeout error-channel)
-     (take-with-timeout output-channel)
-     (do
-       (deliver now-throw-exception true)
-       (.getMessage (take-with-timeout output-channel)))
-     (future-cancelled? response-future)]))
diff --git a/test/metabase/api/dashboard_test.clj b/test/metabase/api/dashboard_test.clj
index df062100c1a897eed0f1896e9e3cdf0e1681eba4..b612aad689cef05677ac759547ee508e9b8b2001 100644
--- a/test/metabase/api/dashboard_test.clj
+++ b/test/metabase/api/dashboard_test.clj
@@ -4,11 +4,11 @@
             [medley.core :as m]
             [metabase
              [http-client :as http]
-             [middleware :as middleware]
              [util :as u]]
             [metabase.api
              [card-test :as card-api-test]
              [dashboard :as dashboard-api]]
+            [metabase.middleware.util :as middleware.u]
             [metabase.models
              [card :refer [Card]]
              [collection :refer [Collection]]
@@ -97,8 +97,8 @@
 ;; We assume that all endpoints for a given context are enforced by the same middleware, so we don't run the same
 ;; authentication test on every single individual endpoint
 
-(expect (get middleware/response-unauthentic :body) (http/client :get 401 "dashboard"))
-(expect (get middleware/response-unauthentic :body) (http/client :put 401 "dashboard/13"))
+(expect (get middleware.u/response-unauthentic :body) (http/client :get 401 "dashboard"))
+(expect (get middleware.u/response-unauthentic :body) (http/client :put 401 "dashboard/13"))
 
 
 ;;; +----------------------------------------------------------------------------------------------------------------+
diff --git a/test/metabase/api/database_test.clj b/test/metabase/api/database_test.clj
index c8d96523c95c3c979563b1f3b84545875ee0d6bd..fefa8ed4fad74f798d78370ef31bb069b70e442b 100644
--- a/test/metabase/api/database_test.clj
+++ b/test/metabase/api/database_test.clj
@@ -118,6 +118,7 @@
 
 ;; ## POST /api/database
 ;; Check that we can create a Database
+;; TODO - this test fails if we're running Postgres locally & it requires a password...
 (expect-with-temp-db-created-via-api [db {:is_full_sync false}]
   (merge default-db-details
          (match-$ db
diff --git a/test/metabase/api/embed_test.clj b/test/metabase/api/embed_test.clj
index d358358f79d9fbd27fdb8b305b9e4c1dc157315a..12cd51a4cd2fc5feecfd77be0109a0814e420175 100644
--- a/test/metabase/api/embed_test.clj
+++ b/test/metabase/api/embed_test.clj
@@ -203,7 +203,9 @@
       (with-temp-card [card {:enable_embedding true, :dataset_query {:database (data/id)
                                                                      :type     :native
                                                                      :native   {:query "SELECT * FROM XYZ"}}}]
-        (http/client :get 400 (card-query-url card response-format))))))
+        ;; since results are keepalive-streamed for normal queries (i.e., not CSV, JSON, or XLSX) we have to return a
+        ;; status code right away, so streaming responses always return 200
+        (http/client :get (if (seq response-format) 400 200) (card-query-url card response-format))))))
 
 ;; check that the endpoint doesn't work if embedding isn't enabled
 (expect-for-response-formats [response-format]
@@ -404,7 +406,7 @@
                                      :card {:dataset_query {:database (data/id)
                                                             :type     :native,
                                                             :native   {:query "SELECT * FROM XYZ"}}}}]
-        (http/client :get 400 (dashcard-url dashcard))))))
+        (http/client :get 200 (dashcard-url dashcard))))))
 
 ;; check that the endpoint doesn't work if embedding isn't enabled
 (expect
diff --git a/test/metabase/api/metric_test.clj b/test/metabase/api/metric_test.clj
index ba4e7c5e42aecf83968a28ed0541b14eb4193bd8..236d35cdd6a858fa806b131f1d8200df801eec99 100644
--- a/test/metabase/api/metric_test.clj
+++ b/test/metabase/api/metric_test.clj
@@ -1,24 +1,29 @@
 (ns metabase.api.metric-test
   "Tests for /api/metric endpoints."
-  (:require [expectations :refer :all]
+  (:require [expectations :refer [expect]]
             [metabase
              [http-client :as http]
-             [middleware :as middleware]]
+             [util :as u]]
+            [metabase.middleware.util :as middleware.u]
             [metabase.models
              [database :refer [Database]]
              [metric :as metric :refer [Metric]]
+             [permissions :as perms]
+             [permissions-group :as group]
              [revision :refer [Revision]]
              [table :refer [Table]]]
             [metabase.test
              [data :as data :refer :all]
              [util :as tu]]
-            [metabase.test.data.users :refer :all]
-            [toucan.hydrate :refer [hydrate]]
+            [metabase.test.data.users :refer [fetch-user user->client user->id]]
+            [toucan
+             [db :as db]
+             [hydrate :refer [hydrate]]]
             [toucan.util.test :as tt]))
 
 ;; ## Helper Fns
 
-(def ^:private ^:const metric-defaults
+(def ^:private metric-defaults
   {:description             nil
    :show_in_getting_started false
    :caveats                 nil
@@ -30,16 +35,7 @@
    :definition              nil})
 
 (defn- user-details [user]
-  (tu/match-$ user
-    {:id           $
-     :email        $
-     :date_joined  $
-     :first_name   $
-     :last_name    $
-     :last_login   $
-     :is_superuser $
-     :is_qbnewb    $
-     :common_name  $}))
+  (select-keys user [:id :email :date_joined :first_name :last_name :last_login :is_superuser :is_qbnewb :common_name]))
 
 (defn- metric-response [{:keys [created_at updated_at], :as metric}]
   (-> (into {} metric)
@@ -53,8 +49,8 @@
 ;; We assume that all endpoints for a given context are enforced by the same middleware, so we don't run the same
 ;; authentication test on every single individual endpoint
 
-(expect (get middleware/response-unauthentic :body) (http/client :get 401 "metric"))
-(expect (get middleware/response-unauthentic :body) (http/client :put 401 "metric/13"))
+(expect (get middleware.u/response-unauthentic :body) (http/client :get 401 "metric"))
+(expect (get middleware.u/response-unauthentic :body) (http/client :put 401 "metric/13"))
 
 
 ;; ## POST /api/metric
@@ -109,19 +105,22 @@
 ;; ## PUT /api/metric
 
 ;; test security.  requires superuser perms
-(expect "You don't have permissions to do that."
-  ((user->client :rasta) :put 403 "metric/1" {:name             "abc"
-                                              :definition       {}
-                                              :revision_message "something different"}))
+(expect
+  "You don't have permissions to do that."
+  (tt/with-temp Metric [metric]
+    ((user->client :rasta) :put 403 (str "metric/" (u/get-id metric))
+     {:name             "abc"
+      :definition       {}
+      :revision_message "something different"})))
 
 ;; test validations
 (expect
-  {:errors {:name "value must be a non-blank string."}}
+  {:errors {:revision_message "value must be a non-blank string."}}
   ((user->client :crowberto) :put 400 "metric/1" {}))
 
 (expect
-  {:errors {:revision_message "value must be a non-blank string."}}
-  ((user->client :crowberto) :put 400 "metric/1" {:name "abc"}))
+  {:errors {:name "value may be nil, or if non-nil, value must be a non-blank string."}}
+  ((user->client :crowberto) :put 400 "metric/1" {:revision_message "Wow", :name ""}))
 
 (expect
   {:errors {:revision_message "value must be a non-blank string."}}
@@ -129,12 +128,7 @@
                                                   :revision_message ""}))
 
 (expect
-  {:errors {:definition "value must be a map."}}
-  ((user->client :crowberto) :put 400 "metric/1" {:name             "abc"
-                                                  :revision_message "123"}))
-
-(expect
-  {:errors {:definition "value must be a map."}}
+  {:errors {:definition "value may be nil, or if non-nil, value must be a map."}}
   ((user->client :crowberto) :put 400 "metric/1" {:name             "abc"
                                                   :revision_message "123"
                                                   :definition       "foobar"}))
@@ -149,24 +143,45 @@
   (tt/with-temp* [Database [{database-id :id}]
                   Table    [{table-id :id} {:db_id database-id}]
                   Metric   [{:keys [id]} {:table_id table-id}]]
-    (metric-response ((user->client :crowberto) :put 200 (format "metric/%d" id) {:id                      id
-                                                                                  :name                    "Costa Rica"
-                                                                                  :description             nil
-                                                                                  :show_in_getting_started false
-                                                                                  :caveats                 nil
-                                                                                  :points_of_interest      nil
-                                                                                  :how_is_this_calculated  nil
-                                                                                  :table_id                456
-                                                                                  :revision_message        "I got me some revisions"
-                                                                                  :definition              {:database 2
-                                                                                                            :query    {:filter ["not" "the toucans you're looking for"]}}}))))
+    (metric-response
+     ((user->client :crowberto) :put 200 (format "metric/%d" id)
+      {:id                      id
+       :name                    "Costa Rica"
+       :description             nil
+       :show_in_getting_started false
+       :caveats                 nil
+       :points_of_interest      nil
+       :how_is_this_calculated  nil
+       :table_id                456
+       :revision_message        "I got me some revisions"
+       :definition              {:database 2
+                                 :query    {:filter ["not" "the toucans you're looking for"]}}}))))
+
+;; Can we archive a Metric with the PUT endpoint?
+
+(expect
+  true
+  (tt/with-temp Metric [{:keys [id]}]
+    ((user->client :crowberto) :put 200 (str "metric/" id)
+     {:archived true, :revision_message "Archive the Metric"})
+    (db/select-one-field :archived Metric :id id)))
+
+;; Can we unarchive a Metric with the PUT endpoint?
+(expect
+  false
+  (tt/with-temp Metric [{:keys [id]} {:archived true}]
+    ((user->client :crowberto) :put 200 (str "metric/" id)
+     {:archived false, :revision_message "Unarchive the Metric"})
+    (db/select-one-field :archived Metric :id id)))
 
 
 ;; ## DELETE /api/metric/:id
 
 ;; test security.  requires superuser perms
-(expect "You don't have permissions to do that."
-  ((user->client :rasta) :delete 403 "metric/1" :revision_message "yeeeehaw!"))
+(expect
+  "You don't have permissions to do that."
+  (tt/with-temp Metric [{:keys [id]}]
+    ((user->client :rasta) :delete 403 (str "metric/" id) :revision_message "yeeeehaw!")))
 
 
 ;; test validations
@@ -177,45 +192,58 @@
   ((user->client :crowberto) :delete 400 "metric/1" :revision_message ""))
 
 (expect
-  [{:success true}
-   (merge metric-defaults
-          {:name        "Toucans in the rainforest"
-           :description "Lookin' for a blueberry"
-           :creator_id  (user->id :rasta)
-           :creator     (user-details (fetch-user :rasta))
-           :archived    true})]
+  (merge
+   metric-defaults
+   {:name        "Toucans in the rainforest"
+    :description "Lookin' for a blueberry"
+    :creator_id  (user->id :rasta)
+    :creator     (user-details (fetch-user :rasta))
+    :archived    true})
   (tt/with-temp* [Database [{database-id :id}]
                   Table    [{table-id :id} {:db_id database-id}]
                   Metric   [{:keys [id]}   {:table_id table-id}]]
-    [((user->client :crowberto) :delete 200 (format "metric/%d" id) :revision_message "carryon")
-     (metric-response (metric/retrieve-metric id))]))
+    ((user->client :crowberto) :delete 204 (format "metric/%d" id) :revision_message "carryon")
+    ;; should still be able to fetch the archived Metric
+    (metric-response
+     ((user->client :crowberto) :get 200 (format "metric/%d" id)))))
 
 
 ;; ## GET /api/metric/:id
 
-;; test security.  requires superuser perms
-(expect "You don't have permissions to do that."
-  ((user->client :rasta) :get 403 "metric/1"))
+;; test security. Requires perms for the Table it references
+(expect
+  "You don't have permissions to do that."
+  (tt/with-temp* [Database [db]
+                  Table    [table  {:db_id (u/get-id db)}]
+                  Metric   [metric {:table_id (u/get-id table)}]]
+    (perms/revoke-permissions! (group/all-users) db)
+    ((user->client :rasta) :get 403 (str "metric/" (u/get-id metric)))))
 
 
 (expect
-  (merge metric-defaults
-         {:name        "Toucans in the rainforest"
-          :description "Lookin' for a blueberry"
-          :creator_id  (user->id :crowberto)
-          :creator     (user-details (fetch-user :crowberto))})
+  (merge
+   metric-defaults
+   {:name        "Toucans in the rainforest"
+    :description "Lookin' for a blueberry"
+    :creator_id  (user->id :crowberto)
+    :creator     (user-details (fetch-user :crowberto))})
   (tt/with-temp* [Database [{database-id :id}]
                   Table    [{table-id :id} {:db_id database-id}]
                   Metric   [{:keys [id]}   {:creator_id  (user->id :crowberto)
                                             :table_id    table-id}]]
-    (metric-response ((user->client :crowberto) :get 200 (format "metric/%d" id)))))
+    (metric-response ((user->client :rasta) :get 200 (format "metric/%d" id)))))
 
 
 ;; ## GET /api/metric/:id/revisions
 
-;; test security.  requires superuser perms
-(expect "You don't have permissions to do that."
-  ((user->client :rasta) :get 403 "metric/1/revisions"))
+;; test security. Requires read perms for Table it references
+(expect
+  "You don't have permissions to do that."
+  (tt/with-temp* [Database [db]
+                  Table    [table  {:db_id (u/get-id db)}]
+                  Metric   [metric {:table_id (u/get-id table)}]]
+    (perms/revoke-permissions! (group/all-users) db)
+    ((user->client :rasta) :get 403 (format "metric/%d/revisions" (u/get-id metric)))))
 
 
 (expect
@@ -257,15 +285,19 @@
                                             :object   {:name "c"
                                                        :definition {:filter [:and [:> 1 25]]}}
                                             :message  "updated"}]]
-    (doall (for [revision ((user->client :crowberto) :get 200 (format "metric/%d/revisions" id))]
-             (dissoc revision :timestamp :id)))))
+    (vec
+     (for [revision ((user->client :rasta) :get 200 (format "metric/%d/revisions" id))]
+       (dissoc revision :timestamp :id)))))
 
 
 ;; ## POST /api/metric/:id/revert
 
 ;; test security.  requires superuser perms
-(expect "You don't have permissions to do that."
-  ((user->client :rasta) :post 403 "metric/1/revert" {:revision_id 56}))
+(expect
+  "You don't have permissions to do that."
+  (tt/with-temp Metric [{:keys [id]}]
+    ((user->client :rasta) :post 403 (format "metric/%d/revert" id)
+     {:revision_id 56})))
 
 
 (expect {:errors {:revision_id "value must be an integer greater than zero."}}
diff --git a/test/metabase/api/notify_test.clj b/test/metabase/api/notify_test.clj
index e363ee4607e65db93387cb4bf55e70659b9d94cc..4523810a35f46f9d3bd2afc0fbbaf2625c0f991c 100644
--- a/test/metabase/api/notify_test.clj
+++ b/test/metabase/api/notify_test.clj
@@ -1,24 +1,27 @@
 (ns metabase.api.notify-test
   (:require [clj-http.client :as client]
-            [expectations :refer :all]
-            (metabase [http-client :as http]
-                      [middleware :as middleware])))
-
+            [expectations :refer [expect]]
+            [metabase.http-client :as http]
+            [metabase.middleware.util :as middleware.u]))
 
 ;; ## /api/notify/* AUTHENTICATION Tests
 ;; We assume that all endpoints for a given context are enforced by the same middleware, so we don't run the same
 ;; authentication test on every single individual endpoint
 
-(expect (get middleware/response-forbidden :body) (http/client :post 403 "notify/db/100"))
+(expect
+  (get middleware.u/response-forbidden :body)
+  (http/client :post 403 "notify/db/100"))
 
 
 ;; ## POST /api/notify/db/:id
 ;; database must exist or we get a 404
 (expect
   {:status 404
-   :body "Not found."}
-  (try (client/post (http/build-url "notify/db/10000" {}) {:accept  :json
-                                                           :headers {"X-METABASE-APIKEY" "test-api-key"}})
+   :body   "Not found."}
+  (try (client/post (http/build-url "notify/db/10000" {})
+                    {:accept  :json
+                     :headers {"X-METABASE-APIKEY" "test-api-key"
+                               "Content-Type"      "application/json"}})
        (catch clojure.lang.ExceptionInfo e
          (select-keys (:object (ex-data e)) [:status :body]))))
 
diff --git a/test/metabase/api/permissions_test.clj b/test/metabase/api/permissions_test.clj
index 7227ec19ffd9f672096fe305914ba18c2bcc3b27..3ee4b2bad1d910e7e58cb58423598cf63b25501f 100644
--- a/test/metabase/api/permissions_test.clj
+++ b/test/metabase/api/permissions_test.clj
@@ -13,19 +13,21 @@
 ;; Should *not* include inactive users in the counts.
 ;; It should also *not* include the MetaBot group because MetaBot should *not* be enabled
 (defn- fetch-groups []
-  (test-users/delete-temp-users!)
   (set ((test-users/user->client :crowberto) :get 200 "permissions/group")))
 
 (expect
-  #{{:id (u/get-id (group/all-users)), :name "All Users",      :members 3}
-    {:id (u/get-id (group/admin)),     :name "Administrators", :members 1}}
-  (fetch-groups))
+  #{{:id (u/get-id (group/all-users)), :name "All Users",      :member_count 3}
+    {:id (u/get-id (group/admin)),     :name "Administrators", :member_count 1}}
+  ;; make sure test users are created first, otherwise we're possibly going to have some WEIRD results
+  (do
+    (test-users/create-users-if-needed!)
+    (fetch-groups)))
 
 ;; The endpoint should however return empty groups!
 (tt/expect-with-temp [PermissionsGroup [group]]
-  #{{:id (u/get-id (group/all-users)), :name "All Users",      :members 3}
-    {:id (u/get-id (group/admin)),     :name "Administrators", :members 1}
-    (assoc (into {} group) :members 0)}
+  #{{:id (u/get-id (group/all-users)), :name "All Users",      :member_count 3}
+    {:id (u/get-id (group/admin)),     :name "Administrators", :member_count 1}
+    (assoc (into {} group) :member_count 0)}
   (fetch-groups))
 
 
@@ -36,9 +38,10 @@
     {:first_name "Lucky",     :last_name "Pigeon", :email "lucky@metabase.com",     :user_id (test-users/user->id :lucky),     :membership_id true}
     {:first_name "Rasta",     :last_name "Toucan", :email "rasta@metabase.com",     :user_id (test-users/user->id :rasta),     :membership_id true}}
   (do
-    (test-users/delete-temp-users!)
-    (set (for [member (:members ((test-users/user->client :crowberto) :get 200 (str "permissions/group/" (u/get-id (group/all-users)))))]
-           (update member :membership_id (complement nil?))))))
+    (test-users/create-users-if-needed!)
+    (set
+     (for [member (:members ((test-users/user->client :crowberto) :get 200 (str "permissions/group/" (u/get-id (group/all-users)))))]
+       (update member :membership_id some?)))))
 
 
 ;; make sure we can update the perms graph from the API
@@ -48,6 +51,7 @@
   (data/id :users)      :none
   (data/id :venues)     :all}
  (tt/with-temp PermissionsGroup [group]
+   (test-users/create-users-if-needed!)
    ((test-users/user->client :crowberto) :put 200 "permissions/graph"
     (assoc-in (perms/graph)
               [:groups (u/get-id group) (data/id) :schemas]
diff --git a/test/metabase/api/public_test.clj b/test/metabase/api/public_test.clj
index b9c63eedcfa7bf4deeb4ea72b1e30a2ee7d1543b..b44e147e7c1c49f1945861639d2c2c906efbfcdd 100644
--- a/test/metabase/api/public_test.clj
+++ b/test/metabase/api/public_test.clj
@@ -6,7 +6,7 @@
             [metabase
              [config :as config]
              [http-client :as http]
-             [query-processor-test :as qp-test]
+             [query-processor-test :as qp.test]
              [util :as u]]
             [metabase.api.public :as public-api]
             [metabase.models
@@ -156,7 +156,7 @@
   [[100]]
   (tu/with-temporary-setting-values [enable-public-sharing true]
     (with-temp-public-card [{uuid :public_uuid}]
-      (qp-test/rows (http/client :get 200 (str "public/card/" uuid "/query"))))))
+      (qp.test/rows (http/client :get 200 (str "public/card/" uuid "/query"))))))
 
 ;; Check that we can exec a PublicCard and get results as JSON
 (expect
@@ -330,7 +330,7 @@
   [[100]]
   (tu/with-temporary-setting-values [enable-public-sharing true]
     (with-temp-public-dashboard-and-card [dash card]
-      (qp-test/rows (http/client :get 200 (dashcard-url dash card))))))
+      (qp.test/rows (http/client :get 200 (dashcard-url dash card))))))
 
 ;; Check that we can exec a PublicCard via a PublicDashboard with `?parameters`
 (expect
@@ -359,7 +359,7 @@
                                                  :slug   :venue_id
                                                  :target [:dimension (data/id :venues :id)]
                                                  :value  [10]}]))
-         qp-test/rows))))
+         qp.test/rows))))
 
 ;; Make sure params are validated: this should fail because venue_name is *not* one of the Dashboard's :parameters
 (expect
@@ -382,7 +382,7 @@
                                                                   :card_id      (u/get-id card)
                                                                   :dashboard_id (u/get-id dash))
                                               :card_id          (u/get-id card-2)}]
-          (qp-test/rows (http/client :get 200 (dashcard-url dash card-2))))))))
+          (qp.test/rows (http/client :get 200 (dashcard-url dash card-2))))))))
 
 ;; Make sure that parameters actually work correctly (#7212)
 (expect
@@ -412,8 +412,7 @@
                         [{:type   :category
                           :target [:variable [:template-tag :num]]
                           :value  "50"}])))
-            :data
-            :rows)))))
+            qp.test/rows)))))
 
 ;; ...with MBQL Cards as well...
 (expect
@@ -440,8 +439,7 @@
                         [{:type   :id
                           :target [:dimension [:field-id (data/id :venues :id)]]
                           :value  "50"}])))
-            :data
-            :rows)))))
+            qp.test/rows)))))
 
 ;; ...and also for DateTime params
 (expect
@@ -468,42 +466,40 @@
                         [{:type   "date/all-options"
                           :target [:dimension [:field-id (data/id :checkins :date)]]
                           :value  "~2015-01-01"}])))
-            :data
-            :rows)))))
+            qp.test/rows)))))
 
 ;; make sure DimensionValue params also work if they have a default value, even if some is passed in for some reason
 ;; as part of the query (#7253)
 ;; If passed in as part of the query however make sure it doesn't override what's actually in the DB
 (expect
- [["Wow"]]
- (tu/with-temporary-setting-values [enable-public-sharing true]
-   (tt/with-temp Card [card {:dataset_query {:database (data/id)
-                                             :type     :native
-                                             :native   {:query         "SELECT {{msg}} AS message"
-                                                        :template-tags {:msg {:id           "181da7c5"
-                                                                              :name         "msg"
-                                                                              :display-name "Message"
-                                                                              :type         "text"
-                                                                              :required     true
-                                                                              :default      "Wow"}}}}}]
-     (with-temp-public-dashboard [dash {:parameters [{:name "Message"
-                                                      :slug "msg"
-                                                      :id   "181da7c5"
-                                                      :type "category"}]}]
-       (add-card-to-dashboard! card dash
-         :parameter_mappings [{:card_id      (u/get-id card)
-                               :target       [:variable [:template-tag :msg]]
-                               :parameter_id "181da7c5"}])
-       (-> ((test-users/user->client :crowberto)
-            :get (str (dashcard-url dash card)
-                      "?parameters="
-                      (json/generate-string
-                       [{:type    :category
-                         :target  [:variable [:template-tag :msg]]
-                         :value   nil
-                         :default "Hello"}])))
-           :data
-           :rows)))))
+  [["Wow"]]
+  (tu/with-temporary-setting-values [enable-public-sharing true]
+    (tt/with-temp Card [card {:dataset_query {:database (data/id)
+                                              :type     :native
+                                              :native   {:query         "SELECT {{msg}} AS message"
+                                                         :template-tags {:msg {:id           "181da7c5"
+                                                                               :name         "msg"
+                                                                               :display-name "Message"
+                                                                               :type         "text"
+                                                                               :required     true
+                                                                               :default      "Wow"}}}}}]
+      (with-temp-public-dashboard [dash {:parameters [{:name "Message"
+                                                       :slug "msg"
+                                                       :id   "181da7c5"
+                                                       :type "category"}]}]
+        (add-card-to-dashboard! card dash
+          :parameter_mappings [{:card_id      (u/get-id card)
+                                :target       [:variable [:template-tag :msg]]
+                                :parameter_id "181da7c5"}])
+        (-> ((test-users/user->client :crowberto)
+             :get (str (dashcard-url dash card)
+                       "?parameters="
+                       (json/generate-string
+                        [{:type    :category
+                          :target  [:variable [:template-tag :msg]]
+                          :value   nil
+                          :default "Hello"}])))
+            qp.test/rows)))))
 
 
 ;;; --------------------------- Check that parameter information comes back with Dashboard ---------------------------
@@ -779,6 +775,7 @@
      (http/client :get 400 (field-values-url card (data/id :venues :name))))))
 
 
+
 ;;; ----------------------------- GET /api/public/dashboard/:uuid/field/:field-id/values -----------------------------
 
 (defn do-with-sharing-enabled-and-temp-dashcard-referencing {:style/indent 2} [table-kw field-kw f]
diff --git a/test/metabase/api/pulse_test.clj b/test/metabase/api/pulse_test.clj
index 025557fa002ed017da4d89df104c1ecf3c4cd1f1..95ef7b7bcfcf8829b732fbf7f041fe6e8245d2ae 100644
--- a/test/metabase/api/pulse_test.clj
+++ b/test/metabase/api/pulse_test.clj
@@ -4,10 +4,10 @@
             [metabase
              [email-test :as et]
              [http-client :as http]
-             [middleware :as middleware]
              [util :as u]]
             [metabase.api.card-test :as card-api-test]
             [metabase.integrations.slack :as slack]
+            [metabase.middleware.util :as middleware.u]
             [metabase.models
              [card :refer [Card]]
              [collection :refer [Collection]]
@@ -47,19 +47,13 @@
                         :created_at]))
 
 (defn- pulse-details [pulse]
-  (tu/match-$ pulse
-    {:id                  $
-     :name                $
-     :created_at          $
-     :updated_at          $
-     :creator_id          $
-     :creator             (user-details (db/select-one 'User :id (:creator_id pulse)))
-     :cards               (map pulse-card-details (:cards pulse))
-     :channels            (map pulse-channel-details (:channels pulse))
-     :collection_id       $
-     :collection_position $
-     :archived            $
-     :skip_if_empty       $}))
+  (merge
+   (select-keys
+    pulse
+    [:id :name :created_at :updated_at :creator_id :collection_id :collection_position :archived :skip_if_empty])
+   {:creator  (user-details (db/select-one 'User :id (:creator_id pulse)))
+    :cards    (map pulse-card-details (:cards pulse))
+    :channels (map pulse-channel-details (:channels pulse))}))
 
 (defn- pulse-response [{:keys [created_at updated_at], :as pulse}]
   (-> pulse
@@ -95,8 +89,8 @@
 ;; We assume that all endpoints for a given context are enforced by the same middleware, so we don't run the same
 ;; authentication test on every single individual endpoint
 
-(expect (:body middleware/response-unauthentic) (http/client :get 401 "pulse"))
-(expect (:body middleware/response-unauthentic) (http/client :put 401 "pulse/13"))
+(expect (:body middleware.u/response-unauthentic) (http/client :get 401 "pulse"))
+(expect (:body middleware.u/response-unauthentic) (http/client :put 401 "pulse/13"))
 
 
 ;;; +----------------------------------------------------------------------------------------------------------------+
diff --git a/test/metabase/api/segment_test.clj b/test/metabase/api/segment_test.clj
index fc48f7ec63fa87e4c0bc202cf84addf717140fb8..33b04a270313c11b90dcf3b1ddd83981e1829496 100644
--- a/test/metabase/api/segment_test.clj
+++ b/test/metabase/api/segment_test.clj
@@ -1,12 +1,14 @@
 (ns metabase.api.segment-test
   "Tests for /api/segment endpoints."
-  (:require [expectations :refer :all]
+  (:require [expectations :refer [expect]]
             [metabase
              [http-client :as http]
-             [middleware :as middleware]
              [util :as u]]
+            [metabase.middleware.util :as middleware.u]
             [metabase.models
              [database :refer [Database]]
+             [permissions :as perms]
+             [permissions-group :as group]
              [revision :refer [Revision]]
              [segment :as segment :refer [Segment]]
              [table :refer [Table]]]
@@ -14,37 +16,30 @@
              [data :refer :all]
              [util :as tu]]
             [metabase.test.data.users :refer :all]
-            [toucan.hydrate :refer [hydrate]]
+            [toucan
+             [db :as db]
+             [hydrate :refer [hydrate]]]
             [toucan.util.test :as tt]))
 
 ;; ## Helper Fns
 
 (defn- user-details [user]
-  (tu/match-$ user
-    {:id           $
-     :email        $
-     :date_joined  $
-     :first_name   $
-     :last_name    $
-     :last_login   $
-     :is_superuser $
-     :is_qbnewb    $
-     :common_name  $}))
-
-(defn- segment-response [{:keys [created_at updated_at] :as segment}]
+  (select-keys user [:email :first_name :last_login :is_qbnewb :is_superuser :id :last_name :date_joined :common_name]))
+
+(defn- segment-response [segment]
   (-> (into {} segment)
       (dissoc :id :table_id)
       (update :creator #(into {} %))
-      (assoc :created_at (some? created_at)
-             :updated_at (some? updated_at))))
+      (update :created_at some?)
+      (update :updated_at some?)))
 
 
 ;; ## /api/segment/* AUTHENTICATION Tests
 ;; We assume that all endpoints for a given context are enforced by the same middleware, so we don't run the same
 ;; authentication test on every single individual endpoint
 
-(expect (get middleware/response-unauthentic :body) (http/client :get 401 "segment"))
-(expect (get middleware/response-unauthentic :body) (http/client :put 401 "segment/13"))
+(expect (get middleware.u/response-unauthentic :body) (http/client :get 401 "segment"))
+(expect (get middleware.u/response-unauthentic :body) (http/client :put 401 "segment/13"))
 
 
 ;; ## POST /api/segment
@@ -102,14 +97,17 @@
 ;; ## PUT /api/segment
 
 ;; test security.  requires superuser perms
-(expect "You don't have permissions to do that."
-  ((user->client :rasta) :put 403 "segment/1" {:name             "abc"
-                                               :definition       {}
-                                               :revision_message "something different"}))
+(expect
+  "You don't have permissions to do that."
+  (tt/with-temp Segment [segment]
+    ((user->client :rasta) :put 403 (str "segment/" (:id segment))
+     {:name             "abc"
+      :definition       {}
+      :revision_message "something different"})))
 
 ;; test validations
-(expect {:errors {:name "value must be a non-blank string."}}
-  ((user->client :crowberto) :put 400 "segment/1" {}))
+(expect {:errors {:name "value may be nil, or if non-nil, value must be a non-blank string."}}
+  ((user->client :crowberto) :put 400 "segment/1" {:name ""}))
 
 (expect {:errors {:revision_message "value must be a non-blank string."}}
   ((user->client :crowberto) :put 400 "segment/1" {:name "abc"}))
@@ -118,11 +116,7 @@
   ((user->client :crowberto) :put 400 "segment/1" {:name             "abc"
                                                    :revision_message ""}))
 
-(expect {:errors {:definition "value must be a map."}}
-  ((user->client :crowberto) :put 400 "segment/1" {:name             "abc"
-                                                   :revision_message "123"}))
-
-(expect {:errors {:definition "value must be a map."}}
+(expect {:errors {:definition "value may be nil, or if non-nil, value must be a map."}}
   ((user->client :crowberto) :put 400 "segment/1" {:name             "abc"
                                                    :revision_message "123"
                                                    :definition       "foobar"}))
@@ -142,22 +136,42 @@
   (tt/with-temp* [Database [{database-id :id}]
                   Table    [{table-id :id} {:db_id database-id}]
                   Segment  [{:keys [id]}   {:table_id table-id}]]
-    (segment-response ((user->client :crowberto) :put 200 (format "segment/%d" id) {:id                      id
-                                                                                    :name                    "Costa Rica"
-                                                                                    :description             nil
-                                                                                    :show_in_getting_started false
-                                                                                    :caveats                 nil
-                                                                                    :points_of_interest      nil
-                                                                                    :table_id                456
-                                                                                    :revision_message        "I got me some revisions"
-                                                                                    :definition              {:filter [:!= [:field-id 2] "cans"]}}))))
+    (segment-response ((user->client :crowberto) :put 200 (format "segment/%d" id)
+                       {:id                      id
+                        :name                    "Costa Rica"
+                        :description             nil
+                        :show_in_getting_started false
+                        :caveats                 nil
+                        :points_of_interest      nil
+                        :table_id                456
+                        :revision_message        "I got me some revisions"
+                        :definition              {:filter [:!= [:field-id 2] "cans"]}}))))
+
+;; Can we archive a Segment with the PUT endpoint?
+
+(expect
+  true
+  (tt/with-temp Segment [{:keys [id]}]
+    ((user->client :crowberto) :put 200 (str "segment/" id)
+     {:archived true, :revision_message "Archive the Segment"})
+    (db/select-one-field :archived Segment :id id)))
+
+;; Can we unarchive a Segment with the PUT endpoint?
+(expect
+  false
+  (tt/with-temp Segment [{:keys [id]} {:archived true}]
+    ((user->client :crowberto) :put 200 (str "segment/" id)
+     {:archived false, :revision_message "Unarchive the Segment"})
+    (db/select-one-field :archived Segment :id id)))
 
 
 ;; ## DELETE /api/segment/:id
 
 ;; test security.  requires superuser perms
-(expect "You don't have permissions to do that."
-  ((user->client :rasta) :delete 403 "segment/1" :revision_message "yeeeehaw!"))
+(expect
+  "You don't have permissions to do that."
+  (tt/with-temp Segment [{:keys [id]}]
+    ((user->client :rasta) :delete 403 (str "segment/" id) :revision_message "yeeeehaw!")))
 
 
 ;; test validations
@@ -168,31 +182,36 @@
   ((user->client :crowberto) :delete 400 "segment/1" :revision_message ""))
 
 (expect
-  [{:success true}
-   {:name                    "Toucans in the rainforest"
-    :description             "Lookin' for a blueberry"
-    :show_in_getting_started false
-    :caveats                 nil
-    :points_of_interest      nil
-    :creator_id              (user->id :rasta)
-    :creator                 (user-details (fetch-user :rasta))
-    :created_at              true
-    :updated_at              true
-    :archived                true
-    :definition              nil}]
+  {:name                    "Toucans in the rainforest"
+   :description             "Lookin' for a blueberry"
+   :show_in_getting_started false
+   :caveats                 nil
+   :points_of_interest      nil
+   :creator_id              (user->id :rasta)
+   :creator                 (user-details (fetch-user :rasta))
+   :created_at              true
+   :updated_at              true
+   :archived                true
+   :definition              nil}
   (tt/with-temp* [Database [{database-id :id}]
                   Table    [{table-id :id} {:db_id database-id}]
                   Segment  [{:keys [id]} {:table_id table-id}]]
-    [((user->client :crowberto) :delete 200 (format "segment/%d" id) :revision_message "carryon")
-     (segment-response (segment/retrieve-segment id))]))
+    ((user->client :crowberto) :delete 204 (format "segment/%d" id) :revision_message "carryon")
+    ;; should still be able to fetch the archived segment
+    (segment-response
+     ((user->client :crowberto) :get 200 (format "segment/%d" id)))))
 
 
 ;; ## GET /api/segment/:id
 
-;; test security.  requires superuser perms
-(expect "You don't have permissions to do that."
-  ((user->client :rasta) :get 403 "segment/1"))
-
+;; test security. Requires read perms for the Table it references
+(expect
+  "You don't have permissions to do that."
+  (tt/with-temp* [Database [db]
+                  Table    [table   {:db_id (u/get-id db)}]
+                  Segment  [segment {:table_id (u/get-id table)}]]
+    (perms/revoke-permissions! (group/all-users) db)
+    ((user->client :rasta) :get 403 (str "segment/" (u/get-id segment)))))
 
 (expect
   {:name                    "Toucans in the rainforest"
@@ -211,14 +230,19 @@
                   Segment  [{:keys [id]}   {:creator_id (user->id :crowberto)
                                             :table_id   table-id
                                             :definition {:filter [:= [:field-id 2] "cans"]}}]]
-    (segment-response ((user->client :crowberto) :get 200 (format "segment/%d" id)))))
+    (segment-response ((user->client :rasta) :get 200 (format "segment/%d" id)))))
 
 
 ;; ## GET /api/segment/:id/revisions
 
-;; test security.  requires superuser perms
-(expect "You don't have permissions to do that."
-  ((user->client :rasta) :get 403 "segment/1/revisions"))
+;; test security. Requires read perms for the Table it references
+(expect
+  "You don't have permissions to do that."
+  (tt/with-temp* [Database [db]
+                  Table    [table   {:db_id (u/get-id db)}]
+                  Segment  [segment {:table_id (u/get-id table)}]]
+    (perms/revoke-permissions! (group/all-users) db)
+    ((user->client :rasta) :get 403 (format "segment/%d/revisions" (u/get-id segment)))))
 
 
 (expect
@@ -254,15 +278,18 @@
                                :object   {:name "c"
                                           :definition {:filter [:and [:> 1 25]]}}
                                :message  "updated"}]]
-    (doall (for [revision ((user->client :crowberto) :get 200 (format "segment/%d/revisions" id))]
-             (dissoc revision :timestamp :id)))))
+    (vec
+     (for [revision ((user->client :rasta) :get 200 (format "segment/%d/revisions" id))]
+       (dissoc revision :timestamp :id)))))
 
 
 ;; ## POST /api/segment/:id/revert
 
 ;; test security.  requires superuser perms
-(expect "You don't have permissions to do that."
-  ((user->client :rasta) :post 403 "segment/1/revert" {:revision_id 56}))
+(expect
+  "You don't have permissions to do that."
+  (tt/with-temp Segment [{:keys [id]}]
+    ((user->client :rasta) :post 403 (format "segment/%d/revert" id) {:revision_id 56})))
 
 
 (expect {:errors {:revision_id "value must be an integer greater than zero."}}
diff --git a/test/metabase/api/session_test.clj b/test/metabase/api/session_test.clj
index e46dbce332db07230d68b2032d6cf932cf7d4260..acf23547c4d115f22d91b63c723659d870f32249 100644
--- a/test/metabase/api/session_test.clj
+++ b/test/metabase/api/session_test.clj
@@ -13,11 +13,12 @@
             [metabase.test
              [data :refer :all]
              [util :as tu]]
-            [metabase.test.data.users :refer :all]
+            [metabase.test.data.users :as test-users :refer :all]
             [metabase.test.integrations.ldap :refer [expect-with-ldap-server]]
             [metabase.test.util.log :as tu.log]
             [toucan.db :as db]
-            [toucan.util.test :as tt]))
+            [toucan.util.test :as tt])
+  (:import java.util.UUID))
 
 ;; ## POST /api/session
 ;; Test that we can login
@@ -61,10 +62,16 @@
 ;; Test that we can logout
 (expect
   nil
-  (let [{session_id :id} ((user->client :rasta) :post 200 "session" (user->credentials :rasta))]
-    (assert session_id)
-    ((user->client :rasta) :delete 204 "session" :session_id session_id)
-    (Session session_id)))
+  (do
+    ;; clear out cached session tokens so next time we make an API request it log in & we'll know we have a valid
+    ;; Session
+    (test-users/clear-cached-session-tokens!)
+    (let [session-id (test-users/username->token :rasta)]
+      ;; Ok, calling the logout endpoint should delete the Session in the DB. Don't worry, `test-users` will log back
+      ;; in on the next API call
+      ((user->client :rasta) :delete 204 "session")
+      ;; check whether it's still there -- should be GONE
+      (Session session-id))))
 
 
 ;; ## POST /api/session/forgot_password
@@ -234,18 +241,15 @@
                    [:first_name :last_name :email]))))
 
 
-;;; tests for google-auth-fetch-or-create-user!
-
-(defn- is-session? [session]
-  (u/ignore-exceptions
-    (tu/is-uuid-string? (:id session))))
+;;; --------------------------------------- google-auth-fetch-or-create-user! ----------------------------------------
 
 ;; test that an existing user can log in with Google auth even if the auto-create accounts domain is different from
 ;; their account should return a Session
 (expect
+  UUID
   (tt/with-temp User [user {:email "cam@sf-toucannery.com"}]
     (tu/with-temporary-setting-values [google-auth-auto-create-accounts-domain "metabase.com"]
-      (is-session? (#'session-api/google-auth-fetch-or-create-user! "Cam" "Saül" "cam@sf-toucannery.com")))))
+      (#'session-api/google-auth-fetch-or-create-user! "Cam" "Saul" "cam@sf-toucannery.com"))))
 
 ;; test that a user that doesn't exist with a *different* domain than the auto-create accounts domain gets an
 ;; exception
@@ -258,11 +262,14 @@
 ;; test that a user that doesn't exist with the *same* domain as the auto-create accounts domain means a new user gets
 ;; created
 (expect
+  UUID
   (et/with-fake-inbox
     (tu/with-temporary-setting-values [google-auth-auto-create-accounts-domain "sf-toucannery.com"
                                        admin-email                             "rasta@toucans.com"]
-      (u/prog1 (is-session? (#'session-api/google-auth-fetch-or-create-user! "Rasta" "Toucan" "rasta@sf-toucannery.com"))
-        (db/delete! User :email "rasta@sf-toucannery.com"))))) ; clean up after ourselves
+      (try
+        (#'session-api/google-auth-fetch-or-create-user! "Rasta" "Toucan" "rasta@sf-toucannery.com")
+        (finally
+          (db/delete! User :email "rasta@sf-toucannery.com")))))) ; clean up after ourselves
 
 
 ;;; ------------------------------------------- TESTS FOR LDAP AUTH STUFF --------------------------------------------
diff --git a/test/metabase/api/setting_test.clj b/test/metabase/api/setting_test.clj
index 1608d91bf8026ebf17e170ff925674834bdf9687..8dfadd6e4e9588aa1264e876b8f2aed2663c0019 100644
--- a/test/metabase/api/setting_test.clj
+++ b/test/metabase/api/setting_test.clj
@@ -1,7 +1,7 @@
 (ns metabase.api.setting-test
-  (:require [expectations :refer :all]
-            [metabase.models.setting-test :refer [set-settings! test-setting-1 test-setting-2]]
-            [metabase.test.data.users :refer :all]))
+  (:require [expectations :refer [expect]]
+            [metabase.models.setting-test :refer [set-settings! test-sensitive-setting test-setting-1 test-setting-2]]
+            [metabase.test.data.users :refer [user->client]]))
 
 ;; ## Helper Fns
 (defn- fetch-test-settings  []
@@ -15,8 +15,18 @@
 ;; ## GET /api/setting
 ;; Check that we can fetch all Settings for Org
 (expect
- [{:key "test-setting-1", :value nil,     :is_env_setting true,  :env_name "MB_TEST_SETTING_1", :description "Test setting - this only shows up in dev (1)", :default "Using $MB_TEST_SETTING_1"}
-  {:key "test-setting-2", :value "FANCY", :is_env_setting false, :env_name "MB_TEST_SETTING_2", :description "Test setting - this only shows up in dev (2)", :default "[Default Value]"}]
+  [{:key            "test-setting-1"
+    :value          nil
+    :is_env_setting true
+    :env_name       "MB_TEST_SETTING_1"
+    :description    "Test setting - this only shows up in dev (1)"
+    :default        "Using value of env var $MB_TEST_SETTING_1"}
+   {:key            "test-setting-2"
+    :value          "FANCY"
+    :is_env_setting false
+    :env_name       "MB_TEST_SETTING_2"
+    :description    "Test setting - this only shows up in dev (2)"
+    :default        "[Default Value]"}]
  (do (set-settings! nil "FANCY")
      (fetch-test-settings)))
 
@@ -44,3 +54,52 @@
 ;; ## Check non-superuser can't set a Setting
 (expect "You don't have permissions to do that."
   ((user->client :rasta) :put 403 "setting/test-setting-1" {:value "NICE!"}))
+
+
+;;; ----------------------------------------------- Sensitive Settings -----------------------------------------------
+
+;; Sensitive settings should always come back obfuscated
+
+;; GET /api/setting/:name should obfuscate sensitive settings
+(expect
+  "**********EF"
+  (do
+    (test-sensitive-setting "ABCDEF")
+    (fetch-setting :test-sensitive-setting)))
+
+;; GET /api/setting should obfuscate sensitive settings
+(expect
+  {:key            "test-sensitive-setting"
+   :value          "**********LM"
+   :is_env_setting false
+   :env_name       "MB_TEST_SENSITIVE_SETTING"
+   :description    "This is a sample sensitive Setting."
+   :default        nil}
+  (do
+    (test-sensitive-setting "GHIJKLM")
+    (some (fn [{setting-name :key, :as setting}]
+            (when (= setting-name "test-sensitive-setting")
+              setting))
+          ((user->client :crowberto) :get 200 "setting"))))
+
+;; Setting the Setting via an endpoint should still work as expected; the normal getter functions should *not*
+;; obfuscate sensitive Setting values -- that should be done by the API
+(expect
+  "123456"
+  (do
+    ((user->client :crowberto) :put 200 "setting/test-sensitive-setting" {:value "123456"})
+    (test-sensitive-setting)))
+
+;; Attempts to set the Setting to an obfuscated value should be ignored
+(expect
+  "123456"
+  (do
+    (test-sensitive-setting "123456")
+    ((user->client :crowberto) :put 200 "setting/test-sensitive-setting" {:value "**********56"})
+    (test-sensitive-setting)))
+
+(expect
+  (do
+    (test-sensitive-setting "123456")
+    ((user->client :crowberto) :put 200 "setting" {:test-sensitive-setting "**********56"})
+    (test-sensitive-setting)))
diff --git a/test/metabase/api/setup_test.clj b/test/metabase/api/setup_test.clj
index 1849cf1bf6973b54d7a890df08f951d14730c1ed..4d7a4972771e4260fe4310333c88a4c742fdc82e 100644
--- a/test/metabase/api/setup_test.clj
+++ b/test/metabase/api/setup_test.clj
@@ -1,29 +1,40 @@
 (ns metabase.api.setup-test
   "Tests for /api/setup endpoints."
-  (:require [expectations :refer :all]
+  (:require [expectations :refer [expect]]
             [metabase
              [http-client :as http]
              [public-settings :as public-settings]
              [setup :as setup]]
-            [metabase.test.util :as tu]))
+            [metabase.models.user :refer [User]]
+            [metabase.test.data.users :as test-users]
+            [metabase.test.util :as tu]
+            [toucan.db :as db]))
 
 ;; ## POST /api/setup/user
 ;; Check that we can create a new superuser via setup-token
 (let [email (tu/random-email)]
   (expect
-    [true
-     email]
-    (tu/with-temporary-setting-values [admin-email nil]
-      [(tu/is-uuid-string? (:id (http/client :post 200 "setup" {:token (setup/create-token!)
-                                                                :prefs {:site_name "Metabase Test"}
-                                                                :user  {:first_name (tu/random-name)
-                                                                        :last_name  (tu/random-name)
-                                                                        :email      email
-                                                                        :password   "anythingUP12!!"}})))
-       (do
-         ;; reset our setup token
-         (setup/create-token!)
-         (public-settings/admin-email))])))
+    {:uuid? true, :admin-email email}
+    (try
+      ;; make sure the default test users are created before running this test, otherwise we're going to run into
+      ;; issues if it attempts to delete this user and it is the only admin test user
+      (test-users/create-users-if-needed!)
+      (tu/with-temporary-setting-values [admin-email nil]
+        {:uuid?
+         (tu/is-uuid-string? (:id (http/client :post 200 "setup" {:token (setup/create-token!)
+                                                                  :prefs {:site_name "Metabase Test"}
+                                                                  :user  {:first_name (tu/random-name)
+                                                                          :last_name  (tu/random-name)
+                                                                          :email      email
+                                                                          :password   "anythingUP12!!"}})))
+
+         :admin-email
+         (do
+           ;; reset our setup token
+           (setup/create-token!)
+           (public-settings/admin-email))})
+      (finally
+        (db/delete! User :email email)))))
 
 
 ;; Test input validations
diff --git a/test/metabase/api/table_test.clj b/test/metabase/api/table_test.clj
index 59c24e6a8f2351976e271560d944663cc5efb733..f898aea91f8f4491aea929778067ab0ebd3679da 100644
--- a/test/metabase/api/table_test.clj
+++ b/test/metabase/api/table_test.clj
@@ -1,16 +1,16 @@
 (ns metabase.api.table-test
   "Tests for /api/table endpoints."
   (:require [clojure.walk :as walk]
-            [expectations :refer :all]
+            [expectations :refer [expect]]
             [medley.core :as m]
             [metabase
              [http-client :as http]
-             [middleware :as middleware]
              [query-processor-test :as qpt]
              [sync :as sync]
              [util :as u]]
             [metabase.api.table :as table-api]
             [metabase.driver.util :as driver.u]
+            [metabase.middleware.util :as middleware.u]
             [metabase.models
              [card :refer [Card]]
              [database :as database :refer [Database]]
@@ -37,8 +37,8 @@
 ;; We assume that all endpoints for a given context are enforced by the same middleware, so we don't run the same
 ;; authentication test on every single individual endpoint
 
-(expect (get middleware/response-unauthentic :body) (http/client :get 401 "table"))
-(expect (get middleware/response-unauthentic :body) (http/client :get 401 (format "table/%d" (data/id :users))))
+(expect (get middleware.u/response-unauthentic :body) (http/client :get 401 "table"))
+(expect (get middleware.u/response-unauthentic :body) (http/client :get 401 (format "table/%d" (data/id :users))))
 
 
 ;; Helper Fns
diff --git a/test/metabase/api/user_test.clj b/test/metabase/api/user_test.clj
index 343e0c2cd942e537ec12c2d450da8857dc9f03e2..7795051eba47e9182c0230cbe2b0a2a0b7ffd5d4 100644
--- a/test/metabase/api/user_test.clj
+++ b/test/metabase/api/user_test.clj
@@ -1,14 +1,17 @@
 (ns metabase.api.user-test
   "Tests for /api/user endpoints."
-  (:require [expectations :refer :all]
+  (:require [expectations :refer [expect]]
             [metabase
              [email-test :as et]
              [http-client :as http]
-             [middleware :as middleware]
              [util :as u]]
+            [metabase.middleware.util :as middleware.u]
             [metabase.models
              [collection-test :as collection-test]
-             [user :refer [User]]]
+             [permissions-group :as group :refer [PermissionsGroup]]
+             [permissions-group-membership :refer [PermissionsGroupMembership]]
+             [user :refer [User]]
+             [user-test :as user-test]]
             [metabase.test
              [data :refer :all]
              [util :as tu :refer [random-name]]]
@@ -16,13 +19,6 @@
             [toucan.db :as db]
             [toucan.util.test :as tt]))
 
-;; ## /api/user/* AUTHENTICATION Tests
-;; We assume that all endpoints for a given context are enforced by the same middleware, so we don't run the same
-;; authentication test on every single individual endpoint
-
-(expect (get middleware/response-unauthentic :body) (http/client :get 401 "user"))
-(expect (get middleware/response-unauthentic :body) (http/client :get 401 "user/current"))
-
 (def ^:private user-defaults
   {:date_joined      true
    :google_auth      false
@@ -35,6 +31,16 @@
    :login_attributes nil
    :updated_at       true})
 
+;;; +----------------------------------------------------------------------------------------------------------------+
+;;; |                   Fetching Users -- GET /api/user, GET /api/user/current, GET /api/user/:id                    |
+;;; +----------------------------------------------------------------------------------------------------------------+
+
+;; ## /api/user/* AUTHENTICATION Tests
+;; We assume that all endpoints for a given context are enforced by the same middleware, so we don't run the same
+;; authentication test on every single individual endpoint
+(expect (get middleware.u/response-unauthentic :body) (http/client :get 401 "user"))
+(expect (get middleware.u/response-unauthentic :body) (http/client :get 401 "user/current"))
+
 ;; ## GET /api/user
 ;; Check that anyone can get a list of all active Users
 (expect
@@ -43,20 +49,25 @@
    {:id (test-users/user->id :rasta),     :email "rasta@metabase.com",     :first_name "Rasta",     :last_name "Toucan", :common_name "Rasta Toucan"}]
   (tu/with-non-admin-groups-no-root-collection-perms
     ;; Delete all the other random Users we've created so far
-    (test-users/delete-temp-users!)
     ;; Make sure personal Collections have been created
     (collection-test/force-create-personal-collections!)
     ;; Now do the request
     ((test-users/user->client :rasta) :get 200 "user")))
 
+(defn- group-ids->sets [users]
+  (for [user users]
+    (update user :group_ids set)))
+
 ;; Check that admins can get a list of active Users. Should include additional admin Fields
 (expect
   [(merge
     user-defaults
     {:email                  "crowberto@metabase.com"
      :first_name             "Crowberto"
-     :is_superuser           true
      :last_name              "Corv"
+     :is_superuser           true
+     :group_ids              #{(u/get-id (group/all-users))
+                               (u/get-id (group/admin))}
      :personal_collection_id true
      :common_name            "Crowberto Corv"})
    (merge
@@ -64,6 +75,7 @@
     {:email                  "lucky@metabase.com"
      :first_name             "Lucky"
      :last_name              "Pigeon"
+     :group_ids              #{(u/get-id (group/all-users))}
      :personal_collection_id true
      :common_name            "Lucky Pigeon"})
    (merge
@@ -71,12 +83,13 @@
     {:email                  "rasta@metabase.com"
      :first_name             "Rasta"
      :last_name              "Toucan"
+     :group_ids              #{(u/get-id (group/all-users))}
      :personal_collection_id true
      :common_name            "Rasta Toucan"})]
   (do
-    (test-users/delete-temp-users!)
     (collection-test/force-create-personal-collections!)
     (-> ((test-users/user->client :crowberto) :get 200 "user")
+        group-ids->sets
         tu/boolean-ids-and-timestamps)))
 
 ;; Non-admins should *not* be allowed to pass in include_deactivated
@@ -90,16 +103,19 @@
     user-defaults
     {:email                  "trashbird@metabase.com"
      :first_name             "Trash"
-     :is_active              false
      :last_name              "Bird"
+     :is_active              false
+     :group_ids              #{(u/get-id (group/all-users))}
      :personal_collection_id true
      :common_name            "Trash Bird"})
    (merge
     user-defaults
     {:email                  "crowberto@metabase.com"
      :first_name             "Crowberto"
-     :is_superuser           true
      :last_name              "Corv"
+     :is_superuser           true
+     :group_ids              #{(u/get-id (group/all-users))
+                               (u/get-id (group/admin))}
      :personal_collection_id true
      :common_name            "Crowberto Corv"})
    (merge
@@ -107,6 +123,7 @@
     {:email                  "lucky@metabase.com"
      :first_name             "Lucky"
      :last_name              "Pigeon"
+     :group_ids              #{(u/get-id (group/all-users))}
      :personal_collection_id true
      :common_name            "Lucky Pigeon"})
    (merge
@@ -114,14 +131,70 @@
     {:email                  "rasta@metabase.com"
      :first_name             "Rasta"
      :last_name              "Toucan"
+     :group_ids              #{(u/get-id (group/all-users))}
      :personal_collection_id true
      :common_name            "Rasta Toucan"})]
   (do
-    (test-users/delete-temp-users!)
     (collection-test/force-create-personal-collections!)
     (-> ((test-users/user->client :crowberto) :get 200 "user", :include_deactivated true)
+        group-ids->sets
         tu/boolean-ids-and-timestamps)))
 
+;; ## GET /api/user/current
+;; Check that fetching current user will return extra fields like `is_active` and will return OrgPerms
+(expect
+  (merge
+   user-defaults
+   {:email                  "rasta@metabase.com"
+    :first_name             "Rasta"
+    :last_name              "Toucan"
+    :common_name            "Rasta Toucan"
+    :group_ids              [(u/get-id (group/all-users))]
+    :personal_collection_id true})
+  (do
+    ;; Make sure personal Collections have been created so this endpoint won't randomly return `false` for
+    ;; personal_collection_id
+    (collection-test/force-create-personal-collections!)
+    ;; now FETCH
+    (tu/boolean-ids-and-timestamps ((test-users/user->client :rasta) :get 200 "user/current"))))
+
+
+;; ## GET /api/user/:id
+;; Should return a smaller set of fields, and should *not* return OrgPerms
+(expect
+  (merge
+   user-defaults
+   {:email       "rasta@metabase.com"
+    :first_name  "Rasta"
+    :last_name   "Toucan"
+    :common_name "Rasta Toucan"
+    :group_ids   [(u/get-id (group/all-users))]})
+  (tu/boolean-ids-and-timestamps ((test-users/user->client :rasta) :get 200 (str "user/" (test-users/user->id :rasta)))))
+
+;; Check that a non-superuser CANNOT fetch someone else's user details
+(expect "You don't have permissions to do that."
+        ((test-users/user->client :rasta) :get 403 (str "user/" (test-users/user->id :trashbird))))
+
+;; A superuser should be allowed to fetch another users data
+(expect
+  (merge
+   user-defaults
+   {:email       "rasta@metabase.com"
+    :first_name  "Rasta"
+    :last_name   "Toucan"
+    :common_name "Rasta Toucan"
+    :group_ids   [(u/get-id (group/all-users))]})
+  (tu/boolean-ids-and-timestamps ((test-users/user->client :crowberto) :get 200 (str "user/" (test-users/user->id :rasta)))))
+
+;; We should get a 404 when trying to access a disabled account
+(expect
+  "Not found."
+  ((test-users/user->client :crowberto) :get 404 (str "user/" (test-users/user->id :trashbird))))
+
+
+;;; +----------------------------------------------------------------------------------------------------------------+
+;;; |                                     Creating a new User -- POST /api/user                                      |
+;;; +----------------------------------------------------------------------------------------------------------------+
 
 ;; ## POST /api/user
 ;; Test that we can create a new User
@@ -135,122 +208,131 @@
              :first_name       user-name
              :last_name        user-name
              :common_name      (str user-name " " user-name)
+             :group_ids        [(u/get-id (group/all-users))]
              :login_attributes {:test "value"}}))
     (et/with-fake-inbox
       (try
         (tu/boolean-ids-and-timestamps
-         ((test-users/user->client :crowberto) :post 200 "user" {:first_name       user-name
-                                                                 :last_name        user-name
-                                                                 :email            email
-                                                                 :login_attributes {:test "value"}}))
+         ((test-users/user->client :crowberto) :post 200 "user"
+          {:first_name       user-name
+           :last_name        user-name
+           :email            email
+           :login_attributes {:test "value"}}))
         (finally
           ;; clean up after ourselves
           (db/delete! User :email email))))))
 
-;; Test that reactivating a disabled account works
-(expect
-  ;; create a random inactive user
-  (tt/with-temp User [user {:is_active false}]
-    ;; now try creating the same user again, should re-activiate the original
-    ((test-users/user->client :crowberto) :put 200 (format "user/%s/reactivate" (u/get-id user))
-     {:first_name (:first_name user)
-      :last_name  "whatever"
-      :email      (:email user)})
-    ;; the user should now be active
-    (db/select-one-field :is_active User :id (:id user))))
-
 ;; Check that non-superusers are denied access
 (expect
   "You don't have permissions to do that."
-  ((test-users/user->client :rasta) :post 403 "user" {:first_name "whatever"
-                                                      :last_name  "whatever"
-                                                      :email      "whatever@whatever.com"}))
-
-;; Attempting to reactivate a non-existant user should return a 404
-(expect
-  "Not found."
-  ((test-users/user->client :crowberto) :put 404 (format "user/%s/reactivate" Integer/MAX_VALUE)))
-
-;; Attempting to reactivate an already active user should fail
-(expect
-  {:message "Not able to reactivate an active user"}
-  ((test-users/user->client :crowberto) :put 400 (format "user/%s/reactivate" (test-users/user->id :rasta))))
+  ((test-users/user->client :rasta) :post 403 "user"
+   {:first_name "whatever"
+    :last_name  "whatever"
+    :email      "whatever@whatever.com"}))
 
 ;; Attempting to create a new user with the same email as an existing user should fail
 (expect
   {:errors {:email "Email address already in use."}}
-  ((test-users/user->client :crowberto) :post 400 "user" {:first_name "Something"
-                                                          :last_name  "Random"
-                                                          :email      (:email (test-users/fetch-user :rasta))}))
+  ((test-users/user->client :crowberto) :post 400 "user"
+   {:first_name "Something"
+    :last_name  "Random"
+    :email      (:email (test-users/fetch-user :rasta))}))
 
 ;; Test input validations
 (expect
   {:errors {:first_name "value must be a non-blank string."}}
-  ((test-users/user->client :crowberto) :post 400 "user" {}))
+  ((test-users/user->client :crowberto) :post 400 "user"
+   {}))
 
 (expect
   {:errors {:last_name "value must be a non-blank string."}}
-  ((test-users/user->client :crowberto) :post 400 "user" {:first_name "whatever"}))
+  ((test-users/user->client :crowberto) :post 400 "user"
+   {:first_name "whatever"}))
 
 (expect
   {:errors {:email "value must be a valid email address."}}
-  ((test-users/user->client :crowberto) :post 400 "user" {:first_name "whatever"
-                                                          :last_name  "whatever"}))
+  ((test-users/user->client :crowberto) :post 400 "user"
+   {:first_name "whatever"
+    :last_name  "whatever"}))
 
 (expect
   {:errors {:email "value must be a valid email address."}}
-  ((test-users/user->client :crowberto) :post 400 "user" {:first_name "whatever"
-                                                          :last_name  "whatever"
-                                                          :email      "whatever"}))
-
-
-;; ## GET /api/user/current
-;; Check that fetching current user will return extra fields like `is_active` and will return OrgPerms
-(expect
-  (merge user-defaults
-         {:email                  "rasta@metabase.com"
-          :first_name             "Rasta"
-          :last_name              "Toucan"
-          :common_name            "Rasta Toucan"
-          :personal_collection_id true})
-  (do
-    ;; Make sure personal Collections have been created so this endpoint won't randomly return `false` for
-    ;; personal_collection_id
-    (collection-test/force-create-personal-collections!)
-    ;; now FETCH
-    (tu/boolean-ids-and-timestamps ((test-users/user->client :rasta) :get 200 "user/current"))))
-
-
-;; ## GET /api/user/:id
-;; Should return a smaller set of fields, and should *not* return OrgPerms
-(expect
-  (merge user-defaults
-         {:email       "rasta@metabase.com"
-          :first_name  "Rasta"
-          :last_name   "Toucan"
-          :common_name "Rasta Toucan"})
-  (tu/boolean-ids-and-timestamps ((test-users/user->client :rasta) :get 200 (str "user/" (test-users/user->id :rasta)))))
-
-;; Check that a non-superuser CANNOT fetch someone else's user details
-(expect "You don't have permissions to do that."
-        ((test-users/user->client :rasta) :get 403 (str "user/" (test-users/user->id :trashbird))))
-
-;; A superuser should be allowed to fetch another users data
-(expect
-  (merge user-defaults
-         {:email       "rasta@metabase.com"
-          :first_name  "Rasta"
-          :last_name   "Toucan"
-          :common_name "Rasta Toucan"})
-  (tu/boolean-ids-and-timestamps ((test-users/user->client :crowberto) :get 200 (str "user/" (test-users/user->id :rasta)))))
-
-;; We should get a 404 when trying to access a disabled account
-(expect "Not found."
-        ((test-users/user->client :crowberto) :get 404 (str "user/" (test-users/user->id :trashbird))))
-
-
-;; ## PUT /api/user/:id
-;; Test that we can edit a User
+  ((test-users/user->client :crowberto) :post 400 "user"
+   {:first_name "whatever"
+    :last_name  "whatever"
+    :email      "whatever"}))
+
+(defn- do-with-temp-user-email [f]
+  (let [email (tu/random-email)]
+    (try
+      (f email)
+      (finally (db/delete! User :email email)))))
+
+(defmacro ^:private with-temp-user-email [[email-binding] & body]
+  `(do-with-temp-user-email (fn [~email-binding] ~@body)))
+
+;; we should be able to put a User in groups the same time we create them
+(expect
+  #{"All Users" "Group 1" "Group 2"}
+  (tt/with-temp* [PermissionsGroup [group-1 {:name "Group 1"}]
+                  PermissionsGroup [group-2 {:name "Group 2"}]]
+    (with-temp-user-email [email]
+      ((test-users/user->client :crowberto) :post 200 "user"
+       {:first_name "Cam"
+        :last_name  "Era"
+        :email      email
+        :group_ids  (map u/get-id [(group/all-users) group-1 group-2])})
+      (user-test/user-group-names (User :email email)))))
+
+;; If you forget the All Users group it should fail, because you cannot have a User that's not in the All Users group.
+;; The whole API call should fail and no user should be created, even though the permissions groups get set after the
+;; User is created
+(expect
+  false
+  (tt/with-temp PermissionsGroup [group {:name "Group"}]
+    (with-temp-user-email [email]
+      ((test-users/user->client :crowberto) :post 400 "user"
+       {:first_name "Cam"
+        :last_name  "Era"
+        :email      email
+        :group_ids  [(u/get-id group)]})
+      (db/exists? User :email email))))
+
+(defn- superuser-and-admin-pgm-info [email]
+  {:is-superuser? (db/select-one-field :is_superuser User :email email)
+   :pgm-exists?   (db/exists? PermissionsGroupMembership
+                    :user_id  (db/select-one-id User :email email)
+                    :group_id (u/get-id (group/admin)))})
+
+;; We should be able to put someone in the Admin group when we create them by including the admin group in group_ids
+(expect
+  {:is-superuser? true, :pgm-exists? true}
+  (with-temp-user-email [email]
+    ((test-users/user->client :crowberto) :post 200 "user"
+     {:first_name   "Cam"
+      :last_name    "Era"
+      :email        email
+      :group_ids    (map u/get-id [(group/all-users) (group/admin)])})
+    (superuser-and-admin-pgm-info email)))
+
+;; for whatever reason we don't let you set is_superuser in the POST endpoint so if someone tries to pass that it
+;; should get ignored
+(expect
+  {:is-superuser? false, :pgm-exists? false}
+  (with-temp-user-email [email]
+    ((test-users/user->client :crowberto) :post 200 "user"
+     {:first_name   "Cam"
+      :last_name    "Era"
+      :email        email
+      :is_superuser true})
+    (superuser-and-admin-pgm-info email)))
+
+
+;;; +----------------------------------------------------------------------------------------------------------------+
+;;; |                                      Updating a User -- PUT /api/user/:id                                      |
+;;; +----------------------------------------------------------------------------------------------------------------+
+
+;; Test that admins can edit other Users
 (expect
   {:before   {:first_name "Cam", :last_name "Era", :is_superuser true, :email "cam.era@metabase.com"}
    :response (merge
@@ -258,21 +340,24 @@
               {:common_name  "Cam Eron"
                :email        "cam.eron@metabase.com"
                :first_name   "Cam"
+               :last_name    "Eron"
                :is_superuser true
-               :last_name    "Eron"})
+               :group_ids    #{(u/get-id (group/all-users))
+                               (u/get-id (group/admin))}})
    :after    {:first_name "Cam", :last_name "Eron", :is_superuser true, :email "cam.eron@metabase.com"}}
   (tt/with-temp User [{user-id :id} {:first_name   "Cam"
                                      :last_name    "Era"
                                      :email        "cam.era@metabase.com"
                                      :is_superuser true}]
-    (let [user (fn [] (into {} (dissoc (db/select-one [User :first_name :last_name :is_superuser :email], :id user-id)
-                                       :common_name)))]
+    (let [user (fn [] (into {} (-> (db/select-one [User :first_name :last_name :is_superuser :email], :id user-id)
+                                   (dissoc :common_name))))]
       (array-map
        :before   (user)
-       :response (tu/boolean-ids-and-timestamps
-                  ((test-users/user->client :crowberto) :put 200 (str "user/" user-id)
-                   {:last_name "Eron"
-                    :email     "cam.eron@metabase.com"}))
+       :response (-> ((test-users/user->client :crowberto) :put 200 (str "user/" user-id)
+                      {:last_name "Eron"
+                       :email     "cam.eron@metabase.com"})
+                     (update :group_ids set)
+                     tu/boolean-ids-and-timestamps)
        :after    (user)))))
 
 ;; Test that we can update login attributes after a user has been created
@@ -284,16 +369,19 @@
     :first_name       "Test"
     :login_attributes {:test "value"}
     :common_name      "Test User"
-    :last_name        "User"})
+    :last_name        "User"
+    :group_ids        #{(u/get-id (group/all-users))
+                        (u/get-id (group/admin))}})
   (tt/with-temp User [{user-id :id} {:first_name   "Test"
                                      :last_name    "User"
                                      :email        "testuser@metabase.com"
                                      :is_superuser true}]
-    (tu/boolean-ids-and-timestamps
+    (->
      ((test-users/user->client :crowberto) :put 200 (str "user/" user-id) {:email            "testuser@metabase.com"
-                                                                           :login_attributes {:test "value"}}))))
+                                                                           :login_attributes {:test "value"}})
+     (update :group_ids set)
+     tu/boolean-ids-and-timestamps)))
 
-;; ## PUT /api/user/:id
 ;; Test that updating a user's email to an existing inactive user's email fails
 (expect
   {:errors {:email "Email address already associated to another user."}}
@@ -346,6 +434,132 @@
       (http/client creds :put 403 (format "user/%d" (u/get-id user))
                    {:email "adifferentemail@metabase.com"}))))
 
+;; Check that we can update the groups a User belongs to -- if we are a superuser
+(expect
+  #{"All Users" "Blue Man Group"}
+  (tt/with-temp* [User             [user]
+                  PermissionsGroup [group {:name "Blue Man Group"}]]
+    (do
+      ((test-users/user->client :crowberto) :put 200 (str "user/" (u/get-id user))
+       {:group_ids (map u/get-id [(group/all-users) group])})
+      (user-test/user-group-names user))))
+
+;; if we pass group_ids, and are updating ourselves as a non-superuser, the entire call should fail
+(expect
+  {:groups     #{"All Users"}
+   :first-name "Rasta"}
+  ;; By wrapping the test in this macro even if the test fails it will restore the original values
+  (tu/with-temp-vals-in-db User (test-users/user->id :rasta) {:first_name "Rasta"}
+    (tt/with-temp PermissionsGroup [group {:name "Blue Man Group"}]
+      ((test-users/user->client :rasta) :put 403 (str "user/" (test-users/user->id :rasta))
+       {:group_ids  (map u/get-id [(group/all-users) group])
+        :first_name "Reggae"}))
+    {:groups     (user-test/user-group-names (test-users/user->id :rasta))
+     :first-name (db/select-one-field :first_name User :id (test-users/user->id :rasta))}))
+
+;; if we pass group_ids as a non-superuser the call should succeed, so long as the value doesn't change
+(expect
+  {:groups     #{"All Users"}
+   :first-name "Reggae"}
+  (tu/with-temp-vals-in-db User (test-users/user->id :rasta) {:first_name "Rasta"}
+    ((test-users/user->client :rasta) :put 200 (str "user/" (test-users/user->id :rasta))
+     {:group_ids  [(u/get-id (group/all-users))]
+      :first_name "Reggae"})
+    {:groups     (user-test/user-group-names (test-users/user->id :rasta))
+     :first-name (db/select-one-field :first_name User :id (test-users/user->id :rasta))}))
+
+;; We should be able to put someone in the Admin group when we update them them (is_superuser = TRUE and group_ids
+;; including admin group ID)
+(expect
+  {:is-superuser? true, :pgm-exists? true}
+  (tt/with-temp User [{:keys [email id]}]
+    ((test-users/user->client :crowberto) :put 200 (str "user/" id)
+     {:is_superuser true
+      :group_ids    (map u/get-id [(group/all-users) (group/admin)])})
+    (superuser-and-admin-pgm-info email)))
+
+;; if we try to create a new user with is_superuser FALSE but group_ids that includes the Admin group ID, the entire
+;; call should fail
+(expect
+  {:is-superuser? false, :pgm-exists? false, :first-name "Old First Name"}
+  (tt/with-temp User [{:keys [email id]} {:first_name "Old First Name"}]
+    ((test-users/user->client :crowberto) :put 400 (str "user/" id)
+     {:is_superuser false
+      :group_ids    (map u/get-id [(group/all-users) (group/admin)])
+      :first_name   "Cool New First Name"})
+    (assoc (superuser-and-admin-pgm-info email)
+      :first-name (db/select-one-field :first_name User :id id))))
+
+;; if we try to create a new user with is_superuser TRUE but group_ids that does not include the Admin group ID,
+;; things should fail
+(expect
+  {:is-superuser? false, :pgm-exists? false}
+  (tt/with-temp User [{:keys [email id]}]
+    ((test-users/user->client :crowberto) :put 400 (str "user/" id)
+     {:is_superuser true
+      :group_ids    [(u/get-id (group/all-users))]})
+    (superuser-and-admin-pgm-info email)))
+
+;; if we PUT a user with is_superuser TRUE but don't specify group_ids, we should be ok
+(expect
+  {:is-superuser? true, :pgm-exists? true}
+  (tt/with-temp User [{:keys [email id]}]
+    ((test-users/user->client :crowberto) :put 200 (str "user/" id)
+     {:is_superuser true})
+    (superuser-and-admin-pgm-info email)))
+
+;; if we include Admin in group_ids but don't specify is_superuser we should be ok
+(expect
+  {:is-superuser? true, :pgm-exists? true}
+  (tt/with-temp User [{:keys [email id]}]
+    ((test-users/user->client :crowberto) :put 200 (str "user/" id)
+     {:group_ids [(u/get-id (group/all-users))
+                  (u/get-id (group/admin))]})
+    (superuser-and-admin-pgm-info email)))
+
+
+;;; +----------------------------------------------------------------------------------------------------------------+
+;;; |                              Reactivating a User -- PUT /api/user/:id/reactivate                               |
+;;; +----------------------------------------------------------------------------------------------------------------+
+
+;; Test that reactivating a disabled account works
+(expect
+  ;; create a random inactive user
+  (tt/with-temp User [user {:is_active false}]
+    ;; now try creating the same user again, should re-activiate the original
+    ((test-users/user->client :crowberto) :put 200 (format "user/%s/reactivate" (u/get-id user))
+     {:first_name (:first_name user)
+      :last_name  "whatever"
+      :email      (:email user)})
+    ;; the user should now be active
+    (db/select-one-field :is_active User :id (:id user))))
+
+;; Attempting to reactivate a non-existant user should return a 404
+(expect
+  "Not found."
+  ((test-users/user->client :crowberto) :put 404 (format "user/%s/reactivate" Integer/MAX_VALUE)))
+
+;; Attempting to reactivate an already active user should fail
+(expect
+  {:message "Not able to reactivate an active user"}
+  ((test-users/user->client :crowberto) :put 400 (format "user/%s/reactivate" (test-users/user->id :rasta))))
+
+;; test that when disabling Google auth if a user gets disabled and reënabled they are no longer Google Auth (Bug #3323)
+(expect
+  {:is_active true, :google_auth false}
+  (tu/with-temporary-setting-values [google-auth-client-id "ABCDEFG"]
+    (tt/with-temp User [user {:google_auth true}]
+      (db/update! User (u/get-id user)
+        :is_active false)
+      (tu/with-temporary-setting-values [google-auth-client-id nil]
+        ((test-users/user->client :crowberto) :put 200 (format "user/%s/reactivate" (u/get-id user)))
+        (db/select-one [User :is_active :google_auth] :id (u/get-id user))))))
+
+
+;;; +----------------------------------------------------------------------------------------------------------------+
+;;; |                               Updating a Password -- PUT /api/user/:id/password                                |
+;;; +----------------------------------------------------------------------------------------------------------------+
+
 ;; ## PUT /api/user/:id/password
 ;; Test that a User can change their password (superuser and non-superuser)
 (defn- user-can-reset-password? [superuser?]
@@ -382,6 +596,27 @@
     :old_password "mismatched"}))
 
 
+;;; +----------------------------------------------------------------------------------------------------------------+
+;;; |                             Deleting (Deactivating) a User -- DELETE /api/user/:id                             |
+;;; +----------------------------------------------------------------------------------------------------------------+
+
+;; ## DELETE /api/user/:id
+;; Disable a user account
+(expect
+  {:success true}
+  (tt/with-temp User [user]
+    ((test-users/user->client :crowberto) :delete 200 (format "user/%d" (:id user)) {})))
+
+;; Check that a non-superuser CANNOT update delete themselves
+(expect
+  "You don't have permissions to do that."
+  ((test-users/user->client :rasta) :delete 403 (format "user/%d" (test-users/user->id :rasta)) {}))
+
+
+;;; +----------------------------------------------------------------------------------------------------------------+
+;;; |                  Other Endpoints -- PUT /api/user/:id/qpnewb, POST /api/user/:id/send_invite                   |
+;;; +----------------------------------------------------------------------------------------------------------------+
+
 ;; ## PUT /api/user/:id/qbnewb
 ;; Test that we can set the qbnewb status on a user
 (expect
@@ -403,33 +638,8 @@
         ((test-users/user->client :rasta) :put 403 (format "user/%d/qbnewb" (test-users/user->id :trashbird))))
 
 
-;; ## DELETE /api/user/:id
-;; Disable a user account
-(expect
-  {:success true}
-  (tt/with-temp User [user]
-    ((test-users/user->client :crowberto) :delete 200 (format "user/%d" (:id user)) {})))
-
-;; Check that a non-superuser CANNOT update someone else's password
-(expect
-  "You don't have permissions to do that."
-  ((test-users/user->client :rasta) :delete 403 (format "user/%d" (test-users/user->id :rasta)) {}))
-
-
 ;; ## POST /api/user/:id/send_invite
 ;; Check that non-superusers are denied access to resending invites
 (expect
   "You don't have permissions to do that."
   ((test-users/user->client :rasta) :post 403 (format "user/%d/send_invite" (test-users/user->id :crowberto))))
-
-
-;; test that when disabling Google auth if a user gets disabled and reënabled they are no longer Google Auth (Bug #3323)
-(expect
-  {:is_active true, :google_auth false}
-  (tu/with-temporary-setting-values [google-auth-client-id "ABCDEFG"]
-    (tt/with-temp User [user {:google_auth true}]
-      (db/update! User (u/get-id user)
-        :is_active false)
-      (tu/with-temporary-setting-values [google-auth-client-id nil]
-        ((test-users/user->client :crowberto) :put 200 (format "user/%s/reactivate" (u/get-id user)))
-        (db/select-one [User :is_active :google_auth] :id (u/get-id user))))))
diff --git a/test/metabase/async/api_response_test.clj b/test/metabase/async/api_response_test.clj
new file mode 100644
index 0000000000000000000000000000000000000000..fa4415fcf9adcff3d5247765a5d80daae377d370
--- /dev/null
+++ b/test/metabase/async/api_response_test.clj
@@ -0,0 +1,200 @@
+(ns metabase.async.api-response-test
+  (:require [cheshire.core :as json]
+            [clojure.core.async :as a]
+            [expectations :refer [expect]]
+            [metabase.async.api-response :as async-response]
+            [metabase.test.util.async :as tu.async]
+            [ring.core.protocols :as ring.protocols])
+  (:import [java.io ByteArrayOutputStream Closeable]))
+
+(def ^:private long-timeout-ms
+  ;; 5 seconds
+  (* 5 1000))
+
+
+;;; +----------------------------------------------------------------------------------------------------------------+
+;;; |                                                   New Tests                                                    |
+;;; +----------------------------------------------------------------------------------------------------------------+
+
+(defn- do-with-response [input-chan f]
+  ;; don't wait more than 10 seconds for results, our tests or code are busted otherwise
+  (with-redefs [async-response/absolute-max-keepalive-ms (min (* 10 1000) @#'async-response/absolute-max-keepalive-ms)]
+    (tu.async/with-chans [os-closed-chan]
+      (with-open [os (proxy [ByteArrayOutputStream] []
+                       (close []
+                         (a/close! os-closed-chan)
+                         (let [^Closeable this this]
+                           (proxy-super close))))]
+        (let [{output-chan :body, :as response} (#'async-response/async-keepalive-response input-chan)]
+          (ring.protocols/write-body-to-stream output-chan response os)
+          (try
+            (f {:os os, :output-chan output-chan, :os-closed-chan os-closed-chan})
+            (finally
+              (a/close! output-chan))))))))
+
+(defmacro ^:private with-response [[response-objects-binding input-chan] & body]
+  `(do-with-response ~input-chan (fn [~response-objects-binding] ~@body)))
+
+(defn- wait-for-close [chan]
+  (tu.async/wait-for-close chan long-timeout-ms)
+  true)
+
+(defn- os->response [^ByteArrayOutputStream os]
+  (some->
+   os
+   .toString
+   (json/parse-string keyword)
+   ((fn [response]
+      (cond-> response
+        (:stacktrace response) (update :stacktrace (partial every? string?)))))))
+
+
+;;; ------------------------------ Normal responses: message sent to the input channel -------------------------------
+
+;; check that response is actually written to the output stream
+(expect
+  {:success true}
+  (tu.async/with-chans [input-chan]
+    (with-response [{:keys [os os-closed-chan]} input-chan]
+      (a/>!! input-chan {:success true})
+      (wait-for-close os-closed-chan)
+      (os->response os))))
+
+;; when we send a single message to the input channel, it should get closed automatically by the async code
+(expect
+  (tu.async/with-chans [input-chan]
+    (with-response [{:keys [os-closed-chan]} input-chan]
+      ;; send the result to the input channel
+      (a/>!! input-chan {:success true})
+      (wait-for-close os-closed-chan)
+      ;; now see if input-chan is closed
+      (wait-for-close input-chan))))
+
+;; when we send a message to the input channel, output-chan should *also* get closed
+(expect
+  (tu.async/with-chans [input-chan]
+    (with-response [{:keys [os-closed-chan output-chan]} input-chan]
+      ;; send the result to the input channel
+      (a/>!! input-chan {:success true})
+      (wait-for-close os-closed-chan)
+      ;; now see if output-chan is closed
+      (wait-for-close output-chan))))
+
+;; ...and the output-stream should be closed as well
+(expect
+  (tu.async/with-chans [input-chan]
+    (with-response [{:keys [os-closed-chan]} input-chan]
+      (a/>!! input-chan {:success true})
+      (wait-for-close os-closed-chan))))
+
+
+;;; ----------------------------------------- Input-chan closed unexpectedly -----------------------------------------
+
+;; if we close input-channel prematurely, output-channel should get closed
+(expect
+  (tu.async/with-chans [input-chan]
+    (with-response [{:keys [output-chan]} input-chan]
+      (a/close! input-chan)
+      (wait-for-close output-chan))))
+
+;; ...as should the output stream
+(expect
+  (tu.async/with-chans [input-chan]
+    (with-response [{:keys [os-closed-chan]} input-chan]
+      (a/close! input-chan)
+      (wait-for-close os-closed-chan))))
+
+;; An error should be written to the output stream
+(expect
+  {:message    "Input channel unexpectedly closed."
+   :type       "class java.lang.InterruptedException"
+   :stacktrace true}
+  (tu.async/with-chans [input-chan]
+    (with-response [{:keys [os os-closed-chan]} input-chan]
+      (a/close! input-chan)
+      (wait-for-close os-closed-chan)
+      (os->response os))))
+
+
+;;; ------------------------------ Output-chan closed early (i.e. API request canceled) ------------------------------
+
+;; If output-channel gets closed (presumably because the API request is canceled), input-chan should also get closed
+(expect
+  (tu.async/with-chans [input-chan]
+    (with-response [{:keys [output-chan]} input-chan]
+      (a/close! output-chan)
+      (wait-for-close input-chan))))
+
+;; if output chan gets closed, output-stream should also get closed
+(expect
+  (tu.async/with-chans [input-chan]
+    (with-response [{:keys [output-chan os-closed-chan]} input-chan]
+      (a/close! output-chan)
+      (wait-for-close os-closed-chan))))
+
+;; we shouldn't bother writing anything to the output stream if output-chan is closed because it should already be
+;; closed
+(expect
+  nil
+  (tu.async/with-chans [input-chan]
+    (with-response [{:keys [output-chan os os-closed-chan]} input-chan]
+      (a/close! output-chan)
+      (wait-for-close os-closed-chan)
+      (os->response os))))
+
+
+;;; ------------ Normal response with a delay: message sent to Input chan at unspecified point in future -------------
+
+;; Should write newlines if it has to wait
+(expect
+  "\n\n{\"ready?\":true}"
+  (with-redefs [async-response/keepalive-interval-ms 500]
+    (tu.async/with-chans [input-chan]
+      (with-response [{:keys [os-closed-chan os]} input-chan]
+        (a/<!! (a/timeout 1400))
+        (a/>!! input-chan {:ready? true})
+        (wait-for-close os-closed-chan)
+        (.toString os)))))
+
+
+;;; --------------------------------------- input chan message is an Exception ---------------------------------------
+
+;; If the message sent to input-chan is an Exception an appropriate response should be generated
+(expect
+  {:message "Broken", :type "class java.lang.Exception", :stacktrace true}
+  (tu.async/with-chans [input-chan]
+    (with-response [{:keys [os os-closed-chan]} input-chan]
+      (a/>!! input-chan (Exception. "Broken"))
+      (wait-for-close os-closed-chan)
+      (os->response os))))
+
+
+;;; ------------------------------------------ input-chan never written to -------------------------------------------
+
+;; If we write a bad API endpoint and return a channel but never write to it, the request should be canceled after
+;; `absolute-max-keepalive-ms`
+(expect
+  {:message    "No response after waiting 500 ms. Canceling request."
+   :type       "class java.util.concurrent.TimeoutException"
+   :stacktrace true}
+  (with-redefs [async-response/absolute-max-keepalive-ms 500]
+    (tu.async/with-chans [input-chan]
+      (with-response [{:keys [os os-closed-chan]} input-chan]
+        (wait-for-close os-closed-chan)
+        (os->response os)))))
+
+;; input chan should get closed
+(expect
+  (with-redefs [async-response/absolute-max-keepalive-ms 500]
+    (tu.async/with-chans [input-chan]
+      (with-response [{:keys [os-closed-chan]} input-chan]
+        (wait-for-close os-closed-chan)
+        (wait-for-close input-chan)))))
+
+;; output chan should get closed
+(expect
+  (with-redefs [async-response/absolute-max-keepalive-ms 500]
+    (tu.async/with-chans [input-chan]
+      (with-response [{:keys [output-chan os-closed-chan]} input-chan]
+        (wait-for-close os-closed-chan)
+        (wait-for-close output-chan)))))
diff --git a/test/metabase/async/semaphore_channel_test.clj b/test/metabase/async/semaphore_channel_test.clj
new file mode 100644
index 0000000000000000000000000000000000000000..b9717832ef5dbf6bcb6b85c48ede480e813bf188
--- /dev/null
+++ b/test/metabase/async/semaphore_channel_test.clj
@@ -0,0 +1,110 @@
+(ns metabase.async.semaphore-channel-test
+  (:require [clojure.core.async :as a]
+            [expectations :refer [expect]]
+            [metabase.async.semaphore-channel :as semaphore-channel]
+            [metabase.test.util.async :as tu.async])
+  (:import java.io.Closeable))
+
+(defn- get-permits [semaphore-chan n]
+  (loop [acc [], n n]
+    (if-not (pos? n)
+      acc
+      (let [[permit] (a/alts!! [semaphore-chan (a/timeout 100)])]
+        (assert permit)
+        (recur (conj acc permit) (dec n))))))
+
+;; check that a semaphore channel only gives out the correct number of permits
+(expect
+  nil
+  (tu.async/with-open-channels [semaphore-chan (semaphore-channel/semaphore-channel 3)]
+    (let [permits  (get-permits semaphore-chan 3)
+          response (first (a/alts!! [semaphore-chan (a/timeout 100)]))]
+      ;; make sure we're actually doint something with the permits after we get `response`, otherwise there's a very
+      ;; small chance they'll get garbage collected and `alts!!` will actually manage to get a permit
+      (count permits)
+      response)))
+
+;; check that when a permit is returned, whoever was waiting will get their permit
+(expect
+  "Permit #4"
+  (tu.async/with-open-channels [semaphore-chan (semaphore-channel/semaphore-channel 3)]
+    (let [[^Closeable permit-1] (get-permits semaphore-chan 3)]
+      (.close permit-1)
+      (some-> (first (a/alts!! [semaphore-chan (a/timeout 100)])) str))))
+
+;; if we are true knuckleheads and *lose* a permit it should eventually get garbage collected and returned to the pool
+(expect
+  "Permit #4"
+  (tu.async/with-open-channels [semaphore-chan (semaphore-channel/semaphore-channel 3)]
+    (get-permits semaphore-chan 3)
+    (loop [tries 10]
+      (System/gc)
+      (or
+       (some-> (a/alts!! [semaphore-chan (a/timeout 200)]) first str)
+       (when (pos? tries)
+         (recur (dec tries)))))))
+
+
+;;; ------------------------------------------- do-after-receiving-permit --------------------------------------------
+
+;; If we already have a permit, code should be smart enough to skip getting another one
+(expect
+ {:first-permit "Permit #1", :second-permit "Permit #1", :same? true}
+ (tu.async/with-open-channels [semaphore-chan (semaphore-channel/semaphore-channel 1)
+                               output-chan    (a/chan 1)]
+   (let [existing-permit #(get @#'semaphore-channel/*permits* semaphore-chan)]
+     (semaphore-channel/do-after-receiving-permit semaphore-chan
+       (fn []
+         (let [first-permit (existing-permit)]
+           (semaphore-channel/do-after-receiving-permit semaphore-chan
+             (fn []
+               (let [second-permit (existing-permit)]
+                 (a/>!! output-chan {:first-permit  (str first-permit)
+                                     :second-permit (str second-permit)
+                                     :same?         (identical? first-permit second-permit)}))))))))
+   (first (a/alts!! [output-chan (a/timeout 100)]))))
+
+;; Make sure `do-f-with-permit` returns the permit when functions finish normally
+(expect
+  {:permit-returned? true, :result ::value}
+  (let [open?  (atom false)
+        permit (reify
+                 Closeable
+                 (close [this]
+                   (reset! open? false)))]
+    (tu.async/with-open-channels [output-chan (a/chan 1)]
+      (#'semaphore-channel/do-f-with-permit permit output-chan (constantly ::value))
+      (let [[result] (a/alts!! [output-chan (a/timeout 100)])]
+        {:permit-returned? (not @open?), :result result}))))
+
+;; If `f` throws an Exception, `permit` should get returned, and Exception should get returned as the result
+(expect
+  {:permit-returned? true, :result "FAIL"}
+  (let [open?  (atom false)
+        permit (reify
+                 Closeable
+                 (close [this]
+                   (reset! open? false)))]
+    (tu.async/with-open-channels [output-chan (a/chan 1)]
+      (#'semaphore-channel/do-f-with-permit permit output-chan (fn []
+                                                                 (throw (Exception. "FAIL"))))
+      (let [[result] (a/alts!! [output-chan (a/timeout 100)])]
+        {:permit-returned? (not @open?), :result (when (instance? Exception result)
+                                                   (.getMessage ^Exception result))}))))
+
+;; If `output-chan` is closed early, permit should still get returned, but there's nowhere to write the result to so
+;; it should be `nil`
+(expect
+  {:permit-returned? true, :result nil}
+  (let [open?  (atom false)
+        permit (reify
+                 Closeable
+                 (close [this]
+                   (reset! open? false)))]
+    (tu.async/with-open-channels [output-chan (a/chan 1)]
+      (#'semaphore-channel/do-f-with-permit permit output-chan (fn []
+                                                                 (Thread/sleep 100)
+                                                                 ::value))
+      (a/close! output-chan)
+      (let [[result] (a/alts!! [output-chan (a/timeout 500)])]
+        {:permit-returned? (not @open?), :result result}))))
diff --git a/test/metabase/async/util_test.clj b/test/metabase/async/util_test.clj
new file mode 100644
index 0000000000000000000000000000000000000000..4ea34c2dc4850ab60da25152acb953062708a4f5
--- /dev/null
+++ b/test/metabase/async/util_test.clj
@@ -0,0 +1,118 @@
+(ns metabase.async.util-test
+  (:require [clojure.core.async :as a]
+            [expectations :refer [expect]]
+            [metabase.async.util :as async.u]
+            [metabase.test.util.async :as tu.async]))
+
+;;; ----------------------------------------------- single-value-pipe ------------------------------------------------
+
+;; make sure `single-value-pipe` pipes a value from in-chan to out-chan
+(expect
+  ::value
+  (tu.async/with-open-channels [in-chan  (a/chan 1)
+                                out-chan (a/chan 1)]
+    (async.u/single-value-pipe in-chan out-chan)
+    (a/>!! in-chan ::value)
+    (first (a/alts!! [out-chan (a/timeout 1000)]))))
+
+;; `single-value-pipe` should close input-chan if output-chan is closed
+(expect
+  (tu.async/with-open-channels [in-chan  (a/chan 1)
+                                out-chan (a/chan 1)]
+    (async.u/single-value-pipe in-chan out-chan)
+    (a/close! out-chan)
+    (tu.async/wait-for-close in-chan 100)))
+
+;; `single-value-pipe` should close output-chan if input-chan is closed
+(expect
+  (tu.async/with-open-channels [in-chan  (a/chan 1)
+                                out-chan (a/chan 1)]
+    (async.u/single-value-pipe in-chan out-chan)
+    (a/close! in-chan)
+    (tu.async/wait-for-close out-chan 100)))
+
+;; `single-value-pipe` should return a `canceled-chan` you can listen to to see whether either channel closes early
+(expect
+  ::async.u/canceled
+  (tu.async/with-open-channels [in-chan  (a/chan 1)
+                                out-chan (a/chan 1)]
+    (let [canceled-chan (async.u/single-value-pipe in-chan out-chan)]
+      (a/close! in-chan)
+      (first (a/alts!! [canceled-chan (a/timeout 1000)])))))
+
+(expect
+  ::async.u/canceled
+  (tu.async/with-open-channels [in-chan  (a/chan 1)
+                                out-chan (a/chan 1)]
+    (let [canceled-chan (async.u/single-value-pipe in-chan out-chan)]
+      (a/close! out-chan)
+      (first (a/alts!! [canceled-chan (a/timeout 1000)])))))
+
+;; if things proceed normally the `canceled-chan` should close with no result
+(expect
+  (tu.async/with-open-channels [in-chan  (a/chan 1)
+                                out-chan (a/chan 1)]
+    (let [canceled-chan (async.u/single-value-pipe in-chan out-chan)]
+      (a/>!! in-chan :ok)
+      (tu.async/wait-for-close canceled-chan 100))))
+
+;; if you are a knucklehead and write to out-chan it should cancel things
+(expect
+  ::async.u/canceled
+  (tu.async/with-open-channels [in-chan  (a/chan 1)
+                                out-chan (a/chan 1)]
+    (let [canceled-chan (async.u/single-value-pipe in-chan out-chan)]
+      (a/>!! out-chan "Oops")
+      (first (a/alts!! [canceled-chan (a/timeout 1000)])))))
+
+;; can we combine multiple single value pipes?
+(expect
+  ::value
+  (tu.async/with-open-channels [in-chan    (a/chan 1)
+                                out-chan-1 (a/chan 1)
+                                out-chan-2 (a/chan 1)]
+    (async.u/single-value-pipe in-chan out-chan-1)
+    (async.u/single-value-pipe out-chan-1 out-chan-2)
+    (a/>!! in-chan ::value)
+    (first (a/alts!! [out-chan-2 (a/timeout 1000)]))))
+
+
+;;; --------------------------------------------- do-on-separate-thread ----------------------------------------------
+
+;; Make sure `do-on-separate-thread` can actually run a function correctly
+(expect
+  ::success
+  (tu.async/with-open-channels [result-chan (async.u/do-on-separate-thread (fn []
+                                                                             (Thread/sleep 100)
+                                                                             ::success))]
+    (first (a/alts!! [result-chan (a/timeout 500)]))))
+
+;; when you close the result channel of `do-on-separate-thread,` it should cancel the future that's running it. This
+;; will produce an InterruptedException
+(expect
+  InterruptedException
+  (tu.async/with-open-channels [started-chan  (a/chan 1)
+                                finished-chan (a/chan 1)]
+    (let [f           (fn []
+                        (try
+                          (a/>!! started-chan ::started)
+                          (Thread/sleep 5000)
+                          (a/>!! finished-chan ::finished)
+                          (catch Throwable e
+                            (a/>!! finished-chan e))))
+          result-chan (async.u/do-on-separate-thread f)]
+      ;; wait for `f` to actually start running before we kill it. Otherwise it may not get started at all
+      (a/go
+        (a/alts!! [started-chan (a/timeout 1000)])
+        (a/close! result-chan))
+      (first (a/alts!! [finished-chan (a/timeout 1000)])))))
+
+;; We should be able to combine the `single-value-pipe` and `do-on-separate-thread` and get results
+(expect
+  ::success
+  (let [f (fn []
+            (Thread/sleep 100)
+            ::success)]
+    (tu.async/with-open-channels [result-chan (a/chan 1)]
+      (let [canceled-chan (async.u/single-value-pipe (async.u/do-on-separate-thread f) result-chan)]
+        (first (a/alts!! [canceled-chan result-chan (a/timeout 500)]))))))
diff --git a/test/metabase/automagic_dashboards/core_test.clj b/test/metabase/automagic_dashboards/core_test.clj
index 62840668b83bf8ec35fada26047e606c68d881cc..1b122460f64666ba048bf8c3439d5121ffce8779 100644
--- a/test/metabase/automagic_dashboards/core_test.clj
+++ b/test/metabase/automagic_dashboards/core_test.clj
@@ -2,8 +2,8 @@
   (:require [clj-time
              [core :as t]
              [format :as t.format]]
+            [clojure.core.async :as a]
             [expectations :refer :all]
-            [metabase.api.card :as card.api]
             [metabase.automagic-dashboards
              [core :as magic :refer :all]
              [rules :as rules]]
@@ -17,6 +17,7 @@
              [permissions-group :as perms-group]
              [query :as query]
              [table :as table :refer [Table]]]
+            [metabase.query-processor.async :as qp.async]
             [metabase.test
              [automagic-dashboards :refer :all]
              [data :as data]
@@ -146,6 +147,12 @@
           (perms/grant-collection-readwrite-permissions! (perms-group/all-users) collection-id)
           (-> card-id Card test-automagic-analysis))))))
 
+(defn- result-metadata-for-query [query]
+  (first
+   (a/alts!!
+    [(qp.async/result-metadata-for-query-async query)
+     (a/timeout 1000)])))
+
 (expect
   (tu/with-non-admin-groups-no-root-collection-perms
     (let [source-query {:query    {:source-table (data/id :venues)}
@@ -155,7 +162,7 @@
                       Card [{source-id :id} {:table_id      (data/id :venues)
                                              :collection_id   collection-id
                                              :dataset_query   source-query
-                                             :result_metadata (with-rasta (#'card.api/result-metadata-for-query source-query))}]
+                                             :result_metadata (with-rasta (result-metadata-for-query source-query))}]
                       Card [{card-id :id} {:table_id      (data/id :venues)
                                            :collection_id collection-id
                                            :dataset_query {:query    {:filter       [:> [:field-literal "PRICE" "type/Number"] 10]
@@ -190,7 +197,7 @@
                       Card [{source-id :id} {:table_id        nil
                                              :collection_id   collection-id
                                              :dataset_query   source-query
-                                             :result_metadata (with-rasta (#'card.api/result-metadata-for-query source-query))}]
+                                             :result_metadata (with-rasta (result-metadata-for-query source-query))}]
                       Card [{card-id :id} {:table_id      nil
                                            :collection_id collection-id
                                            :dataset_query {:query    {:filter       [:> [:field-literal "PRICE" "type/Number"] 10]
diff --git a/test/metabase/db/spec_test.clj b/test/metabase/db/spec_test.clj
index 0975b1e293045fdce3b36aae07627e8a2ae073b8..92d9903b3c9421edc835f5006a7fd93c2130f15f 100644
--- a/test/metabase/db/spec_test.clj
+++ b/test/metabase/db/spec_test.clj
@@ -30,7 +30,7 @@
   (assoc (default-pg-spec "") :dbname nil, :somethingrandom nil)
   (db.spec/postgres
    {:host    "localhost"
-    :port            5432
+    :port            nil
     :dbname          nil
     :db              nil
     :somethingrandom nil}))
@@ -39,3 +39,17 @@
 (expect
   (default-pg-spec "")
   (db.spec/postgres {}))
+
+(defn- default-mysql-spec [db]
+  {:classname                     "org.mariadb.jdbc.Driver"
+   :subprotocol                   "mysql"
+   :subname                       (format "//localhost:3306/%s" db)})
+
+;; Check that we default to port 3306 for MySQL databases, if `:port` is `nil`
+(expect
+  (assoc (default-mysql-spec "") :dbname nil)
+  (db.spec/mysql
+   {:host    "localhost"
+    :port            nil
+    :dbname          nil
+    :db              nil}))
diff --git a/test/metabase/driver/mysql_test.clj b/test/metabase/driver/mysql_test.clj
index 2091ba993d21b8569be9a6b114eb14e85277d388..11733653c2b12ae2ef9a05ffb18ba58574d862de 100644
--- a/test/metabase/driver/mysql_test.clj
+++ b/test/metabase/driver/mysql_test.clj
@@ -8,6 +8,7 @@
              [sync :as sync]
              [util :as u]]
             [metabase.driver.mysql :as mysql]
+            [metabase.driver.sql-jdbc.connection :as sql-jdbc.conn]
             [metabase.driver.sql.query-processor :as sql.qp]
             [metabase.models.database :refer [Database]]
             [metabase.test
@@ -161,3 +162,35 @@
              :native     {:query "SELECT cast({{date}} as date)"
                           :template-tags {:date {:name "date" :display_name "Date" :type "date" }}}
              :parameters [{:type "date/single" :target ["variable" ["template-tag" "date"]] :value "2018-04-18"}]}))))))
+
+(def ^:private sample-connection-details
+  {:db "my_db", :host "localhost", :port "3306", :user "cam", :password "bad-password"})
+
+(def ^:private sample-jdbc-spec
+  {:password             "bad-password"
+   :characterSetResults  "UTF8"
+   :characterEncoding    "UTF8"
+   :classname            "org.mariadb.jdbc.Driver"
+   :subprotocol          "mysql"
+   :zeroDateTimeBehavior "convertToNull"
+   :sessionVariables     "sql_mode='ALLOW_INVALID_DATES'"
+   :user                 "cam"
+   :subname              "//localhost:3306/my_db"
+   :useCompression       true
+   :useUnicode           true})
+
+;; Do `:ssl` connection details give us the connection spec we'd expect?
+(expect
+  (assoc sample-jdbc-spec :useSSL true)
+  (sql-jdbc.conn/connection-details->spec :mysql (assoc sample-connection-details :ssl true)))
+
+;; what about non-SSL connections?
+(expect
+  (assoc sample-jdbc-spec :useSSL false)
+  (sql-jdbc.conn/connection-details->spec :mysql sample-connection-details))
+
+;; Connections that are `:ssl false` but with `useSSL` in the additional options should be treated as SSL (see #9629)
+(expect
+  (assoc sample-jdbc-spec :useSSL true, :subname "//localhost:3306/my_db?useSSL=true&trustServerCertificate=true")
+  (sql-jdbc.conn/connection-details->spec :mysql
+    (assoc sample-connection-details :ssl false, :additional-options "useSSL=true&trustServerCertificate=true")))
diff --git a/test/metabase/driver/postgres_test.clj b/test/metabase/driver/postgres_test.clj
index 8491dd01bb1d0d62548ad53116e9fe9ff19e0dd1..c49aa40faff483b96b4526d6a52b3b035260704b 100644
--- a/test/metabase/driver/postgres_test.clj
+++ b/test/metabase/driver/postgres_test.clj
@@ -413,9 +413,9 @@
                               " \"public\".\"birds\".\"status\" AS \"status\","
                               " \"public\".\"birds\".\"type\" AS \"type\" "
                               "FROM \"public\".\"birds\" "
-                              "WHERE \"public\".\"birds\".\"type\" = CAST(? AS \"bird type\") "
+                              "WHERE \"public\".\"birds\".\"type\" = CAST('toucan' AS \"bird type\") "
                               "LIMIT 10")
-                 :params ["toucan"]}}
+                 :params nil}}
   (do-with-enums-db
     (fn [db]
       (let [table-id           (db/select-one-id Table :db_id (u/get-id db), :name "birds")
diff --git a/test/metabase/driver/sql/util/unprepare_test.clj b/test/metabase/driver/sql/util/unprepare_test.clj
index ebbafb5d3bdf1034512a2eccd70a82f067e4fd8f..3b72703bf8c0b20a6df3fd1b42618905ba01e3cb 100644
--- a/test/metabase/driver/sql/util/unprepare_test.clj
+++ b/test/metabase/driver/sql/util/unprepare_test.clj
@@ -1,19 +1,39 @@
 (ns metabase.driver.sql.util.unprepare-test
-  (:require [expectations :refer [expect]]
-            [metabase.driver.sql.util.unprepare :as unprepare]))
+  (:require [clojure.string :as str]
+            [expectations :refer [expect]]
+            [metabase.driver :as driver]
+            [metabase.driver.sql.util.unprepare :as unprepare])
+  (:import java.util.Date))
 
+;; check simple unprepare with only one string arg
 (expect
-  "SELECT 'Cam\\'s Cool Toucan' FROM TRUE WHERE x ?? y AND z = timestamp('2017-01-01T00:00:00.000Z')"
-  (unprepare/unprepare ["SELECT ? FROM ? WHERE x ?? y AND z = ?"
-                        "Cam's Cool Toucan"
-                        true
-                        #inst "2017-01-01T00:00:00.000Z"]))
+  "SELECT count(*) FROM venues WHERE venues.name = 'Barney''s Beanery'"
+  (unprepare/unprepare :sql
+    ["SELECT count(*) FROM venues WHERE venues.name = ?"
+     "Barney's Beanery"]))
 
+;; ok, thry to trip it up -- multiple args: string, boolean, and date; `??` which should not be replaced by a value
 (expect
-  "SELECT 'Cam''s Cool Toucan' FROM TRUE WHERE x ?? y AND z = from_iso8601_timestamp('2017-01-01T00:00:00.000Z')"
-  (unprepare/unprepare ["SELECT ? FROM ? WHERE x ?? y AND z = ?"
-                        "Cam's Cool Toucan"
-                        true
-                        #inst "2017-01-01T00:00:00.000Z"]
-                       :quote-escape "'"
-                       :iso-8601-fn  :from_iso8601_timestamp))
+  "SELECT 'Cam''s Cool Toucan' FROM TRUE WHERE x ?? y AND z = timestamp('2017-01-01T00:00:00.000Z')"
+  (unprepare/unprepare :sql
+    ["SELECT ? FROM ? WHERE x ?? y AND z = ?"
+     "Cam's Cool Toucan"
+     true
+     #inst "2017-01-01T00:00:00.000Z"]))
+
+;; check that we can override methods for unpreparing values of specific classes
+(driver/register! ::unprepare-test, :parent :sql, :abstract? true)
+
+(defmethod unprepare/unprepare-value [::unprepare-test String] [_ value]
+  (str \' (str/replace value "'" "\\\\'") \'))
+
+(defmethod unprepare/unprepare-value [::unprepare-test Date] [_ value]
+  (unprepare/unprepare-date-with-iso-8601-fn :from_iso8601_timestamp value))
+
+(expect
+  "SELECT 'Cam\\'s Cool Toucan' FROM TRUE WHERE x ?? y AND z = from_iso8601_timestamp('2017-01-01T00:00:00.000Z')"
+  (unprepare/unprepare ::unprepare-test
+    ["SELECT ? FROM ? WHERE x ?? y AND z = ?"
+     "Cam's Cool Toucan"
+     true
+     #inst "2017-01-01T00:00:00.000Z"]))
diff --git a/test/metabase/driver/sql_jdbc/execute_test.clj b/test/metabase/driver/sql_jdbc/execute_test.clj
index 97f1d43b1206071500ec9f9ce350ba651316afaf..4fc8723dd28875c0abdd5e2518dd5cc1d05de69d 100644
--- a/test/metabase/driver/sql_jdbc/execute_test.clj
+++ b/test/metabase/driver/sql_jdbc/execute_test.clj
@@ -7,6 +7,8 @@
   (:import java.sql.PreparedStatement))
 
 (defn- do-with-max-rows [f]
+  ;; force loading of the test data before swapping out `jdbc/query`, otherwise things might not sync correctly
+  (data/id)
   (let [orig-query jdbc/query
         max-rows   (atom nil)]
     (with-redefs [jdbc/query (fn [conn sql-params & [opts]]
diff --git a/test/metabase/driver/sql_jdbc/sync_test.clj b/test/metabase/driver/sql_jdbc/sync_test.clj
new file mode 100644
index 0000000000000000000000000000000000000000..ef0f871b76bba4ac70c538361f9b160152a0efba
--- /dev/null
+++ b/test/metabase/driver/sql_jdbc/sync_test.clj
@@ -0,0 +1,44 @@
+(ns metabase.driver.sql-jdbc.sync-test
+  (:require [clojure.java.jdbc :as jdbc]
+            [metabase.driver :as driver]
+            [metabase.driver.sql-jdbc
+             [connection :as sql-jdbc.conn]
+             [sync :as sql-jdbc.sync]]
+            [metabase.test.data :as data]
+            [metabase.test.data.datasets :as datasets])
+  (:import java.sql.ResultSet))
+
+(defn- sql-jdbc-drivers-with-default-describe-database-impl
+  "All SQL JDBC drivers that use the default SQL JDBC implementation of `describe-database`. (As far as I know, this is
+  all of them.)"
+  []
+  (set
+   (filter
+    #(identical? (get-method driver/describe-database :sql-jdbc) (get-method driver/describe-database %))
+    (descendants driver/hierarchy :sql-jdbc))))
+
+(defn- describe-database-with-open-resultset-count
+  "Just like `describe-database`, but instead of returning the database description returns the number of ResultSet
+  objects the sync process left open. Make sure you wrap ResultSets with `with-open`! Otherwise some JDBC drivers like
+  Oracle and Redshift will keep open cursors indefinitely."
+  [driver db]
+  (let [orig-result-set-seq jdbc/result-set-seq
+        resultsets          (atom [])]
+    ;; swap out `jdbc/result-set-seq` which is what ultimately gets called on result sets with a function that will
+    ;; stash the ResultSet object in an atom so we can check whether its closed later
+    (with-redefs [jdbc/result-set-seq (fn [^ResultSet rs & more]
+                                        (swap! resultsets conj rs)
+                                        (apply orig-result-set-seq rs more))]
+      ;; taking advantage of the fact that `sql-jdbc.sync/describe-database` can accept JBDC connections instead of
+      ;; databases; by doing this we can keep the connection open and check whether resultsets are still open before
+      ;; they would normally get closed
+      (jdbc/with-db-connection [conn (sql-jdbc.conn/db->pooled-connection-spec db)]
+        (sql-jdbc.sync/describe-database driver conn)
+        (reduce + (for [rs @resultsets]
+                    (if (.isClosed rs) 0 1)))))))
+
+;; make sure that running the sync process doesn't leak cursors because it's not closing the ResultSets
+;; See issues #4389, #6028, and #6467 (Oracle) and #7609 (Redshift)
+(datasets/expect-with-drivers (sql-jdbc-drivers-with-default-describe-database-impl)
+  0
+  (describe-database-with-open-resultset-count driver/*driver* (data/db)))
diff --git a/test/metabase/driver/sql_jdbc_test.clj b/test/metabase/driver/sql_jdbc_test.clj
index a036e6c5dc5f3d1350afdabf65ec0f4e795a0a76..0d60cf3abf4e2ee446e1789b31d9852b39f154f2 100644
--- a/test/metabase/driver/sql_jdbc_test.clj
+++ b/test/metabase/driver/sql_jdbc_test.clj
@@ -1,7 +1,10 @@
 (ns metabase.driver.sql-jdbc-test
   (:require [expectations :refer :all]
+            [metabase
+             [driver :as driver]
+             [query-processor :as qp]
+             [query-processor-test :as qp.test]]
             [metabase.db.metadata-queries :as metadata-queries]
-            [metabase.driver :as driver]
             [metabase.driver.util :as driver.u]
             [metabase.models
              [field :refer [Field]]
@@ -13,7 +16,8 @@
              [interface :as tx]]
             [metabase.test.util.log :as tu.log]
             [metabase.util.date :as du]
-            [toucan.db :as db]))
+            [toucan.db :as db])
+  (:import java.sql.Time))
 
 (def ^:private users-table      (delay (Table :name "USERS")))
 (def ^:private venues-table     (delay (Table (id :venues))))
@@ -25,14 +29,15 @@
    (du/profile "resolve @metabase.driver.sql-jdbc-test/sql-jdbc-drivers"
      (set
       (for [driver tx.env/test-drivers
-            :when  (isa? driver/hierarchy (driver/the-driver driver) (driver/the-driver :sql-jdbc))]
+            :when  ((descendants driver/hierarchy (driver/the-driver :sql-jdbc))
+                    (driver/the-driver driver))]
         (tx/the-driver-with-test-extensions driver))))))
 
 
 ;; DESCRIBE-DATABASE
 (expect
-  {:tables (set (map #(hash-map :name % :schema "PUBLIC" :description nil)
-                     ["CATEGORIES" "VENUES" "CHECKINS" "USERS"]))}
+  {:tables (set (for [table ["CATEGORIES" "VENUES" "CHECKINS" "USERS"]]
+                  {:name table, :schema "PUBLIC", :description nil}))}
   (driver/describe-database :h2 (db)))
 
 ;; DESCRIBE-TABLE
@@ -119,3 +124,105 @@
            (driver.u/can-connect-with-details? engine details :throw-exceptions)))
        (catch Exception e
          (.getMessage e))))
+
+;;; --------------------------------- Tests for splice-parameters-into-native-query ----------------------------------
+
+;; test splicing a single param
+;;
+;; (This test won't work if a driver that doesn't use single quotes for string literals comes along. We can cross that
+;; bridge when we get there.)
+(datasets/expect-with-drivers @sql-jdbc-drivers
+  {:query  "SELECT * FROM birds WHERE name = 'Reggae'"
+   :params nil}
+  (driver/splice-parameters-into-native-query driver/*driver*
+    {:query  "SELECT * FROM birds WHERE name = ?"
+     :params ["Reggae"]}))
+
+;; test splicing multiple params
+(datasets/expect-with-drivers @sql-jdbc-drivers
+  {:query
+   "SELECT * FROM birds WHERE name = 'Reggae' AND type = 'toucan' AND favorite_food = 'blueberries';",
+   :params nil}
+  (driver/splice-parameters-into-native-query driver/*driver*
+    {:query  "SELECT * FROM birds WHERE name = ? AND type = ? AND favorite_food = ?;"
+     :params ["Reggae" "toucan" "blueberries"]}))
+
+;; I think we're supposed to ignore multiple question narks, only single ones should get substituted
+;; (`??` becomes `?` in JDBC, which is used for Postgres as a "key exists?" JSON operator amongst other uses)
+(datasets/expect-with-drivers @sql-jdbc-drivers
+  {:query
+   "SELECT * FROM birds WHERE favorite_food ?? bird_info AND name = 'Reggae'",
+   :params nil}
+  (driver/splice-parameters-into-native-query driver/*driver*
+    {:query  "SELECT * FROM birds WHERE favorite_food ?? bird_info AND name = ?"
+     :params ["Reggae"]}))
+
+;; splicing with no params should no-op
+(datasets/expect-with-drivers @sql-jdbc-drivers
+  {:query "SELECT * FROM birds;", :params []}
+  (driver/splice-parameters-into-native-query driver/*driver*
+    {:query  "SELECT * FROM birds;"
+     :params []}))
+
+(defn- process-spliced-count-query* [mbql-query]
+  (let [native-query (qp/query->native-with-spliced-params
+                       {:database (data/id)
+                        :type     :query
+                        :query    (assoc mbql-query :aggregation [[:count]])})
+        spliced      (driver/splice-parameters-into-native-query driver/*driver* native-query)]
+    (qp.test/format-rows-by [int]
+      (qp.test/rows
+        (qp/process-query
+          {:database (data/id)
+           :type     :native
+           :native   spliced})))))
+
+(defmacro ^:private process-spliced-count-query [table filter-clause]
+  `(process-spliced-count-query*
+    {:source-table (data/id ~table)
+     :filter       (data/$ids [~table {:wrap-field-ids? true}]
+                     ~filter-clause)}))
+
+;; test splicing a string -- is resulting query correct?
+(datasets/expect-with-drivers @sql-jdbc-drivers
+  [[3]]
+  (process-spliced-count-query :venues [:starts-with $name "Sushi"]))
+
+;; test splicing a string containing single quotes -- is resulting query correct? (The way this is done varies from
+;; driver to driver)
+(datasets/expect-with-drivers @sql-jdbc-drivers
+  [[1]]
+  (process-spliced-count-query :venues [:= $name "Barney's Beanery"]))
+
+;; test splicing an integer -- is resulting query correct?
+(datasets/expect-with-drivers @sql-jdbc-drivers
+  [[13]]
+  (process-spliced-count-query :venues [:= $price 3]))
+
+;; test splicing a floating-point number -- is resulting query correct?
+(datasets/expect-with-drivers @sql-jdbc-drivers
+  [[13]]
+  (process-spliced-count-query :venues [:between $price 2.9 3.1]))
+
+;; test splicing a boolean -- is resulting query correct?
+(datasets/expect-with-drivers @sql-jdbc-drivers
+  [[2]]
+  (data/dataset places-cam-likes
+    (process-spliced-count-query :places [:= $liked true])))
+
+;; test splicing `nil` -- is resulting query correct?
+(datasets/expect-with-drivers @sql-jdbc-drivers
+  [[0]]
+  (process-spliced-count-query :venues [:is-null $price]))
+
+;; test splicing a `Date` -- is resulting query correct ?
+(datasets/expect-with-drivers @sql-jdbc-drivers
+  [[3]]
+  (process-spliced-count-query :checkins [:= $date "2014-03-05"]))
+
+;; test splicing a `Timestamp` -- is resulting query correct ?
+;; Oracle, Redshift, and SparkSQL don't have 'Time' types
+(datasets/expect-with-drivers (disj @sql-jdbc-drivers :oracle :redshift :sparksql)
+  [[2]]
+  (data/dataset test-data-with-time
+    (process-spliced-count-query :users [:= $last_login_time (Time. 9 30 0)])))
diff --git a/test/metabase/http_client.clj b/test/metabase/http_client.clj
index 7190b03ef682d96c00d0658e5752eef174600be7..6683792441936c70b6c7d122be1aa16ca3890749 100644
--- a/test/metabase/http_client.clj
+++ b/test/metabase/http_client.clj
@@ -2,12 +2,14 @@
   "HTTP client for making API calls against the Metabase API. For test/REPL purposes."
   (:require [cheshire.core :as json]
             [clj-http.client :as client]
-            [clojure.string :as s]
+            [clojure.string :as str]
             [clojure.tools.logging :as log]
             [metabase
              [config :as config]
              [util :as u]]
-            [metabase.util.date :as du]))
+            [metabase.middleware.session :as mw.session]
+            [metabase.util.date :as du]
+            [schema.core :as s]))
 
 ;;; build-url
 
@@ -22,7 +24,7 @@
   [url url-param-kwargs]
   {:pre [(string? url) (u/maybe? map? url-param-kwargs)]}
   (str *url-prefix* url (when (seq url-param-kwargs)
-                          (str "?" (s/join \& (for [[k v] url-param-kwargs]
+                          (str "?" (str/join \& (for [[k v] url-param-kwargs]
                                                 (str (if (keyword? k) (name k) k)
                                                      \=
                                                      (if (keyword? v) (name v) v))))))))
@@ -56,7 +58,7 @@
     (try
       (auto-deserialize-dates (json/parse-string body keyword))
       (catch Throwable _
-        (when-not (s/blank? body)
+        (when-not (str/blank? body)
           body)))))
 
 
@@ -64,28 +66,29 @@
 
 (declare client)
 
-(defn authenticate
+(s/defn authenticate
   "Authenticate a test user with USERNAME and PASSWORD, returning their Metabase Session token;
    or throw an Exception if that fails."
-  [{:keys [username password], :as credentials}]
-  {:pre [(string? username) (string? password)]}
+  [credentials :- {:username s/Str, :password s/Str}]
   (try
     (:id (client :post 200 "session" credentials))
     (catch Throwable e
-      (println "Failed to authenticate with username:" username "and password:" password ":" (.getMessage e)))))
+      (println "Failed to authenticate with credentials" credentials e))))
 
 
 ;;; client
 
 (defn- build-request-map [credentials http-body]
-  (cond-> {:accept  :json
-           :headers {"X-METABASE-SESSION" (when credentials
-                                            (if (map? credentials)
-                                              (authenticate credentials)
-                                              credentials))}}
-    (seq http-body) (assoc
-                      :content-type :json
-                      :body         (json/generate-string http-body))))
+  (merge
+   {:accept       :json
+    :headers      {@#'mw.session/metabase-session-header
+                   (when credentials
+                     (if (map? credentials)
+                       (authenticate credentials)
+                       credentials))}
+    :content-type :json}
+   (when (seq http-body)
+     {:body (json/generate-string http-body)})))
 
 (defn- check-status-code
   "If an EXPECTED-STATUS-CODE was passed to the client, check that the actual status code matches, or throw an exception."
@@ -118,7 +121,7 @@
   (let [request-map (merge (build-request-map credentials http-body) request-options)
         request-fn  (method->request-fn method)
         url         (build-url url url-param-kwargs)
-        method-name (s/upper-case (name method))
+        method-name (str/upper-case (name method))
         ;; Now perform the HTTP request
         {:keys [status body] :as resp} (try (request-fn url request-map)
                                             (catch clojure.lang.ExceptionInfo e
diff --git a/test/metabase/metabot/command_test.clj b/test/metabase/metabot/command_test.clj
index 7682e34df6e964061fc58745c56de26fd5c25fb5..495caeac311920b9a75ff8d1abcc5ed9621d5315 100644
--- a/test/metabase/metabot/command_test.clj
+++ b/test/metabase/metabot/command_test.clj
@@ -1,7 +1,18 @@
 (ns metabase.metabot.command-test
   (:require [expectations :refer [expect]]
-            [metabase.metabot.command :as metabot.cmd]
-            [metabase.models.card :refer [Card]]
+            [metabase.metabot
+             [command :as metabot.cmd]
+             [test-util :as metabot.test.u]]
+            [metabase.models
+             [card :refer [Card]]
+             [collection :refer [Collection]]
+             [permissions :as perms]
+             [permissions-group :as group]]
+            [metabase.test
+             [data :as data]
+             [util :as tu]]
+            [metabase.util :as u]
+            [metabase.util.i18n :refer [tru]]
             [toucan.util.test :as tt]))
 
 ;; Check that `metabot/list` returns a string with card information and passes the permissions checks
@@ -17,3 +28,94 @@
   (tt/with-temp* [Card [_]
                   Card [_ {:archived true}]]
     (metabot.cmd/command "list")))
+
+(defn- command [& args]
+  (tu/with-temporary-setting-values [site-url "https://metabase.mysite.com"]
+    (metabot.test.u/with-slack-messages
+      (try
+        (apply metabot.cmd/command args)
+        (catch Throwable e
+          (list 'Exception. (.getMessage e)))))))
+
+;; ok, now let's look at the actual response in its entirety
+(tt/expect-with-temp [Card [{:keys [name id]}]
+                      Card [_ {:archived true}]]
+  {:response (format "Here's your 1 most recent cards:\n%d.  <https://metabase.mysite.com/question/%d|\"%s\">"
+                     id id name)
+   :messages []}
+  (command "list"))
+
+(defn- venues-count-query []
+  {:database (data/id)
+   :type     :query
+   :query    {:source-table (data/id :venues)
+              :aggregation  [[:count]]}})
+
+;; Check that when we call the `show` command it passes something resembling what we'd like to the correct `pulse/`
+;; functions
+(expect
+  {:response "Ok, just a second..."
+   :messages `[(~'post-chat-message!
+                nil
+                (~'create-and-upload-slack-attachments!
+                 (~'create-slack-attachment-data
+                  (~{:card   metabase.models.card.CardInstance
+                     :result clojure.lang.PersistentHashMap}))))]}
+  (tt/with-temp Card [{card-id :id} {:dataset_query (venues-count-query)}]
+    (command "show" card-id)))
+
+;; Show also work when you try to show Card by name
+(expect
+  {:response "Ok, just a second..."
+   :messages `[(~'post-chat-message!
+                nil
+                (~'create-and-upload-slack-attachments!
+                 (~'create-slack-attachment-data
+                  (~{:card   metabase.models.card.CardInstance
+                     :result clojure.lang.PersistentHashMap}))))]}
+  (tt/with-temp Card [_ {:dataset_query (venues-count-query), :name "Cam's Cool MetaBot Card"}]
+    (command "show" "Cam's Cool M")))
+
+;; If you try to show more than one Card by name, it should ask you to be more specific
+(tt/expect-with-temp [Card [{card-1-id :id} {:dataset_query (venues-count-query), :name "Cam's Cool MetaBot Card 1"}]
+                      Card [{card-2-id :id} {:dataset_query (venues-count-query), :name "Cam's Cool MetaBot Card 2"}]]
+  {:response
+   (list
+    'Exception.
+    (str "Could you be a little more specific, or use the ID? I found these cards with names that matched:"
+         "\n"
+         (format "%d.  <https://metabase.mysite.com/question/%d|\"Cam's Cool MetaBot Card 1\">" card-1-id card-1-id)
+         "\n"
+         (format "%d.  <https://metabase.mysite.com/question/%d|\"Cam's Cool MetaBot Card 2\">" card-2-id card-2-id)))
+
+   :messages []}
+  (command "show" "Cam's Cool M"))
+
+;; If you try to show an archived Card it shouldn't work
+(expect
+  {:response '(Exception. "Card Cam's Cool MetaBot Card not found.")
+   :messages []}
+  (tt/with-temp Card [_ {:dataset_query (venues-count-query), :name "Cam's Cool MetaBot Card", :archived true}]
+    (command "show" "Cam's Cool MetaBot Card")))
+
+;; If you try to show a Card with a name that doesn't exist, you should get a Not Found message.
+(expect
+  {:response '(Exception. "Card Cam's Card that doesn't exist at all not found.")
+   :messages []}
+  (command "show" "Cam's Card that doesn't exist at all"))
+
+;; If you try to show a Card with an ID that doesn't exist, you should get a Not Found message.
+(expect
+  {:response (list 'Exception. (str (tru "Card {0} not found." Integer/MAX_VALUE)))
+   :messages []}
+  (command "show" Integer/MAX_VALUE))
+
+;; If you try to show a Card that's in a collection that the MetaBot doesn't have permissions for, it should throw an
+;; Exception
+(expect
+  {:response '(Exception. "You don't have permissions to do that.")
+   :messages []}
+  (tt/with-temp* [Collection [collection]
+                  Card       [{card-id :id} {:collection_id (u/get-id collection), :dataset_query (venues-count-query)}]]
+    (perms/revoke-collection-permissions! (group/metabot) collection)
+    (command "show" card-id)))
diff --git a/test/metabase/metabot/events_test.clj b/test/metabase/metabot/events_test.clj
new file mode 100644
index 0000000000000000000000000000000000000000..2f68a9b80f8d8095edcb6e4210ab9cbc9338e840
--- /dev/null
+++ b/test/metabase/metabot/events_test.clj
@@ -0,0 +1,110 @@
+(ns metabase.metabot.events-test
+  (:require [cheshire.core :as json]
+            [expectations :refer [expect]]
+            [metabase.metabot
+             [command :as metabot.cmd]
+             [events :as metabot.events]
+             [slack :as metabot.slack]
+             [test-util :as metabot.test.u]]))
+
+;; check that things get parsed correctly
+(expect
+  '(show 100)
+  (#'metabot.events/str->tokens "show 100"))
+
+(expect
+  '(show "Birdwatching Hot Spots")
+  (#'metabot.events/str->tokens "show \"Birdwatching Hot Spots\""))
+
+(expect
+  '(SHOW :wow)
+  (#'metabot.events/str->tokens "SHOW :wow"))
+
+(defn- handle-slack-event [event]
+  (metabot.test.u/with-slack-messages
+    (metabot.events/handle-slack-event
+     1000000
+     (json/generate-string
+      (merge {:type "message", :ts "1001"} event)))))
+
+;; MetaBot shouldn't handle events that aren't of type "message"
+(expect
+  []
+  (handle-slack-event {:text "metabot list", :type "not_a_message"}))
+
+;; MetaBot shouldn't handle "message" events if the subtype is something like "bot_message"
+(expect
+  []
+  (handle-slack-event {:text "metabot list", :subtype "bot_message"}))
+
+;; MetaBot shouldn't handlle events if they were posted after the MetaBot start time
+(expect
+  []
+  (handle-slack-event {:text "metabot list", :ts "999"}))
+
+;; MetaBot shouldn't handle events that don't start with metabot
+(expect
+  []
+  (handle-slack-event {:text "metabase list"}))
+
+;; Make sure the message CHANNEL gets bound correctly!
+(expect
+  '[(post-chat-message! "#she-watch-channel-zero")]
+  (with-redefs [metabot.cmd/command (fn [& _] @#'metabot.slack/*channel-id*)]
+    (handle-slack-event {:text "metabot list", :channel "#she-watch-channel-zero"})))
+
+;; (but we should allow misspellings like `metaboat` or `meatbot` :scream_cat:
+(expect
+  '[(post-chat-message! "OK")]
+  (with-redefs [metabot.cmd/command (constantly "OK")]
+    (handle-slack-event {:text "meatbot list"})))
+
+(expect
+  '[(post-chat-message! "OK")]
+  (with-redefs [metabot.cmd/command (constantly "OK")]
+    (handle-slack-event {:text "metaboat list"})))
+
+;; If the command function returns a string, we should post that directly as a chat message
+(expect
+  '[(post-chat-message! "(command list)")]
+  (with-redefs [metabot.cmd/command (fn [& args] (str (cons 'command args)))]
+    (handle-slack-event {:text "metabot list"})))
+
+;; command strings should get parsed correctly as if they were EDN
+(expect
+  [(list
+    'post-chat-message!
+    (str "(command \"class clojure.lang.Symbol symbol\""
+         " \"class java.lang.Double 1.0\""
+         " \"class java.lang.Long 2\""
+         " \"class clojure.lang.Keyword :keyword\""
+         " \"class java.lang.String String\")"))]
+  (with-redefs [metabot.cmd/command (fn [& args]
+                                      (str (cons 'command (for [arg args]
+                                                            (str (class arg) " " arg)))))]
+    (handle-slack-event {:text "metabot symbol 1.0 2 :keyword \"String\""})))
+
+;; if the command function returns something other than a string, we should post that as a code block
+(expect
+  '[(post-chat-message! "```\n(command list)\n```")]
+  (with-redefs [metabot.cmd/command (fn [& args]
+                                      (cons 'command args))]
+    (metabot.test.u/with-slack-messages
+      (#'metabot.events/handle-slack-message {:text "metabot list"}))))
+
+;; if the command function sends stuff async, that should get posted
+(expect
+  '[(post-chat-message! "HERE ARE YOUR RESULTZ" "[attachment]")
+    (post-chat-message! "Just a second...")]
+  (with-redefs [metabot.cmd/command (fn [& args]
+                                      (metabot.slack/async
+                                        (metabot.slack/post-chat-message! "HERE ARE YOUR RESULTZ" "[attachment]"))
+                                      "Just a second...")]
+    (handle-slack-event {:text "metabot list"})))
+
+;; if the command function throws an Exception, we should post an 'Uh-oh' message
+(expect
+  '[(post-chat-message! "Uh oh! :cry:\n> Sorry, maybe next time!")]
+  (with-redefs [metabot.cmd/command (fn [& args]
+                                      (throw (Exception. "Sorry, maybe next time!")))]
+    (handle-slack-event {:text "metabot list"})))
diff --git a/test/metabase/metabot/test_util.clj b/test/metabase/metabot/test_util.clj
new file mode 100644
index 0000000000000000000000000000000000000000..c4c5e505b99c963b6cc4b1fa2a881484ef200a61
--- /dev/null
+++ b/test/metabase/metabot/test_util.clj
@@ -0,0 +1,43 @@
+(ns metabase.metabot.test-util
+  (:require [medley.core :as m]
+            [metabase.metabot.slack :as metabot.slack]
+            [metabase.pulse :as pulse]))
+
+(defn do-with-slack-messages [f]
+  (let [messages (atom [])]
+    (with-redefs [metabot.slack/post-chat-message!
+                  (fn [& args]
+                    (swap! messages conj (cons 'post-chat-message! args))
+                    nil)
+
+                  pulse/create-and-upload-slack-attachments!
+                  (fn [& args]
+                    (cons 'create-and-upload-slack-attachments! args))
+
+                  pulse/create-slack-attachment-data
+                  (fn [card-results]
+                    (list 'create-slack-attachment-data
+                          (for [result card-results]
+                            (m/map-vals class result))))
+
+                  ;; this is bascially the same as the real implementation but doesn't do things in a future, and
+                  ;; doesn't log errors
+                  metabot.slack/do-async
+                  (fn [f]
+                    (try
+                      (f)
+                      nil
+                      (catch Throwable e
+                        (metabot.slack/post-chat-message!
+                         (#'metabot.slack/format-exception e)))))]
+
+      (if-let [response (f)]
+        {:response response, :messages @messages}
+        @messages))))
+
+(defmacro with-slack-messages
+  "Execute body with the functions that post to Slack mocked, returning a sequence of all fncalls to relevant functions
+  like `post-chat-message!`. Use this to write tests for the MetaBot without actually having to worry about setting up
+  Slack!"
+  [& body]
+  `(do-with-slack-messages (fn [] ~@body)))
diff --git a/test/metabase/middleware/auth_test.clj b/test/metabase/middleware/auth_test.clj
new file mode 100644
index 0000000000000000000000000000000000000000..5aca8276d6ae1acd05fbb3eb354022ed1eb61e2f
--- /dev/null
+++ b/test/metabase/middleware/auth_test.clj
@@ -0,0 +1,144 @@
+(ns metabase.middleware.auth-test
+  (:require [expectations :refer [expect]]
+            [metabase.middleware
+             [auth :as mw.auth]
+             [session :as mw.session]
+             [util :as middleware.u]]
+            [metabase.models.session :refer [Session]]
+            [metabase.test.data.users :as test-users]
+            [ring.mock.request :as mock]
+            [toucan.db :as db]
+            [toucan.util.test :as tt])
+  (:import java.sql.Timestamp
+           java.util.UUID))
+
+;; create a simple example of our middleware wrapped around a handler that simply returns the request
+(defn- auth-enforced-handler [request]
+  ((-> (fn [request respond _]
+         (respond request))
+       mw.auth/enforce-authentication
+       mw.session/wrap-current-user-id)
+   request
+   identity
+   (fn [e] (throw e))))
+
+
+(defn- request-with-session-id
+  "Creates a mock Ring request with the given session-id applied"
+  [session-id]
+  (-> (mock/request :get "/anyurl")
+      (assoc :metabase-session-id session-id)))
+
+
+;; no session-id in the request
+(expect
+  middleware.u/response-unauthentic
+  (auth-enforced-handler
+   (mock/request :get "/anyurl")))
+
+(defn- random-session-id []
+  (str (UUID/randomUUID)))
+
+
+;; valid session ID
+(expect
+  (test-users/user->id :rasta)
+  (let [session-id (random-session-id)]
+    (tt/with-temp Session [_ {:id      session-id
+                              :user_id (test-users/user->id :rasta)}]
+      (-> (auth-enforced-handler
+           (request-with-session-id session-id))
+          :metabase-user-id))))
+
+
+;; expired session-id
+;; create a new session (specifically created some time in the past so it's EXPIRED)
+;; should fail due to session expiration
+(expect
+  middleware.u/response-unauthentic
+  (let [session-id (random-session-id)]
+    (tt/with-temp Session [_ {:id      session-id
+                              :user_id (test-users/user->id :rasta)}]
+      (db/update-where! Session {:id session-id}
+        :created_at (Timestamp. 0))
+      (auth-enforced-handler
+       (request-with-session-id session-id)))))
+
+
+;; inactive user session-id
+;; create a new session (specifically created some time in the past so it's EXPIRED)
+;; should fail due to inactive user
+;; NOTE that :trashbird is our INACTIVE test user
+(expect
+  middleware.u/response-unauthentic
+  (let [session-id (random-session-id)]
+    (tt/with-temp Session [_ {:id      session-id
+                              :user_id (test-users/user->id :trashbird)}]
+      (auth-enforced-handler
+       (request-with-session-id session-id)))))
+
+
+;;; ------------------------------------------ TEST wrap-api-key middleware ------------------------------------------
+
+;; create a simple example of our middleware wrapped around a handler that simply returns the request
+;; this works in this case because the only impact our middleware has is on the request
+(defn- wrapped-api-key-handler [request]
+  ((mw.auth/wrap-api-key
+    (fn [request respond _] (respond request)))
+   request
+   identity
+   (fn [e] (throw e))))
+
+
+;; no apikey in the request
+(expect
+  nil
+  (:metabase-session-id
+   (wrapped-api-key-handler
+    (mock/request :get "/anyurl"))))
+
+
+;; extract apikey from header
+(expect
+  "foobar"
+  (:metabase-api-key
+   (wrapped-api-key-handler
+    (mock/header (mock/request :get "/anyurl") @#'mw.auth/metabase-api-key-header "foobar"))))
+
+
+;;; ---------------------------------------- TEST enforce-api-key middleware -----------------------------------------
+
+;; create a simple example of our middleware wrapped around a handler that simply returns the request
+(defn- api-key-enforced-handler [request]
+  ((mw.auth/enforce-api-key (fn [_ respond _] (respond {:success true})))
+   request
+   identity
+   (fn [e] (throw e))))
+
+
+(defn- request-with-api-key
+  "Creates a mock Ring request with the given apikey applied"
+  [api-key]
+  (-> (mock/request :get "/anyurl")
+      (assoc :metabase-api-key api-key)))
+
+
+;; no apikey in the request, expect 403
+(expect
+  middleware.u/response-forbidden
+  (api-key-enforced-handler
+   (mock/request :get "/anyurl")))
+
+
+;; valid apikey, expect 200
+(expect
+  {:success true}
+  (api-key-enforced-handler
+   (request-with-api-key "test-api-key")))
+
+
+;; invalid apikey, expect 403
+(expect
+  middleware.u/response-forbidden
+  (api-key-enforced-handler
+   (request-with-api-key "foobar")))
diff --git a/test/metabase/middleware/json_test.clj b/test/metabase/middleware/json_test.clj
new file mode 100644
index 0000000000000000000000000000000000000000..efa39ae547a2cad65a1585b6e82b0bbaa305da08
--- /dev/null
+++ b/test/metabase/middleware/json_test.clj
@@ -0,0 +1,26 @@
+(ns metabase.middleware.json-test
+  (:require [cheshire.core :as json]
+            [expectations :refer [expect]]))
+
+;;; JSON encoding tests
+;; Required here so so custom Cheshire encoders are loaded
+(require 'metabase.middleware.json)
+
+;; Check that we encode byte arrays as the hex values of their first four bytes
+(expect
+  "{\"my-bytes\":\"0xC42360D7\"}"
+  (json/generate-string {:my-bytes (byte-array [196 35  96 215  8 106 108 248 183 215 244 143  17 160 53 186
+                                                213 30 116  25 87  31 123 172 207 108  47 107 191 215 76  92])}))
+
+;; Make sure we send you an informative error message if you try to send an API request without Content-Type:
+;; application/json headers
+#_(expect
+  {:body "Metabase only supports JSON requests. Make sure you set a Content-Type: application/json header."
+   :status 400}
+  (try
+    (http/post
+     (str mb-http/*url-prefix* (format "/user/%d/qbnewb" (test-users/user->id :crowberto)))
+     {:headers {"X-Metabase-Session" (mb-http/authenticate (test-users/user->credentials :crowberto))}})
+    (catch ExceptionInfo e
+      (let [response (:object (ex-data e))]
+        (select-keys response [:body :status])))))
diff --git a/test/metabase/middleware/session_test.clj b/test/metabase/middleware/session_test.clj
new file mode 100644
index 0000000000000000000000000000000000000000..7d4fa890f4308f101da4e2eab3d17e9d3a52ef38
--- /dev/null
+++ b/test/metabase/middleware/session_test.clj
@@ -0,0 +1,86 @@
+(ns metabase.middleware.session-test
+  (:require [expectations :refer [expect]]
+            [metabase.api.common :refer [*current-user* *current-user-id*]]
+            [metabase.middleware.session :as mw.session]
+            [metabase.test.data.users :as test-users]
+            [ring.mock.request :as mock]))
+
+;;; ---------------------------------------- TEST wrap-session-id middleware -----------------------------------------
+
+;; create a simple example of our middleware wrapped around a handler that simply returns the request
+;; this works in this case because the only impact our middleware has is on the request
+(defn- wrapped-handler [request]
+  ((mw.session/wrap-session-id
+    (fn [request respond _] (respond request)))
+   request
+   identity
+   (fn [e] (throw e))))
+
+
+;; no session-id in the request
+(expect
+  nil
+  (-> (wrapped-handler (mock/request :get "/anyurl") )
+      :metabase-session-id))
+
+
+;; extract session-id from header
+(expect
+  "foobar"
+  (:metabase-session-id
+   (wrapped-handler
+    (mock/header (mock/request :get "/anyurl") @#'mw.session/metabase-session-header "foobar"))))
+
+
+;; extract session-id from cookie
+(expect
+  "cookie-session"
+  (:metabase-session-id
+   (wrapped-handler
+    (assoc (mock/request :get "/anyurl")
+      :cookies {@#'mw.session/metabase-session-cookie {:value "cookie-session"}}))))
+
+
+;; if both header and cookie session-ids exist, then we expect the cookie to take precedence
+(expect
+  "cookie-session"
+  (:metabase-session-id
+   (wrapped-handler
+    (assoc (mock/header (mock/request :get "/anyurl") @#'mw.session/metabase-session-header "foobar")
+      :cookies {@#'mw.session/metabase-session-cookie {:value "cookie-session"}}))))
+
+
+;;; --------------------------------------- TEST bind-current-user middleware ----------------------------------------
+
+;; create a simple example of our middleware wrapped around a handler that simply returns our bound variables for users
+(defn- user-bound-handler [request]
+  ((mw.session/bind-current-user
+    (fn [_ respond _]
+      (respond
+       {:user-id *current-user-id*
+        :user    (select-keys @*current-user* [:id :email])})))
+   request
+   identity
+   (fn [e] (throw e))))
+
+(defn- request-with-user-id
+  "Creates a mock Ring request with the given user-id applied"
+  [user-id]
+  (-> (mock/request :get "/anyurl")
+      (assoc :metabase-user-id user-id)))
+
+
+;; with valid user-id
+(expect
+  {:user-id (test-users/user->id :rasta)
+   :user    {:id    (test-users/user->id :rasta)
+             :email (:email (test-users/fetch-user :rasta))}}
+  (user-bound-handler
+   (request-with-user-id (test-users/user->id :rasta))))
+
+;; with invalid user-id (not sure how this could ever happen, but lets test it anyways)
+(expect
+  {:user-id 0
+   :user    {}}
+  (user-bound-handler
+   (request-with-user-id 0)))
diff --git a/test/metabase/middleware_test.clj b/test/metabase/middleware_test.clj
deleted file mode 100644
index 4ed9259f9d9b7e9e397994f88df9f307398bbde6..0000000000000000000000000000000000000000
--- a/test/metabase/middleware_test.clj
+++ /dev/null
@@ -1,177 +0,0 @@
-(ns metabase.middleware-test
-  (:require [cheshire.core :as json]
-            [expectations :refer :all]
-            [metabase.api.common :refer [*current-user* *current-user-id*]]
-            [metabase.middleware :as mid :refer :all]
-            [metabase.models.session :refer [Session]]
-            [metabase.test.data.users :refer :all]
-            [metabase.util.date :as du]
-            [ring.mock.request :as mock]
-            [toucan.db :as db]))
-
-;;  ===========================  TEST wrap-session-id middleware  ===========================
-
-;; create a simple example of our middleware wrapped around a handler that simply returns the request
-;; this works in this case because the only impact our middleware has is on the request
-(def ^:private wrapped-handler
-  (wrap-session-id identity))
-
-
-;; no session-id in the request
-(expect nil
-  (-> (wrapped-handler (mock/request :get "/anyurl"))
-      :metabase-session-id))
-
-
-;; extract session-id from header
-(expect "foobar"
-  (:metabase-session-id (wrapped-handler (mock/header (mock/request :get "/anyurl") @(resolve 'metabase.middleware/metabase-session-header) "foobar"))))
-
-
-;; extract session-id from cookie
-(expect "cookie-session"
-  (:metabase-session-id (wrapped-handler (assoc (mock/request :get "/anyurl") :cookies {@(resolve 'metabase.middleware/metabase-session-cookie) {:value "cookie-session"}}))))
-
-
-;; if both header and cookie session-ids exist, then we expect the cookie to take precedence
-(expect "cookie-session"
-  (:metabase-session-id (wrapped-handler (assoc (mock/header (mock/request :get "/anyurl") @(resolve 'metabase.middleware/metabase-session-header) "foobar")
-                                                :cookies {@(resolve 'metabase.middleware/metabase-session-cookie) {:value "cookie-session"}}))))
-
-
-;;  ===========================  TEST enforce-authentication middleware  ===========================
-
-
-;; create a simple example of our middleware wrapped around a handler that simply returns the request
-(def ^:private auth-enforced-handler
-  (wrap-current-user-id (enforce-authentication identity)))
-
-
-(defn- request-with-session-id
-  "Creates a mock Ring request with the given session-id applied"
-  [session-id]
-  (-> (mock/request :get "/anyurl")
-      (assoc :metabase-session-id session-id)))
-
-
-;; no session-id in the request
-(expect response-unauthentic
-  (auth-enforced-handler (mock/request :get "/anyurl")))
-
-(defn- random-session-id []
-  (str (java.util.UUID/randomUUID)))
-
-
-;; valid session ID
-(expect
-  (user->id :rasta)
-  (let [session-id (random-session-id)]
-    (db/simple-insert! Session, :id session-id, :user_id (user->id :rasta), :created_at (du/new-sql-timestamp))
-    (-> (auth-enforced-handler (request-with-session-id session-id))
-        :metabase-user-id)))
-
-
-;; expired session-id
-;; create a new session (specifically created some time in the past so it's EXPIRED)
-;; should fail due to session expiration
-(expect
-  response-unauthentic
-  (let [session-id (random-session-id)]
-    (db/simple-insert! Session, :id session-id, :user_id (user->id :rasta), :created_at (java.sql.Timestamp. 0))
-    (auth-enforced-handler (request-with-session-id session-id))))
-
-
-;; inactive user session-id
-;; create a new session (specifically created some time in the past so it's EXPIRED)
-;; should fail due to inactive user
-;; NOTE that :trashbird is our INACTIVE test user
-(expect response-unauthentic
-  (let [session-id (random-session-id)]
-    (db/simple-insert! Session, :id session-id, :user_id (user->id :trashbird), :created_at (du/new-sql-timestamp))
-    (auth-enforced-handler (request-with-session-id session-id))))
-
-
-;;  ===========================  TEST bind-current-user middleware  ===========================
-
-
-;; create a simple example of our middleware wrapped around a handler that simply returns our bound variables for users
-(def ^:private user-bound-handler
-  (bind-current-user (fn [_] {:user-id *current-user-id*
-                              :user    (select-keys @*current-user* [:id :email])})))
-
-(defn- request-with-user-id
-  "Creates a mock Ring request with the given user-id applied"
-  [user-id]
-  (-> (mock/request :get "/anyurl")
-      (assoc :metabase-user-id user-id)))
-
-
-;; with valid user-id
-(expect
-    {:user-id (user->id :rasta)
-     :user    {:id    (user->id :rasta)
-               :email (:email (fetch-user :rasta))}}
-  (user-bound-handler (request-with-user-id (user->id :rasta))))
-
-;; with invalid user-id (not sure how this could ever happen, but lets test it anyways)
-(expect
-    {:user-id 0
-     :user    {}}
-  (user-bound-handler (request-with-user-id 0)))
-
-
-;;  ===========================  TEST wrap-api-key middleware  ===========================
-
-;; create a simple example of our middleware wrapped around a handler that simply returns the request
-;; this works in this case because the only impact our middleware has is on the request
-(def ^:private wrapped-api-key-handler
-  (wrap-api-key identity))
-
-
-;; no apikey in the request
-(expect nil
-  (:metabase-session-id (wrapped-api-key-handler (mock/request :get "/anyurl"))))
-
-
-;; extract apikey from header
-(expect "foobar"
-  (:metabase-api-key (wrapped-api-key-handler (mock/header (mock/request :get "/anyurl") @(resolve 'metabase.middleware/metabase-api-key-header) "foobar"))))
-
-
-;;  ===========================  TEST enforce-api-key middleware  ===========================
-
-
-;; create a simple example of our middleware wrapped around a handler that simply returns the request
-(def ^:private api-key-enforced-handler
-  (enforce-api-key (constantly {:success true})))
-
-
-(defn- request-with-api-key
-  "Creates a mock Ring request with the given apikey applied"
-  [api-key]
-  (-> (mock/request :get "/anyurl")
-      (assoc :metabase-api-key api-key)))
-
-
-;; no apikey in the request, expect 403
-(expect response-forbidden
-  (api-key-enforced-handler (mock/request :get "/anyurl")))
-
-
-;; valid apikey, expect 200
-(expect
-    {:success true}
-  (api-key-enforced-handler (request-with-api-key "test-api-key")))
-
-
-;; invalid apikey, expect 403
-(expect response-forbidden
-  (api-key-enforced-handler (request-with-api-key "foobar")))
-
-
-;;; JSON encoding tests
-
-;; Check that we encode byte arrays as the hex values of their first four bytes
-(expect "{\"my-bytes\":\"0xC42360D7\"}"
-        (json/generate-string {:my-bytes (byte-array [196 35  96 215  8 106 108 248 183 215 244 143  17 160 53 186
-                                                      213 30 116  25 87  31 123 172 207 108  47 107 191 215 76  92])}))
diff --git a/test/metabase/models/collection_test.clj b/test/metabase/models/collection_test.clj
index 4c159ffdb21bdf655a1c9bd22dcafa348c8a75fb..177bba4039cb846da0ab20fb3cd6ea71671ec82e 100644
--- a/test/metabase/models/collection_test.clj
+++ b/test/metabase/models/collection_test.clj
@@ -487,6 +487,19 @@
      "/db/2/native/"
      "/collection/9/read/"}))
 
+;; for the Root Collection we should return `"root"`
+(expect
+  #{8 9 "root"}
+  (collection/permissions-set->visible-collection-ids
+   #{"/collection/8/"
+     "/collection/9/read/"
+     "/collection/root/"}))
+
+(expect
+  #{"root"}
+  (collection/permissions-set->visible-collection-ids
+   #{"/collection/root/read/"}))
+
 ;; Can we calculate `effective-location-path`?
 (expect "/10/20/"    (collection/effective-location-path "/10/20/30/" #{10 20}))
 (expect "/10/30/"    (collection/effective-location-path "/10/20/30/" #{10 30}))
diff --git a/test/metabase/models/metric_test.clj b/test/metabase/models/metric_test.clj
index 0eeaddcb24b4bc36904b498ce45c7401bcc7c7e7..16ee0b6455ffa783012cb0d48427da67a3888c89 100644
--- a/test/metabase/models/metric_test.clj
+++ b/test/metabase/models/metric_test.clj
@@ -2,14 +2,15 @@
   (:require [expectations :refer :all]
             [metabase.models
              [database :refer [Database]]
-             [metric :as metric :refer :all]
+             [metric :as metric :refer [Metric]]
              [table :refer [Table]]]
             [metabase.test.data :refer :all]
             [metabase.test.data.users :refer [fetch-user user->id]]
             [metabase.util :as u]
+            [toucan.db :as db]
             [toucan.util.test :as tt]))
 
-(def ^:private ^:const metric-defaults
+(def ^:private metric-defaults
   {:description             nil
    :how_is_this_calculated  nil
    :show_in_getting_started false
@@ -25,117 +26,45 @@
 (defn- metric-details
   [{:keys [creator] :as metric}]
   (-> (dissoc metric :id :table_id :created_at :updated_at)
-      (update :creator (u/rpartial dissoc :date_joined :last_login))))
-
-(defn- create-metric-then-select!
-  [table name description creator definition]
-  (metric-details (create-metric! table name description creator definition)))
-
-(defn- update-metric-then-select!
-  [metric]
-  (metric-details (update-metric! metric (user->id :crowberto))))
-
-
-;; create-metric!
-(expect
-  (merge metric-defaults
-         {:creator_id (user->id :rasta)
-          :creator    (user-details :rasta)
-          :name       "I only want *these* things"
-          :definition {:filter [:= [:field-id 1] 2]}})
-  (tt/with-temp* [Database [{database-id :id}]
-                  Table    [{:keys [id]}      {:db_id database-id}]]
-    (create-metric-then-select! id "I only want *these* things" nil (user->id :rasta) {:filter [:= [:field-id 1] 2]})))
-
-
-;; exists?
-(expect
-  [true
-   false]
-  (tt/with-temp* [Database [{database-id :id}]
-                  Table    [{table-id :id}    {:db_id database-id}]
-                  Metric   [{metric-id :id}   {:table_id   table-id
-                                               :definition {:filter [:= [:field-id 1] 2]}}]]
-    [(metric/exists? metric-id)
-     (metric/exists? Integer/MAX_VALUE)])) ; a Metric that definitely doesn't exist
-
-
-;; retrieve-metric
-(expect
-  (merge metric-defaults
-         {:creator_id  (user->id :rasta)
-          :creator     (user-details :rasta)
-          :name        "Toucans in the rainforest"
-          :description "Lookin' for a blueberry"
-          :definition  {:filter [:= [:field-id 1] 2]}})
-  (tt/with-temp* [Database [{database-id :id}]
-                  Table    [{table-id :id}    {:db_id database-id}]
-                  Metric   [{metric-id :id}   {:table_id    table-id
-                                               :definition  {:filter [:= [:field-id 1] 2]}}]]
-    (let [{:keys [creator] :as metric} (retrieve-metric metric-id)]
-      (update (dissoc metric :id :table_id :created_at :updated_at)
-              :creator (u/rpartial dissoc :date_joined :last_login)))))
-
+      (update :creator #(dissoc % :date_joined :last_login))))
 
 ;; retrieve-metrics
 (expect
-  [(merge metric-defaults
-          {:creator_id (user->id :rasta)
-           :creator    (user-details :rasta)
-           :name       "Metric 1"})]
+  [(merge
+    metric-defaults
+    {:creator_id (user->id :rasta)
+     :creator    (user-details :rasta)
+     :name       "Metric 1"})]
   (tt/with-temp* [Database [{database-id :id}]
                   Table    [{table-id-1 :id}    {:db_id database-id}]
                   Table    [{table-id-2 :id}    {:db_id database-id}]
                   Metric   [{segement-id-1 :id} {:table_id table-id-1, :name "Metric 1", :description nil}]
                   Metric   [{metric-id-2 :id}   {:table_id table-id-2}]
                   Metric   [{metric-id3 :id}    {:table_id table-id-1, :archived true}]]
-    (doall (for [metric (u/prog1 (retrieve-metrics table-id-1)
-                                 (assert (= 1 (count <>))))]
-             (update (dissoc (into {} metric) :id :table_id :created_at :updated_at)
-                     :creator (u/rpartial dissoc :date_joined :last_login))))))
-
-
-;; update-metric!
-;; basic update.  we are testing several things here
-;;  1. ability to update the Metric name
-;;  2. creator_id cannot be changed
-;;  3. ability to set description, including to nil
-;;  4. ability to modify the definition json
-;;  5. revision is captured along with our commit message
+    (vec
+     (for [metric (u/prog1 (metric/retrieve-metrics table-id-1)
+                    (assert (= 1 (count <>))))]
+       (update (dissoc (into {} metric) :id :table_id :created_at :updated_at)
+               :creator (u/rpartial dissoc :date_joined :last_login))))))
+
+
+;; Updating -- you should not be able to change the creator_id of a Metric
 (expect
-  (merge metric-defaults
-         {:creator_id (user->id :rasta)
-          :creator    (user-details :rasta)
-          :name       "Costa Rica"
-          :definition {:filter [:not [:= [:field-id 1] "toucans"]]}})
-  (tt/with-temp* [Database [{database-id :id}]
-                  Table  [{table-id :id}  {:db_id database-id}]
-                  Metric [{metric-id :id} {:table_id table-id}]]
-    (update-metric-then-select! {:id                      metric-id
-                                 :name                    "Costa Rica"
-                                 :description             nil
-                                 :how_is_this_calculated  nil
-                                 :show_in_getting_started false
-                                 :caveats                 nil
-                                 :points_of_interest      nil
-                                 :creator_id              (user->id :crowberto)
-                                 :table_id                456
-                                 :definition              {:filter [:not [:= [:field-id 1] "toucans"]]}
-                                 :revision_message        "Just horsing around"})))
-
-;; delete-metric!
+  UnsupportedOperationException
+  (tt/with-temp Metric [{:keys [id]} {:creator_id (user->id :rasta)}]
+    (db/update! Metric id {:creator_id (user->id :crowberto)})))
+
+;; you shouldn't be able to set it to `nil` either
 (expect
-  (merge metric-defaults
-         {:creator_id  (user->id :rasta)
-          :creator     (user-details :rasta)
-          :name        "Toucans in the rainforest"
-          :description "Lookin' for a blueberry"
-          :archived    true})
-  (tt/with-temp* [Database [{database-id :id}]
-                  Table    [{table-id :id}  {:db_id database-id}]
-                  Metric   [{metric-id :id} {:table_id table-id}]]
-    (delete-metric! metric-id (user->id :crowberto) "revision message")
-    (metric-details (retrieve-metric metric-id))))
+  UnsupportedOperationException
+  (tt/with-temp Metric [{:keys [id]} {:creator_id (user->id :rasta)}]
+    (db/update! Metric id {:creator_id nil})))
+
+;; However calling `update!` with a value that is the same as the current value shouldn't throw an Exception
+(expect
+  true
+  (tt/with-temp Metric [{:keys [id]} {:creator_id (user->id :rasta)}]
+    (db/update! Metric id {:creator_id (user->id :rasta)})))
 
 
 ;; ## Metric Revisions
@@ -218,24 +147,33 @@
 
 (expect
   {:Segment #{2 3}}
-  (metric-dependencies Metric 12 {:definition {:breakout [[:field-id 4] [:field-id 5]]
-                                               :filter   [:and
-                                                          [:> 4 "2014-10-19"]
-                                                          [:= 5 "yes"]
-                                                          [:segment 2]
-                                                          [:segment 3]]}}))
+  (metric/metric-dependencies
+   Metric
+   12
+   {:definition {:breakout [[:field-id 4] [:field-id 5]]
+                 :filter   [:and
+                            [:> 4 "2014-10-19"]
+                            [:= 5 "yes"]
+                            [:segment 2]
+                            [:segment 3]]}}))
 
 (expect
   {:Segment #{1}}
-  (metric-dependencies Metric 12 {:definition {:aggregation [:metric 7]
-                                               :filter      [:and
-                                                             [:> 4 "2014-10-19"]
-                                                             [:= 5 "yes"]
-                                                             [:or
-                                                              [:segment 1]
-                                                              [:!= 5 "5"]]]}}))
+  (metric/metric-dependencies
+   Metric
+   12
+   {:definition {:aggregation [:metric 7]
+                 :filter      [:and
+                               [:> 4 "2014-10-19"]
+                               [:= 5 "yes"]
+                               [:or
+                                [:segment 1]
+                                [:!= 5 "5"]]]}}))
 
 (expect
   {:Segment #{}}
-  (metric-dependencies Metric 12 {:definition {:aggregation nil
-                                               :filter      nil}}))
+  (metric/metric-dependencies
+   Metric
+   12
+   {:definition {:aggregation nil
+                 :filter      nil}}))
diff --git a/test/metabase/models/permissions_group_membership_test.clj b/test/metabase/models/permissions_group_membership_test.clj
new file mode 100644
index 0000000000000000000000000000000000000000..9d8dc071c7c8cf6eef023414a129c2243c8d0700
--- /dev/null
+++ b/test/metabase/models/permissions_group_membership_test.clj
@@ -0,0 +1,30 @@
+(ns metabase.models.permissions-group-membership-test
+  (:require [expectations :refer [expect]]
+            [metabase.models
+             [permissions-group :as group]
+             [permissions-group-membership :as pgm :refer [PermissionsGroupMembership]]
+             [user :refer [User]]]
+            [metabase.test.data.users :as test-users]
+            [metabase.util :as u]
+            [toucan.db :as db]
+            [toucan.util.test :as tt]))
+
+;; when you create a PermissionsGroupMembership for a User in the admin group, it should set their `is_superuser` flag
+(expect
+  true
+  (do
+    ;; make sure the test users are Created, otherwise `with-temp` will fail when it tries to delete the temporary
+    ;; user, because deleting the last admin user is disallowed
+    (test-users/create-users-if-needed!)
+    (tt/with-temp User [user]
+      (db/insert! PermissionsGroupMembership {:user_id (u/get-id user), :group_id (u/get-id (group/admin))})
+      (db/select-one-field :is_superuser User :id (u/get-id user)))))
+
+;; when you delete a PermissionsGroupMembership for a User in the admin group, it should set their `is_superuser` flag
+(expect
+  false
+  (do
+    (test-users/create-users-if-needed!)
+    (tt/with-temp User [user {:is_superuser true}]
+      (db/delete! PermissionsGroupMembership :user_id (u/get-id user), :group_id (u/get-id (group/admin)))
+      (db/select-one-field :is_superuser User :id (u/get-id user)))))
diff --git a/test/metabase/models/permissions_group_test.clj b/test/metabase/models/permissions_group_test.clj
index 27a50cba6a581209f89f020f764266003ef36756..a034158c10c701d8584ec8b25b509f0d6ea36f77 100644
--- a/test/metabase/models/permissions_group_test.clj
+++ b/test/metabase/models/permissions_group_test.clj
@@ -7,6 +7,7 @@
              [permissions-group-membership :refer [PermissionsGroupMembership]]
              [user :refer [User]]]
             [metabase.test.data.users :as test-users]
+            [metabase.util :as u]
             [metabase.util.honeysql-extensions :as hx]
             [toucan.db :as db]
             [toucan.util.test :as tt])
@@ -98,10 +99,18 @@
   (tt/with-temp Database [{database-id :id}]
     (group-has-full-access? (:id (perm-group/admin)) (perms/object-path database-id))))
 
+;; (Except for the MetaBot, which doesn't get data permissions)
 (expect
+  false
   (tt/with-temp Database [{database-id :id}]
     (group-has-full-access? (:id (perm-group/metabot)) (perms/object-path database-id))))
 
+;; Attempting to create a data permissions entry for the MetaBot should throw an Exception
+(expect
+  Exception
+  (tt/with-temp Database [{database-id :id}]
+    (db/insert! Permissions :group_id (u/get-id (perm-group/metabot)), :object (perms/object-path database-id))))
+
 
 ;;; -------------- flipping the is_superuser bit should add/remove user from Admin group as appropriate --------------
 
diff --git a/test/metabase/models/permissions_test.clj b/test/metabase/models/permissions_test.clj
index 26574eef6dcf8f437ec98c6db53e1b7125dea46d..b854f3c69ea15817d557ca91f90a3a86bb6fdfd6 100644
--- a/test/metabase/models/permissions_test.clj
+++ b/test/metabase/models/permissions_test.clj
@@ -4,7 +4,7 @@
              [collection :as collection :refer [Collection]]
              [collection-test :as collection-test]
              [database :refer [Database]]
-             [permissions :as perms]
+             [permissions :as perms :refer [Permissions]]
              [permissions-group :as group :refer [PermissionsGroup]]
              [table :refer [Table]]]
             [metabase.test.data :as data]
@@ -580,6 +580,15 @@
     ;; now fetch the perms that have been granted
     (get-in (perms/graph) [:groups (u/get-id group) (u/get-id database) :schemas])))
 
+;; The data permissions graph should never return permissions for the MetaBot, because the MetaBot can only have
+;; collection permissions
+(expect
+  false
+  ;; need to swap out the perms check function because otherwise we couldn't even insert the object we want to insert
+  (with-redefs [perms/assert-valid-metabot-permissions (constantly nil)]
+    (tt/with-temp* [Database    [db]
+                    Permissions [perms {:group_id (u/get-id (group/metabot)), :object (perms/object-path db)}]]
+      (contains? (:groups (perms/graph)) (u/get-id (group/metabot))))))
 
 
 ;;; +----------------------------------------------------------------------------------------------------------------+
diff --git a/test/metabase/models/segment_test.clj b/test/metabase/models/segment_test.clj
index 53d5eddfe5eb3660ec2117988d2302e3f2fb6388..7159cb140fd3d3a13d43e1def0d6f7c1ef026126 100644
--- a/test/metabase/models/segment_test.clj
+++ b/test/metabase/models/segment_test.clj
@@ -1,12 +1,12 @@
 (ns metabase.models.segment-test
-  (:require [expectations :refer :all]
+  (:require [expectations :refer [expect]]
             [metabase.models
              [database :refer [Database]]
-             [segment :as segment :refer :all]
+             [segment :as segment :refer [Segment]]
              [table :refer [Table]]]
-            [metabase.test.data :refer :all]
-            [metabase.test.data.users :refer :all]
+            [metabase.test.data.users :refer [fetch-user user->id]]
             [metabase.util :as u]
+            [toucan.db :as db]
             [toucan.util.test :as tt]))
 
 (defn- user-details
@@ -19,61 +19,24 @@
       (dissoc :id :table_id :created_at :updated_at)
       (assoc :creator (dissoc creator :date_joined :last_login))))
 
-(defn- create-segment-then-select!
-  [table name description creator definition]
-  (segment-details (create-segment! table name description creator definition)))
 
-(defn- update-segment-then-select!
-  [segment]
-  (segment-details (update-segment! segment (user->id :crowberto))))
-
-
-;; create-segment!
+;; Updating -- you should not be able to change the creator_id of a Segment
 (expect
-  {:creator_id              (user->id :rasta)
-   :creator                 (user-details :rasta)
-   :name                    "I only want *these* things"
-   :description             nil
-   :show_in_getting_started false
-   :caveats                 nil
-   :points_of_interest      nil
-   :archived                false
-   :definition              {:aggregation [[:count]]}}
-  (tt/with-temp* [Database [{database-id :id}]
-                  Table    [{table-id :id} {:db_id database-id}]]
-    (create-segment-then-select! table-id "I only want *these* things" nil (user->id :rasta) {:aggregation [[:count]]})))
-
+  UnsupportedOperationException
+  (tt/with-temp Segment [{:keys [id]} {:creator_id (user->id :rasta)}]
+    (db/update! Segment id {:creator_id (user->id :crowberto)})))
 
-;; exists?
+;; you shouldn't be able to set it to `nil` either
 (expect
-  [true
-   false]
-  (tt/with-temp* [Database [{database-id :id}]
-                  Table    [{table-id :id}   {:db_id database-id}]
-                  Segment  [{segment-id :id} {:table_id table-id}]]
-    [(segment/exists? segment-id)
-     (segment/exists? 3400)]))
-
+  UnsupportedOperationException
+  (tt/with-temp Segment [{:keys [id]} {:creator_id (user->id :rasta)}]
+    (db/update! Segment id {:creator_id nil})))
 
-;; retrieve-segment
+;; However calling `update!` with a value that is the same as the current value shouldn't throw an Exception
 (expect
-  {:creator_id              (user->id :rasta)
-   :creator                 (user-details :rasta)
-   :name                    "Toucans in the rainforest"
-   :description             "Lookin' for a blueberry"
-   :show_in_getting_started false
-   :caveats                 nil
-   :points_of_interest      nil
-   :archived                false
-   :definition              {:filter [:= [:field-id 1] 2]}}
-  (tt/with-temp* [Database [{database-id :id}]
-                  Table    [{table-id :id}   {:db_id database-id}]
-                  Segment  [{segment-id :id} {:table_id   table-id
-                                              :definition {:filter [:= [:field-id 1] 2]}}]]
-    (let [{:keys [creator] :as segment} (retrieve-segment segment-id)]
-      (-> segment
-          (dissoc :id :table_id :created_at :updated_at)
-          (assoc :creator (dissoc creator :date_joined :last_login))))))
+  true
+  (tt/with-temp Segment [{:keys [id]} {:creator_id (user->id :rasta)}]
+    (db/update! Segment id {:creator_id (user->id :rasta)})))
 
 
 ;; retrieve-segements
@@ -93,59 +56,11 @@
                   Segment  [{segement-id-1 :id} {:table_id table-id-1, :name "Segment 1", :description nil}]
                   Segment  [{segment-id-2 :id}  {:table_id table-id-2}]
                   Segment  [{segment-id3 :id}   {:table_id table-id-1, :archived true}]]
-    (doall (for [segment (u/prog1 (retrieve-segments table-id-1)
-                                  (assert (= 1 (count <>))))]
-             (-> (dissoc (into {} segment) :id :table_id :created_at :updated_at)
-                 (update :creator (u/rpartial dissoc :date_joined :last_login)))))))
-
-
-;; update-segment!
-;; basic update.  we are testing several things here
-;;  1. ability to update the Segment name
-;;  2. creator_id cannot be changed
-;;  3. ability to set description, including to nil
-;;  4. ability to modify the definition json
-;;  5. revision is captured along with our commit message
-(expect
-  {:creator_id              (user->id :rasta)
-   :creator                 (user-details :rasta)
-   :name                    "Costa Rica"
-   :description             nil
-   :show_in_getting_started false
-   :caveats                 nil
-   :points_of_interest      nil
-   :archived                false
-   :definition              {:filter [:!= [:field-id 10] "toucans"]}}
-  (tt/with-temp* [Database [{database-id :id}]
-                  Table    [{:keys [id]} {:db_id database-id}]
-                  Segment  [{:keys [id]} {:table_id id}]]
-    (update-segment-then-select! {:id                      id
-                                  :name                    "Costa Rica"
-                                  :description             nil
-                                  :show_in_getting_started false
-                                  :caveats                 nil
-                                  :points_of_interest      nil
-                                  :creator_id              (user->id :crowberto)
-                                  :table_id                456
-                                  :definition              {:filter [:!= [:field-id 10] "toucans"]}
-                                  :revision_message        "Just horsing around"})))
-
-;; delete-segment!
-(expect
-  {:creator_id              (user->id :rasta)
-   :creator                 (user-details :rasta)
-   :name                    "Toucans in the rainforest"
-   :description             "Lookin' for a blueberry"
-   :show_in_getting_started false
-   :caveats                 nil
-   :points_of_interest      nil
-   :archived                true
-   :definition              nil}
-  (tt/with-temp* [Database [{database-id :id}]
-                  Table    [{:keys [id]} {:db_id database-id}]
-                  Segment  [{:keys [id]} {:table_id id}]]
-    (delete-segment! id (user->id :crowberto) "revision message")
-    (segment-details (retrieve-segment id))))
+    (vec
+     (for [segment (u/prog1 (segment/retrieve-segments table-id-1)
+                     (assert (= 1 (count <>))))]
+       (-> (dissoc (into {} segment) :id :table_id :created_at :updated_at)
+           (update :creator #(dissoc % :date_joined :last_login)))))))
 
 
 ;; ## Segment Revisions
@@ -183,42 +98,48 @@
                   Table    [{table-id :id} {:db_id database-id}]
                   Segment  [segment        {:table_id   table-id
                                             :definition {:filter [:and [:> [:field-id 4] "2014-10-19"]]}}]]
-    (#'segment/diff-segments Segment segment (assoc segment
-                                               :name        "Something else"
-                                               :description "BBB"
-                                               :definition  {:filter [:between [:field-id 4] "2014-07-01" "2014-10-19"]}))))
+    (#'segment/diff-segments
+     Segment
+     segment
+     (assoc segment
+       :name        "Something else"
+       :description "BBB"
+       :definition  {:filter [:between [:field-id 4] "2014-07-01" "2014-10-19"]}))))
 
 ;; test case where definition doesn't change
 (expect
   {:name {:before "A"
           :after  "B"}}
-  (#'segment/diff-segments Segment
-                           {:name        "A"
-                            :description "Unchanged"
-                            :definition  {:filter [:and [:> [:field-id 4] "2014-10-19"]]}}
-                           {:name        "B"
-                            :description "Unchanged"
-                            :definition  {:filter [:and [:> [:field-id 4] "2014-10-19"]]}}))
+  (#'segment/diff-segments
+   Segment
+   {:name        "A"
+    :description "Unchanged"
+    :definition  {:filter [:and [:> [:field-id 4] "2014-10-19"]]}}
+   {:name        "B"
+    :description "Unchanged"
+    :definition  {:filter [:and [:> [:field-id 4] "2014-10-19"]]}}))
 
 ;; first version  so comparing against nil
 (expect
   {:name        {:after  "A"}
    :description {:after "Unchanged"}
    :definition  {:after {:filter [:and [:> [:field-id 4] "2014-10-19"]]}}}
-  (#'segment/diff-segments Segment
-                           nil
-                           {:name        "A"
-                            :description "Unchanged"
-                            :definition  {:filter [:and [:> [:field-id 4] "2014-10-19"]]}}))
+  (#'segment/diff-segments
+   Segment
+   nil
+   {:name        "A"
+    :description "Unchanged"
+    :definition  {:filter [:and [:> [:field-id 4] "2014-10-19"]]}}))
 
 ;; removals only
 (expect
   {:definition  {:before {:filter [:and [:> [:field-id 4] "2014-10-19"] [:= 5 "yes"]]}
                  :after  {:filter [:and [:> [:field-id 4] "2014-10-19"]]}}}
-  (#'segment/diff-segments Segment
-                           {:name        "A"
-                            :description "Unchanged"
-                            :definition  {:filter [:and [:> [:field-id 4] "2014-10-19"] [:= 5 "yes"]]}}
-                           {:name        "A"
-                            :description "Unchanged"
-                            :definition  {:filter [:and [:> [:field-id 4] "2014-10-19"]]}}))
+  (#'segment/diff-segments
+   Segment
+   {:name        "A"
+    :description "Unchanged"
+    :definition  {:filter [:and [:> [:field-id 4] "2014-10-19"] [:= 5 "yes"]]}}
+   {:name        "A"
+    :description "Unchanged"
+    :definition  {:filter [:and [:> [:field-id 4] "2014-10-19"]]}}))
diff --git a/test/metabase/models/setting/cache_test.clj b/test/metabase/models/setting/cache_test.clj
new file mode 100644
index 0000000000000000000000000000000000000000..1cc922cd229fc47255d985ebe037ef1b75e2d32d
--- /dev/null
+++ b/test/metabase/models/setting/cache_test.clj
@@ -0,0 +1,124 @@
+(ns metabase.models.setting.cache-test
+  (:require [clojure.core.memoize :as memoize]
+            [expectations :refer [expect]]
+            [honeysql.core :as hsql]
+            [metabase.db :as mdb]
+            [metabase.models
+             [setting :refer [Setting]]
+             [setting-test :as setting-test]]
+            [metabase.models.setting.cache :as cache]
+            [toucan.db :as db]))
+
+;;; --------------------------------------------- Cache Synchronization ----------------------------------------------
+
+(defn- clear-cache! []
+  (reset! @#'metabase.models.setting.cache/cache* nil))
+
+(defn- settings-last-updated-value-in-cache []
+  (get (cache/cache) cache/settings-last-updated-key))
+
+(defn- update-settings-last-updated-value-in-db!
+  "Simulate a different instance updating the value of `settings-last-updated` in the DB by updating its value without
+  updating our locally cached value.."
+  []
+  (db/update-where! Setting {:key cache/settings-last-updated-key}
+    :value (hsql/raw (case (mdb/db-type)
+                       ;; make it one second in the future so we don't end up getting an exact match when we try to test
+                       ;; to see if things update below
+                       :h2       "cast(dateadd('second', 1, current_timestamp) AS text)"
+                       :mysql    "cast((current_timestamp + interval 1 second) AS char)"
+                       :postgres "cast((current_timestamp + interval '1 second') AS text)"))))
+
+(defn- simulate-another-instance-updating-setting! [setting-name new-value]
+  (db/update-where! Setting {:key (name setting-name)} :value new-value)
+  (update-settings-last-updated-value-in-db!))
+
+(defn- flush-memoized-results-for-should-restore-cache!
+  "Remove any memoized results for `should-restore-cache?`, so we can test `restore-cache-if-needed!` works the way we'd
+  expect."
+  []
+  (memoize/memo-clear! @#'cache/should-restore-cache?))
+
+;; When I update a Setting, does it set/update `settings-last-updated`?
+(expect
+  (do
+    (setting-test/clear-settings-last-updated-value-in-db!)
+    (setting-test/toucan-name "Bird Can")
+    (string? (setting-test/settings-last-updated-value-in-db))))
+
+;; ...and is the value updated in the cache as well?
+(expect
+  (do
+    (clear-cache!)
+    (setting-test/toucan-name "Bird Can")
+    (string? (settings-last-updated-value-in-cache))))
+
+;; ...and if I update it again, will the value be updated?
+(expect
+  (do
+    (setting-test/clear-settings-last-updated-value-in-db!)
+    (setting-test/toucan-name "Bird Can")
+    (let [first-value (setting-test/settings-last-updated-value-in-db)]
+      ;; MySQL only has the resolution of one second on the timestamps here so we should wait that long to make sure
+      ;; the second-value actually ends up being greater than the first
+      (Thread/sleep 1200)
+      (setting-test/toucan-name "Bird Can")
+      (let [second-value (setting-test/settings-last-updated-value-in-db)]
+        ;; first & second values should be different, and first value should be "less than" the second value
+        (and (not= first-value second-value)
+             (neg? (compare first-value second-value)))))))
+
+;; If there is no cache, it should be considered out of date!`
+(expect
+  (do
+    (clear-cache!)
+    (#'cache/cache-out-of-date?)))
+
+;; But if I set a setting, it should cause the cache to be populated, and be up-to-date
+(expect
+  false
+  (do
+    (clear-cache!)
+    (setting-test/toucan-name "Reggae Toucan")
+    (#'cache/cache-out-of-date?)))
+
+;; If another instance updates a Setting, `cache-out-of-date?` should return `true` based on DB comparisons...
+;; be true!
+(expect
+  (do
+    (clear-cache!)
+    (setting-test/toucan-name "Reggae Toucan")
+    (simulate-another-instance-updating-setting! :setting-test/toucan-name "Bird Can")
+    (#'cache/cache-out-of-date?)))
+
+;; of course, `restore-cache-if-needed!` should use TTL memoization, and the cache should not get updated right away
+;; even if another instance updates a value...
+(expect
+  "Sam"
+  (do
+    (flush-memoized-results-for-should-restore-cache!)
+    (clear-cache!)
+    (setting-test/toucan-name "Sam")                 ; should restore cache, and put in {"setting-test/toucan-name" "Sam"}
+    ;; since we cleared the memoized value of `should-restore-cache?` call it again to make sure it gets set to
+    ;; `false` as it would IRL if we were calling it again from the same instance
+    (#'cache/should-restore-cache?)
+    ;; now have another instance change the value
+    (simulate-another-instance-updating-setting! :setting-test/toucan-name "Bird Can")
+    ;; our cache should not be updated yet because it's on a TTL
+    (setting-test/toucan-name)))
+
+;; ...and when it comes time to check our cache for updating (when calling `restore-cache-if-needed!`, it should get
+;; the updated value. (we're not actually going to wait a minute for the memoized values of `should-restore-cache?` to
+;; be invalidated, so we will manually flush the memoization cache to simulate it happening)
+(expect
+  "Bird Can"
+  (do
+    (clear-cache!)
+    (setting-test/toucan-name "Reggae Toucan")
+    (simulate-another-instance-updating-setting! :setting-test/toucan-name "Bird Can")
+    (flush-memoized-results-for-should-restore-cache!)
+    ;; calling `setting-test/toucan-name` will call `restore-cache-if-needed!`, which will in turn call `should-restore-cache?`.
+    ;; Since memoized value is no longer present, this should call `cache-out-of-date?`, which checks the DB; it will
+    ;; detect a cache out-of-date situation and flush the cache as appropriate, giving us the updated value when we
+    ;; call! :wow:
+    (setting-test/toucan-name)))
diff --git a/test/metabase/models/setting_test.clj b/test/metabase/models/setting_test.clj
index 006752d48d590058e6051c4f5769ea8f13f4dc34..db4548dde099ff633beb1d8d9c0b9e3f0e913353 100644
--- a/test/metabase/models/setting_test.clj
+++ b/test/metabase/models/setting_test.clj
@@ -1,12 +1,9 @@
 (ns metabase.models.setting-test
-  (:require [clojure.core.memoize :as memoize]
-            [expectations :refer :all]
-            [honeysql.core :as hsql]
-            [metabase
-             [db :as mdb]
-             [util :as u]]
+  (:require [expectations :refer [expect]]
             [metabase.models.setting :as setting :refer [defsetting Setting]]
+            [metabase.models.setting.cache :as cache]
             [metabase.test.util :refer :all]
+            [metabase.util :as u]
             [metabase.util
              [encryption :as encryption]
              [encryption-test :as encryption-test]
@@ -151,12 +148,12 @@
 
 ;; #'setting/user-facing-info w/ no db value, env var value, no default value -- shouldn't leak env var value
 (expect
-  {:value nil, :is_env_setting true, :env_name "MB_TEST_SETTING_1", :default "Using $MB_TEST_SETTING_1"}
+  {:value nil, :is_env_setting true, :env_name "MB_TEST_SETTING_1", :default "Using value of env var $MB_TEST_SETTING_1"}
   (user-facing-info-with-db-and-env-var-values :test-setting-1 nil "TOUCANS"))
 
 ;; #'setting/user-facing-info w/ no db value, env var value, default value
 (expect
-  {:value nil,  :is_env_setting true, :env_name "MB_TEST_SETTING_2", :default "Using $MB_TEST_SETTING_2"}
+  {:value nil,  :is_env_setting true, :env_name "MB_TEST_SETTING_2", :default "Using value of env var $MB_TEST_SETTING_2"}
   (user-facing-info-with-db-and-env-var-values :test-setting-2 nil "TOUCANS"))
 
 ;; #'setting/user-facing-info w/ db value, no env var value, no default value
@@ -172,13 +169,13 @@
 ;; #'setting/user-facing-info w/ db value, env var value, no default value -- the DB value should take precedence over
 ;; #the env var
 (expect
-  {:value "WOW", :is_env_setting true, :env_name "MB_TEST_SETTING_1", :default "Using $MB_TEST_SETTING_1"}
+  {:value "WOW", :is_env_setting true, :env_name "MB_TEST_SETTING_1", :default "Using value of env var $MB_TEST_SETTING_1"}
   (user-facing-info-with-db-and-env-var-values :test-setting-1 "WOW" "ENV VAR"))
 
 ;; #'setting/user-facing-info w/ db value, env var value, default value -- env var should take precedence over default
 ;; #value
 (expect
-  {:value "WOW", :is_env_setting true, :env_name "MB_TEST_SETTING_2", :default "Using $MB_TEST_SETTING_2"}
+  {:value "WOW", :is_env_setting true, :env_name "MB_TEST_SETTING_2", :default "Using value of env var $MB_TEST_SETTING_2"}
   (user-facing-info-with-db-and-env-var-values :test-setting-2 "WOW" "ENV VAR"))
 
 ;; all
@@ -202,7 +199,7 @@
     :is_env_setting true
     :env_name       "MB_TEST_SETTING_1"
     :description    "Test setting - this only shows up in dev (1)"
-    :default        "Using $MB_TEST_SETTING_1"}
+    :default        "Using value of env var $MB_TEST_SETTING_1"}
    {:key            :test-setting-2
     :value          "S2"
     :is_env_setting false,
@@ -240,7 +237,7 @@
 
 ;; boolean settings shouldn't be obfuscated when set by env var
 (expect
-  {:value true, :is_env_setting true, :env_name "MB_TEST_BOOLEAN_SETTING", :default "Using $MB_TEST_BOOLEAN_SETTING"}
+  {:value true, :is_env_setting true, :env_name "MB_TEST_BOOLEAN_SETTING", :default "Using value of env var $MB_TEST_BOOLEAN_SETTING"}
   (user-facing-info-with-db-and-env-var-values :test-boolean-setting nil "true"))
 
 ;; env var values should be case-insensitive
@@ -291,7 +288,7 @@
 ;; make sure that if for some reason the cache gets out of sync it will reset so we can still set new settings values
 ;; (#4178)
 
-(setting/defsetting ^:private toucan-name
+(setting/defsetting toucan-name
   "Name for the Metabase Toucan mascot."
   :internal? true)
 
@@ -301,7 +298,7 @@
     ;; clear out any existing values of `toucan-name`
     (db/simple-delete! setting/Setting {:key "toucan-name"})
     ;; restore the cache
-    ((resolve 'metabase.models.setting/restore-cache-if-needed!))
+    (cache/restore-cache-if-needed!)
     ;; now set a value for the `toucan-name` setting the wrong way
     (db/insert! setting/Setting {:key "toucan-name", :value "Reggae"})
     ;; ok, now try to set the Setting the correct way
@@ -361,130 +358,13 @@
       (test-timestamp-setting)))
 
 
-;;; --------------------------------------------- Cache Synchronization ----------------------------------------------
-
-(def ^:private settings-last-updated-key @(resolve 'metabase.models.setting/settings-last-updated-key))
-
-(defn- clear-settings-last-updated-value-in-db! []
-  (db/simple-delete! Setting {:key settings-last-updated-key}))
-
-(defn- settings-last-updated-value-in-db []
-  (db/select-one-field :value Setting :key settings-last-updated-key))
-
-(defn- clear-cache! []
-  (reset! @(resolve 'metabase.models.setting/cache) nil))
-
-(defn- settings-last-updated-value-in-cache []
-  (get @@(resolve 'metabase.models.setting/cache) settings-last-updated-key))
-
-(defn- update-settings-last-updated-value-in-db!
-  "Simulate a different instance updating the value of `settings-last-updated` in the DB by updating its value without
-  updating our locally cached value.."
-  []
-  (db/update-where! Setting {:key settings-last-updated-key}
-    :value (hsql/raw (case (mdb/db-type)
-                       ;; make it one second in the future so we don't end up getting an exact match when we try to test
-                       ;; to see if things update below
-                       :h2       "cast(dateadd('second', 1, current_timestamp) AS text)"
-                       :mysql    "cast((current_timestamp + interval 1 second) AS char)"
-                       :postgres "cast((current_timestamp + interval '1 second') AS text)"))))
-
-(defn- simulate-another-instance-updating-setting! [setting-name new-value]
-  (db/update-where! Setting {:key (name setting-name)} :value new-value)
-  (update-settings-last-updated-value-in-db!))
-
-(defn- flush-memoized-results-for-should-restore-cache!
-  "Remove any memoized results for `should-restore-cache?`, so we can test `restore-cache-if-needed!` works the way we'd
-  expect."
-  []
-  (memoize/memo-clear! @(resolve 'metabase.models.setting/should-restore-cache?)))
-
-;; When I update a Setting, does it set/update `settings-last-updated`?
-(expect
-  (do
-    (clear-settings-last-updated-value-in-db!)
-    (toucan-name "Bird Can")
-    (string? (settings-last-updated-value-in-db))))
-
-;; ...and is the value updated in the cache as well?
-(expect
-  (do
-    (clear-cache!)
-    (toucan-name "Bird Can")
-    (string? (settings-last-updated-value-in-cache))))
-
-;; ...and if I update it again, will the value be updated?
-(expect
-  (do
-    (clear-settings-last-updated-value-in-db!)
-    (toucan-name "Bird Can")
-    (let [first-value (settings-last-updated-value-in-db)]
-      ;; MySQL only has the resolution of one second on the timestamps here so we should wait that long to make sure
-      ;; the second-value actually ends up being greater than the first
-      (Thread/sleep 1200)
-      (toucan-name "Bird Can")
-      (let [second-value (settings-last-updated-value-in-db)]
-        ;; first & second values should be different, and first value should be "less than" the second value
-        (and (not= first-value second-value)
-             (neg? (compare first-value second-value)))))))
-
-;; If there is no cache, it should be considered out of date!`
-(expect
-  (do
-    (clear-cache!)
-    (#'setting/cache-out-of-date?)))
-
-;; But if I set a setting, it should cause the cache to be populated, and be up-to-date
-(expect
-  false
-  (do
-    (clear-cache!)
-    (toucan-name "Reggae Toucan")
-    (#'setting/cache-out-of-date?)))
-
-;; If another instance updates a Setting, `cache-out-of-date?` should return `true` based on DB comparisons...
-;; be true!
-(expect
-  (do
-    (clear-cache!)
-    (toucan-name "Reggae Toucan")
-    (simulate-another-instance-updating-setting! :toucan-name "Bird Can")
-    (#'setting/cache-out-of-date?)))
-
-;; of course, `restore-cache-if-needed!` should use TTL memoization, and the cache should not get updated right away
-;; even if another instance updates a value...
-(expect
-  "Sam"
-  (do
-    (flush-memoized-results-for-should-restore-cache!)
-    (clear-cache!)
-    (toucan-name "Sam")                 ; should restore cache, and put in {"toucan-name" "Sam"}
-    ;; since we cleared the memoized value of `should-restore-cache?` call it again to make sure it gets set to
-    ;; `false` as it would IRL if we were calling it again from the same instance
-    (#'setting/should-restore-cache?)
-    ;; now have another instance change the value
-    (simulate-another-instance-updating-setting! :toucan-name "Bird Can")
-    ;; our cache should not be updated yet because it's on a TTL
-    (toucan-name)))
-
-;; ...and when it comes time to check our cache for updating (when calling `restore-cache-if-needed!`, it should get
-;; the updated value. (we're not actually going to wait a minute for the memoized values of `should-restore-cache?` to
-;; be invalidated, so we will manually flush the memoization cache to simulate it happening)
-(expect
-  "Bird Can"
-  (do
-    (clear-cache!)
-    (toucan-name "Reggae Toucan")
-    (simulate-another-instance-updating-setting! :toucan-name "Bird Can")
-    (flush-memoized-results-for-should-restore-cache!)
-    ;; calling `toucan-name` will call `restore-cache-if-needed!`, which will in turn call `should-restore-cache?`.
-    ;; Since memoized value is no longer present, this should call `cache-out-of-date?`, which checks the DB; it will
-    ;; detect a cache out-of-date situation and flush the cache as appropriate, giving us the updated value when we
-    ;; call! :wow:
-    (toucan-name)))
+;;; ----------------------------------------------- Uncached Settings ------------------------------------------------
 
+(defn clear-settings-last-updated-value-in-db! []
+  (db/simple-delete! Setting {:key cache/settings-last-updated-key}))
 
-;;; ----------------------------------------------- Uncached Settings ------------------------------------------------
+(defn settings-last-updated-value-in-db []
+  (db/select-one-field :value Setting :key cache/settings-last-updated-key))
 
 (defsetting ^:private uncached-setting
   "A test setting that should *not* be cached."
@@ -514,3 +394,25 @@
     (clear-settings-last-updated-value-in-db!)
     (uncached-setting "abcdef")
     (settings-last-updated-value-in-db)))
+
+
+;;; ----------------------------------------------- Sensitive Settings -----------------------------------------------
+
+(defsetting test-sensitive-setting
+  (tru "This is a sample sensitive Setting.")
+  :sensitive? true)
+
+;; `user-facing-value` should obfuscate sensitive settings
+(expect
+  "**********23"
+  (do
+    (test-sensitive-setting "ABC123")
+    (setting/user-facing-value "test-sensitive-setting")))
+
+;; Attempting to set a sensitive setting to an obfuscated value should be ignored -- it was probably done accidentally
+(expect
+  "123456"
+  (do
+    (test-sensitive-setting "123456")
+    (test-sensitive-setting "**********56")
+    (test-sensitive-setting)))
diff --git a/test/metabase/models/user_test.clj b/test/metabase/models/user_test.clj
index 89b0077bb549cc2eda15e34f4430b29460742843..ad25af4b8ed5970a878af4e5d75e9e809d61bc65 100644
--- a/test/metabase/models/user_test.clj
+++ b/test/metabase/models/user_test.clj
@@ -3,18 +3,21 @@
             [expectations :refer :all]
             [metabase
              [email-test :as email-test]
-             [http-client :as http]]
+             [http-client :as http]
+             [util :as u]]
             [metabase.models
              [collection :as collection :refer [Collection]]
              [collection-test :as collection-test]
              [permissions :as perms]
-             [permissions-group :refer [PermissionsGroup]]
+             [permissions-group :as group :refer [PermissionsGroup]]
              [permissions-group-membership :refer [PermissionsGroupMembership]]
              [user :as user :refer [User]]]
             [metabase.test.data.users :as test-users :refer [user->id]]
             [metabase.test.util :as tu]
             [metabase.util.password :as upass]
-            [toucan.db :as db]
+            [toucan
+             [db :as db]
+             [hydrate :refer [hydrate]]]
             [toucan.util.test :as tt]))
 
 ;;; Tests for permissions-set
@@ -79,12 +82,12 @@
                  :let             [address (if (= address new-user-email-address)
                                              "<New User>"
                                              address)]]
-             {address (for [{subject :subject} emails]
-                        (str/replace subject (str new-user-first-name " " new-user-last-name) "<New User>"))})))
+             [address (for [{subject :subject} emails]
+                        (str/replace subject (str new-user-first-name " " new-user-last-name) "<New User>"))])))
 
 
 (defn- invite-user-accept-and-check-inboxes!
-  "Create user by passing INVITE-USER-ARGS to `invite-user!` or `create-new-google-auth-user!`,
+  "Create user by passing INVITE-USER-ARGS to `create-and-invite-user!` or `create-new-google-auth-user!`,
   and return a map of addresses emails were sent to to the email subjects."
   [& {:keys [google-auth? accept-invite? password invitor]
       :or   {accept-invite? true}}]
@@ -100,7 +103,7 @@
         (try
           (if google-auth?
             (user/create-new-google-auth-user! (dissoc new-user :password))
-            (user/invite-user!                 new-user invitor))
+            (user/create-and-invite-user!                 new-user invitor))
           (when accept-invite?
             (maybe-accept-invite! new-user-email))
           (sent-emails new-user-email new-user-first-name new-user-last-name)
@@ -113,18 +116,14 @@
 
 ;; admin shouldn't get email saying user joined until they accept the invite (i.e., reset their password)
 (expect
-  {"<New User>"             ["You're invited to join Metabase's Metabase"]}
-  (do
-    (test-users/delete-temp-users!)
-    (invite-user-accept-and-check-inboxes! :invitor default-invitor, :accept-invite? false)))
+  {"<New User>" ["You're invited to join Metabase's Metabase"]}
+  (invite-user-accept-and-check-inboxes! :invitor default-invitor, :accept-invite? false))
 
 ;; admin should get an email when a new user joins...
 (expect
   {"<New User>"             ["You're invited to join Metabase's Metabase"]
    "crowberto@metabase.com" ["<New User> accepted their Metabase invite"]}
-  (do
-    (test-users/delete-temp-users!)
-    (invite-user-accept-and-check-inboxes! :invitor default-invitor)))
+  (invite-user-accept-and-check-inboxes! :invitor default-invitor))
 
 ;; ...including the site admin if it is set...
 (expect
@@ -132,26 +131,21 @@
    "crowberto@metabase.com" ["<New User> accepted their Metabase invite"]
    "cam@metabase.com"       ["<New User> accepted their Metabase invite"]}
   (tu/with-temporary-setting-values [admin-email "cam@metabase.com"]
-    (test-users/delete-temp-users!)
     (invite-user-accept-and-check-inboxes! :invitor default-invitor)))
 
 ;; ... but if that admin is inactive they shouldn't get an email
 (expect
   {"<New User>"             ["You're invited to join Metabase's Metabase"]
    "crowberto@metabase.com" ["<New User> accepted their Metabase invite"]}
-  (do
-    (test-users/delete-temp-users!)
-    (tt/with-temp User [inactive-admin {:is_superuser true, :is_active false}]
-      (invite-user-accept-and-check-inboxes! :invitor (assoc inactive-admin :is_active false)))))
+  (tt/with-temp User [inactive-admin {:is_superuser true, :is_active false}]
+    (invite-user-accept-and-check-inboxes! :invitor (assoc inactive-admin :is_active false))))
 
 ;; for google auth, all admins should get an email...
 (expect
   {"crowberto@metabase.com"        ["<New User> created a Metabase account"]
    "some_other_admin@metabase.com" ["<New User> created a Metabase account"]}
-  (do
-    (test-users/delete-temp-users!)
-    (tt/with-temp User [_ {:is_superuser true, :email "some_other_admin@metabase.com"}]
-      (invite-user-accept-and-check-inboxes! :google-auth? true))))
+  (tt/with-temp User [_ {:is_superuser true, :email "some_other_admin@metabase.com"}]
+    (invite-user-accept-and-check-inboxes! :google-auth? true)))
 
 ;; ...including the site admin if it is set...
 (expect
@@ -159,17 +153,14 @@
    "some_other_admin@metabase.com" ["<New User> created a Metabase account"]
    "cam@metabase.com"              ["<New User> created a Metabase account"]}
   (tu/with-temporary-setting-values [admin-email "cam@metabase.com"]
-    (test-users/delete-temp-users!)
     (tt/with-temp User [_ {:is_superuser true, :email "some_other_admin@metabase.com"}]
       (invite-user-accept-and-check-inboxes! :google-auth? true))))
 
 ;; ...unless they are inactive
 (expect
   {"crowberto@metabase.com" ["<New User> created a Metabase account"]}
-  (do
-    (test-users/delete-temp-users!)
-    (tt/with-temp User [_ {:is_superuser true, :is_active false}]
-      (invite-user-accept-and-check-inboxes! :google-auth? true))))
+  (tt/with-temp User [_ {:is_superuser true, :is_active false}]
+    (invite-user-accept-and-check-inboxes! :google-auth? true)))
 
 ;; LDAP users should not persist their passwords. Check that if somehow we get passed an LDAP user password, it gets
 ;; swapped with something random
@@ -184,3 +175,192 @@
       (upass/verify-password "should be removed" password_salt password))
     (finally
       (db/delete! User :email "ldaptest@metabase.com"))))
+
+;; when you create a new user with `is_superuser` set to `true`, it should create a PermissionsGroupMembership object
+(expect
+  true
+  (tt/with-temp User [user {:is_superuser true}]
+    (db/exists? PermissionsGroupMembership :user_id (u/get-id user), :group_id (u/get-id (group/admin)))))
+
+
+;;; +----------------------------------------------------------------------------------------------------------------+
+;;; |                                            New Group IDs Functions                                             |
+;;; +----------------------------------------------------------------------------------------------------------------+
+
+(defn group-names [groups-or-ids]
+  (when (seq groups-or-ids)
+    (db/select-field :name PermissionsGroup :id [:in (map u/get-id groups-or-ids)])))
+
+(defn- do-with-group [group-properties group-members f]
+  (tt/with-temp PermissionsGroup [group group-properties]
+    (doseq [member group-members]
+      (db/insert! PermissionsGroupMembership
+        {:group_id (u/get-id group)
+         :user_id  (if (keyword? member)
+                     (test-users/user->id member)
+                     (u/get-id member))}))
+    (f group)))
+
+(defmacro ^:private with-groups [[group-binding group-properties members & more-groups] & body]
+  (if (seq more-groups)
+    `(with-groups [~group-binding ~group-properties ~members]
+       (with-groups ~more-groups
+         ~@body))
+    `(do-with-group ~group-properties ~members (fn [~group-binding] ~@body))))
+
+;; make sure that the `group-ids` hydration function works as expected
+(expect
+  #{"All Users" "Group 2" "Group 1"}
+  (with-groups [_ {:name "Group 1"} #{:lucky :rasta}
+                _ {:name "Group 2"} #{:lucky}
+                _ {:name "Group 3"} #{}]
+    (group-names (user/group-ids (test-users/user->id :lucky)))))
+
+;; `group-ids` should be a single DB call
+(expect
+  1
+  (with-groups [_ {:name "Group 1"} #{:lucky}
+                _ {:name "Group 2"} #{:lucky}
+                _ {:name "Group 3"} #{}]
+    (let [lucky-id (test-users/user->id :lucky)]
+      (db/with-call-counting [call-count]
+        (user/group-ids lucky-id)
+        (call-count)))))
+
+;; `group-ids` shouldn't barf if passed `nil`
+(expect
+  nil
+  (user/group-ids nil))
+
+;; check that the `add-group-ids` hydration function can do a batched hydrate
+(expect
+  {"Lucky" #{"All Users" "Group 1" "Group 2"}
+   "Rasta" #{"All Users" "Group 1"}}
+  (with-groups [_ {:name "Group 1"} #{:lucky :rasta}
+                _ {:name "Group 2"} #{:lucky}
+                _ {:name "Group 3"} #{}]
+    (let [users (user/add-group-ids (map test-users/fetch-user [:lucky :rasta]))]
+      (zipmap (map :first_name users)
+              (map (comp group-names :group_ids) users)))))
+
+;; `add-group-ids` should be the hydrate function for a `:group_ids` for a single User
+(expect
+  '(user/add-group-ids <users>)
+  (with-redefs [user/group-ids     (constantly '(user/group-ids <user>))
+                user/add-group-ids (fn [users]
+                                     (for [user users]
+                                       (assoc user :group_ids '(user/add-group-ids <users>))))]
+    (-> (hydrate (User (test-users/user->id :lucky)) :group_ids)
+        :group_ids)))
+
+;; `add-group-ids` should be the batched hydrate function for a `:group_ids`
+;; (Toucan can/will use batched hydrate functions to hydrate single objects)
+(expect
+  '[(user/add-group-ids <users>)
+    (user/add-group-ids <users>)]
+  (with-redefs [user/group-ids     (constantly '(user/group-ids <user>))
+                user/add-group-ids (fn [users]
+                                     (for [user users]
+                                       (assoc user :group_ids '(user/add-group-ids <users>))))]
+    (as-> (map test-users/fetch-user [:rasta :lucky]) users
+      (hydrate users :group_ids)
+      (mapv :group_ids users))))
+
+;; ...it should do it in a single DB call
+(expect
+  1
+  (with-groups [_ {:name "Group 1"} #{:lucky :rasta}
+                _ {:name "Group 2"} #{:lucky}
+                _ {:name "Group 3"} #{}]
+    (let [users (mapv test-users/fetch-user [:lucky :rasta])]
+      (db/with-call-counting [call-count]
+        (dorun (user/add-group-ids users))
+        (call-count)))))
+
+;; `add-group-ids` shouldn't barf if passed an empty seq
+(expect
+  nil
+  (user/add-group-ids []))
+
+(defn user-group-names [user-or-id-or-kw]
+  (group-names (user/group-ids (if (keyword? user-or-id-or-kw)
+                                 (test-users/fetch-user user-or-id-or-kw)
+                                 user-or-id-or-kw))))
+
+;; check that we can use `set-permissions-groups!` to add a User to new groups
+(expect
+  #{"All Users" "Group 1" "Group 2"}
+  (with-groups [group-1 {:name "Group 1"} #{}
+                group-2 {:name "Group 2"} #{}]
+    (user/set-permissions-groups! (test-users/user->id :lucky) #{(group/all-users) group-1 group-2})
+    (user-group-names :lucky)))
+
+;; check that we can use `set-permissions-groups!` to remove a User from groups
+(expect
+  #{"All Users"}
+  (with-groups [group-1 {:name "Group 1"} #{:lucky}
+                group-2 {:name "Group 2"} #{:lucky}]
+    (user/set-permissions-groups! (test-users/user->id :lucky) #{(group/all-users)})
+    (user-group-names :lucky)))
+
+;; check that `set-permissions-groups!` can add & remove groups all at once! :wow:
+(expect
+  #{"All Users" "Group 2"}
+  (with-groups [group-1 {:name "Group 1"} #{:lucky}
+                group-2 {:name "Group 2"} #{}]
+    (user/set-permissions-groups! (test-users/user->id :lucky) #{(group/all-users) group-2})
+    (user-group-names :lucky)))
+
+;; `set-permissions-groups!` should throw an Exception if you attempt to remove someone from All Users
+(expect
+  Exception
+  (with-groups [group-1 {:name "Group 1"} #{}]
+    (user/set-permissions-groups! (test-users/user->id :lucky) #{group-1})))
+
+;; `set-permissions-groups!` should let someone be added to Admin group
+(expect
+  #{"Administrators" "All Users"}
+  (tt/with-temp User [user]
+    (user/set-permissions-groups! user #{(group/all-users) (group/admin)})
+    (user-group-names user)))
+
+;; is_superuser should get set when adding a user to admin via `set-permissions-groups!`
+(expect
+  {:is_superuser true}
+  (tt/with-temp User [user]
+    (user/set-permissions-groups! user #{(group/all-users) (group/admin)})
+    (db/select-one [User :is_superuser] :id (u/get-id user))))
+
+;; `set-permissions-groups!` should let someone be removed from Admin group
+(expect
+  #{"All Users"}
+  (tt/with-temp User [user {:is_superuser true}]
+    (user/set-permissions-groups! user #{(group/all-users)})
+    (user-group-names user)))
+
+(expect
+  false
+  (tt/with-temp User [user {:is_superuser true}]
+    (user/set-permissions-groups! user #{(group/all-users)})
+    (db/select-one-field :is_superuser User :id (u/get-id user))))
+
+;; The entire set of changes should run in a transaction -- if one set of changes fails, others should not be persisted
+;; [INVALID ADD]
+(expect
+  true
+  ;; User should not be removed from the admin group because the attempt to add them to the Integer/MAX_VALUE group
+  ;; should fail, causing the entire transaction to fail
+  (tt/with-temp User [user {:is_superuser true}]
+    (u/ignore-exceptions
+      (user/set-permissions-groups! user #{(group/all-users) Integer/MAX_VALUE}))
+    (db/select-one-field :is_superuser User :id (u/get-id user))))
+
+;; If an INVALID REMOVE is attempted, valid adds should not be persisted
+;; Attempt to remove someone from All Users + add to a valid group at the same time -- neither should persist
+(expect
+  #{"All Users"}
+  (tt/with-temp User [user]
+    (with-groups [group {:name "Group"} {}]
+      (u/ignore-exceptions
+        (user/set-permissions-groups! (test-users/fetch-user :lucky) #{group})))
+    (user-group-names :lucky)))
diff --git a/test/metabase/query_processor/async_test.clj b/test/metabase/query_processor/async_test.clj
new file mode 100644
index 0000000000000000000000000000000000000000..85247ea865b145d5cec6f7fd327e4c7cf1be1f8e
--- /dev/null
+++ b/test/metabase/query_processor/async_test.clj
@@ -0,0 +1,44 @@
+(ns metabase.query-processor.async-test
+  (:require [clojure.core.async :as a]
+            [expectations :refer [expect]]
+            [metabase.query-processor :as qp]
+            [metabase.query-processor.async :as qp.async]
+            [metabase.test.data :as data]
+            [metabase.test.util.async :as tu.async]
+            [metabase.util.encryption :as encrypt]))
+
+;; running a query async should give you the same results as running that query synchronously
+(let [query
+      {:database (data/id)
+       :type     :query
+       :query    {:source-table (data/id :venues)
+                  :fields       [[:field-id (data/id :venues :name)]]
+                  :limit        5}}
+      ;; Metadata checksum might be encrypted if a encryption key is set on this system (to make it hard for bad
+      ;; actors to forge one) in which case the checksums won't be equal.
+      maybe-decrypt-checksum
+      #(some-> % (update-in [:data :results_metadata :checksum] encrypt/maybe-decrypt))]
+  (expect
+    (maybe-decrypt-checksum
+     (qp/process-query query))
+    (maybe-decrypt-checksum
+     (tu.async/with-open-channels [result-chan (qp.async/process-query query)]
+       (first (a/alts!! [result-chan (a/timeout 1000)]))))))
+
+(expect
+  [{:name         "NAME"
+    :display_name "Name"
+    :base_type    :type/Text
+    :special_type :type/Name
+    :fingerprint  {:global {:distinct-count 100, :nil% 0.0},
+                   :type   #:type {:Text
+                                   {:percent-json   0.0,
+                                    :percent-url    0.0,
+                                    :percent-email  0.0,
+                                    :average-length 15.63}}}}]
+  (tu.async/with-open-channels [result-chan (qp.async/result-metadata-for-query-async
+                                             {:database (data/id)
+                                              :type     :query
+                                              :query    {:source-table (data/id :venues)
+                                                         :fields       [[:field-id (data/id :venues :name)]]}})]
+    (first (a/alts!! [result-chan (a/timeout 1000)]))))
diff --git a/test/metabase/query_processor/middleware/add_query_throttle_test.clj b/test/metabase/query_processor/middleware/add_query_throttle_test.clj
deleted file mode 100644
index 9ca101888c1f6dbcbcafcd4306029ce6ccf6ecf4..0000000000000000000000000000000000000000
--- a/test/metabase/query_processor/middleware/add_query_throttle_test.clj
+++ /dev/null
@@ -1,136 +0,0 @@
-(ns metabase.query-processor.middleware.add-query-throttle-test
-  (:require [environ.core :as environ]
-            [expectations :refer :all]
-            [metabase.query-processor.middleware
-             [add-query-throttle :as throttle :refer :all]
-             [catch-exceptions :as catch-exceptions]]
-            [metabase.test.util :as tu]
-            [metabase.util :as u])
-  (:import java.util.concurrent.Semaphore))
-
-(defmacro ^:private with-query-wait-time-in-seconds [time-in-seconds & body]
-  `(with-redefs [throttle/max-query-wait-time-in-millis ~(* 1000 time-in-seconds)]
-     ~@body))
-
-;; Check that the middleware will throw an exception and return a 503 if there are no tickets available in the
-;; semaphore after waiting the timeout period
-(expect
-  {:ex-class clojure.lang.ExceptionInfo
-   :msg      "Max concurrent query limit reached"
-   :data     {:status-code 503
-              :type        ::throttle/concurrent-query-limit-reached}}
-  (with-query-wait-time-in-seconds 1
-    (tu/exception-and-message
-     (let [semaphore (Semaphore. 5)]
-       (.acquire semaphore 5)
-       ((#'throttle/throttle-queries semaphore (constantly "Should never be returned")) {})))))
-
-;; The `catch-exceptions` middleware catches any query pipeline errors and reformats it as a failed query result. The
-;; 503 exception here is special and should be bubbled up
-(expect
-  {:ex-class clojure.lang.ExceptionInfo
-   :msg      "Max concurrent query limit reached"
-   :data     {:status-code 503
-              :type        ::throttle/concurrent-query-limit-reached}}
-  (with-query-wait-time-in-seconds 1
-    (tu/exception-and-message
-     (let [semaphore (Semaphore. 5)
-           my-qp     (->> identity
-                          (#'throttle/throttle-queries semaphore)
-                          catch-exceptions/catch-exceptions)]
-       (.acquire semaphore 5)
-       (my-qp {:my "query"})))))
-
-;; Test that queries are "enqueued" for the timeout period and if another slot becomes available, it is used
-(expect
-  {:before-semaphore-release ::no-result
-   :after-semaphore-release  {:query "map"}}
-  (with-query-wait-time-in-seconds 120
-    (let [semaphore    (Semaphore. 5)
-          _            (.acquire semaphore 5)
-          query-future (future ((#'throttle/throttle-queries semaphore identity) {:query "map"}))]
-      {:before-semaphore-release (deref query-future 10 ::no-result)
-       :after-semaphore-release  (do
-                                   (.release semaphore)
-                                   (deref query-future 10000 ::no-result))})))
-
-;; Test that a successful query result will return the permit to the semaphore
-(expect
-  {:beinning-permits       5
-   :before-failure-permits 4
-   :query-result           {:query "map"}
-   :after-success-permits  5}
-  (with-query-wait-time-in-seconds 5
-    (let [semaphore                 (Semaphore. 5)
-          start-middleware-promise  (promise)
-          finish-middleware-promise (promise)
-          begin-num-permits         (.availablePermits semaphore)
-          coordinate-then-finish    (fn [query-map]
-                                      (deliver start-middleware-promise true)
-                                      @finish-middleware-promise
-                                      query-map)
-          query-future              (future
-                                      ((#'throttle/throttle-queries semaphore coordinate-then-finish) {:query "map"}))]
-      {:beinning-permits       begin-num-permits
-       :before-failure-permits (do
-                                 @start-middleware-promise
-                                 (.availablePermits semaphore))
-       :query-result           (do
-                                 (deliver finish-middleware-promise true)
-                                 @query-future)
-       :after-success-permits  (.availablePermits semaphore)})))
-
-;; Ensure that the even if there is a failure, the permit is always released
-(expect
-  {:beinning-permits       5
-   :before-failure-permits 4
-   :after-failure-permits  5}
-  (with-query-wait-time-in-seconds 5
-    (let [semaphore                 (Semaphore. 5)
-          start-middleware-promise  (promise)
-          finish-middleware-promise (promise)
-          begin-num-permits         (.availablePermits semaphore)
-          coordinate-then-fail       (fn [_]
-                                       (deliver start-middleware-promise true)
-                                       @finish-middleware-promise
-                                       (throw (Exception. "failure")))
-          query-future              (future
-                                      (u/ignore-exceptions
-                                        ((#'throttle/throttle-queries semaphore coordinate-then-fail) {:query "map"})))]
-      {:beinning-permits       begin-num-permits
-       :before-failure-permits (do
-                                 @start-middleware-promise
-                                 (.availablePermits semaphore))
-       :after-failure-permits  (do
-                                 (deliver finish-middleware-promise true)
-                                 @query-future
-                                 (.availablePermits semaphore))})))
-
-;; Test the function that adds the middleware only when MB_ENABLE_QUERY_THROTTLE is set to true
-
-(defmacro ^:private with-query-throttle-value [enable-query-thottle-str & body]
-  `(with-redefs [environ/env {:mb-enable-query-throttle ~enable-query-thottle-str}]
-     ~@body))
-
-;; By default the query throttle should not be applied
-(expect
-  #'identity
-  (tu/throw-if-called throttle/throttle-queries
-    (with-query-throttle-value nil
-      (throttle/maybe-add-query-throttle #'identity))))
-
-;; The query throttle should not be applied if MB_ENABLE_QUERY_THROTTLE is false
-(expect
-  #'identity
-  (tu/throw-if-called throttle/throttle-queries
-    (with-query-throttle-value "false"
-      (throttle/maybe-add-query-throttle #'identity))))
-
-;; The query throttle should be applied if MB_ENABLE_QUERY_THROTTLE is true
-(expect
-  (let [called? (atom false)]
-    (with-redefs [throttle/throttle-queries (fn [& args]
-                                              (reset! called? true))]
-      (with-query-throttle-value "true"
-        (throttle/maybe-add-query-throttle #'identity)
-        @called?))))
diff --git a/test/metabase/query_processor/middleware/parameters/mbql_test.clj b/test/metabase/query_processor/middleware/parameters/mbql_test.clj
index 1019d32f4384b9fdd4a646edd7528e95be66ade0..afa7bcae961fe7085620b1fd7aa11d65abb5467c 100644
--- a/test/metabase/query_processor/middleware/parameters/mbql_test.clj
+++ b/test/metabase/query_processor/middleware/parameters/mbql_test.clj
@@ -233,13 +233,13 @@
                 "FROM \"PUBLIC\".\"VENUES\" "
                 "WHERE (\"PUBLIC\".\"VENUES\".\"PRICE\" = 3 OR \"PUBLIC\".\"VENUES\".\"PRICE\" = 4)")
    :params nil}
-  (let [query (-> (data/mbql-query venues
-                    {:aggregation [[:count]]})
-                  (assoc :parameters [{:name   "price"
-                                       :type   :category
-                                       :target [:field-id (data/id :venues :price)]
-                                       :value  [3 4]}]))]
-    (-> query qp/process-query :data :native_form)))
+  (qp/query->native
+    (-> (data/mbql-query venues
+          {:aggregation [[:count]]})
+        (assoc :parameters [{:name   "price"
+                             :type   :category
+                             :target [:field-id (data/id :venues :price)]
+                             :value  [3 4]}]))))
 
 ;; try it with date params as well. Even though there's no way to do this in the frontend AFAIK there's no reason we
 ;; can't handle it on the backend
@@ -257,22 +257,23 @@
             (du/->Timestamp #inst "2014-06-30")
             (du/->Timestamp #inst "2015-06-01")
             (du/->Timestamp #inst "2015-06-30")]}
-  (let [query (-> (data/mbql-query checkins
-                    {:aggregation [[:count]]})
-                  (assoc :parameters [{:name   "date"
-                                       :type   "date/month"
-                                       :target [:field-id (data/id :checkins :date)]
-                                       :value  ["2014-06" "2015-06"]}]))]
-    (-> query qp/process-query qp.test/data :native_form)))
+  (qp/query->native
+    (-> (data/mbql-query checkins
+          {:aggregation [[:count]]})
+        (assoc :parameters [{:name   "date"
+                             :type   "date/month"
+                             :target [:field-id (data/id :checkins :date)]
+                             :value  ["2014-06" "2015-06"]}]))))
 
 ;; make sure that "ID" type params get converted to numbers when appropriate
 (expect
   [:= [:field-id (data/id :venues :id)] 1]
-  (#'mbql-params/build-filter-clause {:type   :id
-                                      :target [:dimension [:field-id (data/id :venues :id)]]
-                                      :slug   "venue_id"
-                                      :value  "1"
-                                      :name   "Venue ID"}))
+  (#'mbql-params/build-filter-clause
+   {:type   :id
+    :target [:dimension [:field-id (data/id :venues :id)]]
+    :slug   "venue_id"
+    :value  "1"
+    :name   "Venue ID"}))
 
 ;; Make sure we properly handle paramters that have `fk->` forms in `:dimension` targets (#9017)
 (datasets/expect-with-drivers (filter #(driver/supports? % :foreign-keys) params-test-drivers)
diff --git a/test/metabase/query_processor/middleware/parameters/sql_test.clj b/test/metabase/query_processor/middleware/parameters/sql_test.clj
index d739eef94806087b5ee0fc57140575537a6b5e84..9f7741663ea876c1f56b80a6e90f38eecdb43115 100644
--- a/test/metabase/query_processor/middleware/parameters/sql_test.clj
+++ b/test/metabase/query_processor/middleware/parameters/sql_test.clj
@@ -357,8 +357,18 @@
 
 ;;; ------------------------------------------- expansion tests: variables -------------------------------------------
 
+(defmacro ^:private with-h2-db-timezone
+  "This macro is useful when testing pieces of the query pipeline (such as expand) where it's a basic unit test not
+  involving a database, but does need to parse dates"
+  [& body]
+  `(du/with-effective-timezone {:engine   :h2
+                                :timezone "UTC"
+                                :name     "mock_db"
+                                :id       1}
+    ~@body))
+
 (defn- expand* [query]
-  (qpt/with-h2-db-timezone
+  (with-h2-db-timezone
     (-> (sql/expand (assoc (normalize/normalize query) :driver :h2))
         :native
         (select-keys [:query :params :template-tags]))))
diff --git a/test/metabase/query_processor/middleware/results_metadata_test.clj b/test/metabase/query_processor/middleware/results_metadata_test.clj
index e9b55f6d84348deaa3c2fc20f82e4c39ad2a4340..6cde4840d4d2f96715bcc7650fbf27388e5cee38 100644
--- a/test/metabase/query_processor/middleware/results_metadata_test.clj
+++ b/test/metabase/query_processor/middleware/results_metadata_test.clj
@@ -128,6 +128,11 @@
   (with-redefs [encrypt/default-secret-key nil]
     (#'results-metadata/metadata-checksum metadata)))
 
+;; metadata-checksum should be the same every time
+(expect
+  (metadata-checksum example-metadata)
+  (metadata-checksum example-metadata))
+
 ;; tests that the checksum is consistent when an array-map is switched to a hash-map
 (expect
   (metadata-checksum example-metadata)
diff --git a/test/metabase/query_processor/middleware/splice_params_in_response_test.clj b/test/metabase/query_processor/middleware/splice_params_in_response_test.clj
new file mode 100644
index 0000000000000000000000000000000000000000..ea46027a5f571a63debadcca45ec81a778ed85e5
--- /dev/null
+++ b/test/metabase/query_processor/middleware/splice_params_in_response_test.clj
@@ -0,0 +1,103 @@
+(ns metabase.query-processor.middleware.splice-params-in-response-test
+  (:require [expectations :refer [expect]]
+            [metabase
+             [driver :as driver]
+             [query-processor :as qp]]
+            [metabase.query-processor.middleware.splice-params-in-response :as splice-params-in-response]
+            [metabase.test.data :as data]))
+
+(defn- do-with-splice-params-call? [f]
+  (with-redefs [driver/splice-parameters-into-native-query (fn [& args]
+                                                             (cons 'splice-parameters-into-native-query args))]
+    (f)))
+
+(defmacro ^:private with-splice-params-call?
+  "Instead of actually calling `splice-parameters-into-native-query`, the results and correct implementation of which
+  are not our problem, replace the results of a form showing the function call that is made (if any)."
+  [& body]
+  `(do-with-splice-params-call? (fn [] ~@body)))
+
+(defn- splice-params [qp-results]
+  (with-splice-params-call?
+    (driver/with-driver :h2
+      ((splice-params-in-response/splice-params-in-response
+        (constantly qp-results))
+       {}))))
+
+;; Middleware should attempt to splice parameters into native query for queries that have params
+(expect
+  {:status :completed
+   :data
+   {:native_form
+    '(splice-parameters-into-native-query
+      :h2
+      {:query  "SELECT * FROM birds WHERE name = ?"
+       :params ["Reggae"]})}}
+  (splice-params
+   {:status :completed
+    :data   {:native_form {:query  "SELECT * FROM birds WHERE name = ?"
+                           :params ["Reggae"]}}}))
+
+;; If the query was not successfully completed then no splicing should be attempted!
+(expect
+  {:status :failed
+   :data   {:native_form
+            {:query "SELECT * FROM birds WHERE name = ?", :params ["Reggae"]}}}
+  (splice-params
+   {:status :failed
+    :data   {:native_form {:query  "SELECT * FROM birds WHERE name = ?"
+                           :params ["Reggae"]}}}))
+
+;; No splicing should be attempted if `:params` is empty
+(expect
+  {:status :completed
+   :data
+   {:native_form
+    {:query "SELECT * FROM birds WHERE name IS NOT NULL", :params []}}}
+  (splice-params
+   {:status :completed
+    :data   {:native_form {:query  "SELECT * FROM birds WHERE name IS NOT NULL"
+                           :params []}}}))
+
+;; (These tests do not neccesarily belong in this namespace, but `metabase.query-processor-test` currently isn't used
+;; for actual tests, so since these are related to the middleware tests above, they will live here for now)
+
+(defn- sushi-query []
+  {:database (data/id)
+   :type     :query
+   :query    {:source-table (data/id :venues)
+              :fields       [[:field-id (data/id :venues :id)]]
+              :filter       [:= [:field-id (data/id :venues :name)] "Beyond Sushi"]
+              :limit 1}})
+
+;; `qp/query->native-with-spliced-params`, should, as the name implies, attempt to splice the params into the query
+(expect
+  '(splice-parameters-into-native-query
+    :h2
+    {:query
+     "SELECT \"PUBLIC\".\"VENUES\".\"ID\" AS \"ID\" FROM \"PUBLIC\".\"VENUES\" WHERE \"PUBLIC\".\"VENUES\".\"NAME\" = ? LIMIT 1",
+     :params ["Beyond Sushi"]})
+  (with-splice-params-call?
+    (qp/query->native-with-spliced-params
+      (sushi-query))))
+
+;; `query->native` should not call `splice-parameters-into-native-query`
+(expect
+  {:query
+   "SELECT \"PUBLIC\".\"VENUES\".\"ID\" AS \"ID\" FROM \"PUBLIC\".\"VENUES\" WHERE \"PUBLIC\".\"VENUES\".\"NAME\" = ? LIMIT 1",
+   :params ["Beyond Sushi"]}
+  (with-splice-params-call?
+    (qp/query->native
+      (sushi-query))))
+
+;; `splice-parameters-into-native-query` should get called on the `:native_form` returned in query results,
+;; because this is currently what is ultimately used by the frontend when you click 'Convert this Question to SQL'
+;;
+;; (This is implied by the middleware tests above; this test serves as an end-to-end test to verify that the
+;; middleware is actually being applied)
+(expect
+  '(splice-parameters-into-native-query
+    :h2
+    {:query
+     "SELECT \"PUBLIC\".\"VENUES\".\"ID\" AS \"ID\" FROM \"PUBLIC\".\"VENUES\" WHERE \"PUBLIC\".\"VENUES\".\"NAME\" = ? LIMIT 1",
+     :params ["Beyond Sushi"]}))
diff --git a/test/metabase/query_processor_test.clj b/test/metabase/query_processor_test.clj
index a4ed6a6a5ecf1e676ea31ea4bbe4632d22ee53f3..0441c85ca01e5186963426750149230243558abc 100644
--- a/test/metabase/query_processor_test.clj
+++ b/test/metabase/query_processor_test.clj
@@ -12,8 +12,7 @@
             [metabase.test.data
              [datasets :as datasets]
              [env :as tx.env]
-             [interface :as tx]]
-            [metabase.util.date :as du]))
+             [interface :as tx]]))
 
 ;;; ---------------------------------------------- Helper Fns + Macros -----------------------------------------------
 
@@ -349,13 +348,3 @@
   "Returns truthy if `driver` supports setting a timezone"
   [driver]
   (driver/supports? driver :set-timezone))
-
-(defmacro with-h2-db-timezone
-  "This macro is useful when testing pieces of the query pipeline (such as expand) where it's a basic unit test not
-  involving a database, but does need to parse dates"
-  [& body]
-  `(du/with-effective-timezone {:engine   :h2
-                                :timezone "UTC"
-                                :name     "mock_db"
-                                :id       1}
-    ~@body))
diff --git a/test/metabase/query_processor_test/nested_queries_test.clj b/test/metabase/query_processor_test/nested_queries_test.clj
index 63cc2728ad6b3690a17d2929453f4c7bb11dc134..411a9714ed0dab8d36ce780f62d043b915c8a806 100644
--- a/test/metabase/query_processor_test/nested_queries_test.clj
+++ b/test/metabase/query_processor_test/nested_queries_test.clj
@@ -487,6 +487,11 @@
 (defn- identifier [table-kw field-kw]
   (db/select-one-field :name Field :id (data/id table-kw field-kw)))
 
+(defn- completed-status [{:keys [status], :as results}]
+  (if (= status :completed)
+    status
+    results))
+
 ;; make sure using a time interval filter works
 (datasets/expect-with-drivers (non-timeseries-drivers-with-feature :nested-queries)
   :completed
@@ -495,7 +500,7 @@
     (-> (query-with-source-card card
           :filter [:time-interval [:field-literal (identifier :checkins :date) :type/DateTime] -30 :day])
         qp/process-query
-        :status)))
+        completed-status)))
 
 ;; make sure that wrapping a field literal in a datetime-field clause works correctly in filters & breakouts
 (datasets/expect-with-drivers (non-timeseries-drivers-with-feature :nested-queries)
@@ -507,7 +512,7 @@
           :filter      [:= [:datetime-field [:field-literal (identifier :checkins :date) :type/Date] :quarter] "2014-01-01T08:00:00.000Z"]
           :breakout    [[:datetime-field [:field-literal (identifier :checkins :date) :type/Date] :month]])
         qp/process-query
-        :status)))
+        completed-status)))
 
 ;; make sure timeseries queries generated by "drag-to-filter" work correctly
 (expect
@@ -522,7 +527,7 @@
                         "2014-02-01T00:00:00-08:00"
                         "2014-05-01T00:00:00-07:00"])
         qp/process-query
-        :status)))
+        completed-status)))
 
 ;; Make sure that macro expansion works inside of a neested query, when using a compound filter clause (#5974)
 (expect
diff --git a/test/metabase/query_processor_test/query_cancellation_test.clj b/test/metabase/query_processor_test/query_cancellation_test.clj
index 282ed8442d03fd81d7614b501c9154dcae2ae25b..bc146057b0bec4b6f3312b11cb4d7fb09433c5f2 100644
--- a/test/metabase/query_processor_test/query_cancellation_test.clj
+++ b/test/metabase/query_processor_test/query_cancellation_test.clj
@@ -1,11 +1,13 @@
 (ns metabase.query-processor-test.query-cancellation-test
+  "TODO - This is sql-jdbc specific, so it should go in a sql-jdbc test namespace."
   (:require [clojure.java.jdbc :as jdbc]
-            [expectations :refer :all]
+            [expectations :refer [expect]]
             [metabase.test.util :as tu]
             [metabase.test.util.log :as tu.log]))
 
 (deftype FakePreparedStatement [called-cancel?]
   java.sql.PreparedStatement
+  (closeOnCompletion [_]) ; no-op
   (cancel [_] (deliver called-cancel? true))
   (close [_] true))
 
diff --git a/test/metabase/core_test.clj b/test/metabase/server_test.clj
similarity index 86%
rename from test/metabase/core_test.clj
rename to test/metabase/server_test.clj
index a600e070e51c2a14cb79a96411267f429a3fc9fc..ba5a9b4445064bf920da71f2287212652fa2acff 100644
--- a/test/metabase/core_test.clj
+++ b/test/metabase/server_test.clj
@@ -1,8 +1,8 @@
-(ns metabase.core-test
+(ns metabase.server-test
   (:require [expectations :refer [expect]]
             [metabase
              [config :as config]
-             [core :as core]]))
+             [server :as server]]))
 
 ;; Make sure our Jetty config functions work as expected/we don't accidentally break things (#9333)
 (expect
@@ -20,4 +20,4 @@
    :max-idle-time  10
    :ssl-port       10}
   (with-redefs [config/config-str (constantly "10")]
-    (#'core/jetty-config)))
+    (#'server/jetty-config)))
diff --git a/test/metabase/sync/analyze/fingerprint/insights_test.clj b/test/metabase/sync/analyze/fingerprint/insights_test.clj
index 7837e1d11e3086ff538a9f4e31ee673bc5ae0169..ec1b3cbae734e6ed7e3f4d7e061abe5297e4f912 100644
--- a/test/metabase/sync/analyze/fingerprint/insights_test.clj
+++ b/test/metabase/sync/analyze/fingerprint/insights_test.clj
@@ -35,12 +35,14 @@
       :last-value))
 
 
+(defn- inst->day
+  [inst]
+  (some-> inst (.getTime) (#'i/ms->day)))
+
 (defn- valid-period?
-  ([from to] (valid-period? from to nil))
+  ([from to] (valid-period? from to (#'i/infer-unit (inst->day from) (inst->day to))))
   ([from to period]
-   (boolean (#'i/valid-period? (some-> from (.getTime) (#'i/ms->day))
-                               (some-> to (.getTime) (#'i/ms->day))
-                               period))))
+   (boolean (#'i/valid-period? (inst->day from) (inst->day to) period))))
 
 (expect
   true
@@ -75,3 +77,6 @@
 (expect
   false
   (valid-period? #inst "2015-01-01" #inst "2015-04-03" :month))
+(expect
+  false
+  (valid-period? #inst "2015-01" #inst "2015-02" nil))
diff --git a/test/metabase/sync/sync_metadata/tables_test.clj b/test/metabase/sync/sync_metadata/tables_test.clj
index 5c0353f48634bb0885dd640a1a07761d6525e1a5..696f24d5008f472741ae76924202308c9d63a089 100644
--- a/test/metabase/sync/sync_metadata/tables_test.clj
+++ b/test/metabase/sync/sync_metadata/tables_test.clj
@@ -1,10 +1,15 @@
 (ns metabase.sync.sync-metadata.tables-test
   "Test for the logic that syncs Table models with the metadata fetched from a DB."
-  (:require [expectations :refer :all]
-            [metabase.models.table :refer [Table]]
+  (:require [expectations :refer [expect]]
+            [metabase.models
+             [database :refer [Database]]
+             [table :refer [Table]]]
+            [metabase.sync.sync-metadata.tables :as sync-tables]
             [metabase.test.data :as data]
             [metabase.test.data.interface :as tx]
-            [toucan.db :as db]))
+            [metabase.util :as u]
+            [toucan.db :as db]
+            [toucan.util.test :as tt]))
 
 (tx/def-database-definition ^:private db-with-some-cruft
   [["acquired_toucans"
@@ -27,3 +32,12 @@
   (data/dataset metabase.sync.sync-metadata.tables-test/db-with-some-cruft
     (set (for [table (db/select [Table :name :visibility_type], :db_id (data/id))]
            (into {} table)))))
+
+;; `retire-tables!` should retire the Table(s) passed to it, not all Tables in the DB -- see #9593
+(expect
+  {"Table 1" false, "Table 2" true}
+  (tt/with-temp* [Database [db]
+                  Table    [table-1 {:name "Table 1", :db_id (u/get-id db)}]
+                  Table    [table-2 {:name "Table 2", :db_id (u/get-id db)}]]
+    (#'sync-tables/retire-tables! db #{{:name "Table 1", :schema (:schema table-1)}})
+    (db/select-field->field :name :active Table, :db_id (u/get-id db))))
diff --git a/test/metabase/test/data.clj b/test/metabase/test/data.clj
index 1254b7061537a0dd08ac47ceeec39b40c8115e75..7c89d3a098ec0303bd5efdac31ab29431a994d75 100644
--- a/test/metabase/test/data.clj
+++ b/test/metabase/test/data.clj
@@ -7,6 +7,7 @@
             [clojure.tools.logging :as log]
             [medley.core :as m]
             [metabase
+             [driver :as driver]
              [query-processor :as qp]
              [sync :as sync]
              [util :as u]]
@@ -283,6 +284,21 @@
     ;; make sure we're returing an up-to-date copy of the DB
     (Database (u/get-id db))))
 
+(defonce ^:private ^{:arglists '([driver]), :doc "We'll have a very bad time if any sort of test runs that calls
+  `data/db` for the first time calls it multiple times in parallel -- for example my Oracle test that runs 30 sync
+  calls at the same time to make sure nothing explodes and cursors aren't leaked. To make sure this doesn't happen
+  we'll keep a map of driver->lock and only allow a given driver to create one Database at a time. Because each DB has
+  its own lock we can still create different DBs for different drivers at the same time."}
+  driver->create-database-lock
+  (let [locks (atom {})]
+    (fn [driver]
+      (let [driver (driver/the-driver driver)]
+        (or
+         (@locks driver)
+         (do
+           (swap! locks update driver #(or % (Object.)))
+           (@locks driver)))))))
+
 (defn get-or-create-database!
   "Create DBMS database associated with DATABASE-DEFINITION, create corresponding Metabase
   `Databases`/`Tables`/`Fields`, and sync the `Database`. DRIVER should be an object that implements
@@ -292,8 +308,12 @@
    (get-or-create-database! (tx/driver) database-definition))
   ([driver database-definition]
    (let [driver (tx/the-driver-with-test-extensions driver)]
-     (or (tx/metabase-instance database-definition driver)
-         (create-database! database-definition driver)))))
+     (or
+      (tx/metabase-instance database-definition driver)
+      (locking (driver->create-database-lock driver)
+        (or
+         (tx/metabase-instance database-definition driver)
+         (create-database! database-definition driver)))))))
 
 
 (defn do-with-temp-db
diff --git a/test/metabase/test/data/users.clj b/test/metabase/test/data/users.clj
index cec31ee38461a5ccfde540dd3fa22e193ece6b5a..a714ccf73ba52d20d4d0f0eca21b1e9fb664822b 100644
--- a/test/metabase/test/data/users.clj
+++ b/test/metabase/test/data/users.clj
@@ -4,12 +4,14 @@
             [metabase
              [config :as config]
              [http-client :as http]
-             [middleware :as middleware]
              [util :as u]]
             [metabase.core.initialization-status :as init-status]
+            [metabase.middleware.session :as mw.session]
             [metabase.models.user :as user :refer [User]]
+            [schema.core :as s]
             [toucan.db :as db])
-  (:import clojure.lang.ExceptionInfo))
+  (:import clojure.lang.ExceptionInfo
+           metabase.models.user.UserInstance))
 
 ;;; ------------------------------------------------ User Definitions ------------------------------------------------
 
@@ -42,9 +44,12 @@
                :password "birdseed"
                :active   false}})
 
-(def ^:private ^:const usernames
+(def ^:private usernames
   (set (keys user->info)))
 
+(def ^:private TestUserName
+  (apply s/enum usernames))
+
 ;;; ------------------------------------------------- Test User Fns --------------------------------------------------
 
 (defn- wait-for-initiailization
@@ -67,8 +72,8 @@
 (defn- fetch-or-create-user!
   "Create User if they don't already exist and return User."
   [& {:keys [email first last password superuser active]
-      :or {superuser false
-           active    true}}]
+      :or   {superuser false
+             active    true}}]
   {:pre [(string? email) (string? first) (string? last) (string? password) (m/boolean? superuser) (m/boolean? active)]}
   (wait-for-initiailization)
   (or (User :email email)
@@ -82,19 +87,18 @@
         :is_active    active)))
 
 
-(defn fetch-user
+(s/defn fetch-user :- UserInstance
   "Fetch the User object associated with USERNAME. Creates user if needed.
 
     (fetch-user :rasta) -> {:id 100 :first_name \"Rasta\" ...}"
-  [username]
-  {:pre [(contains? usernames username)]}
+  [username :- TestUserName]
   (m/mapply fetch-or-create-user! (user->info username)))
 
-(defn create-users-if-needed!
+(s/defn create-users-if-needed!
   "Force creation of the test users if they don't already exist."
   ([]
    (apply create-users-if-needed! usernames))
-  ([& usernames]
+  ([& usernames :- [TestUserName]]
    (doseq [username usernames]
      ;; fetch-user will force creation of users
      (fetch-user username))))
@@ -104,15 +108,15 @@
 
     (user->id :rasta) -> 4"
   (memoize
-   (fn [username]
+   (s/fn :- s/Int [username :- TestUserName]
      {:pre [(contains? usernames username)]}
-     (:id (fetch-user username)))))
+     (u/get-id (fetch-user username)))))
 
-(defn user->credentials
+(s/defn user->credentials :- {:username (s/pred u/email?), :password s/Str}
   "Return a map with `:username` and `:password` for User with USERNAME.
 
     (user->credentials :rasta) -> {:username \"rasta@metabase.com\", :password \"blueberries\"}"
-  [username]
+  [username :- TestUserName]
   {:pre [(contains? usernames username)]}
   (let [{:keys [email password]} (user->info username)]
     {:username email
@@ -128,13 +132,21 @@
 
 (defonce ^:private tokens (atom {}))
 
-(defn- username->token [username]
+(s/defn username->token :- u/uuid-regex
+  "Return cached session token for a test User, logging in first if needed."
+  [username :- TestUserName]
   (or (@tokens username)
       (u/prog1 (http/authenticate (user->credentials username))
         (swap! tokens assoc username <>))
       (throw (Exception. (format "Authentication failed for %s with credentials %s"
                                  username (user->credentials username))))))
 
+(defn clear-cached-session-tokens!
+  "Clear any cached session tokens, which may have expired or been removed. You should do this in the even you get a
+  `401` unauthenticated response, and then retry the request."
+  []
+  (reset! tokens {}))
+
 (defn- client-fn [username & args]
   (try
     (apply http/client (username->token username) args)
@@ -143,33 +155,27 @@
         (when-not (= status-code 401)
           (throw e))
         ;; If we got a 401 unauthenticated clear the tokens cache + recur
-        (reset! tokens {})
+        (clear-cached-session-tokens!)
         (apply client-fn username args)))))
 
-(defn user->client
+(s/defn user->client :- (s/pred fn?)
   "Returns a `metabase.http-client/client` partially bound with the credentials for User with USERNAME.
    In addition, it forces lazy creation of the User if needed.
 
      ((user->client) :get 200 \"meta/table\")"
-  [username]
+  [username :- TestUserName]
   (create-users-if-needed! username)
   (partial client-fn username))
 
-
-(defn ^:deprecated delete-temp-users!
-  "Delete all users besides the 4 persistent test users.
-  This is a HACK to work around tests that don't properly clean up after themselves; one day we should be able to
-  remove this. (TODO)"
-  []
-  (db/delete! User :id [:not-in (map user->id [:crowberto :lucky :rasta :trashbird])]))
-
-(defn do-with-test-user
+(s/defn do-with-test-user
   "Call `f` with various `metabase.api.common` dynamic vars bound to the test User named by `user-kwd`."
-  [user-kwd f]
-  ((middleware/bind-current-user (fn [_] (f)))
+  [user-kwd :- TestUserName, f :- (s/pred fn?)]
+  ((mw.session/bind-current-user (fn [_ respond _] (respond (f))))
    (let [user-id (user->id user-kwd)]
      {:metabase-user-id user-id
-      :is-superuser?    (db/select-one-field :is_superuser User :id user-id)})))
+      :is-superuser?    (db/select-one-field :is_superuser User :id user-id)})
+   identity
+   (fn [e] (throw e))))
 
 (defmacro with-test-user
   "Call `body` with various `metabase.api.common` dynamic vars like `*current-user*` bound to the test User named by
diff --git a/test/metabase/test/util.clj b/test/metabase/test/util.clj
index bd866d353b64a4063055debeb682cbcb5e96d6d0..a3cbda81569b2d05253566c684d18bc013e96ef2 100644
--- a/test/metabase/test/util.clj
+++ b/test/metabase/test/util.clj
@@ -3,11 +3,11 @@
   (:require [cheshire.core :as json]
             [clj-time.core :as time]
             [clojure
-             [string :as s]
+             [string :as str]
              [walk :as walk]]
             [clojure.tools.logging :as log]
             [clojurewerkz.quartzite.scheduler :as qs]
-            [expectations :refer :all]
+            [expectations :as expectations :refer [expect]]
             [metabase
              [driver :as driver]
              [task :as task]
@@ -35,11 +35,35 @@
             [metabase.test.data :as data]
             [metabase.test.data.dataset-definitions :as defs]
             [metabase.util.date :as du]
+            [schema.core :as s]
             [toucan.db :as db]
             [toucan.util.test :as test])
   (:import org.apache.log4j.Logger
            [org.quartz CronTrigger JobDetail JobKey Scheduler Trigger]))
 
+;; record type for testing that results match a Schema
+(defrecord SchemaExpectation [schema]
+  expectations/CustomPred
+  (expect-fn [_ actual]
+    (nil? (s/check schema actual)))
+  (expected-message [_ _ _ _]
+    (str "Result did not match schema:\n"
+         (u/pprint-to-str (s/explain schema))))
+  (actual-message [_ actual _ _]
+    (str "Was:\n"
+         (u/pprint-to-str actual)))
+  (message [_ actual _ _]
+    (u/pprint-to-str (s/check schema actual))))
+
+(defmacro expect-schema
+  "Like `expect`, but checks that results match a schema."
+  {:style/indent 0}
+  [expected actual]
+  `(expect
+     (SchemaExpectation. ~expected)
+     ~actual))
+
+
 ;;; ---------------------------------------------------- match-$ -----------------------------------------------------
 
 (defn- $->prop
@@ -108,8 +132,8 @@
     (every-pred (some-fn keyword? string?)
                 (some-fn #{:id :created_at :updated_at :last_analyzed :created-at :updated-at :field-value-id :field-id
                            :fields_hash :date_joined :date-joined :last_login :dimension-id :human-readable-field-id}
-                         #(s/ends-with? % "_id")
-                         #(s/ends-with? % "_at")))
+                         #(str/ends-with? % "_id")
+                         #(str/ends-with? % "_at")))
     data))
   ([pred data]
    (walk/prewalk (fn [maybe-map]
@@ -303,15 +327,21 @@
 (defn do-with-temp-vals-in-db
   "Implementation function for `with-temp-vals-in-db` macro. Prefer that to using this directly."
   [model object-or-id column->temp-value f]
-  (let [original-column->value (db/select-one (vec (cons model (keys column->temp-value)))
-                                 :id (u/get-id object-or-id))]
+  ;; use low-level `query` and `execute` functions here, because Toucan `select` and `update` functions tend to do
+  ;; things like add columns like `common_name` that don't actually exist, causing subsequent update to fail
+  (let [model                    (db/resolve-model model)
+        [original-column->value] (db/query {:select (keys column->temp-value)
+                                            :from   [model]
+                                            :where  [:= :id (u/get-id object-or-id)]})]
     (try
       (db/update! model (u/get-id object-or-id)
         column->temp-value)
       (f)
       (finally
-        (db/update! model (u/get-id object-or-id)
-          original-column->value)))))
+        (db/execute!
+         {:update model
+          :set    original-column->value
+          :where  [:= :id (u/get-id object-or-id)]})))))
 
 (defmacro with-temp-vals-in-db
   "Temporary set values for an `object-or-id` in the application database, execute `body`, and then restore the
diff --git a/test/metabase/test/util/async.clj b/test/metabase/test/util/async.clj
new file mode 100644
index 0000000000000000000000000000000000000000..c3d413d9a909b6854707b0d1f772f69f8a5778f7
--- /dev/null
+++ b/test/metabase/test/util/async.clj
@@ -0,0 +1,51 @@
+(ns metabase.test.util.async
+  (:require [clojure.core.async :as a])
+  (:import java.util.concurrent.TimeoutException))
+
+(defn wait-for-close
+  "Wait up to `timeout-ms` for `chan` to be closed, and returns `true` once it is; otherwise throws an Exception if
+  channel is not closed by the timeout or unexpectedly returns a result."
+  [chan timeout-ms]
+  (let [[result first-to-finish] (a/alts!! [chan (a/timeout timeout-ms)])]
+    (cond
+      (and (= result nil)
+           (= first-to-finish chan))
+      true
+
+      (= result nil)
+      (throw (TimeoutException. "Timed out."))
+
+      :else
+      (throw (ex-info "Waiting for channel to close, but got unexpected result"
+               {:result result})))))
+
+(defmacro with-open-channels
+  "Like `with-open`, but closes core.async channels at the conclusion of `body`."
+  [[binding chan & more] & body]
+  {:pre [binding chan]}
+  `(let [chan# ~chan
+         ~binding chan#]
+     (try
+       ~(if (seq more)
+          `(with-open-channels ~more ~@body)
+          `(do ~@body))
+       (finally
+         (a/close! chan#)))))
+
+
+(defmacro with-chans
+  "Create core.async channels and bind them; execute body, closing out the channels in a `finally` block. Useful for
+  writing tests where you don't want to accidentally leave things open if something goes wrong.
+
+    ;; Specifying definition is optional; defaults to `(a/chan 1)`
+    (with-chans [my-chan]
+
+    ;; specify multiple chans
+    (with-chans [chan-1 (a/chan 1)
+                 chan-2 (a/chan 100)]
+      ...) "
+  [[chan-binding chan & more] & body]
+  `(with-open-channels [~chan-binding ~(or chan `(a/chan 1))]
+     ~(if (seq more)
+        `(with-chans ~more ~@body)
+        `(do ~@body))))
diff --git a/test/metabase/test_setup.clj b/test/metabase/test_setup.clj
index e3fbc4a1c618db69125a20ff0026a6b38ee22fe3..ed47f29be45afdbc1bace2c24287cb9bc747fe9e 100644
--- a/test/metabase/test_setup.clj
+++ b/test/metabase/test_setup.clj
@@ -1,16 +1,13 @@
 (ns metabase.test-setup
   "Functions that run before + after unit tests (setup DB, start web server, load test data)."
-  (:require [clojure
-             [data :as data]
-             [set :as set]
-             [string :as str]]
-            [clojure.java.io :as io]
+  (:require [clojure.java.io :as io]
+            [clojure.string :as str]
             [clojure.tools.logging :as log]
-            [expectations :refer :all]
             [metabase
-             [core :as core]
              [db :as mdb]
+             [handler :as handler]
              [plugins :as plugins]
+             [server :as server]
              [task :as task]
              [util :as u]]
             [metabase.core.initialization-status :as init-status]
@@ -19,50 +16,6 @@
             [metabase.test.data.env :as tx.env]
             [yaml.core :as yaml]))
 
-;;; ---------------------------------------- Expectations Framework Settings -----------------------------------------
-
-;; ## EXPECTATIONS FORMATTING OVERRIDES
-
-;; These overrides the methods Expectations usually uses for printing failed tests.
-;; These are basically the same as the original implementations, but they colorize and pretty-print the
-;; output, which makes it an order of magnitude easier to read, especially for tests that compare a
-;; lot of data, like Query Processor or API tests.
-(defn- format-failure [e a str-e str-a]
-  {:type             :fail
-   :expected-message (when-let [in-e (first (data/diff e a))]
-                       (format "\nin expected, not actual:\n%s" (u/pprint-to-str 'green in-e)))
-   :actual-message   (when-let [in-a (first (data/diff a e))]
-                       (format "\nin actual, not expected:\n%s" (u/pprint-to-str 'red in-a)))
-   :raw              [str-e str-a]
-   :result           ["\nexpected:\n"
-                      (u/pprint-to-str 'green e)
-                      "\nwas:\n"
-                      (u/pprint-to-str 'red a)]})
-
-(defmethod compare-expr :expectations/maps [e a str-e str-a]
-  (let [[in-e in-a] (data/diff e a)]
-    (if (and (nil? in-e) (nil? in-a))
-      {:type :pass}
-      (format-failure e a str-e str-a))))
-
-(defmethod compare-expr :expectations/sets [e a str-e str-a]
-  (format-failure e a str-e str-a))
-
-(defmethod compare-expr :expectations/sequentials [e a str-e str-a]
-  (let [diff-fn (fn [e a] (seq (set/difference (set e) (set a))))]
-    (assoc (format-failure e a str-e str-a)
-           :message (cond
-                      (and (= (set e) (set a))
-                           (= (count e) (count a))
-                           (= (count e) (count (set a)))) "lists appear to contain the same items with different ordering"
-                      (and (= (set e) (set a))
-                           (< (count e) (count a)))       "some duplicate items in actual are not expected"
-                      (and (= (set e) (set a))
-                           (> (count e) (count a)))       "some duplicate items in expected are not actual"
-                      (< (count e) (count a))             "actual is larger than expected"
-                      (> (count e) (count a))             "expected is larger than actual"))))
-
-
 ;;; ------------------------------- Functions That Get Ran On Test Suite Start / Stop --------------------------------
 
 (defn- driver-plugin-manifest [driver]
@@ -99,7 +52,7 @@
   ;; We can shave about a second from unit test launch time by doing the various setup stages in on different threads
   ;; Start Jetty in the BG so if test setup fails we have an easier time debugging it -- it's trickier to debug things
   ;; on a BG thread
-  (let [start-jetty! (future (core/start-jetty!))]
+  (let [start-web-server! (future (server/start-web-server! handler/app))]
     (try
       (log/info (format "Setting up %s test DB and running migrations..." (name (mdb/db-type))))
       (mdb/setup-db! :auto-migrate true)
@@ -118,14 +71,15 @@
         (log/error (u/format-color 'red "Test setup failed: %s\n%s" e (u/pprint-to-str (vec (.getStackTrace e)))))
         (System/exit -1)))
 
-    @start-jetty!))
+    @start-web-server!))
 
 
 (defn test-teardown
   {:expectations-options :after-run}
   []
   (log/info "Shutting down Metabase unit test runner")
-  (core/stop-jetty!))
+  (server/stop-web-server!)
+  (shutdown-agents))
 
 (defn call-with-test-scaffolding
   "Runs `test-startup` and ensures `test-teardown` is always called. This function is useful for running a test (or test
diff --git a/test/metabase/util_test.clj b/test/metabase/util_test.clj
index 5a278d0aea3d19e0e3bef6fc28646f23408ab94c..d84afec808059a58d567c1795fa9d95b65c1bdf2 100644
--- a/test/metabase/util_test.clj
+++ b/test/metabase/util_test.clj
@@ -65,7 +65,7 @@
 (expect "cam_s_awesome_toucan_emporium" (slugify "Cam's awesome toucan emporium"))
 (expect "frequently_used_cards"         (slugify "Frequently-Used Cards"))
 ;; check that diactrics get removed
-(expect "cam_saul_s_toucannery"         (slugify "Cam Saül's Toucannery"))
+(expect "cam_saul_s_toucannery"         (slugify "Cam Saul's Toucannery"))
 (expect "toucans_dislike_pinatas___"    (slugify "toucans dislike piñatas :("))
 ;; check that non-ASCII characters get URL-encoded (so we can support non-Latin alphabet languages; see #3818)
 (expect "%E5%8B%87%E5%A3%AB"            (slugify "勇士")) ; go dubs