# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: i18n-team@egauge.net\n" "POT-Creation-Date: 2024-03-21 13:29-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #. Translators: Out of memory (LCD message). #: ../www/Tool.js:29 ../ng/src/webapi/slop.ts:251 ../cgi-bin/team-check.c:175 #: ../display/fw_update.c:85 msgid "Out of memory." msgstr "" #. Translators: Operation was cancelled (LCD message). #: ../www/Tool.js:30 ../www/Setting.js:3455 ../ng/src/webapi/slop.ts:254 #: ../display/fw_update.c:88 msgid "Canceled." msgstr "" #: ../www/Tool.js:32 ../ng/src/webapi/slop.ts:396 msgid "Adjusting" msgstr "" #: ../www/Tool.js:33 ../ng/src/webapi/slop.ts:399 msgid "Restoring" msgstr "" #: ../www/Tool.js:34 ../ng/src/webapi/slop.ts:402 msgid "Skipping" msgstr "" #: ../www/Tool.js:35 ../ng/src/webapi/slop.ts:405 msgid "Splitting" msgstr "" #: ../www/Tool.js:36 ../ng/src/webapi/slop.ts:408 msgid "Zeroing" msgstr "" #: ../www/Tool.js:37 ../ng/src/webapi/slop.ts:269 msgid "Bad backup file header: `%1'" msgstr "" #: ../www/Tool.js:38 ../ng/src/webapi/slop.ts:273 msgid "Invalid register name `%1'" msgstr "" #: ../www/Tool.js:39 ../ng/src/webapi/slop.ts:277 msgid "Invalid timestamp `%1'" msgstr "" #: ../www/Tool.js:40 ../ng/src/webapi/slop.ts:281 msgid "Backup file is invalid." msgstr "" #: ../www/Tool.js:41 ../ng/src/webapi/slop.ts:284 msgid "Read of backup file failed after %1 lines" msgstr "" #: ../www/Tool.js:42 ../ng/src/webapi/slop.ts:288 msgid "Invalid value in backup file at line %1" msgstr "" #: ../www/Tool.js:43 ../ng/src/webapi/slop.ts:292 msgid "Backup is in the future (%1>%2)" msgstr "" #: ../www/Tool.js:44 ../ng/src/webapi/slop.ts:296 msgid "Failed to acquire lock" msgstr "" #: ../www/Tool.js:45 ../ng/src/webapi/slop.ts:299 msgid "Comma missing in backup file line %1" msgstr "" #: ../www/Tool.js:46 ../ng/src/webapi/slop.ts:303 msgid "Version missing from backup file" msgstr "" #: ../www/Tool.js:47 ../ng/src/webapi/slop.ts:306 msgid "Register `%1' is not a net register" msgstr "" #: ../www/Tool.js:48 ../ng/src/webapi/slop.ts:310 msgid "Backup file has no data rows" msgstr "" #: ../www/Tool.js:49 ../ng/src/webapi/slop.ts:313 msgid "Register `%1' has no matching positive-only register" msgstr "" #: ../www/Tool.js:51 ../ng/src/webapi/slop.ts:317 msgid "Backup file has no second data row" msgstr "" #: ../www/Tool.js:52 ../ng/src/webapi/slop.ts:320 msgid "Failed to read db at %1" msgstr "" #: ../www/Tool.js:53 ../ng/src/webapi/slop.ts:324 msgid "Failed to write db at %1" msgstr "" #: ../www/Tool.js:55 ../ng/src/webapi/slop.ts:411 msgid "Checking signature of %1" msgstr "" #: ../www/Tool.js:56 ../ng/src/webapi/slop.ts:415 msgid "Downloading firmware %1" msgstr "" #: ../www/Tool.js:57 ../ng/src/webapi/slop.ts:419 msgid "Downloading kernel %1" msgstr "" #: ../www/Tool.js:58 ../ng/src/webapi/slop.ts:423 msgid "Downloading skin %1" msgstr "" #: ../www/Tool.js:59 ../ng/src/webapi/slop.ts:427 msgid "Extracting %1 files" msgstr "" #. Translators: Extracting files. (LCD message) #: ../www/Tool.js:60 ../ng/src/webapi/slop.ts:431 ../display/fw_update.c:54 msgid "Finishing up" msgstr "" #: ../www/Tool.js:61 ../ng/src/webapi/slop.ts:434 msgid "Flashing partition %1" msgstr "" #: ../www/Tool.js:62 ../ng/src/webapi/slop.ts:438 msgid "Installing version %1" msgstr "" #. Translators: Validating firmware bundle. (LCD message) #: ../www/Tool.js:63 ../ng/src/webapi/slop.ts:442 ../display/fw_update.c:60 msgid "Validating bundle" msgstr "" #. Translators: Image signature doesn't match. (LCD message) #: ../www/Tool.js:64 ../ng/src/webapi/slop.ts:332 ../display/fw_update.c:63 msgid "Invalid signature" msgstr "" #: ../www/Tool.js:65 ../ng/src/webapi/slop.ts:335 msgid "Download of %1 failed: %2" msgstr "" #: ../www/Tool.js:66 ../ng/src/webapi/slop.ts:339 msgid "Extraction of %1 failed: %2" msgstr "" #: ../www/Tool.js:67 ../ng/src/webapi/slop.ts:343 msgid "Flashing of parting %1 failed" msgstr "" #: ../www/Tool.js:68 ../ng/src/webapi/slop.ts:348 msgid "Image for \"%1\" devices is not compatible with this \"%2\" device." msgstr "" #: ../www/Tool.js:70 ../ng/src/webapi/slop.ts:353 msgid "Installation failed: %1" msgstr "" #: ../www/Tool.js:71 ../ng/src/webapi/slop.ts:357 msgid "Invalid image file" msgstr "" #: ../www/Tool.js:72 ../ng/src/webapi/slop.ts:360 msgid "File %1 does not exist" msgstr "" #: ../www/Tool.js:73 ../ng/src/webapi/slop.ts:365 msgid "Available version %1 is not newer than existing version %2" msgstr "" #: ../www/Tool.js:75 ../ng/src/webapi/slop.ts:370 msgid "Operation not supported" msgstr "" #: ../www/Tool.js:78 msgid "Use an up-to-date HTML5-compliant browser for this feature." msgstr "" #: ../www/Tool.js:83 msgid "Browser does not support FileReader." msgstr "" #: ../www/Tool.js:94 msgid "Browser does not support ArrayBuffer." msgstr "" #: ../www/Tool.js:163 msgid "Failed to initiate %1." msgstr "" #: ../www/Tool.js:171 msgid "Token missing in `%1'." msgstr "" #: ../www/Tool.js:194 msgid "Decompression error: %1. Is this an eGauge backup file?" msgstr "" #: ../www/Tool.js:209 msgid "Backup format unknown." msgstr "" #: ../www/Tool.js:226 ../www/tools.js:603 msgid "Processing..." msgstr "" #: ../www/Tool.js:274 msgid "Something went wrong with the restore process." msgstr "" #: ../www/Tool.js:384 ../www/tools.js:622 msgid "Uploading..." msgstr "" #: ../www/Tool.js:392 msgid "Finished" msgstr "" #: ../www/Tool.js:420 msgid "Another restore is already in progress!" msgstr "" #: ../www/Tool.js:429 msgid "Cannot set `range' without `to' and `from'!" msgstr "" #: ../www/Tool.js:438 msgid "Reading file" msgstr "" #: ../www/skins/prosol/PrefsSkin.js:20 ../www/skins/onset/PrefsSkin.js:20 #: ../www/skins/hnu-energy/PrefsSkin.js:20 ../www/skins/nucell/PrefsSkin.js:20 #: ../www/skins/vertebra/PrefsSkin.js:20 ../www/skins/en-trak/PrefsSkin.js:20 #: ../www/skins/jd-jaguar/PrefsSkin.js:20 ../www/skins/egauge/PrefsSkin.js:20 #: ../www/common/egauge_PrefsSkin.js:20 msgid "Sleek Kiosk lower left equivalence" msgstr "" #: ../www/skins/prosol/PrefsSkin.js:22 ../www/skins/onset/PrefsSkin.js:22 #: ../www/skins/hnu-energy/PrefsSkin.js:22 ../www/skins/nucell/PrefsSkin.js:22 #: ../www/skins/vertebra/PrefsSkin.js:22 ../www/skins/en-trak/PrefsSkin.js:22 #: ../www/skins/jd-jaguar/PrefsSkin.js:22 ../www/skins/egauge/PrefsSkin.js:22 #: ../www/common/egauge_PrefsSkin.js:22 msgid "" "Select the power equivalence you would like displayed in the lower left " "section." msgstr "" #: ../www/skins/prosol/PrefsSkin.js:25 ../www/skins/onset/PrefsSkin.js:25 #: ../www/skins/hnu-energy/PrefsSkin.js:25 ../www/skins/nucell/PrefsSkin.js:25 #: ../www/skins/monolith-solar/PrefsSkin.js:25 #: ../www/skins/inviro/PrefsSkin.js:26 ../www/skins/vertebra/PrefsSkin.js:25 #: ../www/skins/en-trak/PrefsSkin.js:25 ../www/skins/jd-jaguar/PrefsSkin.js:25 #: ../www/skins/egauge/PrefsSkin.js:25 ../www/common/egauge_PrefsSkin.js:25 msgid "Money" msgstr "" #: ../www/skins/prosol/PrefsSkin.js:26 ../www/skins/onset/PrefsSkin.js:26 #: ../www/skins/hnu-energy/PrefsSkin.js:26 ../www/skins/nucell/PrefsSkin.js:26 #: ../www/skins/monolith-solar/PrefsSkin.js:26 #: ../www/skins/inviro/PrefsSkin.js:27 ../www/skins/vertebra/PrefsSkin.js:26 #: ../www/skins/en-trak/PrefsSkin.js:26 ../www/skins/jd-jaguar/PrefsSkin.js:26 #: ../www/skins/egauge/PrefsSkin.js:26 ../www/common/egauge_PrefsSkin.js:26 #: ../ng/src/lib/register-type.ts:233 msgid "Percentage" msgstr "" #: ../www/skins/prosol/PrefsSkin.js:27 ../www/skins/onset/PrefsSkin.js:27 #: ../www/skins/hnu-energy/PrefsSkin.js:27 ../www/skins/nucell/PrefsSkin.js:27 #: ../www/skins/monolith-solar/PrefsSkin.js:27 #: ../www/skins/inviro/PrefsSkin.js:28 ../www/skins/vertebra/PrefsSkin.js:27 #: ../www/skins/en-trak/PrefsSkin.js:27 ../www/skins/jd-jaguar/PrefsSkin.js:27 #: ../www/skins/egauge/PrefsSkin.js:27 ../www/common/egauge_PrefsSkin.js:27 msgid "Production" msgstr "" #: ../www/skins/prosol/PrefsSkin.js:29 ../www/skins/onset/PrefsSkin.js:29 #: ../www/skins/hnu-energy/PrefsSkin.js:29 ../www/skins/nucell/PrefsSkin.js:29 #: ../www/skins/vertebra/PrefsSkin.js:29 ../www/skins/en-trak/PrefsSkin.js:29 #: ../www/skins/jd-jaguar/PrefsSkin.js:29 ../www/skins/egauge/PrefsSkin.js:29 #: ../www/common/egauge_PrefsSkin.js:29 msgid "Sleek Kiosk lower right equivalence" msgstr "" #: ../www/skins/prosol/PrefsSkin.js:31 ../www/skins/onset/PrefsSkin.js:31 #: ../www/skins/hnu-energy/PrefsSkin.js:31 ../www/skins/nucell/PrefsSkin.js:31 #: ../www/skins/vertebra/PrefsSkin.js:31 ../www/skins/en-trak/PrefsSkin.js:31 #: ../www/skins/jd-jaguar/PrefsSkin.js:31 ../www/skins/egauge/PrefsSkin.js:31 #: ../www/common/egauge_PrefsSkin.js:31 msgid "" "Select the power equivalence you would like displayed in the lower right " "section." msgstr "" #: ../www/skins/prosol/PrefsSkin.js:34 ../www/skins/onset/PrefsSkin.js:34 #: ../www/skins/hnu-energy/PrefsSkin.js:34 ../www/skins/nucell/PrefsSkin.js:34 #: ../www/skins/monolith-solar/PrefsSkin.js:34 #: ../www/skins/inviro/PrefsSkin.js:35 ../www/skins/vertebra/PrefsSkin.js:34 #: ../www/skins/en-trak/PrefsSkin.js:34 ../www/skins/jd-jaguar/PrefsSkin.js:34 #: ../www/skins/egauge/PrefsSkin.js:34 ../www/common/egauge_PrefsSkin.js:34 msgid "Coal" msgstr "" #: ../www/skins/prosol/PrefsSkin.js:35 ../www/skins/onset/PrefsSkin.js:35 #: ../www/skins/hnu-energy/PrefsSkin.js:35 ../www/skins/nucell/PrefsSkin.js:35 #: ../www/skins/monolith-solar/PrefsSkin.js:35 #: ../www/skins/inviro/PrefsSkin.js:36 ../www/skins/vertebra/PrefsSkin.js:35 #: ../www/skins/en-trak/PrefsSkin.js:35 ../www/skins/jd-jaguar/PrefsSkin.js:35 #: ../www/skins/egauge/PrefsSkin.js:35 ../www/common/egauge_PrefsSkin.js:35 msgid "Gas" msgstr "" #: ../www/skins/prosol/PrefsSkin.js:36 ../www/skins/onset/PrefsSkin.js:36 #: ../www/skins/hnu-energy/PrefsSkin.js:36 ../www/skins/nucell/PrefsSkin.js:36 #: ../www/skins/monolith-solar/PrefsSkin.js:36 #: ../www/skins/inviro/PrefsSkin.js:37 ../www/skins/vertebra/PrefsSkin.js:36 #: ../www/skins/en-trak/PrefsSkin.js:36 ../www/skins/jd-jaguar/PrefsSkin.js:36 #: ../www/skins/egauge/PrefsSkin.js:36 ../www/kiosk-sleek.js:221 #: ../www/common/egauge_PrefsSkin.js:36 msgid "Kilometers" msgstr "" #: ../www/skins/prosol/PrefsSkin.js:37 ../www/skins/onset/PrefsSkin.js:37 #: ../www/skins/hnu-energy/PrefsSkin.js:37 ../www/skins/nucell/PrefsSkin.js:37 #: ../www/skins/monolith-solar/PrefsSkin.js:37 #: ../www/skins/inviro/PrefsSkin.js:38 ../www/skins/vertebra/PrefsSkin.js:37 #: ../www/skins/en-trak/PrefsSkin.js:37 ../www/skins/jd-jaguar/PrefsSkin.js:37 #: ../www/skins/egauge/PrefsSkin.js:37 ../www/kiosk-sleek.js:215 #: ../www/common/egauge_PrefsSkin.js:37 msgid "Miles" msgstr "" #: ../www/skins/prosol/PrefsSkin.js:38 ../www/skins/onset/PrefsSkin.js:38 #: ../www/skins/hnu-energy/PrefsSkin.js:38 ../www/skins/nucell/PrefsSkin.js:38 #: ../www/skins/monolith-solar/PrefsSkin.js:38 #: ../www/skins/inviro/PrefsSkin.js:39 ../www/skins/vertebra/PrefsSkin.js:38 #: ../www/skins/en-trak/PrefsSkin.js:38 ../www/skins/jd-jaguar/PrefsSkin.js:38 #: ../www/skins/egauge/PrefsSkin.js:38 ../www/common/egauge_PrefsSkin.js:38 msgid "Oil" msgstr "" #: ../www/skins/prosol/PrefsSkin.js:40 ../www/skins/onset/PrefsSkin.js:40 #: ../www/skins/hnu-energy/PrefsSkin.js:40 ../www/skins/nucell/PrefsSkin.js:40 #: ../www/skins/vertebra/PrefsSkin.js:40 ../www/skins/en-trak/PrefsSkin.js:40 #: ../www/skins/jd-jaguar/PrefsSkin.js:40 ../www/skins/egauge/PrefsSkin.js:40 #: ../www/common/egauge_PrefsSkin.js:40 msgid "Show time zoom buttons in Sleek Kiosk?" msgstr "" #: ../www/skins/prosol/PrefsSkin.js:42 ../www/skins/onset/PrefsSkin.js:42 #: ../www/skins/hnu-energy/PrefsSkin.js:42 ../www/skins/nucell/PrefsSkin.js:42 #: ../www/skins/vertebra/PrefsSkin.js:42 ../www/skins/en-trak/PrefsSkin.js:42 #: ../www/skins/jd-jaguar/PrefsSkin.js:42 ../www/skins/egauge/PrefsSkin.js:42 #: ../www/common/egauge_PrefsSkin.js:42 msgid "" "Check this to show buttons at the bottom of the Sleek Kiosk that will allow " "you to change the time range displayed. Otherwise, the time range will be " "set to 3 days." msgstr "" #: ../www/skins/prosol/PrefsSkin.js:48 ../www/skins/onset/PrefsSkin.js:48 #: ../www/skins/hnu-energy/PrefsSkin.js:48 ../www/skins/nucell/PrefsSkin.js:48 #: ../www/skins/vertebra/PrefsSkin.js:48 ../www/skins/en-trak/PrefsSkin.js:48 #: ../www/skins/jd-jaguar/PrefsSkin.js:48 ../www/skins/egauge/PrefsSkin.js:48 #: ../www/common/egauge_PrefsSkin.js:48 msgid "Avoid display of installer logo in Sleek Kiosk?" msgstr "" #: ../www/skins/prosol/PrefsSkin.js:50 ../www/skins/onset/PrefsSkin.js:50 #: ../www/skins/hnu-energy/PrefsSkin.js:50 ../www/skins/nucell/PrefsSkin.js:50 #: ../www/skins/vertebra/PrefsSkin.js:50 ../www/skins/en-trak/PrefsSkin.js:50 #: ../www/skins/jd-jaguar/PrefsSkin.js:50 ../www/skins/egauge/PrefsSkin.js:50 #: ../www/common/egauge_PrefsSkin.js:50 msgid "" "Check this to inhibit the display of the installer logo that's normally " "displayed in the top right corner of the Sleek Kiosk." msgstr "" #: ../www/EGraph.js:961 ../ng/src/dashlet/signal/signal.dashlet.ts:99 #: ../ng/src/dashlet/signal/signal.dashlet.ts:200 #: ../ng/src/dashlet/dial-gauge/dial-gauge.dashlet.ts:97 msgid "Loading..." msgstr "" #: ../www/check.js:22 ../www/push-status.js:16 ../www/status.js:16 msgid "As of %1:" msgstr "" #. Translators: abbreviation for "not available" #: ../www/check.js:71 ../www/check.js:84 ../www/check.js:98 #: ../www/settings.js:1064 ../www/settings.js:1997 ../www/settings.js:1999 #: ../www/settings.js:2001 ../www/settings.js:2003 ../www/kiosk-sleek.js:92 #: ../www/kiosk-sleek.js:375 ../www/kiosk-sleek.js:434 #: ../www/kiosk-sleek.js:486 ../www/tools.js:500 ../www/classic.js:207 #: ../www/classic.js:233 ../www/classic.js:259 ../www/classic.js:277 #: ../www/classic.js:278 ../www/classic.js:279 ../www/push-status.js:46 #: ../www/ctid.js:431 ../www/ctid.js:543 ../www/status.js:142 #: ../www/status.js:168 #: ../ng/src/base/lua-log-viewer/log-viewer.component.ts:152 #: ../ng/src/dashlet/now-table/now-table.dashlet.ts:113 #: ../ng/src/dashlet/chart/focus.ts:561 #: ../ng/src/dashlet/summary-table/summary-table.dashlet.ts:134 #: ../ng/src/dashlet/dial-gauge/config-dialog.component.ts:246 #: ../www/common/meter.tmpl.x:21 ../www/common/meter.tmpl.x:25 #: ../www/common/status.tmpl.x:31 ../www/common/status.tmpl.x:36 #: ../www/common/status.tmpl.x:41 ../www/common/status.tmpl.x:46 #: ../www/common/status.tmpl.x:47 ../www/common/status.tmpl.x:52 #: ../www/common/status.tmpl.x:57 ../www/common/status.tmpl.x:63 #: ../www/common/status.tmpl.x:69 ../www/common/status.tmpl.x:74 #: ../www/common/status.tmpl.x:79 ../egauge/statusd.c:644 #: ../egauge/statusd.c:645 ../display/info.c:217 ../display/info.c:222 #: ../display/info.c:240 ../display/info.c:325 ../display/info.c:326 #: ../display/registers.c:88 ../display/registers.c:360 #: ../display/registers.c:367 #, c-format msgid "n/a" msgstr "" #: ../www/check.js:88 ../www/check.js:102 ../cgi-bin/modbuscfg.c:497 #: ../cgi-bin/modbuscfg.c:504 msgid "Hz" msgstr "" #. Translators: See http://egauge.net/i18n/date-time/ #: ../www/check.js:163 ../www/meter.js:111 ../www/push-status.js:31 #: ../www/push-status.js:49 ../www/status.js:71 msgid "E dd NNN y hh:mm:ssa" msgstr "" #. Translators: Physical Unit "Watts" #. Translators: Abbreviation for physical unit "Watt" #: ../www/check.js:218 ../www/EMonitor.js:885 ../www/EMonitor.js:1186 #: ../www/EMonitor.js:1549 ../www/EMonitor.js:1783 ../www/classic.js:70 #: ../www/classic.js:71 ../www/classic.js:72 ../www/PrefsGlobal.js:30 #: ../www/common/kiosk/index.tmpl.x:126 ../www/common/kiosk/index.tmpl.x:140 msgid "W" msgstr "" #: ../www/check.js:260 ../www/Setting.js:845 ../www/push-status.js:63 #: ../www/status.js:191 #: ../ng/src/base/register-chart/register-chart.component.ts:1911 #: ../ng/src/dashlet/alerts/alerts.dashlet.ts:193 msgid "now" msgstr "" #: ../www/settings.js:73 msgid "Old password:" msgstr "" #: ../www/settings.js:74 msgid "New password:" msgstr "" #: ../www/settings.js:75 msgid "Confirm new password:" msgstr "" #: ../www/settings.js:188 msgid "Settings didn't change. Nothing saved." msgstr "" #: ../www/settings.js:193 msgid "Settings saved." msgstr "" #: ../www/settings.js:197 msgid "" "Settings saved. The device needs to reboot before the new settings take " "effect.\n" "\n" "Do you wish to reboot now?\n" msgstr "" #: ../www/settings.js:214 msgid "Settings not saved: " msgstr "" #: ../www/settings.js:269 msgid "The Hostname must be at least three characters long." msgstr "" #: ../www/settings.js:274 msgid "The Hostname can only consist of alphanumeric characters and \"-\"." msgstr "" #. Translators: %1 is an IPv4 address, %2 an IPv4 address-range #. Translators: %1 is an IPv4 address. #: ../www/settings.js:282 ../www/settings.js:289 msgid "%1 can not be set in the range %2" msgstr "" #. Translators: %1 is an IPv4 address #: ../www/settings.js:298 msgid "%1 is not a valid network address." msgstr "" #: ../www/settings.js:303 msgid "" "Changing network settings can cause the device to be inaccessible from the " "Internet and/or your local network. Proceed only if you are certain these " "changes should be applied. Otherwise, contact your network administrator.\n" "\n" "Do you wish to proceed?" msgstr "" #: ../www/settings.js:320 msgid "At least one user must be able to change settings." msgstr "" #. Translators: %1 is "OK", %2 is "Cancel" button, %3 #. is a register name. #: ../www/settings.js:339 msgid "" "Physical register names should not contain the character '.' as this is used " "to define views in virtual registers. You can click \"%1\" to force this " "save, or \"%2\" to choose a different name for \"%3\"." msgstr "" #: ../www/settings.js:345 ../www/settings.js:1355 ../www/Setting.js:2684 #: ../ng/src/base/line-style-select/dialog.component.ts:85 #: ../ng/src/base/filename-dialog/filename-dialog.component.ts:41 #: ../ng/src/base/register-chart/register-chart.component.ts:1970 #: ../ng/src/base/filter-dialog/filter-dialog.component.ts:51 #: ../ng/src/base/time-range-dialog/time-range-dialog.component.ts:61 #: ../ng/src/base/lua-script-editor/lua-script-editor.component.ts:229 #: ../ng/src/base/lua-script-editor/lua-script-editor.component.ts:262 #: ../ng/src/base/lua-script-editor/lua-script-editor.component.ts:355 #: ../ng/src/base/upload-filename-dialog/upload-filename-dialog.component.ts:116 #: ../ng/src/base/fill-style-select/dialog.component.ts:72 #: ../ng/src/base/lua-log-viewer/log-viewer.component.ts:328 #: ../ng/src/base/register-filter/dialog.component.ts:209 #: ../ng/src/base/register-filter/result-dialog.component.ts:54 #: ../ng/src/base/warning-dialog/warning-dialog.component.ts:54 #: ../ng/src/dashlet/alerts/alerts.dashlet.ts:491 #: ../ng/src/dashlet/alerts/alerts.dashlet.ts:541 #: ../ng/src/dashlet/alerts/alerts.dashlet.ts:565 #: ../ng/src/dashlet/alerts/alerts.dashlet.ts:586 #: ../ng/src/dashlet/chart/chart.dashlet.ts:1482 #: ../ng/src/dashlet/chart/item-dialog.component.ts:328 #: ../ng/src/dashlet/chart/preset-dialog.component.ts:87 #: ../ng/src/dashlet/chart/augmentor-dialog.component.ts:81 #: ../ng/src/dashlet/switch/config-dialog.component.ts:142 #: ../ng/src/dashlet/dashlet.ts:323 ../ng/src/dashlet/dashlet.ts:334 #: ../ng/src/dashlet/dashlet.ts:339 ../ng/src/dashlet/dashlet.ts:346 #: ../ng/src/dashlet/summary-table/summary-table.dashlet.ts:276 #: ../ng/src/dashlet/signal/config-dialog.component.ts:139 #: ../ng/src/dashlet/table-config-dialog/config-dialog.component.ts:200 #: ../ng/src/dashlet/flow/config-dialog.component.ts:71 #: ../ng/src/dashlet/dial-gauge/config-dialog.component.ts:97 #: ../ng/src/app/dash/dash-config.ts:427 ../ng/src/app/dash/dash-config.ts:675 #: ../ng/src/app/dash/dash-config.ts:696 #: ../ng/src/app/dash/dialog.component.ts:37 #: ../ng/src/app/dash/dashboard-manager.component.ts:130 #: ../ng/src/app/dash/dashboard-manager.component.ts:149 #: ../ng/src/app/dash/dashboard-manager.component.ts:170 #: ../ng/src/app/dash/dashboard-manager.component.ts:212 #: ../ng/src/app/dash/dashboard-manager.component.ts:331 #: ../ng/src/app/dash/page-delete-dialog.component.ts:28 #: ../ng/src/app/dash/dashlet-rename-dialog.component.ts:34 #: ../ng/src/app/dash/dashlet-manager.ts:842 #: ../ng/src/app/health/checker.service.ts:523 #: ../ng/src/app/health/checker.service.ts:528 #: ../ng/src/setup/pushd/pushd.component.ts:309 #: ../ng/src/setup/pushd/pushd.component.ts:322 #: ../ng/src/setup/pushd/pushd.component.ts:326 #: ../ng/src/setup/alerts/alert-dest-dialog.component.ts:155 #: ../ng/src/setup/alerts/prio-dialog.component.ts:46 #: ../ng/src/setup/alerts/custom-alert-dialog.component.ts:212 #: ../ng/src/setup/alerts/alerts.component.ts:297 #: ../ng/src/setup/alerts/alerts.component.ts:310 #: ../ng/src/setup/alerts/alerts.component.ts:314 #: ../ng/src/setup/lua/vars/vars.component.ts:183 #: ../ng/src/setup/lua/vars/vars.component.ts:240 #: ../ng/src/setup/lua/vars/vars.component.ts:248 #: ../ng/src/setup/lua/vars/vars.component.ts:311 #: ../ng/src/setup/lua/ctrl/ctrl-scripts.component.ts:108 #: ../ng/src/setup/lua/ctrl/ctrl-scripts.component.ts:114 #: ../ng/src/setup/lua/ctrl/ctrl-scripts.component.ts:163 #: ../ng/src/setup/lua/ctrl/ctrl-scripts.component.ts:170 #: ../ng/src/setup/lua/ctrl/ctrl-scripts.component.ts:226 #: ../ng/src/setup/billing/billing.component.ts:190 #: ../ng/src/setup/billing/billing.component.ts:256 #: ../ng/src/setup/billing/billing.component.ts:284 #: ../ng/src/setup/billing/billing.component.ts:350 #: ../ng/src/setup/billing/billing.component.ts:369 #: ../ng/src/setup/billing/billing.component.ts:395 #: ../ng/src/setup/billing/billing.component.ts:418 #: ../ng/src/setup/network/wlan/wlan.component.ts:280 #: ../ng/src/setup/network/wlan/wlan.component.ts:332 #: ../ng/src/setup/network/wlan/wlan.component.ts:339 #: ../ng/src/setup/network/wlan/wlan.component.ts:368 #: ../ng/src/setup/network/wlan/wlan.component.ts:375 #: ../ng/src/setup/network/wlan/wlan.component.ts:451 #: ../ng/src/setup/network/ntp/server-dialog.component.ts:52 #: ../ng/src/setup/network/ntp/ntp.component.ts:300 #: ../ng/src/setup/network/ntp/ntp.component.ts:311 #: ../ng/src/setup/network/ntp/ntp.component.ts:383 #: ../ng/src/setup/network/proxy-server/proxy-server.component.ts:46 #: ../ng/src/setup/network/proxy-server/proxy-server.component.ts:90 #: ../ng/src/setup/network/proxy-server/proxy-server.component.ts:100 #: ../ng/src/setup/network/web-server/web-server.component.ts:85 #: ../ng/src/setup/network/web-server/web-server.component.ts:89 #: ../ng/src/setup/network/web-server/web-server.component.ts:96 #: ../ng/src/setup/network/web-client/web-client.component.ts:42 #: ../ng/src/setup/network/web-client/web-client.component.ts:66 #: ../ng/src/setup/network/web-client/web-client.component.ts:76 #: ../ng/src/setup/health/health.component.ts:111 #: ../ng/src/setup/health/health.component.ts:118 #: ../ng/src/setup/health/health.component.ts:121 #: ../ng/src/setup/modbus/map/upload-filename-dialog.component.ts:77 #: ../ng/src/setup/modbus/map/map.component.ts:320 #: ../ng/src/setup/modbus/map/map.component.ts:326 #: ../ng/src/setup/modbus/map/map.component.ts:374 #: ../ng/src/setup/modbus/map/map.component.ts:382 #: ../ng/src/setup/modbus/map/map.component.ts:444 #: ../ng/src/setup/modbus/map/map.component.ts:732 #: ../ng/src/setup/modbus/map/map.component.ts:805 #: ../ng/src/setup/modbus/map/map.component.ts:815 #: ../ng/src/setup/modbus/map/option-dialog.component.ts:79 #: ../ng/src/lib/retry/retry-dialog.component.ts:45 #: ../www/common/tools.tmpl.x:74 ../display/gui/window.c:89 msgid "OK" msgstr "" #. Translators: (LCD message) #: ../www/settings.js:345 ../www/settings.js:1135 ../www/settings.js:1346 #: ../www/Gadgets.js:2217 ../www/Gadgets.js:2358 ../www/Setting.js:2337 #: ../www/Setting.js:2693 #: ../ng/src/base/line-style-select/dialog.component.ts:83 #: ../ng/src/base/filename-dialog/filename-dialog.component.ts:39 #: ../ng/src/base/set-manager/set-manager.component.ts:59 #: ../ng/src/base/filter-dialog/filter-dialog.component.ts:48 #: ../ng/src/base/time-range-dialog/time-range-dialog.component.ts:55 #: ../ng/src/base/lua-script-editor/lua-script-editor.component.ts:304 #: ../ng/src/base/upload-filename-dialog/upload-filename-dialog.component.ts:113 #: ../ng/src/base/fill-style-select/dialog.component.ts:70 #: ../ng/src/base/redirect-dialog/redirect-dialog.component.ts:45 #: ../ng/src/base/register-filter/dialog.component.ts:197 #: ../ng/src/dashlet/alerts/alerts.dashlet.ts:519 #: ../ng/src/dashlet/chart/item-dialog.component.ts:310 #: ../ng/src/dashlet/chart/preset-dialog.component.ts:82 #: ../ng/src/dashlet/chart/augmentor-dialog.component.ts:71 #: ../ng/src/dashlet/switch/config-dialog.component.ts:138 #: ../ng/src/dashlet/dashlet.ts:292 #: ../ng/src/dashlet/signal/config-dialog.component.ts:134 #: ../ng/src/dashlet/table-config-dialog/config-dialog.component.ts:194 #: ../ng/src/dashlet/flow/config-dialog.component.ts:72 #: ../ng/src/dashlet/dial-gauge/config-dialog.component.ts:86 #: ../ng/src/app/dash/dialog.component.ts:35 #: ../ng/src/app/dash/page-delete-dialog.component.ts:29 #: ../ng/src/app/dash/dashlet-rename-dialog.component.ts:31 #: ../ng/src/app/dash/config.ts:225 ../ng/src/app/health/checker.service.ts:507 #: ../ng/src/setup/pushd/pushd.component.ts:162 #: ../ng/src/setup/alerts/alert-dest-dialog.component.ts:149 #: ../ng/src/setup/alerts/prio-dialog.component.ts:45 #: ../ng/src/setup/alerts/custom-alert-dialog.component.ts:205 #: ../ng/src/setup/alerts/alerts.component.ts:155 #: ../ng/src/setup/billing/billing.component.ts:183 #: ../ng/src/setup/network/wlan/wlan.component.ts:255 #: ../ng/src/setup/network/wlan/wlan.component.ts:571 #: ../ng/src/setup/network/wlan/net-dialog.component.ts:44 #: ../ng/src/setup/network/ntp/server-dialog.component.ts:49 #: ../ng/src/setup/network/ntp/ntp.component.ts:112 #: ../ng/src/setup/network/proxy-server/proxy-server.component.ts:41 #: ../ng/src/setup/network/web-client/web-client.component.ts:40 #: ../ng/src/setup/health/health.component.ts:39 #: ../ng/src/setup/modbus/map/upload-filename-dialog.component.ts:70 #: ../ng/src/setup/modbus/map/map.component.ts:235 #: ../ng/src/setup/modbus/map/option-dialog.component.ts:69 #: ../ng/src/webapi/auth/login-dialog.component.ts:75 #: ../display/wireless.c:1033 ../display/storage.c:379 ../display/storage.c:779 #: ../display/homeplug.c:470 msgid "Cancel" msgstr "" #. Translators: %1 is a register name #: ../www/settings.js:359 msgid "" "Virtual register names can not contain more than one '.' as this is used to " "denote the view name. Please choose a different name for \"%1\"." msgstr "" #: ../www/settings.js:466 msgid "" "Would you like to start out fresh and discard all data recorded up to this " "point?" msgstr "" #: ../www/settings.js:552 msgid "BACnet device id must be in the range 0..4194303." msgstr "" #: ../www/settings.js:557 msgid "MS/TP serial device must be specified." msgstr "" #: ../www/settings.js:563 msgid "MS/TP max. MAC address must be in the range 0..127." msgstr "" #: ../www/settings.js:570 msgid "MS/TP MAC must be in the range 0..%1." msgstr "" #: ../www/settings.js:598 msgid "TCP port number %1 is reserved. Please use another value." msgstr "" #. Translators: %1 is number of registers in use, #. %2 is the total number of registers available. #: ../www/settings.js:669 msgid "(%1 of %2 in use)" msgstr "" #: ../www/settings.js:686 msgid "Name `%1' is already being used by a virtual register." msgstr "" #: ../www/settings.js:715 msgid "Name `%1' is already being used by a register." msgstr "" #: ../www/settings.js:785 msgid "Username `administrator' is reserved. Please change." msgstr "" #: ../www/settings.js:792 msgid "Invalid username; must contain only letters, numbers, or `_'." msgstr "" #: ../www/settings.js:803 msgid "Username must be unique." msgstr "" #: ../www/settings.js:865 ../www/settings.js:1075 msgid "New password established." msgstr "" #: ../www/settings.js:867 ../www/settings.js:1077 msgid "Failed to set new password: " msgstr "" #: ../www/settings.js:874 msgid "Password save error: empty realm." msgstr "" #: ../www/settings.js:896 msgid "New and confirmation password don't match." msgstr "" #: ../www/settings.js:900 msgid "Password should be at least 6 characters long." msgstr "" #: ../www/settings.js:963 ../www/common/settings.tmpl.x:183 msgid "Show password in clear text." msgstr "" #: ../www/settings.js:1055 msgid "no other HomePlug devices detected" msgstr "" #: ../www/settings.js:1086 msgid "Encryption password must be at least 4 characters long." msgstr "" #: ../www/settings.js:1110 msgid "" "Please enter a complete Device-Password for each device you want to set the " "password for." msgstr "" #: ../www/settings.js:1123 msgid "Sorry, you must enter the Device-Password of at least one device." msgstr "" #. Translators: %1 is "Cancel" #: ../www/settings.js:1130 msgid "" "Did you specify the Device-Password of the HomePlug adapter through which " "the device is connected to the LAN? If not or if you do not understand this " "question, please press `%1'. Otherwise, proceed at your own risk." msgstr "" #: ../www/settings.js:1234 msgid "MAC address must be 12 characters long." msgstr "" #. Translators: %1 is a Ethernet MAC address #: ../www/settings.js:1244 msgid "MAC address %1 already exists in table." msgstr "" #: ../www/settings.js:1283 msgid "Authentication Type: " msgstr "" #: ../www/settings.js:1289 msgid "Open (no password)" msgstr "" #. Translators: WEP is a WiFi/WLAN security scheme. It stands #. for "Wire-Equivalent Privacy". #: ../www/settings.js:1292 msgid "WEP" msgstr "" #. Translators: WPA is a WiFi/WLAN security scheme. It stands #. for "WiFi Protected Access". #: ../www/settings.js:1295 msgid "WPA/WPA-2" msgstr "" #: ../www/settings.js:1301 msgid "Password:" msgstr "" #: ../www/settings.js:1304 ../www/common/settings.tmpl.x:215 msgid "Network name" msgstr "" #. Translators: %1 is a WLAN network name #: ../www/settings.js:1315 msgid "Password for %1:" msgstr "" #: ../www/settings.js:1335 msgid "Check if password is hexadecimal key" msgstr "" #: ../www/settings.js:1447 ../www/settings.js:1667 msgid "Network has been selected." msgstr "" #: ../www/settings.js:1451 ../www/settings.js:1671 msgid "Failed to select network: " msgstr "" #: ../www/settings.js:1490 msgid "Forget" msgstr "" #: ../www/settings.js:1497 msgid "Network has been forgotten." msgstr "" #: ../www/settings.js:1499 msgid "Failed to forget network: " msgstr "" #: ../www/settings.js:1639 msgid "no WLAN Access-Points found yet" msgstr "" #: ../www/settings.js:1885 msgid "Modbus Map" msgstr "" #: ../www/settings.js:1886 ../www/common/settings.tmpl.x:100 #: ../www/common/settings.tmpl.x:194 msgid "Note" msgstr "" #: ../www/settings.js:1889 msgid "Address may change when device configuration is changed." msgstr "" #: ../www/settings.js:1892 msgid "Values are stored in big-endian byte-order." msgstr "" #: ../www/settings.js:1894 msgid "" "Divide returned value by indicated Denominator to get " "quantity with the indicated unit." msgstr "" #: ../www/settings.js:1897 msgid "Key to types:" msgstr "" #: ../www/settings.js:1899 ../www/settings.js:1935 #: ../ng/src/base/register-filter/result-dialog.component.ts:56 #: ../ng/src/dashlet/table-config-dialog/config-dialog.component.ts:196 #: ../ng/src/setup/modbus/map/map.component.ts:257 ../cgi-bin/modbuscfg.c:454 msgid "Type" msgstr "" #: ../www/settings.js:1900 ../www/settings.js:1934 ../www/fundoc.js:33 #: ../cgi-bin/modbuscfg.c:454 msgid "Description" msgstr "" #: ../www/settings.js:1901 msgid "Signed 64-bit integer." msgstr "" #: ../www/settings.js:1903 msgid "Unsigned 32-bit integer." msgstr "" #: ../www/settings.js:1905 msgid "IEEE-754 single-precision float." msgstr "" #: ../www/settings.js:1907 msgid "NUL-terminated UTF-8 string of N bytes." msgstr "" #: ../www/settings.js:1922 msgid "Display deprecated entries." msgstr "" #. Translators: Title for column in CSV file showing date & time. #: ../www/settings.js:1932 ../ng/src/setup/network/ntp/ntp.component.ts:111 #: ../cgi-bin/modbuscfg.c:453 msgid "Address" msgstr "" #: ../www/settings.js:1933 ../www/alerts.js:75 ../www/Setting.js:3261 #: ../www/Setting.js:4766 ../www/Setting.js:5025 #: ../ng/src/base/register-filter/result-dialog.component.ts:55 #: ../ng/src/dashlet/chart/preset-dialog.component.ts:83 #: ../ng/src/dashlet/table-config-dialog/config-dialog.component.ts:197 #: ../ng/src/setup/alerts/custom-alerts.component.ts:51 #: ../ng/src/setup/alerts/custom-alert-dialog.component.ts:209 #: ../ng/src/setup/modbus/map/map.component.ts:244 ../cgi-bin/modbuscfg.c:453 #: ../display/info.c:309 msgid "Name" msgstr "" #: ../www/settings.js:1936 ../ng/src/dashlet/chart/item-dialog.component.ts:314 #: ../ng/src/dashlet/table-config-dialog/config-dialog.component.ts:195 #: ../cgi-bin/modbuscfg.c:454 msgid "Denominator" msgstr "" #: ../www/settings.js:1937 #: ../ng/src/dashlet/signal/config-dialog.component.ts:145 #: ../ng/src/setup/modbus/map/map.component.ts:259 ../cgi-bin/modbuscfg.c:454 msgid "Unit" msgstr "" #. Translators: Button for closing a dialog. #: ../www/settings.js:1950 msgid "Close" msgstr "" #: ../www/settings.js:2013 msgid "No USB serial-ports detected." msgstr "" #: ../www/settings.js:2096 msgid "Date & time when recording started" msgstr "" #: ../www/settings.js:2099 msgid "German" msgstr "" #: ../www/settings.js:2100 msgid "English (United States)" msgstr "" #: ../www/settings.js:2101 msgid "English (United Kingdom)" msgstr "" #: ../www/settings.js:2102 msgid "Korean" msgstr "" #: ../www/settings.js:2103 msgid "Spanish" msgstr "" #: ../www/settings.js:2104 msgid "French" msgstr "" #: ../www/settings.js:2105 msgid "Hebrew" msgstr "" #: ../www/settings.js:2106 msgid "Italian" msgstr "" #: ../www/settings.js:2107 msgid "Polish" msgstr "" #: ../www/settings.js:2108 msgid "Chinese (Simplified)" msgstr "" #: ../www/settings.js:2109 msgid "Chinese (Traditional)" msgstr "" #: ../www/settings.js:2116 msgid "System language" msgstr "" #: ../www/settings.js:2117 msgid "Geographic location" msgstr "" #: ../www/settings.js:2118 msgid "Geographic region" msgstr "" #: ../www/settings.js:2120 msgid "North Americas" msgstr "" #: ../www/settings.js:2121 msgid "Europe" msgstr "" #: ../www/settings.js:2121 msgid "Other" msgstr "" #: ../www/settings.js:2123 msgid "Min. interval for public usage data" msgstr "" #: ../www/settings.js:2126 msgid "No restriction" msgstr "" #: ../www/settings.js:2127 msgid "5 minutes" msgstr "" #: ../www/settings.js:2127 msgid "15 minutes" msgstr "" #: ../www/settings.js:2128 msgid "30 minutes" msgstr "" #: ../www/settings.js:2128 ../www/Setting.js:5164 #: ../ng/src/setup/pushd/pushd.component.ts:155 msgid "1 hour" msgstr "" #: ../www/settings.js:2129 msgid "2 hours" msgstr "" #: ../www/settings.js:2129 msgid "3 hours" msgstr "" #: ../www/settings.js:2131 msgid "Proxy-server hostname" msgstr "" #: ../www/settings.js:2135 msgid "Data Sharing" msgstr "" #: ../www/settings.js:2143 msgid "Data update frequency" msgstr "" #: ../www/settings.js:2145 msgid "1 Hz" msgstr "" #: ../www/settings.js:2145 msgid "2 Hz" msgstr "" #: ../www/settings.js:2145 msgid "4 Hz" msgstr "" #: ../www/settings.js:2146 msgid "5 Hz" msgstr "" #: ../www/settings.js:2146 msgid "10 Hz" msgstr "" #: ../www/settings.js:2162 msgid "Hostname" msgstr "" #: ../www/settings.js:2165 msgid "Disable unencrypted network services" msgstr "" #: ../www/settings.js:2168 msgid "Automatically obtain address with DHCP" msgstr "" #: ../www/settings.js:2170 msgid "IP address" msgstr "" #: ../www/settings.js:2171 msgid "Netmask" msgstr "" #: ../www/settings.js:2172 ../ng/src/app/toolbar/toolbar.component.ts:192 #: ../ng/src/setup/setup.component.ts:37 #: ../ng/src/setup/network/network.component.ts:32 msgid "Network" msgstr "" #: ../www/settings.js:2174 msgid "Broadcast address" msgstr "" #: ../www/settings.js:2175 msgid "Gateway address" msgstr "" #. Translators: %1 is the number of the DNS server (1-4) #: ../www/settings.js:2177 msgid "Name server %1" msgstr "" #: ../www/settings.js:2182 msgid "Enable bridging" msgstr "" #: ../www/settings.js:2219 msgid "Enable BACnet support" msgstr "" #: ../www/settings.js:2223 msgid "Ethernet" msgstr "" #: ../www/settings.js:2223 msgid "BIP (BACnet over UDP/IP)" msgstr "" #: ../www/settings.js:2226 msgid "MS/TP (RS485)" msgstr "" #: ../www/settings.js:2229 msgid "Protocol to use for BACnet datalink" msgstr "" #: ../www/settings.js:2232 msgid "BACnet/IP port" msgstr "" #: ../www/settings.js:2237 msgid "MS/TP serial device" msgstr "" #: ../www/settings.js:2241 msgid "MS/TP MAC address" msgstr "" #: ../www/settings.js:2244 msgid "MS/TP max. MAC address used by any master" msgstr "" #: ../www/settings.js:2250 msgid "BACnet device id unique to this device" msgstr "" #: ../www/settings.js:2254 msgid "Report cumulative values relative to start of recording" msgstr "" #: ../www/settings.js:2258 msgid "Energy unit" msgstr "" #: ../www/settings.js:2277 msgid "Modbus unit ID for this device" msgstr "" #: ../www/settings.js:2279 msgid "Enable Modbus TCP server" msgstr "" #: ../www/settings.js:2282 msgid "TCP port to listen on" msgstr "" #: ../www/settings.js:2284 msgid "Enable Modbus RTU server" msgstr "" #: ../www/settings.js:2287 msgid "RTU serial device" msgstr "" #: ../www/settings.js:2310 msgid "Password-protect entire site" msgstr "" #: ../www/settings.js:2317 ../ng/src/webapi/auth/login-dialog.component.ts:72 msgid "Username" msgstr "" #: ../www/settings.js:2321 msgid "Privileges" msgstr "" #: ../www/settings.js:2336 msgid "Change Password" msgstr "" #: ../www/settings.js:2345 msgid "Remove User" msgstr "" #: ../www/settings.js:2397 msgid "Use high-gain mode" msgstr "" #: ../www/settings.js:2483 msgid "Time-server (NTP) hostname" msgstr "" #: ../www/settings.js:2485 ../www/common/settings.tmpl.x:36 #: ../www/common/help.tmpl.x:1215 ../www/common/meter.tmpl.x:24 msgid "Date & Time" msgstr "" #: ../www/settings.js:2486 msgid "Time Zone" msgstr "" #: ../www/settings.js:2497 msgid "Alert Provider" msgstr "" #: ../www/settings.js:2506 msgid "Minimum priority to report" msgstr "" #: ../www/settings.js:2527 msgid "Hostname of mail server" msgstr "" #: ../www/settings.js:2529 msgid "Username for mail server" msgstr "" #: ../www/settings.js:2532 msgid "Password for mail server" msgstr "" #: ../www/settings.js:2535 msgid "Custom \"From\" address" msgstr "" #: ../www/alerts.js:45 msgid "" "Click this button once to select all alerts. Clicking it again will de-" "select all alerts." msgstr "" #. Translators: Abbreviation for "Acknowledge". Used as a column #. header in the alerts table. #: ../www/alerts.js:53 msgid "Ack" msgstr "" #: ../www/alerts.js:54 msgid "" "Indicates if this alert has been acknowledged. Once acknowledged, the alert " "will be reported again should it reoccur and its priority is sufficiently " "high. Alerts are automatically acknowledged after 24 hours." msgstr "" #. Translators: Short for "Priority". Used as a column-header. #: ../www/alerts.js:61 ../www/Setting.js:4770 ../www/Setting.js:5029 #: ../ng/src/setup/alerts/custom-alerts.component.ts:52 #: ../ng/src/setup/alerts/sys-alerts-prio.component.ts:53 msgid "Prio" msgstr "" #: ../www/alerts.js:62 msgid "Priority of the alert." msgstr "" #: ../www/alerts.js:65 ../ng/src/app/toolbar/toolbar.component.ts:199 #: ../ng/src/setup/network/network.component.ts:31 ../display/info.c:328 msgid "Time" msgstr "" #: ../www/alerts.js:66 msgid "Date and time of the most recent occurance of the alert." msgstr "" #. Translators: This is used in the alerts table for the column #. indicating the number of times an alert has occurred. #: ../www/alerts.js:71 msgid "#" msgstr "" #: ../www/alerts.js:72 msgid "Number of times the alert has occurred." msgstr "" #: ../www/alerts.js:76 msgid "Name of the alert." msgstr "" #: ../www/alerts.js:79 msgid "Last Reported" msgstr "" #: ../www/alerts.js:80 msgid "" "Date and time when the alert was most recently reported to at least one of " "the alert destinations." msgstr "" #: ../www/alerts.js:85 msgid "Detail" msgstr "" #: ../www/alerts.js:86 msgid "More detailed information about what triggered the alert." msgstr "" #. Translators: See http://egauge.net/i18n/date-time/ #: ../www/alerts.js:114 ../www/alerts.js:170 ../www/ctid.js:460 msgid "MM/dd/yy hh:mma" msgstr "" #: ../www/alerts.js:116 msgid "not yet reported" msgstr "" #. Translators: See http://egauge.net/i18n/date-time/ #: ../www/EMonitor.js:124 msgid "E NNN d" msgstr "" #. Translators: See http://egauge.net/i18n/date-time/ #: ../www/EMonitor.js:137 msgid "d (E)" msgstr "" #. Translators: See http://egauge.net/i18n/date-time/ #: ../www/EMonitor.js:142 msgid "NNN" msgstr "" #. Translators: See http://egauge.net/i18n/date-time/ #: ../www/EMonitor.js:147 msgid "NNN yyyy" msgstr "" #. Translators: See http://egauge.net/i18n/date-time/ #: ../www/EMonitor.js:152 ../www/stats.js:54 msgid "yyyy" msgstr "" #. Translators: See http://egauge.net/i18n/date-time/ #. Translators: See http://egauge.net/i18n/moment/ #: ../www/EMonitor.js:171 ../www/Widget.js:318 #: ../ng/src/charts/time-axis.ts:215 ../ng/src/charts/time-axis.ts:230 #: ../ng/src/webapi/meter-time.ts:700 msgid "ha" msgstr "" #. Translators: See http://egauge.net/i18n/date-time/ #. Translators: See http://egauge.net/i18n/moment/ #: ../www/EMonitor.js:174 ../www/Widget.js:317 ../www/Widget.js:431 #: ../ng/src/charts/time-axis.ts:232 ../ng/src/webapi/meter-time.ts:697 msgid "h:mma" msgstr "" #: ../www/EMonitor.js:1109 msgid "Start of recording" msgstr "" #: ../www/EMonitor.js:1118 msgid "Earlier" msgstr "" #: ../www/EMonitor.js:1127 msgid "Later" msgstr "" #: ../www/EMonitor.js:1135 ../www/Setting.js:869 msgid "Current Time" msgstr "" #: ../www/EMonitor.js:1497 ../www/EMonitor.js:1621 msgid "eGauge Info for Dragged Area" msgstr "" #. Translators: See http://egauge.net/i18n/date-time/ #: ../www/EMonitor.js:1525 ../www/EMonitor.js:1527 ../www/EMonitor.js:1774 msgid "MM/dd/yy hh:mm:ssa" msgstr "" #: ../www/EMonitor.js:1531 msgid "Time-Weighted" msgstr "" #: ../www/EMonitor.js:1532 ../ng/src/dashlet/chart/chart.dashlet.ts:516 #: ../ng/src/dashlet/chart/focus.ts:529 msgid "Average" msgstr "" #: ../www/EMonitor.js:1549 ../www/classic.js:306 ../www/classic.js:314 #: ../www/classic.js:324 ../www/classic.js:328 msgid "Wh" msgstr "" #: ../www/EMonitor.js:1576 ../www/EMonitor.js:1788 ../www/Setting.js:4072 #: ../www/Setting.js:4446 ../www/Common.js:18 #: ../ng/src/dashlet/chart/chart.dashlet.ts:1150 #: ../ng/src/lib/register-names.ts:21 ../cgi-bin/modbuscfg.c:267 #: ../cgi-bin/egauge-show.c:462 ../display/registers.c:344 #: ../webapi/api-register-csv.c:47 msgid "Usage" msgstr "" #: ../www/EMonitor.js:1578 ../www/EMonitor.js:1790 ../www/kiosk-sleek.js:325 #: ../www/Setting.js:4077 ../www/Setting.js:4448 ../www/Common.js:19 #: ../ng/src/dashlet/chart/chart.dashlet.ts:1159 #: ../ng/src/lib/register-names.ts:22 ../cgi-bin/modbuscfg.c:269 #: ../cgi-bin/egauge-show.c:464 ../display/registers.c:346 #: ../webapi/api-register-csv.c:49 msgid "Generation" msgstr "" #. Translators: This is the label displayed under the gauge #. that displays the current measurement values. #: ../www/EMonitor.js:1898 ../www/ctid.js:238 #: ../ng/src/lib/register-type.ts:128 ../ng/src/lib/register-type.ts:315 msgid "Current" msgstr "" #: ../www/help.js:17 msgid "" "

Site-password protected devices do not get listed at %1." msgstr "" #: ../www/help.js:24 msgid "" "See the configuration guide for details on how to define a " "view." msgstr "" #: ../www/display_history.js:26 ../www/stats.js:37 msgid "Total Energy Used" msgstr "" #: ../www/display_history.js:27 ../www/stats.js:38 msgid "Total Energy Generated" msgstr "" #: ../www/display_history.js:28 ../www/stats.js:39 msgid "Net Energy Used" msgstr "" #: ../www/kiosk-sleek.js:31 ../www/classic.js:44 msgid "All" msgstr "" #: ../www/kiosk-sleek.js:32 ../www/common/stats.tmpl.x:38 msgid "Year" msgstr "" #: ../www/kiosk-sleek.js:33 msgid "Month" msgstr "" #: ../www/kiosk-sleek.js:34 msgid "Week" msgstr "" #: ../www/kiosk-sleek.js:35 msgid "3 Day" msgstr "" #: ../www/kiosk-sleek.js:36 msgid "Day" msgstr "" #: ../www/kiosk-sleek.js:40 msgid "Summary Since Beginning of Recording" msgstr "" #: ../www/kiosk-sleek.js:41 msgid "Summary for Last 365 Days" msgstr "" #: ../www/kiosk-sleek.js:42 msgid "Summary for Last 30 Days" msgstr "" #: ../www/kiosk-sleek.js:43 msgid "Summary for Last 7 Days" msgstr "" #: ../www/kiosk-sleek.js:44 ../www/kiosk-sleek.js:361 msgid "Summary for Last 3 Days" msgstr "" #: ../www/kiosk-sleek.js:45 msgid "Summary for Last 24 Hours" msgstr "" #: ../www/kiosk-sleek.js:62 msgid "Single-family homes powered for 7 days" msgstr "" #: ../www/kiosk-sleek.js:70 msgid "Trees grown" msgstr "" #: ../www/kiosk-sleek.js:183 msgid "Money Saved" msgstr "" #: ../www/kiosk-sleek.js:190 msgid "Percentage of Use From Production" msgstr "" #. Translators: Physical unit "kilo-watt-hours". #: ../www/kiosk-sleek.js:198 ../www/PrefsGlobal.js:113 ../www/stats.js:177 #: ../ng/src/dashlet/flow/config-dialog.component.ts:178 msgid "kWh" msgstr "" #: ../www/kiosk-sleek.js:200 msgid "Renewable Energy Produced" msgstr "" #: ../www/kiosk-sleek.js:230 msgid "Liters of Gas" msgstr "" #: ../www/kiosk-sleek.js:234 msgid "Gallons of Gas" msgstr "" #: ../www/kiosk-sleek.js:244 msgid "Kilograms of Coal" msgstr "" #: ../www/kiosk-sleek.js:249 msgid "Pounds of Coal" msgstr "" #: ../www/kiosk-sleek.js:257 msgid "Barrels of Oil" msgstr "" #: ../www/kiosk-sleek.js:305 msgid "CO2 Offset Equals" msgstr "" #: ../www/kiosk-sleek.js:311 msgid "Power Equivalent" msgstr "" #: ../www/kiosk-sleek.js:317 msgid "CO2 Offset" msgstr "" #: ../www/kiosk-sleek.js:331 msgid "Power Usage" msgstr "" #: ../www/kiosk-sleek.js:338 msgid "Total Energy Produced" msgstr "" #. Translators: Physical unit prefix for Peta (10^15). #: ../www/Gadgets.js:19 msgid "P" msgstr "" #. Translators: Physical unit prefix for Tera (10^12). #: ../www/Gadgets.js:21 msgid "T" msgstr "" #. Translators: Physical unit prefix for Giga (10^9). #: ../www/Gadgets.js:23 msgid "G" msgstr "" #. Translators: Physical unit prefix for Giga (10^6). #: ../www/Gadgets.js:25 msgid "M" msgstr "" #. Translators: Physical unit prefix for Giga (10^3). #: ../www/Gadgets.js:27 msgid "k" msgstr "" #. Translators: Physical unit prefix for milli (10^-3). #: ../www/Gadgets.js:30 msgid "m" msgstr "" #. Translators: Physical unit prefix for micro (10^-6). #: ../www/Gadgets.js:32 msgid "u" msgstr "" #. Translators: Physical unit prefix for nano (10^-9). #: ../www/Gadgets.js:34 msgid "n" msgstr "" #. Translators: Physical unit prefix for pico (10^-12). #: ../www/Gadgets.js:36 msgid "p" msgstr "" #. Translators: Physical unit prefix for femto (10^-15). #: ../www/Gadgets.js:38 msgid "f" msgstr "" #: ../www/Gadgets.js:530 msgid "Drag this handle to adjust window size." msgstr "" #: ../www/Gadgets.js:1373 msgid "Power used" msgstr "" #: ../www/Gadgets.js:1374 ../www/common/kiosk/index.tmpl.x:90 msgid "Energy from grid" msgstr "" #: ../www/Gadgets.js:1377 ../www/common/kiosk/index.tmpl.x:88 msgid "Power generated" msgstr "" #: ../www/Gadgets.js:1378 ../www/common/kiosk/index.tmpl.x:92 msgid "Energy to grid" msgstr "" #. Translators: Short label for "positive" data values. #: ../www/Gadgets.js:1389 msgid "pos." msgstr "" #. Translators: Short label for "negative" data values. #: ../www/Gadgets.js:1391 msgid "neg." msgstr "" #. Translators: Short label for "generation" (local energy #. production). #: ../www/Gadgets.js:1395 msgid "gen." msgstr "" #. Translators: Short label for "usage" (local energy #. consumption). #: ../www/Gadgets.js:1398 msgid "use" msgstr "" #: ../www/Gadgets.js:1437 ../www/tools.js:75 #: ../ng/src/setup/alerts/sys-alerts-prio.component.ts:55 msgid "Toggle all/none" msgstr "" #: ../www/Gadgets.js:2170 ../www/Gadgets.js:2370 msgid "Set Time-period to Show in Graph" msgstr "" #. Translators: Label for a field that contains the start time #. of a time-range. #: ../www/Gadgets.js:2180 ../www/Gadgets.js:2292 #: ../ng/src/base/time-range-dialog/time-range-dialog.component.ts:58 #: ../ng/src/setup/alerts/alert-dest-dialog.component.ts:229 msgid "From" msgstr "" #. Translators: Label for a field that contains the end time #. of a time-range. #: ../www/Gadgets.js:2193 ../www/Gadgets.js:2303 #: ../ng/src/base/time-range-dialog/time-range-dialog.component.ts:65 msgid "To" msgstr "" #. Translators: Name for button to set date/time #: ../www/Gadgets.js:2201 ../www/Widget.js:497 msgid "Set" msgstr "" #: ../www/Gadgets.js:2263 msgid "Export Graph as CSV" msgstr "" #: ../www/Gadgets.js:2271 msgid "Export Type" msgstr "" #: ../www/Gadgets.js:2279 msgid "Cumulative Value (e.g., kWh for energy)" msgstr "" #: ../www/Gadgets.js:2281 msgid "Average Value (e.g., kW for power)" msgstr "" #: ../www/Gadgets.js:2283 msgid "Max. Demand Value (e.g., kW for power)" msgstr "" #: ../www/Gadgets.js:2314 ../www/Setting.js:5206 msgid "Interval" msgstr "" #: ../www/Gadgets.js:2326 #: ../ng/src/base/filename-dialog/filename-dialog.component.ts:40 #: ../ng/src/base/upload-filename-dialog/upload-filename-dialog.component.ts:114 #: ../ng/src/setup/modbus/map/upload-filename-dialog.component.ts:71 msgid "Filename" msgstr "" #: ../www/Gadgets.js:2343 ../ng/src/dashlet/export/export.dashlet.ts:864 #: ../ng/src/app/toolbar/toolbar.component.ts:130 msgid "Export" msgstr "" #: ../www/Gadgets.js:2372 msgid "Export data to spreadsheet (CSV)" msgstr "" #: ../www/Gadgets.js:2376 msgid "Select view " msgstr "" #: ../www/Gadgets.js:2380 ../www/PrefsEditor.js:686 msgid "default" msgstr "" #: ../www/Expr.js:565 ../www/ctid.js:279 #: ../ng/src/dashlet/table-config-dialog/config-dialog.component.ts:172 #: ../ng/src/app/health/checker.service.ts:677 #: ../ng/src/app/health/checker.service.ts:678 #: ../ng/src/setup/network/ntp/ntp.component.ts:481 ../egauge/statusd.c:657 #: ../egauge/statusd.c:665 ../egauge/statusd.c:683 ../teamd/modbus-map.c:43 #: ../display/storage.c:443 ../display/settings.c:819 #, c-format msgid "unknown" msgstr "" #. Translators: "string" is a data-type used in #. formulas, consisting of a string of #. characters/letters. #: ../www/Expr.js:571 msgid "string" msgstr "" #: ../www/Expr.js:572 msgid "power [W]" msgstr "" #: ../www/Expr.js:573 msgid "apparent power [S]" msgstr "" #: ../www/Expr.js:574 msgid "voltage [V]" msgstr "" #: ../www/Expr.js:575 msgid "current [A]" msgstr "" #: ../www/Expr.js:576 msgid "frequency [Hz]" msgstr "" #. Translators: THD is an abbreviation for "Total #. Harmonic Distortion". #: ../www/Expr.js:579 ../ng/src/lib/register-type.ts:138 #: ../ng/src/lib/register-type.ts:356 msgid "THD" msgstr "" #: ../www/Expr.js:580 msgid "temperature [C]" msgstr "" #: ../www/Expr.js:581 msgid "flow [kg/s]" msgstr "" #: ../www/Expr.js:582 msgid "speed [m/s]" msgstr "" #: ../www/Expr.js:583 ../www/Expr.js:594 ../www/ctid.js:48 msgid "number" msgstr "" #: ../www/Expr.js:584 msgid "resistance [Ohm]" msgstr "" #: ../www/Expr.js:585 msgid "irradiance [W/m^2]" msgstr "" #: ../www/Expr.js:586 ../www/Expr.js:587 msgid "reactive power [var]" msgstr "" #: ../www/Expr.js:588 msgid "angle [deg]" msgstr "" #: ../www/Expr.js:589 msgid "humidity [%]" msgstr "" #: ../www/Expr.js:590 msgid "flow vol [m^3/s]" msgstr "" #: ../www/Expr.js:591 msgid "pressure [Pa]" msgstr "" #: ../www/Expr.js:592 msgid "charge [As]" msgstr "" #: ../www/Expr.js:593 msgid "mass [kg]" msgstr "" #: ../www/Expr.js:595 ../www/ctid.js:47 msgid "air quality" msgstr "" #: ../www/Expr.js:596 msgid "%" msgstr "" #: ../www/Expr.js:597 msgid "ppm" msgstr "" #: ../www/Expr.js:598 msgid "int" msgstr "" #: ../www/Expr.js:599 msgid "temp. diff [K]" msgstr "" #: ../www/Model.js:100 msgid "Unable to fetch model information." msgstr "" #. Translators: Line-style "solid". #: ../www/PrefsEditor.js:22 msgid "solid" msgstr "" #. Translators: Line-style "dashed". #: ../www/PrefsEditor.js:24 msgid "dash" msgstr "" #. Translators: Line-style "dash-dotted". #: ../www/PrefsEditor.js:26 msgid "dash dot" msgstr "" #. Translators: Line-style "long dashed". #: ../www/PrefsEditor.js:28 msgid "long dash" msgstr "" #. Translators: Line-style "long dash-dotted". #: ../www/PrefsEditor.js:30 msgid "long dash dot" msgstr "" #. Translators: %1 is a register name #: ../www/PrefsEditor.js:138 msgid "Register `%1' already selected." msgstr "" #. Translators: %1 is line-style (solid, dash, etc.), #. %2 is line thickness. #: ../www/PrefsEditor.js:268 ../www/PrefsEditor.js:286 msgid "Style: %1, Thickness: %2" msgstr "" #. Translators: %1 is a register name, #. %2 a polarity (+, -, or +/-) #: ../www/PrefsEditor.js:387 ../www/PrefsEditor.js:415 msgid "Register '%1' including '%2' already selected." msgstr "" #: ../www/PrefsEditor.js:401 msgid "The sign (positive, negative or both) of the register to color." msgstr "" #: ../www/PrefsEditor.js:432 ../www/Setting.js:3307 ../www/Setting.js:5366 #: ../ng/src/dashlet/chart/item-dialog.component.ts:332 #: ../ng/src/dashlet/chart/augmentor-dialog.component.ts:69 #: ../ng/src/setup/modbus/map/map.component.ts:248 msgid "Register" msgstr "" #: ../www/PrefsEditor.js:433 #: ../ng/src/dashlet/chart/item-dialog.component.ts:311 msgid "Color" msgstr "" #: ../www/PrefsEditor.js:434 msgid "Line" msgstr "" #. Translators: A line-style can be different depending on #. the polarity/sign of the value being displayed. This #. label is used as a title for the polarity/sign column #. of the different line-styles in use. #: ../www/PrefsEditor.js:439 msgid "Sign" msgstr "" #: ../www/PrefsEditor.js:444 ../www/Setting.js:4037 msgid "Remove Register" msgstr "" #: ../www/PrefsEditor.js:546 msgid "preferences" msgstr "" #: ../www/PrefsEditor.js:609 ../ng/src/setup/modbus/map/map.component.ts:231 msgid "Add register" msgstr "" #: ../www/PrefsEditor.js:659 msgid "Add Custom Register Style" msgstr "" #. Translators: See http://egauge.net/i18n/date-time/ #. Translators: See http://egauge.net/i18n/moment/ #: ../www/PrefsEditor.js:713 ../www/PrefsEditor.js:846 ../www/Setting.js:830 #: ../www/Setting.js:840 ../www/Setting.js:896 ../www/classic.js:127 #: ../www/classic.js:369 ../www/classic.js:370 #: ../ng/src/app/health/checker.service.ts:505 #: ../ng/src/app/health/checker.service.ts:506 #: ../ng/src/app/health/checker.service.ts:580 #: ../ng/src/app/health/checker.service.ts:581 #: ../ng/src/app/health/status.component.ts:128 msgid "M/d/y h:mma" msgstr "" #. Translators: See http://egauge.net/i18n/date-time/#parse #: ../www/PrefsEditor.js:765 msgid "M/d(/y) h(:mm) a" msgstr "" #: ../www/PrefsEditor.js:785 msgid "Nothing changed. Nothing saved." msgstr "" #. Translators: Name of "Stop" button #: ../www/meter.js:38 ../ng/src/dashlet/scope/scope.dashlet.ts:135 #: ../www/common/meter.tmpl.x:43 msgid "Stop" msgstr "" #: ../www/meter.js:40 msgid "Resume" msgstr "" #: ../www/meter.js:167 msgid "dd NNN y hh:mma" msgstr "" #. Translators: %1 is a date/time and %2 is # of seconds #: ../www/meter.js:171 msgid "Change since
%1
(%2 sec ago):" msgstr "" #: ../www/tools.js:113 msgid "No registers available." msgstr "" #: ../www/tools.js:123 msgid "None of the registers can be split." msgstr "" #. Translators: %1 is the name of a web service. In #. English, it normally expands to "eGuard service". #: ../www/tools.js:178 msgid "firmware files can be downloaded via the %1" msgstr "" #: ../www/tools.js:294 msgid "dd-NNN-yyyy ha" msgstr "" #. Translators: Part %1 of a total of %2 parts restored. #: ../www/tools.js:306 msgid "(%1 of %2)" msgstr "" #: ../www/tools.js:322 ../www/Setting.js:2301 ../www/Setting.js:2383 msgid "Done" msgstr "" #. Translators: Timerange covering from %1 to %2. #: ../www/tools.js:387 msgid "from %1 to %2" msgstr "" #: ../www/tools.js:388 ../www/tools.js:389 ../www/tools.js:463 msgid "NNN d, yyyy h:mma" msgstr "" #: ../www/tools.js:392 msgid "Time range empty:" msgstr "" #: ../www/tools.js:401 msgid "Please select at least one register to zero out." msgstr "" #: ../www/tools.js:408 ../www/Date.js:117 ../www/Widget.js:116 msgid "second" msgstr "" #: ../www/tools.js:408 msgid "seconds" msgstr "" #: ../www/tools.js:411 ../www/Date.js:116 ../www/Widget.js:117 msgid "minute" msgstr "" #: ../www/tools.js:411 ../egauge/maild.c:101 msgid "minutes" msgstr "" #: ../www/tools.js:414 ../www/Date.js:113 ../www/Date.js:114 ../www/Date.js:115 #: ../www/Widget.js:118 msgid "hour" msgstr "" #: ../www/tools.js:414 ../egauge/maild.c:105 msgid "hours" msgstr "" #: ../www/tools.js:417 ../www/Date.js:112 ../www/Widget.js:119 msgid "day" msgstr "" #: ../www/tools.js:417 ../egauge/maild.c:109 msgid "days" msgstr "" #. Translators: %1 is an amount (number), %2 is a time unit (for #. example %1="3", %2="days") and %3 is a time-range #. (e.g., "(from Jun 15 to Jul 16)"). #: ../www/tools.js:422 msgid "Are you sure you want to zero out %1 %2 of data %3?" msgstr "" #: ../www/tools.js:427 msgid "Starting zeroing..." msgstr "" #: ../www/tools.js:446 msgid "Please specify backup file to store!" msgstr "" #. Translators: %1 is a time (e.g., Nov 1, 2015 3:10pm). #: ../www/tools.js:461 msgid "Are you sure you want to split the register(s) up to %1?" msgstr "" #: ../www/tools.js:466 msgid "Starting splitting..." msgstr "" #: ../www/tools.js:474 msgid "Are you sure you want to reboot now?" msgstr "" #: ../www/tools.js:494 msgid "Bytes" msgstr "" #. Translators: Size-unit "kilobytes" (KiB) #. Translators: Abbreviation for "kilobyte" (1024 bytes). #: ../www/tools.js:496 ../display/storage.c:365 msgid "KiB" msgstr "" #. Translators: Size-unit "kilobytes" (MiB) #. Translators: Abbreviation for "megabyte" (1048576 bytes). #: ../www/tools.js:498 ../display/storage.c:370 msgid "MiB" msgstr "" #: ../www/tools.js:580 msgid "Please choose the file to upload." msgstr "" #: ../www/tools.js:587 msgid "File of size %1 bytes is too big (limit is %2 bytes)." msgstr "" #: ../www/tools.js:611 ../www/classic.js:123 #: ../ng/src/dashlet/now-table/now-table.dashlet.ts:303 msgid "Updating..." msgstr "" #: ../www/Setting.js:29 msgid "Record net of positive and negative power" msgstr "" #: ../www/Setting.js:31 msgid "Record positive power" msgstr "" #: ../www/Setting.js:32 msgid "Record negative power" msgstr "" #: ../www/Setting.js:33 msgid "Record absolute power (ignore sign)" msgstr "" #: ../www/Setting.js:35 msgid "" "Record apparent power (VRMS*IRMS; " "needed for Power-Factor)" msgstr "" #: ../www/Setting.js:72 msgid "normal value" msgstr "" #: ../www/Setting.js:72 msgid "DC-only (mean) value" msgstr "" #: ../www/Setting.js:73 ../www/ctid.js:35 ../cgi-bin/modbuscfg.c:504 msgid "frequency" msgstr "" #: ../www/Setting.js:80 msgid "Email" msgstr "" #: ../www/Setting.js:81 msgid "Short Email" msgstr "" #: ../www/Setting.js:136 msgid "Every second" msgstr "" #: ../www/Setting.js:137 msgid "Every minute" msgstr "" #: ../www/Setting.js:138 msgid "Hourly" msgstr "" #: ../www/Setting.js:139 msgid "Daily" msgstr "" #: ../www/Setting.js:140 msgid "Weekly" msgstr "" #: ../www/Setting.js:141 msgid "Monthly" msgstr "" #: ../www/Setting.js:142 msgid "Annually" msgstr "" #. Translators: Label for a user-defined value. #: ../www/Setting.js:156 ../www/Setting.js:1252 ../www/Setting.js:1460 #: ../www/Setting.js:5181 ../www/Setting.js:5612 #: ../ng/src/dashlet/chart/chart.dashlet.ts:518 #: ../ng/src/setup/pushd/pushd.component.ts:164 #: ../ng/src/setup/alerts/alerts.component.ts:157 #: ../ng/src/setup/billing/billing.component.ts:188 ../display/settings.c:57 msgid "custom" msgstr "" #. Translators: Time-zone name #: ../www/Setting.js:159 ../display/settings.c:58 msgid "US/Eastern" msgstr "" #. Translators: Time-zone name #: ../www/Setting.js:161 ../display/settings.c:59 msgid "US/Central" msgstr "" #. Translators: Time-zone name #: ../www/Setting.js:163 ../display/settings.c:60 msgid "US/Mountain" msgstr "" #. Translators: Time-zone name #: ../www/Setting.js:165 ../display/settings.c:61 msgid "US/Arizona" msgstr "" #. Translators: Time-zone name #: ../www/Setting.js:167 ../display/settings.c:62 msgid "US/Pacific" msgstr "" #. Translators: Time-zone name #: ../www/Setting.js:169 ../display/settings.c:63 msgid "US/Alaska" msgstr "" #. Translators: Time-zone name #: ../www/Setting.js:171 ../display/settings.c:64 msgid "US/Hawaii" msgstr "" #. Translators: Time-zone name #: ../www/Setting.js:174 ../display/settings.c:65 msgid "US/Baker Island" msgstr "" #. Translators: Time-zone name #: ../www/Setting.js:176 ../display/settings.c:66 msgid "US/Samoa" msgstr "" #. Translators: Time-zone name #: ../www/Setting.js:178 ../display/settings.c:67 msgid "Australia/Central" msgstr "" #. Translators: Time-zone name #: ../www/Setting.js:180 ../display/settings.c:68 msgid "Australia/Eastern" msgstr "" #. Translators: Time-zone name #: ../www/Setting.js:182 ../display/settings.c:69 msgid "Australia/Norfolk" msgstr "" #. Translators: Time-zone name #: ../www/Setting.js:184 msgid "Azores Islands" msgstr "" #. Translators: Time-zone name #: ../www/Setting.js:186 ../display/settings.c:70 msgid "Brazil" msgstr "" #. Translators: Time-zone name #: ../www/Setting.js:188 ../display/settings.c:71 msgid "Canada/Atlantic" msgstr "" #. Translators: Time-zone name #: ../www/Setting.js:190 ../display/settings.c:72 msgid "China/Beijing" msgstr "" #. Translators: Time-zone name #: ../www/Setting.js:192 ../display/settings.c:73 msgid "Europe/Central" msgstr "" #. Translators: Time-zone name #: ../www/Setting.js:194 ../display/settings.c:74 msgid "Europe/Eastern" msgstr "" #. Translators: Time-zone name #: ../www/Setting.js:196 ../display/settings.c:75 msgid "Europe/Western" msgstr "" #. Translators: Time-zone name #: ../www/Setting.js:198 ../display/settings.c:76 msgid "India" msgstr "" #. Translators: Time-zone name #: ../www/Setting.js:200 ../display/settings.c:77 msgid "Iran" msgstr "" #. Translators: Time-zone name #: ../www/Setting.js:202 ../display/settings.c:78 msgid "Iraq/Baghdad" msgstr "" #. Translators: Time-zone name #: ../www/Setting.js:204 ../display/settings.c:79 msgid "Kazakhstan/Astana" msgstr "" #. Translators: Time-zone name #: ../www/Setting.js:206 ../display/settings.c:80 msgid "New Zealand" msgstr "" #. Translators: Time-zone name #: ../www/Setting.js:208 ../display/settings.c:81 msgid "Pakistan/Karachi" msgstr "" #. Translators: Time-zone name #: ../www/Setting.js:210 ../display/settings.c:82 msgid "Russia/Moscow" msgstr "" #. Translators: Time-zone name #: ../www/Setting.js:212 ../display/settings.c:83 msgid "Russia/Vladivostok" msgstr "" #. Translators: Time-zone name #: ../www/Setting.js:214 ../display/settings.c:84 msgid "South Sandwich" msgstr "" #. Translators: Time-zone name #: ../www/Setting.js:216 msgid "Thailand/Bangkok" msgstr "" #. Translators: Time-zone name #: ../www/Setting.js:218 ../display/settings.c:86 msgid "Tokyo" msgstr "" #. Translators: %1 and %2 are numbers specifying a range. #: ../www/Setting.js:506 msgid "%1…%2" msgstr "" #: ../www/Setting.js:677 msgid "baud" msgstr "" #: ../www/Setting.js:678 msgid "8 data bits" msgstr "" #. Translators: Parity-bit selection of no parity (no), even #. parity (even), or odd parity (odd). #: ../www/Setting.js:682 ../cgi-bin/modbuscfg.c:248 ../webapi/output.c:298 msgid "no" msgstr "" #: ../www/Setting.js:682 #: ../ng/src/setup/modbus/map/option-dialog.component.ts:71 msgid "even" msgstr "" #: ../www/Setting.js:682 #: ../ng/src/setup/modbus/map/option-dialog.component.ts:78 msgid "odd" msgstr "" #: ../www/Setting.js:688 msgid "parity" msgstr "" #: ../www/Setting.js:696 msgid "stop bit(s)" msgstr "" #. Translators: See http://egauge.net/i18n/date-time/#parse #: ../www/Setting.js:849 msgid "M/d(/y) (h(:mm) a)" msgstr "" #. Translators: See http://egauge.net/i18n/date-time/ #: ../www/Setting.js:892 msgid "M/d/y h:mm:ssa" msgstr "" #. Translators: See http://egauge.net/i18n/date-time/#parse #: ../www/Setting.js:907 msgid "M/d(/y) h(:mm(:ss)) a" msgstr "" #: ../www/Setting.js:943 msgid "Detect" msgstr "" #. Translators: Geographic latitude. #: ../www/Setting.js:1014 msgid "Latitude" msgstr "" #. Translators: Geographic longitude. #: ../www/Setting.js:1023 msgid "Longitude" msgstr "" #: ../www/Setting.js:1035 msgid "map" msgstr "" #: ../www/Setting.js:1046 msgid "address lookup" msgstr "" #: ../www/Setting.js:1210 msgid "direct (no PT)" msgstr "" #. Translators: "scale" here refers to the decimal number by #. which a sensor value will be scaled by. #: ../www/Setting.js:1221 msgid "scale:" msgstr "" #: ../www/Setting.js:1226 msgid "" "The number by which the measured digital value should be divided by to yield " "the final measurement value." msgstr "" #: ../www/Setting.js:1379 msgid "Voltage Sensor" msgstr "" #: ../www/Setting.js:1385 msgid "Current Sensor" msgstr "" #: ../www/Setting.js:1386 msgid "Charge Sensor" msgstr "" #: ../www/Setting.js:1387 msgid "Power Sensor" msgstr "" #: ../www/Setting.js:1388 msgid "Reactive-power Sensor" msgstr "" #: ../www/Setting.js:1389 msgid "Apparent-power Sensor" msgstr "" #: ../www/Setting.js:1390 msgid "Frequency Sensor" msgstr "" #: ../www/Setting.js:1391 msgid "Resistance Sensor" msgstr "" #: ../www/Setting.js:1392 msgid "Angle Sensor" msgstr "" #: ../www/Setting.js:1393 msgid "Temperature Sensor" msgstr "" #: ../www/Setting.js:1394 msgid "Humidity Sensor" msgstr "" #: ../www/Setting.js:1395 msgid "Pressure Sensor" msgstr "" #: ../www/Setting.js:1396 msgid "Mass Sensor" msgstr "" #: ../www/Setting.js:1397 msgid "Velocity Sensor" msgstr "" #: ../www/Setting.js:1398 msgid "Mass-flow Sensor" msgstr "" #: ../www/Setting.js:1399 msgid "Volumetric-flow Sensor" msgstr "" #: ../www/Setting.js:1400 msgid "Percentage Sensor" msgstr "" #: ../www/Setting.js:1401 msgid "PPM Sensor" msgstr "" #: ../www/Setting.js:1402 msgid "Air-quality Sensor" msgstr "" #: ../www/Setting.js:1403 msgid "Number Sensor" msgstr "" #: ../www/Setting.js:1407 msgid "Temp. Sensor" msgstr "" #: ../www/Setting.js:1408 msgid "NTC Temp. Sensor" msgstr "" #: ../www/Setting.js:1409 msgid "Pulse Sensor" msgstr "" #: ../www/Setting.js:1471 msgid "" "To manually select a sensor for this port, click on the button and delete " "the CTid information associated with the port." msgstr "" #: ../www/Setting.js:1501 msgid "The number by which to multiply the measured current by." msgstr "" #. Translators: Abbreviation for "calibration-value". #: ../www/Setting.js:1513 msgid "cal:" msgstr "" #. Translators: Abbreviation for "adjustment". #: ../www/Setting.js:1519 msgid "adj" msgstr "" #: ../www/Setting.js:1520 msgid "" "There is no need to enter a value here except for old ropes with a " "calibration sticker. For those, please enter the value printed on the " "sticker here." msgstr "" #: ../www/Setting.js:1672 msgid "Please select a valid multiplier value for %1." msgstr "" #: ../www/Setting.js:1818 msgid "Remove Component" msgstr "" #: ../www/Setting.js:1864 msgid "Ignoring register %1 (id %2) with duplicate subtype `%3'." msgstr "" #: ../www/Setting.js:1980 msgid "Appending `*' to name of apparent-power register `%1'." msgstr "" #: ../www/Setting.js:2040 msgid "Device name must not be empty." msgstr "" #: ../www/Setting.js:2043 msgid "Device name `local' is reserved." msgstr "" #: ../www/Setting.js:2046 msgid "Device name must be unique." msgstr "" #: ../www/Setting.js:2049 msgid "Device name may not consist entirely of digits." msgstr "" #: ../www/Setting.js:2131 msgid "Fetch registers from device." msgstr "" #: ../www/Setting.js:2136 msgid "Fetching registers from device." msgstr "" #: ../www/Setting.js:2142 msgid "Registers have been fetched from device." msgstr "" #: ../www/Setting.js:2147 msgid "Unable to fetch registers from device." msgstr "" #: ../www/Setting.js:2246 msgid "Remove Device" msgstr "" #: ../www/Setting.js:2264 msgid "remote eGauge via UDP" msgstr "" #: ../www/Setting.js:2265 msgid "remote eGauge via TCP" msgstr "" #: ../www/Setting.js:2269 msgid "Power-One Aurora inverter" msgstr "" #: ../www/Setting.js:2305 ../www/Setting.js:2374 ../www/Setting.js:2376 #: ../www/Setting.js:2389 ../ng/src/app/dash/dash.component.ts:100 msgid "Edit" msgstr "" #: ../www/Setting.js:2346 msgid "Hide" msgstr "" #: ../www/Setting.js:2356 msgid "Time [s]" msgstr "" #: ../www/Setting.js:2361 msgid "Trace message" msgstr "" #: ../www/Setting.js:2412 ../www/Setting.js:2443 msgid "Device name" msgstr "" #: ../www/Setting.js:2417 msgid "Protocol:" msgstr "" #: ../www/Setting.js:2422 msgid "Device address:" msgstr "" #: ../www/Setting.js:2437 msgid "Add Device" msgstr "" #: ../www/Setting.js:2530 msgid "Please select at least one item to record." msgstr "" #: ../www/Setting.js:2539 msgid "Sorry, all available registers in use. Please uncheck some items." msgstr "" #: ../www/Setting.js:2598 msgid "" "Subtypes `%1' can be calculated from existing subtypes `%2', so there is no " "need to record them explicitly." msgstr "" #: ../www/Setting.js:2603 msgid "" "Subtype `%1' can be calculated from existing subtypes `%2', so there is no " "need to record it explicitly." msgstr "" #: ../www/Setting.js:2609 msgid "" "Subtype `%1' can be calculated from subtypes `%2', so there is no need to " "record it explicitly." msgstr "" #: ../www/Setting.js:2865 msgid "Add Component" msgstr "" #: ../www/Setting.js:3038 msgid "Register name must not be empty." msgstr "" #: ../www/Setting.js:3041 msgid "Register name may not consist entirely of digits." msgstr "" #: ../www/Setting.js:3044 msgid "Register name must be unique." msgstr "" #: ../www/Setting.js:3048 msgid "Register name may not start with a dot." msgstr "" #: ../www/Setting.js:3051 msgid "Register name may not contain any commas." msgstr "" #: ../www/Setting.js:3054 msgid "Physical register name may not contain a dot." msgstr "" #: ../www/Setting.js:3058 msgid "Virtual register name may not contain multiple dots." msgstr "" #: ../www/Setting.js:3112 msgid "Remove Register (id %1)" msgstr "" #: ../www/Setting.js:3269 msgid "Recorded value/formula:" msgstr "" #: ../www/Setting.js:3290 ../www/Setting.js:4124 msgid "Add Register" msgstr "" #: ../www/Setting.js:3296 msgid "" "Sorry, all %1 registers are in use. Note: For local registers recording " "power, each recording of net, positive, negative, or apparent power counts " "as one register." msgstr "" #: ../www/Setting.js:3512 msgid "" "Cannot fetch registers from more than %1 devices at the same time. Please " "wait for another device to finish loading." msgstr "" #: ../www/Setting.js:3773 msgid "Please select sensor type for %1." msgstr "" #: ../www/Setting.js:4098 msgid "Remove Virtual Register" msgstr "" #: ../www/Setting.js:4169 msgid "Add Virtual Register" msgstr "" #: ../www/Setting.js:4175 msgid "Virtual Register" msgstr "" #: ../www/Setting.js:4262 msgid "Sorry, an internal error occurred." msgstr "" #: ../www/Setting.js:4461 msgid "Allowed to view all data and change settings from anywhere" msgstr "" #: ../www/Setting.js:4463 msgid "" "Allowed to view data, change settings, and control devices from anywhere" msgstr "" #: ../www/Setting.js:4466 msgid "Allowed to view all data and change settings from LAN only" msgstr "" #: ../www/Setting.js:4468 msgid "Allowed to view all data and settings" msgstr "" #: ../www/Setting.js:4469 msgid "Allowed to view all data, but not settings" msgstr "" #: ../www/Setting.js:4470 msgid "Restricted to username view" msgstr "" #: ../www/Setting.js:4585 msgid "Message Format" msgstr "" #: ../www/Setting.js:4589 msgid "Email address or phone number" msgstr "" #: ../www/Setting.js:4594 msgid "Min. Alert
Prio" msgstr "" #. Translators: %1 is a cell-phone operator (e.g., AT&T) #: ../www/Setting.js:4617 msgid "SMS to %1 phone" msgstr "" #: ../www/Setting.js:4645 msgid "Send Test Message" msgstr "" #: ../www/Setting.js:4738 msgid "Click to send a test message." msgstr "" #: ../www/Setting.js:4739 msgid "Save the changed settings to (re-)enable testing." msgstr "" #: ../www/Setting.js:4774 msgid "Trigger Condition" msgstr "" #: ../www/Setting.js:4837 msgid "Remove Alert" msgstr "" #. Translators: Header for the column in the #. alert-configuration table which gives the frequency #. with which the alert-condition should be checked (e.g., #. each minute or daily). #: ../www/Setting.js:4866 msgid "Chk Freq" msgstr "" #. Translators: Abbreviation for "Message". This is used as #. a column-header in user-defined alert patterns. #: ../www/Setting.js:4884 msgid "Msg" msgstr "" #: ../www/Setting.js:5159 ../ng/src/setup/pushd/pushd.component.ts:150 msgid "1 minute" msgstr "" #: ../www/Setting.js:5160 ../www/Setting.js:5161 ../www/Setting.js:5162 #: ../www/Setting.js:5163 ../ng/src/dashlet/export/export.dashlet.ts:530 #: ../ng/src/setup/pushd/pushd.component.ts:151 #: ../ng/src/setup/pushd/pushd.component.ts:152 #: ../ng/src/setup/pushd/pushd.component.ts:153 #: ../ng/src/setup/pushd/pushd.component.ts:154 msgid "%1 minutes" msgstr "" #: ../www/Setting.js:5165 ../www/Setting.js:5166 ../www/Setting.js:5167 #: ../ng/src/setup/pushd/pushd.component.ts:156 #: ../ng/src/setup/pushd/pushd.component.ts:157 #: ../ng/src/setup/pushd/pushd.component.ts:158 msgid "%1 hours" msgstr "" #. Translators: Label used when the push-service is disabled. #: ../www/Setting.js:5180 msgid "disabled" msgstr "" #. Translators: URI = Web address (Universal Resource Indicator) #: ../www/Setting.js:5191 ../www/Setting.js:5636 msgid "URI:" msgstr "" #: ../www/Setting.js:5199 ../www/Setting.js:5644 msgid "Options:" msgstr "" #: ../www/Setting.js:5266 msgid "Setting.PushService.set: don't know about %1." msgstr "" #: ../www/Setting.js:5342 ../display/main_menu.c:42 msgid "Display" msgstr "" #: ../www/Setting.js:5354 msgid "Instantaneous Value" msgstr "" #: ../www/Setting.js:5358 msgid "Cumulative Value" msgstr "" #: ../www/Setting.js:5573 msgid "Alert Provider Signup" msgstr "" #: ../www/Setting.js:5575 msgid "Activation of alert provider failed." msgstr "" #: ../www/Setting.js:5581 msgid "Activation failed: %1" msgstr "" #: ../www/Setting.js:5611 msgid "SMTP Gateway" msgstr "" #: ../www/Setting.js:5623 msgid "Activate" msgstr "" #: ../www/Setting.js:5697 msgid "Unknown Alert Provider setting `%1'." msgstr "" #: ../www/classic.js:34 msgid "Summary for time-period shown in graph" msgstr "" #: ../www/classic.js:45 msgid "1y" msgstr "" #: ../www/classic.js:46 msgid "6M" msgstr "" #: ../www/classic.js:47 msgid "3M" msgstr "" #: ../www/classic.js:48 msgid "1M" msgstr "" #: ../www/classic.js:49 msgid "3w" msgstr "" #: ../www/classic.js:50 msgid "1w" msgstr "" #: ../www/classic.js:51 msgid "3d" msgstr "" #: ../www/classic.js:52 msgid "1d" msgstr "" #: ../www/classic.js:53 msgid "12h" msgstr "" #: ../www/classic.js:54 msgid "6h" msgstr "" #: ../www/classic.js:55 msgid "3h" msgstr "" #: ../www/classic.js:56 msgid "1h" msgstr "" #: ../www/classic.js:57 msgid "10m" msgstr "" #. Translators: Label for automatic power-zoom button. #: ../www/classic.js:62 ../ng/src/dashlet/scope/trigger/trigger.component.ts:66 msgid "Auto" msgstr "" #. Translators: Physical unit "kilowatt". #: ../www/classic.js:64 ../www/classic.js:65 ../www/classic.js:66 #: ../www/classic.js:67 ../www/classic.js:68 ../www/classic.js:69 msgid "kW" msgstr "" #: ../www/classic.js:76 msgid "Summary for selected time period..." msgstr "" #: ../www/classic.js:77 msgid "Summary for time-period starting now" msgstr "" #: ../www/classic.js:78 msgid "Summary since start of hour" msgstr "" #: ../www/classic.js:79 msgid "Summary since start of day" msgstr "" #: ../www/classic.js:80 msgid "Summary since start of week" msgstr "" #: ../www/classic.js:81 msgid "Summary since start of month" msgstr "" #: ../www/classic.js:82 msgid "Summary since start of year" msgstr "" #: ../www/classic.js:83 msgid "Summary since start of recording" msgstr "" #: ../www/classic.js:84 msgid "Summary over last hour" msgstr "" #: ../www/classic.js:85 msgid "Summary over last 24 hours" msgstr "" #: ../www/classic.js:86 msgid "Summary over last week" msgstr "" #: ../www/classic.js:87 msgid "Summary over last 30 days" msgstr "" #: ../www/classic.js:88 msgid "Summary over last year" msgstr "" #. Translators: %1 is a date and time string #: ../www/classic.js:130 msgid "Summary between %1 and now" msgstr "" #: ../www/classic.js:201 msgid "Energy Used" msgstr "" #: ../www/classic.js:226 msgid "Energy Generated" msgstr "" #: ../www/classic.js:252 msgid "Net" msgstr "" #. Translators: %1 is a cost amount in the local currency #: ../www/classic.js:311 msgid "(approx. %1 used)" msgstr "" #. Translators: %1 is the amount of money saved #: ../www/classic.js:319 msgid "(approx. %1 saved)" msgstr "" #. Translators: %1 is the amount of energy sold (in kWh) #: ../www/classic.js:326 msgid "%1 sold" msgstr "" #. Translators: %1 is the amount of energy bought (in kWh) #: ../www/classic.js:330 msgid "%1 bought" msgstr "" #. Translators: %1 is money earned (local currency) #: ../www/classic.js:337 msgid "(approx. %1 earned)" msgstr "" #. Translators: %1 is money spent (local currency) #: ../www/classic.js:341 msgid "(approx. %1 spent)" msgstr "" #. Translators: %1 is the device name, normally "eGauge" #. and this string is used to form the title of the main #. dash-board page. #: ../www/classic.js:490 msgid "%1 Center" msgstr "" #: ../www/classic.js:528 ../ng/src/app/toolbar/toolbar.component.ts:71 msgid "View" msgstr "" #: ../www/classic.js:530 ../www/common/base_layout.tmpl.x:21 #: ../www/common/lan.tmpl.x:6 msgid "LAN Access" msgstr "" #: ../www/classic.js:532 ../www/common/tools.tmpl.x:6 #: ../www/common/base_layout.tmpl.x:22 ../display/main_menu.c:136 msgid "Tools" msgstr "" #: ../www/classic.js:534 ../www/common/settings.tmpl.x:6 #: ../www/common/help.tmpl.x:75 ../www/common/base_layout.tmpl.x:23 #: ../display/main_menu.c:137 msgid "Settings" msgstr "" #: ../www/classic.js:536 ../www/Common.js:25 #: ../ng/src/app/toolbar/toolbar.component.ts:227 ../www/common/help.tmpl.x:6 #: ../www/common/base_layout.tmpl.x:24 msgid "Help" msgstr "" #: ../www/classic.js:548 msgid "Month-by-Month Summary" msgstr "" #: ../www/classic.js:549 msgid "Bunny Kiosk" msgstr "" #: ../www/classic.js:550 msgid "Sleek Kiosk" msgstr "" #: ../www/classic.js:551 msgid "Device Status" msgstr "" #: ../www/classic.js:552 ../ng/src/dashlet/alerts/alerts.dashlet.ts:174 #: ../ng/src/app/toolbar/toolbar.component.ts:75 #: ../ng/src/app/toolbar/toolbar.component.ts:141 #: ../ng/src/setup/setup.component.ts:32 ../www/common/settings.tmpl.x:35 #: ../www/common/help.tmpl.x:786 ../www/common/base_layout.tmpl.x:18 #: ../www/common/alerts.tmpl.x:6 msgid "Alerts" msgstr "" #: ../www/classic.js:553 ../ng/src/dashlet/scope/scope.dashlet.ts:851 #: ../ng/src/app/toolbar/toolbar.component.ts:88 msgid "Waveform" msgstr "" #: ../www/classic.js:554 msgid "Modern user-interface" msgstr "" #: ../www/HTTP.js:156 msgid "HTTP request failed with status %1" msgstr "" #: ../www/kiosk-bunny.js:126 msgid "%1 kWh generated" msgstr "" #. Translators: Physical unit "kilograms" #: ../www/kiosk-bunny.js:129 msgid "kg" msgstr "" #. Translators: Physical unit "imperial pounds" #: ../www/kiosk-bunny.js:135 msgid "lbs" msgstr "" #: ../www/kiosk-bunny.js:140 msgid "%1 CO2 saved" msgstr "" #. Translators: Physical unit "liter". #: ../www/kiosk-bunny.js:145 msgid "L" msgstr "" #: ../www/kiosk-bunny.js:150 msgid "gallons" msgstr "" #. Translators: %1 is the amount of gasoline saved #. (liters or gallons). #: ../www/kiosk-bunny.js:157 msgid "%1 gas saved" msgstr "" #: ../www/kiosk-bunny.js:173 ../www/common/kiosk/index.tmpl.x:6 msgid "Today:" msgstr "" #: ../www/kiosk-bunny.js:176 msgid "Since recording started" msgstr "" #: ../www/kiosk-bunny.js:178 msgid "Since recording started on %1" msgstr "" #: ../www/kiosk-bunny.js:180 msgid "NNN d, y" msgstr "" #: ../www/kiosk-bunny.js:183 msgid "Generation & Usage over Past 24 Hours:" msgstr "" #: ../www/kiosk-bunny.js:201 msgid "%1 seconds till next screen..." msgstr "" #: ../www/Date.js:110 msgid "year" msgstr "" #: ../www/Date.js:111 msgid "month" msgstr "" #: ../www/Date.js:267 msgid "January" msgstr "" #: ../www/Date.js:268 msgid "February" msgstr "" #: ../www/Date.js:269 msgid "March" msgstr "" #: ../www/Date.js:270 msgid "April" msgstr "" #: ../www/Date.js:271 msgid "May" msgstr "" #: ../www/Date.js:272 msgid "June" msgstr "" #: ../www/Date.js:273 msgid "July" msgstr "" #: ../www/Date.js:274 msgid "August" msgstr "" #: ../www/Date.js:275 msgid "September" msgstr "" #: ../www/Date.js:276 msgid "October" msgstr "" #: ../www/Date.js:277 msgid "November" msgstr "" #: ../www/Date.js:278 msgid "December" msgstr "" #. Translators: abbreviation for "January" #. Translators: Abbreviated month name #: ../www/Date.js:280 ../www/Widget.js:21 ../www/common/stats.tmpl.x:39 msgid "Jan" msgstr "" #. Translators: abbreviation for "February" #. Translators: Abbreviated month name #: ../www/Date.js:282 ../www/Widget.js:23 ../www/common/stats.tmpl.x:40 msgid "Feb" msgstr "" #. Translators: abbreviation for "March" #. Translators: Abbreviated month name #: ../www/Date.js:284 ../www/Widget.js:25 ../www/common/stats.tmpl.x:41 msgid "Mar" msgstr "" #. Translators: abbreviation for "April" #. Translators: Abbreviated month name #: ../www/Date.js:286 ../www/Widget.js:27 ../www/common/stats.tmpl.x:42 msgid "Apr" msgstr "" #. Translators: abbreviation for "May" #. Translators: Abbreviated month name #: ../www/Date.js:288 ../www/Widget.js:29 msgctxt "monthabbrev" msgid "May" msgstr "" #. Translators: abbreviation for "June" #. Translators: Abbreviated month name #: ../www/Date.js:290 ../www/Widget.js:31 ../www/common/stats.tmpl.x:44 msgid "Jun" msgstr "" #. Translators: abbreviation for "July" #. Translators: Abbreviated month name #: ../www/Date.js:292 ../www/Widget.js:33 ../www/common/stats.tmpl.x:45 msgid "Jul" msgstr "" #. Translators: abbreviation for "August" #. Translators: Abbreviated month name #: ../www/Date.js:294 ../www/Widget.js:35 ../www/common/stats.tmpl.x:46 msgid "Aug" msgstr "" #. Translators: abbreviation for "September" #. Translators: Abbreviated month name #: ../www/Date.js:296 ../www/Widget.js:37 ../www/common/stats.tmpl.x:47 msgid "Sep" msgstr "" #. Translators: abbreviation for "October" #. Translators: Abbreviated month name #: ../www/Date.js:298 ../www/Widget.js:39 ../www/common/stats.tmpl.x:48 msgid "Oct" msgstr "" #. Translators: abbreviation for "November" #. Translators: Abbreviated month name #: ../www/Date.js:300 ../www/Widget.js:41 ../www/common/stats.tmpl.x:49 msgid "Nov" msgstr "" #. Translators: abbreviation for "December" #. Translators: Abbreviated month name #: ../www/Date.js:302 ../www/Widget.js:43 ../www/common/stats.tmpl.x:50 msgid "Dec" msgstr "" #: ../www/Date.js:303 msgid "Sunday" msgstr "" #: ../www/Date.js:303 msgid "Monday" msgstr "" #: ../www/Date.js:303 msgid "Tuesday" msgstr "" #: ../www/Date.js:303 msgid "Wednesday" msgstr "" #: ../www/Date.js:304 msgid "Thursday" msgstr "" #: ../www/Date.js:304 msgid "Friday" msgstr "" #: ../www/Date.js:304 msgid "Saturday" msgstr "" #. Translators: abbreviation for "Sunday" #: ../www/Date.js:306 msgid "Sun" msgstr "" #. Translators: abbreviation for "Monday" #: ../www/Date.js:308 msgid "Mon" msgstr "" #. Translators: abbreviation for "Tuesday" #: ../www/Date.js:310 msgid "Tue" msgstr "" #. Translators: abbreviation for "Wednesday" #: ../www/Date.js:312 msgid "Wed" msgstr "" #. Translators: abbreviation for "Thursday" #: ../www/Date.js:314 msgid "Thu" msgstr "" #. Translators: abbreviation for "Friday" #: ../www/Date.js:316 msgid "Fri" msgstr "" #. Translators: abbreviation for "Saturday" #: ../www/Date.js:318 msgid "Sat" msgstr "" #. Translators: The designator for "afternoon" in a 12-hour clock #. ("pm" stands for post-meridiem). #: ../www/Date.js:388 msgid "pm" msgstr "" #. Translators: The designator for "morning" in a 12-hour clock #. ("am" stands for ante-meridiem). #: ../www/Date.js:391 msgid "am" msgstr "" #. Translators: Abbreviated weekday name #: ../www/Widget.js:46 msgid "Su" msgstr "" #. Translators: Abbreviated weekday name #: ../www/Widget.js:48 msgid "Mo" msgstr "" #. Translators: Abbreviated weekday name #: ../www/Widget.js:50 msgid "Tu" msgstr "" #. Translators: Abbreviated weekday name #: ../www/Widget.js:52 msgid "We" msgstr "" #. Translators: Abbreviated weekday name #: ../www/Widget.js:54 msgid "Th" msgstr "" #. Translators: Abbreviated weekday name #: ../www/Widget.js:56 msgid "Fr" msgstr "" #. Translators: Abbreviated weekday name #: ../www/Widget.js:58 msgid "Sa" msgstr "" #. Translators: See http://egauge.net/i18n/date-time/#parse #: ../www/Widget.js:181 ../www/Widget.js:442 msgid "M/d(/y)" msgstr "" #: ../www/Widget.js:197 msgid "Previous Year" msgstr "" #: ../www/Widget.js:201 msgid "Previous Month" msgstr "" #: ../www/Widget.js:207 msgid "Next Month" msgstr "" #: ../www/Widget.js:211 msgid "Next Year" msgstr "" #: ../www/Widget.js:218 msgid "Close Calendar" msgstr "" #: ../www/Widget.js:322 msgid "Hour" msgstr "" #: ../www/Widget.js:327 msgid "Close Timepicker" msgstr "" #. Translators: See http://egauge.net/i18n/date-time/ #. Translators: See http://egauge.net/i18n/luxon/ #: ../www/Widget.js:428 #: ../ng/src/base/time-range-dialog/time-range-dialog.component.ts:103 #: ../ng/src/base/time-range-dialog/time-range-dialog.component.ts:121 msgid "M/d/y" msgstr "" #. Translators: See http://egauge.net/i18n/date-time/#parse #: ../www/Widget.js:445 msgid "h(:mm) a" msgstr "" #. Translators: See http://egauge.net/i18n/date-time/ #: ../www/Widget.js:472 msgid "E NNN d, h:mm a" msgstr "" #. Translators: See http://egauge.net/i18n/date-time/ #: ../www/Widget.js:474 msgid "y, E NNN d, h:mm a" msgstr "" #: ../www/Widget.js:479 msgid "Click here to enter time-range to display" msgstr "" #: ../www/IE.js:49 msgid "Browser Upgrade Notice" msgstr "" #: ../www/ctid.js:29 msgid "voltage" msgstr "" #: ../www/ctid.js:30 msgid "current" msgstr "" #: ../www/ctid.js:31 msgid "charge" msgstr "" #: ../www/ctid.js:32 msgid "power" msgstr "" #: ../www/ctid.js:33 msgid "reactive power" msgstr "" #: ../www/ctid.js:34 msgid "apparent power" msgstr "" #: ../www/ctid.js:36 msgid "resistance" msgstr "" #: ../www/ctid.js:37 msgid "angle" msgstr "" #: ../www/ctid.js:38 msgid "temperature" msgstr "" #: ../www/ctid.js:39 msgid "humidity" msgstr "" #: ../www/ctid.js:40 msgid "pressure" msgstr "" #: ../www/ctid.js:41 msgid "mass" msgstr "" #: ../www/ctid.js:42 msgid "velocity" msgstr "" #: ../www/ctid.js:43 msgid "mass flow" msgstr "" #: ../www/ctid.js:44 msgid "volumetric flow" msgstr "" #: ../www/ctid.js:45 msgid "percentage" msgstr "" #: ../www/ctid.js:46 msgid "parts-per-million" msgstr "" #: ../www/ctid.js:137 msgid "Scan Checked Sensors" msgstr "" #: ../www/ctid.js:140 msgid "Cancel Scan" msgstr "" #: ../www/ctid.js:178 ../www/ctid.js:711 msgid "CTid system busy. Another user may be accessing it." msgstr "" #: ../www/ctid.js:181 ../www/ctid.js:483 ../www/ctid.js:646 ../www/ctid.js:714 msgid "Received unexpected reply: %1" msgstr "" #: ../www/ctid.js:186 ../www/ctid.js:487 ../www/ctid.js:719 msgid "Received unexpected status: %1" msgstr "" #: ../www/ctid.js:237 msgid "Calibration Table" msgstr "" #: ../www/ctid.js:238 msgid "Voltage adj." msgstr "" #. Translators: Abbreviation of "phase adjustment" #: ../www/ctid.js:240 msgid "Phase adj." msgstr "" #: ../www/ctid.js:262 msgid "Unknown sensor-type" msgstr "" #: ../www/ctid.js:266 msgid "AC CT" msgstr "" #: ../www/ctid.js:270 msgid "DC CT" msgstr "" #: ../www/ctid.js:274 msgid "differential-output AC CT" msgstr "" #: ../www/ctid.js:289 msgid "temp sensor" msgstr "" #: ../www/ctid.js:293 msgid "NTC temp sensor" msgstr "" #: ../www/ctid.js:298 msgid "pulse sensor" msgstr "" #. Translators: "normal" as in "normal polarity" #: ../www/ctid.js:308 msgid "normal polarity" msgstr "" #. Translators: "reversed" as in "reversed polarity" #: ../www/ctid.js:310 msgid "reversed polarity" msgstr "" #. Translators: Summary of CTid information. %1 is the output #. voltage, %2%3 together specify the output voltage #. temperature coefficient (in ppm/C), %4%5 together specify #. the phase-angle at the rated current (in degrees), %6%7 #. together specify the phase-angle temperature coefficient #. (in m°/°C), %8 specifies the rated current, %9 whether the #. CT has normal or reversed polarity, and %10 provides the #. manufacturer-specific info as a hexadecimal number. #: ../www/ctid.js:329 msgid "" "%1V (%2%3ppm/°C) and %4%5° (%6%7m°/°C) at %8A, manufacturer-" "specific data 0x%9" msgstr "" #: ../www/ctid.js:336 msgid "rated current %1" msgstr "" #: ../www/ctid.js:340 msgid "voltage %1" msgstr "" #: ../www/ctid.js:347 msgid "bias %1" msgstr "" #: ../www/ctid.js:353 #, javascript-format msgid " phase-shift %1%2°" msgstr "" #: ../www/ctid.js:363 msgid "scale %1" msgstr "" #: ../www/ctid.js:367 msgid "offset %1" msgstr "" #: ../www/ctid.js:370 msgid "delay %1μs" msgstr "" #: ../www/ctid.js:374 msgid "Steinhart-Hart coeff. A=%1 B=%2 C=%3, divider M=%4, R1=%5" msgstr "" #: ../www/ctid.js:383 msgid "Steinhart-Hart coeff. A=%1 B=%2 C=%3, parameters M=%4, N=%5, K=%6" msgstr "" #: ../www/ctid.js:394 msgid "threshold %1" msgstr "" #: ../www/ctid.js:401 msgid "debounce %1" msgstr "" #: ../www/ctid.js:406 msgid "count rising edges" msgstr "" #: ../www/ctid.js:407 msgid "count falling edges" msgstr "" #: ../www/ctid.js:408 msgid "count rising and falling edges" msgstr "" #: ../www/ctid.js:444 ../webapi/api-capture.c:254 msgid "A" msgstr "" #. Translators: %1 is the serial-number of a sensor #: ../www/ctid.js:447 msgid "SN %1" msgstr "" #: ../www/ctid.js:570 msgid "Delete CTid info for this sensor." msgstr "" #: ../www/ctid.js:658 msgid "Received unexpected status: %1 sensor %2" msgstr "" #: ../www/ctid.js:721 msgid "reversed" msgstr "" #. Translators: normal font size #: ../www/ctid.js:725 ../egauge/displayd-config.c:38 ../display/settings.c:815 msgid "normal" msgstr "" #: ../www/ctid.js:729 msgid "scanning with %1 polarity..." msgstr "" #: ../www/ctid.js:805 msgid "Sorry, model %1 does not support CTid®." msgstr "" #: ../www/PrefsGlobal.js:15 msgid "Custom device name to use in web-page titles" msgstr "" #: ../www/PrefsGlobal.js:17 msgid "" "Set this to the name you would like to appear in device's web-page titles." msgstr "" #: ../www/PrefsGlobal.js:21 msgid "Default time-zoom for the graph" msgstr "" #: ../www/PrefsGlobal.js:22 ../www/PrefsGlobal.js:140 msgid "Minutes" msgstr "" #: ../www/PrefsGlobal.js:23 msgid "" "Set this to the number of minutes that you would like the to display in the " "history-graph by default." msgstr "" #: ../www/PrefsGlobal.js:28 msgid "Default power-zoom for the graph" msgstr "" #: ../www/PrefsGlobal.js:31 msgid "" "Set this to the number of Watts that you would like the power-zoom to use by " "default (-1 = auto)." msgstr "" #: ../www/PrefsGlobal.js:36 msgid "List of registers to display in graph by default" msgstr "" #: ../www/PrefsGlobal.js:39 msgid "" "Select the registers which should be displayed in the graph by default. To " "add a register, select it from the drop-down menu. To delete a register, " "click its name in the list." msgstr "" #: ../www/PrefsGlobal.js:46 msgid "Default view to display" msgstr "" #: ../www/PrefsGlobal.js:48 msgid "Set this to the name of the view you would like to display by default." msgstr "" #: ../www/PrefsGlobal.js:53 msgid "Symbol to use for displaying monetary values" msgstr "" #: ../www/PrefsGlobal.js:55 msgid "" "Set this to the currency symbol or string to use for displaying monetary " "values. For example, $ for US Dollars, € for Euro, ¥ for Japanese Yen or " "Chinese Yuan, Fr. for Swiss Francs, etc. If this value is not set, $ will " "be used." msgstr "" #: ../www/PrefsGlobal.js:63 msgid "Currency code for displaying monetary values" msgstr "" #: ../www/PrefsGlobal.js:65 msgid "" "Set this to the three-letter currency code to use for displaying monetary " "values. For example, USD for US Dollars, EUR for Euro, JPY for Japanese " "Yen, CNY for Chinese Yuan, CHF for Swiss Francs, etc. If this value is not " "set, USD will be used." msgstr "" #: ../www/PrefsGlobal.js:73 msgid "Average cost of 1kWh of electricity" msgstr "" #: ../www/PrefsGlobal.js:74 ../www/PrefsGlobal.js:82 msgid "(currency amount)" msgstr "" #: ../www/PrefsGlobal.js:75 msgid "" "Set this to the average/approximate cost of one kWh of electricity. Set this " "to 0 to suppress monetary units on the main display." msgstr "" #: ../www/PrefsGlobal.js:81 msgid "Average REC-payment per kWh generated" msgstr "" #: ../www/PrefsGlobal.js:83 msgid "" "Set this to the average/approximate REC (Renewable Energy Credit) payment " "per kWh of electricity produced." msgstr "" #: ../www/PrefsGlobal.js:88 msgid "Money used register" msgstr "" #: ../www/PrefsGlobal.js:90 msgid "" "Set this to the register tracking the amount of money spent on energy " "consumed, not counting any money earned, e.g., from renewable energy " "production." msgstr "" #: ../www/PrefsGlobal.js:97 msgid "Money earned register" msgstr "" #: ../www/PrefsGlobal.js:99 msgid "" "Set this to the register tracking the amount of money earned, e.g., from " "renewable energy production." msgstr "" #: ../www/PrefsGlobal.js:106 msgid "Rated AC generation power" msgstr "" #: ../www/PrefsGlobal.js:106 msgid "Watts" msgstr "" #: ../www/PrefsGlobal.js:107 msgid "" "Set this to the sum total of the rated output of all renewable energy " "systems installed at the site." msgstr "" #: ../www/PrefsGlobal.js:113 msgid "Total battery capacity" msgstr "" #: ../www/PrefsGlobal.js:114 msgid "" "Set this to the sum total of the battery capacity (in kWh) of all batteries " "installed at the site." msgstr "" #: ../www/PrefsGlobal.js:119 msgid "Color that represents energy usage (negative numbers)" msgstr "" #: ../www/PrefsGlobal.js:122 msgid "" "Use the color picker to choose the color you want to appear on the graph for " "energy usage. The string that appears in the box is the hex value of the " "color (default: ff0000)." msgstr "" #: ../www/PrefsGlobal.js:129 msgid "Color that will represent energy generation (positive numbers)" msgstr "" #: ../www/PrefsGlobal.js:131 msgid "" "Use the color picker to choose the color you want to appear on the graph for " "energy generation. The string that appears in the box is the hex value of " "the color (default: 0f8202)." msgstr "" #: ../www/PrefsGlobal.js:139 msgid "Length of a demand interval." msgstr "" #: ../www/PrefsGlobal.js:141 msgid "" "Defines the length of a demand interval in minutes. Many utilities use 15-" "minute intervals to calculate an average peak demand which is used for " "billing purposes." msgstr "" #: ../www/PrefsGlobal.js:149 msgid "Day of month on which bill-cycle starts" msgstr "" #: ../www/PrefsGlobal.js:151 msgid "" "Set this to the (approx.) day of the month on which bill resets (i.e., when " "the meter is read)." msgstr "" #: ../www/PrefsGlobal.js:157 msgid "Contracted amount of power (in kW)" msgstr "" #: ../www/PrefsGlobal.js:159 msgid "" "Some utilities calculated a base charge based on the amount of power that " "was contracted. For such utilities, set this value to the contracted amount." msgstr "" #: ../www/PrefsGlobal.js:165 msgid "Minimum threshold-value considered to be a peak" msgstr "" #: ../www/PrefsGlobal.js:168 msgid "" "Set this to the average value that a register needs to exceed during a " "demand interval to be considered an alertable peak. For example, if set to " "5000, a register measuring power consumption would not trigger any alerts " "unless consumption averaged at least 5000W during a demand interval." msgstr "" #: ../www/PrefsGlobal.js:178 msgid "Custom register style(s)" msgstr "" #: ../www/PrefsGlobal.js:180 msgid "Use this to add a custom style to a specific register." msgstr "" #: ../www/PrefsGlobal.js:185 msgid "Approximate location expressed as a ZIP/Postal code" msgstr "" #: ../www/PrefsGlobal.js:187 msgid "" "Set this to the ZIP- or Postal-code of the site at which the device is " "installed." msgstr "" #: ../www/Common.js:20 ../ng/src/lib/register-names.ts:23 #: ../cgi-bin/modbuscfg.c:271 ../cgi-bin/egauge-cfg.c:115 #: ../cgi-bin/egauge-show.c:336 ../cgi-bin/egauge-cgi.c:245 #: ../cgi-bin/egauge-cgi.c:273 ../webapi/api-register-csv.c:51 msgid "Battery" msgstr "" #: ../www/Common.js:21 ../ng/src/lib/register-names.ts:24 #: ../cgi-bin/modbuscfg.c:273 ../cgi-bin/egauge-cfg.c:117 #: ../cgi-bin/egauge-show.c:338 ../cgi-bin/egauge-cgi.c:247 #: ../cgi-bin/egauge-cgi.c:275 ../webapi/api-register-csv.c:53 msgid "Battery left" msgstr "" #. Translators: %1 is a URL, %2 the number of seconds #. it took to reboot. #: ../www/reboot.js:44 msgid "Device back up; click %1 to reconnect (took %2 secs)." msgstr "" #: ../www/reboot.js:47 msgid "here" msgstr "" #. Translators: %1 is the # of seconds since reboot started. #: ../www/reboot.js:53 msgid "%1 seconds since reboot was initiated..." msgstr "" #: ../www/reboot.js:67 msgid "Reboot initiated..." msgstr "" #: ../www/reboot.js:98 msgid "" "It appears the device's name/IP-address may have been changed. Because of " "this, the Web-browser's security policy usually prevents this page from " "automatically detecting when the device is back up. Try reconnecting " "manually after about 10-60 seconds by clicking below:" msgstr "" #: ../www/fundoc.js:28 ../ng/src/dashlet/chart/item-dialog.component.ts:316 msgid "Function" msgstr "" #: ../www/fundoc.js:51 ../www/fundoc.js:53 msgid "CAUTION" msgstr "" #: ../www/fundoc.js:87 msgid "Basic Function Documentation" msgstr "" #: ../www/fundoc.js:90 msgid "Alert Function Documentation" msgstr "" #. Translators: Title for displaying register %1 data for year %2. #: ../www/stats.js:53 ../www/stats.js:58 msgid "%1 for %2" msgstr "" #. Translators: See http://egauge.net/i18n/date-time/ #: ../www/stats.js:60 msgid "MMM yyyy" msgstr "" #. Translators: %1 is a footnote-number (1-N) and %2 is #. the time starting from which data is available. #: ../www/stats.js:96 msgid "%1: Starting %2." msgstr "" #: ../www/stats.js:100 msgid "Footnotes:" msgstr "" #: ../www/stats.js:254 msgid "hh:mma NNN d, y" msgstr "" #. Translators: %1 is a footnote-number (1-N) and %2 is #. the time until which data is available. #: ../www/stats.js:338 msgid "%1: Ending %2." msgstr "" #. Translators: %1 and %2 form an HTML link (value. It is not possible to encode cyclic Lua " "tables or any value that would produce a string that is longer than 4095 " "bytes." msgstr "" #: ../ng/src/base/method-browser/method-browser.component.ts:199 msgid "" "Decode the JSON-string json and return the corresponding Lua " "value." msgstr "" #: ../ng/src/base/method-browser/method-browser.component.ts:216 msgid "" "Declare a persistent variable called name. If the variable has " "not been declared before, a new variable is created and its value is set to " "initial.The purpose of the persistent variable can be described " "with the string doc.The return value is a persistent variable " "object." msgstr "" #: ../ng/src/base/method-browser/method-browser.component.ts:227 msgid "Return the value of the persistent variable." msgstr "" #: ../ng/src/base/method-browser/method-browser.component.ts:233 msgid "Set the value of the persistent variable to value." msgstr "" #: ../ng/src/base/method-browser/method-browser.component.ts:256 msgid "" "Create a Dev object for the first device matching attributes attrs. For example, passing {interface=\"scpi\"} would select the first " "device which supports the \"scpi\" interface. If argument obj is " "specified, this class-method extends the object with the methods of the ctrl " "class." msgstr "" #: ../ng/src/base/method-browser/method-browser.component.ts:270 msgid "" "Create an object for the interface with name name. The methods " "defined by the interface can then be called through the returned object as " "if they were local methods." msgstr "" #: ../ng/src/base/method-browser/method-browser.component.ts:287 msgid "" "Call the method with name method on device object this method is " "invoked on. Argument args... is the list of arguments to be " "passed to the method. The method name may be a fully qualified method name " "consisting of an interface name, a dot (.), and a method name or just a " "proper method name on its own. In the latter case, the method is invoked on " "the first interface that implements method. Otherwise, the " "method is invoked on the named interface. Two values are returned: an " "integer status and a result value. The status is zero on success, in which " "result is the value returned by method. On error, status is a " "negative error code and the result is nil." msgstr "" #: ../ng/src/base/method-browser/method-browser.component.ts:312 msgid "" "Suspend execution of the calling task (coroutine) for at least the number of " "seconds given by secs. For example, a secs of 0.5 " "would suspend the task for at least 500ms." msgstr "" #: ../ng/src/base/method-browser/method-browser.component.ts:328 msgid "" "Create a task which, when executed, calls function func with " "arguments args. The function executes as a coroutine. The " "coroutine stops when the function returns. The function may call sleep() or " "coroutine.yield() to suspend execution temporarily and give other tasks a " "chance to run." msgstr "" #: ../ng/src/base/method-browser/method-browser.component.ts:339 msgid "" "Execute the tasks previously added with tasks:add() until they all have " "stopped." msgstr "" #: ../ng/src/base/method-browser/method-browser.component.ts:365 msgid "modules" msgstr "" #: ../ng/src/base/method-browser/method-browser.component.ts:380 msgid "functions" msgstr "" #: ../ng/src/base/method-browser/method-browser.component.ts:500 msgid "Methods" msgstr "" #: ../ng/src/base/method-browser/method-browser.component.ts:532 msgid "control interfaces" msgstr "" #: ../ng/src/base/method-browser/method-browser.component.ts:583 msgid "No matching methods." msgstr "" #: ../ng/src/base/method-browser/method-browser.component.ts:584 msgid "No methods." msgstr "" #: ../ng/src/base/legend/legend.component.ts:183 msgid "Add item to display" msgstr "" #: ../ng/src/base/legend/legend.component.ts:184 msgid "No items to display. Tap here to add." msgstr "" #: ../ng/src/base/legend/legend.component.ts:185 msgid "Remove item from display" msgstr "" #: ../ng/src/base/legend/legend.component.ts:218 msgid "Drag items to rearrange." msgstr "" #: ../ng/src/base/legend/legend.component.ts:221 msgid "Tap to rearrange or delete items." msgstr "" #: ../ng/src/dashlet/now-table/now-table.dashlet.ts:185 #: ../ng/src/dashlet/summary-table/summary-table.dashlet.ts:232 msgid "Add measurement" msgstr "" #: ../ng/src/dashlet/now-table/now-table.dashlet.ts:186 #: ../ng/src/dashlet/summary-table/summary-table.dashlet.ts:233 msgid "Nothing to display. Tap to add." msgstr "" #: ../ng/src/dashlet/now-table/now-table.dashlet.ts:187 #: ../ng/src/dashlet/summary-table/summary-table.dashlet.ts:234 msgid "Remove this measurement." msgstr "" #. Translators: Time with timezone format. See #. http://egauge.net/i18n/moment/ #: ../ng/src/dashlet/now-table/now-table.dashlet.ts:312 msgid "h:mm:ssa (z)" msgstr "" #: ../ng/src/dashlet/now-table/now-table.dashlet.ts:401 #: ../ng/src/dashlet/summary-table/summary-table.dashlet.ts:514 #: ../ng/src/setup/network/ntp/ntp.component.ts:326 msgid "Drag rows to rearrange." msgstr "" #: ../ng/src/dashlet/now-table/now-table.dashlet.ts:404 #: ../ng/src/dashlet/summary-table/summary-table.dashlet.ts:517 #: ../ng/src/setup/network/ntp/ntp.component.ts:328 msgid "Tap to rearrange or delete rows." msgstr "" #: ../ng/src/dashlet/now-table/now-table.dashlet.ts:451 msgid "Now Table" msgstr "" #: ../ng/src/dashlet/now-table/now-table.dashlet.ts:452 msgid "" "Display a table of the most recent measurements (registers). It is also " "possible to display a ratio of two registers." msgstr "" #: ../ng/src/dashlet/alerts/alerts.dashlet.ts:175 msgid "Alert not found. Tap here to view all." msgstr "" #: ../ng/src/dashlet/alerts/alerts.dashlet.ts:177 #: ../ng/src/dashlet/flow/config-dialog.component.ts:66 #: ../ng/src/dashlet/export/export.dashlet.ts:375 #: ../ng/src/app/not-found.component.ts:26 #: ../ng/src/app/dash/dashboard-manager.component.ts:77 #: ../ng/src/app/health/status.component.ts:41 #: ../ng/src/setup/lua/script/script.component.ts:57 #: ../ng/src/setup/lua/ctrl/ctrl-scripts.component.ts:77 #: ../ng/src/setup/network/wlan/wlan.component.ts:199 #: ../ng/src/setup/modbus/map/map.component.ts:236 msgid "Back" msgstr "" #: ../ng/src/dashlet/alerts/alerts.dashlet.ts:178 msgid "No alerts. Tap here to recheck." msgstr "" #: ../ng/src/dashlet/alerts/alerts.dashlet.ts:179 msgid "View All" msgstr "" #: ../ng/src/dashlet/alerts/alerts.dashlet.ts:184 msgid "Configure alerts" msgstr "" #: ../ng/src/dashlet/alerts/alerts.dashlet.ts:189 #: ../ng/src/app/health/status.component.ts:45 msgid "Recheck" msgstr "" #: ../ng/src/dashlet/alerts/alerts.dashlet.ts:197 msgid "once every 15 seconds" msgstr "" #: ../ng/src/dashlet/alerts/alerts.dashlet.ts:202 msgid "once a minute" msgstr "" #: ../ng/src/dashlet/alerts/alerts.dashlet.ts:207 msgid "once every quarter hour" msgstr "" #: ../ng/src/dashlet/alerts/alerts.dashlet.ts:212 msgid "once every half hour" msgstr "" #: ../ng/src/dashlet/alerts/alerts.dashlet.ts:217 msgid "once an hour" msgstr "" #: ../ng/src/dashlet/alerts/alerts.dashlet.ts:225 msgid "Mark all as read" msgstr "" #: ../ng/src/dashlet/alerts/alerts.dashlet.ts:231 msgid "Delete all" msgstr "" #: ../ng/src/dashlet/alerts/alerts.dashlet.ts:284 msgid "Occurred %1 times since %2." msgstr "" #: ../ng/src/dashlet/alerts/alerts.dashlet.ts:288 msgid "Last reported on %1." msgstr "" #: ../ng/src/dashlet/alerts/alerts.dashlet.ts:291 msgid "Priority %1. Id %2." msgstr "" #. Translators: A time range in a different timezone. %1 and %2 #. are date and time string and %2 is a timezone. #. #: ../ng/src/dashlet/alerts/alerts.dashlet.ts:368 #: ../ng/src/webapi/meter-time.ts:567 msgid "%1 (%2)" msgstr "" #. Translators: See http://egauge.net/i18n/moment/ #: ../ng/src/dashlet/alerts/alerts.dashlet.ts:370 #: ../ng/src/dashlet/chart/chart.dashlet.ts:2636 #: ../ng/src/dashlet/chart/focus.ts:539 #: ../ng/src/dashlet/summary-table/summary-table.dashlet.ts:380 msgid "M/D/Y h:mm:ssa" msgstr "" #: ../ng/src/dashlet/alerts/alerts.dashlet.ts:489 msgid "Failed to get alerts: %1" msgstr "" #: ../ng/src/dashlet/alerts/alerts.dashlet.ts:515 msgid "Deleting All Alerts" msgstr "" #: ../ng/src/dashlet/alerts/alerts.dashlet.ts:516 msgid "" "This operation cannot be undone. Please confirm that you would like to " "delete all alerts." msgstr "" #: ../ng/src/dashlet/alerts/alerts.dashlet.ts:539 msgid "Failed to delete alerts: %1" msgstr "" #: ../ng/src/dashlet/alerts/alerts.dashlet.ts:564 msgid "Failed to mark alert as read: %1" msgstr "" #: ../ng/src/dashlet/alerts/alerts.dashlet.ts:585 msgid "Failed to delete alert: %1" msgstr "" #: ../ng/src/dashlet/alerts/alerts.dashlet.ts:599 msgid "Alert viewer" msgstr "" #: ../ng/src/dashlet/alerts/alerts.dashlet.ts:601 msgid "View and manage pending alerts." msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:515 msgid "also show…" msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:517 msgid "Chart setup…" msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:519 msgid "Demand" msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:520 msgid "Dismiss the selected range." msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:521 msgid "Zoom to selected range." msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:522 msgid "" "In the legend below, tap an item to see its details; longpress to edit it. " "Tap a unit to change it." msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:526 #: ../ng/src/dashlet/chart/focus.ts:532 msgid "Maximum" msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:527 msgid "Min. to max." msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:528 #: ../ng/src/dashlet/chart/focus.ts:531 msgid "Minimum" msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:529 msgid "nothing" msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:530 msgid "Now" msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:531 msgid "max. rolling" msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:532 msgid "min. rolling" msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:533 msgid "max. set" msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:534 msgid "min. set" msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:535 msgid "Recent" msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:536 msgid "Restore time period." msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:537 msgid "Selected time" msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:538 msgid "demand…" msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:539 msgid "Time period…" msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:540 msgid "Accrued" msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:541 msgid "View all" msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:547 msgid "Rename this setup" msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:547 msgid "Name this setup" msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:554 msgid "Create empty setup" msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:560 #: ../ng/src/dashlet/chart/preset-dialog.component.ts:110 msgid "Manage setups" msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:567 msgid "Download chart data" msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:574 #: ../ng/src/dashlet/chart/augmentor-dialog.component.ts:34 msgid "Edit functions" msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:754 msgid "Setup \"%1\" loaded." msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:756 #: ../ng/src/app/dash/dashlet-manager.ts:888 #: ../ng/src/app/standalone/standalone.component.ts:261 msgid "Undo" msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:814 msgid "Tap to disable synchronizing chart items with available registers." msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:817 msgid "" "Tap to turn on synchronizing chart items with available registers. When on, " "a curve will be added for each register that is not already in use by the " "current chart setup." msgstr "" #. Translators: %1 is a chart item type (line, area, or ratio) #. and %2 is the name of the chart item to delete. #: ../ng/src/dashlet/chart/chart.dashlet.ts:1005 msgid "%1 \"%2\"" msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:1012 msgid "Removing Chart Items" msgstr "" #. Translators: %1 is the number of chart items to remove. #: ../ng/src/dashlet/chart/chart.dashlet.ts:1014 msgid "Remove %1 chart items?" msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:1017 msgid "items to be removed" msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:1021 msgid "missing registers" msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:1092 msgid "Adding Curves" msgstr "" #. Translators: %1 is the number of new registers detected. #: ../ng/src/dashlet/chart/chart.dashlet.ts:1094 msgid "Add curves for %1 registers?" msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:1097 msgid "new registers" msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:1148 msgid "Electricity used" msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:1157 msgid "Electricity generated" msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:1181 msgid "From utility" msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:1191 msgid "From battery" msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:1201 msgid "To utility" msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:1211 msgid "To battery" msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:1482 msgid "No details available." msgstr "" #. Translators: %1 is a register name whose current value is #. being displayed. %2 is the time point since which the #. register value has been accrued (e.g., "last bill"). #: ../ng/src/dashlet/chart/chart.dashlet.ts:2125 msgid "%1 (accrued since %2)" msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:2571 msgid "Save chart data" msgstr "" #. Translators: This is the default file name for saving a chart's data. #: ../ng/src/dashlet/chart/chart.dashlet.ts:2573 msgid "chart-data.csv" msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:2616 #: ../ng/src/dashlet/chart/focus.ts:525 msgid "Unix timestamp [s]" msgstr "" #. Translators: Title for column in CSV file showing date & time. #: ../ng/src/dashlet/chart/chart.dashlet.ts:2616 #: ../ng/src/dashlet/chart/focus.ts:525 ../cgi-bin/egauge-show.c:448 #: ../webapi/api-register-csv.c:35 msgid "Date & Time" msgstr "" #. Translators: %1 is the name, %2 a physical unit (e.g, "W"). #. Translators: %1 is a name, %2 a physical unit (e.g, "W"). #: ../ng/src/dashlet/chart/chart.dashlet.ts:2631 #: ../ng/src/dashlet/chart/focus.ts:152 #: ../ng/src/dashlet/export/export.dashlet.ts:721 msgid "%1 [%2]" msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:2824 #: ../ng/src/app/toolbar/toolbar.component.ts:82 #: ../ng/src/app/toolbar/toolbar.component.ts:110 msgid "Chart" msgstr "" #: ../ng/src/dashlet/chart/chart.dashlet.ts:2826 msgid "Display recorded and latest measurements as a graphical chart." msgstr "" #: ../ng/src/dashlet/chart/item-dialog.component.ts:252 msgid "curve" msgstr "" #: ../ng/src/dashlet/chart/item-dialog.component.ts:255 msgid "area" msgstr "" #: ../ng/src/dashlet/chart/item-dialog.component.ts:258 msgid "ratio" msgstr "" #: ../ng/src/dashlet/chart/item-dialog.component.ts:305 msgid "Show accrued value" msgstr "" #: ../ng/src/dashlet/chart/item-dialog.component.ts:306 msgid "Shaded area" msgstr "" #: ../ng/src/dashlet/chart/item-dialog.component.ts:307 msgid "Area bounds must have the same unit." msgstr "" #: ../ng/src/dashlet/chart/item-dialog.component.ts:308 msgid "Area bounds may not both be zero." msgstr "" #: ../ng/src/dashlet/chart/item-dialog.component.ts:309 msgid "Area for this lower/upper bound exists." msgstr "" #: ../ng/src/dashlet/chart/item-dialog.component.ts:312 msgid "Curve" msgstr "" #: ../ng/src/dashlet/chart/item-dialog.component.ts:313 msgid "Accrue since" msgstr "" #: ../ng/src/dashlet/chart/item-dialog.component.ts:315 msgid "Shade color" msgstr "" #: ../ng/src/dashlet/chart/item-dialog.component.ts:317 msgid "Type of item" msgstr "" #: ../ng/src/dashlet/chart/item-dialog.component.ts:318 msgid "Line style" msgstr "" #: ../ng/src/dashlet/chart/item-dialog.component.ts:319 msgid "Lower bound of area" msgstr "" #: ../ng/src/dashlet/chart/item-dialog.component.ts:320 msgid "Name of item" msgstr "" #: ../ng/src/dashlet/chart/item-dialog.component.ts:321 #: ../ng/src/app/dash/dashlet-rename-dialog.component.ts:33 #: ../ng/src/setup/alerts/custom-alert-dialog.component.ts:210 msgid "Name must be unique." msgstr "" #: ../ng/src/dashlet/chart/item-dialog.component.ts:322 msgid "Flip sign of graphed value" msgstr "" #: ../ng/src/dashlet/chart/item-dialog.component.ts:323 msgid "Flip sign of reported value" msgstr "" #: ../ng/src/dashlet/chart/item-dialog.component.ts:324 msgid "Flip sign of upper bound" msgstr "" #: ../ng/src/dashlet/chart/item-dialog.component.ts:325 msgid "Flip sign of lower bound" msgstr "" #: ../ng/src/dashlet/chart/item-dialog.component.ts:326 #: ../ng/src/dashlet/switch/config-dialog.component.ts:141 #: ../ng/src/app/health/checker.service.ts:679 #: ../ng/src/setup/alerts/alert-dest-dialog.component.ts:233 #: ../ng/src/setup/modbus/map/option-dialog.component.ts:77 #: ../egauge/statusd.c:589 ../egauge/statusd.c:590 ../display/tools.c:276 msgid "none" msgstr "" #: ../ng/src/dashlet/chart/item-dialog.component.ts:327 #: ../ng/src/dashlet/table-config-dialog/config-dialog.component.ts:199 msgid "Numerator" msgstr "" #: ../ng/src/dashlet/chart/item-dialog.component.ts:329 msgid "Physical unit" msgstr "" #: ../ng/src/dashlet/chart/item-dialog.component.ts:330 msgid "Ratio label" msgstr "" #: ../ng/src/dashlet/chart/item-dialog.component.ts:331 msgid "Reported register value" msgstr "" #: ../ng/src/dashlet/chart/item-dialog.component.ts:333 msgid "Advanced options" msgstr "" #: ../ng/src/dashlet/chart/item-dialog.component.ts:334 #: ../ng/src/dashlet/chart/item-dialog.component.ts:372 msgid "Add chart item" msgstr "" #: ../ng/src/dashlet/chart/item-dialog.component.ts:335 msgid "Upper bound of area" msgstr "" #: ../ng/src/dashlet/chart/item-dialog.component.ts:336 msgid "Value to graph" msgstr "" #: ../ng/src/dashlet/chart/item-dialog.component.ts:369 msgid "Select unit" msgstr "" #: ../ng/src/dashlet/chart/item-dialog.component.ts:372 msgid "Edit chart item" msgstr "" #. Translators: %1 is a physical unit. The final string should #. represent zero in a particular unit (e.g., "0 W" or "0 °C"). #: ../ng/src/dashlet/chart/item-dialog.component.ts:528 msgid "0 %1" msgstr "" #: ../ng/src/dashlet/chart/item-dialog.component.ts:572 msgid "Curve for \"%1\" with flipped sign exists." msgstr "" #: ../ng/src/dashlet/chart/item-dialog.component.ts:574 msgid "Curve for \"%1\" exists." msgstr "" #: ../ng/src/dashlet/chart/sync-dialog.component.ts:61 #: ../display/wireless.c:704 ../display/tools.c:125 ../display/tools.c:158 #: ../display/tools.c:464 msgid "No" msgstr "" #: ../ng/src/dashlet/chart/sync-dialog.component.ts:62 #: ../display/wireless.c:702 ../display/tools.c:126 ../display/tools.c:159 #: ../display/tools.c:465 msgid "Yes" msgstr "" #: ../ng/src/dashlet/chart/focus.ts:107 msgid "one minute ago" msgstr "" #: ../ng/src/dashlet/chart/focus.ts:108 msgid "one hour ago" msgstr "" #: ../ng/src/dashlet/chart/focus.ts:109 msgid "one day ago" msgstr "" #: ../ng/src/dashlet/chart/focus.ts:110 msgid "one week ago" msgstr "" #: ../ng/src/dashlet/chart/focus.ts:111 msgid "one month ago" msgstr "" #: ../ng/src/dashlet/chart/focus.ts:112 msgid "one year ago" msgstr "" #: ../ng/src/dashlet/chart/focus.ts:113 msgid "one bill cycle ago" msgstr "" #: ../ng/src/dashlet/chart/focus.ts:114 msgid "week average" msgstr "" #: ../ng/src/dashlet/chart/focus.ts:115 msgid "4 week average" msgstr "" #: ../ng/src/dashlet/chart/focus.ts:116 msgid "30 day average" msgstr "" #: ../ng/src/dashlet/chart/focus.ts:117 msgid "12 month average" msgstr "" #: ../ng/src/dashlet/chart/focus.ts:118 msgid "lifetime average" msgstr "" #. Translators: %1 is a number, %2 the physical unit for that #. number and %3 is a time range. #: ../ng/src/dashlet/chart/focus.ts:568 msgid "Demand %1 %2, %3" msgstr "" #: ../ng/src/dashlet/chart/preset-dialog.component.ts:81 msgid "Add new setup" msgstr "" #: ../ng/src/dashlet/chart/preset-dialog.component.ts:84 msgid "Name (tap to rename)" msgstr "" #: ../ng/src/dashlet/chart/preset-dialog.component.ts:85 msgid "Another setup has this name." msgstr "" #: ../ng/src/dashlet/chart/preset-dialog.component.ts:86 msgid "There are no setups left to manage." msgstr "" #: ../ng/src/dashlet/chart/preset-dialog.component.ts:88 #: ../ng/src/app/dash/dialog.component.ts:38 msgid "A name is required." msgstr "" #: ../ng/src/dashlet/chart/preset-dialog.component.ts:101 msgid "Rename setup" msgstr "" #: ../ng/src/dashlet/chart/preset-dialog.component.ts:103 msgid "Name setup" msgstr "" #: ../ng/src/dashlet/chart/preset-dialog.component.ts:267 #: ../ng/src/app/dash/dashboard-manager.component.ts:277 msgid "Make a copy" msgstr "" #: ../ng/src/dashlet/chart/augmentor-dialog.component.ts:35 msgid "Add function" msgstr "" #: ../ng/src/dashlet/chart/augmentor-dialog.component.ts:36 msgid "Edit function" msgstr "" #: ../ng/src/dashlet/chart/augmentor-dialog.component.ts:64 msgid "Returns an accrued value" msgstr "" #: ../ng/src/dashlet/chart/augmentor-dialog.component.ts:65 msgid "Add function." msgstr "" #: ../ng/src/dashlet/chart/augmentor-dialog.component.ts:66 msgid "Add argument." msgstr "" #: ../ng/src/dashlet/chart/augmentor-dialog.component.ts:67 msgid "Argument name" msgstr "" #: ../ng/src/dashlet/chart/augmentor-dialog.component.ts:68 msgid "Arguments (tap to edit)" msgstr "" #: ../ng/src/dashlet/chart/augmentor-dialog.component.ts:70 msgid "Body" msgstr "" #: ../ng/src/dashlet/chart/augmentor-dialog.component.ts:72 #: ../ng/src/app/toolbar/toolbar.component.ts:231 msgid "Documentation" msgstr "" #: ../ng/src/dashlet/chart/augmentor-dialog.component.ts:73 msgid "Function (tap to edit)" msgstr "" #: ../ng/src/dashlet/chart/augmentor-dialog.component.ts:74 msgid "Function name" msgstr "" #: ../ng/src/dashlet/chart/augmentor-dialog.component.ts:75 msgid "Explain what this function does…" msgstr "" #: ../ng/src/dashlet/chart/augmentor-dialog.component.ts:76 msgid "" "Must start with letter, \"$\", or \"_\". Following characters may also " "contain digits and \"+-*=\"." msgstr "" #: ../ng/src/dashlet/chart/augmentor-dialog.component.ts:78 msgid "" "Must start with letter, \"$\", or \"_\". Following characters may also " "contain digits." msgstr "" #: ../ng/src/dashlet/chart/augmentor-dialog.component.ts:80 msgid "Javascript code…" msgstr "" #: ../ng/src/dashlet/chart/augmentor-dialog.component.ts:82 msgid "Tap to delete." msgstr "" #: ../ng/src/dashlet/chart/augmentor-dialog.component.ts:83 msgid "Unit of return value" msgstr "" #: ../ng/src/dashlet/chart/augmentor-dialog.component.ts:171 msgid "unitless" msgstr "" #: ../ng/src/dashlet/chart/augmentor-dialog.component.ts:188 msgid "Add argument" msgstr "" #: ../ng/src/dashlet/chart/augmentor-dialog.component.ts:191 msgid "Edit argument" msgstr "" #: ../ng/src/dashlet/switch/switch.dashlet.ts:129 msgid "The switch dashlet requires permission to control devices." msgstr "" #: ../ng/src/dashlet/switch/switch.dashlet.ts:131 msgid "Permissions" msgstr "" #: ../ng/src/dashlet/switch/switch.dashlet.ts:132 msgid "Tap to configure this switch dashlet." msgstr "" #: ../ng/src/dashlet/switch/switch.dashlet.ts:405 #: ../ng/src/app/dash/dash-config.ts:508 msgid "Switch" msgstr "" #: ../ng/src/dashlet/switch/switch.dashlet.ts:407 msgid "On/off switch that is manually activated." msgstr "" #: ../ng/src/dashlet/switch/config-dialog.component.ts:139 #: ../ng/src/dashlet/signal/config-dialog.component.ts:137 msgid "Optional title" msgstr "" #: ../ng/src/dashlet/switch/config-dialog.component.ts:140 msgid "On icon/Off icon" msgstr "" #: ../ng/src/dashlet/switch/config-dialog.component.ts:143 msgid "activate:" msgstr "" #: ../ng/src/dashlet/switch/config-dialog.component.ts:144 msgid "Relay to control" msgstr "" #: ../ng/src/dashlet/switch/config-dialog.component.ts:145 msgid "Edit switch" msgstr "" #: ../ng/src/dashlet/switch/config-dialog.component.ts:146 msgid "" "Use %M for the manufacturer name of the relay, %m for the model name, %n for " "the serial number and %% for percent." msgstr "" #: ../ng/src/dashlet/dashlet.ts:291 msgid "Stale Configuration" msgstr "" #: ../ng/src/dashlet/dashlet.ts:293 msgid "Overwrite" msgstr "" #: ../ng/src/dashlet/dashlet.ts:295 msgid "" "The configuration you are attempting to save appears to be based on a " "version that is older than what is now on the meter. Do you want to cancel " "or go ahead and overwrite the configuration on the meter?" msgstr "" #: ../ng/src/dashlet/dashlet.ts:322 msgid "Configuration saved to meter." msgstr "" #. Translators: %1 is a string that describes the error #. that occurred. #: ../ng/src/dashlet/dashlet.ts:332 msgid "Failed to save configuration: %1" msgstr "" #: ../ng/src/dashlet/dashlet.ts:338 msgid "Failed to save configuration." msgstr "" #: ../ng/src/dashlet/dashlet.ts:345 msgid "Configuration unchanged - nothing saved." msgstr "" #. Translators: This is a placeholder for the field where the user #. selects the start of the summary period (e.g., "since midnight" #. or "since 24 hours ago"). #: ../ng/src/dashlet/summary-table/summary-table.dashlet.ts:235 #: ../ng/src/dashlet/table-config-dialog/config-dialog.component.ts:207 msgid "Time period" msgstr "" #: ../ng/src/dashlet/summary-table/summary-table.dashlet.ts:273 msgid "Failed to initialize: %1" msgstr "" #: ../ng/src/dashlet/summary-table/summary-table.dashlet.ts:275 msgid "Failed to initialize." msgstr "" #: ../ng/src/dashlet/summary-table/summary-table.dashlet.ts:368 msgid "Updating…" msgstr "" #. Translators: %1 and %2 are date/time strings, %3 is an #. optional timezone name. It is prefixed by a blank if it is #. not empty. #: ../ng/src/dashlet/summary-table/summary-table.dashlet.ts:386 msgid "From %1 to %2%3." msgstr "" #: ../ng/src/dashlet/summary-table/summary-table.dashlet.ts:567 msgid "Summary Table" msgstr "" #: ../ng/src/dashlet/summary-table/summary-table.dashlet.ts:568 msgid "" "Display a table of measurement summaries. Each row shows either the " "accumulated value or the average value of a register over the summary " "period. It is also possible to display the ratio of two registers. The " "summary period is selectable and can be a running summary (e.g., since 24 " "hours ago) or a set summary (e.g., since start of the day)." msgstr "" #: ../ng/src/dashlet/signal/signal.dashlet.ts:202 msgid "Register invalid, tap here to configure." msgstr "" #: ../ng/src/dashlet/signal/signal.dashlet.ts:487 msgid "Signal" msgstr "" #: ../ng/src/dashlet/signal/signal.dashlet.ts:489 msgid "" "Show one of two signal icons based upon a comparison of a register value " "against a constant." msgstr "" #: ../ng/src/dashlet/signal/config-dialog.component.ts:135 msgid "Comparison type" msgstr "" #: ../ng/src/dashlet/signal/config-dialog.component.ts:136 msgid "Comparison value" msgstr "" #: ../ng/src/dashlet/signal/config-dialog.component.ts:138 msgid "True icon/False icon" msgstr "" #: ../ng/src/dashlet/signal/config-dialog.component.ts:140 #: ../ng/src/dashlet/dial-gauge/config-dialog.component.ts:99 msgid "Register name" msgstr "" #: ../ng/src/dashlet/signal/config-dialog.component.ts:141 msgid "Show register value" msgstr "" #: ../ng/src/dashlet/signal/config-dialog.component.ts:142 msgid "" "Use %R for register name, %O for operator, %V for comparison value, %U for " "unit, and %% for percent." msgstr "" #: ../ng/src/dashlet/signal/config-dialog.component.ts:160 msgid "Add Signal" msgstr "" #: ../ng/src/dashlet/signal/config-dialog.component.ts:162 msgid "Edit Signal" msgstr "" #. Translators: %1 is an average value to be displayed (e.g., 1.2kW). #: ../ng/src/dashlet/table-config-dialog/config-dialog.component.ts:126 msgid "avg. %1" msgstr "" #: ../ng/src/dashlet/table-config-dialog/config-dialog.component.ts:170 msgid "Register value" msgstr "" #: ../ng/src/dashlet/table-config-dialog/config-dialog.component.ts:171 msgid "Ratio of two registers" msgstr "" #: ../ng/src/dashlet/table-config-dialog/config-dialog.component.ts:198 #: ../ng/src/dashlet/dial-gauge/config-dialog.component.ts:96 msgid "Flip sign of the value" msgstr "" #: ../ng/src/dashlet/table-config-dialog/config-dialog.component.ts:201 #: ../ng/src/dashlet/dial-gauge/config-dialog.component.ts:98 msgid "Preferred unit" msgstr "" #: ../ng/src/dashlet/table-config-dialog/config-dialog.component.ts:202 #: ../ng/src/dashlet/flow/config-dialog.component.ts:65 msgid "Register to display" msgstr "" #: ../ng/src/dashlet/table-config-dialog/config-dialog.component.ts:203 msgid "Display average value" msgstr "" #: ../ng/src/dashlet/table-config-dialog/config-dialog.component.ts:224 msgid "Add Measurement" msgstr "" #: ../ng/src/dashlet/table-config-dialog/config-dialog.component.ts:226 msgid "Edit Measurement" msgstr "" #: ../ng/src/dashlet/table-config-dialog/config-dialog.component.ts:244 msgid "Summary Period" msgstr "" #: ../ng/src/dashlet/table-config-dialog/config-dialog.component.ts:298 #: ../ng/src/dashlet/dial-gauge/config-dialog.component.ts:183 msgid "auto" msgstr "" #: ../ng/src/dashlet/flow/flow.dashlet.ts:900 msgid "Resource Flow Diagram" msgstr "" #: ../ng/src/dashlet/flow/flow.dashlet.ts:902 msgid "" "Visualizes how resources flow between user-selected icons. Can be used, for " "example, to show how power flows from the grid to a house or from a solar " "panel to the house." msgstr "" #: ../ng/src/dashlet/flow/config-dialog.component.ts:60 msgid "Flow Configuration" msgstr "" #: ../ng/src/dashlet/flow/config-dialog.component.ts:62 msgid "Select tile to configure" msgstr "" #: ../ng/src/dashlet/flow/config-dialog.component.ts:63 msgid "Select icon" msgstr "" #: ../ng/src/dashlet/flow/config-dialog.component.ts:64 msgid "Select register" msgstr "" #: ../ng/src/dashlet/flow/config-dialog.component.ts:67 msgid "Next" msgstr "" #: ../ng/src/dashlet/flow/config-dialog.component.ts:68 msgid "Metered resource" msgstr "" #: ../ng/src/dashlet/flow/config-dialog.component.ts:69 msgid "" "Check box if you receive a utility bill for the consumption measured by this " "register." msgstr "" #. Translators: %1 describes the purpose of the register #. (e.g., state-of-charge value). #: ../ng/src/dashlet/flow/config-dialog.component.ts:168 msgid "Reg. for %1" msgstr "" #: ../ng/src/dashlet/flow/config-dialog.component.ts:177 msgid "Battery capacity" msgstr "" #: ../ng/src/dashlet/dial-gauge/config-dialog.component.ts:87 msgid "Optional custom title" msgstr "" #: ../ng/src/dashlet/dial-gauge/config-dialog.component.ts:88 msgid "Color-scheme" msgstr "" #: ../ng/src/dashlet/dial-gauge/config-dialog.component.ts:89 msgid "Extremum marker" msgstr "" #: ../ng/src/dashlet/dial-gauge/config-dialog.component.ts:90 msgid "Gradient colors background" msgstr "" #: ../ng/src/dashlet/dial-gauge/config-dialog.component.ts:91 msgid "Extremum color" msgstr "" #: ../ng/src/dashlet/dial-gauge/config-dialog.component.ts:92 msgid "End angle (-180..+180°)" msgstr "" #: ../ng/src/dashlet/dial-gauge/config-dialog.component.ts:93 msgid "Maximum value" msgstr "" #: ../ng/src/dashlet/dial-gauge/config-dialog.component.ts:94 msgid "Start angle (-180..+180°)" msgstr "" #: ../ng/src/dashlet/dial-gauge/config-dialog.component.ts:95 msgid "Minimum value" msgstr "" #: ../ng/src/dashlet/dial-gauge/config-dialog.component.ts:100 msgid "Track extremum since" msgstr "" #: ../ng/src/dashlet/dial-gauge/config-dialog.component.ts:123 msgid "Add Dial Gauge" msgstr "" #: ../ng/src/dashlet/dial-gauge/config-dialog.component.ts:125 msgid "Edit Dial Gauge" msgstr "" #: ../ng/src/dashlet/dial-gauge/config-dialog.component.ts:234 msgid "Usage dial (red)" msgstr "" #: ../ng/src/dashlet/dial-gauge/config-dialog.component.ts:236 msgid "Generation dial (green)" msgstr "" #: ../ng/src/dashlet/dial-gauge/config-dialog.component.ts:238 msgid "Net dial (red/green)" msgstr "" #: ../ng/src/dashlet/dial-gauge/config-dialog.component.ts:240 msgid "Temperature dial" msgstr "" #: ../ng/src/dashlet/dial-gauge/config-dialog.component.ts:242 msgid "Atmospheric std. pressure dial" msgstr "" #: ../ng/src/dashlet/dial-gauge/dial-gauge.dashlet.ts:655 msgid "Register \"%1\" does not exist." msgstr "" #: ../ng/src/dashlet/dial-gauge/dial-gauge.dashlet.ts:657 msgid "" "Please tap here and then use the drop-down menu button at the top right to " "select a valid register name." msgstr "" #: ../ng/src/dashlet/dial-gauge/dial-gauge.dashlet.ts:694 msgid "Dial Gauge" msgstr "" #: ../ng/src/dashlet/dial-gauge/dial-gauge.dashlet.ts:696 msgid "" "Display the most recent value of a single register as a dial gauge. It can " "also display markers indicating the minimum and/or maximum values of that " "register over a certain time period (e.g., over the last 24 hours)." msgstr "" #: ../ng/src/dashlet/scope/channel-dialog.component.ts:39 #: ../ng/src/dashlet/scope/scope.dashlet.ts:133 msgid "Select Channels" msgstr "" #: ../ng/src/dashlet/scope/channel-dialog.component.ts:40 msgid "All/None" msgstr "" #: ../ng/src/dashlet/scope/channel/channel.component.ts:66 msgid "Channel hidden." msgstr "" #: ../ng/src/dashlet/scope/channel/channel.component.ts:67 msgid "Displaying channel." msgstr "" #: ../ng/src/dashlet/scope/channel/channel.component.ts:68 msgid "Channel displayed with normal polarity." msgstr "" #: ../ng/src/dashlet/scope/channel/channel.component.ts:69 msgid "Channel displayed with negated polarity." msgstr "" #: ../ng/src/dashlet/scope/channel/channel.component.ts:70 msgid "Select color." msgstr "" #: ../ng/src/dashlet/scope/channel/channel.component.ts:71 msgid "Fit channel data onto screen." msgstr "" #: ../ng/src/dashlet/scope/channel/channel.component.ts:72 msgid "Remove this channel." msgstr "" #: ../ng/src/dashlet/scope/channel/channel.component.ts:73 msgid "sensitivity" msgstr "" #: ../ng/src/dashlet/scope/channel/channel.component.ts:74 msgid "offset" msgstr "" #. Translators: %1 is the name of the channel whose color is selected. #: ../ng/src/dashlet/scope/channel/channel.component.ts:138 msgid "Select %1 Color" msgstr "" #: ../ng/src/dashlet/scope/scope.dashlet.ts:130 msgid "The scope dashlet requires permission to save settings." msgstr "" #: ../ng/src/dashlet/scope/scope.dashlet.ts:132 msgid "Vertical" msgstr "" #: ../ng/src/dashlet/scope/scope.dashlet.ts:134 msgid "Run" msgstr "" #: ../ng/src/dashlet/scope/scope.dashlet.ts:140 msgid "Show markers & trigger panel" msgstr "" #: ../ng/src/dashlet/scope/scope.dashlet.ts:149 msgid "Download waveform data" msgstr "" #: ../ng/src/dashlet/scope/scope.dashlet.ts:262 msgid "Failed to get channel info: %1" msgstr "" #: ../ng/src/dashlet/scope/scope.dashlet.ts:280 msgid "Tip: On touchscreens, longpress any button to get help." msgstr "" #: ../ng/src/dashlet/scope/scope.dashlet.ts:281 msgid "Don't show again" msgstr "" #. Translators: %1 is the name of the channel that was fit #. onto the screen. #: ../ng/src/dashlet/scope/scope.dashlet.ts:391 msgid "Scale and offset adjusted to fit %1 on screen." msgstr "" #: ../ng/src/dashlet/scope/scope.dashlet.ts:545 msgid "Please select at least one channel." msgstr "" #: ../ng/src/dashlet/scope/scope.dashlet.ts:579 msgid "Capture failed: %1" msgstr "" #: ../ng/src/dashlet/scope/scope.dashlet.ts:724 msgid "Save Data Filename" msgstr "" #: ../ng/src/dashlet/scope/scope.dashlet.ts:725 msgid "waveform.csv" msgstr "" #: ../ng/src/dashlet/scope/scope.dashlet.ts:853 msgid "" "Display the waveforms captured by the device's line and sensor inputs, " "similar to an oscilloscope." msgstr "" #: ../ng/src/dashlet/scope/trigger/trigger.component.ts:61 msgid "Trigger" msgstr "" #: ../ng/src/dashlet/scope/trigger/trigger.component.ts:62 msgid "Sweep" msgstr "" #: ../ng/src/dashlet/scope/trigger/trigger.component.ts:63 msgid "Source" msgstr "" #: ../ng/src/dashlet/scope/trigger/trigger.component.ts:64 msgid "Mode" msgstr "" #: ../ng/src/dashlet/scope/trigger/trigger.component.ts:65 msgid "Level" msgstr "" #: ../ng/src/dashlet/scope/trigger/trigger.component.ts:67 msgid "Triggered" msgstr "" #: ../ng/src/dashlet/scope/trigger/trigger.component.ts:68 msgid "Single" msgstr "" #: ../ng/src/dashlet/scope/trigger/trigger.component.ts:69 msgid "Rising Edge" msgstr "" #: ../ng/src/dashlet/scope/trigger/trigger.component.ts:70 msgid "Falling Edge" msgstr "" #: ../ng/src/dashlet/scope/horizontal/horizontal.component.ts:39 msgid "Horizontal" msgstr "" #: ../ng/src/dashlet/scope/horizontal/horizontal.component.ts:40 msgid "Time base" msgstr "" #: ../ng/src/dashlet/scope/horizontal/horizontal.component.ts:41 msgid "Time offset" msgstr "" #: ../ng/src/dashlet/scope/knob/knob.component.ts:35 msgid "Step up value" msgstr "" #: ../ng/src/dashlet/scope/knob/knob.component.ts:36 msgid "Reset to 0." msgstr "" #: ../ng/src/dashlet/scope/knob/knob.component.ts:37 msgid "Step down value" msgstr "" #: ../ng/src/dashlet/scope/marker/marker.component.ts:38 msgid "Markers" msgstr "" #: ../ng/src/dashlet/scope/marker/marker.component.ts:39 msgid "Marker A" msgstr "" #: ../ng/src/dashlet/scope/marker/marker.component.ts:40 msgid "Marker B" msgstr "" #: ../ng/src/dashlet/scope/marker/marker.component.ts:41 msgid "Track waveform" msgstr "" #: ../ng/src/dashlet/scope/marker/marker.component.ts:42 msgid "remove" msgstr "" #. Translators: The filename suffix to use when exporting average data. #: ../ng/src/dashlet/export/export.dashlet.ts:84 msgid "-avg" msgstr "" #. Translators: The filename suffix to use when exporting epoch-relative data. #: ../ng/src/dashlet/export/export.dashlet.ts:89 msgid "-epoch" msgstr "" #: ../ng/src/dashlet/export/export.dashlet.ts:159 msgid "final values only" msgstr "" #. Translators: %1 is either the localized version of "averages" #. or "subtotals". #: ../ng/src/dashlet/export/export.dashlet.ts:164 msgid "minute %1" msgstr "" #. Translators: %1 is either the localized version of "averages" #. or "subtotals". #: ../ng/src/dashlet/export/export.dashlet.ts:169 msgid "15-minute %1" msgstr "" #. Translators: %1 is either the localized version of "averages" #. or "subtotals". #: ../ng/src/dashlet/export/export.dashlet.ts:174 msgid "hourly %1" msgstr "" #. Translators: %1 is either the localized version of "averages" #. or "subtotals". #: ../ng/src/dashlet/export/export.dashlet.ts:179 msgid "daily %1" msgstr "" #. Translators: %1 is either the localized version of "averages" #. or "subtotals". #: ../ng/src/dashlet/export/export.dashlet.ts:184 msgid "weekly %1" msgstr "" #. Translators: %1 is either the localized version of "averages" #. or "subtotals". #: ../ng/src/dashlet/export/export.dashlet.ts:189 msgid "monthly %1" msgstr "" #. Translators: %1 is either the localized version of "averages" #. or "subtotals". #: ../ng/src/dashlet/export/export.dashlet.ts:194 msgid "annual %1" msgstr "" #: ../ng/src/dashlet/export/export.dashlet.ts:337 #: ../ng/src/webapi/time-period-specs.ts:352 ../ng/src/webapi/meter-time.ts:600 #: ../ng/src/lib/time.ts:103 msgid "today" msgstr "" #: ../ng/src/dashlet/export/export.dashlet.ts:338 msgid "week to date" msgstr "" #: ../ng/src/dashlet/export/export.dashlet.ts:339 #: ../ng/src/webapi/time-period-specs.ts:299 msgid "current bill cycle" msgstr "" #: ../ng/src/dashlet/export/export.dashlet.ts:340 msgid "month to date" msgstr "" #: ../ng/src/dashlet/export/export.dashlet.ts:341 #: ../ng/src/webapi/time-period-specs.ts:306 msgid "quarter to date" msgstr "" #: ../ng/src/dashlet/export/export.dashlet.ts:342 #: ../ng/src/webapi/time-period-specs.ts:313 msgid "year to date" msgstr "" #: ../ng/src/dashlet/export/export.dashlet.ts:343 #: ../ng/src/webapi/time-period-specs.ts:428 msgid "yesterday" msgstr "" #: ../ng/src/dashlet/export/export.dashlet.ts:344 #: ../ng/src/webapi/time-period-specs.ts:435 msgid "previous week" msgstr "" #: ../ng/src/dashlet/export/export.dashlet.ts:345 #: ../ng/src/webapi/time-period-specs.ts:449 msgid "previous bill cycle" msgstr "" #: ../ng/src/dashlet/export/export.dashlet.ts:346 #: ../ng/src/webapi/time-period-specs.ts:442 msgid "previous month" msgstr "" #: ../ng/src/dashlet/export/export.dashlet.ts:347 #: ../ng/src/webapi/time-period-specs.ts:456 msgid "previous quarter" msgstr "" #: ../ng/src/dashlet/export/export.dashlet.ts:348 #: ../ng/src/webapi/time-period-specs.ts:463 msgid "previous year" msgstr "" #: ../ng/src/dashlet/export/export.dashlet.ts:349 #: ../ng/src/webapi/time-period-specs.ts:470 msgid "all (since inception)" msgstr "" #: ../ng/src/dashlet/export/export.dashlet.ts:362 msgid "average (e.g., kW for energy)" msgstr "" #: ../ng/src/dashlet/export/export.dashlet.ts:363 msgid "averages" msgstr "" #: ../ng/src/dashlet/export/export.dashlet.ts:366 msgid "accrued value (e.g., kWh for energy)" msgstr "" #: ../ng/src/dashlet/export/export.dashlet.ts:367 #: ../ng/src/dashlet/export/export.dashlet.ts:371 msgid "subtotals" msgstr "" #: ../ng/src/dashlet/export/export.dashlet.ts:370 msgid "value accrued since epoch (e.g., kWh for energy)" msgstr "" #: ../ng/src/dashlet/export/export.dashlet.ts:376 msgid "custom range" msgstr "" #: ../ng/src/dashlet/export/export.dashlet.ts:377 msgid "Demand interval length" msgstr "" #: ../ng/src/dashlet/export/export.dashlet.ts:378 msgid "Demand polarity" msgstr "" #: ../ng/src/dashlet/export/export.dashlet.ts:379 msgid "Calculate peak using" msgstr "" #: ../ng/src/dashlet/export/export.dashlet.ts:380 msgid "Download" msgstr "" #: ../ng/src/dashlet/export/export.dashlet.ts:381 msgid "Export all registers" msgstr "" #: ../ng/src/dashlet/export/export.dashlet.ts:382 msgid "Include peak demands" msgstr "" #: ../ng/src/dashlet/export/export.dashlet.ts:383 msgid "Metric to export" msgstr "" #: ../ng/src/dashlet/export/export.dashlet.ts:385 msgid "Include" msgstr "" #. Translators: (LCD menu entry) #: ../ng/src/dashlet/export/export.dashlet.ts:386 ../display/storage.c:241 msgid "Export data" msgstr "" #: ../ng/src/dashlet/export/export.dashlet.ts:387 msgid "Use metric units" msgstr "" #: ../ng/src/dashlet/export/export.dashlet.ts:538 msgid "set demand" msgstr "" #: ../ng/src/dashlet/export/export.dashlet.ts:539 msgid "rolling demand" msgstr "" #: ../ng/src/dashlet/export/export.dashlet.ts:548 msgid "positive" msgstr "" #: ../ng/src/dashlet/export/export.dashlet.ts:549 msgid "negative" msgstr "" #: ../ng/src/dashlet/export/export.dashlet.ts:550 msgid "positive or negative, whichever is bigger" msgstr "" #. Translators: The (default) filename to use when exporting #. a time range as a CSV (comma-separated values) file. #. %1 is the name of the device (e.g., eGauge1234), %2 #. is a suffix that indicates what kind of data is exported #. (e.g., average data or data accumulated since #. recording started). #: ../ng/src/dashlet/export/export.dashlet.ts:602 #, javascript-format msgid "export-%1%2.csv" msgstr "" #: ../ng/src/dashlet/export/export.dashlet.ts:619 msgid "Slow Export Warning" msgstr "" #: ../ng/src/dashlet/export/export.dashlet.ts:621 msgid "" "Calculating rolling demand over long periods of time may take several " "minutes to complete. Do you wish to continue or abort?" msgstr "" #: ../ng/src/dashlet/export/export.dashlet.ts:625 msgid "Continue" msgstr "" #: ../ng/src/dashlet/export/export.dashlet.ts:626 msgid "Abort" msgstr "" #. Translators: See http://egauge.net/i18n/luxon/ #: ../ng/src/dashlet/export/export.dashlet.ts:686 msgid "M/d/y h:mm a" msgstr "" #. Translators: This is used as a column heading when #. reporting the average value of a register. %1 is a #. register name, %2 is a physical unit (e.g., W for Watts). #: ../ng/src/dashlet/export/export.dashlet.ts:717 msgid "average %1 [%2]" msgstr "" #: ../ng/src/dashlet/export/export.dashlet.ts:866 msgid "Export register data." msgstr "" #: ../ng/src/app/toolbar/toolbar.component.ts:49 msgid "Login" msgstr "" #: ../ng/src/app/toolbar/toolbar.component.ts:53 msgid "Tap to view currently pending health alerts." msgstr "" #: ../ng/src/app/toolbar/toolbar.component.ts:61 msgid "Logout" msgstr "" #: ../ng/src/app/toolbar/toolbar.component.ts:94 #: ../ng/src/app/toolbar/toolbar.component.ts:115 #: ../ng/src/app/dash/dash.component.ts:96 msgid "Dashboard" msgstr "" #: ../ng/src/app/toolbar/toolbar.component.ts:100 #: ../ng/src/app/toolbar/toolbar.component.ts:120 msgid "Classic view" msgstr "" #: ../ng/src/app/toolbar/toolbar.component.ts:106 msgid "on startup…" msgstr "" #: ../ng/src/app/toolbar/toolbar.component.ts:136 #: ../ng/src/setup/setup.component.ts:40 msgid "Setup" msgstr "" #: ../ng/src/app/toolbar/toolbar.component.ts:146 #: ../ng/src/setup/setup.component.ts:33 #: ../ng/src/setup/billing/billing.component.ts:182 #: ../www/common/settings.tmpl.x:34 msgid "Billing" msgstr "" #: ../ng/src/app/toolbar/toolbar.component.ts:151 #: ../ng/src/setup/setup.component.ts:39 msgid "Data-sharing" msgstr "" #: ../ng/src/app/toolbar/toolbar.component.ts:156 #: ../ng/src/setup/setup.component.ts:34 msgid "Health checker" msgstr "" #: ../ng/src/app/toolbar/toolbar.component.ts:161 msgid "Lua" msgstr "" #: ../ng/src/app/toolbar/toolbar.component.ts:164 #: ../ng/src/setup/lua/lua.component.ts:35 msgid "Formulas script" msgstr "" #: ../ng/src/app/toolbar/toolbar.component.ts:168 #: ../ng/src/setup/lua/lua.component.ts:34 msgid "Tariff script" msgstr "" #: ../ng/src/app/toolbar/toolbar.component.ts:172 #: ../ng/src/setup/lua/lua.component.ts:32 msgid "Alerts script" msgstr "" #: ../ng/src/app/toolbar/toolbar.component.ts:176 #: ../ng/src/setup/lua/lua.component.ts:33 msgid "Control scripts" msgstr "" #: ../ng/src/app/toolbar/toolbar.component.ts:180 #: ../ng/src/setup/lua/lua.component.ts:31 msgid "Persistent variables" msgstr "" #: ../ng/src/app/toolbar/toolbar.component.ts:187 #: ../ng/src/setup/setup.component.ts:36 msgid "Modbus maps" msgstr "" #: ../ng/src/app/toolbar/toolbar.component.ts:195 #: ../ng/src/setup/network/network.component.ts:30 msgid "Proxy Server" msgstr "" #: ../ng/src/app/toolbar/toolbar.component.ts:203 msgid "Web-client" msgstr "" #: ../ng/src/app/toolbar/toolbar.component.ts:207 msgid "Web-server" msgstr "" #: ../ng/src/app/toolbar/toolbar.component.ts:211 #: ../ng/src/setup/network/network.component.ts:33 msgid "Wi-Fi" msgstr "" #: ../ng/src/app/toolbar/toolbar.component.ts:218 #: ../ng/src/setup/setup.component.ts:38 #: ../ng/src/setup/billing/billing.component.ts:191 msgid "Other settings" msgstr "" #: ../ng/src/app/toolbar/toolbar.component.ts:236 msgid "Report an issue" msgstr "" #: ../ng/src/app/toolbar/toolbar.component.ts:241 msgid "Feedback" msgstr "" #: ../ng/src/app/toolbar/toolbar.component.ts:297 msgid "You are logged in as %1." msgstr "" #. Translators: This is the label for a #. button to confirm/dismiss a "snackbar" #. message that shows at the bottom of the #. screen for a few seconds. #: ../ng/src/app/toolbar/toolbar.component.ts:299 #: ../ng/src/app/toolbar/toolbar.component.ts:311 #: ../ng/src/setup/alerts/custom-alerts.component.ts:86 #: ../ng/src/setup/alerts/alert-dests.component.ts:97 msgid "Dismiss" msgstr "" #: ../ng/src/app/toolbar/toolbar.component.ts:306 msgid "You are logged out now." msgstr "" #: ../ng/src/app/not-found.component.ts:27 msgid "The URL does not appear to be valid." msgstr "" #: ../ng/src/app/not-found.component.ts:28 msgid "Page not found" msgstr "" #: ../ng/src/app/dash/dashlet-add-dialog.component.ts:33 msgid "Add Dashlet" msgstr "" #: ../ng/src/app/dash/dash-config.ts:120 msgid "initialize" msgstr "" #: ../ng/src/app/dash/dash-config.ts:376 msgid "save" msgstr "" #: ../ng/src/app/dash/dash-config.ts:399 msgid "load" msgstr "" #: ../ng/src/app/dash/dash-config.ts:500 msgid "Dashboard removed" msgstr "" #: ../ng/src/app/dash/dash-config.ts:502 msgid "" "Dashboard \"%1\" no longer exists on the meter. Would you like to stay with " "it or switch to another dashboard?" msgstr "" #: ../ng/src/app/dash/dash-config.ts:507 ../ng/src/app/dash/dash-config.ts:582 msgid "Stay" msgstr "" #: ../ng/src/app/dash/dash-config.ts:544 ../ng/src/app/dash/dash-config.ts:643 msgid "Dashboard \"%1\" loaded." msgstr "" #: ../ng/src/app/dash/dash-config.ts:548 msgid "Dashboard loaded." msgstr "" #: ../ng/src/app/dash/dash-config.ts:575 msgid "Dashboard \"%1\" has unsaved changes." msgstr "" #: ../ng/src/app/dash/dash-config.ts:578 msgid "The most recently used dashboard has unsaved changes." msgstr "" #. Translators: %1 is a string that says either #. "Dashboard has unsaved changes" or #. "The most recently used dashboard has unsaved changes." #: ../ng/src/app/dash/dash-config.ts:588 msgid "" "%1 You do not have permission to save the changes. Would you like to stay " "on this dashboard or discard it?" msgstr "" #: ../ng/src/app/dash/dash-config.ts:594 #: ../ng/src/app/dash/dash.component.ts:106 #: ../ng/src/setup/pushd/pushd.component.ts:170 #: ../ng/src/setup/alerts/alerts.component.ts:158 #: ../ng/src/setup/network/wlan/net-dialog.component.ts:48 #: ../ng/src/setup/network/ntp/ntp.component.ts:118 #: ../ng/src/setup/health/health.component.ts:43 #: ../ng/src/setup/modbus/map/map.component.ts:255 #: ../ng/src/webapi/auth/login-dialog.component.ts:295 #: ../www/common/settings.tmpl.x:432 ../www/common/editprefs.tmpl.x:25 msgid "Save" msgstr "" #. Translators: %1 is a sentence describing a problem. #: ../ng/src/app/dash/dash-config.ts:597 msgid "%1 Would you like to save the changes or discard them?" msgstr "" #: ../ng/src/app/dash/dash-config.ts:603 msgid "Unsaved Changes" msgstr "" #: ../ng/src/app/dash/dash-config.ts:606 msgid "Discard" msgstr "" #: ../ng/src/app/dash/dash-config.ts:647 msgid "Dashboard \"%1\" not found." msgstr "" #: ../ng/src/app/dash/dash-config.ts:650 msgid "Loaded last used dashboard." msgstr "" #: ../ng/src/app/dash/dash-config.ts:659 msgid "Loaded \"%1\"." msgstr "" #: ../ng/src/app/dash/dash-config.ts:667 msgid "Please select the dashboard to load." msgstr "" #: ../ng/src/app/dash/dash-config.ts:674 msgid "Created default dashboard." msgstr "" #. Translators: %1 is an action (e.g., "initialize" or "create") and #. %2 is a string that describes the error that occurred. #: ../ng/src/app/dash/dash-config.ts:692 #: ../ng/src/app/dash/dashboard-manager.component.ts:327 msgid "Failed to %1 dashboard: %2" msgstr "" #: ../ng/src/app/dash/dash-config.ts:695 #: ../ng/src/app/dash/dashboard-manager.component.ts:330 msgid "Failed to %1 dashboard." msgstr "" #: ../ng/src/app/dash/dialog.component.ts:36 msgid "Dashboard name" msgstr "" #: ../ng/src/app/dash/dialog.component.ts:79 msgid "Add dashboard" msgstr "" #: ../ng/src/app/dash/dialog.component.ts:83 msgid "Delete dashboard" msgstr "" #: ../ng/src/app/dash/dialog.component.ts:87 msgid "Load dashboard" msgstr "" #: ../ng/src/app/dash/dialog.component.ts:93 msgid "Rename dashboard \"%1\"" msgstr "" #: ../ng/src/app/dash/dialog.component.ts:94 msgid "Name dashboard" msgstr "" #: ../ng/src/app/dash/dashboard-manager.component.ts:75 msgid "Add a new dashboard" msgstr "" #: ../ng/src/app/dash/dashboard-manager.component.ts:76 msgid "Dashboard (tap to load)" msgstr "" #: ../ng/src/app/dash/dashboard-manager.component.ts:78 msgid "There are no dashboards to manage. Tap here to create one." msgstr "" #: ../ng/src/app/dash/dashboard-manager.component.ts:80 msgid "Dashboard Manager" msgstr "" #: ../ng/src/app/dash/dashboard-manager.component.ts:129 msgid "Dashboard \"%1\" created." msgstr "" #: ../ng/src/app/dash/dashboard-manager.component.ts:132 msgid "create" msgstr "" #: ../ng/src/app/dash/dashboard-manager.component.ts:148 msgid "Dashboard \"%1\" deleted." msgstr "" #: ../ng/src/app/dash/dashboard-manager.component.ts:151 #: ../ng/src/app/dash/page-delete-dialog.component.ts:31 msgid "delete" msgstr "" #: ../ng/src/app/dash/dashboard-manager.component.ts:169 msgid "Copy \"%1\" created." msgstr "" #: ../ng/src/app/dash/dashboard-manager.component.ts:172 msgid "duplicate" msgstr "" #: ../ng/src/app/dash/dashboard-manager.component.ts:210 msgid "Dashboard \"%1\" renamed to \"%2\"." msgstr "" #: ../ng/src/app/dash/dashboard-manager.component.ts:214 msgid "rename" msgstr "" #: ../ng/src/app/dash/dashboard-manager.component.ts:272 msgid "Rename" msgstr "" #. Translators: %1 is the name of an item (e.g., a dashboard). #: ../ng/src/app/dash/dashboard-manager.component.ts:308 msgid "\"%1\" does not exist." msgstr "" #: ../ng/src/app/dash/page-delete-dialog.component.ts:27 msgid "Move or delete dashlets on this page?" msgstr "" #: ../ng/src/app/dash/page-delete-dialog.component.ts:30 msgid "move" msgstr "" #: ../ng/src/app/dash/page-delete-dialog.component.ts:33 msgid "Delete Page" msgstr "" #: ../ng/src/app/dash/dashlet-rename-dialog.component.ts:32 msgid "Dashlet name" msgstr "" #: ../ng/src/app/dash/dashlet-rename-dialog.component.ts:35 msgid "Rename Dashlet" msgstr "" #: ../ng/src/app/dash/dashlet-manager.ts:838 msgid "Failed to delete dashboard page." msgstr "" #: ../ng/src/app/dash/dashlet-manager.ts:840 msgid "Failed to delete dashboard page due to lack space for its dashlets." msgstr "" #: ../ng/src/app/dash/dashlet-manager.ts:887 #: ../ng/src/app/standalone/standalone.component.ts:260 msgid "Configuration restored from meter." msgstr "" #: ../ng/src/app/dash/dashlet-manager.ts:961 #: ../ng/src/app/standalone/standalone.component.ts:201 msgid "Save config to meter" msgstr "" #: ../ng/src/app/dash/dashlet-manager.ts:968 #: ../ng/src/app/standalone/standalone.component.ts:207 msgid "Load config from meter" msgstr "" #: ../ng/src/app/dash/dash.component.ts:86 msgid "Add dashlet." msgstr "" #: ../ng/src/app/dash/dash.component.ts:87 msgid "Add empty page to dashboard." msgstr "" #: ../ng/src/app/dash/dash.component.ts:88 msgid "Exit editing mode." msgstr "" #: ../ng/src/app/dash/dash.component.ts:89 msgid "Delete dashlet." msgstr "" #: ../ng/src/app/dash/dash.component.ts:90 msgid "Remove this page from dashboard." msgstr "" #: ../ng/src/app/dash/dash.component.ts:91 msgid "Rename dashlet." msgstr "" #: ../ng/src/app/dash/dash.component.ts:111 msgid "Load" msgstr "" #: ../ng/src/app/dash/dash.component.ts:117 msgid "Manage dashboards" msgstr "" #: ../ng/src/app/dash/config.ts:216 msgid "Dashboard Exists" msgstr "" #: ../ng/src/app/dash/config.ts:219 msgid "A dashboard named \"%1\" exists. Would you like to replace it?" msgstr "" #: ../ng/src/app/health/checker.service.ts:430 msgid "Meter is configured" msgstr "" #: ../ng/src/app/health/checker.service.ts:433 msgid "Meter needs to be configured" msgstr "" #: ../ng/src/app/health/checker.service.ts:500 msgid "Fixing Time" msgstr "" #: ../ng/src/app/health/checker.service.ts:522 msgid "Time corrected." msgstr "" #. Translators: %1 is an error message. #: ../ng/src/app/health/checker.service.ts:527 msgid "Failed to set time: %1" msgstr "" #: ../ng/src/app/health/checker.service.ts:567 msgid "Time is correct" msgstr "" #. Translators: %1 is the time on the meter, %2 is the time #. the web browser has and %3 is the difference in seconds #. between the two. #: ../ng/src/app/health/checker.service.ts:578 msgid "Meter time is %1, browser time is %2 (%3 sec. difference)." msgstr "" #: ../ng/src/app/health/checker.service.ts:584 msgid "Time is wrong" msgstr "" #: ../ng/src/app/health/checker.service.ts:598 msgid "Time is synchronized with network" msgstr "" #: ../ng/src/app/health/checker.service.ts:616 #: ../ng/src/setup/network/ntp/ntp.component.ts:493 msgid "synchronized" msgstr "" #: ../ng/src/app/health/checker.service.ts:616 msgid "peered" msgstr "" #. Translators: %1 is the translation of "synchronized" or #. "peered", %2 is an NTP server name or IP address, and #. %3 is the time-offset in milliseconds. #: ../ng/src/app/health/checker.service.ts:621 msgid "Meter is %1 with %2 (offset %3 ms)." msgstr "" #: ../ng/src/app/health/checker.service.ts:625 msgid "Meter time is not synchronized with network time." msgstr "" #: ../ng/src/app/health/checker.service.ts:627 msgid "No NTP servers available." msgstr "" #: ../ng/src/app/health/checker.service.ts:629 msgid "No usable NTP servers." msgstr "" #: ../ng/src/app/health/checker.service.ts:643 msgid "Firmware is up-to-date" msgstr "" #: ../ng/src/app/health/checker.service.ts:658 msgid "Firmware must be updated" msgstr "" #: ../ng/src/app/health/checker.service.ts:663 msgid "Firmware upgrade is available" msgstr "" #. Translators: %1 is the version installed on the meter, #. %2 is the latest available version, and %3 is the #. minimum version required. #: ../ng/src/app/health/checker.service.ts:675 msgid "Meter has %1 installed, latest available is %2, minimum required is %3." msgstr "" #: ../ng/src/app/health/checker.service.ts:691 msgid "Data sharing is not enabled" msgstr "" #: ../ng/src/app/health/checker.service.ts:707 msgid "Meter has not yet attempted to share data." msgstr "" #: ../ng/src/app/health/checker.service.ts:709 msgid "Meter did not receive HTTP status code." msgstr "" #: ../ng/src/app/health/checker.service.ts:716 msgid "Meter received HTTP status code %1 from %2." msgstr "" #: ../ng/src/app/health/checker.service.ts:722 msgid "Data sharing is working" msgstr "" #: ../ng/src/app/health/checker.service.ts:728 msgid "" "Meter last shared %1 rows with %2 on %3. Most recent row shared is for %4." msgstr "" #: ../ng/src/app/health/checker.service.ts:732 #: ../ng/src/app/health/checker.service.ts:733 msgid "M/D/Y h:mma" msgstr "" #: ../ng/src/app/health/checker.service.ts:736 msgid "Data sharing is not working" msgstr "" #: ../ng/src/app/health/checker.service.ts:749 msgid "No unread alerts with priority ≥ %1" msgstr "" #: ../ng/src/app/health/checker.service.ts:759 msgid "New alerts with priority ≥ %1" msgstr "" #: ../ng/src/app/health/status.component.ts:39 msgid "Health is being assessed." msgstr "" #: ../ng/src/app/health/status.component.ts:40 msgid "Details" msgstr "" #: ../ng/src/app/health/status.component.ts:42 msgid "Fix" msgstr "" #: ../ng/src/app/health/status.component.ts:43 msgid "Pending health issues" msgstr "" #: ../ng/src/app/health/status.component.ts:44 msgid "No health issues have been detected." msgstr "" #: ../ng/src/app/health/status.component.ts:46 msgid "Results of all health checks" msgstr "" #: ../ng/src/app/health/status.component.ts:80 msgid "Health settings" msgstr "" #: ../ng/src/app/health/status.component.ts:111 msgid "Health Details" msgstr "" #: ../ng/src/app/health/status.component.ts:112 msgid "Health Status" msgstr "" #. Translators: %1 is the date and time of the last health check. #: ../ng/src/app/health/status.component.ts:126 msgid "(last checked %1)" msgstr "" #: ../ng/src/setup/pushd/pushd.component.ts:163 #: ../ng/src/setup/alerts/alerts.component.ts:154 msgid "Custom URL" msgstr "" #: ../ng/src/setup/pushd/pushd.component.ts:165 msgid "Classic Interface" msgstr "" #: ../ng/src/setup/pushd/pushd.component.ts:167 msgid "" "Not finding what you are looking for? Additional data-sharing services are " "available in the classic interface." msgstr "" #: ../ng/src/setup/pushd/pushd.component.ts:171 msgid "Push interval" msgstr "" #: ../ng/src/setup/pushd/pushd.component.ts:172 msgid "Push options" msgstr "" #: ../ng/src/setup/pushd/pushd.component.ts:173 msgid "Share with…" msgstr "" #: ../ng/src/setup/pushd/pushd.component.ts:174 msgid "Server URL" msgstr "" #: ../ng/src/setup/pushd/pushd.component.ts:175 msgid "Share meter data" msgstr "" #: ../ng/src/setup/pushd/pushd.component.ts:176 msgid "Setup Data-sharing" msgstr "" #: ../ng/src/setup/pushd/pushd.component.ts:308 msgid "Push configuration saved." msgstr "" #: ../ng/src/setup/pushd/pushd.component.ts:319 msgid "Failed to save push config: %1" msgstr "" #: ../ng/src/setup/pushd/pushd.component.ts:326 msgid "Failed to save push config." msgstr "" #: ../ng/src/setup/pushd/pushd.component.ts:370 msgid "Push Signup" msgstr "" #: ../ng/src/setup/pushd/pushd.component.ts:373 #: ../ng/src/setup/alerts/alerts.component.ts:412 msgid "" "To finish activation, you need to connect to \"%1\" and may need to complete " "some steps there. To do that, please click on the \"Connect\" button below." msgstr "" #: ../ng/src/setup/alerts/alert-dest-dialog.component.ts:147 #: ../ng/src/setup/alerts/alert-dests.component.ts:45 msgid "Email address" msgstr "" #: ../ng/src/setup/alerts/alert-dest-dialog.component.ts:148 msgid "user@domain.com" msgstr "" #: ../ng/src/setup/alerts/alert-dest-dialog.component.ts:150 msgid "Detailed log" msgstr "" #: ../ng/src/setup/alerts/alert-dest-dialog.component.ts:151 msgid "Email format" msgstr "" #: ../ng/src/setup/alerts/alert-dest-dialog.component.ts:152 msgid "full" msgstr "" #: ../ng/src/setup/alerts/alert-dest-dialog.component.ts:153 msgid "Mail configuration" msgstr "" #: ../ng/src/setup/alerts/alert-dest-dialog.component.ts:154 msgid "Min. alert priority" msgstr "" #: ../ng/src/setup/alerts/alert-dest-dialog.component.ts:156 msgid "Test in progress…" msgstr "" #: ../ng/src/setup/alerts/alert-dest-dialog.component.ts:157 msgid "short" msgstr "" #: ../ng/src/setup/alerts/alert-dest-dialog.component.ts:158 msgid "Result" msgstr "" #: ../ng/src/setup/alerts/alert-dest-dialog.component.ts:159 msgid "Send email" msgstr "" #: ../ng/src/setup/alerts/alert-dest-dialog.component.ts:219 msgid "as entered" msgstr "" #: ../ng/src/setup/alerts/alert-dest-dialog.component.ts:221 msgid "as saved on meter" msgstr "" #: ../ng/src/setup/alerts/alert-dest-dialog.component.ts:226 msgid "Relay" msgstr "" #: ../ng/src/setup/alerts/alert-dest-dialog.component.ts:227 msgid "User" msgstr "" #: ../ng/src/setup/alerts/alert-dest-dialog.component.ts:228 #: ../ng/src/setup/network/wlan/net-dialog.component.ts:47 #: ../ng/src/webapi/auth/login-dialog.component.ts:73 msgid "Password" msgstr "" #: ../ng/src/setup/alerts/alert-dest-dialog.component.ts:260 msgid "Email sent successfully - check your inbox." msgstr "" #: ../ng/src/setup/alerts/alert-dest-dialog.component.ts:266 msgid "Email failed: %1" msgstr "" #: ../ng/src/setup/alerts/alert-dest-dialog.component.ts:269 msgid "Email failed." msgstr "" #: ../ng/src/setup/alerts/alert-dest-dialog.component.ts:282 msgid "Testing Email to %1" msgstr "" #: ../ng/src/setup/alerts/alert-dest-dialog.component.ts:285 msgid "Edit Email Destination" msgstr "" #: ../ng/src/setup/alerts/alert-dest-dialog.component.ts:287 msgid "Add Email Destination" msgstr "" #: ../ng/src/setup/alerts/custom-alerts.component.ts:44 msgid "Add an alert." msgstr "" #: ../ng/src/setup/alerts/custom-alerts.component.ts:45 msgid "Condition" msgstr "" #: ../ng/src/setup/alerts/custom-alerts.component.ts:46 #: ../ng/src/setup/alerts/custom-alert-dialog.component.ts:206 msgid "Check frequency" msgstr "" #: ../ng/src/setup/alerts/custom-alerts.component.ts:47 #: ../ng/src/setup/alerts/custom-alert-dialog.component.ts:208 msgid "Message" msgstr "" #: ../ng/src/setup/alerts/custom-alerts.component.ts:49 msgid "Message to post when the alert is triggered. " msgstr "" #: ../ng/src/setup/alerts/custom-alerts.component.ts:53 msgid "Remove this alert." msgstr "" #: ../ng/src/setup/alerts/custom-alerts.component.ts:86 msgid "Custom alerts table is full." msgstr "" #: ../ng/src/setup/alerts/prio-dialog.component.ts:47 #: ../ng/src/setup/alerts/custom-alert-dialog.component.ts:214 msgid "Priority" msgstr "" #: ../ng/src/setup/alerts/prio-dialog.component.ts:48 #: ../ng/src/setup/alerts/sys-alerts-prio.component.ts:51 msgid "Set priority" msgstr "" #: ../ng/src/setup/alerts/sys-alerts-prio.component.ts:52 msgid "Alert" msgstr "" #: ../ng/src/setup/alerts/sys-alerts-prio.component.ts:54 msgid "Tap to change priority" msgstr "" #: ../ng/src/setup/alerts/sys-alerts-prio.component.ts:153 msgid "Priority of %1 selected alerts" msgstr "" #: ../ng/src/setup/alerts/sys-alerts-prio.component.ts:225 msgid "Priority of alert \"%1\"" msgstr "" #: ../ng/src/setup/alerts/custom-alert-dialog.component.ts:28 msgid "" "Variable substitutions: %l: left value of condition; %L: left formula of " "condition; %r: right value of condition; %R: right formula of condition; %o: " "comparison operator of condition; %%: percent character (%)." msgstr "" #: ../ng/src/setup/alerts/custom-alert-dialog.component.ts:136 msgid "every second" msgstr "" #: ../ng/src/setup/alerts/custom-alert-dialog.component.ts:137 msgid "every minute" msgstr "" #: ../ng/src/setup/alerts/custom-alert-dialog.component.ts:138 msgid "hourly" msgstr "" #: ../ng/src/setup/alerts/custom-alert-dialog.component.ts:139 msgid "daily" msgstr "" #: ../ng/src/setup/alerts/custom-alert-dialog.component.ts:140 msgid "weekly" msgstr "" #: ../ng/src/setup/alerts/custom-alert-dialog.component.ts:141 msgid "monthly" msgstr "" #: ../ng/src/setup/alerts/custom-alert-dialog.component.ts:142 msgid "annually" msgstr "" #: ../ng/src/setup/alerts/custom-alert-dialog.component.ts:207 msgid "Left formula" msgstr "" #: ../ng/src/setup/alerts/custom-alert-dialog.component.ts:211 msgid "name of your choice…" msgstr "" #: ../ng/src/setup/alerts/custom-alert-dialog.component.ts:213 msgid "Operator" msgstr "" #: ../ng/src/setup/alerts/custom-alert-dialog.component.ts:215 msgid "Right formula" msgstr "" #: ../ng/src/setup/alerts/custom-alert-dialog.component.ts:258 msgid "Edit Custom Alert" msgstr "" #: ../ng/src/setup/alerts/custom-alert-dialog.component.ts:259 msgid "Add Custom Alert" msgstr "" #: ../ng/src/setup/alerts/alerts.component.ts:149 msgid "Alert delivery" msgstr "" #: ../ng/src/setup/alerts/alerts.component.ts:150 msgid "Alert destinations (tap to edit or test):" msgstr "" #: ../ng/src/setup/alerts/alerts.component.ts:151 msgid "Min. alert priority to report" msgstr "" #: ../ng/src/setup/alerts/alerts.component.ts:152 msgid "Alert options" msgstr "" #: ../ng/src/setup/alerts/alerts.component.ts:153 msgid "Report alerts to…" msgstr "" #: ../ng/src/setup/alerts/alerts.component.ts:156 msgid "Custom Alerts" msgstr "" #: ../ng/src/setup/alerts/alerts.component.ts:159 msgid "Relay host (if needed)" msgstr "" #: ../ng/src/setup/alerts/alerts.component.ts:160 msgid "hostname or IP address" msgstr "" #: ../ng/src/setup/alerts/alerts.component.ts:161 msgid "Password for relay user" msgstr "" #: ../ng/src/setup/alerts/alerts.component.ts:162 msgid "User (if needed by relay host)" msgstr "" #: ../ng/src/setup/alerts/alerts.component.ts:163 msgid "Report alerts to an external server" msgstr "" #: ../ng/src/setup/alerts/alerts.component.ts:164 msgid "Email Gateway (SMTP)" msgstr "" #: ../ng/src/setup/alerts/alerts.component.ts:165 msgid "Set or change relay user's password" msgstr "" #: ../ng/src/setup/alerts/alerts.component.ts:166 #: ../www/common/settings.tmpl.x:377 ../www/common/help.tmpl.x:973 msgid "System Alert Priorities" msgstr "" #: ../ng/src/setup/alerts/alerts.component.ts:167 msgid "Setup Alerts" msgstr "" #: ../ng/src/setup/alerts/alerts.component.ts:296 msgid "Alert configuration saved." msgstr "" #: ../ng/src/setup/alerts/alerts.component.ts:307 msgid "Failed to save alert config: %1" msgstr "" #: ../ng/src/setup/alerts/alerts.component.ts:314 msgid "Failed to save alert config." msgstr "" #: ../ng/src/setup/alerts/alerts.component.ts:409 msgid "Alert Signup" msgstr "" #: ../ng/src/setup/alerts/alert-dests.component.ts:44 msgid "Add a destination." msgstr "" #: ../ng/src/setup/alerts/alert-dests.component.ts:46 msgid "Format" msgstr "" #: ../ng/src/setup/alerts/alert-dests.component.ts:47 msgid "" "\"full\": report all pending alerts; \"short\": report only the highest " "priority alert." msgstr "" #: ../ng/src/setup/alerts/alert-dests.component.ts:49 msgid "Min. prio" msgstr "" #: ../ng/src/setup/alerts/alert-dests.component.ts:50 msgid "" "Send email only when there is an alert pending with at least this priority." msgstr "" #: ../ng/src/setup/alerts/alert-dests.component.ts:52 msgid "No alert destinations. Tap here to add one. At least one is required." msgstr "" #: ../ng/src/setup/alerts/alert-dests.component.ts:54 msgid "Remove this destination." msgstr "" #: ../ng/src/setup/alerts/alert-dests.component.ts:97 msgid "Destination table is full." msgstr "" #: ../ng/src/setup/lua/script/script.component.ts:58 msgid "Billing Setup" msgstr "" #: ../ng/src/setup/lua/script/script.component.ts:59 msgid "Find…" msgstr "" #: ../ng/src/setup/lua/script/script.component.ts:60 msgid "Tariff Script Not Editable" msgstr "" #: ../ng/src/setup/lua/script/script.component.ts:61 msgid "" "The tariff script periodically gets updated by the selected tariff provider " "and therefore cannot be edited. If you wish to edit this script, click the " "Billing Setup button below and then select \"custom\" for Tariff provider." msgstr "" #: ../ng/src/setup/lua/script/script.component.ts:68 #: ../ng/src/setup/lua/script/script.component.ts:73 msgid "Lua script editor" msgstr "" #: ../ng/src/setup/lua/script/script.component.ts:78 msgid "Hide sidebar" msgstr "" #: ../ng/src/setup/lua/script/script.component.ts:78 msgid "Show sidebar" msgstr "" #: ../ng/src/setup/lua/lua.component.ts:30 #: ../ng/src/setup/setup.component.ts:35 msgid "Lua scripts & variables" msgstr "" #: ../ng/src/setup/lua/vars/vars.component.ts:131 msgid "Delete this variable." msgstr "" #: ../ng/src/setup/lua/vars/vars.component.ts:132 msgid "Variable (tap to edit value)" msgstr "" #: ../ng/src/setup/lua/vars/vars.component.ts:133 #: ../ng/src/setup/modbus/map/map.component.ts:261 #: ../www/common/check.tmpl.x:36 msgid "Value" msgstr "" #: ../ng/src/setup/lua/vars/vars.component.ts:149 msgid "Lua persistent variables" msgstr "" #: ../ng/src/setup/lua/vars/vars.component.ts:181 msgid "Failed to save variable \"%1\": %2" msgstr "" #: ../ng/src/setup/lua/vars/vars.component.ts:238 msgid "Variable \"%1\" deleted." msgstr "" #: ../ng/src/setup/lua/vars/vars.component.ts:246 msgid "Delete failed: %1" msgstr "" #: ../ng/src/setup/lua/vars/vars.component.ts:278 msgid "Lua variable editor" msgstr "" #: ../ng/src/setup/lua/vars/vars.component.ts:309 msgid "Value for \"%1\" could not be read. Created an empty value." msgstr "" #: ../ng/src/setup/lua/ctrl/ctrl-scripts.component.ts:76 msgid "Create a new script." msgstr "" #: ../ng/src/setup/lua/ctrl/ctrl-scripts.component.ts:78 msgid "Script name (tap to edit)" msgstr "" #: ../ng/src/setup/lua/ctrl/ctrl-scripts.component.ts:79 msgid "Delete script." msgstr "" #: ../ng/src/setup/lua/ctrl/ctrl-scripts.component.ts:80 msgid "Available control scripts" msgstr "" #: ../ng/src/setup/lua/ctrl/ctrl-scripts.component.ts:81 msgid "Upload scripts." msgstr "" #: ../ng/src/setup/lua/ctrl/ctrl-scripts.component.ts:107 msgid "Script \"%1\" deleted." msgstr "" #: ../ng/src/setup/lua/ctrl/ctrl-scripts.component.ts:112 msgid "Failed to delete script: %1" msgstr "" #: ../ng/src/setup/lua/ctrl/ctrl-scripts.component.ts:124 msgid "Upload one or more scripts" msgstr "" #: ../ng/src/setup/lua/ctrl/ctrl-scripts.component.ts:167 msgid "Upload Failed: %1" msgstr "" #: ../ng/src/setup/lua/ctrl/ctrl-scripts.component.ts:199 msgid "" "User \"%1\" is not authorized to setup control scripts. You can fix this by " "logging as a different user who has the required control right or by " "changing the rights of this user." msgstr "" #: ../ng/src/setup/lua/ctrl/ctrl-scripts.component.ts:225 msgid "Failed to get list of scripts: %1" msgstr "" #: ../ng/src/setup/billing/billing.component.ts:174 msgid "Bill contracted demand" msgstr "" #: ../ng/src/setup/billing/billing.component.ts:175 msgid "" "When turned on, demand is billed based on the contracted demand. When " "turned off, demand is billed based on actual measured demand.This should " "normally be off unless your utility meter does not have the capability to " "measure demand." msgstr "" #: ../ng/src/setup/billing/billing.component.ts:184 msgid "Contract demand" msgstr "" #: ../ng/src/setup/billing/billing.component.ts:185 msgid "" "Set this to the amount of power (demand) that your site has contracted from " "the utility." msgstr "" #: ../ng/src/setup/billing/billing.component.ts:189 msgid "Customize tariff script" msgstr "" #: ../ng/src/setup/billing/billing.component.ts:192 msgid "Schedule" msgstr "" #: ../ng/src/setup/billing/billing.component.ts:193 msgid "Day of month on which meter is read" msgstr "" #: ../ng/src/setup/billing/billing.component.ts:194 msgid "" "Set this to the day of the month on which the meter is read. This day is " "typically shown in the monthly statement of your utility." msgstr "" #: ../ng/src/setup/billing/billing.component.ts:197 msgid "Energy surcharges" msgstr "" #: ../ng/src/setup/billing/billing.component.ts:198 msgid "Cost per kWh of all surcharges to be applied." msgstr "" #: ../ng/src/setup/billing/billing.component.ts:199 msgid "Tariff provider" msgstr "" #: ../ng/src/setup/billing/billing.component.ts:200 msgid "" "Set this to the name of the utility that is providing your energy or select " "\"custom\" to write a custom script for calculating energy costs." msgstr "" #: ../ng/src/setup/billing/billing.component.ts:204 msgid "Taxes" msgstr "" #: ../ng/src/setup/billing/billing.component.ts:205 msgid "Total percentage of all taxes to be applied." msgstr "" #: ../ng/src/setup/billing/billing.component.ts:206 msgid "Setup Billing" msgstr "" #: ../ng/src/setup/billing/billing.component.ts:255 msgid "Failed to load tariff provider info." msgstr "" #. Translators: This is a cost per kilo-watt-hour of energy. #. %1 is a currency symbol such as $, ₩, or CHF. #: ../ng/src/setup/billing/billing.component.ts:268 msgid "%1/kWh" msgstr "" #: ../ng/src/setup/billing/billing.component.ts:283 msgid "Failed to load global preferences." msgstr "" #: ../ng/src/setup/billing/billing.component.ts:349 msgid "Failed to load tariff schedules for utility \"%1\"." msgstr "" #: ../ng/src/setup/billing/billing.component.ts:367 msgid "Failed to remove tariff URI: \"%1\"." msgstr "" #: ../ng/src/setup/billing/billing.component.ts:393 msgid "Failed to remove tax rate: \"%1\"." msgstr "" #: ../ng/src/setup/billing/billing.component.ts:417 msgid "Failed to save global preferences: \"%1\"." msgstr "" #: ../ng/src/setup/network/wlan/wlan.component.ts:196 msgid "Add network." msgstr "" #: ../ng/src/setup/network/wlan/wlan.component.ts:197 msgid "Add network" msgstr "" #: ../ng/src/setup/network/wlan/wlan.component.ts:198 ../display/wireless.c:846 #, c-format msgid "Connected" msgstr "" #: ../ng/src/setup/network/wlan/wlan.component.ts:200 msgid "Network (tap to select)" msgstr "" #: ../ng/src/setup/network/wlan/wlan.component.ts:201 msgid "No networks detected." msgstr "" #: ../ng/src/setup/network/wlan/wlan.component.ts:202 msgid "Remove this network" msgstr "" #: ../ng/src/setup/network/wlan/wlan.component.ts:203 msgid "Select Wi-Fi Network" msgstr "" #: ../ng/src/setup/network/wlan/wlan.component.ts:250 msgid "Remove network \"%1\"?" msgstr "" #: ../ng/src/setup/network/wlan/wlan.component.ts:253 msgid "Forget Network" msgstr "" #: ../ng/src/setup/network/wlan/wlan.component.ts:279 msgid "Failed to remove network: %1" msgstr "" #: ../ng/src/setup/network/wlan/wlan.component.ts:331 msgid "Network added" msgstr "" #: ../ng/src/setup/network/wlan/wlan.component.ts:337 msgid "Failed to add network: %1" msgstr "" #: ../ng/src/setup/network/wlan/wlan.component.ts:367 msgid "Network selected" msgstr "" #: ../ng/src/setup/network/wlan/wlan.component.ts:373 msgid "Failed to select network: %1" msgstr "" #: ../ng/src/setup/network/wlan/wlan.component.ts:424 msgid "dBm" msgstr "" #: ../ng/src/setup/network/wlan/wlan.component.ts:450 msgid "Failed to get Wi-Fi nets: %1" msgstr "" #: ../ng/src/setup/network/wlan/wlan.component.ts:557 msgid "" "I am about to connect to \"%1\" which will terminate this connection. " "Check LCD on the meter for progress." msgstr "" #: ../ng/src/setup/network/wlan/wlan.component.ts:563 msgid "I am about to connect to \"%1\" which may terminate this connection." msgstr "" #: ../ng/src/setup/network/wlan/net-dialog.component.ts:45 msgid "≥ 2 characters required" msgstr "" #: ../ng/src/setup/network/wlan/net-dialog.component.ts:46 msgid "≥ 8 characters required" msgstr "" #: ../ng/src/setup/network/wlan/net-dialog.component.ts:49 msgid "Security" msgstr "" #: ../ng/src/setup/network/wlan/net-dialog.component.ts:50 msgid "None" msgstr "" #: ../ng/src/setup/network/wlan/net-dialog.component.ts:51 msgid "WPA/WPA2-Personal" msgstr "" #: ../ng/src/setup/network/wlan/net-dialog.component.ts:52 msgid "Network name (SSID)" msgstr "" #: ../ng/src/setup/network/wlan/net-dialog.component.ts:53 msgid "Add Network" msgstr "" #: ../ng/src/setup/network/network.component.ts:34 msgid "Web Client" msgstr "" #: ../ng/src/setup/network/network.component.ts:35 msgid "Web Server" msgstr "" #: ../ng/src/setup/network/ntp/server-dialog.component.ts:50 msgid "Enter a domainname or IP address." msgstr "" #: ../ng/src/setup/network/ntp/server-dialog.component.ts:51 msgid "This server exists already." msgstr "" #: ../ng/src/setup/network/ntp/server-dialog.component.ts:53 msgid "Server name or IP address" msgstr "" #: ../ng/src/setup/network/ntp/ntp.component.ts:110 msgid "Add server." msgstr "" #: ../ng/src/setup/network/ntp/ntp.component.ts:113 msgid "Clock status: " msgstr "" #: ../ng/src/setup/network/ntp/ntp.component.ts:115 msgid "No NTP servers have been configured. Tap here to add one." msgstr "" #: ../ng/src/setup/network/ntp/ntp.component.ts:117 msgid "Remove server." msgstr "" #: ../ng/src/setup/network/ntp/ntp.component.ts:119 msgid "NTP server (tap to edit)" msgstr "" #: ../ng/src/setup/network/ntp/ntp.component.ts:120 msgid "State" msgstr "" #: ../ng/src/setup/network/ntp/ntp.component.ts:121 msgid "Network Time" msgstr "" #: ../ng/src/setup/network/ntp/ntp.component.ts:172 msgid "Unable to determine NTP status." msgstr "" #: ../ng/src/setup/network/ntp/ntp.component.ts:177 msgid "The server's address is valid, but communication has not yet succeeded." msgstr "" #: ../ng/src/setup/network/ntp/ntp.component.ts:180 msgid "The server's address has not yet been determined." msgstr "" #: ../ng/src/setup/network/ntp/ntp.component.ts:183 msgid "Determining whether the server is usable." msgstr "" #: ../ng/src/setup/network/ntp/ntp.component.ts:186 msgid "This server is a usable time source." msgstr "" #: ../ng/src/setup/network/ntp/ntp.component.ts:189 msgid "The clock is synchronized with this server." msgstr "" #: ../ng/src/setup/network/ntp/ntp.component.ts:227 msgid "Add server" msgstr "" #: ../ng/src/setup/network/ntp/ntp.component.ts:229 msgid "Edit server" msgstr "" #: ../ng/src/setup/network/ntp/ntp.component.ts:300 msgid "NTP servers updated" msgstr "" #: ../ng/src/setup/network/ntp/ntp.component.ts:307 msgid "Failed to update servers: %1" msgstr "" #: ../ng/src/setup/network/ntp/ntp.component.ts:310 msgid "Failed to update servers." msgstr "" #: ../ng/src/setup/network/ntp/ntp.component.ts:382 msgid "Failed to get NTP servers: %1" msgstr "" #: ../ng/src/setup/network/ntp/ntp.component.ts:485 msgid "unsynchronized" msgstr "" #: ../ng/src/setup/network/ntp/ntp.component.ts:489 msgid "synchronizing" msgstr "" #: ../ng/src/setup/network/proxy-server/proxy-server.component.ts:42 msgid "Proxy Server Enabled" msgstr "" #: ../ng/src/setup/network/proxy-server/proxy-server.component.ts:43 msgid "Proxy Server Hostname" msgstr "" #: ../ng/src/setup/network/proxy-server/proxy-server.component.ts:44 msgid "Hostname must not be empty." msgstr "" #: ../ng/src/setup/network/proxy-server/proxy-server.component.ts:45 msgid "Please enter a valid hostname." msgstr "" #: ../ng/src/setup/network/proxy-server/proxy-server.component.ts:47 msgid "Proxy Server setup" msgstr "" #: ../ng/src/setup/network/proxy-server/proxy-server.component.ts:89 msgid "Proxy settings saved" msgstr "" #: ../ng/src/setup/network/proxy-server/proxy-server.component.ts:96 msgid "Failed to save proxy settings: %1" msgstr "" #: ../ng/src/setup/network/proxy-server/proxy-server.component.ts:99 msgid "Failed to save proxy settings." msgstr "" #: ../ng/src/setup/network/web-server/web-server.component.ts:44 msgid "Web-server setup" msgstr "" #: ../ng/src/setup/network/web-server/web-server.component.ts:45 msgid "Upload HTTPS certificate" msgstr "" #: ../ng/src/setup/network/web-server/web-server.component.ts:46 msgid "Use this button to install a custom HTTPS certificate on the meter." msgstr "" #: ../ng/src/setup/network/web-server/web-server.component.ts:63 msgid "Certificate to install" msgstr "" #: ../ng/src/setup/network/web-server/web-server.component.ts:66 msgid "The file must contain both the private key and the certificate." msgstr "" #: ../ng/src/setup/network/web-server/web-server.component.ts:88 msgid "HTTPS certificate saved." msgstr "" #: ../ng/src/setup/network/web-server/web-server.component.ts:94 msgid "Failed to save HTTPS certificate: %1" msgstr "" #: ../ng/src/setup/network/web-client/web-client.component.ts:41 msgid "Disable certificate checking" msgstr "" #: ../ng/src/setup/network/web-client/web-client.component.ts:43 msgid "Web-client setup" msgstr "" #: ../ng/src/setup/network/web-client/web-client.component.ts:65 msgid "Web-client settings saved" msgstr "" #: ../ng/src/setup/network/web-client/web-client.component.ts:72 msgid "Failed to save Web-client settings: %1" msgstr "" #: ../ng/src/setup/network/web-client/web-client.component.ts:75 msgid "Failed to save Web-client settings." msgstr "" #: ../ng/src/setup/health/health.component.ts:36 msgid "min. alert priority to report" msgstr "" #: ../ng/src/setup/health/health.component.ts:37 msgid "alert is pending" msgstr "" #: ../ng/src/setup/health/health.component.ts:38 msgid "any firmware update is available" msgstr "" #: ../ng/src/setup/health/health.component.ts:40 msgid "Notify me if:" msgstr "" #: ../ng/src/setup/health/health.component.ts:41 msgid "Enable health checking" msgstr "" #: ../ng/src/setup/health/health.component.ts:42 ../display/info.c:334 msgid "Firmware" msgstr "" #: ../ng/src/setup/health/health.component.ts:44 msgid "meter cannot share data" msgstr "" #: ../ng/src/setup/health/health.component.ts:45 msgid "meter has incorrect time" msgstr "" #: ../ng/src/setup/health/health.component.ts:46 msgid "time is not synchronized with the network" msgstr "" #: ../ng/src/setup/health/health.component.ts:47 msgid "Health Checker Settings" msgstr "" #: ../ng/src/setup/health/health.component.ts:110 msgid "Health configuration saved." msgstr "" #. Translators: %1 is an error message. #: ../ng/src/setup/health/health.component.ts:116 msgid "Failed to save health config: %1" msgstr "" #: ../ng/src/setup/health/health.component.ts:120 msgid "Failed to save health config." msgstr "" #. Translators: Error message displayed when an invalid character #. is typed. Only letters, digits, -, or _ are allowed. #: ../ng/src/setup/modbus/map/upload-filename-dialog.component.ts:75 msgid "Letters, digits, \"-\", or \"_\"." msgstr "" #: ../ng/src/setup/modbus/map/upload-filename-dialog.component.ts:76 #: ../ng/src/setup/modbus/map/map.component.ts:243 msgid "Map name" msgstr "" #: ../ng/src/setup/modbus/map/map.component.ts:123 msgid "Invalid CSV string \"%1\"." msgstr "" #: ../ng/src/setup/modbus/map/map.component.ts:142 msgid "Columns \"name\" and \"addr\" are required." msgstr "" #: ../ng/src/setup/modbus/map/map.component.ts:148 msgid "Row %1 is short." msgstr "" #: ../ng/src/setup/modbus/map/map.component.ts:164 msgid "Empty register name in row %1." msgstr "" #: ../ng/src/setup/modbus/map/map.component.ts:167 msgid "Duplicate register name \"%1\" in row %2." msgstr "" #: ../ng/src/setup/modbus/map/map.component.ts:229 msgid "Add a new map." msgstr "" #: ../ng/src/setup/modbus/map/map.component.ts:230 msgid "Add register." msgstr "" #: ../ng/src/setup/modbus/map/map.component.ts:232 msgid "Add option." msgstr "" #: ../ng/src/setup/modbus/map/map.component.ts:233 #: ../ng/src/setup/modbus/map/option-dialog.component.ts:91 msgid "Add option" msgstr "" #: ../ng/src/setup/modbus/map/map.component.ts:234 msgid "Addr." msgstr "" #: ../ng/src/setup/modbus/map/map.component.ts:237 msgid "Download map." msgstr "" #: ../ng/src/setup/modbus/map/map.component.ts:238 msgid "Options" msgstr "" #: ../ng/src/setup/modbus/map/map.component.ts:239 msgid "Map name may contain letters, digits, \"-\", or \"_\"." msgstr "" #: ../ng/src/setup/modbus/map/map.component.ts:241 msgid "Kind" msgstr "" #: ../ng/src/setup/modbus/map/map.component.ts:242 msgid "Map (tap to edit)" msgstr "" #. Translators: Abbreviated version of "offset". #: ../ng/src/setup/modbus/map/map.component.ts:246 msgid "Off." msgstr "" #: ../ng/src/setup/modbus/map/map.component.ts:247 #: ../ng/src/setup/modbus/map/option-dialog.component.ts:80 msgid "Option" msgstr "" #: ../ng/src/setup/modbus/map/map.component.ts:249 msgid "Delete map." msgstr "" #: ../ng/src/setup/modbus/map/map.component.ts:250 msgid "Delete this register." msgstr "" #: ../ng/src/setup/modbus/map/map.component.ts:251 msgid "Delete this option." msgstr "" #: ../ng/src/setup/modbus/map/map.component.ts:252 msgid "Checked if register is read-only." msgstr "" #. Translators: Abbreviated version of "read only". #: ../ng/src/setup/modbus/map/map.component.ts:254 msgid "RO" msgstr "" #: ../ng/src/setup/modbus/map/map.component.ts:256 msgid "Scale" msgstr "" #: ../ng/src/setup/modbus/map/map.component.ts:260 msgid "Upload map from CSV file." msgstr "" #: ../ng/src/setup/modbus/map/map.component.ts:319 msgid "Failed to get system Modbus maps: %1" msgstr "" #: ../ng/src/setup/modbus/map/map.component.ts:325 msgid "Failed to get user Modbus maps: %1" msgstr "" #: ../ng/src/setup/modbus/map/map.component.ts:372 msgid "User map %1 deleted." msgstr "" #: ../ng/src/setup/modbus/map/map.component.ts:380 msgid "Failed to delete map: %1" msgstr "" #: ../ng/src/setup/modbus/map/map.component.ts:409 msgid "Map download" msgstr "" #: ../ng/src/setup/modbus/map/map.component.ts:427 msgid "Upload map" msgstr "" #: ../ng/src/setup/modbus/map/map.component.ts:443 msgid "CSV error: %1" msgstr "" #: ../ng/src/setup/modbus/map/map.component.ts:731 msgid "Failed to load map: %1" msgstr "" #: ../ng/src/setup/modbus/map/map.component.ts:742 msgid "Available Modbus Maps" msgstr "" #: ../ng/src/setup/modbus/map/map.component.ts:746 msgid "Edit register map" msgstr "" #: ../ng/src/setup/modbus/map/map.component.ts:752 msgid "%1 options" msgstr "" #: ../ng/src/setup/modbus/map/map.component.ts:754 msgid "New map options." msgstr "" #: ../ng/src/setup/modbus/map/map.component.ts:804 msgid "Map %1 saved." msgstr "" #: ../ng/src/setup/modbus/map/map.component.ts:811 msgid "Failed to save map: %1" msgstr "" #: ../ng/src/setup/modbus/map/map.component.ts:814 msgid "Failed to save map." msgstr "" #: ../ng/src/setup/modbus/map/option-dialog.component.ts:31 msgid "Default unit number" msgstr "" #: ../ng/src/setup/modbus/map/option-dialog.component.ts:32 msgid "Default serial-port parameters" msgstr "" #: ../ng/src/setup/modbus/map/option-dialog.component.ts:33 msgid "Default TCP port" msgstr "" #: ../ng/src/setup/modbus/map/option-dialog.component.ts:34 msgid "Base address" msgstr "" #: ../ng/src/setup/modbus/map/option-dialog.component.ts:68 msgid "Baud rate" msgstr "" #: ../ng/src/setup/modbus/map/option-dialog.component.ts:70 msgid "Data bits" msgstr "" #: ../ng/src/setup/modbus/map/option-dialog.component.ts:72 #: ../ng/src/setup/modbus/map/option-dialog.component.ts:74 msgid "Must be in range 0..65535." msgstr "" #: ../ng/src/setup/modbus/map/option-dialog.component.ts:73 msgid "Must be in range 1..248." msgstr "" #: ../ng/src/setup/modbus/map/option-dialog.component.ts:75 msgid "Unit (1..248)" msgstr "" #: ../ng/src/setup/modbus/map/option-dialog.component.ts:76 msgid "address (0..65535)" msgstr "" #: ../ng/src/setup/modbus/map/option-dialog.component.ts:81 msgid "Parity" msgstr "" #: ../ng/src/setup/modbus/map/option-dialog.component.ts:82 msgid "Stop bits" msgstr "" #: ../ng/src/setup/modbus/map/option-dialog.component.ts:83 msgid "port (0..65535)" msgstr "" #: ../ng/src/setup/modbus/map/option-dialog.component.ts:89 msgid "Edit option" msgstr "" #: ../ng/src/webapi/config.service.ts:37 msgid "Loading configuration" msgstr "" #: ../ng/src/webapi/time-period-specs.ts:154 ../ng/src/lib/time.ts:121 msgid "last second" msgstr "" #: ../ng/src/webapi/time-period-specs.ts:160 ../ng/src/lib/time.ts:124 msgid "last minute" msgstr "" #: ../ng/src/webapi/time-period-specs.ts:166 ../ng/src/lib/time.ts:127 msgid "last 15 minutes" msgstr "" #: ../ng/src/webapi/time-period-specs.ts:172 ../ng/src/lib/time.ts:130 msgid "last hour" msgstr "" #: ../ng/src/webapi/time-period-specs.ts:178 ../ng/src/lib/time.ts:133 msgid "last 3 hours" msgstr "" #: ../ng/src/webapi/time-period-specs.ts:184 ../ng/src/lib/time.ts:136 msgid "last 6 hours" msgstr "" #: ../ng/src/webapi/time-period-specs.ts:190 ../ng/src/lib/time.ts:139 msgid "last 12 hours" msgstr "" #: ../ng/src/webapi/time-period-specs.ts:196 ../ng/src/lib/time.ts:142 msgid "last 24 hours" msgstr "" #: ../ng/src/webapi/time-period-specs.ts:202 msgid "last 72 hours" msgstr "" #: ../ng/src/webapi/time-period-specs.ts:208 msgid "last 7 days" msgstr "" #: ../ng/src/webapi/time-period-specs.ts:214 msgid "last 14 days" msgstr "" #: ../ng/src/webapi/time-period-specs.ts:220 msgid "last 31 days" msgstr "" #: ../ng/src/webapi/time-period-specs.ts:226 msgid "last 92 days" msgstr "" #: ../ng/src/webapi/time-period-specs.ts:232 ../ng/src/lib/time.ts:163 msgid "last year" msgstr "" #: ../ng/src/webapi/time-period-specs.ts:238 msgid "last 5 years" msgstr "" #: ../ng/src/webapi/time-period-specs.ts:244 msgid "last 10 years" msgstr "" #: ../ng/src/webapi/time-period-specs.ts:250 msgid "since start of second" msgstr "" #: ../ng/src/webapi/time-period-specs.ts:257 msgid "since start of minute" msgstr "" #: ../ng/src/webapi/time-period-specs.ts:264 msgid "since start of quarter hour" msgstr "" #: ../ng/src/webapi/time-period-specs.ts:271 msgid "since start of hour" msgstr "" #: ../ng/src/webapi/time-period-specs.ts:278 msgid "since start of day" msgstr "" #: ../ng/src/webapi/time-period-specs.ts:285 msgid "since start of week" msgstr "" #: ../ng/src/webapi/time-period-specs.ts:292 msgid "since start of month" msgstr "" #: ../ng/src/webapi/time-period-specs.ts:320 ../ng/src/lib/time.ts:91 msgid "this second" msgstr "" #: ../ng/src/webapi/time-period-specs.ts:328 ../ng/src/lib/time.ts:94 msgid "this minute" msgstr "" #: ../ng/src/webapi/time-period-specs.ts:336 ../ng/src/lib/time.ts:97 msgid "this quarter hour" msgstr "" #: ../ng/src/webapi/time-period-specs.ts:344 ../ng/src/lib/time.ts:100 msgid "this hour" msgstr "" #: ../ng/src/webapi/time-period-specs.ts:360 ../ng/src/lib/time.ts:106 msgid "this week" msgstr "" #: ../ng/src/webapi/time-period-specs.ts:368 ../ng/src/lib/time.ts:109 msgid "this month" msgstr "" #: ../ng/src/webapi/time-period-specs.ts:376 msgid "this bill cycle" msgstr "" #: ../ng/src/webapi/time-period-specs.ts:384 msgid "this quarter" msgstr "" #: ../ng/src/webapi/time-period-specs.ts:392 ../ng/src/lib/time.ts:115 msgid "this year" msgstr "" #: ../ng/src/webapi/time-period-specs.ts:400 msgid "previous second" msgstr "" #: ../ng/src/webapi/time-period-specs.ts:407 msgid "previous minute" msgstr "" #: ../ng/src/webapi/time-period-specs.ts:414 msgid "previous quarter hour" msgstr "" #: ../ng/src/webapi/time-period-specs.ts:421 msgid "previous hour" msgstr "" #: ../ng/src/webapi/capture.service.ts:108 msgid "Loading channel list" msgstr "" #: ../ng/src/webapi/capture.service.ts:148 msgid "Capture service is busy." msgstr "" #: ../ng/src/webapi/slop.ts:257 msgid "Server error: %1" msgstr "" #: ../ng/src/webapi/slop.ts:261 msgid "Alert activation: %1" msgstr "" #: ../ng/src/webapi/slop.ts:265 msgid "Push activation: %1" msgstr "" #: ../ng/src/webapi/slop.ts:328 msgid "Failed to send email to \"%1\"" msgstr "" #: ../ng/src/webapi/slop.ts:373 msgid "No error." msgstr "" #: ../ng/src/webapi/slop.ts:376 msgid "Unknown error %1." msgstr "" #: ../ng/src/webapi/slop.ts:445 msgid "No info." msgstr "" #: ../ng/src/webapi/slop.ts:448 msgid "Unknown info %1." msgstr "" #: ../ng/src/webapi/auth/login-dialog.component.ts:74 msgid "Confirm Password" msgstr "" #: ../ng/src/webapi/auth/login-dialog.component.ts:76 msgid "Change User" msgstr "" #: ../ng/src/webapi/auth/login-dialog.component.ts:77 msgid "Passwords do not match" msgstr "" #: ../ng/src/webapi/auth/login-dialog.component.ts:78 msgid "Confirmation password is required" msgstr "" #: ../ng/src/webapi/auth/login-dialog.component.ts:79 msgid "Only use ``Remember me'' if you are using a trusted client device." msgstr "" #: ../ng/src/webapi/auth/login-dialog.component.ts:81 msgid "Remember me" msgstr "" #: ../ng/src/webapi/auth/login-dialog.component.ts:82 msgid "" "If this is checked, the username and password will be saved on your client " "device for later use." msgstr "" #: ../ng/src/webapi/auth/login-dialog.component.ts:85 msgid "Tap to remove this username and its saved password." msgstr "" #: ../ng/src/webapi/auth/login-dialog.component.ts:87 msgid "Saved credentials" msgstr "" #: ../ng/src/webapi/auth/login-dialog.component.ts:122 #: ../ng/src/webapi/auth/login-dialog.component.ts:295 msgid "Sign in" msgstr "" #. Translators: %1 is a hostname (e.g., eGauge1234) and %2 is #. a Web-realm name, such as "eGauge Administration". #: ../ng/src/webapi/auth/login-dialog.component.ts:135 msgid "%1 requires a username and password for realm \"%2\"." msgstr "" #: ../ng/src/webapi/auth/login-dialog.component.ts:143 msgid " Your connection to this site is not private." msgstr "" #: ../ng/src/webapi/auth/login-dialog.component.ts:148 msgid "Access Forbidden" msgstr "" #: ../ng/src/webapi/auth/login-dialog.component.ts:149 msgid "" "User %1 is not allowed to access this service. Would you like to sign in as " "a different user?" msgstr "" #: ../ng/src/webapi/auth/login-dialog.component.ts:156 msgid "Create New Login" msgstr "" #: ../ng/src/webapi/auth/login-dialog.component.ts:157 msgid "" "Select a new username and password. Please memorize your answers as they " "will be required for future access to this device." msgstr "" #: ../ng/src/webapi/auth/login-dialog.component.ts:173 msgid "Sign in failed, try again." msgstr "" #: ../ng/src/webapi/auth/login-dialog.component.ts:366 msgid "Verifying…" msgstr "" #: ../ng/src/webapi/auth/login-dialog.component.ts:396 msgid "Please fill in the form" msgstr "" #: ../ng/src/webapi/auth/login-dialog.component.ts:401 msgid "Saving…" msgstr "" #: ../ng/src/webapi/auth/login-dialog.component.ts:417 msgid "Failed to create login" msgstr "" #: ../ng/src/webapi/auth/login-dialog.component.ts:429 msgid "Needs at least %1 characters" msgstr "" #: ../ng/src/webapi/auth/login-dialog.component.ts:433 msgid "Needs a lower case letter" msgstr "" #: ../ng/src/webapi/auth/login-dialog.component.ts:436 msgid "Needs an upper case letter" msgstr "" #: ../ng/src/webapi/auth/login-dialog.component.ts:439 msgid "Needs a digit" msgstr "" #: ../ng/src/webapi/meter-time.ts:553 ../ng/src/webapi/meter-time.ts:614 #: ../ng/src/webapi/meter-time.ts:636 ../ng/src/webapi/meter-time.ts:640 msgid "M/D" msgstr "" #: ../ng/src/webapi/meter-time.ts:555 ../ng/src/webapi/meter-time.ts:616 #: ../ng/src/webapi/meter-time.ts:642 msgid "M/D/Y" msgstr "" #: ../ng/src/webapi/meter-time.ts:592 msgid "empty time range" msgstr "" #. Translators: See http://egauge.net/i18n/moment/ #: ../ng/src/webapi/meter-time.ts:627 msgid "M/D ddd" msgstr "" #: ../ng/src/webapi/meter-time.ts:629 ../ng/src/webapi/meter-time.ts:638 msgid "M/D/Y ddd" msgstr "" #: ../ng/src/webapi/meter-time.ts:655 msgid "%1 (start of data)" msgstr "" #. Translators: Displays a time range. %1 and %2 are dates/times. #: ../ng/src/webapi/meter-time.ts:660 msgid "%1 – %2" msgstr "" #. Translators: A time range in a different timezone. %1 and %2 #. are start/end times of the range and %3 is the timezone. #. #: ../ng/src/webapi/meter-time.ts:668 msgid "%1 – %2 (%3)" msgstr "" #: ../ng/src/webapi/register.service.ts:600 #: ../ng/src/webapi/register.service.ts:756 msgid "Reading registers" msgstr "" #: ../ng/src/webapi/register.service.ts:641 #: ../ng/src/webapi/register.service.ts:769 msgid "Reading register list" msgstr "" #: ../ng/src/lib/i18n.spec.ts:19 ../ng/src/lib/i18n.spec.ts:60 msgid "One file found." msgid_plural "%1 files found." msgstr[0] "" msgstr[1] "" #: ../ng/src/lib/icons.ts:48 msgid "air conditioner" msgstr "" #: ../ng/src/lib/icons.ts:53 msgid "battery" msgstr "" #: ../ng/src/lib/icons.ts:59 msgid "battery left or SoC" msgstr "" #: ../ng/src/lib/icons.ts:63 msgid "coffee machine" msgstr "" #: ../ng/src/lib/icons.ts:68 msgid "dish washer" msgstr "" #: ../ng/src/lib/icons.ts:73 msgid "electric vehicle" msgstr "" #: ../ng/src/lib/icons.ts:78 msgid "factory" msgstr "" #: ../ng/src/lib/icons.ts:83 msgid "generator" msgstr "" #: ../ng/src/lib/icons.ts:88 msgid "power lines" msgstr "" #: ../ng/src/lib/icons.ts:93 msgid "hotel" msgstr "" #: ../ng/src/lib/icons.ts:98 msgid "home" msgstr "" #: ../ng/src/lib/icons.ts:103 msgid "light bulb" msgstr "" #: ../ng/src/lib/icons.ts:108 msgid "microwave" msgstr "" #: ../ng/src/lib/icons.ts:113 msgid "office building" msgstr "" #: ../ng/src/lib/icons.ts:118 msgid "wall outlets" msgstr "" #: ../ng/src/lib/icons.ts:123 msgid "heater" msgstr "" #: ../ng/src/lib/icons.ts:128 msgid "refrigerator" msgstr "" #: ../ng/src/lib/icons.ts:133 msgid "solar panels" msgstr "" #: ../ng/src/lib/icons.ts:138 ../ng/src/lib/icons.ts:143 msgid "stove" msgstr "" #: ../ng/src/lib/icons.ts:148 msgid "water heater" msgstr "" #: ../ng/src/lib/icons.ts:153 msgid "washing machine" msgstr "" #: ../ng/src/lib/icons.ts:158 msgid "wind turbine" msgstr "" #: ../ng/src/lib/time.ts:91 msgid "start of second" msgstr "" #: ../ng/src/lib/time.ts:94 msgid "start of minute" msgstr "" #: ../ng/src/lib/time.ts:97 msgid "start of quarter hour" msgstr "" #: ../ng/src/lib/time.ts:100 msgid "start of hour" msgstr "" #: ../ng/src/lib/time.ts:103 msgid "start of day" msgstr "" #: ../ng/src/lib/time.ts:106 msgid "start of week" msgstr "" #: ../ng/src/lib/time.ts:109 msgid "start of month" msgstr "" #: ../ng/src/lib/time.ts:112 msgid "last bill" msgstr "" #: ../ng/src/lib/time.ts:112 msgid "this billing cycle" msgstr "" #: ../ng/src/lib/time.ts:115 msgid "start of year" msgstr "" #: ../ng/src/lib/time.ts:118 msgid "inception" msgstr "" #: ../ng/src/lib/time.ts:118 msgid "since inception" msgstr "" #: ../ng/src/lib/time.ts:121 msgid "1 second ago" msgstr "" #: ../ng/src/lib/time.ts:124 msgid "1 minute ago" msgstr "" #: ../ng/src/lib/time.ts:127 msgid "15 minutes ago" msgstr "" #: ../ng/src/lib/time.ts:130 msgid "1 hour ago" msgstr "" #: ../ng/src/lib/time.ts:133 msgid "3 hour ago" msgstr "" #: ../ng/src/lib/time.ts:136 msgid "6 hour ago" msgstr "" #: ../ng/src/lib/time.ts:139 msgid "12 hour ago" msgstr "" #: ../ng/src/lib/time.ts:142 msgid "24 hours ago" msgstr "" #: ../ng/src/lib/time.ts:145 msgid "3 days ago" msgstr "" #: ../ng/src/lib/time.ts:145 msgid "last 3 days" msgstr "" #: ../ng/src/lib/time.ts:148 msgid "1 week ago" msgstr "" #: ../ng/src/lib/time.ts:148 msgid "last week" msgstr "" #: ../ng/src/lib/time.ts:151 msgid "2 weeks ago" msgstr "" #: ../ng/src/lib/time.ts:151 msgid "last 2 weeks" msgstr "" #: ../ng/src/lib/time.ts:154 msgid "1 month ago" msgstr "" #: ../ng/src/lib/time.ts:154 msgid "last month" msgstr "" #: ../ng/src/lib/time.ts:157 msgid "3 months ago" msgstr "" #: ../ng/src/lib/time.ts:157 msgid "last 3 months" msgstr "" #: ../ng/src/lib/time.ts:160 msgid "6 months ago" msgstr "" #: ../ng/src/lib/time.ts:160 msgid "last 6 months" msgstr "" #: ../ng/src/lib/time.ts:163 msgid "1 year ago" msgstr "" #: ../ng/src/lib/i18n-datepicker.ts:37 msgid "Calendar" msgstr "" #: ../ng/src/lib/i18n-datepicker.ts:38 msgid "Open calendar" msgstr "" #: ../ng/src/lib/i18n-datepicker.ts:39 msgid "Previous month" msgstr "" #: ../ng/src/lib/i18n-datepicker.ts:40 msgid "Next month" msgstr "" #: ../ng/src/lib/i18n-datepicker.ts:41 msgid "Previous year" msgstr "" #: ../ng/src/lib/i18n-datepicker.ts:42 msgid "Next year" msgstr "" #: ../ng/src/lib/i18n-datepicker.ts:43 msgid "Previous 20 years" msgstr "" #: ../ng/src/lib/i18n-datepicker.ts:44 msgid "Next 20 years" msgstr "" #: ../ng/src/lib/i18n-datepicker.ts:45 msgid "Choose date" msgstr "" #: ../ng/src/lib/i18n-datepicker.ts:46 msgid "Choose month and year" msgstr "" #: ../ng/src/lib/register-type.ts:113 ../ng/src/lib/register-type.ts:258 msgid "Power" msgstr "" #: ../ng/src/lib/register-type.ts:118 ../ng/src/lib/register-type.ts:277 msgid "Apparent Power" msgstr "" #: ../ng/src/lib/register-type.ts:123 ../ng/src/lib/register-type.ts:296 msgid "Voltage" msgstr "" #: ../ng/src/lib/register-type.ts:133 ../ng/src/lib/register-type.ts:334 #: ../www/common/check.tmpl.x:27 msgid "Frequency" msgstr "" #: ../ng/src/lib/register-type.ts:143 ../ng/src/lib/register-type.ts:362 msgid "Temperature" msgstr "" #: ../ng/src/lib/register-type.ts:148 ../ng/src/lib/register-type.ts:370 msgid "Mass flow" msgstr "" #: ../ng/src/lib/register-type.ts:153 ../ng/src/lib/register-type.ts:382 msgid "Speed" msgstr "" #: ../ng/src/lib/register-type.ts:158 ../ng/src/lib/register-type.ts:420 msgid "Whole number" msgstr "" #: ../ng/src/lib/register-type.ts:163 ../ng/src/lib/register-type.ts:426 msgid "Resistance" msgstr "" #: ../ng/src/lib/register-type.ts:168 ../ng/src/lib/register-type.ts:448 msgid "Irradiance" msgstr "" #: ../ng/src/lib/register-type.ts:173 ../ng/src/lib/register-type.ts:467 msgid "Reactive Power" msgstr "" #: ../ng/src/lib/register-type.ts:178 ../ng/src/lib/register-type.ts:486 msgid "Monetary" msgstr "" #: ../ng/src/lib/register-type.ts:183 ../ng/src/lib/register-type.ts:492 msgid "Angle" msgstr "" #: ../ng/src/lib/register-type.ts:188 msgid "Humidity" msgstr "" #: ../ng/src/lib/register-type.ts:193 ../ng/src/lib/register-type.ts:498 msgid "Volumetric flow" msgstr "" #: ../ng/src/lib/register-type.ts:198 ../ng/src/lib/register-type.ts:501 msgid "Pressure" msgstr "" #: ../ng/src/lib/register-type.ts:203 msgid "Charge" msgstr "" #: ../ng/src/lib/register-type.ts:208 msgid "Voltage (mean)" msgstr "" #: ../ng/src/lib/register-type.ts:213 msgid "Current (mean)" msgstr "" #: ../ng/src/lib/register-type.ts:218 ../ng/src/lib/register-type.ts:510 msgid "Mass" msgstr "" #: ../ng/src/lib/register-type.ts:223 msgid "Number with 3 decimals" msgstr "" #: ../ng/src/lib/register-type.ts:228 msgid "Air Quality Index (0=good, 500=bad)" msgstr "" #: ../ng/src/lib/register-type.ts:238 ../ng/src/lib/register-type.ts:528 msgid "Parts per million" msgstr "" #: ../ng/src/lib/register-type.ts:243 msgid "Discrete number" msgstr "" #: ../ng/src/lib/register-type.ts:248 msgid "Temperature difference" msgstr "" #: ../ng/src/lib/register-type.ts:260 ../ng/src/lib/register-type.ts:279 #: ../ng/src/lib/register-type.ts:298 ../ng/src/lib/register-type.ts:317 #: ../ng/src/lib/register-type.ts:336 ../ng/src/lib/register-type.ts:384 #: ../ng/src/lib/register-type.ts:403 ../ng/src/lib/register-type.ts:428 #: ../ng/src/lib/register-type.ts:450 ../ng/src/lib/register-type.ts:469 #: ../ng/src/lib/register-type.ts:542 ../ng/src/lib/register-type.ts:591 #: ../ng/src/lib/register-type.ts:612 ../ng/src/lib/register-type.ts:652 #: ../ng/src/lib/register-type.ts:691 ../ng/src/lib/register-type.ts:752 #: ../ng/src/lib/register-type.ts:851 msgid "yocto" msgstr "" #: ../ng/src/lib/register-type.ts:261 ../ng/src/lib/register-type.ts:280 #: ../ng/src/lib/register-type.ts:299 ../ng/src/lib/register-type.ts:318 #: ../ng/src/lib/register-type.ts:337 ../ng/src/lib/register-type.ts:385 #: ../ng/src/lib/register-type.ts:404 ../ng/src/lib/register-type.ts:429 #: ../ng/src/lib/register-type.ts:451 ../ng/src/lib/register-type.ts:470 #: ../ng/src/lib/register-type.ts:543 ../ng/src/lib/register-type.ts:592 #: ../ng/src/lib/register-type.ts:613 ../ng/src/lib/register-type.ts:653 #: ../ng/src/lib/register-type.ts:692 ../ng/src/lib/register-type.ts:753 #: ../ng/src/lib/register-type.ts:852 msgid "zepto" msgstr "" #: ../ng/src/lib/register-type.ts:262 ../ng/src/lib/register-type.ts:281 #: ../ng/src/lib/register-type.ts:300 ../ng/src/lib/register-type.ts:319 #: ../ng/src/lib/register-type.ts:338 ../ng/src/lib/register-type.ts:386 #: ../ng/src/lib/register-type.ts:405 ../ng/src/lib/register-type.ts:430 #: ../ng/src/lib/register-type.ts:452 ../ng/src/lib/register-type.ts:471 #: ../ng/src/lib/register-type.ts:544 ../ng/src/lib/register-type.ts:593 #: ../ng/src/lib/register-type.ts:614 ../ng/src/lib/register-type.ts:654 #: ../ng/src/lib/register-type.ts:693 ../ng/src/lib/register-type.ts:754 #: ../ng/src/lib/register-type.ts:853 msgid "atto" msgstr "" #: ../ng/src/lib/register-type.ts:263 ../ng/src/lib/register-type.ts:282 #: ../ng/src/lib/register-type.ts:301 ../ng/src/lib/register-type.ts:320 #: ../ng/src/lib/register-type.ts:339 ../ng/src/lib/register-type.ts:387 #: ../ng/src/lib/register-type.ts:406 ../ng/src/lib/register-type.ts:431 #: ../ng/src/lib/register-type.ts:453 ../ng/src/lib/register-type.ts:472 #: ../ng/src/lib/register-type.ts:545 ../ng/src/lib/register-type.ts:594 #: ../ng/src/lib/register-type.ts:615 ../ng/src/lib/register-type.ts:655 #: ../ng/src/lib/register-type.ts:694 ../ng/src/lib/register-type.ts:755 #: ../ng/src/lib/register-type.ts:854 msgid "femto" msgstr "" #: ../ng/src/lib/register-type.ts:264 ../ng/src/lib/register-type.ts:283 #: ../ng/src/lib/register-type.ts:302 ../ng/src/lib/register-type.ts:321 #: ../ng/src/lib/register-type.ts:340 ../ng/src/lib/register-type.ts:388 #: ../ng/src/lib/register-type.ts:407 ../ng/src/lib/register-type.ts:432 #: ../ng/src/lib/register-type.ts:454 ../ng/src/lib/register-type.ts:473 #: ../ng/src/lib/register-type.ts:546 ../ng/src/lib/register-type.ts:595 #: ../ng/src/lib/register-type.ts:616 ../ng/src/lib/register-type.ts:656 #: ../ng/src/lib/register-type.ts:695 ../ng/src/lib/register-type.ts:756 #: ../ng/src/lib/register-type.ts:855 msgid "pico" msgstr "" #: ../ng/src/lib/register-type.ts:265 ../ng/src/lib/register-type.ts:284 #: ../ng/src/lib/register-type.ts:303 ../ng/src/lib/register-type.ts:322 #: ../ng/src/lib/register-type.ts:341 ../ng/src/lib/register-type.ts:389 #: ../ng/src/lib/register-type.ts:408 ../ng/src/lib/register-type.ts:433 #: ../ng/src/lib/register-type.ts:455 ../ng/src/lib/register-type.ts:474 #: ../ng/src/lib/register-type.ts:547 ../ng/src/lib/register-type.ts:596 #: ../ng/src/lib/register-type.ts:617 ../ng/src/lib/register-type.ts:657 #: ../ng/src/lib/register-type.ts:696 ../ng/src/lib/register-type.ts:757 #: ../ng/src/lib/register-type.ts:856 msgid "nano" msgstr "" #: ../ng/src/lib/register-type.ts:266 ../ng/src/lib/register-type.ts:285 #: ../ng/src/lib/register-type.ts:304 ../ng/src/lib/register-type.ts:323 #: ../ng/src/lib/register-type.ts:342 ../ng/src/lib/register-type.ts:390 #: ../ng/src/lib/register-type.ts:409 ../ng/src/lib/register-type.ts:434 #: ../ng/src/lib/register-type.ts:456 ../ng/src/lib/register-type.ts:475 #: ../ng/src/lib/register-type.ts:548 ../ng/src/lib/register-type.ts:597 #: ../ng/src/lib/register-type.ts:618 ../ng/src/lib/register-type.ts:658 #: ../ng/src/lib/register-type.ts:697 ../ng/src/lib/register-type.ts:758 #: ../ng/src/lib/register-type.ts:857 msgid "micro" msgstr "" #: ../ng/src/lib/register-type.ts:267 ../ng/src/lib/register-type.ts:286 #: ../ng/src/lib/register-type.ts:305 ../ng/src/lib/register-type.ts:324 #: ../ng/src/lib/register-type.ts:343 ../ng/src/lib/register-type.ts:391 #: ../ng/src/lib/register-type.ts:410 ../ng/src/lib/register-type.ts:435 #: ../ng/src/lib/register-type.ts:457 ../ng/src/lib/register-type.ts:476 #: ../ng/src/lib/register-type.ts:549 ../ng/src/lib/register-type.ts:598 #: ../ng/src/lib/register-type.ts:619 ../ng/src/lib/register-type.ts:659 #: ../ng/src/lib/register-type.ts:698 ../ng/src/lib/register-type.ts:759 #: ../ng/src/lib/register-type.ts:858 msgid "milli" msgstr "" #: ../ng/src/lib/register-type.ts:268 ../ng/src/lib/register-type.ts:287 #: ../ng/src/lib/register-type.ts:306 ../ng/src/lib/register-type.ts:325 #: ../ng/src/lib/register-type.ts:344 ../ng/src/lib/register-type.ts:392 #: ../ng/src/lib/register-type.ts:411 ../ng/src/lib/register-type.ts:436 #: ../ng/src/lib/register-type.ts:458 ../ng/src/lib/register-type.ts:477 #: ../ng/src/lib/register-type.ts:550 ../ng/src/lib/register-type.ts:599 #: ../ng/src/lib/register-type.ts:620 ../ng/src/lib/register-type.ts:660 #: ../ng/src/lib/register-type.ts:699 ../ng/src/lib/register-type.ts:760 #: ../ng/src/lib/register-type.ts:859 msgid "kilo" msgstr "" #: ../ng/src/lib/register-type.ts:269 ../ng/src/lib/register-type.ts:288 #: ../ng/src/lib/register-type.ts:307 ../ng/src/lib/register-type.ts:326 #: ../ng/src/lib/register-type.ts:345 ../ng/src/lib/register-type.ts:393 #: ../ng/src/lib/register-type.ts:412 ../ng/src/lib/register-type.ts:437 #: ../ng/src/lib/register-type.ts:459 ../ng/src/lib/register-type.ts:478 #: ../ng/src/lib/register-type.ts:551 ../ng/src/lib/register-type.ts:600 #: ../ng/src/lib/register-type.ts:621 ../ng/src/lib/register-type.ts:661 #: ../ng/src/lib/register-type.ts:700 ../ng/src/lib/register-type.ts:761 #: ../ng/src/lib/register-type.ts:860 msgid "mega" msgstr "" #: ../ng/src/lib/register-type.ts:270 ../ng/src/lib/register-type.ts:289 #: ../ng/src/lib/register-type.ts:308 ../ng/src/lib/register-type.ts:327 #: ../ng/src/lib/register-type.ts:346 ../ng/src/lib/register-type.ts:394 #: ../ng/src/lib/register-type.ts:413 ../ng/src/lib/register-type.ts:438 #: ../ng/src/lib/register-type.ts:460 ../ng/src/lib/register-type.ts:479 #: ../ng/src/lib/register-type.ts:552 ../ng/src/lib/register-type.ts:601 #: ../ng/src/lib/register-type.ts:622 ../ng/src/lib/register-type.ts:662 #: ../ng/src/lib/register-type.ts:701 ../ng/src/lib/register-type.ts:762 #: ../ng/src/lib/register-type.ts:861 msgid "giga" msgstr "" #: ../ng/src/lib/register-type.ts:271 ../ng/src/lib/register-type.ts:290 #: ../ng/src/lib/register-type.ts:309 ../ng/src/lib/register-type.ts:328 #: ../ng/src/lib/register-type.ts:347 ../ng/src/lib/register-type.ts:395 #: ../ng/src/lib/register-type.ts:414 ../ng/src/lib/register-type.ts:439 #: ../ng/src/lib/register-type.ts:461 ../ng/src/lib/register-type.ts:480 #: ../ng/src/lib/register-type.ts:553 ../ng/src/lib/register-type.ts:602 #: ../ng/src/lib/register-type.ts:623 ../ng/src/lib/register-type.ts:663 #: ../ng/src/lib/register-type.ts:702 ../ng/src/lib/register-type.ts:763 #: ../ng/src/lib/register-type.ts:862 msgid "tera" msgstr "" #: ../ng/src/lib/register-type.ts:272 ../ng/src/lib/register-type.ts:291 #: ../ng/src/lib/register-type.ts:310 ../ng/src/lib/register-type.ts:329 #: ../ng/src/lib/register-type.ts:348 ../ng/src/lib/register-type.ts:396 #: ../ng/src/lib/register-type.ts:415 ../ng/src/lib/register-type.ts:440 #: ../ng/src/lib/register-type.ts:462 ../ng/src/lib/register-type.ts:481 #: ../ng/src/lib/register-type.ts:554 ../ng/src/lib/register-type.ts:603 #: ../ng/src/lib/register-type.ts:624 ../ng/src/lib/register-type.ts:664 #: ../ng/src/lib/register-type.ts:703 ../ng/src/lib/register-type.ts:764 #: ../ng/src/lib/register-type.ts:863 msgid "peta" msgstr "" #: ../ng/src/lib/register-type.ts:273 ../ng/src/lib/register-type.ts:292 #: ../ng/src/lib/register-type.ts:311 ../ng/src/lib/register-type.ts:330 #: ../ng/src/lib/register-type.ts:349 ../ng/src/lib/register-type.ts:397 #: ../ng/src/lib/register-type.ts:416 ../ng/src/lib/register-type.ts:441 #: ../ng/src/lib/register-type.ts:463 ../ng/src/lib/register-type.ts:482 #: ../ng/src/lib/register-type.ts:555 ../ng/src/lib/register-type.ts:604 #: ../ng/src/lib/register-type.ts:625 ../ng/src/lib/register-type.ts:665 #: ../ng/src/lib/register-type.ts:704 ../ng/src/lib/register-type.ts:765 #: ../ng/src/lib/register-type.ts:864 msgid "exa" msgstr "" #: ../ng/src/lib/register-type.ts:274 ../ng/src/lib/register-type.ts:293 #: ../ng/src/lib/register-type.ts:312 ../ng/src/lib/register-type.ts:331 #: ../ng/src/lib/register-type.ts:350 ../ng/src/lib/register-type.ts:398 #: ../ng/src/lib/register-type.ts:417 ../ng/src/lib/register-type.ts:442 #: ../ng/src/lib/register-type.ts:464 ../ng/src/lib/register-type.ts:483 #: ../ng/src/lib/register-type.ts:556 ../ng/src/lib/register-type.ts:605 #: ../ng/src/lib/register-type.ts:626 ../ng/src/lib/register-type.ts:666 #: ../ng/src/lib/register-type.ts:705 ../ng/src/lib/register-type.ts:766 #: ../ng/src/lib/register-type.ts:865 msgid "zetta" msgstr "" #: ../ng/src/lib/register-type.ts:275 ../ng/src/lib/register-type.ts:294 #: ../ng/src/lib/register-type.ts:313 ../ng/src/lib/register-type.ts:332 #: ../ng/src/lib/register-type.ts:351 ../ng/src/lib/register-type.ts:399 #: ../ng/src/lib/register-type.ts:418 ../ng/src/lib/register-type.ts:443 #: ../ng/src/lib/register-type.ts:465 ../ng/src/lib/register-type.ts:484 #: ../ng/src/lib/register-type.ts:557 ../ng/src/lib/register-type.ts:606 #: ../ng/src/lib/register-type.ts:627 ../ng/src/lib/register-type.ts:667 #: ../ng/src/lib/register-type.ts:706 ../ng/src/lib/register-type.ts:767 #: ../ng/src/lib/register-type.ts:866 msgid "yotta" msgstr "" #: ../ng/src/lib/register-type.ts:367 msgid "Celsius degree hours" msgstr "" #: ../ng/src/lib/register-type.ts:368 msgid "Celsius degree days" msgstr "" #: ../ng/src/lib/register-type.ts:512 msgid "microgram" msgstr "" #: ../ng/src/lib/register-type.ts:513 msgid "milligram" msgstr "" #: ../ng/src/lib/register-type.ts:514 msgid "kilogram" msgstr "" #: ../ng/src/lib/register-type.ts:719 msgid "kiloton" msgstr "" #: ../ng/src/lib/register-type.ts:720 msgid "megaton" msgstr "" #: ../ng/src/lib/register-type.ts:721 msgid "gigaton" msgstr "" #: ../ng/src/lib/register-type.ts:722 msgid "teraton" msgstr "" #: ../ng/src/lib/register-type.ts:723 msgid "petaton" msgstr "" #: ../ng/src/lib/register-type.ts:891 msgid "Kelvin degree hours" msgstr "" #: ../ng/src/lib/register-type.ts:892 msgid "Kelvin degree days" msgstr "" #: ../ng/src/lib/register-type.ts:901 msgid "Fahrenheight degree hours" msgstr "" #: ../ng/src/lib/register-type.ts:902 msgid "Fahrenheit degree days" msgstr "" #: ../ng/src/lib/retry/retry-dialog.component.ts:46 msgid "Retry now" msgstr "" #: ../ng/src/lib/retry/retry-dialog.component.ts:59 msgid "Error: %1" msgstr "" #: ../ng/src/lib/retry/retry-dialog.component.ts:77 msgid "Retrying now." msgstr "" #: ../ng/src/lib/retry/retry-dialog.component.ts:81 msgid "Retrying in one second." msgid_plural "Retrying in %1 seconds." msgstr[0] "" msgstr[1] "" #. Translators: This messages displays the number of kilobytes #. that have been transferred so far (for a download or an #. upload). #: ../ng/src/lib/retry/retry-dialog.component.ts:98 msgid "%1 KiB" msgstr "" #: ../www/skins/us-embassy/index.tmpl.x:7 msgid "eGauge" msgstr "" #: ../www/skins/sunvest/index.tmpl.x:7 msgid "SunVest Solar Energy Meter" msgstr "" #: ../www/skins/ableenergy/terminal.tmpl.x:6 msgid "Able Energy Meter" msgstr "" #: ../www/skins/creative-energies/index.tmpl.x:7 #: ../www/common/classic.tmpl.x:11 msgid "eGauge Center" msgstr "" #: ../www/skins/monolith-solar/kiosk2.tmpl.x:9 ../www/common/kiosk2.tmpl.x:9 msgid "eGauge Kiosk" msgstr "" #: ../www/skins/lightgauge/index.tmpl.x:6 msgid "Lightgauge Data Monitoring" msgstr "" #: ../www/common/settings.tmpl.x:23 msgid "Preferences" msgstr "" #: ../www/common/settings.tmpl.x:24 ../www/common/help.tmpl.x:77 msgid "General Settings" msgstr "" #: ../www/common/settings.tmpl.x:25 ../www/common/help.tmpl.x:305 msgid "Network Settings" msgstr "" #: ../www/common/settings.tmpl.x:27 ../www/common/help.tmpl.x:414 #: ../display/main_menu.c:43 msgid "HomePlug" msgstr "" #: ../www/common/settings.tmpl.x:29 msgid "WLAN" msgstr "" #: ../www/common/settings.tmpl.x:30 ../www/common/help.tmpl.x:532 msgid "BACnet" msgstr "" #: ../www/common/settings.tmpl.x:31 ../www/common/help.tmpl.x:624 msgid "Modbus Server" msgstr "" #: ../www/common/settings.tmpl.x:32 ../www/common/help.tmpl.x:1082 msgid "Access Control" msgstr "" #: ../www/common/settings.tmpl.x:33 msgid "Installation" msgstr "" #: ../www/common/settings.tmpl.x:38 msgid "LCD" msgstr "" #: ../www/common/settings.tmpl.x:54 #, python-format msgid "" "\n" "\t Every time the settings are saved by clicking \"Save\", %(DEVNAME)s\n" "\t may need to reboot, which means about a minute of\n" "\t data-recording will be missed.\n" "\t" msgstr "" #: ../www/common/settings.tmpl.x:77 #, python-format msgid "" "\n" "\t Changing the network settings is dangerous and every time you\n" "\t \"Save\" the network settings, %(DEVNAME)s needs to reboot,\n" "\t which means about a minute of data-recording will be missed.\n" "\t
\n" "\t Do not change Hostname unless you're\n" "\t absolutely sure you know what you're doing.\n" "\t " msgstr "" #: ../www/common/settings.tmpl.x:103 #, python-format msgid "" "\n" "\t This page displays the HomePlug devices that are visible to\n" "\t the %(DEVNAME)s device and the speed at which they can\n" "\t communicate with each other. The speed is updated\n" "\t automatically every 10 seconds.\n" "\t " msgstr "" #: ../www/common/settings.tmpl.x:117 #, python-format msgid "" "\n" "\t This page can be used to establish a new password that\n" "\t protects the privacy of the HomePlug communication. To do\n" "\t this, you need to enter the\n" "
Device-Password\n" "\t of each device that you want to set the new password for.\n" "\t This list must include the HomePlug adapter\n" "\t through which %(DEVNAME)s connects to the LAN. Otherwise, it\n" "\t will not be possible to connect to\n" "\t %(DEVNAME)s anymore! For details, please\n" "\t see here.\n" "\t " msgstr "" #: ../www/common/settings.tmpl.x:138 ../www/common/settings.tmpl.x:218 msgid "MAC address" msgstr "" #: ../www/common/settings.tmpl.x:140 msgid "Vendor" msgstr "" #: ../www/common/settings.tmpl.x:142 msgid "Speed in Mbps from device to MAC address." msgstr "" #. Translators: Title for column indicating transmit speed. #: ../www/common/settings.tmpl.x:144 ../teamd/iface-modbus.c:360 #: ../teamd/link-modbus.c:490 msgid "TX" msgstr "" #: ../www/common/settings.tmpl.x:146 msgid "Speed in Mbps from MAC address to device." msgstr "" #. Translators: Title for column indicating receive speed. #: ../www/common/settings.tmpl.x:148 msgid "RX" msgstr "" #: ../www/common/settings.tmpl.x:151 msgid "Device-Password" msgstr "" #: ../www/common/settings.tmpl.x:162 msgid "Manually add MAC address of invisible device:" msgstr "" #: ../www/common/settings.tmpl.x:167 msgid "Add MAC" msgstr "" #: ../www/common/settings.tmpl.x:172 msgid "New encryption password:" msgstr "" #: ../www/common/settings.tmpl.x:175 msgid "Set Password" msgstr "" #: ../www/common/settings.tmpl.x:197 msgid "" "\n" "\t This page displays the WLAN networks that are available or\n" "\t that have been used in the past.\n" "\t " msgstr "" #: ../www/common/settings.tmpl.x:206 msgid "Connect to Hidden Network" msgstr "" #: ../www/common/settings.tmpl.x:214 msgid "Wireless network name." msgstr "" #: ../www/common/settings.tmpl.x:230 #, python-format msgid "" "\n" "

\n" " This page can be used to turn\n" " on/off BACnet support and to\n" " configure related parameters. BACnet is a data communication\n" " protocol for Building Automation and Control Networks that is\n" " commonly used in commercial environments.\n" "

\n" "

\n" " The BACnet support in %(DEVNAME)s makes it possible to read the\n" " current (second-by-second) measurements. For example, for each\n" " register and total, it is possible to read the current real\n" " power (in Watts), current meter reading (in kWh), and apparent\n" " power (in VA). It is also possible to read other raw data, such\n" " as line frequency (in Hertz), RMS current measured by each CT,\n" " and the RMS voltages measured on the voltage taps.\n" "

\n" " " msgstr "" #: ../www/common/settings.tmpl.x:258 #, python-format msgid "" "\n" "

\n" " This page can be used to turn\n" " on/off Modbus server\n" " support and to configure related parameters. Modbus is a data\n" " communication protocol for connecting industrial electronic\n" " devices.\n" "

\n" "

\n" " Note that this page only configures the\n" " Modbus server of %(DEVNAME)s. If you are\n" " looking for a way for %(DEVNAME)s to read data from another\n" " Modbus device, such as a weather station, that can be configured\n" " in the Installation settings\n" " screen under section \"Remote Devices\".\n" "

\n" " " msgstr "" #: ../www/common/settings.tmpl.x:276 msgid "View Modbus Map" msgstr "" #: ../www/common/settings.tmpl.x:278 msgid "Export Modbus Map (CSV)" msgstr "" #: ../www/common/settings.tmpl.x:297 msgid "Potential Transformers (PTs):" msgstr "" #: ../www/common/settings.tmpl.x:308 msgid "Sensors:" msgstr "" #: ../www/common/settings.tmpl.x:312 ../www/common/meter.tmpl.x:36 msgid "CTid ®" msgstr "" #: ../www/common/settings.tmpl.x:325 msgid "Remote Devices:" msgstr "" #: ../www/common/settings.tmpl.x:328 msgid "Modbus Maps" msgstr "" #: ../www/common/settings.tmpl.x:334 ../display/main_menu.c:130 msgid "Registers" msgstr "" #: ../www/common/settings.tmpl.x:341 msgid "Totals and Virtual Registers:" msgstr "" #: ../www/common/settings.tmpl.x:350 ../www/common/help.tmpl.x:804 msgid "Alert Service Provider" msgstr "" #: ../www/common/settings.tmpl.x:359 ../www/common/help.tmpl.x:819 msgid "SMTP Gateway Settings" msgstr "" #: ../www/common/settings.tmpl.x:364 msgid "View/Edit Gateway & Alert Destinations" msgstr "" #: ../www/common/settings.tmpl.x:368 msgid "Email Gateway" msgstr "" #: ../www/common/settings.tmpl.x:371 ../www/common/help.tmpl.x:929 msgid "Alert Destinations" msgstr "" #: ../www/common/settings.tmpl.x:382 msgid "User-defined Alerts" msgstr "" #: ../www/common/settings.tmpl.x:397 #, python-format msgid "" "\n" "\t When %(DEVNAME)s is connected to the Internet, it should pick\n" "\t up the correct time automatically from\n" "\t ntp.org. Without\n" "\t Internet-connectivity it may be necessary to correct the\n" "\t date and time occasionally.\n" "\t " msgstr "" #: ../www/common/settings.tmpl.x:417 msgid "" "\n" "

\n" " This page can be used to select the registers to show on the\n" " LCD. For each register, you may choose to show either the\n" " instantaneous value (e.g., Watts consumed/produced, for an\n" " energy register), or the cumulative value (e.g., kWh\n" " consumed/produced for an energy register), or both.\n" "

\n" " " msgstr "" #: ../www/common/settings.tmpl.x:434 ../www/common/editprefs.tmpl.x:26 msgid "Reset" msgstr "" #: ../www/common/help.tmpl.x:20 msgid "User-Interface Help" msgstr "" #: ../www/common/help.tmpl.x:22 msgid "Export Data to Spread-Sheet Program" msgstr "" #: ../www/common/help.tmpl.x:24 #, python-format msgid "" "\n" "The data collected by %(DEVNAME)s can be exported to a spread-sheet\n" "program such as Excel, OpenOffice Calc, or Gnumeric by clicking on the\n" "graph-menu button \n" "in the top-left corner of the graph displayed on the %(DEVNAME)s dash\n" "board, then selecting \"Export data to spreadsheet (CSV)\". This opens\n" "a dialog which allows you to select the type of data to export, the\n" "time-range for which data should be exported, and the resolution of\n" "the data. Specifically, the following fields can be set in the\n" "dialog:\n" "\n" "
\n" "\n" "
Export Type:
\n" "
Whether to export average values during\n" " consecutive time intervals or whether to export cumulative\n" " values. For energy registers, average values are reported in units of " "kilo-Watts (kW),\n" " whereas cumulative values are reported in units of kilo-Watt-hours\n" " (kWh).
\n" "\n" "
From:
\n" "
The starting date and time of the period that should be exported.
\n" "\n" "
To:
\n" "
The ending date and time of the period that should be exported.
\n" "\n" "
Interval:
\n" "\n" "
The time-interval between data points. A value of \"1 day\"\n" "requests that one data point is exported per day. A value of \"1 hour\"\n" "requests that one data point is exported per hour, and so on.
\n" "\n" "
\n" "By default, the data currently being\n" "displayed in the main graph will be exported with a resolution of one\n" "data-point per day.\n" msgstr "" #: ../www/common/help.tmpl.x:62 msgid "Graphing the Exported Data" msgstr "" #: ../www/common/help.tmpl.x:64 msgid "" "\n" "If you wish to graph the exported data, you'll notice that the data is\n" "sorted in reverse chronological order (youngest data-point is first,\n" "oldest is last). To graph the data, you will usually want to reverse\n" "this order, so that in the graph, time progresses from left to right.\n" "To achieve this, selected all the data, then use your spreadsheet's\n" "\"Sort\" function to re-sort the data in increasing order of the first\n" "column (Date & Time).\n" msgstr "" #: ../www/common/help.tmpl.x:79 #, python-format msgid "" "\n" "
\n" "
Date & time when recording started:\n" "
\n" " This option specifies the date and the time at which %(DEVNAME)s\n" " is considered to have started recording data. Any data recorded\n" " prior to this point in time will be ignored. Changing this value\n" " doesn't actually delete any data, so this point can be freely\n" " moved forward or backward, without fear of losing data. As a\n" " special case, this option can be set to the value \"now\" (without\n" " double-quotes) to establish the current date and time as the\n" " starting point. This is particularly useful after installing (or\n" " moving) %(DEVNAME)s since the data recorded prior to\n" " installation most likely is irrelevant and should be ignored.\n" "
\n" "\n" "
System Language:
\n" "
\n" " This option specifies the language to be used when generating system\n" " messages. When interacting with the device through the web-browser,\n" " text is displayed in the local language that the browser indicates\n" " as being preferred by the user (the browser does this through the\n" " ``Accept-Language'' HTTP header). However, there are times when the\n" " device needs to generate a message on its own, for example when\n" " generating an email or SMS in response to an alert. In those cases,\n" " the system will use the language specified here (if available).\n" "
\n" "\n" "
Geographic location:
\n" "
\n" " This option specifies the geographic location at which\n" " %(DEVNAME)s is installed. For privacy-reasons, the\n" " coordinates are usually offset a bit so that they do not\n" " identify the exact site at which the device is installed.\n" "

\n" " For the latitude, positive values are northern and negative\n" " values are southern latitudes. For longitude, positive values\n" " are eastern and negative values are western longitudes.\n" "

\n" "

\n" " Clicking on the \"map\" link opens a new window that displays the\n" " currently entered location on a map.\n" "

\n" "

\n" " Clicking on the \"address lookup\" link opens a new window,\n" " to a map-service which provides a convenient way to lookup the\n" " geographic location of an address.\n" "

\n" "
\n" "\n" "
Geographic region:
\n" "
\n" " This option specifies the geographic region in which\n" " %(DEVNAME)s is installed. When installed in Northern America,\n" " this must be set to \"North Americas\" to ensure regulatory " "compliance.\n" " Similarly, when used within European Economic Area (falling under " "CE),\n" " this must be set to \"Europe\".\n" "\n" "

\n" " At present, this option controls what frequency bands are used\n" " by the HomePlug AV interface.\n" "

\n" "
\n" "\n" "
Min. interval for public usage " "data:\n" "
\n" "
\n" " \n" " This option is deprecated and will be removed in the future.\n" " Instead, please check the box\n" " Password-protect\n" " entire site and click on ``Save'' to ensure\n" " the meter's data is accessible only to authorized users.\n" " \n" "\n" "

\n" " This option can be used to limit public availability of the\n" " electric usage (consumption) data. Normally, this data is\n" " available at 1-minute resolution. When setting this option to\n" " any value other than \"No restriction\", usage data will be\n" " limited to the selected resolution. For example, with a setting\n" " of \"1 hour\", resolution is restricted to 1 hour. That is, all\n" " usage data will be available as 1-hour averages only, thus\n" " enhancing privacy.\n" "

\n" "\n" "

\n" " Full-resolution data is always available to local users and\n" " authorized users.\n" "

\n" "\n" "

\n" " The recommended setting for this option is\n" " \"No Restriction\". However, privacy- or security-concerns\n" " may warrant setting this option to another value.\n" "

\n" "
\n" "\n" "
Proxy-server hostname:
\n" "
\n" " This option specifies the hostname (or IP address) of the\n" " machine that is running the proxy-server. The proxy-server\n" " makes it possible to access %(DEVNAME)s at\n" " URI\n" "\t
\n" "\t
http://name.%(DEVURL)s
\n" "\t
\n" "
\n" "\n" "
Data Sharing:
\n" "
\n" " Use this option to select a service provider with which you want\n" " to share the device's data, or disabled to disable the\n" " sharing of data. You can also select custom to push the\n" " data acquired by the device to an\n" " arbitrary URI with\n" " specific push options and a\n" " particular push-interval.\n" "
\n" "\n" "
Push URI:
\n" "
\n" " If the value of this option is not an empty string, the device\n" " periodically pushes recorded data to the specified URI.\n" "
\n" "\n" "
Interval between push updates:\n" "
\n" "\tThis option specifies the time interval between successive\n" "\tdata pushes.\n" "
\n" "\n" "
Push options:
\n" "
\n" " This option can be used to specify details about what or how data\n" " is being pushed. Specifically, the string can be set to a\n" " comma-separated list of the following values:\n" "
    \n" "
  • json to output the data as a\n" " JSON object rather than as XML.\n" "
  • \n" "
  • totals to include (calculated) totals and virtual " "registers.\n" "
  • \n" "
  • formulas to output virtual registers as formulas.\n" " This option only has an effect if JSON-output is\n" " selected.\n" "
  • \n" "
  • msec to push data with millisecond granularity\n" " (to the degree available). This option only has an effect if\n" " JSON-output is selected. For XML-output, it is treated as if\n" " sec had been specified.
  • \n" "
  • sec to push data with second-by-second granularity\n" " (to the degree available).
  • \n" "
  • hour to push data with hour granularity (to the\n" " degree available).
  • \n" "
  • day to push data with day granularity (to the\n" " degree available).
  • \n" "
  • max=N to send at most N rows of\n" " data in a single push. N defaults to 900, must be at least 9, " "but\n" " cannot be more than 9000.\n" "
  • skip=N to skip N rows before pushing another\n" " one. For example, with minute granularity, \"skip=14\" would end up\n" " pushing one data row for every 15 minutes.\n" "
  • secure to require that the server have a certificate\n" " that can be verified as being valid. This option only has an\n" " effect if a secure (https) connection is used.
  • \n" "
  • deflate to compress push data with the\n" " deflate content encoding.
  • \n" "
  • gzip to compress push data with the\n" " gzip content encoding.
  • \n" "
  • old_first to push pending old data before newer data.\n" " Normally, the most recent N rows of data are pushed (as\n" " specified by the max=N option). However, if\n" " this option is specified and if there are more\n" " than N rows of data that have not been pushed yet, the\n" " old data will be sent first. If data is being generated faster\n" " than can be pushed, this option can have the effect that the\n" " pushed data falls further and further behind the current\n" " time. Note that within a push, the rows are still ordered from\n" " youngest to oldest.
  • \n" "
  • epoch to report register values relative to the start of\n" " recording defined by Date & Time\n" " when recording started.
  • \n" "
\n" "

\n" " Unless specified otherwise, data is pushed with minute-by-minute\n" " granularity (to the degree available).\n" "

\n" "

\n" " The JSON output format is described in the\n" " WebAPI " "documentation\n" " (Section \"/register Service\").\n" " The XML output format is described in the\n" " eGauge XML API documentation (Section \"3.2 Returned XML Data\").\n" "

\n" "

\n" " The push-interval (Interval between push updates) may be\n" " shorter than the granularity of the data being pushed. A\n" " connection to the Push URI is established only if new data is\n" " available at the end of a push interval. This can be used to\n" " improve data transfer reliability across unreliable links. For\n" " example, if the push interval is 1 minute and the\n" " data-granularity 1 hour, the device will attempt to push new\n" " data once a minute until the data has been uploaded and then\n" " wait until the next hourly data-point becomes available before\n" " connecting to the Push URI again.\n" "

\n" "

\n" " Status information for the push service is available\n" " here.\n" "

\n" "
Data update frequency:
\n" "
\n" " This option determines how often the measurements are updated\n" " per second. The default is one update per second. If a higher\n" " update frequency is desired, change this option to the desired\n" " value, up to 10 updates per second. Keep in mind that the\n" " higher the update frequency, the less time there will be to\n" " complete other tasks. In particular, formula registers with\n" " complicated formulas may time out when the update frequency is\n" " too high.\n" "
\n" " \n" "
\n" msgstr "" #: ../www/common/help.tmpl.x:307 #, python-format msgid "" "\n" "
\n" "\n" "
Hostname:
\n" "
\n" " This option specifies the hostname of the %(DEVNAME)s.\n" "

\n" " Caution: The server at http://%(DEVURL)s/\n" " authenticates this name. Thus, if you change this name without\n" " notifying the operators at http://%(DEVURL)s/ you will lose\n" " connectivity to http://%(DEVURL)s/ and a service call may be\n" " required to restore connectivity.\n" "

\n" "
\n" "\n" "
Disable unencrypted network services:" "
\n" "
\n" " This option is available on EG4xxx or newer devices only. If\n" " enabled, all network services whose communication is not encrypted\n" " are disabled. Specifically, this disables the HTTP protocol of\n" " the web server (only HTTPS is enabled) and disables the service that\n" " allows reading data from a remote %(DEVNAME)s via UDP (datad).\n" "
\n" "\n" "
Automatically obtain address with DHCP:\n" "
\n" " This option controls whether the device uses manual settings for\n" " the network configuration or whether the settings are\n" " automatically obtained via the DHCP protocol. When this option\n" " is selected, the remaining network settings are grayed out,\n" " since their values will be obtained automatically.\n" "
\n" "\n" "
IP address:
\n" "
\n" " This option defines the static IP address used by the device\n" " (e.g., 192.168.1.77).\n" "
\n" "\n" "
Netmask:
\n" "
\n" " This options defines the IP network mask used by the device (e.g.,\n" " 255.255.255.0).\n" "
\n" "\n" "
Network:
\n" "
\n" " This option defines the IP network number used by the device\n" " (e.g., 192.168.1.0).\n" "
\n" "\n" "
Broadcast address:
\n" "
\n" " This option defines the IP broadcast address used by the device\n" " (e.g., 192.168.1.255).\n" "
\n" "\n" "
Gateway address:
\n" "
\n" " This option defines the IP address of the gateway used by the\n" " device (e.g., 192.168.1.1).\n" "
\n" "\n" "
Name server 1-4:
\n" "
\n" " These options define the IP addresses of up to four DNS servers.\n" " These servers are used by the device to resolve domain-names,\n" " such as \"pool.ntp.org\". It is often a good idea to include a\n" " public name server such as 8.8.8.8 as a backup server in this\n" " list.\n" "
\n" "\n" "
Enable bridging:
\n" "
\n" " Normally, %(DEVNAME)s communicates through a single network\n" " interface at any given time (e.g., HomePlug or hardwired\n" " Ethernet). If you turn on this option, the interfaces are bridged\n" " together, meaning that %(DEVNAME)s will transparently forward all\n" " traffic between the interfaces, creating a single logical network.\n" "\n" " Bridging can be useful when multiple %(DEVNAME)ss are installed at a\n" " single location. You can then hardwire one device and, assuming\n" " the other devices can communicate with the first one via HomePlug,\n" " enable bridging on the first device to tie all devices into the\n" " LAN. In effect, the first device acts as a HomePlug adapter for\n" " the others.\n" "\n" " In bridging mode, %(DEVNAME)s enables the spanning tree protocol\n" " (STP as defined by IEEE 802.1D) to support automatic loop\n" " detection. However, most consumer-grade networking equipment does\n" " not support STP, so it may still be possible to create a loop that\n" " could flood a LAN with packets. For example, this could happen if\n" " %(DEVNAME)s bridges traffic between HomePlug and LAN and another\n" " HomePlug adapter is plugged into the same LAN. In other words:\n" " when enabling bridging, make sure there are no loops or use only\n" " equipment that supports STP.\n" "\n" " Bridging works by putting the network interfaces into promiscuous\n" " mode, which means %(DEVNAME)s will receive and process any and all\n" " packets received over that link. This increases processing\n" " overheads and therefore is not recommend on LANs with lots of\n" " unrelated traffic.\n" "
\n" "\n" "
\n" msgstr "" #: ../www/common/help.tmpl.x:416 #, python-format msgid "" "\n" "

\n" "Certain versions of %(DEVNAME)s may communicate with your computer/LAN\n" "using the power lines in your home or business (i.e., the wires that\n" "provide 120V power to the outlets). The technology %(DEVNAME)s uses for\n" "this purpose is\n" "called HomePlug. For technical\n" "reasons, the reach of the HomePlug signal is usually constrained to a\n" "single building. More specifically, any power transformer will stop\n" "the HomePlug signal. For this reason, most home- or business-owners\n" "do not have to worry about the HomePlug signal being detectable by\n" "their neighbors, so there is little risk of a third party intercepting\n" "the communication.\n" "

\n" "\n" "

\n" "Having said that, for extra security and when using HomePlug devices\n" "in an apartment or condo, where multiple residences may be powered by\n" "a single transformer, it is possible to increase security by\n" "establishing a secret password which is used to encrypt all HomePlug\n" "traffic. By default, HomePlug devices are configured to encrypt\n" "communication using the default password \"HomePlugAV\"\n" "(or \"HomePlug\" on older HomePlug 1.0-compatible " "devices).\n" "The\n" "HomePlug settings screen on\n" "%(DEVNAME)s can be used to change the default password to a secret\n" "password. When changing the password, it is important to change it\n" "on all your HomePlug devices at the same time. For this\n" "reason, the HomePlug settings\n" "screen lists all the other HomePlug devices %(DEVNAME)s has\n" "detected. For each device, the MAC Address and current communication\n" "speed are shown. If available, the name of the vendor of the device\n" "is also displayed. To change the encryption password, write down the\n" "MAC address and Device-Password of each HomePlug\n" "device you need to change. This information can be found on the\n" "device label (see below). Note that you may need to unplug the device\n" "to be able to see the label. Once you collected this information, go\n" "to the\n" "HomePlug settings screen and\n" "enter it in the table. Specifically, for each device, find the table\n" "row matching the device's MAC address and then enter the Device-Password in\n" "the corresponding column. Once this information is entered, type the\n" "desired password in the text entry box labeled \"New encryption\n" "password\", then click on \"Set Password\". %(DEVNAME)s then establishes\n" "the new encryption password on the selected devices as well as itself.\n" "If an error occurs (e.g., due to an incorrectly entered Device-Password),\n" "%(DEVNAME)s restores the original password and displays an error\n" "message.\n" "

\n" msgstr "" #: ../www/common/help.tmpl.x:467 msgid "Description of HomePlug Table Columns" msgstr "" #: ../www/common/help.tmpl.x:469 #, python-format msgid "" "\n" "The columns of the table displayed on\n" "the HomePlug settings screen\n" "have the following meaning:\n" "
\n" "
MAC address:
\n" "
\n" " This column displays the Ethernet MAC address of the remote\n" " HomePlug device.\n" "
\n" "\n" "
Vendor:
\n" "
\n" " When available, shows the name of the vendor of the device.\n" " This name is derived from the first three bytes of the MAC address,\n" " the organizationally unique identifier (OUI).\n" "
\n" "\n" "
TX:
\n" "
\n" " The transmission speed from the remote device, in Mbps.\n" "
\n" "\n" "
RX:
\n" "
\n" " The receiption speed from the remote device, in Mbps. On older\n" " HomePlug 1.0 devices, this will show as \"n/a\" (not available).\n" "
\n" "\n" "
Device-Password:
\n" "
\n" " The Device-Password is a 19 character long password that is unique to\n" " each HomePlug device. It has the\n" " form:\n" "
\n"
"\tXXXX-XXXX-XXXX-XXXX\n"
"      
\n" "

\n" " where each \"X\" is either an uppercase-letter or a number. The\n" " Device-Password can be found on the label of each HomePlug\n" " device. Different vendors use various names for the\n" " Device-Password: TP-Link calls it \"Password\",\n" " Actiontec calls it \"DEK\", and %(DEVNAME)s calls\n" " it \"DPW\". Note that for most HomePlug\n" " adapters, you will need to unplug the device before you can see\n" " the label with this information.\n" "\n" " Typical labels for the TP-Link 200Mbps and Actiontec 500Mbps\n" " adapters are shown below:\n" "

\n" "
\n" "\t

\n" "\t \"TP-Link\n" "\t  \n" "\t \"Actiontec\n" "\t

\n" "
\n" "
\n" "
\n" msgstr "" #: ../www/common/help.tmpl.x:534 #, python-format msgid "" "\n" "
\n" "
Enable BACnet support:
\n" "
\n" " Check this box to enable BACnet support. Unless you know what\n" " BACnet is, it is best to leave this box checked off.\n" "
\n" "\n" "
\n" " BACnet device id unique to this device:
\n" "
\n" " Each BACnet-capable device needs to have a unique device\n" " instance number, which can be any number between 0 and 4,194,303.\n" " Enter the desired number for this %(DEVNAME)s.\n" "
\n" "\n" "
Protocol to use for BACnet datalink:\n" "
\n" " %(DEVNAME)s supports BACnet communication via raw Ethernet\n" " packets, BACnet/IP (BIP), which encapsulates BACnet data inside\n" " UDP/IP packets, and, on devices with a USB port, MS/TP over\n" " RS-485. Use this selection box to choose between Ethernet, BIP,\n" " and MS/TP, whichever is appropriate for your BACnet environment.\n" "\n" " Note: BACnet defines other types\n" " of datalinks, such as ARCNET, Point-To-Point over RS-232, and\n" " LonTalk, but the %(DEVNAME)s hardware does not support those\n" " directly.\n" "
\n" "\n" "
BACnet/IP port:
\n" "
\n" " This should normally be set to 47808 (0xBAC0) - the port number\n" " assigned for use with BACnet/IP. However, in special cases it may\n" " be necessary to set this to a different value.\n" "
\n" "\n" "
MS/TP serial device:
\n" "
\n" " The name of the serial device %(DEVNAME)s uses to communicate with\n" " BACnet devices connected via MS/TP (Master/Slave Token-Passing\n" " protocol over an RS-485 bus). This setting is active only when\n" " MS/TP is selected as the protocol.\n" "
\n" "\n" "
MS/TP MAC address:
\n" "
\n" " The MS/TP MAC address used by %(DEVNAME)s. Every BACnet device on\n" " an MS/TP bus requires a unique MAC address. This MAC address is\n" " independent of and in addition to the BACnet device id. Master\n" " devices may have addresses in the range from 0..127, slave devices\n" " may have addresses in the range from 0..255. %(DEVNAME)s acts as\n" " a master so its address is limited to the former range. For best\n" " performance, MS/TP MAC addresses should be assigned consecutively\n" " starting at zero. For example, if there are three MS/TP devices,\n" " MAC addresses 0, 1, and 2 would yield the best performance.\n" "
\n" "\n" "
MS/TP max. MAC address used by any " "master:\n" "
\n" "
\n" " This should be set to the maximum MS/TP MAC address that is in use.\n" " 127 is a safe value, but for best performance, it is recommended\n" " to set this to the lowest possible value instead. For example, if\n" " there are three MS/TP devices with MAC addresses 0, 1, and 2, this\n" " value should be set to 2 on all three devices.\n" "
\n" "\n" "
Report cumulative values\n" " relative to start of recording:
\n" "
\n" " If checked, cumulative values (object IDs 0x70000..0x7ffff)\n" " are reported with a value that starts at zero at the time\n" " recording started (Date & Time\n" " when recording started). Otherwise, absolute values are\n" " reported which start at 0 at the time the %(DEVNAME)s was\n" " manufactured. Normally, this setting should be checked.\n" "
\n" "\n" "
Energy unit:
\n" "
\n" " This setting controls what physical unit is used to report the\n" " cumulative value of energy registers. The default is Ws\n" " (Watt-seconds, which is equivalent to Joules). As an\n" " alernative, you can select kWh to have the values reported as\n" " kilo-Watt-hours.\n" "
\n" "
\n" msgstr "" #: ../www/common/help.tmpl.x:626 #, python-format msgid "" "\n" "\n" "

\n" "The Modbus server makes it possible\n" "for other devices to read the %(DEVNAME)s's current (second-by-second)\n" "measurements over Ethernet or HomePlug (Modbus/TCP) or RS485\n" "(Modbus/RTU).\n" "

\n" "

\n" "For each register recorded by %(DEVNAME)s, the register's current\n" "cumulative value and the amount by which it changed since the previous\n" "one-second interval can be read. The cumulative value is available\n" "with full resolution as a signed 64-bit value. For convenience, the\n" "same value is also available, at reduced resolution, as a\n" "32-bit floating point number. The change-in-value is available only as\n" "a 32-bit floating point number. In addition to the register data, it\n" "is also possible to read locally measured data such as line-voltages,\n" "-frequencies, and the value measured by each sensor-port.\n" "

\n" "

\n" "The Modbus server guarantees that any data read with a single request\n" "is consistent. Timestamps are provided as a means to ensure\n" "consistency when data is read with multiple requests (e.g., to read\n" "multiple, discontiguous registers). This is accomplished by (i)\n" "reading the timestamp, (ii) performing the desired read requests, and\n" "(iii) reading the timestamp again. If the two timestamp values are\n" "the same, then reader can be certain that the data is consistent.\n" "

\n" "

\n" "All data is provided as Modbus input registers and therefore their\n" "Modbus addresses start at 30000. The Modbus map is grouped as\n" "follows:\n" "

\n" " \n" " \n" " \n" "\t\n" "\t\n" " \n" " \n" " \n" " \n" "\t\n" " \n" "\t\n" " \n" "\t\n" " \n" "\t\n" " \n" "\t\n" " \n" "\t\n" " \n" "\t\n" " \n" "\t\n" " \n" "\t\n" "\t\n" " \n" "\t\n" "\t\n" " \n" "\t\n" "\t\n" " \n" "\t\n" "\t\n" " \n" "\t\n" "\t\n" " \n" "\t\n" "\t\n" " \n" "\t\n" " \n" "\t\n" " \n" "\t\n" " \n" "\t\n" " \n" "\t\n" " \n" "\t\n" " \n" "\t\n" " \n" " \n" "
Address rangeDescription
Timestamps and miscellaneous:
3000030003local\n" "\t timestamp (for use when reading from addresses\n" "\t <35000)
3000430007FFT timestamp\n" "\t indicates when data was acquired that is used by FFTarg(),\n" "\t FFTarg2(), FFTmag(), and\n" "\t THD() functions
3000830009register\n" "\t timestamp (for use when reading from addresses\n" "\t ≥35000)
3001630019on-board temperature\n" "\t(°C)
3010030115device serial number\n" "\t(UTF-8 string, NUL terminated)
3011630131firmware version\n" "\t(UTF-8 string, NUL terminated)
Local data:
3050030999Line voltages (RMS)
3100031499Line voltages (DC/mean)
3150031999Line frequencies
3200032499Sensor values (RMS)
3250032999Sensor values (DC/mean)
3300033949Sensor frequencies
Register data:
3400034999Reduced\n" "\t precision cumulative register values (float), indexed\n" "\t by register ID.
3500035999Cumulative\n" "\t register values (signed 64-bit integers)
3600036999Change of\n" "\tregister value (float)
3700037999Reduced\n" "\t precision cumulative register values (float)
3800038999Cumulative\n" "\t register values (signed 64-bit integers), indexed by\n" "\t register ID.
3900039999Change of\n" "\tregister value (float), indexed by register ID.
\n" "
\n" "The exact Modbus map depends on the %(DEVNAME)s device configuration\n" "and is available on the Modbus\n" "settings screen. The map is available for viewing in the web\n" "browser or for download as a comma-separated values (CSV) file which\n" "can then be imported into any spreadsheet program.\n" "

\n" "\n" msgstr "" #: ../www/common/help.tmpl.x:746 #, python-format msgid "" "\n" "

Modbus Server Settings

\n" "\n" "
\n" "
Modbus unit ID for this device:
\n" "
\n" " This number in the range from 1 to 247 uniquely identifies the\n" " %(DEVNAME)s device on a given Modbus network.\n" "
\n" "\n" "
Enable Modbus TCP server:
\n" "
\n" " If checked, the Modbus TCP server is enabled and the %(DEVNAME)s\n" " data may be read via the local area network (LAN).\n" "
\n" "\n" "
TCP port to listen on:
\n" "
\n" " The IP port number the Modbus TCP server uses to listen for client\n" " requests (if Modbus TCP is enabled). The default port number\n" " defined by Modbus is 502. Under normal circumstances, there\n" " should be no need to change this value.\n" "
\n" "\n" "
Enable Modbus RTU server:
\n" "
\n" " If checked, the Modbus RTU server is enabled and the %(DEVNAME)s\n" " data may be read via an RS-485 bus.\n" "
\n" "\n" "
RTU serial device:
\n" "
\n" " The name of the serial device port %(DEVNAME)s uses to listen for\n" " client requests from an RS-485 bus and the serial port parameters\n" " (baud rate, parity-selection, and number of stop-bits) it uses for\n" " this port.\n" "
\n" "
\n" msgstr "" #: ../www/common/help.tmpl.x:788 #, python-format msgid "" "\n" "%(DEVNAME)s can report alerts via HTTP/HTTPS to an alert provider or\n" "via an SMTP-Gateway as email or short-message service (SMS) to a\n" "phone.\n" "\n" "There are two types of alerts: system-defined and user-defined.\n" "System-defined alerts can report conditions such as when the\n" "device-configuration is changed or when the connection to a remote\n" "device has been established. User-defined alerts define arbitrary\n" "conditions that, when true, trigger the alert. For example, you could\n" "define an alert that triggers when solar production for a day is below\n" "a certain threshold value. Similarly, you could define an alert that\n" "triggers when usage in a 15-minute interval exceeds peak usage in a\n" "billing interval.\n" msgstr "" #: ../www/common/help.tmpl.x:806 msgid "" "\n" "
\n" "
Alert Provider
\n" "
\n" " This option lets you choose how alerts get reported externally.\n" " You can choose \"SMTP Gateway\" to deliver alerts via SMTP as Email\n" " or SMS, \"custom\" to deliver alerts via HTTP or HTTPS to a custom\n" " URL, or one of several alert service providers to forward alerts\n" " to that provider.\n" "
\n" "
\n" msgstr "" #: ../www/common/help.tmpl.x:821 #, python-format msgid "" "\n" "This section of the alerts settings can be used to define how email\n" "(or an SMS message) is delivered to its destination. These settings\n" "are only available if \"SMTP Gateway\" was selected as the alert\n" "provider.\n" "\n" "\n" "Up to four alert-destinations can be defined. Alerts are\n" "prioritized. For each alert-destination, a minimum priority can be\n" "defined. Only alerts whose priority is equal to or greater than the\n" "minimum priority are reported to an alert-destination. Also, once an\n" "alert-destination has been notified, only alerts of higher priority\n" "result in a new notification to that destination until the alert has\n" "been acknowledged or deleted via the alerts page.\n" "Alerts are reported with a delay of approximately 30 seconds and are\n" "automatically acknowledged 24 hours after reporting them.\n" "\n" "These rules ensure that you can be promptly informed of any unusual\n" "conditions for a device without facing the risk of a deluge of alerts.\n" "
\n" "
Hostname of mail server
\n" "
\n" "\tNormally, %(DEVNAME)s attempts to deliver email directly to the\n" "\tdestination address. Similarly, it attempts to deliver SMS\n" "\tdirectly to an SMS-gateway. However, if a firewall prevents\n" "\tthe device from directly establishing such connections, as is\n" "\tcommonly the case for consumer-grade Internet-service, you\n" "\twill have to set the value of this setting to the hostname of\n" "\ta mail server which can forward the messages to the final\n" "\tdestination. The mail server may either be a host on the same\n" "\tLAN (e.g., within a company or school network) that will\n" "\taccept email delivery without authentication or it may be a\n" "\tmail server anywhere on the Internet on which you have a valid\n" "\tuser account. By specifying the username and password for\n" "\tthat account, the device is then able to deliver email through\n" "\tthat mail server.\n" "\n" "\t

\n" "\t As an example, if you have a Google Mail account, you can\n" "\t set the hostname to smtp.gmail.com. By specifying\n" "\t your Google account's username and password, you can then\n" "\t have alerts delivered via Google Mail. (See the description\n" "\t of Password for mail server\n" "\t for caveats on password security).\n" "\t

\n" "\n" "\t

\n" "\tIn technical terms, %(DEVNAME)s normally attempts to deliver\n" "\tmessages via SMTP to the\n" "\tmail-exchange hosts defined via MX-records for\n" "\ta given domain name. If no MX records, exist, %(DEVNAME)s will\n" "\tattempt to deliver the message directly to the server(s)\n" "\tassociated with the domain name. However, if the value of the\n" "\tmail server setting is non-empty hostname, %(DEVNAME)s will\n" "\tdeliver all mail through this host. If Username for mail server is also\n" "\tnon-empty, %(DEVNAME)s will deliver mail TLS-encrypted and\n" "\tauthenticated via port 587 of the host, authenticating itself\n" "\twith the specified username and password. If the username is\n" "\tempty, delivery will be accomplished in clear text through\n" "\tport 25.\n" "\t

\n" "
\n" "\n" "
Username for mail server
\n" "
\n" "\tWhen non-empty, this setting specifies the username the device\n" "\tuses to authenticate itself to the mail server. If empty,\n" "\tmail is delivered without authentication or encryption.\n" "
\n" "\n" "
Password for mail server
\n" "
\n" "\tThis setting specifies the password the device uses to\n" "\tauthenticate itself to the mail server. It is used only if\n" "\tUsername is not empty.\n" "\n" "\t

Caution: This password is transmitted to\n" "\tthe %(DEVNAME)s over an unencrypted channel. We recommend\n" "\tchanging the password only when using a computer that's\n" "\tconnected to the same LAN as the %(DEVNAME)s and only after\n" "\tclicking on the LAN Access link. As an\n" "\tadded security measure, it may be a good idea to setup a\n" "\tspecial email account at the mail server which is used only\n" "\tfor the purpose of sending %(DEVNAME)s alerts.

\n" "
\n" "\n" "
Custom \"From\" address
\n" "
\n" "\tIf Hostname or Username is\n" "\tempty, an alert's From address will be\n" "\tset to noreply@DOMAIN where DOMAIN\n" "\tis your\n" "\tlocal network's domain. If Hostname and\n" "\tUsername are both not empty, the From\n" "\taddress will be set to the username. This setting can be used\n" "\tto override the default From address. Only specify\n" "\tan email address you own, or the mail server may reject\n" "\tdelivering the mail.\n" "\tNote: some mail servers ignore the\n" "\tspecified From addresses and will always replace\n" "\tit with their own.\n" "
\n" "
\n" msgstr "" #: ../www/common/help.tmpl.x:931 #, python-format msgid "" "\n" "In this section, up to four alert destinations can be defined. This\n" "allows delivering alerts via email and/or SMS to one or several\n" "recipients. By assigning different minimum priority levels, you can\n" "also limit recipients to receive only important alerts.\n" "\n" "
\n" "\n" "
Message Format
\n" "
\n" "\tYou can choose between regular email delivery (\"Email\"), short\n" "\temail delivery (\"Short Email\"), or SMS delivery via one of\n" "\tseveral pre-defined mobile-phone service providers. Regular\n" "\temail delivery reports all pending alerts via a single email.\n" "\tShort email delivery reports only the most recent,\n" "\thighest-priority alert to keep the message size small (below\n" "\t140 characters). Alerts sent via SMS also report only the\n" "\tmost recent, highest-priority alert to keep message size\n" "\tminimal.\n" "
\n" "\n" "
Email address or phone number
\n" "
\n" "\tFor email delivery, enter the email address here. For SMS,\n" "\tenter the phone number here. Be sure to select the correct\n" "\tmobile-phone provider as otherwise, alerts cannot be\n" "\tdelivered. For phone numbers, %(DEVNAME)s ignores any\n" "\tcharacters that are not digits. Usually, a full 10-digit\n" "\tphone number needs to be entered, but depending on country and\n" "\tservice-provider, more or fewer digits may have to be entered.\n" "
\n" "\n" "
Min. Alert Prio
\n" "
\n" "\tThis setting selects the minimum priority that an alert needs\n" "\tto have before it would be considered to trigger a message\n" "\tdelivery to this alert destination.\n" "
\n" "\n" "
\n" msgstr "" #: ../www/common/help.tmpl.x:975 msgid "" "\n" "System-alerts are predefined but you can choose the priority with\n" "which they are reported. This allows you do control which recipients\n" "receives which system alerts (if any).\n" "\n" "
\n" "\n" "
Priority
\n" "
\n" "\t Select the priority you would like to assign to this\n" "\t system alert. If there are certain system-alerts that you\n" "\t do not wish to have reported at all, select priority 0 and\n" "\t ensure that all alert destinations have a minimum alert\n" "\t priority of at least 1.\n" "
\n" "\n" "
\n" msgstr "" #: ../www/common/help.tmpl.x:994 msgid "User-defined Patterns" msgstr "" #: ../www/common/help.tmpl.x:996 #, python-format msgid "" "\n" "User-defined alert patterns allow the flexible detection and reporting\n" "of various conditions. For example, an alert could be defined which,\n" "on a second-by-second basis, checks whether a register value is\n" "outside of its permitted range (e.g., whether a voltage or frequency\n" "is above or below a certain threshold).\n" "\n" "
\n" "\n" "
Name
\n" "
\n" "\t Enter a short descriptive name here that let the recipient\n" "\t of an alert message understand what this alert is about.\n" "\t To delete a user-defined pattern, enter an empty name and\n" "\t save the settings.\n" "
\n" "\n" "
Priority
\n" "
\n" " Select the priority you would like to assign to this user-defined\n" " alert. Only alerts whose priority is equal to or greater than the\n" " minimum priorty are reported to an alert-destination.\n" "
\n" "\n" "
Trigger Condition
\n" "
\n" "\t Enter the condition here which, if true, triggers the\n" "\t alert. The condition consists of three parts:\n" "\t left-hand-side (lhs), comparison operator, and\n" "\t right-hand-side (rhs). The comparison operator may be one\n" "\t of less-than (``<''), less-or-equal (``<=''), equal\n" "\t (``=''), not-equal (``!=''), greater-or-equal (``>='',\n" "\t or greater-than (``>''). The lhs is compared to the\n" "\t rhs based on this operator and, if true, the alert is\n" "\t triggered. The lhs and rhs can be arbitrary expressions any may use any alert\n" "\t functions.\n" "
\n" "\n" "
Chk Freq
\n" "
\n" "\t Select the frequency with which the trigger condition is\n" "\t to be checked. You can select from once a second up to\n" "\t once a year. Please choose the lowest\n" "\t frequency that is acceptable as if there are too many\n" "\t conditions evaluated too frequently, the device may get\n" "\t overloaded. Also, note that this check frequency is of an\n" "\t advisory nature only: %(DEVNAME)s evaluates all alert\n" "\t conditions whenever the device starts up and may hence\n" "\t evaluate the conditions more frequently than requested.\n" "\t Similarly, if a slow-running condition is evaluated,\n" "\t evaluation of other conditions may be delayed accordingly.\n" "\t For example, the peak_risk() function may\n" "\t take 10-20 seconds to evaluate, so any conditions that\n" "\t normally would be evaluated each second would be delayed\n" "\t whenever this function is executed.\n" "\n" "\t Apart from the first time a condition is checked on start\n" "\t up, hourly conditions are evaluated during the first\n" "\t minute of each hour, daily conditions during the first\n" "\t hour after midnight, weekly conditions\n" "\t during the first hour of Sunday, monthly conditions during\n" "\t the first hour of the first day of the month, and annual\n" "\t conditions during the first hour of the first day of the\n" "\t year. \"Every second\" conditions are evaluated each second,\n" "\t \"Every minute\" conditions once a minute.\n" "\t
\n" "\n" "
Msg
\n" "
\n" "\t Use this field to define a custom-message to be displayed\n" "\t along with the alert's name. If left empty, a default\n" "\t message is included which shows the value of the lhs, the\n" "\t operator, and the rhs of the trigger-condition. This\n" "\t message may contain special sequences starting with a\n" "\t percent character to refer to the trigger condition.\n" "\t Specifically, %l will be replaced by the value of the lhs,\n" "\t %o with the operator, %r with the value of the rhs, %L\n" "\t with the formula of the lhs, and %R with the formula of\n" "\t the rhs. The sequence %% will be replaced by a single\n" "\t percentage symbol.\n" "
\n" "
\n" msgstr "" #: ../www/common/help.tmpl.x:1084 #, python-format msgid "" "\n" " The access control screen lets you configure who may access the\n" " %(DEVNAME)s and how they may access it. Up to 15 separate users can\n" " be defined. Each user has a unique name, a set of privileges\n" " defining how the user may access the device, and a secret password\n" " that is used to authenticate the user.\n" "

\n" " By default, a single user called owner exists.\n" " This user is allowed to change settings when connected directly\n" " through the LAN (that is, when the IP network number of the\n" " computer used to make the changes is the same as the network\n" " number of the %(DEVNAME)s). Thus, this user can be used to add\n" " other less or equally privileged users.\n" "

\n" "

\n" " Note: With the default access control setup,\n" " please ensure that you are connected through the LAN before\n" " attempting to make any changes to the settings. The easiest way\n" " to ensure this is to click on the LAN\n" "\tAccess link on the top right of any of the device's\n" " web-pages.\n" "

\n" "\n" "
\n" "
Password-protect entire\n" "\tsite:
\n" "
\n" "\tTurn this option on to password-protect the entire device.\n" "\tWith this option checked, it will not be possible to access\n" "\tany device web-pages unless the user can authenticate him- or\n" "\ther-self as a valid user.\n" "\t
\n" "
\n" "\n" "
Username:
\n" "
\n" "\tTo define a new user, enter the desired username into any\n" "\tunused row of the user table. The username must be unique and\n" "\tconsist of letters, digits, or the underscore character (\"_\")\n" "\tonly. The name administrator is reserved and\n" "\tis therefore not available as a valid username. After\n" "\tentering the desired username and selecting the appropriate\n" "\tprivileges (see below), click on ``Save'' to save the\n" "\tchanges.\n" "\n" "\tTo delete a user, clear the username to an empty string, then\n" "\tclick on the ``Save'' button.\n" "
\n" "\n" "
Privileges:
\n" "
\n" "\tThe access-rights of a user can be set to one of the following:\n" "\t
\n" "\t
Allowed to view all data and change settings from\n" "\t anywhere
\n" "\n" "\t
This is the most privileged setting. Not only can the\n" "\t user view any data, but the user may also change the\n" "\t settings, even when connected through the Internet. Because\n" "\t of this, it is essential to select a secure password for a\n" "\t user with this privilege. In other words, do not use\n" "\t leave the default password in effect for such users! To\n" "\t change the password, save the changes first, then click on\n" "\t ``Change Password''.\n" "\t
\n" "\t
Allowed to view all data and change settings from LAN\n" "\t only
\n" "\t
\n" "\t Same as the previous privilege, except that the password\n" "\t is accepted only when the user is connected through the\n" "\t LAN. Specifically, the computer used to access the device\n" "\t must have an IP network number that matches that of the\n" "\t %(DEVNAME)s.\n" "\t
\n" "\t
Allowed to view all data and settings
\n" "\t
\n" "\t The user may view any data and the device settings, but\n" "\t may not change any settings. You should turn on the\n" "\t ``Password-protect entire site'' checkbox when defining\n" "\t such a user because without it, any user may view any data\n" "\t and settings without authentication.\n" "\t
\n" "\t
Allowed to view all data, but not settings
\n" "\t
\n" "\t The user may view any data but not view or change the\n" "\t device settings. You should turn on the\n" "\t ``Password-protect entire site'' checkbox when defining\n" "\t such a user because without it, any user may view any data\n" "\t and settings without authentication.\n" "\t
\n" "\t
Restricted to username view
\n" "\t
\n" "\t The user may only view the data that is defined to be part\n" "\t of the view with the same name as the username. The data\n" "\t required for calculating the values that are part of the\n" "\t view may also be viewed. \n" "\t You should\n" "\t turn on the ``Password-protect entire site'' checkbox when\n" "\t defining such a user because without it, any user may view\n" "\t any data and settings without authentication.\n" "\t
\n" "\t
\n" "
\n" "\n" "
Change Password
\n" "
\n" "\tClick on this button to change the password of a user. If the\n" "\tbutton is inactive (grayed out), it indicates that the\n" "\tusername or privileges have been changed. Please save the\n" "\tchanges first by clicking on the ``Save'' button.\n" "\tAfter successfully saving the pending changes, you will then\n" "\tbe able to change the password. To change the password of a\n" "\tless privileged user, you will only need to enter the new\n" "\tpassword. To change the password of an equally privileged\n" "\tuser, you will need to enter the existing, the new password,\n" "\tand then the new password a second time to confirm its value.\n" "\n" "\tCaution: When changing a password, the\n" "\t credentials are sent over the network to the %(DEVNAME)s in\n" "\t plain text which could be intercepted by a malicious user.\n" "\t The risk of interception can be lowered by changing the\n" "\t password only when connected to the device through the LAN.\n" "\t For maximum security, it is best to create a private network\n" "\t between the computer used to change the password and the\n" "\t %(DEVNAME)s. To achieve this, disconnect the computer from\n" "\t any existing networks, then connect the computer directly to\n" "\t the device before changing the user's password.\n" "
\n" "
\n" msgstr "" #: ../www/common/help.tmpl.x:1217 msgid "" "\n" "
\n" "
Time-server (NTP) hostname(s):
\n" "
\n" " This option specifies the hostname (or IP address) of the machine\n" " that is to provide the current time to the device. The machine\n" " must provide time via NTP\n" " (Network Time\n" " Protocol). Up to eight server-names can be specified via\n" " brace-expansion. The default value is\n" " {0..3}.north-america.pool.ntp.org, which defines the four\n" " servers 0, 1, 2, and 3 in the\n" " north-america.pool.ntp.org domain\n" " This is suitable for devices installed in North-America.\n" " For other geographic regions, one of the setting may be\n" " preferable:\n" "
\n" "\t\n" "\t \n" "\t \n" "\t \n" "\t \n" "\t \n" "\t \n" "\t \n" "\t \n" "\t
RegionRecommended Setting
Africa{0..3}.africa.pool.ntp.org
Asia{0..3}.asia.pool.ntp.org
Europe{0..3}.europe.pool.ntp.org
Oceania{0..3}.oceania.pool.ntp.org
South-America{0..3}.south-america.pool.ntp.org
\n" "
\n" " In case a firewall blocks access to the above machines or if\n" " using the above is undesirable for any other reason, the option\n" " can be set to point to any other machine that provides NTP\n" " service.\n" "
\n" "\n" "
Date & Time:
\n" "
\n" "\t Use this setting to change the date and/or time that is in\n" "\t effect on the device. The times displayed/entered\n" "\t here is the local time that is in effect\n" "\t on the browser. In other words: don't worry about\n" "\t time-zone differences: simply enter the time here that\n" "\t matches the time displayed on your computer and the device\n" "\t will be set to the proper time.\n" "
\n" "\n" "\n" "
Time Zone:
\n" "\n" "
Set this to the time zone that the device is in. This time\n" " zone is currently used only by time- and\n" " date-related functions such as time(), wday(), and month() and\n" " functions that use them internally, such as peak_risk() (see Section\n" " Expressions for details). When accessing\n" " the device through a browser, date and times are always displayed in\n" " the time zone of the browser, regardless of this setting. Use the\n" " \"Detect\" button to fill in the time zone automatically based on the\n" " time zone the browser is in. This will fill in the correct value as\n" " long as the browser is in the same time zone as the device.\n" "
\n" "\n" "
\n" msgstr "" #: ../www/common/help.tmpl.x:1280 msgid "Expressions" msgstr "" #: ../www/common/help.tmpl.x:1282 #, python-format msgid "" "\n" "Some settings allow entering arbitrary expressions. Most expressions\n" "are simple, but for maximum flexibility, rather complicated\n" "expressions can be written. Let us start with some simple examples:\n" "
\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "
Expression:Description:
3+4*5Equals 23.
(3+4)*5Equals 35.
sqrt(9)The square-root of 9 (i.e., 3).
$\"Grid\"The current value of register Grid (e.g., 500W).
(3>4) ? 3.14 : 10Conditional expression evaluating to 10.
\n" "
\n" "As this table shows, basic arithmetic operations with normal\n" "precedence rules are supported: multiplication/division have higher\n" "precedence than addition/subtraction. Parentheses can be used to\n" "override the normal precedence-rules. Various functions such as\n" "sqrt() (square-root) are also supported. The exact\n" "functions supported depends on the context. Basic functions " "are\n" "supported in any expression, whereas certain Alert " "functions\n" "are available only in alert conditions. The value of a register can be\n" "obtained by enclosing its name in quotes (\") and prefixing it with a\n" "dollar sign ($). Conditional expressions consist of 3 parts: the\n" "control-expression before the question-mark, the if-true-value after\n" "the question-mark, and the if-false-value after the colon. If the\n" "control-expression has a non-zero value, the conditional expression\n" "evaluates to the if-true-value, otherwise, to the if-false-value.\n" "\n" "All numeric values are represented as IEEE-754 single-precision\n" "(32-bit) float values.\n" "\n" "Limited recursion is supported with the depth of the evaluation stack\n" "limited to 128 entries.\n" msgstr "" #: ../www/common/display_history.tmpl.x:6 msgid "History" msgstr "" #: ../www/common/tools.tmpl.x:20 msgid "eGuard service" msgstr "" #: ../www/common/tools.tmpl.x:26 ../www/common/tools.tmpl.x:190 msgid "Backup" msgstr "" #: ../www/common/tools.tmpl.x:27 ../www/common/tools.tmpl.x:243 msgid "Restore" msgstr "" #: ../www/common/tools.tmpl.x:28 ../www/common/tools.tmpl.x:85 msgid "Zero-out Data" msgstr "" #: ../www/common/tools.tmpl.x:29 ../www/common/tools.tmpl.x:138 msgid "Split Registers" msgstr "" #: ../www/common/tools.tmpl.x:30 ../www/common/tools.tmpl.x:320 #: ../www/common/reboot.tmpl.x:6 ../display/tools.c:473 msgid "Reboot" msgstr "" #: ../www/common/tools.tmpl.x:32 ../www/common/tools.tmpl.x:328 #: ../www/common/head+tail.tmpl.x:6 msgid "Firmware Upgrade" msgstr "" #: ../www/common/tools.tmpl.x:33 ../www/common/check.tmpl.x:6 msgid "Channel Checker" msgstr "" #: ../www/common/tools.tmpl.x:39 msgid "Your browser does not support iframes." msgstr "" #. Translators: (LCD message) #: ../www/common/tools.tmpl.x:47 ../www/common/base_layout.tmpl.x:20 #: ../www/common/status.tmpl.x:6 ../display/wireless.c:1063 #: ../display/wireless.c:1125 ../display/homeplug.c:488 #: ../display/homeplug.c:546 msgid "Status" msgstr "" #: ../www/common/tools.tmpl.x:55 msgid "Progress:" msgstr "" #: ../www/common/tools.tmpl.x:66 msgid "" "\n" " Please wait for operation to finish. Device may be\n" " corrupted otherwise.\n" " " msgstr "" #: ../www/common/tools.tmpl.x:88 msgid "" "\n" " If for any reason bad data got recorded in the database,\n" " this utility can be used to zero out the bad data.\n" " Once zeroed out, the data is gone. Thus\n" " for safety reasons we recommend performing a full backup before\n" " using this utility.\n" " " msgstr "" #: ../www/common/tools.tmpl.x:107 msgid "Range to zero out:" msgstr "" #: ../www/common/tools.tmpl.x:110 ../www/common/tools.tmpl.x:224 #: ../www/common/tools.tmpl.x:284 msgid "to" msgstr "" #: ../www/common/tools.tmpl.x:116 msgid "" "\n" " Registers to zero out in the above time range:\n" " " msgstr "" #: ../www/common/tools.tmpl.x:126 msgid "Start Zeroing-Out" msgstr "" #: ../www/common/tools.tmpl.x:141 msgid "" "\n" " This utility allows you to split the data of a net register into a\n" " pair of net/positive-only registers. Specifically, for any\n" " time-period during which the net register had an increase in value,\n" " the positive-only register will also register the same increase and\n" " no change in value otherwise.\n" " " msgstr "" #: ../www/common/tools.tmpl.x:159 msgid "Split data before:" msgstr "" #: ../www/common/tools.tmpl.x:167 msgid "" "\n" " Registers to split:\n" " " msgstr "" #: ../www/common/tools.tmpl.x:178 msgid "Start Splitting" msgstr "" #: ../www/common/tools.tmpl.x:192 msgid "" "\n" "

\n" " Use this utility to backup the recorded energy data to your local\n" " hard drive. Each year of recorded data takes up about two megabytes\n" " of storage on the hard drive. Also note that the backup process is\n" " quite slow. Expect it to take about 15 minutes per year of recorded\n" " data, or about eight hours to back up 30 years of data.\n" "

\n" "\n" "

\n" " To back up only data falling within a certain time range, select\n" " \"Partial backup\" as the type of backup to perform and then enter the\n" " desired time range.\n" "

\n" msgstr "" #: ../www/common/tools.tmpl.x:213 msgid "Type of backup to perform:" msgstr "" #: ../www/common/tools.tmpl.x:218 msgid "Full backup" msgstr "" #: ../www/common/tools.tmpl.x:220 msgid "Partial backup" msgstr "" #: ../www/common/tools.tmpl.x:222 ../www/common/tools.tmpl.x:282 msgid "from" msgstr "" #: ../www/common/tools.tmpl.x:233 msgid "Start Backup" msgstr "" #: ../www/common/tools.tmpl.x:245 msgid "" "\n" "

\n" " Use this utility to restore energy data from a backup file on your\n" " local hard drive. Once the restore operation has started it\n" " should not be interrupted because otherwise the\n" " database could be left in a partially restored state. If you do\n" " this inadvertently, simply restart the restore from the beginning.\n" "

\n" "

\n" " Restoring data is a slow process because almost the entire database\n" " needs to be adjusted, even when only little data is actually being\n" " written. The restore process can be quite resource intensive depending on\n" " the size of the backup file. It is recommended to attempt this operation " "only\n" " in a newer browser on a system without a lot of other programs running.\n" "

\n" "

\n" " To restore data only falling within a certain time range, select\n" " \"Partial restore\" as the type of restore to perform and enter the\n" " desired time range before clicking \"Start Restore\". This way, the\n" " data outside the selected time range will be left unchanged.\n" "

\n" msgstr "" #: ../www/common/tools.tmpl.x:273 msgid "Type of restore:" msgstr "" #: ../www/common/tools.tmpl.x:278 msgid "Full restore" msgstr "" #: ../www/common/tools.tmpl.x:280 msgid "Partial restore" msgstr "" #: ../www/common/tools.tmpl.x:290 msgid "Name of backup file to restore:" msgstr "" #: ../www/common/tools.tmpl.x:298 msgid "Start Restore" msgstr "" #: ../www/common/tools.tmpl.x:309 msgid "Reboot Device" msgstr "" #: ../www/common/tools.tmpl.x:312 msgid "" "\n" " This utility lets you reboot (restart) the device, simulating the\n" " effect of temporarily turning off the power to the device.\n" " " msgstr "" #: ../www/common/tools.tmpl.x:330 msgid "" "\n" "

\n" " Use this utility to upgrade the device to the latest firmware\n" " available. After the upgrade, the device will be rebooted\n" " automatically. While rebooting, the device won't be able to collect\n" " any data, resulting in some loss of precision. The reboot should\n" " take less than a minute and thus the loss of precision is usually\n" " negligible. However, to minimize such errors, it is recommended to\n" " upgrade the firmware only from time to time.\n" "

\n" "

\n" " If your device is connected to the Internet, you can click the\n" " button below to upgrade your device to the latest firmware-version:\n" "

\n" msgstr "" #: ../www/common/tools.tmpl.x:348 msgid "Use this if the device is connected to the Internet." msgstr "" #: ../www/common/tools.tmpl.x:349 msgid "Upgrade Firmware" msgstr "" #: ../www/common/tools.tmpl.x:355 msgid "" "\n" " If your device is not connected to the Internet, you can choose " "a\n" " firmware file to upload from your computer and then click on the\n" " button below to start the upgrade process\n" " " msgstr "" #: ../www/common/tools.tmpl.x:364 msgid "Use this when the device is not connected to the Internet." msgstr "" #: ../www/common/tools.tmpl.x:365 msgid "Upload & Install Firmware" msgstr "" #: ../www/common/check.tmpl.x:23 msgid "Channel" msgstr "" #: ../www/common/check.tmpl.x:24 msgid "AC+DC (RMS)" msgstr "" #: ../www/common/check.tmpl.x:25 msgid "AC (RMS)" msgstr "" #: ../www/common/check.tmpl.x:26 msgid "DC (Mean)" msgstr "" #: ../www/common/check.tmpl.x:35 msgid "Register Name" msgstr "" #: ../www/common/check.tmpl.x:37 msgid "Power Factor" msgstr "" #: ../www/common/meter.tmpl.x:6 msgid "Meter Display" msgstr "" #: ../www/common/meter.tmpl.x:20 ../display/info.c:321 msgid "Serial #" msgstr "" #: ../www/common/meter.tmpl.x:30 msgid "Accumulation" msgstr "" #. Translators: Name of "Reset & Start" button #: ../www/common/meter.tmpl.x:40 msgid "Reset & Start" msgstr "" #: ../www/common/meter.tmpl.x:47 msgid "Export Data as CSV" msgstr "" #: ../www/common/editprefs.tmpl.x:6 msgid "Preferences Editor" msgstr "" #: ../www/common/slow_message.tmpl.x:2 msgid "" "\n" "You see this message either because communication with the device\n" "is slow or because JavaScript is not supported or not enabled in\n" "your web browser. We recommend using Google Chrome,\n" "Firefox, Opera, Safari, or Internet Explorer 9 (or newer).\n" msgstr "" #: ../www/common/fundoc.tmpl.x:6 msgid "Function Documentation" msgstr "" #: ../www/common/push-status.tmpl.x:6 msgid "Push Status" msgstr "" #: ../www/common/push-status.tmpl.x:20 msgid "Next push attempt" msgstr "" #: ../www/common/push-status.tmpl.x:25 msgid "Last push attempt" msgstr "" #: ../www/common/push-status.tmpl.x:30 msgid "Last HTTP response code received" msgstr "" #: ../www/common/push-status.tmpl.x:35 msgid "Last successful push" msgstr "" #: ../www/common/push-status.tmpl.x:40 msgid "Most recent row pushed" msgstr "" #: ../www/common/push-status.tmpl.x:45 msgid "# of rows delivered during last successful push" msgstr "" #: ../www/common/base_layout.tmpl.x:16 msgid "Home" msgstr "" #: ../www/common/base_layout.tmpl.x:17 msgid "Monthly Summary" msgstr "" #: ../www/common/base_layout.tmpl.x:19 msgid "Kiosk" msgstr "" #: ../www/common/base_layout.tmpl.x:40 msgid "" "Even after all this time, the Sun never says to the Earth \"you owe me\"\n" " --- Hafiz, Persian Poet of the 1300s" msgstr "" #: ../www/common/reboot.tmpl.x:24 ../egauge/tst-i18n.c:98 #: ../egauge/tst-i18n.c:99 ../egauge/tst-i18n.c:103 ../egauge/tst-i18n.c:108 #: ../egauge/tst-i18n.c:109 ../egauge/tst-i18n.c:113 msgid "Rebooting now..." msgstr "" #: ../www/common/reboot.tmpl.x:33 #, python-format msgid "" "\n" "\t If you are unable to reconnect to\n" "\t %(DEVNAME)s after several minutes, please contact your installer\n" "\t or visit the support page at\n" "\t %(COMPANYURL)ssupport/.\n" "\t " msgstr "" #: ../www/common/mac_addr.tmpl.x:6 ../www/common/status.tmpl.x:83 msgid "MAC Address" msgstr "" #: ../www/common/kiosk/index.tmpl.x:86 msgid "Power consumed" msgstr "" #. Translators: Short for "Generation" (of renewable energy). #: ../www/common/kiosk/index.tmpl.x:123 msgid "Gen:" msgstr "" #. Translators: Short for "Usage" (of energy). #: ../www/common/kiosk/index.tmpl.x:138 msgid "Use:" msgstr "" #: ../www/common/alerts.tmpl.x:16 msgid "Pending Alerts:" msgstr "" #: ../www/common/alerts.tmpl.x:28 msgid "Refresh" msgstr "" #: ../www/common/alerts.tmpl.x:31 msgid "View Privileged Details" msgstr "" #: ../www/common/alerts.tmpl.x:35 msgid "Acknowledge Checked Alerts" msgstr "" #: ../www/common/alerts.tmpl.x:37 msgid "Delete Checked Alerts" msgstr "" #: ../www/common/alerts.tmpl.x:39 msgid "Edit Alert Settings" msgstr "" #: ../www/common/lan.tmpl.x:16 msgid "Redirecting browser to the local area network (LAN) address..." msgstr "" #. Translators: reboot device (LCD menu entry) #: ../www/common/ctid.tmpl.x:6 ../display/tools.c:472 msgid "CTid®" msgstr "" #: ../www/common/ctid.tmpl.x:22 ../www/common/ctid.tmpl.x:49 msgid "Back to Settings" msgstr "" #: ../www/common/ctid.tmpl.x:32 msgid "Sensor" msgstr "" #: ../www/common/ctid.tmpl.x:37 ../display/info.c:314 msgid "Model" msgstr "" #: ../www/common/ctid.tmpl.x:38 msgid "Last Scanned" msgstr "" #: ../www/common/ctid.tmpl.x:39 msgid "Blink LED" msgstr "" #: ../www/common/stats.tmpl.x:6 msgid "Statistics" msgstr "" #: ../www/common/stats.tmpl.x:24 msgid "Display monthly summary for:" msgstr "" #: ../www/common/stats.tmpl.x:51 msgid "Total" msgstr "" #: ../www/common/status.tmpl.x:30 msgid "Uptime:" msgstr "" #: ../www/common/status.tmpl.x:35 msgid "Reboot reason:" msgstr "" #: ../www/common/status.tmpl.x:40 msgid "Last user-initiated reboot:" msgstr "" #: ../www/common/status.tmpl.x:45 msgid "Internal temperature:" msgstr "" #: ../www/common/status.tmpl.x:51 msgid "Internal humidity:" msgstr "" #: ../www/common/status.tmpl.x:56 msgid "Connection Quality:" msgstr "" #: ../www/common/status.tmpl.x:62 msgid "Hardware model:" msgstr "" #: ../www/common/status.tmpl.x:68 msgid "Serial number:" msgstr "" #: ../www/common/status.tmpl.x:73 msgid "Firmware:" msgstr "" #: ../www/common/status.tmpl.x:78 msgid "Kernel version:" msgstr "" #: ../www/common/status.tmpl.x:84 msgid "Look up" msgstr "" #. Translators: Prefix used to display an error message, for example, #. Error: this isn't what you should have entered. #: ../cgi-bin/ctid-cfg.c:41 ../cgi-bin/egauge-cfg.c:82 msgid "Error" msgstr "" #: ../cgi-bin/modbuscfg.c:248 ../webapi/output.c:298 msgid "yes" msgstr "" #: ../cgi-bin/modbuscfg.c:418 msgid "Unable to read device configuration." msgstr "" #: ../cgi-bin/modbuscfg.c:426 msgid "Unable to open eGauge shared memory." msgstr "" #: ../cgi-bin/modbuscfg.c:433 msgid "Failed to get virtual register info." msgstr "" #: ../cgi-bin/modbuscfg.c:455 msgid "Deprecated" msgstr "" #: ../cgi-bin/modbuscfg.c:459 msgid "local timestamp (sec)" msgstr "" #: ../cgi-bin/modbuscfg.c:462 msgid "local timestamp (μs)" msgstr "" #: ../cgi-bin/modbuscfg.c:463 ../cgi-bin/modbuscfg.c:468 #: ../cgi-bin/modbuscfg.c:475 msgid "μs" msgstr "" #: ../cgi-bin/modbuscfg.c:465 msgid "FFT timestamp (sec)" msgstr "" #: ../cgi-bin/modbuscfg.c:468 msgid "FFT timestamp (μs)" msgstr "" #: ../cgi-bin/modbuscfg.c:471 msgid "register timestamp (sec)" msgstr "" #: ../cgi-bin/modbuscfg.c:474 msgid "register timestamp (μs)" msgstr "" #: ../cgi-bin/modbuscfg.c:478 msgid "on-board temperature" msgstr "" #: ../cgi-bin/modbuscfg.c:483 msgid "device serial number" msgstr "" #: ../cgi-bin/modbuscfg.c:487 msgid "firmware version" msgstr "" #. Translators: "RMS voltage" as in #. "root-mean-square average of electrical #. voltage". #: ../cgi-bin/modbuscfg.c:493 msgid "RMS voltage" msgstr "" #: ../cgi-bin/modbuscfg.c:493 ../cgi-bin/modbuscfg.c:495 #: ../webapi/api-capture.c:251 msgid "V" msgstr "" #: ../cgi-bin/modbuscfg.c:495 msgid "mean (DC) voltage" msgstr "" #: ../cgi-bin/modbuscfg.c:497 msgid "line frequency" msgstr "" #: ../cgi-bin/modbuscfg.c:500 msgid "normal sensor value" msgstr "" #: ../cgi-bin/modbuscfg.c:502 msgid "mean (DC) sensor value" msgstr "" #: ../cgi-bin/modbuscfg.c:507 ../cgi-bin/modbuscfg.c:509 #: ../cgi-bin/modbuscfg.c:514 ../cgi-bin/modbuscfg.c:516 msgid "cumulative value" msgstr "" #: ../cgi-bin/modbuscfg.c:511 ../cgi-bin/modbuscfg.c:518 msgid "change in value" msgstr "" #: ../cgi-bin/modbuscfg.c:559 ../cgi-bin/netcfg.c:1419 msgid "Sorry, you are not authorized to view this information." msgstr "" #: ../cgi-bin/modbuscfg.c:580 ../cgi-bin/netcfg.c:1403 #: ../cgi-bin/server-storage.c:417 ../cgi-bin/egauge-cfg.c:2076 #: ../cgi-bin/egauge-cfg.c:2709 msgid "Sorry, you are not authorized to make this change." msgstr "" #. Translators: %s is the name of a register that received a value. #: ../cgi-bin/team-check.c:191 ../teamd/test-remote.c:336 #, c-format msgid "Detected register `%s'." msgstr "" #: ../cgi-bin/team-check.c:616 ../teamd/test-remote.c:367 msgid "Unknown link-type." msgstr "" #: ../cgi-bin/team-check.c:634 ../teamd/test-remote.c:379 msgid "Unable to create link." msgstr "" #: ../cgi-bin/team-check.c:646 ../cgi-bin/team-check.c:678 #: ../teamd/test-remote.c:388 ../teamd/test-remote.c:417 msgid "Unable to fetch data." msgstr "" #: ../cgi-bin/team-check.c:671 #, c-format msgid "Timed out (got %d out of %d registers)." msgstr "" #: ../cgi-bin/team-check.c:707 ../teamd/test-remote.c:446 msgid "Connection closed." msgstr "" #: ../cgi-bin/team-check.c:716 #, c-format msgid "Link %s has invalid file descriptor %d" msgstr "" #: ../cgi-bin/team-check.c:721 #, c-format msgid "Unable to read data (ret=%d, %s)." msgstr "" #: ../cgi-bin/team-check.c:722 #, c-format msgid "Unable to write data (ret=%d, %s)." msgstr "" #: ../cgi-bin/team-check.c:733 ../teamd/test-remote.c:463 msgid "Unable to read data." msgstr "" #: ../cgi-bin/team-check.c:735 #, c-format msgid "Detected %d registers." msgstr "" #: ../cgi-bin/reboot.c:58 #, c-format msgid "Error: Sorry, you are not authorized to reboot the device." msgstr "" #: ../cgi-bin/reboot.c:66 msgid "Web-initiated reboot" msgstr "" #: ../cgi-bin/restore.c:465 msgid "Sorry, you are not authorized to restore data." msgstr "" #: ../cgi-bin/egauge-cfg.c:345 msgid "Failed to format map formula" msgstr "" #: ../cgi-bin/egauge-cfg.c:391 msgid "Failed to get displayd configuration." msgstr "" #: ../cgi-bin/egauge-cfg.c:1248 msgid "Invalid NTP server name" msgstr "" #: ../cgi-bin/egauge-cfg.c:1811 ../cgi-bin/egauge-cfg.c:1821 #, c-format msgid "Error in alert `%s': %s" msgstr "" #: ../cgi-bin/egauge-cfg.c:1841 msgid "Duplicate username" msgstr "" #: ../cgi-bin/egauge-cfg.c:1885 #, c-format msgid "" "Refusing to delete user `%s' since you are currently logged in as that " "user. Please log in as a another user do delete `%s'." msgstr "" #: ../cgi-bin/egauge-cfg.c:1914 msgid "Failed to save epoch. Check support.egauge.net for help." msgstr "" #: ../cgi-bin/egauge-cfg.c:1969 msgid "Failed to set hwclock." msgstr "" #. Translators: when the device configuration is changed, this #. message reports the name of the user (%s) that changed it. #: ../cgi-bin/egauge-cfg.c:1987 #, c-format msgid "By %s." msgstr "" #: ../cgi-bin/egauge-cfg.c:2039 ../cgi-bin/egauge-cfg.c:2083 msgid "Invalid username" msgstr "" #: ../cgi-bin/egauge-cfg.c:2050 msgid "Invalid hash" msgstr "" #: ../cgi-bin/egauge-cfg.c:2061 msgid "Invalid old hash" msgstr "" #: ../cgi-bin/egauge-cfg.c:2088 msgid "Please specify old password." msgstr "" #: ../cgi-bin/egauge-cfg.c:2118 msgid "Failed to change password" msgstr "" #: ../cgi-bin/egauge-cfg.c:2258 msgid "push-URI too long" msgstr "" #: ../cgi-bin/egauge-cfg.c:2263 msgid "push interval out of range 1s .. 24h" msgstr "" #: ../cgi-bin/egauge-cfg.c:2268 msgid "push options too long" msgstr "" #: ../cgi-bin/egauge-cfg.c:2273 msgid "push username too long" msgstr "" #: ../cgi-bin/egauge-cfg.c:2278 msgid "push password too long" msgstr "" #: ../cgi-bin/egauge-cfg.c:2340 msgid "Push Data Setup" msgstr "" #: ../cgi-bin/egauge-cfg.c:2341 msgid "This device is now set up to send its data to URI:" msgstr "" #: ../cgi-bin/egauge-cfg.c:2343 msgid "" "If this is not what you wanted, please use this Settings screen to correct the error.
Specifically, you can " "disable the sharing of data by changing Data Sharing to " "disabled and then clicking the Save button." msgstr "" #: ../cgi-bin/mail-check.c:67 msgid "Mail Check Output" msgstr "" #. Translators: "address" refers to an email address here. #: ../cgi-bin/mail-check.c:120 msgid "No address specified." msgstr "" #. Translators: %s is an email address #: ../cgi-bin/mail-check.c:130 #, c-format msgid "Testing mail delivery to %s..." msgstr "" #. Translators: first %s is the hostname of the device sending a #. test email, second %s is the email address from which the email #. is being sent. #: ../cgi-bin/mail-check.c:143 ../egauge/test-email.c:171 #, c-format msgid "%s Mail Checker <%s>" msgstr "" #. Translators: %s is the hostname of the device sending a test email. #: ../cgi-bin/mail-check.c:146 ../egauge/test-email.c:174 #, c-format msgid "%s mail check" msgstr "" #. Translators: %s is mail gateways' hostname (or #. ""), second %s is the username to which the #. email was addressed. #: ../cgi-bin/mail-check.c:161 ../egauge/test-email.c:189 #, c-format msgid "" "This message was sent via:\r\n" " smarthost: %s\r\n" " username: %s\r\n" " fromaddr: %s\r\n" msgstr "" #: ../cgi-bin/mail-check.c:185 msgid "Sorry, mail delivery failed." msgstr "" #: ../cgi-bin/mail-check.c:187 msgid "Mail delivery succeeded." msgstr "" #: ../cgi-bin/egauge-cgi.c:239 ../cgi-bin/egauge-cgi.c:269 msgid "Total Usage" msgstr "" #: ../cgi-bin/egauge-cgi.c:243 ../cgi-bin/egauge-cgi.c:271 msgid "Total Generation" msgstr "" #: ../egauge/expr-base-fun.c:117 msgid "Line name expected" msgstr "" #: ../egauge/expr-base-fun.c:125 msgid "Line- or sensor-port name expected" msgstr "" #: ../egauge/expr-base-fun.c:198 #, c-format msgid "unknown register `%s'" msgstr "" #: ../egauge/expr-base-fun.c:291 msgid "unknown unit" msgstr "" #: ../egauge/expr-base-fun.c:961 msgid "" "CAUTION: This is a non-realtime function. The data used by this function is " "calculated off-line, as time permits. Because of that, the result can be " "from a few seconds up to about 30 seconds behind real-time." msgstr "" #. Translators: Documentation for function __eq(). #: ../egauge/expr-base-fun.c:973 msgid "" "Return 1 if l is equal to r or NaN if either argument " "is NaN." msgstr "" #. Translators: Documentation for function __lt(). #: ../egauge/expr-base-fun.c:980 msgid "" "Return 1 if l is less than r or NaN if either argument " "is NaN." msgstr "" #. Translators: Documentation for function __le(). #: ../egauge/expr-base-fun.c:987 msgid "" "Return 1 if l is less than or equal to r or NaN if " "either argument is NaN." msgstr "" #. Translators: Documentation for function __gt(). #: ../egauge/expr-base-fun.c:994 msgid "" "Return 1 if l is greater than r or NaN if either " "argument is NaN." msgstr "" #. Translators: Documentation for function __ge(). #: ../egauge/expr-base-fun.c:1001 msgid "" "Return 1 if l is greater than or equal to r or NaN if " "either argument is NaN." msgstr "" #. Translators: Documentation for function abs(). #: ../egauge/expr-base-fun.c:1008 msgid "Returns the absolute value of x." msgstr "" #. Translators: Documentation for function floor(). #: ../egauge/expr-base-fun.c:1014 msgid "Returns largest integral value not greater than x." msgstr "" #. Translators: Documentation for function round(). #: ../egauge/expr-base-fun.c:1021 msgid "Round x to the nearest integer." msgstr "" #. Translators: Documentation for function mod(). #: ../egauge/expr-base-fun.c:1027 msgid "Returns the remainder of dividing x by y." msgstr "" #. Translators: Documentation for function sqrt(). #: ../egauge/expr-base-fun.c:1034 msgid "Returns the square-root of x." msgstr "" #. Translators: Documentation for function sqr(). #: ../egauge/expr-base-fun.c:1040 msgid "Returns the square of x." msgstr "" #. Translators: Documentation for function log(). #: ../egauge/expr-base-fun.c:1046 msgid "Returns the common (base-10) logarithm of x." msgstr "" #. Translators: Documentation for function exp(). #: ../egauge/expr-base-fun.c:1052 msgid "Returns 10 raised to the power of x (10^x)." msgstr "" #. Translators: Documentation for function min(). #: ../egauge/expr-base-fun.c:1059 msgid "Returns the smaller value of x and y." msgstr "" #. Translators: Documentation for function max(). #: ../egauge/expr-base-fun.c:1065 msgid "Returns the greater value of x and y." msgstr "" #. Translators: Documentation for function isnan(). #: ../egauge/expr-base-fun.c:1071 msgid "Returns non-zero value if x is Not-a-Number." msgstr "" #. Translators: Documentation for function isinf(). #: ../egauge/expr-base-fun.c:1077 msgid "" "Returns 1 if x is positive infinity, -1 if x is " "negative infinity, and zero otherwise." msgstr "" #. Translators: Documentation for function rand(). #: ../egauge/expr-base-fun.c:1085 msgid "Returns random number in the range from 0 to 1 (inclusive)." msgstr "" #. Translators: Documentation for function epoch(). #: ../egauge/expr-base-fun.c:1089 msgid "" "Returns the time when recording started (epoch) as a Unix timestamp (seconds " "since Jan 1, 1970 UTC)." msgstr "" #. Translators: Documentation for function utime(). #: ../egauge/expr-base-fun.c:1093 msgid "" "Returns current time as a Unix timestamp (seconds since Jan 1, 1970 UTC)." msgstr "" #. Translators: Documentation for function #. start_of(). #: ../egauge/expr-base-fun.c:1101 msgid "" "Returns the Unix timestamp of the start of the period in which " "time falls. If time is not specified, the current " "time is used. period may be one of \"second\", \"minute\", " "\"qhour\", \"hour\", \"day\", \"week\", \"month\", \"bill\", \"quarter\", or " "\"year\" to return the start of the second, minute, quarter-hour, hour, day, " "week, month, billing-period, quarter, or year, respectively. " msgstr "" #. Translators: Documentation for function ago(). #: ../egauge/expr-base-fun.c:1118 msgid "" "Returns the Unix timestamp that is count periods " "earlier than time. If time is not specified, the " "current time is used. period may be any of the periods that can " "be specified for function start_of()." msgstr "" #. Translators: Documentation for function time(). #: ../egauge/expr-base-fun.c:1130 msgid "" "Without argument, returns current local time in hours since midnight. The " "return value is in the range from 0 up to (but not including) 24 with the " "fractional part of the number giving the minutes and seconds into the hour. " "For example, 23.5 would be half an hour before midnight. With an argument, " "returns the hours since midnight for the Unix timestamp ts." msgstr "" #. Translators: Documentation for function wday(). #: ../egauge/expr-base-fun.c:1145 msgid "" "Without an argument, returns the local time's weekday as the number of days " "since Monday, in the range from 0 to 6. That is, wday()>4 can be used to " "test for the weekend. With an argument, returns the weekday for the Unix " "timestamp ts." msgstr "" #. Translators: Documentation for function month(). #: ../egauge/expr-base-fun.c:1157 msgid "" "Without an argument, returns the local time's month as the number of months " "since January, in the range from 0 to 11. With an argument, returns the " "month for the Unix timestamp ts." msgstr "" #. Translators: Documentation for function year(). #: ../egauge/expr-base-fun.c:1167 msgid "" "Without an argument, returns the local time's year (Common Era). With an " "argument, returns the year of the Unix timestamp ts." msgstr "" #. Translators: Documentation for function mday(). #: ../egauge/expr-base-fun.c:1176 msgid "" "Without an argument, returns the day of the month for the current local " "time, in the range 1 to 31. With an argument, returns the month for the Unix " "timestamp ts." msgstr "" #. Translators: Documentation for function FFTmag(). #: ../egauge/expr-base-fun.c:1186 msgid "" "Returns magnitude of the spectral component at frequency freq of " "the signal at input channel chan. Use chan() to obtain the " "channel number for a given voltage or CT input name. For voltage inputs, " "the magnitude is returned in Volts, for current inputs, in Amperes. The " "frequency spectrum is calculated from 0 to 600Hz with a resolution of 5Hz. " "Sample acquisition is triggered by a rising zero-crossing of the lowest-" "numbered line-input that is being measured (usually L1). " msgstr "" #. Translators: Documentation for function FFTarg(). #: ../egauge/expr-base-fun.c:1205 msgid "" "Returns phase-angle of the spectral component at frequency freq " "of the signal at input channel chan. The value returned is in " "degrees and may range from 0 to 360 degrees. The lowest-numbered line-input " "that is being measured (usually L1) will have the phase angle near 270 " "degrees). See description of FFTmag() for additional details. " msgstr "" #. Translators: Documentation for function FFTarg2(). #: ../egauge/expr-base-fun.c:1220 msgid "" "Returns phase-angle of the spectral component at frequency freq " "of the signal at input channel chan relative to the reference " "channel refchan. The value returned is in degrees and may range " "from -180 to 180 degrees. " msgstr "" #. Translators: Documentation for function THD(). #: ../egauge/expr-base-fun.c:1232 msgid "" "Returns the total harmonic distortion (THD) for channel chan for " "fundamental frequency freq. The returned value is a percentage " "which may be bigger than 100% if freq is not the fundamental " "frequency of the signal. THD is calculated as 100*sqrt(sum(Vh²))/V1, where " "V1 is the magnitude of the fundamental frequency freq and Vh are " "the magnitudes of the harmonics. See description of FFTmag() for details on " "how the spectrum is calculated. Use chan() to obtain the channel number for " "a given voltage or CT input name. Only channels that are already used for " "power or current/voltage measurements should be specified. This function " "will return 0 for channels that are otherwise unused. " msgstr "" #. Translators: Documentation for function conn_qual(). #: ../egauge/expr-base-fun.c:1254 msgid "" "Returns the connection quality as a percentage in the range from 0..100 or " "NaN (Not-a-Number) if the value cannot be determined. This is the same as " "the `Connection Quality' value reported on web-page `/status.html'. The " "value updates once a minute." msgstr "" #. Translators: Documentation for function conn_tech(). #: ../egauge/expr-base-fun.c:1263 msgid "" "Returns the connection technology. A return value of 0 indicates multiple " "technologies bridged together, 1 indicates (hardwired) Ethernet, 2 indicates " "PLC, 3 indicates WLAN (WiFi), 4 indicates WAN (cell). NaN (Not-a-Number) is " "returned if the connection technology is unknown. The value updates once a " "minute." msgstr "" #. Translators: Documentation for function temp_internal(). #: ../egauge/expr-base-fun.c:1273 msgid "" "Returns the device-internal relative humidity in percent. NaN (Not-a-" "Number) is returned if the humidity is unavailable. The value updates once a " "minute." msgstr "" #. Translators: Documentation for function temp_internal(). #: ../egauge/expr-base-fun.c:1280 msgid "" "Returns the device-internal temperature in degrees centigrade. NaN (Not-a-" "Number) is returned if the temperature is unknown. This is the same as the " "`Internal temperature' value reported on web-page `/status.html'. The value " "updates once a minute." msgstr "" #. Translators: Documentation for function VAr(). #: ../egauge/expr-base-fun.c:1292 msgid "" "Calculates the magnitude of reactive power from real and " "apparent power." msgstr "" #. Translators: Documentation for function P_PV(). #: ../egauge/expr-base-fun.c:1301 msgid "" "Calculates expected power of a PV array given irradiance, the " "array's panel temperature tpanel, the rated power prated of the array, and the array's panel temperature derating coefficient " "temp_coeff (in percent; usually a small negative number)." msgstr "" #. Translators: Documentation for function P_SunPower(). #: ../egauge/expr-base-fun.c:1312 msgid "" "Calculates expected power of a SunPower array given irradiance, " "the array's panel temperature tpanel, and the rated power " "prated of the array." msgstr "" #. Translators: Documentation for function P_est(). #: ../egauge/expr-base-fun.c:1326 msgid "" "Returns current estimated average production in Watts given the expected " "monthly production values (in kWh) as estimated by, for example, PVWatts." msgstr "" #. Translators: Documentation for function stdap(). #: ../egauge/expr-base-fun.c:1334 msgid "" "Converts the absolute atmospheric pressure (in Pascals) measured " "at altitude (in meters) to the equivalent pressure at sea level. " "This is the value typically reported as barometric pressure. The standard " "atmospheric pressure at sea level is 101,325 Pa." msgstr "" #. Translators: Documentation for function bit(). #: ../egauge/expr-base-fun.c:1346 msgid "" "Returns bit n of number x. x should be an " "integer in range from 0..9007199254740991 and n must be an " "integer in the range from 0..52." msgstr "" #. Translators: Documentation for function sin(). #: ../egauge/expr-base-fun.c:1356 msgid "" "Returns sine of x, where x is an angle in degrees." msgstr "" #. Translators: Documentation for function cos(). #: ../egauge/expr-base-fun.c:1363 msgid "" "Returns cosine of x, where x is an angle in degrees." msgstr "" #. Translators: Documentation for function tan(). #: ../egauge/expr-base-fun.c:1370 msgid "" "Returns tangent of x, where x is an angle in degrees." msgstr "" #. Translators: Documentation for function asin(). #: ../egauge/expr-base-fun.c:1377 msgid "" "Returns the principal value, in degrees, of the arc sine of x, " "where x is a value in the range from -1 to 1." msgstr "" #. Translators: Documentation for function acos(). #: ../egauge/expr-base-fun.c:1385 msgid "" "Returns the principal value, in degrees, of the arc cosine of x, " "where x is a value in the range from -1 to 1." msgstr "" #. Translators: Documentation for function atan2(). #: ../egauge/expr-base-fun.c:1393 msgid "" "Returns the principal value, in degrees, of the arc tangent of y/" "x." msgstr "" #. Translators: Documentation for function #. heat_power(). #: ../egauge/expr-base-fun.c:1403 msgid "" "Returns the power that is required to increase the temperature of of " "medium flowing at a rate of volrate cubic meters per " "second from tin to tout. volrate is " "measured in cubic meters (m³), tin and tout in degree " "Celsius (°C). If medium is not specified, it defaults to " "\"water\". The only value currently accepted for medium is " "\"water\". The power is returned as watts." msgstr "" #. Translators: Documentation for function chan(). #: ../egauge/expr-base-fun.c:1421 msgid "" "Returns the channel number for name. name may be one " "of \"L1\" through \"L3\" for voltage inputs, \"Ldc\" for the DC voltage " "input, or \"S1\" through \"S30\" for sensor inputs. Alternatively, the " "sensor inputs can also be referred to as \"CT1\" through \"CT30\"." msgstr "" #. Translators: Documentation for function __r(). #: ../egauge/expr-base-fun.c:1433 msgid "Returns the value of register name." msgstr "" #. Translators: Documentation for function __rv(). #: ../egauge/expr-base-fun.c:1439 msgid "Returns the value of register with index regidx." msgstr "" #. Translators: Documentation for function pref(). #: ../egauge/expr-base-fun.c:1446 msgid "" "Returns the value of preference name. If the preference is not " "set, default is returned if the function is called with two " "arguments or NAN (Not-a-Number) is returned if it is called with a single " "argument." msgstr "" #. Translators: Documentaion for function m3_per(). #: ../egauge/expr-base-fun.c:1457 msgid "" "Returns the factor by which a quantity in the specified unit " "needs to be multiplied by to get the same quantity in cubic meters (m³). " "unit may be one of \"cm3\" (cubic-centimeter), \"in3\" (cubic-" "inch), \"pint\", \"liter\", \"gallon\" (US gallon), \"ft3\" (cubic foot), " "\"barrel\", or \"acre-foot\"." msgstr "" #. Translators: Documentaion for function map420(). #: ../egauge/expr-base-fun.c:1472 msgid "" "Linearly map number x in the range from 4 to 20 to a number in " "the range from min to max. If x is less " "than 4, min is returned and if x is greater than 20, " "max is returned." msgstr "" #. Translators: Documentaion for function map420s(). #: ../egauge/expr-base-fun.c:1483 msgid "" "Linearly map number x in the range from 4 to 20 to a signed " "number in the range from -1 to +1. For example, 12 would map to 0. If " "x is less than 4, -1 is returned and if x is greater " "than 20, +1 is returned." msgstr "" #. Translators: Documentaion for function map420u(). #: ../egauge/expr-base-fun.c:1495 msgid "" "Linearly map number x in the range from 4 to 20 to an unsigned " "number in the range from 0 to +1. For example, 12 would map to 0.5. If " "x is less than 4, 0 is returned and if x is greater " "than 20, +1 is returned." msgstr "" #: ../egauge/db-fun.c:10 msgid "" "CAUTION: This function is slow to execute and must not be called more than " "once a minute." msgstr "" #. Translators: Documentation for function avg(). #: ../egauge/db-fun.c:23 msgid "" "Calculates the average value of register reg over the last " "n minutes. If t is specified, the average is " "calculated over the n minute period ending at time t. " "If n is not positive, the average is calculated over the smallest " "period available (as dictated by database constraints)." msgstr "" #. Translators: Documentation for function cumul(). #: ../egauge/db-fun.c:37 msgid "" "Returns the cumulative value of register named reg at time " "time. If time is not specified, the current time is " "used." msgstr "" #. Translators: Documentation for function dayavg(). #: ../egauge/db-fun.c:46 msgid "Calculates the 24-hour average value for register reg." msgstr "" #. Translators: Documentation for function #. peak_for_billing_period(). #: ../egauge/db-fun.c:54 msgid "" "Calculates the peak value for register reg for the current " "billing period. The peak value of a register is defined as the maximum " "average value across any demand interval. The length of the demand interval " "is given by preference global.billing.interval. The start of the billing " "period is determined based on the preference global.billing.start_day. If " "not set, the first day of each month is considered to be the start of the " "billing period. If set to number N, the N-th day of the month is considered " "to be the start of the billing period. If N is greater than the number of " "days in a given month, the last day of the month is considered to be the " "start of the billing period. " msgstr "" #. Translators: Documentation for function peak_risk2(). #: ../egauge/db-fun.c:77 msgid "" "Calculates the probability that register reg during the current " "measurement interval will exceed the value peak. The returned " "value is in the range from 0..1, where 0 indicates no risk and 1 indicates " "certainty for being a new peak interval. " msgstr "" #. Translators: Documentation for function peak_risk(). #: ../egauge/db-fun.c:91 msgid "" "Calculates the probability that register reg during the current " "measurement interval will be a new peak interval for the current billing " "period. The start of the billing period is determined as with " "peak_for_billing_period(). A measurement interval is considered to be a new " "peak if it has an average value that exceeds the average of all previous " "measurement intervals in the billing period and the average is greater than " "the value set for preference global.peak.threshold. The returned value is " "in the range from 0..1, where 0 indicates no risk and 1 indicates certainty " "for being a new peak interval. " msgstr "" #. Translators: Documentation for function #. change_over_last_period(). #: ../egauge/db-fun.c:115 msgid "" "Returns the amount by which register reg changed over the most " "recent period specified by period. period may take " "any value supported by function start_of()." msgstr "" #. Translators: Documentation for function avg_over_last_period(). #: ../egauge/db-fun.c:128 msgid "" "Returns the value of register reg averaged over the most recent " "period specified by period. period may take any value " "supported by function start_of()." msgstr "" #: ../egauge/expr-meta.c:104 #, c-format msgid "Register `%s' unknown." msgstr "" #. Translators: Message used to report an eScript syntax error. #. First %s is the error message, %.*s is the part of the formula #. that is free of errors, %c is the character that triggered the #. error and the second %s is the rest of the formula. #: ../egauge/expr-meta.c:139 #, c-format msgid "Syntax error: %s. Formula: %.*s>%.1s<%s" msgstr "" #: ../egauge/http-client.c:192 #, c-format msgid "lookup of host `%s' failed (%s)" msgstr "" #: ../egauge/http-client.c:231 #, c-format msgid "failed to connect to server %s:%u (%s)" msgstr "" #: ../egauge/http-client.c:246 #, c-format msgid "Unable to find network address for hostname `%s'." msgstr "" #: ../egauge/http-client.c:254 #, c-format msgid "Failed to create socket (%s)." msgstr "" #: ../egauge/test-email.c:212 ../teamd/test-remote.c:548 msgid "failed to start - already pending?" msgstr "" #: ../egauge/test-email.c:228 msgid "out of memory" msgstr "" #: ../egauge/test-email.c:249 msgid "send timed out" msgstr "" #. Translators: Used to report a time change. The first %s is #. the old time, second %s the new time, third %s the amount by #. which the time changed. #: ../egauge/priv.c:529 #, c-format msgid "From %s to %s by %s." msgstr "" #. Translators: This is the name of a system alert (max 63 bytes long). #: ../egauge/cfg.c:78 msgid "Unknown alert" msgstr "" #. Translators: This is the name of a system alert (max 63 bytes long). #: ../egauge/cfg.c:80 msgid "Proxy-connection established" msgstr "" #. Translators: This is the name of a system alert (max 63 bytes long). #: ../egauge/cfg.c:82 msgid "Proxy-connection lost" msgstr "" #. Translators: This is the name of a system alert (max 63 bytes long). #: ../egauge/cfg.c:84 msgid "Device-configuration changed" msgstr "" #. Translators: This is the name of a system alert (max 63 bytes long). #: ../egauge/cfg.c:86 msgid "Date and/or Time changed" msgstr "" #. Translators: This is the name of a system alert (max 63 bytes long). #: ../egauge/cfg.c:88 msgid "Device running hot" msgstr "" #. Translators: This is the name of a system alert (max 63 bytes long). #: ../egauge/cfg.c:90 msgid "Device temperature OK" msgstr "" #. Translators: This is the name of a system alert (max 63 bytes long). #: ../egauge/cfg.c:92 msgid "Remote-device connected" msgstr "" #. Translators: This is the name of a system alert (max 63 bytes long). #: ../egauge/cfg.c:94 msgid "Remote-device lost" msgstr "" #. Translators: This is the name of a system alert (max 63 bytes long). #: ../egauge/cfg.c:96 msgid "Failed to push data" msgstr "" #. Translators: This is the name of a system alert (max 63 bytes long). #: ../egauge/cfg.c:98 msgid "Device up and running" msgstr "" #. Translators: This is the name of a system alert (max 63 bytes long). #: ../egauge/cfg.c:100 msgid "Device rebooted by firmware" msgstr "" #. Translators: This is the name of a system alert (max 63 bytes long). #: ../egauge/cfg.c:102 msgid "Network interface changed" msgstr "" #. Translators: This is the name of a system alert (max 63 bytes long). #: ../egauge/cfg.c:104 msgid "Database error" msgstr "" #. Translators: This is the name of a system alert (max 63 bytes long). #: ../egauge/cfg.c:106 msgid "Web server down" msgstr "" #. Translators: This is the name of a system alert (max 63 bytes long). #: ../egauge/cfg.c:108 msgid "Web server up" msgstr "" #. Translators: This is the name of a system alert (max 63 bytes long). #: ../egauge/cfg.c:110 msgid "Remote device fault" msgstr "" #: ../egauge/cfg.c:113 msgid "Remote device fault cleared" msgstr "" #: ../egauge/cfg.c:116 msgid "Failed to connect to server" msgstr "" #: ../egauge/cfg.c:119 msgid "Error during script execution" msgstr "" #. Translators: This is the name of a system alert (max 63 bytes long). #: ../egauge/cfg.c:121 msgid "Network error" msgstr "" #. Translators: The first %s is a network interface (e.g., #. "eth0" or "wlan0") and the second is an indication which #. direction of the interface isn't working (RX for receive #. and TX for transmit). #: ../egauge/miid.c:306 #, c-format msgid "Reloading %s (%s)" msgstr "" #: ../egauge/miid.c:342 msgid "device missing" msgstr "" #. Translators: network device did not receive (RX) or #. transmit (TX) any packets. #: ../egauge/miid.c:362 msgid "no RX or TX" msgstr "" #. Translators: network device did not receive (RX) any packets. #: ../egauge/miid.c:364 msgid "no RX" msgstr "" #. Translators: network device did not transmit (TX) any packets. #: ../egauge/miid.c:367 msgid "no TX" msgstr "" #. Translators: %s is a network interface name #. (e.g., "eth0" or "wlan0"). #: ../egauge/miid.c:435 #, c-format msgid "Resetting %s (ESD event?)" msgstr "" #: ../egauge/miid.c:461 #, c-format msgid "Reloading %s (no %s)" msgstr "" #: ../egauge/maild.c:113 msgid "years" msgstr "" #. Translators: This message is included in email or SMS alerts #. after the name of the alert that is being reported. %d is the #. priority of the alert (a number), %u %s gives how long ago the #. alert was posted (for example "1 hour" or "5 minutes), and %s #. gets replaced by the alarm detail (e.g., "connection to device #. proto1" lost). #: ../egauge/maild.c:151 #, c-format msgid "(prio %d, %u %s ago)" msgstr "" #. Translators: %s is the name of the device (e.g., "eGauge10345"). #: ../egauge/maild.c:218 #, c-format msgid "Alert from device %s" msgstr "" #: ../egauge/maild.c:362 #, c-format msgid "Alert provider `%s' disabled our alert reporting. Check with provider." msgstr "" #. Translators: this is used as the "From" name in alert emails #: ../egauge/maild.c:584 ../egauge/maild.c:589 msgid "eGauge Alert" msgstr "" #. Translators: %s is the URI to the device's alert page. #: ../egauge/maild.c:620 #, c-format msgid "Acknowledge alerts at %s" msgstr "" #: ../egauge/team-validator.c:51 #, c-format msgid "Member `%s' has undefined link-type." msgstr "" #: ../egauge/team-validator.c:67 #, c-format msgid "Register name `%s' used multiple times." msgstr "" #. Translators: First %s is a device type #. name (e.g., "local" or "tcp"), second %s #. is a device address. #: ../egauge/team-validator.c:86 #, c-format msgid "%s address `%s' used multiple times." msgstr "" #: ../egauge/team-validator.c:98 #, c-format msgid "Register `%s' of remote device `%s' referenced multiple times." msgstr "" #: ../egauge/team-validator.c:145 #, c-format msgid "Register name `%s' may not end in `%c' (not a power register)." msgstr "" #: ../egauge/team-validator.c:153 ../egauge/team-validator.c:172 #, c-format msgid "Register name `%s' may not end in `%c' (eScript register)." msgstr "" #: ../egauge/team-validator.c:164 #, c-format msgid "Register name `%s' may not end in `*' (not an apparent-power register)." msgstr "" #: ../egauge/team-validator.c:183 #, c-format msgid "Register name `%s' must end in `*' (apparent-power register)." msgstr "" #: ../egauge/alertd.c:219 #, c-format msgid "Time out at alert pattern `%s' (%s)." msgstr "" #: ../egauge/alertd.c:223 #, c-format msgid "Alert pattern `%s' (%s) error: %s." msgstr "" #. Translators: This message explains why an alert got triggered. #. %l is the value of the left-hand-side of the trigger pattern, #. %r is the value of the right-hand-side of the trigger pattern, #. %o is the operator used to compare the two (=, <=, etc.). #. %L is the formula for calculating the left-hand-side value, #. %R is the formula for calculating the right-hand-side value. #: ../egauge/alertd.c:283 msgid "Triggered because %l %o %r (%L %o %R)." msgstr "" #: ../egauge/alertd.c:375 ../teamd/teamd.c:976 ../teamd/teamd.c:989 #, c-format msgid "Loading: %s" msgstr "" #: ../egauge/alertd.c:388 ../teamd/teamd.c:1000 #, c-format msgid "Time out loading %s." msgstr "" #: ../egauge/alertd.c:574 ../teamd/teamd.c:1585 #, c-format msgid "chdir(%s) failed: %s" msgstr "" #: ../egauge/expr-lua.c:555 ../egauge/expr-lua.c:628 msgid "Name too long." msgstr "" #: ../egauge/expr-lua.c:563 ../egauge/expr-lua.c:589 ../egauge/expr-lua.c:635 msgid "Filename too long." msgstr "" #: ../egauge/expr-lua.c:642 msgid "Failed to create variable file." msgstr "" #: ../egauge/expr-lua.c:651 msgid "Failed to write entire value to file." msgstr "" #: ../egauge/ctrld-lua.c:734 ../webapi/api-ctrl.c:374 msgid "Extraneous arguments." msgstr "" #: ../egauge/ctrld-lua.c:741 ../webapi/api-ctrl.c:380 #, c-format msgid "Invalid value for argument number %d." msgstr "" #: ../egauge/ctrld-lua.c:750 ../webapi/api-ctrl.c:389 msgid "Method expects additional arguments." msgstr "" #: ../egauge/ctrld-lua.c:756 ../webapi/api-ctrl.c:395 msgid "Method expects no arguments." msgstr "" #: ../egauge/ctrld-lua.c:801 msgid "Attributes must be a table." msgstr "" #: ../egauge/ctrld-lua.c:942 ../webapi/api-ctrl.c:817 #, c-format msgid "Device error: %s" msgstr "" #: ../egauge/ctrld-lua.c:950 ../webapi/api-ctrl.c:824 msgid "Device not found." msgstr "" #: ../egauge/ctrld-lua.c:960 ../webapi/api-ctrl.c:835 #, c-format msgid "Submit error: %s" msgstr "" #: ../egauge/ctrld-lua.c:1019 ../egauge/ctrld-lua.c:1098 msgid "Invalid TID." msgstr "" #: ../egauge/ctrld-lua.c:1034 ../webapi/api-ctrl.c:886 msgid "Result() did not return a result." msgstr "" #: ../egauge/ctrl-error.c:30 msgid "Unspecified error." msgstr "" #: ../egauge/ctrl-error.c:31 msgid "Invalid argument(s)." msgstr "" #: ../egauge/ctrl-error.c:32 msgid "Invalid device path." msgstr "" #: ../egauge/ctrl-error.c:33 msgid "Attributes do not match device." msgstr "" #: ../egauge/ctrl-error.c:34 msgid "Method could not be found." msgstr "" #: ../egauge/ctrl-error.c:35 msgid "Transaction ID not found." msgstr "" #: ../egauge/ctrl-error.c:36 msgid "Device is busy." msgstr "" #: ../egauge/ctrl-error.c:37 msgid "Call is pending." msgstr "" #: ../egauge/ctrl-error.c:38 msgid "Unknown error." msgstr "" #: ../egauge/expr.c:186 msgid "expected floating-point number" msgstr "" #: ../egauge/expr.c:202 msgid "unknown register-name" msgstr "" #: ../egauge/expr.c:231 msgid "function-name expected" msgstr "" #: ../egauge/expr.c:252 msgid "comma (',') or closing parenthesis (')') expected" msgstr "" #: ../egauge/expr.c:262 msgid "comma (',') expected" msgstr "" #: ../egauge/expr.c:278 msgid "closing parenthesis (')') expected" msgstr "" #: ../egauge/expr.c:286 msgid "" "number, function-call, variable-name, or parenthesized expression expected" msgstr "" #: ../egauge/expr.c:469 msgid "`:' expected" msgstr "" #: ../egauge/expr.c:519 msgid "end of formula expected" msgstr "" #: ../egauge/expr.c:646 msgid "incorrect argument type" msgstr "" #: ../egauge/expr.c:654 msgid "unexpected string argument" msgstr "" #: ../egauge/expr.c:685 msgid "incorrect argument count" msgstr "" #: ../egauge/expr.c:945 msgid "Script execution interrupted." msgstr "" #: ../egauge/ctrl-client.c:584 #, c-format msgid "Failed to list methods: %s" msgstr "" #: ../egauge/ctrl-client.c:597 msgid "ListMethods() failed to return result." msgstr "" #: ../egauge/ctrl-client.c:860 #, c-format msgid "Failed to list devices (%s)" msgstr "" #: ../egauge/ctrl-client.c:873 msgid "ListDevices() failed to return result." msgstr "" #: ../egauge/ctrl-client.c:1084 msgid "Interface name must not be empty." msgstr "" #: ../egauge/ctrl-client.c:1097 msgid "Method name must not be empty." msgstr "" #: ../egauge/ctrl-client.c:1115 #, c-format msgid "Method `%s' not found." msgstr "" #: ../egauge/ctrl-client.c:1188 #, c-format msgid "Failed to submit call: %s" msgstr "" #: ../egauge/ctrl-client.c:1198 msgid "Submit failed to return result." msgstr "" #: ../egauge/ctrl-client.c:1231 ../egauge/ctrl-client.c:1273 msgid "Invalid bus number." msgstr "" #: ../egauge/ctrl-client.c:1293 msgid "Cancel failed to return result." msgstr "" #. Translators: small font size #: ../egauge/displayd-config.c:32 msgid "small" msgstr "" #. Translators: large font size #: ../egauge/displayd-config.c:35 msgid "large" msgstr "" #: ../egauge/statusd.c:432 #, c-format msgid "udhcpc for %s died" msgstr "" #. Translators: Message when network interface changes. First and #. second %s are the name of the Network interfaces from which/to which #. the device changed, respectively (e.g., "from eth0 to qca0"). #: ../egauge/statusd.c:606 #, c-format msgid "Switched from %s to %s." msgstr "" #. Translators: First argument is internal device #. temperature in degrees Celsius, second argument #. is temperature in degrees Fahrenheit. You can #. only print one or the other if you like. #: ../egauge/statusd.c:1081 #, c-format msgid "Internal temperature now %.1f C (%.1f F)." msgstr "" #: ../egauge/https-call.c:97 msgid "failed to create SSL context" msgstr "" #: ../egauge/https-call.c:161 msgid "Short SSL write" msgstr "" #: ../egauge/https-call.c:170 msgid "SSL write error" msgstr "" #: ../egauge/https-call.c:204 #, c-format msgid "SSL_ERROR_SYSCALL, ERR=%lu, ret=%d" msgstr "" #: ../egauge/https-call.c:214 #, c-format msgid "SSL read error: ERR=%lu, ret=%d" msgstr "" #: ../teamd/iface-modbus.c:441 msgid "" "Received frame with only error bytes. May need to install bias resistors on " "RS485 wires." msgstr "" #: ../teamd/iface-modbus.c:502 #, c-format msgid "Invalid Modbus packet received: %s" msgstr "" #: ../teamd/iface-modbus.c:515 msgid "Modbus RTU packet with valid CRC received." msgstr "" #: ../teamd/iface-modbus.c:722 msgid "Sent Modbus RTU request." msgstr "" #: ../teamd/iface-modbus.c:905 #, c-format msgid "Modbus call for addresses %d-%d timed out." msgstr "" #: ../teamd/iface-modbus.c:915 msgid "Modbus call timed out." msgstr "" #: ../teamd/iface-modbus.c:932 #, c-format msgid "Device timed out. Will try again in %u seconds." msgstr "" #: ../teamd/iface-modbus.c:973 #, c-format msgid "" "Serial parameters %u/%u%c%u do not match %u/%u%c%u of existing connection." msgstr "" #: ../teamd/iface-modbus.c:1119 #, c-format msgid "Modbus speed of %u baud too low. Must be at least 9600 baud." msgstr "" #: ../teamd/iface-modbus.c:1151 #, c-format msgid "Device address %lu in use for device type %s." msgstr "" #: ../teamd/slowd.c:325 #, c-format msgid "Address %s already in use by \"%s\"." msgstr "" #: ../teamd/slowd.c:328 #, c-format msgid "Address %s already in use." msgstr "" #: ../teamd/slowd.c:507 #, c-format msgid "Device %s opened (%u/%u%c%u)." msgstr "" #: ../teamd/slowd.c:647 #, c-format msgid "Resolving network address %s:%s." msgstr "" #. Translators: First %s is a hostname, second %s #. is a service name, third %s is an error message. #: ../teamd/slowd.c:669 #, c-format msgid "Failed to resolve network address %s:%s: %s." msgstr "" #: ../teamd/slowd.c:820 #, c-format msgid "Address `%s' not starting with scheme (e.g., `modbus://')." msgstr "" #: ../teamd/slowd.c:833 #, c-format msgid "Scheme `%s' unknown." msgstr "" #: ../teamd/slowd.c:1058 #, c-format msgid "Connecting to %s at %s." msgstr "" #: ../teamd/slowd.c:1060 #, c-format msgid "Connecting to device at %s." msgstr "" #: ../teamd/slowd.c:1070 msgid "" "Device connection already being traced by another process. Trace will be " "incomplete." msgstr "" #: ../teamd/link-slowd.c:179 #, c-format msgid "Received error %d instead of registers." msgstr "" #: ../teamd/link-slowd.c:467 #, c-format msgid "Connecting to %s." msgstr "" #: ../teamd/link.c:227 msgid "Link timed out." msgstr "" #: ../teamd/link.c:344 #, c-format msgid "Resolved host to %s." msgstr "" #: ../teamd/link.c:371 #, c-format msgid "Failed to resolve %s:%s" msgstr "" #: ../teamd/link.c:375 #, c-format msgid "Resolving host %s:%s" msgstr "" #: ../teamd/coap-glue.c:166 msgid "expected URI reference" msgstr "" #: ../teamd/coap-glue.c:301 ../teamd/coap-glue.c:378 msgid "expected a-z or A-Z" msgstr "" #: ../teamd/coap-glue.c:341 msgid "expected ' '" msgstr "" #: ../teamd/coap-glue.c:355 msgid "expected opening '\"'" msgstr "" #: ../teamd/coap-glue.c:362 msgid "expected closing '\"'" msgstr "" #: ../teamd/coap-glue.c:386 ../teamd/coap-glue.c:413 msgid "expected letter (a-z or A-Z) or '-'" msgstr "" #: ../teamd/coap-glue.c:405 msgid "expected a-z or A-Z or opening '\"'" msgstr "" #: ../teamd/coap-glue.c:431 msgid "expected a-z or A-Z or opening quote '\"'" msgstr "" #: ../teamd/coap-glue.c:441 msgid "expected RFC4288 reg-name-chars or '/'" msgstr "" #: ../teamd/coap-glue.c:465 msgid "expected RFC5987 MIME character-set character" msgstr "" #: ../teamd/coap-glue.c:468 msgid "expected opening tick (')" msgstr "" #: ../teamd/coap-glue.c:476 msgid "expected closing tick (')" msgstr "" #: ../teamd/coap-glue.c:502 msgid "expected number" msgstr "" #: ../teamd/coap-glue.c:536 msgid "expected ptoken" msgstr "" #: ../teamd/coap-glue.c:601 msgid "expected parameter name" msgstr "" #: ../teamd/coap-glue.c:614 msgid "expected '='" msgstr "" #: ../teamd/coap-glue.c:638 msgid "expected '<'" msgstr "" #: ../teamd/coap-glue.c:648 msgid "expected '>'" msgstr "" #: ../teamd/coap-glue.c:692 msgid "expected comma or end-of-string" msgstr "" #: ../teamd/member.c:47 #, c-format msgid "IP address not known yet" msgstr "" #. Translators: this message reports when a remote device has #. timed out (isn't reachable anymore. First %s is device name, #. second %s its hostname, third %s is its IP address, fourth %s #. is a separator (either a blank or a colon), and fifth is the #. port number. #: ../teamd/member.c:56 #, c-format msgid "Device %s at %s (%s%s%s)." msgstr "" #. Translators: this message reports when a remote device has #. timed out. %s is the name of the device. #: ../teamd/member.c:62 #, c-format msgid "Device %s." msgstr "" #: ../teamd/trace.c:72 #, c-format msgid "[Trace buffer filled. Drop count: %zu]" msgstr "" #: ../teamd/iface-scpi.c:364 #, c-format msgid "Detected `%.*s %.*s' serial-number %.*s." msgstr "" #: ../teamd/iface-scpi.c:466 #, c-format msgid "Sending command `%s'." msgstr "" #: ../teamd/iface-scpi.c:1022 ../teamd/iface-alphatechnics.c:631 msgid "Command timed out." msgstr "" #. Translators: %s is the name of a remote device. #: ../teamd/libmodbus.c:365 #, c-format msgid "%s fault cleared." msgstr "" #: ../teamd/libmodbus.c:376 #, c-format msgid " New state %s=%s." msgstr "" #. Translators: First %s is the name of a remote device, second %s is #. the name of a component (point) on that device. #: ../teamd/libmodbus.c:391 #, c-format msgid "%s %s in fault state." msgstr "" #: ../teamd/libmodbus.c:526 #, c-format msgid "Register name in Modbus spec list is longer than %zu characters." msgstr "" #: ../teamd/libmodbus.c:642 #, c-format msgid "Syntax error in column %zu of Modbus spec-list `%s'." msgstr "" #: ../teamd/libmodbus.c:689 msgid "Device-type must not be an empty string." msgstr "" #: ../teamd/libmodbus.c:694 #, c-format msgid "Invalid character `%c' in device-type." msgstr "" #: ../teamd/libmodbus.c:715 #, c-format msgid "Using user map %s." msgstr "" #: ../teamd/libmodbus.c:717 #, c-format msgid "Using system map %s." msgstr "" #: ../teamd/libmodbus.c:737 ../teamd/modbus-map.c:275 ../teamd/modbus-map.c:284 #: ../teamd/modbus-map.c:378 ../teamd/modbus-map.c:714 #, c-format msgid "Out of memory while reading Modbus map for device-type `%s'." msgstr "" #: ../teamd/libmodbus.c:870 msgid "Received empty Modbus frame." msgstr "" #: ../teamd/libmodbus.c:878 ../teamd/modbus-sunspec.c:1326 #, c-format msgid "Received short Modbus frame: %s." msgstr "" #: ../teamd/libmodbus.c:895 ../teamd/modbus-sunspec.c:1335 #, c-format msgid "Received Modbus exception %s for address %d." msgstr "" #: ../teamd/libmodbus.c:899 #, c-format msgid "Received Modbus exception %s (0x%x)." msgstr "" #: ../teamd/libmodbus.c:907 ../teamd/modbus-sunspec.c:1354 #, c-format msgid "Received incorrect Modbus function code %u (expected %u)." msgstr "" #: ../teamd/libmodbus.c:926 #, c-format msgid "Received only %u Modbus data bytes (expected %u bytes)." msgstr "" #: ../teamd/libmodbus.c:955 #, c-format msgid "Received `not implemented' for %s." msgstr "" #: ../teamd/libmodbus.c:1033 #, c-format msgid "Received %.6g for %s" msgstr "" #: ../teamd/test-remote.c:371 msgid "epoll_create() failed." msgstr "" #: ../teamd/test-remote.c:452 msgid "Invalid file descriptor." msgstr "" #: ../teamd/teamd.c:1196 #, c-format msgid "Time out at register `%s'." msgstr "" #: ../teamd/serial.c:68 #, c-format msgid "Baudrate invalid: %s." msgstr "" #: ../teamd/serial.c:87 #, c-format msgid "Expected `/' after baudrate, not `%c'." msgstr "" #: ../teamd/serial.c:97 #, c-format msgid "" "Expected three characters indicating size, parity, and stop-bits (e.g., " "`8n1'), not `%s'." msgstr "" #: ../teamd/serial.c:111 #, c-format msgid "Byte-size must be in range 5-8, not %u." msgstr "" #: ../teamd/serial.c:122 #, c-format msgid "Parity must be one of `n', `e', or `o', not %c." msgstr "" #: ../teamd/serial.c:131 #, c-format msgid "Stop-bit count must be in range 1-2, not %u." msgstr "" #: ../teamd/serial.c:302 #, c-format msgid "Failed to open %s: %s" msgstr "" #: ../teamd/serial.c:313 #, c-format msgid "Serial port %s is already in use: %s" msgstr "" #: ../teamd/serial.c:350 #, c-format msgid "Baudrate %u invalid, using 19200." msgstr "" #: ../teamd/link-modbus.c:517 msgid "Sent Modbus TCP request." msgstr "" #: ../teamd/ctrl-scpi.c:189 msgid "" "Send the SCPI command string cmd. The return value is a SCPI " "reply string." msgstr "" #: ../teamd/modbus-sunspec.c:1177 #, c-format msgid "No reply received for Modbus address %u." msgstr "" #: ../teamd/modbus-sunspec.c:1252 #, c-format msgid "Detected SunSpec device %s, %s, %s%s" msgstr "" #: ../teamd/modbus-sunspec.c:1368 #, c-format msgid "SunSpec Modbus received only %zu bytes (expected %u bytes)." msgstr "" #: ../teamd/modbus-sunspec.c:1380 ../teamd/modbus-sunspec.c:1412 #, c-format msgid "SunSpec Modbus read expected %u instead of %u bytes." msgstr "" #: ../teamd/modbus-sunspec.c:1421 #, c-format msgid "SunSpec signature found at Modbus address %u." msgstr "" #: ../teamd/modbus-sunspec.c:1444 #, c-format msgid "No SunSpec marker at address %u (found 0x%08x instead of 0x%08x)." msgstr "" #: ../teamd/modbus-map.c:227 #, c-format msgid "Register type `%s' unknown." msgstr "" #: ../teamd/modbus-map.c:250 #, c-format msgid "Register kind `%s' unknown." msgstr "" #: ../teamd/modbus-map.c:364 #, c-format msgid "Missing register name while reading Modbus map for device-type `%s'." msgstr "" #: ../teamd/modbus-map.c:499 #, c-format msgid "Failed to create Modbus map `%s' - out of memory." msgstr "" #: ../teamd/modbus-map.c:503 #, c-format msgid "Modbus map for device-type `%s' cannot be opened." msgstr "" #: ../teamd/modbus-map.c:827 #, c-format msgid "Modbus option name `%s' invalid." msgstr "" #: ../teamd/modbus-map.c:832 #, c-format msgid "Modbus option `%s' has invalid value `%s'." msgstr "" #: ../teamd/modbus-map.c:838 msgid "Modbus option write failed." msgstr "" #: ../teamd/modbus-map.c:848 msgid "Modbus register name missing." msgstr "" #: ../teamd/modbus-map.c:853 msgid "Modbus register name must not be empty." msgstr "" #: ../teamd/modbus-map.c:858 #, c-format msgid "Modbus register name `%s' invalid." msgstr "" #: ../teamd/modbus-map.c:863 #, c-format msgid "Modbus register name `%s' too long (>%zu bytes)." msgstr "" #: ../teamd/modbus-map.c:870 #, c-format msgid "Modbus physical unit `%s' too long (>%zu bytes)." msgstr "" #: ../teamd/modbus-map.c:876 #, c-format msgid "Modbus register `%s' address %u out of range [0..65535]." msgstr "" #: ../teamd/modbus-map.c:886 #, c-format msgid "Register type %d unknown." msgstr "" #: ../teamd/modbus-map.c:896 #, c-format msgid "Register kind %d unknown." msgstr "" #: ../teamd/modbus-map.c:908 msgid "Modbus header write failed." msgstr "" #. Translators: Documentation for function ravg(). #: ../teamd/teamd-fun.c:146 msgid "" "Calculates the running average of register reg over the most " "recent n minute interval. This value changes only once a minute, " "namely at the start of a new minute. n must be in the range from " "1 to 127." msgstr "" #. Translators: Documentation for function savg(). #: ../teamd/teamd-fun.c:156 msgid "" "Calculates the set average of register reg over the previous " "n minute interval. This value changes only once every n minutes, namely at the start of a new n minute interval. " "n must be in the range from 1 to 63." msgstr "" #. Translators: Documentation for function cumul(). #: ../teamd/teamd-fun.c:167 msgid "Returns the current cumulative value of register named reg." msgstr "" #. Translators: Documentation for function battery_sim(). #: ../teamd/teamd-fun.c:178 msgid "" "Simulates a battery that can store up to capacity Ws of energy, " "can be charged with up to maxcharge W, and discharged with up to " "maxdischarge W. charge is the current charge of the " "battery in Ws. p is the amount of power desired from the battery " "(if positive) or the amount of power that is available to charge the battery " "(if negative). The function returns the power the battery can supply " "(positive) or the power the battery can absorb for charging (negative)." msgstr "" #. Translators: Documentation for constant __update_interval. #: ../teamd/teamd-fun.c:193 msgid "The time interval between register updates (in seconds)." msgstr "" #: ../teamd/ctrl-modbus.c:274 msgid "" "Read count number of coils starting with the coil at address " "addr. The return value is a Modbus reply packet which may contain " "an exception status or the requested coil values." msgstr "" #: ../teamd/ctrl-modbus.c:288 msgid "" "Read count number of discrete inputs starting with the one at " "address addr. The return value is a Modbus reply packet which may " "contain an exception status or the requested discrete input values." msgstr "" #: ../teamd/ctrl-modbus.c:300 msgid "" "Read count number of holding registers starting with the one at " "address addr. The return value is a Modbus reply packet which may " "contain an exception status or the requested holding register values." msgstr "" #: ../teamd/ctrl-modbus.c:314 msgid "" "Read count number of read-only registers starting with the one at " "address addr. The return value is a Modbus reply packet which may " "contain an exception status or the requested read-only register values." msgstr "" #: ../teamd/ctrl-modbus.c:327 msgid "" "Write the coil at address addr with value val. The " "return value is a Modbus reply packet which may contain an exception status." msgstr "" #: ../teamd/ctrl-modbus.c:340 msgid "" "Write the holding register at address addr with value val. The return value is a Modbus reply packet which may contain an " "exception status." msgstr "" #: ../teamd/ctrl-modbus.c:354 msgid "" "Write coils starting at address addr with the values specified " "in array vals. The return value is a Modbus reply packet which " "may contain an exception status." msgstr "" #: ../teamd/ctrl-modbus.c:368 msgid "" "Write holding registers starting at address addr with the values " "specified in array vals. The return value is a Modbus reply " "packet which may contain an exception status." msgstr "" #: ../teamd/iface-alphatechnics.c:245 #, c-format msgid "Received invalid tPod beacon `%s'." msgstr "" #: ../teamd/iface-alphatechnics.c:252 #, c-format msgid "Detected tPod with %d channel(s)." msgstr "" #: ../teamd/iface-alphatechnics.c:327 #, c-format msgid "Failed to read temperatures from line `%s'." msgstr "" #. Translators: %.2f is a temperature value and "temp%d" is the #. name of the temperature probe. Neither should be #. translated.. #: ../teamd/iface-alphatechnics.c:337 #, c-format msgid "Received %.2f for temp%d." msgstr "" #: ../teamd/iface-alphatechnics.c:346 #, c-format msgid "Invalid characters at end of line `%s'." msgstr "" #: ../teamd/ctrl-if-prm3.c:632 msgid "Return the number of relays implemented by this device." msgstr "" #: ../teamd/ctrl-if-prm3.c:642 msgid "Return the labels identifying each relay." msgstr "" #: ../teamd/ctrl-if-prm3.c:650 msgid "" "Return the state of the relay with index n. The return value is " "true if the relay is closed, false otherwise." msgstr "" #: ../teamd/ctrl-if-prm3.c:663 msgid "Close the relay with index n." msgstr "" #: ../teamd/ctrl-if-prm3.c:672 msgid "Open the relay with index n." msgstr "" #: ../teamd/ctrl-if-prm3.c:681 msgid "" "Return the state of all relays as a 32-bit mask. In this mask, a bit n is 1 " "if the relay with index n is closed or 0 if it is open." msgstr "" #: ../teamd/ctrl-if-prm3.c:692 msgid "" "Set the relays as specified by 32-bit mask m. For each bit n " "that is 1 in the mask, the relay with index n will be closed and all others " "will be opened." msgstr "" #: ../teamd/ctrl-if-prm3.c:703 msgid "" "Close the relays as specified by 32-bit mask m. For each bit n " "that is 1 in the mask, the relay with index n will be closed." msgstr "" #: ../teamd/ctrl-if-prm3.c:714 msgid "" "Open the relays as specified by 32-bit mask m. For each bit n " "that is 1 in the mask, the relay with index n will be opened." msgstr "" #: ../pushd/pushd.c:310 msgid "disabling push due to status code 401/403" msgstr "" #: ../pushd/pushd.c:321 msgid "disabling push due to status code 418" msgstr "" #: ../pushd/pushd.c:332 msgid "push failed" msgstr "" #: ../display/info.c:193 ../display/registers.c:75 ../display/storage.c:428 msgid "" msgstr "" #. Translators: http://man7.org/linux/man-pages/man3/strftime.3.html #: ../display/info.c:199 msgid "%m/%d/%y" msgstr "" #. Translators: http://man7.org/linux/man-pages/man3/strftime.3.html #: ../display/info.c:205 ../display/settings.c:886 msgid "%l:%M:%S%P" msgstr "" #: ../display/info.c:213 #, c-format msgid "" "%.1f°C\n" "%.1f°F" msgstr "" #: ../display/info.c:227 #, c-format msgid "%.1f%%" msgstr "" #: ../display/info.c:325 msgid "IP Address" msgstr "" #: ../display/info.c:326 msgid "MAC" msgstr "" #: ../display/info.c:329 msgid "Date" msgstr "" #: ../display/info.c:330 msgid "Board Temp" msgstr "" #: ../display/info.c:332 msgid "Board Humidity" msgstr "" #: ../display/info.c:337 msgid "Kernel" msgstr "" #: ../display/registers.c:348 msgid "Batt." msgstr "" #: ../display/registers.c:350 msgid "Batt. left" msgstr "" #. Translators: Title for LCD page showing the Hostname and IP address. #: ../display/registers.c:474 msgid "Name & IP" msgstr "" #. Translators: Displays page number and total number of pages in as #. compact a fashion as possible. First argument is the page #. number, second argument is the total number of pages in the #. document being displayed. #: ../display/statusbar.c:292 #, c-format msgid "%u/%u" msgstr "" #. Translators: (LCD message) #: ../display/wireless.c:302 ../display/homeplug.c:221 msgid "Action canceled" msgstr "" #. Translators: %s is the name (SSID) of a Wi-Fi/WLAN network. #. (LCD message) #. Translators: %s is the name of a Wi-Fi network #. (SSID). (LCD message) #: ../display/wireless.c:350 ../display/wireless.c:515 #: ../display/wireless.c:842 #, c-format msgid "" "Connected to\n" "%s" msgstr "" #. Translators: (LCD message) #: ../display/wireless.c:358 msgctxt "WLAN state" msgid "disconnected" msgstr "" #. Translators: (LCD message) #: ../display/wireless.c:361 msgctxt "WLAN state" msgid "inactive" msgstr "" #. Translators: (LCD message) #: ../display/wireless.c:364 msgctxt "WLAN state" msgid "disabled" msgstr "" #. Translators: (LCD message) #: ../display/wireless.c:367 msgctxt "WLAN state" msgid "scanning" msgstr "" #. Translators: (LCD message) #: ../display/wireless.c:370 msgctxt "WLAN state" msgid "authenticating" msgstr "" #. Translators: (LCD message) #: ../display/wireless.c:373 msgctxt "WLAN state" msgid "associating" msgstr "" #. Translators: (LCD message) #: ../display/wireless.c:376 msgctxt "WLAN state" msgid "associated" msgstr "" #. Translators: (LCD message) #: ../display/wireless.c:379 ../display/wireless.c:382 msgctxt "WLAN state" msgid "connecting" msgstr "" #. Translators: (LCD message) #: ../display/wireless.c:385 msgctxt "WLAN state" msgid "completed" msgstr "" #. Translators: (LCD message) #: ../display/wireless.c:388 msgctxt "WLAN state" msgid "unknown" msgstr "" #. Translators: %s is a Wi-Fi (WLAN) status, e.g., "connected". #. (LCD message) #. Translators: %s is the HomePlug status (e.g., operation timed out). #: ../display/wireless.c:393 ../display/wireless.c:963 #: ../display/homeplug.c:295 ../display/homeplug.c:381 #: ../display/homeplug.c:393 ../display/homeplug.c:418 #, c-format msgid "Status: %s" msgstr "" #. Translators: Message displayed when a user attempts #. to join a WLAN network when the device is #. already connected to one. (LCD message) #: ../display/wireless.c:457 msgid "" "Disconnect\n" "first" msgstr "" #: ../display/wireless.c:518 ../display/wireless.c:605 #, c-format msgid "Success" msgstr "" #: ../display/wireless.c:533 msgid "Join canceled" msgstr "" #: ../display/wireless.c:573 msgid "" "Already\n" "disconnected" msgstr "" #: ../display/wireless.c:593 ../display/wireless.c:605 msgid "Failed" msgstr "" #: ../display/wireless.c:643 msgid "" "Setup via AP\n" "canceled." msgstr "" #: ../display/wireless.c:691 #, c-format msgid "" "Disconnect from\n" "%s?" msgstr "" #: ../display/wireless.c:695 #, c-format msgid "" "Wi-Fi is connected.\n" "Disconnect?" msgstr "" #: ../display/wireless.c:735 #, c-format msgid "SSID %s" msgstr "" #: ../display/wireless.c:743 #, c-format msgid "" "fork() failed:\n" "%s" msgstr "" #: ../display/wireless.c:777 #, c-format msgid "" "Failed to start\n" "AP: status=%d" msgstr "" #: ../display/wireless.c:788 #, c-format msgid "" "Failed to start\n" "AP: sig=%d" msgstr "" #: ../display/wireless.c:857 #, c-format msgid "Connecting" msgstr "" #. Translators: count down showing how many seconds are left #. until Wi-Fi/WLAN connection attempt times out. %u is #. a second count. (LCD message) #. Translators: %u gives the number of seconds left before the #. operation times out. (LCD message) #: ../display/wireless.c:955 ../display/homeplug.c:284 #, c-format msgid "[%us left]" msgstr "" #. Translators: (LCD message) #: ../display/wireless.c:965 ../display/homeplug.c:295 msgid "timed out" msgstr "" #. Translators: (LCD message) #: ../display/wireless.c:1055 msgid "No Wi-Fi device" msgstr "" #. Translators: (LCD message) #: ../display/wireless.c:1069 ../display/homeplug.c:493 msgid "Joining" msgstr "" #. Translators: (LCD message) #: ../display/wireless.c:1075 ../display/homeplug.c:498 msgid "Leaving" msgstr "" #. Translators: (LCD message) #: ../display/wireless.c:1081 msgid "Checking Wi-Fi" msgstr "" #. Translators: (LCD message) #: ../display/wireless.c:1088 ../display/homeplug.c:508 msgid "Unknown action" msgstr "" #: ../display/wireless.c:1126 msgid "Setup via AP" msgstr "" #: ../display/wireless.c:1127 msgid "WPS Setup" msgstr "" #: ../display/wireless.c:1128 msgid "Disconnect" msgstr "" #. Translators: Name of main-menu entry for WiFi/WLAN sub-menu #: ../display/main_menu.c:45 msgid "Wireless" msgstr "" #: ../display/main_menu.c:112 msgid "Main Menu" msgstr "" #: ../display/main_menu.c:134 msgid "Info" msgstr "" #. Translators: (LCD message) #: ../display/storage.c:153 msgid "Reboot after firmware-update" msgstr "" #. Translators: This is the tital used by the USB-storage operations #. menu. #: ../display/storage.c:224 msgid "Storage Menu" msgstr "" #. Translators: (LCD menu entry) #: ../display/storage.c:243 msgid "Create backup" msgstr "" #. Translators: Update firmware (LCD menu entry) #: ../display/storage.c:245 msgid "Update FW" msgstr "" #. Translators: Update kernel (LCD menu entry) #: ../display/storage.c:247 msgid "Update kernel" msgstr "" #. Translators: Safely eject USB-storage medium and exit USB-storage #. menu (LCD menu entry). #: ../display/storage.c:250 msgid "Exit & Eject" msgstr "" #. Translators: %s is the name the command that's failed (e.g., #. "backup"). #. Translators: %s is the name of the command that failed (e.g., "backup"). #. (LCD message) #: ../display/storage.c:310 ../display/storage.c:511 #, c-format msgid "" "%s\n" "failed" msgstr "" #. Translators: %s is the name the command being stopped (e.g., "backup"). #: ../display/storage.c:329 #, c-format msgid "" "Stopping\n" "%s..." msgstr "" #. Translators: Progress report for file save operation. #. %1f is the amount of data that has been saved (e.g., #. 123.4) and %s is the data-size unit (KiB or MiB). #: ../display/storage.c:375 #, c-format msgid "" "%s size\n" "%.1f %s" msgstr "" #. Translators: (LCD message) #: ../display/storage.c:423 msgid "" "expand_filename\n" "out of memory" msgstr "" #. Translators: %s is the name the command that was started (e.g., #. "backup"). (LCD message) #: ../display/storage.c:504 #, c-format msgid "" "%s\n" "started" msgstr "" #. Translators: Requested data-export granularity "%s" is #. invalid. (LCD message) #: ../display/storage.c:635 #, c-format msgid "" "Invalid export\n" "gran. `%s'" msgstr "" #. Translators: Requested data-export period "%s" is #. invalid. (LCD message) #: ../display/storage.c:671 #, c-format msgid "" "Invalid export\n" "period `%s'" msgstr "" #. Translators: (LCD message) #: ../display/storage.c:698 msgid "" "unmounting USB\n" "storage..." msgstr "" #. Translators: Invalid command flag "%s" has been #. specified. (LCD message) #: ../display/storage.c:758 #, c-format msgid "" "Invalid flag\n" "%s" msgstr "" #. Translators: (LCD message) #: ../display/storage.c:769 msgid "" "Failed to start\n" "firmware update" msgstr "" #. Translators: (LCD message) #: ../display/storage.c:775 msgid "Updating kernel" msgstr "" #. Translators: (LCD message) #: ../display/storage.c:777 msgid "Updating FW" msgstr "" #. Translators: %s is the name the command that's finished #. (e.g., "backup"). (LCD message) #: ../display/storage.c:855 #, c-format msgid "" "%s\n" "finished" msgstr "" #. Translators: Command "%s" at line %d in script file is #. unknown. (LCD message) #: ../display/storage.c:924 #, c-format msgid "" "Unknown command `%s'\n" "line %d" msgstr "" #. Translators: Command in line %d of a script is missing #. arguments. (LCD message) #: ../display/storage.c:933 #, c-format msgid "" "Missing args\n" "line %d" msgstr "" #. Translators: Command in line %d of a script has too many #. arguments. (LCD message) #: ../display/storage.c:940 #, c-format msgid "" "Too many args\n" "line %d" msgstr "" #. Translators: %s is the name of a file on USB storage that is #. about to be run/executed. (LCD message) #: ../display/storage.c:1024 #, c-format msgid "" "executing\n" "%s..." msgstr "" #. Translators: Script command "%s" has finished execution. (LCD #. message) #: ../display/storage.c:1043 #, c-format msgid "" "finished\n" "%s" msgstr "" #. Translators: (LCD message). #: ../display/storage.c:1091 msgid "" "mounting USB\n" "storage..." msgstr "" #. Translators: (LCD message). #: ../display/storage.c:1100 msgid "Mount failed!" msgstr "" #. Translators: Checking signature. (LCD message) #: ../display/fw_update.c:44 msgid "Checking signature" msgstr "" #. Translators: Firmware is being downloaded. (LCD message) #: ../display/fw_update.c:46 msgid "Downloading FW" msgstr "" #. Translators: Downloading kernel file. (LCD message) #: ../display/fw_update.c:48 msgid "Downloading kernel" msgstr "" #. Translators: ${0} is the name of the skin being downloaded. (LCD message) #: ../display/fw_update.c:50 msgid "" "Downloading\n" "skin ${0}" msgstr "" #. Translators: Extracting files. (LCD message) #: ../display/fw_update.c:52 msgid "Extracting files" msgstr "" #. Translators: ${0} is the partition number being written. (LCD message) #: ../display/fw_update.c:56 msgid "" "Flashing\n" "part. ${0}" msgstr "" #. Translators: ${0} is the version about to be installed. (LCD message) #: ../display/fw_update.c:58 msgid "" "Installing\n" "${0}" msgstr "" #. Translators: Firmware download failed (LCD message) #: ../display/fw_update.c:65 msgid "Download failed" msgstr "" #. Translators: Firmware extraction failed (LCD message) #: ../display/fw_update.c:67 msgid "Extraction failed" msgstr "" #. Translators: ${0} is the partition which failed to flash. (LCD message) #: ../display/fw_update.c:69 msgid "" "Flash part. ${0}\n" "failed" msgstr "" #. Translators: Image incompatible (LCD message). #: ../display/fw_update.c:71 msgid "Incompatible image" msgstr "" #. Translators: Firmware installation failed (LCD message). #: ../display/fw_update.c:73 msgid "" "Installation\n" "failed" msgstr "" #. Translators: Image file is invalid. (LCD message) #: ../display/fw_update.c:75 msgid "" "Invalid image\n" "file" msgstr "" #. Translators: ${0} is the name of the missing file. (LCD message) #: ../display/fw_update.c:77 msgid "" "File missing\n" "${0}" msgstr "" #. Translators: ${0} is the available version, ${1} the current #. installed version. (LCD message) #: ../display/fw_update.c:80 msgid "" "${0} not newer\n" "than ${1}" msgstr "" #. Translators: An unsupported op was requested. (LCD message) #: ../display/fw_update.c:82 msgid "" "Operation not\n" "supported" msgstr "" #. Translators: Firmware update is being canceled (LCD message) #: ../display/fw_update.c:124 msgid "" "Canceling FW\n" "update..." msgstr "" #: ../display/fw_update.c:140 msgid "" "Firmware update\n" "failed" msgstr "" #: ../display/fw_update.c:200 msgid "Update done." msgstr "" #: ../display/submenu.c:156 msgid "Exit" msgstr "" #. Translators: (LCD message) #: ../display/tools.c:93 msgid "Rebooting..." msgstr "" #: ../display/tools.c:113 msgid "Operator-initiated reboot" msgstr "" #. Translators: Should device be rebooted? (LCD message) #: ../display/tools.c:124 msgid "Reboot?" msgstr "" #. Translators: Should firmware by updated? (LCD message) #: ../display/tools.c:157 msgid "Update FW?" msgstr "" #: ../display/tools.c:236 ../display/tools.c:287 msgid "CTid® busy" msgstr "" #: ../display/tools.c:253 msgid "Blinking" msgstr "" #: ../display/tools.c:393 msgid "Port to blink" msgstr "" #. Translators: Factory-defaults are being restored. (LCD message) #: ../display/tools.c:443 msgid "Restoring Factory Defaults..." msgstr "" #. Translators: Should factory-defaults be restored? (LCD message) #: ../display/tools.c:463 msgid "Factory Reset?" msgstr "" #. Translators: Update device firmware (LCD menu entry) #: ../display/tools.c:475 msgid "FW Update" msgstr "" #. Translators: Restore factory-defaults (LCD menu entry) #: ../display/tools.c:477 msgid "Factory Reset" msgstr "" #: ../display/settings.c:85 msgid "Thailand/Bankok" msgstr "" #: ../display/settings.c:173 ../display/settings.c:1167 msgid "Brightness" msgstr "" #: ../display/settings.c:314 ../display/settings.c:1166 msgid "Contrast" msgstr "" #: ../display/settings.c:452 ../display/settings.c:1168 msgid "Duration" msgstr "" #: ../display/settings.c:469 msgid "Backlight off" msgstr "" #: ../display/settings.c:534 #, c-format msgid "never" msgstr "" #: ../display/settings.c:536 #, c-format msgid "always" msgstr "" #: ../display/settings.c:538 #, c-format msgid "after %u h" msgstr "" #: ../display/settings.c:540 #, c-format msgid "after %u m" msgstr "" #: ../display/settings.c:542 #, c-format msgid "after %u s" msgstr "" #: ../display/settings.c:613 ../display/settings.c:1169 msgid "Font" msgstr "" #: ../display/settings.c:750 ../display/settings.c:767 #: ../display/settings.c:1170 msgid "Orientation" msgstr "" #: ../display/settings.c:816 msgid "" "counter\n" "clock-wise" msgstr "" #: ../display/settings.c:817 msgid "upside-down" msgstr "" #: ../display/settings.c:818 msgid "clock-wise" msgstr "" #: ../display/settings.c:923 ../display/settings.c:1171 msgid "Timezone" msgstr "" #. Translators: HomePlug is a member #. of a network. #: ../display/homeplug.c:384 ../display/homeplug.c:415 msgid "member" msgstr "" #. Translators: HomePlug is a not #. member of a network. #: ../display/homeplug.c:396 ../display/homeplug.c:417 msgid "alone" msgstr "" #. Translators: Default HomePlug password has #. been established (LCD message). #: ../display/homeplug.c:410 #, c-format msgid "Default PW set" msgstr "" #: ../display/homeplug.c:503 msgid "Set default PW" msgstr "" #: ../display/homeplug.c:547 msgid "Join others" msgstr "" #: ../display/homeplug.c:548 msgid "Random PW" msgstr "" #: ../display/homeplug.c:549 msgid "Default PW" msgstr "" #. Translators: HTML error message displayed when a resource cannot be #. found on the proxy server. #: ../proxy/proxy-server.c:55 msgid "" "404 Not Found

Not Found

Resource was not found on this server.

" msgstr "" #. Translators: HTML error message displayed when a device cannot be #. found on the proxy server. ${NAME} is replaced by the device #. name (e.g., "eGauge12345") and ${DOMAIN} is replaced by #. the proxy server's domain name (e.g., "d.egauge.net"). #: ../proxy/proxy-server.c:66 msgid "" "404 Not Found

Not Found

Device ${NAME} was not found on this server.

" msgstr "" #: ../webapi/api-ctrl.c:119 msgid "Cannot pass empty array/object to a variant." msgstr "" #: ../webapi/api-ctrl.c:314 #, c-format msgid "Unknown or unexpected type-code %c." msgstr "" #: ../webapi/api-ctrl.c:353 #, c-format msgid "Method arguments must be a JSON list (not %d)." msgstr "" #: ../webapi/api-ctrl.c:361 #, c-format msgid "Method `%s' not found: %s" msgstr "" #: ../webapi/api-ctrl.c:625 msgid "Value for `attrs' is missing." msgstr "" #: ../webapi/api-ctrl.c:631 msgid "Value for `attrs' must be valid JSON." msgstr "" #: ../webapi/api-ctrl.c:636 msgid "Value for `attrs' must be a JSON object." msgstr "" #: ../webapi/api-ctrl.c:810 ../webapi/api-ctrl.c:1036 msgid "Error parsing device attributes." msgstr "" #: ../webapi/api-ctrl.c:879 #, c-format msgid "Failed to get result: %s" msgstr "" #: ../webapi/api-ctrl.c:901 msgid "Error converting Result() value to JSON." msgstr "" #: ../webapi/api-ctrl.c:904 msgid "Return value does not exist!" msgstr "" #: ../webapi/api-ctrl.c:939 #, c-format msgid "Failed to cancel call: %s" msgstr "" #: ../webapi/api-ctrl.c:1047 #, c-format msgid "Failed to output devices: %s" msgstr "" #: ../webapi/api-ctrl.c:1237 #, c-format msgid "Unexpected segment `%s'." msgstr "" #: ../webapi/api-ctrl.c:1279 #, c-format msgid "Bad argument index %s." msgstr "" #: ../webapi/api-ctrl.c:1314 #, c-format msgid "Bad method index %s." msgstr "" #: ../webapi/api-ctrl.c:1335 #, c-format msgid "Invalid interface name `%s'." msgstr "" #: ../webapi/api-cmd.c:129 ../webapi/api-cmd.c:227 #, c-format msgid "%s failed: %s" msgstr "" #: ../webapi/api-cmd.c:131 ../webapi/api-cmd.c:229 #, c-format msgid "%s failed with exit status: %d" msgstr "" #: ../webapi/api-cmd.c:134 ../webapi/api-cmd.c:232 #, c-format msgid "%s failed due to signal %d" msgstr "" #: ../webapi/api-cmd.c:137 ../webapi/api-cmd.c:235 #, c-format msgid "%s failed with return value %d" msgstr "" #. Translators: The title to use for the CSV column which #. reports the maximum demand rate for a reporting period. #. The first %s is a register name, the second the physical #. unit of the demand rate. #: ../webapi/api-register-csv.c:72 #, c-format msgid ",\"%s demand [%s]\"" msgstr "" #. Translators: The title to use for the CSV column which #. reports the date and time at which a register experienced #. peak demand. %s is a register name. #: ../webapi/api-register-csv.c:77 #, c-format msgid ",\"%s peak time\"" msgstr "" #: ../bt_server/pin-code-agent.c:90 #, c-format msgid "" "pin code\n" "%06u" msgstr "" #: ../egauge/factory-defaults.sh:57 msgid "Restored factory defaults" msgstr ""