diff --git a/babel/messages.pot b/babel/messages.pot index 66280dee0a4c..d5c7a1be7dc8 100644 --- a/babel/messages.pot +++ b/babel/messages.pot @@ -1,14 +1,14 @@ -# Translations template for Caravel. +# Translations template for PROJECT. # Copyright (C) 2016 ORGANIZATION -# This file is distributed under the same license as the Caravel project. -# Maxime Beauchemin , 2016. +# This file is distributed under the same license as the PROJECT project. +# FIRST AUTHOR , 2016. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2016-05-02 00:21-0700\n" +"POT-Creation-Date: 2016-05-20 20:30-0700\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,87 +17,423 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.3.4\n" -#: caravel/models.py:564 +#: caravel/models.py:607 msgid "" "Datetime column not provided as part table configuration and is required " "by this type of chart" msgstr "" -#: caravel/models.py:1153 +#: caravel/models.py:1243 msgid "No data was returned." msgstr "" -#: caravel/views.py:116 +#: caravel/views.py:124 msgid "" "Whether to make this column available as a [Time Granularity] option, " "column has to be DATETIME or DATETIME-like" msgstr "" -#: caravel/views.py:215 +#: caravel/views.py:133 caravel/views.py:161 +msgid "Column" +msgstr "" + +#: caravel/views.py:134 caravel/views.py:194 caravel/views.py:223 +msgid "Verbose Name" +msgstr "" + +#: caravel/views.py:135 caravel/views.py:193 caravel/views.py:222 +#: caravel/views.py:400 caravel/views.py:535 +msgid "Description" +msgstr "" + +#: caravel/views.py:136 caravel/views.py:164 +msgid "Groupable" +msgstr "" + +#: caravel/views.py:137 caravel/views.py:165 +msgid "Filterable" +msgstr "" + +#: caravel/views.py:138 caravel/views.py:197 caravel/views.py:308 +#: caravel/views.py:406 +msgid "Table" +msgstr "" + +#: caravel/views.py:139 caravel/views.py:166 +msgid "Count Distinct" +msgstr "" + +#: caravel/views.py:140 caravel/views.py:167 +msgid "Sum" +msgstr "" + +#: caravel/views.py:141 caravel/views.py:168 +msgid "Min" +msgstr "" + +#: caravel/views.py:142 caravel/views.py:169 +msgid "Max" +msgstr "" + +#: caravel/views.py:143 +msgid "Expression" +msgstr "" + +#: caravel/views.py:144 +msgid "Is temporal" +msgstr "" + +#: caravel/views.py:162 caravel/views.py:195 caravel/views.py:224 +#: caravel/views.py:424 +msgid "Type" +msgstr "" + +#: caravel/views.py:163 caravel/views.py:399 +msgid "Datasource" +msgstr "" + +#: caravel/views.py:192 caravel/views.py:221 +msgid "Metric" +msgstr "" + +#: caravel/views.py:196 +msgid "SQL Expression" +msgstr "" + +#: caravel/views.py:225 caravel/views.py:503 +msgid "JSON" +msgstr "" + +#: caravel/views.py:226 +msgid "Druid Datasource" +msgstr "" + +#: caravel/views.py:257 caravel/views.py:310 +msgid "Database" +msgstr "" + +#: caravel/views.py:258 +msgid "SQL link" +msgstr "" + +#: caravel/views.py:259 caravel/views.py:397 caravel/views.py:459 +msgid "Creator" +msgstr "" + +#: caravel/views.py:260 caravel/views.py:311 +msgid "Last Changed" +msgstr "" + +#: caravel/views.py:261 +msgid "SQLAlchemy URI" +msgstr "" + +#: caravel/views.py:262 caravel/views.py:317 caravel/views.py:396 +#: caravel/views.py:541 +msgid "Cache Timeout" +msgstr "" + +#: caravel/views.py:263 +msgid "Extra" +msgstr "" + +#: caravel/views.py:279 msgid "Databases" msgstr "" -#: caravel/views.py:217 caravel/views.py:261 caravel/views.py:284 +#: caravel/views.py:281 caravel/views.py:337 caravel/views.py:369 msgid "Sources" msgstr "" -#: caravel/views.py:260 -msgid "Tables" +#: caravel/views.py:309 +msgid "Changed By" msgstr "" -#: caravel/views.py:282 -msgid "Druid Clusters" +#: caravel/views.py:312 +msgid "SQL Editor" msgstr "" -#: caravel/views.py:313 -msgid "Slices" +#: caravel/views.py:313 caravel/views.py:537 +msgid "Is Featured" +msgstr "" + +#: caravel/views.py:314 +msgid "Schema" +msgstr "" + +#: caravel/views.py:315 caravel/views.py:539 +msgid "Default Endpoint" +msgstr "" + +#: caravel/views.py:316 +msgid "Offset" +msgstr "" + +#: caravel/views.py:354 caravel/views.py:534 +msgid "Cluster" +msgstr "" + +#: caravel/views.py:355 +msgid "Coordinator Host" +msgstr "" + +#: caravel/views.py:356 +msgid "Coordinator Port" +msgstr "" + +#: caravel/views.py:357 +msgid "Coordinator Endpoint" +msgstr "" + +#: caravel/views.py:358 +msgid "Broker Host" +msgstr "" + +#: caravel/views.py:359 +msgid "Borker Port" +msgstr "" + +#: caravel/views.py:360 +msgid "Broker Endpoint" +msgstr "" + +#: caravel/views.py:398 caravel/views.py:479 +msgid "Dashboards" +msgstr "" + +#: caravel/views.py:401 +msgid "Last Modified" +msgstr "" + +#: caravel/views.py:402 caravel/views.py:458 +msgid "Owners" +msgstr "" + +#: caravel/views.py:403 +msgid "Parameters" +msgstr "" + +#: caravel/views.py:404 caravel/views.py:425 +msgid "Slice" +msgstr "" + +#: caravel/views.py:405 +msgid "Name" +msgstr "" + +#: caravel/views.py:407 caravel/views.py:426 +msgid "Visualization Type" msgstr "" -#: caravel/views.py:341 +#: caravel/views.py:441 msgid "" "This json object describes the positioning of the widgets in the " "dashboard. It is dynamically generated when adjusting the widgets size " "and positions by using drag & drop in the dashboard view" msgstr "" -#: caravel/views.py:346 +#: caravel/views.py:446 msgid "" "The css for individual dashboards can be altered here, or in the " "dashboard view where changes are immediately visible" msgstr "" -#: caravel/views.py:367 -msgid "Dashboards" +#: caravel/views.py:450 +msgid "To get a readable URL for your dashboard" +msgstr "" + +#: caravel/views.py:454 +msgid "Dashboard" +msgstr "" + +#: caravel/views.py:455 +msgid "Title" +msgstr "" + +#: caravel/views.py:456 +msgid "Slug" +msgstr "" + +#: caravel/views.py:457 +msgid "Slices" msgstr "" -#: caravel/views.py:392 +#: caravel/views.py:460 +msgid "Modified" +msgstr "" + +#: caravel/views.py:461 +msgid "Position JSON" +msgstr "" + +#: caravel/views.py:462 +msgid "CSS" +msgstr "" + +#: caravel/views.py:463 +msgid "JSON Metadata" +msgstr "" + +#: caravel/views.py:500 +msgid "User" +msgstr "" + +#: caravel/views.py:501 +msgid "Action" +msgstr "" + +#: caravel/views.py:502 +msgid "dttm" +msgstr "" + +#: caravel/views.py:509 msgid "Action Log" msgstr "" -#: caravel/views.py:393 +#: caravel/views.py:510 msgid "Security" msgstr "" -#: caravel/views.py:430 +#: caravel/views.py:527 +msgid "Timezone offset (in hours) for this datasource" +msgstr "" + +#: caravel/views.py:533 +msgid "Data Source" +msgstr "" + +#: caravel/views.py:536 +msgid "Owner" +msgstr "" + +#: caravel/views.py:538 +msgid "Is Hidden" +msgstr "" + +#: caravel/views.py:540 +msgid "Time Offset" +msgstr "" + +#: caravel/views.py:555 msgid "Druid Datasources" msgstr "" -#: caravel/views.py:514 +#: caravel/views.py:639 msgid "The datasource seems to have been deleted" msgstr "" -#: caravel/views.py:522 +#: caravel/views.py:647 msgid "You don't seem to have access to this datasource" msgstr "" -#: caravel/views.py:843 +#: caravel/views.py:970 msgid "This view requires the `all_datasource_access` permission" msgstr "" -#: caravel/views.py:954 +#: caravel/views.py:1081 msgid "CSS Templates" msgstr "" +#: caravel/viz.py:324 +msgid "Table View" +msgstr "" + +#: caravel/viz.py:385 +msgid "Pivot Table" +msgstr "" + +#: caravel/viz.py:447 +msgid "Markup" +msgstr "" + +#: caravel/viz.py:475 +msgid "Word Cloud" +msgstr "" + +#: caravel/viz.py:507 +msgid "Treemap" +msgstr "" + +#: caravel/viz.py:551 +msgid "Calender Heatmap" +msgstr "" + +#: caravel/viz.py:622 +msgid "Box Plot" +msgstr "" + +#: caravel/viz.py:729 +msgid "Bubble Chart" +msgstr "" + +#: caravel/viz.py:797 +msgid "Big Number with Trendline" +msgstr "" + +#: caravel/viz.py:847 +msgid "Big Number" +msgstr "" + +#: caravel/viz.py:893 +msgid "Time Series - Line Chart" +msgstr "" + +#: caravel/viz.py:1045 +msgid "Time Series - Bar Chart" +msgstr "" + +#: caravel/viz.py:1063 +msgid "Time Series - Percent Change" +msgstr "" + +#: caravel/viz.py:1071 +msgid "Time Series - Stacked" +msgstr "" + +#: caravel/viz.py:1090 +msgid "Distribution - NVD3 - Pie Chart" +msgstr "" + +#: caravel/viz.py:1126 +msgid "Distribution - Bar Chart" +msgstr "" + +#: caravel/viz.py:1206 +msgid "Sunburst" +msgstr "" + +#: caravel/viz.py:1272 +msgid "Sankey" +msgstr "" + +#: caravel/viz.py:1336 +msgid "Directed Force Layout" +msgstr "" + +#: caravel/viz.py:1378 +msgid "World Map" +msgstr "" + +#: caravel/viz.py:1452 +msgid "Filters" +msgstr "" + +#: caravel/viz.py:1500 +msgid "iFrame" +msgstr "" + +#: caravel/viz.py:1518 +msgid "Parallel Coordinates" +msgstr "" + +#: caravel/viz.py:1554 +msgid "Heatmap" +msgstr "" + +#: caravel/viz.py:1622 +msgid "Horizon Charts" +msgstr "" + #: caravel/templates/appbuilder/navbar_right.html:34 msgid "Profile" msgstr "" diff --git a/caravel/assets/images/druid_agg.png b/caravel/assets/images/druid_agg.png new file mode 100644 index 000000000000..2d14e1e580a4 Binary files /dev/null and b/caravel/assets/images/druid_agg.png differ diff --git a/caravel/translations/es/LC_MESSAGES/messages.mo b/caravel/translations/es/LC_MESSAGES/messages.mo new file mode 100644 index 000000000000..96bca730b584 Binary files /dev/null and b/caravel/translations/es/LC_MESSAGES/messages.mo differ diff --git a/caravel/translations/es/LC_MESSAGES/messages.po b/caravel/translations/es/LC_MESSAGES/messages.po index 60ee1034f49f..ccd7c5e9ef37 100644 --- a/caravel/translations/es/LC_MESSAGES/messages.po +++ b/caravel/translations/es/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2016-05-02 00:21-0700\n" +"POT-Creation-Date: 2016-05-20 20:30-0700\n" "PO-Revision-Date: 2016-05-02 08:49-0700\n" "Last-Translator: FULL NAME \n" "Language: es\n" @@ -18,87 +18,423 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.3.4\n" -#: caravel/models.py:564 +#: caravel/models.py:607 msgid "" "Datetime column not provided as part table configuration and is required " "by this type of chart" msgstr "" -#: caravel/models.py:1153 +#: caravel/models.py:1243 msgid "No data was returned." msgstr "" -#: caravel/views.py:116 +#: caravel/views.py:124 msgid "" "Whether to make this column available as a [Time Granularity] option, " "column has to be DATETIME or DATETIME-like" msgstr "" -#: caravel/views.py:215 +#: caravel/views.py:133 caravel/views.py:161 +msgid "Column" +msgstr "" + +#: caravel/views.py:134 caravel/views.py:194 caravel/views.py:223 +msgid "Verbose Name" +msgstr "" + +#: caravel/views.py:135 caravel/views.py:193 caravel/views.py:222 +#: caravel/views.py:400 caravel/views.py:535 +msgid "Description" +msgstr "" + +#: caravel/views.py:136 caravel/views.py:164 +msgid "Groupable" +msgstr "" + +#: caravel/views.py:137 caravel/views.py:165 +msgid "Filterable" +msgstr "" + +#: caravel/views.py:138 caravel/views.py:197 caravel/views.py:308 +#: caravel/views.py:406 +msgid "Table" +msgstr "" + +#: caravel/views.py:139 caravel/views.py:166 +msgid "Count Distinct" +msgstr "" + +#: caravel/views.py:140 caravel/views.py:167 +msgid "Sum" +msgstr "" + +#: caravel/views.py:141 caravel/views.py:168 +msgid "Min" +msgstr "" + +#: caravel/views.py:142 caravel/views.py:169 +msgid "Max" +msgstr "" + +#: caravel/views.py:143 +msgid "Expression" +msgstr "" + +#: caravel/views.py:144 +msgid "Is temporal" +msgstr "" + +#: caravel/views.py:162 caravel/views.py:195 caravel/views.py:224 +#: caravel/views.py:424 +msgid "Type" +msgstr "" + +#: caravel/views.py:163 caravel/views.py:399 +msgid "Datasource" +msgstr "" + +#: caravel/views.py:192 caravel/views.py:221 +msgid "Metric" +msgstr "" + +#: caravel/views.py:196 +msgid "SQL Expression" +msgstr "" + +#: caravel/views.py:225 caravel/views.py:503 +msgid "JSON" +msgstr "" + +#: caravel/views.py:226 +msgid "Druid Datasource" +msgstr "" + +#: caravel/views.py:257 caravel/views.py:310 +msgid "Database" +msgstr "" + +#: caravel/views.py:258 +msgid "SQL link" +msgstr "" + +#: caravel/views.py:259 caravel/views.py:397 caravel/views.py:459 +msgid "Creator" +msgstr "" + +#: caravel/views.py:260 caravel/views.py:311 +msgid "Last Changed" +msgstr "" + +#: caravel/views.py:261 +msgid "SQLAlchemy URI" +msgstr "" + +#: caravel/views.py:262 caravel/views.py:317 caravel/views.py:396 +#: caravel/views.py:541 +msgid "Cache Timeout" +msgstr "" + +#: caravel/views.py:263 +msgid "Extra" +msgstr "" + +#: caravel/views.py:279 msgid "Databases" msgstr "" -#: caravel/views.py:217 caravel/views.py:261 caravel/views.py:284 +#: caravel/views.py:281 caravel/views.py:337 caravel/views.py:369 msgid "Sources" msgstr "" -#: caravel/views.py:260 -msgid "Tables" +#: caravel/views.py:309 +msgid "Changed By" msgstr "" -#: caravel/views.py:282 -msgid "Druid Clusters" +#: caravel/views.py:312 +msgid "SQL Editor" msgstr "" -#: caravel/views.py:313 -msgid "Slices" +#: caravel/views.py:313 caravel/views.py:537 +msgid "Is Featured" +msgstr "" + +#: caravel/views.py:314 +msgid "Schema" +msgstr "" + +#: caravel/views.py:315 caravel/views.py:539 +msgid "Default Endpoint" +msgstr "" + +#: caravel/views.py:316 +msgid "Offset" +msgstr "" + +#: caravel/views.py:354 caravel/views.py:534 +msgid "Cluster" +msgstr "" + +#: caravel/views.py:355 +msgid "Coordinator Host" +msgstr "" + +#: caravel/views.py:356 +msgid "Coordinator Port" +msgstr "" + +#: caravel/views.py:357 +msgid "Coordinator Endpoint" +msgstr "" + +#: caravel/views.py:358 +msgid "Broker Host" +msgstr "" + +#: caravel/views.py:359 +msgid "Borker Port" +msgstr "" + +#: caravel/views.py:360 +msgid "Broker Endpoint" +msgstr "" + +#: caravel/views.py:398 caravel/views.py:479 +msgid "Dashboards" +msgstr "" + +#: caravel/views.py:401 +msgid "Last Modified" +msgstr "" + +#: caravel/views.py:402 caravel/views.py:458 +msgid "Owners" +msgstr "" + +#: caravel/views.py:403 +msgid "Parameters" +msgstr "" + +#: caravel/views.py:404 caravel/views.py:425 +msgid "Slice" +msgstr "" + +#: caravel/views.py:405 +msgid "Name" +msgstr "" + +#: caravel/views.py:407 caravel/views.py:426 +msgid "Visualization Type" msgstr "" -#: caravel/views.py:341 +#: caravel/views.py:441 msgid "" "This json object describes the positioning of the widgets in the " "dashboard. It is dynamically generated when adjusting the widgets size " "and positions by using drag & drop in the dashboard view" msgstr "" -#: caravel/views.py:346 +#: caravel/views.py:446 msgid "" "The css for individual dashboards can be altered here, or in the " "dashboard view where changes are immediately visible" msgstr "" -#: caravel/views.py:367 -msgid "Dashboards" +#: caravel/views.py:450 +msgid "To get a readable URL for your dashboard" +msgstr "" + +#: caravel/views.py:454 +msgid "Dashboard" +msgstr "" + +#: caravel/views.py:455 +msgid "Title" +msgstr "" + +#: caravel/views.py:456 +msgid "Slug" +msgstr "" + +#: caravel/views.py:457 +msgid "Slices" +msgstr "" + +#: caravel/views.py:460 +msgid "Modified" +msgstr "" + +#: caravel/views.py:461 +msgid "Position JSON" +msgstr "" + +#: caravel/views.py:462 +msgid "CSS" +msgstr "" + +#: caravel/views.py:463 +msgid "JSON Metadata" +msgstr "" + +#: caravel/views.py:500 +msgid "User" +msgstr "" + +#: caravel/views.py:501 +msgid "Action" msgstr "" -#: caravel/views.py:392 +#: caravel/views.py:502 +msgid "dttm" +msgstr "" + +#: caravel/views.py:509 msgid "Action Log" msgstr "" -#: caravel/views.py:393 +#: caravel/views.py:510 msgid "Security" msgstr "" -#: caravel/views.py:430 +#: caravel/views.py:527 +msgid "Timezone offset (in hours) for this datasource" +msgstr "" + +#: caravel/views.py:533 +msgid "Data Source" +msgstr "" + +#: caravel/views.py:536 +msgid "Owner" +msgstr "" + +#: caravel/views.py:538 +msgid "Is Hidden" +msgstr "" + +#: caravel/views.py:540 +msgid "Time Offset" +msgstr "" + +#: caravel/views.py:555 msgid "Druid Datasources" msgstr "" -#: caravel/views.py:514 +#: caravel/views.py:639 msgid "The datasource seems to have been deleted" msgstr "" -#: caravel/views.py:522 +#: caravel/views.py:647 msgid "You don't seem to have access to this datasource" msgstr "" -#: caravel/views.py:843 +#: caravel/views.py:970 msgid "This view requires the `all_datasource_access` permission" msgstr "" -#: caravel/views.py:954 +#: caravel/views.py:1081 msgid "CSS Templates" msgstr "" +#: caravel/viz.py:324 +msgid "Table View" +msgstr "" + +#: caravel/viz.py:385 +msgid "Pivot Table" +msgstr "" + +#: caravel/viz.py:447 +msgid "Markup" +msgstr "" + +#: caravel/viz.py:475 +msgid "Word Cloud" +msgstr "" + +#: caravel/viz.py:507 +msgid "Treemap" +msgstr "" + +#: caravel/viz.py:551 +msgid "Calender Heatmap" +msgstr "" + +#: caravel/viz.py:622 +msgid "Box Plot" +msgstr "" + +#: caravel/viz.py:729 +msgid "Bubble Chart" +msgstr "" + +#: caravel/viz.py:797 +msgid "Big Number with Trendline" +msgstr "" + +#: caravel/viz.py:847 +msgid "Big Number" +msgstr "" + +#: caravel/viz.py:893 +msgid "Time Series - Line Chart" +msgstr "" + +#: caravel/viz.py:1045 +msgid "Time Series - Bar Chart" +msgstr "" + +#: caravel/viz.py:1063 +msgid "Time Series - Percent Change" +msgstr "" + +#: caravel/viz.py:1071 +msgid "Time Series - Stacked" +msgstr "" + +#: caravel/viz.py:1090 +msgid "Distribution - NVD3 - Pie Chart" +msgstr "" + +#: caravel/viz.py:1126 +msgid "Distribution - Bar Chart" +msgstr "" + +#: caravel/viz.py:1206 +msgid "Sunburst" +msgstr "" + +#: caravel/viz.py:1272 +msgid "Sankey" +msgstr "" + +#: caravel/viz.py:1336 +msgid "Directed Force Layout" +msgstr "" + +#: caravel/viz.py:1378 +msgid "World Map" +msgstr "" + +#: caravel/viz.py:1452 +msgid "Filters" +msgstr "" + +#: caravel/viz.py:1500 +msgid "iFrame" +msgstr "" + +#: caravel/viz.py:1518 +msgid "Parallel Coordinates" +msgstr "" + +#: caravel/viz.py:1554 +msgid "Heatmap" +msgstr "" + +#: caravel/viz.py:1622 +msgid "Horizon Charts" +msgstr "" + #: caravel/templates/appbuilder/navbar_right.html:34 msgid "Profile" msgstr "" @@ -116,3 +452,9 @@ msgstr "" msgid "Welcome!" msgstr "" +#~ msgid "Tables" +#~ msgstr "" + +#~ msgid "Druid Clusters" +#~ msgstr "" + diff --git a/caravel/translations/fr/LC_MESSAGES/messages.mo b/caravel/translations/fr/LC_MESSAGES/messages.mo index 5a7c0e9bf19d..4fdcc9a62a1e 100644 Binary files a/caravel/translations/fr/LC_MESSAGES/messages.mo and b/caravel/translations/fr/LC_MESSAGES/messages.mo differ diff --git a/caravel/translations/fr/LC_MESSAGES/messages.po b/caravel/translations/fr/LC_MESSAGES/messages.po index 4fad2485ec85..f7556c9c1188 100644 --- a/caravel/translations/fr/LC_MESSAGES/messages.po +++ b/caravel/translations/fr/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2016-05-02 00:21-0700\n" +"POT-Creation-Date: 2016-05-20 20:30-0700\n" "PO-Revision-Date: 2016-05-01 23:07-0700\n" "Last-Translator: FULL NAME \n" "Language: fr\n" @@ -18,87 +18,423 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.3.4\n" -#: caravel/models.py:564 +#: caravel/models.py:607 msgid "" "Datetime column not provided as part table configuration and is required " "by this type of chart" msgstr "" -#: caravel/models.py:1153 +#: caravel/models.py:1243 msgid "No data was returned." msgstr "" -#: caravel/views.py:116 +#: caravel/views.py:124 msgid "" "Whether to make this column available as a [Time Granularity] option, " "column has to be DATETIME or DATETIME-like" msgstr "" -#: caravel/views.py:215 -msgid "Databases" +#: caravel/views.py:133 caravel/views.py:161 +msgid "Column" +msgstr "Colonne" + +#: caravel/views.py:134 caravel/views.py:194 caravel/views.py:223 +msgid "Verbose Name" +msgstr "Nom Complet" + +#: caravel/views.py:135 caravel/views.py:193 caravel/views.py:222 +#: caravel/views.py:400 caravel/views.py:535 +msgid "Description" +msgstr "" + +#: caravel/views.py:136 caravel/views.py:164 +msgid "Groupable" +msgstr "" + +#: caravel/views.py:137 caravel/views.py:165 +msgid "Filterable" +msgstr "Filtrable" + +#: caravel/views.py:138 caravel/views.py:197 caravel/views.py:308 +#: caravel/views.py:406 +msgid "Table" +msgstr "" + +#: caravel/views.py:139 caravel/views.py:166 +msgid "Count Distinct" +msgstr "" + +#: caravel/views.py:140 caravel/views.py:167 +msgid "Sum" +msgstr "Somme" + +#: caravel/views.py:141 caravel/views.py:168 +msgid "Min" +msgstr "" + +#: caravel/views.py:142 caravel/views.py:169 +msgid "Max" +msgstr "" + +#: caravel/views.py:143 +msgid "Expression" +msgstr "" + +#: caravel/views.py:144 +msgid "Is temporal" +msgstr "Est temporel" + +#: caravel/views.py:162 caravel/views.py:195 caravel/views.py:224 +#: caravel/views.py:424 +msgid "Type" +msgstr "" + +#: caravel/views.py:163 caravel/views.py:399 +msgid "Datasource" +msgstr "Source de données" + +#: caravel/views.py:192 caravel/views.py:221 +msgid "Metric" +msgstr "" + +#: caravel/views.py:196 +msgid "SQL Expression" +msgstr "" + +#: caravel/views.py:225 caravel/views.py:503 +msgid "JSON" +msgstr "" + +#: caravel/views.py:226 +msgid "Druid Datasource" +msgstr "Source de données Druid" + +#: caravel/views.py:257 caravel/views.py:310 +msgid "Database" +msgstr "Base de données" + +#: caravel/views.py:258 +msgid "SQL link" +msgstr "Lien SQL" + +#: caravel/views.py:259 caravel/views.py:397 caravel/views.py:459 +msgid "Creator" +msgstr "Createur" + +#: caravel/views.py:260 caravel/views.py:311 +msgid "Last Changed" +msgstr "Modifié" + +#: caravel/views.py:261 +msgid "SQLAlchemy URI" +msgstr "" + +#: caravel/views.py:262 caravel/views.py:317 caravel/views.py:396 +#: caravel/views.py:541 +msgid "Cache Timeout" +msgstr "" + +#: caravel/views.py:263 +msgid "Extra" msgstr "" -#: caravel/views.py:217 caravel/views.py:261 caravel/views.py:284 +#: caravel/views.py:279 +msgid "Databases" +msgstr "Base de Données" + +#: caravel/views.py:281 caravel/views.py:337 caravel/views.py:369 msgid "Sources" msgstr "" -#: caravel/views.py:260 -msgid "Tables" +#: caravel/views.py:309 +msgid "Changed By" msgstr "" -#: caravel/views.py:282 -msgid "Druid Clusters" +#: caravel/views.py:312 +msgid "SQL Editor" msgstr "" -#: caravel/views.py:313 -msgid "Slices" +#: caravel/views.py:313 caravel/views.py:537 +msgid "Is Featured" +msgstr "" + +#: caravel/views.py:314 +msgid "Schema" +msgstr "" + +#: caravel/views.py:315 caravel/views.py:539 +msgid "Default Endpoint" +msgstr "" + +#: caravel/views.py:316 +msgid "Offset" +msgstr "" + +#: caravel/views.py:354 caravel/views.py:534 +msgid "Cluster" +msgstr "" + +#: caravel/views.py:355 +msgid "Coordinator Host" +msgstr "" + +#: caravel/views.py:356 +msgid "Coordinator Port" +msgstr "" + +#: caravel/views.py:357 +msgid "Coordinator Endpoint" +msgstr "" + +#: caravel/views.py:358 +msgid "Broker Host" msgstr "" -#: caravel/views.py:341 +#: caravel/views.py:359 +msgid "Borker Port" +msgstr "" + +#: caravel/views.py:360 +msgid "Broker Endpoint" +msgstr "" + +#: caravel/views.py:398 caravel/views.py:479 +msgid "Dashboards" +msgstr "" + +#: caravel/views.py:401 +msgid "Last Modified" +msgstr "" + +#: caravel/views.py:402 caravel/views.py:458 +msgid "Owners" +msgstr "" + +#: caravel/views.py:403 +msgid "Parameters" +msgstr "" + +#: caravel/views.py:404 caravel/views.py:425 +msgid "Slice" +msgstr "Graphique" + +#: caravel/views.py:405 +msgid "Name" +msgstr "Nom" + +#: caravel/views.py:407 caravel/views.py:426 +msgid "Visualization Type" +msgstr "Type de visualization" + +#: caravel/views.py:441 msgid "" "This json object describes the positioning of the widgets in the " "dashboard. It is dynamically generated when adjusting the widgets size " "and positions by using drag & drop in the dashboard view" msgstr "" -#: caravel/views.py:346 +#: caravel/views.py:446 msgid "" "The css for individual dashboards can be altered here, or in the " "dashboard view where changes are immediately visible" msgstr "" -#: caravel/views.py:367 -msgid "Dashboards" +#: caravel/views.py:450 +msgid "To get a readable URL for your dashboard" msgstr "" -#: caravel/views.py:392 +#: caravel/views.py:454 +msgid "Dashboard" +msgstr "Tableau de Bord" + +#: caravel/views.py:455 +msgid "Title" +msgstr "Titre" + +#: caravel/views.py:456 +msgid "Slug" +msgstr "" + +#: caravel/views.py:457 +msgid "Slices" +msgstr "Graphiques" + +#: caravel/views.py:460 +msgid "Modified" +msgstr "Modifié" + +#: caravel/views.py:461 +msgid "Position JSON" +msgstr "" + +#: caravel/views.py:462 +msgid "CSS" +msgstr "" + +#: caravel/views.py:463 +msgid "JSON Metadata" +msgstr "" + +#: caravel/views.py:500 +msgid "User" +msgstr "Utilisateur" + +#: caravel/views.py:501 +msgid "Action" +msgstr "" + +#: caravel/views.py:502 +msgid "dttm" +msgstr "" + +#: caravel/views.py:509 msgid "Action Log" msgstr "" -#: caravel/views.py:393 +#: caravel/views.py:510 msgid "Security" msgstr "Securité" -#: caravel/views.py:430 -msgid "Druid Datasources" +#: caravel/views.py:527 +msgid "Timezone offset (in hours) for this datasource" msgstr "" -#: caravel/views.py:514 -msgid "The datasource seems to have been deleted" +#: caravel/views.py:533 +msgid "Data Source" +msgstr "Source de Données" + +#: caravel/views.py:536 +msgid "Owner" +msgstr "Propriétair" + +#: caravel/views.py:538 +msgid "Is Hidden" +msgstr "Caché" + +#: caravel/views.py:540 +msgid "Time Offset" msgstr "" -#: caravel/views.py:522 +#: caravel/views.py:555 +msgid "Druid Datasources" +msgstr "Source de données Druid" + +#: caravel/views.py:639 +msgid "The datasource seems to have been deleted" +msgstr "Cette source semble seche" + +#: caravel/views.py:647 msgid "You don't seem to have access to this datasource" -msgstr "" +msgstr "Vous n'avez pas acces a cette source de donnees" -#: caravel/views.py:843 +#: caravel/views.py:970 msgid "This view requires the `all_datasource_access` permission" msgstr "" -#: caravel/views.py:954 +#: caravel/views.py:1081 msgid "CSS Templates" msgstr "" +#: caravel/viz.py:324 +msgid "Table View" +msgstr "" + +#: caravel/viz.py:385 +msgid "Pivot Table" +msgstr "" + +#: caravel/viz.py:447 +msgid "Markup" +msgstr "" + +#: caravel/viz.py:475 +msgid "Word Cloud" +msgstr "Nuage de Mots" + +#: caravel/viz.py:507 +msgid "Treemap" +msgstr "" + +#: caravel/viz.py:551 +msgid "Calender Heatmap" +msgstr "" + +#: caravel/viz.py:622 +msgid "Box Plot" +msgstr "" + +#: caravel/viz.py:729 +msgid "Bubble Chart" +msgstr "Graphique en Bulles" + +#: caravel/viz.py:797 +msgid "Big Number with Trendline" +msgstr "" + +#: caravel/viz.py:847 +msgid "Big Number" +msgstr "Gros Chiffre" + +#: caravel/viz.py:893 +msgid "Time Series - Line Chart" +msgstr "" + +#: caravel/viz.py:1045 +msgid "Time Series - Bar Chart" +msgstr "" + +#: caravel/viz.py:1063 +msgid "Time Series - Percent Change" +msgstr "" + +#: caravel/viz.py:1071 +msgid "Time Series - Stacked" +msgstr "" + +#: caravel/viz.py:1090 +msgid "Distribution - NVD3 - Pie Chart" +msgstr "" + +#: caravel/viz.py:1126 +msgid "Distribution - Bar Chart" +msgstr "" + +#: caravel/viz.py:1206 +msgid "Sunburst" +msgstr "" + +#: caravel/viz.py:1272 +msgid "Sankey" +msgstr "" + +#: caravel/viz.py:1336 +msgid "Directed Force Layout" +msgstr "" + +#: caravel/viz.py:1378 +msgid "World Map" +msgstr "Carte du monde" + +#: caravel/viz.py:1452 +msgid "Filters" +msgstr "Filtres" + +#: caravel/viz.py:1500 +msgid "iFrame" +msgstr "" + +#: caravel/viz.py:1518 +msgid "Parallel Coordinates" +msgstr "" + +#: caravel/viz.py:1554 +msgid "Heatmap" +msgstr "" + +#: caravel/viz.py:1622 +msgid "Horizon Charts" +msgstr "" + #: caravel/templates/appbuilder/navbar_right.html:34 msgid "Profile" msgstr "" @@ -116,3 +452,9 @@ msgstr "" msgid "Welcome!" msgstr "Bienvenue!" +#~ msgid "Tables" +#~ msgstr "" + +#~ msgid "Druid Clusters" +#~ msgstr "" + diff --git a/caravel/translations/it/LC_MESSAGES/messages.mo b/caravel/translations/it/LC_MESSAGES/messages.mo index c17ff465d692..034d5c86e1d5 100644 Binary files a/caravel/translations/it/LC_MESSAGES/messages.mo and b/caravel/translations/it/LC_MESSAGES/messages.mo differ diff --git a/caravel/translations/it/LC_MESSAGES/messages.po b/caravel/translations/it/LC_MESSAGES/messages.po index fdb75dd62a6e..e329b6aff448 100644 --- a/caravel/translations/it/LC_MESSAGES/messages.po +++ b/caravel/translations/it/LC_MESSAGES/messages.po @@ -7,9 +7,10 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2016-05-02 00:21-0700\n" +"POT-Creation-Date: 2016-05-20 20:30-0700\n" "PO-Revision-Date: 2016-05-19 16:43+0200\n" -"Last-Translator: Riccardo Magliocchetti \n" +"Last-Translator: Riccardo Magliocchetti " +"\n" "Language: it\n" "Language-Team: it \n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" @@ -18,95 +19,432 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.3.4\n" -#: caravel/models.py:564 +#: caravel/models.py:607 msgid "" "Datetime column not provided as part table configuration and is required " "by this type of chart" msgstr "" -"La colonna di tipo datetime non è stata fornita nella configurazione della tabella " -"ma richiesta da questo tipo di grafico" +"La colonna di tipo datetime non è stata fornita nella configurazione " +"della tabella ma richiesta da questo tipo di grafico" -#: caravel/models.py:1153 +#: caravel/models.py:1243 msgid "No data was returned." msgstr "Nessun dato disponibile." -#: caravel/views.py:116 +#: caravel/views.py:124 msgid "" "Whether to make this column available as a [Time Granularity] option, " "column has to be DATETIME or DATETIME-like" -msgstr "Rendi questa colonna disponibile come una opzione [Time Granularity]," -" la colonna deve essere DATATIME o DATETIME-like" +msgstr "" +"Rendi questa colonna disponibile come una opzione [Time Granularity], la " +"colonna deve essere DATATIME o DATETIME-like" + +#: caravel/views.py:133 caravel/views.py:161 +msgid "Column" +msgstr "" + +#: caravel/views.py:134 caravel/views.py:194 caravel/views.py:223 +msgid "Verbose Name" +msgstr "" + +#: caravel/views.py:135 caravel/views.py:193 caravel/views.py:222 +#: caravel/views.py:400 caravel/views.py:535 +msgid "Description" +msgstr "" + +#: caravel/views.py:136 caravel/views.py:164 +msgid "Groupable" +msgstr "" + +#: caravel/views.py:137 caravel/views.py:165 +msgid "Filterable" +msgstr "" + +#: caravel/views.py:138 caravel/views.py:197 caravel/views.py:308 +#: caravel/views.py:406 +msgid "Table" +msgstr "" + +#: caravel/views.py:139 caravel/views.py:166 +msgid "Count Distinct" +msgstr "" + +#: caravel/views.py:140 caravel/views.py:167 +msgid "Sum" +msgstr "" + +#: caravel/views.py:141 caravel/views.py:168 +msgid "Min" +msgstr "" + +#: caravel/views.py:142 caravel/views.py:169 +msgid "Max" +msgstr "" + +#: caravel/views.py:143 +msgid "Expression" +msgstr "" + +#: caravel/views.py:144 +msgid "Is temporal" +msgstr "" + +#: caravel/views.py:162 caravel/views.py:195 caravel/views.py:224 +#: caravel/views.py:424 +msgid "Type" +msgstr "" + +#: caravel/views.py:163 caravel/views.py:399 +msgid "Datasource" +msgstr "" + +#: caravel/views.py:192 caravel/views.py:221 +msgid "Metric" +msgstr "" + +#: caravel/views.py:196 +msgid "SQL Expression" +msgstr "" + +#: caravel/views.py:225 caravel/views.py:503 +msgid "JSON" +msgstr "" + +#: caravel/views.py:226 +msgid "Druid Datasource" +msgstr "" + +#: caravel/views.py:257 caravel/views.py:310 +msgid "Database" +msgstr "" + +#: caravel/views.py:258 +msgid "SQL link" +msgstr "" + +#: caravel/views.py:259 caravel/views.py:397 caravel/views.py:459 +msgid "Creator" +msgstr "" + +#: caravel/views.py:260 caravel/views.py:311 +msgid "Last Changed" +msgstr "" -#: caravel/views.py:215 +#: caravel/views.py:261 +msgid "SQLAlchemy URI" +msgstr "" + +#: caravel/views.py:262 caravel/views.py:317 caravel/views.py:396 +#: caravel/views.py:541 +msgid "Cache Timeout" +msgstr "" + +#: caravel/views.py:263 +msgid "Extra" +msgstr "" + +#: caravel/views.py:279 msgid "Databases" msgstr "Database" -#: caravel/views.py:217 caravel/views.py:261 caravel/views.py:284 +#: caravel/views.py:281 caravel/views.py:337 caravel/views.py:369 msgid "Sources" msgstr "Sorgenti" -#: caravel/views.py:260 -msgid "Tables" -msgstr "Tabelle" +#: caravel/views.py:309 +msgid "Changed By" +msgstr "" -#: caravel/views.py:282 -msgid "Druid Clusters" -msgstr "Cluster Druid" +#: caravel/views.py:312 +msgid "SQL Editor" +msgstr "" -#: caravel/views.py:313 -msgid "Slices" -msgstr "Slice" +#: caravel/views.py:313 caravel/views.py:537 +msgid "Is Featured" +msgstr "" + +#: caravel/views.py:314 +msgid "Schema" +msgstr "" + +#: caravel/views.py:315 caravel/views.py:539 +msgid "Default Endpoint" +msgstr "" + +#: caravel/views.py:316 +msgid "Offset" +msgstr "" + +#: caravel/views.py:354 caravel/views.py:534 +msgid "Cluster" +msgstr "" + +#: caravel/views.py:355 +msgid "Coordinator Host" +msgstr "" + +#: caravel/views.py:356 +msgid "Coordinator Port" +msgstr "" -#: caravel/views.py:341 +#: caravel/views.py:357 +msgid "Coordinator Endpoint" +msgstr "" + +#: caravel/views.py:358 +msgid "Broker Host" +msgstr "" + +#: caravel/views.py:359 +msgid "Borker Port" +msgstr "" + +#: caravel/views.py:360 +msgid "Broker Endpoint" +msgstr "" + +#: caravel/views.py:398 caravel/views.py:479 +msgid "Dashboards" +msgstr "Dashboard" + +#: caravel/views.py:401 +msgid "Last Modified" +msgstr "" + +#: caravel/views.py:402 caravel/views.py:458 +msgid "Owners" +msgstr "" + +#: caravel/views.py:403 +msgid "Parameters" +msgstr "" + +#: caravel/views.py:404 caravel/views.py:425 +msgid "Slice" +msgstr "" + +#: caravel/views.py:405 +msgid "Name" +msgstr "" + +#: caravel/views.py:407 caravel/views.py:426 +msgid "Visualization Type" +msgstr "" + +#: caravel/views.py:441 msgid "" "This json object describes the positioning of the widgets in the " "dashboard. It is dynamically generated when adjusting the widgets size " "and positions by using drag & drop in the dashboard view" msgstr "" -"Questo oggetto json descrive il posizionamento dei widget nella dashboard." -"E` generata dinamicamente quando vengono cambiate la dimensioni dei widget o la" -"posizione tramite il drag&drop nella vista dashboard." +"Questo oggetto json descrive il posizionamento dei widget nella " +"dashboard.E` generata dinamicamente quando vengono cambiate la dimensioni" +" dei widget o laposizione tramite il drag&drop nella vista dashboard." -#: caravel/views.py:346 +#: caravel/views.py:446 msgid "" "The css for individual dashboards can be altered here, or in the " "dashboard view where changes are immediately visible" msgstr "" -"Il css per ogni dashboard può essere modificato qui o nella vista -"dashboard dove i cambiamenti sono visibili immediatamente" +"Il css per ogni dashboard può essere modificato qui o nella vistdashboard" +" dove i cambiamenti sono visibili immediatamente" -#: caravel/views.py:367 -msgid "Dashboards" -msgstr "Dashboard" +#: caravel/views.py:450 +msgid "To get a readable URL for your dashboard" +msgstr "" + +#: caravel/views.py:454 +msgid "Dashboard" +msgstr "" + +#: caravel/views.py:455 +msgid "Title" +msgstr "" + +#: caravel/views.py:456 +msgid "Slug" +msgstr "" + +#: caravel/views.py:457 +msgid "Slices" +msgstr "Slice" + +#: caravel/views.py:460 +msgid "Modified" +msgstr "" + +#: caravel/views.py:461 +msgid "Position JSON" +msgstr "" + +#: caravel/views.py:462 +msgid "CSS" +msgstr "" + +#: caravel/views.py:463 +msgid "JSON Metadata" +msgstr "" + +#: caravel/views.py:500 +msgid "User" +msgstr "" -#: caravel/views.py:392 +#: caravel/views.py:501 +msgid "Action" +msgstr "" + +#: caravel/views.py:502 +msgid "dttm" +msgstr "" + +#: caravel/views.py:509 msgid "Action Log" msgstr "Log delle azioni" -#: caravel/views.py:393 +#: caravel/views.py:510 msgid "Security" msgstr "Sicurezza" -#: caravel/views.py:430 +#: caravel/views.py:527 +msgid "Timezone offset (in hours) for this datasource" +msgstr "" + +#: caravel/views.py:533 +msgid "Data Source" +msgstr "" + +#: caravel/views.py:536 +msgid "Owner" +msgstr "" + +#: caravel/views.py:538 +msgid "Is Hidden" +msgstr "" + +#: caravel/views.py:540 +msgid "Time Offset" +msgstr "" + +#: caravel/views.py:555 msgid "Druid Datasources" msgstr "Datasource Druid" -#: caravel/views.py:514 +#: caravel/views.py:639 msgid "The datasource seems to have been deleted" msgstr "Sembra che il datasource sia stato eliminato" -#: caravel/views.py:522 +#: caravel/views.py:647 msgid "You don't seem to have access to this datasource" msgstr "Non hai i permessi per accedere a questo datasource" -#: caravel/views.py:843 +#: caravel/views.py:970 msgid "This view requires the `all_datasource_access` permission" msgstr "Questa vista richiede il permesso `all_datasource_access`" -#: caravel/views.py:954 +#: caravel/views.py:1081 msgid "CSS Templates" msgstr "Template CSS" +#: caravel/viz.py:324 +msgid "Table View" +msgstr "" + +#: caravel/viz.py:385 +msgid "Pivot Table" +msgstr "" + +#: caravel/viz.py:447 +msgid "Markup" +msgstr "" + +#: caravel/viz.py:475 +msgid "Word Cloud" +msgstr "" + +#: caravel/viz.py:507 +msgid "Treemap" +msgstr "" + +#: caravel/viz.py:551 +msgid "Calender Heatmap" +msgstr "" + +#: caravel/viz.py:622 +msgid "Box Plot" +msgstr "" + +#: caravel/viz.py:729 +msgid "Bubble Chart" +msgstr "" + +#: caravel/viz.py:797 +msgid "Big Number with Trendline" +msgstr "" + +#: caravel/viz.py:847 +msgid "Big Number" +msgstr "" + +#: caravel/viz.py:893 +msgid "Time Series - Line Chart" +msgstr "" + +#: caravel/viz.py:1045 +msgid "Time Series - Bar Chart" +msgstr "" + +#: caravel/viz.py:1063 +msgid "Time Series - Percent Change" +msgstr "" + +#: caravel/viz.py:1071 +msgid "Time Series - Stacked" +msgstr "" + +#: caravel/viz.py:1090 +msgid "Distribution - NVD3 - Pie Chart" +msgstr "" + +#: caravel/viz.py:1126 +msgid "Distribution - Bar Chart" +msgstr "" + +#: caravel/viz.py:1206 +msgid "Sunburst" +msgstr "" + +#: caravel/viz.py:1272 +msgid "Sankey" +msgstr "" + +#: caravel/viz.py:1336 +msgid "Directed Force Layout" +msgstr "" + +#: caravel/viz.py:1378 +msgid "World Map" +msgstr "" + +#: caravel/viz.py:1452 +msgid "Filters" +msgstr "" + +#: caravel/viz.py:1500 +msgid "iFrame" +msgstr "" + +#: caravel/viz.py:1518 +msgid "Parallel Coordinates" +msgstr "" + +#: caravel/viz.py:1554 +msgid "Heatmap" +msgstr "" + +#: caravel/viz.py:1622 +msgid "Horizon Charts" +msgstr "" + #: caravel/templates/appbuilder/navbar_right.html:34 msgid "Profile" msgstr "Profilo" @@ -124,3 +462,9 @@ msgstr "Login" msgid "Welcome!" msgstr "Benvenuto!" +#~ msgid "Tables" +#~ msgstr "Tabelle" + +#~ msgid "Druid Clusters" +#~ msgstr "Cluster Druid" + diff --git a/caravel/translations/zh/LC_MESSAGES/messages.mo b/caravel/translations/zh/LC_MESSAGES/messages.mo index 397a1eee9f85..c0d8b095ba6a 100644 Binary files a/caravel/translations/zh/LC_MESSAGES/messages.mo and b/caravel/translations/zh/LC_MESSAGES/messages.mo differ diff --git a/caravel/translations/zh/LC_MESSAGES/messages.po b/caravel/translations/zh/LC_MESSAGES/messages.po index 3a9bdece3621..e351b93cc626 100644 --- a/caravel/translations/zh/LC_MESSAGES/messages.po +++ b/caravel/translations/zh/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2016-05-02 00:21-0700\n" +"POT-Creation-Date: 2016-05-20 20:30-0700\n" "PO-Revision-Date: 2016-05-01 23:07-0700\n" "Last-Translator: FULL NAME \n" "Language: zh\n" @@ -18,87 +18,423 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.3.4\n" -#: caravel/models.py:564 +#: caravel/models.py:607 msgid "" "Datetime column not provided as part table configuration and is required " "by this type of chart" msgstr "所选表格需要日期时间但在表格配置文件中没有被提供" -#: caravel/models.py:1153 +#: caravel/models.py:1243 msgid "No data was returned." msgstr "所选数据为空" -#: caravel/views.py:116 +#: caravel/views.py:124 msgid "" "Whether to make this column available as a [Time Granularity] option, " "column has to be DATETIME or DATETIME-like" msgstr "" -#: caravel/views.py:215 +#: caravel/views.py:133 caravel/views.py:161 +msgid "Column" +msgstr "" + +#: caravel/views.py:134 caravel/views.py:194 caravel/views.py:223 +msgid "Verbose Name" +msgstr "" + +#: caravel/views.py:135 caravel/views.py:193 caravel/views.py:222 +#: caravel/views.py:400 caravel/views.py:535 +msgid "Description" +msgstr "" + +#: caravel/views.py:136 caravel/views.py:164 +msgid "Groupable" +msgstr "" + +#: caravel/views.py:137 caravel/views.py:165 +msgid "Filterable" +msgstr "" + +#: caravel/views.py:138 caravel/views.py:197 caravel/views.py:308 +#: caravel/views.py:406 +msgid "Table" +msgstr "" + +#: caravel/views.py:139 caravel/views.py:166 +msgid "Count Distinct" +msgstr "" + +#: caravel/views.py:140 caravel/views.py:167 +msgid "Sum" +msgstr "" + +#: caravel/views.py:141 caravel/views.py:168 +msgid "Min" +msgstr "" + +#: caravel/views.py:142 caravel/views.py:169 +msgid "Max" +msgstr "" + +#: caravel/views.py:143 +msgid "Expression" +msgstr "" + +#: caravel/views.py:144 +msgid "Is temporal" +msgstr "" + +#: caravel/views.py:162 caravel/views.py:195 caravel/views.py:224 +#: caravel/views.py:424 +msgid "Type" +msgstr "" + +#: caravel/views.py:163 caravel/views.py:399 +msgid "Datasource" +msgstr "" + +#: caravel/views.py:192 caravel/views.py:221 +msgid "Metric" +msgstr "" + +#: caravel/views.py:196 +msgid "SQL Expression" +msgstr "" + +#: caravel/views.py:225 caravel/views.py:503 +msgid "JSON" +msgstr "" + +#: caravel/views.py:226 +msgid "Druid Datasource" +msgstr "" + +#: caravel/views.py:257 caravel/views.py:310 +msgid "Database" +msgstr "" + +#: caravel/views.py:258 +msgid "SQL link" +msgstr "" + +#: caravel/views.py:259 caravel/views.py:397 caravel/views.py:459 +msgid "Creator" +msgstr "" + +#: caravel/views.py:260 caravel/views.py:311 +msgid "Last Changed" +msgstr "" + +#: caravel/views.py:261 +msgid "SQLAlchemy URI" +msgstr "" + +#: caravel/views.py:262 caravel/views.py:317 caravel/views.py:396 +#: caravel/views.py:541 +msgid "Cache Timeout" +msgstr "" + +#: caravel/views.py:263 +msgid "Extra" +msgstr "" + +#: caravel/views.py:279 msgid "Databases" msgstr "数据库" -#: caravel/views.py:217 caravel/views.py:261 caravel/views.py:284 +#: caravel/views.py:281 caravel/views.py:337 caravel/views.py:369 msgid "Sources" msgstr "源" -#: caravel/views.py:260 -msgid "Tables" -msgstr "表格" +#: caravel/views.py:309 +msgid "Changed By" +msgstr "" + +#: caravel/views.py:312 +msgid "SQL Editor" +msgstr "" -#: caravel/views.py:282 -msgid "Druid Clusters" -msgstr "Druid簇" +#: caravel/views.py:313 caravel/views.py:537 +msgid "Is Featured" +msgstr "" -#: caravel/views.py:313 -msgid "Slices" -msgstr "切片" +#: caravel/views.py:314 +msgid "Schema" +msgstr "" + +#: caravel/views.py:315 caravel/views.py:539 +msgid "Default Endpoint" +msgstr "" + +#: caravel/views.py:316 +msgid "Offset" +msgstr "" + +#: caravel/views.py:354 caravel/views.py:534 +msgid "Cluster" +msgstr "" + +#: caravel/views.py:355 +msgid "Coordinator Host" +msgstr "" + +#: caravel/views.py:356 +msgid "Coordinator Port" +msgstr "" + +#: caravel/views.py:357 +msgid "Coordinator Endpoint" +msgstr "" + +#: caravel/views.py:358 +msgid "Broker Host" +msgstr "" + +#: caravel/views.py:359 +msgid "Borker Port" +msgstr "" + +#: caravel/views.py:360 +msgid "Broker Endpoint" +msgstr "" + +#: caravel/views.py:398 caravel/views.py:479 +msgid "Dashboards" +msgstr "仪表盘" + +#: caravel/views.py:401 +msgid "Last Modified" +msgstr "" + +#: caravel/views.py:402 caravel/views.py:458 +msgid "Owners" +msgstr "" + +#: caravel/views.py:403 +msgid "Parameters" +msgstr "" + +#: caravel/views.py:404 caravel/views.py:425 +msgid "Slice" +msgstr "" + +#: caravel/views.py:405 +msgid "Name" +msgstr "" + +#: caravel/views.py:407 caravel/views.py:426 +msgid "Visualization Type" +msgstr "" -#: caravel/views.py:341 +#: caravel/views.py:441 msgid "" "This json object describes the positioning of the widgets in the " "dashboard. It is dynamically generated when adjusting the widgets size " "and positions by using drag & drop in the dashboard view" msgstr "" -#: caravel/views.py:346 +#: caravel/views.py:446 msgid "" "The css for individual dashboards can be altered here, or in the " "dashboard view where changes are immediately visible" msgstr "" -#: caravel/views.py:367 -msgid "Dashboards" -msgstr "仪表盘" +#: caravel/views.py:450 +msgid "To get a readable URL for your dashboard" +msgstr "" + +#: caravel/views.py:454 +msgid "Dashboard" +msgstr "" + +#: caravel/views.py:455 +msgid "Title" +msgstr "" + +#: caravel/views.py:456 +msgid "Slug" +msgstr "" + +#: caravel/views.py:457 +msgid "Slices" +msgstr "切片" -#: caravel/views.py:392 +#: caravel/views.py:460 +msgid "Modified" +msgstr "" + +#: caravel/views.py:461 +msgid "Position JSON" +msgstr "" + +#: caravel/views.py:462 +msgid "CSS" +msgstr "" + +#: caravel/views.py:463 +msgid "JSON Metadata" +msgstr "" + +#: caravel/views.py:500 +msgid "User" +msgstr "" + +#: caravel/views.py:501 +msgid "Action" +msgstr "" + +#: caravel/views.py:502 +msgid "dttm" +msgstr "" + +#: caravel/views.py:509 msgid "Action Log" msgstr "行动记录" -#: caravel/views.py:393 +#: caravel/views.py:510 msgid "Security" msgstr "权限" -#: caravel/views.py:430 +#: caravel/views.py:527 +msgid "Timezone offset (in hours) for this datasource" +msgstr "" + +#: caravel/views.py:533 +msgid "Data Source" +msgstr "" + +#: caravel/views.py:536 +msgid "Owner" +msgstr "" + +#: caravel/views.py:538 +msgid "Is Hidden" +msgstr "" + +#: caravel/views.py:540 +msgid "Time Offset" +msgstr "" + +#: caravel/views.py:555 msgid "Druid Datasources" msgstr "Druid数据源" -#: caravel/views.py:514 +#: caravel/views.py:639 msgid "The datasource seems to have been deleted" msgstr "此数据源好像已被删除" -#: caravel/views.py:522 +#: caravel/views.py:647 msgid "You don't seem to have access to this datasource" msgstr "看来您不能读取此数据源" -#: caravel/views.py:843 +#: caravel/views.py:970 msgid "This view requires the `all_datasource_access` permission" msgstr "此视图需要`all_datasource_access`权限" -#: caravel/views.py:954 +#: caravel/views.py:1081 msgid "CSS Templates" msgstr "CSS模板" +#: caravel/viz.py:324 +msgid "Table View" +msgstr "" + +#: caravel/viz.py:385 +msgid "Pivot Table" +msgstr "" + +#: caravel/viz.py:447 +msgid "Markup" +msgstr "" + +#: caravel/viz.py:475 +msgid "Word Cloud" +msgstr "" + +#: caravel/viz.py:507 +msgid "Treemap" +msgstr "" + +#: caravel/viz.py:551 +msgid "Calender Heatmap" +msgstr "" + +#: caravel/viz.py:622 +msgid "Box Plot" +msgstr "" + +#: caravel/viz.py:729 +msgid "Bubble Chart" +msgstr "" + +#: caravel/viz.py:797 +msgid "Big Number with Trendline" +msgstr "" + +#: caravel/viz.py:847 +msgid "Big Number" +msgstr "" + +#: caravel/viz.py:893 +msgid "Time Series - Line Chart" +msgstr "" + +#: caravel/viz.py:1045 +msgid "Time Series - Bar Chart" +msgstr "" + +#: caravel/viz.py:1063 +msgid "Time Series - Percent Change" +msgstr "" + +#: caravel/viz.py:1071 +msgid "Time Series - Stacked" +msgstr "" + +#: caravel/viz.py:1090 +msgid "Distribution - NVD3 - Pie Chart" +msgstr "" + +#: caravel/viz.py:1126 +msgid "Distribution - Bar Chart" +msgstr "" + +#: caravel/viz.py:1206 +msgid "Sunburst" +msgstr "" + +#: caravel/viz.py:1272 +msgid "Sankey" +msgstr "" + +#: caravel/viz.py:1336 +msgid "Directed Force Layout" +msgstr "" + +#: caravel/viz.py:1378 +msgid "World Map" +msgstr "" + +#: caravel/viz.py:1452 +msgid "Filters" +msgstr "" + +#: caravel/viz.py:1500 +msgid "iFrame" +msgstr "" + +#: caravel/viz.py:1518 +msgid "Parallel Coordinates" +msgstr "" + +#: caravel/viz.py:1554 +msgid "Heatmap" +msgstr "" + +#: caravel/viz.py:1622 +msgid "Horizon Charts" +msgstr "" + #: caravel/templates/appbuilder/navbar_right.html:34 msgid "Profile" msgstr "个人资料" @@ -115,3 +451,10 @@ msgstr "登录" #: caravel/templates/caravel/welcome.html:13 msgid "Welcome!" msgstr "欢迎" + +#~ msgid "Tables" +#~ msgstr "表格" + +#~ msgid "Druid Clusters" +#~ msgstr "Druid簇" + diff --git a/caravel/views.py b/caravel/views.py index f451695ba3ea..749282cbfd96 100644 --- a/caravel/views.py +++ b/caravel/views.py @@ -20,7 +20,8 @@ from flask.ext.appbuilder.actions import action from flask.ext.appbuilder.models.sqla.interface import SQLAInterface from flask.ext.appbuilder.security.decorators import has_access -from flask.ext.babelpkg import gettext as _ +from flask.ext.babelpkg import gettext as __ +from flask.ext.babelpkg import lazy_gettext as _ from flask_appbuilder.models.sqla.filters import BaseFilter from pydruid.client import doublesum @@ -128,6 +129,20 @@ class TableColumnInlineView(CompactCRUDMixin, CaravelModelView): # noqa "a valid SQL expression as supported by the underlying backend. " "Example: `substr(name, 1, 1)`", True), } + label_columns = { + 'column_name': _("Column"), + 'verbose_name': _("Verbose Name"), + 'description': _("Description"), + 'groupby': _("Groupable"), + 'filterable': _("Filterable"), + 'table': _("Table"), + 'count_distinct': _("Count Distinct"), + 'sum': _("Sum"), + 'min': _("Min"), + 'max': _("Max"), + 'expression': _("Expression"), + 'is_dttm': _("Is temporal"), + } appbuilder.add_view_no_menu(TableColumnInlineView) @@ -142,6 +157,17 @@ class DruidColumnInlineView(CompactCRUDMixin, CaravelModelView): # noqa 'sum', 'min', 'max'] can_delete = False page_size = 500 + label_columns = { + 'column_name': _("Column"), + 'type': _("Type"), + 'datasource': _("Datasource"), + 'groupby': _("Groupable"), + 'filterable': _("Filterable"), + 'count_distinct': _("Count Distinct"), + 'sum': _("Sum"), + 'min': _("Min"), + 'max': _("Max"), + } def post_update(self, col): col.generate_metrics() @@ -162,6 +188,14 @@ class SqlMetricInlineView(CompactCRUDMixin, CaravelModelView): # noqa } add_columns = edit_columns page_size = 500 + label_columns = { + 'metric_name': _("Metric"), + 'description': _("Description"), + 'verbose_name': _("Verbose Name"), + 'metric_type': _("Type"), + 'expression': _("SQL Expression"), + 'table': _("Table"), + } appbuilder.add_view_no_menu(SqlMetricInlineView) @@ -183,6 +217,14 @@ class DruidMetricInlineView(CompactCRUDMixin, CaravelModelView): # noqa "(http://druid.io/docs/latest/querying/post-aggregations.html)", True), } + label_columns = { + 'metric_name': _("Metric"), + 'description': _("Description"), + 'verbose_name': _("Verbose Name"), + 'metric_type': _("Type"), + 'json': _("JSON"), + 'datasource': _("Druid Datasource"), + } appbuilder.add_view_no_menu(DruidMetricInlineView) @@ -211,6 +253,15 @@ class DatabaseView(CaravelModelView, DeleteMixin): # noqa "(http://docs.sqlalchemy.org/en/rel_1_0/core/metadata.html" "#sqlalchemy.schema.MetaData) call. ", True), } + label_columns = { + 'database_name': _("Database"), + 'sql_link': _("SQL link"), + 'creator': _("Creator"), + 'changed_on_': _("Last Changed"), + 'sqlalchemy_uri': _("SQLAlchemy URI"), + 'cache_timeout': _("Cache Timeout"), + 'extra': _("Extra"), + } def pre_add(self, db): conn = sqla.engine.url.make_url(db.sqlalchemy_uri) @@ -253,6 +304,18 @@ class TableModelView(CaravelModelView, DeleteMixin): # noqa "Supports " "markdown"), } + label_columns = { + 'table_link': _("Table"), + 'changed_by_': _("Changed By"), + 'database': _("Database"), + 'changed_on_': _("Last Changed"), + 'sql_link': _("SQL Editor"), + 'is_featured': _("Is Featured"), + 'schema': _("Schema"), + 'default_endpoint': _("Default Endpoint"), + 'offset': _("Offset"), + 'cache_timeout': _("Cache Timeout"), + } def post_add(self, table): try: @@ -270,7 +333,7 @@ def post_update(self, table): appbuilder.add_view( TableModelView, - _("Tables"), + __("Tables"), category=_("Sources"), icon='fa-table',) @@ -287,12 +350,21 @@ class DruidClusterModelView(CaravelModelView, DeleteMixin): # noqa ] edit_columns = add_columns list_columns = ['cluster_name', 'metadata_last_refreshed'] + label_columns = { + 'cluster_name': _("Cluster"), + 'coordinator_host': _("Coordinator Host"), + 'coordinator_port': _("Coordinator Port"), + 'coordinator_endpoint': _("Coordinator Endpoint"), + 'broker_host': _("Broker Host"), + 'broker_port': _("Borker Port"), + 'broker_endpoint': _("Broker Endpoint"), + } if config['DRUID_IS_ACTIVE']: appbuilder.add_view( DruidClusterModelView, - _("Druid Clusters"), + __("Druid Clusters"), icon="fa-cubes", category=_("Sources"), category_icon='fa-database',) @@ -320,10 +392,24 @@ class SliceModelView(CaravelModelView, DeleteMixin): # noqa "markdown"), } base_filters = [['id', FilterSlice, lambda: []]] + label_columns = { + 'cache_timeout': _("Cache Timeout"), + 'creator': _("Creator"), + 'dashboards': _("Dashboards"), + 'datasource_link': _("Datasource"), + 'description': _("Description"), + 'modified': _("Last Modified"), + 'owners': _("Owners"), + 'params': _("Parameters"), + 'slice_link': _("Slice"), + 'slice_name': _("Name"), + 'table': _("Table"), + 'viz_type': _("Visualization Type"), + } appbuilder.add_view( SliceModelView, - _("Slices"), + __("Slices"), icon="fa-bar-chart", category="", category_icon='',) @@ -335,8 +421,9 @@ class SliceAsync(SliceModelView): # noqa 'creator', 'modified', 'icons'] label_columns = { 'icons': ' ', - 'viz_type': 'Type', - 'slice_link': 'Slice', + 'viz_type': _('Type'), + 'slice_link': _('Slice'), + 'viz_type': _('Visualization Type'), } appbuilder.add_view_no_menu(SliceAsync) @@ -360,9 +447,21 @@ class DashboardModelView(CaravelModelView, DeleteMixin): # noqa "The css for individual dashboards can be altered here, or " "in the dashboard view where changes are immediately " "visible"), - 'slug': "To get a readable URL for your dashboard", + 'slug': _("To get a readable URL for your dashboard"), } base_filters = [['slice', FilterDashboard, lambda: []]] + label_columns = { + 'dashboard_link': _("Dashboard"), + 'dashboard_title': _("Title"), + 'slug': _("Slug"), + 'slices': _("Slices"), + 'owners': _("Owners"), + 'creator': _("Creator"), + 'modified': _("Modified"), + 'position_json': _("Position JSON"), + 'css': _("CSS"), + 'json_metadata': _("JSON Metadata"), + } def pre_add(self, obj): obj.slug = obj.slug.strip() or None @@ -379,7 +478,6 @@ def pre_update(self, obj): "Dashboards", label=_("Dashboards"), icon="fa-dashboard", - category="", category_icon='',) @@ -398,6 +496,12 @@ class LogModelView(CaravelModelView): list_columns = ('user', 'action', 'dttm') edit_columns = ('user', 'action', 'dttm', 'json') base_order = ('dttm', 'desc') + label_columns = { + 'user': _("User"), + 'action': _("Action"), + 'dttm': _("dttm"), + 'json': _("JSON"), + } appbuilder.add_view( LogModelView, @@ -420,11 +524,22 @@ class DruidDatasourceModelView(CaravelModelView, DeleteMixin): # noqa page_size = 500 base_order = ('datasource_name', 'asc') description_columns = { - 'offset': "Timezone offset (in hours) for this datasource", + 'offset': _("Timezone offset (in hours) for this datasource"), 'description': Markup( "Supports markdown"), } + label_columns = { + 'datasource_name': _("Data Source"), + 'cluster': _("Cluster"), + 'description': _("Description"), + 'owner': _("Owner"), + 'is_featured': _("Is Featured"), + 'is_hidden': _("Is Hidden"), + 'default_endpoint': _("Default Endpoint"), + 'offset': _("Time Offset"), + 'cache_timeout': _("Cache Timeout"), + } def post_add(self, datasource): datasource.generate_metrics() @@ -521,7 +636,7 @@ def explore(self, datasource_type, datasource_id): .first() ) if not datasource: - flash(_("The datasource seems to have been deleted"), "alert") + flash(__("The datasource seems to have been deleted"), "alert") return redirect(error_redirect) all_datasource_access = self.appbuilder.sm.has_access( @@ -529,7 +644,7 @@ def explore(self, datasource_type, datasource_id): datasource_access = self.appbuilder.sm.has_access( 'datasource_access', datasource.perm) if not (all_datasource_access or datasource_access): - flash(_("You don't seem to have access to this datasource"), "danger") + flash(__("You don't seem to have access to this datasource"), "danger") return redirect(error_redirect) action = request.args.get('action') diff --git a/caravel/viz.py b/caravel/viz.py index 3e15b1163bb4..c5f4a2fc49c0 100644 --- a/caravel/viz.py +++ b/caravel/viz.py @@ -18,6 +18,7 @@ import pandas as pd import numpy as np from flask import request, Markup +from flask.ext.babelpkg import lazy_gettext as _ from markdown import markdown from pandas.io.json import dumps from six import string_types @@ -320,7 +321,7 @@ class TableViz(BaseViz): """A basic html table that is sortable and searchable""" viz_type = "table" - verbose_name = "Table View" + verbose_name = _("Table View") credits = 'a Caravel original' fieldsets = ({ 'label': "GROUP BY", @@ -381,7 +382,7 @@ class PivotTableViz(BaseViz): """A pivot table view, define your rows, columns and metrics""" viz_type = "pivot_table" - verbose_name = "Pivot Table" + verbose_name = _("Pivot Table") credits = 'a Caravel original' is_timeseries = False fieldsets = ({ @@ -443,7 +444,7 @@ class MarkupViz(BaseViz): """Use html or markdown to create a free form widget""" viz_type = "markup" - verbose_name = "Markup Widget" + verbose_name = _("Markup") fieldsets = ({ 'label': None, 'fields': ('markup_type', 'code') @@ -471,7 +472,7 @@ class WordCloudViz(BaseViz): """ viz_type = "word_cloud" - verbose_name = "Word Cloud" + verbose_name = _("Word Cloud") is_timeseries = False fieldsets = ({ 'label': None, @@ -503,7 +504,7 @@ class TreemapViz(BaseViz): """Tree map visualisation for hierarchical data.""" viz_type = "treemap" - verbose_name = "Treemap" + verbose_name = _("Treemap") credits = 'd3.js' is_timeseries = False fieldsets = ({ @@ -547,7 +548,7 @@ class CalHeatmapViz(BaseViz): """Calendar heatmap.""" viz_type = "cal_heatmap" - verbose_name = "Calender Heatmap" + verbose_name = _("Calender Heatmap") credits = ( 'cal-heatmap') is_timeseries = True @@ -618,7 +619,7 @@ class BoxPlotViz(NVD3Viz): """Box plot viz from ND3""" viz_type = "box_plot" - verbose_name = "Box Plot" + verbose_name = _("Box Plot") sort_series = False is_timeseries = True fieldsets = ({ @@ -725,7 +726,7 @@ class BubbleViz(NVD3Viz): """Based on the NVD3 bubble chart""" viz_type = "bubble" - verbose_name = "Bubble Chart" + verbose_name = _("Bubble Chart") is_timeseries = False fieldsets = ({ 'label': None, @@ -793,7 +794,7 @@ class BigNumberViz(BaseViz): """Put emphasis on a single metric with this big number viz""" viz_type = "big_number" - verbose_name = "Big Number with Trendline" + verbose_name = _("Big Number with Trendline") credits = 'a Caravel original' is_timeseries = True fieldsets = ({ @@ -843,7 +844,7 @@ class BigNumberTotalViz(BaseViz): """Put emphasis on a single metric with this big number viz""" viz_type = "big_number_total" - verbose_name = "Big Number" + verbose_name = _("Big Number") credits = 'a Caravel original' is_timeseries = False fieldsets = ({ @@ -889,7 +890,7 @@ class NVD3TimeSeriesViz(NVD3Viz): """A rich line chart component with tons of options""" viz_type = "line" - verbose_name = "Time Series - Line Chart" + verbose_name = _("Time Series - Line Chart") sort_series = False is_timeseries = True fieldsets = ({ @@ -1041,7 +1042,7 @@ class NVD3TimeSeriesBarViz(NVD3TimeSeriesViz): viz_type = "bar" sort_series = True - verbose_name = "Time Series - Bar Chart" + verbose_name = _("Time Series - Bar Chart") fieldsets = [NVD3TimeSeriesViz.fieldsets[0]] + [{ 'label': 'Chart Options', 'fields': ( @@ -1059,7 +1060,7 @@ class NVD3CompareTimeSeriesViz(NVD3TimeSeriesViz): """A line chart component where you can compare the % change over time""" viz_type = 'compare' - verbose_name = "Time Series - Percent Change" + verbose_name = _("Time Series - Percent Change") class NVD3TimeSeriesStackedViz(NVD3TimeSeriesViz): @@ -1067,7 +1068,7 @@ class NVD3TimeSeriesStackedViz(NVD3TimeSeriesViz): """A rich stack area chart""" viz_type = "area" - verbose_name = "Time Series - Stacked" + verbose_name = _("Time Series - Stacked") sort_series = True fieldsets = [NVD3TimeSeriesViz.fieldsets[0]] + [{ 'label': 'Chart Options', @@ -1086,7 +1087,7 @@ class DistributionPieViz(NVD3Viz): """Annoy visualization snobs with this controversial pie chart""" viz_type = "pie" - verbose_name = "Distribution - NVD3 - Pie Chart" + verbose_name = _("Distribution - NVD3 - Pie Chart") is_timeseries = False fieldsets = ({ 'label': None, @@ -1122,7 +1123,7 @@ class DistributionBarViz(DistributionPieViz): """A good old bar chart""" viz_type = "dist_bar" - verbose_name = "Distribution - Bar Chart" + verbose_name = _("Distribution - Bar Chart") is_timeseries = False fieldsets = ({ 'label': 'Chart Options', @@ -1202,7 +1203,7 @@ class SunburstViz(BaseViz): """A multi level sunburst chart""" viz_type = "sunburst" - verbose_name = "Sunburst" + verbose_name = _("Sunburst") is_timeseries = False credits = ( 'Kerry Rodden ' @@ -1268,7 +1269,7 @@ class SankeyViz(BaseViz): """A Sankey diagram that requires a parent-child dataset""" viz_type = "sankey" - verbose_name = "Sankey" + verbose_name = _("Sankey") is_timeseries = False credits = 'd3-sankey on npm' fieldsets = ({ @@ -1332,7 +1333,7 @@ class DirectedForceViz(BaseViz): """An animated directed force layout graph visualization""" viz_type = "directed_force" - verbose_name = "Directed Force Layout" + verbose_name = _("Directed Force Layout") credits = 'd3noob @bl.ocks.org' is_timeseries = False fieldsets = ({ @@ -1374,7 +1375,7 @@ class WorldMapViz(BaseViz): """A country centric world map""" viz_type = "world_map" - verbose_name = "World Map" + verbose_name = _("World Map") is_timeseries = False credits = 'datamaps on npm' fieldsets = ({ @@ -1448,7 +1449,7 @@ class FilterBoxViz(BaseViz): """A multi filter, multi-choice filter box to make dashboards interactive""" viz_type = "filter_box" - verbose_name = "Filters" + verbose_name = _("Filters") is_timeseries = False credits = 'a Caravel original' fieldsets = ({ @@ -1496,7 +1497,7 @@ class IFrameViz(BaseViz): """You can squeeze just about anything in this iFrame component""" viz_type = "iframe" - verbose_name = "iFrame" + verbose_name = _("iFrame") credits = 'a Caravel original' is_timeseries = False fieldsets = ({ @@ -1514,7 +1515,7 @@ class ParallelCoordinatesViz(BaseViz): """ viz_type = "para" - verbose_name = "Parallel Coordinates" + verbose_name = _("Parallel Coordinates") credits = ( '' 'Syntagmatic\'s library') @@ -1550,7 +1551,7 @@ class HeatmapViz(BaseViz): """A nice heatmap visualization that support high density through canvas""" viz_type = "heatmap" - verbose_name = "Heatmap" + verbose_name = _("Heatmap") is_timeseries = False credits = ( 'inspired from mbostock @' @@ -1618,7 +1619,7 @@ class HorizonViz(NVD3TimeSeriesViz): """ viz_type = "horizon" - verbose_name = "Horizon Charts" + verbose_name = _("Horizon Charts") credits = ( '' 'd3-horizon-chart') diff --git a/setup.py b/setup.py index 61cd097edffa..9a96d4841a2f 100644 --- a/setup.py +++ b/setup.py @@ -18,7 +18,7 @@ 'alembic>=0.8.5, <0.9.0', 'babel==2.3.4', 'cryptography>=1.1.1, <2.0.0', - 'flask-appbuilder>=1.6.0, <2.0.0', + 'flask-appbuilder>=1.6.2, <2.0.0', 'Flask-BabelPkg==0.9.6', 'flask-cache>=0.13.1, <0.14.0', 'flask-migrate>=1.5.1, <2.0.0',