From 052b5cddb87696a5699eae06961f67d17b9823bc Mon Sep 17 00:00:00 2001 From: Andrii Shvaika Date: Wed, 13 Aug 2025 14:50:52 +0300 Subject: [PATCH 1/3] Locale update --- .../assets/locale/locale.constant-da_DK.json | 613 +- .../assets/locale/locale.constant-de_DE.json | 501 +- .../assets/locale/locale.constant-el_GR.json | 860 +- .../assets/locale/locale.constant-es_ES.json | 1041 +- .../assets/locale/locale.constant-fr_FR.json | 557 +- .../assets/locale/locale.constant-tr_TR.json | 10367 +++++++++++++--- 6 files changed, 11035 insertions(+), 2904 deletions(-) diff --git a/ui-ngx/src/assets/locale/locale.constant-da_DK.json b/ui-ngx/src/assets/locale/locale.constant-da_DK.json index 8bff960467..a750e657a4 100644 --- a/ui-ngx/src/assets/locale/locale.constant-da_DK.json +++ b/ui-ngx/src/assets/locale/locale.constant-da_DK.json @@ -82,7 +82,7 @@ "upload": "Upload", "delete-anyway": "Slet alligevel", "delete-selected": "Slet valgte", - "set": "Angiv" + "set": "Indstil" }, "aggregation": { "aggregation": "Aggregering", @@ -539,20 +539,26 @@ }, "resources": "Ressourcer", "notifications": "Notifikationer", - "notifications-settings": "Notifikationsindstillinger", - "slack-api-token": "Slack API-token", + "notifications-settings": "Indstillinger for notifikationer", + "slack-api-token": "Slack API-nøgle", "slack": "Slack", "slack-settings": "Slack-indstillinger", "mobile-settings": "Mobilindstillinger", - "firebase-service-account-file": "Firebase servicekonto legitimationsoplysninger (JSON-fil)", - "select-firebase-service-account-file": "Træk og slip din Firebase servicekonto-fil eller " + "firebase-service-account-file": "Firebase servicekonto-legitimationsoplysninger JSON-fil", + "select-firebase-service-account-file": "Træk og slip din Firebase servicekonto-legitimationsfil eller ", + "trendz": "Trendz", + "trendz-settings": "Trendz-indstillinger", + "trendz-url": "Trendz URL", + "trendz-url-required": "Trendz URL er påkrævet", + "trendz-api-key": "Trendz API-nøgle", + "trendz-enable": "Aktivér Trendz" }, "alarm": { "alarm": "Alarm", "alarms": "Alarmer", "all-alarms": "Alle alarmer", "select-alarm": "Vælg alarm", - "no-alarms-matching": "Ingen alarmer matcher '{{entity}}'.", + "no-alarms-matching": "Ingen alarmer, der matcher '{{entity}}', blev fundet.", "alarm-required": "Alarm er påkrævet", "alarm-filter": "Alarmfilter", "filter": "Filter", @@ -677,8 +683,8 @@ "filter-type-entity-list": "Enhedslisten", "filter-type-entity-name": "Enhedsnavn", "filter-type-entity-type": "Enhedstype", - "filter-type-state-entity": "Enhed fra dashboardtilstand", - "filter-type-state-entity-description": "Enhed hentet fra dashboardtilstandsparametre", + "filter-type-state-entity": "Enhed fra dashboard-tilstand", + "filter-type-state-entity-description": "Enhed hentet fra dashboard-tilstandsparametre", "filter-type-asset-type": "Assettype", "filter-type-asset-type-description": "Assets af typen '{{assetTypes}}'", "filter-type-asset-type-and-name-description": "Assets af typen '{{assetTypes}}' og med navn der begynder med '{{prefix}}'", @@ -709,15 +715,16 @@ "filter-type-required": "Filtertype er påkrævet.", "entity-filter-no-entity-matched": "Ingen enheder matchede det angivne filter.", "no-entity-filter-specified": "Intet enhedsfilter angivet", - "root-state-entity": "Brug dashboardtilstandens enhed som rod", - "last-level-relation": "Hent kun sidste niveau relation", + "root-state-entity": "Brug dashboard-tilstandsenhed som rod", + "last-level-relation": "Hent kun relation på sidste niveau", "root-entity": "Rodenhed", - "state-entity-parameter-name": "Navn på tilstandsparameter", + "state-entity-parameter-name": "Parameter for tilstandsenhed", "default-state-entity": "Standard tilstandsenhed", "default-entity-parameter-name": "Som standard", - "max-relation-level": "Maks. relationsniveau", + "query-options": "Forespørgselsmuligheder", + "max-relation-level": "Maksimalt relationsniveau", "unlimited-level": "Ubegrænset niveau", - "state-entity": "Dashboardtilstandsenhed", + "state-entity": "Dashboard-tilstandsenhed", "all-entities": "Alle enheder", "any-relation": "enhver" }, @@ -859,14 +866,14 @@ "alarm": "Alarm", "alarms-created": "Oprettede alarmer", "queue-stats": "Køstatistik", - "processing-failures-and-timeouts": "Behandlingsfejl og timeouts", + "processing-failures-and-timeouts": "Behandlingsfejl og timeout", "exceptions": "Undtagelser", "alarms-created-daily-activity": "Daglig aktivitet for oprettede alarmer", - "alarms-created-hourly-activity": "Timebaseret aktivitet for oprettede alarmer", + "alarms-created-hourly-activity": "Timeaktivitet for oprettede alarmer", "alarms-created-monthly-activity": "Månedlig aktivitet for oprettede alarmer", "data-points": "Datapunkter", "data-points-storage-days": "Opbevaringsdage for datapunkter", - "device-api": "Device API", + "device-api": "Enheds-API", "email": "E-mail", "email-messages": "E-mailbeskeder", "email-messages-daily-activity": "Daglig aktivitet for e-mailbeskeder", @@ -917,7 +924,12 @@ "view-statistics": "Vis statistik" }, "api-limit": { - "cassandra-queries": "Cassandra-forespørgsler", + "cassandra-write-queries-core": "REST API Cassandra-skriveforespørgsler", + "cassandra-read-queries-core": "REST API og WS-telemetri Cassandra-læseforespørgsler", + "cassandra-write-queries-rule-engine": "Rule Engine-telemetri Cassandra-skriveforespørgsler", + "cassandra-read-queries-rule-engine": "Rule Engine-telemetri Cassandra-læseforespørgsler", + "cassandra-write-queries-monolith": "Monolitisk telemetri Cassandra-skriveforespørgsler", + "cassandra-read-queries-monolith": "Monolitisk telemetri Cassandra-læseforespørgsler", "entity-version-creation": "Oprettelse af enhedsversion", "entity-version-load": "Indlæsning af enhedsversion", "notification-requests": "Notifikationsanmodninger", @@ -925,14 +937,14 @@ "rest-api-requests": "REST API-anmodninger", "rest-api-requests-per-customer": "REST API-anmodninger pr. kunde", "transport-messages": "Transportbeskeder", - "transport-messages-per-device": "Transportbeskeder pr. device", + "transport-messages-per-device": "Transportbeskeder pr. enhed", "transport-messages-per-gateway": "Transportbeskeder pr. gateway", "transport-messages-per-gateway-device": "Transportbeskeder pr. gateway-enhed", "ws-updates-per-session": "WS-opdateringer pr. session", "edge-events": "Edge-hændelser", "edge-events-per-edge": "Edge-hændelser pr. edge", - "edge-uplink-messages": "Edge-uplinkbeskeder", - "edge-uplink-messages-per-edge": "Edge-uplinkbeskeder pr. edge" + "edge-uplink-messages": "Edge-oplinkbeskeder", + "edge-uplink-messages-per-edge": "Edge-oplinkbeskeder pr. edge" }, "audit-log": { "audit": "Revision", @@ -1018,13 +1030,13 @@ "add-argument": "Tilføj argument", "test-script-function": "Test scriptfunktion", "no-arguments": "Ingen argumenter konfigureret", - "argument-settings": "Argumentindstillinger", - "argument-current": "Nuværende enhed", - "argument-current-tenant": "Nuværende lejer", + "argument-settings": "Indstillinger for argument", + "argument-current": "Aktuel enhed", + "argument-current-tenant": "Aktuel lejer", "argument-device": "Enhed", "argument-asset": "Aktiv", "argument-customer": "Kunde", - "argument-tenant": "Nuværende lejer", + "argument-tenant": "Aktuel lejer", "argument-type": "Argumenttype", "see-debug-events": "Se fejlsøgningshændelser", "attribute": "Attribut", @@ -1057,6 +1069,7 @@ "delete-multiple-title": "Er du sikker på, at du vil slette { count, plural, =1 {1 beregnet felt} other {# beregnede felter} }?", "delete-multiple-text": "Vær forsigtig, efter bekræftelse vil alle valgte beregnede felter blive fjernet og alle relaterede data ikke kunne gendannes.", "test-with-this-message": "Test med denne meddelelse", + "use-latest-timestamp": "Brug seneste tidsstempel", "hint": { "arguments-simple-with-rolling": "Beregnet felt af typen simpel må ikke indeholde nøgler med tidsserieglidningstype.", "arguments-empty": "Argumenter må ikke være tomme.", @@ -1072,9 +1085,87 @@ "max-args": "Maksimalt antal argumenter er nået.", "decimals-range": "Standard decimaler skal være et tal mellem 0 og 15.", "expression": "Standardudtryk demonstrerer, hvordan man omregner temperatur fra Fahrenheit til Celsius.", - "arguments-entity-not-found": "Målentitet for argument ikke fundet." + "arguments-entity-not-found": "Målentitet for argument ikke fundet.", + "use-latest-timestamp": "Hvis aktiveret, vil den beregnede værdi blive gemt med det nyeste tidsstempel fra argumenternes telemetri i stedet for serverens tid." } }, + "ai-models": { + "ai-models": "AI-modeller", + "ai-model": "AI-model", + "model": "Model", + "name": "Navn", + "ai-provider": "AI-udbyder", + "no-found": "Ingen AI-modeller fundet", + "list": "{ count, plural, =1 {Én model} other {Liste med # modeller} }", + "selected-fields": "{ count, plural, =1 {1 model} other {# modeller} } valgt", + "add": "Tilføj model", + "delete-model-title": "Er du sikker på, at du vil slette modellen '{{modelName}}'?", + "delete-model-text": "Vær forsigtig, efter bekræftelse vil modellen og alle relaterede data ikke kunne gendannes.", + "delete-models-title": "Er du sikker på, at du vil slette { count, plural, =1 {1 model} other {# modeller} }?", + "delete-models-text": "Vær forsigtig, efter bekræftelse vil alle valgte modeller blive fjernet og deres relaterede data vil ikke kunne gendannes.", + "ai-providers": { + "openai": "OpenAI", + "azure-openai": "Azure OpenAI", + "google-ai-gemini": "Google AI Gemini", + "google-vertex-ai-gemini": "Google Vertex AI Gemini", + "mistral-ai": "Mistral AI", + "anthropic": "Anthropic", + "amazon-bedrock": "Amazon Bedrock", + "github-models": "GitHub-modeller" + }, + "name-required": "Navn er påkrævet.", + "name-max-length": "Navn må højst være 255 tegn.", + "provider": "Udbyder", + "api-key": "API-nøgle", + "api-key-required": "API-nøgle er påkrævet.", + "project-id": "Projekt-ID", + "project-id-required": "Projekt-ID er påkrævet", + "location": "Placering", + "location-required": "Placering er påkrævet.", + "service-account-key-file": "Servicekontonøglefil", + "service-account-key-file-required": "Servicekontonøglefil er påkrævet.", + "no-file": "Ingen fil valgt.", + "drop-file": "Slip en fil eller klik for at vælge en fil til upload.", + "personal-access-token": "Personlig adgangstoken", + "personal-access-token-required": "Personlig adgangstoken er påkrævet.", + "configuration": "Konfiguration", + "model-id": "Model-ID", + "model-id-required": "Model-ID er påkrævet.", + "deployment-name": "Deploymentsnavn", + "deployment-name-required": "Deploymentsnavn er påkrævet", + "set": "Angiv", + "region": "Region", + "region-required": "Region er påkrævet.", + "access-key-id": "Adgangsnøgle-ID", + "access-key-id-required": "Adgangsnøgle-ID er påkrævet.", + "secret-access-key": "Hemmelig adgangsnøgle", + "secret-access-key-required": "Hemmelig adgangsnøgle er påkrævet.", + "temperature": "Temperature", + "temperature-hint": "Justerer graden af tilfældighed i modellens output. Højere værdier øger tilfældigheden, mens lavere værdier reducerer den.", + "temperature-min": "Skal være 0 eller højere.", + "top-p": "Top P", + "top-p-hint": "Opretter en pulje af de mest sandsynlige tokens for modellen at vælge imellem. Højere værdier skaber en større og mere varieret pulje, mens lavere værdier skaber en mindre.", + "top-p-min-max": "Skal være større end 0 og op til 1.", + "top-k": "Top K", + "top-k-hint": "Begrænser modellens valg til et fast sæt af de \"K\" mest sandsynlige tokens.", + "top-k-min": "Skal være 0 eller højere.", + "presence-penalty": "Tilstedeværelsesstraf", + "presence-penalty-hint": "Påfører en fast straf på sandsynligheden for et token, hvis det allerede er optrådt i teksten.", + "frequency-penalty": "Frekvensstraf", + "frequency-penalty-hint": "Påfører en straf på et tokens sandsynlighed, som stiger baseret på dets hyppighed i teksten.", + "max-output-tokens": "Maksimalt outputtokens", + "max-output-tokens-min": "Skal være større end 0.", + "max-output-tokens-hint": "Angiver det maksimale antal tokens, som modellen kan generere i ét svar.", + "endpoint": "Endpoint", + "endpoint-required": "Endpoint er påkrævet.", + "service-version": "Serviceversion", + "check-connectivity": "Tjek forbindelsen", + "check-connectivity-success": "Testanmodningen var vellykket", + "check-connectivity-failed": "Testanmodningen mislykkedes", + "no-model-matching": "Ingen modeller, der matcher '{{entity}}', blev fundet.", + "model-required": "Model er påkrævet.", + "no-model-text": "Ingen modeller fundet." + }, "confirm-on-exit": { "message": "Du har ikke gemte ændringer. Er du sikker på, at du vil forlade denne side?", "html-message": "Du har ikke gemte ændringer.
Er du sikker på, at du vil forlade denne side?", @@ -1722,10 +1813,10 @@ "type-password": "Adgangskode", "type-textarea": "Tekstområde", "type-number": "Tal", - "type-switch": "Kontakt", + "type-switch": "Skifte", "type-select": "Vælg", "type-radios": "Radioknapper", - "type-datetime": "Dato/tid", + "type-datetime": "Dato/Tid", "type-image": "Billede", "type-javascript": "JavaScript", "type-json": "JSON", @@ -1737,7 +1828,7 @@ "type-font": "Skrifttype", "type-units": "Enheder", "type-icon": "Ikon", - "type-fieldset": "Feltelement", + "type-fieldset": "Feltgruppe", "type-array": "Array", "type-html-section": "HTML-sektion", "group-title": "Gruppetitel", @@ -1754,6 +1845,7 @@ "selected-options-limit": "Valgte valgmuligheder grænse", "advanced-ui-settings": "Avancerede UI-indstillinger", "disable-on-property": "Deaktiver ved egenskab", + "disable-on-property-none": "Ingen (feltet er altid aktiveret)", "display-condition-function": "Visningsbetingelsesfunktion", "sub-label": "Undertekst", "vertical-divider-after": "Lodret skillelinje efter", @@ -1787,7 +1879,8 @@ "array-item": "Array-element", "item-type": "Elementtype", "item-name": "Elementnavn", - "no-items": "Ingen elementer" + "no-items": "Ingen elementer", + "support-unit-conversion": "Understøt enhedskonvertering" }, "clear-form": "Ryd formular", "clear-form-prompt": "Er du sikker på, at du vil fjerne alle formularens egenskaber?", @@ -1910,11 +2003,12 @@ "mqtt-use-json-format-for-default-downlink-topics": "Brug JSON-format til standard downlink-topics", "mqtt-use-json-format-for-default-downlink-topics-hint": "Ved aktivering bruges JSON-payload til push af attributter og RPC via standard topics. Har ingen effekt på nye (v2) topics.", "mqtt-send-ack-on-validation-exception": "Send PUBACK ved valideringsfejl af PUBLISH-besked", - "mqtt-send-ack-on-validation-exception-hint": "Som standard afsluttes MQTT-session ved valideringsfejl. Ved aktivering sendes bekræftelse i stedet.", + "mqtt-send-ack-on-validation-exception-hint": "Som standard vil platformen lukke MQTT-sessionen ved valideringsfejl. Når aktiveret, sender platformen en bekræftelse i stedet for at lukke sessionen.", + "mqtt-protocol-version": "Protokolversion", "snmp-add-mapping": "Tilføj SNMP-kortlægning", - "snmp-mapping-not-configured": "Ingen kortlægning fra OID til tidsserier/telemetri konfigureret", - "snmp-timseries-or-attribute-name": "Tidsserie-/attributnavn til kortlægning", - "snmp-timseries-or-attribute-type": "Tidsserie-/attributtype til kortlægning", + "snmp-mapping-not-configured": "Ingen kortlægning for OID til tidsserie/telemetri er konfigureret", + "snmp-timseries-or-attribute-name": "Navn på tidsserie/attribut til kortlægning", + "snmp-timseries-or-attribute-type": "Type af tidsserie/attribut til kortlægning", "snmp-method-pdu-type-get-request": "GetRequest", "snmp-method-pdu-type-get-next-request": "GetNextRequest", "snmp-oid": "OID", @@ -2171,12 +2265,15 @@ "add-lwm2m-server-config": "Tilføj LwM2M-server", "no-config-servers": "Ingen servere konfigureret", "others-tab": "Andre indstillinger", - "client-strategy": "Klientstrategi ved tilslutning", + "ota-update": "OTA-opdatering", + "use-object-19-for-ota-update": "Brug objekt 19 til OTA-filmetadata (checksum, størrelse, version, navn)", + "use-object-19-for-ota-update-hint": "Brug Resource ObjectId = 19 til OTA-opdateringer: FirmWare → InstanceId = 65534, SoftWare → InstanceId = 65535. Dataformatet er JSON indlejret i Base64. Denne JSON indeholder metadata for OTA-filen (filinformation): \"Checksum\" (SHA256). Yderligere felter: \"Title\" (OTA-navn), \"Version\" (OTA-version), \"File Name\" (filnavn til lagring af OTA på klienten), \"File Size\" (OTA-størrelse i bytes).", + "client-strategy": "Klientstrategi ved opkobling", "client-strategy-label": "Strategi", - "client-strategy-only-observe": "Send kun Observe-anmodning til klienten efter første forbindelse", - "client-strategy-read-all": "Læs alle ressourcer og send Observe-anmodning til klienten efter registrering", + "client-strategy-only-observe": "Kun Observe Request til klienten efter den indledende forbindelse", + "client-strategy-read-all": "Læs alle ressourcer & Observe Request til klienten efter registrering", "fw-update": "Firmwareopdatering", - "fw-update-strategy": "Firmwareopdateringsstrategi", + "fw-update-strategy": "Strategi for firmwareopdatering", "fw-update-strategy-data": "Push firmware som binær fil via Object 19 og Resource 0 (Data)", "fw-update-strategy-package": "Push firmware som binær fil via Object 5 og Resource 0 (Package)", "fw-update-strategy-package-uri": "Generér automatisk unik CoAP-URL og push firmware via Object 5 og Resource 1 (Package URI)", @@ -2201,7 +2298,17 @@ "default-object-id": "Standardobjektversion (Attribut)", "default-object-id-ver": { "v1-0": "1.0", - "v1-1": "1.1" + "v1-1": "1.1", + "v1-2": "1.2" + }, + "observe-strategy": { + "observe-strategy": "Observe-strategi", + "single": "Enkelt", + "single-description": "Én Observe-anmodning pr. ressource (højere præcision, mere netværkstrafik)", + "composite-all": "Sammensat – alle", + "composite-all-description": "Alle ressourcer observeres med en enkelt sammensat Observe-anmodning (mere effektivt, mindre fleksibelt)", + "composite-by-object": "Sammensat efter objekt", + "composite-by-object-description": "Ressourcer grupperes efter objekttype og observeres via separate sammensatte Observe-anmodninger (balanceret tilgang)" } }, "snmp": { @@ -2524,6 +2631,8 @@ "type-current-user-owner": "Aktuel bruger-ejer", "type-calculated-field": "Beregnet felt", "type-calculated-fields": "Beregnet felter", + "type-ai-model": "AI-model", + "type-ai-models": "AI-modeller", "type-widgets-bundle": "Widgetpakke", "type-widgets-bundles": "Widgetpakker", "list-of-widgets-bundles": "{ count, plural, =1 {Én widgetpakke} other {Liste over # widgetpakker} }", @@ -2553,6 +2662,8 @@ "type-tb-resources": "Ressourcer", "list-of-tb-resources": "{ count, plural, =1 {Én ressource} other {Liste over # ressourcer} }", "type-ota-package": "OTA-pakke", + "type-ota-packages": "OTA-pakker", + "list-of-ota-packages": "{ count, plural, =1 {Én OTA-pakke} other {Liste med # OTA-pakker} }", "type-rpc": "RPC", "type-queue": "Kø", "type-queue-stats": "Køstatistik", @@ -2938,6 +3049,7 @@ "missing-key-filters-error": "Nøglefiltre mangler for filteret '{{filter}}'.", "filter": "Filter", "editable": "Redigerbar", + "editable-hint": "Tillad brugeren at ændre filterværdien i dashboards.", "no-filters-found": "Ingen filtre fundet.", "no-filter-text": "Intet filter angivet", "add-filter-prompt": "Tilføj venligst et filter", @@ -2976,12 +3088,14 @@ "edit-filter-user-params": "Rediger brugerparametre for filterbetingelse", "filter-user-params": "Filterbetingelsens brugerparametre", "user-parameters": "Brugerparametre", - "display-label": "Etiket til visning", - "order-priority": "Prioritet for feltorden", - "key-filter": "Nøglefilter", - "key-filters": "Nøglefiltre", - "key-name": "Nøglenavn", - "key-name-required": "Nøglenavn er påkrævet.", + "display-label": "Etiket der vises", + "custom-label": "Brugerdefineret etiket", + "custom-label-hint": "Aktivér for at angive din egen etiket for filteret. Når deaktiveret, genereres en etiket automatisk.", + "order-priority": "Visningsrækkefølge", + "key-filter": "Nøgelfilter", + "key-filters": "Nøgelfiltre", + "key-name": "Nøglens navn", + "key-name-required": "Nøglens navn er påkrævet.", "key-type": { "key-type": "Nøgletype", "attribute": "Attribut", @@ -3021,7 +3135,8 @@ "switch-to-dynamic-value": "Skift til dynamisk værdi", "switch-to-default-value": "Skift til standardværdi", "inherit-owner": "Arv fra ejer", - "source-attribute-not-set": "Hvis kildeattribut ikke er angivet" + "source-attribute-not-set": "Hvis kildeattribut ikke er angivet", + "unit": "Enhed" }, "fullscreen": { "expand": "Udvid til fuld skærm", @@ -3400,12 +3515,13 @@ "run": "Kør", "run-hint": "Handling udføres, når brugeren klikker for at starte komponenten.", "stop": "Stop", - "stop-hint": "Handling udføres, når brugeren klikker for at stoppe komponenten.", + "stop-hint": "Handling der udføres, når brugeren klikker for at stoppe komponenten.", "temperature-step": "Temperaturtrin", - "heat-pump-color": "Varme pumpe farve", + "heat-pump-color": "Varmepumpefarve", "power-button-background": "Baggrund for tænd/sluk-knap", "value-box-background": "Baggrund for værdiboks", - "value-units": "Værdi enheder", + "value-units": "Værdienheder", + "enable-units-scale": "Aktivér enheder på skala", "filtration-mode": "Filtreringstilstand", "filtration-mode-hint": "Heltalsværdi, der angiver den aktuelle filtreringstilstand.", "filtration-mode-update": "Opdater filtreringstilstand", @@ -3720,8 +3836,10 @@ "mobile-center": "Mobilcenter", "mobile-package": "Applikationspakke", "mobile-package-max-length": "Applikationspakken skal være mindre end 256 tegn", - "mobile-package-required": "Applikationspakken er påkrævet.", + "mobile-package-required": "Applikationspakke er påkrævet.", "mobile-package-pattern": "Ugyldigt format for applikationspakke", + "mobile-package-title": "Applikationstitel", + "mobile-package-title-max-length": "Applikationstitlen skal være mindre end 256 tegn", "no-application": "Ingen applikationer fundet", "no-bundles": "Ingen pakker fundet", "platform-type": "Platformstype", @@ -3802,20 +3920,16 @@ "configuration-app": "Konfigurationsapp", "configuration-step": { "prepare-environment-title": "Forbered udviklingsmiljø", - "prepare-environment-text": "Flutter ThingsBoard Mobile Application kræver Flutter SDK. Følg vejledningen for at konfigurere Flutter SDK.", - "get-source-code-title": "Hent appens kildekode", - "get-source-code-text": "Du kan hente Flutter ThingsBoard Mobile Application kildekode ved at klone den fra GitHub-repositoriet:", - "configure-api-title": "Konfigurer ThingsBoard API-endepunkt", - "configure-api-text": "Åbn projektet flutter_thingsboard_pe_app i din editor/IDE. Rediger:", - "configure-api-hint": "Angiv værdien af konstanten thingsBoardApiEndpoint, så den matcher API-endepunktet på din ThingsBoard-serverinstans. Brug ikke \"localhost\" eller \"127.0.0.1\" som værter.", + "prepare-environment-text": "Flutter ThingsBoard Mobile Application kræver Flutter SDK. Følg instruktionerne for at opsætte Flutter SDK.", + "get-source-code-title": "Hent kildekode til appen", + "get-source-code-text": "Du kan hente kildekoden til Flutter ThingsBoard Mobile Application ved at klone den fra GitHub-repositoriet:", + "configure-app-settings-title": "Konfigurér appindstillinger", + "configure-app-settings-text": "Download konfigurationsfilen og placer den i rodkataloget for det projekt, du klonede i forrige trin.", + "download-file": "Download fil", "run-app-title": "Kør appen", - "run-app-text": "Kør appen som beskrevet i din IDE.\nHvis du bruger terminalen, kan du køre appen med følgende kommando:", - "more-information": "Detaljeret information findes i vores dokumentation for Kom godt i gang.", - "getting-started": "Kom godt i gang", - "configure-package-title": "Konfigurer applikationspakke", - "configure-package-text": "Du kan manuelt ændre applikationspakken eller bruge et tredjeparts CLI-værktøj.", - "configure-package-text-install": "For at installere Rename CLI-værktøjet skal du køre følgende kommando:", - "configure-package-run-commands": "Kør disse kommandoer i projektets rodmappe:" + "run-app-text": "Kør appen som beskrevet i din IDE.\nHvis du bruger terminalen, så kør appen med følgende kommando:", + "more-information": "Detaljeret information findes i vores Getting Started-dokumentation.", + "getting-started": "Kom godt i gang" } }, "notification": { @@ -3839,6 +3953,7 @@ "new-platform-version-trigger-settings": "Indstillinger for udløser af ny platformsversion", "rate-limits-trigger-settings": "Indstillinger for udløser ved overskredne hastighedsgrænser", "task-processing-failure-trigger-settings": "Indstillinger for udløser ved fejl i opgavebehandling", + "resources-shortage-trigger-settings": "Indstillinger for trigger ved mangel på ressourcer", "at-least-one-should-be-selected": "Mindst én skal vælges", "basic-settings": "Grundindstillinger", "button-text": "Knaptekst", @@ -3853,6 +3968,7 @@ "create-new": "Opret ny", "created": "Oprettet", "customize-messages": "Tilpas beskeder", + "cpu-threshold": "CPU-grænseværdi", "delete-notification-text": "Vær forsigtig, efter bekræftelsen vil notifikationen ikke kunne gendannes.", "delete-notification-title": "Er du sikker på, at du vil slette notifikationen?", "delete-notifications-text": "Vær forsigtig, efter bekræftelsen vil notifikationerne ikke kunne gendannes.", @@ -3919,6 +4035,7 @@ "input-fields-support-templatization": "Inputfelter understøtter templatization.", "link": "Link", "link-required": "Link er påkrævet", + "link-max-length": "Linket skal være mindre end eller lig med {{ length }} tegn", "link-type": { "dashboard": "Åbn dashboard", "link": "Åbn URL-link" @@ -3945,6 +4062,7 @@ "no-severity-found": "Ingen alvorlighed fundet", "no-severity-matching": "'{{severity}}' ikke fundet.", "no-template-matching": "Ingen ressource matcher '{{template}}'.", + "create-new-template": "Opret en ny!", "not-found-slack-recipient": "Slack-modtager ikke fundet", "notification": "Notifikation", "notification-center": "Notifikationscenter", @@ -3968,6 +4086,7 @@ "only-rule-chain-lifecycle-failures": "Kun fejl i livscyklus for regelkæder", "only-rule-node-lifecycle-failures": "Kun fejl i livscyklus for regelnoder", "platform-users": "Platformbrugere", + "ram-threshold": "RAM-grænseværdi", "rate-limits": "Grænser for frekvens", "rate-limits-hint": "Hvis feltet er tomt, anvendes udløseren på alle grænser for frekvens", "recipient": "Modtager", @@ -4033,6 +4152,7 @@ "start-from-scratch": "Start fra bunden", "status": "Status", "stop-escalation-alarm-status-become": "Stop eskaleringen når alarmstatus bliver:", + "storage-threshold": "Lagringsgrænseværdi", "subject": "Emne", "subject-required": "Emne er påkrævet", "subject-max-length": "Emnet må højst være {{ length }} tegn", @@ -4046,15 +4166,16 @@ "api-usage-limit": "API-brugsgrænse", "device-activity": "Enhedsaktivitet", "entities-limit": "Enhedsgrænse", - "entity-action": "Entitetshandling", - "general": "Generel", - "rule-engine-lifecycle-event": "Livscyklus for regelmotor", - "rule-node": "Regelnode", + "entity-action": "Enhedshandling", + "general": "Generelt", + "rule-engine-lifecycle-event": "Livscyklushændelse for Rule Engine", + "rule-node": "Rule node", "new-platform-version": "Ny platformversion", - "rate-limits": "Overskredet grænse for frekvens", - "edge-communication-failure": "Edge-kommunikationsfejl", + "rate-limits": "Overskredne hastighedsgrænser", + "edge-communication-failure": "Kommunikationsfejl på edge", "edge-connection": "Edge-forbindelse", - "task-processing-failure": "Fejl i opgavebehandling" + "task-processing-failure": "Fejl i opgavebehandling", + "resources-shortage": "Mangel på ressourcer" }, "templates": "Skabeloner", "notification-templates": "Notifikationer / Skabeloner", @@ -4070,16 +4191,17 @@ "alarm-comment": "Alarmkommentar", "api-usage-limit": "API-brugsgrænse", "device-activity": "Enhedsaktivitet", - "entities-limit": "Entitetsgrænse", - "entity-action": "Entitetshandling", - "rule-engine-lifecycle-event": "Regelmotor livscyklusbegivenhed", + "entities-limit": "Enhedsgrænse", + "entity-action": "Enhedshandling", + "rule-engine-lifecycle-event": "Livscyklushændelse for Rule Engine", "new-platform-version": "Ny platformversion", - "rate-limits": "Overskredet frekvensgrænse", + "rate-limits": "Overskredne hastighedsgrænser", "edge-connection": "Edge-forbindelse", - "edge-communication-failure": "Edge-kommunikationsfejl", + "edge-communication-failure": "Kommunikationsfejl på edge", "task-processing-failure": "Fejl i opgavebehandling", - "trigger": "Udløser", - "trigger-required": "Udløser er påkrævet" + "resources-shortage": "Mangel på ressourcer", + "trigger": "Trigger", + "trigger-required": "Trigger er påkrævet" }, "type": "Type", "unread": "Ulæst", @@ -4116,9 +4238,10 @@ "checksum": "Checksum", "checksum-hint": "Hvis checksum er tom, vil den blive genereret automatisk", "checksum-algorithm": "Checksum-algoritme", - "checksum-copied-message": "Pakke-checksum er blevet kopieret til udklipsholderen", - "change-firmware": "Ændring af firmware kan medføre opdatering af { count, plural, =1 {1 enhed} other {# enheder} }.", - "change-software": "Ændring af software kan medføre opdatering af { count, plural, =1 {1 enhed} other {# enheder} }.", + "checksum-copied-message": "Pakkechecksummen er kopieret til udklipsholderen", + "change-firmware": "Ændring af firmwaren kan medføre opdatering af { count, plural, =1 {1 enhed} other {# enheder} }.", + "change-software": "Ændring af softwaren kan medføre opdatering af { count, plural, =1 {1 enhed} other {# enheder} }.", + "change-ota-setting-title": "Er du sikker på, at du vil ændre OTA-indstillingerne?", "chose-compatible-device-profile": "Den uploadede pakke vil kun være tilgængelig for enheder med den valgte profil.", "chose-firmware-distributed-device": "Vælg firmware, der skal distribueres til enhederne", "chose-software-distributed-device": "Vælg software, der skal distribueres til enhederne", @@ -4314,8 +4437,9 @@ "add-relation-filter": "Tilføj relationsfilter", "any-relation": "Enhver relation", "relation-filters": "Relationsfiltre", + "relation-filter": "Relationsfilter", "additional-info": "Yderligere info (JSON)", - "invalid-additional-info": "Kan ikke analysere yderligere info JSON.", + "invalid-additional-info": "Kunne ikke fortolke JSON for yderligere info.", "no-relations-text": "Ingen relationer fundet", "not": "Ikke" }, @@ -4814,7 +4938,7 @@ "max-parallel-requests-count": "Maksimalt antal parallelle forespørgsler", "max-parallel-requests-count-hint": "Værdien 0 betyder ingen begrænsning", "max-response-size": "Maks. svarstørrelse (i KB)", - "max-response-size-hint": "Maksimal hukommelse tildelt til buffering ved afkodning/enkodning af HTTP-meddelelser", + "max-response-size-hint": "Den maksimale mængde hukommelse, der er tildelt til buffering af data ved dekodning eller kodning af HTTP-meddelelser, såsom JSON- eller XML-payloads", "headers": "Headers", "headers-hint": "Brug ${metadataKey} for værdi fra metadata, $[messageKey] for værdi fra meddelelsesindhold i header/værdifelter", "header": "Header", @@ -4891,7 +5015,7 @@ "client-id": "Klient-ID", "client-id-hint": "Valgfri. Lad være tomt for automatisk generering. For at undgå konflikter i mikrotjenester, brug unikke ID’er.", "append-client-id-suffix": "Tilføj service-ID som suffix til klient-ID", - "client-id-suffix-hint": "Anvendes kun hvis klient-ID er angivet. Hjælper med at undgå konflikter i mikrotjenestetilstand.", + "client-id-suffix-hint": "Valgfrit. Anvendes når \"Client ID\" er angivet eksplicit. Hvis valgt, tilføjes Service ID som et suffiks til Client ID. Hjælper med at undgå fejl, når platformen kører i microservices-tilstand.", "device-id": "Enheds-ID", "device-id-required": "Enheds-ID er påkrævet.", "clean-session": "Ren session", @@ -5043,9 +5167,9 @@ "min-outside-duration-value-required": "Værdi er påkrævet", "min-outside-duration-time-unit": "Tidsenhed for minimal varighed udenfor", "tell-failure-if-absent": "Rapporter fejl ved fravær", - "tell-failure-if-absent-hint": "Hvis en valgt nøgle mangler, returneres fejl.", - "get-latest-value-with-ts": "Hent seneste værdi med tidsstempel", - "get-latest-value-with-ts-hint": "Returnerer JSON med både værdi og tidsstempel.", + "tell-failure-if-absent-hint": "Hvis mindst én af de valgte nøgler ikke findes, vil udgående besked rapportere \"Fejl\".", + "get-latest-value-with-ts": "Hent tidsstempel for de seneste telemetriværdier", + "get-latest-value-with-ts-hint": "Hvis valgt, vil de seneste telemetriværdier også inkludere tidsstempel, f.eks.: \"temp\": \"{\"ts\":1574329385897, \"value\":42}\"", "ignore-null-strings": "Ignorér tomme strenge", "ignore-null-strings-hint": "Ignorerer felter med tomme værdier.", "add-metadata-key-values-as-kafka-headers": "Tilføj nøgle-værdi par fra metadata til Kafka headers", @@ -5156,7 +5280,7 @@ "tell-failure": "Rapportér fejl hvis attribut mangler", "tell-failure-tooltip": "Rapporterer fejl hvis mindst én valgt nøgle mangler.", "created-time": "Oprettelsestid", - "chip-help": "Tryk 'Enter' for at afslutte {{inputName}}. 'Backspace' sletter. Flere værdier understøttet.", + "chip-help": "Tryk på 'Enter' for at fuldføre {{inputName}}-indtastning. \nTryk på 'Backspace' for at slette {{inputName}}. \nFlere værdier understøttes.", "detail": "detalje", "field-name": "feltnavn", "device-profile": "enhedsprofil", @@ -5172,14 +5296,14 @@ "fields": "Felter", "skip-empty-fields": "Spring tomme felter over", "skip-empty-fields-tooltip": "Tomme felter tilføjes ikke til uddata.", - "fetch-interval": "Hent interval", - "fetch-strategy": "Hentestrategi", - "fetch-timeseries-from-to": "Hent tidsserie fra {{startInterval}} {{startIntervalTimeUnit}} til {{endInterval}} {{endIntervalTimeUnit}} siden.", - "fetch-timeseries-from-to-invalid": "\"Start\" skal være mindre end \"Slut\".", - "use-metadata-dynamic-interval-tooltip": "Bruger dynamisk start og slut interval baseret på besked og metadata.", - "all-mode-hint": "Ved \"Alle\" hentes alle værdier i intervallet.", - "first-mode-hint": "Ved \"Første\" hentes nærmeste værdi ved start.", - "last-mode-hint": "Ved \"Sidste\" hentes nærmeste værdi ved slut.", + "fetch-interval": "Hentningsinterval", + "fetch-strategy": "Hentningsstrategi", + "fetch-timeseries-from-to": "Hent tidsserier fra {{startInterval}} {{startIntervalTimeUnit}} siden til {{endInterval}} {{endIntervalTimeUnit}} siden.", + "fetch-timeseries-from-to-invalid": "Ugyldig hentning af tidsserier (\"Intervalstart\" skal være mindre end \"Intervalslut\").", + "use-metadata-dynamic-interval-tooltip": "Hvis valgt, vil rule node bruge dynamisk intervalstart og -slut baseret på mønstre i beskeden og metadata.", + "all-mode-hint": "Hvis hentningstilstand \"Alle\" er valgt, vil rule node hente telemetri fra intervallet med konfigurerbare forespørgselsparametre.", + "first-mode-hint": "Hvis hentningstilstand \"Første\" er valgt, vil rule node hente den telemetri, der ligger tættest på intervallets start.", + "last-mode-hint": "Hvis hentningstilstand \"Sidste\" er valgt, vil rule node hente den telemetri, der ligger tættest på intervallets slutning.", "ascending": "Stigende", "descending": "Faldende", "min": "Min", @@ -5230,7 +5354,7 @@ "function-name": "Funktionsnavn", "function-name-required": "Funktionsnavn er påkrævet.", "qualifier": "Kvalifikator", - "qualifier-hint": "Hvis kvalifikator ikke er angivet, bruges standardværdien \"$LATEST\".", + "qualifier-hint": "Hvis kvalifikatoren ikke er angivet, vil standardkvalifikatoren \"$LATEST\" blive brugt.", "aws-credentials": "AWS-legitimationsoplysninger", "connection-timeout": "Forbindelsestimeout", "connection-timeout-required": "Forbindelsestimeout er påkrævet.", @@ -5299,11 +5423,41 @@ "plain-text": "Almindelig tekst", "html": "HTML", "dynamic": "Dynamisk", - "use-body-type-template": "Brug skabelon til brødtype", - "plain-text-description": "Simpel tekst uden formatering.", - "html-text-description": "Tillader HTML-tags til formatering, links og billeder.", - "dynamic-text-description": "Vælg dynamisk mellem almindelig tekst eller HTML.", - "after-template-evaluation-hint": "Efter evaluering: true = HTML, false = tekst." + "use-body-type-template": "Brug skabelon for brødteksttype", + "plain-text-description": "Simpel, uformateret tekst uden særlig formatering eller styling.", + "html-text-description": "Giver dig mulighed for at bruge HTML-tags til formatering, links og billeder i mailens brødtekst.", + "dynamic-text-description": "Gør det muligt at bruge almindelig tekst eller HTML som brødteksttype dynamisk baseret på skabelonfunktionalitet.", + "after-template-evaluation-hint": "Efter skabelonevaluering bør værdien være true for HTML og false for almindelig tekst." + }, + "ai": { + "ai-model": "AI-model", + "model": "Model", + "ai-model-hint": "Vælg den forudkonfigurerede AI-model til at behandle forespørgsler sendt af denne rule node, eller brug \"Opret ny\" for at konfigurere en ny.", + "prompt-settings": "Promptindstillinger", + "prompt-settings-hint": "Den valgfrie systemprompt angiver AI'ens generelle rolle og begrænsninger, mens brugerprompten definerer den specifikke opgave. Begge felter understøtter også skabelonfunktionalitet.", + "system-prompt": "Systemprompt", + "system-prompt-max-length": "Systemprompt må højst være 10000 tegn.", + "system-prompt-blank": "Systemprompt må ikke være tom.", + "user-prompt": "Brugerprompt", + "user-prompt-required": "Brugerprompt er påkrævet.", + "user-prompt-max-length": "Brugerprompt må højst være 10000 tegn.", + "user-prompt-blank": "Brugerprompt må ikke være tom.", + "response-format": "Svarformat", + "response-text": "Tekst", + "response-json": "JSON", + "response-json-schema": "JSON-skema", + "response-format-hint-TEXT": "Tillader modellen at generere vilkårlig tekst, som måske eller måske ikke er gyldig JSON. Hvis output ikke er gyldig JSON, bliver det automatisk pakket ind i en JSON med nøglen \"response\".", + "response-format-hint-JSON": "Modellen skal generere et svar, der er gyldig JSON. Hvis output ikke er gyldig JSON, bliver det automatisk pakket ind i en JSON med nøglen \"response\".", + "response-format-hint-JSON_SCHEMA": "Modellen skal generere en JSON, der matcher strukturen og datatyperne defineret i det angivne skema. Hvis output ikke er gyldig JSON, bliver det automatisk pakket ind i en JSON med nøglen \"response\".", + "response-json-schema-hint": "Selvom enhver gyldig JSON-skema kan indtastes, understøtter denne rule node kun et begrænset sæt funktioner. Se dokumentationen for detaljer.", + "response-json-schema-required": "JSON-skema er påkrævet", + "advanced-settings": "Avancerede indstillinger", + "timeout": "Timeout", + "timeout-hint": "Maksimalt tidsrum at vente på svar \nfra AI-modellen, før forespørgslen afsluttes.", + "timeout-required": "Timeout er påkrævet", + "timeout-validation": "Skal være mellem 1 sekund og 10 minutter.", + "force-acknowledgement": "Tving kvittering", + "force-acknowledgement-hint": "Hvis aktiveret, kvitteres der straks for den indgående besked. Modellens svar bliver derefter sat i kø som en separat, ny besked." } }, "timezone": { @@ -5625,7 +5779,10 @@ "too-small-value-zero": "Værdien skal være større end 0", "too-small-value-one": "Værdien skal være større end 1", "queue-size-is-limited-by-system-configuration": "Køens størrelse er også begrænset af systemkonfigurationen.", - "cassandra-tenant-limits-configuration": "Cassandra-forespørgsel for lejer", + "cassandra-write-tenant-core-limits-configuration": "REST API Cassandra-skriveforespørgsler", + "cassandra-read-tenant-core-limits-configuration": "REST API- og WS-telemetri Cassandra-læseforespørgsler", + "cassandra-write-tenant-rule-engine-limits-configuration": "Rule Engine-telemetri Cassandra-skriveforespørgsler", + "cassandra-read-tenant-rule-engine-limits-configuration": "Rule Engine-telemetri Cassandra-læseforespørgsler", "ws-limit-max-sessions-per-tenant": "Maksimalt antal sessioner pr. lejer", "ws-limit-max-sessions-per-customer": "Maksimalt antal sessioner pr. kunde", "ws-limit-max-sessions-per-regular-user": "Maksimalt antal sessioner pr. almindelig bruger", @@ -5638,6 +5795,7 @@ "ws-limit-updates-per-session": "WS-opdateringer pr. session", "rate-limits": { "add-limit": "Tilføj begrænsning", + "and-also-less-than": "og også mindre end", "advanced-settings": "Avancerede indstillinger", "edit-limit": "Rediger begrænsning", "calculated-field-debug-event-rate-limit": "Fejlfindingshændelser for beregnede felter", @@ -5657,7 +5815,10 @@ "edit-tenant-rest-limits-title": "Rediger REST-anmodninger for lejer", "edit-customer-rest-limits-title": "Rediger REST-anmodninger for kunde", "edit-ws-limit-updates-per-session-title": "Rediger grænse for WS-opdateringer pr. session", - "edit-cassandra-tenant-limits-configuration-title": "Rediger Cassandra-forespørgselsgrænse for lejer", + "edit-cassandra-write-tenant-core-limits-configuration": "Redigér REST API Cassandra skriveforespørgsler", + "edit-cassandra-read-tenant-core-limits-configuration": "Redigér REST API- og WS-telemetri Cassandra læseforespørgsler", + "edit-cassandra-write-tenant-rule-engine-limits-configuration": "Redigér Rule Engine-telemetri Cassandra skriveforespørgsler", + "edit-cassandra-read-tenant-rule-engine-limits-configuration": "Redigér Rule Engine-telemetri Cassandra læseforespørgsler", "edit-tenant-entity-export-rate-limit-title": "Rediger grænse for versionering af entitet", "edit-tenant-entity-import-rate-limit-title": "Rediger grænse for indlæsning af entitet", "edit-tenant-notification-request-rate-limit-title": "Rediger grænse for notifikationsanmodninger", @@ -5679,6 +5840,7 @@ "per-seconds": "Pr. sekunder", "per-seconds-required": "Tidsrate er påkrævet.", "per-seconds-min": "Minimumsværdi er 1.", + "per-seconds-duplicate": "Duplikeret tidsinterval. Hvert tidsinterval skal være unikt.", "rate-limits": "Grænser", "remove-limit": "Fjern begrænsning", "transport-tenant-msg": "Transportlejers beskeder", @@ -5825,14 +5987,126 @@ "label": "Etiket", "value": "Værdi", "date": "Dato", - "show-date-time-interval": "Vis dato og tidsinterval", - "show-date-time-interval-hint": "Vis dato og tidsinterval i henhold til dataaggregeringen.", + "show-date-time-interval": "Vis datotidsinterval", + "show-date-time-interval-hint": "Vis datotidsinterval i henhold til dataaggregering.", + "hide-zero-tooltip-values": "Skjul nulværdier", "background-color": "Baggrundsfarve", "background-blur": "Baggrundssløring" }, "unit": { + "set-unit-conversion": "Indstil enhedsomregning", + "unit-settings": { + "unit-settings": "Enhedsindstillinger", + "source-unit": "Kildenhed", + "source-unit-hint": "Dette er enheden for den gemte værdi. Den enhed, du konverterer fra. Indtast symbolet, som dine kildedata bruger (f.eks. m, km, ft, in).", + "target-metric-unit": "Målenhed (SI) som mål", + "target-metric-unit-hint": "Vælg hvilken måleenhed (SI) du ønsker, at kildeværdien konverteres til (f.eks. cm, mm, km).", + "target-imperial-unit": "Imperial enhed som mål", + "target-imperial-unit-hint": "Vælg hvilken imperial enhed du ønsker, at kildeværdien konverteres til (f.eks. in, ft, yd).", + "target-hybrid-unit": "Hybrid enhed som mål", + "target-hybrid-unit-hint": "Vælg hvilken hybrid enhed du ønsker, at kildeværdien konverteres til (f.eks. cm, in, km). Hybrid enheder kombinerer metriske og/eller imperial enheder.", + "enable-unit-conversion": "Aktivér enhedsomregning", + "enable-unit-conversion-hint": "Slå til for at aktivere omregning. Når slået fra, sendes kildeværdien videre uden ændringer. Deaktiveret hvis der kun er én enhed i den tilsvarende målegruppe (f.eks. Lysstrøm, AQI)." + }, + "unit-system": "Enhedssystem", + "unit-system-type": { + "AUTO": "Auto", + "METRIC": "Metrisk", + "IMPERIAL": "Imperial", + "HYBRID": "Hybrid" + }, + "measures": { + "absorbed-dose-rate": "Absorberet dosis pr. tidsenhed", + "acceleration": "Acceleration", + "acidity": "Surhedsgrad", + "air-quality-index": "Luftkvalitetsindeks", + "amount-of-substance": "Stofmængde", + "angle": "Vinkel", + "angular-acceleration": "Vinkelacceleration", + "area": "Areal", + "area-density": "Arealdensitet", + "capacitance": "Kapacitans", + "catalytic-activity": "Katalytisk aktivitet", + "catalytic-concentration": "Katalytisk koncentration", + "charge": "Elektrisk ladning", + "current-density": "Strømstyrketæthed", + "data-transfer-rate": "Dataoverførselshastighed", + "density": "Densitet", + "digital": "Digital", + "dimension-ratio": "Forhold mellem dimensioner", + "dynamic-viscosity": "Dynamisk viskositet", + "earthquake-magnitude": "Jordskælvsmagnitude", + "electric-charge-density": "Elektrisk ladningstæthed", + "electric-current": "Elektrisk strøm", + "electric-dipole-moment": "Elektrisk dipolmoment", + "electric-field-strength": "Elektrisk feltstyrke", + "electric-flux": "Elektrisk flux", + "electric-permittivity": "Elektrisk permittivitet", + "electric-polarizability": "Elektrisk polariserbarhed", + "electrical-conductance": "Elektrisk ledningsevne", + "electrical-conductivity": "Elektrisk konduktivitet", + "energy": "Energi", + "energy-density": "Energitæthed", + "force": "Kraft", + "frequency": "Frekvens", + "fuel-efficiency": "Brændstofeffektivitet", + "heat-capacity": "Varmekapacitet", + "illuminance": "Belysningsstyrke", + "inductance": "Induktans", + "kinematic-viscosity": "Kinematisk viskositet", + "length": "Længde", + "light-exposure": "Lysudsættelse", + "linear-charge-density": "Lineær ladningstæthed", + "logarithmic-ratio": "Logaritmisk forhold", + "luminous-efficacy": "Lysudbytte", + "luminous-flux": "Lysstrøm", + "luminous-intensity": "Lysintensitet", + "magnetic-field-gradient": "Magnetfeltgradient", + "magnetic-flux": "Magnetisk flux", + "magnetic-flux-density": "Magnetisk fluxdensitet", + "magnetic-moment": "Magnetisk moment", + "magnetic-permeability": "Magnetisk permeabilitet", + "mass": "Masse", + "mass-fraction": "Massefraktion", + "molar-concentration": "Molær koncentration", + "molar-energy": "Molær energi", + "molar-heat-capacity": "Molær varmekapacitet", + "molar-mass": "Molær masse", + "number-concentration": "Koncentration (antal)", + "parts-per-million": "Dele pr. million", + "power": "Effekt", + "power-density": "Effekttæthed", + "pressure": "Tryk", + "radiance": "Strålingsintensitet", + "radiant-intensity": "Strålingsstyrke", + "radiation-dose": "Strålingsdosis", + "radioactive-decay": "Radioaktivt henfald", + "radioactivity": "Radioaktivitet", + "radioactivity-concentration": "Koncentration af radioaktivitet", + "reciprocal-length": "Reciprok længde", + "resistance": "Modstand", + "reynolds-number": "Reynolds-tal", + "signal-level": "Signalkvalitet", + "solid-angle": "Rumvinkel", + "specific-energy": "Specifik energi", + "specific-heat-capacity": "Specifik varmekapacitet", + "specific-humidity": "Specifik fugtighed", + "specific-volume": "Specifikt volumen", + "speed": "Hastighed", + "surface-charge-density": "Overfladeladningstæthed", + "surface-tension": "Overfladespænding", + "temperature": "Temperatur", + "thermal-conductivity": "Termisk ledningsevne", + "time": "Tid", + "torque": "Moment", + "turbidity": "Turbiditet", + "voltage": "Spænding", + "volume": "Volumen", + "volume-flow": "Volumenstrøm" + }, "millimeter": "Millimeter", "centimeter": "Centimeter", + "decimeter": "Decimeter", "angstrom": "Ångström", "nanometer": "Nanometer", "micrometer": "Mikrometer", @@ -5840,6 +6114,7 @@ "kilometer": "Kilometer", "inch": "Tommer", "foot": "Fod", + "foot-us": "Fod (US opmåling)", "yard": "Yard", "mile": "Mil", "nautical-mile": "Sømil", @@ -5847,14 +6122,14 @@ "reciprocal-metre": "Reciprok meter", "meter-per-meter": "Meter pr. meter", "steradian": "Steradian", - "thou": "Tusindedel tomme", + "thou": "Tø", "barleycorn": "Bygkorn", "hand": "Hånd", "chain": "Kæde", "furlong": "Furlong", "league": "League", "fathom": "Favn", - "cable": "Kabellængde", + "cable": "Kabel", "link": "Led", "rod": "Stang", "nanogram": "Nanogram", @@ -5886,6 +6161,7 @@ "cubic-foot": "Kubikfod", "cubic-yard": "Kubikyard", "fluid-ounce": "Fluid ounce", + "fluid-ounce-per-second": "Fluid ounce pr. sekund", "pint": "Pint", "quart": "Quart", "gallon": "Gallon", @@ -5904,9 +6180,13 @@ "meter-per-second": "Meter pr. sekund", "kilometer-per-hour": "Kilometer i timen", "foot-per-second": "Fod pr. sekund", + "foot-per-minute": "Fod pr. minut", "mile-per-hour": "Mil i timen", "knot": "Knob", + "inch-per-second": "Tommer pr. sekund", + "inch-per-hour": "Tommer pr. time", "millimeters-per-minute": "Millimeter pr. minut", + "meter-per-minute": "Meter pr. minut", "kilometer-per-hour-squared": "Kilometer i timen i anden", "foot-per-second-squared": "Fod pr. sekund i anden", "pascal": "Pascal", @@ -5923,6 +6203,7 @@ "newton-per-meter": "Newton pr. meter", "atmospheres": "Atmosfærer", "pounds-per-square-inch": "Pund pr. kvadrattomme", + "kilopound-per-square-inch": "Kilopund pr. kvadrattomme", "torr": "Torr", "inches-of-mercury": "Tommer kviksølv", "pascal-per-square-meter": "Pascal pr. kvadratmeter", @@ -5940,10 +6221,16 @@ "megajoule": "Megajoule", "gigajoule": "Gigajoule", "watt-hour": "Watt-time", + "watt-minute": "Watt-minut", "kilowatt-hour": "Kilowatt-time", + "milliwatt-hour": "Milliwatt-time", + "megawatt-hour": "Megawatt-time", + "gigawatt-hour": "Gigawatt-time", "electron-volts": "Elektronvolt", "joules-per-coulomb": "Joule pr. coulomb", "british-thermal-unit": "Britiske termiske enheder", + "thousand-british-thermal-unit": "Tusinde britiske termiske enheder", + "million-british-thermal-unit": "Million britiske termiske enheder", "foot-pound": "Fodpund", "calorie": "Kalorie", "small-calorie": "Lille kalorie", @@ -5974,10 +6261,20 @@ "watt-per-square-inch": "Watt pr. kvadrattomme", "kilowatt-per-square-inch": "Kilowatt pr. kvadrattomme", "horsepower": "Hestekræfter", - "btu-per-hour": "Britiske termiske enheder/time", + "btu-per-hour": "Britiske termiske enheder pr. time", + "btu-per-second": "Britiske termiske enheder pr. sekund", + "btu-per-day": "Britiske termiske enheder pr. dag", + "mbtu-per-hour": "Tusinde BTU pr. time", + "mbtu-per-second": "Tusinde BTU pr. sekund", + "mbtu-per-day": "Tusinde BTU pr. dag", + "mmbtu-per-hour": "Million BTU pr. time", + "mmbtu-per-second": "Million BTU pr. sekund", + "mmbtu-per-day": "Million BTU pr. dag", + "foot-pound-per-second": "Fodpund pr. sekund", "coulomb": "Coulomb", "millicoulomb": "Millicoulomb", "microcoulomb": "Mikrocoulomb", + "nanocoulomb": "Nanocoulomb", "picocoulomb": "Picocoulomb", "coulomb-per-meter": "Coulomb pr. meter", "coulomb-per-cubic-meter": "Coulomb pr. kubikmeter", @@ -5987,7 +6284,7 @@ "square-meter": "Kvadratmeter", "hectare": "Hektar", "square-kilometer": "Kvadratkilometer", - "square-inch": "Kvadrattomme", + "square-inch": "Kvadrattommer", "square-foot": "Kvadratfod", "square-yard": "Kvadratyard", "acre": "Acre", @@ -5996,24 +6293,31 @@ "barn": "Barn", "circular-inch": "Cirkulær tomme", "milliampere-hour": "Milliampere-time", - "ampere-hours": "Amperetimer", - "kiloampere-hours": "Kiloamperetimer", + "ampere-hours": "Ampere-timer", + "kiloampere-hours": "Kiloampere-timer", "nanoampere": "Nanoampere", "picoampere": "Picoampere", "microampere": "Mikroampere", "milliampere": "Milliampere", "ampere": "Ampere", + "kiloampere": "Kiloampere", + "megaampere": "Megaampere", + "gigaampere": "Gigaampere", "microampere-per-square-centimeter": "Mikroampere pr. kvadratcentimeter", "ampere-per-square-meter": "Ampere pr. kvadratmeter", "ampere-per-meter": "Ampere pr. meter", "oersted": "Oersted", "bohr-magneton": "Bohr magneton", - "ampere-meter-squared": "Ampere-meter kvadreret", + "ampere-meter-squared": "Ampere meter i anden", "nanovolt": "Nanovolt", "picovolt": "Picovolt", + "millivolt": "Millivolt", + "microvolt": "Mikrovolt", "volt": "Volt", - "dbmV": "dBmV", - "dbm": "dBm", + "kilovolt": "Kilovolt", + "megavolt": "Megavolt", + "dbmV": "Decibel volt", + "dbm": "Decibel-milliwatt", "volt-meter": "Volt-meter", "kilovolt-meter": "Kilovolt-meter", "megavolt-meter": "Megavolt-meter", @@ -6023,13 +6327,15 @@ "ohm": "Ohm", "microohm": "Mikroohm", "milliohm": "Milliohm", - "kilohm": "Kiloohm", - "megohm": "Megaohm", - "gigohm": "Gigaohm", + "kilohm": "Kilohm", + "megohm": "Megohm", + "gigohm": "Gigohm", + "millihertz": "Millihertz", "hertz": "Hertz", "kilohertz": "Kilohertz", "megahertz": "Megahertz", "gigahertz": "Gigahertz", + "terahertz": "Terahertz", "rpm": "Omdrejninger pr. minut", "candela-per-square-meter": "Candela pr. kvadratmeter", "candela": "Candela", @@ -6037,8 +6343,8 @@ "lux": "Lux", "foot-candle": "Foot-candle", "lumen-per-square-meter": "Lumen pr. kvadratmeter", - "lux-second": "Lux sekund", - "lumen-second": "Lumen sekund", + "lux-second": "Lux-sekund", + "lumen-second": "Lumen-sekund", "lumens-per-watt": "Lumen pr. watt", "mole": "Mol", "nanomole": "Nanomol", @@ -6046,9 +6352,9 @@ "millimole": "Millimol", "kilomole": "Kilomol", "mole-per-cubic-meter": "Mol pr. kubikmeter", - "rssi": "RSSI", - "ppm": "Dele pr. million", - "ppb": "Dele pr. milliard", + "rssi": "Signalstyrkeindikator (RSSI)", + "ppm": "Dele pr. million (ppm)", + "ppb": "Dele pr. milliard (ppb)", "micrograms-per-cubic-meter": "Mikrogram pr. kubikmeter", "aqi": "Luftkvalitetsindeks (AQI)", "gram-per-cubic-meter": "Gram pr. kubikmeter", @@ -6115,6 +6421,9 @@ "millibars": "Millibar", "inch-of-mercury": "Tommer kviksølv", "richter-scale": "Richterskala", + "nanosecond": "Nanosekund", + "microsecond": "Mikrosekund", + "millisecond": "Millisekund", "second": "Sekund", "minute": "Minut", "hour": "Time", @@ -6127,9 +6436,10 @@ "cubic-meters-per-second": "Kubikmeter pr. sekund", "liter-per-second": "Liter pr. sekund", "liter-per-minute": "Liter pr. minut", - "gallons-per-minute": "Galloner pr. minut", + "gallons-per-minute": "Gallons pr. minut", "cubic-foot-per-second": "Kubikfod pr. sekund", "milliliters-per-minute": "Milliliter pr. minut", + "cubic-decimeter-per-second": "Kubikdecimeter pr. sekund", "bit": "Bit", "byte": "Byte", "kilobyte": "Kilobyte", @@ -6152,6 +6462,9 @@ "degree": "Grad", "radian": "Radian", "gradian": "Gradian", + "arcminute": "Bue minut", + "arcsecond": "Bue sekund", + "milliradian": "Milliradian", "revolution": "Omdrejning", "siemens": "Siemens", "millisiemens": "Millisiemens", @@ -6221,10 +6534,12 @@ "radian-per-second": "Radian pr. sekund", "radian-per-second-squared": "Radian pr. sekund i anden", "revolutions-per-minute-per-second": "Vinkelacceleration", - "deg-per-second": "grader/sekund", + "deg-per-second": "Grader pr. sekund", + "rotation-per-minute": "Rotation pr. minut", "degrees-brix": "Grader Brix", "katal": "Katal", - "katal-per-cubic-metre": "Katal pr. kubikmeter" + "katal-per-cubic-metre": "Katal pr. kubikmeter", + "paris-inch": "Paris-tomme" }, "user": { "user": "Bruger", @@ -6256,7 +6571,7 @@ "default-dashboard": "Standard dashboard", "always-fullscreen": "Altid fuldskærm", "select-user": "Vælg bruger", - "no-users-matching": "Ingen brugere matcher '{{entity}}'.", + "no-users-matching": "Ingen brugere, der matcher '{{entity}}', blev fundet.", "user-required": "Bruger er påkrævet", "activation-method": "Aktiveringsmetode", "display-activation-link": "Vis aktiveringslink", @@ -6362,7 +6677,7 @@ "updated": "{{updated}} opdateret", "deleted": "{{deleted}} slettet", "remove-other-entities-confirm-text": "Vær forsigtig! Dette vil permanent slette alle nuværende enheder
som ikke er til stede i den version, du ønsker at gendanne.

Indtast \"remove other entities\" for at bekræfte.", - "auto-commit-to-branch": "auto-commit til {{ branch }} gren", + "auto-commit-to-branch": "auto-commit til {{ branch }}-grenen", "default-create-entity-version-name": "{{entityName}} opdatering", "sync-strategy-merge-hint": "Opretter eller opdaterer valgte enheder i arkivet. Alle andre enheder i arkivet ændres ikke.", "sync-strategy-overwrite-hint": "Opretter eller opdaterer valgte enheder i arkivet. Alle andre enheder i arkivet bliver slettet.", @@ -6382,28 +6697,28 @@ "all-widgets": "Alle widgets", "widget": "Widget", "select-widget": "Vælg widget", - "no-widgets-matching": "Ingen widgets matcher '{{entity}}'.", + "no-widgets-matching": "Ingen widgets, der matcher '{{entity}}', blev fundet.", "no-widgets": "Ingen widgets endnu", "no-widgets-text": "Ingen widgets fundet", "management": "Widgetadministration", "editor": "Widget-editor", - "confirm-to-exit-editor-html": "Du har ikke gemte widgetindstillinger.
Er du sikker på, at du vil forlade denne side?", - "widget-type-not-found": "Problem med indlæsning af widgetkonfiguration.
Den tilknyttede widgettype er muligvis blevet fjernet.", - "widget-type-load-error": "Widget blev ikke indlæst pga. følgende fejl:", + "confirm-to-exit-editor-html": "Du har ikke gemt dine widgetindstillinger.
Er du sikker på, at du vil forlade denne side?", + "widget-type-not-found": "Problem med at indlæse widgetkonfiguration.
Den tilknyttede widgettype er sandsynligvis blevet fjernet.", + "widget-type-load-error": "Widget blev ikke indlæst på grund af følgende fejl:", "remove": "Fjern widget", "delete": "Slet widget", "edit": "Rediger widget", "remove-widget-title": "Er du sikker på, at du vil fjerne widgetten '{{widgetTitle}}'?", - "remove-widget-text": "Efter bekræftelse vil widgetten og alle relaterede data være uoprettelige.", + "remove-widget-text": "Efter bekræftelse vil widgetten og alle tilknyttede data ikke kunne gendannes.", "replace-reference-with-widget-copy": "Erstat reference med kopi af widget", - "timeseries": "Tidsserie", + "timeseries": "Tidsserier", "search-data": "Søg data", "no-data-found": "Ingen data fundet", "latest": "Seneste værdier", "rpc": "Kontrolwidget", "alarm": "Alarmwidget", "static": "Statisk widget", - "timeseries-short": "serie", + "timeseries-short": "serier", "latest-short": "seneste", "rpc-short": "kontrol", "alarm-short": "alarm", @@ -7774,6 +8089,18 @@ "fill-area-opacity": "Gennemsigtighed for områdeudfyldning", "range-chart-style": "Stil for område-diagram" }, + "knob": { + "behavior": "Adfærd", + "initial-value": "Startværdi", + "initial-value-hint": "Handling til at hente startværdien for knappen.", + "on-value-change": "Ved værdiskift", + "on-value-change-hint": "Handling udløst, når værdien på knappen ændres.", + "range": "Interval", + "min": "min", + "max": "maks", + "value": "Værdi", + "fallback-initial-value": "Fallback startværdi" + }, "rpc": { "value-settings": "Indstillinger for værdi", "initial-value": "Startværdi", @@ -7830,9 +8157,7 @@ "led-status-value-timeseries": "Enheds tidsserie der indeholder LED-statusværdi", "check-status-method": "RPC-metode til kontrol af enhedsstatus", "parse-led-status-value-function": "Fortolk LED-statusværdi-funktion", - "knob-title": "Titel for knap", - "min-value": "Minimumværdi", - "max-value": "Maksimumværdi" + "knob-title": "Titel for knap" }, "maps": { "map-type": { @@ -8676,18 +9001,22 @@ "pie-chart-card-style": "Kortstil for cirkeldiagram" }, "radar-chart": { - "radar-appearance": "Udseende for radardiagram", + "radar-appearance": "Radar-udseende", "shape": "Form", "shape-polygon": "Polygon", "shape-circle": "Cirkel", "color": "Farve", "line": "Linje", "points": "Punkter", - "points-label": "Etiket for punkter", + "points-label": "Punktetiket", "radar-axis": "Radarakse", "axis-label": "Aksesetiket", - "ticks-label": "Etiket for mærker", - "radar-chart-style": "Stil for radardiagram" + "ticks-label": "Taktetiket", + "radar-chart-style": "Radar-diagramstil", + "max-axes-scaling": "Maks. akseskalering", + "max-axes-scaling-hint": "Vælg om hver radarakse skal have sin egen maksimale værdi (Separat), eller om den deler den højeste værdi på tværs af alle akser baseret på widget-datasættet (Fælles).", + "separate": "Separat", + "common": "Fælles" }, "time-series-chart": { "chart": "Diagram", @@ -9191,6 +9520,6 @@ "items-per-page-separator": "af" }, "language": { - "language": "Language" + "language": "Sprog" } -} +} \ No newline at end of file diff --git a/ui-ngx/src/assets/locale/locale.constant-de_DE.json b/ui-ngx/src/assets/locale/locale.constant-de_DE.json index f48081bee3..64ce0695d6 100644 --- a/ui-ngx/src/assets/locale/locale.constant-de_DE.json +++ b/ui-ngx/src/assets/locale/locale.constant-de_DE.json @@ -545,7 +545,13 @@ "slack-settings": "Slack-Einstellungen", "mobile-settings": "Mobile Einstellungen", "firebase-service-account-file": "Firebase-Service-Konto-Anmeldeinformationen (JSON-Datei)", - "select-firebase-service-account-file": "Ziehen Sie Ihre Firebase-Service-Konto-Datei hierher oder " + "select-firebase-service-account-file": "Ziehen Sie Ihre Firebase-Service-Konto-Datei hierher oder ", + "trendz": "Trendz", + "trendz-settings": "Trendz-Einstellungen", + "trendz-url": "Trendz-URL", + "trendz-url-required": "Trendz-URL ist erforderlich", + "trendz-api-key": "Trendz-API-Schlüssel", + "trendz-enable": "Trendz aktivieren" }, "alarm": { "alarm": "Alarm", @@ -677,8 +683,8 @@ "filter-type-entity-list": "Entitätsliste", "filter-type-entity-name": "Entitätsname", "filter-type-entity-type": "Entitätstyp", - "filter-type-state-entity": "Entität aus Dashboard-Zustand", - "filter-type-state-entity-description": "Entität aus Dashboard-Zustandsparametern", + "filter-type-state-entity": "Entität aus dem Dashboard-Zustand", + "filter-type-state-entity-description": "Entität, die aus den Dashboard-Zustandsparametern stammt", "filter-type-asset-type": "Asset-Typ", "filter-type-asset-type-description": "Assets vom Typ '{{assetTypes}}'", "filter-type-asset-type-and-name-description": "Assets vom Typ '{{assetTypes}}' mit Namen beginnend mit '{{prefix}}'", @@ -709,12 +715,13 @@ "filter-type-required": "Filtertyp ist erforderlich.", "entity-filter-no-entity-matched": "Keine Entitäten entsprechen dem angegebenen Filter.", "no-entity-filter-specified": "Kein Entitätsfilter angegeben", - "root-state-entity": "Dashboard-Zustandsentität als Root verwenden", + "root-state-entity": "Dashboard-Zustandsentität als Wurzel verwenden", "last-level-relation": "Nur letzte Beziehungsebene abrufen", - "root-entity": "Root-Entität", + "root-entity": "Wurzelentität", "state-entity-parameter-name": "Parametername der Zustandsentität", "default-state-entity": "Standard-Zustandsentität", "default-entity-parameter-name": "Standardmäßig", + "query-options": "Abfrageoptionen", "max-relation-level": "Maximale Beziehungsebene", "unlimited-level": "Unbegrenzte Ebene", "state-entity": "Dashboard-Zustandsentität", @@ -917,18 +924,23 @@ "view-statistics": "Statistiken anzeigen" }, "api-limit": { - "cassandra-queries": "Cassandra-Abfragen", + "cassandra-write-queries-core": "REST-API Cassandra-Schreibabfragen", + "cassandra-read-queries-core": "REST-API- und WS-Telemetrie Cassandra-Leseabfragen", + "cassandra-write-queries-rule-engine": "Rule Engine Telemetrie Cassandra-Schreibabfragen", + "cassandra-read-queries-rule-engine": "Rule Engine Telemetrie Cassandra-Leseabfragen", + "cassandra-write-queries-monolith": "Monolith Telemetrie Cassandra-Schreibabfragen", + "cassandra-read-queries-monolith": "Monolith Telemetrie Cassandra-Leseabfragen", "entity-version-creation": "Erstellung von Entitätsversionen", "entity-version-load": "Laden von Entitätsversionen", - "notification-requests": "Benachrichtigungsanforderungen", - "notification-requests-per-rule": "Benachrichtigungsanforderungen pro Regel", + "notification-requests": "Benachrichtigungsanfragen", + "notification-requests-per-rule": "Benachrichtigungsanfragen pro Regel", "rest-api-requests": "REST-API-Anfragen", "rest-api-requests-per-customer": "REST-API-Anfragen pro Kunde", "transport-messages": "Transportnachrichten", "transport-messages-per-device": "Transportnachrichten pro Gerät", "transport-messages-per-gateway": "Transportnachrichten pro Gateway", "transport-messages-per-gateway-device": "Transportnachrichten pro Gateway-Gerät", - "ws-updates-per-session": "WebSocket-Aktualisierungen pro Sitzung", + "ws-updates-per-session": "WS-Updates pro Sitzung", "edge-events": "Edge-Ereignisse", "edge-events-per-edge": "Edge-Ereignisse pro Edge", "edge-uplink-messages": "Edge-Uplink-Nachrichten", @@ -1057,6 +1069,7 @@ "delete-multiple-title": "Möchten Sie { count, plural, =1 {1 berechnetes Feld} other {# berechnete Felder} } wirklich löschen?", "delete-multiple-text": "Vorsicht, nach der Bestätigung werden alle ausgewählten berechneten Felder entfernt und alle zugehörigen Daten unwiederbringlich gelöscht.", "test-with-this-message": "Mit dieser Nachricht testen", + "use-latest-timestamp": "Letzten Zeitstempel verwenden", "hint": { "arguments-simple-with-rolling": "Einfacher Feldtyp darf keine Schlüssel mit Zeitreihen-Rollup-Typ enthalten.", "arguments-empty": "Argumente dürfen nicht leer sein.", @@ -1072,9 +1085,87 @@ "max-args": "Maximale Anzahl an Argumenten erreicht.", "decimals-range": "Standard-Dezimalstellen sollten eine Zahl zwischen 0 und 15 sein.", "expression": "Standardausdruck demonstriert, wie eine Temperatur von Fahrenheit in Celsius umgewandelt wird.", - "arguments-entity-not-found": "Zielentität des Arguments nicht gefunden." + "arguments-entity-not-found": "Zielentität des Arguments nicht gefunden.", + "use-latest-timestamp": "Wenn aktiviert, wird der berechnete Wert mit dem neuesten Zeitstempel aus der Telemetrie der Argumente gespeichert, anstatt mit der Serverzeit." } }, + "ai-models": { + "ai-models": "KI-Modelle", + "ai-model": "KI-Modell", + "model": "Modell", + "name": "Name", + "ai-provider": "KI-Anbieter", + "no-found": "Keine KI-Modelle gefunden", + "list": "{ count, plural, =1 {Ein Modell} other {Liste von # Modellen} }", + "selected-fields": "{ count, plural, =1 {1 Modell} other {# Modelle} } ausgewählt", + "add": "Modell hinzufügen", + "delete-model-title": "Sind Sie sicher, dass Sie das Modell '{{modelName}}' löschen möchten?", + "delete-model-text": "Achtung, nach der Bestätigung wird das Modell und alle zugehörigen Daten unwiederbringlich gelöscht.", + "delete-models-title": "Sind Sie sicher, dass Sie { count, plural, =1 {1 Modell} other {# Modelle} } löschen möchten?", + "delete-models-text": "Achtung, nach der Bestätigung werden alle ausgewählten Modelle entfernt und alle zugehörigen Daten unwiederbringlich gelöscht.", + "ai-providers": { + "openai": "OpenAI", + "azure-openai": "Azure OpenAI", + "google-ai-gemini": "Google AI Gemini", + "google-vertex-ai-gemini": "Google Vertex AI Gemini", + "mistral-ai": "Mistral AI", + "anthropic": "Anthropic", + "amazon-bedrock": "Amazon Bedrock", + "github-models": "GitHub-Modelle" + }, + "name-required": "Name ist erforderlich.", + "name-max-length": "Der Name darf höchstens 255 Zeichen lang sein.", + "provider": "Anbieter", + "api-key": "API-Schlüssel", + "api-key-required": "API-Schlüssel ist erforderlich.", + "project-id": "Projekt-ID", + "project-id-required": "Projekt-ID ist erforderlich.", + "location": "Standort", + "location-required": "Standort ist erforderlich.", + "service-account-key-file": "Dienstkontoschlüssel-Datei", + "service-account-key-file-required": "Dienstkontoschlüssel-Datei ist erforderlich.", + "no-file": "Keine Datei ausgewählt.", + "drop-file": "Datei ablegen oder klicken, um eine Datei auszuwählen.", + "personal-access-token": "Persönlicher Zugriffstoken", + "personal-access-token-required": "Persönlicher Zugriffstoken ist erforderlich.", + "configuration": "Konfiguration", + "model-id": "Modell-ID", + "model-id-required": "Modell-ID ist erforderlich.", + "deployment-name": "Bereitstellungsname", + "deployment-name-required": "Bereitstellungsname ist erforderlich.", + "set": "Festlegen", + "region": "Region", + "region-required": "Region ist erforderlich.", + "access-key-id": "Access Key ID", + "access-key-id-required": "Access Key ID ist erforderlich.", + "secret-access-key": "Secret Access Key", + "secret-access-key-required": "Secret Access Key ist erforderlich.", + "temperature": "Temperatur", + "temperature-hint": "Reguliert den Grad der Zufälligkeit im Modellausgang. Höhere Werte erhöhen die Zufälligkeit, niedrigere verringern sie.", + "temperature-min": "Muss 0 oder größer sein.", + "top-p": "Top P", + "top-p-hint": "Erstellt einen Pool der wahrscheinlichsten Tokens, aus denen das Modell auswählt. Höhere Werte erweitern den Pool, niedrigere verkleinern ihn.", + "top-p-min-max": "Muss größer als 0 und maximal 1 sein.", + "top-k": "Top K", + "top-k-hint": "Begrenzt die Auswahl des Modells auf die „K“ wahrscheinlichsten Tokens.", + "top-k-min": "Muss 0 oder größer sein.", + "presence-penalty": "Strafe für Anwesenheit", + "presence-penalty-hint": "Wendet eine feste Strafe auf die Wahrscheinlichkeit eines Tokens an, wenn es bereits im Text erschienen ist.", + "frequency-penalty": "Strafe für Häufigkeit", + "frequency-penalty-hint": "Verringert die Wahrscheinlichkeit eines Tokens basierend auf seiner Häufigkeit im Text.", + "max-output-tokens": "Maximale Ausgabetokens", + "max-output-tokens-min": "Muss größer als 0 sein.", + "max-output-tokens-hint": "Legt die maximale Anzahl an Tokens fest, die das Modell in einer Antwort generieren kann.", + "endpoint": "Endpunkt", + "endpoint-required": "Endpunkt ist erforderlich.", + "service-version": "Service-Version", + "check-connectivity": "Konnektivität prüfen", + "check-connectivity-success": "Testanfrage war erfolgreich", + "check-connectivity-failed": "Testanfrage fehlgeschlagen", + "no-model-matching": "Keine mit '{{entity}}' übereinstimmenden Modelle gefunden.", + "model-required": "Modell ist erforderlich.", + "no-model-text": "Keine Modelle gefunden." + }, "confirm-on-exit": { "message": "Sie haben ungespeicherte Änderungen. Möchten Sie diese Seite wirklich verlassen?", "html-message": "Sie haben ungespeicherte Änderungen.
Möchten Sie diese Seite wirklich verlassen?", @@ -1754,6 +1845,7 @@ "selected-options-limit": "Auswahloptionen Limit", "advanced-ui-settings": "Erweiterte UI-Einstellungen", "disable-on-property": "Bei Eigenschaft deaktivieren", + "disable-on-property-none": "Keine (Feld immer aktiviert)", "display-condition-function": "Anzeigebedingungsfunktion", "sub-label": "Unterbezeichnung", "vertical-divider-after": "Vertikale Trennlinie danach", @@ -1787,7 +1879,8 @@ "array-item": "Array-Element", "item-type": "Elementtyp", "item-name": "Elementname", - "no-items": "Keine Elemente" + "no-items": "Keine Elemente", + "support-unit-conversion": "Unterstützt Einheitenumrechnung" }, "clear-form": "Formular löschen", "clear-form-prompt": "Möchten Sie wirklich alle Formulareigenschaften entfernen?", @@ -1911,6 +2004,7 @@ "mqtt-use-json-format-for-default-downlink-topics-hint": "Wenn aktiviert, wird das JSON-Format für die Standard-Downlink-Themen verwendet, z.B.: v1/devices/me/attributes/response/$request_id. Neue v2-Themen sind davon nicht betroffen.", "mqtt-send-ack-on-validation-exception": "PUBACK bei Validierungsfehler senden", "mqtt-send-ack-on-validation-exception-hint": "Standardmäßig wird die Sitzung bei einem Validierungsfehler geschlossen. Wenn aktiviert, wird stattdessen eine Bestätigung gesendet.", + "mqtt-protocol-version": "Protokollversion", "snmp-add-mapping": "SNMP-Zuordnung hinzufügen", "snmp-mapping-not-configured": "Keine Zuordnung für OID zu Zeitreihen/Telemetrie konfiguriert", "snmp-timseries-or-attribute-name": "Zeitreihe/Attributname für Zuordnung", @@ -2171,6 +2265,9 @@ "add-lwm2m-server-config": "LwM2M-Server hinzufügen", "no-config-servers": "Keine Server konfiguriert", "others-tab": "Weitere Einstellungen", + "ota-update": "OTA-Update", + "use-object-19-for-ota-update": "Objekt 19 für OTA-Dateimetadaten verwenden (Prüfsumme, Größe, Version, Name)", + "use-object-19-for-ota-update-hint": "Verwenden Sie Resource ObjectId = 19 für OTA-Updates: Firmware → InstanceId = 65534, Software → InstanceId = 65535. Das Datenformat ist JSON, codiert in Base64. Dieses JSON enthält OTA-Dateimetadaten (Dateiinformationen): „Checksum“ (SHA256). Zusätzliche Felder: „Title“ (OTA-Name), „Version“ (OTA-Version), „File Name“ (Dateiname zur Speicherung auf dem Client), „File Size“ (OTA-Größe in Bytes).", "client-strategy": "Client-Strategie beim Verbinden", "client-strategy-label": "Strategie", "client-strategy-only-observe": "Nur Beobachtungsanfragen nach der ersten Verbindung", @@ -2201,7 +2298,17 @@ "default-object-id": "Standardobjektversion (Attribut)", "default-object-id-ver": { "v1-0": "1.0", - "v1-1": "1.1" + "v1-1": "1.1", + "v1-2": "1.2" + }, + "observe-strategy": { + "observe-strategy": "Beobachtungsstrategie", + "single": "Einzeln", + "single-description": "Eine Beobachtungsanfrage pro Ressource (höhere Präzision, mehr Netzwerkverkehr)", + "composite-all": "Komplett zusammengefasst", + "composite-all-description": "Alle Ressourcen werden mit einer einzigen zusammengefassten Beobachtungsanfrage überwacht (effizienter, weniger flexibel)", + "composite-by-object": "Nach Objekten zusammengefasst", + "composite-by-object-description": "Ressourcen werden nach Objekttyp gruppiert und mit separaten zusammengefassten Beobachtungsanfragen überwacht (ausgewogener Ansatz)" } }, "snmp": { @@ -2524,6 +2631,8 @@ "type-current-user-owner": "Aktueller Benutzerinhaber", "type-calculated-field": "Berechnetes Feld", "type-calculated-fields": "Berechnete Felder", + "type-ai-model": "KI-Modell", + "type-ai-models": "KI-Modelle", "type-widgets-bundle": "Widget-Bündel", "type-widgets-bundles": "Widget-Bündel", "list-of-widgets-bundles": "{ count, plural, =1 {Ein Widget-Bündel} other {Liste von # Widget-Bündeln} }", @@ -2553,6 +2662,8 @@ "type-tb-resources": "Ressourcen", "list-of-tb-resources": "{ count, plural, =1 {Eine Ressource} other {Liste von # Ressourcen} }", "type-ota-package": "OTA-Paket", + "type-ota-packages": "OTA-Pakete", + "list-of-ota-packages": "{ count, plural, =1 {Ein OTA-Paket} other {Liste von # OTA-Paketen} }", "type-rpc": "RPC", "type-queue": "Warteschlange", "type-queue-stats": "Warteschlangenstatistiken", @@ -2933,11 +3044,12 @@ "duplicate-filter": "Ein Filter mit demselben Namen existiert bereits.", "filters": "Filter", "unable-delete-filter-title": "Filter kann nicht gelöscht werden", - "unable-delete-filter-text": "Filter '{{filter}}' kann nicht gelöscht werden, da er von folgendem/n Widget(s) verwendet wird:
{{widgetsList}}", - "duplicate-filter-error": "Doppelter Filter gefunden '{{filter}}'.
Filter müssen innerhalb des Dashboards eindeutig sein.", - "missing-key-filters-error": "Schlüsselfilter fehlen für Filter '{{filter}}'.", + "unable-delete-filter-text": "Der Filter '{{filter}}' kann nicht gelöscht werden, da er von folgenden Widget(s) verwendet wird:
{{widgetsList}}", + "duplicate-filter-error": "Doppelter Filter gefunden '{{filter}}'.
Filter müssen innerhalb des Dashboards eindeutig sein.", + "missing-key-filters-error": "Schlüsselfilter fehlt für Filter '{{filter}}'.", "filter": "Filter", "editable": "Bearbeitbar", + "editable-hint": "Benutzern erlauben, den Filterwert in Dashboards zu ändern.", "no-filters-found": "Keine Filter gefunden.", "no-filter-text": "Kein Filter angegeben", "add-filter-prompt": "Bitte Filter hinzufügen", @@ -2977,6 +3089,8 @@ "filter-user-params": "Filterprädikat-Benutzerparameter", "user-parameters": "Benutzerparameter", "display-label": "Anzeigebezeichnung", + "custom-label": "Benutzerdefiniertes Label", + "custom-label-hint": "Aktivieren Sie diese Option, um ein eigenes Label für den Filter festzulegen. Wenn deaktiviert, wird automatisch ein Label generiert.", "order-priority": "Priorität der Feldreihenfolge", "key-filter": "Schlüsselfilter", "key-filters": "Schlüsselfilter", @@ -3021,7 +3135,8 @@ "switch-to-dynamic-value": "Auf dynamischen Wert umschalten", "switch-to-default-value": "Auf Standardwert umschalten", "inherit-owner": "Vom Eigentümer übernehmen", - "source-attribute-not-set": "Falls Quellattribut nicht gesetzt ist" + "source-attribute-not-set": "Falls Quellattribut nicht gesetzt ist", + "unit": "Einheit" }, "fullscreen": { "expand": "Auf Vollbildmodus erweitern", @@ -3406,6 +3521,7 @@ "power-button-background": "Hintergrund des Netzschalters", "value-box-background": "Hintergrund der Wertbox", "value-units": "Werteinheiten", + "enable-units-scale": "Einheiten auf Skala aktivieren", "filtration-mode": "Filtrationsmodus", "filtration-mode-hint": "Ganzzahlige Angabe des aktuellen Filtrationsmodus.", "filtration-mode-update": "Filtrationsmodus-Aktualisierung", @@ -3722,6 +3838,8 @@ "mobile-package-max-length": "Anwendungspaket sollte weniger als 256 Zeichen enthalten", "mobile-package-required": "Anwendungspaket ist erforderlich.", "mobile-package-pattern": "Ungültiges Format des Anwendungspakets", + "mobile-package-title": "Anwendungstitel", + "mobile-package-title-max-length": "Der Anwendungstitel sollte weniger als 256 Zeichen umfassen", "no-application": "Keine Anwendungen gefunden", "no-bundles": "Keine Bundles gefunden", "platform-type": "Plattformtyp", @@ -3802,20 +3920,16 @@ "configuration-app": "Konfigurations-App", "configuration-step": { "prepare-environment-title": "Entwicklungsumgebung vorbereiten", - "prepare-environment-text": "Für die ThingsBoard Flutter Mobile App wird das Flutter SDK benötigt. Folgen Sie den Anweisungen zur Einrichtung des Flutter SDK.", - "get-source-code-title": "Quellcode der App erhalten", - "get-source-code-text": "Sie können den Quellcode der ThingsBoard Flutter Mobile App durch Klonen des GitHub-Repositories erhalten:", - "configure-api-title": "ThingsBoard API-Endpunkt konfigurieren", - "configure-api-text": "Öffnen Sie das Projekt 'flutter_thingsboard_pe_app' in Ihrem Editor/IDE. Bearbeiten Sie:", - "configure-api-hint": "Setzen Sie den Wert der Konstante 'thingsBoardApiEndpoint' entsprechend dem API-Endpunkt Ihrer ThingsBoard-Instanz. Verwenden Sie keine Hostnamen wie „localhost“ oder „127.0.0.1“.", + "prepare-environment-text": "Die Flutter ThingsBoard Mobile App erfordert das Flutter SDK. Befolgen Sie die Anweisungen zur Einrichtung des Flutter SDK.", + "get-source-code-title": "App-Quellcode beziehen", + "get-source-code-text": "Sie können den Quellcode der Flutter ThingsBoard Mobile App durch Klonen aus dem GitHub-Repository beziehen:", + "configure-app-settings-title": "App-Einstellungen konfigurieren", + "configure-app-settings-text": "Laden Sie die Konfigurationsdatei herunter und platzieren Sie sie im Stammverzeichnis des Projekts, das Sie im vorherigen Schritt geklont haben.", + "download-file": "Datei herunterladen", "run-app-title": "App ausführen", - "run-app-text": "Führen Sie die App wie in Ihrer IDE beschrieben aus.\nWenn Sie das Terminal verwenden, führen Sie folgenden Befehl aus:", - "more-information": "Detaillierte Informationen finden Sie in unserer Einstiegsdokumentation.", - "getting-started": "Erste Schritte", - "configure-package-title": "Anwendungspaket konfigurieren", - "configure-package-text": "Sie können das Anwendungspaket manuell ändern oder ein CLI-Tool eines Drittanbieters verwenden.", - "configure-package-text-install": "Um das Rename CLI Tool zu installieren, führen Sie folgenden Befehl aus:", - "configure-package-run-commands": "Führen Sie diese Befehle im Stammverzeichnis Ihres Projekts aus:" + "run-app-text": "Führen Sie die App wie in Ihrer IDE beschrieben aus.\nWenn Sie das Terminal verwenden, führen Sie die App mit folgendem Befehl aus:", + "more-information": "Detaillierte Informationen finden Sie in unserer Erste-Schritte-Dokumentation.", + "getting-started": "Erste Schritte" } }, "notification": { @@ -3839,6 +3953,7 @@ "new-platform-version-trigger-settings": "Neue Plattformversion Auslöser-Einstellungen", "rate-limits-trigger-settings": "Auslöser für überschrittene Ratenlimits", "task-processing-failure-trigger-settings": "Aufgabenverarbeitungsfehler Auslöser-Einstellungen", + "resources-shortage-trigger-settings": "Auslöseeinstellungen bei Ressourcenknappheit", "at-least-one-should-be-selected": "Mindestens eine Auswahl muss getroffen werden", "basic-settings": "Grundeinstellungen", "button-text": "Schaltflächentext", @@ -3853,6 +3968,7 @@ "create-new": "Neu erstellen", "created": "Erstellt", "customize-messages": "Nachrichten anpassen", + "cpu-threshold": "CPU-Schwellenwert", "delete-notification-text": "Seien Sie vorsichtig, nach der Bestätigung ist die Benachrichtigung nicht wiederherstellbar.", "delete-notification-title": "Sind Sie sicher, dass Sie die Benachrichtigung löschen möchten?", "delete-notifications-text": "Seien Sie vorsichtig, nach der Bestätigung sind die Benachrichtigungen nicht wiederherstellbar.", @@ -3919,6 +4035,7 @@ "input-fields-support-templatization": "Eingabefelder unterstützen Templatisierung.", "link": "Link", "link-required": "Link ist erforderlich", + "link-max-length": "Der Link darf maximal {{ length }} Zeichen lang sein", "link-type": { "dashboard": "Dashboard öffnen", "link": "URL-Link öffnen" @@ -3945,6 +4062,7 @@ "no-severity-found": "Keine Schwere gefunden", "no-severity-matching": "'{{severity}}' nicht gefunden.", "no-template-matching": "Keine Ressource passend zu '{{template}}' gefunden.", + "create-new-template": "Erstellen Sie eine neue!", "not-found-slack-recipient": "Slack-Empfänger nicht gefunden", "notification": "Benachrichtigung", "notification-center": "Benachrichtigungszentrale", @@ -3968,6 +4086,7 @@ "only-rule-chain-lifecycle-failures": "Nur Lebenszyklusfehler von Regelketten", "only-rule-node-lifecycle-failures": "Nur Lebenszyklusfehler von Regelknoten", "platform-users": "Plattformbenutzer", + "ram-threshold": "RAM-Schwellenwert", "rate-limits": "Ratenbegrenzungen", "rate-limits-hint": "Wenn das Feld leer ist, wird der Auslöser auf alle Ratenbegrenzungen angewendet", "recipient": "Empfänger", @@ -4033,6 +4152,7 @@ "start-from-scratch": "Von vorne beginnen", "status": "Status", "stop-escalation-alarm-status-become": "Eskalation beenden, wenn Alarmstatus wird zu:", + "storage-threshold": "Speicher-Schwellenwert", "subject": "Betreff", "subject-required": "Betreff ist erforderlich", "subject-max-length": "Betreff sollte höchstens {{ length }} Zeichen lang sein", @@ -4048,13 +4168,14 @@ "entities-limit": "Entitätenlimit", "entity-action": "Entitätsaktion", "general": "Allgemein", - "rule-engine-lifecycle-event": "Regelmaschinenlebenszyklusereignis", - "rule-node": "Regelknoten", + "rule-engine-lifecycle-event": "Lebenszyklusereignis der Rule Engine", + "rule-node": "Rule Node", "new-platform-version": "Neue Plattformversion", - "rate-limits": "Überschrittene Ratenlimits", + "rate-limits": "Rate-Limits überschritten", "edge-communication-failure": "Edge-Kommunikationsfehler", "edge-connection": "Edge-Verbindung", - "task-processing-failure": "Fehler bei der Aufgabenverarbeitung" + "task-processing-failure": "Fehler bei der Aufgabenverarbeitung", + "resources-shortage": "Ressourcenknappheit" }, "templates": "Vorlagen", "notification-templates": "Benachrichtigungen / Vorlagen", @@ -4072,12 +4193,13 @@ "device-activity": "Geräteaktivität", "entities-limit": "Entitätenlimit", "entity-action": "Entitätsaktion", - "rule-engine-lifecycle-event": "Regelmaschinenlebenszyklusereignis", + "rule-engine-lifecycle-event": "Lebenszyklusereignis der Rule Engine", "new-platform-version": "Neue Plattformversion", - "rate-limits": "Überschrittene Ratenlimits", + "rate-limits": "Rate-Limits überschritten", "edge-connection": "Edge-Verbindung", "edge-communication-failure": "Edge-Kommunikationsfehler", "task-processing-failure": "Fehler bei der Aufgabenverarbeitung", + "resources-shortage": "Ressourcenknappheit", "trigger": "Auslöser", "trigger-required": "Auslöser ist erforderlich" }, @@ -4119,6 +4241,7 @@ "checksum-copied-message": "Paket-Prüfsumme wurde in die Zwischenablage kopiert", "change-firmware": "Die Änderung der Firmware kann ein Update von { count, plural, =1 {1 Gerät} other {# Geräten} } verursachen.", "change-software": "Die Änderung der Software kann ein Update von { count, plural, =1 {1 Gerät} other {# Geräten} } verursachen.", + "change-ota-setting-title": "Sind Sie sicher, dass Sie die OTA-Einstellungen ändern möchten?", "chose-compatible-device-profile": "Das hochgeladene Paket ist nur für Geräte mit dem ausgewählten Profil verfügbar.", "chose-firmware-distributed-device": "Firmware auswählen, die auf die Geräte verteilt wird", "chose-software-distributed-device": "Software auswählen, die auf die Geräte verteilt wird", @@ -4314,6 +4437,7 @@ "add-relation-filter": "Beziehungsfilter hinzufügen", "any-relation": "Beliebige Beziehung", "relation-filters": "Beziehungsfilter", + "relation-filter": "Beziehungsfilter", "additional-info": "Zusätzliche Informationen (JSON)", "invalid-additional-info": "Zusätzliche Info-JSON kann nicht geparst werden.", "no-relations-text": "Keine Beziehungen gefunden", @@ -4635,7 +4759,7 @@ "copy-from": "Kopieren von", "data-to-metadata": "Daten zu Metadaten", "metadata-to-data": "Metadaten zu Daten", - "use-regular-expression-hint": "Verwenden Sie reguläre Ausdrücke zum Kopieren nach Muster.\n\nTipps:\nEnter = Eingabe abschließen\nBackspace = löschen\nMehrere Felder erlaubt.", + "use-regular-expression-hint": "Verwenden Sie reguläre Ausdrücke, um Schlüssel anhand eines Musters zu kopieren.\n\nTipps & Tricks:\nDrücken Sie 'Enter', um die Eingabe des Feldnamens abzuschließen.\nDrücken Sie 'Rücktaste', um den Feldnamen zu löschen. Mehrere Feldnamen werden unterstützt.", "interval": "Intervall", "interval-required": "Intervall ist erforderlich", "interval-hint": "Deduplizierungsintervall in Sekunden.", @@ -4889,9 +5013,9 @@ "connect-timeout-required": "Verbindungs-Timeout ist erforderlich.", "connect-timeout-range": "Verbindungs-Timeout muss im Bereich von 1 bis 200 liegen.", "client-id": "Client-ID", - "client-id-hint": "Optional. Leer lassen für automatisch generierte Client-ID. Vorsicht beim Festlegen der Client-ID: Die meisten MQTT-Broker erlauben keine mehrfachen Verbindungen mit derselben Client-ID. Um mit solchen Brokern zu verbinden, muss deine MQTT-Client-ID eindeutig sein. Wenn die Plattform im Microservice-Modus betrieben wird, wird eine Kopie des Regelknotens in jedem Microservice gestartet. Dies führt automatisch zu mehreren MQTT-Clients mit derselben ID und kann zu Fehlern führen. Um dies zu vermeiden, aktiviere die Option „Dienst-ID als Suffix zur Client-ID hinzufügen“ unten.", + "client-id-hint": "Optional. Leer lassen für automatisch generierte Client-ID. Vorsicht beim Festlegen der Client-ID: Die meisten MQTT-Broker erlauben keine mehrfachen Verbindungen mit derselben Client-ID. Um mit solchen Brokern zu verbinden, muss deine MQTT-Client-ID eindeutig sein. Wenn die Plattform im Microservice-Modus betrieben wird, wird eine Kopie des Regelknotens in jedem Microservice gestartet. Dies führt automatisch zu mehreren MQTT-Clients mit derselben ID und kann zu Fehlern führen. Um dies zu vermeiden, aktiviere die Option \"Dienst-ID als Suffix zur Client-ID hinzufügen\" unten.", "append-client-id-suffix": "Dienst-ID als Suffix zur Client-ID hinzufügen", - "client-id-suffix-hint": "Optional. Wird angewendet, wenn die „Client-ID“ explizit angegeben wurde. Falls ausgewählt, wird die Dienst-ID als Suffix zur Client-ID hinzugefügt. Hilft Fehler zu vermeiden, wenn die Plattform im Microservice-Modus läuft.", + "client-id-suffix-hint": "Optional. Wird angewendet, wenn die \"Client ID\" explizit angegeben ist. Falls ausgewählt, wird die Service-ID als Suffix zur Client-ID hinzugefügt. Dies hilft, Fehler zu vermeiden, wenn die Plattform im Microservices-Modus betrieben wird.", "device-id": "Geräte-ID", "device-id-required": "Geräte-ID ist erforderlich.", "clean-session": "Saubere Sitzung", @@ -5304,6 +5428,36 @@ "html-text-description": "Ermöglicht HTML-Tags zur Formatierung, für Links und Bilder im Nachrichtentext.", "dynamic-text-description": "Erlaubt die dynamische Verwendung von reinem Text oder HTML basierend auf der Templating-Funktion.", "after-template-evaluation-hint": "Nach der Template-Auswertung muss der Wert true für HTML und false für reinen Text sein." + }, + "ai": { + "ai-model": "KI-Modell", + "model": "Modell", + "ai-model-hint": "Wählen Sie das vorkonfigurierte KI-Modell zur Verarbeitung der von diesem Rule Node gesendeten Anfragen aus, oder verwenden Sie „Neu erstellen“, um ein neues zu konfigurieren.", + "prompt-settings": "Prompt-Einstellungen", + "prompt-settings-hint": "Der optionale System-Prompt definiert die allgemeine Rolle und Einschränkungen der KI, während der Benutzer-Prompt die spezifische Aufgabe beschreibt. Beide Felder unterstützen auch die Verwendung von Templates.", + "system-prompt": "System-Prompt", + "system-prompt-max-length": "Der System-Prompt darf maximal 10.000 Zeichen lang sein.", + "system-prompt-blank": "Der System-Prompt darf nicht leer sein.", + "user-prompt": "Benutzer-Prompt", + "user-prompt-required": "Benutzer-Prompt ist erforderlich.", + "user-prompt-max-length": "Der Benutzer-Prompt darf maximal 10.000 Zeichen lang sein.", + "user-prompt-blank": "Der Benutzer-Prompt darf nicht leer sein.", + "response-format": "Antwortformat", + "response-text": "Text", + "response-json": "JSON", + "response-json-schema": "JSON-Schema", + "response-format-hint-TEXT": "Erlaubt dem Modell, beliebigen Text zu generieren, der möglicherweise kein gültiges JSON-Objekt ist. Ist die Ausgabe kein gültiges JSON, wird sie automatisch in ein JSON-Objekt unter dem Schlüssel \"response\" eingebettet.", + "response-format-hint-JSON": "Das Modell muss eine gültige JSON-Antwort erzeugen. Ist die Ausgabe kein gültiges JSON-Objekt, wird sie automatisch unter dem Schlüssel \"response\" eingebettet.", + "response-format-hint-JSON_SCHEMA": "Das Modell muss ein JSON erzeugen, das der im bereitgestellten Schema definierten Struktur und den Datentypen entspricht. Ist das Ergebnis kein gültiges JSON-Objekt, wird es automatisch unter dem Schlüssel \"response\" eingebettet.", + "response-json-schema-hint": "Obwohl jedes gültige JSON-Schema eingegeben werden kann, unterstützt dieser Rule Node nur einen begrenzten Funktionsumfang. Details finden Sie in der Dokumentation des Nodes.", + "response-json-schema-required": "JSON-Schema ist erforderlich", + "advanced-settings": "Erweiterte Einstellungen", + "timeout": "Zeitüberschreitung", + "timeout-hint": "Maximale Zeit, die auf eine Antwort \nvom KI-Modell gewartet wird, bevor die Anfrage abgebrochen wird.", + "timeout-required": "Zeitüberschreitung ist erforderlich", + "timeout-validation": "Muss zwischen 1 Sekunde und 10 Minuten liegen.", + "force-acknowledgement": "Erzwinge Bestätigung", + "force-acknowledgement-hint": "Wenn aktiviert, wird die eingehende Nachricht sofort bestätigt. Die Antwort des Modells wird dann als separate, neue Nachricht eingereiht." } }, "timezone": { @@ -5625,7 +5779,10 @@ "too-small-value-zero": "Der Wert muss größer als 0 sein", "too-small-value-one": "Der Wert muss größer als 1 sein", "queue-size-is-limited-by-system-configuration": "Die Größe der Warteschlange ist auch durch die Systemkonfiguration begrenzt.", - "cassandra-tenant-limits-configuration": "Cassandra-Abfrage für Mieter", + "cassandra-write-tenant-core-limits-configuration": "REST-API Cassandra-Schreibabfragen", + "cassandra-read-tenant-core-limits-configuration": "REST-API- und WS-Telemetrie Cassandra-Leseabfragen", + "cassandra-write-tenant-rule-engine-limits-configuration": "Rule Engine Telemetrie Cassandra-Schreibabfragen", + "cassandra-read-tenant-rule-engine-limits-configuration": "Rule Engine-Telemetrie-Cassandra-Leseabfragen", "ws-limit-max-sessions-per-tenant": "Maximale Sitzungen pro Mieter", "ws-limit-max-sessions-per-customer": "Maximale Sitzungen pro Kunde", "ws-limit-max-sessions-per-regular-user": "Maximale Sitzungen pro normalem Benutzer", @@ -5638,6 +5795,7 @@ "ws-limit-updates-per-session": "WebSocket-Aktualisierungen pro Sitzung", "rate-limits": { "add-limit": "Limit hinzufügen", + "and-also-less-than": "und außerdem kleiner als", "advanced-settings": "Erweiterte Einstellungen", "edit-limit": "Limit bearbeiten", "calculated-field-debug-event-rate-limit": "Berechnete Feld-Debug-Ereignisse", @@ -5657,7 +5815,10 @@ "edit-tenant-rest-limits-title": "REST-Anfragelimits für Mieter bearbeiten", "edit-customer-rest-limits-title": "REST-Anfragelimits für Kunden bearbeiten", "edit-ws-limit-updates-per-session-title": "Limit für WebSocket-Aktualisierungen pro Sitzung bearbeiten", - "edit-cassandra-tenant-limits-configuration-title": "Cassandra-Abfrage-Limits für Mieter bearbeiten", + "edit-cassandra-write-tenant-core-limits-configuration": "REST-API Cassandra-Schreibabfragen bearbeiten", + "edit-cassandra-read-tenant-core-limits-configuration": "REST-API- und WS-Telemetrie Cassandra-Leseabfragen bearbeiten", + "edit-cassandra-write-tenant-rule-engine-limits-configuration": "Rule Engine Telemetrie Cassandra-Schreibabfragen bearbeiten", + "edit-cassandra-read-tenant-rule-engine-limits-configuration": "Rule Engine Telemetrie Cassandra-Leseabfragen bearbeiten", "edit-tenant-entity-export-rate-limit-title": "Limit für Entitätsversionserstellung bearbeiten", "edit-tenant-entity-import-rate-limit-title": "Limit für Entitätsversionsladevorgang bearbeiten", "edit-tenant-notification-request-rate-limit-title": "Limit für Benachrichtigungsanfragen bearbeiten", @@ -5679,6 +5840,7 @@ "per-seconds": "Pro Sekunde", "per-seconds-required": "Zeitintervall ist erforderlich.", "per-seconds-min": "Minimalwert ist 1.", + "per-seconds-duplicate": "Doppelte Zeitrate. Jeder Zeitintervall muss eindeutig sein.", "rate-limits": "Ratenlimits", "remove-limit": "Limit entfernen", "transport-tenant-msg": "Transport-Mieter-Nachrichten", @@ -5827,12 +5989,124 @@ "date": "Datum", "show-date-time-interval": "Datum/Zeit-Intervall anzeigen", "show-date-time-interval-hint": "Datum/Zeit-Intervall gemäß Datenaggregation anzeigen.", + "hide-zero-tooltip-values": "Nullwerte ausblenden", "background-color": "Hintergrundfarbe", "background-blur": "Hintergrundunschärfe" }, "unit": { + "set-unit-conversion": "Einheitenumrechnung festlegen", + "unit-settings": { + "unit-settings": "Einheitseinstellungen", + "source-unit": "Ausgangseinheit", + "source-unit-hint": "Dies ist die Einheit des gespeicherten Wertes. Die Einheit, aus der konvertiert wird. Geben Sie das Symbol ein, das Ihre Quelldaten verwenden (z. B. m, km, ft, in).", + "target-metric-unit": "Ziel-Metrikeinheit", + "target-metric-unit-hint": "Wählen Sie die Metrikeinheit (SI), in die Ihr Quellwert umgerechnet werden soll (z. B. cm, mm, km).", + "target-imperial-unit": "Ziel-Imperialeinheit", + "target-imperial-unit-hint": "Wählen Sie die Imperialeinheit, in die Ihr Quellwert umgerechnet werden soll (z. B. in, ft, yd).", + "target-hybrid-unit": "Ziel-Hybrideinheit", + "target-hybrid-unit-hint": "Wählen Sie die Hybrideinheit, in die Ihr Quellwert umgerechnet werden soll (z. B. cm, in, km). Hybride Einheiten kombinieren metrische oder imperiale Einheiten.", + "enable-unit-conversion": "Einheitenumrechnung aktivieren", + "enable-unit-conversion-hint": "Aktivieren Sie diese Option, um die Umrechnung zu aktivieren. Wenn deaktiviert, wird der Quellwert unverändert übernommen. Deaktiviert, wenn es in der entsprechenden Messeinheitsgruppe nur eine Einheit gibt (z. B. Lichtstrom, AQI)." + }, + "unit-system": "Einheitensystem", + "unit-system-type": { + "AUTO": "Automatisch", + "METRIC": "Metrisch", + "IMPERIAL": "Imperial", + "HYBRID": "Hybrid" + }, + "measures": { + "absorbed-dose-rate": "Absorptionsdosisrate", + "acceleration": "Beschleunigung", + "acidity": "Säuregrad", + "air-quality-index": "Luftqualitätsindex", + "amount-of-substance": "Stoffmenge", + "angle": "Winkel", + "angular-acceleration": "Winkelbeschleunigung", + "area": "Fläche", + "area-density": "Flächendichte", + "capacitance": "Kapazität", + "catalytic-activity": "Katalytische Aktivität", + "catalytic-concentration": "Katalytische Konzentration", + "charge": "Ladung", + "current-density": "Stromdichte", + "data-transfer-rate": "Datenübertragungsrate", + "density": "Dichte", + "digital": "Digital", + "dimension-ratio": "Maßverhältnis", + "dynamic-viscosity": "Dynamische Viskosität", + "earthquake-magnitude": "Erdbebenstärke", + "electric-charge-density": "Elektrische Ladungsdichte", + "electric-current": "Elektrischer Strom", + "electric-dipole-moment": "Elektrisches Dipolmoment", + "electric-field-strength": "Elektrische Feldstärke", + "electric-flux": "Elektrischer Fluss", + "electric-permittivity": "Elektrische Permittivität", + "electric-polarizability": "Elektrische Polarisierbarkeit", + "electrical-conductance": "Elektrische Leitfähigkeit", + "electrical-conductivity": "Elektrische Leitfähigkeit", + "energy": "Energie", + "energy-density": "Energiedichte", + "force": "Kraft", + "frequency": "Frequenz", + "fuel-efficiency": "Kraftstoffeffizienz", + "heat-capacity": "Wärmekapazität", + "illuminance": "Beleuchtungsstärke", + "inductance": "Induktivität", + "kinematic-viscosity": "Kinematische Viskosität", + "length": "Länge", + "light-exposure": "Lichtexposition", + "linear-charge-density": "Lineare Ladungsdichte", + "logarithmic-ratio": "Logarithmisches Verhältnis", + "luminous-efficacy": "Lichtausbeute", + "luminous-flux": "Lichtstrom", + "luminous-intensity": "Lichtstärke", + "magnetic-field-gradient": "Magnetfeldgradient", + "magnetic-flux": "Magnetischer Fluss", + "magnetic-flux-density": "Magnetische Flussdichte", + "magnetic-moment": "Magnetisches Moment", + "magnetic-permeability": "Magnetische Permeabilität", + "mass": "Masse", + "mass-fraction": "Massenanteil", + "molar-concentration": "Molare Konzentration", + "molar-energy": "Molare Energie", + "molar-heat-capacity": "Molare Wärmekapazität", + "molar-mass": "Molmasse", + "number-concentration": "Teilchenkonzentration", + "parts-per-million": "Teile pro Million", + "power": "Leistung", + "power-density": "Leistungsdichte", + "pressure": "Druck", + "radiance": "Strahldichte", + "radiant-intensity": "Strahlungsintensität", + "radiation-dose": "Strahlendosis", + "radioactive-decay": "Radioaktiver Zerfall", + "radioactivity": "Radioaktivität", + "radioactivity-concentration": "Radioaktivitätskonzentration", + "reciprocal-length": "Reziproke Länge", + "resistance": "Widerstand", + "reynolds-number": "Reynolds-Zahl", + "signal-level": "Signalpegel", + "solid-angle": "Raumwinkel", + "specific-energy": "Spezifische Energie", + "specific-heat-capacity": "Spezifische Wärmekapazität", + "specific-humidity": "Spezifische Luftfeuchtigkeit", + "specific-volume": "Spezifisches Volumen", + "speed": "Geschwindigkeit", + "surface-charge-density": "Oberflächenladungsdichte", + "surface-tension": "Oberflächenspannung", + "temperature": "Temperatur", + "thermal-conductivity": "Wärmeleitfähigkeit", + "time": "Zeit", + "torque": "Drehmoment", + "turbidity": "Trübung", + "voltage": "Spannung", + "volume": "Volumen", + "volume-flow": "Volumenstrom" + }, "millimeter": "Millimeter", "centimeter": "Zentimeter", + "decimeter": "Dezimeter", "angstrom": "Angström", "nanometer": "Nanometer", "micrometer": "Mikrometer", @@ -5840,6 +6114,7 @@ "kilometer": "Kilometer", "inch": "Zoll", "foot": "Fuß", + "foot-us": "Fuß (US-Vermessung)", "yard": "Yard", "mile": "Meile", "nautical-mile": "Seemeile", @@ -5849,14 +6124,14 @@ "steradian": "Steradiant", "thou": "Thou", "barleycorn": "Gerstenkorn", - "hand": "Handbreit", + "hand": "Handbreite", "chain": "Kette", "furlong": "Furlong", - "league": "Leuge", + "league": "Legua", "fathom": "Faden", "cable": "Kabellänge", "link": "Glied", - "rod": "Rute", + "rod": "Stange", "nanogram": "Nanogramm", "microgram": "Mikrogramm", "milligram": "Milligramm", @@ -5866,12 +6141,12 @@ "ounce": "Unze", "pound": "Pfund", "stone": "Stone", - "hundredweight-count": "Zentner", - "short-tons": "US-Tonnen", + "hundredweight-count": "Zentner (US)", + "short-tons": "Kurztonnen", "dalton": "Dalton", - "grain": "Grain", + "grain": "Korn", "drachm": "Drachme", - "quarter": "Quarter", + "quarter": "Viertelzentner", "slug": "Slug", "carat": "Karat", "cubic-millimeter": "Kubikmillimeter", @@ -5886,6 +6161,7 @@ "cubic-foot": "Kubikfuß", "cubic-yard": "Kubikyard", "fluid-ounce": "Flüssigunze", + "fluid-ounce-per-second": "Flüssigunze pro Sekunde", "pint": "Pint", "quart": "Quart", "gallon": "Gallone", @@ -5904,9 +6180,13 @@ "meter-per-second": "Meter pro Sekunde", "kilometer-per-hour": "Kilometer pro Stunde", "foot-per-second": "Fuß pro Sekunde", + "foot-per-minute": "Fuß pro Minute", "mile-per-hour": "Meile pro Stunde", "knot": "Knoten", + "inch-per-second": "Zoll pro Sekunde", + "inch-per-hour": "Zoll pro Stunde", "millimeters-per-minute": "Millimeter pro Minute", + "meter-per-minute": "Meter pro Minute", "kilometer-per-hour-squared": "Kilometer pro Stunde zum Quadrat", "foot-per-second-squared": "Fuß pro Sekunde zum Quadrat", "pascal": "Pascal", @@ -5918,11 +6198,12 @@ "kilobar": "Kilobar", "newton": "Newton", "newton-meter": "Newtonmeter", - "foot-pounds": "Fuß-Pfund", - "inch-pounds": "Zoll-Pfund", + "foot-pounds": "Fußpfund", + "inch-pounds": "Zollpfund", "newton-per-meter": "Newton pro Meter", "atmospheres": "Atmosphären", "pounds-per-square-inch": "Pfund pro Quadratzoll", + "kilopound-per-square-inch": "Kilopfund pro Quadratzoll", "torr": "Torr", "inches-of-mercury": "Zoll Quecksilbersäule", "pascal-per-square-meter": "Pascal pro Quadratmeter", @@ -5940,11 +6221,17 @@ "megajoule": "Megajoule", "gigajoule": "Gigajoule", "watt-hour": "Wattstunde", + "watt-minute": "Wattminute", "kilowatt-hour": "Kilowattstunde", + "milliwatt-hour": "Milliwattstunde", + "megawatt-hour": "Megawattstunde", + "gigawatt-hour": "Gigawattstunde", "electron-volts": "Elektronenvolt", "joules-per-coulomb": "Joule pro Coulomb", "british-thermal-unit": "Britische Wärmeeinheit (BTU)", - "foot-pound": "Fuß-Pfund", + "thousand-british-thermal-unit": "Tausend BTU", + "million-british-thermal-unit": "Million BTU", + "foot-pound": "Fußpfund", "calorie": "Kalorie", "small-calorie": "Kleine Kalorie", "kilocalorie": "Kilokalorie", @@ -5953,7 +6240,7 @@ "joule-per-kilogram": "Joule pro Kilogramm", "watt-per-meter-kelvin": "Watt pro Meter-Kelvin", "joule-per-cubic-meter": "Joule pro Kubikmeter", - "therm": "Therm", + "therm": "Therme", "electric-dipole-moment": "Elektrisches Dipolmoment", "magnetic-dipole-moment": "Magnetisches Dipolmoment", "debye": "Debye", @@ -5975,9 +6262,19 @@ "kilowatt-per-square-inch": "Kilowatt pro Quadratzoll", "horsepower": "Pferdestärke", "btu-per-hour": "BTU pro Stunde", + "btu-per-second": "BTU pro Sekunde", + "btu-per-day": "BTU pro Tag", + "mbtu-per-hour": "Tausend BTU pro Stunde", + "mbtu-per-second": "Tausend BTU pro Sekunde", + "mbtu-per-day": "Tausend BTU pro Tag", + "mmbtu-per-hour": "Million BTU pro Stunde", + "mmbtu-per-second": "Million BTU pro Sekunde", + "mmbtu-per-day": "Million BTU pro Tag", + "foot-pound-per-second": "Fußpfund pro Sekunde", "coulomb": "Coulomb", "millicoulomb": "Millicoulomb", "microcoulomb": "Mikrocoulomb", + "nanocoulomb": "Nanocoulomb", "picocoulomb": "Picocoulomb", "coulomb-per-meter": "Coulomb pro Meter", "coulomb-per-cubic-meter": "Coulomb pro Kubikmeter", @@ -5995,25 +6292,32 @@ "are": "Ar", "barn": "Barn", "circular-inch": "Kreiszoll", - "milliampere-hour": "Milliampere-Stunde", + "milliampere-hour": "Milliamperestunde", "ampere-hours": "Amperestunden", "kiloampere-hours": "Kiloamperestunden", "nanoampere": "Nanoampere", - "picoampere": "Picoampere", + "picoampere": "Pikoampere", "microampere": "Mikroampere", "milliampere": "Milliampere", "ampere": "Ampere", + "kiloampere": "Kiloampere", + "megaampere": "Megaampere", + "gigaampere": "Gigaampere", "microampere-per-square-centimeter": "Mikroampere pro Quadratzentimeter", "ampere-per-square-meter": "Ampere pro Quadratmeter", "ampere-per-meter": "Ampere pro Meter", "oersted": "Oersted", - "bohr-magneton": "Bohrsche Magneton", + "bohr-magneton": "Bohrsches Magneton", "ampere-meter-squared": "Ampere-Quadratmeter", "nanovolt": "Nanovolt", - "picovolt": "Picovolt", + "picovolt": "Pikovolt", + "millivolt": "Millivolt", + "microvolt": "Mikrovolt", "volt": "Volt", - "dbmV": "dBmV", - "dbm": "dBm", + "kilovolt": "Kilovolt", + "megavolt": "Megavolt", + "dbmV": "Dezibel-Volt", + "dbm": "Dezibel-Milliwatt", "volt-meter": "Volt-Meter", "kilovolt-meter": "Kilovolt-Meter", "megavolt-meter": "Megavolt-Meter", @@ -6026,10 +6330,12 @@ "kilohm": "Kiloohm", "megohm": "Megaohm", "gigohm": "Gigaohm", + "millihertz": "Millihertz", "hertz": "Hertz", "kilohertz": "Kilohertz", "megahertz": "Megahertz", "gigahertz": "Gigahertz", + "terahertz": "Terahertz", "rpm": "Umdrehungen pro Minute", "candela-per-square-meter": "Candela pro Quadratmeter", "candela": "Candela", @@ -6046,13 +6352,13 @@ "millimole": "Millimol", "kilomole": "Kilomol", "mole-per-cubic-meter": "Mol pro Kubikmeter", - "rssi": "RSSI", - "ppm": "Teile pro Million", - "ppb": "Teile pro Milliarde", + "rssi": "Signalstärkeindikator (RSSI)", + "ppm": "Teile pro Million (ppm)", + "ppb": "Teile pro Milliarde (ppb)", "micrograms-per-cubic-meter": "Mikrogramm pro Kubikmeter", "aqi": "Luftqualitätsindex (AQI)", "gram-per-cubic-meter": "Gramm pro Kubikmeter", - "gram-per-kilogram": "Spezifische Feuchtigkeit", + "gram-per-kilogram": "Spezifische Luftfeuchtigkeit", "millimeters-per-second": "Millimeter pro Sekunde", "neper": "Neper", "bel": "Bel", @@ -6103,18 +6409,21 @@ "g-force": "g-Kraft", "kilonewton": "Kilonewton", "kilogram-force": "Kilopond", - "pound-force": "Pfundkraft", - "kilopound-force": "Kilopfundkraft", + "pound-force": "Pfund-Kraft", + "kilopound-force": "Kilopfund-Kraft", "dyne": "Dyne", "poundal": "Poundal", "kip": "Kip", "gal": "Gal", - "gravity": "Schwerkraft", + "gravity": "Gravitation", "hectopascal": "Hektopascal", "atmosphere": "Atmosphäre", "millibars": "Millibar", - "inch-of-mercury": "Zoll Quecksilbersäule", + "inch-of-mercury": "Zoll Quecksilber", "richter-scale": "Richterskala", + "nanosecond": "Nanosekunde", + "microsecond": "Mikrosekunde", + "millisecond": "Millisekunde", "second": "Sekunde", "minute": "Minute", "hour": "Stunde", @@ -6130,6 +6439,7 @@ "gallons-per-minute": "Gallonen pro Minute", "cubic-foot-per-second": "Kubikfuß pro Sekunde", "milliliters-per-minute": "Milliliter pro Minute", + "cubic-decimeter-per-second": "Kubikdezimeter pro Sekunde", "bit": "Bit", "byte": "Byte", "kilobyte": "Kilobyte", @@ -6152,13 +6462,16 @@ "degree": "Grad", "radian": "Radiant", "gradian": "Gon", + "arcminute": "Bogenminute", + "arcsecond": "Bogensekunde", + "milliradian": "Milliradiant", "revolution": "Umdrehung", "siemens": "Siemens", "millisiemens": "Millisimens", - "microsiemens": "Mikrosiemens", - "kilosiemens": "Kilosiemens", - "megasiemens": "Megasiemens", - "gigasiemens": "Gigasiemens", + "microsiemens": "Mikrosimens", + "kilosiemens": "Kilosimens", + "megasiemens": "Megasimens", + "gigasiemens": "Gigasimens", "farad": "Farad", "millifarad": "Millifarad", "microfarad": "Mikrofarad", @@ -6182,17 +6495,17 @@ "lambda": "Lambda", "square-meter-per-second": "Quadratmeter pro Sekunde", "square-centimeter-per-second": "Quadratzentimeter pro Sekunde", - "stoke": "Stoke", + "stoke": "Stokes", "centistokes": "Zentistokes", "square-foot-per-second": "Quadratfuß pro Sekunde", "square-inch-per-second": "Quadratzoll pro Sekunde", "pascal-second": "Pascal-Sekunde", "centipoise": "Zentipoise", "poise": "Poise", - "reynolds": "Reynolds", + "reynolds": "Reynolds-Zahl", "pound-per-foot-hour": "Pfund pro Fuß-Stunde", - "newton-second-per-square-meter": "Newtonsekunde pro Quadratmeter", - "dyne-second-per-square-centimeter": "Dynesekunde pro Quadratzentimeter", + "newton-second-per-square-meter": "Newton-Sekunde pro Quadratmeter", + "dyne-second-per-square-centimeter": "Dyne-Sekunde pro Quadratzentimeter", "kilogram-per-meter-second": "Kilogramm pro Meter-Sekunde", "tesla-square-meters": "Tesla-Quadratmeter", "maxwell": "Maxwell", @@ -6220,11 +6533,13 @@ "kilovolts-per-meter": "Kilovolt pro Meter", "radian-per-second": "Radiant pro Sekunde", "radian-per-second-squared": "Radiant pro Sekunde zum Quadrat", - "revolutions-per-minute-per-second": "Drehbeschleunigung", + "revolutions-per-minute-per-second": "Winkelbeschleunigung", "deg-per-second": "Grad pro Sekunde", + "rotation-per-minute": "Umdrehungen pro Minute", "degrees-brix": "Grad Brix", "katal": "Katal", - "katal-per-cubic-metre": "Katal pro Kubikmeter" + "katal-per-cubic-metre": "Katal pro Kubikmeter", + "paris-inch": "Pariser Zoll" }, "user": { "user": "Benutzer", @@ -6707,9 +7022,9 @@ "advanced-settings": "Erweiterte Einstellungen", "data-settings": "Daten-Einstellungen", "limits": "Grenzwerte", - "no-data-display-message": "Alternative Nachricht bei fehlenden Daten", - "data-page-size": "Maximale Anzahl von Entitäten pro Datenquelle", - "settings-component-not-found": "Einstellungsformular-Komponente für Selector '{{selector}}' nicht gefunden", + "no-data-display-message": "Alternative Meldung für \"Keine Daten zur Anzeige\"", + "data-page-size": "Maximale Entitäten pro Datenquelle", + "settings-component-not-found": "Einstellungsformular-Komponente für Selektor '{{selector}}' nicht gefunden", "preview": "Vorschau", "set": "Festlegen", "set-message": "Nachricht festlegen", @@ -7774,6 +8089,18 @@ "fill-area-opacity": "Füllbereichsdeckkraft", "range-chart-style": "Stil des Bereichsdiagramms" }, + "knob": { + "behavior": "Verhalten", + "initial-value": "Anfangswert", + "initial-value-hint": "Aktion zum Abrufen des Anfangswerts des Reglers.", + "on-value-change": "Beim Wertwechsel", + "on-value-change-hint": "Aktion, die ausgelöst wird, wenn der Reglerwert geändert wird.", + "range": "Bereich", + "min": "min", + "max": "max", + "value": "Wert", + "fallback-initial-value": "Ausweich-Anfangswert" + }, "rpc": { "value-settings": "Werteinstellungen", "initial-value": "Anfangswert", @@ -7830,9 +8157,7 @@ "led-status-value-timeseries": "Zeitreihe des Geräts mit LED-Statuswert", "check-status-method": "RPC-Methode zur Geräteprüfung", "parse-led-status-value-function": "Funktion zum Parsen des LED-Statuswerts", - "knob-title": "Drehregler-Titel", - "min-value": "Minimalwert", - "max-value": "Maximalwert" + "knob-title": "Drehregler-Titel" }, "maps": { "map-type": { @@ -8676,18 +9001,22 @@ "pie-chart-card-style": "Kreisdiagramm-Kartenstil" }, "radar-chart": { - "radar-appearance": "Radar-Diagramm", + "radar-appearance": "Radar-Darstellung", "shape": "Form", "shape-polygon": "Polygon", "shape-circle": "Kreis", "color": "Farbe", "line": "Linie", "points": "Punkte", - "points-label": "Punktebezeichnung", + "points-label": "Punktebeschriftung", "radar-axis": "Radar-Achse", "axis-label": "Achsenbeschriftung", - "ticks-label": "Skalenbeschriftung", - "radar-chart-style": "Radar-Diagrammstil" + "ticks-label": "Teilstrichbeschriftung", + "radar-chart-style": "Radar-Diagramm-Stil", + "max-axes-scaling": "Maximale Achsenskalierung", + "max-axes-scaling-hint": "Wählen Sie, ob jede Radarachse ihren eigenen Maximalwert hat (Separat) oder ob alle Achsen den höchsten Wert aus dem Widget-Datensatz gemeinsam nutzen (Gemeinsam).", + "separate": "Separat", + "common": "Gemeinsam" }, "time-series-chart": { "chart": "Diagramm", @@ -9193,4 +9522,4 @@ "language": { "language": "Sprache" } -} +} \ No newline at end of file diff --git a/ui-ngx/src/assets/locale/locale.constant-el_GR.json b/ui-ngx/src/assets/locale/locale.constant-el_GR.json index 151dbeb528..4974a25ac5 100644 --- a/ui-ngx/src/assets/locale/locale.constant-el_GR.json +++ b/ui-ngx/src/assets/locale/locale.constant-el_GR.json @@ -121,11 +121,11 @@ "mqtts": "MQTTs", "coap": "COAP", "coaps": "COAPs", - "hint": "Αν τα πεδία κεντρικού υπολογιστή ή θύρας είναι κενά, θα χρησιμοποιηθεί η προεπιλεγμένη τιμή πρωτοκόλλου.", - "host": "Κεντρικός υπολογιστής", - "port": "Θύρα", - "port-pattern": "Η θύρα πρέπει να είναι θετικός ακέραιος αριθμός.", - "port-range": "Η θύρα πρέπει να είναι στην περιοχή από 1 έως 65535." + "hint": "Αν τα πεδία του υπολογιστή ή της θύρας είναι κενά, θα χρησιμοποιηθεί η προεπιλεγμένη τιμή του πρωτοκόλλου.", + "host": "Υπολογιστής (Host)", + "port": "Θύρα (Port)", + "port-pattern": "Η θύρα πρέπει να είναι ένας θετικός ακέραιος αριθμός.", + "port-range": "Η θύρα πρέπει να είναι εντός του εύρους από 1 έως 65535." }, "mail-from": "Από διεύθυνση email", "mail-from-required": "Η από διεύθυνση email είναι υποχρεωτική.", @@ -540,12 +540,18 @@ "resources": "Πόροι", "notifications": "Ειδοποιήσεις", "notifications-settings": "Ρυθμίσεις ειδοποιήσεων", - "slack-api-token": "Slack API διακριτικό", + "slack-api-token": "Slack API token", "slack": "Slack", "slack-settings": "Ρυθμίσεις Slack", "mobile-settings": "Ρυθμίσεις κινητού", "firebase-service-account-file": "Αρχείο διαπιστευτηρίων λογαριασμού υπηρεσίας Firebase (JSON)", - "select-firebase-service-account-file": "Σύρετε και αποθέστε το αρχείο διαπιστευτηρίων Firebase ή " + "select-firebase-service-account-file": "Σύρετε και αποθέστε το αρχείο διαπιστευτηρίων λογαριασμού υπηρεσίας Firebase ή ", + "trendz": "Trendz", + "trendz-settings": "Ρυθμίσεις Trendz", + "trendz-url": "Διεύθυνση URL Trendz", + "trendz-url-required": "Απαιτείται η διεύθυνση URL του Trendz", + "trendz-api-key": "API κλειδί Trendz", + "trendz-enable": "Ενεργοποίηση Trendz" }, "alarm": { "alarm": "Συναγερμός", @@ -678,7 +684,7 @@ "filter-type-entity-name": "Όνομα οντότητας", "filter-type-entity-type": "Τύπος οντότητας", "filter-type-state-entity": "Οντότητα από την κατάσταση του πίνακα ελέγχου", - "filter-type-state-entity-description": "Οντότητα από παραμέτρους κατάστασης πίνακα ελέγχου", + "filter-type-state-entity-description": "Οντότητα που λαμβάνεται από τις παραμέτρους κατάστασης του πίνακα ελέγχου", "filter-type-asset-type": "Τύπος περιουσιακού στοιχείου", "filter-type-asset-type-description": "Περιουσιακά στοιχεία τύπου '{{assetTypes}}'", "filter-type-asset-type-and-name-description": "Περιουσιακά στοιχεία τύπου '{{assetTypes}}' και με όνομα που ξεκινά με '{{prefix}}'", @@ -709,12 +715,13 @@ "filter-type-required": "Ο τύπος φίλτρου είναι υποχρεωτικός.", "entity-filter-no-entity-matched": "Δεν βρέθηκαν οντότητες που να ταιριάζουν με το καθορισμένο φίλτρο.", "no-entity-filter-specified": "Δεν έχει καθοριστεί φίλτρο οντοτήτων", - "root-state-entity": "Χρήση οντότητας κατάστασης πίνακα ελέγχου ως ριζική", - "last-level-relation": "Ανάκτηση μόνο σχέσης τελευταίου επιπέδου", - "root-entity": "Ριζική οντότητα", + "root-state-entity": "Χρήση της οντότητας κατάστασης του πίνακα ελέγχου ως ρίζα", + "last-level-relation": "Ανάκτηση μόνο της τελευταίας σχέσης επιπέδου", + "root-entity": "Οντότητα ρίζας", "state-entity-parameter-name": "Όνομα παραμέτρου οντότητας κατάστασης", "default-state-entity": "Προεπιλεγμένη οντότητα κατάστασης", - "default-entity-parameter-name": "Προεπιλογή", + "default-entity-parameter-name": "Προεπιλεγμένο", + "query-options": "Επιλογές ερωτήματος", "max-relation-level": "Μέγιστο επίπεδο σχέσης", "unlimited-level": "Απεριόριστο επίπεδο", "state-entity": "Οντότητα κατάστασης πίνακα ελέγχου", @@ -917,22 +924,27 @@ "view-statistics": "Προβολή στατιστικών" }, "api-limit": { - "cassandra-queries": "Ερωτήματα Cassandra", + "cassandra-write-queries-core": "Ερωτήματα εγγραφής Cassandra από REST API", + "cassandra-read-queries-core": "Ερωτήματα ανάγνωσης Cassandra τηλεμετρίας από REST API και WS", + "cassandra-write-queries-rule-engine": "Ερωτήματα εγγραφής Cassandra τηλεμετρίας από Rule Engine", + "cassandra-read-queries-rule-engine": "Ερωτήματα ανάγνωσης Cassandra τηλεμετρίας από Rule Engine", + "cassandra-write-queries-monolith": "Ερωτήματα εγγραφής Cassandra τηλεμετρίας από το Monolith", + "cassandra-read-queries-monolith": "Ερωτήματα ανάγνωσης Cassandra τηλεμετρίας από το Monolith", "entity-version-creation": "Δημιουργία έκδοσης οντότητας", "entity-version-load": "Φόρτωση έκδοσης οντότητας", - "notification-requests": "Αιτήματα ειδοποίησης", - "notification-requests-per-rule": "Αιτήματα ειδοποίησης ανά κανόνα", + "notification-requests": "Αιτήματα ειδοποιήσεων", + "notification-requests-per-rule": "Αιτήματα ειδοποιήσεων ανά κανόνα", "rest-api-requests": "Αιτήματα REST API", "rest-api-requests-per-customer": "Αιτήματα REST API ανά πελάτη", "transport-messages": "Μηνύματα μεταφοράς", "transport-messages-per-device": "Μηνύματα μεταφοράς ανά συσκευή", - "transport-messages-per-gateway": "Μηνύματα μεταφοράς ανά πύλη", - "transport-messages-per-gateway-device": "Μηνύματα μεταφοράς ανά συσκευή πύλης", + "transport-messages-per-gateway": "Μηνύματα μεταφοράς ανά gateway", + "transport-messages-per-gateway-device": "Μηνύματα μεταφοράς ανά συσκευή σε gateway", "ws-updates-per-session": "Ενημερώσεις WS ανά συνεδρία", "edge-events": "Γεγονότα Edge", - "edge-events-per-edge": "Γεγονότα Edge ανά Edge", - "edge-uplink-messages": "Μηνύματα uplink Edge", - "edge-uplink-messages-per-edge": "Μηνύματα uplink ανά Edge" + "edge-events-per-edge": "Γεγονότα Edge ανά μονάδα Edge", + "edge-uplink-messages": "Μηνύματα uplink από Edge", + "edge-uplink-messages-per-edge": "Μηνύματα uplink από Edge ανά μονάδα Edge" }, "audit-log": { "audit": "Έλεγχος", @@ -1057,24 +1069,103 @@ "delete-multiple-title": "Είστε βέβαιοι ότι θέλετε να διαγράψετε { count, plural, =1 {1 υπολογιζόμενο πεδίο} other {# υπολογιζόμενα πεδία} };", "delete-multiple-text": "Προσοχή, μετά την επιβεβαίωση όλα τα επιλεγμένα υπολογιζόμενα πεδία θα διαγραφούν και όλα τα σχετικά δεδομένα δεν θα είναι ανακτήσιμα.", "test-with-this-message": "Δοκιμή με αυτό το μήνυμα", + "use-latest-timestamp": "Χρήση πιο πρόσφατης χρονικής σήμανσης", "hint": { - "arguments-simple-with-rolling": "Το απλού τύπου υπολογιζόμενο πεδίο δεν πρέπει να περιλαμβάνει κλειδιά με τύπο συσσώρευσης χρονοσειράς.", + "arguments-simple-with-rolling": "Τα υπολογιζόμενα πεδία τύπου Simple δεν πρέπει να περιέχουν κλειδιά τύπου time series rolling.", "arguments-empty": "Τα ορίσματα δεν πρέπει να είναι κενά.", - "expression-required": "Η έκφραση είναι υποχρεωτική.", - "expression-invalid": "Η έκφραση δεν είναι έγκυρη", + "expression-required": "Απαιτείται έκφραση.", + "expression-invalid": "Η έκφραση δεν είναι έγκυρη.", "expression-max-length": "Το μήκος της έκφρασης πρέπει να είναι μικρότερο από 255 χαρακτήρες.", - "argument-name-required": "Το όνομα ορίσματος είναι υποχρεωτικό.", - "argument-name-pattern": "Το όνομα ορίσματος δεν είναι έγκυρο.", + "argument-name-required": "Απαιτείται όνομα ορίσματος.", + "argument-name-pattern": "Το όνομα του ορίσματος δεν είναι έγκυρο.", "argument-name-duplicate": "Υπάρχει ήδη όρισμα με αυτό το όνομα.", - "argument-name-max-length": "Το όνομα ορίσματος πρέπει να είναι μικρότερο από 256 χαρακτήρες.", - "argument-name-forbidden": "Το όνομα ορίσματος είναι δεσμευμένο και δεν μπορεί να χρησιμοποιηθεί.", - "argument-type-required": "Ο τύπος ορίσματος είναι υποχρεωτικός.", - "max-args": "Έχει επιτευχθεί ο μέγιστος αριθμός ορισμάτων.", - "decimals-range": "Οι δεκαδικοί στην προεπιλογή πρέπει να είναι αριθμός από 0 έως 15.", - "expression": "Η προεπιλεγμένη έκφραση δείχνει πώς να μετατραπεί η θερμοκρασία από Φαρενάιτ σε Κελσίου.", - "arguments-entity-not-found": "Η οντότητα-στόχος του ορίσματος δεν βρέθηκε." + "argument-name-max-length": "Το όνομα του ορίσματος πρέπει να είναι μικρότερο από 256 χαρακτήρες.", + "argument-name-forbidden": "Το όνομα του ορίσματος είναι δεσμευμένο και δεν μπορεί να χρησιμοποιηθεί.", + "argument-type-required": "Απαιτείται τύπος ορίσματος.", + "max-args": "Έχει επιτευχθεί το μέγιστο πλήθος ορισμάτων.", + "decimals-range": "Ο αριθμός δεκαδικών πρέπει να είναι από 0 έως 15.", + "expression": "Η προεπιλεγμένη έκφραση δείχνει πώς να μετατρέψετε τη θερμοκρασία από Φαρενάιτ σε Κελσίου.", + "arguments-entity-not-found": "Η οντότητα στόχος του ορίσματος δεν βρέθηκε.", + "use-latest-timestamp": "Αν είναι ενεργοποιημένο, η τιμή θα αποθηκευτεί με τη πιο πρόσφατη χρονική σήμανση από τα τηλεμετρικά δεδομένα των ορισμάτων, αντί για την ώρα του διακομιστή." } }, + "ai-models": { + "ai-models": "Μοντέλα AI", + "ai-model": "Μοντέλο AI", + "model": "Μοντέλο", + "name": "Όνομα", + "ai-provider": "Πάροχος AI", + "no-found": "Δεν βρέθηκαν μοντέλα AI", + "list": "{ count, plural, =1 {Ένα μοντέλο} other {Λίστα με # μοντέλα} }", + "selected-fields": "{ count, plural, =1 {1 μοντέλο} other {# μοντέλα} } επιλεγμένα", + "add": "Προσθήκη μοντέλου", + "delete-model-title": "Είστε σίγουροι ότι θέλετε να διαγράψετε το μοντέλο '{{modelName}}';", + "delete-model-text": "Προσοχή, μετά την επιβεβαίωση το μοντέλο και όλα τα σχετικά δεδομένα δεν θα μπορούν να ανακτηθούν.", + "delete-models-title": "Είστε σίγουροι ότι θέλετε να διαγράψετε { count, plural, =1 {1 μοντέλο} other {# μοντέλα} };", + "delete-models-text": "Προσοχή, μετά την επιβεβαίωση όλα τα επιλεγμένα μοντέλα θα διαγραφούν και όλα τα σχετικά δεδομένα δεν θα μπορούν να ανακτηθούν.", + "ai-providers": { + "openai": "OpenAI", + "azure-openai": "Azure OpenAI", + "google-ai-gemini": "Google AI Gemini", + "google-vertex-ai-gemini": "Google Vertex AI Gemini", + "mistral-ai": "Mistral AI", + "anthropic": "Anthropic", + "amazon-bedrock": "Amazon Bedrock", + "github-models": "GitHub Models" + }, + "name-required": "Απαιτείται όνομα.", + "name-max-length": "Το όνομα πρέπει να έχει έως 255 χαρακτήρες.", + "provider": "Πάροχος", + "api-key": "Κλειδί API", + "api-key-required": "Απαιτείται κλειδί API.", + "project-id": "Αναγνωριστικό έργου", + "project-id-required": "Απαιτείται αναγνωριστικό έργου.", + "location": "Τοποθεσία", + "location-required": "Απαιτείται τοποθεσία.", + "service-account-key-file": "Αρχείο κλειδιού λογαριασμού υπηρεσίας", + "service-account-key-file-required": "Απαιτείται αρχείο κλειδιού λογαριασμού υπηρεσίας.", + "no-file": "Δεν επιλέχθηκε αρχείο.", + "drop-file": "Σύρετε ή κάντε κλικ για να επιλέξετε αρχείο προς μεταφόρτωση.", + "personal-access-token": "Προσωπικό διακριτικό πρόσβασης", + "personal-access-token-required": "Απαιτείται προσωπικό διακριτικό πρόσβασης.", + "configuration": "Ρύθμιση παραμέτρων", + "model-id": "Αναγνωριστικό μοντέλου", + "model-id-required": "Απαιτείται αναγνωριστικό μοντέλου.", + "deployment-name": "Όνομα ανάπτυξης", + "deployment-name-required": "Απαιτείται όνομα ανάπτυξης", + "set": "Ορισμός", + "region": "Περιοχή", + "region-required": "Απαιτείται περιοχή.", + "access-key-id": "Αναγνωριστικό κλειδιού πρόσβασης", + "access-key-id-required": "Απαιτείται αναγνωριστικό κλειδιού πρόσβασης.", + "secret-access-key": "Μυστικό κλειδί πρόσβασης", + "secret-access-key-required": "Απαιτείται μυστικό κλειδί πρόσβασης.", + "temperature": "Θερμοκρασία", + "temperature-hint": "Ρυθμίζει το επίπεδο τυχαιότητας στην έξοδο του μοντέλου. Υψηλότερες τιμές αυξάνουν την τυχαιότητα, ενώ χαμηλότερες τη μειώνουν.", + "temperature-min": "Πρέπει να είναι 0 ή μεγαλύτερο.", + "top-p": "Top P", + "top-p-hint": "Δημιουργεί μια ομάδα με τα πιο πιθανά tokens από τα οποία θα επιλέξει το μοντέλο. Υψηλότερες τιμές δημιουργούν μεγαλύτερη και πιο ποικίλη ομάδα.", + "top-p-min-max": "Πρέπει να είναι μεγαλύτερο από 0 και έως 1.", + "top-k": "Top K", + "top-k-hint": "Περιορίζει τις επιλογές του μοντέλου σε ένα καθορισμένο σύνολο με τα \"K\" πιο πιθανά tokens.", + "top-k-min": "Πρέπει να είναι 0 ή μεγαλύτερο.", + "presence-penalty": "Ποινή παρουσίας", + "presence-penalty-hint": "Εφαρμόζει σταθερή ποινή στην πιθανότητα ενός token αν έχει ήδη εμφανιστεί στο κείμενο.", + "frequency-penalty": "Ποινή συχνότητας", + "frequency-penalty-hint": "Εφαρμόζει ποινή στην πιθανότητα ενός token που αυξάνεται με βάση τη συχνότητα εμφάνισής του στο κείμενο.", + "max-output-tokens": "Μέγιστος αριθμός tokens εξόδου", + "max-output-tokens-min": "Πρέπει να είναι μεγαλύτερο από 0.", + "max-output-tokens-hint": "Ορίζει τον μέγιστο αριθμό tokens που μπορεί να δημιουργήσει το μοντέλο σε μία απάντηση.", + "endpoint": "Σημείο τερματισμού (Endpoint)", + "endpoint-required": "Απαιτείται σημείο τερματισμού.", + "service-version": "Έκδοση υπηρεσίας", + "check-connectivity": "Έλεγχος συνδεσιμότητας", + "check-connectivity-success": "Το δοκιμαστικό αίτημα ήταν επιτυχές", + "check-connectivity-failed": "Το δοκιμαστικό αίτημα απέτυχε", + "no-model-matching": "Δεν βρέθηκαν μοντέλα που να ταιριάζουν με '{{entity}}'.", + "model-required": "Απαιτείται μοντέλο.", + "no-model-text": "Δεν βρέθηκαν μοντέλα." + }, "confirm-on-exit": { "message": "Έχετε μη αποθηκευμένες αλλαγές. Είστε βέβαιοι ότι θέλετε να φύγετε από αυτήν τη σελίδα;", "html-message": "Έχετε μη αποθηκευμένες αλλαγές.
Είστε βέβαιοι ότι θέλετε να φύγετε από αυτήν τη σελίδα;", @@ -1227,91 +1318,91 @@ "to": "Έως" }, "dashboard": { - "dashboard": "Dashboard", - "dashboards": "Dashboards", - "management": "Dashboard management", - "view-dashboards": "View Dashboards", - "add": "Add dashboard", - "assign-dashboard-to-customer": "Assign Dashboard(s) To Customer", - "assign-dashboard-to-customer-text": "Please select the dashboards to assign to the customer", - "assign-to-customer-text": "Please select the customer to assign the dashboard(s)", - "assign-to-customer": "Assign to customer", - "unassign-from-customer": "Unassign from customer", - "make-public": "Make dashboard public", - "make-private": "Make dashboard private", - "manage-assigned-customers": "Manage assigned customers", - "assigned-customers": "Assigned customers", - "assign-to-customers": "Assign Dashboard(s) To Customers", - "assign-to-customers-text": "Please select the customers to assign the dashboard(s)", - "unassign-from-customers": "Unassign Dashboard(s) From Customers", - "unassign-from-customers-text": "Please select the customers to unassign from the dashboard(s)", - "no-dashboards-text": "No dashboards found", - "no-widgets": "No widgets configured", - "add-widget": "Add new widget", - "add-widget-button-text": "Add widget", - "title": "Title", - "image": "Dashboard image", - "mobile-app-settings": "Mobile application settings", - "mobile-order": "Dashboard order in mobile application", - "mobile-hide": "Hide dashboard in mobile application", - "update-image": "Update dashboard image", - "take-screenshot": "Take screenshot", - "select-widget-title": "Select widget", - "select-widget-value": "{{title}}: select widget", - "select-widget-subtitle": "List of available widget types", - "delete": "Delete dashboard", - "title-required": "Title is required.", - "title-max-length": "Title should be less than 256", - "description": "Description", - "details": "Details", - "dashboard-details": "Dashboard details", - "add-dashboard-text": "Add new dashboard", - "assign-dashboards": "Assign dashboards", - "assign-new-dashboard": "Assign new dashboard", - "assign-dashboards-text": "Assign { count, plural, =1 {1 dashboard} other {# dashboards} } to customers", - "unassign-dashboards-action-text": "Unassign { count, plural, =1 {1 dashboard} other {# dashboards} } from customers", - "delete-dashboards": "Delete dashboards", - "unassign-dashboards": "Unassign dashboards", - "unassign-dashboards-action-title": "Unassign { count, plural, =1 {1 dashboard} other {# dashboards} } from customer", - "delete-dashboard-title": "Are you sure you want to delete the dashboard '{{dashboardTitle}}'?", - "delete-dashboard-text": "Be careful, after the confirmation the dashboard and all related data will become unrecoverable.", - "delete-dashboards-title": "Are you sure you want to delete { count, plural, =1 {1 dashboard} other {# dashboards} }?", - "delete-dashboards-action-title": "Delete { count, plural, =1 {1 dashboard} other {# dashboards} }", - "delete-dashboards-text": "Be careful, after the confirmation all selected dashboards will be removed and all related data will become unrecoverable.", - "unassign-dashboard-title": "Are you sure you want to unassign the dashboard '{{dashboardTitle}}'?", - "unassign-dashboard-text": "After the confirmation the dashboard will be unassigned and won't be accessible by the customer.", - "unassign-dashboard": "Unassign dashboard", - "unassign-dashboards-title": "Are you sure you want to unassign { count, plural, =1 {1 dashboard} other {# dashboards} }?", - "unassign-dashboards-text": "After the confirmation all selected dashboards will be unassigned and won't be accessible by the customer.", - "public-dashboard-title": "Dashboard is now public", - "public-dashboard-text": "Your dashboard {{dashboardTitle}} is now public and accessible via next public link:", - "public-dashboard-notice": "Note: Do not forget to make related devices public in order to access their data.", - "make-private-dashboard-title": "Are you sure you want to make the dashboard '{{dashboardTitle}}' private?", - "make-private-dashboard-text": "After the confirmation the dashboard will be made private and won't be accessible by others.", - "make-private-dashboard": "Make dashboard private", - "socialshare-text": "'{{dashboardTitle}}' powered by ThingsBoard", - "socialshare-title": "'{{dashboardTitle}}' powered by ThingsBoard", - "select-dashboard": "Select dashboard", - "no-dashboards-matching": "No dashboards matching '{{entity}}' were found.", - "dashboard-required": "Dashboard is required.", - "select-existing": "Select existing dashboard", - "create-new": "Create new dashboard", - "new-dashboard-title": "New dashboard title", - "open-dashboard": "Open dashboard", - "set-background": "Set background", - "background-color": "Background color", - "background-image": "Background image", - "background-size-mode": "Background size mode", - "no-image": "No image selected", - "empty-image": "No image", - "drop-image": "Drop an image or click to select a file to upload.", - "maximum-upload-file-size": "Maximum upload file size: {{ size }}", - "cannot-upload-file": "Cannot upload file", - "settings": "Settings", - "move-all-widgets": "Move all widgets", - "move-by": "Move by", - "cols": "cols", - "rows": "rows", + "dashboard": "Πίνακας ελέγχου", + "dashboards": "Πίνακες ελέγχου", + "management": "Διαχείριση πίνακα ελέγχου", + "view-dashboards": "Προβολή πινάκων ελέγχου", + "add": "Προσθήκη πίνακα ελέγχου", + "assign-dashboard-to-customer": "Ανάθεση πίνακα(ων) ελέγχου σε πελάτη", + "assign-dashboard-to-customer-text": "Επιλέξτε τους πίνακες ελέγχου που θα ανατεθούν στον πελάτη", + "assign-to-customer-text": "Επιλέξτε τον πελάτη για ανάθεση του πίνακα(ων) ελέγχου", + "assign-to-customer": "Ανάθεση σε πελάτη", + "unassign-from-customer": "Αφαίρεση ανάθεσης από πελάτη", + "make-public": "Δημοσίευση πίνακα ελέγχου", + "make-private": "Ιδιωτικοποίηση πίνακα ελέγχου", + "manage-assigned-customers": "Διαχείριση ανατεθειμένων πελατών", + "assigned-customers": "Ανατεθειμένοι πελάτες", + "assign-to-customers": "Ανάθεση πίνακα(ων) ελέγχου σε πελάτες", + "assign-to-customers-text": "Επιλέξτε τους πελάτες στους οποίους θα ανατεθούν οι πίνακες ελέγχου", + "unassign-from-customers": "Αφαίρεση ανάθεσης πίνακα(ων) ελέγχου από πελάτες", + "unassign-from-customers-text": "Επιλέξτε τους πελάτες από τους οποίους θα αφαιρεθεί η ανάθεση των πινάκων ελέγχου", + "no-dashboards-text": "Δεν βρέθηκαν πίνακες ελέγχου", + "no-widgets": "Δεν έχουν ρυθμιστεί widgets", + "add-widget": "Προσθήκη νέου widget", + "add-widget-button-text": "Προσθήκη widget", + "title": "Τίτλος", + "image": "Εικόνα πίνακα ελέγχου", + "mobile-app-settings": "Ρυθμίσεις εφαρμογής κινητού", + "mobile-order": "Σειρά πίνακα ελέγχου στην εφαρμογή κινητού", + "mobile-hide": "Απόκρυψη πίνακα ελέγχου στην εφαρμογή κινητού", + "update-image": "Ενημέρωση εικόνας πίνακα ελέγχου", + "take-screenshot": "Λήψη στιγμιότυπου", + "select-widget-title": "Επιλογή widget", + "select-widget-value": "{{title}}: επιλογή widget", + "select-widget-subtitle": "Λίστα διαθέσιμων τύπων widget", + "delete": "Διαγραφή πίνακα ελέγχου", + "title-required": "Απαιτείται τίτλος.", + "title-max-length": "Ο τίτλος πρέπει να είναι μικρότερος από 256 χαρακτήρες", + "description": "Περιγραφή", + "details": "Λεπτομέρειες", + "dashboard-details": "Λεπτομέρειες πίνακα ελέγχου", + "add-dashboard-text": "Προσθήκη νέου πίνακα ελέγχου", + "assign-dashboards": "Ανάθεση πινάκων ελέγχου", + "assign-new-dashboard": "Ανάθεση νέου πίνακα ελέγχου", + "assign-dashboards-text": "Ανάθεση { count, plural, =1 {1 πίνακα ελέγχου} other {# πινάκων ελέγχου} } σε πελάτες", + "unassign-dashboards-action-text": "Αφαίρεση ανάθεσης { count, plural, =1 {1 πίνακα ελέγχου} other {# πινάκων ελέγχου} } από πελάτες", + "delete-dashboards": "Διαγραφή πινάκων ελέγχου", + "unassign-dashboards": "Αφαίρεση ανάθεσης πινάκων ελέγχου", + "unassign-dashboards-action-title": "Αφαίρεση ανάθεσης { count, plural, =1 {1 πίνακα ελέγχου} other {# πινάκων ελέγχου} } από πελάτη", + "delete-dashboard-title": "Είστε σίγουροι ότι θέλετε να διαγράψετε τον πίνακα ελέγχου '{{dashboardTitle}}';", + "delete-dashboard-text": "Προσοχή, μετά την επιβεβαίωση ο πίνακας ελέγχου και όλα τα σχετικά δεδομένα δεν θα μπορούν να ανακτηθούν.", + "delete-dashboards-title": "Είστε σίγουροι ότι θέλετε να διαγράψετε { count, plural, =1 {1 πίνακα ελέγχου} other {# πινάκων ελέγχου} };", + "delete-dashboards-action-title": "Διαγραφή { count, plural, =1 {1 πίνακα ελέγχου} other {# πινάκων ελέγχου} }", + "delete-dashboards-text": "Προσοχή, μετά την επιβεβαίωση όλοι οι επιλεγμένοι πίνακες ελέγχου θα διαγραφούν και όλα τα σχετικά δεδομένα δεν θα μπορούν να ανακτηθούν.", + "unassign-dashboard-title": "Είστε σίγουροι ότι θέλετε να αφαιρέσετε την ανάθεση του πίνακα ελέγχου '{{dashboardTitle}}';", + "unassign-dashboard-text": "Μετά την επιβεβαίωση ο πίνακας ελέγχου θα αποσυνδεθεί και δεν θα είναι προσβάσιμος από τον πελάτη.", + "unassign-dashboard": "Αφαίρεση ανάθεσης πίνακα ελέγχου", + "unassign-dashboards-title": "Είστε σίγουροι ότι θέλετε να αφαιρέσετε την ανάθεση { count, plural, =1 {1 πίνακα ελέγχου} other {# πινάκων ελέγχου} };", + "unassign-dashboards-text": "Μετά την επιβεβαίωση όλοι οι επιλεγμένοι πίνακες ελέγχου θα αποσυνδεθούν και δεν θα είναι προσβάσιμοι από τον πελάτη.", + "public-dashboard-title": "Ο πίνακας ελέγχου είναι πλέον δημόσιος", + "public-dashboard-text": "Ο πίνακάς σας {{dashboardTitle}} είναι πλέον δημόσιος και προσβάσιμος από τον παρακάτω δημόσιο σύνδεσμο:", + "public-dashboard-notice": "Σημείωση: Μην ξεχάσετε να δημοσιοποιήσετε τις σχετικές συσκευές για να είναι προσβάσιμα τα δεδομένα τους.", + "make-private-dashboard-title": "Είστε σίγουροι ότι θέλετε να κάνετε ιδιωτικό τον πίνακα ελέγχου '{{dashboardTitle}}';", + "make-private-dashboard-text": "Μετά την επιβεβαίωση ο πίνακας ελέγχου θα γίνει ιδιωτικός και δεν θα είναι πλέον προσβάσιμος από άλλους.", + "make-private-dashboard": "Ιδιωτικοποίηση πίνακα ελέγχου", + "socialshare-text": "'{{dashboardTitle}}' με την υποστήριξη του ThingsBoard", + "socialshare-title": "'{{dashboardTitle}}' με την υποστήριξη του ThingsBoard", + "select-dashboard": "Επιλογή πίνακα ελέγχου", + "no-dashboards-matching": "Δεν βρέθηκαν πίνακες ελέγχου που να ταιριάζουν με '{{entity}}'.", + "dashboard-required": "Απαιτείται πίνακας ελέγχου.", + "select-existing": "Επιλογή υπάρχοντος πίνακα ελέγχου", + "create-new": "Δημιουργία νέου πίνακα ελέγχου", + "new-dashboard-title": "Τίτλος νέου πίνακα ελέγχου", + "open-dashboard": "Άνοιγμα πίνακα ελέγχου", + "set-background": "Ορισμός φόντου", + "background-color": "Χρώμα φόντου", + "background-image": "Εικόνα φόντου", + "background-size-mode": "Λειτουργία μεγέθους φόντου", + "no-image": "Δεν επιλέχθηκε εικόνα", + "empty-image": "Καμία εικόνα", + "drop-image": "Σύρετε μια εικόνα ή κάντε κλικ για επιλογή αρχείου προς μεταφόρτωση.", + "maximum-upload-file-size": "Μέγιστο μέγεθος αρχείου μεταφόρτωσης: {{ size }}", + "cannot-upload-file": "Αδυναμία μεταφόρτωσης αρχείου", + "settings": "Ρυθμίσεις", + "move-all-widgets": "Μετακίνηση όλων των widgets", + "move-by": "Μετακίνηση κατά", + "cols": "στήλες", + "rows": "γραμμές", "layout": "Διάταξη", "layout-type-default": "Προεπιλογή", "layout-type-scada": "SCADA", @@ -1753,7 +1844,8 @@ "step": "Βήμα", "selected-options-limit": "Όριο επιλεγμένων επιλογών", "advanced-ui-settings": "Προηγμένες ρυθμίσεις UI", - "disable-on-property": "Απενεργοποίηση με βάση ιδιότητα", + "disable-on-property": "Απενεργοποίηση βάσει ιδιότητας", + "disable-on-property-none": "Καμία (το πεδίο είναι πάντα ενεργό)", "display-condition-function": "Συνάρτηση συνθήκης εμφάνισης", "sub-label": "Υποετικέτα", "vertical-divider-after": "Κατακόρυφος διαχωριστής μετά", @@ -1787,7 +1879,8 @@ "array-item": "Στοιχείο πίνακα", "item-type": "Τύπος στοιχείου", "item-name": "Όνομα στοιχείου", - "no-items": "Δεν υπάρχουν στοιχεία" + "no-items": "Δεν υπάρχουν στοιχεία", + "support-unit-conversion": "Υποστήριξη μετατροπής μονάδων" }, "clear-form": "Εκκαθάριση φόρμας", "clear-form-prompt": "Είστε βέβαιοι ότι θέλετε να αφαιρέσετε όλες τις ιδιότητες της φόρμας;", @@ -1911,6 +2004,7 @@ "mqtt-use-json-format-for-default-downlink-topics-hint": "Όταν ενεργοποιηθεί, χρησιμοποιείται JSON payload για αποστολή attributes και RPC μέσω θεμάτων v1/devices/me/attributes/response/$request_id, v1/devices/me/attributes, v1/devices/me/rpc/request/$request_id, v1/devices/me/rpc/response/$request_id. Δεν επηρεάζει νέα θέματα (v2): v2/a/res/$request_id κ.λπ.", "mqtt-send-ack-on-validation-exception": "Αποστολή PUBACK σε αποτυχία επικύρωσης PUBLISH μηνύματος", "mqtt-send-ack-on-validation-exception-hint": "Αντί για τερματισμό της συνεδρίας, η πλατφόρμα θα στείλει PUBACK αν είναι ενεργοποιημένο.", + "mqtt-protocol-version": "Έκδοση πρωτοκόλλου", "snmp-add-mapping": "Προσθήκη SNMP αντιστοίχισης", "snmp-mapping-not-configured": "Δεν έχει διαμορφωθεί αντιστοίχιση OID σε χρονική σειρά/χαρακτηριστικό", "snmp-timseries-or-attribute-name": "Όνομα για αντιστοίχιση χρονικής σειράς/χαρακτηριστικού", @@ -2131,24 +2225,24 @@ "notification-storing": "Αποθήκευση ειδοποιήσεων όταν είναι απενεργοποιημένο ή εκτός σύνδεσης", "binding": "Δεσμευτικό", "binding-type": { - "u": "U: Το client είναι προσβάσιμο μέσω UDP ανά πάσα στιγμή.", - "m": "M: Το client είναι προσβάσιμο μέσω MQTT ανά πάσα στιγμή.", - "h": "H: Το client είναι προσβάσιμο μέσω HTTP ανά πάσα στιγμή.", - "t": "T: Το client είναι προσβάσιμο μέσω TCP ανά πάσα στιγμή.", - "s": "S: Το client είναι προσβάσιμο μέσω SMS ανά πάσα στιγμή.", - "n": "N: Το client πρέπει να απαντήσει μέσω Non-IP (υποστηρίζεται από LWM2M 1.1).", - "uq": "UQ: UDP σε queue mode (δεν υποστηρίζεται από LWM2M 1.1)", - "uqs": "UQS: UDP + SMS ενεργά· UDP σε queue mode, SMS σε standard (δεν υποστηρίζεται από LWM2M 1.1)", - "tq": "TQ: TCP σε queue mode (δεν υποστηρίζεται από LWM2M 1.1)", - "tqs": "TQS: TCP + SMS ενεργά· TCP σε queue mode, SMS σε standard (δεν υποστηρίζεται από LWM2M 1.1)", - "sq": "SQ: SMS σε queue mode (δεν υποστηρίζεται από LWM2M 1.1)" + "u": "U: Ο πελάτης είναι προσβάσιμος μέσω UDP ανά πάσα στιγμή.", + "m": "M: Ο πελάτης είναι προσβάσιμος μέσω MQTT ανά πάσα στιγμή.", + "h": "H: Ο πελάτης είναι προσβάσιμος μέσω HTTP ανά πάσα στιγμή.", + "t": "T: Ο πελάτης είναι προσβάσιμος μέσω TCP ανά πάσα στιγμή.", + "s": "S: Ο πελάτης είναι προσβάσιμος μέσω SMS ανά πάσα στιγμή.", + "n": "N: Ο πελάτης ΠΡΕΠΕΙ να στείλει την απάντηση σε αυτό το αίτημα μέσω σύνδεσης Non-IP (υποστηρίζεται από την έκδοση LWM2M 1.1).", + "uq": "UQ: Σύνδεση UDP σε λειτουργία ουράς (δεν υποστηρίζεται από την έκδοση LWM2M 1.1)", + "uqs": "UQS: Ενεργές τόσο οι συνδέσεις UDP όσο και SMS· UDP σε λειτουργία ουράς, SMS σε κανονική λειτουργία (δεν υποστηρίζεται από την έκδοση LWM2M 1.1)", + "tq": "TQ: Σύνδεση TCP σε λειτουργία ουράς (δεν υποστηρίζεται από την έκδοση LWM2M 1.1)", + "tqs": "TQS: Ενεργές τόσο οι συνδέσεις TCP όσο και SMS· TCP σε λειτουργία ουράς, SMS σε κανονική λειτουργία (δεν υποστηρίζεται από την έκδοση LWM2M 1.1)", + "sq": "SQ: Σύνδεση SMS σε λειτουργία ουράς (δεν υποστηρίζεται από την έκδοση LWM2M 1.1)" }, - "binding-tooltip": "Ορίζει τα υποστηριζόμενα binding modes για το LwM2M Client. Πρέπει να είναι ίδιο με το \"Supported Binding and Modes\" στο αντικείμενο Συσκευής. Υποστηρίζεται ένα binding ανά συνεδρία μεταφοράς.", - "bootstrap-server": "Bootstrap διακομιστής", - "lwm2m-server": "LwM2M διακομιστής", - "include-bootstrap-server": "Συμπερίληψη ενημερώσεων Bootstrap Server", - "bootstrap-update-title": "Ο Bootstrap Server έχει ήδη διαμορφωθεί. Θέλετε σίγουρα να εξαιρεθεί;", - "bootstrap-update-text": "Προσοχή, τα δεδομένα διαμόρφωσης θα χαθούν μετά την επιβεβαίωση.", + "binding-tooltip": "Αυτή είναι η λίστα στο πόρο \"binding\" του αντικειμένου διακομιστή LwM2M - /1/x/7.\nΥποδεικνύει τις υποστηριζόμενες λειτουργίες σύνδεσης στον LwM2M Client.\nΑυτή η τιμή ΠΡΕΠΕΙ να είναι ίδια με την τιμή στο πόρο \"Supported Binding and Modes\" στο Αντικείμενο Συσκευής (/3/0/16).\nΑν και υποστηρίζονται πολλαπλά μέσα μεταφοράς, μόνο ένα μπορεί να χρησιμοποιηθεί κατά τη διάρκεια ολόκληρης της περιόδου σύνδεσης μεταφοράς.\nΓια παράδειγμα, όταν υποστηρίζονται UDP και SMS, ο LwM2M Client και ο LwM2M Server μπορούν να επιλέξουν είτε UDP είτε SMS για όλη τη διάρκεια της μεταφοράς.", + "bootstrap-server": "Διακομιστής Bootstrap", + "lwm2m-server": "Διακομιστής LwM2M", + "include-bootstrap-server": "Συμπερίληψη ενημερώσεων διακομιστή Bootstrap", + "bootstrap-update-title": "Έχετε ήδη ρυθμίσει διακομιστή Bootstrap. Είστε σίγουροι ότι θέλετε να εξαιρέσετε τις ενημερώσεις;", + "bootstrap-update-text": "Προσοχή, μετά την επιβεβαίωση τα δεδομένα ρύθμισης του διακομιστή Bootstrap δεν θα μπορούν να ανακτηθούν.", "server-host": "Διεύθυνση υποδοχής", "server-host-required": "Απαιτείται διεύθυνση υποδοχής.", "server-port": "Θύρα", @@ -2171,6 +2265,9 @@ "add-lwm2m-server-config": "Προσθήκη διακομιστή LwM2M", "no-config-servers": "Δεν έχουν διαμορφωθεί διακομιστές", "others-tab": "Άλλες ρυθμίσεις", + "ota-update": "Ενημέρωση OTA", + "use-object-19-for-ota-update": "Χρήση Αντικειμένου 19 για μεταδεδομένα αρχείου OTA (άθροισμα ελέγχου, μέγεθος, έκδοση, όνομα)", + "use-object-19-for-ota-update-hint": "Χρησιμοποιεί το Resource ObjectId = 19 για ενημερώσεις OTA: FirmWare → InstanceId = 65534, SoftWare → InstanceId = 65535. Η μορφή δεδομένων είναι JSON κωδικοποιημένο σε Base64. Το JSON περιέχει μεταδεδομένα αρχείου OTA (πληροφορίες αρχείου): \"Checksum\" (SHA256). Πρόσθετα πεδία: \"Title\" (όνομα OTA), \"Version\" (έκδοση OTA), \"File Name\" (όνομα αρχείου για αποθήκευση OTA στον client), \"File Size\" (μέγεθος OTA σε bytes).", "client-strategy": "Στρατηγική πελάτη κατά τη σύνδεση", "client-strategy-label": "Στρατηγική", "client-strategy-only-observe": "Μόνο αίτημα παρακολούθησης μετά την αρχική σύνδεση", @@ -2201,7 +2298,17 @@ "default-object-id": "Προεπιλεγμένη έκδοση αντικειμένου (χαρακτηριστικό)", "default-object-id-ver": { "v1-0": "1.0", - "v1-1": "1.1" + "v1-1": "1.1", + "v1-2": "1.2" + }, + "observe-strategy": { + "observe-strategy": "Στρατηγική παρακολούθησης (Observe)", + "single": "Μονή", + "single-description": "Ένα αίτημα Observe ανά πόρο (υψηλότερη ακρίβεια, περισσότερη κυκλοφορία δικτύου)", + "composite-all": "Συνδυασμένο - όλα", + "composite-all-description": "Όλοι οι πόροι παρακολουθούνται με ένα ενιαίο αίτημα Composite Observe (πιο αποδοτικό, λιγότερο ευέλικτο)", + "composite-by-object": "Συνδυασμένο ανά αντικείμενο", + "composite-by-object-description": "Οι πόροι ομαδοποιούνται ανά τύπο αντικειμένου και παρακολουθούνται με ξεχωριστά αιτήματα Composite Observe (ισορροπημένη προσέγγιση)" } }, "snmp": { @@ -2524,6 +2631,8 @@ "type-current-user-owner": "Ιδιοκτήτης τρέχοντος χρήστη", "type-calculated-field": "Υπολογιζόμενο πεδίο", "type-calculated-fields": "Υπολογιζόμενα πεδία", + "type-ai-model": "Μοντέλο AI", + "type-ai-models": "Μοντέλα AI", "type-widgets-bundle": "Πακέτο γραφικών", "type-widgets-bundles": "Πακέτα γραφικών", "list-of-widgets-bundles": "{ count, plural, =1 {Ένα πακέτο γραφικών} other {Λίστα με # πακέτα γραφικών} }", @@ -2553,6 +2662,8 @@ "type-tb-resources": "Πόροι", "list-of-tb-resources": "{ count, plural, =1 {Ένας πόρος} other {Λίστα με # πόρους} }", "type-ota-package": "Πακέτο OTA", + "type-ota-packages": "Πακέτα OTA", + "list-of-ota-packages": "{ count, plural, =1 {Ένα πακέτο OTA} other {Λίστα με # πακέτα OTA} }", "type-rpc": "RPC", "type-queue": "Ουρά", "type-queue-stats": "Στατιστικά ουράς", @@ -2938,6 +3049,7 @@ "missing-key-filters-error": "Λείπει φίλτρο κλειδιού για το φίλτρο '{{filter}}'.", "filter": "Φίλτρο", "editable": "Επεξεργάσιμο", + "editable-hint": "Επιτρέπει στον χρήστη να αλλάξει την τιμή του φίλτρου στους πίνακες ελέγχου.", "no-filters-found": "Δεν βρέθηκαν φίλτρα.", "no-filter-text": "Δεν έχει καθοριστεί φίλτρο", "add-filter-prompt": "Παρακαλώ προσθέστε φίλτρο", @@ -2977,6 +3089,8 @@ "filter-user-params": "Παράμετροι χρήστη φίλτρου", "user-parameters": "Παράμετροι χρήστη", "display-label": "Ετικέτα εμφάνισης", + "custom-label": "Προσαρμοσμένη ετικέτα", + "custom-label-hint": "Ενεργοποιήστε για να ορίσετε δική σας ετικέτα για το φίλτρο. Όταν είναι απενεργοποιημένο, θα δημιουργηθεί αυτόματα μια ετικέτα.", "order-priority": "Προτεραιότητα πεδίου", "key-filter": "Φίλτρο κλειδιού", "key-filters": "Φίλτρα κλειδιών", @@ -3021,7 +3135,8 @@ "switch-to-dynamic-value": "Μετάβαση σε δυναμική τιμή", "switch-to-default-value": "Μετάβαση σε προεπιλεγμένη τιμή", "inherit-owner": "Κληρονόμηση από ιδιοκτήτη", - "source-attribute-not-set": "Εάν δεν έχει οριστεί χαρακτηριστικό πηγής" + "source-attribute-not-set": "Εάν δεν έχει οριστεί χαρακτηριστικό πηγής", + "unit": "Μονάδα" }, "fullscreen": { "expand": "Επέκταση σε πλήρη οθόνη", @@ -3406,6 +3521,7 @@ "power-button-background": "Φόντο κουμπιού ισχύος", "value-box-background": "Φόντο πλαισίου τιμής", "value-units": "Μονάδες τιμής", + "enable-units-scale": "Ενεργοποίηση μονάδων στην κλίμακα", "filtration-mode": "Λειτουργία φιλτραρίσματος", "filtration-mode-hint": "Ακέραια τιμή που δηλώνει την τρέχουσα λειτουργία.", "filtration-mode-update": "Κατάσταση ενημέρωσης λειτουργίας", @@ -3722,6 +3838,8 @@ "mobile-package-max-length": "Το πακέτο εφαρμογής πρέπει να είναι λιγότερο από 256 χαρακτήρες", "mobile-package-required": "Το πακέτο εφαρμογής είναι υποχρεωτικό.", "mobile-package-pattern": "Μη έγκυρη μορφή πακέτου εφαρμογής", + "mobile-package-title": "Τίτλος εφαρμογής", + "mobile-package-title-max-length": "Ο τίτλος της εφαρμογής πρέπει να είναι μικρότερος από 256 χαρακτήρες", "no-application": "Δεν βρέθηκαν εφαρμογές", "no-bundles": "Δεν βρέθηκαν πακέτα", "platform-type": "Τύπος πλατφόρμας", @@ -3802,20 +3920,16 @@ "configuration-app": "Εφαρμογή ρυθμίσεων", "configuration-step": { "prepare-environment-title": "Προετοιμασία περιβάλλοντος ανάπτυξης", - "prepare-environment-text": "Η εφαρμογή ThingsBoard Mobile απαιτεί το Flutter SDK. Ακολουθήστε τις οδηγίες για να ρυθμίσετε το Flutter SDK.", - "get-source-code-title": "Λήψη πηγαίου κώδικα", - "get-source-code-text": "Μπορείτε να λάβετε τον πηγαίο κώδικα της εφαρμογής ThingsBoard Mobile με cloning από το GitHub:", - "configure-api-title": "Διαμόρφωση ThingsBoard API endpoint", - "configure-api-text": "Ανοίξτε το έργο flutter_thingsboard_pe_app στον επεξεργαστή σας. Επεξεργαστείτε:", - "configure-api-hint": "Ορίστε την τιμή της σταθεράς thingsBoardApiEndpoint ώστε να ταιριάζει με το API endpoint του ThingsBoard server. Μην χρησιμοποιείτε 'localhost' ή '127.0.0.1'.", - "run-app-title": "Εκτέλεση εφαρμογής", - "run-app-text": "Εκτελέστε την εφαρμογή μέσω του IDE σας ή μέσω τερματικού με την ακόλουθη εντολή:", - "more-information": "Περισσότερες πληροφορίες βρίσκονται στην τεκμηρίωση έναρξης.", - "getting-started": "Ξεκινώντας", - "configure-package-title": "Διαμόρφωση πακέτου εφαρμογής", - "configure-package-text": "Μπορείτε να αλλάξετε χειροκίνητα το Πακέτο Εφαρμογής ή να χρησιμοποιήσετε εργαλείο CLI τρίτων.", - "configure-package-text-install": "Για να εγκαταστήσετε το εργαλείο Rename CLI, εκτελέστε την ακόλουθη εντολή:", - "configure-package-run-commands": "Εκτελέστε αυτές τις εντολές στον root φάκελο του έργου σας:" + "prepare-environment-text": "Η εφαρμογή Flutter ThingsBoard Mobile απαιτεί το Flutter SDK. Ακολουθήστε τις οδηγίες για την εγκατάσταση του Flutter SDK.", + "get-source-code-title": "Λήψη πηγαίου κώδικα της εφαρμογής", + "get-source-code-text": "Μπορείτε να αποκτήσετε τον πηγαίο κώδικα της εφαρμογής Flutter ThingsBoard Mobile κάνοντάς τον clone από το αποθετήριο GitHub:", + "configure-app-settings-title": "Ρύθμιση παραμέτρων εφαρμογής", + "configure-app-settings-text": "Κατεβάστε το αρχείο ρυθμίσεων και τοποθετήστε το στον ριζικό φάκελο του έργου που κάνατε clone στο προηγούμενο βήμα.", + "download-file": "Λήψη αρχείου", + "run-app-title": "Εκτέλεση της εφαρμογής", + "run-app-text": "Εκτελέστε την εφαρμογή όπως περιγράφεται στο IDE σας.\nΑν χρησιμοποιείτε το τερματικό, εκτελέστε την εφαρμογή με την παρακάτω εντολή:", + "more-information": "Αναλυτικές πληροφορίες μπορείτε να βρείτε στην τεκμηρίωση 'Ξεκινώντας'.", + "getting-started": "Ξεκινώντας" } }, "notification": { @@ -3839,6 +3953,7 @@ "new-platform-version-trigger-settings": "Ρυθμίσεις σκανδάλης νέας έκδοσης πλατφόρμας", "rate-limits-trigger-settings": "Ρυθμίσεις σκανδάλης υπέρβασης ορίων ρυθμού", "task-processing-failure-trigger-settings": "Ρυθμίσεις σκανδάλης αποτυχίας επεξεργασίας εργασίας", + "resources-shortage-trigger-settings": "Ρυθμίσεις ενεργοποίησης για έλλειψη πόρων", "at-least-one-should-be-selected": "Πρέπει να επιλεγεί τουλάχιστον ένα", "basic-settings": "Βασικές ρυθμίσεις", "button-text": "Κείμενο κουμπιού", @@ -3853,6 +3968,7 @@ "create-new": "Δημιουργία νέου", "created": "Δημιουργήθηκε", "customize-messages": "Προσαρμογή μηνυμάτων", + "cpu-threshold": "Όριο CPU", "delete-notification-text": "Προσοχή, μετά την επιβεβαίωση η ειδοποίηση δεν θα είναι ανακτήσιμη.", "delete-notification-title": "Είστε βέβαιοι ότι θέλετε να διαγράψετε την ειδοποίηση;", "delete-notifications-text": "Προσοχή, μετά την επιβεβαίωση οι ειδοποιήσεις δεν θα είναι ανακτήσιμες.", @@ -3918,7 +4034,8 @@ "input-field-support-templatization": "Το πεδίο εισαγωγής υποστηρίζει δυναμική μορφοποίηση.", "input-fields-support-templatization": "Τα πεδία εισαγωγής υποστηρίζουν δυναμική μορφοποίηση.", "link": "Σύνδεσμος", - "link-required": "Ο σύνδεσμος είναι υποχρεωτικός", + "link-required": "Απαιτείται σύνδεσμος", + "link-max-length": "Ο σύνδεσμος πρέπει να έχει μήκος μικρότερο ή ίσο με {{ length }} χαρακτήρες", "link-type": { "dashboard": "Άνοιγμα πίνακα ελέγχου", "link": "Άνοιγμα συνδέσμου URL" @@ -3945,6 +4062,7 @@ "no-severity-found": "Δεν βρέθηκε σοβαρότητα", "no-severity-matching": "'{{severity}}' δεν βρέθηκε.", "no-template-matching": "Δεν βρέθηκε πόρος που να ταιριάζει με '{{template}}'", + "create-new-template": "Δημιουργήστε ένα νέο!", "not-found-slack-recipient": "Δεν βρέθηκε παραλήπτης Slack", "notification": "Ειδοποίηση", "notification-center": "Κέντρο ειδοποιήσεων", @@ -3968,6 +4086,7 @@ "only-rule-chain-lifecycle-failures": "Μόνο αποτυχίες κύκλου ζωής αλυσίδας κανόνων", "only-rule-node-lifecycle-failures": "Μόνο αποτυχίες κύκλου ζωής κόμβου κανόνων", "platform-users": "Χρήστες πλατφόρμας", + "ram-threshold": "Όριο RAM", "rate-limits": "Όρια ρυθμού", "rate-limits-hint": "Αν το πεδίο είναι κενό, η σκανδάλη θα εφαρμοστεί σε όλα τα όρια ρυθμού", "recipient": "Παραλήπτης", @@ -4033,6 +4152,7 @@ "start-from-scratch": "Ξεκινήστε από την αρχή", "status": "Κατάσταση", "stop-escalation-alarm-status-become": "Διακοπή κλιμάκωσης όταν η κατάσταση του συναγερμού γίνει:", + "storage-threshold": "Όριο αποθήκευσης", "subject": "Θέμα", "subject-required": "Το θέμα είναι υποχρεωτικό", "subject-max-length": "Το θέμα πρέπει να είναι μικρότερο ή ίσο με {{ length }} χαρακτήρες", @@ -4054,7 +4174,8 @@ "rate-limits": "Υπέρβαση ορίων ρυθμού", "edge-communication-failure": "Αποτυχία επικοινωνίας Edge", "edge-connection": "Σύνδεση Edge", - "task-processing-failure": "Αποτυχία επεξεργασίας εργασίας" + "task-processing-failure": "Αποτυχία επεξεργασίας εργασίας", + "resources-shortage": "Έλλειψη πόρων" }, "templates": "Πρότυπα", "notification-templates": "Ειδοποιήσεις / Πρότυπα", @@ -4078,6 +4199,7 @@ "edge-connection": "Σύνδεση Edge", "edge-communication-failure": "Αποτυχία επικοινωνίας Edge", "task-processing-failure": "Αποτυχία επεξεργασίας εργασίας", + "resources-shortage": "Έλλειψη πόρων", "trigger": "Σκανδάλη", "trigger-required": "Η σκανδάλη είναι υποχρεωτική" }, @@ -4119,6 +4241,7 @@ "checksum-copied-message": "Το άθροισμα ελέγχου του πακέτου έχει αντιγραφεί στο πρόχειρο", "change-firmware": "Η αλλαγή του firmware μπορεί να προκαλέσει ενημέρωση σε { count, plural, =1 {1 συσκευή} other {# συσκευές} }.", "change-software": "Η αλλαγή του λογισμικού μπορεί να προκαλέσει ενημέρωση σε { count, plural, =1 {1 συσκευή} other {# συσκευές} }.", + "change-ota-setting-title": "Είστε σίγουροι ότι θέλετε να αλλάξετε τις ρυθμίσεις OTA;", "chose-compatible-device-profile": "Το ανεβασμένο πακέτο θα είναι διαθέσιμο μόνο για συσκευές με το επιλεγμένο προφίλ.", "chose-firmware-distributed-device": "Επιλέξτε το firmware που θα διανεμηθεί στις συσκευές", "chose-software-distributed-device": "Επιλέξτε το λογισμικό που θα διανεμηθεί στις συσκευές", @@ -4314,6 +4437,7 @@ "add-relation-filter": "Προσθήκη φίλτρου συσχέτισης", "any-relation": "Οποιαδήποτε συσχέτιση", "relation-filters": "Φίλτρα συσχετίσεων", + "relation-filter": "Φίλτρο σχέσεων", "additional-info": "Επιπλέον πληροφορίες (JSON)", "invalid-additional-info": "Δεν ήταν δυνατή η ανάλυση του JSON των επιπλέον πληροφοριών.", "no-relations-text": "Δεν βρέθηκαν συσχετίσεις", @@ -4554,7 +4678,7 @@ "user-name-pattern": "Email χρήστη", "edge-name-pattern": "Όνομα Edge", "entity-name-pattern-required": "Απαιτείται μοτίβο ονόματος", - "entity-name-pattern-hint": "Το πεδίο μοτίβου ονόματος υποστηρίζει templatization. Χρησιμοποιήστε $[messageKey] για να εξάγετε τιμή από το μήνυμα και ${metadataKey} από τα μεταδεδομένα.", + "entity-name-pattern-hint": "Το πεδίο μοτίβου ονόματος υποστηρίζει χρήση προτύπων. Χρησιμοποιήστε $[messageKey] για εξαγωγή τιμής από το μήνυμα και ${metadataKey} για εξαγωγή τιμής από τα μεταδεδομένα.", "copy-message-type": "Αντιγραφή τύπου μηνύματος", "entity-type-pattern": "Μοτίβο τύπου", "entity-type-pattern-required": "Απαιτείται μοτίβο τύπου", @@ -4813,8 +4937,8 @@ "read-timeout-hint": "Τιμή 0 σημαίνει άπειρο χρονικό όριο", "max-parallel-requests-count": "Μέγιστος αριθμός παραλλήλων αιτημάτων", "max-parallel-requests-count-hint": "Τιμή 0 σημαίνει χωρίς περιορισμό", - "max-response-size": "Μέγιστο μέγεθος απόκρισης (KB)", - "max-response-size-hint": "Μέγιστο μέγεθος μνήμης για αποκωδικοποίηση/κωδικοποίηση HTTP", + "max-response-size": "Μέγιστο μέγεθος απόκρισης (σε KB)", + "max-response-size-hint": "Η μέγιστη ποσότητα μνήμης που διατίθεται για προσωρινή αποθήκευση δεδομένων κατά την αποκωδικοποίηση ή κωδικοποίηση HTTP μηνυμάτων, όπως φορτία JSON ή XML", "headers": "Κεφαλίδες", "headers-hint": "Χρησιμοποιήστε ${metadataKey} για τιμή από τα μεταδεδομένα, $[messageKey] για τιμή από το σώμα του μηνύματος στα πεδία κεφαλίδας/τιμής", "header": "Κεφαλίδα", @@ -4823,7 +4947,7 @@ "value-required": "Απαιτείται τιμή", "topic-pattern": "Μοτίβο θέματος", "key-pattern": "Μοτίβο κλειδιού", - "key-pattern-hint": "Αν δοθεί partition number, θα χρησιμοποιηθεί. Διαφορετικά, θα χρησιμοποιηθεί το κλειδί.", + "key-pattern-hint": "Προαιρετικό. Αν έχει καθοριστεί έγκυρος αριθμός partition, θα χρησιμοποιηθεί κατά την αποστολή της εγγραφής. Αν δεν καθοριστεί partition, θα χρησιμοποιηθεί το key. Αν δεν καθοριστεί κανένα από τα δύο, θα εκχωρηθεί partition με κυκλικό τρόπο (round-robin).", "topic-pattern-required": "Απαιτείται μοτίβο θέματος", "topic": "Θέμα", "topic-required": "Απαιτείται θέμα", @@ -5230,7 +5354,7 @@ "function-name": "Όνομα συνάρτησης", "function-name-required": "Απαιτείται όνομα συνάρτησης.", "qualifier": "Καταληκτικό", - "qualifier-hint": "Αν δεν καθοριστεί, χρησιμοποιείται το \"$LATEST\".", + "qualifier-hint": "Αν δεν καθοριστεί qualifier, θα χρησιμοποιηθεί το προεπιλεγμένο qualifier \"$LATEST\".", "aws-credentials": "Διαπιστευτήρια AWS", "connection-timeout": "Χρονικό όριο σύνδεσης", "connection-timeout-required": "Απαιτείται χρονικό όριο σύνδεσης.", @@ -5304,6 +5428,36 @@ "html-text-description": "Υποστηρίζει ετικέτες HTML για μορφοποίηση, συνδέσμους και εικόνες.", "dynamic-text-description": "Υποστηρίζει δυναμική εναλλαγή μεταξύ Plain Text και HTML βάσει προτύπων.", "after-template-evaluation-hint": "Μετά την αξιολόγηση, αν η τιμή είναι true τότε είναι HTML, αλλιώς Plain text." + }, + "ai": { + "ai-model": "Μοντέλο AI", + "model": "Μοντέλο", + "ai-model-hint": "Επιλέξτε το προ-ρυθμισμένο μοντέλο AI για την επεξεργασία αιτημάτων που αποστέλλονται από αυτόν τον κόμβο κανόνων ή χρησιμοποιήστε το \"Δημιουργία νέου\" για να ρυθμίσετε ένα νέο μοντέλο.", + "prompt-settings": "Ρυθμίσεις prompt", + "prompt-settings-hint": "Το προαιρετικό system prompt ορίζει τον γενικό ρόλο και τους περιορισμούς του AI, ενώ το user prompt καθορίζει το συγκεκριμένο έργο προς εκτέλεση. Και τα δύο πεδία υποστηρίζουν χρήση προτύπων.", + "system-prompt": "System prompt", + "system-prompt-max-length": "Το system prompt πρέπει να είναι έως 10000 χαρακτήρες.", + "system-prompt-blank": "Το system prompt δεν πρέπει να είναι κενό.", + "user-prompt": "User prompt", + "user-prompt-required": "Απαιτείται user prompt.", + "user-prompt-max-length": "Το user prompt πρέπει να είναι έως 10000 χαρακτήρες.", + "user-prompt-blank": "Το user prompt δεν πρέπει να είναι κενό.", + "response-format": "Μορφή απόκρισης", + "response-text": "Κείμενο", + "response-json": "JSON", + "response-json-schema": "JSON Schema", + "response-format-hint-TEXT": "Επιτρέπει στο μοντέλο να δημιουργήσει αυθαίρετο κείμενο, το οποίο μπορεί να μην είναι έγκυρο αντικείμενο JSON. Αν δεν είναι έγκυρο, θα ενσωματωθεί αυτόματα σε ένα αντικείμενο JSON υπό το κλειδί \"response\".", + "response-format-hint-JSON": "Το μοντέλο πρέπει να παράγει απάντηση που να είναι έγκυρο αντικείμενο JSON. Αν δεν είναι έγκυρο, θα ενσωματωθεί αυτόματα υπό το κλειδί \"response\".", + "response-format-hint-JSON_SCHEMA": "Το μοντέλο πρέπει να δημιουργήσει JSON που να συμμορφώνεται με τη δομή και τους τύπους δεδομένων του παρεχόμενου schema. Αν δεν είναι έγκυρο, θα ενσωματωθεί αυτόματα υπό το κλειδί \"response\".", + "response-json-schema-hint": "Μπορεί να εισαχθεί οποιοδήποτε έγκυρο JSON Schema, ωστόσο αυτός ο κόμβος υποστηρίζει μόνο περιορισμένο υποσύνολο δυνατοτήτων του. Δείτε την τεκμηρίωση του κόμβου για λεπτομέρειες.", + "response-json-schema-required": "Απαιτείται JSON Schema", + "advanced-settings": "Προχωρημένες ρυθμίσεις", + "timeout": "Χρονικό όριο (Timeout)", + "timeout-hint": "Μέγιστος χρόνος αναμονής για απάντηση \nαπό το μοντέλο AI πριν τερματιστεί το αίτημα.", + "timeout-required": "Απαιτείται χρονικό όριο", + "timeout-validation": "Πρέπει να είναι από 1 δευτερόλεπτο έως 10 λεπτά.", + "force-acknowledgement": "Εξαναγκασμένη επιβεβαίωση", + "force-acknowledgement-hint": "Αν είναι ενεργοποιημένο, το εισερχόμενο μήνυμα επιβεβαιώνεται άμεσα. Η απάντηση του μοντέλου τοποθετείται στη συνέχεια στην ουρά ως ξεχωριστό νέο μήνυμα." } }, "timezone": { @@ -5625,7 +5779,10 @@ "too-small-value-zero": "Η τιμή πρέπει να είναι μεγαλύτερη από 0", "too-small-value-one": "Η τιμή πρέπει να είναι μεγαλύτερη από 1", "queue-size-is-limited-by-system-configuration": "Το μέγεθος της ουράς περιορίζεται επίσης από τη διαμόρφωση του συστήματος.", - "cassandra-tenant-limits-configuration": "Ερώτημα Cassandra για ενοικιαστή", + "cassandra-write-tenant-core-limits-configuration": "Ερωτήματα εγγραφής Cassandra μέσω Rest API", + "cassandra-read-tenant-core-limits-configuration": "Ερωτήματα ανάγνωσης Cassandra μέσω Rest API και WS τηλεμετρίας", + "cassandra-write-tenant-rule-engine-limits-configuration": "Ερωτήματα εγγραφής Cassandra τηλεμετρίας από Rule Engine", + "cassandra-read-tenant-rule-engine-limits-configuration": "Ερωτήματα ανάγνωσης Cassandra τηλεμετρίας από Rule Engine", "ws-limit-max-sessions-per-tenant": "Μέγιστος αριθμός συνεδριών ανά ενοικιαστή", "ws-limit-max-sessions-per-customer": "Μέγιστος αριθμός συνεδριών ανά πελάτη", "ws-limit-max-sessions-per-regular-user": "Μέγιστος αριθμός συνεδριών ανά χρήστη", @@ -5638,31 +5795,34 @@ "ws-limit-updates-per-session": "WS ενημερώσεις ανά συνεδρία", "rate-limits": { "add-limit": "Προσθήκη ορίου", - "advanced-settings": "Προχωρημένες ρυθμίσεις", + "and-also-less-than": "και επίσης μικρότερο από", + "advanced-settings": "Προηγμένες ρυθμίσεις", "edit-limit": "Επεξεργασία ορίου", - "but-less-than": "αλλά λιγότερο από", - "calculated-field-debug-event-rate-limit": "Σφάλματα πεδίου υπολογισμού", - "edit-calculated-field-debug-event-rate-limit": "Επεξεργασία ορίων σφαλμάτων πεδίου υπολογισμού", - "edit-transport-tenant-msg-title": "Επεξεργασία ορίων μηνυμάτων μεταφοράς ενοικιαστή", - "edit-transport-tenant-telemetry-msg-title": "Επεξεργασία ορίων τηλεμετρικών μηνυμάτων μεταφοράς ενοικιαστή", - "edit-transport-tenant-telemetry-data-points-title": "Επεξεργασία ορίων σημείων δεδομένων τηλεμετρίας μεταφοράς ενοικιαστή", - "edit-transport-device-msg-title": "Επεξεργασία ορίων μηνυμάτων μεταφοράς συσκευής", - "edit-transport-device-telemetry-msg-title": "Επεξεργασία ορίων τηλεμετρικών μηνυμάτων μεταφοράς συσκευής", - "edit-transport-device-telemetry-data-points-title": "Επεξεργασία ορίων σημείων δεδομένων τηλεμετρίας μεταφοράς συσκευής", - "edit-transport-gateway-msg-title": "Επεξεργασία ορίων μηνυμάτων μεταφοράς πύλης", - "edit-transport-gateway-telemetry-msg-title": "Επεξεργασία ορίων τηλεμετρικών μηνυμάτων μεταφοράς πύλης", - "edit-transport-gateway-telemetry-data-points-title": "Επεξεργασία ορίων σημείων δεδομένων τηλεμετρίας μεταφοράς πύλης", - "edit-transport-gateway-device-msg-title": "Επεξεργασία ορίων μηνυμάτων συσκευής πύλης", - "edit-transport-gateway-device-telemetry-msg-title": "Επεξεργασία ορίων τηλεμετρίας συσκευής πύλης", - "edit-transport-gateway-device-telemetry-data-points-title": "Επεξεργασία ορίων σημείων δεδομένων τηλεμετρίας συσκευής πύλης", - "edit-tenant-rest-limits-title": "Επεξεργασία ορίων αιτημάτων REST για τον ενοικιαστή", - "edit-customer-rest-limits-title": "Επεξεργασία ορίων αιτημάτων REST για πελάτη", - "edit-ws-limit-updates-per-session-title": "Επεξεργασία ορίων ενημερώσεων WS ανά συνεδρία", - "edit-cassandra-tenant-limits-configuration-title": "Επεξεργασία ορίων ερωτημάτων Cassandra για ενοικιαστή", - "edit-tenant-entity-export-rate-limit-title": "Επεξεργασία ορίων δημιουργίας εκδόσεων οντοτήτων", - "edit-tenant-entity-import-rate-limit-title": "Επεξεργασία ορίων φόρτωσης εκδόσεων οντοτήτων", - "edit-tenant-notification-request-rate-limit-title": "Επεξεργασία ορίων αιτημάτων ειδοποίησης", - "edit-tenant-notification-requests-per-rule-rate-limit-title": "Επεξεργασία ορίων αιτημάτων ειδοποίησης ανά κανόνα", + "calculated-field-debug-event-rate-limit": "Συμβάντα εντοπισμού σφαλμάτων υπολογιζόμενων πεδίων", + "edit-calculated-field-debug-event-rate-limit": "Επεξεργασία ορίων για συμβάντα εντοπισμού σφαλμάτων υπολογιζόμενων πεδίων", + "edit-transport-tenant-msg-title": "Επεξεργασία ορίων ταχύτητας για μηνύματα μεταφοράς ενοικιαστή", + "edit-transport-tenant-telemetry-msg-title": "Επεξεργασία ορίων ταχύτητας για τηλεμετρικά μηνύματα μεταφοράς ενοικιαστή", + "edit-transport-tenant-telemetry-data-points-title": "Επεξεργασία ορίων ταχύτητας για τηλεμετρικά δεδομένα μεταφοράς ενοικιαστή", + "edit-transport-device-msg-title": "Επεξεργασία ορίων ταχύτητας για μηνύματα μεταφοράς συσκευής", + "edit-transport-device-telemetry-msg-title": "Επεξεργασία ορίων ταχύτητας για τηλεμετρικά μηνύματα μεταφοράς συσκευής", + "edit-transport-device-telemetry-data-points-title": "Επεξεργασία ορίων ταχύτητας για τηλεμετρικά δεδομένα μεταφοράς συσκευής", + "edit-transport-gateway-msg-title": "Επεξεργασία ορίων ταχύτητας για μηνύματα μεταφοράς πύλης", + "edit-transport-gateway-telemetry-msg-title": "Επεξεργασία ορίων ταχύτητας για τηλεμετρικά μηνύματα μεταφοράς πύλης", + "edit-transport-gateway-telemetry-data-points-title": "Επεξεργασία ορίων ταχύτητας για τηλεμετρικά δεδομένα μεταφοράς πύλης", + "edit-transport-gateway-device-msg-title": "Επεξεργασία ορίων ταχύτητας για μηνύματα μεταφοράς συσκευών μέσω πύλης", + "edit-transport-gateway-device-telemetry-msg-title": "Επεξεργασία ορίων ταχύτητας για τηλεμετρικά μηνύματα συσκευών μέσω πύλης", + "edit-transport-gateway-device-telemetry-data-points-title": "Επεξεργασία ορίων ταχύτητας για τηλεμετρικά δεδομένα συσκευών μέσω πύλης", + "edit-tenant-rest-limits-title": "Επεξεργασία ορίων ταχύτητας αιτήσεων REST για τον ενοικιαστή", + "edit-customer-rest-limits-title": "Επεξεργασία ορίων ταχύτητας αιτήσεων REST για τον πελάτη", + "edit-ws-limit-updates-per-session-title": "Επεξεργασία ορίων WS ενημερώσεων ανά συνεδρία", + "edit-cassandra-write-tenant-core-limits-configuration": "Επεξεργασία ορίων ερωτημάτων εγγραφής Cassandra μέσω Rest API", + "edit-cassandra-read-tenant-core-limits-configuration": "Επεξεργασία ορίων ερωτημάτων ανάγνωσης Cassandra μέσω Rest API και WS τηλεμετρίας", + "edit-cassandra-write-tenant-rule-engine-limits-configuration": "Επεξεργασία ορίων εγγραφής τηλεμετρίας Cassandra από Rule Engine", + "edit-cassandra-read-tenant-rule-engine-limits-configuration": "Επεξεργασία ορίων ανάγνωσης τηλεμετρίας Cassandra από Rule Engine", + "edit-tenant-entity-export-rate-limit-title": "Επεξεργασία ορίων ταχύτητας για δημιουργία έκδοσης οντοτήτων", + "edit-tenant-entity-import-rate-limit-title": "Επεξεργασία ορίων ταχύτητας για φόρτωση έκδοσης οντοτήτων", + "edit-tenant-notification-request-rate-limit-title": "Επεξεργασία ορίων ταχύτητας αιτημάτων ειδοποιήσεων", + "edit-tenant-notification-requests-per-rule-rate-limit-title": "Επεξεργασία ορίων ταχύτητας αιτημάτων ειδοποιήσεων ανά κανόνα", "edit-edge-events-rate-limit": "Επεξεργασία ορίων συμβάντων άκρης", "edit-edge-events-per-edge-rate-limit": "Επεξεργασία ορίων συμβάντων ανά άκρη", "edge-events-rate-limit": "Συμβάντα άκρης", @@ -5680,21 +5840,22 @@ "per-seconds": "Ανά δευτερόλεπτα", "per-seconds-required": "Απαιτείται χρονικός ρυθμός.", "per-seconds-min": "Η ελάχιστη τιμή είναι 1.", - "rate-limits": "Όρια ρυθμού", + "per-seconds-duplicate": "Διπλότυπος χρονικός ρυθμός. Κάθε χρονικό διάστημα πρέπει να είναι μοναδικό.", + "rate-limits": "Όρια ταχύτητας", "remove-limit": "Αφαίρεση ορίου", "transport-tenant-msg": "Μηνύματα μεταφοράς ενοικιαστή", - "transport-tenant-telemetry-msg": "Τηλεμετρικά μηνύματα ενοικιαστή", - "transport-tenant-telemetry-data-points": "Σημεία τηλεμετρίας ενοικιαστή", + "transport-tenant-telemetry-msg": "Τηλεμετρικά μηνύματα μεταφοράς ενοικιαστή", + "transport-tenant-telemetry-data-points": "Τηλεμετρικά δεδομένα μεταφοράς ενοικιαστή", "transport-device-msg": "Μηνύματα μεταφοράς συσκευής", - "transport-device-telemetry-msg": "Τηλεμετρικά μηνύματα συσκευής", - "transport-device-telemetry-data-points": "Σημεία τηλεμετρίας συσκευής", + "transport-device-telemetry-msg": "Τηλεμετρικά μηνύματα μεταφοράς συσκευής", + "transport-device-telemetry-data-points": "Τηλεμετρικά δεδομένα μεταφοράς συσκευής", "transport-gateway-msg": "Μηνύματα μεταφοράς πύλης", - "transport-gateway-telemetry-msg": "Τηλεμετρικά μηνύματα πύλης", - "transport-gateway-telemetry-data-points": "Σημεία τηλεμετρίας πύλης", - "transport-gateway-device-msg": "Μηνύματα συσκευής πύλης", - "transport-gateway-device-telemetry-msg": "Τηλεμετρικά μηνύματα συσκευής πύλης", - "transport-gateway-device-telemetry-data-points": "Σημεία τηλεμετρίας συσκευής πύλης", - "sec": "δευτ." + "transport-gateway-telemetry-msg": "Τηλεμετρικά μηνύματα μεταφοράς πύλης", + "transport-gateway-telemetry-data-points": "Τηλεμετρικά δεδομένα μεταφοράς πύλης", + "transport-gateway-device-msg": "Μηνύματα συσκευών μεταφοράς μέσω πύλης", + "transport-gateway-device-telemetry-msg": "Τηλεμετρικά μηνύματα συσκευών μεταφοράς μέσω πύλης", + "transport-gateway-device-telemetry-data-points": "Τηλεμετρικά δεδομένα συσκευών μεταφοράς μέσω πύλης", + "sec": "δευτ" } }, "timeinterval": { @@ -5827,13 +5988,125 @@ "value": "Τιμή", "date": "Ημερομηνία", "show-date-time-interval": "Εμφάνιση χρονικού διαστήματος", - "show-date-time-interval-hint": "Εμφάνιση χρονικού διαστήματος σύμφωνα με την ομαδοποίηση δεδομένων.", + "show-date-time-interval-hint": "Εμφάνιση χρονικού διαστήματος σύμφωνα με τη συγχώνευση δεδομένων.", + "hide-zero-tooltip-values": "Απόκρυψη μηδενικών τιμών", "background-color": "Χρώμα φόντου", "background-blur": "Θόλωση φόντου" }, "unit": { + "set-unit-conversion": "Ορισμός μετατροπής μονάδων", + "unit-settings": { + "unit-settings": "Ρυθμίσεις μονάδων", + "source-unit": "Μονάδα προέλευσης", + "source-unit-hint": "Αυτή είναι η μονάδα της αποθηκευμένης τιμής. Η μονάδα από την οποία γίνεται η μετατροπή. Εισάγετε το σύμβολο που χρησιμοποιούν τα αρχικά σας δεδομένα (π.χ. m, km, ft, in).", + "target-metric-unit": "Στόχος σε μετρική μονάδα", + "target-metric-unit-hint": "Επιλέξτε σε ποια μετρική μονάδα (SI) θέλετε να μετατραπεί η αρχική σας τιμή (π.χ. cm, mm, km).", + "target-imperial-unit": "Στόχος σε αυτοκρατορική μονάδα", + "target-imperial-unit-hint": "Επιλέξτε σε ποια αυτοκρατορική μονάδα θέλετε να μετατραπεί η αρχική σας τιμή (π.χ. in, ft, yd).", + "target-hybrid-unit": "Στόχος σε υβριδική μονάδα", + "target-hybrid-unit-hint": "Επιλέξτε σε ποια υβριδική μονάδα θέλετε να μετατραπεί η αρχική σας τιμή (π.χ. cm, in, km). Οι υβριδικές μονάδες συνδυάζουν μετρικές ή αυτοκρατορικές μονάδες.", + "enable-unit-conversion": "Ενεργοποίηση μετατροπής μονάδων", + "enable-unit-conversion-hint": "Ενεργοποιήστε για να γίνει μετατροπή. Όταν είναι απενεργοποιημένο, η αρχική τιμή θα παραμείνει αμετάβλητη. Δεν είναι διαθέσιμο αν υπάρχει μόνο μία μονάδα στην αντίστοιχη ομάδα μέτρησης (π.χ. Φωτεινή ροή, AQI)." + }, + "unit-system": "Σύστημα μονάδων", + "unit-system-type": { + "AUTO": "Αυτόματο", + "METRIC": "Μετρικό", + "IMPERIAL": "Αυτοκρατορικό", + "HYBRID": "Υβριδικό" + }, + "measures": { + "absorbed-dose-rate": "Ρυθμός απορροφούμενης δόσης", + "acceleration": "Επιτάχυνση", + "acidity": "Οξύτητα", + "air-quality-index": "Δείκτης ποιότητας αέρα", + "amount-of-substance": "Ποσότητα ουσίας", + "angle": "Γωνία", + "angular-acceleration": "Γωνιακή επιτάχυνση", + "area": "Επιφάνεια", + "area-density": "Πυκνότητα επιφάνειας", + "capacitance": "Χωρητικότητα", + "catalytic-activity": "Καταλυτική δραστηριότητα", + "catalytic-concentration": "Καταλυτική συγκέντρωση", + "charge": "Φορτίο", + "current-density": "Πυκνότητα ρεύματος", + "data-transfer-rate": "Ρυθμός μεταφοράς δεδομένων", + "density": "Πυκνότητα", + "digital": "Ψηφιακό", + "dimension-ratio": "Αναλογία διαστάσεων", + "dynamic-viscosity": "Δυναμικό ιξώδες", + "earthquake-magnitude": "Μέγεθος σεισμού", + "electric-charge-density": "Πυκνότητα ηλεκτρικού φορτίου", + "electric-current": "Ηλεκτρικό ρεύμα", + "electric-dipole-moment": "Δίπολη ροπή", + "electric-field-strength": "Ένταση ηλεκτρικού πεδίου", + "electric-flux": "Ηλεκτρική ροή", + "electric-permittivity": "Ηλεκτρική επιτρεπτικότητα", + "electric-polarizability": "Ηλεκτρική πολωσιμότητα", + "electrical-conductance": "Ηλεκτρική αγωγιμότητα", + "electrical-conductivity": "Ηλεκτρική αγωγιμότητα (ειδική)", + "energy": "Ενέργεια", + "energy-density": "Πυκνότητα ενέργειας", + "force": "Δύναμη", + "frequency": "Συχνότητα", + "fuel-efficiency": "Απόδοση καυσίμου", + "heat-capacity": "Θερμοχωρητικότητα", + "illuminance": "Φωτισμός", + "inductance": "Επαγωγή", + "kinematic-viscosity": "Κινηματικό ιξώδες", + "length": "Μήκος", + "light-exposure": "Έκθεση στο φως", + "linear-charge-density": "Γραμμική πυκνότητα φορτίου", + "logarithmic-ratio": "Λογαριθμικός λόγος", + "luminous-efficacy": "Φωτεινή απόδοση", + "luminous-flux": "Φωτεινή ροή", + "luminous-intensity": "Φωτεινή ένταση", + "magnetic-field-gradient": "Κλίση μαγνητικού πεδίου", + "magnetic-flux": "Μαγνητική ροή", + "magnetic-flux-density": "Πυκνότητα μαγνητικής ροής", + "magnetic-moment": "Μαγνητική ροπή", + "magnetic-permeability": "Μαγνητική διαπερατότητα", + "mass": "Μάζα", + "mass-fraction": "Κλασματική μάζα", + "molar-concentration": "Μοριακή συγκέντρωση", + "molar-energy": "Μοριακή ενέργεια", + "molar-heat-capacity": "Μοριακή θερμοχωρητικότητα", + "molar-mass": "Μοριακή μάζα", + "number-concentration": "Αριθμητική συγκέντρωση", + "parts-per-million": "Μέρη ανά εκατομμύριο", + "power": "Ισχύς", + "power-density": "Πυκνότητα ισχύος", + "pressure": "Πίεση", + "radiance": "Ακτινοβολία", + "radiant-intensity": "Ακτινική ένταση", + "radiation-dose": "Δόση ακτινοβολίας", + "radioactive-decay": "Ραδιενεργή αποσύνθεση", + "radioactivity": "Ραδιενέργεια", + "radioactivity-concentration": "Συγκέντρωση ραδιενέργειας", + "reciprocal-length": "Αντίστροφο μήκος", + "resistance": "Αντίσταση", + "reynolds-number": "Αριθμός Reynolds", + "signal-level": "Επίπεδο σήματος", + "solid-angle": "Στερεά γωνία", + "specific-energy": "Ειδική ενέργεια", + "specific-heat-capacity": "Ειδική θερμοχωρητικότητα", + "specific-humidity": "Ειδική υγρασία", + "specific-volume": "Ειδικός όγκος", + "speed": "Ταχύτητα", + "surface-charge-density": "Επιφανειακή πυκνότητα φορτίου", + "surface-tension": "Επιφανειακή τάση", + "temperature": "Θερμοκρασία", + "thermal-conductivity": "Θερμική αγωγιμότητα", + "time": "Χρόνος", + "torque": "Ροπή", + "turbidity": "Θολότητα", + "voltage": "Τάση", + "volume": "Όγκος", + "volume-flow": "Ροή όγκου" + }, "millimeter": "Χιλιοστόμετρο", "centimeter": "Εκατοστόμετρο", + "decimeter": "Δεκατόμετρο", "angstrom": "Άνγκστρομ", "nanometer": "Νανομέτρο", "micrometer": "Μικρόμετρο", @@ -5841,6 +6114,7 @@ "kilometer": "Χιλιόμετρο", "inch": "Ίντσα", "foot": "Πόδι", + "foot-us": "Πόδι (μέτρηση ΗΠΑ)", "yard": "Γιάρδα", "mile": "Μίλι", "nautical-mile": "Ναυτικό μίλι", @@ -5887,6 +6161,7 @@ "cubic-foot": "Κυβικό πόδι", "cubic-yard": "Κυβική γιάρδα", "fluid-ounce": "Υγρή ουγγιά", + "fluid-ounce-per-second": "Υγρή ουγγιά ανά δευτερόλεπτο", "pint": "Πίντα", "quart": "Κουάρτο", "gallon": "Γαλόνι", @@ -5904,10 +6179,14 @@ "percent": "Ποσοστό", "meter-per-second": "Μέτρο ανά δευτερόλεπτο", "kilometer-per-hour": "Χιλιόμετρα ανά ώρα", - "foot-per-second": "Πόδια ανά δευτερόλεπτο", - "mile-per-hour": "Μίλια ανά ώρα", + "foot-per-second": "Πόδι ανά δευτερόλεπτο", + "foot-per-minute": "Πόδι ανά λεπτό", + "mile-per-hour": "Μίλι ανά ώρα", "knot": "Κόμβος", + "inch-per-second": "Ίντσα ανά δευτερόλεπτο", + "inch-per-hour": "Ίντσα ανά ώρα", "millimeters-per-minute": "Χιλιοστά ανά λεπτό", + "meter-per-minute": "Μέτρο ανά λεπτό", "kilometer-per-hour-squared": "Χιλιόμετρα ανά ώρα τετράγωνο", "foot-per-second-squared": "Πόδια ανά δευτερόλεπτο τετράγωνο", "pascal": "Πασκάλ", @@ -5924,6 +6203,7 @@ "newton-per-meter": "Νιούτον ανά μέτρο", "atmospheres": "Ατμόσφαιρες", "pounds-per-square-inch": "Λίβρες ανά τετραγωνική ίντσα", + "kilopound-per-square-inch": "Χιλιολίβρα ανά τετραγωνική ίντσα", "torr": "Τορρ", "inches-of-mercury": "Ίντσες υδραργύρου", "pascal-per-square-meter": "Πασκάλ ανά τετραγωνικό μέτρο", @@ -5940,11 +6220,17 @@ "kilojoule": "Κιλοτζάουλ", "megajoule": "Μεγατζάουλ", "gigajoule": "Γιγκατζάουλ", - "watt-hour": "Βατ-ώρα", + "watt-hour": "Βατώρα", + "watt-minute": "Βατλεπτό", "kilowatt-hour": "Κιλοβατώρα", + "milliwatt-hour": "Μιλιβατώρα", + "megawatt-hour": "Μεγαβατώρα", + "gigawatt-hour": "Γιγαβατώρα", "electron-volts": "Ηλεκτρονιοβόλτ", "joules-per-coulomb": "Τζάουλ ανά κουλόμπ", - "british-thermal-unit": "Βρετανικές θερμικές μονάδες", + "british-thermal-unit": "Βρετανική θερμική μονάδα", + "thousand-british-thermal-unit": "Χίλιες βρετανικές θερμικές μονάδες", + "million-british-thermal-unit": "Εκατομμύριο βρετανικές θερμικές μονάδες", "foot-pound": "Πόδι-λίβρα", "calorie": "Θερμίδα", "small-calorie": "Μικρή θερμίδα", @@ -5975,10 +6261,20 @@ "watt-per-square-inch": "Βατ ανά τετραγωνική ίντσα", "kilowatt-per-square-inch": "Κιλοβάτ ανά τετραγωνική ίντσα", "horsepower": "Ίππος", - "btu-per-hour": "BTU ανά ώρα", + "btu-per-hour": "Βρετανικές θερμικές μονάδες ανά ώρα", + "btu-per-second": "Βρετανικές θερμικές μονάδες ανά δευτερόλεπτο", + "btu-per-day": "Βρετανικές θερμικές μονάδες ανά ημέρα", + "mbtu-per-hour": "Χίλιες βρετανικές θερμικές μονάδες ανά ώρα", + "mbtu-per-second": "Χίλιες βρετανικές θερμικές μονάδες ανά δευτερόλεπτο", + "mbtu-per-day": "Χίλιες βρετανικές θερμικές μονάδες ανά ημέρα", + "mmbtu-per-hour": "Εκατομμύριο βρετανικές θερμικές μονάδες ανά ώρα", + "mmbtu-per-second": "Εκατομμύριο βρετανικές θερμικές μονάδες ανά δευτερόλεπτο", + "mmbtu-per-day": "Εκατομμύριο βρετανικές θερμικές μονάδες ανά ημέρα", + "foot-pound-per-second": "Πόδι-λίβρα ανά δευτερόλεπτο", "coulomb": "Κουλόμπ", "millicoulomb": "Μιλικουλόμπ", "microcoulomb": "Μικροκουλόμπ", + "nanocoulomb": "Νανοκουλόμπ", "picocoulomb": "Πικοκουλόμπ", "coulomb-per-meter": "Κουλόμπ ανά μέτρο", "coulomb-per-cubic-meter": "Κουλόμπ ανά κυβικό μέτρο", @@ -5995,7 +6291,7 @@ "square-mile": "Τετραγωνικό μίλι", "are": "Άρ", "barn": "Μπαρν", - "circular-inch": "Κυκλική Ίντσα", + "circular-inch": "Κυκλική ίντσα", "milliampere-hour": "Μιλιαμπερώρια", "ampere-hours": "Αμπερώρια", "kiloampere-hours": "Κιλοαμπερώρια", @@ -6004,17 +6300,24 @@ "microampere": "Μικροαμπέρ", "milliampere": "Μιλιαμπέρ", "ampere": "Αμπέρ", + "kiloampere": "Κιλοαμπέρ", + "megaampere": "Μεγααμπέρ", + "gigaampere": "Γιγααμπέρ", "microampere-per-square-centimeter": "Μικροαμπέρ ανά τετραγωνικό εκατοστό", "ampere-per-square-meter": "Αμπέρ ανά τετραγωνικό μέτρο", "ampere-per-meter": "Αμπέρ ανά μέτρο", - "oersted": "Όερστεντ", - "bohr-magneton": "Μπορ μαγνητόνιο", - "ampere-meter-squared": "Αμπέρ-μέτρο τετραγωνικό", + "oersted": "Οέρστεντ", + "bohr-magneton": "Μαγνητόνιο Bohr", + "ampere-meter-squared": "Αμπέρ-μέτρα τετράγωνα", "nanovolt": "Νανοβόλτ", "picovolt": "Πικοβόλτ", + "millivolt": "Μιλιβόλτ", + "microvolt": "Μικροβόλτ", "volt": "Βολτ", - "dbmV": "dBmV", - "dbm": "dBm", + "kilovolt": "Κιλοβόλτ", + "megavolt": "Μεγαβόλτ", + "dbmV": "Ντεσιμπέλ βολτ", + "dbm": "Ντεσιμπέλ μιλιβάτ", "volt-meter": "Βολτόμετρο", "kilovolt-meter": "Κιλοβολτόμετρο", "megavolt-meter": "Μεγαβολτόμετρο", @@ -6023,23 +6326,25 @@ "nanovolt-meter": "Νανοβολτόμετρο", "ohm": "Ωμ", "microohm": "Μικροωμ", - "milliohm": "Μιλιωμ", + "milliohm": "Μιλιοωμ", "kilohm": "Κιλοωμ", "megohm": "Μεγαωμ", "gigohm": "Γιγαωμ", - "hertz": "Χερτζ", + "millihertz": "Μιλιχέρτζ", + "hertz": "Χέρτζ", "kilohertz": "Κιλοχέρτζ", "megahertz": "Μεγαχέρτζ", "gigahertz": "Γιγαχέρτζ", + "terahertz": "Τεραχέρτζ", "rpm": "Στροφές ανά λεπτό", "candela-per-square-meter": "Καντέλα ανά τετραγωνικό μέτρο", "candela": "Καντέλα", "lumen": "Λούμεν", "lux": "Λουξ", - "foot-candle": "Πόδι-κερί", + "foot-candle": "Πόδι-καντέλα", "lumen-per-square-meter": "Λούμεν ανά τετραγωνικό μέτρο", - "lux-second": "Λουξ-δευτερόλεπτο", - "lumen-second": "Λούμεν-δευτερόλεπτο", + "lux-second": "Λουξ δευτερόλεπτο", + "lumen-second": "Λούμεν δευτερόλεπτο", "lumens-per-watt": "Λούμεν ανά βατ", "mole": "Μόλιο", "nanomole": "Νανομόλιο", @@ -6047,12 +6352,12 @@ "millimole": "Μιλιμόλιο", "kilomole": "Κιλομόλιο", "mole-per-cubic-meter": "Μόλιο ανά κυβικό μέτρο", - "rssi": "RSSI", + "rssi": "Δείκτης ισχύος ληφθέντος σήματος", "ppm": "Μέρη ανά εκατομμύριο", "ppb": "Μέρη ανά δισεκατομμύριο", "micrograms-per-cubic-meter": "Μικρογραμμάρια ανά κυβικό μέτρο", - "aqi": "Δείκτης Ποιότητας Αέρα (AQI)", - "gram-per-cubic-meter": "Γραμμάριο ανά κυβικό μέτρο", + "aqi": "Δείκτης ποιότητας αέρα (AQI)", + "gram-per-cubic-meter": "Γραμμάρια ανά κυβικό μέτρο", "gram-per-kilogram": "Ειδική υγρασία", "millimeters-per-second": "Χιλιοστά ανά δευτερόλεπτο", "neper": "Νέπερ", @@ -6075,38 +6380,38 @@ "becquerels-per-second": "Μπεκερέλ ανά δευτερόλεπτο", "curies-per-second": "Κιουρί ανά δευτερόλεπτο", "gy-per-second": "Γκρέι ανά δευτερόλεπτο", - "watt-per-steradian": "Βατ ανά στερακτίδιο", - "watt-per-square-metre-steradian": "Βατ ανά τετραγωνικό μέτρο-στερακτίδιο", + "watt-per-steradian": "Βατ ανά στερακτιάνιο", + "watt-per-square-metre-steradian": "Βατ ανά τετραγωνικό μέτρο-στερακτιάνιο", "ph-level": "Επίπεδο pH", "turbidity": "Θολότητα", "mg-per-liter": "Μιλιγραμμάρια ανά λίτρο", "microsiemens-per-centimeter": "Μικροσίμενς ανά εκατοστό", "millisiemens-per-meter": "Μιλισίμενς ανά μέτρο", "siemens-per-meter": "Σίμενς ανά μέτρο", - "kilogram-per-cubic-meter": "Κιλό ανά κυβικό μέτρο", - "gram-per-cubic-centimeter": "Γραμμάριο ανά κυβικό εκατοστό", - "kilogram-per-square-meter": "Κιλό ανά τετραγωνικό μέτρο", + "kilogram-per-cubic-meter": "Κιλά ανά κυβικό μέτρο", + "gram-per-cubic-centimeter": "Γραμμάρια ανά κυβικό εκατοστό", + "kilogram-per-square-meter": "Κιλά ανά τετραγωνικό μέτρο", "milligram-per-milliliter": "Μιλιγραμμάριο ανά χιλιοστόλιτρο", "milligram-per-cubic-meter": "Μιλιγραμμάριο ανά κυβικό μέτρο", "pound-per-cubic-foot": "Λίβρα ανά κυβικό πόδι", - "ounces-per-cubic-inch": "Ουγγιά ανά κυβική ίντσα", + "ounces-per-cubic-inch": "Ουγγιές ανά κυβική ίντσα", "tons-per-cubic-yard": "Τόνοι ανά κυβική γιάρδα", "particle-density": "Πυκνότητα σωματιδίων", "kilometers-per-liter": "Χιλιόμετρα ανά λίτρο", "miles-per-gallon": "Μίλια ανά γαλόνι", - "liters-per-100-km": "Λίτρα ανά 100 χιλιόμετρα", + "liters-per-100-km": "Λίτρα ανά 100 χλμ", "gallons-per-mile": "Γαλόνια ανά μίλι", "liters-per-hour": "Λίτρα ανά ώρα", "gallons-per-hour": "Γαλόνια ανά ώρα", - "beats-per-minute": "Κτύποι ανά λεπτό", + "beats-per-minute": "Χτύποι ανά λεπτό", "millimeters-of-mercury": "Χιλιοστά υδραργύρου", "milligrams-per-deciliter": "Μιλιγραμμάρια ανά δεκατόλιτρο", - "g-force": "Επιτάχυνση βαρύτητας (g-force)", + "g-force": "Δύναμη g", "kilonewton": "Κιλονιούτον", "kilogram-force": "Δύναμη κιλού", "pound-force": "Δύναμη λίβρας", - "kilopound-force": "Κιλολίβρα-δύναμη", - "dyne": "Ντίν", + "kilopound-force": "Δύναμη χιλίων λιβρών", + "dyne": "Ντάιν", "poundal": "Πάουνταλ", "kip": "Κιπ", "gal": "Γκαλ", @@ -6116,6 +6421,9 @@ "millibars": "Μιλιμπάρ", "inch-of-mercury": "Ίντσα υδραργύρου", "richter-scale": "Κλίμακα Ρίχτερ", + "nanosecond": "Νανοδευτερόλεπτο", + "microsecond": "Μικροδευτερόλεπτο", + "millisecond": "Χιλιοστό του δευτερολέπτου", "second": "Δευτερόλεπτο", "minute": "Λεπτό", "hour": "Ώρα", @@ -6130,29 +6438,33 @@ "liter-per-minute": "Λίτρο ανά λεπτό", "gallons-per-minute": "Γαλόνια ανά λεπτό", "cubic-foot-per-second": "Κυβικό πόδι ανά δευτερόλεπτο", - "milliliters-per-minute": "Χιλιοστόλιτρα ανά λεπτό", - "bit": "Bit", - "byte": "Byte", - "kilobyte": "Kilobyte", - "megabyte": "Megabyte", - "gigabyte": "Gigabyte", - "terabyte": "Terabyte", - "petabyte": "Petabyte", - "exabyte": "Exabyte", - "zettabyte": "Zettabyte", - "yottabyte": "Yottabyte", - "bit-per-second": "Bit ανά δευτερόλεπτο", - "kilobit-per-second": "Kilobit ανά δευτερόλεπτο", - "megabit-per-second": "Megabit ανά δευτερόλεπτο", - "gigabit-per-second": "Gigabit ανά δευτερόλεπτο", - "terabit-per-second": "Terabit ανά δευτερόλεπτο", - "byte-per-second": "Byte ανά δευτερόλεπτο", - "kilobyte-per-second": "Kilobyte ανά δευτερόλεπτο", - "megabyte-per-second": "Megabyte ανά δευτερόλεπτο", - "gigabyte-per-second": "Gigabyte ανά δευτερόλεπτο", + "milliliters-per-minute": "Μιλιλίτρα ανά λεπτό", + "cubic-decimeter-per-second": "Κυβικό δεκατόλιτρο ανά δευτερόλεπτο", + "bit": "Μπιτ", + "byte": "Μπάιτ", + "kilobyte": "Κιλομπάιτ", + "megabyte": "Μεγαμπάιτ", + "gigabyte": "Γιγκαμπάιτ", + "terabyte": "Τεραμπάιτ", + "petabyte": "Πεταμπάιτ", + "exabyte": "Εξαμπάιτ", + "zettabyte": "Ζεταμπάιτ", + "yottabyte": "Γιοταμπάιτ", + "bit-per-second": "Μπιτ ανά δευτερόλεπτο", + "kilobit-per-second": "Κιλομπιτ ανά δευτερόλεπτο", + "megabit-per-second": "Μεγαμπιτ ανά δευτερόλεπτο", + "gigabit-per-second": "Γιγκαμπιτ ανά δευτερόλεπτο", + "terabit-per-second": "Τεραμπιτ ανά δευτερόλεπτο", + "byte-per-second": "Μπάιτ ανά δευτερόλεπτο", + "kilobyte-per-second": "Κιλομπάιτ ανά δευτερόλεπτο", + "megabyte-per-second": "Μεγαμπάιτ ανά δευτερόλεπτο", + "gigabyte-per-second": "Γιγκαμπάιτ ανά δευτερόλεπτο", "degree": "Μοίρα", "radian": "Ακτίνιο", - "gradian": "Γκραντ", + "gradian": "Γκράντ", + "arcminute": "Γωνιακό λεπτό", + "arcsecond": "Γωνιακό δευτερόλεπτο", + "milliradian": "Μιλιράντιο", "revolution": "Περιστροφή", "siemens": "Σίμενς", "millisiemens": "Μιλισίμενς", @@ -6167,7 +6479,7 @@ "picofarad": "Πικοφαράντ", "kilofarad": "Κιλοφαράντ", "megafarad": "Μεγαφαράντ", - "gigafarad": "Γιγαφαράντ", + "gigafarad": "Γιγκαφαράντ", "terfarad": "Τεραφαράντ", "farad-per-meter": "Φαράντ ανά μέτρο", "tesla": "Τέσλα", @@ -6188,8 +6500,8 @@ "square-foot-per-second": "Τετραγωνικό πόδι ανά δευτερόλεπτο", "square-inch-per-second": "Τετραγωνική ίντσα ανά δευτερόλεπτο", "pascal-second": "Πασκάλ-δευτερόλεπτο", - "centipoise": "Σεντιπόιζ", - "poise": "Πόιζ", + "centipoise": "Σεντιπόις", + "poise": "Πόις", "reynolds": "Ρέινολντς", "pound-per-foot-hour": "Λίβρα ανά πόδι-ώρα", "newton-second-per-square-meter": "Νιούτον-δευτερόλεπτο ανά τετραγωνικό μέτρο", @@ -6202,30 +6514,32 @@ "weber": "Βέμπερ", "microweber": "Μικροβέμπερ", "milliweber": "Μιλιβέμπερ", - "gauss-square-centimeter": "Γκάους-τετραγωνικό εκατοστό", - "kilogauss-square-centimeter": "Κιλογκάους-τετραγωνικό εκατοστό", + "gauss-square-centimeter": "Γκάους τετραγωνικό εκατοστό", + "kilogauss-square-centimeter": "Κιλογκάους τετραγωνικό εκατοστό", "henry": "Χένρι", "millihenry": "Μιλιχένρι", "microhenry": "Μικροχένρι", "nanohenry": "Νανοχένρι", "henry-per-meter": "Χένρι ανά μέτρο", - "tesla-meter-per-ampere": "Τέσλα μέτρο ανά Αμπέρ", - "gauss-per-oersted": "Γκάους ανά Όερστεντ", - "kilogram-per-mole": "Κιλό ανά μολ", - "gram-per-mole": "Γραμμάριο ανά μολ", - "milligram-per-mole": "Μιλιγραμμάριο ανά μολ", - "joule-per-mole": "Τζάουλ ανά μολ", - "joule-per-mole-kelvin": "Τζάουλ ανά μολ-Κέλβιν", + "tesla-meter-per-ampere": "Τέσλα μέτρο ανά αμπέρ", + "gauss-per-oersted": "Γκάους ανά Έρστεντ", + "kilogram-per-mole": "Κιλά ανά μόλιο", + "gram-per-mole": "Γραμμάρια ανά μόλιο", + "milligram-per-mole": "Μιλιγραμμάρια ανά μόλιο", + "joule-per-mole": "Τζάουλ ανά μόλιο", + "joule-per-mole-kelvin": "Τζάουλ ανά μόλιο-Κέλβιν", "millivolts-per-meter": "Μιλιβόλτ ανά μέτρο", "volts-per-meter": "Βόλτ ανά μέτρο", "kilovolts-per-meter": "Κιλοβόλτ ανά μέτρο", "radian-per-second": "Ακτίνιο ανά δευτερόλεπτο", "radian-per-second-squared": "Ακτίνιο ανά δευτερόλεπτο τετράγωνο", "revolutions-per-minute-per-second": "Γωνιακή επιτάχυνση", - "deg-per-second": "μοίρες/δευτ.", + "deg-per-second": "Μοίρες ανά δευτερόλεπτο", + "rotation-per-minute": "Περιστροφές ανά λεπτό", "degrees-brix": "Μοίρες Brix", "katal": "Κατάλ", - "katal-per-cubic-metre": "Κατάλ ανά κυβικό μέτρο" + "katal-per-cubic-metre": "Κατάλ ανά κυβικό μέτρο", + "paris-inch": "Ίντσα Παρισιού" }, "user": { "user": "Χρήστης", @@ -7775,6 +8089,18 @@ "fill-area-opacity": "Διαφάνεια γεμίσματος περιοχής", "range-chart-style": "Στυλ διαγράμματος εύρους" }, + "knob": { + "behavior": "Συμπεριφορά", + "initial-value": "Αρχική τιμή", + "initial-value-hint": "Ενέργεια για λήψη της αρχικής τιμής του περιστροφικού ρυθμιστή.", + "on-value-change": "Κατά την αλλαγή τιμής", + "on-value-change-hint": "Ενέργεια που ενεργοποιείται όταν αλλάζει η τιμή του περιστροφικού ρυθμιστή.", + "range": "Εύρος", + "min": "ελάχ.", + "max": "μέγ.", + "value": "Τιμή", + "fallback-initial-value": "Εναλλακτική αρχική τιμή" + }, "rpc": { "value-settings": "Ρυθμίσεις τιμής", "initial-value": "Αρχική τιμή", @@ -7831,9 +8157,7 @@ "led-status-value-timeseries": "Χρονοσειρά συσκευής με τιμή κατάστασης LED", "check-status-method": "RPC μέθοδος ελέγχου κατάστασης συσκευής", "parse-led-status-value-function": "Συνάρτηση ανάλυσης τιμής κατάστασης LED", - "knob-title": "Τίτλος περιστροφικού ελεγκτή", - "min-value": "Ελάχιστη τιμή", - "max-value": "Μέγιστη τιμή" + "knob-title": "Τίτλος περιστροφικού ελεγκτή" }, "maps": { "map-type": { @@ -8688,7 +9012,11 @@ "radar-axis": "Άξονας ραντάρ", "axis-label": "Ετικέτα άξονα", "ticks-label": "Ετικέτα διαβαθμίσεων", - "radar-chart-style": "Στυλ διαγράμματος ραντάρ" + "radar-chart-style": "Στυλ διαγράμματος ραντάρ", + "max-axes-scaling": "Μέγιστη κλίμακα αξόνων", + "max-axes-scaling-hint": "Επιλέξτε αν κάθε άξονας του ραντάρ έχει τη δική του μέγιστη τιμή (Διαφορετική) ή αν μοιράζονται τη μέγιστη τιμή όλων των αξόνων με βάση το σύνολο δεδομένων του widget (Κοινή).", + "separate": "Διαφορετική", + "common": "Κοινή" }, "time-series-chart": { "chart": "Διάγραμμα", @@ -9194,4 +9522,4 @@ "language": { "language": "Γλώσσα" } -} +} \ No newline at end of file diff --git a/ui-ngx/src/assets/locale/locale.constant-es_ES.json b/ui-ngx/src/assets/locale/locale.constant-es_ES.json index daab8822fd..6ff64e0879 100644 --- a/ui-ngx/src/assets/locale/locale.constant-es_ES.json +++ b/ui-ngx/src/assets/locale/locale.constant-es_ES.json @@ -261,8 +261,8 @@ "client-secret-required": "Se requiere el secreto del cliente.", "client-secret-max-length": "El secreto del cliente debe tener menos de 2049 caracteres", "custom-setting": "Configuraciones personalizadas", - "customer-name-pattern": "Patrón de nombre de cliente", - "customer-name-pattern-max-length": "El patrón de nombre de cliente debe tener menos de 256 caracteres", + "customer-name-pattern": "Patrón de nombre de customer", + "customer-name-pattern-max-length": "El patrón de nombre de customer debe tener menos de 256 caracteres", "default-dashboard-name": "Nombre del tablero predeterminado", "default-dashboard-name-max-length": "El nombre del tablero predeterminado debe tener menos de 256 caracteres", "delete-domain-text": "Ten cuidado, después de la confirmación el dominio y todos los datos del proveedor dejarán de estar disponibles.", @@ -294,10 +294,10 @@ "registration-id-unique": "El ID de registro debe ser único en el sistema.", "scope": "Alcance", "scope-required": "Se requiere el alcance.", - "tenant-name-pattern": "Patrón de nombre del inquilino", - "tenant-name-pattern-required": "Se requiere el patrón de nombre del inquilino.", - "tenant-name-pattern-max-length": "El patrón de nombre del inquilino debe tener menos de 256 caracteres", - "tenant-name-strategy": "Estrategia de nombre del inquilino", + "tenant-name-pattern": "Patrón de nombre del Tenant", + "tenant-name-pattern-required": "Se requiere el patrón de nombre del Tenant.", + "tenant-name-pattern-max-length": "El patrón de nombre del Tenant debe tener menos de 256 caracteres", + "tenant-name-strategy": "Estrategia de nombre del Tenant", "type": "Tipo de mapeador", "uri-pattern-error": "Formato de URI inválido.", "url": "URL", @@ -349,8 +349,8 @@ "domain-name": "Nombre de dominio", "domain-name-required": "Se requiere el nombre de dominio", "redirect-url-template": "Plantilla de URI de redirección", - "microsoft-tenant-id": "ID de directorio (inquilino)", - "microsoft-tenant-id-required": "Se requiere el ID de directorio (inquilino)", + "microsoft-tenant-id": "ID de directorio (tenant)", + "microsoft-tenant-id-required": "Se requiere el ID de directorio (tenant)", "token-uri": "URI del token", "token-uri-required": "Se requiere la URI del token", "redirect-uri": "URI de redirección", @@ -545,7 +545,13 @@ "slack-settings": "Configuración de Slack", "mobile-settings": "Configuración móvil", "firebase-service-account-file": "Archivo JSON de credenciales de cuenta de servicio de Firebase", - "select-firebase-service-account-file": "Arrastra y suelta tu archivo de credenciales de cuenta de servicio de Firebase o " + "select-firebase-service-account-file": "Arrastra y suelta tu archivo de credenciales de cuenta de servicio de Firebase o ", + "trendz": "Trendz", + "trendz-settings": "Configuración de Trendz", + "trendz-url": "URL de Trendz", + "trendz-url-required": "La URL de Trendz es obligatoria", + "trendz-api-key": "Clave API de Trendz", + "trendz-enable": "Habilitar Trendz" }, "alarm": { "alarm": "Alarma", @@ -678,7 +684,7 @@ "filter-type-entity-name": "Nombre de la entidad", "filter-type-entity-type": "Tipo de entidad", "filter-type-state-entity": "Entidad del estado del tablero", - "filter-type-state-entity-description": "Entidad tomada de los parámetros del estado del tablero", + "filter-type-state-entity-description": "Entidad obtenida de los parámetros del estado del tablero", "filter-type-asset-type": "Tipo de activo", "filter-type-asset-type-description": "Activos del tipo '{{assetTypes}}'", "filter-type-asset-type-and-name-description": "Activos del tipo '{{assetTypes}}' con nombre que comienza con '{{prefix}}'", @@ -709,12 +715,13 @@ "filter-type-required": "Se requiere el tipo de filtro.", "entity-filter-no-entity-matched": "No se encontraron entidades que coincidan con el filtro especificado.", "no-entity-filter-specified": "No se especificó ningún filtro de entidad", - "root-state-entity": "Usar entidad del estado del tablero como raíz", - "last-level-relation": "Obtener solo relaciones del último nivel", + "root-state-entity": "Usar la entidad del estado del tablero como raíz", + "last-level-relation": "Obtener solo la relación del último nivel", "root-entity": "Entidad raíz", - "state-entity-parameter-name": "Nombre del parámetro de entidad del estado", + "state-entity-parameter-name": "Nombre del parámetro de la entidad de estado", "default-state-entity": "Entidad de estado predeterminada", "default-entity-parameter-name": "Por defecto", + "query-options": "Opciones de consulta", "max-relation-level": "Nivel máximo de relación", "unlimited-level": "Nivel ilimitado", "state-entity": "Entidad del estado del tablero", @@ -728,16 +735,16 @@ "view-assets": "Ver activos", "add": "Agregar activo", "asset-type-max-length": "El tipo de activo debe tener menos de 256 caracteres", - "assign-to-customer": "Asignar a cliente", + "assign-to-customer": "Asignar a customer", "assign-asset-to-customer": "Asignar activo(s) al cliente", - "assign-asset-to-customer-text": "Selecciona los activos que deseas asignar al cliente", + "assign-asset-to-customer-text": "Selecciona los activos que deseas asignar al customer", "no-assets-text": "No se encontraron activos", - "assign-to-customer-text": "Selecciona el cliente al que deseas asignar el/los activo(s)", + "assign-to-customer-text": "Selecciona el customer al que deseas asignar el/los activo(s)", "public": "Público", - "assignedToCustomer": "Asignado a cliente", + "assignedToCustomer": "Asignado a customer", "make-public": "Hacer público el activo", "make-private": "Hacer privado el activo", - "unassign-from-customer": "Desasignar del cliente", + "unassign-from-customer": "Desasignar del customer", "delete": "Eliminar activo", "asset-public": "El activo es público", "asset-type": "Tipo de activo", @@ -760,12 +767,12 @@ "add-asset-text": "Agregar nuevo activo", "asset-details": "Detalles del activo", "assign-assets": "Asignar activos", - "assign-assets-text": "Asignar { count, plural, =1 {1 activo} other {# activos} } al cliente", + "assign-assets-text": "Asignar { count, plural, =1 {1 activo} other {# activos} } al customer", "assign-asset-to-edge-title": "Asignar activo(s) a Edge", "assign-asset-to-edge-text": "Selecciona los activos que deseas asignar a Edge", "delete-assets": "Eliminar activos", "unassign-assets": "Desasignar activos", - "unassign-assets-action-title": "Desasignar { count, plural, =1 {1 activo} other {# activos} } del cliente", + "unassign-assets-action-title": "Desasignar { count, plural, =1 {1 activo} other {# activos} } del customer", "assign-new-asset": "Asignar nuevo activo", "delete-asset-title": "¿Estás seguro de que deseas eliminar el activo '{{assetName}}'?", "delete-asset-text": "Ten cuidado, después de la confirmación el activo y todos los datos relacionados serán irrecuperables.", @@ -777,10 +784,10 @@ "make-private-asset-title": "¿Estás seguro de que deseas hacer privado el activo '{{assetName}}'?", "make-private-asset-text": "Después de la confirmación, el activo y todos sus datos serán privados y no serán accesibles por otros.", "unassign-asset-title": "¿Estás seguro de que deseas desasignar el activo '{{assetName}}'?", - "unassign-asset-text": "Después de la confirmación, el activo se desasignará y no será accesible por el cliente.", + "unassign-asset-text": "Después de la confirmación, el activo se desasignará y no será accesible por el customer.", "unassign-asset": "Desasignar activo", "unassign-assets-title": "¿Estás seguro de que deseas desasignar { count, plural, =1 {1 activo} other {# activos} }?", - "unassign-assets-text": "Después de la confirmación, todos los activos seleccionados se desasignarán y no serán accesibles por el cliente.", + "unassign-assets-text": "Después de la confirmación, todos los activos seleccionados se desasignarán y no serán accesibles por el customer.", "copyId": "Copiar ID del activo", "idCopiedMessage": "El ID del activo ha sido copiado al portapapeles", "select-asset": "Seleccionar activo", @@ -917,22 +924,27 @@ "view-statistics": "Ver estadísticas" }, "api-limit": { - "cassandra-queries": "Consultas Cassandra", - "entity-version-creation": "Creación de versión de entidad", - "entity-version-load": "Carga de versión de entidad", + "cassandra-write-queries-core": "Consultas de escritura en Cassandra desde la API REST", + "cassandra-read-queries-core": "Consultas de lectura en Cassandra desde la API REST y telemetría WS", + "cassandra-write-queries-rule-engine": "Consultas de escritura en Cassandra desde el motor de reglas (Rule Engine)", + "cassandra-read-queries-rule-engine": "Consultas de lectura en Cassandra desde el motor de reglas (Rule Engine)", + "cassandra-write-queries-monolith": "Consultas de escritura en Cassandra desde la telemetría monolítica", + "cassandra-read-queries-monolith": "Consultas de lectura en Cassandra desde la telemetría monolítica", + "entity-version-creation": "Creación de versiones de entidad", + "entity-version-load": "Carga de versiones de entidad", "notification-requests": "Solicitudes de notificación", "notification-requests-per-rule": "Solicitudes de notificación por regla", - "rest-api-requests": "Solicitudes de API REST", - "rest-api-requests-per-customer": "Solicitudes de API REST por cliente", + "rest-api-requests": "Solicitudes de la API REST", + "rest-api-requests-per-customer": "Solicitudes de la API REST por customer", "transport-messages": "Mensajes de transporte", "transport-messages-per-device": "Mensajes de transporte por dispositivo", "transport-messages-per-gateway": "Mensajes de transporte por gateway", "transport-messages-per-gateway-device": "Mensajes de transporte por dispositivo de gateway", "ws-updates-per-session": "Actualizaciones WS por sesión", - "edge-events": "Eventos de Edge", - "edge-events-per-edge": "Eventos de Edge por Edge", - "edge-uplink-messages": "Mensajes uplink de Edge", - "edge-uplink-messages-per-edge": "Mensajes uplink de Edge por Edge" + "edge-events": "Eventos de edge", + "edge-events-per-edge": "Eventos de edge por instancia de edge", + "edge-uplink-messages": "Mensajes uplink de edge", + "edge-uplink-messages-per-edge": "Mensajes uplink de edge por instancia de edge" }, "audit-log": { "audit": "Auditoría", @@ -951,8 +963,8 @@ "type-attributes-deleted": "Atributos eliminados", "type-rpc-call": "Llamada RPC", "type-credentials-updated": "Credenciales actualizadas", - "type-assigned-to-customer": "Asignado al cliente", - "type-unassigned-from-customer": "Desasignado del cliente", + "type-assigned-to-customer": "Asignado al customer", + "type-unassigned-from-customer": "Desasignado del customer", "type-assigned-to-edge": "Asignado a Edge", "type-unassigned-from-edge": "Desasignado de Edge", "type-activated": "Activado", @@ -981,8 +993,8 @@ "failure-details": "Detalles del fallo", "search": "Buscar registros de auditoría", "clear-search": "Borrar búsqueda", - "type-assigned-from-tenant": "Asignado desde inquilino", - "type-assigned-to-tenant": "Asignado a inquilino", + "type-assigned-from-tenant": "Asignado desde Tenant", + "type-assigned-to-tenant": "Asignado a Tenant", "type-provision-success": "Dispositivo aprovisionado", "type-provision-failure": "El aprovisionamiento del dispositivo falló", "type-timeseries-updated": "Telemetría actualizada", @@ -1018,13 +1030,13 @@ "add-argument": "Agregar argumento", "test-script-function": "Probar función de script", "no-arguments": "No hay argumentos configurados", - "argument-settings": "Configuración del argumento", + "argument-settings": "Configuración de argumentos", "argument-current": "Entidad actual", - "argument-current-tenant": "Inquilino actual", + "argument-current-tenant": "Tenant actual", "argument-device": "Dispositivo", "argument-asset": "Activo", - "argument-customer": "Cliente", - "argument-tenant": "Inquilino actual", + "argument-customer": "Customer", + "argument-tenant": "Tenant actual", "argument-type": "Tipo de argumento", "see-debug-events": "Ver eventos de depuración", "attribute": "Atributo", @@ -1041,7 +1053,7 @@ "default-value": "Valor por defecto", "limit": "Máx. valores", "time-window": "Ventana de tiempo", - "customer-name": "Nombre del cliente", + "customer-name": "Nombre del customer", "asset-name": "Nombre del activo", "timeseries": "Serie temporal", "output": "Salida", @@ -1057,24 +1069,103 @@ "delete-multiple-title": "¿Estás seguro de que deseas eliminar { count, plural, =1 {1 campo calculado} other {# campos calculados} }?", "delete-multiple-text": "Ten cuidado, después de la confirmación todos los campos calculados seleccionados serán eliminados y todos los datos relacionados serán irrecuperables.", "test-with-this-message": "Probar con este mensaje", + "use-latest-timestamp": "Usar la última marca de tiempo", "hint": { - "arguments-simple-with-rolling": "Un campo calculado de tipo simple no debe contener claves con tipo de serie temporal acumulativa.", + "arguments-simple-with-rolling": "Un campo calculado de tipo simple no debe contener claves con tipo de serie temporal con agregación.", "arguments-empty": "Los argumentos no deben estar vacíos.", "expression-required": "Se requiere una expresión.", - "expression-invalid": "La expresión es inválida", - "expression-max-length": "La longitud de la expresión debe ser menor a 255 caracteres.", + "expression-invalid": "La expresión no es válida.", + "expression-max-length": "La longitud de la expresión debe ser inferior a 255 caracteres.", "argument-name-required": "Se requiere el nombre del argumento.", - "argument-name-pattern": "El nombre del argumento es inválido.", + "argument-name-pattern": "El nombre del argumento no es válido.", "argument-name-duplicate": "Ya existe un argumento con ese nombre.", "argument-name-max-length": "El nombre del argumento debe tener menos de 256 caracteres.", - "argument-name-forbidden": "El nombre del argumento está reservado y no puede ser utilizado.", + "argument-name-forbidden": "El nombre del argumento está reservado y no puede utilizarse.", "argument-type-required": "Se requiere el tipo de argumento.", - "max-args": "Se alcanzó el número máximo de argumentos.", + "max-args": "Se ha alcanzado el número máximo de argumentos.", "decimals-range": "Los decimales por defecto deben ser un número entre 0 y 15.", "expression": "La expresión por defecto muestra cómo transformar una temperatura de Fahrenheit a Celsius.", - "arguments-entity-not-found": "No se encontró la entidad objetivo del argumento." + "arguments-entity-not-found": "No se encontró la entidad de destino del argumento.", + "use-latest-timestamp": "Si está habilitado, el valor calculado se almacenará utilizando la marca de tiempo más reciente de la telemetría de los argumentos, en lugar del tiempo del servidor." } }, + "ai-models": { + "ai-models": "Modelos de IA", + "ai-model": "Modelo de IA", + "model": "Modelo", + "name": "Nombre", + "ai-provider": "Proveedor de IA", + "no-found": "No se encontraron modelos de IA", + "list": "{ count, plural, =1 {Un modelo} other {Lista de # modelos} }", + "selected-fields": "{ count, plural, =1 {1 modelo} other {# modelos} } seleccionados", + "add": "Agregar modelo", + "delete-model-title": "¿Estás seguro de que deseas eliminar el modelo '{{modelName}}'?", + "delete-model-text": "Ten cuidado, después de la confirmación el modelo y todos los datos relacionados serán irrecuperables.", + "delete-models-title": "¿Estás seguro de que deseas eliminar { count, plural, =1 {1 modelo} other {# modelos} }?", + "delete-models-text": "Ten cuidado, después de la confirmación todos los modelos seleccionados serán eliminados y todos los datos relacionados serán irrecuperables.", + "ai-providers": { + "openai": "OpenAI", + "azure-openai": "Azure OpenAI", + "google-ai-gemini": "Google AI Gemini", + "google-vertex-ai-gemini": "Google Vertex AI Gemini", + "mistral-ai": "Mistral AI", + "anthropic": "Anthropic", + "amazon-bedrock": "Amazon Bedrock", + "github-models": "Modelos de GitHub" + }, + "name-required": "Se requiere un nombre.", + "name-max-length": "El nombre debe tener 255 caracteres o menos.", + "provider": "Proveedor", + "api-key": "Clave API", + "api-key-required": "Se requiere la clave API.", + "project-id": "ID del proyecto", + "project-id-required": "Se requiere el ID del proyecto", + "location": "Ubicación", + "location-required": "Se requiere la ubicación.", + "service-account-key-file": "Archivo de clave de cuenta de servicio", + "service-account-key-file-required": "Se requiere el archivo de clave de cuenta de servicio.", + "no-file": "Ningún archivo seleccionado.", + "drop-file": "Suelta un archivo o haz clic para seleccionar uno y subirlo.", + "personal-access-token": "Token de acceso personal", + "personal-access-token-required": "Se requiere el token de acceso personal.", + "configuration": "Configuración", + "model-id": "ID del modelo", + "model-id-required": "Se requiere el ID del modelo.", + "deployment-name": "Nombre del despliegue", + "deployment-name-required": "Se requiere el nombre del despliegue", + "set": "Establecer", + "region": "Región", + "region-required": "Se requiere la región.", + "access-key-id": "ID de clave de acceso", + "access-key-id-required": "Se requiere el ID de clave de acceso.", + "secret-access-key": "Clave de acceso secreta", + "secret-access-key-required": "Se requiere la clave de acceso secreta.", + "temperature": "Temperatura", + "temperature-hint": "Ajusta el nivel de aleatoriedad en la salida del modelo. Valores más altos aumentan la aleatoriedad, mientras que valores más bajos la reducen.", + "temperature-min": "Debe ser 0 o mayor.", + "top-p": "Top P", + "top-p-hint": "Crea un conjunto de los tokens más probables entre los cuales el modelo puede elegir. Valores más altos generan un conjunto más grande y diverso; valores más bajos, uno más reducido.", + "top-p-min-max": "Debe ser mayor que 0 y hasta 1.", + "top-k": "Top K", + "top-k-hint": "Restringe las opciones del modelo a un conjunto fijo de los \"K\" tokens más probables.", + "top-k-min": "Debe ser 0 o mayor.", + "presence-penalty": "Penalización por presencia", + "presence-penalty-hint": "Aplica una penalización fija a la probabilidad de un token si ya ha aparecido en el texto.", + "frequency-penalty": "Penalización por frecuencia", + "frequency-penalty-hint": "Aplica una penalización a la probabilidad de un token que aumenta en función de su frecuencia en el texto.", + "max-output-tokens": "Número máximo de tokens de salida", + "max-output-tokens-min": "Debe ser mayor que 0.", + "max-output-tokens-hint": "Define el número máximo de tokens que el modelo puede generar en una sola respuesta.", + "endpoint": "Endpoint", + "endpoint-required": "Se requiere el endpoint.", + "service-version": "Versión del servicio", + "check-connectivity": "Verificar conectividad", + "check-connectivity-success": "La solicitud de prueba fue exitosa", + "check-connectivity-failed": "La solicitud de prueba falló", + "no-model-matching": "No se encontraron modelos que coincidan con '{{entity}}'.", + "model-required": "Se requiere un modelo.", + "no-model-text": "No se encontraron modelos." + }, "confirm-on-exit": { "message": "Tienes cambios sin guardar. ¿Estás seguro de que deseas salir de esta página?", "html-message": "Tienes cambios sin guardar.
¿Estás seguro de que deseas salir de esta página?", @@ -1145,36 +1236,36 @@ "color": "Color" }, "customer": { - "customer": "Cliente", - "customers": "Clientes", - "management": "Gestión de clientes", - "dashboard": "Tablero del cliente", - "dashboards": "Tableros del cliente", - "devices": "Dispositivos del cliente", - "entity-views": "Vistas de entidad del cliente", - "assets": "Activos del cliente", + "customer": "Customer", + "customers": "Customers", + "management": "Gestión de customers", + "dashboard": "Tablero del customer", + "dashboards": "Tableros del customer", + "devices": "Dispositivos del customer", + "entity-views": "Vistas de entidad del customer", + "assets": "Activos del customer", "public-dashboards": "Tableros públicos", "public-devices": "Dispositivos públicos", "public-assets": "Activos públicos", "public-entity-views": "Vistas de entidad públicas", - "add": "Agregar cliente", - "delete": "Eliminar cliente", - "manage-customer-users": "Gestionar usuarios del cliente", - "manage-customer-devices": "Gestionar dispositivos del cliente", - "manage-customer-dashboards": "Gestionar tableros del cliente", + "add": "Agregar customer", + "delete": "Eliminar customer", + "manage-customer-users": "Gestionar usuarios del Customer", + "manage-customer-devices": "Gestionar dispositivos del Customer", + "manage-customer-dashboards": "Gestionar tableros del Customer", "manage-public-devices": "Gestionar dispositivos públicos", "manage-public-dashboards": "Gestionar tableros públicos", - "manage-customer-assets": "Gestionar activos del cliente", - "manage-customer-edges": "Gestionar edge del cliente", + "manage-customer-assets": "Gestionar activos del Customer", + "manage-customer-edges": "Gestionar edges del Customer", "manage-public-assets": "Gestionar activos públicos", - "add-customer-text": "Agregar nuevo cliente", - "no-customers-text": "No se encontraron clientes", - "customer-details": "Detalles del cliente", - "delete-customer-title": "¿Estás seguro de que deseas eliminar el cliente '{{customerTitle}}'?", - "delete-customer-text": "Ten cuidado, después de la confirmación el cliente y todos los datos relacionados serán irrecuperables.", - "delete-customers-title": "¿Estás seguro de que deseas eliminar { count, plural, =1 {1 cliente} other {# clientes} }?", - "delete-customers-action-title": "Eliminar { count, plural, =1 {1 cliente} other {# clientes} }", - "delete-customers-text": "Ten cuidado, después de la confirmación todos los clientes seleccionados serán eliminados y todos los datos relacionados serán irrecuperables.", + "add-customer-text": "Agregar nuevo customer", + "no-customers-text": "No se encontraron customers", + "customer-details": "Detalles del customer", + "delete-customer-title": "¿Estás seguro de que deseas eliminar el customer '{{customerTitle}}'?", + "delete-customer-text": "Ten cuidado, después de la confirmación el customer y todos los datos relacionados serán irrecuperables.", + "delete-customers-title": "¿Estás seguro de que deseas eliminar { count, plural, =1 {1 customer} other {# customers} }?", + "delete-customers-action-title": "Eliminar { count, plural, =1 {1 customer} other {# customers} }", + "delete-customers-text": "Ten cuidado, después de la confirmación todos los customers seleccionados serán eliminados y todos los datos relacionados serán irrecuperables.", "manage-users": "Gestionar usuarios", "manage-assets": "Gestionar activos", "manage-devices": "Gestionar dispositivos", @@ -1185,17 +1276,17 @@ "description": "Descripción", "details": "Detalles", "events": "Eventos", - "copyId": "Copiar ID del cliente", - "idCopiedMessage": "ID del cliente copiado al portapapeles", - "select-customer": "Seleccionar cliente", - "no-customers-matching": "No se encontraron clientes que coincidan con '{{entity}}'.", - "customer-required": "Se requiere un cliente", - "select-default-customer": "Seleccionar cliente por defecto", - "default-customer": "Cliente por defecto", - "default-customer-required": "Se requiere el cliente por defecto para depurar el tablero a nivel de inquilino", - "search": "Buscar clientes", - "selected-customers": "{ count, plural, =1 {1 cliente} other {# clientes} } seleccionado(s)", - "edges": "Instancias de edge del cliente", + "copyId": "Copiar ID del customer", + "idCopiedMessage": "ID del customer copiado al portapapeles", + "select-customer": "Seleccionar customer", + "no-customers-matching": "No se encontraron customers que coincidan con '{{entity}}'.", + "customer-required": "Se requiere un customer", + "select-default-customer": "Seleccionar customer por defecto", + "default-customer": "Customer por defecto", + "default-customer-required": "Se requiere el customer por defecto para depurar el tablero a nivel de Tenant", + "search": "Buscar customers", + "selected-customers": "{ count, plural, =1 {1 customer} other {# customers} } seleccionado(s)", + "edges": "Instancias de edge del customer", "manage-edges": "Gestionar edge" }, "css-size": { @@ -1232,19 +1323,19 @@ "management": "Gestión de tableros", "view-dashboards": "Ver tableros", "add": "Añadir tablero", - "assign-dashboard-to-customer": "Asignar tablero(s) al cliente", - "assign-dashboard-to-customer-text": "Por favor, seleccione los tableros para asignar al cliente", - "assign-to-customer-text": "Por favor, seleccione el cliente para asignar el/los tablero(s)", - "assign-to-customer": "Asignar al cliente", - "unassign-from-customer": "Desasignar del cliente", + "assign-dashboard-to-customer": "Asignar tablero(s) al customer", + "assign-dashboard-to-customer-text": "Por favor, seleccione los tableros para asignar al customer", + "assign-to-customer-text": "Por favor, seleccione el customer para asignar el/los tablero(s)", + "assign-to-customer": "Asignar al customer", + "unassign-from-customer": "Desasignar del customer", "make-public": "Hacer público el tablero", "make-private": "Hacer privado el tablero", - "manage-assigned-customers": "Gestionar clientes asignados", - "assigned-customers": "Clientes asignados", - "assign-to-customers": "Asignar tablero(s) a clientes", - "assign-to-customers-text": "Selecciona los clientes a los que deseas asignar el/los tablero(s)", - "unassign-from-customers": "Desasignar tablero(s) de clientes", - "unassign-from-customers-text": "Selecciona los clientes de los que deseas desasignar el/los tablero(s)", + "manage-assigned-customers": "Gestionar customers asignados", + "assigned-customers": "Customers asignados", + "assign-to-customers": "Asignar tablero(s) a customers", + "assign-to-customers-text": "Selecciona los customers a los que deseas asignar el/los tablero(s)", + "unassign-from-customers": "Desasignar tablero(s) de customers", + "unassign-from-customers-text": "Selecciona los customers de los que deseas desasignar el/los tablero(s)", "no-dashboards-text": "No se encontraron tableros", "no-widgets": "No hay widgets configurados", "add-widget": "Agregar nuevo widget", @@ -1268,21 +1359,21 @@ "add-dashboard-text": "Agregar nuevo tablero", "assign-dashboards": "Asignar tableros", "assign-new-dashboard": "Asignar nuevo tablero", - "assign-dashboards-text": "Asignar { count, plural, =1 {1 tablero} other {# tableros} } a clientes", - "unassign-dashboards-action-text": "Desasignar { count, plural, =1 {1 tablero} other {# tableros} } de clientes", + "assign-dashboards-text": "Asignar { count, plural, =1 {1 tablero} other {# tableros} } a customers", + "unassign-dashboards-action-text": "Desasignar { count, plural, =1 {1 tablero} other {# tableros} } de customers", "delete-dashboards": "Eliminar tableros", "unassign-dashboards": "Desasignar tableros", - "unassign-dashboards-action-title": "Desasignar { count, plural, =1 {1 tablero} other {# tableros} } del cliente", + "unassign-dashboards-action-title": "Desasignar { count, plural, =1 {1 tablero} other {# tableros} } del customer", "delete-dashboard-title": "¿Estás seguro de que deseas eliminar el tablero '{{dashboardTitle}}'?", "delete-dashboard-text": "Ten cuidado, después de la confirmación el tablero y todos los datos relacionados serán irrecuperables.", "delete-dashboards-title": "¿Estás seguro de que deseas eliminar { count, plural, =1 {1 tablero} other {# tableros} }?", "delete-dashboards-action-title": "Eliminar { count, plural, =1 {1 tablero} other {# tableros} }", "delete-dashboards-text": "Ten cuidado, después de la confirmación todos los tableros seleccionados serán eliminados y todos los datos relacionados serán irrecuperables.", "unassign-dashboard-title": "¿Estás seguro de que deseas desasignar el tablero '{{dashboardTitle}}'?", - "unassign-dashboard-text": "Después de la confirmación, el tablero será desasignado y no será accesible por el cliente.", + "unassign-dashboard-text": "Después de la confirmación, el tablero será desasignado y no será accesible por el customer.", "unassign-dashboard": "Desasignar tablero", "unassign-dashboards-title": "¿Estás seguro de que deseas desasignar { count, plural, =1 {1 tablero} other {# tableros} }?", - "unassign-dashboards-text": "Después de la confirmación, todos los tableros seleccionados serán desasignados y no serán accesibles por el cliente.", + "unassign-dashboards-text": "Después de la confirmación, todos los tableros seleccionados serán desasignados y no serán accesibles por el customer.", "public-dashboard-title": "El tablero ahora es público", "public-dashboard-text": "Tu tablero {{dashboardTitle}} ahora es público y accesible mediante el siguiente enlace:", "public-dashboard-notice": "Nota: No olvides hacer públicos los dispositivos relacionados para acceder a sus datos.", @@ -1383,8 +1474,8 @@ "alias-resolution-error-title": "Error de configuración de alias del tablero", "invalid-aliases-config": "No se pudieron encontrar dispositivos que coincidan con algunos de los filtros de alias.
Por favor, contacta con tu administrador para resolver este problema.", "select-devices": "Seleccionar dispositivos", - "assignedToCustomer": "Asignado al cliente", - "assignedToCustomers": "Asignado a clientes", + "assignedToCustomer": "Asignado al customer", + "assignedToCustomers": "Asignado a customers", "public": "Público", "copyId": "Copiar ID del tablero", "idCopiedMessage": "El ID del tablero ha sido copiado al portapapeles", @@ -1550,24 +1641,24 @@ "device-name-filter-required": "Se requiere el filtro de nombre del dispositivo.", "device-name-filter-no-device-matched": "No se encontraron dispositivos que comiencen con '{{device}}'.", "add": "Agregar dispositivo", - "assign-to-customer": "Asignar al cliente", - "assign-device-to-customer": "Asignar dispositivo(s) al cliente", - "assign-device-to-customer-text": "Selecciona los dispositivos que deseas asignar al cliente", + "assign-to-customer": "Asignar al customer", + "assign-device-to-customer": "Asignar dispositivo(s) al customer", + "assign-device-to-customer-text": "Selecciona los dispositivos que deseas asignar al customer", "make-public": "Hacer público el dispositivo", "make-private": "Hacer privado el dispositivo", "no-devices-text": "No se encontraron dispositivos", - "assign-to-customer-text": "Selecciona el cliente al que deseas asignar el/los dispositivo(s)", + "assign-to-customer-text": "Selecciona el customer al que deseas asignar el/los dispositivo(s)", "device-details": "Detalles del dispositivo", "add-device-text": "Agregar nuevo dispositivo", "credentials": "Credenciales", "manage-credentials": "Gestionar credenciales", "delete": "Eliminar dispositivo", "assign-devices": "Asignar dispositivos", - "assign-devices-text": "Asignar { count, plural, =1 {1 dispositivo} other {# dispositivos} } al cliente", + "assign-devices-text": "Asignar { count, plural, =1 {1 dispositivo} other {# dispositivos} } al customer", "delete-devices": "Eliminar dispositivos", - "unassign-from-customer": "Desasignar del cliente", + "unassign-from-customer": "Desasignar del customer", "unassign-devices": "Desasignar dispositivos", - "unassign-devices-action-title": "Desasignar { count, plural, =1 {1 dispositivo} other {# dispositivos} } del cliente", + "unassign-devices-action-title": "Desasignar { count, plural, =1 {1 dispositivo} other {# dispositivos} } del customer", "unassign-device-from-edge-title": "¿Estás seguro de que deseas desasignar el dispositivo '{{deviceName}}'?", "unassign-device-from-edge-text": "Después de la confirmación, el dispositivo será desasignado y no será accesible por el edge.", "unassign-devices-from-edge": "Desasignar dispositivos del edge", @@ -1583,10 +1674,10 @@ "delete-devices-action-title": "Eliminar { count, plural, =1 {1 dispositivo} other {# dispositivos} }", "delete-devices-text": "Ten cuidado, después de la confirmación todos los dispositivos seleccionados serán eliminados y todos los datos relacionados serán irrecuperables.", "unassign-device-title": "¿Estás seguro de que deseas desasignar el dispositivo '{{deviceName}}'?", - "unassign-device-text": "Después de la confirmación, el dispositivo será desasignado y no será accesible por el cliente.", + "unassign-device-text": "Después de la confirmación, el dispositivo será desasignado y no será accesible por el customer.", "unassign-device": "Desasignar dispositivo", "unassign-devices-title": "¿Estás seguro de que deseas desasignar { count, plural, =1 {1 dispositivo} other {# dispositivos} }?", - "unassign-devices-text": "Después de la confirmación, todos los dispositivos seleccionados serán desasignados y no serán accesibles por el cliente.", + "unassign-devices-text": "Después de la confirmación, todos los dispositivos seleccionados serán desasignados y no serán accesibles por el customer.", "device-credentials": "Credenciales del dispositivo", "loading-device-credentials": "Cargando credenciales del dispositivo...", "credentials-type": "Tipo de credenciales", @@ -1738,7 +1829,7 @@ "type-units": "Unidades", "type-icon": "Ícono", "type-fieldset": "Conjunto de campos", - "type-array": "Arreglo", + "type-array": "Array", "type-html-section": "Sección HTML", "group-title": "Título del grupo", "no-properties": "No hay propiedades configuradas", @@ -1754,6 +1845,7 @@ "selected-options-limit": "Límite de opciones seleccionadas", "advanced-ui-settings": "Configuración avanzada de la interfaz", "disable-on-property": "Deshabilitar en propiedad", + "disable-on-property-none": "Ninguno (campo siempre habilitado)", "display-condition-function": "Función de condición de visualización", "sub-label": "Subetiqueta", "vertical-divider-after": "Divisor vertical después", @@ -1787,7 +1879,8 @@ "array-item": "Elemento del arreglo", "item-type": "Tipo de elemento", "item-name": "Nombre del elemento", - "no-items": "No hay elementos" + "no-items": "No hay elementos", + "support-unit-conversion": "Soportar conversión de unidades" }, "clear-form": "Limpiar formulario", "clear-form-prompt": "¿Estás seguro de que deseas eliminar todas las propiedades del formulario?", @@ -1897,24 +1990,25 @@ "no-device-profiles-found": "No se encontraron perfiles de dispositivos.", "create-new-device-profile": "¡Crear uno nuevo!", "mqtt-device-topic-filters": "Filtros de temas MQTT del dispositivo", - "mqtt-device-topic-filters-unique": "Los filtros de temas MQTT deben ser únicos.", - "mqtt-device-topic-filters-spark-plug": "Nodo EoN de Sparkplug B para MQTT.", - "mqtt-device-topic-filters-spark-plug-hint": "Permite conexiones de nodos EoN con formato de carga útil y tema de Sparkplug B.", - "mqtt-device-topic-filters-spark-plug-attribute-metric-names": "Métricas SparkPlug para almacenar como atributos.", - "mqtt-device-topic-filters-spark-plug-attribute-metric-names-hint": "Nombres de métricas SparkPlug que se almacenarán como atributos del dispositivo. Todas las demás métricas se almacenarán como telemetría.", + "mqtt-device-topic-filters-unique": "Los filtros de temas MQTT del dispositivo deben ser únicos.", + "mqtt-device-topic-filters-spark-plug": "Nodo Edge of Network (EoN) Sparkplug B MQTT.", + "mqtt-device-topic-filters-spark-plug-hint": "Permitir conexiones desde nodos EoN con formato de tema y carga útil Sparkplug B.", + "mqtt-device-topic-filters-spark-plug-attribute-metric-names": "Métricas Sparkplug a almacenar como atributos.", + "mqtt-device-topic-filters-spark-plug-attribute-metric-names-hint": "Nombres de métricas Sparkplug que se almacenarán como atributos del dispositivo. Todas las demás métricas se almacenarán como telemetría del dispositivo.", "mqtt-device-payload-type": "Carga útil del dispositivo MQTT", "mqtt-device-payload-type-json": "JSON", "mqtt-device-payload-type-proto": "Protobuf", "mqtt-enable-compatibility-with-json-payload-format": "Habilitar compatibilidad con otros formatos de carga útil.", - "mqtt-enable-compatibility-with-json-payload-format-hint": "Cuando está habilitado, la plataforma usará por defecto Protobuf. Si falla el análisis, intentará usar JSON. Útil para compatibilidad durante actualizaciones de firmware. Puede degradar el rendimiento, se recomienda deshabilitarlo cuando todos los dispositivos estén actualizados.", - "mqtt-use-json-format-for-default-downlink-topics": "Usar formato Json para temas de bajada predeterminados", - "mqtt-use-json-format-for-default-downlink-topics-hint": "Cuando está habilitado, se usa formato Json para enviar atributos y RPC en temas como: v1/devices/me/attributes/response/$request_id, etc. No afecta suscripciones en temas v2: v2/a/res/$request_id, etc.", - "mqtt-send-ack-on-validation-exception": "Enviar PUBACK en error de validación de mensaje PUBLISH", - "mqtt-send-ack-on-validation-exception-hint": "Por defecto se cierra la sesión MQTT ante errores. Con esta opción, se envía un ACK en su lugar.", + "mqtt-enable-compatibility-with-json-payload-format-hint": "Cuando está habilitado, la plataforma utilizará el formato de carga útil Protobuf por defecto. Si falla el análisis, intentará usar el formato JSON. Útil para compatibilidad con versiones anteriores durante actualizaciones de firmware. Por ejemplo, si la versión inicial del firmware usa JSON y la nueva usa Protobuf, durante la actualización será necesario soportar ambos formatos simultáneamente. Este modo introduce una ligera degradación en el rendimiento, por lo que se recomienda desactivarlo una vez que todos los dispositivos hayan sido actualizados.", + "mqtt-use-json-format-for-default-downlink-topics": "Usar formato JSON para los temas de bajada predeterminados", + "mqtt-use-json-format-for-default-downlink-topics-hint": "Cuando está habilitado, la plataforma usará formato JSON para enviar atributos y RPC a través de los siguientes temas: v1/devices/me/attributes/response/$request_id, v1/devices/me/attributes, v1/devices/me/rpc/request/$request_id, v1/devices/me/rpc/response/$request_id. Esta configuración no afecta las suscripciones a atributos y RPC usando los nuevos temas (v2): v2/a/res/$request_id, v2/a, v2/r/req/$request_id, v2/r/res/$request_id. Donde $request_id es un identificador de solicitud entero.", + "mqtt-send-ack-on-validation-exception": "Enviar PUBACK al fallar la validación del mensaje PUBLISH", + "mqtt-send-ack-on-validation-exception-hint": "Por defecto, la plataforma cerrará la sesión MQTT al fallar la validación del mensaje. Cuando está habilitado, enviará una confirmación de publicación en lugar de cerrar la sesión.", + "mqtt-protocol-version": "Versión del protocolo", "snmp-add-mapping": "Agregar mapeo SNMP", - "snmp-mapping-not-configured": "No hay mapeo de OID a serie temporal/telemetría configurado", - "snmp-timseries-or-attribute-name": "Nombre de serie temporal/atributo para mapeo", - "snmp-timseries-or-attribute-type": "Tipo de serie temporal/atributo para mapeo", + "snmp-mapping-not-configured": "No se ha configurado ningún mapeo de OID a serie temporal/telemetría", + "snmp-timseries-or-attribute-name": "Nombre de serie temporal/atributo para el mapeo", + "snmp-timseries-or-attribute-type": "Tipo de serie temporal/atributo para el mapeo", "snmp-method-pdu-type-get-request": "GetRequest", "snmp-method-pdu-type-get-next-request": "GetNextRequest", "snmp-oid": "OID", @@ -1986,8 +2080,8 @@ "propagate-alarm": "Propagar alarma a entidades relacionadas", "alarm-rule-relation-types-list": "Tipos de relación", "alarm-rule-relation-types-list-hint": "Define tipos de relación para filtrar las entidades relacionadas. Si no se define, la alarma se propagará a todas las entidades relacionadas.", - "propagate-alarm-to-owner": "Propagar alarma al propietario de la entidad (Cliente o Inquilino)", - "propagate-alarm-to-tenant": "Propagar alarma al inquilino", + "propagate-alarm-to-owner": "Propagar alarma al propietario de la entidad (Customer o Tenant)", + "propagate-alarm-to-tenant": "Propagar alarma al Tenant", "alarm-rule-condition": "Condición de la regla de alarma", "enter-alarm-rule-condition-prompt": "Por favor, agregue condición para la regla de alarma", "edit-alarm-rule-condition": "Editar condición de la regla de alarma", @@ -2171,10 +2265,13 @@ "add-lwm2m-server-config": "Agregar servidor LwM2M", "no-config-servers": "No hay servidores configurados", "others-tab": "Otras configuraciones", - "client-strategy": "Estrategia del cliente al conectarse", + "ota-update": "Actualización OTA", + "use-object-19-for-ota-update": "Usar el Objeto 19 para metadatos del archivo OTA (checksum, tamaño, versión, nombre)", + "use-object-19-for-ota-update-hint": "Usar el Objeto de Recursos con ObjectId = 19 para actualizaciones OTA: FirmWare → InstanceId = 65534, SoftWare → InstanceId = 65535. El formato de datos es JSON codificado en Base64. Este JSON contiene metadatos del archivo OTA (información del archivo): \"Checksum\" (SHA256). Campos adicionales: \"Title\" (nombre de la OTA), \"Version\" (versión de la OTA), \"File Name\" (nombre del archivo para almacenar la OTA en el cliente), \"File Size\" (tamaño de la OTA en bytes).", + "client-strategy": "Estrategia del cliente al conectar", "client-strategy-label": "Estrategia", - "client-strategy-only-observe": "Solo enviar solicitud Observe al cliente después de la conexión inicial", - "client-strategy-read-all": "Leer todos los recursos y enviar solicitud Observe al cliente después del registro", + "client-strategy-only-observe": "Solo solicitud Observe al cliente después de la conexión inicial", + "client-strategy-read-all": "Leer todos los recursos y solicitud Observe al cliente después del registro", "fw-update": "Actualización de firmware", "fw-update-strategy": "Estrategia de actualización de firmware", "fw-update-strategy-data": "Enviar actualización de firmware como archivo binario usando Objeto 19 y Recurso 0 (Data)", @@ -2201,7 +2298,17 @@ "default-object-id": "Versión de objeto predeterminado (Atributo)", "default-object-id-ver": { "v1-0": "1.0", - "v1-1": "1.1" + "v1-1": "1.1", + "v1-2": "1.2" + }, + "observe-strategy": { + "observe-strategy": "Estrategia de observación", + "single": "Individual", + "single-description": "Una solicitud Observe por recurso (mayor precisión, más tráfico de red)", + "composite-all": "Compuesta - todos", + "composite-all-description": "Todos los recursos se observan con una única solicitud Composite Observe (más eficiente, menos flexible)", + "composite-by-object": "Compuesta por objetos", + "composite-by-object-description": "Los recursos se agrupan por tipo de objeto y se observan usando solicitudes Composite Observe separadas (enfoque equilibrado)" } }, "snmp": { @@ -2296,18 +2403,18 @@ "event-action": "Acción del evento", "entity-id": "ID de entidad", "select-edge-type": "Seleccionar tipo de edge", - "assign-to-customer": "Asignar al cliente", - "assign-to-customer-text": "Por favor, seleccione el cliente para asignar el(los) edge(s)", - "assign-edge-to-customer": "Asignar edge(s) al cliente", - "assign-edge-to-customer-text": "Por favor, seleccione los edges para asignar al cliente", - "assignedToCustomer": "Asignado al cliente", + "assign-to-customer": "Asignar al customer", + "assign-to-customer-text": "Por favor, seleccione el customer para asignar el(los) edge(s)", + "assign-edge-to-customer": "Asignar edge(s) al customer", + "assign-edge-to-customer-text": "Por favor, seleccione los edges para asignar al customer", + "assignedToCustomer": "Asignado al customer", "edge-public": "El edge es público", "assigned-to-customer": "Asignado a: {{customerTitle}}", - "unassign-from-customer": "Desasignar del cliente", + "unassign-from-customer": "Desasignar del customer", "unassign-edge-title": "¿Está seguro de que desea desasignar el edge '{{edgeName}}'?", - "unassign-edge-text": "Después de la confirmación, el edge se desasignará y no será accesible por el cliente.", + "unassign-edge-text": "Después de la confirmación, el edge se desasignará y no será accesible por el customer.", "unassign-edges-title": "¿Está seguro de que desea desasignar { count, plural, =1 {1 edge} other {# edges} }?", - "unassign-edges-text": "Después de la confirmación, todos los edges seleccionados se desasignarán y no serán accesibles por el cliente.", + "unassign-edges-text": "Después de la confirmación, todos los edges seleccionados se desasignarán y no serán accesibles por el customer.", "make-public": "Hacer público el edge", "make-public-edge-title": "¿Está seguro de que desea hacer público el edge '{{edgeName}}'?", "make-public-edge-text": "Después de la confirmación, el edge y todos sus datos se harán públicos y serán accesibles por otros.", @@ -2373,9 +2480,9 @@ "type-rule-chain-metadata": "Metadatos de cadena de reglas", "type-edge": "Edge", "type-user": "Usuario", - "type-tenant": "Inquilino", - "type-tenant-profile": "Perfil de inquilino", - "type-customer": "Cliente", + "type-tenant": "Tenant", + "type-tenant-profile": "Perfil de Tenant", + "type-customer": "Customer", "type-relation": "Relación", "type-widgets-bundle": "Paquete de widgets", "type-widgets-type": "Tipo de widget", @@ -2390,8 +2497,8 @@ "action-type-attributes-deleted": "Atributos eliminados", "action-type-timeseries-updated": "Serie temporal actualizada", "action-type-credentials-updated": "Credenciales actualizadas", - "action-type-assigned-to-customer": "Asignado al cliente", - "action-type-unassigned-from-customer": "Desasignado del cliente", + "action-type-assigned-to-customer": "Asignado al Customer", + "action-type-unassigned-from-customer": "Desasignado del Customer", "action-type-relation-add-or-update": "Relación agregada o actualizada", "action-type-relation-deleted": "Relación eliminada", "action-type-rpc-call": "Llamada RPC", @@ -2486,18 +2593,18 @@ "type-plugins": "Plugins", "list-of-plugins": "{ count, plural, =1 {Un plugin} other {Lista de # plugins} }", "plugin-name-starts-with": "Plugins cuyos nombres comienzan con '{{prefix}}'", - "type-tenant": "Inquilino", - "type-tenants": "Inquilinos", - "list-of-tenants": "{ count, plural, =1 {Un inquilino} other {Lista de # inquilinos} }", - "tenant-name-starts-with": "Inquilinos cuyos nombres comienzan con '{{prefix}}'", - "type-tenant-profile": "Perfil de inquilino", - "type-tenant-profiles": "Perfiles de inquilino", - "list-of-tenant-profiles": "{ count, plural, =1 {Un perfil de inquilino} other {Lista de # perfiles de inquilino} }", - "tenant-profile-name-starts-with": "Perfiles de inquilino cuyos nombres comienzan con '{{prefix}}'", - "type-customer": "Cliente", - "type-customers": "Clientes", - "list-of-customers": "{ count, plural, =1 {Un cliente} other {Lista de # clientes} }", - "customer-name-starts-with": "Clientes cuyos nombres comienzan con '{{prefix}}'", + "type-tenant": "Tenant", + "type-tenants": "Tenants", + "list-of-tenants": "{ count, plural, =1 {Un tenant} other {Lista de # tenants} }", + "tenant-name-starts-with": "Tenants cuyos nombres comienzan con '{{prefix}}'", + "type-tenant-profile": "Perfil de tenant", + "type-tenant-profiles": "Perfiles de tenant", + "list-of-tenant-profiles": "{ count, plural, =1 {Un perfil de tenant} other {Lista de # perfiles de tenant} }", + "tenant-profile-name-starts-with": "Perfiles de tenant cuyos nombres comienzan con '{{prefix}}'", + "type-customer": "Customer", + "type-customers": "Customers", + "list-of-customers": "{ count, plural, =1 {Un customer} other {Lista de # customers} }", + "customer-name-starts-with": "Customers cuyos nombres comienzan con '{{prefix}}'", "type-user": "Usuario", "type-users": "Usuarios", "list-of-users": "{ count, plural, =1 {Un usuario} other {Lista de # usuarios} }", @@ -2518,12 +2625,14 @@ "type-rulenodes": "Nodos de regla", "list-of-rulenodes": "{ count, plural, =1 {Un nodo de regla} other {Lista de # nodos de regla} }", "rulenode-name-starts-with": "Nodos de regla cuyos nombres comienzan con '{{prefix}}'", - "type-current-customer": "Cliente actual", - "type-current-tenant": "Inquilino actual", + "type-current-customer": "Customer actual", + "type-current-tenant": "Tenant actual", "type-current-user": "Usuario actual", "type-current-user-owner": "Propietario del usuario actual", "type-calculated-field": "Campo calculado", "type-calculated-fields": "Campos calculados", + "type-ai-model": "Modelo de IA", + "type-ai-models": "Modelos de IA", "type-widgets-bundle": "Paquete de widgets", "type-widgets-bundles": "Paquetes de widgets", "list-of-widgets-bundles": "{ count, plural, =1 {Un paquete de widgets} other {Lista de # paquetes de widgets} }", @@ -2553,6 +2662,8 @@ "type-tb-resources": "Recursos", "list-of-tb-resources": "{ count, plural, =1 {Un recurso} other {Lista de # recursos} }", "type-ota-package": "Paquete OTA", + "type-ota-packages": "Paquetes OTA", + "list-of-ota-packages": "{ count, plural, =1 {Un paquete OTA} other {Lista de # paquetes OTA} }", "type-rpc": "RPC", "type-queue": "Cola", "type-queue-stats": "Estadísticas de cola", @@ -2643,13 +2754,13 @@ "add-entity-view-text": "Agregar nueva vista de entidad", "delete": "Eliminar vista de entidad", "assign-entity-views": "Asignar vistas de entidad", - "assign-entity-views-text": "Asignar { count, plural, =1 {1 vista de entidad} other {# vistas de entidad} } al cliente", + "assign-entity-views-text": "Asignar { count, plural, =1 {1 vista de entidad} other {# vistas de entidad} } al Customer", "delete-entity-views": "Eliminar vistas de entidad", "make-public": "Hacer pública la vista de entidad", "make-private": "Hacer privada la vista de entidad", - "unassign-from-customer": "Desasignar del cliente", + "unassign-from-customer": "Desasignar del customer", "unassign-entity-views": "Desasignar vistas de entidad", - "unassign-entity-views-action-title": "Desasignar { count, plural, =1 {1 vista de entidad} other {# vistas de entidad} } del cliente", + "unassign-entity-views-action-title": "Desasignar { count, plural, =1 {1 vista de entidad} other {# vistas de entidad} } del customer", "assign-new-entity-view": "Asignar nueva vista de entidad", "delete-entity-view-title": "¿Está seguro de que desea eliminar la vista de entidad '{{entityViewName}}'?", "delete-entity-view-text": "Tenga cuidado, después de la confirmación, la vista de entidad y todos los datos relacionados serán irrecuperables.", @@ -2661,10 +2772,10 @@ "make-private-entity-view-title": "¿Está seguro de que desea hacer privada la vista de entidad '{{entityViewName}}'?", "make-private-entity-view-text": "Después de la confirmación, la vista de entidad y todos sus datos serán privados y no estarán accesibles por otros.", "unassign-entity-view-title": "¿Está seguro de que desea desasignar la vista de entidad '{{entityViewName}}'?", - "unassign-entity-view-text": "Después de la confirmación, la vista de entidad será desasignada y no estará accesible por el cliente.", + "unassign-entity-view-text": "Después de la confirmación, la vista de entidad será desasignada y no estará accesible por el customer.", "unassign-entity-view": "Desasignar vista de entidad", "unassign-entity-views-title": "¿Está seguro de que desea desasignar { count, plural, =1 {1 vista de entidad} other {# vistas de entidad} }?", - "unassign-entity-views-text": "Después de la confirmación, todas las vistas de entidad seleccionadas serán desasignadas y no estarán accesibles por el cliente.", + "unassign-entity-views-text": "Después de la confirmación, todas las vistas de entidad seleccionadas serán desasignadas y no estarán accesibles por el customer.", "entity-view-type": "Tipo de vista de entidad", "entity-view-type-required": "El tipo de vista de entidad es obligatorio.", "select-entity-view-type": "Seleccionar tipo de vista de entidad", @@ -2683,7 +2794,7 @@ "details": "Detalles", "copyId": "Copiar ID de la vista de entidad", "idCopiedMessage": "El ID de la vista de entidad se ha copiado al portapapeles", - "assignedToCustomer": "Asignado al cliente", + "assignedToCustomer": "Asignado al customer", "unable-entity-view-device-alias-title": "No se puede eliminar el alias de la vista de entidad", "unable-entity-view-device-alias-text": "El alias del dispositivo '{{entityViewAlias}}' no puede eliminarse porque lo usan los siguientes widgets:
{{widgetsList}}", "select-entity-view": "Seleccionar vista de entidad", @@ -2938,6 +3049,7 @@ "missing-key-filters-error": "Faltan filtros clave para el filtro '{{filter}}'.", "filter": "Filtro", "editable": "Editable", + "editable-hint": "Permitir que el usuario cambie el valor del filtro en los tableros.", "no-filters-found": "No se encontraron filtros.", "no-filter-text": "Ningún filtro especificado", "add-filter-prompt": "Por favor, agregue un filtro", @@ -2977,6 +3089,8 @@ "filter-user-params": "Parámetros del predicado del filtro", "user-parameters": "Parámetros del usuario", "display-label": "Etiqueta para mostrar", + "custom-label": "Etiqueta personalizada", + "custom-label-hint": "Habilita esta opción para establecer tu propia etiqueta para el filtro. Si está deshabilitada, se generará una etiqueta automáticamente.", "order-priority": "Prioridad de orden del campo", "key-filter": "Filtro de clave", "key-filters": "Filtros de clave", @@ -3009,7 +3123,7 @@ "date": "Fecha", "time": "Hora", "current-tenant": "Tenant actual", - "current-customer": "Cliente actual", + "current-customer": "Customer actual", "current-user": "Usuario actual", "current-device": "Dispositivo actual", "default-value": "Valor predeterminado", @@ -3021,7 +3135,8 @@ "switch-to-dynamic-value": "Cambiar a valor dinámico", "switch-to-default-value": "Cambiar a valor predeterminado", "inherit-owner": "Heredar del propietario", - "source-attribute-not-set": "Si el atributo de origen no está establecido" + "source-attribute-not-set": "Si el atributo de origen no está establecido", + "unit": "Unidad" }, "fullscreen": { "expand": "Expandir a pantalla completa", @@ -3406,6 +3521,7 @@ "power-button-background": "Fondo del botón de encendido", "value-box-background": "Fondo de la caja de valor", "value-units": "Unidades del valor", + "enable-units-scale": "Habilitar unidades en la escala", "filtration-mode": "Modo de filtración", "filtration-mode-hint": "Valor entero que indica el modo de filtración actual.", "filtration-mode-update": "Estado de actualización del modo de filtración", @@ -3722,6 +3838,8 @@ "mobile-package-max-length": "El paquete de la aplicación debe tener menos de 256 caracteres", "mobile-package-required": "Se requiere el paquete de la aplicación", "mobile-package-pattern": "Formato inválido del paquete de la aplicación", + "mobile-package-title": "Título de la aplicación", + "mobile-package-title-max-length": "El título de la aplicación debe tener menos de 256 caracteres", "no-application": "No se encontraron aplicaciones", "no-bundles": "No se encontraron paquetes", "platform-type": "Tipo de plataforma", @@ -3801,21 +3919,17 @@ "configuration-dialog": "Diálogo de configuración", "configuration-app": "Aplicación de configuración", "configuration-step": { - "prepare-environment-title": "Preparar entorno de desarrollo", - "prepare-environment-text": "La aplicación móvil ThingsBoard Flutter requiere el SDK de Flutter. Sigue las instrucciones para configurar el SDK.", - "get-source-code-title": "Obtener código fuente de la aplicación", - "get-source-code-text": "Puedes obtener el código fuente de la aplicación móvil ThingsBoard Flutter clonándolo desde el repositorio de GitHub:", - "configure-api-title": "Configurar el endpoint de la API de ThingsBoard", - "configure-api-text": "Abre el proyecto flutter_thingsboard_pe_app en tu editor/IDE. Edita:", - "configure-api-hint": "Establece el valor de la constante thingsBoardApiEndpoint para que coincida con el endpoint API de tu instancia de servidor ThingsBoard. No uses los nombres de host “localhost” o “127.0.0.1”.", + "prepare-environment-title": "Preparar el entorno de desarrollo", + "prepare-environment-text": "La aplicación móvil ThingsBoard basada en Flutter requiere Flutter SDK. Sigue las instrucciones para configurar el SDK de Flutter.", + "get-source-code-title": "Obtener el código fuente de la app", + "get-source-code-text": "Puedes obtener el código fuente de la aplicación móvil ThingsBoard basada en Flutter clonándolo desde el repositorio de GitHub:", + "configure-app-settings-title": "Configurar los ajustes de la app", + "configure-app-settings-text": "Descarga el archivo de configuración y colócalo en el directorio raíz del proyecto que clonaste en el paso anterior.", + "download-file": "Descargar archivo", "run-app-title": "Ejecutar la aplicación", - "run-app-text": "Ejecuta la aplicación según lo descrito en tu IDE.\nSi usas la terminal, ejecuta la aplicación con el siguiente comando:", - "more-information": "Información detallada se encuentra en nuestra documentación de introducción.", - "getting-started": "Guía de inicio", - "configure-package-title": "Configurar paquete de la aplicación", - "configure-package-text": "Puedes cambiar manualmente el paquete de la aplicación o usar una herramienta CLI de terceros.", - "configure-package-text-install": "Para instalar la herramienta Rename CLI, ejecuta el siguiente comando:", - "configure-package-run-commands": "Ejecuta estos comandos en el directorio raíz de tu proyecto:" + "run-app-text": "Ejecuta la aplicación como se indica en tu IDE.\nSi usas la terminal, ejecuta la aplicación con el siguiente comando:", + "more-information": "Puedes encontrar información detallada en nuestra documentación de introducción.", + "getting-started": "Introducción" } }, "notification": { @@ -3839,6 +3953,7 @@ "new-platform-version-trigger-settings": "Configuración del disparador de nueva versión de plataforma", "rate-limits-trigger-settings": "Configuración del disparador por límites de tasa excedidos", "task-processing-failure-trigger-settings": "Configuración del disparador por error en procesamiento de tareas", + "resources-shortage-trigger-settings": "Configuración del disparador por escasez de recursos", "at-least-one-should-be-selected": "Debe seleccionarse al menos uno", "basic-settings": "Configuraciones básicas", "button-text": "Texto del botón", @@ -3853,6 +3968,7 @@ "create-new": "Crear nuevo", "created": "Creado", "customize-messages": "Personalizar mensajes", + "cpu-threshold": "Umbral de CPU", "delete-notification-text": "Ten cuidado, después de la confirmación, la notificación será irrecuperable.", "delete-notification-title": "¿Estás seguro de que deseas eliminar la notificación?", "delete-notifications-text": "Ten cuidado, después de la confirmación, las notificaciones serán irrecuperables.", @@ -3919,6 +4035,7 @@ "input-fields-support-templatization": "Los campos de entrada admiten plantillas.", "link": "Enlace", "link-required": "El enlace es obligatorio", + "link-max-length": "El enlace debe tener {{ length }} caracteres o menos", "link-type": { "dashboard": "Abrir tablero", "link": "Abrir enlace URL" @@ -3945,6 +4062,7 @@ "no-severity-found": "No se encontró severidad", "no-severity-matching": "'{{severity}}' no encontrado.", "no-template-matching": "No se encontraron recursos que coincidan con '{{template}}'.", + "create-new-template": "¡Crear una nueva!", "not-found-slack-recipient": "Destinatario de Slack no encontrado", "notification": "Notificación", "notification-center": "Centro de notificaciones", @@ -3968,17 +4086,18 @@ "only-rule-chain-lifecycle-failures": "Solo fallos en el ciclo de vida de la cadena de reglas", "only-rule-node-lifecycle-failures": "Solo fallos en el ciclo de vida del nodo de regla", "platform-users": "Usuarios de la plataforma", + "ram-threshold": "Umbral de RAM", "rate-limits": "Límites de tasa", "rate-limits-hint": "Si el campo está vacío, el disparador se aplicará a todos los límites de tasa", "recipient": "Destinatario", "recipient-group": "Grupo de destinatarios", "recipient-type": { - "affected-tenant-administrators": "Administradores del inquilino afectados", + "affected-tenant-administrators": "Administradores del tenant afectados", "affected-user": "Usuario afectado", "all-users": "Todos los usuarios", - "customer-users": "Usuarios del cliente", + "customer-users": "Usuarios del customer", "system-administrators": "Administradores del sistema", - "tenant-administrators": "Administradores del inquilino", + "tenant-administrators": "Administradores del tenant", "user-filters": "Filtro de usuarios", "user-list": "Lista de usuarios", "users-entity-owner": "Usuarios del propietario de la entidad" @@ -4033,6 +4152,7 @@ "start-from-scratch": "Empezar desde cero", "status": "Estado", "stop-escalation-alarm-status-become": "Detener la escalada al cambiar el estado de la alarma a:", + "storage-threshold": "Umbral de almacenamiento", "subject": "Asunto", "subject-required": "El asunto es obligatorio", "subject-max-length": "El asunto debe tener menos o igual a {{ length }} caracteres", @@ -4054,12 +4174,13 @@ "rate-limits": "Límites de tasa excedidos", "edge-communication-failure": "Fallo de comunicación con el edge", "edge-connection": "Conexión con el edge", - "task-processing-failure": "Fallo de procesamiento de tarea" + "task-processing-failure": "Fallo de procesamiento de tarea", + "resources-shortage": "Escasez de recursos" }, "templates": "Plantillas", "notification-templates": "Notificaciones / Plantillas", - "tenant-profiles-list-rule-hint": "Si el campo está vacío, el disparador se aplicará a todos los perfiles de inquilino", - "tenants-list-rule-hint": "Si el campo está vacío, el disparador se aplicará a todos los inquilinos", + "tenant-profiles-list-rule-hint": "Si el campo está vacío, el disparador se aplicará a todos los perfiles de tenant", + "tenants-list-rule-hint": "Si el campo está vacío, el disparador se aplicará a todos los tenants", "threshold": "Umbral", "theme-color": "Color del tema", "time": "Hora", @@ -4068,18 +4189,19 @@ "alarm": "Alarma", "alarm-assignment": "Asignación de alarma", "alarm-comment": "Comentario de alarma", - "api-usage-limit": "Límite de uso de API", + "api-usage-limit": "Límite de uso de la API", "device-activity": "Actividad del dispositivo", "entities-limit": "Límite de entidades", - "entity-action": "Acción sobre entidad", + "entity-action": "Acción de entidad", "rule-engine-lifecycle-event": "Evento del ciclo de vida del motor de reglas", "new-platform-version": "Nueva versión de la plataforma", - "rate-limits": "Límites de tasa excedidos", - "edge-connection": "Conexión con el edge", - "edge-communication-failure": "Fallo de comunicación con el edge", - "task-processing-failure": "Fallo de procesamiento de tarea", + "rate-limits": "Límites de tasa superados", + "edge-connection": "Conexión de edge", + "edge-communication-failure": "Fallo de comunicación de edge", + "task-processing-failure": "Fallo en el procesamiento de tarea", + "resources-shortage": "Escasez de recursos", "trigger": "Disparador", - "trigger-required": "El disparador es obligatorio" + "trigger-required": "Se requiere un disparador" }, "type": "Tipo", "unread": "No leído", @@ -4119,6 +4241,7 @@ "checksum-copied-message": "El checksum del paquete se ha copiado al portapapeles", "change-firmware": "El cambio de firmware puede provocar la actualización de { count, plural, =1 {1 dispositivo} other {# dispositivos} }.", "change-software": "El cambio de software puede provocar la actualización de { count, plural, =1 {1 dispositivo} other {# dispositivos} }.", + "change-ota-setting-title": "¿Estás seguro de que deseas cambiar la configuración de OTA?", "chose-compatible-device-profile": "El paquete cargado solo estará disponible para dispositivos con el perfil seleccionado.", "chose-firmware-distributed-device": "Seleccione el firmware que se distribuirá a los dispositivos", "chose-software-distributed-device": "Seleccione el software que se distribuirá a los dispositivos", @@ -4314,6 +4437,7 @@ "add-relation-filter": "Agregar filtro de relación", "any-relation": "Cualquier relación", "relation-filters": "Filtros de relación", + "relation-filter": "Filtro de relación", "additional-info": "Información adicional (JSON)", "invalid-additional-info": "No se pudo analizar el JSON de información adicional.", "no-relations-text": "No se encontraron relaciones", @@ -4549,7 +4673,7 @@ "device-name-pattern": "Nombre del dispositivo", "asset-name-pattern": "Nombre del activo", "entity-view-name-pattern": "Nombre de vista de entidad", - "customer-title-pattern": "Título del cliente", + "customer-title-pattern": "Título del customer", "dashboard-name-pattern": "Título del tablero", "user-name-pattern": "Correo del usuario", "edge-name-pattern": "Nombre del Edge", @@ -4566,15 +4690,15 @@ "entity-cache-expiration-hint": "Especifica el intervalo de tiempo máximo permitido para almacenar registros de entidades encontrados. El valor 0 significa que los registros nunca expirarán.", "entity-cache-expiration-required": "El tiempo de expiración de la caché de entidades es obligatorio.", "entity-cache-expiration-range": "El tiempo de expiración debe ser mayor o igual a 0.", - "customer-name-pattern": "Título del cliente", - "customer-name-pattern-required": "El título del cliente es obligatorio", + "customer-name-pattern": "Título del customer", + "customer-name-pattern-required": "El título del customer es obligatorio", "customer-name-pattern-hint": "Usa $[messageKey] para extraer el valor del mensaje y ${metadataKey} para extraerlo de los metadatos.", - "create-customer-if-not-exists": "Crear nuevo cliente si no existe", - "unassign-from-customer": "Desasignar de cliente específico si el originador es un tablero", - "unassign-from-customer-tooltip": "Solo los tableros pueden asignarse a múltiples clientes al mismo tiempo.\nSi el originador del mensaje es un tablero, debes especificar explícitamente el título del cliente del que se desea desasignar.", - "customer-cache-expiration": "Tiempo de expiración de la caché de clientes (seg)", - "customer-cache-expiration-hint": "Especifica el intervalo de tiempo máximo permitido para almacenar registros de clientes encontrados. El valor 0 significa que los registros nunca expirarán.", - "customer-cache-expiration-required": "El tiempo de expiración de la caché de clientes es obligatorio.", + "create-customer-if-not-exists": "Crear nuevo customer si no existe", + "unassign-from-customer": "Desasignar de customer específico si el originador es un tablero", + "unassign-from-customer-tooltip": "Solo los tableros pueden asignarse a múltiples customers al mismo tiempo.\nSi el originador del mensaje es un tablero, debes especificar explícitamente el título del customer del que se desea desasignar.", + "customer-cache-expiration": "Tiempo de expiración de la caché de customers (seg)", + "customer-cache-expiration-hint": "Especifica el intervalo de tiempo máximo permitido para almacenar registros de customers encontrados. El valor 0 significa que los registros nunca expirarán.", + "customer-cache-expiration-required": "El tiempo de expiración de la caché de customers es obligatorio.", "customer-cache-expiration-range": "El tiempo de expiración debe ser mayor o igual a 0.", "interval-start": "Inicio del intervalo", "interval-end": "Fin del intervalo", @@ -4713,7 +4837,7 @@ "source-field-required": "El campo fuente es obligatorio.", "originator-source": "Fuente del originador", "new-originator": "Nuevo originador", - "originator-customer": "Cliente", + "originator-customer": "Customer", "originator-tenant": "Tenant", "originator-related": "Entidad relacionada", "originator-alarm-originator": "Originador de la alarma", @@ -4769,7 +4893,7 @@ "alarm-status-list-empty": "La lista de estados de alarma está vacía", "no-alarm-status-matching": "No se encontró ningún estado de alarma coincidente.", "propagate": "Propagar alarma a entidades relacionadas", - "propagate-to-owner": "Propagar alarma al propietario de la entidad (Cliente o Tenant)", + "propagate-to-owner": "Propagar alarma al propietario de la entidad (Customer o Tenant)", "propagate-to-tenant": "Propagar alarma al Tenant", "condition": "Condición", "details": "Detalles", @@ -4902,8 +5026,8 @@ "credentials-anonymous": "Anónimo", "credentials-basic": "Básico", "credentials-pem": "PEM", - "credentials-pem-hint": "Se requiere al menos el archivo del certificado CA del servidor o un par de archivos de certificado de cliente y clave privada del cliente", - "credentials-sas": "Firma de acceso compartido (SAS)", + "credentials-pem-hint": "Se requiere al menos el archivo del certificado CA del servidor o un par de archivos del certificado del cliente y la clave privada del cliente.", + "credentials-sas": "Firma de acceso compartido (Shared Access Signature)", "sas-key": "Clave SAS", "sas-key-required": "La clave SAS es obligatoria.", "hostname": "Nombre del host", @@ -5119,11 +5243,11 @@ "type-field-input": "Tipo", "type-field-input-required": "El tipo es obligatorio.", "key-field-input": "Clave", - "key-field-input-required": "La clave es obligatoria.", "add-entity-type": "Agregar tipo de entidad", "add-device-profile": "Agregar perfil de dispositivo", - "number-floating-point-field-input": "Dígitos después del punto decimal", - "number-floating-point-field-input-hint": "Usa 0 para convertir el resultado en entero", + "key-field-input-required": "Se requiere una clave.", + "number-floating-point-field-input": "Número de dígitos después del punto decimal", + "number-floating-point-field-input-hint": "Usa 0 para convertir el resultado a entero", "add-to-message-field-input": "Agregar al mensaje", "add-to-metadata-field-input": "Agregar a metadatos", "custom-expression-field-input": "Expresión matemática", @@ -5171,15 +5295,15 @@ "add-mapped-originator-fields-to": "Agregar campos mapeados del originador a", "fields": "Campos", "skip-empty-fields": "Omitir campos vacíos", - "skip-empty-fields-tooltip": "Los campos con valores vacíos no se agregarán al mensaje/metadatos de salida.", + "skip-empty-fields-tooltip": "Los campos con valores vacíos no se agregarán al mensaje de salida ni a los metadatos de salida.", "fetch-interval": "Intervalo de obtención", "fetch-strategy": "Estrategia de obtención", "fetch-timeseries-from-to": "Obtener serie temporal desde hace {{startInterval}} {{startIntervalTimeUnit}} hasta hace {{endInterval}} {{endIntervalTimeUnit}}.", - "fetch-timeseries-from-to-invalid": "Obtención de serie temporal no válida (\"Inicio del intervalo\" debe ser menor que \"Fin del intervalo\").", - "use-metadata-dynamic-interval-tooltip": "Si está seleccionado, el nodo de reglas usará intervalos dinámicos de inicio y fin basados en patrones de mensaje y metadatos.", - "all-mode-hint": "Si se selecciona el modo de obtención 'Todo', el nodo de reglas recuperará telemetría desde el intervalo de obtención con parámetros configurables.", - "first-mode-hint": "Si se selecciona el modo de obtención 'Primero', el nodo recuperará la telemetría más cercana al inicio del intervalo.", - "last-mode-hint": "Si se selecciona el modo de obtención 'Último', el nodo recuperará la telemetría más cercana al final del intervalo.", + "fetch-timeseries-from-to-invalid": "Intervalo de serie temporal no válido (\"Inicio del intervalo\" debe ser menor que \"Fin del intervalo\").", + "use-metadata-dynamic-interval-tooltip": "Si está seleccionado, el nodo de regla usará un intervalo dinámico de inicio y fin basado en los patrones del mensaje y los metadatos.", + "all-mode-hint": "Si se selecciona el modo de obtención \"Todos\", el nodo de regla recuperará la telemetría del intervalo con parámetros de consulta configurables.", + "first-mode-hint": "Si se selecciona el modo de obtención \"Primero\", el nodo de regla recuperará la telemetría más cercana al inicio del intervalo.", + "last-mode-hint": "Si se selecciona el modo de obtención \"Último\", el nodo de regla recuperará la telemetría más cercana al final del intervalo.", "ascending": "Ascendente", "descending": "Descendente", "min": "Mínimo", @@ -5191,13 +5315,13 @@ "last-level-relation-tooltip": "Si se selecciona, el nodo buscará entidades relacionadas solo en el nivel definido en el máximo nivel de relación.", "last-level-device-relation-tooltip": "Si se selecciona, el nodo buscará dispositivos relacionados solo en el nivel definido en el máximo nivel de relación.", "data-to-fetch": "Datos a obtener", - "mapping-of-customers": "Mapeo de clientes", + "mapping-of-customers": "Mapeo de customers", "map-fields-required": "Todos los campos de mapeo son obligatorios.", "attributes": "Atributos", "related-device-attributes": "Atributos de dispositivos relacionados", "add-selected-attributes-to": "Agregar atributos seleccionados a", "device-profiles": "Perfiles de dispositivo", - "mapping-of-tenant": "Mapeo de inquilino", + "mapping-of-tenant": "Mapeo de tenant", "add-attribute-key": "Agregar clave de atributo", "message-template": "Plantilla de mensaje", "message-template-required": "La plantilla de mensaje es obligatoria", @@ -5209,8 +5333,8 @@ "recipients": "Destinatarios", "message-subject-and-content": "Asunto y contenido del mensaje", "template-rules-hint": "Ambos campos de entrada admiten tematización. Usa $[messageKey] para extraer el valor del mensaje y ${metadataKey} para extraer el valor de los metadatos.", - "originator-customer-desc": "Usar el cliente del originador del mensaje entrante como nuevo originador.", - "originator-tenant-desc": "Usar el inquilino actual como nuevo originador.", + "originator-customer-desc": "Usar el customer del originador del mensaje entrante como nuevo originador.", + "originator-tenant-desc": "Usar el tenant actual como nuevo originador.", "originator-related-entity-desc": "Usar entidad relacionada como nuevo originador. La búsqueda se basa en el tipo y dirección de relación configurados.", "originator-alarm-originator-desc": "Usar el originador de la alarma como nuevo originador. Solo si el originador del mensaje entrante es una entidad de alarma.", "originator-entity-by-name-pattern-desc": "Usar entidad obtenida desde la base de datos como nuevo originador. La búsqueda se basa en el tipo de entidad y el patrón de nombre especificado.", @@ -5304,6 +5428,36 @@ "html-text-description": "Permite el uso de etiquetas HTML para formato, enlaces e imágenes en el cuerpo del correo.", "dynamic-text-description": "Permite usar texto plano o HTML dinámicamente según la función de tematización.", "after-template-evaluation-hint": "Después de la evaluación de la plantilla, el valor debe ser true para HTML y false para texto plano." + }, + "ai": { + "ai-model": "Modelo de IA", + "model": "Modelo", + "ai-model-hint": "Selecciona el modelo de IA preconfigurado para procesar las solicitudes enviadas por este nodo de regla, o usa \"Crear nuevo\" para configurar uno nuevo.", + "prompt-settings": "Configuración del prompt", + "prompt-settings-hint": "El prompt del sistema (opcional) define el rol general y las restricciones de la IA, mientras que el prompt del usuario define la tarea específica a realizar. Ambos campos admiten plantillas.", + "system-prompt": "Prompt del sistema", + "system-prompt-max-length": "El prompt del sistema debe tener 10.000 caracteres o menos.", + "system-prompt-blank": "El prompt del sistema no debe estar vacío.", + "user-prompt": "Prompt del usuario", + "user-prompt-required": "Se requiere el prompt del usuario.", + "user-prompt-max-length": "El prompt del usuario debe tener 10.000 caracteres o menos.", + "user-prompt-blank": "El prompt del usuario no debe estar vacío.", + "response-format": "Formato de respuesta", + "response-text": "Texto", + "response-json": "JSON", + "response-json-schema": "Esquema JSON", + "response-format-hint-TEXT": "Permite al modelo generar texto arbitrario, que puede o no ser un objeto JSON válido. Si la salida no es un JSON válido, se envolverá automáticamente en un objeto JSON bajo la clave \"response\".", + "response-format-hint-JSON": "Se requiere que el modelo genere una respuesta que sea un JSON válido. Si la salida no es un JSON válido, se envolverá automáticamente en un objeto JSON bajo la clave \"response\".", + "response-format-hint-JSON_SCHEMA": "Se requiere que el modelo genere un JSON que cumpla con la estructura y tipos de datos definidos en el esquema proporcionado. Si la salida no es un JSON válido, se envolverá automáticamente en un objeto JSON bajo la clave \"response\".", + "response-json-schema-hint": "Aunque se puede ingresar cualquier esquema JSON válido, este nodo de regla solo admite un subconjunto limitado de sus características. Consulta la documentación del nodo para más detalles.", + "response-json-schema-required": "Se requiere un esquema JSON", + "advanced-settings": "Configuración avanzada", + "timeout": "Tiempo de espera", + "timeout-hint": "Tiempo máximo de espera \npara recibir una respuesta del modelo de IA antes de finalizar la solicitud.", + "timeout-required": "Se requiere un tiempo de espera", + "timeout-validation": "Debe ser de entre 1 segundo y 10 minutos.", + "force-acknowledgement": "Forzar acuse de recibo", + "force-acknowledgement-hint": "Si está habilitado, el mensaje entrante se reconoce inmediatamente. La respuesta del modelo se coloca en cola como un mensaje nuevo y separado." } }, "timezone": { @@ -5384,8 +5538,8 @@ "strategies": { "sequential-by-originator-label": "Secuencial por originador", "sequential-by-originator-hint": "No se envía un nuevo mensaje para p.ej. dispositivo A hasta que se confirme el mensaje anterior para ese dispositivo", - "sequential-by-tenant-label": "Secuencial por inquilino", - "sequential-by-tenant-hint": "No se envía un nuevo mensaje para p.ej. inquilino A hasta que se confirme el mensaje anterior para ese inquilino", + "sequential-by-tenant-label": "Secuencial por tenant", + "sequential-by-tenant-hint": "No se envía un nuevo mensaje para p.ej. tenant A hasta que se confirme el mensaje anterior para ese tenant", "sequential-label": "Secuencial", "sequential-hint": "No se envía un nuevo mensaje hasta que el anterior sea confirmado", "burst-label": "Explosión (burst)", @@ -5419,7 +5573,7 @@ "general": "Error general del servidor", "authentication": "Error de autenticación", "jwt-token-expired": "Token JWT expirado", - "tenant-trial-expired": "Prueba del inquilino expirada", + "tenant-trial-expired": "Prueba del tenant expirada", "credentials-expired": "Credenciales expiradas", "permission-denied": "Permiso denegado", "invalid-arguments": "Argumentos inválidos", @@ -5429,75 +5583,75 @@ "too-many-updates": "Demasiadas actualizaciones" }, "tenant": { - "tenant": "Inquilino", - "tenants": "Inquilinos", - "management": "Gestión de inquilinos", - "add": "Agregar inquilino", + "tenant": "Tenant", + "tenants": "Tenants", + "management": "Gestión de tenant", + "add": "Agregar tenant", "admins": "Administradores", - "manage-tenant-admins": "Gestionar administradores del inquilino", - "delete": "Eliminar inquilino", - "add-tenant-text": "Agregar nuevo inquilino", - "no-tenants-text": "No se encontraron inquilinos", - "tenant-details": "Detalles del inquilino", + "manage-tenant-admins": "Gestionar administradores del tenant", + "delete": "Eliminar tenant", + "add-tenant-text": "Agregar nuevo tenant", + "no-tenants-text": "No se encontraron tenants", + "tenant-details": "Detalles del tenant", "title-max-length": "El título debe tener menos de 256 caracteres", - "delete-tenant-title": "¿Estás seguro de que deseas eliminar el inquilino '{{tenantTitle}}'?", - "delete-tenant-text": "Ten cuidado, después de la confirmación el inquilino y todos los datos relacionados serán irrecuperables.", - "delete-tenants-title": "¿Estás seguro de que deseas eliminar { count, plural, =1 {1 inquilino} other {# inquilinos} }?", - "delete-tenants-action-title": "Eliminar { count, plural, =1 {1 inquilino} other {# inquilinos} }", - "delete-tenants-text": "Ten cuidado, después de la confirmación todos los inquilinos seleccionados serán eliminados y todos los datos relacionados serán irrecuperables.", + "delete-tenant-title": "¿Estás seguro de que deseas eliminar el tenant '{{tenantTitle}}'?", + "delete-tenant-text": "Ten cuidado, después de la confirmación el tenant y todos los datos relacionados serán irrecuperables.", + "delete-tenants-title": "¿Estás seguro de que deseas eliminar { count, plural, =1 {1 tenant} other {# tenants} }?", + "delete-tenants-action-title": "Eliminar { count, plural, =1 {1 tenant} other {# tenants} }", + "delete-tenants-text": "Ten cuidado, después de la confirmación todos los tenants seleccionados serán eliminados y todos los datos relacionados serán irrecuperables.", "title": "Título", "title-required": "El título es obligatorio.", "description": "Descripción", "details": "Detalles", "events": "Eventos", - "copyId": "Copiar ID del inquilino", - "idCopiedMessage": "ID del inquilino copiado al portapapeles", - "select-tenant": "Seleccionar inquilino", - "no-tenants-matching": "No se encontraron inquilinos que coincidan con '{{entity}}'.", - "tenant-required": "El inquilino es obligatorio", - "search": "Buscar inquilinos", - "selected-tenants": "{ count, plural, =1 {1 inquilino} other {# inquilinos} } seleccionado(s)", + "copyId": "Copiar ID del tenant", + "idCopiedMessage": "ID del tenant copiado al portapapeles", + "select-tenant": "Seleccionar tenant", + "no-tenants-matching": "No se encontraron tenants que coincidan con '{{entity}}'.", + "tenant-required": "El tenant es obligatorio", + "search": "Buscar tenants", + "selected-tenants": "{ count, plural, =1 {1 tenant} other {# tenants} } seleccionado(s)", "isolated-tb-rule-engine": "Usar colas aisladas del motor de reglas de ThingsBoard", - "isolated-tb-rule-engine-details": "Cada inquilino tendrá colas del motor de reglas dedicadas" + "isolated-tb-rule-engine-details": "Cada tenant tendrá colas del motor de reglas dedicadas" }, "tenant-profile": { - "tenant-profile": "Perfil del inquilino", - "tenant-profiles": "Perfiles del inquilino", - "add": "Agregar perfil de inquilino", + "tenant-profile": "Perfil del tenant", + "tenant-profiles": "Perfiles del tenant", + "add": "Agregar perfil de tenant", "add-profile": "Agregar perfil", "debug": "Depurar", - "edit": "Editar perfil de inquilino", - "tenant-profile-details": "Detalles del perfil del inquilino", - "no-tenant-profiles-text": "No se encontraron perfiles de inquilino", + "edit": "Editar perfil de tenant", + "tenant-profile-details": "Detalles del perfil del tenant", + "no-tenant-profiles-text": "No se encontraron perfiles de tenant", "name-max-length": "El nombre debe tener menos de 256 caracteres", - "search": "Buscar perfiles de inquilino", - "selected-tenant-profiles": "{ count, plural, =1 {1 perfil de inquilino} other {# perfiles de inquilino} } seleccionado(s)", - "no-tenant-profiles-matching": "No se encontró ningún perfil de inquilino que coincida con '{{entity}}'.", - "tenant-profile-required": "El perfil de inquilino es obligatorio", - "idCopiedMessage": "El ID del perfil de inquilino ha sido copiado al portapapeles", - "set-default": "Hacer perfil de inquilino predeterminado", - "delete": "Eliminar perfil de inquilino", - "copyId": "Copiar ID del perfil de inquilino", + "search": "Buscar perfiles de tenant", + "selected-tenant-profiles": "{ count, plural, =1 {1 perfil de tenant} other {# perfiles de tenant} } seleccionado(s)", + "no-tenant-profiles-matching": "No se encontró ningún perfil de tenant que coincida con '{{entity}}'.", + "tenant-profile-required": "El perfil de tenant es obligatorio", + "idCopiedMessage": "El ID del perfil de tenant ha sido copiado al portapapeles", + "set-default": "Hacer perfil de tenant predeterminado", + "delete": "Eliminar perfil de tenant", + "copyId": "Copiar ID del perfil de tenant", "name": "Nombre", "name-required": "El nombre es obligatorio.", "data": "Datos del perfil", "profile-configuration": "Configuración del perfil", "description": "Descripción", "default": "Predeterminado", - "delete-tenant-profile-title": "¿Estás seguro de que deseas eliminar el perfil de inquilino '{{tenantProfileName}}'?", - "delete-tenant-profile-text": "Ten cuidado, después de la confirmación el perfil de inquilino y todos los datos relacionados serán irrecuperables.", - "delete-tenant-profiles-title": "¿Estás seguro de que deseas eliminar { count, plural, =1 {1 perfil de inquilino} other {# perfiles de inquilino} }?", - "delete-tenant-profiles-text": "Ten cuidado, después de la confirmación todos los perfiles de inquilino seleccionados serán eliminados y todos los datos relacionados serán irrecuperables.", - "set-default-tenant-profile-title": "¿Estás seguro de que deseas hacer predeterminado el perfil de inquilino '{{tenantProfileName}}'?", - "set-default-tenant-profile-text": "Después de la confirmación, el perfil de inquilino se marcará como predeterminado y se usará para nuevos inquilinos sin un perfil especificado.", - "no-tenant-profiles-found": "No se encontraron perfiles de inquilino.", + "delete-tenant-profile-title": "¿Estás seguro de que deseas eliminar el perfil de tenant '{{tenantProfileName}}'?", + "delete-tenant-profile-text": "Ten cuidado, después de la confirmación el perfil de tenant y todos los datos relacionados serán irrecuperables.", + "delete-tenant-profiles-title": "¿Estás seguro de que deseas eliminar { count, plural, =1 {1 perfil de tenant} other {# perfiles de tenant} }?", + "delete-tenant-profiles-text": "Ten cuidado, después de la confirmación todos los perfiles de tenant seleccionados serán eliminados y todos los datos relacionados serán irrecuperables.", + "set-default-tenant-profile-title": "¿Estás seguro de que deseas hacer predeterminado el perfil de tenant '{{tenantProfileName}}'?", + "set-default-tenant-profile-text": "Después de la confirmación, el perfil de tenant se marcará como predeterminado y se usará para nuevos tenants sin un perfil especificado.", + "no-tenant-profiles-found": "No se encontraron perfiles de tenant.", "create-new-tenant-profile": "¡Crear uno nuevo!", - "create-tenant-profile": "Crear nuevo perfil de inquilino", - "import": "Importar perfil de inquilino", - "export": "Exportar perfil de inquilino", - "export-failed-error": "No se pudo exportar el perfil de inquilino: {{error}}", - "tenant-profile-file": "Archivo del perfil de inquilino", - "invalid-tenant-profile-file-error": "No se pudo importar el perfil de inquilino: estructura de datos inválida.", + "create-tenant-profile": "Crear nuevo perfil de tenant", + "import": "Importar perfil de tenant", + "export": "Exportar perfil de tenant", + "export-failed-error": "No se pudo exportar el perfil de tenant: {{error}}", + "tenant-profile-file": "Archivo del perfil de tenant", + "invalid-tenant-profile-file-error": "No se pudo importar el perfil de tenant: estructura de datos inválida.", "advanced-settings": "Configuraciones avanzadas", "entities": "Entidades", "rule-engine": "Motor de reglas", @@ -5513,9 +5667,9 @@ "maximum-assets": "Máximo número de activos", "maximum-assets-required": "Se requiere el número máximo de activos.", "maximum-assets-range": "El número máximo de activos no puede ser negativo", - "maximum-customers": "Máximo número de clientes", - "maximum-customers-required": "Se requiere el número máximo de clientes.", - "maximum-customers-range": "El número máximo de clientes no puede ser negativo", + "maximum-customers": "Máximo número de customers", + "maximum-customers-required": "Se requiere el número máximo de customers.", + "maximum-customers-range": "El número máximo de customers no puede ser negativo", "maximum-users": "Máximo número de usuarios", "maximum-users-required": "Se requiere el número máximo de usuarios.", "maximum-users-range": "El número máximo de usuarios no puede ser negativo", @@ -5539,9 +5693,9 @@ "maximum-ota-package-sum-data-size-range": "El tamaño total máximo de archivos OTA no puede ser negativo", "maximum-debug-duration-min": "Duración máxima de depuración (min)", "maximum-debug-duration-min-range": "La duración máxima de depuración no puede ser negativa", - "rest-requests-for-tenant": "Solicitudes REST para el inquilino", - "transport-tenant-telemetry-msg-rate-limit": "Mensajes de telemetría del inquilino por transporte", - "transport-tenant-telemetry-data-points-rate-limit": "Puntos de datos de telemetría del inquilino por transporte", + "rest-requests-for-tenant": "Solicitudes REST para el tenant", + "transport-tenant-telemetry-msg-rate-limit": "Mensajes de telemetría del tenant por transporte", + "transport-tenant-telemetry-data-points-rate-limit": "Puntos de datos de telemetría del tenant por transporte", "transport-device-msg-rate-limit": "Mensajes del dispositivo por transporte", "transport-device-telemetry-msg-rate-limit": "Límite de mensajes de telemetría del dispositivo por transporte", "transport-device-telemetry-data-points-rate-limit": "Límite de puntos de datos de telemetría del dispositivo por transporte", @@ -5619,32 +5773,36 @@ "no-queue": "Ninguna cola configurada", "add-queue": "Agregar cola", "queues-with-count": "Colas ({{count}})", - "tenant-rest-limits": "Solicitudes REST para el inquilino", - "customer-rest-limits": "Solicitudes REST para el cliente", + "tenant-rest-limits": "Solicitudes REST para el tenant", + "customer-rest-limits": "Solicitudes REST para el customer", "incorrect-pattern-for-rate-limits": "El formato es una lista separada por comas de pares de capacidad y período (en segundos) con dos puntos entre ellos, por ejemplo: 100:1,2000:60", "too-small-value-zero": "El valor debe ser mayor que 0", "too-small-value-one": "El valor debe ser mayor que 1", "queue-size-is-limited-by-system-configuration": "El tamaño de la cola también está limitado por la configuración del sistema.", - "cassandra-tenant-limits-configuration": "Consulta Cassandra para el inquilino", - "ws-limit-max-sessions-per-tenant": "Número máximo de sesiones por inquilino", - "ws-limit-max-sessions-per-customer": "Número máximo de sesiones por cliente", + "cassandra-write-tenant-core-limits-configuration": "Consultas de escritura Cassandra vía REST API", + "cassandra-read-tenant-core-limits-configuration": "Consultas de lectura Cassandra vía REST API y telemetría WS", + "cassandra-write-tenant-rule-engine-limits-configuration": "Consultas de escritura Cassandra para telemetría del Rule Engine", + "cassandra-read-tenant-rule-engine-limits-configuration": "Consultas de lectura Cassandra para telemetría del Rule Engine", + "ws-limit-max-sessions-per-tenant": "Número máximo de sesiones por tenant", + "ws-limit-max-sessions-per-customer": "Número máximo de sesiones por customer", "ws-limit-max-sessions-per-regular-user": "Número máximo de sesiones por usuario regular", "ws-limit-max-sessions-per-public-user": "Número máximo de sesiones por usuario público", "ws-limit-queue-per-session": "Tamaño máximo de la cola de mensajes por sesión", - "ws-limit-max-subscriptions-per-tenant": "Número máximo de suscripciones por inquilino", - "ws-limit-max-subscriptions-per-customer": "Número máximo de suscripciones por cliente", + "ws-limit-max-subscriptions-per-tenant": "Número máximo de suscripciones por tenant", + "ws-limit-max-subscriptions-per-customer": "Número máximo de suscripciones por customer", "ws-limit-max-subscriptions-per-regular-user": "Número máximo de suscripciones por usuario regular", "ws-limit-max-subscriptions-per-public-user": "Número máximo de suscripciones por usuario público", "ws-limit-updates-per-session": "Actualizaciones WS por sesión", "rate-limits": { "add-limit": "Agregar límite", - "advanced-settings": "Configuraciones avanzadas", + "and-also-less-than": "y también menor que", + "advanced-settings": "Configuración avanzada", "edit-limit": "Editar límite", "calculated-field-debug-event-rate-limit": "Eventos de depuración de campo calculado", "edit-calculated-field-debug-event-rate-limit": "Editar límites de eventos de depuración de campo calculado", - "edit-transport-tenant-msg-title": "Editar límites de velocidad de mensajes de transporte del inquilino", - "edit-transport-tenant-telemetry-msg-title": "Editar límites de velocidad de mensajes de telemetría del inquilino", - "edit-transport-tenant-telemetry-data-points-title": "Editar límites de velocidad de puntos de datos de telemetría del inquilino", + "edit-transport-tenant-msg-title": "Editar límites de velocidad de mensajes de transporte del tenant", + "edit-transport-tenant-telemetry-msg-title": "Editar límites de velocidad de mensajes de telemetría del tenant", + "edit-transport-tenant-telemetry-data-points-title": "Editar límites de velocidad de puntos de datos de telemetría del tenant", "edit-transport-device-msg-title": "Editar límites de velocidad de mensajes de transporte del dispositivo", "edit-transport-device-telemetry-msg-title": "Editar límites de velocidad de mensajes de telemetría del dispositivo", "edit-transport-device-telemetry-data-points-title": "Editar límites de velocidad de puntos de datos de telemetría del dispositivo", @@ -5654,22 +5812,25 @@ "edit-transport-gateway-device-msg-title": "Editar límites de velocidad de mensajes del dispositivo del gateway", "edit-transport-gateway-device-telemetry-msg-title": "Editar límites de velocidad de mensajes de telemetría del dispositivo del gateway", "edit-transport-gateway-device-telemetry-data-points-title": "Editar límites de velocidad de puntos de datos de telemetría del dispositivo del gateway", - "edit-tenant-rest-limits-title": "Editar límites de solicitudes REST para el inquilino", - "edit-customer-rest-limits-title": "Editar límites de solicitudes REST para el cliente", - "edit-ws-limit-updates-per-session-title": "Editar límites de actualizaciones WS por sesión", - "edit-cassandra-tenant-limits-configuration-title": "Editar límites de consulta de Cassandra para el inquilino", - "edit-tenant-entity-export-rate-limit-title": "Editar límites de velocidad de creación de versión de entidad", - "edit-tenant-entity-import-rate-limit-title": "Editar límites de velocidad de carga de versión de entidad", - "edit-tenant-notification-request-rate-limit-title": "Editar límites de velocidad de solicitudes de notificación", - "edit-tenant-notification-requests-per-rule-rate-limit-title": "Editar límites de velocidad de solicitudes por regla de notificación", - "edit-edge-events-rate-limit": "Editar límites de velocidad de eventos del edge", - "edit-edge-events-per-edge-rate-limit": "Editar límites de eventos por edge", - "edge-events-rate-limit": "Eventos del edge", + "edit-tenant-rest-limits-title": "Editar límites de solicitudes REST para el tenant", + "edit-customer-rest-limits-title": "Editar límites de solicitudes REST para el customer", + "edit-ws-limit-updates-per-session-title": "Editar límites de tasa de actualizaciones WS por sesión", + "edit-cassandra-write-tenant-core-limits-configuration": "Editar consultas de escritura Cassandra vía REST API", + "edit-cassandra-read-tenant-core-limits-configuration": "Editar consultas de lectura Cassandra vía REST API y telemetría WS", + "edit-cassandra-write-tenant-rule-engine-limits-configuration": "Editar consultas de escritura Cassandra para telemetría del Rule Engine", + "edit-cassandra-read-tenant-rule-engine-limits-configuration": "Editar consultas de lectura Cassandra para telemetría del Rule Engine", + "edit-tenant-entity-export-rate-limit-title": "Editar límites de tasa para la creación de versiones de entidad", + "edit-tenant-entity-import-rate-limit-title": "Editar límites de tasa para la carga de versiones de entidad", + "edit-tenant-notification-request-rate-limit-title": "Editar límites de tasa para solicitudes de notificación", + "edit-tenant-notification-requests-per-rule-rate-limit-title": "Editar límites de tasa para solicitudes de notificación por regla de notificación", + "edit-edge-events-rate-limit": "Editar límites de tasa para eventos de edge", + "edit-edge-events-per-edge-rate-limit": "Editar límites de tasa para eventos por edge", + "edge-events-rate-limit": "Eventos de edge", "edge-events-per-edge-rate-limit": "Eventos por edge", - "edit-edge-uplink-messages-rate-limit": "Editar límites de velocidad de mensajes de subida del edge", - "edit-edge-uplink-messages-per-edge-rate-limit": "Editar límites de mensajes de subida por edge", - "edge-uplink-messages-rate-limit": "Mensajes de subida del edge", - "edge-uplink-messages-per-edge-rate-limit": "Mensajes de subida por edge", + "edit-edge-uplink-messages-rate-limit": "Editar límites de tasa para mensajes ascendentes de edge", + "edit-edge-uplink-messages-per-edge-rate-limit": "Editar límites de tasa para mensajes ascendentes por edge", + "edge-uplink-messages-rate-limit": "Mensajes ascendentes de edge", + "edge-uplink-messages-per-edge-rate-limit": "Mensajes ascendentes por edge", "messages-per": "mensajes por", "not-set": "No establecido", "number-of-messages": "Número de mensajes", @@ -5677,13 +5838,14 @@ "number-of-messages-min": "El valor mínimo es 1.", "preview": "Vista previa", "per-seconds": "Por segundos", - "per-seconds-required": "La tasa de tiempo es obligatoria.", + "per-seconds-required": "Se requiere tasa de tiempo.", "per-seconds-min": "El valor mínimo es 1.", - "rate-limits": "Límites de velocidad", + "per-seconds-duplicate": "Tasa de tiempo duplicada. Cada intervalo de tiempo debe ser único.", + "rate-limits": "Límites de tasa", "remove-limit": "Eliminar límite", - "transport-tenant-msg": "Mensajes de transporte del inquilino", - "transport-tenant-telemetry-msg": "Mensajes de telemetría del inquilino", - "transport-tenant-telemetry-data-points": "Puntos de datos de telemetría del inquilino", + "transport-tenant-msg": "Mensajes de transporte del tenant", + "transport-tenant-telemetry-msg": "Mensajes de telemetría del tenant", + "transport-tenant-telemetry-data-points": "Puntos de datos de telemetría del tenant", "transport-device-msg": "Mensajes de transporte del dispositivo", "transport-device-telemetry-msg": "Mensajes de telemetría del dispositivo", "transport-device-telemetry-data-points": "Puntos de datos de telemetría del dispositivo", @@ -5826,13 +5988,125 @@ "value": "Valor", "date": "Fecha", "show-date-time-interval": "Mostrar intervalo de fecha y hora", - "show-date-time-interval-hint": "Mostrar intervalo de fecha y hora de acuerdo con la agregación de datos.", + "show-date-time-interval-hint": "Mostrar intervalo de fecha y hora según la agregación de datos.", + "hide-zero-tooltip-values": "Ocultar valores cero", "background-color": "Color de fondo", "background-blur": "Desenfoque de fondo" }, "unit": { + "set-unit-conversion": "Establecer conversión de unidades", + "unit-settings": { + "unit-settings": "Configuración de unidades", + "source-unit": "Unidad de origen", + "source-unit-hint": "Esta es la unidad del valor almacenado. La unidad desde la cual estás convirtiendo. Ingresa el símbolo que usa tu dato de origen (ej. m, km, ft, in).", + "target-metric-unit": "Unidad métrica de destino", + "target-metric-unit-hint": "Elige a qué unidad métrica (SI) quieres convertir tu valor de origen (ej. cm, mm, km).", + "target-imperial-unit": "Unidad imperial de destino", + "target-imperial-unit-hint": "Elige a qué unidad imperial quieres convertir tu valor de origen (ej. in, ft, yd).", + "target-hybrid-unit": "Unidad híbrida de destino", + "target-hybrid-unit-hint": "Elige a qué unidad híbrida quieres convertir tu valor de origen (ej. cm, in, km). Las unidades híbridas combinan unidades métricas o imperiales.", + "enable-unit-conversion": "Habilitar conversión de unidades", + "enable-unit-conversion-hint": "Activa para habilitar la conversión. Cuando está desactivado, tu valor de origen pasará sin cambios. Se desactiva si hay solo una unidad en el grupo de medición correspondiente (ej. Flujo luminoso, AQI)." + }, + "unit-system": "Sistema de unidades", + "unit-system-type": { + "AUTO": "Automático", + "METRIC": "Métrico", + "IMPERIAL": "Imperial", + "HYBRID": "Híbrido" + }, + "measures": { + "absorbed-dose-rate": "Tasa de dosis absorbida", + "acceleration": "Aceleración", + "acidity": "Acidez", + "air-quality-index": "Índice de calidad del aire", + "amount-of-substance": "Cantidad de sustancia", + "angle": "Ángulo", + "angular-acceleration": "Aceleración angular", + "area": "Área", + "area-density": "Densidad superficial", + "capacitance": "Capacitancia", + "catalytic-activity": "Actividad catalítica", + "catalytic-concentration": "Concentración catalítica", + "charge": "Carga", + "current-density": "Densidad de corriente", + "data-transfer-rate": "Velocidad de transferencia de datos", + "density": "Densidad", + "digital": "Digital", + "dimension-ratio": "Relación dimensional", + "dynamic-viscosity": "Viscosidad dinámica", + "earthquake-magnitude": "Magnitud del terremoto", + "electric-charge-density": "Densidad de carga eléctrica", + "electric-current": "Corriente eléctrica", + "electric-dipole-moment": "Momento dipolar eléctrico", + "electric-field-strength": "Intensidad del campo eléctrico", + "electric-flux": "Flujo eléctrico", + "electric-permittivity": "Permitividad eléctrica", + "electric-polarizability": "Polarizabilidad eléctrica", + "electrical-conductance": "Conductancia eléctrica", + "electrical-conductivity": "Conductividad eléctrica", + "energy": "Energía", + "energy-density": "Densidad energética", + "force": "Fuerza", + "frequency": "Frecuencia", + "fuel-efficiency": "Eficiencia de combustible", + "heat-capacity": "Capacidad calorífica", + "illuminance": "Iluminancia", + "inductance": "Inductancia", + "kinematic-viscosity": "Viscosidad cinemática", + "length": "Longitud", + "light-exposure": "Exposición a la luz", + "linear-charge-density": "Densidad lineal de carga", + "logarithmic-ratio": "Relación logarítmica", + "luminous-efficacy": "Eficacia luminosa", + "luminous-flux": "Flujo luminoso", + "luminous-intensity": "Intensidad luminosa", + "magnetic-field-gradient": "Gradiente del campo magnético", + "magnetic-flux": "Flujo magnético", + "magnetic-flux-density": "Densidad de flujo magnético", + "magnetic-moment": "Momento magnético", + "magnetic-permeability": "Permeabilidad magnética", + "mass": "Masa", + "mass-fraction": "Fracción de masa", + "molar-concentration": "Concentración molar", + "molar-energy": "Energía molar", + "molar-heat-capacity": "Capacidad calorífica molar", + "molar-mass": "Masa molar", + "number-concentration": "Concentración numérica", + "parts-per-million": "Partes por millón", + "power": "Potencia", + "power-density": "Densidad de potencia", + "pressure": "Presión", + "radiance": "Radiancia", + "radiant-intensity": "Intensidad radiante", + "radiation-dose": "Dosis de radiación", + "radioactive-decay": "Desintegración radiactiva", + "radioactivity": "Radiactividad", + "radioactivity-concentration": "Concentración de radiactividad", + "reciprocal-length": "Longitud recíproca", + "resistance": "Resistencia", + "reynolds-number": "Número de Reynolds", + "signal-level": "Nivel de señal", + "solid-angle": "Ángulo sólido", + "specific-energy": "Energía específica", + "specific-heat-capacity": "Capacidad calorífica específica", + "specific-humidity": "Humedad específica", + "specific-volume": "Volumen específico", + "speed": "Velocidad", + "surface-charge-density": "Densidad de carga superficial", + "surface-tension": "Tensión superficial", + "temperature": "Temperatura", + "thermal-conductivity": "Conductividad térmica", + "time": "Tiempo", + "torque": "Par (torque)", + "turbidity": "Turbidez", + "voltage": "Voltaje", + "volume": "Volumen", + "volume-flow": "Flujo volumétrico" + }, "millimeter": "Milímetro", "centimeter": "Centímetro", + "decimeter": "Decímetro", "angstrom": "Ångström", "nanometer": "Nanómetro", "micrometer": "Micrómetro", @@ -5840,6 +6114,7 @@ "kilometer": "Kilómetro", "inch": "Pulgada", "foot": "Pie", + "foot-us": "Pie (encuesta de EE.UU.)", "yard": "Yarda", "mile": "Milla", "nautical-mile": "Milla náutica", @@ -5886,12 +6161,13 @@ "cubic-foot": "Pie cúbico", "cubic-yard": "Yarda cúbica", "fluid-ounce": "Onza líquida", + "fluid-ounce-per-second": "Onza líquida por segundo", "pint": "Pinta", "quart": "Cuarto", "gallon": "Galón", "oil-barrels": "Barril de petróleo", "cubic-meter-per-kilogram": "Metro cúbico por kilogramo", - "gill": "Gill", + "gill": "Jill (gill)", "hogshead": "Hogshead", "teaspoon": "Cucharadita", "tablespoon": "Cucharada", @@ -5904,11 +6180,15 @@ "meter-per-second": "Metro por segundo", "kilometer-per-hour": "Kilómetro por hora", "foot-per-second": "Pie por segundo", + "foot-per-minute": "Pie por minuto", "mile-per-hour": "Milla por hora", "knot": "Nudo", + "inch-per-second": "Pulgada por segundo", + "inch-per-hour": "Pulgada por hora", "millimeters-per-minute": "Milímetros por minuto", - "kilometer-per-hour-squared": "Kilómetro por hora al cuadrado", - "foot-per-second-squared": "Pie por segundo al cuadrado", + "meter-per-minute": "Metro por minuto", + "kilometer-per-hour-squared": "Kilómetro por hora cuadrado", + "foot-per-second-squared": "Pie por segundo cuadrado", "pascal": "Pascal", "kilopascal": "Kilopascal", "megapascal": "Megapascal", @@ -5923,6 +6203,7 @@ "newton-per-meter": "Newton por metro", "atmospheres": "Atmósferas", "pounds-per-square-inch": "Libras por pulgada cuadrada", + "kilopound-per-square-inch": "Kilolibras por pulgada cuadrada", "torr": "Torr", "inches-of-mercury": "Pulgadas de mercurio", "pascal-per-square-meter": "Pascal por metro cuadrado", @@ -5940,10 +6221,16 @@ "megajoule": "Megajulio", "gigajoule": "Gigajulio", "watt-hour": "Vatio-hora", + "watt-minute": "Vatio-minuto", "kilowatt-hour": "Kilovatio-hora", + "milliwatt-hour": "Milivatio-hora", + "megawatt-hour": "Megavatio-hora", + "gigawatt-hour": "Gigavatio-hora", "electron-volts": "Electrón-voltios", "joules-per-coulomb": "Julios por culombio", "british-thermal-unit": "Unidad térmica británica", + "thousand-british-thermal-unit": "Mil unidades térmicas británicas", + "million-british-thermal-unit": "Millón de unidades térmicas británicas", "foot-pound": "Pie-libra", "calorie": "Caloría", "small-calorie": "Caloría pequeña", @@ -5975,9 +6262,19 @@ "kilowatt-per-square-inch": "Kilovatios por pulgada cuadrada", "horsepower": "Caballo de fuerza", "btu-per-hour": "Unidades térmicas británicas por hora", + "btu-per-second": "Unidades térmicas británicas por segundo", + "btu-per-day": "Unidades térmicas británicas por día", + "mbtu-per-hour": "Mil unidades térmicas británicas por hora", + "mbtu-per-second": "Mil unidades térmicas británicas por segundo", + "mbtu-per-day": "Mil unidades térmicas británicas por día", + "mmbtu-per-hour": "Millón de unidades térmicas británicas por hora", + "mmbtu-per-second": "Millón de unidades térmicas británicas por segundo", + "mmbtu-per-day": "Millón de unidades térmicas británicas por día", + "foot-pound-per-second": "Pie-libra por segundo", "coulomb": "Culombio", "millicoulomb": "Miliculombios", "microcoulomb": "Microculombio", + "nanocoulomb": "Nanoculombio", "picocoulomb": "Picoculombio", "coulomb-per-meter": "Culombio por metro", "coulomb-per-cubic-meter": "Culombio por metro cúbico", @@ -6003,6 +6300,9 @@ "microampere": "Microamperio", "milliampere": "Miliamperio", "ampere": "Amperio", + "kiloampere": "Kiloamperio", + "megaampere": "Megaamperio", + "gigaampere": "Gigaamperio", "microampere-per-square-centimeter": "Microamperio por centímetro cuadrado", "ampere-per-square-meter": "Amperio por metro cuadrado", "ampere-per-meter": "Amperio por metro", @@ -6011,25 +6311,31 @@ "ampere-meter-squared": "Amperio-metro cuadrado", "nanovolt": "Nanovoltio", "picovolt": "Picovoltio", + "millivolt": "Milivoltios", + "microvolt": "Microvoltios", "volt": "Voltio", - "dbmV": "dBmV", - "dbm": "dBm", - "volt-meter": "Voltímetro", - "kilovolt-meter": "Kilovoltímetro", - "megavolt-meter": "Megavoltímetro", - "microvolt-meter": "Microvoltímetro", - "millivolt-meter": "Milivoltímetro", - "nanovolt-meter": "Nanovoltímetro", + "kilovolt": "Kilovoltio", + "megavolt": "Megavoltio", + "dbmV": "Decibelio-voltio", + "dbm": "Decibelio-miliwatt", + "volt-meter": "Voltio-metro", + "kilovolt-meter": "Kilovoltio-metro", + "megavolt-meter": "Megavoltio-metro", + "microvolt-meter": "Microvoltio-metro", + "millivolt-meter": "Milivoltio-metro", + "nanovolt-meter": "Nanovoltio-metro", "ohm": "Ohmio", "microohm": "Microohmio", "milliohm": "Miliohmio", "kilohm": "Kiloohmio", "megohm": "Megaohmio", "gigohm": "Gigaohmio", - "hertz": "Hercio", + "millihertz": "Milihertz", + "hertz": "Hertz", "kilohertz": "Kilohertz", "megahertz": "Megahertz", "gigahertz": "Gigahertz", + "terahertz": "Terahertz", "rpm": "Revoluciones por minuto", "candela-per-square-meter": "Candela por metro cuadrado", "candela": "Candela", @@ -6046,7 +6352,7 @@ "millimole": "Milimol", "kilomole": "Kilomol", "mole-per-cubic-meter": "Mol por metro cúbico", - "rssi": "RSSI", + "rssi": "Indicador de intensidad de señal recibida", "ppm": "Partes por millón", "ppb": "Partes por mil millones", "micrograms-per-cubic-meter": "Microgramos por metro cúbico", @@ -6057,7 +6363,7 @@ "neper": "Neper", "bel": "Bel", "decibel": "Decibelio", - "meters-per-second-squared": "Metros por segundo al cuadrado", + "meters-per-second-squared": "Metros por segundo cuadrado", "becquerel": "Becquerel", "curie": "Curie", "gray": "Gray", @@ -6097,7 +6403,7 @@ "gallons-per-mile": "Galones por milla", "liters-per-hour": "Litros por hora", "gallons-per-hour": "Galones por hora", - "beats-per-minute": "Pulsaciones por minuto", + "beats-per-minute": "Latidos por minuto", "millimeters-of-mercury": "Milímetros de mercurio", "milligrams-per-deciliter": "Miligramos por decilitro", "g-force": "Fuerza G", @@ -6115,6 +6421,9 @@ "millibars": "Milibares", "inch-of-mercury": "Pulgada de mercurio", "richter-scale": "Escala de Richter", + "nanosecond": "Nanosegundo", + "microsecond": "Microsegundo", + "millisecond": "Milisegundo", "second": "Segundo", "minute": "Minuto", "hour": "Hora", @@ -6130,6 +6439,7 @@ "gallons-per-minute": "Galones por minuto", "cubic-foot-per-second": "Pie cúbico por segundo", "milliliters-per-minute": "Mililitros por minuto", + "cubic-decimeter-per-second": "Decímetro cúbico por segundo", "bit": "Bit", "byte": "Byte", "kilobyte": "Kilobyte", @@ -6152,6 +6462,9 @@ "degree": "Grado", "radian": "Radián", "gradian": "Gradián", + "arcminute": "Minuto de arco", + "arcsecond": "Segundo de arco", + "milliradian": "Miliradián", "revolution": "Revolución", "siemens": "Siemens", "millisiemens": "Milisiemens", @@ -6177,7 +6490,7 @@ "nanotesla": "Nanotesla", "kilotesla": "Kilotesla", "megatesla": "Megatesla", - "millitesla-square-meters": "Militesla por metro cuadrado", + "millitesla-square-meters": "Militesla metro cuadrado", "gamma": "Gamma", "lambda": "Lambda", "square-meter-per-second": "Metro cuadrado por segundo", @@ -6191,25 +6504,25 @@ "poise": "Poise", "reynolds": "Reynolds", "pound-per-foot-hour": "Libra por pie-hora", - "newton-second-per-square-meter": "Newton segundo por metro cuadrado", - "dyne-second-per-square-centimeter": "Dina segundo por centímetro cuadrado", + "newton-second-per-square-meter": "Newton-segundo por metro cuadrado", + "dyne-second-per-square-centimeter": "Dina-segundo por centímetro cuadrado", "kilogram-per-meter-second": "Kilogramo por metro-segundo", - "tesla-square-meters": "Tesla por metro cuadrado", + "tesla-square-meters": "Tesla metro cuadrado", "maxwell": "Maxwell", "tesla-per-meter": "Tesla por metro", "gauss-per-centimeter": "Gauss por centímetro", "weber": "Weber", "microweber": "Microweber", "milliweber": "Milliweber", - "gauss-square-centimeter": "Gauss por centímetro cuadrado", - "kilogauss-square-centimeter": "Kilogauss por centímetro cuadrado", + "gauss-square-centimeter": "Gauss centímetro cuadrado", + "kilogauss-square-centimeter": "Kilogauss centímetro cuadrado", "henry": "Henry", - "millihenry": "Milihenry", - "microhenry": "Microhenry", - "nanohenry": "Nanohenry", - "henry-per-meter": "Henry por metro", + "millihenry": "Milihenrio", + "microhenry": "Microhenrio", + "nanohenry": "Nanohenrio", + "henry-per-meter": "Henrio por metro", "tesla-meter-per-ampere": "Tesla metro por amperio", - "gauss-per-oersted": "Gauss por Oersted", + "gauss-per-oersted": "Gauss por oersted", "kilogram-per-mole": "Kilogramo por mol", "gram-per-mole": "Gramo por mol", "milligram-per-mole": "Miligramo por mol", @@ -6219,21 +6532,23 @@ "volts-per-meter": "Voltios por metro", "kilovolts-per-meter": "Kilovoltios por metro", "radian-per-second": "Radián por segundo", - "radian-per-second-squared": "Radián por segundo cuadrado", + "radian-per-second-squared": "Radián por segundo al cuadrado", "revolutions-per-minute-per-second": "Aceleración angular", - "deg-per-second": "grados/segundo", + "deg-per-second": "Grados por segundo", + "rotation-per-minute": "Rotaciones por minuto", "degrees-brix": "Grados Brix", "katal": "Katal", - "katal-per-cubic-metre": "Katal por metro cúbico" + "katal-per-cubic-metre": "Katal por metro cúbico", + "paris-inch": "Pulgada de París" }, "user": { "user": "Usuario", "users": "Usuarios", - "customer-users": "Usuarios del cliente", - "tenant-admins": "Administradores del inquilino", + "customer-users": "Usuarios del customer", + "tenant-admins": "Administradores del tenant", "sys-admin": "Administrador del sistema", - "tenant-admin": "Administrador del inquilino", - "customer": "Cliente", + "tenant-admin": "Administrador del tenant", + "customer": "Customer", "anonymous": "Anónimo", "add": "Agregar usuario", "delete": "Eliminar usuario", @@ -6266,8 +6581,8 @@ "copy-activation-link": "Copiar enlace de activación", "activation-link-copied-message": "El enlace de activación del usuario ha sido copiado al portapapeles", "details": "Detalles", - "login-as-tenant-admin": "Iniciar sesión como administrador del inquilino", - "login-as-customer-user": "Iniciar sesión como usuario del cliente", + "login-as-tenant-admin": "Iniciar sesión como administrador del tenant", + "login-as-customer-user": "Iniciar sesión como usuario del Customer", "search": "Buscar usuarios", "selected-users": "{ count, plural, =1 {1 usuario} other {# usuarios} } seleccionados", "disable-account": "Desactivar cuenta de usuario", @@ -7774,6 +8089,18 @@ "fill-area-opacity": "Opacidad del área rellena", "range-chart-style": "Estilo del gráfico de rango" }, + "knob": { + "behavior": "Comportamiento", + "initial-value": "Valor inicial", + "initial-value-hint": "Acción para obtener el valor inicial del control giratorio.", + "on-value-change": "Al cambiar el valor", + "on-value-change-hint": "Acción que se activa cuando se cambia el valor del control giratorio.", + "range": "Rango", + "min": "mín", + "max": "máx", + "value": "Valor", + "fallback-initial-value": "Valor inicial alternativo" + }, "rpc": { "value-settings": "Configuración de valor", "initial-value": "Valor inicial", @@ -7830,9 +8157,7 @@ "led-status-value-timeseries": "Serie temporal del dispositivo que contiene el estado del LED", "check-status-method": "Método RPC para verificar estado del dispositivo", "parse-led-status-value-function": "Función para analizar el valor del estado del LED", - "knob-title": "Título del control giratorio", - "min-value": "Valor mínimo", - "max-value": "Valor máximo" + "knob-title": "Título del control giratorio" }, "maps": { "map-type": { @@ -8676,7 +9001,7 @@ "pie-chart-card-style": "Estilo de tarjeta de gráfico circular" }, "radar-chart": { - "radar-appearance": "Apariencia del gráfico de radar", + "radar-appearance": "Apariencia del radar", "shape": "Forma", "shape-polygon": "Polígono", "shape-circle": "Círculo", @@ -8684,10 +9009,14 @@ "line": "Línea", "points": "Puntos", "points-label": "Etiqueta de puntos", - "radar-axis": "Eje de radar", + "radar-axis": "Eje del radar", "axis-label": "Etiqueta del eje", "ticks-label": "Etiqueta de marcas", - "radar-chart-style": "Estilo de gráfico de radar" + "radar-chart-style": "Estilo del gráfico de radar", + "max-axes-scaling": "Escalado máximo de ejes", + "max-axes-scaling-hint": "Elige si cada eje del radar tiene su propio valor máximo (Separado) o comparte el valor más alto entre todos los ejes según el conjunto de datos del widget (Común).", + "separate": "Separado", + "common": "Común" }, "time-series-chart": { "chart": "Gráfico", @@ -9047,8 +9376,8 @@ "advanced-features": "Funciones avanzadas", "notification-center": "Centro de notificaciones", "api-usage": "Uso de API", - "customers": "Clientes", - "customers-hierarchy": "Jerarquía de clientes", + "customers": "Customers", + "customers-hierarchy": "Jerarquía de customers", "roles-and-permissions": "Roles y permisos", "groups": "Grupos", "integrations": "Integraciones", @@ -9075,7 +9404,7 @@ "sys-admin": { "step1": { "title": "Crear Tenant y Administrador del Tenant", - "content": "

Un tenant es una persona u organización que posee o produce dispositivos y activos. El tenant puede tener múltiples usuarios administradores, clientes, dispositivos y activos.

El Administrador del Tenant puede crear y gestionar dispositivos, activos, clientes y tableros dentro de la cuenta del tenant.

Sigue la documentación para saber cómo hacerlo:

", + "content": "

Un tenant es una persona u organización que posee o produce dispositivos y activos. El tenant puede tener múltiples usuarios administradores, customers, dispositivos y activos.

El Administrador del Tenant puede crear y gestionar dispositivos, activos, customers y tableros dentro de la cuenta del tenant.

Sigue la documentación para saber cómo hacerlo:

", "how-to-create-tenant": "Cómo crear Tenant y Administrador del Tenant" }, "step2": { @@ -9085,7 +9414,7 @@ }, "step3": { "title": "Configurar función: Proveedor de SMS", - "content": "

Configura proveedores de SMS para notificar a los clientes sobre las alarmas vía SMS.

Sigue la documentación para saber cómo hacerlo:

", + "content": "

Configura proveedores de SMS para notificar a los customers sobre las alarmas vía SMS.

Sigue la documentación para saber cómo hacerlo:

", "how-to-configure-sms-provider": "Cómo configurar el proveedor de SMS" }, "step4": { @@ -9098,7 +9427,7 @@ }, "step6": { "title": "Configurar función: OAuth 2", - "content": "

Simplifica el inicio de sesión para los usuarios de tenant y clientes con inicio de sesión único a través de OAuth 2.0.

Sigue la documentación para saber cómo hacerlo:

" + "content": "

Simplifica el inicio de sesión para los usuarios de tenant y customer con inicio de sesión único a través de OAuth 2.0.

Sigue la documentación para saber cómo hacerlo:

" } }, "tenant-admin": { @@ -9142,8 +9471,8 @@ "how-to-create-alarm": "Cómo crear una alarma" }, "step6": { - "title": "Crear cliente y compartir tablero", - "content": "

Al crear tableros para el usuario final, un usuario cliente solo podrá ver sus propios dispositivos y los datos de otro cliente estarán ocultos.

Sigue la documentación para saber cómo hacerlo:

" + "title": "Crear customer y compartir tablero", + "content": "

Al crear tableros para el usuario final, un usuario customer solo podrá ver sus propios dispositivos y los datos de otro customer estarán ocultos.

Sigue la documentación para saber cómo hacerlo:

" } } } @@ -9193,4 +9522,4 @@ "language": { "language": "Idioma" } -} +} \ No newline at end of file diff --git a/ui-ngx/src/assets/locale/locale.constant-fr_FR.json b/ui-ngx/src/assets/locale/locale.constant-fr_FR.json index d715c60187..46350046de 100644 --- a/ui-ngx/src/assets/locale/locale.constant-fr_FR.json +++ b/ui-ngx/src/assets/locale/locale.constant-fr_FR.json @@ -545,7 +545,13 @@ "slack-settings": "Paramètres Slack", "mobile-settings": "Paramètres mobiles", "firebase-service-account-file": "Fichier JSON des identifiants du compte de service Firebase", - "select-firebase-service-account-file": "Glissez-déposez votre fichier d'identifiants de compte de service Firebase ou " + "select-firebase-service-account-file": "Glissez-déposez votre fichier d'identifiants de compte de service Firebase ou ", + "trendz": "Trendz", + "trendz-settings": "Paramètres Trendz", + "trendz-url": "URL Trendz", + "trendz-url-required": "L'URL Trendz est requise", + "trendz-api-key": "Clé API Trendz", + "trendz-enable": "Activer Trendz" }, "alarm": { "alarm": "Alarme", @@ -677,8 +683,8 @@ "filter-type-entity-list": "Liste d'entités", "filter-type-entity-name": "Nom de l'entité", "filter-type-entity-type": "Type d'entité", - "filter-type-state-entity": "Entité à partir de l'état du tableau de bord", - "filter-type-state-entity-description": "Entité extraite des paramètres d'état du tableau de bord", + "filter-type-state-entity": "Entité de l'état du tableau de bord", + "filter-type-state-entity-description": "Entité extraite des paramètres de l'état du tableau de bord", "filter-type-asset-type": "Type d'actif", "filter-type-asset-type-description": "Actifs de type '{{assetTypes}}'", "filter-type-asset-type-and-name-description": "Actifs de type '{{assetTypes}}' dont le nom commence par '{{prefix}}'", @@ -709,17 +715,18 @@ "filter-type-required": "Le type de filtre est requis.", "entity-filter-no-entity-matched": "Aucune entité ne correspond au filtre spécifié.", "no-entity-filter-specified": "Aucun filtre d'entité spécifié", - "root-state-entity": "Utiliser l'entité d'état du tableau de bord comme racine", + "root-state-entity": "Utiliser l'entité de l'état du tableau de bord comme racine", "last-level-relation": "Ne récupérer que le dernier niveau de relation", "root-entity": "Entité racine", "state-entity-parameter-name": "Nom du paramètre d'entité d'état", "default-state-entity": "Entité d'état par défaut", "default-entity-parameter-name": "Par défaut", - "max-relation-level": "Niveau maximum de relation", + "query-options": "Options de requête", + "max-relation-level": "Niveau de relation maximal", "unlimited-level": "Niveau illimité", "state-entity": "Entité d'état du tableau de bord", "all-entities": "Toutes les entités", - "any-relation": "n'importe laquelle" + "any-relation": "n'importe quelle" }, "asset": { "asset": "Actif", @@ -917,22 +924,27 @@ "view-statistics": "Voir les statistiques" }, "api-limit": { - "cassandra-queries": "Requêtes Cassandra", + "cassandra-write-queries-core": "Requêtes d'écriture Cassandra via l'API REST", + "cassandra-read-queries-core": "Requêtes de lecture Cassandra via l'API REST et WS (télémétrie)", + "cassandra-write-queries-rule-engine": "Requêtes d'écriture Cassandra du moteur de règles (télémétrie)", + "cassandra-read-queries-rule-engine": "Requêtes de lecture Cassandra du moteur de règles (télémétrie)", + "cassandra-write-queries-monolith": "Requêtes d'écriture Cassandra monolithiques (télémétrie)", + "cassandra-read-queries-monolith": "Requêtes de lecture Cassandra monolithiques (télémétrie)", "entity-version-creation": "Création de version d'entité", "entity-version-load": "Chargement de version d'entité", "notification-requests": "Requêtes de notification", "notification-requests-per-rule": "Requêtes de notification par règle", - "rest-api-requests": "Requêtes REST API", - "rest-api-requests-per-customer": "Requêtes REST API par client", + "rest-api-requests": "Requêtes API REST", + "rest-api-requests-per-customer": "Requêtes API REST par client", "transport-messages": "Messages de transport", "transport-messages-per-device": "Messages de transport par appareil", "transport-messages-per-gateway": "Messages de transport par passerelle", "transport-messages-per-gateway-device": "Messages de transport par appareil de passerelle", "ws-updates-per-session": "Mises à jour WS par session", "edge-events": "Événements Edge", - "edge-events-per-edge": "Événements Edge par instance", + "edge-events-per-edge": "Événements Edge par instance Edge", "edge-uplink-messages": "Messages montants Edge", - "edge-uplink-messages-per-edge": "Messages montants Edge par instance" + "edge-uplink-messages-per-edge": "Messages montants Edge par instance Edge" }, "audit-log": { "audit": "Audit", @@ -996,9 +1008,9 @@ "failures": "Échecs", "entity": "entité", "hint": { - "main-limited": "Pas plus de {{msg}} messages de débogage de {{entity}} par {{time}} ne seront enregistrés.", - "on-failure": "Enregistrer uniquement les messages d'erreur.", - "all-messages": "Enregistrer tous les messages de débogage." + "main-limited": "Pas plus de {{msg}} messages de débogage pour {{entity}} toutes les {{time}} seront enregistrés.", + "on-failure": "Journaliser uniquement les messages d'erreur.", + "all-messages": "Journaliser tous les messages de débogage." } }, "calculated-fields": { @@ -1018,13 +1030,13 @@ "add-argument": "Ajouter un argument", "test-script-function": "Tester la fonction script", "no-arguments": "Aucun argument configuré", - "argument-settings": "Paramètres de l'argument", + "argument-settings": "Paramètres des arguments", "argument-current": "Entité actuelle", - "argument-current-tenant": "Tenant actuel", + "argument-current-tenant": "Locataire actuel", "argument-device": "Appareil", "argument-asset": "Actif", "argument-customer": "Client", - "argument-tenant": "Tenant actuel", + "argument-tenant": "Locataire actuel", "argument-type": "Type d'argument", "see-debug-events": "Voir les événements de débogage", "attribute": "Attribut", @@ -1057,24 +1069,103 @@ "delete-multiple-title": "Êtes-vous sûr de vouloir supprimer { count, plural, =1 {1 champ calculé} other {# champs calculés} } ?", "delete-multiple-text": "Attention, après confirmation tous les champs calculés sélectionnés seront supprimés et toutes les données associées seront irrécupérables.", "test-with-this-message": "Tester avec ce message", + "use-latest-timestamp": "Utiliser l'horodatage le plus récent", "hint": { - "arguments-simple-with-rolling": "Le type simple de champ calculé ne doit pas contenir de clés avec un rolling de séries temporelles.", + "arguments-simple-with-rolling": "Un champ calculé de type simple ne doit pas contenir de clés avec type de séries temporelles roulantes.", "arguments-empty": "Les arguments ne doivent pas être vides.", - "expression-required": "L'expression est requise.", + "expression-required": "Une expression est requise.", "expression-invalid": "L'expression est invalide", "expression-max-length": "La longueur de l'expression doit être inférieure à 255 caractères.", "argument-name-required": "Le nom de l'argument est requis.", "argument-name-pattern": "Le nom de l'argument est invalide.", "argument-name-duplicate": "Un argument portant ce nom existe déjà.", - "argument-name-max-length": "Le nom de l'argument doit contenir moins de 256 caractères.", - "argument-name-forbidden": "Le nom de l'argument est réservé et ne peut pas être utilisé.", + "argument-name-max-length": "Le nom de l'argument doit comporter moins de 256 caractères.", + "argument-name-forbidden": "Ce nom d'argument est réservé et ne peut pas être utilisé.", "argument-type-required": "Le type d'argument est requis.", - "max-args": "Nombre maximum d'arguments atteint.", + "max-args": "Nombre maximal d'arguments atteint.", "decimals-range": "Les décimales par défaut doivent être un nombre entre 0 et 15.", - "expression": "L'expression par défaut montre comment transformer une température de Fahrenheit en Celsius.", - "arguments-entity-not-found": "L'entité cible de l'argument est introuvable." + "expression": "L'expression par défaut montre comment convertir une température de Fahrenheit en Celsius.", + "arguments-entity-not-found": "Entité cible de l'argument introuvable.", + "use-latest-timestamp": "Si activé, la valeur calculée sera enregistrée avec l'horodatage le plus récent des télémétries des arguments, au lieu de l'heure du serveur." } }, + "ai-models": { + "ai-models": "Modèles IA", + "ai-model": "Modèle IA", + "model": "Modèle", + "name": "Nom", + "ai-provider": "Fournisseur IA", + "no-found": "Aucun modèle IA trouvé", + "list": "{ count, plural, =1 {Un modèle} other {Liste de # modèles} }", + "selected-fields": "{ count, plural, =1 {1 modèle} other {# modèles} } sélectionné(s)", + "add": "Ajouter un modèle", + "delete-model-title": "Êtes-vous sûr de vouloir supprimer le modèle '{{modelName}}' ?", + "delete-model-text": "Attention, après confirmation, le modèle et toutes les données associées seront irrécupérables.", + "delete-models-title": "Êtes-vous sûr de vouloir supprimer { count, plural, =1 {1 modèle} other {# modèles} } ?", + "delete-models-text": "Attention, après confirmation, tous les modèles sélectionnés seront supprimés et toutes les données associées deviendront irrécupérables.", + "ai-providers": { + "openai": "OpenAI", + "azure-openai": "Azure OpenAI", + "google-ai-gemini": "Google AI Gemini", + "google-vertex-ai-gemini": "Google Vertex AI Gemini", + "mistral-ai": "Mistral AI", + "anthropic": "Anthropic", + "amazon-bedrock": "Amazon Bedrock", + "github-models": "Modèles GitHub" + }, + "name-required": "Le nom est requis.", + "name-max-length": "Le nom doit comporter 255 caractères ou moins.", + "provider": "Fournisseur", + "api-key": "Clé API", + "api-key-required": "La clé API est requise.", + "project-id": "ID de projet", + "project-id-required": "L'ID de projet est requis.", + "location": "Emplacement", + "location-required": "L'emplacement est requis.", + "service-account-key-file": "Fichier de clé du compte de service", + "service-account-key-file-required": "Le fichier de clé du compte de service est requis.", + "no-file": "Aucun fichier sélectionné.", + "drop-file": "Déposez un fichier ou cliquez pour en sélectionner un à téléverser.", + "personal-access-token": "Jeton d'accès personnel", + "personal-access-token-required": "Le jeton d'accès personnel est requis.", + "configuration": "Configuration", + "model-id": "ID du modèle", + "model-id-required": "L'ID du modèle est requis.", + "deployment-name": "Nom du déploiement", + "deployment-name-required": "Le nom du déploiement est requis.", + "set": "Définir", + "region": "Région", + "region-required": "La région est requise.", + "access-key-id": "ID de la clé d'accès", + "access-key-id-required": "L'ID de la clé d'accès est requis.", + "secret-access-key": "Clé d'accès secrète", + "secret-access-key-required": "La clé d'accès secrète est requise.", + "temperature": "Température", + "temperature-hint": "Ajuste le niveau d'aléatoire dans la sortie du modèle. Des valeurs plus élevées augmentent l'aléatoire, tandis que des valeurs plus faibles la réduisent.", + "temperature-min": "Doit être supérieur ou égal à 0.", + "top-p": "Top P", + "top-p-hint": "Crée un ensemble des jetons les plus probables pour que le modèle puisse choisir. Des valeurs plus élevées créent un ensemble plus large et diversifié, tandis que des valeurs plus faibles le réduisent.", + "top-p-min-max": "Doit être supérieur à 0 et inférieur ou égal à 1.", + "top-k": "Top K", + "top-k-hint": "Limite les choix du modèle à un ensemble fixe des \"K\" jetons les plus probables.", + "top-k-min": "Doit être supérieur ou égal à 0.", + "presence-penalty": "Pénalité de présence", + "presence-penalty-hint": "Applique une pénalité fixe à la probabilité d’un jeton s’il est déjà apparu dans le texte.", + "frequency-penalty": "Pénalité de fréquence", + "frequency-penalty-hint": "Applique une pénalité à la probabilité d’un jeton qui augmente avec sa fréquence dans le texte.", + "max-output-tokens": "Nombre maximum de jetons en sortie", + "max-output-tokens-min": "Doit être supérieur à 0.", + "max-output-tokens-hint": "Définit le nombre maximal de jetons que le modèle peut générer en une seule réponse.", + "endpoint": "Point de terminaison", + "endpoint-required": "Le point de terminaison est requis.", + "service-version": "Version du service", + "check-connectivity": "Vérifier la connectivité", + "check-connectivity-success": "La requête de test a réussi", + "check-connectivity-failed": "La requête de test a échoué", + "no-model-matching": "Aucun modèle correspondant à '{{entity}}' trouvé.", + "model-required": "Le modèle est requis.", + "no-model-text": "Aucun modèle trouvé." + }, "confirm-on-exit": { "message": "Vous avez des modifications non enregistrées. Êtes-vous sûr de vouloir quitter cette page ?", "html-message": "Vous avez des modifications non enregistrées.
Êtes-vous sûr de vouloir quitter cette page ?", @@ -1753,7 +1844,8 @@ "step": "Pas", "selected-options-limit": "Limite d'options sélectionnées", "advanced-ui-settings": "Paramètres UI avancés", - "disable-on-property": "Désactiver en fonction de la propriété", + "disable-on-property": "Désactiver selon la propriété", + "disable-on-property-none": "Aucune (champ toujours activé)", "display-condition-function": "Fonction de condition d'affichage", "sub-label": "Sous-étiquette", "vertical-divider-after": "Séparateur vertical après", @@ -1787,7 +1879,8 @@ "array-item": "Élément du tableau", "item-type": "Type d'élément", "item-name": "Nom de l'élément", - "no-items": "Aucun élément" + "no-items": "Aucun élément", + "support-unit-conversion": "Prise en charge de la conversion d'unités" }, "clear-form": "Effacer le formulaire", "clear-form-prompt": "Êtes-vous sûr de vouloir supprimer toutes les propriétés du formulaire ?", @@ -1911,6 +2004,7 @@ "mqtt-use-json-format-for-default-downlink-topics-hint": "Utilise JSON pour les sujets : v1/devices/me/attributes/response/$request_id, etc. Ne s'applique pas aux sujets v2.", "mqtt-send-ack-on-validation-exception": "Envoyer PUBACK en cas d'échec de validation", "mqtt-send-ack-on-validation-exception-hint": "Par défaut, la session MQTT est fermée sur erreur. Si activé, envoie un accusé de réception PUBACK à la place.", + "mqtt-protocol-version": "Version du protocole", "snmp-add-mapping": "Ajouter un mappage SNMP", "snmp-mapping-not-configured": "Aucun mappage OID vers série temporelle ou attribut configuré", "snmp-timseries-or-attribute-name": "Nom de série temporelle/attribut pour le mappage", @@ -2171,6 +2265,9 @@ "add-lwm2m-server-config": "Ajouter un serveur LwM2M", "no-config-servers": "Aucun serveur configuré", "others-tab": "Autres paramètres", + "ota-update": "Mise à jour OTA", + "use-object-19-for-ota-update": "Utiliser l'objet 19 pour les métadonnées de fichier OTA (checksum, taille, version, nom)", + "use-object-19-for-ota-update-hint": "Utiliser l'objet ressource avec ObjectId = 19 pour les mises à jour OTA : FirmWare → InstanceId = 65534, SoftWare → InstanceId = 65535. Le format des données est du JSON encodé en Base64. Ce JSON contient les métadonnées du fichier OTA : \"Checksum\" (SHA256). Champs supplémentaires : \"Title\" (nom de la mise à jour OTA), \"Version\" (version OTA), \"File Name\" (nom du fichier pour le stockage OTA côté client), \"File Size\" (taille OTA en octets).", "client-strategy": "Stratégie client lors de la connexion", "client-strategy-label": "Stratégie", "client-strategy-only-observe": "Envoyer uniquement la requête d’observation après connexion initiale", @@ -2201,7 +2298,17 @@ "default-object-id": "Version par défaut de l'objet (Attribut)", "default-object-id-ver": { "v1-0": "1.0", - "v1-1": "1.1" + "v1-1": "1.1", + "v1-2": "1.2" + }, + "observe-strategy": { + "observe-strategy": "Stratégie d'observation", + "single": "Unique", + "single-description": "Une requête Observe par ressource (plus grande précision, plus de trafic réseau)", + "composite-all": "Composé - tout", + "composite-all-description": "Toutes les ressources sont observées avec une seule requête Composite Observe (plus efficace, moins flexible)", + "composite-by-object": "Composé par objets", + "composite-by-object-description": "Les ressources sont regroupées par type d'objet et observées via des requêtes Composite Observe distinctes (approche équilibrée)" } }, "snmp": { @@ -2524,6 +2631,8 @@ "type-current-user-owner": "Propriétaire utilisateur actuel", "type-calculated-field": "Champ calculé", "type-calculated-fields": "Champs calculés", + "type-ai-model": "Modèle IA", + "type-ai-models": "Modèles IA", "type-widgets-bundle": "Pack de widgets", "type-widgets-bundles": "Packs de widgets", "list-of-widgets-bundles": "{ count, plural, =1 {Un pack de widgets} other {Liste de # packs de widgets} }", @@ -2553,6 +2662,8 @@ "type-tb-resources": "Ressources", "list-of-tb-resources": "{ count, plural, =1 {Une ressource} other {Liste de # ressources} }", "type-ota-package": "Paquet OTA", + "type-ota-packages": "Packages OTA", + "list-of-ota-packages": "{ count, plural, =1 {Un package OTA} other {Liste de # packages OTA} }", "type-rpc": "RPC", "type-queue": "File d'attente", "type-queue-stats": "Statistiques de file d'attente", @@ -2938,6 +3049,7 @@ "missing-key-filters-error": "Les filtres clés sont manquants pour le filtre '{{filter}}'.", "filter": "Filtre", "editable": "Éditable", + "editable-hint": "Autoriser l'utilisateur à modifier la valeur du filtre dans les tableaux de bord.", "no-filters-found": "Aucun filtre trouvé.", "no-filter-text": "Aucun filtre spécifié", "add-filter-prompt": "Veuillez ajouter un filtre", @@ -2977,6 +3089,8 @@ "filter-user-params": "Paramètres utilisateur du prédicat du filtre", "user-parameters": "Paramètres utilisateur", "display-label": "Libellé à afficher", + "custom-label": "Libellé personnalisé", + "custom-label-hint": "Activer pour définir votre propre étiquette pour le filtre. Si désactivé, une étiquette sera générée automatiquement.", "order-priority": "Priorité d'ordre des champs", "key-filter": "Filtre par clé", "key-filters": "Filtres par clé", @@ -3021,7 +3135,8 @@ "switch-to-dynamic-value": "Basculer vers la valeur dynamique", "switch-to-default-value": "Basculer vers la valeur par défaut", "inherit-owner": "Hériter du propriétaire", - "source-attribute-not-set": "Si l'attribut source n'est pas défini" + "source-attribute-not-set": "Si l'attribut source n'est pas défini", + "unit": "Unité" }, "fullscreen": { "expand": "Agrandir en plein écran", @@ -3406,6 +3521,7 @@ "power-button-background": "Arrière-plan du bouton de mise sous tension", "value-box-background": "Arrière-plan de la boîte de valeur", "value-units": "Unités de valeur", + "enable-units-scale": "Activer les unités sur l'échelle", "filtration-mode": "Mode de filtration", "filtration-mode-hint": "Valeur entière indiquant le mode de filtration actuel.", "filtration-mode-update": "État de mise à jour du mode de filtration", @@ -3718,10 +3834,12 @@ "min-version": "Version minimale", "invalid-version-pattern": "Format de version invalide. Veuillez utiliser le format : majeur.mineur.correctif (ex. : 1.0.0).", "mobile-center": "Centre mobile", - "mobile-package": "Paquet de l'application", - "mobile-package-max-length": "Le paquet de l'application doit contenir moins de 256 caractères", - "mobile-package-required": "Le paquet de l'application est requis.", - "mobile-package-pattern": "Format du paquet de l'application invalide", + "mobile-package": "Package de l'application", + "mobile-package-max-length": "Le package de l'application doit contenir moins de 256 caractères", + "mobile-package-required": "Le package de l'application est requis.", + "mobile-package-pattern": "Format du package de l'application invalide", + "mobile-package-title": "Titre de l'application", + "mobile-package-title-max-length": "Le titre de l'application doit contenir moins de 256 caractères", "no-application": "Aucune application trouvée", "no-bundles": "Aucun bundle trouvé", "platform-type": "Type de plateforme", @@ -3805,17 +3923,13 @@ "prepare-environment-text": "L'application mobile Flutter ThingsBoard nécessite le SDK Flutter. Suivez les instructions pour configurer le SDK Flutter.", "get-source-code-title": "Obtenir le code source de l'application", "get-source-code-text": "Vous pouvez obtenir le code source de l'application mobile Flutter ThingsBoard en le clonant depuis le dépôt GitHub :", - "configure-api-title": "Configurer le point de terminaison de l'API ThingsBoard", - "configure-api-text": "Ouvrez le projet flutter_thingsboard_pe_app dans votre éditeur/IDE. Modifiez :", - "configure-api-hint": "Définissez la valeur de la constante thingsBoardApiEndpoint pour correspondre au point de terminaison API de votre instance ThingsBoard. N'utilisez pas les noms d'hôte “localhost” ou “127.0.0.1”.", - "run-app-title": "Lancer l'application", - "run-app-text": "Lancez l'application comme décrit dans votre IDE.\nSi vous utilisez le terminal, exécutez l'application avec la commande suivante :", + "configure-app-settings-title": "Configurer les paramètres de l'application", + "configure-app-settings-text": "Téléchargez le fichier de configuration et placez-le dans le répertoire racine du projet que vous avez cloné à l'étape précédente.", + "download-file": "Télécharger le fichier", + "run-app-title": "Exécuter l'application", + "run-app-text": "Exécutez l'application comme décrit dans votre IDE.\nSi vous utilisez le terminal, exécutez l'application avec la commande suivante :", "more-information": "Des informations détaillées sont disponibles dans notre documentation de démarrage.", - "getting-started": "Commencer", - "configure-package-title": "Configurer le paquet de l'application", - "configure-package-text": "Vous pouvez modifier manuellement le paquet de l'application ou utiliser un outil CLI tiers.", - "configure-package-text-install": "Pour installer l'outil Rename CLI, exécutez la commande suivante :", - "configure-package-run-commands": "Exécutez ces commandes dans le répertoire racine de votre projet :" + "getting-started": "Démarrage" } }, "notification": { @@ -3839,6 +3953,7 @@ "new-platform-version-trigger-settings": "Paramètres du déclencheur de nouvelle version de la plateforme", "rate-limits-trigger-settings": "Paramètres du déclencheur de dépassement de limites", "task-processing-failure-trigger-settings": "Paramètres du déclencheur d'échec du traitement de tâche", + "resources-shortage-trigger-settings": "Paramètres de déclenchement de pénurie de ressources", "at-least-one-should-be-selected": "Au moins un élément doit être sélectionné", "basic-settings": "Paramètres de base", "button-text": "Texte du bouton", @@ -3853,6 +3968,7 @@ "create-new": "Créer nouveau", "created": "Créé", "customize-messages": "Personnaliser les messages", + "cpu-threshold": "Seuil CPU", "delete-notification-text": "Attention, après confirmation, la notification sera irrécupérable.", "delete-notification-title": "Êtes-vous sûr de vouloir supprimer la notification ?", "delete-notifications-text": "Attention, après confirmation, les notifications seront irrécupérables.", @@ -3919,6 +4035,7 @@ "input-fields-support-templatization": "Les champs de saisie prennent en charge la templatisation.", "link": "Lien", "link-required": "Le lien est requis", + "link-max-length": "Le lien doit comporter au maximum {{ length }} caractères", "link-type": { "dashboard": "Ouvrir le tableau de bord", "link": "Ouvrir un lien URL" @@ -3945,6 +4062,7 @@ "no-severity-found": "Aucune sévérité trouvée", "no-severity-matching": "'{{severity}}' introuvable.", "no-template-matching": "Aucune ressource correspondant à '{{template}}' trouvée.", + "create-new-template": "Créer un nouveau modèle !", "not-found-slack-recipient": "Destinataire Slack introuvable", "notification": "Notification", "notification-center": "Centre de notifications", @@ -3968,6 +4086,7 @@ "only-rule-chain-lifecycle-failures": "Uniquement les échecs de cycle de vie de chaîne de règles", "only-rule-node-lifecycle-failures": "Uniquement les échecs de cycle de vie de nœud de règles", "platform-users": "Utilisateurs de la plateforme", + "ram-threshold": "Seuil RAM", "rate-limits": "Limites de taux", "rate-limits-hint": "Si le champ est vide, le déclencheur s’appliquera à toutes les limites de taux", "recipient": "Destinataire", @@ -4033,6 +4152,7 @@ "start-from-scratch": "Commencer de zéro", "status": "Statut", "stop-escalation-alarm-status-become": "Arrêter l'escalade lorsque le statut de l'alarme devient :", + "storage-threshold": "Seuil de stockage", "subject": "Sujet", "subject-required": "Le sujet est requis", "subject-max-length": "Le sujet doit contenir au maximum {{ length }} caractères", @@ -4051,10 +4171,11 @@ "rule-engine-lifecycle-event": "Événement du cycle de vie du moteur de règles", "rule-node": "Nœud de règle", "new-platform-version": "Nouvelle version de la plateforme", - "rate-limits": "Limites de taux dépassées", - "edge-communication-failure": "Échec de communication avec l'Edge", + "rate-limits": "Limites de débit dépassées", + "edge-communication-failure": "Échec de communication Edge", "edge-connection": "Connexion Edge", - "task-processing-failure": "Échec de traitement de tâche" + "task-processing-failure": "Échec du traitement de la tâche", + "resources-shortage": "Pénurie de ressources" }, "templates": "Modèles", "notification-templates": "Notifications / Modèles", @@ -4074,10 +4195,11 @@ "entity-action": "Action sur l'entité", "rule-engine-lifecycle-event": "Événement du cycle de vie du moteur de règles", "new-platform-version": "Nouvelle version de la plateforme", - "rate-limits": "Limites de taux dépassées", + "rate-limits": "Limites de débit dépassées", "edge-connection": "Connexion Edge", - "edge-communication-failure": "Échec de communication avec l'Edge", - "task-processing-failure": "Échec de traitement de tâche", + "edge-communication-failure": "Échec de communication Edge", + "task-processing-failure": "Échec du traitement de la tâche", + "resources-shortage": "Pénurie de ressources", "trigger": "Déclencheur", "trigger-required": "Le déclencheur est requis" }, @@ -4119,6 +4241,7 @@ "checksum-copied-message": "La somme de contrôle du paquet a été copiée dans le presse-papiers", "change-firmware": "Changer le micrologiciel peut entraîner la mise à jour de { count, plural, =1 {1 appareil} other {# appareils} }.", "change-software": "Changer le logiciel peut entraîner la mise à jour de { count, plural, =1 {1 appareil} other {# appareils} }.", + "change-ota-setting-title": "Êtes-vous sûr de vouloir modifier les paramètres OTA ?", "chose-compatible-device-profile": "Le paquet téléchargé ne sera disponible que pour les appareils ayant le profil choisi.", "chose-firmware-distributed-device": "Choisissez le micrologiciel à distribuer aux appareils", "chose-software-distributed-device": "Choisissez le logiciel à distribuer aux appareils", @@ -4314,6 +4437,7 @@ "add-relation-filter": "Ajouter un filtre de relation", "any-relation": "Toute relation", "relation-filters": "Filtres de relation", + "relation-filter": "Filtre de relation", "additional-info": "Infos supplémentaires (JSON)", "invalid-additional-info": "Impossible d'analyser le JSON des infos supplémentaires.", "no-relations-text": "Aucune relation trouvée", @@ -5174,12 +5298,12 @@ "skip-empty-fields-tooltip": "Les champs vides ne seront pas ajoutés au message de sortie ou aux métadonnées de sortie.", "fetch-interval": "Intervalle de récupération", "fetch-strategy": "Stratégie de récupération", - "fetch-timeseries-from-to": "Récupérer les séries temporelles de {{startInterval}} {{startIntervalTimeUnit}} à {{endInterval}} {{endIntervalTimeUnit}}.", - "fetch-timeseries-from-to-invalid": "Récupération des séries invalide (« Début de l'intervalle » doit être inférieur à « Fin de l'intervalle »).", - "use-metadata-dynamic-interval-tooltip": "Utilise un intervalle dynamique basé sur le message et les métadonnées si activé.", - "all-mode-hint": "En mode « Tout », récupère la télémétrie selon l'intervalle et les paramètres définis.", - "first-mode-hint": "Récupère la télémétrie la plus proche du début de l'intervalle.", - "last-mode-hint": "Récupère la télémétrie la plus proche de la fin de l'intervalle.", + "fetch-timeseries-from-to": "Récupérer les séries temporelles de {{startInterval}} {{startIntervalTimeUnit}} en arrière jusqu'à {{endInterval}} {{endIntervalTimeUnit}} en arrière.", + "fetch-timeseries-from-to-invalid": "Récupération des séries temporelles invalide (\"Début de l'intervalle\" doit être inférieur à \"Fin de l'intervalle\").", + "use-metadata-dynamic-interval-tooltip": "Si cette option est sélectionnée, le nœud de règle utilisera un intervalle dynamique basé sur le message et les modèles de métadonnées.", + "all-mode-hint": "Si le mode de récupération \"Tout\" est sélectionné, le nœud de règle récupérera la télémétrie de l'intervalle de récupération avec des paramètres de requête configurables.", + "first-mode-hint": "Si le mode de récupération \"Premier\" est sélectionné, le nœud de règle récupérera la télémétrie la plus proche du début de l'intervalle.", + "last-mode-hint": "Si le mode de récupération \"Dernier\" est sélectionné, le nœud de règle récupérera la télémétrie la plus proche de la fin de l'intervalle.", "ascending": "Croissant", "descending": "Décroissant", "min": "Minimum", @@ -5304,6 +5428,36 @@ "html-text-description": "Permet d'utiliser des balises HTML pour la mise en forme, les liens et les images dans le corps du message.", "dynamic-text-description": "Permet d'utiliser dynamiquement le texte brut ou HTML selon le modèle.", "after-template-evaluation-hint": "Après évaluation du modèle, la valeur doit être true pour HTML, et false pour Texte brut." + }, + "ai": { + "ai-model": "Modèle IA", + "model": "Modèle", + "ai-model-hint": "Sélectionnez le modèle IA préconfiguré pour traiter les requêtes envoyées par ce nœud de règle, ou utilisez \"Créer un nouveau\" pour en configurer un nouveau.", + "prompt-settings": "Paramètres de prompt", + "prompt-settings-hint": "Le prompt système optionnel définit le rôle général et les contraintes de l'IA, tandis que le prompt utilisateur précise la tâche à exécuter. Les deux champs prennent en charge la modélisation par modèle (templatization).", + "system-prompt": "Prompt système", + "system-prompt-max-length": "Le prompt système doit comporter 10 000 caractères ou moins.", + "system-prompt-blank": "Le prompt système ne doit pas être vide.", + "user-prompt": "Prompt utilisateur", + "user-prompt-required": "Le prompt utilisateur est requis.", + "user-prompt-max-length": "Le prompt utilisateur doit comporter 10 000 caractères ou moins.", + "user-prompt-blank": "Le prompt utilisateur ne doit pas être vide.", + "response-format": "Format de réponse", + "response-text": "Texte", + "response-json": "JSON", + "response-json-schema": "Schéma JSON", + "response-format-hint-TEXT": "Permet au modèle de générer un texte libre, qui peut ou non être un objet JSON valide. Si la sortie n’est pas un objet JSON valide, elle sera automatiquement encapsulée dans un objet JSON sous la clé \"response\".", + "response-format-hint-JSON": "Le modèle doit générer une réponse sous forme de JSON valide. Si la sortie n’est pas un objet JSON valide, elle sera automatiquement encapsulée dans un objet JSON sous la clé \"response\".", + "response-format-hint-JSON_SCHEMA": "Le modèle doit générer un JSON conforme à la structure et aux types de données définis dans le schéma fourni. Si la sortie n’est pas un objet JSON valide, elle sera automatiquement encapsulée dans un objet JSON sous la clé \"response\".", + "response-json-schema-hint": "Bien que tout schéma JSON valide puisse être saisi, ce nœud de règle ne prend en charge qu’un sous-ensemble limité de ses fonctionnalités. Consultez la documentation du nœud pour plus de détails.", + "response-json-schema-required": "Le schéma JSON est requis", + "advanced-settings": "Paramètres avancés", + "timeout": "Délai d'attente", + "timeout-hint": "Temps maximal d’attente d’une réponse \nde la part du modèle IA avant l’arrêt de la requête.", + "timeout-required": "Le délai d'attente est requis", + "timeout-validation": "Doit être compris entre 1 seconde et 10 minutes.", + "force-acknowledgement": "Forcer l’accusé de réception", + "force-acknowledgement-hint": "Si activé, le message entrant est accusé immédiatement. La réponse du modèle est ensuite mise en file d’attente comme un nouveau message distinct." } }, "timezone": { @@ -5625,7 +5779,10 @@ "too-small-value-zero": "La valeur doit être supérieure à 0", "too-small-value-one": "La valeur doit être supérieure à 1", "queue-size-is-limited-by-system-configuration": "La taille de la file d’attente est également limitée par la configuration système.", - "cassandra-tenant-limits-configuration": "Requête Cassandra pour le locataire", + "cassandra-write-tenant-core-limits-configuration": "Requêtes d’écriture Cassandra via l’API REST", + "cassandra-read-tenant-core-limits-configuration": "Requêtes de lecture Cassandra via l’API REST et WS (télémétrie)", + "cassandra-write-tenant-rule-engine-limits-configuration": "Requêtes d’écriture Cassandra du moteur de règles (télémétrie)", + "cassandra-read-tenant-rule-engine-limits-configuration": "Requêtes de lecture Cassandra du moteur de règles (télémétrie)", "ws-limit-max-sessions-per-tenant": "Nombre maximal de sessions par locataire", "ws-limit-max-sessions-per-customer": "Nombre maximal de sessions par client", "ws-limit-max-sessions-per-regular-user": "Nombre maximal de sessions par utilisateur régulier", @@ -5638,26 +5795,30 @@ "ws-limit-updates-per-session": "Mises à jour WS par session", "rate-limits": { "add-limit": "Ajouter une limite", + "and-also-less-than": "et aussi inférieur à", "advanced-settings": "Paramètres avancés", "edit-limit": "Modifier la limite", "calculated-field-debug-event-rate-limit": "Événements de débogage des champs calculés", - "edit-calculated-field-debug-event-rate-limit": "Modifier la limite des événements de débogage de champ calculé", - "edit-transport-tenant-msg-title": "Modifier les limites de messages de transport du locataire", - "edit-transport-tenant-telemetry-msg-title": "Modifier les limites des messages de télémétrie du locataire", - "edit-transport-tenant-telemetry-data-points-title": "Modifier les limites des points de données de télémétrie du locataire", - "edit-transport-device-msg-title": "Modifier les limites des messages de l’appareil", - "edit-transport-device-telemetry-msg-title": "Modifier les limites des messages de télémétrie de l’appareil", - "edit-transport-device-telemetry-data-points-title": "Modifier les limites des points de données de télémétrie de l’appareil", - "edit-transport-gateway-msg-title": "Modifier les limites des messages de la passerelle", - "edit-transport-gateway-telemetry-msg-title": "Modifier les limites des messages de télémétrie de la passerelle", - "edit-transport-gateway-telemetry-data-points-title": "Modifier les limites des points de données de télémétrie de la passerelle", - "edit-transport-gateway-device-msg-title": "Modifier les limites des messages des appareils de la passerelle", - "edit-transport-gateway-device-telemetry-msg-title": "Modifier les limites des messages de télémétrie des appareils de la passerelle", - "edit-transport-gateway-device-telemetry-data-points-title": "Modifier les limites des points de données de télémétrie des appareils de la passerelle", - "edit-tenant-rest-limits-title": "Modifier les limites des requêtes REST du locataire", - "edit-customer-rest-limits-title": "Modifier les limites des requêtes REST du client", - "edit-ws-limit-updates-per-session-title": "Modifier les limites des mises à jour WS par session", - "edit-cassandra-tenant-limits-configuration-title": "Modifier les limites des requêtes Cassandra du locataire", + "edit-calculated-field-debug-event-rate-limit": "Modifier les limites de débit des événements de débogage des champs calculés", + "edit-transport-tenant-msg-title": "Modifier les limites de débit des messages transport du locataire", + "edit-transport-tenant-telemetry-msg-title": "Modifier les limites de débit des messages de télémétrie transport du locataire", + "edit-transport-tenant-telemetry-data-points-title": "Modifier les limites de débit des points de données de télémétrie transport du locataire", + "edit-transport-device-msg-title": "Modifier les limites de débit des messages transport de l'appareil", + "edit-transport-device-telemetry-msg-title": "Modifier les limites de débit des messages de télémétrie transport de l'appareil", + "edit-transport-device-telemetry-data-points-title": "Modifier les limites de débit des points de données de télémétrie transport de l'appareil", + "edit-transport-gateway-msg-title": "Modifier les limites de débit des messages transport de la passerelle", + "edit-transport-gateway-telemetry-msg-title": "Modifier les limites de débit des messages de télémétrie transport de la passerelle", + "edit-transport-gateway-telemetry-data-points-title": "Modifier les limites de débit des points de données de télémétrie transport de la passerelle", + "edit-transport-gateway-device-msg-title": "Modifier les limites de débit des messages transport des appareils de la passerelle", + "edit-transport-gateway-device-telemetry-msg-title": "Modifier les limites de débit des messages de télémétrie transport des appareils de la passerelle", + "edit-transport-gateway-device-telemetry-data-points-title": "Modifier les limites de débit des points de données de télémétrie transport des appareils de la passerelle", + "edit-tenant-rest-limits-title": "Modifier les limites de débit des requêtes REST du locataire", + "edit-customer-rest-limits-title": "Modifier les limites de débit des requêtes REST du client", + "edit-ws-limit-updates-per-session-title": "Modifier les limites de débit des mises à jour WS par session", + "edit-cassandra-write-tenant-core-limits-configuration": "Modifier les requêtes d’écriture Cassandra via l’API REST", + "edit-cassandra-read-tenant-core-limits-configuration": "Modifier les requêtes de lecture Cassandra via l’API REST et WS (télémétrie)", + "edit-cassandra-write-tenant-rule-engine-limits-configuration": "Modifier les requêtes d’écriture Cassandra du moteur de règles (télémétrie)", + "edit-cassandra-read-tenant-rule-engine-limits-configuration": "Modifier les requêtes de lecture Cassandra du moteur de règles (télémétrie)", "edit-tenant-entity-export-rate-limit-title": "Modifier les limites de création de version d’entité", "edit-tenant-entity-import-rate-limit-title": "Modifier les limites de chargement de version d’entité", "edit-tenant-notification-request-rate-limit-title": "Modifier les limites des requêtes de notification", @@ -5679,6 +5840,7 @@ "per-seconds": "Par secondes", "per-seconds-required": "La durée est requise.", "per-seconds-min": "La valeur minimale est 1.", + "per-seconds-duplicate": "Taux de temps en double. Chaque intervalle de temps doit être unique.", "rate-limits": "Limites de débit", "remove-limit": "Supprimer la limite", "transport-tenant-msg": "Messages de transport du locataire", @@ -5768,11 +5930,11 @@ "sec": "{{ sec }} sec", "sec-short": "{{ sec }}s", "short": { - "years": "{ years, plural, =1 {1 année } other {# années } }", + "years": "{ years, plural, =1 {1 an } other {# ans } }", "days": "{ days, plural, =1 {1 jour } other {# jours } }", "hours": "{ hours, plural, =1 {1 heure } other {# heures } }", - "minutes": "{{minutes}} min", - "seconds": "{{seconds}} sec" + "minutes": "{{minutes}} min ", + "seconds": "{{seconds}} sec " }, "realtime": "Temps réel", "history": "Historique", @@ -5826,13 +5988,125 @@ "value": "Valeur", "date": "Date", "show-date-time-interval": "Afficher l’intervalle date/heure", - "show-date-time-interval-hint": "Afficher l’intervalle date/heure selon l’agrégation des données.", + "show-date-time-interval-hint": "Afficher l’intervalle date/heure en fonction de l’agrégation des données.", + "hide-zero-tooltip-values": "Masquer les valeurs nulles", "background-color": "Couleur d’arrière-plan", "background-blur": "Flou d’arrière-plan" }, "unit": { + "set-unit-conversion": "Définir la conversion d’unités", + "unit-settings": { + "unit-settings": "Paramètres d’unité", + "source-unit": "Unité source", + "source-unit-hint": "Il s’agit de l’unité de la valeur stockée. L’unité à partir de laquelle vous effectuez la conversion. Entrez le symbole utilisé par vos données sources (ex. : m, km, ft, in).", + "target-metric-unit": "Unité métrique cible", + "target-metric-unit-hint": "Choisissez l’unité métrique (SI) vers laquelle vous souhaitez convertir votre valeur source (ex. : cm, mm, km).", + "target-imperial-unit": "Unité impériale cible", + "target-imperial-unit-hint": "Choisissez l’unité impériale vers laquelle vous souhaitez convertir votre valeur source (ex. : in, ft, yd).", + "target-hybrid-unit": "Unité hybride cible", + "target-hybrid-unit-hint": "Choisissez l’unité hybride vers laquelle vous souhaitez convertir votre valeur source (ex. : cm, in, km). Les unités hybrides combinent des unités métriques ou impériales.", + "enable-unit-conversion": "Activer la conversion d’unités", + "enable-unit-conversion-hint": "Activez cette option pour appliquer la conversion. Si désactivée, votre valeur source sera transmise sans modification. Désactivée s’il n’existe qu’une seule unité dans le groupe de mesure correspondant (ex. : flux lumineux, AQI)." + }, + "unit-system": "Système d’unités", + "unit-system-type": { + "AUTO": "Auto", + "METRIC": "Métrique", + "IMPERIAL": "Impérial", + "HYBRID": "Hybride" + }, + "measures": { + "absorbed-dose-rate": "Débit de dose absorbée", + "acceleration": "Accélération", + "acidity": "Acidité", + "air-quality-index": "Indice de qualité de l’air", + "amount-of-substance": "Quantité de matière", + "angle": "Angle", + "angular-acceleration": "Accélération angulaire", + "area": "Surface", + "area-density": "Densité surfacique", + "capacitance": "Capacité électrique", + "catalytic-activity": "Activité catalytique", + "catalytic-concentration": "Concentration catalytique", + "charge": "Charge", + "current-density": "Densité de courant", + "data-transfer-rate": "Débit de transfert de données", + "density": "Densité", + "digital": "Numérique", + "dimension-ratio": "Rapport de dimensions", + "dynamic-viscosity": "Viscosité dynamique", + "earthquake-magnitude": "Magnitude sismique", + "electric-charge-density": "Densité de charge électrique", + "electric-current": "Courant électrique", + "electric-dipole-moment": "Moment dipolaire électrique", + "electric-field-strength": "Intensité du champ électrique", + "electric-flux": "Flux électrique", + "electric-permittivity": "Permittivité électrique", + "electric-polarizability": "Polarisabilité électrique", + "electrical-conductance": "Conductance électrique", + "electrical-conductivity": "Conductivité électrique", + "energy": "Énergie", + "energy-density": "Densité d’énergie", + "force": "Force", + "frequency": "Fréquence", + "fuel-efficiency": "Rendement énergétique", + "heat-capacity": "Capacité thermique", + "illuminance": "Éclairement lumineux", + "inductance": "Inductance", + "kinematic-viscosity": "Viscosité cinématique", + "length": "Longueur", + "light-exposure": "Exposition lumineuse", + "linear-charge-density": "Densité linéique de charge", + "logarithmic-ratio": "Rapport logarithmique", + "luminous-efficacy": "Efficacité lumineuse", + "luminous-flux": "Flux lumineux", + "luminous-intensity": "Intensité lumineuse", + "magnetic-field-gradient": "Gradient de champ magnétique", + "magnetic-flux": "Flux magnétique", + "magnetic-flux-density": "Induction magnétique", + "magnetic-moment": "Moment magnétique", + "magnetic-permeability": "Perméabilité magnétique", + "mass": "Masse", + "mass-fraction": "Fraction massique", + "molar-concentration": "Concentration molaire", + "molar-energy": "Énergie molaire", + "molar-heat-capacity": "Capacité thermique molaire", + "molar-mass": "Masse molaire", + "number-concentration": "Concentration numérique", + "parts-per-million": "Parties par million", + "power": "Puissance", + "power-density": "Densité de puissance", + "pressure": "Pression", + "radiance": "Radiance", + "radiant-intensity": "Intensité de rayonnement", + "radiation-dose": "Dose de rayonnement", + "radioactive-decay": "Désintégration radioactive", + "radioactivity": "Radioactivité", + "radioactivity-concentration": "Concentration radioactive", + "reciprocal-length": "Longueur réciproque", + "resistance": "Résistance", + "reynolds-number": "Nombre de Reynolds", + "signal-level": "Niveau du signal", + "solid-angle": "Angle solide", + "specific-energy": "Énergie spécifique", + "specific-heat-capacity": "Capacité thermique spécifique", + "specific-humidity": "Humidité spécifique", + "specific-volume": "Volume spécifique", + "speed": "Vitesse", + "surface-charge-density": "Densité de charge surfacique", + "surface-tension": "Tension superficielle", + "temperature": "Température", + "thermal-conductivity": "Conductivité thermique", + "time": "Temps", + "torque": "Couple", + "turbidity": "Turbidité", + "voltage": "Tension", + "volume": "Volume", + "volume-flow": "Débit volumique" + }, "millimeter": "Millimètre", "centimeter": "Centimètre", + "decimeter": "Décimètre", "angstrom": "Angström", "nanometer": "Nanomètre", "micrometer": "Micromètre", @@ -5840,6 +6114,7 @@ "kilometer": "Kilomètre", "inch": "Pouce", "foot": "Pied", + "foot-us": "Pied (US survey)", "yard": "Yard", "mile": "Mille", "nautical-mile": "Mille nautique", @@ -5886,6 +6161,7 @@ "cubic-foot": "Pied cube", "cubic-yard": "Yard cube", "fluid-ounce": "Once liquide", + "fluid-ounce-per-second": "Once liquide par seconde", "pint": "Pinte", "quart": "Quart", "gallon": "Gallon", @@ -5904,9 +6180,13 @@ "meter-per-second": "Mètre par seconde", "kilometer-per-hour": "Kilomètre par heure", "foot-per-second": "Pied par seconde", + "foot-per-minute": "Pied par minute", "mile-per-hour": "Mille par heure", "knot": "Nœud", + "inch-per-second": "Pouce par seconde", + "inch-per-hour": "Pouce par heure", "millimeters-per-minute": "Millimètres par minute", + "meter-per-minute": "Mètre par minute", "kilometer-per-hour-squared": "Kilomètre par heure carrée", "foot-per-second-squared": "Pied par seconde carrée", "pascal": "Pascal", @@ -5923,6 +6203,7 @@ "newton-per-meter": "Newton par mètre", "atmospheres": "Atmosphères", "pounds-per-square-inch": "Livres par pouce carré", + "kilopound-per-square-inch": "Kilolivre par pouce carré", "torr": "Torr", "inches-of-mercury": "Pouces de mercure", "pascal-per-square-meter": "Pascal par mètre carré", @@ -5940,10 +6221,16 @@ "megajoule": "Mégajoule", "gigajoule": "Gigajoule", "watt-hour": "Watt-heure", + "watt-minute": "Watt-minute", "kilowatt-hour": "Kilowatt-heure", - "electron-volts": "Électronvolt", + "milliwatt-hour": "Milliwatt-heure", + "megawatt-hour": "Mégawatt-heure", + "gigawatt-hour": "Gigawatt-heure", + "electron-volts": "Électron-volt", "joules-per-coulomb": "Joules par coulomb", - "british-thermal-unit": "British Thermal Unit", + "british-thermal-unit": "Unité thermique britannique", + "thousand-british-thermal-unit": "Mille unités thermiques britanniques", + "million-british-thermal-unit": "Million d’unités thermiques britanniques", "foot-pound": "Pied-livre", "calorie": "Calorie", "small-calorie": "Petite calorie", @@ -5974,10 +6261,20 @@ "watt-per-square-inch": "Watt par pouce carré", "kilowatt-per-square-inch": "Kilowatt par pouce carré", "horsepower": "Cheval-vapeur", - "btu-per-hour": "BTU/heure", + "btu-per-hour": "Unités thermiques britanniques par heure", + "btu-per-second": "Unités thermiques britanniques par seconde", + "btu-per-day": "Unités thermiques britanniques par jour", + "mbtu-per-hour": "Mille unités thermiques britanniques par heure", + "mbtu-per-second": "Mille unités thermiques britanniques par seconde", + "mbtu-per-day": "Mille unités thermiques britanniques par jour", + "mmbtu-per-hour": "Million d’unités thermiques britanniques par heure", + "mmbtu-per-second": "Million d’unités thermiques britanniques par seconde", + "mmbtu-per-day": "Million d’unités thermiques britanniques par jour", + "foot-pound-per-second": "Pied-livre par seconde", "coulomb": "Coulomb", "millicoulomb": "Millicoulomb", "microcoulomb": "Microcoulomb", + "nanocoulomb": "Nanocoulomb", "picocoulomb": "Picocoulomb", "coulomb-per-meter": "Coulomb par mètre", "coulomb-per-cubic-meter": "Coulomb par mètre cube", @@ -5996,25 +6293,32 @@ "barn": "Barn", "circular-inch": "Pouce circulaire", "milliampere-hour": "Milliampère-heure", - "ampere-hours": "Ampères-heures", - "kiloampere-hours": "Kiloampères-heures", + "ampere-hours": "Ampère-heure", + "kiloampere-hours": "Kiloampère-heure", "nanoampere": "Nanoampère", "picoampere": "Picoampère", "microampere": "Microampère", "milliampere": "Milliampère", "ampere": "Ampère", + "kiloampere": "Kiloampère", + "megaampere": "Mégaampère", + "gigaampere": "Gigaampère", "microampere-per-square-centimeter": "Microampère par centimètre carré", "ampere-per-square-meter": "Ampère par mètre carré", "ampere-per-meter": "Ampère par mètre", "oersted": "Oersted", - "bohr-magneton": "Magnéton de Bohr", + "bohr-magneton": "Magneton de Bohr", "ampere-meter-squared": "Ampère-mètre carré", "nanovolt": "Nanovolt", "picovolt": "Picovolt", + "millivolt": "Millivolt", + "microvolt": "Microvolt", "volt": "Volt", - "dbmV": "dBmV", - "dbm": "dBm", - "volt-meter": "Voltmètre", + "kilovolt": "Kilovolt", + "megavolt": "Mégavolt", + "dbmV": "Décibel-volt", + "dbm": "Décibel-milliwatt", + "volt-meter": "Volt-mètre", "kilovolt-meter": "Kilovolt-mètre", "megavolt-meter": "Mégavolt-mètre", "microvolt-meter": "Microvolt-mètre", @@ -6024,12 +6328,14 @@ "microohm": "Microohm", "milliohm": "Milliohm", "kilohm": "Kilohm", - "megohm": "Mégohm", - "gigohm": "Gigohm", + "megohm": "Mégaohm", + "gigohm": "Gigaohm", + "millihertz": "Millihertz", "hertz": "Hertz", "kilohertz": "Kilohertz", "megahertz": "Mégahertz", "gigahertz": "Gigahertz", + "terahertz": "Térrahertz", "rpm": "Tours par minute", "candela-per-square-meter": "Candela par mètre carré", "candela": "Candela", @@ -6046,12 +6352,12 @@ "millimole": "Millimole", "kilomole": "Kilomole", "mole-per-cubic-meter": "Mole par mètre cube", - "rssi": "RSSI", + "rssi": "Indicateur de puissance du signal reçu (RSSI)", "ppm": "Parties par million", "ppb": "Parties par milliard", "micrograms-per-cubic-meter": "Microgrammes par mètre cube", - "aqi": "Indice de qualité de l’air (AQI)", - "gram-per-cubic-meter": "Grammes par mètre cube", + "aqi": "Indice de qualité de l'air (AQI)", + "gram-per-cubic-meter": "Gramme par mètre cube", "gram-per-kilogram": "Humidité spécifique", "millimeters-per-second": "Millimètres par seconde", "neper": "Néper", @@ -6090,11 +6396,11 @@ "pound-per-cubic-foot": "Livre par pied cube", "ounces-per-cubic-inch": "Onces par pouce cube", "tons-per-cubic-yard": "Tonnes par yard cube", - "particle-density": "Densité des particules", + "particle-density": "Densité de particules", "kilometers-per-liter": "Kilomètres par litre", "miles-per-gallon": "Miles par gallon", "liters-per-100-km": "Litres par 100 km", - "gallons-per-mile": "Gallons par mile", + "gallons-per-mile": "Gallons par mille", "liters-per-hour": "Litres par heure", "gallons-per-hour": "Gallons par heure", "beats-per-minute": "Battements par minute", @@ -6115,6 +6421,9 @@ "millibars": "Millibars", "inch-of-mercury": "Pouce de mercure", "richter-scale": "Échelle de Richter", + "nanosecond": "Nanoseconde", + "microsecond": "Microseconde", + "millisecond": "Milliseconde", "second": "Seconde", "minute": "Minute", "hour": "Heure", @@ -6130,6 +6439,7 @@ "gallons-per-minute": "Gallons par minute", "cubic-foot-per-second": "Pied cube par seconde", "milliliters-per-minute": "Millilitres par minute", + "cubic-decimeter-per-second": "Décimètre cube par seconde", "bit": "Bit", "byte": "Octet", "kilobyte": "Kilooctet", @@ -6146,12 +6456,15 @@ "gigabit-per-second": "Gigabit par seconde", "terabit-per-second": "Térabit par seconde", "byte-per-second": "Octet par seconde", - "kilobyte-per-second": "Kilooctets par seconde", - "megabyte-per-second": "Mégaoctets par seconde", - "gigabyte-per-second": "Gigaoctets par seconde", + "kilobyte-per-second": "Kilooctet par seconde", + "megabyte-per-second": "Mégaoctet par seconde", + "gigabyte-per-second": "Gigaoctet par seconde", "degree": "Degré", "radian": "Radian", - "gradian": "Gradian", + "gradian": "Grade", + "arcminute": "Minute d’arc", + "arcsecond": "Seconde d’arc", + "milliradian": "Milliradian", "revolution": "Révolution", "siemens": "Siemens", "millisiemens": "Millisiemens", @@ -6209,7 +6522,7 @@ "nanohenry": "Nanohenry", "henry-per-meter": "Henry par mètre", "tesla-meter-per-ampere": "Tesla mètre par ampère", - "gauss-per-oersted": "Gauss par Oersted", + "gauss-per-oersted": "Gauss par oersted", "kilogram-per-mole": "Kilogramme par mole", "gram-per-mole": "Gramme par mole", "milligram-per-mole": "Milligramme par mole", @@ -6221,10 +6534,12 @@ "radian-per-second": "Radian par seconde", "radian-per-second-squared": "Radian par seconde carrée", "revolutions-per-minute-per-second": "Accélération angulaire", - "deg-per-second": "Degrés/seconde", + "deg-per-second": "Degrés par seconde", + "rotation-per-minute": "Rotation par minute", "degrees-brix": "Degrés Brix", "katal": "Katal", - "katal-per-cubic-metre": "Katal par mètre cube" + "katal-per-cubic-metre": "Katal par mètre cube", + "paris-inch": "Pouce de Paris" }, "user": { "user": "Utilisateur", @@ -6387,14 +6702,14 @@ "no-widgets-text": "Aucun widget trouvé", "management": "Gestion des widgets", "editor": "Éditeur de widgets", - "confirm-to-exit-editor-html": "Vous avez des paramètres de widget non enregistrés.
Êtes-vous sûr de vouloir quitter cette page ?", - "widget-type-not-found": "Problème de chargement de la configuration du widget.
Le type de widget associé a probablement été supprimé.", - "widget-type-load-error": "Le widget n’a pas été chargé en raison des erreurs suivantes :", + "confirm-to-exit-editor-html": "Vous avez des paramètres de widget non enregistrés.
Êtes-vous sûr de vouloir quitter cette page ?", + "widget-type-not-found": "Problème lors du chargement de la configuration du widget.
Le type de widget associé a probablement été supprimé.", + "widget-type-load-error": "Le widget n’a pas pu être chargé en raison des erreurs suivantes :", "remove": "Supprimer le widget", "delete": "Supprimer le widget", - "edit": "Modifier le widget", - "remove-widget-title": "Êtes-vous sûr de vouloir supprimer le widget '{{widgetTitle}}' ?", - "remove-widget-text": "Après confirmation, le widget et toutes les données associées seront irrécupérables.", + "edit": "Éditer le widget", + "remove-widget-title": "Êtes-vous sûr de vouloir supprimer le widget '{{widgetTitle}}' ?", + "remove-widget-text": "Après confirmation, le widget et toutes les données associées seront définitivement perdus.", "replace-reference-with-widget-copy": "Remplacer la référence par une copie du widget", "timeseries": "Séries temporelles", "search-data": "Rechercher des données", @@ -6508,7 +6823,7 @@ "dialog-hide-dashboard-toolbar": "Masquer la barre d'outils du tableau de bord dans la boîte de dialogue", "dialog-width": "Largeur de la boîte de dialogue en pourcentage de la largeur de l'écran", "dialog-height": "Hauteur de la boîte de dialogue en pourcentage de la hauteur de l'écran", - "dialog-size-range-error": "La taille de la boîte de dialogue doit être comprise entre 1 et 100 %.", + "dialog-size-range-error": "La taille de la boîte de dialogue doit être comprise entre 1 et 100.", "popover-preferred-placement": "Placement préféré de l'infobulle", "popover-placement-top": "Haut", "popover-placement-topLeft": "Haut gauche", @@ -7774,6 +8089,18 @@ "fill-area-opacity": "Opacité de la zone remplie", "range-chart-style": "Style du graphique à plages" }, + "knob": { + "behavior": "Comportement", + "initial-value": "Valeur initiale", + "initial-value-hint": "Action permettant d’obtenir la valeur initiale du bouton rotatif.", + "on-value-change": "Lors du changement de valeur", + "on-value-change-hint": "Action déclenchée lorsque la valeur du bouton rotatif est modifiée.", + "range": "Plage", + "min": "min", + "max": "max", + "value": "Valeur", + "fallback-initial-value": "Valeur initiale de secours" + }, "rpc": { "value-settings": "Paramètres de la valeur", "initial-value": "Valeur initiale", @@ -7830,9 +8157,7 @@ "led-status-value-timeseries": "Série temporelle contenant l’état LED", "check-status-method": "Méthode RPC de vérification de l’état de l’appareil", "parse-led-status-value-function": "Fonction d’analyse de l’état LED", - "knob-title": "Titre du bouton rotatif", - "min-value": "Valeur minimale", - "max-value": "Valeur maximale" + "knob-title": "Titre du bouton rotatif" }, "maps": { "map-type": { @@ -8683,11 +9008,15 @@ "color": "Couleur", "line": "Ligne", "points": "Points", - "points-label": "Libellé des points", + "points-label": "Étiquette des points", "radar-axis": "Axe radar", - "axis-label": "Libellé de l'axe", - "ticks-label": "Libellé des graduations", - "radar-chart-style": "Style du graphique radar" + "axis-label": "Étiquette des axes", + "ticks-label": "Étiquette des graduations", + "radar-chart-style": "Style du graphique radar", + "max-axes-scaling": "Échelle maximale des axes", + "max-axes-scaling-hint": "Choisissez si chaque axe radar a sa propre valeur maximale (Séparée) ou partage la valeur maximale parmi toutes les axes en fonction des données du widget (Commune).", + "separate": "Séparée", + "common": "Commune" }, "time-series-chart": { "chart": "Graphique", @@ -9193,4 +9522,4 @@ "language": { "language": "Langue" } -} +} \ No newline at end of file diff --git a/ui-ngx/src/assets/locale/locale.constant-tr_TR.json b/ui-ngx/src/assets/locale/locale.constant-tr_TR.json index 1af97591a4..bb69f4f49c 100644 --- a/ui-ngx/src/assets/locale/locale.constant-tr_TR.json +++ b/ui-ngx/src/assets/locale/locale.constant-tr_TR.json @@ -2,19 +2,24 @@ "access": { "unauthorized": "Yetkisiz", "unauthorized-access": "Yetkisiz Erişim", - "unauthorized-access-text": "Bu kaynağa erişmek için giriş yapmalısınız!", + "unauthorized-access-text": "Bu kaynağa erişim için giriş yapmalısınız!", "access-forbidden": "Erişim Yasaklandı", - "access-forbidden-text": "Bu konuma erişim haklarınız yok!
Bu yere hala erişmek istiyorsanız farklı kullanıcılarla oturum açmayı deneyin.", + "access-forbidden-text": "Bu konuma erişim hakkınız yok!
Bu konuma erişim sağlamak istiyorsanız farklı bir kullanıcı ile giriş yapmayı deneyin.", "refresh-token-expired": "Oturum süresi doldu", - "refresh-token-failed": "Oturum yenilenemiyor", + "refresh-token-failed": "Oturum yenileme başarısız oldu", "permission-denied": "İzin Reddedildi", - "permission-denied-text": "Bu işlemi gerçekleştirme izniniz yok!" + "permission-denied-text": "Bu işlemi gerçekleştirmek için izniniz yok!" + }, + "account": { + "account": "Hesap", + "notification-settings": "Bildirim ayarları" }, "action": { "activate": "Etkinleştir", - "suspend": "Askıya al", + "suspend": "Askıya Al", "save": "Kaydet", "saveAs": "Farklı Kaydet", + "move": "Taşı", "cancel": "İptal", "ok": "Tamam", "delete": "Sil", @@ -23,18 +28,18 @@ "no": "Hayır", "update": "Güncelle", "remove": "Kaldır", - "select": "Seç", "search": "Ara", - "clear-search": "Aramayı Temizle", + "clear-search": "Aramayı temizle", "assign": "Ata", "unassign": "Atamayı kaldır", "share": "Paylaş", "make-private": "Özel yap", "apply": "Uygula", - "apply-changes": "Değişiklikleri Uygula", - "edit-mode": "Düzenleme Modu", + "apply-changes": "Değişiklikleri uygula", + "edit-mode": "Düzenleme modu", "enter-edit-mode": "Düzenleme moduna gir", "decline-changes": "Değişiklikleri reddet", + "decline": "Reddet", "close": "Kapat", "back": "Geri", "run": "Çalıştır", @@ -49,19 +54,38 @@ "paste": "Yapıştır", "copy-reference": "Referansı kopyala", "paste-reference": "Referansı yapıştır", - "import": "İçe aktar", - "export": "Dışa aktar", + "import": "İçe Aktar", + "export": "Dışa Aktar", "share-via": "{{provider}} ile paylaş", - "continue": "Devam", - "discard-changes": "Değişikliklerden Vazgeç", + "select": "Seç", + "continue": "Devam et", + "discard-changes": "Değişiklikleri At", "download": "İndir", - "next-with-label": "Sonraki: {{label}}", - "read-more": "Devamını Oku", + "next": "İleri", + "next-with-label": "İleri: {{label}}", + "read-more": "Daha fazla oku", "hide": "Gizle", - "done": "Tamamlandı" + "test": "Test Et", + "done": "Tamamlandı", + "print": "Yazdır", + "restore": "Geri Yükle", + "confirm": "Onayla", + "more": "Daha fazla", + "less": "Daha az", + "skip": "Atla", + "send": "Gönder", + "reset": "Sıfırla", + "show-more": "Daha fazla göster", + "dont-show-again": "Bir daha gösterme", + "see-documentation": "Dokümantasyonu görüntüle", + "clear": "Temizle", + "upload": "Yükle", + "delete-anyway": "Yine de sil", + "delete-selected": "Seçilenleri sil", + "set": "Ayarla" }, "aggregation": { - "aggregation": "Aggregation", + "aggregation": "Toplama", "function": "Veri toplama fonksiyonu", "limit": "Maksimum değerler", "group-interval": "Gruplama aralığı", @@ -73,74 +97,97 @@ "none": "Yok" }, "admin": { + "settings": "Ayarlar", "general": "Genel", - "general-settings": "Genel Ayarlar", - "home-settings": "Ana Sayfa Ayarları", - "outgoing-mail": "Giden Posta Sunucusu", + "general-settings": "Genel ayarlar", + "home-settings": "Ana sayfa ayarları", + "home": "Ana sayfa", + "outgoing-mail": "Posta sunucusu", "outgoing-mail-settings": "Giden Posta Sunucusu Ayarları", "system-settings": "Sistem Ayarları", "test-mail-sent": "Test e-postası başarıyla gönderildi!", - "base-url": "Taban URL", - "base-url-required": "Taban URL gerekli.", - "prohibit-different-url": "İstemci istek başlıklarından ana bilgisayar adını kullanmayı yasakla", - "prohibit-different-url-hint": "Bu ayar, üretim ortamları için etkinleştirilmelidir. Devre dışı bırakıldığında güvenlik sorunlarına neden olabilir", - "mail-from": "Gönderen Kişi", - "mail-from-required": "Gönderen Kişi gerekli.", + "base-url": "Temel URL", + "base-url-required": "Temel URL gerekli.", + "prohibit-different-url": "İstemci isteği başlıklarından gelen ana makine adının kullanımını yasakla", + "prohibit-different-url-hint": "Bu ayar üretim ortamları için etkinleştirilmelidir. Devre dışı bırakıldığında güvenlik sorunlarına neden olabilir", + "device-connectivity": { + "device-connectivity": "Cihaz bağlantısı", + "http-s": "HTTP(s)", + "mqtt-s": "MQTT(s)", + "coap-s": "COAP(s)", + "http": "HTTP", + "https": "HTTPs", + "mqtt": "MQTT", + "mqtts": "MQTTs", + "coap": "COAP", + "coaps": "COAPs", + "hint": "Ev sahibi veya port alanları boşsa, varsayılan protokol değeri kullanılacaktır.", + "host": "Sunucu", + "port": "Port", + "port-pattern": "Port pozitif bir tamsayı olmalıdır.", + "port-range": "Port değeri 1 ile 65535 arasında olmalıdır." + }, + "mail-from": "Gönderen E-posta", + "mail-from-required": "Gönderen E-posta gereklidir.", "smtp-protocol": "SMTP protokolü", "smtp-host": "SMTP sunucusu", - "smtp-host-required": "SMTP sunucusu gerekli.", + "smtp-host-required": "SMTP sunucusu gereklidir.", "smtp-port": "SMTP portu", - "smtp-port-required": "Bir SMTP portu gerekli.", - "smtp-port-invalid": "Bu geçerli bir smtp portu gibi görünmüyor.", + "smtp-port-required": "SMTP portu sağlamalısınız.", + "smtp-port-invalid": "Geçerli bir SMTP portu gibi görünmüyor.", "timeout-msec": "Zaman aşımı (milisaniye)", - "timeout-required": "Zaman aşımı değeri gerekli.", - "timeout-invalid": "Bu geçerli bir zaman aşımı gibi görünmüyor.", + "timeout-required": "Zaman aşımı değeri gereklidir.", + "timeout-invalid": "Geçerli bir zaman aşımı değeri gibi görünmüyor.", "enable-tls": "TLS'i etkinleştir", "tls-version": "TLS sürümü", - "enable-proxy": "Proxy etkinleştir", + "enable-proxy": "Proxy'i etkinleştir", "proxy-host": "Proxy sunucusu", "proxy-host-required": "Proxy sunucusu gereklidir.", "proxy-port": "Proxy portu", "proxy-port-required": "Proxy portu gereklidir.", - "proxy-port-range": "Proxy portu 1 ile 65535 aralığında olmalıdır.", - "proxy-user": "Proxy kullanıcı adı", + "proxy-port-range": "Proxy portu 1 ile 65535 arasında olmalıdır.", + "proxy-user": "Proxy kullanıcısı", "proxy-password": "Proxy şifresi", - "change-password": "Şifre değiştir", - "send-test-mail": "Test postası gönder", + "change-password": "Şifreyi değiştir", + "send-test-mail": "Test e-postası gönder", "sms-provider": "SMS sağlayıcı", "sms-provider-settings": "SMS sağlayıcı ayarları", "sms-provider-type": "SMS sağlayıcı türü", "sms-provider-type-required": "SMS sağlayıcı türü gereklidir.", "sms-provider-type-aws-sns": "Amazon SNS", "sms-provider-type-twilio": "Twilio", - "aws-access-key-id": "AWS Erişim Anahtarı Kimliği", - "aws-access-key-id-required": "AWS Erişim Anahtarı Kimliği gereklidir", - "aws-secret-access-key": "AWS Gizli Erişim Anahtarı", - "aws-secret-access-key-required": "AWS Gizli Erişim Anahtarı gereklidir", + "sms-provider-type-smpp": "SMPP", + "aws-access-key-id": "AWS Access Key ID", + "aws-access-key-id-required": "AWS Access Key ID gereklidir", + "aws-secret-access-key": "AWS Secret Access Key", + "aws-secret-access-key-required": "AWS Secret Access Key gereklidir", "aws-region": "AWS Bölgesi", "aws-region-required": "AWS Bölgesi gereklidir", "number-from": "Gönderen Telefon Numarası", "number-from-required": "Gönderen Telefon Numarası gereklidir.", - "number-to": "Gönderilen Telefon Numarası", - "number-to-required": "Gönderilen Telefon Numarası gereklidir.", - "phone-number-hint": "Telefon Numarası (E.164 formatında, ör: +905555555555)", - "phone-number-hint-twilio": "Telefon Numarası E.164 formatında/Telefon Numarasının SID'si/Mesajlaşma Hizmeti SID'si, ör: +905555555555/PNXXX/MGXXX", - "phone-number-pattern": "Geçersiz telefon numarası. E.164 formatında olmalıdır, ör: +905555555555.", - "phone-number-pattern-twilio": "Geçersiz telefon numarası. E.164 formatı/Telefon Numarasının SID'si/Mesaj Hizmeti SID'si olmalıdır, ör: +905555555555/PNXXX/MGXXX", + "number-to": "Alıcı Telefon Numarası", + "number-to-required": "Alıcı Telefon Numarası gereklidir.", + "phone-number-hint": "Telefon numarası E.164 formatında olmalı, örn. +19995550123", + "phone-number-hint-twilio": "Telefon numarası E.164 formatında/Telefon Numarası SID/Mesaj Servisi SID, örn. +19995550123/PNXXX/MGXXX", + "phone-number-pattern": "Geçersiz telefon numarası. E.164 formatında olmalı, örn. +19995550123.", + "phone-number-pattern-twilio": "Geçersiz telefon numarası. E.164 formatında/Telefon Numarası SID/Mesaj Servisi SID olmalı, örn. +19995550123/PNXXX/MGXXX.", "sms-message": "SMS mesajı", "sms-message-required": "SMS mesajı gereklidir.", "sms-message-max-length": "SMS mesajı 1600 karakterden uzun olamaz", - "twilio-account-sid": "Twilio Hesabı SID'si", - "twilio-account-sid-required": "Twilio Hesabı SID'si gereklidir", - "twilio-account-token": "Twilio Hesabı Token", - "twilio-account-token-required": "Twilio Hesabı Token gereklidir", - "send-test-sms": "Test SMS'i gönder", - "test-sms-sent": "Test SMS'i başarıyla gönderildi!", - "security-settings": "Güvenlik Ayarları", + "twilio-account-sid": "Twilio Hesap SID", + "twilio-account-sid-required": "Twilio Hesap SID gereklidir", + "twilio-account-token": "Twilio Hesap Token", + "twilio-account-token-required": "Twilio Hesap Token gereklidir", + "send-test-sms": "Test SMS gönder", + "test-sms-sent": "Test SMS başarıyla gönderildi!", + "security-settings": "Güvenlik ayarları", "password-policy": "Şifre politikası", "minimum-password-length": "Minimum şifre uzunluğu", - "minimum-password-length-required": "Minimum şifre uzunluğu zorunludur", - "minimum-password-length-range": "Minimum şifre uzunluğu 5 ile 50 arasında olmalıdır", + "minimum-password-length-required": "Minimum şifre uzunluğu gereklidir", + "minimum-password-length-range": "Minimum şifre uzunluğu 6 ile 50 arasında olmalıdır", + "maximum-password-length": "Maksimum şifre uzunluğu", + "maximum-password-length-min": "Maksimum şifre uzunluğu en az 6 olmalıdır", + "maximum-password-length-less-min": "Maksimum şifre uzunluğu minimum değerden büyük olmalıdır", "minimum-uppercase-letters": "Minimum büyük harf sayısı", "minimum-uppercase-letters-range": "Minimum büyük harf sayısı negatif olamaz", "minimum-lowercase-letters": "Minimum küçük harf sayısı", @@ -149,389 +196,762 @@ "minimum-digits-range": "Minimum rakam sayısı negatif olamaz", "minimum-special-characters": "Minimum özel karakter sayısı", "minimum-special-characters-range": "Minimum özel karakter sayısı negatif olamaz", - "password-expiration-period-days": "Gün bazlı şifre son kullanma peryodu", - "password-expiration-period-days-range": "Gün bazlı şifre son kullanma peryodu negatif olamaz", - "password-reuse-frequency-days": "Gün bazlı şifre yeniden kullanım sıklığı", - "password-reuse-frequency-days-range": "Gün bazlı şifre yeniden kullanım sıklığı negatif olamaz", + "password-expiration-period-days": "Şifre geçerlilik süresi (gün)", + "password-expiration-period-days-range": "Şifre geçerlilik süresi negatif olamaz", + "password-reuse-frequency-days": "Şifre tekrar kullanma sıklığı (gün)", + "password-reuse-frequency-days-range": "Şifre tekrar kullanma süresi negatif olamaz", + "allow-whitespace": "Boşluk karakterine izin ver", + "force-reset-password-if-no-valid": "Geçerli değilse şifre sıfırlamayı zorla", + "force-reset-password-if-no-valid-hint": "Bu özelliği etkinleştirirken dikkatli olun: Geçersiz şifreye sahip kullanıcıların e-posta ile şifre sıfırlaması gerekecektir.", "general-policy": "Genel politika", - "max-failed-login-attempts": "Hesap kilitlenmesi için gerekli maksimum hatalı giriş deneme sayısı", - "minimum-max-failed-login-attempts-range": "Hesap kilitlenmesi için gerekli maksimum hatalı giriş deneme sayısı negatif olamaz", - "user-lockout-notification-email": "Hesap kilidi kaldırıldığında bilgilendirme maili gönder", + "max-failed-login-attempts": "Hesap kilitlenmeden önce izin verilen maksimum başarısız giriş denemesi", + "minimum-max-failed-login-attempts-range": "Maksimum başarısız giriş denemesi negatif olamaz", + "user-lockout-notification-email": "Kullanıcı hesabı kilitlenirse e-posta bildirimi gönder", + "user-activation-token-ttl": "Kullanıcı etkinleştirme bağlantısı TTL (saat)", + "user-activation-token-ttl-range": "Kullanıcı etkinleştirme bağlantısı süresi 1 ile 24 saat arasında olmalıdır", + "password-reset-token-ttl": "Şifre sıfırlama bağlantısı TTL (saat)", + "password-reset-token-ttl-range": "Şifre sıfırlama bağlantısı süresi 1 ile 24 saat arasında olmalıdır", + "mobile-secret-key-length": "Mobil gizli anahtar uzunluğu", + "mobile-secret-key-length-range": "Mobil gizli anahtar uzunluğu pozitif olmalıdır", "domain-name": "Alan adı", - "domain-name-unique": "Alan adı ve protokolün benzersiz olması gerekir.", - "error-verification-url": "Bir alan adı '/' ve ':' sembollerini içermemelidir. Örnek: thingsboard.io", + "domain-name-unique": "Alan adı ve protokol benzersiz olmalıdır.", + "domain-name-max-length": "Alan adı 256 karakterden kısa olmalıdır", + "error-verification-url": "Alan adı '/' ve ':' karakterlerini içermemelidir. Örnek: thingsboard.io", + "connection-settings": "Bağlantı ayarları", "oauth2": { "access-token-uri": "Erişim belirteci URI'si", - "access-token-uri-required": "Erişim belirteci URI'si gerekli.", + "access-token-uri-required": "Erişim belirteci URI'si gereklidir.", "activate-user": "Kullanıcıyı etkinleştir", - "add-domain": "Alan ekle", - "delete-domain": "Alanı sil", + "add-domain": "Alan adı ekle", + "delete-domain": "Alan adını sil", "add-provider": "Sağlayıcı ekle", "delete-provider": "Sağlayıcıyı sil", - "allow-user-creation": "Kullanıcı oluşturmaya izin ver", + "allow-user-creation": "Kullanıcı oluşturulmasına izin ver", "always-fullscreen": "Her zaman tam ekran", "authorization-uri": "Yetkilendirme URI'si", - "authorization-uri-required": "Yetkilendirme URI'si gerekli.", + "authorization-uri-required": "Yetkilendirme URI'si gereklidir.", + "add-client": "OAuth 2.0 istemcisi ekle", + "client-details": "OAuth 2.0 istemci detayları", + "client": "OAuth 2.0 istemci", + "clients": "OAuth 2.0 istemcileri", + "no-oauth2-clients": "OAuth 2.0 istemcisi bulunamadı", + "search-oauth2-clients": "OAuth 2.0 istemcileri ara", + "delete-client-title": "OAuth 2.0 istemcisi '{{clientName}}' silinsin mi?", + "delete-client-text": "Dikkatli olun, onaydan sonra istemci ve tüm ilişkili veriler geri alınamaz hale gelecektir.", + "delete-mobile-app-title": "Mobil uygulama '{{applicationName}}' silinsin mi?", + "delete-mobile-app-text": "Dikkatli olun, onaydan sonra mobil uygulama ve tüm ilişkili veriler geri alınamaz hale gelecektir.", + "title": "Başlık", + "client-title-required": "Başlık gereklidir", + "client-title-max-length": "Başlık 100 karakterden kısa olmalıdır", + "advanced-settings": "Gelişmiş ayarlar", + "domain-details": "Alan adı detayları", + "no-domains": "Alan adı bulunamadı", + "search-domains": "Alan adlarını ara", + "mobile-app-details": "Mobil uygulama detayları", + "add-mobile-app": "Mobil uygulama ekle", + "no-mobile-apps": "Mobil uygulama bulunamadı", + "search-mobile-apps": "Mobil uygulama ara", + "send-token": "Belirteç gönder", + "create-new": "Yeni oluştur", "client-authentication-method": "İstemci kimlik doğrulama yöntemi", - "client-id": "Kullanıcı Grubu Kimliği", - "client-id-required": "Kullanıcı Grubu Kimliği gereklidir.", - "client-secret": "Kullanıcı Grubu Özel Anahtarı", - "client-secret-required": "Kullanıcı Grubu Özel Anahtarı gereklidir.", - "custom-setting": "Özel ayarlar", - "customer-name-pattern": "Kullanıcı Grubu adı kalıbı", - "default-dashboard-name": "Varsayılan pano adı", - "delete-domain-text": "Dikkatli olun, onaydan sonra bir alan adı ve tüm sağlayıcı verileri kullanılamayacak.", - "delete-domain-title": "'{{domainName}}' alan adının ayarlarını silmek istediğinizden emin misiniz?", - "delete-registration-text": "Dikkatli olun, onaydan sonra sağlayıcı verileri kullanılamayacak.", - "delete-registration-title": "'{{name}}' sağlayıcısını silmek istediğinizden emin misiniz?", + "client-id": "İstemci ID", + "client-id-required": "İstemci ID gereklidir.", + "client-id-max-length": "İstemci ID 256 karakterden kısa olmalıdır", + "client-secret": "İstemci gizli anahtarı", + "client-secret-required": "İstemci gizli anahtarı gereklidir.", + "client-secret-max-length": "Gizli anahtar 2049 karakterden kısa olmalıdır", + "custom-setting": "Özel ayar", + "customer-name-pattern": "Müşteri adı desen", + "customer-name-pattern-max-length": "Müşteri adı deseni 256 karakterden kısa olmalıdır", + "default-dashboard-name": "Varsayılan kontrol paneli adı", + "default-dashboard-name-max-length": "Varsayılan kontrol paneli adı 256 karakterden kısa olmalıdır", + "delete-domain-text": "Dikkatli olun, onaydan sonra alan adı ve tüm sağlayıcı verileri kullanılamaz hale gelecektir.", + "delete-domain-title": "Alan adı '{{domainName}}' silinsin mi?", + "delete-registration-text": "Dikkatli olun, onaydan sonra sağlayıcı verisi kullanılamaz hale gelecektir.", + "delete-registration-title": "Sağlayıcı '{{name}}' silinsin mi?", "email-attribute-key": "E-posta öznitelik anahtarı", - "email-attribute-key-required": "E-posta öznitelik anahtarı gerekli.", + "email-attribute-key-required": "E-posta öznitelik anahtarı gereklidir.", + "email-attribute-key-max-length": "E-posta öznitelik anahtarı 32 karakterden kısa olmalıdır", "first-name-attribute-key": "Ad öznitelik anahtarı", + "first-name-attribute-key-max-length": "Ad öznitelik anahtarı 32 karakterden kısa olmalıdır", "general": "Genel", - "jwk-set-uri": "JSON Web Anahtarı URI'sı", - "last-name-attribute-key": "Soyadı öznitelik anahtarı", + "jwk-set-uri": "JSON Web Key URI", + "last-name-attribute-key": "Soyad öznitelik anahtarı", + "last-name-attribute-key-max-length": "Soyad öznitelik anahtarı 32 karakterden kısa olmalıdır", "login-button-icon": "Giriş düğmesi simgesi", "login-button-label": "Sağlayıcı etiketi", - "login-button-label-placeholder": "$(Provider label) ile giriş yapın", - "login-button-label-required": "Etiket gerekli.", - "login-provider": "Giriş sağlayıcı", + "login-button-label-placeholder": "$(Provider label) ile giriş yap", + "login-button-label-required": "Etiket gereklidir.", + "login-provider": "Giriş sağlayıcısı", "mapper": "Eşleyici", - "new-domain": "Yeni alan", - "oauth2": "OAuth2", + "new-domain": "Yeni alan adı", + "oauth2": "OAuth 2.0", + "password-max-length": "Şifre 256 karakterden kısa olmalıdır", "redirect-uri-template": "Yönlendirme URI şablonu", "copy-redirect-uri": "Yönlendirme URI'sini kopyala", - "registration-id": "Kayıt Kimliği", - "registration-id-required": "Kayıt kimliği gerekli.", - "registration-id-unique": "Kayıt kimliğinin sistem için benzersiz olması gerekir.", + "registration-id": "Kayıt ID'si", + "registration-id-required": "Kayıt ID'si gereklidir.", + "registration-id-unique": "Kayıt ID'si sistem için benzersiz olmalıdır.", "scope": "Kapsam", - "scope-required": "Kapsam gerekli.", - "tenant-name-pattern": "Tenant isim modeli", - "tenant-name-pattern-required": "Tenant isim modeli gerekli.", - "tenant-name-strategy": "Tenant isim stratejisi", + "scope-required": "Kapsam gereklidir.", + "tenant-name-pattern": "Kiracı adı deseni", + "tenant-name-pattern-required": "Kiracı adı deseni gereklidir.", + "tenant-name-pattern-max-length": "Kiracı adı deseni 256 karakterden kısa olmalıdır", + "tenant-name-strategy": "Kiracı adı stratejisi", "type": "Eşleyici türü", - "uri-pattern-error": "Geçersiz URI biçimi.", + "uri-pattern-error": "Geçersiz URI formatı.", "url": "URL", - "url-pattern": "Geçersiz URL biçimi.", - "url-required": "URL gerekli.", + "url-pattern": "Geçersiz URL formatı.", + "url-required": "URL gereklidir.", + "url-max-length": "URL 256 karakterden kısa olmalıdır", "user-info-uri": "Kullanıcı bilgisi URI'si", - "user-info-uri-required": "Kullanıcı bilgisi URI'si gerekli.", + "user-info-uri-required": "Kullanıcı bilgisi URI'si gereklidir.", + "username-max-length": "Kullanıcı adı 256 karakterden kısa olmalıdır", "user-name-attribute-name": "Kullanıcı adı öznitelik anahtarı", - "user-name-attribute-name-required": "Kullanıcı adı öznitelik anahtarı gerekli", + "user-name-attribute-name-required": "Kullanıcı adı öznitelik anahtarı gereklidir", "protocol": "Protokol", "domain-schema-http": "HTTP", "domain-schema-https": "HTTPS", "domain-schema-mixed": "HTTP+HTTPS", - "enable": "OAuth2 ayarlarını etkinleştir", - "domains": "Etki Alanları", + "enable": "OAuth 2.0 ayarlarını etkinleştir", + "disable": "OAuth 2.0 ayarlarını devre dışı bırak", + "edge": "Edge'e yay", + "edge-enable": "Edge'e yaymayı etkinleştir", + "edge-disable": "Edge'e yaymayı devre dışı bırak", + "domains": "Alan adları", "mobile-apps": "Mobil uygulamalar", - "no-mobile-apps": "Yapılandırılan uygulama yok", "mobile-package": "Uygulama paketi", - "mobile-package-placeholder": "Ör.: benim.example.app", - "mobile-package-hint": "Android için: kendi benzersiz Uygulama Kimliğiniz. iOS için: Ürün paketi tanımlayıcısı.", + "mobile-package-placeholder": "Örn.: my.example.app", + "mobile-package-hint": "Android için: kendinize ait benzersiz Uygulama ID'si. iOS için: Ürün paket tanımlayıcısı.", "mobile-package-unique": "Uygulama paketi benzersiz olmalıdır.", - "mobile-app-secret": "Uygulama Özel Anahtarı", - "invalid-mobile-app-secret": "Uygulama Özel Anahtarı yalnızca alfasayısal karakterler içermeli ve 16 ila 2048 karakter uzunluğunda olmalıdır.", - "copy-mobile-app-secret": "Uygulama Özel Anahtarını Kopyala", - "add-mobile-app": "Uygulama ekle", - "delete-mobile-app": "Uygulama bilgilerini sil", + "mobile-package-required": "Uygulama paketi gereklidir.", + "mobile-package-max-length": "Uygulama paketi 256 karakterden kısa olmalıdır", + "mobile-package-spaces": "Uygulama paketi boşluk içeremez", + "mobile-app-secret": "Uygulama gizli anahtarı", + "mobile-app-secret-hint": "En az 512 bit veri temsil eden Base64 kodlu string.", + "mobile-app-secret-required": "Uygulama gizli anahtarı gereklidir.", + "mobile-app-secret-min-length": "Uygulama gizli anahtarı en az 512 bit veri içermelidir.", + "mobile-app-secret-base64": "Uygulama gizli anahtarı base64 formatında olmalıdır.", + "invalid-mobile-app-secret": "Uygulama gizli anahtarı yalnızca alfasayısal karakterler içermeli ve 16 ile 2048 karakter uzunluğunda olmalıdır.", + "copy-mobile-app-secret": "Uygulama gizli anahtarını kopyala", + "delete-mobile-app": "Uygulama bilgisini sil", "providers": "Sağlayıcılar", "platform-web": "Web", "platform-android": "Android", "platform-ios": "iOS", "all-platforms": "Tüm platformlar", - "allowed-platforms": "İzin verilen platformlar" - } + "smtp-provider": "SMTP sağlayıcı", + "allowed-platforms": "İzin verilen platformlar", + "authentication": "Kimlik doğrulama", + "basic": "Temel", + "provider": "Sağlayıcı", + "redirect-url": "Yönlendirme URI'si", + "domain-name": "Alan adı", + "domain-name-required": "Alan adı gereklidir", + "redirect-url-template": "Yönlendirme URI şablonu", + "microsoft-tenant-id": "Dizin (kiracı) ID", + "microsoft-tenant-id-required": "Dizin (kiracı) ID gereklidir", + "token-uri": "Belirteç URI'si", + "token-uri-required": "Belirteç URI'si gereklidir", + "redirect-uri": "Yönlendirme URI'si", + "google-provider": "Google", + "microsoft-provider": "Office 365", + "sendgrid-provider": "Sendgrid", + "custom-provider": "Özel", + "generate-access-token": "Erişim belirteci oluştur", + "update-access-token": "Erişim belirtecini güncelle", + "access-token-status": "Erişim belirteci durumu:", + "token-status-generated": "oluşturuldu", + "token-status-not-generated": "oluşturulmadı" + }, + "smpp-provider": { + "smpp-version": "SMPP sürümü", + "smpp-host": "SMPP sunucusu", + "smpp-host-required": "SMPP sunucusu gereklidir", + "smpp-port": "SMPP portu", + "smpp-port-required": "SMPP portu gereklidir", + "system-id": "Sistem ID", + "system-id-required": "Sistem ID gereklidir", + "password": "Şifre", + "password-required": "Şifre gereklidir", + "type-settings": "Tür ayarları", + "source-settings": "Kaynak ayarları", + "destination-settings": "Hedef ayarları", + "additional-settings": "Ek ayarlar", + "system-type": "Sistem türü", + "bind-type": "Bağlantı türü", + "service-type": "Hizmet türü", + "source-address": "Kaynak adresi", + "source-ton": "Kaynak TON", + "source-npi": "Kaynak NPI", + "destination-ton": "Hedef TON (Numara Türü)", + "destination-npi": "Hedef NPI (Numaralandırma Planı Tanımlayıcı)", + "address-range": "Adres aralığı", + "coding-scheme": "Kodlama şeması", + "bind-type-tx": "Gönderici", + "bind-type-rx": "Alıcı", + "bind-type-trx": "Gönderici/Alıcı", + "ton-unknown": "Bilinmiyor", + "ton-international": "Uluslararası", + "ton-national": "Ulusal", + "ton-network-specific": "Ağa Özel", + "ton-subscriber-number": "Abone Numarası", + "ton-alphanumeric": "Alfasayısal", + "ton-abbreviated": "Kısaltılmış", + "npi-unknown": "0 - Bilinmiyor", + "npi-isdn": "1 - ISDN/telefon numaralandırma planı (E163/E164)", + "npi-data-numbering-plan": "3 - Veri numaralandırma planı (X.121)", + "npi-telex-numbering-plan": "4 - Telex numaralandırma planı (F.69)", + "npi-land-mobile": "6 - Kara Mobil (E.212)", + "npi-national-numbering-plan": "8 - Ulusal numaralandırma planı", + "npi-private-numbering-plan": "9 - Özel numaralandırma planı", + "npi-ermes-numbering-plan": "10 - ERMES numaralandırma planı (ETSI DE/PS 3 01-3)", + "npi-internet": "13 - İnternet (IP)", + "npi-wap-client-id": "18 - WAP İstemci ID (WAP Forumu tarafından tanımlanacak)", + "scheme-smsc": "0 - SMSC Varsayılan Alfabe (Kısa ve uzun kod için ASCII, ücretsiz için GSM)", + "scheme-ia5": "1 - IA5 (Kısa ve uzun kod için ASCII, ücretsiz için Latin 9 (ISO-8859-9))", + "scheme-octet-unspecified-2": "2 - Oktet Belirsiz (8-bit ikili)", + "scheme-latin-1": "3 - Latin 1 (ISO-8859-1)", + "scheme-octet-unspecified-4": "4 - Oktet Belirsiz (8-bit ikili)", + "scheme-jis": "5 - JIS (X 0208-1990)", + "scheme-cyrillic": "6 - Kiril (ISO-8859-5)", + "scheme-latin-hebrew": "7 - Latin/İbranice (ISO-8859-8)", + "scheme-ucs-utf": "8 - UCS2/UTF-16 (ISO/IEC-10646)", + "scheme-pictogram-encoding": "9 - Piktogram Kodlaması", + "scheme-music-codes": "10 - Müzik Kodları (ISO-2022-JP)", + "scheme-extended-kanji-jis": "13 - Genişletilmiş Kanji JIS (X 0212-1990)", + "scheme-korean-graphic-character-set": "14 - Kore Grafik Karakter Kümesi (KS C 5601/KS X 1001)" + }, + "queue-select-name": "Kuyruk adını seçin", + "queue-name": "Ad", + "queue-name-required": "Kuyruk adı gereklidir!", + "queues": "Kuyruklar", + "queue-partitions": "Bölümler", + "queue-submit-strategy": "Gönderme stratejisi", + "queue-processing-strategy": "İşleme stratejisi", + "queue-configuration": "Kuyruk yapılandırması", + "repository-settings": "Depo ayarları", + "repository": "Depo", + "repository-url": "Depo URL'si", + "repository-url-required": "Depo URL'si gereklidir.", + "default-branch": "Varsayılan dal adı", + "repository-read-only": "Salt okunur", + "show-merge-commits": "Birleştirme commit'lerini göster", + "authentication-settings": "Kimlik doğrulama ayarları", + "auth-method": "Kimlik doğrulama yöntemi", + "auth-method-username-password": "Şifre / erişim belirteci", + "auth-method-username-password-hint": "GitHub kullanıcıları mutlaka depo üzerinde yazma yetkisi olan erişim belirteçlerini kullanmalıdır.", + "auth-method-private-key": "Özel anahtar", + "password-access-token": "Şifre / erişim belirteci", + "change-password-access-token": "Şifre / erişim belirtecini değiştir", + "private-key": "Özel anahtar", + "drop-private-key-file-or": "Bir özel anahtar dosyası sürükleyip bırakın veya", + "passphrase": "Parola", + "enter-passphrase": "Parola girin", + "change-passphrase": "Parolayı değiştir", + "check-access": "Erişimi kontrol et", + "check-repository-access-success": "Depo erişimi başarıyla doğrulandı!", + "delete-repository-settings-title": "Depo ayarlarını silmek istediğinizden emin misiniz?", + "delete-repository-settings-text": "Dikkatli olun, onaydan sonra depo ayarları silinecek ve sürüm kontrolü özelliği kullanılamaz hale gelecektir.", + "auto-commit-settings": "Otomatik işlem ayarları", + "auto-commit": "Otomatik işlem", + "auto-commit-entities": "Otomatik işlem varlıkları", + "no-auto-commit-entities-prompt": "Otomatik işlem için yapılandırılmış varlık yok", + "delete-auto-commit-settings-title": "Otomatik işlem ayarlarını silmek istediğinizden emin misiniz?", + "delete-auto-commit-settings-text": "Dikkatli olun, onaydan sonra otomatik işlem ayarları silinecek ve tüm varlıklar için otomatik işlem devre dışı kalacaktır.", + "mobile-app": { + "mobile-app": "Mobil uygulama", + "mobile-app-qr-code-widget-settings": "Mobil uygulama QR kod bileşeni ayarları", + "applications": "Uygulamalar", + "default": "Varsayılan", + "custom": "Özel", + "android": "Android", + "ios": "iOS", + "appearance": "Görünüm", + "appearance-on-home-page": "Ana sayfadaki görünüm", + "enabled": "Etkin", + "disabled": "Devre dışı", + "badges": "Rozetler", + "label": "Etiket", + "label-required": "Etiket gereklidir", + "label-max-length": "Etiket en fazla 50 karakter uzunluğunda olmalıdır", + "right": "Sağ", + "left": "Sol", + "set": "Ayarla", + "preview": "Önizleme", + "connect-mobile-app": "Mobil uygulamayı bağla", + "use-system-settings": "Sistem ayarlarını kullan" + }, + "2fa": { + "2fa": "İki faktörlü kimlik doğrulama", + "available-providers": "Mevcut sağlayıcılar", + "issuer-name": "Yayımlayıcı adı", + "issuer-name-required": "Yayımlayıcı adı gereklidir.", + "max-verification-failures-before-user-lockout": "Kullanıcı kilitlenmeden önceki maksimum doğrulama başarısızlığı", + "max-verification-failures-before-user-lockout-pattern": "Maksimum doğrulama başarısızlığı pozitif bir tamsayı olmalıdır.", + "number-of-checking-attempts": "Kontrol denemesi sayısı", + "number-of-checking-attempts-pattern": "Kontrol denemesi sayısı pozitif bir tamsayı olmalıdır.", + "number-of-checking-attempts-required": "Kontrol denemesi sayısı gereklidir.", + "number-of-codes": "Kod sayısı", + "number-of-codes-pattern": "Kod sayısı pozitif bir tamsayı olmalıdır.", + "number-of-codes-required": "Kod sayısı gereklidir.", + "provider": "Sağlayıcı", + "retry-verification-code-period": "Doğrulama kodu tekrar deneme süresi (sn)", + "retry-verification-code-period-pattern": "Minimum süre 5 saniyedir", + "retry-verification-code-period-required": "Doğrulama kodu tekrar deneme süresi gereklidir.", + "total-allowed-time-for-verification": "Toplam izin verilen doğrulama süresi (sn)", + "total-allowed-time-for-verification-pattern": "Minimum toplam süre 60 saniyedir", + "total-allowed-time-for-verification-required": "Toplam izin verilen süre gereklidir.", + "use-system-two-factor-auth-settings": "Sistem iki faktörlü doğrulama ayarlarını kullan", + "verification-code-check-rate-limit": "Doğrulama kodu kontrol sınırı", + "verification-code-lifetime": "Doğrulama kodu geçerlilik süresi (sn)", + "verification-code-lifetime-pattern": "Doğrulama kodu geçerlilik süresi pozitif bir tamsayı olmalıdır.", + "verification-code-lifetime-required": "Doğrulama kodu geçerlilik süresi gereklidir.", + "verification-message-template": "Doğrulama mesajı şablonu", + "verification-limitations": "Doğrulama sınırlamaları", + "verification-message-template-pattern": "Doğrulama mesajı şu deseni içermelidir: ${code}", + "verification-message-template-required": "Doğrulama mesajı şablonu gereklidir.", + "within-time": "Belirli süre içinde (sn)", + "within-time-pattern": "Süre pozitif bir tamsayı olmalıdır.", + "within-time-required": "Süre gereklidir." + }, + "jwt": { + "security-settings": "JWT güvenlik ayarları", + "issuer-name": "Yayımlayıcı adı", + "issuer-name-required": "Yayımlayıcı adı gereklidir.", + "signings-key": "İmzalama anahtarı", + "signings-key-hint": "En az 512 bit veri temsil eden Base64 kodlu string.", + "signings-key-required": "İmzalama anahtarı gereklidir.", + "signings-key-min-length": "İmzalama anahtarı en az 512 bit veri içermelidir.", + "signings-key-base64": "İmzalama anahtarı base64 formatında olmalıdır.", + "expiration-time": "Belirteç geçerlilik süresi (sn)", + "expiration-time-required": "Belirteç geçerlilik süresi gereklidir.", + "expiration-time-max": "Maksimum izin verilen süre 2147483647 saniyedir (68 yıl).", + "expiration-time-min": "Minimum süre 60 saniyedir (1 dakika).", + "refresh-expiration-time": "Yenileme belirteci geçerlilik süresi (sn)", + "refresh-expiration-time-required": "Yenileme belirteci geçerlilik süresi gereklidir.", + "refresh-expiration-time-max": "Maksimum izin verilen süre 2147483647 saniyedir (68 yıl).", + "refresh-expiration-time-min": "Minimum süre 900 saniyedir (15 dakika).", + "refresh-expiration-time-less-token": "Yenileme belirteci süresi, belirteç süresinden uzun olmalıdır.", + "generate-key": "Anahtar oluştur", + "info-header": "Tüm kullanıcılar yeniden oturum açmak zorunda kalacak", + "info-message": "JWT İmzalama Anahtarının değiştirilmesi tüm belirteçlerin geçersiz hale gelmesine neden olur. Tüm kullanıcılar yeniden oturum açmalıdır. Bu, Rest API/Websocket kullanan betikleri de etkiler." + }, + "resources": "Kaynaklar", + "notifications": "Bildirimler", + "notifications-settings": "Bildirim ayarları", + "slack-api-token": "Slack API anahtarı", + "slack": "Slack", + "slack-settings": "Slack ayarları", + "mobile-settings": "Mobil ayarlar", + "firebase-service-account-file": "Firebase servis hesabı kimlik bilgileri JSON dosyası", + "select-firebase-service-account-file": "Firebase servis hesabı kimlik bilgileri dosyanızı sürükleyip bırakın veya ", + "trendz": "Trendz", + "trendz-settings": "Trendz ayarları", + "trendz-url": "Trendz URL'si", + "trendz-url-required": "Trendz URL'si gereklidir", + "trendz-api-key": "Trendz API anahtarı", + "trendz-enable": "Trendz'i etkinleştir" }, "alarm": { "alarm": "Alarm", "alarms": "Alarmlar", - "select-alarm": "Alarm seç", + "all-alarms": "Tüm alarmlar", + "select-alarm": "Alarm seçin", "no-alarms-matching": "'{{entity}}' ile eşleşen alarm bulunamadı.", - "alarm-required": "Alarm gerekli", + "alarm-required": "Alarm gereklidir", + "alarm-filter": "Alarm filtresi", + "filter": "Filtre", "alarm-status": "Alarm durumu", - "alarm-status-list": "Alarm durum listesi", + "alarm-status-list": "Alarm durumu listesi", "any-status": "Herhangi bir durum", "search-status": { - "ANY": "Herhangi biri", + "ANY": "Herhangi", "ACTIVE": "Aktif", "CLEARED": "Temizlendi", "ACK": "Onaylandı", "UNACK": "Onaylanmadı" }, "display-status": { - "ACTIVE_UNACK": "Aktif Onaylanmadı", - "ACTIVE_ACK": "Aktif Onaylandı", - "CLEARED_UNACK": "Temizlendi Onaylanmadı", - "CLEARED_ACK": "Temizlendi Onaylandı" + "ACTIVE_UNACK": "Aktif Onaylanmamış", + "ACTIVE_ACK": "Aktif Onaylanmış", + "CLEARED_UNACK": "Temizlendi Onaylanmamış", + "CLEARED_ACK": "Temizlendi Onaylanmış" }, "no-alarms-prompt": "Alarm bulunamadı", - "created-time": "Oluşma zamanı", - "type": "Tip", - "severity": "Şiddet", - "originator": "Kaynak", - "originator-type": "Kaynak tipi", + "created-time": "Oluşturulma zamanı", + "type": "Tür", + "severity": "Önem derecesi", + "originator": "Başlatan", + "originator-type": "Başlatan türü", "details": "Detaylar", + "originator-label": "Başlatan etiketi", + "assign": "Ata", + "assignments": "Atamalar", + "assignee": "Atanan kişi", + "assignee-id": "Atanan ID", + "assignee-first-name": "Atanan ad", + "assignee-last-name": "Atanan soyad", + "assignee-email": "Atanan e-posta", + "unassigned": "Atanmamış", + "user-deleted": "Kullanıcı silindi", + "assignee-not-set": "Tümü", "status": "Durum", "alarm-details": "Alarm detayları", - "start-time": "Başlangıç zamanı", + "start-time": "Başlama zamanı", + "assign-time": "Atanma zamanı", "end-time": "Bitiş zamanı", - "ack-time": "Onaylanma zamanı", + "ack-time": "Onay zamanı", "clear-time": "Temizlenme zamanı", - "alarm-severity-list": "Alarm önem listesi", + "duration": "Süre", + "alarm-severity": "Alarm önem derecesi", + "alarm-severity-list": "Alarm önem derecesi listesi", "any-severity": "Herhangi bir önem derecesi", "severity-critical": "Kritik", - "severity-major": "Birincil", - "severity-minor": "İkincil", + "severity-major": "Büyük", + "severity-minor": "Küçük", "severity-warning": "Uyarı", "severity-indeterminate": "Belirsiz", "acknowledge": "Onayla", "clear": "Temizle", - "search": "Alarm ara", + "delete": "Sil", + "search": "Alarmlarda ara", "selected-alarms": "{ count, plural, =1 {1 alarm} other {# alarm} } seçildi", - "no-data": "Görüntülenecek veri bulunmuyor", - "polling-interval": "Alarm yoklama aralığı (saniye)", - "polling-interval-required": "Alarm yoklama aralığı gerekli.", - "min-polling-interval-message": "Alarm yoklama aralığı en az 1 saniye olmalıdır.", - "aknowledge-alarms-title": "{ count, plural, =1 {1 alarmı} other {# alarmı} } onayla", - "aknowledge-alarms-text": "{ count, plural, =1 {1 alarmı} other {# alarmı} } onaylamak istediğinize emin misiniz?", + "no-data": "Görüntülenecek veri yok", + "polling-interval": "Alarm sorgulama aralığı (sn)", + "polling-interval-required": "Alarm sorgulama aralığı gereklidir.", + "min-polling-interval-message": "En az 1 saniye sorgulama aralığına izin verilir.", + "aknowledge-alarms-title": "{ count, plural, =1 {1 alarm} other {# alarm} } Onayla", + "aknowledge-alarms-text": "{ count, plural, =1 {1 alarm} other {# alarm} } onaylamak istediğinizden emin misiniz?", "aknowledge-alarm-title": "Alarmı Onayla", "aknowledge-alarm-text": "Alarmı onaylamak istediğinizden emin misiniz?", - "clear-alarms-title": "{ count, plural, =1 {1 alarmı} other {# alarmı} } temizle", - "clear-alarms-text": "{ count, plural, =1 {1 alarmı} other {# alarmı} } temizlemek istediğinize emin misiniz?", + "selected-alarms-are-acknowledged": "Seçilen alarmlar zaten onaylanmış", + "clear-alarms-title": "{ count, plural, =1 {1 alarm} other {# alarm} } Temizle", + "clear-alarms-text": "{ count, plural, =1 {1 alarm} other {# alarm} } temizlemek istediğinizden emin misiniz?", "clear-alarm-title": "Alarmı Temizle", - "clear-alarm-text": "Alarmı silmek istediğinizden emin misiniz?", + "clear-alarm-text": "Alarmı temizlemek istediğinizden emin misiniz?", + "delete-alarms-title": "{ count, plural, =1 {1 alarm} other {# alarm} } Sil", + "delete-alarms-text": "{ count, plural, =1 {1 alarm} other {# alarm} } silmek istediğinizden emin misiniz?", + "selected-alarms-are-cleared": "Seçilen alarmlar zaten temizlenmiş", "alarm-status-filter": "Alarm Durum Filtresi", - "alarm-filter": "Alarm Filtresi", + "alarm-filter-title": "Alarm Filtresi", + "assigned": "Atanmış", + "filter-title": "Filtre", "max-count-load": "Yüklenecek maksimum alarm sayısı (0 - sınırsız)", - "max-count-load-required": "Yüklenecek maksimum alarm sayısı gerekli.", - "max-count-load-error-min": "Minimum değer 0'dır.", - "fetch-size": "İstek boyutu", - "fetch-size-required": "İstek boyutu gereklidir.", - "fetch-size-error-min": "Minimum değer 10'dur.", - "alarm-type-list": "Alarm tipi listesi", - "any-type": "Her hangi bir tür", - "search-propagated-alarms": "Yayılan alarmları ara" + "max-count-load-required": "Yüklenecek maksimum alarm sayısı gereklidir.", + "max-count-load-error-min": "Minimum değer 0 olmalıdır.", + "fetch-size": "Veri getirme boyutu", + "fetch-size-required": "Veri getirme boyutu gereklidir.", + "fetch-size-error-min": "Minimum değer 10 olmalıdır.", + "alarm-types": "Alarm türleri", + "alarm-type-list": "Alarm türü listesi", + "any-type": "Herhangi bir tür", + "assigned-to-current-user": "Geçerli kullanıcıya atanmış", + "assigned-to-me": "Bana atanmış", + "search-propagated-alarms": "Yayılan alarmlarda ara", + "comments": "Alarm yorumları", + "show-more": "Daha fazla göster", + "additional-info": "Ek bilgi", + "alarm-type": "Alarm türü", + "enter-alarm-type": "Alarm türünü girin", + "no-alarm-types-matching": "'{{entitySubtype}}' ile eşleşen alarm türü bulunamadı.", + "alarm-type-list-empty": "Seçilmiş alarm türü yok." + }, + "alarm-activity": { + "add": "Yorum ekle...", + "alarm-comment": "Alarm yorumu", + "comments": "Yorumlar", + "delete-alarm-comment": "Bu yorumu silmek istiyor musunuz?", + "refresh": "Yenile", + "oldest-first": "En eskiden", + "newest-first": "En yeniden", + "activity": "Aktivite", + "export": "CSV'ye dışa aktar", + "author": "Yazar", + "created-date": "Oluşturulma tarihi", + "edited-date": "Düzenlenme tarihi", + "text": "Metin", + "system": "Sistem" }, "alias": { - "add": "Kısa ad ekle", - "edit": "Kısa ad düzenle", - "name": "Kısa ad", - "name-required": "Kısa ad gerekli", - "duplicate-alias": "Aynı kısa ad daha önce kullanılmış.", - "filter-type-single-entity": "Tek öğe", - "filter-type-entity-list": "Öğe listesi", - "filter-type-entity-name": "Öğe adı", - "filter-type-state-entity": "Gösterge panelinden öğe", - "filter-type-state-entity-description": "Gösterge paneli durum parametrelerinden alınan öğeler", + "add": "Takma ad ekle", + "edit": "Takma adı düzenle", + "name": "Takma ad adı", + "name-required": "Takma ad adı gerekli", + "duplicate-alias": "Aynı adda bir takma ad zaten mevcut.", + "filter-type-single-entity": "Tek varlık", + "filter-type-entity-list": "Varlık listesi", + "filter-type-entity-name": "Varlık adı", + "filter-type-entity-type": "Varlık türü", + "filter-type-state-entity": "Pano durumundan varlık", + "filter-type-state-entity-description": "Pano durumu parametrelerinden alınan varlık", "filter-type-asset-type": "Varlık türü", - "filter-type-asset-type-description": "'{{assetTypes}}' türünde varlıklar", - "filter-type-asset-type-and-name-description": "Adı '{{prefix}}' ile başlayan '{{assetTypes}}' türünde varlıklar", + "filter-type-asset-type-description": "'{{assetTypes}}' türündeki varlıklar", + "filter-type-asset-type-and-name-description": "'{{assetTypes}}' türünde ve adı '{{prefix}}' ile başlayan varlıklar", "filter-type-device-type": "Cihaz türü", - "filter-type-device-type-description": "'{{deviceTypes}}' türünde cihazlar", - "filter-type-device-type-and-name-description": "Adı '{{prefix}}' ile başlayan'{{deviceTypes}}' türünde cihazlar", - "filter-type-entity-view-type": "Öğe Görünümü türü", - "filter-type-entity-view-type-description": "'{{entityViewTypes}}' türünde Öğe Görünümleri", - "filter-type-entity-view-type-and-name-description": "'{{entityViewTypes}}' türünde ve adı '{{prefix}}' ile başlayan Öğe Görünümleri", - "filter-type-edge-type": "Uç tipi", - "filter-type-edge-type-description": "'{{edgeTypes}}' türünün uçları", - "filter-type-edge-type-and-name-description": "'{{edgeTypes}}' türü ve adı '{{prefix}}' ile başlayan kenarlar", - "filter-type-relations-query": "İlişkiler sorgusu", - "filter-type-relations-query-description": "{{relationType}} türünde ilişkili olan öğeler: {{entities}}. {{direction}}: {{rootEntity}}", + "filter-type-device-type-description": "'{{deviceTypes}}' türündeki cihazlar", + "filter-type-device-type-and-name-description": "'{{deviceTypes}}' türünde ve adı '{{prefix}}' ile başlayan cihazlar", + "filter-type-entity-view-type": "Varlık Görünümü türü", + "filter-type-entity-view-type-description": "'{{entityViewTypes}}' türündeki Varlık Görünümleri", + "filter-type-entity-view-type-and-name-description": "'{{entityViewTypes}}' türünde ve adı '{{prefix}}' ile başlayan Varlık Görünümleri", + "filter-type-edge-type": "Edge türü", + "filter-type-edge-type-description": "'{{edgeTypes}}' türündeki Edge'ler", + "filter-type-edge-type-and-name-description": "'{{edgeTypes}}' türünde ve adı '{{prefix}}' ile başlayan Edge'ler", + "filter-type-relations-query": "İlişki sorgusu", + "filter-type-relations-query-description": "{{entities}}, {{relationType}} ilişkisine sahip {{direction}} {{rootEntity}}", + "filter-type-edge-search-query": "Edge arama sorgusu", + "filter-type-edge-search-query-description": "{{edgeTypes}} türündeki ve {{relationType}} ilişkisine sahip {{direction}} {{rootEntity}} Edge'ler", "filter-type-asset-search-query": "Varlık arama sorgusu", - "filter-type-asset-search-query-description": "{{relationType}} türünde ilişkisi olan varlıklar {{assetTypes}}. {{direction}}: {{rootEntity}}", + "filter-type-asset-search-query-description": "{{assetTypes}} türünde ve {{relationType}} ilişkisine sahip {{direction}} {{rootEntity}} varlıklar", "filter-type-device-search-query": "Cihaz arama sorgusu", - "filter-type-device-search-query-description": "{{relationType}} türünde ilişkisi olan cihaz tipleri {{deviceTypes}}. {{direction}}: {{rootEntity}}", - "filter-type-entity-view-search-query": "Öğe görünümü arama sorgusu", - "filter-type-entity-view-search-query-description": "{{relationType}} {{direction}} {{rootEntity}} ilişkisine sahip {{entityViewTypes}} türlerine sahip öğe görünümleri", + "filter-type-device-search-query-description": "{{deviceTypes}} türünde ve {{relationType}} ilişkisine sahip {{direction}} {{rootEntity}} cihazlar", + "filter-type-entity-view-search-query": "Varlık görünümü arama sorgusu", + "filter-type-entity-view-search-query-description": "{{entityViewTypes}} türünde ve {{relationType}} ilişkisine sahip {{direction}} {{rootEntity}} varlık görünümleri", "filter-type-apiUsageState": "API Kullanım Durumu", - "filter-type-edge-search-query": "Uç arama sorgusu", - "filter-type-edge-search-query-description": "{{relationType}} {{direction}} {{rootEntity}} ilişkisine sahip {{edgeType}} türlerine sahip uçlar", - "entity-filter": "Öğe filtresi", - "resolve-multiple": "Çoklu öğe olarak çözümle", - "filter-type": "Filtre tipi", - "filter-type-required": "Filtre tipi gerekli.", - "entity-filter-no-entity-matched": "Belirlenen filtre ile eşleşen bir öğe bulunamadı.", - "no-entity-filter-specified": "Hiçbir öğe filtresi belirtilmedi", - "root-state-entity": "Gösterge panelini kök olarak kullan", - "last-level-relation": "Yalnızca son düzey ilişkiyi getir", - "root-entity": "Kök öğe", + "entity-filter": "Varlık filtresi", + "resolve-multiple": "Birden fazla varlık olarak çöz", + "resolve-multiple-hint": "Filtrelenen tüm varlıklardan verileri aynı anda göstermek için etkinleştirin. \nDevre dışı bırakıldığında, bileşen yalnızca seçilen varlıktan veri gösterir.", + "filter-type": "Filtre türü", + "filter-type-required": "Filtre türü gerekli.", + "entity-filter-no-entity-matched": "Belirtilen filtreyle eşleşen varlık bulunamadı.", + "no-entity-filter-specified": "Herhangi bir varlık filtresi belirtilmedi", + "root-state-entity": "Kök olarak pano durumu varlığını kullan", + "last-level-relation": "Yalnızca son düzey ilişkiyi al", + "root-entity": "Kök varlık", "state-entity-parameter-name": "Durum varlığı parametre adı", - "default-state-entity": "Varsayılan durum öğesi", - "default-entity-parameter-name": "Varsayılan", + "default-state-entity": "Varsayılan pano durumu varlığı", + "default-entity-parameter-name": "Varsayılan olarak", + "query-options": "Sorgu seçenekleri", "max-relation-level": "Maksimum ilişki düzeyi", - "unlimited-level": "Sınırsız seviye", - "state-entity": "Gösterge paneli öğesi", - "all-entities": "Tüm öğeler", - "any-relation": "Herhangi biri" + "unlimited-level": "Sınırsız düzey", + "state-entity": "Pano durumu varlığı", + "all-entities": "Tüm varlıklar", + "any-relation": "herhangi" }, "asset": { "asset": "Varlık", "assets": "Varlıklar", - "management": "Varlık Yönetimi", + "management": "Varlık yönetimi", "view-assets": "Varlıkları Görüntüle", "add": "Varlık ekle", - "assign-to-customer": "Kullanıcı grubuna ata", - "assign-asset-to-customer": "Varlıkları Kullanıcı Grubuna Ata", - "assign-asset-to-customer-text": "Lütfen kullanıcı grubuna atanacak varlıkları seçin", + "asset-type-max-length": "Varlık türü 256 karakterden kısa olmalıdır", + "assign-to-customer": "Müşteriye ata", + "assign-asset-to-customer": "Varlık(ları) Müşteriye Ata", + "assign-asset-to-customer-text": "Lütfen müşteriye atanacak varlıkları seçin", "no-assets-text": "Varlık bulunamadı", - "assign-to-customer-text": "Lütfen varlıkları atamak için kullanıcı grubu seçin", - "public": "Açık", - "assignedToCustomer": "Kullanıcı grubuna atandı", - "make-public": "Varlığı açık hale getir", - "make-private": "Varlığı özel hale getir", - "unassign-from-customer": "Kullanıcı grubundan atamayı kaldır", + "assign-to-customer-text": "Lütfen varlık(ları) atayacağınız müşteriyi seçin", + "public": "Genel", + "assignedToCustomer": "Müşteriye atanmış", + "make-public": "Varlığı genel yap", + "make-private": "Varlığı özel yap", + "unassign-from-customer": "Müşteriden atamayı kaldır", "delete": "Varlığı sil", - "asset-public": "Varlık açık halde", + "asset-public": "Varlık geneldir", "asset-type": "Varlık türü", - "asset-type-required": "Varlık türü gerekli.", - "select-asset-type": "Varlık türü seçin", - "enter-asset-type": "Varlık türü girin", + "asset-type-required": "Varlık türü gereklidir.", + "select-asset-type": "Varlık türü seç", + "enter-asset-type": "Varlık profilini girin", "any-asset": "Herhangi bir varlık", - "no-asset-types-matching": "'{{entitySubtype}}' ile eşleşen varlık bulunamadı.", - "asset-type-list-empty": "Herhangi bir varlık türü bulunamadı.", + "no-asset-types-matching": "'{{entitySubtype}}' ile eşleşen varlık türü bulunamadı.", + "asset-type-list-empty": "Seçilmiş varlık türü yok.", "asset-types": "Varlık türleri", - "name": "İsim", - "name-required": "İsim gerekli.", + "name": "Ad", + "name-required": "Ad gereklidir.", + "name-max-length": "Ad 256 karakterden kısa olmalıdır", + "label-max-length": "Etiket 256 karakterden kısa olmalıdır", "description": "Açıklama", "type": "Tür", - "type-required": "Tür gerekli.", + "type-required": "Tür gereklidir.", "details": "Detaylar", - "events": "Etkinlikler", + "events": "Olaylar", "add-asset-text": "Yeni varlık ekle", "asset-details": "Varlık detayları", "assign-assets": "Varlıkları ata", - "assign-assets-text": "{ count, plural, =1 {1 varlığı} other {# varlığı} } kullanıcı grubuna ata", - "assign-asset-to-edge-title": "Varlıkları Uç'a Ata", - "assign-asset-to-edge-text": "Lütfen uca atanacak varlıkları seçin", + "assign-assets-text": "{ count, plural, =1 {1 varlık} other {# varlık} } müşteriye ata", + "assign-asset-to-edge-title": "Varlık(ları) Edge'e Ata", + "assign-asset-to-edge-text": "Lütfen Edge'e atanacak varlıkları seçin", "delete-assets": "Varlıkları sil", - "unassign-assets": "Varlıkların atamalarını kaldır", - "unassign-assets-action-title": "{ count, plural, =1 {1 varlığın} other {# varlığın} } atamalarını kullanıcı grubundan kaldır", + "unassign-assets": "Varlıkların atamasını kaldır", + "unassign-assets-action-title": "{ count, plural, =1 {1 varlık} other {# varlık} } müşteriden atamasını kaldır", "assign-new-asset": "Yeni varlık ata", - "delete-asset-title": "'{{assetName}}' isimli varlığı silmek istediğinize emin misiniz?", - "delete-asset-text": "UYARI: Onaylandıktan sonra varlık ve ilgili tüm veriler geri yüklenemeyecek şekilde silinecek.", - "delete-assets-title": "{ count, plural, =1 {1 varlığı} other {# varlığı} } silmek istediğinize emin misiniz?", - "delete-assets-action-title": "{ count, plural, =1 {1 varlığı} other {# varlığı} } sil", - "delete-assets-text": "UYARI: Onaylandıktan sonra tüm seçili varlıklar ver ilgili tüm veriler geri yüklenemyeck şekilde silinecek.", - "make-public-asset-title": "'{{assetName}}' isimli varlığı açık hale getirmek istediğinize emin misiniz?", - "make-public-asset-text": "Onaylandıktan sonra varlık ve ilgili veriler açık hale gelecek ve başkaları tarafından erişilebilir olacaktır.", - "make-private-asset-title": "'{{assetName}}' isimli varlığı özel hale getirmek istediğinize emin misiniz?", - "make-private-asset-text": "Onaylandıktan sonra varlık ve ilgili veriler özel hale gelecek ve başkaları tarafından erişilemez olacaktır.", - "unassign-asset-title": "'{{assetName}}' isimli varlığın atamasını kaldırmak istediğinize emin misiniz?", - "unassign-asset-text": "Onaylandıktan sonra varlığın ataması kaldırılacak ve kullanıcı grubu tarafından erişilemez olacaktır.", - "unassign-asset": "Varlık atamasını kaldır", - "unassign-assets-title": " { count, plural, =1 {1 varlık} other {# varlık} } atamasını kaldırmak istediğinize emin misiniz?", - "unassign-assets-text": "Onaylandıktan sonra tüm seçili varlıkların ataması kaldırılacak ve kullanıcı grubu tarafından erişilemez olacaktır.", - "unassign-assets-from-edge": "Uçtan varlıkların atamasını kaldır", - "copyId": "Varlık kimliğini kopyala", - "idCopiedMessage": "Varlık kimliği panoya kopyalandı", - "select-asset": "Varlık seç", - "no-assets-matching": "'{{entity}}' isimli varlık bulunamadı.", - "asset-required": "Varlık gerekli", - "name-starts-with": "... ile başlayan varlık adı", - "help-text": "İhtiyaca göre '%' kullanın: '%asset_name_contains%', '%asset_name_ends', 'asset_starts_with'.", + "delete-asset-title": "'{{assetName}}' adlı varlığı silmek istediğinizden emin misiniz?", + "delete-asset-text": "Dikkat! Onaydan sonra varlık ve tüm ilgili veriler geri alınamaz şekilde silinecektir.", + "delete-assets-title": "{ count, plural, =1 {1 varlık} other {# varlık} } silmek istediğinizden emin misiniz?", + "delete-assets-action-title": "{ count, plural, =1 {1 varlık} other {# varlık} } sil", + "delete-assets-text": "Dikkat! Onaydan sonra tüm seçilen varlıklar silinecek ve ilgili tüm veriler geri alınamaz olacaktır.", + "make-public-asset-title": "'{{assetName}}' adlı varlığı genel yapmak istediğinizden emin misiniz?", + "make-public-asset-text": "Onaydan sonra varlık ve tüm verileri genel hale gelecek ve başkaları tarafından erişilebilir olacaktır.", + "make-private-asset-title": "'{{assetName}}' adlı varlığı özel yapmak istediğinizden emin misiniz?", + "make-private-asset-text": "Onaydan sonra varlık ve tüm verileri özel hale gelecek ve başkaları tarafından erişilemez olacaktır.", + "unassign-asset-title": "'{{assetName}}' adlı varlığın atamasını kaldırmak istediğinizden emin misiniz?", + "unassign-asset-text": "Onaydan sonra varlık atanmamış olacak ve müşteri tarafından erişilemeyecektir.", + "unassign-asset": "Varlığın atamasını kaldır", + "unassign-assets-title": "{ count, plural, =1 {1 varlık} other {# varlık} } atamasını kaldırmak istediğinizden emin misiniz?", + "unassign-assets-text": "Onaydan sonra seçilen tüm varlıklar atanmamış olacak ve müşteri tarafından erişilemeyecektir.", + "copyId": "Varlık ID'sini kopyala", + "idCopiedMessage": "Varlık ID'si panoya kopyalandı", + "select-asset": "Varlık seçin", + "no-assets-matching": "'{{entity}}' ile eşleşen varlık bulunamadı.", + "asset-required": "Varlık gereklidir", + "name-starts-with": "Varlık adı ifadesi", + "help-text": "İhtiyaca göre '%' kullanın: '%varlık_adı_içerir%', '%varlık_adı_biter', 'varlık_adı_başlar'.", + "search": "Varlıklarda ara", "import": "Varlıkları içe aktar", "asset-file": "Varlık dosyası", "label": "Etiket", - "search": "Varlık ara", - "assign-asset-to-edge": "Varlıkları Uç'a Ata", - "unassign-asset-from-edge": "Öğe atamasını kaldır", - "unassign-asset-from-edge-title": "'{{assetName}}' öğesinin atamasını kaldırmak istediğinizden emin misiniz?", - "unassign-asset-from-edge-text": "Onaydan sonra varlığın ataması kaldırılacak ve uç tarafından erişilebilir olmayacaktır.", + "assign-asset-to-edge": "Varlık(ları) Edge'e Ata", + "unassign-asset-from-edge": "Varlığın atamasını kaldır", + "unassign-asset-from-edge-title": "'{{assetName}}' adlı varlığın Edge atamasını kaldırmak istediğinizden emin misiniz?", + "unassign-asset-from-edge-text": "Onaydan sonra varlık atanmamış olacak ve Edge tarafından erişilemeyecektir.", "unassign-assets-from-edge-title": "{ count, plural, =1 {1 varlık} other {# varlık} } atamasını kaldırmak istediğinizden emin misiniz?", - "unassign-assets-from-edge-text": "Onaydan sonra seçilen tüm varlıkların ataması kaldırılacak ve uç tarafından erişilebilir olmayacaktır.", + "unassign-assets-from-edge-text": "Onaydan sonra tüm seçilen varlıklar atanmamış olacak ve Edge tarafından erişilemeyecektir.", "selected-assets": "{ count, plural, =1 {1 varlık} other {# varlık} } seçildi" }, "attribute": { "attributes": "Öznitelikler", - "latest-telemetry": "Son telemetri", + "latest-telemetry": "En son telemetri", + "no-latest-telemetry": "En son telemetri bulunamadı", "attributes-scope": "Varlık öznitelik kapsamı", - "scope-telemetry": "telemetri", - "scope-latest-telemetry": "Son telemetri", - "scope-client": "İstemci öznitelikler", - "scope-server": "Sunucu öznitelikler", + "scope-telemetry": "Telemetri", + "scope-latest-telemetry": "En son telemetri", + "scope-client": "İstemci öznitelikleri", + "scope-server": "Sunucu öznitelikleri", "scope-shared": "Paylaşılan öznitelikler", + "scope-client-short": "İstemci", + "scope-server-short": "Sunucu", + "scope-shared-short": "Paylaşılan", + "scope-latest-short": "En son", + "scope-any": "Herhangi", "add": "Öznitelik ekle", "key": "Anahtar", + "key-max-length": "Anahtar 256 karakterden kısa olmalıdır", "last-update-time": "Son güncelleme zamanı", - "key-required": "Öznitelik anahtarı gerekli.", + "key-required": "Öznitelik anahtarı gereklidir.", "value": "Değer", - "value-required": "Öznitelik değeri gerekli.", - "delete-attributes-title": "Silmek istediğinize emin misiniz { count, plural, =1 {1 öznitelik} other {# öznitelik} }?", - "delete-attributes-text": "UYARI: Onaylandıktan sonra tüm seçili öznitelikler kaldırılacak.", + "value-required": "Öznitelik değeri gereklidir.", + "telemetry-key-required": "Telemetri anahtarı gereklidir", + "telemetry-value-required": "Telemetri değeri gereklidir", + "delete-attributes-title": "{ count, plural, =1 {1 özniteliği} other {# özniteliği} } silmek istediğinizden emin misiniz?", + "delete-attributes-text": "Dikkat, onaydan sonra tüm seçilen öznitelikler silinecektir.", "delete-attributes": "Öznitelikleri sil", - "enter-attribute-value": "Öznitelik değeri gir", - "show-on-widget": "Göstergede göster", - "widget-mode": "Gösterge modu", - "next-widget": "Sonraki gösterge", - "prev-widget": "Önceki gösterge", + "enter-attribute-value": "Öznitelik değeri girin", + "show-on-widget": "Bileşende göster", + "widget-mode": "Bileşen modu", + "next-widget": "Sonraki bileşen", + "prev-widget": "Önceki bileşen", "add-to-dashboard": "Gösterge paneline ekle", - "add-widget-to-dashboard": "Göstergeyi, gösterge paneline ekle", + "add-widget-to-dashboard": "Bileşeni gösterge paneline ekle", "selected-attributes": "{ count, plural, =1 {1 öznitelik} other {# öznitelik} } seçildi", "selected-telemetry": "{ count, plural, =1 {1 telemetri birimi} other {# telemetri birimi} } seçildi", "no-attributes-text": "Öznitelik bulunamadı", - "no-telemetry-text": "Telemetri bulunamadı" + "no-telemetry-text": "Telemetri bulunamadı", + "copy-key": "Anahtarı kopyala", + "add-telemetry": "Telemetri ekle", + "copy-value": "Değeri kopyala", + "delete-timeseries": { + "start-time": "Başlangıç zamanı", + "ends-on": "Bitiş zamanı", + "strategy": "Strateji", + "delete-strategy": "Silme stratejisi", + "all-data": "Tüm veriyi sil", + "all-data-except-latest-value": "En son değer hariç tüm veriyi sil", + "latest-value": "En son değeri sil", + "all-data-for-time-period": "Belirli zaman dilimi için tüm veriyi sil", + "rewrite-latest-value": "En son değeri yeniden yaz" + } }, "api-usage": { - "api-usage": "API Kullanımı", + "api-features": "API özellikleri", + "api-usage": "API kullanımı", "alarm": "Alarm", - "alarms-created": "Oluşturulan Alarmlar", + "alarms-created": "Oluşturulan alarmlar", + "queue-stats": "Kuyruk İstatistikleri", + "processing-failures-and-timeouts": "İşleme Hataları ve Zaman Aşımı", + "exceptions": "İstisnalar", "alarms-created-daily-activity": "Günlük oluşturulan alarmlar", "alarms-created-hourly-activity": "Saatlik oluşturulan alarmlar", "alarms-created-monthly-activity": "Aylık oluşturulan alarmlar", "data-points": "Veri noktaları", - "data-points-storage-days": "Veri noktaları depolama günleri", + "data-points-storage-days": "Veri noktası saklama süresi (gün)", + "device-api": "Cihaz API'si", "email": "E-posta", "email-messages": "E-posta mesajları", - "email-messages-daily-activity": "Günlük E-posta mesajları", - "email-messages-monthly-activity": "Aylık E-posta mesajları", - "exceptions": "Sıradışı Durumlar", + "email-messages-daily-activity": "Günlük e-posta mesajları", + "email-messages-monthly-activity": "Aylık e-posta mesajları", "executions": "Çalıştırmalar", + "scripts": "Komut dosyaları", + "scripts-hourly-activity": "Saatlik komut dosyası etkinliği", + "scripts-daily-activity": "Günlük komut dosyası etkinliği", + "scripts-monthly-activity": "Aylık komut dosyası etkinliği", "javascript": "JavaScript", "javascript-executions": "JavaScript çalıştırmaları", - "latest-error": "Son Hata", + "tbel": "TBEL", + "tbel-executions": "TBEL çalıştırmaları", + "latest-error": "Son hata", "messages": "Mesajlar", "notifications": "Bildirimler", "notifications-email-sms": "Bildirimler (E-posta/SMS)", - "notifications-hourly-activity": "Saatlik Bildirimler", + "notifications-hourly-activity": "Saatlik bildirim etkinliği", "permanent-failures": "${entityName} Kalıcı Hatalar", "permanent-timeouts": "${entityName} Kalıcı Zaman Aşımları", "processing-failures": "${entityName} İşleme Hataları", - "processing-failures-and-timeouts": "İşleme Hataları ve Zaman Aşımları", "processing-timeouts": "${entityName} İşleme Zaman Aşımları", - "queue-stats": "Sıra İstatistikleri", "rule-chain": "Kural Zinciri", "rule-engine": "Kural Motoru", - "rule-engine-daily-activity": "Günlük Rule Engine etkinliği", - "rule-engine-executions": "Kural Motoru yürütmeleri", - "rule-engine-hourly-activity": "Saatlik Rule Engine etkinliği", - "rule-engine-monthly-activity": "Aylık Rule Engine etkinliği", + "rule-engine-daily-activity": "Kural Motoru günlük etkinliği", + "rule-engine-executions": "Kural Motoru çalıştırmaları", + "rule-engine-hourly-activity": "Kural Motoru saatlik etkinliği", + "rule-engine-monthly-activity": "Kural Motoru aylık etkinliği", "rule-engine-statistics": "Kural Motoru İstatistikleri", "rule-node": "Kural Düğümü", "sms": "SMS", "sms-messages": "SMS mesajları", - "sms-messages-daily-activity": "Günlük SMS mesajları etkinliği", - "sms-messages-monthly-activity": "Aylık SMS mesajları etkinliği", + "sms-messages-daily-activity": "Günlük SMS mesajları", + "sms-messages-monthly-activity": "Aylık SMS mesajları", "successful": "${entityName} Başarılı", "telemetry": "Telemetri", "telemetry-persistence": "Telemetri kalıcılığı", - "telemetry-persistence-daily-activity": "Günlük Telemetri kalıcılığı", - "telemetry-persistence-hourly-activity": "Saatlik Telemetri kalıcılığı", - "telemetry-persistence-monthly-activity": "Aylık Telemetri kalıcılığı", - "transport": "Aktarım", - "transport-daily-activity": "Günlük Aktarım etkinliği", - "transport-data-points": "Aktarım veri noktaları", - "transport-hourly-activity": "Saatlik Aktarım etkinliği", - "transport-messages": "Aktarım mesajları", - "transport-monthly-activity": "Aylık Aktarım etkinliği", - "view-details": "Detayları göster", + "telemetry-persistence-daily-activity": "Telemetri kalıcılığı günlük etkinliği", + "telemetry-persistence-hourly-activity": "Telemetri kalıcılığı saatlik etkinliği", + "telemetry-persistence-monthly-activity": "Telemetri kalıcılığı aylık etkinliği", + "transport": "İletim", + "transport-daily-activity": "İletim günlük etkinliği", + "transport-data-points": "İletim veri noktaları", + "transport-hourly-activity": "İletim saatlik etkinliği", + "transport-messages": "İletim mesajları", + "transport-monthly-activity": "İletim aylık etkinliği", + "view-details": "Detayları görüntüle", "view-statistics": "İstatistikleri görüntüle" }, + "api-limit": { + "cassandra-write-queries-core": "Rest API Cassandra yazma sorguları", + "cassandra-read-queries-core": "Rest API ve WS telemetri Cassandra okuma sorguları", + "cassandra-write-queries-rule-engine": "Kural Motoru telemetri Cassandra yazma sorguları", + "cassandra-read-queries-rule-engine": "Kural Motoru telemetri Cassandra okuma sorguları", + "cassandra-write-queries-monolith": "Monolith telemetri Cassandra yazma sorguları", + "cassandra-read-queries-monolith": "Monolith telemetri Cassandra okuma sorguları", + "entity-version-creation": "Varlık sürümü oluşturma", + "entity-version-load": "Varlık sürümü yükleme", + "notification-requests": "Bildirim istekleri", + "notification-requests-per-rule": "Kural başına bildirim istekleri", + "rest-api-requests": "REST API istekleri", + "rest-api-requests-per-customer": "Müşteri başına REST API istekleri", + "transport-messages": "İletim mesajları", + "transport-messages-per-device": "Cihaz başına iletim mesajları", + "transport-messages-per-gateway": "Ağ geçidi başına iletim mesajları", + "transport-messages-per-gateway-device": "Ağ geçidi cihazı başına iletim mesajları", + "ws-updates-per-session": "Oturum başına WS güncellemeleri", + "edge-events": "Edge olayları", + "edge-events-per-edge": "Edge başına olaylar", + "edge-uplink-messages": "Edge yukarı bağlantı mesajları", + "edge-uplink-messages-per-edge": "Edge başına yukarı bağlantı mesajları" + }, "audit-log": { - "audit": "Log ve Hata Yönetimi", - "audit-logs": "Loglar ve Hatalar", - "timestamp": "Zaman", - "entity-type": "Öğe Türü", - "entity-name": "Öğe İsmi", + "audit": "Denetim", + "audit-logs": "Denetim günlükleri", + "timestamp": "Zaman damgası", + "entity-type": "Varlık türü", + "entity-name": "Varlık adı", "user": "Kullanıcı", "type": "Tür", "status": "Durum", @@ -541,486 +961,979 @@ "type-updated": "Güncellendi", "type-attributes-updated": "Öznitelikler güncellendi", "type-attributes-deleted": "Öznitelikler silindi", - "type-rpc-call": "Uzaktan işlem çağrısı", + "type-rpc-call": "RPC çağrısı", "type-credentials-updated": "Kimlik bilgileri güncellendi", - "type-assigned-to-customer": "Kullanıcı grubuna atandı", - "type-unassigned-from-customer": "Kullanıcı grubundan atama kaldırıldı", - "type-assigned-to-edge": "Uç'a Atandı", - "type-unassigned-from-edge": "Uç'tan Kaldırıldı", + "type-assigned-to-customer": "Müşteriye atandı", + "type-unassigned-from-customer": "Müşteriden ataması kaldırıldı", + "type-assigned-to-edge": "Edge'e atandı", + "type-unassigned-from-edge": "Edge'den ataması kaldırıldı", "type-activated": "Etkinleştirildi", "type-suspended": "Askıya alındı", "type-credentials-read": "Kimlik bilgileri okundu", "type-attributes-read": "Öznitelikler okundu", "type-relation-add-or-update": "İlişki güncellendi", "type-relation-delete": "İlişki silindi", - "type-relations-delete": "Tüm ilişki silindi", - "type-alarm-ack": "Kabul edilen", - "type-alarm-clear": "Temizlendi", + "type-relations-delete": "Tüm ilişkiler silindi", + "type-alarm-ack": "Alarm onaylandı", + "type-alarm-clear": "Alarm temizlendi", + "type-alarm-delete": "Alarm silindi", + "type-alarm-assign": "Alarm atandı", + "type-alarm-unassign": "Alarm ataması kaldırıldı", + "type-added-comment": "Yorum eklendi", + "type-updated-comment": "Yorum güncellendi", + "type-deleted-comment": "Yorum silindi", "type-login": "Giriş", "type-logout": "Çıkış", "type-lockout": "Kilitleme", "status-success": "Başarılı", "status-failure": "Başarısız", - "audit-log-details": "Log ve hata detayları", - "no-audit-logs-prompt": "Log ve hata bulunamadı", - "action-data": "Eylem verisi", - "failure-details": "Başarısız işlem detayları", - "search": "Hata ve Log Geçmişinde Ara", + "audit-log-details": "Denetim günlüğü detayları", + "no-audit-logs-prompt": "Günlük bulunamadı", + "action-data": "İşlem verisi", + "failure-details": "Hata detayları", + "search": "Denetim günlüklerinde ara", "clear-search": "Aramayı temizle", - "type-assigned-from-tenant": "Tenant'tan atandı", - "type-assigned-to-tenant": "Tenant'a atandı", - "type-provision-success": "Cihaz sağlandı", - "type-provision-failure": "Cihaz temel hazırlığı başarısız oldu", + "type-assigned-from-tenant": "Kiracıdan atandı", + "type-assigned-to-tenant": "Kiracıya atandı", + "type-provision-success": "Cihaz tedarik edildi", + "type-provision-failure": "Cihaz tedarik işlemi başarısız oldu", "type-timeseries-updated": "Telemetri güncellendi", - "type-timeseries-deleted": "Telemetri silindi" + "type-timeseries-deleted": "Telemetri silindi", + "type-sms-sent": "SMS gönderildi" + }, + "debug-settings": { + "label": "Hata Ayıklama Yapılandırması", + "on-failure": "Sadece hatalar (7/24)", + "all-messages": "Tüm mesajlar ({{time}})", + "failures": "Hatalar", + "entity": "varlık", + "hint": { + "main-limited": "Her {{time}} en fazla {{msg}} {{entity}} hata ayıklama mesajı kaydedilecektir.", + "on-failure": "Yalnızca hata mesajlarını günlüğe kaydet.", + "all-messages": "Tüm hata ayıklama mesajlarını günlüğe kaydet." + } + }, + "calculated-fields": { + "expression": "İfade", + "no-found": "Hesaplanmış alan bulunamadı", + "list": "{ count, plural, =1 {Bir hesaplanmış alan} other {# hesaplanmış alan listesi} }", + "selected-fields": "{ count, plural, =1 {1 hesaplanmış alan} other {# hesaplanmış alan} } seçildi", + "type": { + "simple": "Basit", + "script": "Komut dosyası" + }, + "arguments": "Argümanlar", + "decimals-by-default": "Varsayılan ondalık", + "debugging": "Hesaplanmış alan hata ayıklama", + "argument-name": "Argüman adı", + "datasource": "Veri kaynağı", + "add-argument": "Argüman ekle", + "test-script-function": "Komut dosyası işlevini test et", + "no-arguments": "Yapılandırılmış argüman yok", + "argument-settings": "Argüman ayarları", + "argument-current": "Geçerli varlık", + "argument-current-tenant": "Geçerli kiracı", + "argument-device": "Cihaz", + "argument-asset": "Varlık", + "argument-customer": "Müşteri", + "argument-tenant": "Geçerli kiracı", + "argument-type": "Argüman türü", + "see-debug-events": "Hata ayıklama olaylarını görüntüle", + "attribute": "Öznitelik", + "copy-argument-name": "Argüman adını kopyala", + "timeseries-key": "Zaman serisi anahtarı", + "device-name": "Cihaz adı", + "latest-telemetry": "En son telemetri", + "rolling": "Zaman serisi kaydırma", + "attribute-scope": "Öznitelik kapsamı", + "server-attributes": "Sunucu öznitelikleri", + "client-attributes": "İstemci öznitelikleri", + "shared-attributes": "Paylaşılan öznitelikler", + "attribute-key": "Öznitelik anahtarı", + "default-value": "Varsayılan değer", + "limit": "Maksimum değer", + "time-window": "Zaman aralığı", + "customer-name": "Müşteri adı", + "asset-name": "Varlık adı", + "timeseries": "Zaman serisi", + "output": "Çıktı", + "create": "Yeni hesaplanmış alan oluştur", + "file": "Hesaplanmış alan dosyası", + "invalid-file-error": "Geçersiz dosya biçimi. Lütfen dosyanın geçerli bir JSON dosyası olduğundan emin olun.", + "import": "Hesaplanmış alan içe aktar", + "export": "Hesaplanmış alan dışa aktar", + "export-failed-error": "Hesaplanmış alan dışa aktarılamadı: {{error}}", + "output-type": "Çıktı türü", + "delete-title": "Hesaplanmış alan '{{title}}' silinsin mi?", + "delete-text": "Dikkat, onaydan sonra hesaplanmış alan ve ilgili tüm veriler geri alınamaz hale gelecektir.", + "delete-multiple-title": "{ count, plural, =1 {1 hesaplanmış alanı} other {# hesaplanmış alanı} } silmek istediğinizden emin misiniz?", + "delete-multiple-text": "Dikkat, onaydan sonra seçilen tüm hesaplanmış alanlar ve ilgili tüm veriler geri alınamaz hale gelecektir.", + "test-with-this-message": "Bu mesaj ile test et", + "use-latest-timestamp": "En son zaman damgasını kullan", + "hint": { + "arguments-simple-with-rolling": "Basit türde hesaplanmış alan zaman serisi kaydırma tipi anahtar içermemelidir.", + "arguments-empty": "Argümanlar boş olmamalıdır.", + "expression-required": "İfade gereklidir.", + "expression-invalid": "İfade geçersiz", + "expression-max-length": "İfade uzunluğu 255 karakterden az olmalıdır.", + "argument-name-required": "Argüman adı gereklidir.", + "argument-name-pattern": "Argüman adı geçersiz.", + "argument-name-duplicate": "Bu adda bir argüman zaten mevcut.", + "argument-name-max-length": "Argüman adı 256 karakterden kısa olmalıdır.", + "argument-name-forbidden": "Bu argüman adı rezerve edilmiştir ve kullanılamaz.", + "argument-type-required": "Argüman türü gereklidir.", + "max-args": "Maksimum argüman sayısına ulaşıldı.", + "decimals-range": "Varsayılan ondalık sayısı 0 ile 15 arasında olmalıdır.", + "expression": "Varsayılan ifade, sıcaklığı Fahrenheit'tan Celsius'a dönüştürmeyi gösterir.", + "arguments-entity-not-found": "Argüman hedef varlığı bulunamadı.", + "use-latest-timestamp": "Etkinleştirilirse, hesaplanan değer sunucu zamanı yerine argümanlardan gelen telemetri için en son zaman damgası ile kaydedilir." + } + }, + "ai-models": { + "ai-models": "Yapay Zeka Modelleri", + "ai-model": "Yapay Zeka Modeli", + "model": "Model", + "name": "Ad", + "ai-provider": "Yapay Zeka Sağlayıcısı", + "no-found": "Yapay zeka modeli bulunamadı", + "list": "{ count, plural, =1 {Bir model} other {# model listesi} }", + "selected-fields": "{ count, plural, =1 {1 model} other {# model seçildi} }", + "add": "Model Ekle", + "delete-model-title": "'{{modelName}}' modelini silmek istediğinizden emin misiniz?", + "delete-model-text": "Dikkatli olun, onaydan sonra model ve tüm ilişkili veriler geri alınamaz hale gelecektir.", + "delete-models-title": "{ count, plural, =1 {1 modeli} other {# modeli} } silmek istediğinizden emin misiniz?", + "delete-models-text": "Dikkatli olun, onaydan sonra tüm seçili modeller silinecek ve tüm ilişkili veriler geri alınamaz hale gelecektir.", + "ai-providers": { + "openai": "OpenAI", + "azure-openai": "Azure OpenAI", + "google-ai-gemini": "Google AI Gemini", + "google-vertex-ai-gemini": "Google Vertex AI Gemini", + "mistral-ai": "Mistral AI", + "anthropic": "Anthropic", + "amazon-bedrock": "Amazon Bedrock", + "github-models": "GitHub Modelleri" + }, + "name-required": "Ad gerekli.", + "name-max-length": "Ad en fazla 255 karakter olmalıdır.", + "provider": "Sağlayıcı", + "api-key": "API anahtarı", + "api-key-required": "API anahtarı gerekli.", + "project-id": "Proje Kimliği", + "project-id-required": "Proje kimliği gerekli.", + "location": "Konum", + "location-required": "Konum gerekli.", + "service-account-key-file": "Hizmet hesabı anahtar dosyası", + "service-account-key-file-required": "Hizmet hesabı anahtar dosyası gereklidir.", + "no-file": "Dosya seçilmedi.", + "drop-file": "Bir dosya bırakın veya yüklemek için tıklayın.", + "personal-access-token": "Kişisel erişim belirteci", + "personal-access-token-required": "Kişisel erişim belirteci gereklidir.", + "configuration": "Yapılandırma", + "model-id": "Model Kimliği", + "model-id-required": "Model Kimliği gereklidir.", + "deployment-name": "Dağıtım adı", + "deployment-name-required": "Dağıtım adı gereklidir", + "set": "Ayarla", + "region": "Bölge", + "region-required": "Bölge gereklidir.", + "access-key-id": "Erişim anahtarı kimliği", + "access-key-id-required": "Erişim anahtarı kimliği gereklidir.", + "secret-access-key": "Gizli erişim anahtarı", + "secret-access-key-required": "Gizli erişim anahtarı gereklidir.", + "temperature": "Sıcaklık", + "temperature-hint": "Modelin çıktısındaki rastgelelik düzeyini ayarlar. Yüksek değerler rastgeleliği artırır, düşük değerler azaltır.", + "temperature-min": "0 veya daha büyük olmalıdır.", + "top-p": "Top P", + "top-p-hint": "Modelin seçim yapabileceği en olası belirteçlerden oluşan bir havuz oluşturur. Yüksek değerler daha geniş ve çeşitli bir havuz yaratır, düşük değerler daha küçük bir havuz oluşturur.", + "top-p-min-max": "0'dan büyük ve 1'e kadar olmalıdır.", + "top-k": "Top K", + "top-k-hint": "Modelin seçeneklerini en olası \"K\" belirteçle sınırlar.", + "top-k-min": "0 veya daha büyük olmalıdır.", + "presence-penalty": "Varlık cezası", + "presence-penalty-hint": "Bir belirteç metinde zaten bulunuyorsa, olasılığına sabit bir ceza uygular.", + "frequency-penalty": "Frekans cezası", + "frequency-penalty-hint": "Bir belirtecin metinde geçme sıklığına göre olasılığına ceza uygular.", + "max-output-tokens": "Maksimum çıktı belirteçleri", + "max-output-tokens-min": "0'dan büyük olmalıdır.", + "max-output-tokens-hint": "Modelin tek bir yanıtta üretebileceği maksimum belirteç sayısını ayarlar.", + "endpoint": "Uç nokta", + "endpoint-required": "Uç nokta gereklidir.", + "service-version": "Servis versiyonu", + "check-connectivity": "Bağlantıyı kontrol et", + "check-connectivity-success": "Test isteği başarılı oldu", + "check-connectivity-failed": "Test isteği başarısız oldu", + "no-model-matching": "'{{entity}}' ile eşleşen model bulunamadı.", + "model-required": "Model gereklidir.", + "no-model-text": "Model bulunamadı." }, "confirm-on-exit": { - "message": "Kaydedilmemiş değişiklikler var. Sayfadan ayrılmak istediğinize emin misiniz?", - "html-message": "Kaydedilmemiş değişiklikler var.
Sayfadan ayrılmak istediğinize emin misiniz?", - "title": "Kaydedilmemiş Değişiklikler" + "message": "Kaydedilmemiş değişiklikleriniz var. Bu sayfadan ayrılmak istediğinizden emin misiniz?", + "html-message": "Kaydedilmemiş değişiklikleriniz var.
Bu sayfadan ayrılmak istediğinizden emin misiniz?", + "title": "Kaydedilmemiş değişiklikler" }, "contact": { "country": "Ülke", + "country-required": "Ülke gereklidir.", "city": "Şehir", "state": "Eyalet / İl", "postal-code": "Posta Kodu", - "postal-code-invalid": "Geçersiz Posta Kodu.", + "postal-code-invalid": "Geçersiz posta kodu biçimi.", "address": "Adres", "address2": "Adres 2", "phone": "Telefon", "email": "E-posta", - "no-address": "Adres yok" + "no-address": "Adres yok", + "no-country-found": "Ülke bulunamadı.", + "no-country-matching": "'{{country}}' ile eşleşen ülke bulunamadı.", + "state-max-length": "Eyalet uzunluğu 256 karakterden kısa olmalıdır", + "phone-max-length": "Telefon numarası 256 karakterden kısa olmalıdır", + "city-max-length": "Belirtilen şehir 256 karakterden kısa olmalıdır" }, "common": { + "name": "Ad", + "type": "Tür", + "general": "Genel", "username": "Kullanıcı adı", "password": "Parola", - "enter-username": "Kullanıcı adı gir", - "enter-password": "Parola gir", - "enter-search": "Arama gir", - "created-time": "Oluşma zamanı", + "data": "Veri", + "timestamp": "Zaman damgası", + "enter-username": "Kullanıcı adı girin", + "enter-password": "Parola girin", + "enter-search": "Arama yapın", + "created-time": "Oluşturulma zamanı", + "disabled": "Devre dışı", "loading": "Yükleniyor...", - "proceed": "İlerle" + "proceed": "Devam et", + "open-details-page": "Detay sayfasını aç", + "not-found": "Bulunamadı", + "value": "Değer", + "documentation": "Dokümantasyon", + "time-left": "{{time}} kaldı", + "output": "Çıktı", + "suffix": { + "s": "sn", + "ms": "ms" + }, + "hint": { + "name-required": "Ad gereklidir.", + "name-pattern": "Ad geçersiz.", + "name-max-length": "Ad 256 karakterden kısa olmalıdır.", + "title-required": "Başlık gereklidir.", + "title-pattern": "Başlık geçersiz.", + "title-max-length": "Başlık 256 karakterden kısa olmalıdır.", + "key-required": "Anahtar gereklidir.", + "key-pattern": "Anahtar geçersiz.", + "key-max-length": "Anahtar 256 karakterden kısa olmalıdır." + }, + "required-fields": "Zorunlu alanlar eksik" }, "content-type": { "json": "Json", "text": "Metin", "binary": "İkili (Base64)" }, + "color": { + "color": "Renk" + }, "customer": { - "customer": "Kullanıcı Grubu", - "customers": "Kullanıcı Grupları", - "management": "Kullanıcı Grubu Yönetimi", - "dashboard": "Kullanıcı Grubu Gösterge Paneli", - "dashboards": "Kullanıcı Grubu Gösterge Panellleri", - "devices": "Kullanıcı Grubu Cihazları", - "entity-views": "Kullanıcı Grubu Öğe Görüntüleme Sayısı", - "assets": "Kullanıcı Grubu Varlıkları", - "public-dashboards": "Açık Gösterge Panelleri", - "public-devices": "Açık Cihazlar", - "public-assets": "Açık Varlıklar", - "public-edges": "Açık Uçlar", - "public-entity-views": "Açık Öğe Görünümleri", - "add": "Kullanıcı grubu ekle", - "delete": "Kullanıcı grubunu sil", - "manage-customer-users": "Kullanıcı grubu kullanıcılarını yönet", - "manage-customer-devices": "Kullanıcı grubu cihazlarını yönet", - "manage-customer-dashboards": "Kullanıcı grubu Gösterge panellerini yönet", - "manage-public-devices": "Açık cihazları yönet", - "manage-public-dashboards": "Açık Gösterge panellerini yönet", - "manage-customer-assets": "Kullanıcı Grubu varlıklarını yönet", - "manage-public-assets": "Açık varlıkları yönet", - "manage-customer-edges": "Kullanıcı Grubu uçlarını yönetin", - "manage-public-edges": "Açık Uçları yönetin", - "add-customer-text": "Yeni Kullanıcı Grubu ekle", - "no-customers-text": "Kullanıcı Grubu bulunamadı", - "customer-details": "Kullanıcı Grubu detayları", - "delete-customer-title": "'{{customerTitle}}' Kullanıcı Grubunu silmek istediğinizden emin misiniz?", - "delete-customer-text": "Dikkatli olun, onaydan sonra kullanıcı grubu ve ilgili tüm veriler kurtarılamaz hale gelecektir.", - "delete-customers-title": "{ count, plural, =1 {1 kullanıcı grubunu} other {# kullanıcı grubunu} } silmek istediğinize emin misiniz?", - "delete-customers-action-title": "{ count, plural, =1 {1 kullanıcı grubunu} other {# kullanıcı grubunu} } sil", - "delete-customers-text": "YARI: Onaylandıktan sonra tüm seçili kullanıcı grupları ve ilişkili veriler geri yüklenemez şekilde silinecek.", + "customer": "Müşteri", + "customers": "Müşteriler", + "management": "Müşteri yönetimi", + "dashboard": "Müşteri Panosu", + "dashboards": "Müşteri Panoları", + "devices": "Müşteri Cihazları", + "entity-views": "Müşteri Varlık Görünümleri", + "assets": "Müşteri Varlıkları", + "public-dashboards": "Genel Panolar", + "public-devices": "Genel Cihazlar", + "public-assets": "Genel Varlıklar", + "public-entity-views": "Genel Varlık Görünümleri", + "add": "Müşteri ekle", + "delete": "Müşteriyi sil", + "manage-customer-users": "Müşteri kullanıcılarını yönet", + "manage-customer-devices": "Müşteri cihazlarını yönet", + "manage-customer-dashboards": "Müşteri panolarını yönet", + "manage-public-devices": "Genel cihazları yönet", + "manage-public-dashboards": "Genel panoları yönet", + "manage-customer-assets": "Müşteri varlıklarını yönet", + "manage-customer-edges": "Müşteri uç birimlerini yönet", + "manage-public-assets": "Genel varlıkları yönet", + "add-customer-text": "Yeni müşteri ekle", + "no-customers-text": "Hiç müşteri bulunamadı", + "customer-details": "Müşteri detayları", + "delete-customer-title": "‘{{customerTitle}}’ adlı müşteriyi silmek istediğinizden emin misiniz?", + "delete-customer-text": "Dikkatli olun, onaydan sonra müşteri ve tüm ilgili veriler geri alınamaz şekilde silinecek.", + "delete-customers-title": "{ count, plural, =1 {1 müşteriyi} other {# müşteriyi} } silmek istediğinizden emin misiniz?", + "delete-customers-action-title": "{ count, plural, =1 {1 müşteriyi} other {# müşteriyi} } sil", + "delete-customers-text": "Dikkatli olun, onaydan sonra tüm seçili müşteriler ve ilgili veriler geri alınamaz şekilde silinecek.", "manage-users": "Kullanıcıları yönet", "manage-assets": "Varlıkları yönet", "manage-devices": "Cihazları yönet", - "manage-dashboards": "Gösterge panellerini yönet", + "manage-dashboards": "Panoları yönet", "title": "Başlık", "title-required": "Başlık gerekli.", + "title-max-length": "Başlık 256 karakterden kısa olmalıdır", "description": "Açıklama", "details": "Detaylar", - "events": "Etkinlikler", - "copyId": "Kullanıcı kimliğini kopyala", - "idCopiedMessage": "Kullanıcı kimliği panoya kopyalandı", - "select-customer": "Kullanıcı grubunu seç", - "no-customers-matching": "'{{entity}}' ile eşleşen kullanıcı grubu bulunamadı.", - "customer-required": "Kullanıcı grubu gerekli", - "select-default-customer": "Varsayılan kullanıcı grubunu seç", - "default-customer": "Varsayılan kullanıcı grubu", - "default-customer-required": "Tenant düzeyinde gösterge tablosunda hata ayıklamak için varsayılan kullanıcı grubu gerekiyor", - "search": "Kullanıcı grubu ara", - "selected-customers": "{ count, plural, =1 {1 kullanıcı grubu} other {# kullanıcı grubu} } seçildi", - "edges": "Kullanıcı Grubu uç örnekleri", - "manage-edges": "Uçları yönet" + "events": "Olaylar", + "copyId": "Müşteri Kimliğini kopyala", + "idCopiedMessage": "Müşteri Kimliği panoya kopyalandı", + "select-customer": "Müşteri seç", + "no-customers-matching": "‘{{entity}}’ ile eşleşen müşteri bulunamadı.", + "customer-required": "Müşteri gerekli", + "select-default-customer": "Varsayılan müşteri seç", + "default-customer": "Varsayılan müşteri", + "default-customer-required": "Tenant seviyesinde pano hata ayıklaması için varsayılan müşteri gereklidir", + "search": "Müşteri ara", + "selected-customers": "{ count, plural, =1 {1 müşteri} other {# müşteri} } seçildi", + "edges": "Müşteri uç birimleri", + "manage-edges": "Uç birimleri yönet" + }, + "css-size": { + "size-value-required": "Boyut değeri gereklidir", + "invalid-size-value": "Geçersiz boyut değeri" + }, + "date": { + "last-update-n-ago": "Son güncelleme N önce", + "last-update-n-ago-text": "Son güncelleme {{ agoText }}", + "custom-date": "Özel tarih", + "format": "Format", + "preview": "Önizleme", + "auto": "Otomatik", + "time-granularity-formats": "Zaman ayrıntı formatları", + "unit-year": "Yıllar", + "unit-month": "Aylar", + "unit-day": "Günler", + "unit-hour": "Saatler", + "unit-minute": "Dakikalar", + "unit-second": "Saniyeler", + "unit-millisecond": "Milisaniyeler" }, "datetime": { - "date-from": "Tarihinden", - "time-from": "Saatinden", - "date-to": "Tarihine", - "time-to": "Saatine" + "date-from": "Başlangıç tarihi", + "time-from": "Başlangıç saati", + "date-to": "Bitiş tarihi", + "time-to": "Bitiş saati", + "from": "Başlangıç", + "to": "Bitiş" }, "dashboard": { - "dashboard": "Gösterge Paneli", - "dashboards": "Gösterge Panelleri", - "management": "Gösterge Paneli Yönetimi", - "view-dashboards": "Gösterge Panellerini Görüntüle", - "add": "Gösterge Paneli Ekle", - "assign-dashboard-to-customer": "Kullanıcı Grubuna Gösterge Panel(ler)i Ata", - "assign-dashboard-to-customer-text": "Lütfen kullanıcı grubuna atanacak gösterge panellerini seçin", - "assign-dashboard-to-edge-title": "Gösterge panellerini Uç'a Ata", - "assign-to-customer-text": "Lütfen gösterge panellerini atayacak kullanıcı grubu seçin", - "assign-to-customer": "Kullanıcı grubuna ata", - "unassign-from-customer": "Kullanıcı grubundan atamayı kaldır", - "make-public": "Gösterge panelini açık hale getir", - "make-private": "Gösterge panelini özel hale getir", - "manage-assigned-customers": "Atanan kullanıcı gruplarını yönet", - "assigned-customers": "Atanan kullanıcı grupları", - "assign-to-customers": "Kullanıcı gruplarına gösterge paneli ata", - "assign-to-customers-text": "Lütfen gösterge panosunu atamak için kullanıcı gruplarını seçin", - "unassign-from-customers": "Kullanıcı gruplarından gösterge panelini kaldır", - "unassign-from-customers-text": "Lütfen gösterge tablosundan atamak için kullanıcı gruplarını seçin", - "no-dashboards-text": "Gösterge paneli bulunamadı", - "no-widgets": "Hiçbir gösterge yapılandırılmadı", - "add-widget": "Yeni gösterge ekle", + "dashboard": "Pano", + "dashboards": "Panolar", + "management": "Pano yönetimi", + "view-dashboards": "Panoları görüntüle", + "add": "Pano ekle", + "assign-dashboard-to-customer": "Pano(ları) müşteriye ata", + "assign-dashboard-to-customer-text": "Lütfen müşteriye atamak için panoları seçin", + "assign-to-customer-text": "Lütfen pano(ları) atamak için müşteriyi seçin", + "assign-to-customer": "Müşteriye ata", + "unassign-from-customer": "Müşteriden kaldır", + "make-public": "Panoyu herkese açık yap", + "make-private": "Panoyu gizli yap", + "manage-assigned-customers": "Atanmış müşterileri yönet", + "assigned-customers": "Atanmış müşteriler", + "assign-to-customers": "Pano(ları) müşterilere ata", + "assign-to-customers-text": "Lütfen pano(ları) atamak için müşterileri seçin", + "unassign-from-customers": "Pano(ları) müşterilerden kaldır", + "unassign-from-customers-text": "Lütfen pano(ları) kaldırmak için müşterileri seçin", + "no-dashboards-text": "Pano bulunamadı", + "no-widgets": "Yapılandırılmış widget yok", + "add-widget": "Yeni widget ekle", + "add-widget-button-text": "Widget ekle", "title": "Başlık", - "image": "Gösterge Paneli resmi", + "image": "Pano görseli", "mobile-app-settings": "Mobil uygulama ayarları", - "mobile-order": "Mobil uygulamada gösterge paneli sırası", - "mobile-hide": "Mobil uygulamada gösterge panelini gizle", - "update-image": "Gösterge paneli resmini güncelle", + "mobile-order": "Mobil uygulamadaki pano sırası", + "mobile-hide": "Panoyu mobil uygulamada gizle", + "update-image": "Pano görselini güncelle", "take-screenshot": "Ekran görüntüsü al", - "select-widget-title": "Gösterge seç", - "select-widget-value": "{{title}}: gösterge seç", - "select-widget-subtitle": "Kullanılabilir gösterge türleri listesi", - "delete": "Gösterge paneli sil", - "title-required": "Başlık gerekli.", + "select-widget-title": "Widget seç", + "select-widget-value": "{{title}}: widget seç", + "select-widget-subtitle": "Mevcut widget türlerinin listesi", + "delete": "Panoyu sil", + "title-required": "Başlık gereklidir.", + "title-max-length": "Başlık 256 karakterden kısa olmalıdır", "description": "Açıklama", "details": "Detaylar", - "dashboard-details": "Gösterge paneli detayları", - "add-dashboard-text": "Yeni Gösterge paneli ekle", - "assign-dashboards": "Gösterge panelleri ata", - "assign-new-dashboard": "Yeni gösterge paneli ata", - "assign-dashboards-text": "{ count, plural, =1 {1 gösterge panelini} other {# gösterge panelini} } kullanıcı grubuna ata", - "unassign-dashboards-action-text": "Kullanıcı Gruplarından atama { count, plural, =1 {1 gösterge tablosu} other {# panolar} }", - "delete-dashboards": "Gösterge panellerini sil", - "unassign-dashboards": "Gösterge panellerinden atamayı kaldır", - "unassign-dashboards-action-title": "{ count, plural, =1 {1 gösterge panelinin} other {# gösterge panelinin} } atamaları kullanıcı grubundan kaldır", - "delete-dashboard-title": "'{{dashboardTitle}}' isimli gösterge panelini silmek istediğinize emin misiniz?", - "delete-dashboard-text": "UYARI: Onaylandıktan sonra gösterge paneli ve ilişkili verileri geri yüklenemez şekilde silinecek.", - "delete-dashboards-title": "{ count, plural, =1 {1 gösterge panelini} other {# gösterge panelini} } silmek istediğinize emin misiniz?", - "delete-dashboards-action-title": "{ count, plural, =1 {1 gösterge panelini} other {# gösterge panelini} } sil", - "delete-dashboards-text": "UYARI: Onaylandıktan sonra tüm seçili gösterge panelleri ve ilişkili verileri geri yüklenemez şekilde silinecek.", - "unassign-dashboard-title": "'{{dashboardTitle}}' isimli gösterge panelindeki atamayı kaldırmak istediğinize emin misiniz?", - "unassign-dashboard-text": "Onaylandıktan sonra gösterge panelinin ataması kaldırılacak ve kullanıcı grubu tarafından erişilemez hale gelecektir.", - "unassign-dashboard": "Gösterge panelinin ataması kaldır", - "unassign-dashboards-title": "{count, plural, =1 {1 gösterge panelindeki} other {# gösterge panelindeki} } atamayı kaldırmak istediğinize emin misiniz?", - "unassign-dashboards-text": "Onaylandıktan {{dashboardTitle}} açık hale getirildi ve bu bağlantıdan erişilebilir durumda", - "public-dashboard-notice": "Not: Gösterge panelinden tüm verilere erişebilmek adına ilişkili cihazları da açık hale getirmeniz gerekmektedir.", - "make-private-dashboard-title": "'{{dashboardTitle}}' isimli gösterge panelini özel hale getirmek istediğinize emin misiniz?", - "make-private-dashboard-text": "Onaylandıktan sonra gösterge paneli özel hale getirilecek ve başkaları tarafından erişilemez olacak.", - "make-private-dashboard": "Gösterge panelini özel hale getir", - "socialshare-text": "'{{dashboardTitle}}'", - "socialshare-title": "'{{dashboardTitle}}'", - "select-dashboard": "Gösterge paneli seç", - "no-dashboards-matching": "'{{entity}}' ile eşleşen gösterge paneli bulunamadı.", - "dashboard-required": "Gösterge paneli gerekli.", - "select-existing": "Var olan bir gösterge paneli seç", - "create-new": "Yeni bir gösterge paneli oluştur", - "new-dashboard-title": "Yeni gösterge paneli başlığı", - "open-dashboard": "Gösterge panelini aç", - "set-background": "Arka plan belirle", + "dashboard-details": "Pano detayları", + "add-dashboard-text": "Yeni pano ekle", + "assign-dashboards": "Panoları ata", + "assign-new-dashboard": "Yeni pano ata", + "assign-dashboards-text": "{ count, plural, =1 {1 pano} other {# pano} } müşterilere ata", + "unassign-dashboards-action-text": "{ count, plural, =1 {1 pano} other {# pano} } müşterilerden kaldır", + "delete-dashboards": "Panoları sil", + "unassign-dashboards": "Panoları kaldır", + "unassign-dashboards-action-title": "{ count, plural, =1 {1 pano} other {# pano} } müşteriden kaldır", + "delete-dashboard-title": "'{{dashboardTitle}}' panosunu silmek istediğinize emin misiniz?", + "delete-dashboard-text": "Dikkatli olun, onaydan sonra pano ve tüm ilgili veriler geri alınamaz olacak.", + "delete-dashboards-title": "{ count, plural, =1 {1 pano} other {# pano} } silmek istediğinize emin misiniz?", + "delete-dashboards-action-title": "{ count, plural, =1 {1 pano} other {# pano} } sil", + "delete-dashboards-text": "Dikkatli olun, onaydan sonra tüm seçili panolar silinecek ve tüm ilgili veriler geri alınamaz olacak.", + "unassign-dashboard-title": "'{{dashboardTitle}}' panosunu kaldırmak istediğinize emin misiniz?", + "unassign-dashboard-text": "Onaydan sonra pano kaldırılacak ve müşteri tarafından erişilemeyecek.", + "unassign-dashboard": "Panoyu kaldır", + "unassign-dashboards-title": "{ count, plural, =1 {1 pano} other {# pano} } kaldırmak istediğinize emin misiniz?", + "unassign-dashboards-text": "Onaydan sonra seçili tüm panolar kaldırılacak ve müşteri tarafından erişilemeyecek.", + "public-dashboard-title": "Pano artık herkese açık", + "public-dashboard-text": "{{dashboardTitle}} panonuz artık herkese açık ve aşağıdaki bağlantı üzerinden erişilebilir:", + "public-dashboard-notice": "Not: Verilerine erişebilmek için ilgili cihazları herkese açık yapmayı unutmayın.", + "make-private-dashboard-title": "'{{dashboardTitle}}' panosunu gizli yapmak istediğinize emin misiniz?", + "make-private-dashboard-text": "Onaydan sonra pano gizli olacak ve başkaları tarafından erişilemeyecek.", + "make-private-dashboard": "Panoyu gizli yap", + "socialshare-text": "'{{dashboardTitle}}' ThingsBoard tarafından desteklenmektedir", + "socialshare-title": "'{{dashboardTitle}}' ThingsBoard tarafından desteklenmektedir", + "select-dashboard": "Pano seç", + "no-dashboards-matching": "'{{entity}}' ile eşleşen pano bulunamadı.", + "dashboard-required": "Pano gereklidir.", + "select-existing": "Mevcut panoyu seç", + "create-new": "Yeni pano oluştur", + "new-dashboard-title": "Yeni pano başlığı", + "open-dashboard": "Panoyu aç", + "set-background": "Arka planı ayarla", "background-color": "Arka plan rengi", "background-image": "Arka plan resmi", - "background-size-mode": "Arka plan boyutu modu", - "no-image": "Hiçbir resim seçilmedi", - "empty-image": "Resim yok", - "drop-image": "Bir resim bırakın veya yüklenecek dosyayı seçmek için tıklayın.", - "maximum-upload-file-size": "Maksimum yükleme dosyası boyutu: {{ size }}", + "background-size-mode": "Arka plan boyut modu", + "no-image": "Seçili görsel yok", + "empty-image": "Görsel yok", + "drop-image": "Bir görsel bırakın veya yüklemek için tıklayın.", + "maximum-upload-file-size": "Maksimum dosya boyutu: {{ size }}", "cannot-upload-file": "Dosya yüklenemiyor", "settings": "Ayarlar", + "move-all-widgets": "Tüm widget'ları taşı", + "move-by": "Şu kadar taşı", + "cols": "sütun", + "rows": "satır", + "layout": "Yerleşim", + "layout-type-default": "Varsayılan", + "layout-type-scada": "SCADA", + "layout-type-divider": "Bölücü", + "layout-settings-type": "Yerleşim ayarları: {{ type }} kırılım noktası", "columns-count": "Sütun sayısı", - "columns-count-required": "Sütun sayısı gerekli.", - "min-columns-count-message": "Yalnızca 10 minimum sütun sayısına izin verilir.", - "max-columns-count-message": "Yalnızca 1000 maksimum sütun sayısına izin verilir.", - "widgets-margins": "Göstergeler arasındaki boşluk", - "margin-required": "Boşluk değeri gerekli.", - "min-margin-message": "Minimum boşluk değeri olarak yalnızca 0'a izin verilir.", - "max-margin-message": "Maksimum boşluk değeri olarak yalnızca 50'ye izin verilir.", - "horizontal-margin": "Yatay kenar boşluğu", - "horizontal-margin-required": "Yatay kenar boşluğu değeri gerekli.", - "min-horizontal-margin-message": "Minimum yatay kenar boşluğu değeri olarak yalnızca 0'a izin verilir.", - "max-horizontal-margin-message": "Maksimum yatay kenar boşluğu değeri olarak yalnızca 50'ye izin verilir.", - "vertical-margin": "Dikey kenar boşluğu", - "vertical-margin-required": "Dikey kenar boşluğu değeri gerekli.", - "min-vertical-margin-message": "Minimum dikey kenar boşluğu değeri olarak yalnızca 0'a izin verilir.", - "max-vertical-margin-message": "Maksimum dikey kenar boşluğu değeri olarak yalnızca 50'ye izin verilir.", - "autofill-height": "Otomatik doldurma görünüm yüksekliği", - "mobile-layout": "Mobil görünüm ayarları", - "mobile-row-height": "Mobil satır yüksekliği, px", - "mobile-row-height-required": "Mobil satır yükseklik değeri gerekli.", - "min-mobile-row-height-message": "Minimum mobil satır yüksekliği değeri olarak yalnızca 5 piksele izin verilir.", - "max-mobile-row-height-message": "Maksimum mobil satır yüksekliği değeri olarak yalnızca 200 piksele izin verilir.", + "columns-count-required": "Sütun sayısı gereklidir.", + "min-columns-count-message": "En az 10 sütun değeri girilebilir.", + "max-columns-count-message": "En fazla 1000 sütun değeri girilebilir.", + "min-layout-width": "Minimum yerleşim genişliği", + "columns-suffix": "sütun", + "widgets-margins": "Widget'lar arası boşluk", + "margin-required": "Boşluk değeri gereklidir.", + "min-margin-message": "Minimum boşluk değeri yalnızca 0 olabilir.", + "max-margin-message": "Maksimum boşluk değeri yalnızca 50 olabilir.", + "horizontal-margin": "Yatay boşluk", + "horizontal-margin-required": "Yatay boşluk değeri gereklidir.", + "min-horizontal-margin-message": "Minimum yatay boşluk değeri yalnızca 0 olabilir.", + "max-horizontal-margin-message": "Maksimum yatay boşluk değeri yalnızca 50 olabilir.", + "vertical-margin": "Dikey boşluk", + "vertical-margin-required": "Dikey boşluk değeri gereklidir.", + "min-vertical-margin-message": "Minimum dikey boşluk değeri yalnızca 0 olabilir.", + "max-vertical-margin-message": "Maksimum dikey boşluk değeri yalnızca 50 olabilir.", + "apply-outer-margin": "Yerleşim kenarlarına boşluk uygula", + "autofill-height": "Yerleşim yüksekliğini otomatik doldur", + "mobile-layout": "Mobil yerleşim ayarları", + "mobile-row-height": "Mobil satır yüksekliği", + "mobile-row-height-required": "Mobil satır yüksekliği gereklidir.", + "min-mobile-row-height-message": "Minimum mobil satır yüksekliği değeri yalnızca 5 piksel olabilir.", + "max-mobile-row-height-message": "Maksimum mobil satır yüksekliği değeri yalnızca 200 piksel olabilir.", + "row-height": "Satır yüksekliği", + "row-height-required": "Satır yüksekliği değeri gereklidir.", + "min-row-height-message": "Minimum satır yüksekliği değeri yalnızca 5 piksel olabilir.", + "max-row-height-message": "Maksimum satır yüksekliği değeri yalnızca 200 piksel olabilir.", + "display-first-in-mobile-view": "Mobil görünümde ilk olarak göster", "title-settings": "Başlık ayarları", - "display-title": "Gösterge paneli başlığını görüntüle", + "display-title": "Pano başlığını göster", "title-color": "Başlık rengi", "toolbar-settings": "Araç çubuğu ayarları", "hide-toolbar": "Araç çubuğunu gizle", - "toolbar-always-open": "Araç çubuğunu açık tut", - "display-dashboards-selection": "Gösterge paneli seçimini görüntüle", - "display-entities-selection": "Öğe seçimini görüntüle", - "display-filters": "Görüntü filtreleri", - "display-dashboard-timewindow": "Zaman penceresini göster", - "display-dashboard-export": "Dışa aktarmayı görüntüle", - "display-update-dashboard-image": "Gösterge paneli resmini güncellemeyi görüntüle", - "dashboard-logo-settings": "Gösterge paneli logosu ayarları", - "display-dashboard-logo": "Gösterge paneli tam ekran modunda logoyu görüntüle", - "dashboard-logo-image": "Gösterge paneli logosu resmi", - "import": "Gösterge panelini içe aktar", - "export": "Gösterge panelini dışa aktar", - "export-failed-error": "Gösterge paneli dışa aktarılamıyor: {{hata}}", - "create-new-dashboard": "Yeni gösterge paneli oluştur", - "dashboard-file": "Gösterge paneli dosyası", - "invalid-dashboard-file-error": "Gösterge paneli içe aktarılamıyor: Geçersiz Gösterge paneli veri yapısı.", - "dashboard-import-missing-aliases-title": "İçe aktarılan gösterge paneli tarafından kullanılan kısa adları yapılandırın", - "create-new-widget": "Yeni gösterge oluştur", - "import-widget": "Göstergeyi içe aktar", - "widget-file": "Gösterge dosyası", - "invalid-widget-file-error": "Gösterge içe aktarılamıyor: Geçersiz gösterge veri yapısı.", - "widget-import-missing-aliases-title": "İçe aktarılan gösterge tarafından kullanılan kısa adları yapılandırın", - "open-toolbar": "Gösterge paneli araç çubuğunu aç", + "toolbar-always-open": "Araç çubuğunu her zaman açık tut", + "display-dashboards-selection": "Pano seçimini göster", + "display-entities-selection": "Varlık seçimini göster", + "display-filters": "Filtreleri göster", + "display-dashboard-timewindow": "Zaman aralığını göster", + "display-dashboard-export": "Dışa aktarımı göster", + "display-update-dashboard-image": "Pano görselini güncelle seçeneğini göster", + "dashboard-logo-settings": "Pano logosu ayarları", + "display-dashboard-logo": "Tam ekran modunda logoyu göster", + "dashboard-logo-image": "Pano logosu görseli", + "advanced-settings": "Gelişmiş ayarlar", + "dashboard-css": "Pano CSS", + "import": "Panoyu içe aktar", + "export": "Panoyu dışa aktar", + "export-failed-error": "Panoyu dışa aktarma başarısız: {{error}}", + "export-prompt": "Pano görselleri ve kaynaklarını göm", + "create-new-dashboard": "Yeni pano oluştur", + "dashboard-file": "Pano dosyası", + "invalid-dashboard-file-error": "Panoyu içe aktarma başarısız: Geçersiz pano veri yapısı.", + "dashboard-import-missing-aliases-title": "İçe aktarılan panoda kullanılan takma adları yapılandır", + "create-new-widget": "Yeni widget oluştur", + "import-widget": "Widget içe aktar", + "widget-file": "Widget dosyası", + "invalid-widget-file-error": "Widget içe aktarılamadı: Geçersiz widget veri yapısı.", + "widget-import-missing-aliases-title": "İçe aktarılan widget'ta kullanılan takma adları yapılandır", + "open-toolbar": "Pano araç çubuğunu aç", "close-toolbar": "Araç çubuğunu kapat", "configuration-error": "Yapılandırma hatası", - "alias-resolution-error-title": "Gösterge paneli kısa adları yapılandırma hatası", - "invalid-aliases-config": "Kısa ad filtresinin bazılarıyla eşleşen herhangi bir cihaz bulunamadı.
Bu sorunu çözmek için lütfen yöneticinizle iletişime geçin.", - "select-devices": "Cihaz seçin", - "assignedToCustomer": "Kullanıcı grubuna atandı", - "assignedToCustomers": "Kullanıcılara atandı", - "public": "Açık", - "public-link": "Açık bağlantı", - "copy-public-link": "Açık bağlantıyı kopyala", - "public-link-copied-message": "Gösterge paneli açık bağlantısı panoya kopyalandı", - "manage-states": "Gösterge paneli durumlarını yönet", - "states": "Gösterge paneli durumları", - "search-states": "Gösterge paneli durumlarını ara", - "selected-states": "{ count, plural, =1 {1 gösterge paneli durumu} other {# gösterge paneli durumları} } seçildi", - "edit-state": "Gösterge paneli durumunu düzenle", - "delete-state": "Gösterge paneli durumunu sil", - "add-state": "Gösterge paneli durumu ekle", + "alias-resolution-error-title": "Pano takma ad yapılandırma hatası", + "invalid-aliases-config": "Bazı takma ad filtrelerine uyan cihazlar bulunamadı.
Bu sorunu çözmek için yöneticinize başvurun.", + "select-devices": "Cihazları seç", + "assignedToCustomer": "Müşteriye atanmış", + "assignedToCustomers": "Müşterilere atanmış", + "public": "Genel", + "copyId": "Pano kimliğini kopyala", + "idCopiedMessage": "Pano kimliği panoya kopyalandı", + "public-link": "Genel bağlantı", + "copy-public-link": "Genel bağlantıyı kopyala", + "public-link-copied-message": "Pano genel bağlantısı panoya kopyalandı", + "manage-states": "Pano durumlarını yönet", + "states": "Pano durumları", + "states-short": "Durumlar", + "search-states": "Pano durumlarını ara", + "selected-states": "{ count, plural, =1 {1 pano durumu} other {# pano durumu} } seçildi", + "edit-state": "Pano durumunu düzenle", + "delete-state": "Pano durumunu sil", + "add-state": "Pano durumu ekle", "no-states-text": "Durum bulunamadı", - "state": "Gösterge paneli durumu", - "state-name": "İsim", - "state-name-required": "Gösterge paneli durumu ismi gerekli.", - "state-id": "Durum Kimliği", - "state-id-required": "Durum Kimliği gerekli.", - "state-id-exists": "Aynı kimliğe sahip gösterge paneli durumu zaten var.", + "state": "Pano durumu", + "state-name": "Ad", + "state-name-required": "Pano durumu adı gereklidir.", + "state-id": "Durum kimliği", + "state-id-required": "Pano durumu kimliği gereklidir.", + "state-id-exists": "Aynı kimliğe sahip bir pano durumu zaten mevcut.", "is-root-state": "Kök durum", - "delete-state-title": "Gösterge paneli durumunu sil", - "delete-state-text": "'{{stateName}}' adlı gösterge paneli durumunu silmek istediğinizden emin misiniz?", - "show-details": "Detayları göster", - "hide-details": "Detayları gizle", - "select-state": "Hedef durumu seçin", + "delete-state-title": "Pano durumunu sil", + "delete-state-text": "'{{stateName}}' adlı pano durumunu silmek istediğinizden emin misiniz?", + "show-details": "Ayrıntıları göster", + "hide-details": "Ayrıntıları gizle", + "select-state": "Hedef durumu seç", "state-controller": "Durum denetleyicisi", - "search": "Gösterge panellerini ara", - "selected-dashboards": "{ count, plural, =1 {1 gösterge paneli} other {# gösterge panelleri} } seçildi", - "home-dashboard": "Ana sayfa gösterge paneli", - "home-dashboard-hide-toolbar": "Ana sayfa gösterge paneli araç çubuğunu gizle", - "unassign-dashboard-from-edge-text": "Onaydan sonra gösterge panelinin ataması kaldırılacak ve uç tarafından erişilebilir olmayacaktır.", - "unassign-dashboards-from-edge-title": "{ count, plural, =1 {1 gösterge paneli} other {# gösterge panelleri} } atamasını kaldırmak istediğinizden emin misiniz?", - "unassign-dashboards-from-edge-text": "Onaydan sonra, seçilen tüm gösterge panellerinin ataması kaldırılacak ve uç tarafından erişilemeyecek.", - "assign-dashboard-to-edge": "Gösterge panellerini uca ata", - "assign-dashboard-to-edge-text": "Lütfen uca atanacak gösterge panellerini seçin" + "state-controller-default": "statik (kullanımdan kaldırıldı)", + "search": "Panoları ara", + "selected-dashboards": "{ count, plural, =1 {1 pano} other {# pano} } seçildi", + "home-dashboard": "Ana pano", + "home-dashboard-hide-toolbar": "Ana pano araç çubuğunu gizle", + "unassign-dashboard-from-edge-text": "Onaydan sonra pano kenardan çıkarılacak ve kenar tarafından erişilemeyecek.", + "unassign-dashboards-from-edge-title": "{ count, plural, =1 {1 pano} other {# pano} } kenardan çıkarılsın mı?", + "unassign-dashboards-from-edge-text": "Onaydan sonra seçilen tüm panolar kenardan çıkarılacak ve erişilemeyecek.", + "assign-dashboard-to-edge": "Pano(lar)ı Kenara Ata", + "assign-dashboard-to-edge-text": "Kenara atanacak panoları seçin", + "non-existent-dashboard-state-error": "\"{{ stateId }}\" kimliğine sahip pano durumu bulunamadı", + "edit-mode": "Düzenleme modu", + "duplicate-state-action": "Durumu çoğalt", + "breakpoint-value": "Kırılım noktası ({{ value }})", + "breakpoints-id": { + "default": "Varsayılan", + "xs": "Mobil (xs)", + "sm": "Tablet (sm)", + "md": "Dizüstü (md)", + "lg": "Masaüstü (lg)", + "xl": "Masaüstü (xl)" + }, + "view-format-type-grid": "Izgara", + "view-format-type-list": "Liste", + "view-format": "Görünüm formatı" }, "datakey": { "settings": "Ayarlar", - "advanced": "İleri düzey", + "general": "Genel", + "advanced": "Gelişmiş", + "key": "Anahtar", + "keys": "Anahtarlar", "label": "Etiket", "color": "Renk", - "units": "Değerin yanında göstermek için özel simge", - "decimals": "Noktadan sonraki basamak sayısı", - "data-generation-func": "Veri oluşturma fonksiyonu", - "use-data-post-processing-func": "Veri işleme sonrası fonksiyonunu kullanın", + "units": "Değerin yanına gösterilecek özel sembol", + "decimals": "Ondalık basamak sayısı", + "data-generation-func": "Veri üretim fonksiyonu", + "use-data-post-processing-func": "Veri son işlem fonksiyonunu kullan", "configuration": "Veri anahtarı yapılandırması", "timeseries": "Zaman serisi", "attributes": "Öznitelikler", - "entity-field": "Öğe alanı", + "entity-field": "Varlık alanı", "alarm": "Alarm alanları", - "timeseries-required": "Zaman serisi öğesi gerekli.", - "timeseries-or-attributes-required": "Zaman serisi/öznitelikler öğesi gerekli.", - "alarm-fields-timeseries-or-attributes-required": "Alarm alanları veya Zaman serisi/öznitelikler öğesi gerekli.", - "maximum-timeseries-or-attributes": "Maksimum { count, plural, =1 {1 zamanserisi/öznitelik kabul edilir.} other {# zamanserisi/öznitelik kabul edilir} }", - "alarm-fields-required": "Alarm alanları gerekli.", + "timeseries-required": "Varlık zaman serisi gereklidir.", + "timeseries-or-attributes-required": "Varlık zaman serisi/öznitelikleri gereklidir.", + "alarm-fields-timeseries-or-attributes-required": "Alarm alanları veya varlık zaman serisi/öznitelikleri gereklidir.", + "maximum-timeseries-or-attributes": "En fazla { count, plural, =1 {1 zaman serisi/öznitelik izin verilir.} other {# zaman serisi/öznitelik izin verilir} }", + "alarm-fields-required": "Alarm alanları gereklidir.", "function-types": "Fonksiyon türleri", - "function-types-required": "Fonksiyon türleri gerekli.", - "maximum-function-types": "Maksimum { count, plural, =1 {1 fonksiyon türü kabul edilir.} other {# fonksiyon türü kabul edilir} }", + "function-type": "Fonksiyon türü", + "function-types-required": "Fonksiyon türleri gereklidir.", + "data-keys": "Veri anahtarları", + "data-key": "Veri anahtarı", + "data-keys-required": "Veri anahtarları gereklidir.", + "data-key-required": "Veri anahtarı gereklidir.", + "alarm-keys": "Alarm veri anahtarları", + "alarm-key": "Alarm veri anahtarı", + "alarm-key-functions": "Alarm anahtarı fonksiyonları", + "alarm-key-function": "Alarm anahtarı fonksiyonu", + "latest-keys": "En son veri anahtarları", + "latest-key": "En son veri anahtarı", + "latest-key-functions": "En son anahtar fonksiyonları", + "latest-key-function": "En son anahtar fonksiyonu", + "timeseries-keys": "Zaman serisi veri anahtarları", + "timeseries-key": "Zaman serisi veri anahtarı", + "timeseries-key-functions": "Zaman serisi anahtar fonksiyonları", + "timeseries-key-function": "Zaman serisi anahtar fonksiyonu", + "maximum-function-types": "En fazla { count, plural, =1 {1 fonksiyon türüne izin verilir.} other {# fonksiyon türüne izin verilir} }", "time-description": "geçerli değerin zaman damgası;", "value-description": "geçerli değer;", "prev-value-description": "önceki fonksiyon çağrısının sonucu;", "time-prev-description": "önceki değerin zaman damgası;", - "prev-orig-value-description": "orijinal önceki değer;" + "prev-orig-value-description": "önceki orijinal değer;", + "aggregation": "Birleştirme", + "aggregation-type-hint-common": "Performans nedenleriyle, birleştirilmiş değer hesaplamaları yalnızca 'mevcut gün', 'mevcut ay' gibi sabit zaman aralıkları için geçerlidir; 'son 30 dakika' veya 'son 24 saat' gibi kayan pencereler için geçerli değildir.", + "aggregation-type-none-hint": "En son değeri al.", + "aggregation-type-min-hint": "Seçilen zaman aralığında en küçük değeri bul.", + "aggregation-type-max-hint": "Seçilen zaman aralığında en büyük değeri bul.", + "aggregation-type-avg-hint": "Seçilen zaman aralığında ortalama değeri hesapla.", + "aggregation-type-sum-hint": "Seçilen zaman aralığında tüm değerleri topla.", + "aggregation-type-count-hint": "Seçilen zaman aralığındaki veri noktalarının toplam sayısı.", + "delta-calculation": "Delta hesaplama", + "enable-delta-calculation": "Delta hesaplamayı etkinleştir", + "enable-delta-calculation-hint": "Etkinleştirildiğinde, veri anahtarı değeri, seçilen zaman aralığına ve belirtilen karşılaştırma dönemine göre birleştirilmiş değerler üzerinden hesaplanır. Performans nedenleriyle delta hesaplama yalnızca geçmiş zaman aralıklarında geçerlidir. Örneğin, dün ile önceki gün arasındaki enerji tüketimi farkını hesaplayabilirsiniz.", + "delta-calculation-result": "Delta hesaplama sonucu", + "delta-calculation-result-previous-value": "Önceki değer", + "delta-calculation-result-delta-absolute": "Delta (mutlak)", + "delta-calculation-result-delta-percent": "Delta (yüzde)", + "source": "Kaynak", + "latest": "En son", + "latest-value": "En son değer", + "delta": "delta", + "percent": "yüzde", + "absolute": "mutlak" }, "datasource": { "type": "Veri kaynağı türü", - "name": "İsim", + "name": "Ad", "label": "Etiket", "add-datasource-prompt": "Lütfen veri kaynağı ekleyin" }, "details": { - "details": "Detaylar", + "details": "Ayrıntılar", "edit-mode": "Düzenleme modu", - "edit-json": "JSON Düzenle", - "toggle-edit-mode": "Düzenleme modunu aç/kapat" + "edit-json": "JSON'u düzenle", + "toggle-edit-mode": "Düzenleme modunu değiştir" }, "device": { "device": "Cihaz", "device-required": "Cihaz gerekli.", "devices": "Cihazlar", - "management": "Cihaz Yönetimi", - "view-devices": "Cihazları görüntüle", - "device-alias": "Cihaz kısa adı", - "aliases": "Cihaz kısa adları", + "management": "Cihaz yönetimi", + "view-devices": "Cihazları Görüntüle", + "device-alias": "Cihaz takma adı", + "device-type-max-length": "Cihaz türü 256 karakterden kısa olmalıdır", + "aliases": "Cihaz takma adları", "no-alias-matching": "'{{alias}}' bulunamadı.", - "no-aliases-found": "Hiçbir kısa ad bulunamadı.", + "no-aliases-found": "Hiçbir takma ad bulunamadı.", "no-key-matching": "'{{key}}' bulunamadı.", "no-keys-found": "Hiçbir anahtar bulunamadı.", "create-new-alias": "Yeni bir tane oluştur!", "create-new-key": "Yeni bir tane oluştur!", - "duplicate-alias-error": "'{{alias}}' daha önce kaydedilmiş.
Cihaz kısa adları kontrol paneli özelinde emsalsiz olmalıdır.", - "configure-alias": "'{{alias}}' kısa adını yapılandırın", + "duplicate-alias-error": "Yinelenen takma ad bulundu '{{alias}}'.
Dashboard içinde cihaz takma adları benzersiz olmalıdır.", + "configure-alias": "'{{alias}}' takma adını yapılandır", "no-devices-matching": "'{{entity}}' ile eşleşen cihaz bulunamadı.", - "alias": "Kısa ad", - "alias-required": "Cihaz kısa adı gerekli.", - "remove-alias": "Cihaz kısa adını kaldır", - "add-alias": "Cihaz kısa adı ekle", - "name-starts-with": "... ile başlayan cihaz adı", + "alias": "Takma ad", + "alias-required": "Cihaz takma adı gerekli.", + "remove-alias": "Cihaz takma adını kaldır", + "add-alias": "Cihaz takma adı ekle", + "name-starts-with": "Cihaz adı ifadesi", "help-text": "İhtiyaca göre '%' kullanın: '%device_name_contains%', '%device_name_ends', 'device_starts_with'.", "device-list": "Cihaz listesi", "use-device-name-filter": "Filtre kullan", "device-list-empty": "Hiçbir cihaz seçilmedi.", "device-name-filter-required": "Cihaz adı filtresi gerekli.", - "device-name-filter-no-device-matched": "'{{device}}' ile başlayan herhangi bir cihaz bulunamadı.", + "device-name-filter-no-device-matched": "'{{device}}' ile başlayan cihaz bulunamadı.", "add": "Cihaz ekle", - "assign-to-customer": "Kullanıcı grubuna ata", - "assign-device-to-customer": "Cihazları Kullanıcı Grubuna Ata", - "assign-device-to-customer-text": "Lütfen kullanıcı grubuna atanacak cihazları seçin", - "assign-device-to-edge-title": "Cihazları uca ata", - "assign-device-to-edge-text": "Lütfen uca atanacak cihazları seçin", - "make-public": "Cihazı açık hale getir", - "make-private": "Cihazı gizli hale getir", + "assign-to-customer": "Müşteriye ata", + "assign-device-to-customer": "Cihaz(lar)ı Müşteriye Ata", + "assign-device-to-customer-text": "Lütfen müşteriye atanacak cihazları seçin", + "make-public": "Cihazı herkese açık yap", + "make-private": "Cihazı özel yap", "no-devices-text": "Hiçbir cihaz bulunamadı", - "assign-to-customer-text": "Lütfen cihaz(lar)ı atayacak kullanıcı grubu seçin", - "device-details": "Cihaz detayları", + "assign-to-customer-text": "Lütfen cihaz(lar)ı atamak için müşteri seçin", + "device-details": "Cihaz ayrıntıları", "add-device-text": "Yeni cihaz ekle", "credentials": "Kimlik bilgileri", "manage-credentials": "Kimlik bilgilerini yönet", - "delete": "Cihaz sil", - "assign-devices": "Cihaz ata", - "assign-devices-text": "{ count, plural, =1 {1 cihazı} other {# cihazı} } kullanıcı grubuna ata", + "delete": "Cihazı sil", + "assign-devices": "Cihazları ata", + "assign-devices-text": "{ count, plural, =1 {1 cihaz} other {# cihaz} } müşteriye ata", "delete-devices": "Cihazları sil", - "unassign-from-customer": "Kullanıcı Grubundan atamayı kaldır", - "unassign-devices": "Cihazlardan atamayı kaldır", - "unassign-devices-action-title": "{ count, plural, =1 {1 cihazın} other {# cihazın} } atamasını kullanıcı grubundan kaldır", - "unassign-device-from-edge-title": "'{{deviceName}}' cihazının atamasını kaldırmak istediğinizden emin misiniz?", - "unassign-device-from-edge-text": "Onaydan sonra cihazın ataması kaldırılacak ve cihaza uç tarafından erişilemeyecek.", - "unassign-devices-from-edge": "Cihazların atamasını uçtan kaldır", + "unassign-from-customer": "Müşteriden çıkar", + "unassign-devices": "Cihazların atamasını kaldır", + "unassign-devices-action-title": "{ count, plural, =1 {1 cihaz} other {# cihaz} } müşteriden çıkar", + "unassign-device-from-edge-title": "'{{deviceName}}' cihazının edge'den çıkarılmasını istiyor musunuz?", + "unassign-device-from-edge-text": "Onaydan sonra cihazın edge erişimi olmayacaktır.", + "unassign-devices-from-edge": "Cihazları edge'den çıkar", "assign-new-device": "Yeni cihaz ata", - "make-public-device-title": "'{{deviceName}}' isimli cihazı açık hale getirmek istediğinizden emin misiniz?", - "make-public-device-text": "Onaylandıktan sonra cihaz ve verileri açık hale getirilecek ve diğerleri tarafından erişilebilir olacak.", - "make-private-device-title": "'{{deviceName}}' isimli cihazı gizli hale getirmek istediğinizden emin misiniz?", - "make-private-device-text": "Onaylandıktan sonra cihaz ve verileri gizli hale getirilecek ve diğerleri tarafından erişilemez olacak.", + "make-public-device-title": "'{{deviceName}}' cihazını herkese açık yapmak istediğinize emin misiniz?", + "make-public-device-text": "Onaydan sonra cihaz ve tüm verileri herkese açık olacak.", + "make-private-device-title": "'{{deviceName}}' cihazını özel yapmak istediğinize emin misiniz?", + "make-private-device-text": "Onaydan sonra cihaz ve tüm verileri özel olacak ve başkaları tarafından erişilemeyecek.", "view-credentials": "Kimlik bilgilerini görüntüle", - "delete-device-title": "'{{deviceName}}' isimli cihazı silmek istediğinize emin misiniz?", - "delete-device-text": "UYARI: Onaylandıktan sonra cihaz ve ilişkili verileri geri yüklenemez şekilde silinecek.", - "delete-devices-title": "{ count, plural, =1 {1 cihazı} other {# cihazı} } silmek istediğinize emin misiniz?", - "delete-devices-action-title": "{ count, plural, =1 {1 cihazı} other {# cihazı} } sil", - "delete-devices-text": "UYARI: Onaylandıktan sonra tüm seçili cihazlar ve ilişkili verileri geri yüklenemez şekilde silinecek.", - "unassign-device-title": "'{{deviceName}}' isimli cihazın atamasını kaldırmak istediğinize emin misiniz?", - "unassign-device-text": "Onaylandıktan sonra cihazın ataması kaldırılacak ve kullanıcı grubu tarafından erişilemez olacak.", - "unassign-device": "Cihaz atamasını kaldır", - "unassign-devices-title": "{ count, plural, =1 {1 cihazın} other {# cihazın} } atamasını kaldırmak istediğinize emin misiniz?", - "unassign-devices-text": "Onaylandıktan sonra seçili cihazların atamaları kaldırılacak ve kullanıcı grubu tarafından erişilemez olacak.", + "delete-device-title": "'{{deviceName}}' cihazını silmek istediğinize emin misiniz?", + "delete-device-text": "Dikkatli olun, onaydan sonra cihaz ve tüm ilişkili veriler geri alınamaz hale gelecek.", + "delete-devices-title": "{ count, plural, =1 {1 cihaz} other {# cihaz} } silmek istediğinize emin misiniz?", + "delete-devices-action-title": "{ count, plural, =1 {1 cihaz} other {# cihaz} } sil", + "delete-devices-text": "Onaydan sonra seçilen tüm cihazlar ve ilgili veriler kalıcı olarak silinecektir.", + "unassign-device-title": "'{{deviceName}}' cihazının atamasını kaldırmak istediğinize emin misiniz?", + "unassign-device-text": "Onaydan sonra cihazın müşteri erişimi olmayacaktır.", + "unassign-device": "Cihazın atamasını kaldır", + "unassign-devices-title": "{ count, plural, =1 {1 cihaz} other {# cihaz} } atamasını kaldırmak istediğinize emin misiniz?", + "unassign-devices-text": "Onaydan sonra tüm seçili cihazların müşteri erişimi kaldırılacaktır.", "device-credentials": "Cihaz Kimlik Bilgileri", "loading-device-credentials": "Cihaz kimlik bilgileri yükleniyor...", - "credentials-type": "Kimlik Bilgi Türü", - "access-token": "Erişim şifresi", - "access-token-required": "Erişim şifresi gerekli.", - "access-token-invalid": "Erişim şifresi uzunluğu 1 ile 32 karakter arasında olmalıdır.", + "credentials-type": "Kimlik bilgisi türü", + "access-token": "Erişim anahtarı", + "access-token-required": "Erişim anahtarı gerekli.", + "access-token-invalid": "Erişim anahtarı uzunluğu 1 ile 32 karakter arasında olmalıdır.", + "certificate-pem-format": "PEM formatında sertifika", + "certificate-pem-format-required": "Sertifika gerekli.", + "copy-access-token": "Erişim anahtarını kopyala", + "copy-certificate": "Sertifikayı kopyala", + "copy-client-id": "İstemci Kimliğini kopyala", + "copy-user-name": "Kullanıcı adını kopyala", + "copy-password": "Şifreyi kopyala", + "generate-client-id": "İstemci Kimliği Oluştur", + "generate-user-name": "Kullanıcı Adı Oluştur", + "generate-password": "Şifre Oluştur", + "generate-access-token": "Erişim Anahtarı Oluştur", "lwm2m-security-config": { "identity": "İstemci Kimliği", - "identity-required": "İstemci Kimliği gerekli.", + "identity-required": "İstemci Kimliği gereklidir.", + "identity-tooltip": "PSK tanımlayıcısı, [RFC7925] standardında tanımlandığı gibi en fazla 128 bayt uzunluğunda rastgele bir tanımlayıcıdır.\nTanımlayıcı önce karakter dizisine dönüştürülmeli ve ardından UTF-8 ile baytlara kodlanmalıdır.", "client-key": "İstemci Anahtarı", - "client-key-required": "İstemci Anahtarı gerekli.", + "client-key-required": "İstemci Anahtarı gereklidir.", + "client-key-tooltip-prk": "RPK genel anahtarı veya kimliği [RFC7250] standardında olmalı ve Base64 formatında kodlanmalıdır!", + "client-key-tooltip-psk": "PSK anahtarı [RFC4279] standardında ve HexDec formatında olmalıdır: 32, 64, 128 karakter!", "endpoint": "Uç Nokta İstemci Adı", - "endpoint-required": "Uç Nokta İstemci Adı gerekli.", + "endpoint-required": "Uç Nokta İstemci Adı gereklidir.", + "client-public-key": "İstemci genel anahtarı", + "client-public-key-hint": "Eğer istemci genel anahtarı boşsa, güvenilen sertifika kullanılacaktır", + "client-public-key-tooltip": "X509 genel anahtarı, yalnızca EC algoritmasını destekleyen DER kodlu X509v3 formatında olmalı ve Base64 formatında kodlanmalıdır!", "mode": "Güvenlik yapılandırma modu", "client-tab": "İstemci Güvenlik Yapılandırması", "client-certificate": "İstemci sertifikası", - "bootstrap-tab": "Önyükleme İstemcisi", - "bootstrap-server": "Önyükleme Sunucusu", + "bootstrap-tab": "Başlatma İstemcisi", + "bootstrap-server": "Başlatma Sunucusu", "lwm2m-server": "LwM2M Sunucusu", "client-publicKey-or-id": "İstemci Genel Anahtarı veya Kimliği", - "client-publicKey-or-id-required": "İstemci Genel Anahtarı veya Kimliği gerekli.", + "client-publicKey-or-id-required": "İstemci Genel Anahtarı veya Kimliği gereklidir.", + "client-publicKey-or-id-tooltip-psk": "[RFC7925] standardına göre PSK tanımlayıcısı en fazla 128 baytlık rastgele bir tanımlayıcıdır.\nTanımlayıcı önce karakter dizisine çevrilmeli ve ardından UTF-8 ile kodlanmalıdır.", + "client-publicKey-or-id-tooltip-rpk": "RPK genel anahtarı veya kimliği [RFC7250] standardında olmalı ve Base64 formatında kodlanmalıdır!", + "client-publicKey-or-id-tooltip-x509": "X509 genel anahtarı, yalnızca EC algoritmasını destekleyen DER kodlu X509v3 formatında olmalı ve Base64 formatında kodlanmalıdır", "client-secret-key": "İstemci Gizli Anahtarı", - "client-secret-key-required": "İstemci Gizli Anahtarı gerekli.", - "client-public-key": "İstemci açık anahtarı", - "client-public-key-hint": "İstemci açık anahtarı boşsa, güvenilen sertifika kullanılacaktır." + "client-secret-key-required": "İstemci Gizli Anahtarı gereklidir.", + "client-secret-key-tooltip-psk": "PSK anahtarı [RFC4279] standardında ve HexDec formatında olmalıdır: 32, 64, 128 karakter!", + "client-secret-key-tooltip-prk": "RPK gizli anahtarı, PKCS_8 formatında olmalı (DER kodlaması, [RFC5958] standardı) ve ardından Base64 formatında kodlanmalıdır!", + "client-secret-key-tooltip-x509": "X509 gizli anahtarı, PKCS_8 formatında olmalı (DER kodlaması, [RFC5958] standardı) ve ardından Base64 formatında kodlanmalıdır!" }, - "client-id": "İstemci ID", + "client-id": "İstemci Kimliği", "client-id-pattern": "Geçersiz karakter içeriyor.", "user-name": "Kullanıcı Adı", - "user-name-required": "Kullanıcı Adı gerekli.", - "client-id-or-user-name-necessary": "İstemci ID veya Kullanıcı Adı gerekli", + "user-name-required": "Kullanıcı Adı gereklidir.", + "client-id-or-user-name-necessary": "İstemci Kimliği ve/veya Kullanıcı Adı gereklidir", "password": "Şifre", - "secret": "Gizli Anahtar", - "secret-required": "Gizli Anahtar is required.", - "device-type": "Cihaz türü", - "device-type-required": "Cihaz türü gerekli.", - "select-device-type": "Cihaz türü seç", - "enter-device-type": "Cihaz türünü girin", + "secret": "Gizli", + "secret-required": "Gizli alan gereklidir.", + "device-type": "Cihaz profili", + "device-type-required": "Cihaz türü gereklidir.", + "select-device-type": "Cihaz türünü seç", + "enter-device-type": "Cihaz profili girin", "any-device": "Herhangi bir cihaz", - "no-device-types-matching": "'{{entitySubtype}}' ile eşleşen cihaz türü bulunamadı.", - "device-type-list-empty": "Hiçbir cihaz türü seçilmedi.", - "device-types": "Cihaz Türleri", - "name": "İsim", - "name-required": "İsim gerekli.", + "no-device-types-matching": "'{{entitySubtype}}' ile eşleşen cihaz profili bulunamadı.", + "device-type-list-empty": "Hiçbir cihaz profili seçilmedi!", + "device-profile-type-list-empty": "En az bir cihaz profili seçilmelidir.", + "device-types": "Cihaz türleri", + "name": "Ad", + "name-required": "Ad gereklidir.", + "name-max-length": "Ad 256 karakterden az olmalıdır", + "label-max-length": "Etiket 256 karakterden az olmalıdır", "description": "Açıklama", "label": "Etiket", - "events": "Etkinlikler", - "details": "Detaylar", - "copyId": "Cihaz kimliğini kopyala", - "copyAccessToken": "Erişim şifresini kopyala", + "events": "Olaylar", + "details": "Ayrıntılar", + "copyId": "Cihaz Id kopyala", + "copyAccessToken": "Erişim anahtarını kopyala", "copy-mqtt-authentication": "MQTT kimlik bilgilerini kopyala", - "idCopiedMessage": "Cihaz Kimliği panoya kopyalandı", - "accessTokenCopiedMessage": "Cihaz erişim şifresi panoya kopyalandı", - "mqtt-authentication-copied-message": "Cihaz MQTT kimlik doğrulaması panoya kopyalandı", - "assignedToCustomer": "Kullanıcı grubuna atandı", - "unable-delete-device-alias-title": "Cihaz kısa adı silinemiyor", - "unable-delete-device-alias-text": "Cihaz kısa adı('{{deviceAlias}}'), şu göstergeler tarafından kullanıldığı için silinemedi:
{{widgetsList}}", - "is-gateway": "Ağ geçidi mi?", - "overwrite-activity-time": "Bağlı cihaz için etkinlik süresini üstüne yaz", - "public": "Açık", - "device-public": "Cihaz açık", + "idCopiedMessage": "Cihaz Id panoya kopyalandı", + "accessTokenCopiedMessage": "Cihaz erişim anahtarı panoya kopyalandı", + "mqtt-authentication-copied-message": "Cihaz MQTT kimlik doğrulama bilgileri panoya kopyalandı", + "assignedToCustomer": "Müşteriye atanmış", + "unable-delete-device-alias-title": "Cihaz takma adı silinemiyor", + "unable-delete-device-alias-text": "'{{deviceAlias}}' cihaz takma adı aşağıdaki widget(lar) tarafından kullanıldığı için silinemiyor:
{{widgetsList}}", + "is-gateway": "Ağ geçidi mi", + "overwrite-activity-time": "Bağlı cihaz için etkinlik zamanını üzerine yaz", + "device-filter": "Cihaz filtresi", + "device-filter-title": "Cihaz Filtresi", + "filter-title": "Filtre", + "device-state": "Cihaz durumu", + "state": "Durum", + "any": "Herhangi", + "active": "Aktif", + "inactive": "Pasif", + "public": "Herkese açık", + "device-public": "Cihaz herkese açık", "select-device": "Cihaz seç", - "import": "Cihazı içe aktar", + "import": "Cihaz içe aktar", "device-file": "Cihaz dosyası", - "search": "Cihaz ara", + "search": "Cihazları ara", "selected-devices": "{ count, plural, =1 {1 cihaz} other {# cihaz} } seçildi", "device-configuration": "Cihaz yapılandırması", - "transport-configuration": "Aktarım yapılandırması", + "transport-configuration": "Taşıma yapılandırması", "wizard": { "device-details": "Cihaz ayrıntıları" }, - "unassign-devices-from-edge-title": "{ count, plural, =1 {1 cihazın} other {# cihazın} } atamasını kaldırmak istediğinizden emin misiniz?", - "unassign-devices-from-edge-text": "Onaydan sonra, seçilen tüm cihazların ataması kaldırılacak ve uç tarafından erişilemeyecek." + "unassign-devices-from-edge-title": "{ count, plural, =1 {1 cihazı} other {# cihazı} } kaldırmak istediğinize emin misiniz?", + "unassign-devices-from-edge-text": "Onaydan sonra, seçilen tüm cihazlar kaldırılacak ve edge tarafından erişilemeyecektir.", + "time": "Zaman", + "connectivity": { + "check-connectivity": "Bağlantıyı kontrol et", + "device-created-check-connectivity": "Cihaz oluşturuldu. Hadi bağlantıyı kontrol edelim!", + "loading-check-connectivity-command": "Bağlantı kontrol komutları yükleniyor...", + "use-following-instructions": "Cihaz adına telemetri göndermek için aşağıdaki komutları kullanın", + "execute-following-command": "Aşağıdaki komutu çalıştırın", + "install-curl-windows": "Windows 10 b17063 itibarıyla cURL varsayılan olarak mevcuttur", + "install-curl-macos": "Mac OS X 10.2 6C115 (Jaguar) itibarıyla cURL varsayılan olarak mevcuttur", + "install-mqtt-windows": "mosquitto_pub'u indirip kurmak ve çalıştırmak için talimatları kullanın", + "install-coap-client": "coap-client'i indirip kurmak ve çalıştırmak için talimatları kullanın", + "install-necessary-client-tools": "Gerekli istemci araçlarını yükleyin", + "mqtts-x509-command": "MQTT üzerinden X509 yetkilendirmesiyle cihazı bağlamak için bu dokümantasyonu kullanın", + "coaps-x509-command": "DTLS üzerinden CoAP ile X509 yetkilendirmesiyle cihazı bağlamak için bu dokümantasyonu kullanın", + "snmp-command": "Cihazı SNMP aracılığıyla bağlamak için bu dokümantasyonu kullanın.", + "sparkplug-command": "Cihazı MQTT Sparkplug ile bağlamak için bu dokümantasyonu kullanın.", + "lwm2m-command": "Cihazı LWM2M ile bağlamak için bu dokümantasyonu kullanın." + } + }, + "dynamic-form": { + "property": { + "properties": "Özellikler", + "property": "Özellik", + "id": "Id", + "name": "Ad", + "type": "Tür", + "type-text": "Metin", + "type-password": "Şifre", + "type-textarea": "Metin alanı", + "type-number": "Sayı", + "type-switch": "Anahtar", + "type-select": "Seçim", + "type-radios": "Radyo düğmeleri", + "type-datetime": "Tarih/Saat", + "type-image": "Resim", + "type-javascript": "JavaScript", + "type-json": "JSON", + "type-html": "HTML", + "type-css": "CSS", + "type-markdown": "Markdown", + "type-color": "Renk", + "type-color-settings": "Renk ayarları", + "type-font": "Yazı tipi", + "type-units": "Birimler", + "type-icon": "Simge", + "type-fieldset": "Alan kümesi", + "type-array": "Dizi", + "type-html-section": "HTML bölümü", + "group-title": "Grup başlığı", + "no-properties": "Tanımlı özellik yok", + "add-property": "Özellik ekle", + "property-settings": "Özellik ayarları", + "remove-property": "Özelliği kaldır", + "default-value": "Varsayılan değer", + "value-required": "Değer gerekli", + "number-settings": "Sayı ayarları", + "min": "Min", + "max": "Maks", + "step": "Adım", + "selected-options-limit": "Seçilen seçenek sınırı", + "advanced-ui-settings": "Gelişmiş arayüz ayarları", + "disable-on-property": "Özelliğe göre devre dışı bırak", + "disable-on-property-none": "Hiçbiri (alan her zaman etkin)", + "display-condition-function": "Görüntüleme koşulu fonksiyonu", + "sub-label": "Alt etiket", + "vertical-divider-after": "Dikey ayırıcı sonrasında", + "input-field-suffix": "Girdi alanı soneki", + "property-row-classes": "Özellik satır sınıfları", + "property-field-classes": "Özellik alanı sınıfları", + "not-unique-property-ids-error": "Özellik Id'leri benzersiz olmalıdır!", + "enable-multiple-select": "Çoklu seçim etkinleştir", + "allow-empty-select-option": "Boş seçenek izin ver", + "select-options": "Seçenekleri seç", + "not-unique-select-option-value-error": "Seçenek değerleri benzersiz olmalıdır!", + "value": "Değer", + "label": "Etiket", + "add-option": "Seçenek ekle", + "no-options": "Tanımlı seçenek yok", + "remove-option": "Seçeneği kaldır", + "textarea-rows": "Metin alanı satırları", + "help-id": "Yardım kimliği", + "buttons-direction": "Düğme yönü", + "direction-row": "Satır", + "direction-column": "Sütun", + "radio-button-options": "Radyo düğmesi seçenekleri", + "datetime-type": "Tarih/Saat alan türü", + "datetime-type-date": "Tarih", + "datetime-type-time": "Saat", + "datetime-type-datetime": "Tarih/Saat", + "enable-clear-button": "Temizleme düğmesini etkinleştir", + "html-section-settings": "HTML bölümü ayarları", + "html-section-classes": "HTML bölüm sınıfları", + "html-section-content": "HTML bölüm içeriği", + "array-item": "Dizi öğesi", + "item-type": "Öğe türü", + "item-name": "Öğe adı", + "no-items": "Öğe yok", + "support-unit-conversion": "Birim dönüşümünü destekle" + }, + "clear-form": "Formu temizle", + "clear-form-prompt": "Tüm form özelliklerini kaldırmak istediğinize emin misiniz?", + "import-form": "JSON'dan form içe aktar", + "export-form": "JSON'a form dışa aktar", + "json-file": "JSON dosyası", + "json-content": "JSON içeriği", + "invalid-form-json-file-error": "Form JSON'dan içe aktarılamıyor: Geçersiz form JSON veri yapısı." + }, + "asset-profile": { + "asset-profile": "Varlık profili", + "asset-profiles": "Varlık profilleri", + "all-asset-profiles": "Tümü", + "add": "Varlık profili ekle", + "edit": "Varlık profilini düzenle", + "asset-profile-details": "Varlık profili ayrıntıları", + "no-asset-profiles-text": "Hiçbir varlık profili bulunamadı", + "search": "Varlık profili ara", + "selected-asset-profiles": "{ count, plural, =1 {1 varlık profili} other {# varlık profili} } seçildi", + "no-asset-profiles-matching": "'{{entity}}' ile eşleşen varlık profili bulunamadı.", + "asset-profile-required": "Varlık profili gereklidir", + "idCopiedMessage": "Varlık profili kimliği panoya kopyalandı", + "set-default": "Varlık profilini varsayılan yap", + "delete": "Varlık profilini sil", + "copyId": "Varlık profili kimliğini kopyala", + "name-max-length": "Ad 256 karakterden kısa olmalıdır", + "new-device-profile-name": "Varlık profili adı", + "new-device-profile-name-required": "Varlık profili adı gereklidir.", + "name": "Ad", + "name-required": "Ad gereklidir.", + "image": "Varlık profili resmi", + "description": "Açıklama", + "default": "Varsayılan", + "default-rule-chain": "Varsayılan kural zinciri", + "default-edge-rule-chain": "Varsayılan edge kural zinciri", + "default-edge-rule-chain-hint": "Bu varlık profiline sahip varlıklar için gelen verileri işlemek üzere edge üzerinde kullanılan kural zinciri", + "mobile-dashboard": "Mobil kontrol paneli", + "mobile-dashboard-hint": "Mobil uygulama tarafından varlık detay kontrol paneli olarak kullanılır", + "select-queue-hint": "Açılır listeden seçin.", + "delete-asset-profile-title": "'{{assetProfileName}}' varlık profilini silmek istediğinizden emin misiniz?", + "delete-asset-profile-text": "Dikkatli olun, onaydan sonra varlık profili ve ilgili tüm veriler geri alınamaz şekilde silinecektir.", + "delete-asset-profiles-title": "{ count, plural, =1 {1 varlık profili} other {# varlık profili} } silmek istediğinizden emin misiniz?", + "delete-asset-profiles-text": "Dikkatli olun, onaydan sonra seçilen tüm varlık profilleri ve ilgili veriler geri alınamaz şekilde silinecektir.", + "set-default-asset-profile-title": "'{{assetProfileName}}' varlık profilini varsayılan yapmak istediğinizden emin misiniz?", + "set-default-asset-profile-text": "Onaylandıktan sonra bu varlık profili varsayılan olarak işaretlenecek ve profili belirtilmemiş yeni varlıklar için kullanılacaktır.", + "no-asset-profiles-found": "Hiçbir varlık profili bulunamadı.", + "create-new-asset-profile": "Yeni bir tane oluştur!", + "create-asset-profile": "Yeni varlık profili oluştur", + "import": "Varlık profili içe aktar", + "export": "Varlık profili dışa aktar", + "export-failed-error": "Varlık profili dışa aktarılamıyor: {{error}}", + "asset-profile-file": "Varlık profili dosyası", + "invalid-asset-profile-file-error": "Varlık profili içe aktarılamıyor: Geçersiz varlık profili veri yapısı." }, "device-profile": { "device-profile": "Cihaz profili", @@ -1029,161 +1942,194 @@ "add": "Cihaz profili ekle", "edit": "Cihaz profilini düzenle", "device-profile-details": "Cihaz profili ayrıntıları", - "no-device-profiles-text": "Cihaz profili bulunamadı", - "search": "Cihaz profillerini ara", + "no-device-profiles-text": "Hiçbir cihaz profili bulunamadı", + "search": "Cihaz profili ara", "selected-device-profiles": "{ count, plural, =1 {1 cihaz profili} other {# cihaz profili} } seçildi", "no-device-profiles-matching": "'{{entity}}' ile eşleşen cihaz profili bulunamadı.", - "device-profile-required": "Cihaz profili gerekli", + "device-profile-required": "Cihaz profili gereklidir", "idCopiedMessage": "Cihaz profili kimliği panoya kopyalandı", "set-default": "Cihaz profilini varsayılan yap", "delete": "Cihaz profilini sil", "copyId": "Cihaz profili kimliğini kopyala", - "name": "İsim", - "name-required": "İsim gerekli.", + "name-max-length": "Ad 256 karakterden kısa olmalıdır", + "name": "Ad", + "name-required": "Ad gereklidir.", "type": "Profil türü", - "type-required": "Profil türü gerekli.", + "type-required": "Profil türü gereklidir.", "type-default": "Varsayılan", - "image": "Cihaz profil resmi", - "transport-type": "Aktarım türü", - "transport-type-required": "Aktarım türü gerekli.", + "image": "Cihaz profili resmi", + "transport-type": "İletim türü", + "transport-type-required": "İletim türü gereklidir.", "transport-type-default": "Varsayılan", - "transport-type-default-hint": "Temel MQTT, HTTP ve CoAP aktarımını destekler", + "transport-type-default-hint": "Temel MQTT, HTTP ve CoAP iletimi desteklenir", "transport-type-mqtt": "MQTT", - "transport-type-mqtt-hint": "Gelişmiş MQTT aktarım ayarlarını etkinleştirir", + "transport-type-mqtt-hint": "Gelişmiş MQTT iletim ayarlarını etkinleştirir", "transport-type-coap": "CoAP", - "transport-type-coap-hint": "Gelişmiş CoAP aktarım ayarlarını etkinleştirir", + "transport-type-coap-hint": "Gelişmiş CoAP iletim ayarlarını etkinleştirir", "transport-type-lwm2m": "LWM2M", - "transport-type-lwm2m-hint": "LWM2M aktarım türü", + "transport-type-lwm2m-hint": "LWM2M iletim türü", "transport-type-snmp": "SNMP", - "transport-type-snmp-hint": "SNMP aktarım yapılandırmasını belirtin", + "transport-type-snmp-hint": "SNMP iletim yapılandırmasını belirtin", + "transport-type-http": "HTTP", "description": "Açıklama", "default": "Varsayılan", "profile-configuration": "Profil yapılandırması", - "transport-configuration": "Aktarım yapılandırması", + "transport-configuration": "İletim yapılandırması", "default-rule-chain": "Varsayılan kural zinciri", - "mobile-dashboard": "Mobil gösterge paneli", - "mobile-dashboard-hint": "Mobil uygulama tarafından cihaz ayrıntıları gösterge paneli olarak kullanılır", - "select-queue-hint": "Açılır listeden seçin veya özel bir ad ekleyin.", + "default-edge-rule-chain": "Varsayılan edge kural zinciri", + "default-edge-rule-chain-hint": "Bu cihaz profiline sahip cihazlar için edge üzerinde gelen verileri işlemek üzere kullanılır", + "mobile-dashboard": "Mobil kontrol paneli", + "mobile-dashboard-hint": "Mobil uygulama tarafından cihaz detay kontrol paneli olarak kullanılır", + "select-queue-hint": "Açılır listeden seçin.", "delete-device-profile-title": "'{{deviceProfileName}}' cihaz profilini silmek istediğinizden emin misiniz?", - "delete-device-profile-text": "Dikkatli olun, onaydan sonra cihaz profili ve ilgili tüm veriler kurtarılamaz hale gelecektir.", - "delete-device-profiles-title": "{ count, plural, =1 {1 cihaz profilini} other {# cihaz profilini} } silmek istediğinizden emin misiniz?", - "delete-device-profiles-text": "Dikkatli olun, onaydan sonra seçilen tüm cihaz profilleri kaldırılacak ve ilgili tüm veriler kurtarılamaz hale gelecektir.", + "delete-device-profile-text": "Dikkatli olun, onaydan sonra cihaz profili ve ilişkili OTA güncellemeleri dahil tüm veriler geri alınamaz şekilde silinecektir.", + "delete-device-profiles-title": "{ count, plural, =1 {1 cihaz profili} other {# cihaz profili} } silmek istediğinizden emin misiniz?", + "delete-device-profiles-text": "Dikkatli olun, onaydan sonra seçilen tüm cihaz profilleri ve ilişkili veriler (OTA güncellemeleri dahil) geri alınamaz şekilde silinecektir.", "set-default-device-profile-title": "'{{deviceProfileName}}' cihaz profilini varsayılan yapmak istediğinizden emin misiniz?", - "set-default-device-profile-text": "Onaydan sonra cihaz profili varsayılan olarak işaretlenecek ve profil belirtilmemiş yeni cihazlar için kullanılacaktır.", - "no-device-profiles-found": "Cihaz profili bulunamadı.", + "set-default-device-profile-text": "Onaylandıktan sonra bu cihaz profili varsayılan olarak işaretlenecek ve profili belirtilmemiş yeni cihazlar için kullanılacaktır.", + "no-device-profiles-found": "Hiçbir cihaz profili bulunamadı.", "create-new-device-profile": "Yeni bir tane oluştur!", "mqtt-device-topic-filters": "MQTT cihaz konu filtreleri", - "mqtt-device-topic-filters-unique": "MQTT cihaz konu filtrelerinin benzersiz olması gerekir.", + "mqtt-device-topic-filters-unique": "MQTT cihaz konu filtreleri benzersiz olmalıdır.", + "mqtt-device-topic-filters-spark-plug": "MQTT Sparkplug B Edge of Network (EoN) düğümü.", + "mqtt-device-topic-filters-spark-plug-hint": "Sparkplug B yükü ve konu formatı ile EoN düğümlerinden bağlantılara izin ver.", + "mqtt-device-topic-filters-spark-plug-attribute-metric-names": "SparkPlug metriklerini özellik olarak kaydet.", + "mqtt-device-topic-filters-spark-plug-attribute-metric-names-hint": "Cihaz özellikleri olarak saklanacak SparkPlug metriklerinin adları. Diğer tüm metrikler cihaz telemetrisi olarak saklanacaktır.", "mqtt-device-payload-type": "MQTT cihaz yükü", "mqtt-device-payload-type-json": "JSON", "mqtt-device-payload-type-proto": "Protobuf", + "mqtt-enable-compatibility-with-json-payload-format": "Diğer yük formatlarıyla uyumluluğu etkinleştir", + "mqtt-enable-compatibility-with-json-payload-format-hint": "Etkinleştirildiğinde, platform varsayılan olarak Protobuf yük formatını kullanır. Ayrıştırma başarısız olursa JSON yük formatı denenir. Eski ve yeni ürün yazılımları için geçici olarak kullanılabilir. Tüm cihazlar güncellendikten sonra devre dışı bırakılması önerilir.", + "mqtt-use-json-format-for-default-downlink-topics": "Varsayılan downlink konuları için JSON formatını kullan", + "mqtt-use-json-format-for-default-downlink-topics-hint": "Etkinleştirildiğinde platform, belirli konular üzerinden özellik ve RPC iletiminde JSON formatı kullanır. Yeni (v2) konular etkilenmez.", + "mqtt-send-ack-on-validation-exception": "Yayın doğrulama hatasında PUBACK gönder", + "mqtt-send-ack-on-validation-exception-hint": "Varsayılan olarak platform, doğrulama hatasında MQTT oturumunu kapatır. Etkinleştirildiğinde oturumu kapatmak yerine yayın onayı gönderilir.", + "mqtt-protocol-version": "Protokol sürümü", "snmp-add-mapping": "SNMP eşlemesi ekle", - "snmp-mapping-not-configured": "OID için yapılandırılmış zaman serisi/telemetri eşlemesi yok", - "snmp-timseries-or-attribute-name": "Eşleme için zaman serisi/öznitelik adı", - "snmp-timseries-or-attribute-type": "Eşleme için zaman serisi/öznitelik türü", + "snmp-mapping-not-configured": "OID ile zaman serisi/telemetri için eşleme yapılandırılmamış", + "snmp-timseries-or-attribute-name": "Zaman serisi/özellik adı", + "snmp-timseries-or-attribute-type": "Zaman serisi/özellik türü", "snmp-method-pdu-type-get-request": "GetRequest", "snmp-method-pdu-type-get-next-request": "GetNextRequest", "snmp-oid": "OID", "transport-device-payload-type-json": "JSON", "transport-device-payload-type-proto": "Protobuf", - "mqtt-payload-type-required": "Yük türü gerekli.", - "coap-device-type": "CoAP cihaz tipi", + "mqtt-payload-type-required": "Yük türü gereklidir.", + "coap-device-type": "CoAP cihaz türü", "coap-device-payload-type": "CoAP cihaz yükü", - "coap-device-type-required": "CoAP cihaz türü gerekli.", + "coap-device-type-required": "CoAP cihaz türü gereklidir.", "coap-device-type-default": "Varsayılan", "coap-device-type-efento": "Efento NB-IoT", - "support-level-wildcards": "Tekli [+] ve çoklu [#] joker karakter destekler.", + "support-level-wildcards": "Tek seviyeli [+] ve çok seviyeli [#] joker karakterleri desteklenir.", "telemetry-topic-filter": "Telemetri konu filtresi", - "telemetry-topic-filter-required": "Telemetri konu filtresi gerekli.", - "attributes-topic-filter": "Attributes publish topic filter", - "attributes-subscribe-topic-filter": "Attributes subscribe topic filter", - "attributes-topic-filter-required": "Attributes publish topic filter is required.", - "attributes-subscribe-topic-filter-required": "Attributes subscribe topic is required", + "telemetry-topic-filter-required": "Telemetri konu filtresi gereklidir.", + "attributes-topic-filter": "Öznitelik yayın konu filtresi", + "attributes-subscribe-topic-filter": "Öznitelik abone konu filtresi", + "attributes-topic-filter-required": "Öznitelik yayın konu filtresi gereklidir.", + "attributes-subscribe-topic-filter-required": "Öznitelik abone konusu gereklidir", "telemetry-proto-schema": "Telemetri proto şeması", - "telemetry-proto-schema-required": "Telemetri proto şeması gerekli.", - "attributes-proto-schema": "Öznitelikler proto şeması", - "attributes-proto-schema-required": "Öznitelikler proto şeması gerekli.", - "rpc-response-proto-schema": "RPC yanıt protokolü şeması", - "rpc-response-proto-schema-required": "RPC yanıt protokolü şeması gerekli.", - "rpc-response-topic-filter": "RPC yanıtı konu filtresi", - "rpc-response-topic-filter-required": "RPC yanıtı konu filtresi gerekli.", + "telemetry-proto-schema-required": "Telemetri proto şeması gereklidir.", + "attributes-proto-schema": "Öznitelik proto şeması", + "attributes-proto-schema-required": "Öznitelik proto şeması gereklidir.", + "rpc-response-proto-schema": "RPC yanıt proto şeması", + "rpc-response-proto-schema-required": "RPC yanıt proto şeması gereklidir.", + "rpc-response-topic-filter": "RPC yanıt konu filtresi", + "rpc-response-topic-filter-required": "RPC yanıt konu filtresi gereklidir.", "rpc-request-proto-schema": "RPC istek proto şeması", - "rpc-request-proto-schema-required": "RPC istek proto şeması gerekli.", - "rpc-request-proto-schema-hint": "RPC istek mesajında her zaman bu alanlar olmalıdır: string method = 1; int32 requestId = 2; ve any params = 3.", - "not-valid-pattern-topic-filter": "Geçersiz konu filtresi modeli", - "not-valid-single-character": "Tek düzeyli joker karakterin geçersiz kullanımı", - "not-valid-multi-character": "Çok seviyeli joker karakterin geçersiz kullanımı", - "single-level-wildcards-hint": "[+] herhangi bir konu filtresi seviyesi için uygundur. Ör: v1/devices/+/telemetry veya +/devices/+/attributes.", - "multi-level-wildcards-hint": "[#] konu filtresinin yerini alabilir ve konunun son sembolü olmalıdır. Ör: # or v1/devices/me/#.", + "rpc-request-proto-schema-required": "RPC istek proto şeması gereklidir.", + "rpc-request-proto-schema-hint": "RPC istek mesajı her zaman şu alanları içermelidir: string method = 1; int32 requestId = 2; ve params = 3 herhangi bir veri tipi olabilir.", + "not-valid-pattern-topic-filter": "Geçerli olmayan konu filtresi deseni", + "not-valid-single-character": "Tek seviyeli joker karakterin hatalı kullanımı", + "not-valid-multi-character": "Çok seviyeli joker karakterin hatalı kullanımı", + "single-level-wildcards-hint": "[+] her konu seviyesi için uygundur. Örn.: v1/devices/+/telemetry veya +/devices/+/attributes.", + "multi-level-wildcards-hint": "[#] konu filtresinin tamamını değiştirebilir ve son karakter olmalıdır. Örn.: # veya v1/devices/me/#.", "alarm-rules": "Alarm kuralları", "alarm-rules-with-count": "Alarm kuralları ({{count}})", - "no-alarm-rules": "Yapılandırılmış alarm kuralı yok", + "no-alarm-rules": "Tanımlı alarm kuralı yok", "add-alarm-rule": "Alarm kuralı ekle", "edit-alarm-rule": "Alarm kuralını düzenle", - "alarm-type": "Alarm tipi", - "alarm-type-required": "Alarm türü gerekli.", - "alarm-type-unique": "Alarm türü, cihaz profili alarm kuralları dahilinde benzersiz olmalıdır.", - "create-alarm-pattern": "{{alarmType}} alarmı oluşturun", - "create-alarm-rules": "Alarm kuralları oluşturun", - "no-create-alarm-rules": "Yapılandırılmış koşul oluşturma yok", + "alarm-type": "Alarm türü", + "alarm-type-required": "Alarm türü gereklidir.", + "alarm-type-unique": "Alarm türü cihaz profili içinde benzersiz olmalıdır.", + "alarm-type-max-length": "Alarm türü 256 karakterden kısa olmalıdır", + "create-alarm-pattern": "{{alarmType}} alarmı oluştur", + "create-alarm-rules": "Alarm kuralları oluştur", + "no-create-alarm-rules": "Tanımlı oluşturma koşulu yok", "add-create-alarm-rule-prompt": "Lütfen alarm oluşturma kuralı ekleyin", "clear-alarm-rule": "Alarm kuralını temizle", - "no-clear-alarm-rule": "Alarm temizleme kuralı yapılandırılmamış", + "no-clear-alarm-rule": "Tanımlı temizleme koşulu yok", "add-create-alarm-rule": "Oluşturma koşulu ekle", - "add-clear-alarm-rule": "Alarm temizleme koşulu ekle", - "select-alarm-severity": "Alarm şiddetini seçin", - "alarm-severity-required": "Alarm şiddeti gerekli.", + "add-clear-alarm-rule": "Temizleme koşulu ekle", + "select-alarm-severity": "Alarm şiddetini seç", + "alarm-severity-required": "Alarm şiddeti gereklidir.", "condition-duration": "Koşul süresi", "condition-duration-value": "Süre değeri", "condition-duration-time-unit": "Zaman birimi", "condition-duration-value-range": "Süre değeri 1 ile 2147483647 arasında olmalıdır.", - "condition-duration-value-pattern": "Süre değeri tamsayı olmalıdır.", - "condition-duration-value-required": "Süre değeri gerekli.", - "condition-duration-time-unit-required": "Zaman birimi gerekli.", + "condition-duration-value-pattern": "Süre değeri tam sayı olmalıdır.", + "condition-duration-value-required": "Süre değeri gereklidir.", + "condition-duration-time-unit-required": "Zaman birimi gereklidir.", "advanced-settings": "Gelişmiş ayarlar", - "alarm-rule-mobile-dashboard": "Mobil gösterge paneli", - "alarm-rule-mobile-dashboard-hint": "Mobil uygulama tarafından alarm ayrıntıları gösterge paneli olarak kullanılır", - "alarm-rule-no-mobile-dashboard": "Gösterge paneli seçilmedi", - "propagate-alarm": "Alarmı yay", - "alarm-rule-relation-types-list": "Yayılacak ilişki türleri", - "alarm-rule-relation-types-list-hint": "Yayma ilişki türleri seçilmezse, alarmlar ilişki türüne göre filtreleme yapılmadan yayılır.", - "alarm-rule-condition": "Alarm kuralı koşulu", + "alarm-rule-additional-info": "Ek bilgi", + "edit-alarm-rule-additional-info": "Ek bilgiyi düzenle", + "alarm-rule-additional-info-placeholder": "Alarm ayrıntılarında Ek bilgi sekmesinde görüntülenecek yorum ve ayarları buraya girin", + "alarm-rule-additional-info-hint": "İpucu: Alarm kural koşulunda kullanılan öznitelik veya telemetri anahtarlarının değerlerini yerleştirmek için ${keyName} kullanın.", + "alarm-rule-mobile-dashboard": "Mobil kontrol paneli", + "alarm-rule-mobile-dashboard-hint": "Mobil uygulama tarafından alarm detay paneli olarak kullanılır", + "alarm-rule-no-mobile-dashboard": "Seçilen kontrol paneli yok", + "propagate-alarm": "Alarmı ilişkili varlıklara yay", + "alarm-rule-relation-types-list": "İlişki türleri", + "alarm-rule-relation-types-list-hint": "İlişkili varlıkları filtrelemek için ilişki türlerini tanımlar. Belirtilmezse alarm tüm ilişkili varlıklara yayılır.", + "propagate-alarm-to-owner": "Alarmı varlık sahibine (Müşteri veya Kiracı) yay", + "propagate-alarm-to-tenant": "Alarmı Kiracı'ya yay", + "alarm-rule-condition": "Alarm kural koşulu", "enter-alarm-rule-condition-prompt": "Lütfen alarm kuralı koşulu ekleyin", "edit-alarm-rule-condition": "Alarm kuralı koşulunu düzenle", - "device-provisioning": "Cihaz tedarik", - "provision-strategy": "Tedarik stratejisi", - "provision-strategy-required": "Tedarik stratejisi gerekli.", + "device-provisioning": "Cihaz sağlama", + "provision-strategy": "Sağlama stratejisi", + "provision-strategy-required": "Sağlama stratejisi gereklidir.", "provision-strategy-disabled": "Devre dışı", - "provision-strategy-created-new": "Yeni cihazlar oluşturmaya izin ver", - "provision-strategy-check-pre-provisioned": "Önceden hazırlanmış cihazları kontrol edin", - "provision-device-key": "Cihaz Sağlama Anahtarı", - "provision-device-key-required": "Cihaz Sağlama Anahtarı gerekli.", - "copy-provision-key": "Cihaz Sağlama Anahtarını kopyala", - "provision-key-copied-message": "Cihaz Sağlama Anahtarı panoya kopyalandı", - "provision-device-secret": "Cihaz Sağlama Özel Anahtarı", - "provision-device-secret-required": "Cihaz Sağlama Özel Anahtarı gerekli.", - "copy-provision-secret": "Cihaz Sağlama Özel Anahtarını kopyala", - "provision-secret-copied-message": "Cihaz Sağlama Özel Anahtarı panoya kopyalandı", + "provision-strategy-created-new": "Yeni cihazların oluşturulmasına izin ver", + "provision-strategy-check-pre-provisioned": "Önceden sağlanmış cihazları kontrol et", + "provision-device-key": "Cihaz sağlama anahtarı", + "provision-device-key-required": "Cihaz sağlama anahtarı gereklidir.", + "copy-provision-key": "Sağlama anahtarını kopyala", + "provision-key-copied-message": "Sağlama anahtarı panoya kopyalandı", + "provision-device-secret": "Cihaz sağlama gizli anahtarı", + "provision-device-secret-required": "Cihaz sağlama gizli anahtarı gereklidir.", + "copy-provision-secret": "Gizli sağlama anahtarını kopyala", + "provision-secret-copied-message": "Gizli sağlama anahtarı panoya kopyalandı", + "provision-strategy-x509": { + "certificate-chain": "X509 Sertifika Zinciri", + "certificate-chain-hint": "X.509 sertifikaları stratejisi, iki yönlü TLS iletişiminde istemci sertifikalarıyla cihaz sağlamak için kullanılır.", + "allow-create-new-devices": "Yeni cihazlar oluştur", + "allow-create-new-devices-hint": "Seçildiğinde yeni cihazlar oluşturulacak ve istemci sertifikası cihaz kimlik bilgileri olarak kullanılacaktır.", + "certificate-value": "PEM formatında sertifika", + "certificate-value-required": "PEM formatında sertifika gereklidir", + "cn-regex-variable": "CN Düzenli İfade değişkeni", + "cn-regex-variable-required": "CN Düzenli İfade değişkeni gereklidir", + "cn-regex-variable-hint": "Cihaz adını cihazın X509 sertifikasının common name (CN) alanından almak için gereklidir." + }, "condition": "Koşul", "condition-type": "Koşul türü", "condition-type-simple": "Basit", "condition-type-duration": "Süre", - "condition-during": "{{during}} sırasında", - "condition-during-dynamic": "\"{{ attribute }}\" sırasında ({{during}})", + "condition-during": "{{during}} süresince", + "condition-during-dynamic": "\"{{ attribute }}\" ({{during}}) süresince", "condition-type-repeating": "Tekrarlayan", - "condition-type-required": "Koşul türü gerekli.", - "condition-repeating-value": "Etkinlik sayısı sayısı", - "condition-repeating-value-range": "Etkinlik sayısı 1 ile 2147483647 arasında olmalıdır.", - "condition-repeating-value-pattern": "Etkinlik sayısı tamsayı olmalıdır.", - "condition-repeating-value-required": "Etkinlik sayısı gerekli.", - "condition-repeat-times": "{ count, plural, =1 {1 kere} other {# kere} } tekrar eder", - "condition-repeat-times-dynamic": "\"{ attribute }\" ({ count, plural, =1 {1 kere} other {# kere} } tekrar eder)", - "schedule-type": "Plan türü", - "schedule-type-required": "Plan türü gerekli.", - "schedule": "Plan", - "edit-schedule": "Alarm planını düzenle", - "schedule-any-time": "Her zaman aktif", - "schedule-specific-time": "Belirli bir zamanda aktif", + "condition-type-required": "Koşul türü gereklidir.", + "condition-repeating-value": "Olay sayısı", + "condition-repeating-value-range": "Olay sayısı 1 ile 2147483647 arasında olmalıdır.", + "condition-repeating-value-pattern": "Olay sayısı tamsayı olmalıdır.", + "condition-repeating-value-required": "Olay sayısı gereklidir.", + "condition-repeat-times": "{ count, plural, =1 {1 kez} other {# kez} } tekrarlar", + "condition-repeat-times-dynamic": "\"{ attribute }\" ({ count, plural, =1 {1 kez} other {# kez} }) tekrarlar", + "schedule-type": "Zamanlayıcı türü", + "schedule-type-required": "Zamanlayıcı türü gereklidir.", + "schedule": "Zamanlama", + "edit-schedule": "Alarm zamanlamasını düzenle", + "schedule-any-time": "Her zaman etkin", + "schedule-specific-time": "Belirli zamanda etkin", "schedule-custom": "Özel", "schedule-day": { "monday": "Pazartesi", @@ -1194,118 +2140,151 @@ "saturday": "Cumartesi", "sunday": "Pazar" }, - "schedule-days": "Gün", - "schedule-time": "Saat", + "schedule-days": "Günler", + "schedule-time": "Zaman", "schedule-time-from": "Başlangıç", "schedule-time-to": "Bitiş", - "schedule-days-of-week-required": "Haftanın en az bir günü seçilmelidir.", + "schedule-days-of-week-required": "En az bir gün seçilmelidir.", "create-device-profile": "Yeni cihaz profili oluştur", - "import": "Cihaz profilini içe aktar", - "export": "Cihaz profilini dışa aktar", - "export-failed-error": "Cihaz profili dışa aktarılamıyor: {{error}}", + "import": "Cihaz profili içe aktar", + "export": "Cihaz profili dışa aktar", + "export-failed-error": "Cihaz profili dışa aktarılamadı: {{error}}", "device-profile-file": "Cihaz profili dosyası", - "invalid-device-profile-file-error": "Cihaz profili içe aktarılamıyor: Geçersiz cihaz profili veri yapısı.", - "power-saving-mode": "Güç tasarrufu modu", + "invalid-device-profile-file-error": "Cihaz profili içe aktarılamadı: Geçersiz cihaz profili veri yapısı.", + "power-saving-mode": "Güç Tasarruf Modu", "power-saving-mode-type": { - "default": "Cihaz profili güç tasarrufu modunu kullan", - "psm": "Güç tasarrufu modu (PSM)", - "drx": "Discontinuous Reception (DRX)", - "edrx": "Extended Discontinuous Reception (eDRX)" - }, - "edrx-cycle": "eDRX çevrim", - "edrx-cycle-required": "eDRX çevrim gerekli.", - "edrx-cycle-pattern": "eDRX çevrimi pozitif bir tam sayı olmalıdır.", - "edrx-cycle-min": "Minimum eDRX çevrim sayısı {{ min }} saniyedir.", - "paging-transmission-window": "Paging Transmission Window", - "paging-transmission-window-required": "Paging Transmission Window gerekli.", - "paging-transmission-window-pattern": "Paging Transmission Window pozitif bir tam sayı olmalıdır.", - "paging-transmission-window-min": "Minimum Paging Transmission Window sayısı {{ min }} saniyedir.", - "psm-activity-timer": "PSM Etkinlik Zamanlayıcısı", - "psm-activity-timer-required": "PSM Etkinlik Zamanlayıcısı gerekli.", - "psm-activity-timer-pattern": "PSM etkinlik zamanlayıcısı pozitif bir tam sayı olmalıdır.", - "psm-activity-timer-min": "Minimum PSM etkinlik zamanlayıcı sayısı {{ min }} saniyedir.", + "default": "Cihaz profili güç tasarruf modunu kullan", + "psm": "Güç Tasarruf Modu (PSM)", + "drx": "Kesintili Alım (DRX)", + "edrx": "Genişletilmiş Kesintili Alım (eDRX)" + }, + "edrx-cycle": "eDRX döngüsü", + "edrx-cycle-required": "eDRX döngüsü gereklidir.", + "edrx-cycle-pattern": "eDRX döngüsü pozitif tamsayı olmalıdır.", + "edrx-cycle-min": "Minimum eDRX döngüsü {{ min }} saniyedir.", + "paging-transmission-window": "Sayfalama Aktarım Penceresi", + "paging-transmission-window-required": "Sayfalama aktarım penceresi gereklidir.", + "paging-transmission-window-pattern": "Sayfalama aktarım penceresi pozitif bir tamsayı olmalıdır.", + "paging-transmission-window-min": "Minimum sayfalama aktarım penceresi değeri {{ min }} saniyedir.", + "psm-activity-timer": "PSM Aktivite Zamanlayıcısı", + "psm-activity-timer-required": "PSM aktivite zamanlayıcısı gereklidir.", + "psm-activity-timer-pattern": "PSM aktivite zamanlayıcısı pozitif bir tamsayı olmalıdır.", + "psm-activity-timer-min": "Minimum PSM aktivite zamanlayıcısı {{ min }} saniyedir.", "lwm2m": { "object-list": "Nesne listesi", - "object-list-empty": "Hiçbir nesne seçilmedi.", - "no-objects-found": "Hiçbir nesne bulunamadı.", + "object-list-empty": "Seçili nesne yok.", + "no-objects-found": "Nesne bulunamadı.", "no-objects-matching": "'{{object}}' ile eşleşen nesne bulunamadı.", "model-tab": "LWM2M Modeli", - "add-new-instances": "Yeni nesne ekle", - "instances-list": "Nesne listesi", - "instances-list-required": "Nesne listesi gerekli.", - "instance-id-pattern": "Nesne ID pozitif bir tam sayı olmalıdır.", - "instance-id-max": "Maksimum nesne kimliği değeri {{max}}.", - "instance": "Nesne", + "add-new-instances": "Yeni örnekler ekle", + "instances-list": "Örnekler listesi", + "instances-list-required": "Örnekler listesi gereklidir.", + "instance-id-pattern": "Örnek kimliği pozitif bir tamsayı olmalıdır.", + "instance-id-max": "Maksimum örnek kimliği değeri {{max}}.", + "instance": "Örnek", "resource-label": "#ID Kaynak adı", - "observe-label": "Gözlem", - "attribute-label": "Öznitelik", + "observe-label": "Gözlemle", + "attribute-label": "Özellik", "telemetry-label": "Telemetri", - "edit-observe-select": "Gözlemi düzenlemek için telemetri veya özniteliği seçin", - "edit-attributes-select": "Öznitelikleri düzenlemek için telemetri veya öznitelik seçin", - "no-attributes-set": "Öznitelik ayarlanmadı", + "edit-observe-select": "Gözlemi düzenlemek için telemetri veya özellik seçin", + "edit-attributes-select": "Özellikleri düzenlemek için telemetri veya özellik seçin", + "no-attributes-set": "Tanımlı özellik yok", "key-name": "Anahtar adı", - "key-name-required": "Anahtar adı gerekli", - "attribute-name": "Ad özniteliği", - "attribute-name-required": "Ad özniteliği gerekli.", - "attribute-value": "Öznitelik değeri", - "attribute-value-required": "Öznitelik değeri gerekli.", - "attribute-value-pattern": "Öznitelik değeri pozitif bir tam sayı olmalıdır.", - "edit-attributes": "Öznitelikleri düzenle: {{ name }}", - "view-attributes": "Öznitelikleri görüntüle: {{ name }}", - "add-attribute": "Öznitelik ekle", - "edit-attribute": "Öznitelik düzenle", - "view-attribute": "Öznitelik görüntüle", - "remove-attribute": "Öznitelik kaldır", + "key-name-required": "Anahtar adı gereklidir", + "attribute-name": "Özellik adı", + "attribute-name-required": "Özellik adı gereklidir.", + "attribute-value": "Özellik değeri", + "attribute-value-required": "Özellik değeri gereklidir.", + "attribute-value-pattern": "Özellik değeri pozitif bir tamsayı olmalıdır.", + "edit-attributes": "Özellikleri düzenle: {{ name }}", + "view-attributes": "Özellikleri görüntüle: {{ name }}", + "add-attribute": "Özellik ekle", + "edit-attribute": "Özelliği düzenle", + "view-attribute": "Özelliği görüntüle", + "remove-attribute": "Özelliği kaldır", + "delete-server-text": "Dikkatli olun, onaydan sonra sunucu yapılandırması geri alınamaz hale gelecektir.", + "delete-server-title": "Sunucuyu silmek istediğinizden emin misiniz?", "mode": "Güvenlik yapılandırma modu", - "short-id": "Kısa ID", - "short-id-required": "Kısa ID gerekli.", - "short-id-range": "Kısa ID {{ min }} ile {{ max }} aralığında olmalıdır.", - "short-id-pattern": "Kısa ID pozitif bir tam sayı olmalıdır.", - "lifetime": "İstemci kayıt ömrü", - "lifetime-required": "İstemci kayıt ömrü gerekli.", - "lifetime-pattern": "İstemci kayıt ömrü, pozitif bir tam sayı olmalıdır.", - "default-min-period": "İki bildirim(ler) arasındaki minimum süre", - "default-min-period-required": "Minimum süre gerekli.", - "default-min-period-pattern": "Minimum süre pozitif bir tam sayı olmalıdır.", - "notification-storing": "Devre dışı bırakıldığında veya çevrimdışı olduğunda bildirim depolama", + "bootstrap-tab": "Başlatma", + "bootstrap-server-legend": "Başlatma Sunucusu (ShortId...)", + "lwm2m-server-legend": "LwM2M Sunucusu (ShortId...)", + "server": "Sunucu", + "short-id": "Kısa sunucu kimliği", + "short-id-tooltip": "Sunucu kısa kimliği. Sunucu Nesne Örneğiyle ilişkilendirme bağlantısı olarak kullanılır.\nBu kimlik, LwM2M İstemcisi için yapılandırılmış her LwM2M Sunucusunu benzersiz olarak tanımlar.\nBootstrap-Server kaynağının değeri 'false' olduğunda bu kaynak AYARLANMALIDIR.\nID:0 ve ID:65535 değerleri LwM2M Sunucusunu tanımlamak için KULLANILMAMALIDIR.", + "short-id-tooltip-bootstrap": "Sunucu kısa kimliği. Sunucu Nesne Örneğiyle ilişkilendirme bağlantısı olarak kullanılır.\nBu kimlik, LwM2M İstemcisi için yapılandırılmış her LwM2M Sunucusunu benzersiz olarak tanımlar.\nBootstrap-Server kaynağının değeri 'false' olduğunda bu kaynak AYARLANMALIDIR.", + "short-id-required": "Kısa sunucu kimliği gereklidir.", + "short-id-range": "Kısa sunucu kimliği {{ min }} ile {{ max }} arasında olmalıdır.", + "short-id-pattern": "Kısa sunucu kimliği pozitif bir tamsayı olmalıdır.", + "lifetime": "İstemci kayıt süresi", + "lifetime-required": "İstemci kayıt süresi gereklidir.", + "lifetime-pattern": "İstemci kayıt süresi pozitif bir tamsayı olmalıdır.", + "default-min-period": "İki bildirim arasındaki minimum süre (sn)", + "default-min-period-tooltip": "LwM2M İstemcisinin, bir Gözlemde bu parametre dahil edilmediğinde, Gözlemin Minimum Süresi için kullanması gereken varsayılan değer.", + "default-min-period-required": "Minimum süre gereklidir.", + "default-min-period-pattern": "Minimum süre pozitif bir tamsayı olmalıdır.", + "notification-storing": "Bildirimler devre dışıyken veya çevrimdışıyken saklansın", "binding": "Bağlama", - "bootstrap-tab": "Bootstrap", - "bootstrap-server": "Bootstrap Sunucusu", + "binding-type": { + "u": "U: İstemci her zaman UDP bağlantısı üzerinden erişilebilir.", + "m": "M: İstemci her zaman MQTT bağlantısı üzerinden erişilebilir.", + "h": "H: İstemci her zaman HTTP bağlantısı üzerinden erişilebilir.", + "t": "T: İstemci her zaman TCP bağlantısı üzerinden erişilebilir.", + "s": "S: İstemci her zaman SMS bağlantısı üzerinden erişilebilir.", + "n": "N: İstemci, bu tür bir isteğe yanıtı Non-IP bağlantısı üzerinden göndermelidir (LWM2M 1.1 itibariyle desteklenmektedir).", + "uq": "UQ: Kuyruk modunda UDP bağlantısı (LWM2M 1.1 itibariyle desteklenmemektedir)", + "uqs": "UQS: UDP ve SMS bağlantıları aktif; UDP kuyruk modunda, SMS standart modda (LWM2M 1.1 itibariyle desteklenmemektedir)", + "tq": "TQ: Kuyruk modunda TCP bağlantısı (LWM2M 1.1 itibariyle desteklenmemektedir)", + "tqs": "TQS: TCP ve SMS bağlantıları aktif; TCP kuyruk modunda, SMS standart modda (LWM2M 1.1 itibariyle desteklenmemektedir)", + "sq": "SQ: Kuyruk modunda SMS bağlantısı (LWM2M 1.1 itibariyle desteklenmemektedir)" + }, + "binding-tooltip": "\"binding\" kaynağındaki (LwM2M sunucu nesnesi - /1/x/7) listedir.\nLwM2M İstemcisi tarafından desteklenen bağlanma modlarını belirtir.\nBu değer, Aygıt Nesnesindeki \"Supported Binding and Modes\" kaynağındaki (/3/0/16) değerle aynı OLMALIDIR.\nBirden fazla taşıma protokolü desteklenmesine rağmen, tüm Taşıma Oturumu süresince yalnızca bir bağlantı türü kullanılabilir.\nÖrneğin, UDP ve SMS desteklendiğinde, LwM2M İstemcisi ve Sunucusu tüm oturum boyunca ya UDP ya da SMS üzerinden iletişim kurmalıdır.", + "bootstrap-server": "Başlatma Sunucusu", "lwm2m-server": "LwM2M Sunucusu", - "server-host": "Host", - "server-host-required": "Host gerekli.", + "include-bootstrap-server": "Başlatma Sunucusu güncellemelerini dahil et", + "bootstrap-update-title": "Zaten yapılandırılmış bir Başlatma Sunucunuz var. Güncellemeleri hariç tutmak istediğinizden emin misiniz?", + "bootstrap-update-text": "Dikkatli olun, onaydan sonra Başlatma Sunucusu yapılandırma verileri geri alınamaz hale gelecektir.", + "server-host": "Sunucu", + "server-host-required": "Sunucu gereklidir.", "server-port": "Port", - "server-port-required": "Port gerekli.", - "server-port-pattern": "Port pozitif bir tam sayı olmalıdır.", - "server-port-range": "Port 1 ila 65535 aralığında olmalıdır.", - "server-public-key": "Sunucu Açık Anahtarı", - "server-public-key-required": "Sunucu Açık Anahtarı gerekli.", + "server-port-required": "Port gereklidir.", + "server-port-pattern": "Port pozitif bir tamsayı olmalıdır.", + "server-port-range": "Port değeri 1 ile 65535 arasında olmalıdır.", + "server-public-key": "Sunucu Genel Anahtarı", + "server-public-key-required": "Sunucu Genel Anahtarı gereklidir.", "client-hold-off-time": "Bekleme Süresi", - "client-hold-off-time-required": "Bekleme Süresi gerekli.", - "client-hold-off-time-pattern": "Bekleme Süresi pozitif bir tam sayı olmalıdır.", - "client-hold-off-time-tooltip": "Yalnızca Bootstrap Sunucusu ile kullanım için İstemci Bekleme Süresi", - "account-after-timeout": "Zaman aşımından sonra hesap", - "account-after-timeout-required": "Zaman aşımından sonraki hesap gerekli.", - "account-after-timeout-pattern": "Zaman aşımından sonraki hesap pozitif bir tam sayı olmalıdır.", - "account-after-timeout-tooltip": "Bu kaynak tarafından verilen zaman aşımı değerinden sonra Bootstrap Sunucu Hesabı.", + "client-hold-off-time-required": "Bekleme süresi gereklidir.", + "client-hold-off-time-pattern": "Bekleme süresi pozitif bir tamsayı olmalıdır.", + "client-hold-off-time-tooltip": "Yalnızca Başlatma Sunucusu ile kullanılmak üzere istemci bekleme süresi.", + "account-after-timeout": "Zaman aşımından sonra hesapla", + "account-after-timeout-required": "Zaman aşımından sonra hesaplama gereklidir.", + "account-after-timeout-pattern": "Zaman aşımından sonra hesaplama pozitif bir tamsayı olmalıdır.", + "account-after-timeout-tooltip": "Başlatma Sunucusu tarafından verilen zaman aşımı değeri sonrası hesaplama.", + "server-type": "Sunucu türü", + "add-new-server-title": "Yeni sunucu yapılandırması ekle", + "add-server-config": "Sunucu yapılandırması ekle", + "add-lwm2m-server-config": "LwM2M sunucusu ekle", + "no-config-servers": "Yapılandırılmış sunucu yok", "others-tab": "Diğer ayarlar", + "ota-update": "OTA güncellemesi", + "use-object-19-for-ota-update": "OTA dosya meta verileri için Nesne 19'u kullan", + "use-object-19-for-ota-update-hint": "Nesne ID=19 şu şekilde kullanılır: Firmware → InstanceId=65534, Software → InstanceId=65535. Veri formatı: Base64 içinde JSON. JSON içinde: \"Checksum\" (SHA256), \"Title\", \"Version\", \"File Name\", \"File Size\" alanları yer alır.", "client-strategy": "Bağlanırken istemci stratejisi", "client-strategy-label": "Strateji", - "client-strategy-only-observe": "Yalnızca ilk bağlantıdan sonra istemciye yapılan isteği gözlemleyin", - "client-strategy-read-all": "Tüm Kaynakları Okuyun ve Kayıttan Sonra İstemciye Yapılan Talebi Gözlemleyin", - "fw-update": "Donanım yazılımı güncellemesi", - "fw-update-strategy": "Donanım yazılımı güncelleme stratejisi", - "fw-update-strategy-data": "Nesne 19 ve Kaynak 0 (Veri) kullanarak Donanım yazılımı güncellemesini binary dosya olarak gönderin", - "fw-update-strategy-package": "Nesne 5 ve Kaynak 0 (Paket) kullanarak Donanım yazılımı güncellemesini binary dosya olarak gönderin", - "fw-update-strategy-package-uri": "Paketi indirmek ve ürün Donanım yazılımı güncellemesini Nesne 5 ve Kaynak 1 (Paket URI'si) olarak göndermek için otomatik olarak benzersiz CoAP URL'si oluşturun", - "sw-update": "Software güncellemesi", - "sw-update-strategy": "Software güncelleme stratejisi", - "sw-update-strategy-package": "Nesne 9 ve Kaynak 2 (Paket) kullanarak binary dosya gönderin", - "sw-update-strategy-package-uri": "Paketi indirmek ve Nesne 9 ve Kaynak 3'ü (Paket URI) kullanarak yazılım güncellemesini göndermek için otomatik olarak benzersiz CoAP URL'si oluşturun", - "fw-update-resource": "Donanım yazılımı güncellemesi CoAP kaynağı", - "fw-update-resource-required": "Donanım yazılımı güncellemesi CoAP kaynağı gerekli.", - "sw-update-resource": "Yazılım güncellemesi CoAP kaynağı", - "sw-update-resource-required": "Yazılım güncellemesi CoAP kaynağı gerekli.", + "client-strategy-only-observe": "İlk bağlantı sonrası sadece Gözlem isteği", + "client-strategy-read-all": "Kayıttan sonra tüm kaynakları oku ve Gözlem isteği gönder", + "fw-update": "Yazılım güncellemesi (Firmware)", + "fw-update-strategy": "Yazılım güncelleme stratejisi", + "fw-update-strategy-data": "Nesne 19 ve Kaynak 0 (Data) kullanarak ikili dosya gönder", + "fw-update-strategy-package": "Nesne 5 ve Kaynak 0 (Package) kullanarak ikili dosya gönder", + "fw-update-strategy-package-uri": "Benzersiz CoAP URL oluştur ve Nesne 5 ile Kaynak 1 (Package URI) üzerinden gönder", + "sw-update": "Yazılım güncellemesi (Software)", + "sw-update-strategy": "Yazılım güncelleme stratejisi", + "sw-update-strategy-package": "Nesne 9 ve Kaynak 2 (Package) ile ikili dosya gönder", + "sw-update-strategy-package-uri": "Benzersiz CoAP URL oluştur ve Nesne 9 ile Kaynak 3 (Package URI) üzerinden yazılım gönder", + "fw-update-resource": "Firmware güncelleme CoAP kaynağı", + "fw-update-resource-required": "Firmware güncelleme CoAP kaynağı gereklidir.", + "sw-update-resource": "Yazılım güncelleme CoAP kaynağı", + "sw-update-resource-required": "Yazılım güncelleme CoAP kaynağı gereklidir.", "config-json-tab": "Json Yapılandırma Profil Cihazı", "attributes-name": { "min-period": "Minimum süre", @@ -1315,472 +2294,587 @@ "step": "Adım", "min-evaluation-period": "Minimum değerlendirme süresi", "max-evaluation-period": "Maksimum değerlendirme süresi" + }, + "default-object-id": "Varsayılan Nesne Sürümü (Özellik)", + "default-object-id-ver": { + "v1-0": "1.0", + "v1-1": "1.1", + "v1-2": "1.2" + }, + "observe-strategy": { + "observe-strategy": "Gözlem stratejisi", + "single": "Tekil", + "single-description": "Her kaynak için tek Gözlem isteği (daha hassas, daha fazla ağ trafiği)", + "composite-all": "Tümünü birleştir", + "composite-all-description": "Tüm kaynaklar tek Composite Observe isteğiyle gözlemlenir (daha verimli, daha az esnek)", + "composite-by-object": "Nesnelere göre birleştir", + "composite-by-object-description": "Kaynaklar nesne türüne göre gruplanır ve ayrı Composite Observe istekleri ile gözlemlenir (dengeli yaklaşım)" } }, "snmp": { "add-communication-config": "İletişim yapılandırması ekle", "add-mapping": "Eşleme ekle", "authentication-passphrase": "Kimlik doğrulama parolası", - "authentication-passphrase-required": "Kimlik doğrulama parolası gerekli.", + "authentication-passphrase-required": "Kimlik doğrulama parolası gereklidir.", "authentication-protocol": "Kimlik doğrulama protokolü", - "authentication-protocol-required": "Kimlik doğrulama protokolü gerekli.", + "authentication-protocol-required": "Kimlik doğrulama protokolü gereklidir.", "communication-configs": "İletişim yapılandırmaları", - "community": "Topluluk dizisi", - "community-required": "Topluluk dizesi gerekli.", - "context-name": "İçerik adı", + "community": "Topluluk dizesi", + "community-required": "Topluluk dizesi gereklidir.", + "context-name": "Bağlam adı", "data-key": "Veri anahtarı", - "data-key-required": "Veri anahtarı gerekli.", + "data-key-required": "Veri anahtarı gereklidir.", "data-type": "Veri türü", - "data-type-required": "Veri türü gerekli.", - "engine-id": "Engine ID", - "host": "Host", - "host-required": "Host gerekli.", + "data-type-required": "Veri türü gereklidir.", + "engine-id": "Motor Kimliği", + "host": "Sunucu", + "host-required": "Sunucu gereklidir.", "oid": "OID", "oid-pattern": "Geçersiz OID biçimi.", - "oid-required": "OID gerekli.", - "please-add-communication-config": "Lütfen iletişim yapılandırmasını ekleyin", - "please-add-mapping-config": "Lütfen eşleme yapılandırmasını ekleyin", + "oid-required": "OID gereklidir.", + "please-add-communication-config": "Lütfen iletişim yapılandırması ekleyin", + "please-add-mapping-config": "Lütfen eşleme yapılandırması ekleyin", "port": "Port", "port-format": "Geçersiz port biçimi.", - "port-required": "Port gerekli.", + "port-required": "Port gereklidir.", "privacy-passphrase": "Gizlilik parolası", - "privacy-passphrase-required": "Gizlilik parolası gerekli.", + "privacy-passphrase-required": "Gizlilik parolası gereklidir.", "privacy-protocol": "Gizlilik protokolü", - "privacy-protocol-required": "Gizlilik protokolü gerekli.", + "privacy-protocol-required": "Gizlilik protokolü gereklidir.", "protocol-version": "Protokol sürümü", - "protocol-version-required": "Protokol sürümü gerekli.", + "protocol-version-required": "Protokol sürümü gereklidir.", "querying-frequency": "Sorgulama sıklığı, ms", - "querying-frequency-invalid-format": "Sorgulama sıklığı pozitif bir tam sayı olmalıdır.", - "querying-frequency-required": "Sorgulama sıklığı gerekli.", - "retries": "Deneme sayısı", - "retries-invalid-format": "Deneme sayısı pozitif bir tam sayı olmalıdır.", - "retries-required": "Deneme sayısı gerekli.", + "querying-frequency-invalid-format": "Sorgulama sıklığı pozitif bir tamsayı olmalıdır.", + "querying-frequency-required": "Sorgulama sıklığı gereklidir.", + "retries": "Yeniden deneme sayısı", + "retries-invalid-format": "Yeniden deneme sayısı pozitif bir tamsayı olmalıdır.", + "retries-required": "Yeniden deneme sayısı gereklidir.", "scope": "Kapsam", - "scope-required": "Kapsam gerekli.", + "scope-required": "Kapsam gereklidir.", "security-name": "Güvenlik adı", - "security-name-required": "Güvenlik adı gerekli.", + "security-name-required": "Güvenlik adı gereklidir.", "timeout-ms": "Zaman aşımı, ms", - "timeout-ms-invalid-format": "Zaman aşımı pozitif bir tam sayı olmalıdır.", - "timeout-ms-required": "Zaman aşımı gerekli.", + "timeout-ms-invalid-format": "Zaman aşımı pozitif bir tamsayı olmalıdır.", + "timeout-ms-required": "Zaman aşımı gereklidir.", "user-name": "Kullanıcı adı", - "user-name-required": "Kullanıcı adı gerekli." + "user-name-required": "Kullanıcı adı gereklidir." } }, "dialog": { - "close": "Kapat" + "close": "Diyaloğu kapat", + "error-message-title": "Hata mesajı:", + "error-details-title": "Hata ayrıntıları" }, "direction": { - "column": "Kolon", + "column": "Sütun", "row": "Satır" }, "edge": { - "edge": "Edge", - "edge-instances": "Edge instances", - "edge-file": "Edge file", - "management": "Edge management", - "no-edges-matching": "No edges matching '{{entity}}' were found.", - "add": "Add Edge", - "no-edges-text": "No edges found", - "edge-details": "Edge details", - "add-edge-text": "Add new edge", - "delete": "Delete edge", - "delete-edge-title": "Are you sure you want to delete the edge '{{edgeName}}'?", - "delete-edge-text": "Be careful, after the confirmation the edge and all related data will become unrecoverable.", - "delete-edges-title": "Are you sure you want to edge { count, plural, =1 {1 edge} other {# edges} }?", - "delete-edges-text": "Be careful, after the confirmation all selected edges will be removed and all related data will become unrecoverable.", - "name": "Name", - "name-starts-with": "Edge name starts with", - "name-required": "Name is required.", - "description": "Description", - "details": "Details", - "events": "Events", - "copy-id": "Copy Edge Id", - "id-copied-message": "Edge Id has been copied to clipboard", - "sync": "Sync Edge", - "edge-required": "Edge required", - "edge-type": "Edge type", - "edge-type-required": "Edge type is required.", - "event-action": "Event action", - "entity-id": "Entity ID", - "select-edge-type": "Select edge type", - "assign-to-customer": "Assign to customer", - "assign-to-customer-text": "Please select the customer to assign the edge(s)", - "assign-edge-to-customer": "Assign Edge(s) To Customer", - "assign-edge-to-customer-text": "Please select the edges to assign to the customer", - "assignedToCustomer": "Assigned to customer", - "edge-public": "Edge is public", - "assigned-to-customer": "Assigned to: {{customerTitle}}", - "unassign-from-customer": "Unassign from customer", - "unassign-edge-title": "Are you sure you want to unassign the edge '{{edgeName}}'?", - "unassign-edge-text": "After the confirmation the edge will be unassigned and won't be accessible by the customer.", - "unassign-edges-title": "Are you sure you want to unassign { count, plural, =1 {1 edge} other {# edges} }?", - "unassign-edges-text": "After the confirmation all selected edges will be unassigned and won't be accessible by the customer.", - "make-public": "Make edge public", - "make-public-edge-title": "Are you sure you want to make the edge '{{edgeName}}' public?", - "make-public-edge-text": "After the confirmation the edge and all its data will be made public and accessible by others.", - "make-private": "Make edge private", - "public": "Public", - "make-private-edge-title": "Are you sure you want to make the edge '{{edgeName}}' private?", - "make-private-edge-text": "After the confirmation the edge and all its data will be made private and won't be accessible by others.", - "import": "Import edge", - "label": "Label", - "load-entity-error": "Failed to load data. Entity has been deleted.", - "assign-new-edge": "Assign new edge", - "unassign-from-edge": "Unassign from edge", - "edge-key": "Edge key", - "copy-edge-key": "Copy Edge key", - "edge-key-copied-message": "Edge key has been copied to clipboard", - "edge-secret": "Edge secret", - "copy-edge-secret": "Copy Edge secret", - "edge-secret-copied-message": "Edge secret has been copied to clipboard", - "edge-assets": "Edge assets", - "edge-devices": "Edge devices", - "edge-entity-views": "Edge entity views", - "edge-dashboards": "Edge dashboards", - "edge-rulechains": "Edge rule chains", - "assets": "Edge assets", - "devices": "Edge devices", - "entity-views": "Edge entity views", - "dashboard": "Edge dashboard", - "dashboards": "Edge Dashboards", - "rulechain-templates": "Rule chain templates", - "rulechains": "Rule chains", - "search": "Search edges", - "selected-edges": "{ count, plural, =1 {1 edge} other {# edges} } selected", - "any-edge": "Any edge", - "no-edge-types-matching": "No edge types matching '{{entitySubtype}}' were found.", - "edge-type-list-empty": "No edge types selected.", - "edge-types": "Edge types", - "enter-edge-type": "Enter edge type", - "deployed": "Deployed", - "pending": "Pending", - "downlinks": "Downlinks", - "no-downlinks-prompt": "No downlinks found", - "sync-process-started-successfully": "Sync process started successfully!", - "missing-related-rule-chains-title": "Edge has missing related rule chain(s)", - "missing-related-rule-chains-text": "Assigned to edge rule chain(s) use rule nodes that forward message(s) to rule chain(s) that are not assigned to this edge.

List of missing rule chain(s):
{{missingRuleChains}}", - "widget-datasource-error": "This widget supports only EDGE entity datasource" + "edge": "Kenar", + "edge-instances": "Kenar örnekleri", + "instances": "Örnekler", + "edge-file": "Kenar dosyası", + "name-max-length": "Ad 256 karakterden kısa olmalıdır", + "label-max-length": "Etiket 256 karakterden kısa olmalıdır", + "type-max-length": "Tür 256 karakterden kısa olmalıdır", + "management": "Kenar yönetimi", + "no-edges-matching": "'{{entity}}' ile eşleşen kenar bulunamadı.", + "add": "Kenar ekle", + "no-edges-text": "Kenar bulunamadı", + "edge-details": "Kenar ayrıntıları", + "add-edge-text": "Yeni kenar ekle", + "delete": "Kenarı sil", + "delete-edge-title": "'{{edgeName}}' kenarını silmek istediğinizden emin misiniz?", + "delete-edge-text": "Dikkatli olun, onaydan sonra kenar ve ilişkili tüm veriler geri alınamaz hale gelecektir.", + "delete-edges-title": "{ count, plural, =1 {1 kenar} other {# kenar} } silmek istediğinizden emin misiniz?", + "delete-edges-text": "Dikkatli olun, onaydan sonra tüm seçili kenarlar ve ilişkili tüm veriler geri alınamaz hale gelecektir.", + "name": "Ad", + "name-starts-with": "Kenar adı ile başlayan", + "name-required": "Ad gereklidir.", + "description": "Açıklama", + "details": "Ayrıntılar", + "events": "Olaylar", + "copy-id": "Kenar Kimliğini Kopyala", + "id-copied-message": "Kenar Kimliği panoya kopyalandı", + "sync": "Kenarı Eşitle", + "edge-required": "Kenar gereklidir", + "edge-type": "Kenar türü", + "edge-type-required": "Kenar türü gereklidir.", + "event-action": "Olay eylemi", + "entity-id": "Varlık Kimliği", + "select-edge-type": "Kenar türü seç", + "assign-to-customer": "Müşteriye ata", + "assign-to-customer-text": "Kenarı atamak istediğiniz müşteriyi seçin", + "assign-edge-to-customer": "Kenar(lar)ı müşteriye ata", + "assign-edge-to-customer-text": "Müşteriye atanacak kenarları seçin", + "assignedToCustomer": "Müşteriye atandı", + "edge-public": "Kenar herkese açık", + "assigned-to-customer": "Atandığı müşteri: {{customerTitle}}", + "unassign-from-customer": "Müşteriden çıkar", + "unassign-edge-title": "'{{edgeName}}' kenarını müşteriden çıkarmak istediğinizden emin misiniz?", + "unassign-edge-text": "Onaydan sonra kenar müşteriden çıkarılacak ve erişilemeyecek.", + "unassign-edges-title": "{ count, plural, =1 {1 kenar} other {# kenar} } müşteriden çıkarmak istediğinizden emin misiniz?", + "unassign-edges-text": "Onaydan sonra tüm seçilen kenarlar müşteriden çıkarılacak ve erişilemeyecek.", + "make-public": "Kenarı herkese açık yap", + "make-public-edge-title": "'{{edgeName}}' kenarını herkese açık yapmak istediğinizden emin misiniz?", + "make-public-edge-text": "Onaydan sonra kenar ve tüm verileri herkese açık hale gelecektir.", + "make-private": "Kenarı gizli yap", + "public": "Herkese açık", + "make-private-edge-title": "'{{edgeName}}' kenarını gizli yapmak istediğinizden emin misiniz?", + "make-private-edge-text": "Onaydan sonra kenar ve tüm verileri gizli hale gelecek ve erişilemeyecek.", + "import": "Kenar içe aktar", + "install-connect-instructions": "Kurulum ve Bağlantı Talimatları", + "install-connect-instructions-edge-created": "Kenar oluşturuldu! Kurulum ve Bağlantı Talimatlarını kontrol edin", + "loading-edge-instructions": "Kenar talimatları yükleniyor...", + "label": "Etiket", + "load-entity-error": "Veri yüklenemedi. Varlık silinmiş.", + "assign-new-edge": "Yeni kenar ata", + "unassign-from-edge": "Kenardan çıkar", + "edge-key": "Kenar anahtarı", + "copy-edge-key": "Kenar anahtarını kopyala", + "edge-key-copied-message": "Kenar anahtarı panoya kopyalandı", + "edge-secret": "Kenar gizli anahtarı", + "copy-edge-secret": "Kenar gizli anahtarını kopyala", + "edge-secret-copied-message": "Kenar gizli anahtarı panoya kopyalandı", + "manage-assets": "Varlıkları yönet", + "manage-devices": "Cihazları yönet", + "manage-entity-views": "Varlık görünümlerini yönet", + "manage-dashboards": "Gösterge panellerini yönet", + "manage-rulechains": "Kural zincirlerini yönet", + "assets": "Kenar varlıkları", + "devices": "Kenar cihazları", + "entity-views": "Kenar varlık görünümleri", + "dashboard": "Kenar gösterge paneli", + "dashboards": "Kenar gösterge panelleri", + "rulechain-templates": "Kural zinciri şablonları", + "edge-rulechain-templates": "Kenar kural zinciri şablonları", + "rulechains": "Kenar kural zincirleri", + "search": "Kenarları ara", + "selected-edges": "{ count, plural, =1 {1 kenar} other {# kenar} } seçildi", + "any-edge": "Herhangi bir kenar", + "no-edge-types-matching": "'{{entitySubtype}}' ile eşleşen kenar türü bulunamadı.", + "edge-type-list-empty": "Seçili kenar türü yok.", + "edge-types": "Kenar türleri", + "enter-edge-type": "Kenar türü girin", + "deployed": "Yayında", + "pending": "Beklemede", + "downlinks": "Aşağı bağlantılar", + "no-downlinks-prompt": "Aşağı bağlantı bulunamadı", + "sync-process-started-successfully": "Eşitleme işlemi başarıyla başlatıldı!", + "missing-related-rule-chains-title": "Kenarda eksik ilişkili kural zinciri(leri) var", + "missing-related-rule-chains-text": "Kenara atanan kural zinciri(leri), başka kural zincirlerine mesaj yönlendiren düğümler içeriyor ancak bu kural zincirleri bu kenara atanmamış.

Eksik kural zincirleri listesi:
{{missingRuleChains}}", + "widget-datasource-error": "Bu widget yalnızca EDGE varlık veri kaynağını destekler", + "upgrade-instructions": "Yükseltme Talimatları", + "connected": "Bağlandı", + "disconnected": "Bağlantı kesildi" }, "edge-event": { - "type-dashboard": "Dashboard", - "type-asset": "Asset", - "type-device": "Device", - "type-device-profile": "Device Profile", - "type-entity-view": "Entity View", + "type-dashboard": "Gösterge Paneli", + "type-asset": "Varlık", + "type-device": "Cihaz", + "type-device-profile": "Cihaz Profili", + "type-asset-profile": "Varlık Profili", + "type-entity-view": "Varlık Görünümü", "type-alarm": "Alarm", - "type-rule-chain": "Rule Chain", - "type-rule-chain-metadata": "Rule Chain Metadata", - "type-edge": "Edge", - "type-user": "User", - "type-customer": "Customer", - "type-relation": "Relation", - "type-widgets-bundle": "Widgets Bundle", - "type-widgets-type": "Widgets Type", - "type-admin-settings": "Admin Settings", - "action-type-added": "Added", - "action-type-deleted": "Deleted", - "action-type-updated": "Updated", - "action-type-post-attributes": "Post Attributes", - "action-type-attributes-updated": "Attributes Updated", - "action-type-attributes-deleted": "Attributes Deleted", - "action-type-timeseries-updated": "Timeseries Updated", - "action-type-credentials-updated": "Credentials Updated", - "action-type-assigned-to-customer": "Assigned to Customer", - "action-type-unassigned-from-customer": "Unassigned from Customer", - "action-type-relation-add-or-update": "Relation Add or Update", - "action-type-relation-deleted": "Relation Deleted", - "action-type-rpc-call": "RPC Call", - "action-type-alarm-ack": "Alarm Ack", - "action-type-alarm-clear": "Alarm Clear", - "action-type-assigned-to-edge": "Assigned to Edge", - "action-type-unassigned-from-edge": "Unassigned from Edge", - "action-type-credentials-request": "Credentials Request", - "action-type-entity-merge-request": "Entity Merge Request" + "type-rule-chain": "Kural Zinciri", + "type-rule-chain-metadata": "Kural Zinciri Metaverisi", + "type-edge": "Kenar", + "type-user": "Kullanıcı", + "type-tenant": "Kiracı", + "type-tenant-profile": "Kiracı Profili", + "type-customer": "Müşteri", + "type-relation": "İlişki", + "type-widgets-bundle": "Bileşen Paketi", + "type-widgets-type": "Bileşen Türü", + "type-admin-settings": "Yönetici Ayarları", + "type-ota-package": "OTA Paketi", + "type-queue": "Kuyruk", + "action-type-added": "Eklendi", + "action-type-deleted": "Silindi", + "action-type-updated": "Güncellendi", + "action-type-post-attributes": "Öznitelikler Gönderildi", + "action-type-attributes-updated": "Öznitelikler Güncellendi", + "action-type-attributes-deleted": "Öznitelikler Silindi", + "action-type-timeseries-updated": "Zaman Serisi Güncellendi", + "action-type-credentials-updated": "Kimlik Bilgileri Güncellendi", + "action-type-assigned-to-customer": "Müşteriye Atandı", + "action-type-unassigned-from-customer": "Müşteriden Kaldırıldı", + "action-type-relation-add-or-update": "İlişki Ekle veya Güncelle", + "action-type-relation-deleted": "İlişki Silindi", + "action-type-rpc-call": "RPC Çağrısı", + "action-type-alarm-ack": "Alarm Onaylandı", + "action-type-alarm-clear": "Alarm Temizlendi", + "action-type-alarm-assigned": "Alarm Atandı", + "action-type-alarm-unassigned": "Alarm Kaldırıldı", + "action-type-assigned-to-edge": "Kenara Atandı", + "action-type-unassigned-from-edge": "Kenardan Kaldırıldı", + "action-type-credentials-request": "Kimlik Bilgileri İsteği", + "action-type-entity-merge-request": "Varlık Birleştirme İsteği" }, "error": { - "unable-to-connect": "Sunucuya bağlanamadı! Lütfen internet bağlantınızı kontrol edin.", - "unhandled-error-code": "İşlenmeyen hata koud: {{errorCode}}", + "unable-to-connect": "Sunucuya bağlanılamıyor! Lütfen internet bağlantınızı kontrol edin.", + "unhandled-error-code": "İşlenmeyen hata kodu: {{errorCode}}", "unknown-error": "Bilinmeyen hata" }, "entity": { - "entity": "Öğe", - "entities": "Öğeler", - "entities-count": "Öğe sayısı", - "aliases": "Öğe kısa adları", - "entity-alias": "Öğe kısa adı", - "unable-delete-entity-alias-title": "Öğe kısa adı silinemedi", - "unable-delete-entity-alias-text": "Öğe kısa adı('{{entityAlias}}'), şu göstergeler tarafından kullanıldığı için silinemiyor:
{{widgetsList}}", - "duplicate-alias-error": "'{{alias}}' daha önce kaydedilmiş.
Öğe kısa adları kontrol paneli özelinde emsalsiz olmalı.", - "missing-entity-filter-error": "'{{alias}}' için filtre bulunmuyor.", - "configure-alias": "'{{alias}}' kısa adını yapılandır", - "alias": "Kısa ad", - "alias-required": "Öğe kısa adı gerekli.", - "remove-alias": "Öğe kısa adını kaldır", - "add-alias": "Öğe kısa adı ekle", - "entity-list": "Öğe listesi", - "entity-type": "Öğe türü", - "entity-types": "Öğe türleri", - "entity-type-list": "Öğe türü listesi", - "any-entity": "Herhangi bir öğe", - "enter-entity-type": "Öğe türü girin", - "no-entities-matching": "'{{entity}}' ile eşleşen öğe bulunamadı.", - "no-entity-types-matching": "'{{entityType}}' ile eşleşen öğe türü bulunamadı.", - "name-starts-with": "... ile başlayan isim", + "entity": "Varlık", + "entities": "Varlıklar", + "entities-count": "Varlık sayısı", + "alarms-count": "Alarm sayısı", + "aliases": "Varlık takma adları", + "aliases-short": "Takma adlar", + "entity-alias": "Varlık takma adı", + "unable-delete-entity-alias-title": "Varlık takma adı silinemiyor", + "unable-delete-entity-alias-text": "'{{entityAlias}}' takma adı silinemiyor çünkü şu bileşen(ler) tarafından kullanılıyor:
{{widgetsList}}", + "duplicate-alias-error": "Yinelenen takma ad bulundu '{{alias}}'.
Gösterge panelinde takma adlar benzersiz olmalıdır.", + "missing-entity-filter-error": "'{{alias}}' takma adı için filtre eksik.", + "configure-alias": "'{{alias}}' takma adını yapılandır", + "alias": "Takma ad", + "alias-required": "Varlık takma adı gereklidir.", + "remove-alias": "Varlık takma adını kaldır", + "add-alias": "Varlık takma adı ekle", + "edit-alias": "Varlık takma adını düzenle", + "entity-list": "Varlık listesi", + "entity-type": "Varlık türü", + "entity-types": "Varlık türleri", + "entity-type-list": "Varlık türü listesi", + "any-entity": "Herhangi bir varlık", + "add-entity-type": "Varlık türü ekle", + "enter-entity-type": "Varlık türü girin", + "no-entities-matching": "'{{entity}}' ile eşleşen varlık bulunamadı.", + "no-entities-text": "Varlık bulunamadı", + "no-entity-types-matching": "'{{entityType}}' ile eşleşen varlık türü bulunamadı.", + "name-starts-with": "İsim ifadesi", "help-text": "İhtiyaca göre '%' kullanın: '%entity_name_contains%', '%entity_name_ends', 'entity_starts_with'.", "use-entity-name-filter": "Filtre kullan", - "entity-list-empty": "Hiçbir öğe seçilmedi.", - "entity-name-filter-required": "Öğe ismi filtresi gerekli.", - "entity-name-filter-no-entity-matched": "'{{entity}}' ile başlayan hiçbir öğe bulunamadı.", + "entity-list-empty": "Seçilen varlık yok.", + "entity-type-list-required": "En az bir varlık türü seçilmelidir.", + "entity-name-filter-required": "Varlık adı filtresi gereklidir.", + "entity-name-filter-no-entity-matched": "'{{entity}}' ile başlayan varlık bulunamadı.", "all-subtypes": "Tümü", - "select-entities": "Öğeleri seç", - "no-aliases-found": "Hiçbir kısa ad bulunamadı.", + "select-entities": "Varlık seç", + "no-aliases-found": "Takma ad bulunamadı.", "no-alias-matching": "'{{alias}}' bulunamadı.", "create-new-alias": "Yeni bir tane oluştur!", + "create-new": "Yeni oluştur", "key": "Anahtar", "key-name": "Anahtar adı", - "no-keys-found": "Hiçbir anahtar bulunamadı.", + "no-keys-found": "Anahtar bulunamadı.", "no-key-matching": "'{{key}}' bulunamadı.", "create-new-key": "Yeni bir tane oluştur!", "type": "Tür", - "type-required": "Öğe türü gerekli.", + "type-required": "Varlık türü gereklidir.", "type-device": "Cihaz", "type-devices": "Cihazlar", - "list-of-devices": "{ count, plural, =1 {Bir cihaz} other {# cihazın listesi} }", - "device-name-starts-with": "İsimleri '{{prefix}}' ile başlayan cihazlar", + "list-of-devices": "{ count, plural, =1 {Bir cihaz} other {# cihaz listesi} }", + "device-name-starts-with": "'{{prefix}}' ile başlayan cihazlar", "type-device-profile": "Cihaz profili", "type-device-profiles": "Cihaz profilleri", - "list-of-device-profiles": "{ count, plural, =1 {Bir cihaz profili} other {# cihaz profilinin listesi} }", - "device-profile-name-starts-with": "Adları '{{prefix}}' ile başlayan cihaz profilleri", + "clear-selected-profiles": "Seçilen profilleri temizle", + "list-of-device-profiles": "{ count, plural, =1 {Bir cihaz profili} other {# cihaz profili listesi} }", + "device-profile-name-starts-with": "'{{prefix}}' ile başlayan cihaz profilleri", + "type-asset-profile": "Varlık profili", + "type-asset-profiles": "Varlık profilleri", + "list-of-asset-profiles": "{ count, plural, =1 {Bir varlık profili} other {# varlık profili listesi} }", + "asset-profile-name-starts-with": "'{{prefix}}' ile başlayan varlık profilleri", "type-asset": "Varlık", "type-assets": "Varlıklar", - "list-of-assets": "{ count, plural, =1 {Bir varlık} other {# Varlığın Listesi} }", - "asset-name-starts-with": "İsmi '{{prefix}}' ile başlayan varlıklar", + "list-of-assets": "{ count, plural, =1 {Bir varlık} other {# varlık listesi} }", + "asset-name-starts-with": "'{{prefix}}' ile başlayan varlıklar", "type-entity-view": "Varlık Görünümü", "type-entity-views": "Varlık Görünümleri", - "list-of-entity-views": "{ count, plural, =1 {Bir varlık görünümü} other {# varlık görüntüleme} } listesi", - "entity-view-name-starts-with": "İsmi {{prefix}} ile başlayan varlık görünümleri", + "list-of-entity-views": "{ count, plural, =1 {Bir varlık görünümü} other {# varlık görünümü listesi} }", + "entity-view-name-starts-with": "'{{prefix}}' ile başlayan varlık görünümleri", "type-rule": "Kural", "type-rules": "Kurallar", - "list-of-rules": "{ count, plural, =1 {Bir kural} other {# Kuralın Listesi} }", - "rule-name-starts-with": "İsmi '{{prefix}}' ile başlayan kurallar", + "list-of-rules": "{ count, plural, =1 {Bir kural} other {# kural listesi} }", + "rule-name-starts-with": "'{{prefix}}' ile başlayan kurallar", "type-plugin": "Eklenti", "type-plugins": "Eklentiler", - "list-of-plugins": "{ count, plural, =1 {Bir eklenti} other {# Eklentinin Listesi} }", - "plugin-name-starts-with": "İsmi '{{prefix}}' ile başlayan eklentiler", - "type-tenant": "Tenant", - "type-tenants": "Tenantlar", - "list-of-tenants": "{ count, plural, =1 {Bir tenant} other {# Tenantın Listesi} }", - "tenant-name-starts-with": "İsmi '{{prefix}}' ile başlayan tenantlar", - "type-tenant-profile": "Tenant profili", - "type-tenant-profiles": "Tenant profilleri", - "list-of-tenant-profiles": "{ count, plural, =1 {Bir tenant profili} other {# tenant profili listesi} }", - "tenant-profile-name-starts-with": "İsmi '{{prefix}}' ile başlayan tenant profilleri", - "type-customer": "Kullanıcı Grubu", - "type-customers": "Kullanıcı Grupları", - "list-of-customers": "{ count, plural, =1 {Bir kullanıcı grubu} other {# kullanıcı grupları listesi} }", - "customer-name-starts-with": "İsmi '{{prefix}}' ile başlayan kullanıcı grupları", + "list-of-plugins": "{ count, plural, =1 {Bir eklenti} other {# eklenti listesi} }", + "plugin-name-starts-with": "'{{prefix}}' ile başlayan eklentiler", + "type-tenant": "Kiracı", + "type-tenants": "Kiracılar", + "list-of-tenants": "{ count, plural, =1 {Bir kiracı} other {# kiracı listesi} }", + "tenant-name-starts-with": "'{{prefix}}' ile başlayan kiracılar", + "type-tenant-profile": "Kiracı profili", + "type-tenant-profiles": "Kiracı profilleri", + "list-of-tenant-profiles": "{ count, plural, =1 {Bir kiracı profili} other {# kiracı profili listesi} }", + "tenant-profile-name-starts-with": "'{{prefix}}' ile başlayan kiracı profilleri", + "type-customer": "Müşteri", + "type-customers": "Müşteriler", + "list-of-customers": "{ count, plural, =1 {Bir müşteri} other {# müşteri listesi} }", + "customer-name-starts-with": "'{{prefix}}' ile başlayan müşteriler", "type-user": "Kullanıcı", "type-users": "Kullanıcılar", "list-of-users": "{ count, plural, =1 {Bir kullanıcı} other {# kullanıcı listesi} }", - "user-name-starts-with": "İsmi '{{prefix}}' ile başlayan kullanıcılar", + "user-name-starts-with": "'{{prefix}}' ile başlayan kullanıcılar", "type-dashboard": "Gösterge Paneli", "type-dashboards": "Gösterge Panelleri", "list-of-dashboards": "{ count, plural, =1 {Bir gösterge paneli} other {# gösterge paneli listesi} }", - "dashboard-name-starts-with": "İsmi '{{prefix}}' ile başlayan gösterge panelleri", + "dashboard-name-starts-with": "'{{prefix}}' ile başlayan gösterge panelleri", "type-alarm": "Alarm", "type-alarms": "Alarmlar", "list-of-alarms": "{ count, plural, =1 {Bir alarm} other {# alarm listesi} }", - "alarm-name-starts-with": "İsmi '{{prefix}}' ile başlayan alarmlar", - "type-rulechain": "Kural zinciri", - "type-rulechains": "Kural zincirleri", + "alarm-name-starts-with": "'{{prefix}}' ile başlayan alarmlar", + "type-rulechain": "Kural Zinciri", + "type-rulechains": "Kural Zincirleri", "list-of-rulechains": "{ count, plural, =1 {Bir kural zinciri} other {# kural zinciri listesi} }", - "rulechain-name-starts-with": "İsmi '{{prefix}}' ile başlayan kural zincirleri", + "rulechain-name-starts-with": "'{{prefix}}' ile başlayan kural zincirleri", "type-rulenode": "Kural düğümü", "type-rulenodes": "Kural düğümleri", - "list-of-rulenodes": "{ count, plural, =1 {One rule node} other {List of # rule nodes} }", - "rulenode-name-starts-with": "İsmi '{{prefix}}' ile başlayan kural düğümleri", - "type-current-customer": "Aktif Kullanıcı Grubu", - "type-current-tenant": "Aktif Tenant", - "type-current-user": "Aktif Kullanıcı", - "type-current-user-owner": "Aktif Kullanıcı Sahibi", - "search": "Öğeleri ara", - "selected-entities": "{ count, plural, =1 {1 öğe} other {# öğe} } seçildi", - "entity-name": "Öğe adı", - "entity-label": "Öğe etiketi", - "details": "Öğe detayları", - "no-entities-prompt": "Öğe bulunamadı", - "no-data": "Gösterilecek veri yok", - "columns-to-display": "Görüntülenecek Sütunlar", + "list-of-rulenodes": "{ count, plural, =1 {Bir kural düğümü} other {# kural düğümü listesi} }", + "rulenode-name-starts-with": "'{{prefix}}' ile başlayan kural düğümleri", + "type-current-customer": "Mevcut Müşteri", + "type-current-tenant": "Mevcut Kiracı", + "type-current-user": "Mevcut Kullanıcı", + "type-current-user-owner": "Mevcut Kullanıcı Sahibi", + "type-calculated-field": "Hesaplanmış alan", + "type-calculated-fields": "Hesaplanmış alanlar", + "type-ai-model": "Yapay zeka modeli", + "type-ai-models": "Yapay zeka modelleri", + "type-widgets-bundle": "Bileşen paketi", + "type-widgets-bundles": "Bileşen paketleri", + "list-of-widgets-bundles": "{ count, plural, =1 {Bir bileşen paketi} other {# bileşen paketi listesi} }", + "type-widget": "Bileşen", + "type-widgets": "Bileşenler", + "list-of-widgets": "{ count, plural, =1 {Bir bileşen} other {# bileşen listesi} }", + "search": "Varlıkları ara", + "selected-entities": "{ count, plural, =1 {1 varlık} other {# varlık} } seçildi", + "entity-name": "Varlık adı", + "entity-label": "Varlık etiketi", + "details": "Varlık ayrıntıları", + "no-entities-prompt": "Varlık bulunamadı", + "no-data": "Görüntülenecek veri yok", + "columns-to-display": "Görüntülenecek sütunlar", "type-api-usage-state": "API Kullanım Durumu", "type-edge": "Uç", "type-edges": "Uçlar", "list-of-edges": "{ count, plural, =1 {Bir uç} other {# uç listesi} }", - "edge-name-starts-with": "İsmi '{{prefix}}' ile başlayan uçlar", + "edge-name-starts-with": "'{{prefix}}' ile başlayan uçlar", + "version-conflict": { + "message": "Mevcut sürümü üzerine yazmak mı yoksa değişiklikleri iptal edip en son sürümü yüklemek mi istiyorsunuz?", + "link": "{{entityType}} varlığının kendi sürümünü indirmek için bu bağlantıyı kullanabilirsiniz", + "overwrite": "Sürümün üzerine yaz", + "discard": "Değişiklikleri iptal et" + }, "type-tb-resource": "Kaynak", - "type-ota-package": "OTA paketi" + "type-tb-resources": "Kaynaklar", + "list-of-tb-resources": "{ count, plural, =1 {Bir kaynak} other {# kaynak listesi} }", + "type-ota-package": "OTA paketi", + "type-ota-packages": "OTA paketleri", + "list-of-ota-packages": "{ count, plural, =1 {Bir OTA paketi} other {# OTA paketi listesi} }", + "type-rpc": "RPC", + "type-queue": "Kuyruk", + "type-queue-stats": "Kuyruk istatistikleri", + "type-queues-stats": "Kuyruklar istatistikleri", + "type-notification": "Bildirim", + "type-notification-rule": "Bildirim kuralı", + "type-notification-rules": "Bildirim kuralları", + "list-of-notification-rules": "{ count, plural, =1 {Bir bildirim kuralı} other {# bildirim kuralı listesi} }", + "type-notification-target": "Bildirim alıcısı", + "type-notification-targets": "Bildirim alıcıları", + "list-of-notification-targets": "{ count, plural, =1 {Bir bildirim alıcısı} other {# bildirim alıcısı listesi} }", + "type-notification-request": "Bildirim isteği", + "type-notification-template": "Bildirim şablonu", + "type-notification-templates": "Bildirim şablonları", + "list-of-notification-templates": "{ count, plural, =1 {Bir bildirim şablonu} other {# bildirim şablonu listesi} }", + "link": "bağlantı", + "type-oauth2-client": "OAuth 2.0 istemcisi", + "type-oauth2-clients": "OAuth 2.0 istemcileri", + "list-of-oauth2-clients": "{ count, plural, =1 {Bir OAuth 2.0 istemcisi} other {# OAuth 2.0 istemcisi listesi} }", + "type-domain": "Alan", + "type-domains": "Alanlar", + "list-of-domains": "{ count, plural, =1 {Bir alan} other {# alan listesi} }", + "type-mobile-app": "Mobil uygulama", + "type-mobile-apps": "Mobil uygulamalar", + "list-of-mobile-apps": "{ count, plural, =1 {Bir mobil uygulama} other {# mobil uygulama listesi} }", + "type-mobile-app-bundle": "Mobil paket", + "type-mobile-app-bundles": "Mobil paketler", + "list-of-mobile-app-bundles": "{ count, plural, =1 {Bir mobil paket} other {# mobil paket listesi} }" }, "entity-field": { "created-time": "Oluşturulma zamanı", - "name": "İsim", + "name": "Ad", "type": "Tür", "first-name": "Ad", "last-name": "Soyad", "email": "E-posta", "title": "Başlık", "country": "Ülke", - "state": "Eyalet", + "state": "Eyalet/İl", "city": "Şehir", "address": "Adres", "address2": "Adres 2", "zip": "Posta kodu", "phone": "Telefon", - "label": "Etiket" + "label": "Etiket", + "queue-name": "Kuyruk adı", + "service-id": "Servis Kimliği", + "owner-name": "Sahip adı", + "owner-type": "Sahip türü" }, "entity-view": { - "entity-view": "Öğe Görünümü", - "entity-view-required": "Öğe Görünümü gerekli.", - "entity-views": "Öğe Görünümleri", - "management": "Öğe Görünümü yönetimi", - "view-entity-views": "Öğe Görünümlerini Görüntüle", - "entity-view-alias": "Öğe Görünümü kısa adı", - "aliases": "Öğe Görünümü kısa adları", + "entity-view": "Varlık görünümü", + "entity-view-required": "Varlık görünümü gereklidir.", + "entity-views": "Varlık görünümleri", + "management": "Varlık Görünümü yönetimi", + "view-entity-views": "Varlık Görünümlerini Görüntüle", + "entity-view-alias": "Varlık Görünümü takma adı", + "aliases": "Varlık Görünümü takma adları", "no-alias-matching": "'{{alias}}' bulunamadı.", - "no-aliases-found": "Kısa ad bulunamadı.", - "no-key-matching": "'{{key}}' anahtar bulunamadı.", - "no-keys-found": "Anahtar bulunamadı.", + "no-aliases-found": "Hiçbir takma ad bulunamadı.", + "no-key-matching": "'{{key}}' bulunamadı.", + "no-keys-found": "Hiçbir anahtar bulunamadı.", "create-new-alias": "Yeni bir tane oluştur!", "create-new-key": "Yeni bir tane oluştur!", - "duplicate-alias-error": "Yinelenen kısa ad bulundu '{{alias}}'.
öğe Görünümü kısa adları gösterge panelinde benzersiz olmalıdır.", - "configure-alias": "'{{alias}}' kısa adını yapılandırın", - "no-entity-views-matching": "'{{entity}}' ile eşleşen öğe görünümü bulunamadı.", - "public": "Açık", - "alias": "Kısa ad", - "alias-required": "Öğe Görünümü kısa adı gerekli.", - "remove-alias": "Öğe görünümü kısa adını kaldır", - "add-alias": "Öğe görünümü kısa adı ekle", - "name-starts-with": "Öğe Görünümü adı ifadesi", + "duplicate-alias-error": "Yinelenen takma ad bulundu '{{alias}}'.
Varlık Görünümü takma adları gösterge paneli içinde benzersiz olmalıdır.", + "configure-alias": "'{{alias}}' takma adını yapılandır", + "no-entity-views-matching": "'{{entity}}' ile eşleşen hiçbir varlık görünümü bulunamadı.", + "public": "Genel", + "alias": "Takma ad", + "alias-required": "Varlık Görünümü takma adı gereklidir.", + "remove-alias": "Varlık görünümü takma adını kaldır", + "add-alias": "Varlık görünümü takma adı ekle", + "name-starts-with": "Varlık Görünümü ad ifadesi", "help-text": "İhtiyaca göre '%' kullanın: '%entity-view_name_contains%', '%entity-view_name_ends', 'entity-view_starts_with'.", - "entity-view-list": "Öğe Görünümü listesi", + "entity-view-list": "Varlık Görünümü listesi", "use-entity-view-name-filter": "Filtre kullan", - "entity-view-list-empty": "Hiçbir öğe görünümü seçilmedi.", - "entity-view-name-filter-required": "Öğe görünümü adı filtresi gerekli.", - "entity-view-name-filter-no-entity-view-matched": "'{{entityView}}' ile başlayan öğe görünümü bulunamadı.", - "add": "Öğe Görünümü Ekle", - "entity-view-public": "Öğe görünümü herkese açık", - "assign-to-customer": "Kullanıcı grubuna ata", - "assign-entity-view-to-customer": "Öğe görünümlerini kullanıcı grubuna ata", - "assign-entity-view-to-customer-text": "Lütfen kullanıcı grubuna atanacak öğe görünümlerini seçin", - "assign-entity-view-to-edge-title": "Öğe görünümlerini uca ata", - "no-entity-views-text": "Öğe görünümü bulunamadı", - "assign-to-customer-text": "Lütfen öğe görünümlerini atamak için müşteriyi seçin", - "entity-view-details": "Öğe görünümü ayrıntıları", - "add-entity-view-text": "Yeni öğe görünümü ekle", - "delete": "Öğe görünümünü sil", - "assign-entity-views": "Öğe görünümlerini ata", - "assign-entity-views-text": "{ count, plural, =1 {1 öğe görünümünü} other {# öğe görünümünü} } kullanıcı grubuna ata", - "delete-entity-views": "Öğe görünümlerini sil", - "unassign-from-customer": "Kullanıcı grubundan atamayı kaldır", - "unassign-entity-views": "Öğe görünümlerinin atamasını kaldır", - "unassign-entity-views-action-title": "{ count, plural, =1 {1 öğe görünümünü} other {# öğe görünümünü} } kullanıcı grubundan kaldır", - "assign-new-entity-view": "Yeni öğe görünümü ata", - "delete-entity-view-title": "'{{entityViewName}}' öğe görünümünü silmek istediğinizden emin misiniz?", - "delete-entity-view-text": "Dikkatli olun, onaydan sonra öğe görünümü ve ilgili tüm veriler kurtarılamaz hale gelecektir.", - "delete-entity-views-title": "{ count, plural, =1 {1 öğe görünümünü} other {# öğe görünümünü} } silmek istediğinizden emin misiniz?", - "delete-entity-views-action-title": "{ count, plural, =1 {1 öğe görünümünü} other {# öğe görünümünü} } sil", - "delete-entity-views-text": "Dikkatli olun, onaydan sonra seçilen tüm öğe görünümleri kaldırılacak ve ilgili tüm veriler kurtarılamaz hale gelecektir.", - "unassign-entity-view-title": "'{{entityViewName}}' öğe görünümünün atamasını kaldırmak istediğinizden emin misiniz?", - "unassign-entity-view-text": "Onaydan sonra öğe görünümünün ataması kaldırılacak ve müşteri tarafından erişilebilir olmayacaktır.", - "unassign-entity-view": "Öğe görünümünün atamasını kaldır", - "unassign-entity-views-title": "{ count, plural, =1 {1 öğe görünümünün} other {# öğe görünümünün} } atamasını kaldırmak istediğinizden emin misiniz?", - "unassign-entity-views-text": "Onaydan sonra, seçilen tüm öğe görünümlerinin ataması kaldırılacak ve kullanıcı grubu tarafından erişilebilir olmayacaktır.", - "entity-view-type": "Öğe Görünümü türü", - "entity-view-type-required": "Öğe Görünümü türü gerekli.", - "select-entity-view-type": "Öğe Görünümü türü seç", - "enter-entity-view-type": "Öğe görünümü türünü girin", - "any-entity-view": "Herhangi bir öğe görünümü", - "no-entity-view-types-matching": "'{{entitySubtype}}' ile eşleşen öğe görünümü türü bulunamadı.", - "entity-view-type-list-empty": "Hiçbir öğe görünümü türü seçilmedi.", - "entity-view-types": "Öğe Görünümü türleri", - "created-time": "Oluşturulan zaman", - "name": "İsim", - "name-required": "İsim zorunlu.", + "entity-view-list-empty": "Seçili varlık görünümü yok.", + "entity-view-name-filter-required": "Varlık görünümü adı filtresi gereklidir.", + "entity-view-name-filter-no-entity-view-matched": "'{{entityView}}' ile başlayan varlık görünümü bulunamadı.", + "add": "Varlık görünümü ekle", + "entity-view-public": "Varlık görünümü herkese açıktır", + "assign-to-customer": "Müşteriye ata", + "assign-entity-view-to-customer": "Varlık Görünümü(leri)ni Müşteriye Ata", + "assign-entity-view-to-customer-text": "Lütfen müşteriye atanacak varlık görünümlerini seçin", + "no-entity-views-text": "Hiçbir varlık görünümü bulunamadı", + "assign-to-customer-text": "Lütfen varlık görünümü(lerini) atamak için müşteri seçin", + "entity-view-details": "Varlık görünümü detayları", + "add-entity-view-text": "Yeni varlık görünümü ekle", + "delete": "Varlık görünümünü sil", + "assign-entity-views": "Varlık görünümlerini ata", + "assign-entity-views-text": "{ count, plural, =1 {1 varlık görünümü} other {# varlık görünümleri} } müşteriye ata", + "delete-entity-views": "Varlık görünümlerini sil", + "make-public": "Varlık görünümünü herkese açık yap", + "make-private": "Varlık görünümünü özel yap", + "unassign-from-customer": "Müşteriden kaldır", + "unassign-entity-views": "Varlık görünümlerini kaldır", + "unassign-entity-views-action-title": "{ count, plural, =1 {1 varlık görünümünü} other {# varlık görünümünü} } müşteriden kaldır", + "assign-new-entity-view": "Yeni varlık görünümü ata", + "delete-entity-view-title": "Varlık görünümünü '{{entityViewName}}' silmek istediğinizden emin misiniz?", + "delete-entity-view-text": "Dikkatli olun, onaydan sonra varlık görünümü ve tüm ilişkili veriler geri alınamaz hale gelecektir.", + "delete-entity-views-title": "{ count, plural, =1 {1 varlık görünümünü} other {# varlık görünümünü} } silmek istediğinizden emin misiniz?", + "delete-entity-views-action-title": "{ count, plural, =1 {1 varlık görünümünü} other {# varlık görünümünü} } sil", + "delete-entity-views-text": "Dikkatli olun, onaydan sonra seçili tüm varlık görünümleri ve ilişkili tüm veriler geri alınamaz hale gelecektir.", + "make-public-entity-view-title": "Varlık görünümünü '{{entityViewName}}' herkese açık yapmak istediğinizden emin misiniz?", + "make-public-entity-view-text": "Onaydan sonra varlık görünümü ve tüm verileri herkese açık olacak ve başkaları tarafından erişilebilir hale gelecektir.", + "make-private-entity-view-title": "Varlık görünümünü '{{entityViewName}}' özel yapmak istediğinizden emin misiniz?", + "make-private-entity-view-text": "Onaydan sonra varlık görünümü ve tüm verileri özel olacak ve başkaları tarafından erişilemeyecektir.", + "unassign-entity-view-title": "Varlık görünümünü '{{entityViewName}}' kaldırmak istediğinizden emin misiniz?", + "unassign-entity-view-text": "Onaydan sonra varlık görünümü müşteriyle ilişkilendirilmemiş olacak ve müşteri tarafından erişilemeyecektir.", + "unassign-entity-view": "Varlık görünümünü kaldır", + "unassign-entity-views-title": "{ count, plural, =1 {1 varlık görünümünü} other {# varlık görünümünü} } kaldırmak istediğinizden emin misiniz?", + "unassign-entity-views-text": "Onaydan sonra seçilen tüm varlık görünümleri kaldırılacak ve müşteri tarafından erişilemeyecektir.", + "entity-view-type": "Varlık görünüm tipi", + "entity-view-type-required": "Varlık görünüm tipi gereklidir.", + "select-entity-view-type": "Varlık görünüm türünü seçin", + "enter-entity-view-type": "Varlık görünüm türünü girin", + "any-entity-view": "Herhangi bir varlık görünümü", + "no-entity-view-types-matching": "'{{entitySubtype}}' ile eşleşen varlık görünüm türü bulunamadı.", + "entity-view-type-list-empty": "Seçili varlık görünüm türü yok.", + "entity-view-types": "Varlık görünüm türleri", + "created-time": "Oluşturulma zamanı", + "name": "Ad", + "name-required": "Ad gereklidir.", + "name-max-length": "Ad 256 karakterden kısa olmalıdır", + "type-max-length": "Varlık görünüm türü 256 karakterden kısa olmalıdır", "description": "Açıklama", - "events": "Etkinlikler", + "events": "Olaylar", "details": "Detaylar", - "copyId": "Öğe görünümü kimliğini kopyala", - "idCopiedMessage": "Öğe görünümü kimliği panoya kopyalandı", - "assignedToCustomer": "Kullanıcı grubuna atandı", - "unable-entity-view-device-alias-title": "Öğe görünümü kısa adı silinemiyor", - "unable-entity-view-device-alias-text": "Cihaz kısa adı '{{entityViewAlias}}', aşağıdaki gösterge(ler) tarafından kullanıldığı için silinemez:
{{widgetsList}}", - "select-entity-view": "Öğe görünümü seç", - "make-public": "Öğe görünümünü herkese açık yap", - "make-private": "Öğe görünümünü gizli yap", - "start-date": "Başlangıç tarihi", - "start-ts": "Başlangıç saati", - "end-date": "Bitiş tarihi", - "end-ts": "Bitiş saati", - "date-limits": "Tarih limitleri", - "client-attributes": "İstemci öznitelikler", - "shared-attributes": "Paylaşılan öznitelikler", - "server-attributes": "Sunucu öznitelikler", + "copyId": "Varlık görünüm Kimliğini kopyala", + "idCopiedMessage": "Varlık görünüm Kimliği panoya kopyalandı", + "assignedToCustomer": "Müşteriye atanmış", + "unable-entity-view-device-alias-title": "Varlık görünüm takma adı silinemiyor", + "unable-entity-view-device-alias-text": "Aygıt takma adı '{{entityViewAlias}}' aşağıdaki bileşen(ler) tarafından kullanıldığı için silinemez:
{{widgetsList}}", + "select-entity-view": "Varlık görünümünü seçin", + "start-ts": "Başlangıç zamanı", + "end-ts": "Bitiş zamanı", + "date-limits": "Tarih sınırları", + "client-attributes": "İstemci özellikleri", + "shared-attributes": "Paylaşılan özellikler", + "server-attributes": "Sunucu özellikleri", "timeseries": "Zaman serisi", - "client-attributes-placeholder": "İstemci öznitelikler", - "shared-attributes-placeholder": "Paylaşılan öznitelikler", - "server-attributes-placeholder": "Sunucu öznitelikler", + "client-attributes-placeholder": "İstemci özellikleri", + "shared-attributes-placeholder": "Paylaşılan özellikler", + "server-attributes-placeholder": "Sunucu özellikleri", "timeseries-placeholder": "Zaman serisi", - "target-entity": "Hedef öğe", - "attributes-propagation": "Öznitelik işlenmesi", - "attributes-propagation-hint": "Öğe Görünümü, bu öğe görünümünü her kaydettiğinizde veya güncellediğinizde hedef öğeden belirtilen öznitelikleri otomatik olarak kopyalayacaktır. Performans nedenleriyle, hedef öğe öznitelikleri, her bir öznitelik değişikliğinde öğe görünümüne işlenmez. Kural zincirinizde \"copy to view\" kural düğümünü yapılandırarak ve \"Post attributes\" ve \"Attributes Updated\" iletilerini yeni kural düğümüne bağlayarak otomatik işlenmesini etkinleştirebilirsiniz.", - "timeseries-data": "Zaman serisi verileri", - "timeseries-data-hint": "Öğe görünümü tarafından erişilebilir olacak hedef varlığın zaman serisi veri anahtarlarını yapılandırın. Bu zaman serisi verileri salt okunurdur.", - "make-public-entity-view-title": "'{{entityViewName}}' öğe görünümünü herkese açık hale getirmek istediğinizden emin misiniz?", - "make-public-entity-view-text": "Onaydan sonra öğe görünümü ve tüm verileri herkese açık hale getirilecek ve başkaları tarafından erişilebilir hale getirilecektir.", - "make-private-entity-view-title": "'{{entityViewName}}' öğe görünümünü gizli yapmak istediğinizden emin misiniz?", - "make-private-entity-view-text": "Onaydan sonra öğe görünümü ve tüm verileri gizli hale getirilecek ve başkaları tarafından erişilemeyecek.", - "assign-entity-view-to-edge": "Öğe Görünümlerini Uca Ata", - "assign-entity-view-to-edge-text": "Lütfen uca atanacak öğe görünümlerini seçin", - "unassign-entity-view-from-edge-title": "'{{entityViewName}}' öğe görünümünün atamasını kaldırmak istediğinizden emin misiniz?", - "unassign-entity-view-from-edge-text": "Onaydan sonra öğe görünümünün ataması kaldırılacak ve uç tarafından erişilebilir olmayacaktır.", - "unassign-entity-views-from-edge-action-title": "{ count, plural, =1 {1 öğe görünümünü} other {# öğe görünümünü} } uçtan kaldır", - "unassign-entity-view-from-edge": "Öğe görünümünün atamasını kaldır", - "unassign-entity-views-from-edge-title": "{ count, plural, =1 {1 öğe görünümünün} other {# öğe görünümünün} } atamasını kaldırmak istediğinizden emin misiniz?", - "unassign-entity-views-from-edge-text": "Onaydan sonra, seçilen tüm öğe görünümlerinin ataması kaldırılacak ve uç tarafından erişilebilir olmayacaktır." + "target-entity": "Hedef varlık", + "attributes-propagation": "Özellik yayılımı", + "attributes-propagation-hint": "Varlık görünümü, bu varlık görünümünü her kaydettiğinizde veya güncellediğinizde, hedef varlıktan belirtilen özellikleri otomatik olarak kopyalar. Performans nedenleriyle, hedef varlık özellikleri her değiştiğinde görünümde otomatik olarak güncellenmez. Otomatik yayılımı etkinleştirmek için kural zincirinizde 'copy to view' kural düğümünü yapılandırıp, 'Post attributes' ve 'Attributes Updated' mesajlarını bu düğüme yönlendirin.", + "timeseries-data": "Zaman serisi verisi", + "timeseries-data-hint": "Varlık görünümünde erişilebilir olacak hedef varlığın zaman serisi veri anahtarlarını yapılandırın. Bu zaman serisi verisi yalnızca okunabilir durumdadır.", + "search": "Varlık görünümlerinde ara", + "selected-entity-views": "{ count, plural, =1 {1 varlık görünümü} other {# varlık görünümü} } seçildi", + "assign-entity-view-to-edge": "Varlık görünüm(lerini) Uç Cihaza Ata", + "assign-entity-view-to-edge-text": "Uç cihaza atamak için varlık görünümlerini seçin", + "unassign-entity-view-from-edge-title": "'{{entityViewName}}' varlık görünümünün uç cihazdan bağlantısını kaldırmak istediğinizden emin misiniz?", + "unassign-entity-view-from-edge-text": "Onaydan sonra, varlık görünümünün uç cihaza erişimi kaldırılacak.", + "unassign-entity-views-from-edge-action-title": "{ count, plural, =1 {1 varlık görünümünü} other {# varlık görünümünü} } uç cihazdan kaldır", + "unassign-entity-view-from-edge": "Varlık görünümünün bağlantısını kaldır", + "unassign-entity-views-from-edge-title": "{ count, plural, =1 {1 varlık görünümünün} other {# varlık görünümünün} } bağlantısını kaldırmak istediğinizden emin misiniz?", + "unassign-entity-views-from-edge-text": "Onaydan sonra tüm seçili varlık görünümlerinin uç cihaz bağlantıları kaldırılacak ve erişilemeyecekler." }, "event": { - "event-type": "Etkinlik türü", - "events-filter": "Etkinlik Filtresi", + "event-type": "Olay türü", + "events-filter": "Olay Filtresi", + "clean-events": "Olayları Temizle", "type-error": "Hata", - "type-lc-event": "Yaşam Döngüsü Etkinliği", + "type-lc-event": "Yaşam döngüsü olayı", "type-stats": "İstatistikler", - "type-debug-rule-node": "Hata Ayıklama", - "type-debug-rule-chain": "Hata Ayıklama", - "no-events-prompt": "Hiçbir etkinlik bulunamadı", + "type-debug-rule-node": "Hata ayıklama", + "type-debug-rule-chain": "Hata ayıklama", + "type-debug-calculated-field": "Hata ayıklama", + "arguments": "Argümanlar", + "result": "Sonuç", + "no-events-prompt": "Hiç olay bulunamadı", "error": "Hata", "alarm": "Alarm", - "event-time": "Etkinlik zamanı", + "event-time": "Olay zamanı", "server": "Sunucu", - "body": "Body", - "method": "Metod", + "body": "Gövde", + "method": "Yöntem", "type": "Tür", + "metadata": "Meta veriler", + "message": "Mesaj", "message-id": "Mesaj Kimliği", + "copy-message-id": "Mesaj Kimliğini kopyala", "message-type": "Mesaj Türü", "data-type": "Veri Türü", "relation-type": "İlişki Türü", - "metadata": "Meta veri", "data": "Veri", - "event": "Etkinlik", + "event": "Olay", "status": "Durum", "success": "Başarılı", "failed": "Başarısız", "messages-processed": "İşlenen mesajlar", - "min-messages-processed": "İşlenen minimum mesaj sayısı", + "max-messages-processed": "Maksimum işlenen mesaj", + "min-messages-processed": "Minimum işlenen mesaj", "errors-occurred": "Hatalar oluştu", - "min-errors-occurred": "Minimum hata oluştu", + "max-errors-occurred": "Maksimum hata", + "min-errors-occurred": "Minimum hata", "min-value": "Minimum değer 0'dır.", "all-events": "Tümü", "has-error": "Hata var", - "entity-id": "Öğe Kimliği", - "entity-type": "Öğe Türü" + "entity-id": "Varlık Kimliği", + "copy-entity-id": "Varlık Kimliğini kopyala", + "entity-type": "Varlık türü", + "clear-filter": "Filtreyi Temizle", + "clear-request-title": "Tüm olayları temizle", + "clear-request-text": "Tüm olayları temizlemek istediğinizden emin misiniz?", + "started": "Başlatıldı", + "updated": "Güncellendi", + "stopped": "Durduruldu" }, "extension": { "extensions": "Uzantılar", @@ -1788,460 +2882,1418 @@ "type": "Tür", "key": "Anahtar", "value": "Değer", - "id": "ID", - "extension-id": "Uzantı Kimliği", - "extension-type": "Uzantı Türü", + "id": "Kimlik", + "extension-id": "Uzantı kimliği", + "extension-type": "Uzantı türü", "transformer-json": "JSON *", - "unique-id-required": "Mevcut uzantı kimliği zaten var.", + "unique-id-required": "Geçerli uzantı kimliği zaten mevcut.", "delete": "Uzantıyı sil", "add": "Uzantı ekle", "edit": "Uzantıyı düzenle", - "delete-extension-title": "'{{extensionId}}' uzantısını silmek istediğinizden emin misiniz?", - "delete-extension-text": "Dikkatli olun, onaydan sonra uzantı ve ilgili tüm veriler kurtarılamaz hale gelecektir.", - "delete-extensions-title": "{ count, plural, =1 {1 uzantıyı} other {# uzantıyı} } silmek istediğinizden emin misiniz?", + "delete-extension-title": "Uzantı '{{extensionId}}' silinsin mi?", + "delete-extension-text": "Dikkatli olun, onaydan sonra uzantı ve tüm ilgili veriler geri alınamaz hale gelecektir.", + "delete-extensions-title": "{ count, plural, =1 {1 uzantı} other {# uzantı} } silinsin mi?", "delete-extensions-text": "Dikkatli olun, onaydan sonra seçilen tüm uzantılar kaldırılacaktır.", - "converters": "Çeviriciler", - "converter-id": "Çevirici ID", + "converters": "Dönüştürücüler", + "converter-id": "Dönüştürücü kimliği", "configuration": "Yapılandırma", - "converter-configurations": "Çevirici Yapılandırmaları", - "token": "Güvenlik tokeni", - "add-converter": "Çevirici ekle", - "add-config": "Çevirici yapılandırması ekle", - "device-name-expression": "Cihaz adı modeli", - "device-type-expression": "Cihaz türü modeli", + "converter-configurations": "Dönüştürücü yapılandırmaları", + "token": "Güvenlik belirteci", + "add-converter": "Dönüştürücü ekle", + "add-config": "Dönüştürücü yapılandırması ekle", + "device-name-expression": "Cihaz adı ifadesi", + "device-type-expression": "Cihaz türü ifadesi", "custom": "Özel", - "to-double": "Double'a çevir", + "to-double": "Double'a dönüştür", "transformer": "Dönüştürücü", - "json-required": "Dönüştürücü json gerekli.", - "json-parse": "Dönüştürücü json'u ayrıştırılamıyor.", + "json-required": "Dönüştürücü JSON gereklidir.", + "json-parse": "Dönüştürücü JSON ayrıştırılamıyor.", "attributes": "Öznitelikler", "add-attribute": "Öznitelik ekle", - "add-map": "Eşleme elemanı ekle", + "add-map": "Eşleme öğesi ekle", "timeseries": "Zaman serisi", "add-timeseries": "Zaman serisi ekle", - "field-required": "Alan gerekli", - "brokers": "Brokerlar", + "field-required": "Alan gereklidir", + "brokers": "Broker'lar", "add-broker": "Broker ekle", - "host": "Host", + "host": "Sunucu", "port": "Port", - "port-range": "Port 1 ila 65535 aralığında olmalıdır.", + "port-range": "Port 1 ile 65535 arasında olmalıdır.", "ssl": "SSL", - "credentials": "Kimlik Bilgileri", - "username": "Kullanıcı Adı", + "credentials": "Kimlik bilgileri", + "username": "Kullanıcı adı", "password": "Şifre", - "retry-interval": "Milisaniye cinsinden yeniden deneme aralığı", + "retry-interval": "Yeniden deneme aralığı (ms)", "anonymous": "Anonim", - "basic": "Basic", + "basic": "Temel", "pem": "PEM", "ca-cert": "CA sertifika dosyası *", "private-key": "Özel anahtar dosyası *", "cert": "Sertifika dosyası *", "no-file": "Dosya seçilmedi.", - "drop-file": "Bir dosya bırakın veya yüklenecek dosyayı seçmek için tıklayın.", + "drop-file": "Bir dosya bırakın veya yüklemek için tıklayın.", "mapping": "Eşleme", "topic-filter": "Konu filtresi", - "converter-type": "Çevirici Türü", + "converter-type": "Dönüştürücü türü", "converter-json": "Json", - "json-name-expression": "Device name json expression", - "topic-name-expression": "Device name topic expression", - "json-type-expression": "Device type json expression", - "topic-type-expression": "Device type topic expression", - "attribute-key-expression": "Attribute key expression", - "attr-json-key-expression": "Attribute key json expression", - "attr-topic-key-expression": "Attribute key topic expression", - "request-id-expression": "Request id expression", - "request-id-json-expression": "Request id json expression", - "request-id-topic-expression": "Request id topic expression", - "response-topic-expression": "Response topic expression", - "value-expression": "Value expression", - "topic": "Topic", - "timeout": "Timeout in milliseconds", - "converter-json-required": "Converter json is required.", - "converter-json-parse": "Unable to parse converter json.", - "filter-expression": "Filter expression", - "connect-requests": "Connect requests", - "add-connect-request": "Add connect request", - "disconnect-requests": "Disconnect requests", - "add-disconnect-request": "Add disconnect request", - "attribute-requests": "Attribute requests", - "add-attribute-request": "Add attribute request", - "attribute-updates": "Attribute updates", - "add-attribute-update": "Add attribute update", - "server-side-rpc": "Server side RPC", - "add-server-side-rpc-request": "Add server-side RPC request", - "device-name-filter": "Device name filter", - "attribute-filter": "Attribute filter", - "method-filter": "Method filter", - "request-topic-expression": "Request topic expression", - "response-timeout": "Response timeout in milliseconds", - "topic-expression": "Topic expression", - "client-scope": "Client scope", - "add-device": "Add device", - "opc-server": "Servers", - "opc-add-server": "Add server", - "opc-add-server-prompt": "Please add server", - "opc-application-name": "Application name", - "opc-application-uri": "Application uri", - "opc-scan-period-in-seconds": "Scan period in seconds", - "opc-security": "Security", - "opc-identity": "Identity", - "opc-keystore": "Keystore", - "opc-type": "Type", - "opc-keystore-type": "Type", - "opc-keystore-location": "Location *", - "opc-keystore-password": "Password", - "opc-keystore-alias": "Alias", - "opc-keystore-key-password": "Key password", - "opc-device-node-pattern": "Device node pattern", - "opc-device-name-pattern": "Device name pattern", - "modbus-server": "Servers/slaves", - "modbus-add-server": "Add server/slave", - "modbus-add-server-prompt": "Please add server/slave", - "modbus-transport": "Transport", - "modbus-tcp-reconnect": "Automatically reconnect", - "modbus-rtu-over-tcp": "RTU over TCP", - "modbus-port-name": "Serial port name", - "modbus-encoding": "Encoding", - "modbus-parity": "Parity", - "modbus-baudrate": "Baud rate", - "modbus-databits": "Data bits", - "modbus-stopbits": "Stop bits", - "modbus-databits-range": "Data bits should be in a range from 7 to 8.", - "modbus-stopbits-range": "Stop bits should be in a range from 1 to 2.", - "modbus-unit-id": "Unit ID", - "modbus-unit-id-range": "Unit ID should be in a range from 1 to 247.", - "modbus-device-name": "Device name", - "modbus-poll-period": "Poll period (ms)", - "modbus-attributes-poll-period": "Attributes poll period (ms)", - "modbus-timeseries-poll-period": "Timeseries poll period (ms)", - "modbus-poll-period-range": "Poll period should be positive value.", - "modbus-tag": "Tag", - "modbus-function": "Function", - "modbus-register-address": "Register address", - "modbus-register-address-range": "Register address should be in a range from 0 to 65535.", - "modbus-register-bit-index": "Bit index", - "modbus-register-bit-index-range": "Bit index should be in a range from 0 to 15.", - "modbus-register-count": "Register count", - "modbus-register-count-range": "Register count should be a positive value.", - "modbus-byte-order": "Byte order", + "json-name-expression": "Cihaz adı json ifadesi", + "topic-name-expression": "Cihaz adı konu ifadesi", + "json-type-expression": "Cihaz türü json ifadesi", + "topic-type-expression": "Cihaz türü konu ifadesi", + "attribute-key-expression": "Öznitelik anahtar ifadesi", + "attr-json-key-expression": "Öznitelik anahtar json ifadesi", + "attr-topic-key-expression": "Öznitelik anahtar konu ifadesi", + "request-id-expression": "İstek ID ifadesi", + "request-id-json-expression": "İstek ID json ifadesi", + "request-id-topic-expression": "İstek ID konu ifadesi", + "response-topic-expression": "Yanıt konu ifadesi", + "value-expression": "Değer ifadesi", + "topic": "Konu", + "timeout": "Zaman aşımı (milisaniye cinsinden)", + "converter-json-required": "Dönüştürücü JSON gereklidir.", + "converter-json-parse": "Dönüştürücü JSON ayrıştırılamıyor.", + "filter-expression": "Filtre ifadesi", + "connect-requests": "Bağlantı istekleri", + "add-connect-request": "Bağlantı isteği ekle", + "disconnect-requests": "Bağlantı kesme istekleri", + "add-disconnect-request": "Bağlantı kesme isteği ekle", + "attribute-requests": "Öznitelik istekleri", + "add-attribute-request": "Öznitelik isteği ekle", + "attribute-updates": "Öznitelik güncellemeleri", + "add-attribute-update": "Öznitelik güncellemesi ekle", + "server-side-rpc": "Sunucu tarafı RPC", + "add-server-side-rpc-request": "Sunucu tarafı RPC isteği ekle", + "device-name-filter": "Cihaz adı filtresi", + "attribute-filter": "Öznitelik filtresi", + "method-filter": "Yöntem filtresi", + "request-topic-expression": "İstek konu ifadesi", + "response-timeout": "Yanıt zaman aşımı (milisaniye cinsinden)", + "topic-expression": "Konu ifadesi", + "client-scope": "İstemci kapsamı", + "add-device": "Cihaz ekle", + "opc-server": "Sunucular", + "opc-add-server": "Sunucu ekle", + "opc-add-server-prompt": "Lütfen sunucu ekleyin", + "opc-application-name": "Uygulama adı", + "opc-application-uri": "Uygulama URI'si", + "opc-scan-period-in-seconds": "Taramasüresi (saniye)", + "opc-security": "Güvenlik", + "opc-identity": "Kimlik", + "opc-keystore": "Anahtar deposu", + "opc-type": "Tür", + "opc-keystore-type": "Tür", + "opc-keystore-location": "Konum *", + "opc-keystore-password": "Parola", + "opc-keystore-alias": "Takma ad", + "opc-keystore-key-password": "Anahtar parolası", + "opc-device-node-pattern": "Cihaz düğüm deseni", + "opc-device-name-pattern": "Cihaz adı deseni", + "modbus-server": "Sunucular/köleler", + "modbus-add-server": "Sunucu/köle ekle", + "modbus-add-server-prompt": "Lütfen sunucu/köle ekleyin", + "modbus-transport": "Taşıma", + "modbus-tcp-reconnect": "Otomatik yeniden bağlan", + "modbus-rtu-over-tcp": "TCP üzerinden RTU", + "modbus-port-name": "Seri port adı", + "modbus-encoding": "Kodlama", + "modbus-parity": "Parite", + "modbus-baudrate": "Baud hızı", + "modbus-databits": "Veri bitleri", + "modbus-stopbits": "Dur bitleri", + "modbus-databits-range": "Veri bitleri 7 ile 8 arasında olmalıdır.", + "modbus-stopbits-range": "Dur bitleri 1 ile 2 arasında olmalıdır.", + "modbus-unit-id": "Birim kimliği", + "modbus-unit-id-range": "Birim kimliği 1 ile 247 arasında olmalıdır.", + "modbus-device-name": "Cihaz adı", + "modbus-poll-period": "Sorgu periyodu (ms)", + "modbus-attributes-poll-period": "Öznitelik sorgu periyodu (ms)", + "modbus-timeseries-poll-period": "Zaman serisi sorgu periyodu (ms)", + "modbus-poll-period-range": "Sorgu periyodu pozitif bir değer olmalıdır.", + "modbus-tag": "Etiket", + "modbus-function": "Fonksiyon", + "modbus-register-address": "Kayıt adresi", + "modbus-register-address-range": "Kayıt adresi 0 ile 65535 arasında olmalıdır.", + "modbus-register-bit-index": "Bit indeksi", + "modbus-register-bit-index-range": "Bit indeksi 0 ile 15 arasında olmalıdır.", + "modbus-register-count": "Kayıt sayısı", + "modbus-register-count-range": "Kayıt sayısı pozitif bir değer olmalıdır.", + "modbus-byte-order": "Bayt sıralaması", "sync": { - "status": "Status", - "sync": "Sync", - "not-sync": "Not sync", - "last-sync-time": "Last sync time", - "not-available": "Not available" - }, - "export-extensions-configuration": "Export extensions configuration", - "import-extensions-configuration": "Import extensions configuration", - "import-extensions": "Import extensions", - "import-extension": "Import extension", - "export-extension": "Export extension", - "file": "Extensions file", - "invalid-file-error": "Invalid extension file" + "status": "Durum", + "sync": "Senkronize", + "not-sync": "Senkronize değil", + "last-sync-time": "Son senkronizasyon zamanı", + "not-available": "Mevcut değil" + }, + "export-extensions-configuration": "Uzantı yapılandırmasını dışa aktar", + "import-extensions-configuration": "Uzantı yapılandırmasını içe aktar", + "import-extensions": "Uzantıları içe aktar", + "import-extension": "Uzantı içe aktar", + "export-extension": "Uzantı dışa aktar", + "file": "Uzantı dosyası", + "invalid-file-error": "Geçersiz uzantı dosyası" + }, + "feature": { + "advanced-features": "Gelişmiş özellikler" }, "filter": { "add": "Filtre ekle", - "edit": "Filtre düzenle", - "name": "Filtre ismi", - "name-required": "Filtre ismi gerekli.", - "duplicate-filter": "Aynı ada sahip filtre zaten mevcut.", + "edit": "Filtreyi düzenle", + "name": "Filtre adı", + "name-required": "Filtre adı gereklidir.", + "duplicate-filter": "Aynı ada sahip bir filtre zaten mevcut.", "filters": "Filtreler", "unable-delete-filter-title": "Filtre silinemiyor", - "unable-delete-filter-text": "'{{filter}}' filtresi, şu gösterge(ler) tarafından kullanıldığı için silinemez:
{{widgetsList}}", - "duplicate-filter-error": "Yinelenen filtre \"{{filter}}\" bulundu.
Filtreler, gösterge panelinde benzersiz olmalıdır.", - "missing-key-filters-error": "\"{{filter}}\" filtresi için anahtar filtreler eksik.", + "unable-delete-filter-text": "'{{filter}}' filtresi aşağıdaki widget(lar) tarafından kullanıldığı için silinemiyor:
{{widgetsList}}", + "duplicate-filter-error": "Yinelenen filtre bulundu '{{filter}}'.
Filtreler panoda benzersiz olmalıdır.", + "missing-key-filters-error": "'{{filter}}' filtresi için anahtar filtreler eksik.", "filter": "Filtre", "editable": "Düzenlenebilir", - "no-filters-found": "Filtre bulunamadı.", - "no-filter-text": "Filtre belirtilmedi", - "add-filter-prompt": "Lütfen filtre ekleyin", + "editable-hint": "Kullanıcının panolarda filtre değerini değiştirmesine izin ver.", + "no-filters-found": "Hiç filtre bulunamadı.", + "no-filter-text": "Herhangi bir filtre belirtilmedi", + "add-filter-prompt": "Lütfen bir filtre ekleyin", "no-filter-matching": "'{{filter}}' bulunamadı.", "create-new-filter": "Yeni bir tane oluştur!", - "filter-required": "Filtre gerekli.", + "create-new": "Yeni oluştur", + "filter-required": "Filtre gereklidir.", "operation": { - "operation": "Operasyon", - "equal": "equal", - "not-equal": "not equal", - "starts-with": "starts with", - "ends-with": "ends with", - "contains": "contains", - "not-contains": "not contains", - "greater": "greater than", - "less": "less than", - "greater-or-equal": "greater or equal", - "less-or-equal": "less or equal", - "and": "and", - "or": "or" - }, - "ignore-case": "ignore case", + "operation": "İşlem", + "equal": "eşittir", + "not-equal": "eşit değildir", + "starts-with": "ile başlar", + "ends-with": "ile biter", + "contains": "içerir", + "not-contains": "içermez", + "greater": "büyüktür", + "less": "küçüktür", + "greater-or-equal": "büyük veya eşit", + "less-or-equal": "küçük veya eşit", + "and": "ve", + "or": "veya", + "in": "içinde", + "not-in": "içinde değil" + }, + "ignore-case": "büyük/küçük harf yok say", "value": "Değer", "remove-filter": "Filtreyi kaldır", - "preview": "Filtre önizlemesi", - "no-filters": "Yapılandırılmış filtre yok", + "duplicate-filter-action": "Filtreyi kopyala", + "preview": "Filtre önizleme", + "no-filters": "Hiç filtre yapılandırılmadı", "add-filter": "Filtre ekle", "add-complex-filter": "Karmaşık filtre ekle", - "add-complex": "Kompleks ekle", + "add-complex": "Karmaşık ekle", "complex-filter": "Karmaşık filtre", "edit-complex-filter": "Karmaşık filtreyi düzenle", - "edit-filter-user-params": "Filtre belirteci kullanıcı parametrelerini düzenle", - "filter-user-params": "Filtre belirteci kullanıcı parametreleri", + "edit-filter-user-params": "Filtre ölçütü kullanıcı parametrelerini düzenle", + "filter-user-params": "Filtre ölçütü kullanıcı parametreleri", "user-parameters": "Kullanıcı parametreleri", "display-label": "Görüntülenecek etiket", - "order-priority": "Alan sırası önceliği", + "custom-label": "Özel etiket", + "custom-label-hint": "Filtre için kendi etiketinizi belirlemenizi sağlar. Devre dışı bırakıldığında, etiket otomatik olarak oluşturulacaktır.", + "order-priority": "Görüntüleme sırası", "key-filter": "Anahtar filtresi", "key-filters": "Anahtar filtreleri", "key-name": "Anahtar adı", - "key-name-required": "Anahtar adı gerekli.", + "key-name-required": "Anahtar adı gereklidir.", "key-type": { "key-type": "Anahtar türü", "attribute": "Öznitelik", "timeseries": "Zaman serisi", - "entity-field": "Öğe alanı", - "constant": "Sabit" + "entity-field": "Varlık alanı", + "constant": "Sabit", + "client-attribute": "İstemci özniteliği", + "server-attribute": "Sunucu özniteliği", + "shared-attribute": "Paylaşılan öznitelik" }, "value-type": { "value-type": "Değer türü", - "string": "String", - "numeric": "Numeric", - "boolean": "Boolean", - "date-time": "Datetime" + "string": "Metin", + "numeric": "Sayısal", + "boolean": "Mantıksal", + "date-time": "Tarih-saat" }, - "value-type-required": "Anahtar değer türü gerekli.", + "value-type-required": "Anahtar değer türü gereklidir.", "key-value-type-change-title": "Anahtar değer türünü değiştirmek istediğinizden emin misiniz?", - "key-value-type-change-message": "Yeni değer türünü onaylarsanız, girilen tüm anahtar filtreler kaldırılacaktır.", - "no-key-filters": "Yapılandırılmış anahtar filtre yok", - "add-key-filter": "Anahtar filtre ekle", - "remove-key-filter": "Anahtar filtreyi kaldır", + "key-value-type-change-message": "Yeni değer türünü onaylarsanız, girilen tüm anahtar filtreleri silinecektir.", + "no-key-filters": "Hiç anahtar filtresi yapılandırılmadı", + "add-key-filter": "Anahtar filtresi ekle", + "remove-key-filter": "Anahtar filtresini kaldır", "edit-key-filter": "Anahtar filtresini düzenle", "date": "Tarih", - "time": "Saat", - "current-tenant": "Aktif tenant", - "current-customer": "Aktif kullanıcı grubu", - "current-user": "Aktif kullanıcı", - "current-device": "Aktif cihaz", + "time": "Zaman", + "current-tenant": "Geçerli kiracı", + "current-customer": "Geçerli müşteri", + "current-user": "Geçerli kullanıcı", + "current-device": "Geçerli cihaz", "default-value": "Varsayılan değer", + "default-comma-separated-values": "Varsayılan virgülle ayrılmış değerler", "dynamic-source-type": "Dinamik kaynak türü", + "dynamic-value": "Dinamik değer", "no-dynamic-value": "Dinamik değer yok", - "source-attribute": "Kaynak özniteliği", + "source-attribute": "Kaynak öznitelik", "switch-to-dynamic-value": "Dinamik değere geç", "switch-to-default-value": "Varsayılan değere geç", - "inherit-owner": "Sahibinden devral", - "source-attribute-not-set": "Kaynak özniteliği ayarlanmamışsa" + "inherit-owner": "Sahipten devral", + "source-attribute-not-set": "Kaynak öznitelik ayarlanmazsa", + "unit": "Birim" }, "fullscreen": { - "expand": "Tam ekran yap", + "expand": "Tam ekrana genişlet", "exit": "Tam ekrandan çık", - "toggle": "Tam ekran modu aç/kapat", + "toggle": "Tam ekran modunu değiştir", "fullscreen": "Tam ekran" }, "function": { "function": "Fonksiyon" }, "gateway": { - "gateway-exists": "Aynı ada sahip cihaz zaten var.", "gateway-name": "Ağ geçidi adı", - "gateway-name-required": "Ağ geçidi adı gerekli.", - "gateway-saved": "Ağ geçidi yapılandırması başarıyla kaydedildi.", - "gateway": "Ağ geçidi", - "create-new-gateway": "Yeni bir ağ geçidi oluştur", - "create-new-gateway-text": "'{{gatewayName}}' adında yeni bir ağ geçidi oluşturmak istediğinizden emin misiniz?", - "no-gateway-found": "Ağ geçidi bulunamadı.", - "no-gateway-matching": " '{{item}}' bulunamadı." + "gateway-name-required": "Ağ geçidi adı gereklidir.", + "gateways": "Ağ geçitleri", + "create-new-gateway": "Yeni ağ geçidi oluştur", + "create-new-gateway-text": "‘{{gatewayName}}’ adında yeni bir ağ geçidi oluşturmak istediğinizden emin misiniz?", + "launch-command": "Başlatma komutu", + "no-gateway-found": "Hiç ağ geçidi bulunamadı.", + "no-gateway-matching": "'{{item}}' bulunamadı." }, "grid": { "delete-item-title": "Bu öğeyi silmek istediğinizden emin misiniz?", - "delete-item-text": "Dikkatli olun, onaylandıktan sonra bu öğe ve ilgili tüm veriler kurtarılamaz hale gelecektir.", - "delete-items-title": "{ count, plural, =1 {1 öğeyi} other {# öğeyi} } silmek istediğinizden emin misiniz??", + "delete-item-text": "Dikkatli olun, onaydan sonra bu öğe ve tüm ilişkili veriler geri alınamaz şekilde silinecektir.", + "delete-items-title": "{ count, plural, =1 {1 öğeyi} other {# öğeyi} } silmek istediğinizden emin misiniz?", "delete-items-action-title": "{ count, plural, =1 {1 öğeyi} other {# öğeyi} } sil", - "delete-items-text": "Dikkatli olun, onaydan sonra seçilen tüm öğeler kaldırılacak ve ilgili tüm veriler kurtarılamaz hale gelecektir.", + "delete-items-text": "Dikkatli olun, onaydan sonra seçilen tüm öğeler ve ilgili veriler geri alınamaz şekilde silinecektir.", "add-item-text": "Yeni öğe ekle", - "no-items-text": "Hiç bir öğe bulunamadı", - "item-details": "Ürün ayrıntıları", + "no-items-text": "Hiç öğe bulunamadı", + "item-details": "Öğe detayları", "delete-item": "Öğeyi sil", "delete-items": "Öğeleri sil", "scroll-to-top": "Yukarı kaydır" }, "help": { - "goto-help-page": "Yardım sayfasına git" + "goto-help-page": "Yardım sayfasına git", + "show-help": "Yardımı göster" }, "home": { "home": "Ana sayfa", "profile": "Profil", - "logout": "Çıkış", + "logout": "Çıkış yap", "menu": "Menü", "avatar": "Avatar", "open-user-menu": "Kullanıcı menüsünü aç" }, + "file-input": { + "browse-file": "Dosya gözat", + "browse-files": "Dosyalara gözat" + }, + "image": { + "gallery": "Görsel galerisi", + "search": "Görsel ara", + "selected-images": "{ count, plural, =1 {1 görsel} other {# görsel} } seçildi", + "created-time": "Oluşturulma zamanı", + "name": "Ad", + "name-required": "Ad gereklidir.", + "resolution": "Çözünürlük", + "size": "Boyut", + "system": "Sistem", + "download-image": "Görseli indir", + "export-image": "Görseli JSON olarak dışa aktar", + "import-image": "Görseli JSON'dan içe aktar", + "upload-image": "Görsel yükle", + "edit-image": "Görseli düzenle", + "image-details": "Görsel detayları", + "no-images": "Görsel bulunamadı", + "delete-image": "Görseli sil", + "delete-image-title": "‘{{imageTitle}}’ adlı görseli silmek istediğinizden emin misiniz?", + "delete-image-text": "Dikkatli olun, onaydan sonra görsel geri alınamaz hale gelecektir.", + "delete-images-title": "{ count, plural, =1 {1 görseli} other {# görseli} } silmek istediğinizden emin misiniz?", + "delete-images-text": "Dikkatli olun, onaydan sonra seçilen tüm görseller ve ilişkili veriler geri alınamaz şekilde silinecektir.", + "list-mode": "Liste görünümü", + "grid-mode": "Karo görünümü", + "image-preview": "Görsel önizleme", + "update-image": "Görseli güncelle", + "export-failed-error": "Görsel dışa aktarılamadı: {{error}}", + "image-json-file": "Görsel JSON dosyası", + "invalid-image-json-file-error": "Görsel JSON'dan içe aktarılamadı: Geçersiz görsel JSON veri yapısı.", + "image-is-in-use": "Görsel başka varlıklar tarafından kullanılıyor", + "images-are-in-use": "Görseller başka varlıklar tarafından kullanılıyor", + "image-is-in-use-text": "‘{{title}}’ görseli aşağıdaki varlıklar tarafından kullanıldığı için silinmedi:", + "images-are-in-use-text": "Tüm görseller silinemedi çünkü bazıları başka varlıklar tarafından kullanılmakta.
İlgili görselleri görmek için ilgili satırdaki Referanslar düğmesine tıklayabilirsiniz.
Yine de bu görselleri silmek istiyorsanız, aşağıdaki tabloda seçin ve Seçilenleri sil düğmesine tıklayın.", + "delete-image-in-use-text": "Görseli silmekte kararlıysanız Yine de sil düğmesine tıklayın.", + "system-entities": "Sistem varlıkları:", + "entities": "varlıklar:", + "references": "Referanslar", + "include-system-images": "Sistem görsellerini dahil et", + "clear-image": "Görseli temizle", + "no-image": "Görsel yok", + "no-image-selected": "Görsel seçilmedi", + "browse-from-gallery": "Galeriden gözat", + "set-link": "Bağlantı ayarla", + "image-link": "Görsel bağlantısı", + "link": "Bağlantı", + "copy-image-link": "Görsel bağlantısını kopyala", + "embed-image": "Görseli göm", + "embed-to-html": "HTML'ye göm", + "embed-to-html-hint": "Bu özellik bağlantıyı yetkisiz tüm kullanıcılar için erişilebilir yapacaktır.", + "embed-to-html-text": "Aşağıdaki kod parçacığını kullanarak görseli düz HTML tabanlı bileşenlere gömebilirsiniz.
Bu bileşenler HTML kart widget'ları, hücre içerik fonksiyonları vb. içerir.", + "embed-to-angular-template": "Angular HTML şablonuna göm", + "embed-to-angular-template-text": "Aşağıdaki kod parçacığını kullanarak görseli Angular HTML şablonuna gömebilirsiniz.
Bu bileşenler arasında Markdown widget'ı, widget düzenleyicisindeki HTML bölümü, özel eylemler vb. bulunur." + }, + "image-input": { + "drop-images-or": "Bir veya birden fazla görseli sürükleyip bırakın ya da", + "drag-and-drop": "Sürükle & Bırak", + "or": "veya", + "browse": "Gözat", + "no-images": "Görsel seçilmedi", + "images": "görseller" + }, "import": { - "no-file": "Hiçbir dosya seçilmedi", - "drop-file": "Bir JSON dosyası bırakın veya yüklenecek bir dosyayı seçmek için tıklayın.", - "drop-file-csv": "Bir CSV dosyası bırakın veya yüklenecek dosyayı seçmek için tıklayın.", + "no-file": "Dosya seçilmedi", + "drop-file": "Bir JSON dosyasını bırakın veya yüklemek için tıklayın.", + "drop-json-file-or": "Bir JSON dosyasını sürükleyip bırakın ya da", + "drop-file-csv": "Bir CSV dosyasını bırakın veya yüklemek için tıklayın.", + "drop-file-csv-or": "Bir CSV dosyasını sürükleyip bırakın ya da", "column-value": "Değer", "column-title": "Başlık", - "column-example": "Örnek değer verileri", - "column-key": "Öznitelik/telemetri anahtarı", - "csv-delimiter": "CSV sınırlayıcı", + "column-example": "Örnek değer verisi", + "column-key": "Özellik/zaman serisi anahtarı", + "credentials": "Kimlik bilgileri", + "csv-delimiter": "CSV ayırıcı", "csv-first-line-header": "İlk satır sütun adlarını içerir", - "csv-update-data": "Öznitelikleri/telemetriyi güncelle", - "import-csv-number-columns-error": "Bir dosya en az iki sütun içermelidir", + "csv-update-data": "Özellikleri/zaman serilerini güncelle", + "details": "Detaylar", + "import-csv-number-columns-error": "Dosya en az iki sütun içermelidir", "import-csv-invalid-format-error": "Geçersiz dosya formatı. Satır: '{{line}}'", "column-type": { - "name": "İsim", + "name": "Ad", "type": "Tür", "label": "Etiket", "column-type": "Sütun türü", - "client-attribute": "İstemci öznitelik", - "shared-attribute": "Paylaşılan öznitelik", - "server-attribute": "Sunucu öznitelik", + "client-attribute": "İstemci özelliği", + "shared-attribute": "Paylaşılan özellik", + "server-attribute": "Sunucu özelliği", "timeseries": "Zaman serisi", - "entity-field": "Öğe alanı", - "access-token": "Access token", - "isgateway": "Ağ Geçidi", - "activity-time-from-gateway-device": "Ağ geçidi cihazından etkinlik süresi", + "entity-field": "Varlık alanı", + "access-token": "Erişim anahtarı", + "x509": "X.509", + "mqtt": { + "client-id": "MQTT istemci kimliği", + "user-name": "MQTT kullanıcı adı", + "password": "MQTT şifresi" + }, + "lwm2m": { + "client-endpoint": "LwM2M uç nokta istemci adı", + "security-config-mode": "LwM2M güvenlik yapılandırma modu", + "client-identity": "LwM2M istemci kimliği", + "client-key": "LwM2M istemci anahtarı", + "client-cert": "LwM2M istemci genel anahtarı", + "bootstrap-server-security-mode": "LwM2M bootstrap sunucusu güvenlik modu", + "bootstrap-server-secret-key": "LwM2M bootstrap sunucusu gizli anahtarı", + "bootstrap-server-public-key-id": "LwM2M bootstrap sunucusu genel anahtarı veya kimliği", + "lwm2m-server-security-mode": "LwM2M sunucusu güvenlik modu", + "lwm2m-server-secret-key": "LwM2M sunucusu gizli anahtarı", + "lwm2m-server-public-key-id": "LwM2M sunucusu genel anahtarı veya kimliği" + }, + "snmp": { + "host": "SNMP sunucusu", + "port": "SNMP portu", + "version": "SNMP sürümü (v1, v2c veya v3)", + "community-string": "SNMP topluluk dizesi" + }, + "isgateway": "Ağ Geçidi mi", + "activity-time-from-gateway-device": "Ağ geçidi cihazından etkinlik zamanı", "description": "Açıklama", - "routing-key": "Uç Anahtarı", - "secret": "Uç Secret" + "routing-key": "Edge anahtarı", + "secret": "Edge gizli anahtarı" }, "stepper-text": { "select-file": "Bir dosya seçin", - "configuration": "Yapılandırmayı içe aktar", - "column-type": "Sütun türünü seçin", - "creat-entities": "Yeni varlıklar oluşturma" + "configuration": "İçe aktarma yapılandırması", + "column-type": "Sütun türlerini seçin", + "creat-entities": "Yeni varlıklar oluşturuluyor" }, "message": { - "create-entities": "{{count}} yeni öğe başarıyla oluşturuldu.", - "update-entities": "{{count}} öğe başarıyla güncellendi.", - "error-entities": "{{count}} öğe oluşturulurken bir hata oluştu." + "create-entities": "{{count}} yeni varlık başarıyla oluşturuldu.", + "update-entities": "{{count}} varlık başarıyla güncellendi.", + "error-entities": "{{count}} varlık oluşturulurken hata oluştu." + } + }, + "scada": { + "symbols": "SCADA sembolleri", + "search": "Sembol ara", + "selected-symbols": "{ count, plural, =1 {1 sembol} other {# sembol} } seçildi", + "download-symbol": "SCADA sembolünü indir", + "export-symbol": "SCADA sembolünü JSON olarak dışa aktar", + "import-symbol": "SCADA sembolünü JSON'dan içe aktar", + "upload-symbol": "SCADA sembolü yükle", + "update-symbol": "SCADA sembolünü güncelle", + "edit-symbol": "SCADA sembolünü düzenle", + "symbol-details": "SCADA sembol detayları", + "mode-svg": "SVG", + "mode-xml": "XML", + "no-symbols": "Sembol bulunamadı", + "show-hidden-elements": "Gizli öğeleri göster", + "hide-hidden-elements": "Gizli öğeleri gizle", + "delete-symbol": "SCADA sembolünü sil", + "delete-symbol-title": "SCADA sembolü '{{imageTitle}}' silinsin mi?", + "delete-symbol-text": "Dikkatli olun, onaydan sonra SCADA sembolü kurtarılamaz hale gelecek.", + "delete-symbols-title": "{ count, plural, =1 {1 SCADA sembolü} other {# SCADA sembolü} } silinsin mi?", + "delete-symbols-text": "Dikkatli olun, onaydan sonra seçilen tüm SCADA sembolleri ve ilgili veriler geri alınamaz şekilde silinecek.", + "include-system-symbols": "Sistem sembollerini dahil et", + "symbol-preview": "Sembol önizleme", + "general": "Genel", + "tags": "Etiketler", + "properties": "Özellikler", + "title": "Başlık", + "description": "Açıklama", + "search-tags": "Etiket ara", + "widget-size": "Bileşen boyutu", + "cols": "sütun", + "rows": "satır", + "state-render-function": "Durum render fonksiyonu", + "preview": "Önizleme", + "preview-widget-action-text": "Bileşen eylemi '{{type}}' başarıyla çalıştırıldı!", + "no-symbol": "SCADA sembolü yok", + "no-symbol-selected": "SCADA sembolü seçilmedi", + "clear-symbol": "SCADA sembolünü temizle", + "browse-symbol-from-gallery": "Galeri üzerinden SCADA sembolü seç", + "zoom-in": "Yakınlaştır", + "zoom-out": "Uzaklaştır", + "create-widget": "Bileşen oluştur", + "create-widget-from-symbol": "SCADA sembolünden bileşen oluştur", + "hidden": "gizli", + "tag": { + "tag": "Etiket", + "on-click-action": "Tıklama eylemi", + "no-tags": "Etiket yapılandırılmadı", + "delete-tag-text": "{{elementType}} öğesinden
{{tag}} etiketini silmek istediğinizden emin misiniz?", + "update-tag": "Etiketi güncelle", + "enter-tag": "Etiket gir", + "tag-settings": "Etiket ayarları", + "remove-tag": "Etiketi kaldır", + "add-tag": "Etiket ekle" + }, + "behavior": { + "behavior": "Davranış", + "id": "Id", + "name": "Ad", + "type": "Tür", + "no-behaviors": "Tanımlı davranış yok", + "add-behavior": "Davranış ekle", + "type-action": "Eylem", + "type-value": "Değer", + "type-widget-action": "Bileşen eylemi", + "behavior-settings": "Davranış ayarları", + "remove-behavior": "Davranışı kaldır", + "hint": "İpucu", + "group-title": "Grup başlığı", + "value-type": "Değer türü", + "default-value": "Varsayılan değer", + "true-label": "Doğru etiketi", + "false-label": "Yanlış etiketi", + "state-label": "Durum etiketi", + "default-payload": "Varsayılan yük", + "not-unique-behavior-ids-error": "Davranış Kimlikleri benzersiz olmalıdır!", + "default-settings": "Varsayılan ayarlar" + }, + "symbol": { + "symbol": "SCADA sembolü", + "fluid-presence": "Akışkan varlığı", + "fluid-presence-hint": "Boru içinde akışkan olup olmadığını belirtir.", + "fluid-present": "Akışkan var", + "present": "Var", + "absent": "Yok", + "flow-presence": "Akış varlığı", + "flow-presence-hint": "Boru içinde akışkan akışı olup olmadığını belirtir.", + "flow-present": "Akış mevcut", + "flow-direction": "Akış yönü", + "flow-direction-hint": "Akışkanın akış yönünü belirtir.", + "forward": "İleri", + "reverse": "Geri", + "flow-animation-speed": "Akış animasyon hızı", + "flow-animation-speed-hint": "Akış animasyon hızını gösteren ondalık değer. 1 - normal hız, 0 - animasyon yok, < 1 - daha yavaş animasyon, > 1 - daha hızlı animasyon.", + "leak": "Sızıntı", + "leak-hint": "Boru içinde sızıntı olup olmadığını belirtir.", + "leak-present": "Sızıntı var", + "fluid-color": "Akışkan rengi", + "pipe-color": "Boru rengi", + "horizontal-pipe": "Yatay boru", + "vertical-pipe": "Dikey boru", + "horizontal-fluid-color": "Yatay akışkan rengi", + "vertical-fluid-color": "Dikey akışkan rengi", + "left-pipe": "Sol boru", + "right-pipe": "Sağ boru", + "top-pipe": "Üst boru", + "bottom-pipe": "Alt boru", + "left-fluid-color": "Sol akışkan rengi", + "right-fluid-color": "Sağ akışkan rengi", + "top-fluid-color": "Üst akışkan rengi", + "bottom-fluid-color": "Alt akışkan rengi", + "display": "Görüntüle", + "display-format": "Görüntü formatı", + "value": "Değer", + "decimals": "Ondalık basamak", + "units": "Birimler", + "flow-meter-value-hint": "Debimetre ekranında gösterilen ondalık değer", + "value-hint": "Geçerli değeri gösteren ondalık değer", + "running": "Çalışıyor", + "running-hint": "Bileşenin çalışır durumda olup olmadığını belirtir.", + "warning-state": "Uyarı durumu", + "warning": "Uyarı", + "warning-click": "Uyarı tıklaması", + "warning-state-hint": "Bileşenin uyarı durumunda olup olmadığını belirtir.", + "critical-state": "Kritik durum", + "critical": "Kritik", + "critical-click": "Kritik tıklama", + "critical-state-hint": "Bileşenin kritik durumda olup olmadığını belirtir.", + "critical-state-animation": "Kritik durum animasyonu", + "critical-state-animation-hint": "Bileşen kritik durumda olduğunda yanıp sönme animasyonunun etkinleştirilip etkinleştirilmeyeceği.", + "warning-critical-state-animation": "Uyarı/Kritik durum animasyonu", + "warning-critical-state-animation-hint": "Bileşen uyarı veya kritik durumdayken yanıp sönme animasyonunun etkinleştirilip etkinleştirilmeyeceği.", + "animation": "Animasyon", + "broken": "Bozuk", + "broken-hint": "Bileşenin bozuk olup olmadığını belirtir.", + "on-display-click": "Ekran tıklaması", + "on-display-click-hint": "Kullanıcı ekranı tıkladığında tetiklenen eylem.", + "pipe": "Boru", + "default-border-color": "Varsayılan kenarlık rengi", + "active-border-color": "Aktif kenarlık rengi", + "warning-border-color": "Uyarı kenarlık rengi", + "critical-border-color": "Kritik kenarlık rengi", + "background-color": "Arka plan rengi", + "rotation-animation-speed": "Dönme animasyon hızı", + "rotation-animation-speed-hint": "Dönme animasyon hızını gösteren ondalık değer. 1 - normal hız, 0 - animasyon yok, < 1 - daha yavaş, > 1 - daha hızlı.", + "on-click": "Tıklama", + "on-click-hint": "Kullanıcı bileşeni tıkladığında tetiklenen eylem.", + "connectors-positions": "Bağlantı konumları", + "right-connector": "Sağ bağlantı", + "right-top-connector": "Sağ üst bağlantı", + "right-bottom-connector": "Sağ alt bağlantı", + "left-connector": "Sol bağlantı", + "left-top-connector": "Sol üst bağlantı", + "left-bottom-connector": "Sol alt bağlantı", + "top-left-connector": "Üst sol bağlantı", + "top-right-connector": "Üst sağ bağlantı", + "top-connector": "Üst bağlantı", + "bottom-connector": "Alt bağlantı", + "running-color": "Çalışma rengi", + "stopped-color": "Durma rengi", + "stopped": "Durdu", + "warning-color": "Uyarı rengi", + "critical-color": "Kritik rengi", + "opened": "Açık", + "opened-hint": "Bileşenin açık durumda olup olmadığını belirtir.", + "open": "Aç", + "open-hint": "Kullanıcı bileşeni açmak için tıkladığında tetiklenen eylem.", + "close": "Kapat", + "close-hint": "Kullanıcı bileşeni kapatmak için tıkladığında tetiklenen eylem.", + "close-state-animation": "Kapalı durum animasyonu", + "close-state-animation-hint": "Bileşen kapalı durumdayken yanıp sönme animasyonunun etkinleştirilip etkinleştirilmeyeceği.", + "opened-color": "Açık renk", + "closed-color": "Kapalı renk", + "opened-rotation-angle": "Açık konum dönme açısı", + "closed-rotation-angle": "Kapalı konum dönme açısı", + "tank-capacity": "Tank kapasitesi", + "tank-capacity-hint": "Toplam tank kapasitesini gösteren ondalık değer.", + "current-volume": "Mevcut hacim", + "current-volume-hint": "Mevcut doluluk hacmini gösteren ondalık değer.", + "tank-color": "Tank rengi", + "value-box": "Değer kutusu", + "value-text": "Değer metni", + "scale": "Ölçek", + "transparent-mode": "Şeffaf mod", + "major-ticks": "Büyük işaretler", + "intervals": "Aralıklar", + "major-ticks-color": "Büyük işaret rengi", + "normal": "Normal", + "minor-ticks": "Küçük işaretler", + "minor-ticks-color": "Küçük işaret rengi", + "temperature": "Sıcaklık", + "temperature-hint": "Geçerli sıcaklığı gösteren ondalık değer.", + "update-temperature": "Sıcaklığı güncelle", + "update-temperature-hint": "Kullanıcı sıcaklığı değiştirmek için tıkladığında tetiklenen eylem.", + "run": "Çalıştır", + "run-hint": "Kullanıcı bileşeni çalıştırmak için tıkladığında tetiklenen eylem.", + "stop": "Durdur", + "stop-hint": "Kullanıcı bileşeni durdurmak için tıkladığında tetiklenen eylem.", + "temperature-step": "Sıcaklık adım artışı", + "heat-pump-color": "Isı pompası rengi", + "power-button-background": "Güç düğmesi arka planı", + "value-box-background": "Değer kutusu arka planı", + "value-units": "Değer birimleri", + "enable-units-scale": "Ölçekte birimleri etkinleştir", + "filtration-mode": "Filtrasyon modu", + "filtration-mode-hint": "Geçerli filtrasyon modunu gösteren tam sayı değeri.", + "filtration-mode-update": "Filtrasyon modu güncelleme durumu", + "filtration-mode-update-hint": "Kullanıcı geçerli filtrasyon modunu değiştirmek için tıkladığında tetiklenen eylem.", + "filter-mode": "Filtre", + "waste-mode": "Atık", + "backwash-mode": "Ters yıkama", + "recirculate-mode": "Dolaşım", + "rinse-mode": "Durulama", + "closed-mode": "Kapalı", + "sand-filter-color": "Kum filtresi rengi", + "mode-box-background": "Mod kutusu arka planı", + "border-color": "Kenarlık rengi", + "label-color": "Etiket rengi", + "water-leak-hint": "Sızıntı olup olmadığını belirtir.", + "default-color": "Varsayılan renk", + "leak-color": "Sızıntı rengi", + "full-value": "Tam değer", + "full-value-hint": "Tam değeri gösteren ondalık sayı.", + "label": "Etiket", + "icon": "Simge", + "button-color": "Düğme rengi", + "on-label": "'Açık' etiketi metni", + "off-label": "'Kapalı' etiketi metni", + "arrow-presence": "Ok varlığı", + "arrow-presence-hint": "Bağlayıcıda okun olup olmadığını belirtir.", + "arrow-present": "Ok mevcut", + "arrow-direction": "Akış yönü", + "arrow-direction-hint": "Akış yönünü belirtir.", + "flow-animation": "Akış varlığı", + "flow-animation-hint": "Bağlayıcıda sıvı akışının olup olmadığını belirtir.", + "flow": "Akış", + "flow-line": "Çizgi", + "flow-line-style": "Çizgi stili", + "flow-style-hint": "Animasyonun senkronizasyonu için Dash ve Gap değerlerinin toplamı 100'e tam bölünebilir olmalıdır.", + "flow-dash-cap": "Çizgi ucu", + "dash-cap-butt": "Düz", + "dash-cap-round": "Yuvarlak", + "dash-cap-square": "Kare", + "dash": "Çizgi", + "gap": "Boşluk", + "main-line": "Ana çizgi", + "line": "Çizgi", + "line-color": "Çizgi rengi", + "arrow-color": "Ok rengi", + "target-value": "Hedef değer", + "target-value-hint": "Ölçekteki hedef noktayı belirtir.", + "min-max-value": "Min ve maks değer", + "min-value": "Min", + "max-value": "Maks", + "progress-bar": "İlerleme çubuğu", + "progress-arrow": "İlerleme oku", + "warning-scale-color": "Uyarı ölçek rengi", + "critical-scale-color": "Kritik ölçek rengi", + "scale-color": "Ölçek rengi", + "target": "Hedef", + "high-warning-state": "Yüksek uyarı durumu", + "show-high-warning-scale": "Yüksek uyarı ölçeğini göster", + "high-warning-scale": "Yüksek uyarı ölçeği", + "high-warning-state-hint": "Ondalık değer, yüksek uyarı aralığını yüksek kritik veya maks değere kadar belirtir.", + "low-warning-state": "Düşük uyarı durumu", + "show-low-warning-scale": "Düşük uyarı ölçeğini göster", + "low-warning-scale": "Düşük uyarı ölçeği", + "low-warning-state-hint": "Ondalık değer, düşük uyarı aralığını düşük kritik veya min değere kadar belirtir.", + "high-critical-state": "Yüksek kritik durumu", + "show-high-critical-scale": "Yüksek kritik ölçeğini göster", + "high-critical-scale": "Yüksek kritik ölçeği", + "high-critical-state-hint": "Ondalık değer, yüksek kritik aralığını maks ölçek değerine kadar belirtir.", + "low-critical-state": "Düşük kritik durumu", + "show-low-critical-scale": "Düşük kritik ölçeği göster", + "low-critical-scale": "Düşük kritik ölçek", + "low-critical-state-hint": "Ondalık değer, düşük kritik aralığını min ölçek değerine kadar belirtir.", + "filter-color": "Filtre rengi", + "colors": "Renkler", + "indicator-colors": "Gösterge renkleri", + "enabled": "Etkin", + "disabled": "Devre dışı", + "on": "AÇIK", + "off": "KAPALI", + "on-off-state": "Açık/Kapalı durumu", + "on-off-state-hint": "Bileşenin Açık veya Kapalı durumda olup olmadığını belirtir.", + "on-update-state": "Durumu Açık olarak güncelle", + "on-update-state-hint": "Kullanıcı durumu Açık olarak güncellemek için tıkladığında tetiklenen eylem.", + "off-update-state": "Durumu Kapalı olarak güncelle", + "off-update-state-hint": "Kullanıcı durumu Kapalı olarak güncellemek için tıkladığında tetiklenen eylem.", + "voltage": "Voltaj", + "input-voltage": "Giriş voltajı", + "input-voltage-hint": "Ondalık değer giriş voltajını belirtir.", + "output-voltage": "Çıkış voltajı", + "output-voltage-hint": "Ondalık değer çıkış voltajını belirtir.", + "first-phase-voltage": "Birinci faz voltajı", + "second-phase-voltage": "İkinci faz voltajı", + "third-phase-voltage": "Üçüncü faz voltajı", + "phase-voltage-hint": "Ondalık değer, mevcut faz için voltajı belirtir.", + "voltage-hint": "Ondalık değer mevcut voltajı belirtir.", + "current-voltage-color": "Mevcut voltaj rengi", + "phase-indicator-color": "Faz gösterge rengi", + "measured": "Ölçülen", + "measured-hint": "Ondalık değer kilovat-saat cinsinden enerji kullanımını belirtir.", + "day-rate": "Gündüz tarifesi", + "night-rate": "Gece tarifesi", + "off-peak-rate": "Yoğun olmayan zaman tarifesi", + "peak-rate": "Yoğun zaman tarifesi", + "export-rate": "İhracat tarifesi", + "operating-mode": "Çalışma modu", + "bypass-mode": "Baypas", + "operating-mode-hint": "Tamsayı değeri geçerli çalışma modunu belirtir (0 - KAPALI, 1 - AÇIK, 2 - BAYPAS)", + "connected": "Bağlı", + "connected-hint": "Bileşenin bağlı durumda olup olmadığını belirtir.", + "disconnected": "Bağlı değil", + "indicator": "Gösterge", + "operation-mode": "Çalışma modu", + "operation-mode-hint": "İnvertörün Şebeke veya İnvertör modunda olup olmadığını belirtir.", + "operation-mode-indicators-color": "Çalışma modu gösterge rengi", + "mains-on-mode": "Şebeke açık", + "inverter-on-mode": "İnvertör açık", + "charging-mode": "Şarj modu", + "charging-mode-hint": "Tamsayı değeri mevcut şarj modunu belirtir (1 - Hızlı, 2 - Emme, 3 - Yüzen)", + "charging-mode-indicators-color": "Şarj modu gösterge rengi", + "inverter-faults": "Hatalar", + "inverter-fault-indicators-color": "Hata gösterge rengi", + "overload-fault": "Aşırı yük", + "overload-fault-hint": "İnvertör aşırı yük durumundaysa belirtir.", + "low-battery-fault": "Düşük pil", + "low-battery-fault-hint": "Pilin aşırı şekilde boşalmış olup olmadığını belirtir.", + "temperature-fault": "Sıcaklık", + "temperature-fault-hint": "İnvertörde yüksek sıcaklık olup olmadığını belirtir.", + "triangle": "Üçgen", + "socket": "Priz", + "left-button": "Sol düğme", + "right-button": "Sağ düğme", + "alarm-colors": "Alarm renkleri", + "hook-color": "Kanca rengi" } }, "item": { - "selected": "Seçildi" + "selected": "Seçili" }, "js-func": { "no-return-error": "Fonksiyon bir değer döndürmelidir!", - "return-type-mismatch": "Fonksiyon, '{{type}}' türünde bir değer döndürmelidir!", - "tidy": "Tidy", - "mini": "Mini" + "return-type-mismatch": "Fonksiyon '{{type}}' türünde bir değer döndürmelidir!", + "tidy": "Düzenle", + "mini": "Mini", + "modules": "Modüller", + "remove-module": "Modülü kaldır", + "no-modules": "Hiçbir modül yapılandırılmadı", + "add-module": "Modül ekle", + "module-alias": "Takma ad", + "invalid-module-alias-name": "Geçersiz takma ad adı", + "module-resource": "JS modül kaynağı", + "not-unique-module-aliases-error": "Modül takma adları benzersiz olmalıdır!", + "show-module-info": "Modül bilgisini göster", + "show-module-source-code": "Modül kaynak kodunu göster", + "module-members": "Modül üyeleri", + "module-no-members": "Modülün dışa aktarılmış üyesi yok", + "module-load-error": "Modül yükleme hatası", + "source-code": "Kaynak kodu", + "source-code-load-error": "Kaynak kodu yüklenemedi", + "no-js-module-text": "Hiçbir JS modülü bulunamadı", + "no-js-module-matching": "'{{module}}' ile eşleşen JS modülü bulunamadı." }, "key-val": { "key": "Anahtar", "value": "Değer", - "remove-entry": "Kaydı kaldır", - "add-entry": "Kayıt ekle", - "no-data": "Kayıt yok" + "remove-entry": "Girdiyi kaldır", + "add-entry": "Girdi ekle", + "no-data": "Girdi yok" }, "layout": { - "layout": "Arayüz Düzeni", - "manage": "Arayüz düzenini yönet", - "settings": "Arayüz düzeni ayarları", + "layout": "Yerleşim", + "layouts": "Yerleşimler", + "manage": "Yerleşimleri yönet", + "settings": "Yerleşim ayarları", "color": "Renk", "main": "Ana", "right": "Sağ", - "select": "Hedef düzen seç" + "left": "Sol", + "select": "Hedef yerleşimi seç", + "percentage-width": "Yüzdelik genişlik (%)", + "fixed-width": "Sabit genişlik (px)", + "left-width": "Sol sütun (%)", + "right-width": "Sağ sütun (%)", + "pick-fixed-side": "Sabit taraf: ", + "layout-fixed-width": "Sabit genişlik (px)", + "value-min-error": "Değer {{min}}{{unit}} değerinden büyük olmalıdır", + "value-max-error": "Değer {{max}}{{unit}} değerinden küçük olmalıdır", + "layout-fixed-width-required": "Sabit genişlik gereklidir", + "right-width-percentage-required": "Sağ yüzdelik oran gereklidir", + "left-width-percentage-required": "Sol yüzdelik oran gereklidir", + "divider": "Bölücü", + "right-side": "Sağ taraf yerleşimi", + "left-side": "Sol taraf yerleşimi", + "add-new-breakpoint": "Yeni kırılma noktası ekle", + "breakpoint": "Kırılma noktası", + "breakpoints": "Kırılma noktaları", + "copy-from": "Kopyala", + "size": "Boyut", + "delete-breakpoint-title": "Kırılma noktası '{{name}}' silinsin mi?", + "delete-breakpoint-text": "Lütfen unutmayın, onaydan sonra kırılma noktası geri alınamaz hale gelecektir ve ayarlar varsayılan kırılma noktasına dönecektir." }, "legend": { - "direction": "Lejant yönü", - "position": "Lejant konumu", - "sort-legend": "Veri anahtarlarını lejantta sıralayın", + "direction": "Yön", + "position": "Konum", + "show-values": "Değerleri göster", + "min-option": "Min", + "max-option": "Maks", + "average-option": "Ortalama", + "total-option": "Toplam", + "latest-option": "Son", + "sort-legend": "Açıklamada veri anahtarlarını sırala", "show-max": "Maksimum değeri göster", "show-min": "Minimum değeri göster", "show-avg": "Ortalama değeri göster", "show-total": "Toplam değeri göster", - "settings": "Lejant ayarları", + "show-latest": "Son değeri göster", + "settings": "Açıklama ayarları", "min": "min", - "max": "max", + "max": "maks", "avg": "ort", "total": "toplam", + "latest": "son", + "Min": "Min", + "Max": "Maks", + "Avg": "Ort", + "Total": "Toplam", + "Latest": "Son", "comparison-time-ago": { "previousInterval": "(önceki aralık)", + "customInterval": "(özel aralık)", "days": "(gün önce)", "weeks": "(hafta önce)", "months": "(ay önce)", "years": "(yıl önce)" - } + }, + "column-title": "Sütun başlığı", + "label": "Etiket", + "value": "Değer" }, "login": { - "login": "Giriş Yap", - "request-password-reset": "Parola Sıfırlama İsteği Gönder", - "reset-password": "Parola Sıfırla", - "create-password": "Parola Oluştur", - "passwords-mismatch-error": "Girilen parolalar eşleşmeli!", - "password-again": "Parola tekrarı", - "sign-in": "Lütfen girişi yapın", + "login": "Giriş", + "request-password-reset": "Şifre Sıfırlama Talebi", + "reset-password": "Şifreyi Sıfırla", + "create-password": "Şifre Oluştur", + "two-factor-authentication": "İki adımlı doğrulama", + "passwords-mismatch-error": "Girilen şifreler aynı olmalıdır!", + "password-again": "Şifre tekrar", + "sign-in": "Lütfen giriş yapın", "username": "Kullanıcı adı (e-posta)", "remember-me": "Beni hatırla", - "forgot-password": "Parolamı unuttum", - "password-reset": "Parola sıfırla", - "expired-password-reset-message": "Kimlik bilgilerinizin süresi doldu! Lütfen yeni şifre oluşturun.", - "new-password": "Yeni parola", - "new-password-again": "Yeni parola tekrarı", - "password-link-sent-message": "Parola sıfırlama e-postası başarıyla gönderildi!", + "forgot-password": "Şifrenizi mi unuttunuz?", + "password-reset": "Şifre sıfırlama", + "expired-password-reset-message": "Kimlik bilgilerinizin süresi doldu! Lütfen yeni bir şifre oluşturun.", + "new-password": "Yeni şifre", + "new-password-again": "Yeni şifreyi onayla", + "password-link-sent-message": "Sıfırlama bağlantısı gönderildi", "email": "E-posta", - "login-with": "{{name}} ile Giriş Yap", - "or": "ya da", - "error": "Giriş hatası" + "invalid-email-format": "Geçersiz e-posta formatı.", + "login-with": "{{name}} ile giriş yap", + "or": "veya", + "error": "Giriş hatası", + "verify-your-identity": "Kimliğinizi doğrulayın", + "select-way-to-verify": "Doğrulama yöntemi seçin", + "resend-code": "Kodu yeniden gönder", + "resend-code-wait": "Kodu yeniden gönderme süresi: { time, plural, =1 {1 saniye} other {# saniye} }", + "try-another-way": "Başka bir yol deneyin", + "totp-auth-description": "Lütfen kimlik doğrulayıcı uygulamanızdaki güvenlik kodunu girin.", + "totp-auth-placeholder": "Kod", + "sms-auth-description": "Telefonunuza {{contact}} numarasına bir güvenlik kodu gönderildi.", + "sms-auth-placeholder": "SMS kodu", + "email-auth-description": "E-posta adresinize {{contact}} adresine bir güvenlik kodu gönderildi.", + "email-auth-placeholder": "E-posta kodu", + "backup-code-auth-description": "Lütfen yedek kodlarınızdan birini girin.", + "backup-code-auth-placeholder": "Yedek kod", + "activation-link-expired": "Aktivasyon bağlantısının süresi doldu", + "activation-link-expired-message": "Profilinizi aktifleştirmek için gönderilen bağlantının süresi doldu. Yeni bir e-posta almak için giriş sayfasına dönebilirsiniz.", + "reset-password-link-expired": "Şifre sıfırlama bağlantısının süresi doldu", + "reset-password-link-expired-message": "Şifre sıfırlama bağlantısının süresi doldu. Yeni bir e-posta almak için giriş sayfasına dönebilirsiniz." + }, + "mobile": { + "add-application": "Uygulama ekle", + "app-id": "Uygulama Kimliği", + "app-id-required": "Uygulama Kimliği gereklidir", + "app-id-pattern": "Geçersiz Uygulama Kimliği formatı", + "app-store-link": "App Store bağlantısı", + "app-store-link-required": "App Store bağlantısı gereklidir", + "application-details": "Uygulama detayları", + "application-package": "Uygulama paketi", + "application-secret": "Uygulama gizli anahtarı", + "application-secret-required": "Uygulama gizli anahtarı gereklidir", + "application": "Uygulama", + "applications": "Uygulamalar", + "copy-app-id": "Uygulama Kimliğini kopyala", + "copy-app-store-link": "App Store bağlantısını kopyala", + "copy-application-package": "Uygulama paketini kopyala", + "copy-application-secret": "Uygulama gizli anahtarını kopyala", + "copy-google-play-link": "Google Play bağlantısını kopyala", + "copy-sha256-certificate-fingerprints": "SHA256 sertifika parmak izini kopyala", + "delete-application": "Uygulamayı sil", + "delete-application-button-text": "Sonuçlarını anlıyorum, uygulamayı sil", + "delete-application-text": "Bu işlem geri alınamaz. Bu, uygulamanızı kalıcı olarak silecektir.
Eğer kalıcı olarak silmek istemiyorsanız uygulamayı geçici olarak askıya alabilirsiniz.
Silmek için lütfen onaylamak için \"{{phrase}}\" yazın.", + "delete-application-title-short": "‘{{name}}’ adlı uygulamayı silmek istediğinize emin misiniz?", + "delete-application-text-short": "Dikkatli olun, onaydan sonra uygulama ve tüm ilgili veriler geri alınamaz hale gelecektir.", + "delete-application-phrase": "uygulamayı sil", + "delete-applications-bundle-text": "Dikkatli olun, onaydan sonra mobil paket ve tüm ilgili veriler geri alınamaz hale gelecektir.", + "delete-applications-bundle-title": "‘{{bundleName}}’ adlı mobil paketi silmek istediğinize emin misiniz?", + "generate-application-secret": "Uygulama gizli anahtarı oluştur", + "google-play-link": "Google Play bağlantısı", + "google-play-link-required": "Google Play bağlantısı gereklidir", + "latest-version": "En son sürüm", + "min-version": "Minimum sürüm", + "invalid-version-pattern": "Geçersiz sürüm formatı. Lütfen şu formatı kullanın: major.minor.patch (örn., 1.0.0).", + "mobile-center": "Mobil merkezi", + "mobile-package": "Uygulama paketi", + "mobile-package-max-length": "Uygulama paketi 256 karakterden kısa olmalıdır", + "mobile-package-required": "Uygulama paketi gereklidir.", + "mobile-package-pattern": "Geçersiz uygulama paketi formatı", + "mobile-package-title": "Uygulama başlığı", + "mobile-package-title-max-length": "Uygulama başlığı 256 karakterden kısa olmalıdır", + "no-application": "Hiç uygulama bulunamadı", + "no-bundles": "Hiç paket bulunamadı", + "platform-type": "Platform türü", + "search-application": "Uygulama ara", + "search-bundles": "Paketleri ara", + "set": "Ayarla", + "sha256-certificate-fingerprints": "SHA256 sertifika parmak izi", + "sha256-certificate-fingerprints-required": "SHA256 sertifika parmak izi gereklidir", + "sha256-certificate-fingerprints-pattern": "Geçersiz SHA256 sertifika parmak izi formatı", + "show-hidden-pages": "Gizli sayfaları göster", + "status": "Durum", + "status-type": { + "deprecated": "Kullanımdan kaldırıldı", + "draft": "Taslak", + "published": "Yayınlandı", + "suspended": "Askıya alındı" + }, + "store-information": "Mağaza bilgisi", + "version-information": "Sürüm bilgisi", + "min-version-release-notes": "Minimum sürüm sürüm notları", + "latest-version-release-notes": "En son sürüm sürüm notları", + "bundle": "Paket", + "bundles": "Paketler", + "add-bundle": "Paket ekle", + "title": "Başlık", + "title-required": "Başlık gereklidir", + "title-cannot-contain-only-spaces": "Başlık yalnızca boşluk içeremez", + "title-max-length": "Başlık 256 karakterden az olmalıdır", + "oauth-clients": "OAuth 2.0 istemcileri", + "android-app": "Android Uygulaması", + "android-application": "Android Uygulaması", + "ios-app": "iOS Uygulaması", + "ios-application": "iOS Uygulaması", + "invalid-store-link": "Geçersiz mağaza bağlantısı", + "enable-oauth": "OAuth 2.0'ı etkinleştir", + "enable-self-registration": "Kendi kendine kaydı etkinleştir", + "edit-bundle": "Paketi düzenle", + "description": "Açıklama", + "basic-settings": "Temel ayarlar", + "no-application-matching": "'{{entity}}' ile eşleşen uygulama bulunamadı.", + "no-bundle-matching": "'{{entity}}' ile eşleşen paket bulunamadı.", + "application-required": "Uygulama gereklidir.", + "bundle-required": "Paket gereklidir.", + "no-application-text": "Hiç uygulama bulunamadı", + "no-bundle-text": "Hiç paket bulunamadı", + "layout": "Yerleşim", + "pages": "Sayfalar", + "hide-all-pages": "Tüm sayfaları gizle", + "reset-to-default-pages": "Sayfaları varsayılana sıfırla", + "add-specific-page": "Belirli bir sayfa ekle", + "visible": "Görünür", + "hidden": "Gizli", + "reset-to-page-default": "Sayfayı varsayılan haline sıfırla", + "mobile-599": "Mobil (maks. 599px)", + "tablet-959": "Tablet (maks. 959px)", + "max-element-number": "Maksimum öğe sayısı", + "page-name": "Sayfa adı", + "page-name-required": "Sayfa adı gereklidir.", + "page-name-cannot-contain-only-spaces": "Sayfa adı yalnızca boşluk içeremez.", + "page-name-max-length": "Sayfa adı 256 karakterden kısa olmalıdır", + "page-type": "Sayfa türü", + "pages-types": { + "dashboard": "Kontrol paneli", + "web-view": "Web görünümü", + "custom": "Özel" + }, + "url": "URL", + "invalid-url-format": "Geçersiz URL formatı", + "path": "Yol", + "invalid-path-format": "Geçersiz yol formatı", + "custom-page": "Özel sayfa", + "edit-page": "Sayfayı düzenle", + "edit-custom-page": "Özel sayfayı düzenle", + "delete-page": "Sayfayı sil", + "qr-code-widget": "QR kod bileşeni", + "type-here": "Buraya yazın", + "configuration-dialog": "Yapılandırma penceresi", + "configuration-app": "Yapılandırma uygulaması", + "configuration-step": { + "prepare-environment-title": "Geliştirme ortamını hazırla", + "prepare-environment-text": "Flutter ThingsBoard Mobil Uygulaması, Flutter SDK gerektirir. Flutter SDK'yı kurmak için talimatları izleyin.", + "get-source-code-title": "Uygulama kaynak kodunu edinin", + "get-source-code-text": "Flutter ThingsBoard Mobil Uygulaması'nın kaynak kodunu GitHub deposundan klonlayarak edinebilirsiniz:", + "configure-app-settings-title": "Uygulama ayarlarını yapılandır", + "configure-app-settings-text": "Yapılandırma dosyasını indirip, bir önceki adımda klonladığınız projenin kök dizinine yerleştirin.", + "download-file": "Dosyayı indir", + "run-app-title": "Uygulamayı çalıştır", + "run-app-text": "IDE'nizde açıklandığı şekilde uygulamayı çalıştırın.\nTerminal kullanıyorsanız, aşağıdaki komutla uygulamayı çalıştırın:", + "more-information": "Detaylı bilgiye Başlarken dokümantasyonumuzdan ulaşabilirsiniz.", + "getting-started": "Başlarken" + } + }, + "notification": { + "action-button": "Eylem düğmesi", + "action-type": "Eylem türü", + "active": "Aktif", + "add-notification-recipients-group": "Bildirim alıcıları grubunu ekle", + "add-notification-template": "Bildirim şablonu ekle", + "add-recipient": "Alıcı ekle", + "add-recipients": "Alıcılar ekle", + "add-rule": "Kural ekle", + "add-stage": "Aşama ekle", + "add-template": "Şablon ekle", + "after": "Sonra", + "alarm-assignment-trigger-settings": "Alarm atama tetikleyici ayarları", + "alarm-comment-trigger-settings": "Alarm yorumu tetikleyici ayarları", + "alarm-trigger-settings": "Alarm tetikleyici ayarları", + "all": "Tümü", + "api-feature-hint": "Alan boşsa, tetikleyici tüm API özelliklerine uygulanır", + "api-usage-trigger-settings": "API kullanım tetikleyici ayarları", + "new-platform-version-trigger-settings": "Yeni platform sürümü tetikleyici ayarları", + "rate-limits-trigger-settings": "Aşılmış hız sınırı tetikleyici ayarları", + "task-processing-failure-trigger-settings": "Görev işleme hatası tetikleyici ayarları", + "resources-shortage-trigger-settings": "Kaynak yetersizliği tetikleyici ayarları", + "at-least-one-should-be-selected": "En az bir tane seçilmelidir", + "basic-settings": "Temel ayarlar", + "button-text": "Düğme metni", + "button-text-required": "Düğme metni gereklidir", + "button-text-max-length": "Düğme metni en fazla {{ length }} karakter olmalıdır", + "compose": "Oluştur", + "conversation": "Konuşma", + "conversation-required": "Konuşma gereklidir", + "copy-notification-template": "Bildirim şablonunu kopyala", + "copy-rule": "Kuralı kopyala", + "copy-template": "Şablonu kopyala", + "create-new": "Yeni oluştur", + "created": "Oluşturuldu", + "customize-messages": "Mesajları özelleştir", + "cpu-threshold": "CPU eşiği", + "delete-notification-text": "Dikkatli olun, onaydan sonra bildirim geri alınamaz hale gelecektir.", + "delete-notification-title": "Bu bildirimi silmek istediğinizden emin misiniz?", + "delete-notifications-text": "Dikkatli olun, onaydan sonra bildirimler geri alınamaz hale gelecektir.", + "delete-notifications-title": "{ count, plural, =1 {1 bildirim} other {# bildirim} } silmek istediğinizden emin misiniz?", + "delete-recipient-text": "Dikkatli olun, onaydan sonra alıcı geri alınamaz hale gelecektir.", + "delete-recipient-title": "'{{recipientName}}' alıcısını silmek istediğinizden emin misiniz?", + "delete-recipients-text": "Dikkatli olun, onaydan sonra alıcılar geri alınamaz hale gelecektir.", + "delete-recipients-title": "{ count, plural, =1 {1 alıcı} other {# alıcı} } silmek istediğinizden emin misiniz?", + "delete-request-text": "Dikkatli olun, onaydan sonra istek geri alınamaz hale gelecektir.", + "delete-request-title": "Bu isteği silmek istediğinizden emin misiniz?", + "delete-requests-text": "Dikkatli olun, onaydan sonra istekler geri alınamaz hale gelecektir.", + "delete-requests-title": "{ count, plural, =1 {1 istek} other {# istek} } silmek istediğinizden emin misiniz?", + "delete-rule-text": "Dikkatli olun, onaydan sonra kural geri alınamaz hale gelecektir.", + "delete-rule-title": "'{{ruleName}}' kuralını silmek istediğinizden emin misiniz?", + "delete-rules-text": "Dikkatli olun, onaydan sonra kurallar geri alınamaz hale gelecektir.", + "delete-rules-title": "{ count, plural, =1 {1 kural} other {# kural} } silmek istediğinizden emin misiniz?", + "delete-template-text": "Dikkatli olun, onaydan sonra şablon geri alınamaz hale gelecektir.", + "delete-template-title": "'{{templateName}}' şablonunu silmek istediğinizden emin misiniz?", + "delete-templates-text": "Dikkatli olun, onaydan sonra şablonlar geri alınamaz hale gelecektir.", + "delete-templates-title": "{ count, plural, =1 {1 şablon} other {# şablon} } silmek istediğinizden emin misiniz?", + "deleted": "Silindi", + "delivery-method": { + "delivery-method": "Teslimat yöntemi", + "email": "E-posta", + "email-preview": "E-posta bildirimi önizlemesi", + "slack": "Slack", + "slack-preview": "Slack bildirimi önizlemesi", + "microsoft-teams": "Microsoft Teams", + "microsoft-teams-preview": "Microsoft Teams bildirimi önizlemesi", + "sms": "SMS", + "sms-preview": "SMS bildirimi önizlemesi", + "web": "Web", + "web-preview": "Web bildirimi önizlemesi", + "mobile-app": "Mobil uygulama", + "mobile-app-preview": "Mobil uygulama bildirimi önizlemesi" + }, + "delivery-method-not-configure-click": "Teslimat yöntemi yapılandırılmamış. Yapılandırmak için tıklayın.", + "delivery-method-not-configure-contact": "Teslimat yöntemi yapılandırılmamış. Sistem yöneticinizle iletişime geçin.", + "delivery-methods": "Teslimat yöntemleri", + "description": "Açıklama", + "device-activity-trigger-settings": "Cihaz etkinliği tetikleyici ayarları", + "device-list-rule-hint": "Alan boşsa, tetikleyici tüm cihazlara uygulanır", + "device-profiles-list-rule-hint": "Alan boşsa, tetikleyici tüm cihaz profillerine uygulanır", + "disabled": "Devre dışı", + "edge-trigger-settings": "Edge tetikleyici ayarları", + "edge-list-rule-hint": "Alan boşsa, tetikleyici tüm Edge örneklerine uygulanır", + "edit-notification-recipients-group": "Bildirim alıcıları grubunu düzenle", + "edit-notification-template": "Bildirim şablonunu düzenle", + "edit-rule": "Kuralı düzenle", + "edit-template": "Şablonu düzenle", + "enabled": "Etkin", + "entities-limit-trigger-settings": "Varlık sınırı tetikleyici ayarları", + "entity-action-trigger-settings": "Varlık eylemi tetikleyici ayarları", + "entity-type": "Varlık tipi", + "escalation-chain": "Yükseltme zinciri", + "failed-send": "Gönderim hataları", + "fails": "{ count, plural, =1 {1 hata} other {# hata} }", + "filter": "Filtre", + "first-recipient": "İlk alıcı", + "inactive": "Pasif", + "inbox": "Gelen kutusu", + "notification-inbox": "Bildirimler / Gelen kutusu", + "input-field-support-templatization": "Giriş alanı şablonlamayı destekler.", + "input-fields-support-templatization": "Giriş alanları şablonlamayı destekler.", + "link": "Bağlantı", + "link-required": "Bağlantı gereklidir", + "link-max-length": "Bağlantı uzunluğu en fazla {{ length }} karakter olmalıdır", + "link-type": { + "dashboard": "Panoyu aç", + "link": "URL bağlantısını aç" + }, + "loading-notifications": "Bildirimler yükleniyor...", + "management": "Bildirim yönetimi", + "mark-all-as-read": "Tümünü okundu olarak işaretle", + "mark-as-read": "Okundu olarak işaretle", + "message": "Mesaj", + "message-required": "Mesaj gereklidir", + "message-max-length": "Mesaj en fazla {{ length }} karakter olmalıdır", + "name": "İsim", + "name-required": "İsim gereklidir", + "new-notification": "Yeni bildirim", + "no-inbox-notification": "Bildirim bulunamadı", + "no-notification-request": "Bildirim isteği yok", + "no-notification-templates": "Bildirim şablonu bulunamadı", + "no-notifications-yet": "Henüz bildirim yok", + "no-recipients-notification": "Alıcı bulunamadı bildirimi", + "no-recipients-matching": "'{{entity}}' ile eşleşen alıcı bulunamadı.", + "no-recipients-text": "Alıcı bulunamadı", + "no-rule": "Kural yapılandırılmamış", + "no-rules-notification": "Kural bildirimi yok", + "no-severity-found": "Önem seviyesi bulunamadı", + "no-severity-matching": "'{{severity}}' bulunamadı.", + "no-template-matching": "'{{template}}' ile eşleşen kaynak bulunamadı.", + "create-new-template": "Yeni bir tane oluştur!", + "not-found-slack-recipient": "Slack alıcısı bulunamadı", + "notification": "Bildirim", + "notification-center": "Bildirim merkezi", + "notification-tap-action": "Bildirim dokunma eylemi", + "notification-tap-action-hint": "Etkin değilse, varsayılan alarm panosu kullanılacaktır", + "notify": "bildir", + "notify-again": "Yeniden bildir", + "notify-alarm-action": { + "acknowledged": "Alarm onaylandı", + "assigned": "Alarm atandı", + "cleared": "Alarm temizlendi", + "created": "Alarm oluşturuldu", + "severity-changed": "Alarm şiddeti değişti", + "unassigned": "Alarm ataması kaldırıldı" + }, + "notify-on": "Bildirim tetikleyicisi", + "notify-on-comment-update": "Yorum güncellemesinde bildir", + "notify-on-required": "Bildirim tetikleyicisi gereklidir", + "notify-on-unassign": "Atama kaldırıldığında bildir", + "notify-only-user-comments": "Sadece kullanıcı yorumlarında bildir", + "only-rule-chain-lifecycle-failures": "Sadece kural zinciri yaşam döngüsü hataları", + "only-rule-node-lifecycle-failures": "Sadece kural düğümü yaşam döngüsü hataları", + "platform-users": "Platform kullanıcıları", + "ram-threshold": "RAM eşiği", + "rate-limits": "Hız sınırları", + "rate-limits-hint": "Alan boşsa, tetikleyici tüm hız sınırlarına uygulanır", + "recipient": "Alıcı", + "recipient-group": "Alıcı grubu", + "recipient-type": { + "affected-tenant-administrators": "Etkilenen kiracı yöneticileri", + "affected-user": "Etkilenen kullanıcı", + "all-users": "Tüm kullanıcılar", + "customer-users": "Müşteri kullanıcıları", + "system-administrators": "Sistem yöneticileri", + "tenant-administrators": "Kiracı yöneticileri", + "user-filters": "Kullanıcı filtresi", + "user-list": "Kullanıcı listesi", + "users-entity-owner": "Varlık sahibinin kullanıcıları" + }, + "recipients": "Alıcılar", + "notification-recipient": "Bildirim alıcısı", + "notification-recipient-required": "Bildirim alıcısı gereklidir.", + "notification-recipients": "Bildirimler / Alıcılar", + "recipients-count": "{ count, plural, =1 {1 alıcı} other {# alıcı} }", + "recipients-required": "Alıcılar gereklidir", + "refresh-allow-delivery-method": "İzin verilen iletim yöntemini yenile", + "request-search": "İstek araması", + "request-status": { + "processing": "İşleniyor", + "scheduled": "Zamanlandı", + "sent": "Gönderildi" + }, + "review": "İnceleme", + "rule": "Kural", + "rule-chain-list-rule-hint": "Alan boşsa, tetikleyici tüm kural zincirlerine uygulanır", + "rule-engine-events-trigger-settings": "Kural motoru olay tetikleyici ayarları", + "rule-engine-filter": "Kural motoru filtresi", + "rule-name": "Kural adı", + "rule-name-required": "Ad gereklidir", + "rule-disable": "Bildirim kuralını devre dışı bırak", + "rule-enable": "Bildirim kuralını etkinleştir", + "rule-node-filter": "Kural düğümü filtresi", + "rules": "Kurallar", + "notification-rules": "Bildirimler / Kurallar", + "scheduler-later": "Daha sonra zamanla", + "search-notification": "Bildirimlerde ara", + "search-recipients": "Alıcılarda ara", + "search-rules": "Kurallarda ara", + "search-templates": "Şablonlarda ara", + "see-documentation": "Belgeleri gör", + "selected-notifications": "{ count, plural, =1 {1 bildirim} other {# bildirim} } seçildi", + "selected-recipients": "{ count, plural, =1 {1 alıcı} other {# alıcı} } seçildi", + "selected-requests": "{ count, plural, =1 {1 istek} other {# istek} } seçildi", + "selected-rules": "{ count, plural, =1 {1 kural} other {# kural} } seçildi", + "selected-template": "{ count, plural, =1 {1 şablon} other {# şablon} } seçildi", + "send-notification": "Bildirim gönder", + "sent": "Gönderildi", + "setup": "Kurulum", + "notification-sent": "Bildirimler / Gönderilen", + "set-entity-from-notification": "Bildirimden varlık ayarla ve pano durumuna geçir", + "slack-chanel-type": "Slack kanal türü", + "slack-chanel-types": { + "direct": "Doğrudan mesaj", + "private-channel": "Özel kanal", + "public-channel": "Genel kanal" + }, + "start-from-scratch": "Sıfırdan başla", + "status": "Durum", + "stop-escalation-alarm-status-become": "Alarm durumu olduğunda artan bildirimleri durdur:", + "storage-threshold": "Depolama eşiği", + "subject": "Konu", + "subject-required": "Konu gereklidir", + "subject-max-length": "Konu en fazla {{ length }} karakter olmalıdır", + "template": "Şablon", + "template-name": "Şablon adı", + "template-required": "Şablon gereklidir", + "template-type": { + "alarm": "Alarm", + "alarm-assignment": "Alarm ataması", + "alarm-comment": "Alarm yorumu", + "api-usage-limit": "API kullanım limiti", + "device-activity": "Cihaz etkinliği", + "entities-limit": "Varlık sınırı", + "entity-action": "Varlık işlemi", + "general": "Genel", + "rule-engine-lifecycle-event": "Kural motoru yaşam döngüsü olayı", + "rule-node": "Kural düğümü", + "new-platform-version": "Yeni platform sürümü", + "rate-limits": "Aşılan hız sınırları", + "edge-communication-failure": "Edge iletişim hatası", + "edge-connection": "Edge bağlantısı", + "task-processing-failure": "Görev işleme hatası", + "resources-shortage": "Kaynak yetersizliği" + }, + "templates": "Şablonlar", + "notification-templates": "Bildirimler / Şablonlar", + "tenant-profiles-list-rule-hint": "Alan boş bırakılırsa, tetikleyici tüm kiracı profillerine uygulanacaktır", + "tenants-list-rule-hint": "Alan boş bırakılırsa, tetikleyici tüm kiracılara uygulanacaktır", + "threshold": "Eşik", + "theme-color": "Tema rengi", + "time": "Zaman", + "track-rule-node-events": "Kural düğümü olaylarını takip et", + "trigger": { + "alarm": "Alarm", + "alarm-assignment": "Alarm ataması", + "alarm-comment": "Alarm yorumu", + "api-usage-limit": "API kullanım limiti", + "device-activity": "Cihaz etkinliği", + "entities-limit": "Varlık sınırı", + "entity-action": "Varlık işlemi", + "rule-engine-lifecycle-event": "Kural motoru yaşam döngüsü olayı", + "new-platform-version": "Yeni platform sürümü", + "rate-limits": "Aşılan hız sınırları", + "edge-connection": "Edge bağlantısı", + "edge-communication-failure": "Edge iletişim hatası", + "task-processing-failure": "Görev işleme hatası", + "resources-shortage": "Kaynak yetersizliği", + "trigger": "Tetikleyici", + "trigger-required": "Tetikleyici gereklidir" + }, + "type": "Tür", + "unread": "Okunmamış", + "updated": "Güncellendi", + "use-deprecated-webhook-connectors": "Eski Webhook bağlayıcılarını kullan", + "use-old-api": "Eski API'yi kullan", + "use-template": "Şablon kullan", + "view-all": "Tümünü görüntüle", + "warning": "Uyarı", + "webhook-url": "Webhook URL", + "webhook-url-required": "Webhook URL gereklidir", + "workflow-url": "İş akışı URL", + "workflow-url-required": "İş akışı URL gereklidir", + "channel-name": "Kanal adı", + "channel-name-required": "Kanal adı gereklidir", + "settings": { + "notification-settings": "Bildirim ayarları", + "reset-all": "Tüm ayarları sıfırla", + "reset-all-title": "Formu sıfırlamak istediğinizden emin misiniz?", + "reset-all-text": "Onaydan sonra, ayarlar formu varsayılan değerlere sıfırlanacak ve kaydedilecektir.", + "type": "Tür", + "enable-all": "Tümünü etkinleştir", + "disable-all": "Tümünü devre dışı bırak", + "delivery-not-configured": "Teslimat yöntemi yapılandırılmamış" + } }, "ota-update": { "add": "Paket ekle", - "assign-firmware": "Atanan donanım yazılımı (Firmware)", - "assign-firmware-required": "Atanan donanım yazılımı gerekli", + "assign-firmware": "Atanan ürün yazılımı", + "assign-firmware-required": "Atanan ürün yazılımı gereklidir", "assign-software": "Atanan yazılım", - "assign-software-required": "Atanan yazılım gerekli (Software)", - "auto-generate-checksum": "Otomatik checksum oluştur", - "checksum": "Checksum", - "checksum-hint": "Checksum boşsa, otomatik olarak oluşturulur", - "checksum-algorithm": "Checksum algoritması", - "checksum-copied-message": "Paket checksum panoya kopyalandı", - "change-firmware": "Firmware değişikliği { count, plural, =1 {1 cihazın} other {# cihazın} } güncellenmesine neden olabilir.", - "change-software": "Software değişikliği { count, plural, =1 {1 cihazın} other {# cihazın} }.", + "assign-software-required": "Atanan yazılım gereklidir", + "auto-generate-checksum": "Otomatik sağlama toplamı oluştur", + "checksum": "Sağlama toplamı", + "checksum-hint": "Sağlama toplamı boşsa otomatik olarak oluşturulacaktır", + "checksum-algorithm": "Sağlama algoritması", + "checksum-copied-message": "Paketin sağlama toplamı panoya kopyalandı", + "change-firmware": "Ürün yazılımının değiştirilmesi { count, plural, =1 {1 cihazı} other {# cihazı} } güncelleyebilir.", + "change-software": "Yazılımın değiştirilmesi { count, plural, =1 {1 cihazı} other {# cihazı} } güncelleyebilir.", + "change-ota-setting-title": "OTA ayarlarını değiştirmek istediğinizden emin misiniz?", "chose-compatible-device-profile": "Yüklenen paket yalnızca seçilen profile sahip cihazlar için geçerli olacaktır.", - "chose-firmware-distributed-device": "Cihazlara dağıtılacak firmware'i seçin", - "chose-software-distributed-device": "Cihazlara dağıtılacak software'i seçin", + "chose-firmware-distributed-device": "Cihazlara dağıtılacak ürün yazılımını seçin", + "chose-software-distributed-device": "Cihazlara dağıtılacak yazılımı seçin", "content-type": "İçerik türü", - "copy-checksum": "Checksum kopyala", - "copy-direct-url": "Açık URL'yi kopyala", + "copy-checksum": "Sağlama toplamını kopyala", + "copy-direct-url": "Doğrudan URL’yi kopyala", "copyId": "Paket kimliğini kopyala", "copied": "Kopyalandı!", "delete": "Paketi sil", - "delete-ota-update-text": "Dikkatli olun, onaydan sonra OTA güncellemesi kurtarılamaz hale gelecektir.", - "delete-ota-update-title": "'{{title}}' OTA güncellemesini silmek istediğinizden emin misiniz?", - "delete-ota-updates-text": "Dikkatli olun, onaydan sonra seçilen tüm OTA güncellemeleri kaldırılacaktır.", - "delete-ota-updates-title": "{ count, plural, =1 {1 OTA güncellemesini} other {# OTA güncellemesini} } silmek istediğinizden emin misiniz?", + "delete-ota-update-text": "Dikkatli olun, onaydan sonra OTA güncellemesi geri alınamaz hale gelecektir.", + "delete-ota-update-title": "OTA güncellemesi '{{title}}' silinsin mi?", + "delete-ota-updates-text": "Dikkatli olun, onaydan sonra seçilen tüm OTA güncellemeleri silinecektir.", + "delete-ota-updates-title": "{ count, plural, =1 {1 OTA güncellemesi} other {# OTA güncellemesi} } silinsin mi?", "description": "Açıklama", - "direct-url": "Açık URL", - "direct-url-copied-message": "Paket açık URL'si panoya kopyalandı", - "direct-url-required": "Açık URL gerekli", + "direct-url": "Doğrudan URL", + "direct-url-copied-message": "Paketin doğrudan URL'si panoya kopyalandı", + "direct-url-required": "Doğrudan URL gereklidir", "download": "Paketi indir", - "drop-file": "Bir paket dosyası bırakın veya yüklenecek dosyayı seçmek için tıklayın.", + "drop-file": "Bir paket dosyasını bırakın veya yüklemek için tıklayın.", + "drop-package-file-or": "Bir paket dosyasını sürükleyip bırakın veya", "file-name": "Dosya adı", "file-size": "Dosya boyutu", - "file-size-bytes": "Bayt (byte) cinsinden dosya boyutu", + "file-size-bytes": "Bayt cinsinden dosya boyutu", "idCopiedMessage": "Paket kimliği panoya kopyalandı", - "no-firmware-matching": "'{{entity}}' ile eşleşen uyumlu Ürün Yazılımı OTA Güncelleme paketi bulunamadı.", - "no-firmware-text": "Uyumlu Donanım Yazılımı OTA Güncelleme paketi sağlanmadı.", + "no-firmware-matching": "Uygun Firmware OTA güncelleme paketi '{{entity}}' için bulunamadı.", + "no-firmware-text": "Uygun Firmware OTA güncelleme paketi yok.", "no-packages-text": "Paket bulunamadı", - "no-software-matching": "'{{entity}}' ile eşleşen uyumlu Yazılım OTA Güncelleme paketi bulunamadı.", - "no-software-text": "Uyumlu Yazılım OTA Güncelleme paketi sağlanmadı.", + "no-software-matching": "Uygun Yazılım OTA güncelleme paketi '{{entity}}' için bulunamadı.", + "no-software-text": "Uygun Yazılım OTA güncelleme paketi yok.", "ota-update": "OTA güncellemesi", "ota-update-details": "OTA güncelleme ayrıntıları", "ota-updates": "OTA güncellemeleri", - "package-type": "Paket Tipi", + "package-file": "Paket dosyası", + "package-type": "Paket türü", "packages-repository": "Paket deposu", - "search": "Paketleri ara", + "search": "Paket ara", "selected-package": "{ count, plural, =1 {1 paket} other {# paket} } seçildi", "title": "Başlık", - "title-required": "Başlık gerekli.", + "title-required": "Başlık gereklidir.", + "title-max-length": "Başlık 256 karakterden kısa olmalıdır", "types": { - "firmware": "Firmware", - "software": "Software" + "firmware": "Ürün yazılımı", + "software": "Yazılım" }, - "upload-binary-file": "Binary dosya yükle", + "upload-binary-file": "İkili dosya yükle", "use-external-url": "Harici URL kullan", "version": "Sürüm", - "version-required": "Sürüm gerekli.", - "version-tag": "Sürüm Etiketi", - "version-tag-hint": "Özel etiket, cihazınız tarafından bildirilen paket sürümüyle eşleşmelidir.", - "warning-after-save-no-edit": "Paket yüklendikten sonra başlığı, sürümü, cihaz profilini ve paket türünü değiştiremezsiniz.." + "version-required": "Sürüm gereklidir.", + "version-tag": "Sürüm etiketi", + "version-tag-hint": "Özel etiket, cihazınızın bildirdiği paket sürümüyle eşleşmelidir.", + "version-max-length": "Sürüm 256 karakterden kısa olmalıdır", + "warning-after-save-no-edit": "Paket yüklendikten sonra başlık, sürüm, cihaz profili ve paket türü değiştirilemez." }, "position": { "top": "Üst", @@ -2251,16 +4303,105 @@ }, "profile": { "profile": "Profil", - "last-login-time": "Son giriş tarihi", - "change-password": "Şifre değiştir", - "current-password": "Şimdiki şifre" + "last-login-time": "Son Giriş", + "change-password": "Şifreyi Değiştir", + "current-password": "Mevcut şifre", + "copy-jwt-token": "JWT jetonunu kopyala", + "jwt-token": "JWT jetonu", + "token-valid-till": "Jeton geçerlilik süresi", + "tokenCopiedSuccessMessage": "JWT jetonu panoya kopyalandı", + "tokenCopiedWarnMessage": "JWT jetonu süresi dolmuş! Lütfen sayfayı yenileyin." + }, + "profiles": { + "profiles": "Profiller" + }, + "security": { + "security": "Güvenlik", + "general-settings": "Genel güvenlik ayarları", + "access-token": "Erişim belirteci", + "access-token-required": "Erişim belirteci gereklidir", + "clientId": "İstemci Kimliği", + "clientId-required": "İstemci Kimliği gereklidir", + "username": "Kullanıcı adı", + "username-required": "Kullanıcı adı gereklidir", + "ca-cert": "CA sertifikası", + "2fa": { + "2fa": "İki faktörlü kimlik doğrulama", + "2fa-description": "İki faktörlü kimlik doğrulama, hesabınızı yetkisiz erişime karşı korur. Tek yapmanız gereken giriş yaparken bir güvenlik kodu girmektir.", + "authenticate-with": "Şununla kimlik doğrulaması yapabilirsiniz:", + "disable-2fa-provider-text": "{{name}} devre dışı bırakıldığında hesabınız daha az güvenli olur", + "disable-2fa-provider-title": "{{name}} sağlayıcısını devre dışı bırakmak istediğinizden emin misiniz?", + "get-new-code": "Yeni kod al", + "main-2fa-method": "Ana iki faktörlü kimlik doğrulama yöntemi olarak kullan", + "dialog": { + "activation-step-description-email": "Bir dahaki girişinizde, e-posta adresinize gönderilecek güvenlik kodunu girmeniz istenecek.", + "activation-step-description-sms": "Bir dahaki girişinizde, telefon numaranıza gönderilecek güvenlik kodunu girmeniz istenecek.", + "activation-step-description-totp": "Bir dahaki girişinizde, iki faktörlü kimlik doğrulama kodu sağlamanız gerekecek.", + "activation-step-label": "Etkinleştirme", + "backup-code-description": "Yedek kodları yazdırın, böylece hesabınıza giriş yapmak için ihtiyaç duyduğunuzda elinizin altında olur. Her bir yedek kod yalnızca bir kez kullanılabilir.", + "backup-code-warn": "Bu sayfadan ayrıldığınızda, bu kodlar tekrar gösterilemez. Aşağıdaki seçenekleri kullanarak güvenli bir şekilde saklayın.", + "download-txt": "İndir (txt)", + "email-step-description": "Kimlik doğrulayıcı olarak kullanılacak bir e-posta girin.", + "email-step-label": "E-posta", + "enable-email-title": "E-posta kimlik doğrulayıcıyı etkinleştir", + "enable-sms-title": "SMS kimlik doğrulayıcıyı etkinleştir", + "enable-totp-title": "Kimlik doğrulama uygulamasını etkinleştir", + "enter-verification-code": "6 haneli kodu buraya girin", + "get-backup-code-title": "Yedek kod al", + "next": "İleri", + "scan-qr-code": "Doğrulama uygulamanızla bu QR kodunu tarayın", + "send-code": "Kodu gönder", + "sms-step-description": "Kimlik doğrulayıcı olarak kullanılacak bir telefon numarası girin.", + "sms-step-label": "Telefon Numarası", + "success": "Başarılı!", + "totp-step-description-install": "Google Authenticator, Authy veya Duo gibi uygulamaları yükleyebilirsiniz.", + "totp-step-description-open": "Mobil telefonunuzda kimlik doğrulayıcı uygulamasını açın.", + "totp-step-label": "Uygulama edin", + "verification-code": "6 haneli kod", + "verification-code-invalid": "Geçersiz doğrulama kodu biçimi", + "verification-code-incorrect": "Doğrulama kodu yanlış", + "verification-code-many-request": "Çok fazla istek gönderildi, doğrulama kodunu kontrol edin", + "verification-step-description": "{{address}} adresine yeni gönderdiğimiz 6 haneli kodu girin", + "verification-step-label": "Doğrulama" + }, + "provider": { + "email": "E-posta", + "email-description": "Kimlik doğrulamak için e-posta adresinize gönderilen bir güvenlik kodunu kullanın.", + "email-hint": "Kimlik doğrulama kodları {{ info }} adresine e-posta ile gönderilir", + "sms": "SMS", + "sms-description": "Kimlik doğrulamak için telefonunuzu kullanın. Giriş yaptığınızda size SMS ile bir güvenlik kodu göndereceğiz.", + "sms-hint": "Kimlik doğrulama kodları {{ info }} numarasına SMS ile gönderilir", + "totp": "Kimlik doğrulayıcı uygulama", + "totp-description": "Google Authenticator, Authy veya Duo gibi uygulamaları telefonunuzda kullanarak kimlik doğrulama yapın. Giriş yapmak için bir güvenlik kodu üretir.", + "totp-hint": "Hesabınız için kimlik doğrulayıcı uygulama ayarlandı", + "backup_code": "Yedek kod", + "backup-code-description": "Bu yazdırılabilir tek kullanımlık kodlar, seyahatteyken veya telefonunuza erişiminiz olmadığında oturum açmanıza olanak tanır.", + "backup-code-hint": "Şu anda {{ info }} adet tek kullanımlık kod aktif" + } + }, + "password-requirement": { + "at-least": "En az:", + "character": "{ count, plural, =1 {1 karakter} other {# karakter} }", + "digit": "{ count, plural, =1 {1 rakam} other {# rakam} }", + "incorrect-password-try-again": "Hatalı şifre. Lütfen tekrar deneyin", + "lowercase-letter": "{ count, plural, =1 {1 küçük harf} other {# küçük harf} }", + "new-passwords-not-match": "Yeni şifreler eşleşmedi", + "password-should-not-contain-spaces": "Şifreniz boşluk karakteri içermemelidir", + "password-not-meet-requirements": "Şifre gereksinimlerini karşılamıyor", + "password-requirements": "Şifre gereksinimleri", + "password-should-difference": "Yeni şifre mevcut şifreden farklı olmalıdır", + "special-character": "{ count, plural, =1 {1 özel karakter} other {# özel karakter} }", + "uppercase-letter": "{ count, plural, =1 {1 büyük harf} other {# büyük harf} }", + "at-most": "En fazla:" + } }, "relation": { "relations": "İlişkiler", - "direction": "Yönelim", + "direction": "Yön", + "clear-relation-type": "İlişki türünü temizle", "search-direction": { - "FROM": "KAYNAK", - "TO": "HEDEF" + "FROM": "Kaynak", + "TO": "Hedef" }, "direction-type": { "FROM": "kaynak", @@ -2270,330 +4411,1452 @@ "to-relations": "Gelen ilişkiler", "selected-relations": "{ count, plural, =1 {1 ilişki} other {# ilişki} } seçildi", "type": "Tür", - "to-entity-type": "Hedef Öğe Türü", - "to-entity-name": "Hedef Öğe Adı", - "from-entity-type": "Kaynak Öğe Türü", - "from-entity-name": "Kaynak Öğe Adı", - "to-entity": "Hedef Öğe", - "from-entity": "Kaynak Öğe", + "to-entity-type": "Hedef varlık türü", + "to-entity-name": "Hedef varlık adı", + "from-entity-type": "Kaynak varlık türü", + "from-entity-name": "Kaynak varlık adı", + "to-entity": "Hedef varlık", + "from-entity": "Kaynak varlık", "delete": "İlişkiyi sil", "relation-type": "İlişki türü", - "relation-type-required": "İlişki türü gerekli.", - "any-relation-type": "Her hangi bir tür", + "relation-type-required": "İlişki türü gereklidir.", + "relation-type-max-length": "İlişki türü 256 karakterden kısa olmalıdır", + "any-relation-type": "Herhangi bir tür", "add": "İlişki ekle", - "edit": "İlişki düzenle", - "delete-to-relation-title": "'{{entityName}}' öğesine olan ilişkiyi silmek istediğinize emin misiniz?", - "delete-to-relation-text": "UYARI: Onaylandıktan sonra '{{entityName}}' öğesinin şimdiki öğeyle olan ilişkisi sona erecektir.", - "delete-to-relations-title": "{ count, plural, =1 {1 ilişkiyi} other {# ilişkiyi} } silmek istediğinize emin misiniz?", - "delete-to-relations-text": "UYARI: Onaylandıktan sonra tüm seçili ilişkiler kaldırılacaktır ve ilgili öğelerin şimdiki öğeyle ilişkisi sona erecektir.", - "delete-from-relation-title": "'{{entityName}}' öğesinden ilişkiyi silmek istediğinize emin misiniz?", - "delete-from-relation-text": "UYARI: Onaylandıktan sonra şimdiki öğenin '{{entityName}}' öğesiyle ilişkisi sonlandırılacaktır.", - "delete-from-relations-title": "{ count, plural, =1 {1 ilişkiyi} other {# ilişkiyi} } silmek istediğinize emin misiniz?", - "delete-from-relations-text": "UYARI: Onaylandıktan sonra tüm seçili ilişkiler kaldırılacak ve şimdiki öğenin ilgili tüm öğelerle ilişkisi sona erecektir.", + "edit": "İlişkiyi düzenle", + "delete-to-relation-title": "'{{entityName}}' varlığına olan ilişkiyi silmek istediğinizden emin misiniz?", + "delete-to-relation-text": "Dikkatli olun, onaydan sonra '{{entityName}}' varlığı mevcut varlıkla ilişkilendirilmemiş olacak.", + "delete-to-relations-title": "{ count, plural, =1 {1 ilişki} other {# ilişki} } silmek istediğinizden emin misiniz?", + "delete-to-relations-text": "Dikkatli olun, onaydan sonra tüm seçili ilişkiler silinecek ve karşılık gelen varlıklarla bağlantı kaldırılacak.", + "delete-from-relation-title": "'{{entityName}}' varlığından olan ilişkiyi silmek istediğinizden emin misiniz?", + "delete-from-relation-text": "Dikkatli olun, onaydan sonra mevcut varlık '{{entityName}}' varlığıyla ilişkilendirilmemiş olacak.", + "delete-from-relations-title": "{ count, plural, =1 {1 ilişki} other {# ilişki} } silmek istediğinizden emin misiniz?", + "delete-from-relations-text": "Dikkatli olun, onaydan sonra tüm seçili ilişkiler silinecek ve mevcut varlık, karşılık gelen varlıklarla ilişkilendirilmemiş olacak.", "remove-relation-filter": "İlişki filtresini kaldır", - "add-relation-filter": "İlişkisi ekle", + "remove-filter": "Filtreyi kaldır", + "add-relation-filter": "İlişki filtresi ekle", "any-relation": "Herhangi bir ilişki", "relation-filters": "İlişki filtreleri", + "relation-filter": "İlişki filtresi", "additional-info": "Ek bilgi (JSON)", - "invalid-additional-info": "Ek bilgi JSON'ı parse edilip işlenemedi.", - "no-relations-text": "İlişki bulunamadı" + "invalid-additional-info": "Ek bilgi json'u ayrıştırılamadı.", + "no-relations-text": "İlişki bulunamadı", + "not": "Değil" }, "resource": { - "add": "Kaynak Ekle", + "add": "Kaynak ekle", + "all-types": "Tümü", "copyId": "Kaynak kimliğini kopyala", "delete": "Kaynağı sil", - "delete-resource-text": "Dikkatli olun, onaydan sonra kaynak kurtarılamaz hale gelecektir..", + "delete-resource-text": "Dikkatli olun, onaydan sonra kaynak geri alınamaz hale gelecek.", "delete-resource-title": "'{{resourceTitle}}' kaynağını silmek istediğinizden emin misiniz?", - "delete-resources-action-title": "{ count, plural, =1 {1 kaynağı} other {# kaynağı} } sil", - "delete-resources-text": "Lütfen seçilen kaynakların cihaz profillerinde kullanılsalar bile silineceğini unutmayın.", - "delete-resources-title": "{ count, plural, =1 {1 kaynağı} other {# kaynağı} } silmek istediğinizden emin misiniz?", + "delete-resources-action-title": "{ count, plural, =1 {1 kaynak} other {# kaynak} } sil", + "delete-resources-text": "Lütfen dikkat, seçilen kaynaklar cihaz profillerinde kullanılsa bile silinecektir.", + "delete-resources-title": "{ count, plural, =1 {1 kaynak} other {# kaynak} } silmek istediğinizden emin misiniz?", "download": "Kaynağı indir", - "drop-file": "Bir kaynak dosyası bırakın veya yüklenecek dosyayı seçmek için tıklayın.", + "drop-file": "Bir kaynak dosyasını bırakın veya yüklemek için tıklayın.", + "drop-resource-file-or": "Bir kaynak dosyasını sürükleyip bırakın ya da", "empty": "Kaynak boş", "file-name": "Dosya adı", - "idCopiedMessage": "Kaynak Kimliği panoya kopyalandı", + "idCopiedMessage": "Kaynak kimliği panoya kopyalandı", "no-resource-matching": "'{{widgetsBundle}}' ile eşleşen kaynak bulunamadı.", - "no-resource-text": "Kaynak bulunamadı", + "no-resource-text": "Hiç kaynak bulunamadı", "open-widgets-bundle": "Widget paketini aç", "resource": "Kaynak", + "resource-file": "Kaynak dosyası", + "resource-files": "Kaynak dosyaları", "resource-library-details": "Kaynak ayrıntıları", "resource-type": "Kaynak türü", - "resources-library": "Kaynak kütüphanesi", - "search": "Kaynak ara", + "resources-library": "Kaynak kitaplığı", + "search": "Kaynakları ara", "selected-resources": "{ count, plural, =1 {1 kaynak} other {# kaynak} } seçildi", "system": "Sistem", "title": "Başlık", - "title-required": "Başlık gerekli." + "title-required": "Başlık gereklidir.", + "title-max-length": "Başlık 256 karakterden kısa olmalıdır", + "type": { + "jks": "JKS", + "js-module": "JS modülü", + "lwm2m-model": "LWM2M modeli", + "pkcs-12": "PKCS #12" + }, + "resource-sub-type": "Alt tür", + "sub-type": { + "image": "resim", + "scada-symbol": "Scada sembolü", + "extension": "Uzantı", + "module": "Modül" + } + }, + "javascript": { + "add": "JavaScript kaynağı ekle", + "delete": "JavaScript kaynağını sil", + "delete-javascript-resource-text": "Dikkatli olun, onaydan sonra JavaScript kaynağı geri alınamaz hale gelecek.", + "delete-javascript-resource-title": "'{{resourceTitle}}' JavaScript kaynağını silmek istediğinizden emin misiniz?", + "delete-javascript-resources-action-title": "JavaScript { count, plural, =1 {1 kaynak} other {# kaynak} } sil", + "delete-javascript-resources-text": "Lütfen dikkat, seçilen JavaScript kaynakları JavaScript fonksiyonlarında kullanılsa bile silinecektir.", + "delete-javascript-resources-title": "JavaScript { count, plural, =1 {1 kaynak} other {# kaynak} } silmek istediğinizden emin misiniz?", + "delete-javascript-resource-in-use-text": "Yine de JavaScript kaynağını silmek istiyorsanız Yine de sil düğmesine tıklayın.", + "download": "JavaScript kaynağını indir", + "upload-from-file": "Dosyadan JavaScript yükle", + "resource-file": "JavaScript kaynak dosyası", + "drop-file": "Bir JavaScript dosyasını bırakın veya yüklemek için tıklayın.", + "drop-resource-file-or": "Bir JavaScript dosyasını sürükleyip bırakın ya da", + "javascript-library": "JavaScript kütüphanesi", + "javascript-type": "JavaScript türü", + "javascript-resource-details": "JavaScript kaynağı ayrıntıları", + "javascript-resource-is-in-use": "JavaScript kaynağı başka varlıklar tarafından kullanılıyor", + "javascript-resources-are-in-use": "JavaScript kaynakları başka varlıklar tarafından kullanılıyor", + "javascript-resource-is-in-use-text": "'{{title}}' JavaScript kaynağı silinmedi çünkü aşağıdaki varlıklar tarafından kullanılıyor:", + "javascript-resources-are-in-use-text": "Tüm JavaScript kaynakları silinmedi çünkü bazıları başka varlıklar tarafından kullanılıyor.
İlgili varlıkları Referanslar düğmesine tıklayarak görebilirsiniz.
Bu JavaScript kaynaklarını yine de silmek istiyorsanız, tabloda seçim yaparak Seçileni sil düğmesine tıklayın.", + "search": "JavaScript kaynaklarını ara", + "selected-javascript-resources": "{ count, plural, =1 {1 JavaScript kaynağı} other {# JavaScript kaynağı} } seçildi", + "no-javascript-resource-text": "Hiç JavaScript kaynağı bulunamadı", + "all-types": "Tümü", + "module-script": "Modül betiği" + }, + "rpc": { + "error": { + "target-device-is-not-set": "Hedef cihaz ayarlanmadı!", + "invalid-target-entity": "RPC komutları {{entityType}} varlığı tarafından desteklenmiyor.", + "failed-to-resolve-target-device": "Hedef cihaz çözümlenemedi!", + "request-timeout": "İstek zaman aşımına uğradı", + "rpc-http-error": "Hata: {{status}} - {{statusText}}" + } }, "rulechain": { - "rulechain": "Kural", - "rulechains": "Kurallar", + "rulechain": "Kural zinciri", + "rulechain-events": "Kural zinciri olayları", + "rulechains": "Kural zincirleri", "root": "Kök", - "delete": "Kuralı sil", + "delete": "Kural zincirini sil", "name": "İsim", - "name-required": "İsim gerekli.", + "name-required": "İsim gereklidir.", + "name-max-length": "İsim 256 karakterden kısa olmalıdır", "description": "Açıklama", - "add": "Kural Ekle", - "set-root": "Kural zincirinin kökü yap", - "set-root-rulechain-title": "Kural zincirini {{ruleChainName}} root? Yapmak istediğinizden emin misiniz?", - "set-root-rulechain-text": "Onaydan sonra kural zinciri kökleşecek ve gelen tüm iletilerle ilgilenecek.", - "delete-rulechain-title": "'{{ruleName}}' isimli kuralı silmek istediğinize emin misiniz?", - "delete-rulechain-text": "UYARI: Onaylandıktan sonra kural ve ilişkili tüm veriler geri yüklenemez şekilde silinecektir.", - "delete-rulechains-title": "{ count, plural, =1 {1 kuralı} other {# kuralı} } sikmek istediğinize emin misiniz?", - "delete-rulechains-action-title": "{ count, plural, =1 {1 kuralı} other {# kuralı} } sil", - "delete-rulechains-text": "UYARI: Onaylandıktan sonra seçili tüm kurallar ve ilişkili tüm veriler geri yüklenemez şekilde silinecektir.", - "add-rulechain-text": "Yeni kural ekle", - "no-rulechains-text": "Hiçbir kural bulunamadı", - "rulechain-details": "Kural detayları", + "add": "Kural zinciri ekle", + "set-root": "Kural zincirini kök yap", + "set-root-rulechain-title": "'{{ruleChainName}}' kural zincirini kök yapmak istediğinizden emin misiniz?", + "set-root-rulechain-text": "Onaydan sonra bu kural zinciri kök olacak ve tüm gelen taşıma mesajlarını işleyecek.", + "delete-rulechain-title": "'{{ruleChainName}}' kural zincirini silmek istediğinizden emin misiniz?", + "delete-rulechain-text": "Dikkatli olun, onaydan sonra kural zinciri ve tüm ilgili veriler geri alınamaz hale gelecektir.", + "delete-rulechains-title": "{ count, plural, =1 {1 kural zinciri} other {# kural zinciri} } silmek istediğinizden emin misiniz?", + "delete-rulechains-action-title": "{ count, plural, =1 {1 kural zinciri} other {# kural zinciri} } sil", + "delete-rulechains-text": "Dikkatli olun, onaydan sonra seçili tüm kural zincirleri ve ilgili veriler silinecektir.", + "add-rulechain-text": "Yeni kural zinciri ekle", + "no-rulechains-text": "Hiç kural zinciri bulunamadı", + "rulechain-details": "Kural zinciri detayları", "details": "Detaylar", "events": "Olaylar", "system": "Sistem", - "import": "Kuralı içe aktar", - "export": "Kuralı dışa aktar", - "export-failed-error": "Kural dışa aktarılamadı: {{error}}", - "create-new-rule": "Yeni kural oluştur", - "rulechain-file": "Kural dosyası", - "invalid-rulechain-file-error": "Kural içe aktarılamadı: Geçersiz kural veri yapısı.", - "copyId": "Kural kimliğini kopyala", - "idCopiedMessage": "Kural kimliği panoya kopyalandı", - "select-rulechain": "Kural seç", - "no-rulechains-matching": "'{{entity}}' ile eşleşen kural bulunamadı.", - "rulechain-required": "Kural gerekli", + "import": "Kural zinciri içe aktar", + "export": "Kural zinciri dışa aktar", + "export-failed-error": "Kural zinciri dışa aktarılamadı: {{error}}", + "create-new-rulechain": "Yeni kural zinciri oluştur", + "rulechain-file": "Kural zinciri dosyası", + "invalid-rulechain-file-error": "Kural zinciri içe aktarılamadı: Geçersiz kural zinciri veri yapısı.", + "copyId": "Kural zinciri Id'sini kopyala", + "idCopiedMessage": "Kural zinciri Id panoya kopyalandı", + "select-rulechain": "Kural zinciri seç", + "no-rulechains-matching": "'{{entity}}' ile eşleşen kural zinciri bulunamadı.", + "rulechain-required": "Kural zinciri gereklidir", "management": "Kural yönetimi", "debug-mode": "Hata ayıklama modu", - "search": "Kural Ara", - "selected-rulechains": "{ count, plural, =1 {1 kural} other {# kural} } seçildi", - "open-rulechain": "Kuralı Aç", - "edge-template-root": "Şablon Kökü", - "assign-to-edge": "Uca Ata", - "edge-rulechain": "Uç kuralı zinciri", - "unassign-rulechain-from-edge-text": "Onaydan sonra kural zincirinin ataması kaldırılacak ve kenar tarafından erişilebilir olmayacak.", - "unassign-rulechains-from-edge-title": "{ count, plural, =1 {1 kural zincirinin} other {# kural zincirinin} } atamasını kaldırmak istediğinizden emin misiniz?", - "unassign-rulechains-from-edge-text": "Onaydan sonra, seçilen tüm kural zincirlerinin ataması kaldırılacak ve uç tarafından erişilemeyecek.", - "assign-rulechain-to-edge-title": "Uca Kural Zinciri/Zincirleri Ata", - "assign-rulechain-to-edge-text": "Lütfen uca atanacak kural zincirlerini seçin", - "set-edge-template-root-rulechain": "Kural zincirini uç kök şablonu yap", - "set-edge-template-root-rulechain-title": "'{{ruleChainName}}' kural zincirini uç kök şablonu yapmak istediğinizden emin misiniz?", - "set-edge-template-root-rulechain-text": "Onaydan sonra kural zinciri, uç kök şablonu olacak ve yeni oluşturulan uçlar için kök kural zinciri olacaktır.", - "invalid-rulechain-type-error": "Kural zinciri içe aktarılamıyor: Geçersiz kural zinciri türü. Beklenen tür {{expectedRuleChainType}}.", - "set-auto-assign-to-edge": "Oluşturma sırasında uçlara kural zinciri atayın", - "set-auto-assign-to-edge-title": "Oluşturma sırasında uçlara '{{ruleChainName}}' uç kural zincirini atamak istediğinizden emin misiniz?", - "set-auto-assign-to-edge-text": "Onaydan sonra, uç kuralı zinciri, oluşturma sırasında uç(lar)a otomatik olarak atanacaktır.", - "unset-auto-assign-to-edge": "Oluşturma sırasında uç(lar)a kural zinciri atama", - "unset-auto-assign-to-edge-title": "'{{ruleChainName}}' uç kural zincirini oluşturma sırasında uçlara atamak istemediğinizden emin misiniz?", - "unset-auto-assign-to-edge-text": "Onaydan sonra, kenar kuralı zinciri artık oluşturma sırasında uç(lar)a otomatik olarak atanmayacaktır.", - "unassign-rulechain-title": "'{{ruleChainName}}' kural zincirinin atamasını kaldırmak istediğinizden emin misiniz?", - "unassign-rulechains": "Kural zincirlerinin atamasını kaldır" + "search": "Kural zincirlerini ara", + "selected-rulechains": "{ count, plural, =1 {1 kural zinciri} other {# kural zinciri} } seçildi", + "open-rulechain": "Kural zincirini aç", + "edge-template-root": "Şablon kök", + "assign-to-edge": "Edge'e ata", + "edge-rulechain": "Edge kural zinciri", + "unassign-rulechain-from-edge-text": "Onaydan sonra bu kural zinciri edge'den kaldırılacak ve erişilemeyecek.", + "unassign-rulechains-from-edge-title": "{ count, plural, =1 {1 kural zinciri} other {# kural zinciri} } kaldırmak istediğinizden emin misiniz?", + "unassign-rulechains-from-edge-text": "Onaydan sonra seçilen tüm kural zincirleri edge'den kaldırılacak ve erişilemeyecek.", + "assign-rulechain-to-edge-title": "Kural Zinciri(leri)ni Edge'e Ata", + "assign-rulechain-to-edge-text": "Lütfen edge'e atanacak kural zincirlerini seçin", + "set-edge-template-root-rulechain": "Kural zincirini edge şablon kökü yap", + "set-edge-template-root-rulechain-title": "'{{ruleChainName}}' kural zincirini edge şablon kökü yapmak istediğinizden emin misiniz?", + "set-edge-template-root-rulechain-text": "Onaydan sonra bu kural zinciri edge şablon kökü olacak ve yeni oluşturulan edge'ler için kök kural zinciri olacaktır.", + "invalid-rulechain-type-error": "Kural zinciri içe aktarılamadı: Geçersiz kural zinciri türü. Beklenen tür {{expectedRuleChainType}}.", + "set-auto-assign-to-edge": "Oluşturulduğunda kural zincirini edge'e ata", + "set-auto-assign-to-edge-title": "'{{ruleChainName}}' edge kural zincirini edge'e otomatik olarak atamak istediğinizden emin misiniz?", + "set-auto-assign-to-edge-text": "Onaydan sonra bu edge kural zinciri oluşturma sırasında edge'lere otomatik olarak atanacaktır.", + "unset-auto-assign-to-edge": "Oluşturulduğunda kural zincirini edge'e atama", + "unset-auto-assign-to-edge-title": "'{{ruleChainName}}' edge kural zincirini edge'lere otomatik olarak atamamak istediğinizden emin misiniz?", + "unset-auto-assign-to-edge-text": "Onaydan sonra bu edge kural zinciri artık edge'lere otomatik olarak atanmayacaktır.", + "unassign-rulechain-title": "'{{ruleChainName}}' kural zincirini kaldırmak istediğinizden emin misiniz?", + "unassign-rulechains": "Kural zincirlerini kaldır" }, "rulenode": { - "details": "Ayrıntılar", - "events": "Etkinlikler", - "search": "Arama düğümleri", + "rule-node-events": "Kural düğümü olayları", + "details": "Detaylar", + "events": "Olaylar", + "search": "Düğümleri ara", "open-node-library": "Düğüm kütüphanesini aç", + "close-node-library": "Düğüm kütüphanesini kapat", "add": "Kural düğümü ekle", - "name": "Ad", - "name-required": "İsim gerekli.", + "name": "İsim", + "name-required": "İsim gereklidir.", + "name-max-length": "İsim 256 karakterden kısa olmalıdır", "type": "Tür", - "description": "Açıklama", + "rule-node-description": "Kural düğümü açıklaması", "delete": "Kural düğümünü sil", - "select-all-objects": "Tüm düğümleri ve bağlantıları seç", - "deselect-all-objects": "Tüm düğümlerin ve bağlantıların seçimini kaldırın", - "delete-selected-objects": "Seçilen düğümleri ve bağlantıları sil", - "delete-selected": "Silme seçildi", - "select-all": "Hepsini seç", + "select-all-objects": "Tüm düğüm ve bağlantıları seç", + "deselect-all-objects": "Tüm düğüm ve bağlantıların seçimini kaldır", + "delete-selected-objects": "Seçili düğüm ve bağlantıları sil", + "delete-selected": "Seçilenleri sil", + "create-nested-rulechain": "İç içe kural zinciri oluştur", + "select-all": "Tümünü seç", "copy-selected": "Seçilenleri kopyala", - "deselect-all": "Hiçbirini seçme", - "rulenode-details": "Kural düğümü ayrıntıları", + "deselect-all": "Tüm seçimleri kaldır", + "rulenode-details": "Kural düğümü detayları", "debug-mode": "Hata ayıklama modu", + "singleton": "Tekil", "configuration": "Yapılandırma", "link": "Bağlantı", "link-details": "Kural düğüm bağlantı detayları", - "add-link": "Link ekle", + "add-link": "Bağlantı ekle", "link-label": "Bağlantı etiketi", - "link-label-required": "Bağlantı etiketi gerekli.", + "link-label-required": "Bağlantı etiketi gereklidir.", "custom-link-label": "Özel bağlantı etiketi", - "custom-link-label-required": "Özel bağlantı etiketi gerekli.", - "link-labels": "Link etiketleri", - "link-labels-required": "Link etiketleri gerekli.", + "custom-link-label-required": "Özel bağlantı etiketi gereklidir.", + "link-labels": "Bağlantı etiketleri", + "link-labels-required": "Bağlantı etiketleri gereklidir.", "no-link-labels-found": "Bağlantı etiketi bulunamadı", - "no-link-label-matching": "{{label}} bulunamadı. ", + "no-link-label-matching": "'{{label}}' bulunamadı.", "create-new-link-label": "Yeni bir tane oluştur!", "type-filter": "Filtre", - "type-filter-details": "Gelen iletileri yapılandırılmış koşullara göre filtrele", + "type-filter-details": "Gelen mesajları yapılandırılmış koşullara göre filtrele", "type-enrichment": "Zenginleştirme", - "type-enrichment-details": "Mesaj Meta Verilerine ek bilgi", - "type-transformation": "Dönüşüm", - "type-transformation-details": "Mesaj yükünü ve Meta Verileri Değiştir", - "type-action": "Aksiyon", + "type-enrichment-details": "Mesaj Meta verisine ek bilgi ekle", + "type-transformation": "Dönüştürme", + "type-transformation-details": "Mesaj içeriği ve meta veriyi değiştir", + "type-action": "Eylem", "type-action-details": "Özel eylem gerçekleştir", - "type-external": "Dış", - "type-external-details": "Dış sistemle etkileşir", + "type-external": "Harici", + "type-external-details": "Harici sistemle etkileşim kurar", "type-rule-chain": "Kural Zinciri", - "type-rule-chain-details": "Belirtilen Kural Zincirine gelen mesajları ilet", + "type-rule-chain-details": "Gelen mesajları belirtilen Kural Zincirine iletir", + "type-flow": "Akış", + "type-flow-details": "Mesaj akışını düzenler", "type-input": "Giriş", - "type-input-details": "Kural Zinciri'nin mantıksal girdisi, bir sonraki ilgili Kural Düğümüne gelen iletileri iletme", + "type-input-details": "Kural Zincirinin mantıksal girişi, gelen mesajları ilgili kural düğümüne iletir", "type-unknown": "Bilinmeyen", - "type-unknown-details": "Çözümlenmemiş Kural Düğümü", - "directive-is-not-loaded": "Tanımlanmış yapılandırma yönergesi {{directiveName}} 'mevcut değil. ", - "ui-resources-load-error": "Yapılandırma kullanıcı arayüzü kaynakları yüklenemedi.", - "invalid-target-rulechain": "Hedef kural zinciri çözülemiyor!", - "test-script-function": "Test komut dosyası işlevi", + "type-unknown-details": "Çözümlenememiş Kural Düğümü", + "directive-is-not-loaded": "Tanımlı yapılandırma yönergesi '{{directiveName}}' mevcut değil.", + "ui-resources-load-error": "Yapılandırma arayüz kaynakları yüklenemedi.", + "invalid-target-rulechain": "Hedef kural zinciri çözümlenemedi!", + "test-script-function": "Betik fonksiyonunu test et", + "script-lang-java-script": "JavaScript", + "script-lang-tbel": "TBEL", "message": "Mesaj", - "message-type": "Mesaj tipi", - "select-message-type": "Mesaj tipini seç", - "message-type-required": "Mesaj türü gerekli", + "message-type": "Mesaj türü", + "select-message-type": "Mesaj türü seç", + "message-type-required": "Mesaj türü gereklidir", "metadata": "Meta veri", - "metadata-required": "Meta veri girişleri boş bırakılamaz.", + "metadata-required": "Meta veri girdileri boş olamaz.", "output": "Çıktı", - "test": "Ölçek", - "help": "Yardım et" + "test": "Test", + "help": "Yardım", + "reset-debug-settings": "Tüm düğümlerde hata ayıklama ayarlarını sıfırla", + "test-with-this-message": "Bu mesaj ile {{test}}", + "queue-hint": "Mesajı başka bir kuyruğa iletmek için kuyruk seçin. Varsayılan olarak 'Ana' kuyruk kullanılır.", + "queue-singleton-hint": "Çoklu örnek ortamlarında mesaj yönlendirme için bir kuyruk seçin. Varsayılan olarak 'Ana' kuyruk kullanılır." + }, + "rule-node-config": { + "id": "Id", + "additional-info": "Ek Bilgi", + "advanced-settings": "Gelişmiş ayarlar", + "create-entity-if-not-exists": "Varlık yoksa oluştur", + "create-entity-if-not-exists-hint": "Etkinleştirilirse, belirtilen parametrelerle yeni bir varlık oluşturulur; aksi takdirde mevcut varlık kullanılacaktır.", + "select-device-connectivity-event": "Cihaz bağlantı olayını seç", + "entity-name-pattern": "İsim deseni", + "device-name-pattern": "Cihaz adı", + "asset-name-pattern": "Varlık adı", + "entity-view-name-pattern": "Varlık görünümü adı", + "customer-title-pattern": "Müşteri başlığı", + "dashboard-name-pattern": "Gösterge paneli başlığı", + "user-name-pattern": "Kullanıcı e-posta adresi", + "edge-name-pattern": "Edge adı", + "entity-name-pattern-required": "İsim deseni gereklidir", + "entity-name-pattern-hint": "İsim deseni alanı şablon desteği sağlar. Mesajdan değer almak için $[messageKey], meta veriden almak için ${metadataKey} kullanın.", + "copy-message-type": "Mesaj türünü kopyala", + "entity-type-pattern": "Tür deseni", + "entity-type-pattern-required": "Tür deseni gereklidir", + "message-type-value": "Mesaj türü değeri", + "message-type-value-required": "Mesaj türü değeri gereklidir", + "message-type-value-max-length": "Mesaj türü değeri 256 karakterden kısa olmalıdır", + "output-message-type": "Çıkış mesaj türü", + "entity-cache-expiration": "Varlık önbelleği sonlanma süresi (sn)", + "entity-cache-expiration-hint": "Bulunan varlık kayıtlarının tutulabileceği maksimum süreyi belirtir. 0 değeri, kayıtların hiç süresinin dolmayacağı anlamına gelir.", + "entity-cache-expiration-required": "Varlık önbelleği süresi gereklidir.", + "entity-cache-expiration-range": "Varlık önbelleği süresi 0 veya daha büyük olmalıdır.", + "customer-name-pattern": "Müşteri başlığı", + "customer-name-pattern-required": "Müşteri başlığı gereklidir", + "customer-name-pattern-hint": "Mesajdan değer almak için $[messageKey], meta veriden almak için ${metadataKey} kullanın.", + "create-customer-if-not-exists": "Müşteri yoksa oluştur", + "unassign-from-customer": "Kaynak gösterge paneliyse müşteriden ayır", + "unassign-from-customer-tooltip": "Sadece gösterge panelleri birden fazla müşteriye atanabilir. \nMesajın kaynağı gösterge paneliyse, müşteri başlığını belirtmeniz gerekir.", + "customer-cache-expiration": "Müşteri önbelleği sonlanma süresi (sn)", + "customer-cache-expiration-hint": "Bulunan müşteri kayıtlarının tutulabileceği maksimum süreyi belirtir. 0 değeri, kayıtların hiç süresinin dolmayacağı anlamına gelir.", + "customer-cache-expiration-required": "Müşteri önbelleği süresi gereklidir.", + "customer-cache-expiration-range": "Müşteri önbelleği süresi 0 veya daha büyük olmalıdır.", + "interval-start": "Aralık başlangıcı", + "interval-end": "Aralık bitişi", + "time-unit": "Zaman birimi", + "fetch-mode": "Getirme modu", + "order-by-timestamp": "Zamana göre sırala", + "limit": "Limit", + "limit-hint": "Min limit değeri 2, maks - 1000. Tek bir kayıt almak istiyorsanız 'İlk' veya 'Son' getirme modunu seçin.", + "limit-required": "Limit gereklidir.", + "limit-range": "Limit 2 ile 1000 arasında olmalıdır.", + "time-unit-milliseconds": "Milisaniye", + "time-unit-seconds": "Saniye", + "time-unit-minutes": "Dakika", + "time-unit-hours": "Saat", + "time-unit-days": "Gün", + "time-value-range": "İzin verilen aralık 1 ila 2147483647.", + "start-interval-value-required": "Aralık başlangıcı gereklidir.", + "end-interval-value-required": "Aralık bitişi gereklidir.", + "filter": "Filtre", + "switch": "Anahtar", + "math-templatization-tooltip": "Bu alan şablon desteği sağlar. Mesajdan değer almak için $[messageKey], meta veriden almak için ${metadataKey} kullanın.", + "add-message-type": "Mesaj türü ekle", + "select-message-types-required": "En az bir mesaj türü seçilmelidir.", + "select-message-types": "Mesaj türlerini seç", + "no-message-types-found": "Hiçbir mesaj türü bulunamadı", + "no-message-type-matching": "'{{messageType}}' bulunamadı.", + "create-new-message-type": "Yeni bir tane oluştur.", + "message-types-required": "Mesaj türleri gereklidir.", + "client-attributes": "İstemci nitelikleri", + "shared-attributes": "Paylaşılan nitelikler", + "server-attributes": "Sunucu nitelikleri", + "attributes-keys": "Nitelik anahtarları", + "attributes-keys-required": "Nitelik anahtarları gereklidir", + "attributes-scope": "Nitelik kapsamı", + "attributes-scope-value": "Nitelik kapsamı değeri", + "attributes-scope-value-copy": "Nitelik kapsamı değerini kopyala", + "attributes-scope-hint": "'scope' meta veri anahtarını kullanarak her mesaj için nitelik kapsamını dinamik olarak ayarlayın. Sağlanırsa yapılandırmadaki kapsamın yerini alır.", + "notify-device": "Cihaza bildirimi zorla", + "send-attributes-updated-notification": "Güncellenen nitelik bildirimi gönder", + "send-attributes-updated-notification-hint": "Güncellenen nitelikler hakkında ayrı bir mesaj olarak kural motoru kuyruğuna bildirim gönder.", + "send-attributes-deleted-notification": "Silinen nitelik bildirimi gönder", + "send-attributes-deleted-notification-hint": "Silinen nitelikler hakkında ayrı bir mesaj olarak kural motoru kuyruğuna bildirim gönder.", + "update-attributes-only-on-value-change": "Yalnızca değer değişirse nitelikleri kaydet", + "update-attributes-only-on-value-change-hint": "Değeri değişip değişmediğine bakılmaksızın her gelen mesajda nitelikleri günceller. API kullanımını artırır ve performansı düşürür.", + "update-attributes-only-on-value-change-hint-enabled": "Yalnızca nitelik değeri değiştiyse günceller. Değer değişmediyse, zaman damgası veya değişiklik bildirimi gönderilmez.", + "fetch-credentials-to-metadata": "Kimlik bilgilerini meta veriye getir", + "notify-device-on-update-hint": "Etkinleştirilirse, paylaşılan nitelik güncellemesi hakkında cihaza bildirim zorlanır. Devre dışıysa, bildirim davranışı gelen mesajın meta verisindeki 'notifyDevice' parametresiyle kontrol edilir. Bildirimi kapatmak için, 'notifyDevice' parametresi 'false' olarak ayarlanmalıdır. Diğer tüm durumlarda cihaza bildirim gönderilir.", + "notify-device-on-delete-hint": "Etkinleştirilirse, paylaşılan nitelik silinmesi hakkında cihaza bildirim zorlanır. Devre dışıysa, bildirim davranışı gelen mesajın meta verisindeki 'notifyDevice' parametresiyle kontrol edilir. Bildirimi açmak için, 'notifyDevice' parametresi 'true' olarak ayarlanmalıdır. Diğer tüm durumlarda bildirim gönderilmez.", + "latest-timeseries": "En son zaman serisi veri anahtarları", + "timeseries-keys": "Zaman serisi anahtarları", + "timeseries-keys-required": "En az bir zaman serisi anahtarı seçilmelidir.", + "add-timeseries-key": "Zaman serisi anahtarı ekle", + "add-message-field": "Mesaj alanı ekle", + "relation-search-parameters": "İlişki arama parametreleri", + "relation-parameters": "İlişki parametreleri", + "add-metadata-field": "Meta veri alanı ekle", + "data-keys": "Mesaj alanı adları", + "copy-from": "Kopyala", + "data-to-metadata": "Veriyi meta veriye kopyala", + "metadata-to-data": "Meta veriyi veriye kopyala", + "use-regular-expression-hint": "Anahtarları desenle kopyalamak için normal ifade kullanın.\n\nİpuçları:\n'Enter' tuşuna basarak alan adını tamamlayın.\n'Backspace' ile silin. Birden fazla alan adı desteklenir.", + "interval": "Aralık", + "interval-required": "Aralık gereklidir", + "interval-hint": "Çiftleme önleme aralığı (saniye cinsinden).", + "interval-min-error": "İzin verilen minimum değer 1", + "max-pending-msgs": "Maksimum bekleyen mesaj", + "max-pending-msgs-hint": "Her benzersiz çiftleme kimliği için bellekte saklanabilecek maksimum mesaj sayısı.", + "max-pending-msgs-required": "Maksimum bekleyen mesaj sayısı gereklidir", + "max-pending-msgs-max-error": "İzin verilen maksimum değer 1000", + "max-pending-msgs-min-error": "İzin verilen minimum değer 1", + "max-retries": "Maksimum yeniden deneme", + "max-retries-required": "Maksimum yeniden deneme sayısı gereklidir", + "max-retries-hint": "Çiftlenmemiş mesajları kuyruğa itmek için maksimum yeniden deneme sayısı. Yeniden denemeler arasında 10 saniyelik gecikme kullanılır", + "max-retries-max-error": "İzin verilen maksimum değer 100", + "max-retries-min-error": "İzin verilen minimum değer 0", + "strategy": "Strateji", + "strategy-required": "Strateji gereklidir", + "strategy-all-hint": "Çiftleme önleme süresi boyunca gelen tüm mesajları tek bir JSON dizi mesajı olarak döndürür. Her öğe, msg ve metadata alt özelliklerine sahip bir nesneyi temsil eder.", + "strategy-first-hint": "Çiftleme önleme süresi boyunca ilk gelen mesajı döndürür.", + "strategy-last-hint": "Çiftleme önleme süresi boyunca son gelen mesajı döndürür.", + "first": "İlk", + "last": "Son", + "all": "Tümü", + "output-msg-type-hint": "Çiftleme sonucu mesajın türü.", + "queue-name-hint": "Çiftleme sonucu mesajın yayınlanacağı kuyruk adı.", + "keys": "Anahtarlar", + "keys-required": "Anahtarlar gereklidir", + "rename-keys-in": "Anahtarları yeniden adlandır", + "data": "Veri", + "message": "Mesaj", + "metadata": "Meta veri", + "current-key-name": "Geçerli anahtar adı", + "key-name-required": "Anahtar adı gereklidir", + "new-key-name": "Yeni anahtar adı", + "new-key-name-required": "Yeni anahtar adı gereklidir", + "metadata-keys": "Meta veri alan adları", + "json-path-expression": "JSON yol ifadesi", + "json-path-expression-required": "JSON yol ifadesi gereklidir", + "json-path-expression-hint": "JSONPath, bir JSON yapısındaki öğelere veya öğe kümelerine giden yolu belirtir. '$' kök nesneyi veya diziyi temsil eder.", + "relations-query": "İlişki sorgusu", + "device-relations-query": "Cihaz ilişkisi sorgusu", + "max-relation-level": "Maksimum ilişki seviyesi", + "max-relation-level-error": "Değer 0'dan büyük veya belirtilmemiş olmalıdır.", + "max-relation-level-invalid": "Değer bir tamsayı olmalıdır.", + "relation-type": "İlişki türü", + "relation-type-pattern": "İlişki türü deseni", + "relation-type-pattern-required": "İlişki türü deseni gereklidir", + "relation-types-list": "Yayılacak ilişki türleri", + "relation-types-list-hint": "Yayılacak ilişki türleri seçilmezse, alarmlar ilişki türüne göre filtrelenmeden yayılır.", + "unlimited-level": "Sınırsız seviye", + "latest-telemetry": "En son telemetri", + "add-telemetry-key": "Telemetri anahtarı ekle", + "delete-from": "Şuradan sil", + "use-regular-expression-delete-hint": "Anahtarları desenle silmek için normal ifade kullanın.\n\nİpuçları:\nAlan adını tamamlamak için 'Enter' tuşuna basın.\nSilmek için 'Backspace' tuşuna basın.\nBirden fazla alan adı desteklenir.", + "fetch-into": "Şuraya getir", + "attr-mapping": "Nitelik eşlemesi:", + "source-attribute": "Kaynak nitelik anahtarı", + "source-attribute-required": "Kaynak nitelik anahtarı gereklidir.", + "source-telemetry": "Kaynak telemetri anahtarı", + "source-telemetry-required": "Kaynak telemetri anahtarı gereklidir.", + "target-key": "Hedef anahtar", + "target-key-required": "Hedef anahtar gereklidir.", + "attr-mapping-required": "En az bir eşleme girişi belirtilmelidir.", + "fields-mapping": "Alan eşlemesi", + "fields-mapping-hint": "Mesaj alanı $entityId olarak ayarlanmışsa, mesaj kaynağının kimliği belirtilen tablo sütununa kaydedilecektir.", + "relations-query-config-direction-suffix": "kaynak", + "profile-name": "Profil adı", + "fetch-circle-parameter-info-from-metadata-hint": "Meta veri alanı '{{perimeterKeyName}}' şu biçimde tanımlanmalıdır: {\"latitude\":48.196, \"longitude\":24.6532, \"radius\":100.0, \"radiusUnit\":\"METER\"}", + "fetch-poligon-parameter-info-from-metadata-hint": "Meta veri alanı '{{perimeterKeyName}}' şu biçimde tanımlanmalıdır: [[48.19736,24.65235],[48.19800,24.65060],...,[48.19849,24.65420]]", + "short-templatization-tooltip": "Mesajdan değer almak için $[messageKey], meta veriden almak için ${metadataKey} kullanın.", + "fields-mapping-required": "En az bir alan eşlemesi belirtilmelidir.", + "at-least-one-field-required": "En az bir giriş alanı değeri sağlanmalıdır.", + "originator-fields-sv-map-hint": "Hedef anahtar alanları şablon desteği sağlar. Mesajdan değer almak için $[messageKey], meta veriden almak için ${metadataKey} kullanın.", + "sv-map-hint": "Yalnızca hedef anahtar alanları şablon desteği sağlar. Mesajdan değer almak için $[messageKey], meta veriden almak için ${metadataKey} kullanın.", + "source-field": "Kaynak alan", + "source-field-required": "Kaynak alan gereklidir.", + "originator-source": "Kaynak belirleyici", + "new-originator": "Yeni belirleyici", + "originator-customer": "Müşteri", + "originator-tenant": "Kiracı", + "originator-related": "İlişkili varlık", + "originator-alarm-originator": "Alarm Kaynağı", + "originator-entity": "Ad desenine göre varlık", + "clone-message": "Mesajı klonla", + "transform": "Dönüştür", + "default-ttl": "Varsayılan TTL", + "default-ttl-required": "Varsayılan TTL gereklidir.", + "default-ttl-hint": "Kural düğümü, TTL (Geçerlilik süresi) değerini mesajın meta verilerinden alır. Eğer bir değer yoksa, yapılandırmadaki varsayılan TTL kullanılır. Değer 0 ise, kiracı profilindeki TTL uygulanır.", + "default-ttl-zero-hint": "Değer 0 ise TTL uygulanmaz.", + "min-default-ttl-message": "Yalnızca minimum 0 TTL değeri kabul edilir.", + "generation-parameters": "Oluşturma parametreleri", + "message-count": "Üretilen mesaj limiti (0 - sınırsız)", + "message-count-required": "Üretilen mesaj limiti gereklidir.", + "min-message-count-message": "Yalnızca minimum 0 mesaj sayısı kabul edilir.", + "period-seconds": "Periyot (saniye)", + "period-seconds-required": "Periyot gereklidir.", + "generation-frequency-seconds": "Oluşturma sıklığı (saniye)", + "generation-frequency-required": "Oluşturma sıklığı gereklidir.", + "min-generation-frequency-message": "Minimum 1 saniye gereklidir.", + "script-lang-tbel": "TBEL", + "script-lang-js": "JS", + "use-metadata-period-in-seconds-patterns": "Saniye cinsinden periyot desenini kullan", + "use-metadata-period-in-seconds-patterns-hint": "Seçilirse, kural düğümü mesaj meta verilerinden veya verilerden alınan saniye cinsinden periyot desenini kullanır.", + "period-in-seconds-pattern": "Saniye cinsinden periyot deseni", + "period-in-seconds-pattern-required": "Saniye cinsinden periyot deseni gereklidir", + "min-period-seconds-message": "Minimum 1 saniyelik periyot gereklidir.", + "originator": "Kaynak", + "message-body": "Mesaj içeriği", + "message-metadata": "Mesaj meta verisi", + "generate": "Oluştur", + "current-rule-node": "Geçerli Kural Düğümü", + "current-tenant": "Geçerli Kiracı", + "generator-function": "Oluşturucu fonksiyon", + "test-generator-function": "Oluşturucu fonksiyonu test et", + "generator": "Oluşturucu", + "test-filter-function": "Filtre fonksiyonunu test et", + "test-switch-function": "Anahtar fonksiyonunu test et", + "test-transformer-function": "Dönüştürücü fonksiyonunu test et", + "transformer": "Dönüştürücü", + "alarm-create-condition": "Alarm oluşturma koşulu", + "test-condition-function": "Koşul fonksiyonunu test et", + "alarm-clear-condition": "Alarm temizleme koşulu", + "alarm-details-builder": "Alarm detayları oluşturucu", + "test-details-function": "Detay fonksiyonunu test et", + "alarm-type": "Alarm türü", + "select-entity-types": "Varlık türlerini seç", + "alarm-type-required": "Alarm türü gereklidir.", + "alarm-severity": "Alarm şiddeti", + "alarm-severity-required": "Alarm şiddeti gereklidir", + "alarm-severity-pattern": "Alarm şiddeti deseni", + "alarm-status-filter": "Alarm durumu filtresi", + "alarm-status-list-empty": "Alarm durumu listesi boş", + "no-alarm-status-matching": "Eşleşen alarm durumu bulunamadı.", + "propagate": "Alarmı ilişkili varlıklara yay", + "propagate-to-owner": "Alarmı varlık sahibine (Müşteri veya Kiracı) yay", + "propagate-to-tenant": "Alarmı kiracıya yay", + "condition": "Koşul", + "details": "Detaylar", + "to-string": "Metne dönüştür", + "test-to-string-function": "Metne dönüştürme fonksiyonunu test et", + "from-template": "Kimden", + "from-template-required": "Kimden alanı gereklidir", + "message-to-metadata": "Mesajdan meta veriye", + "metadata-to-message": "Meta veriden mesaja", + "from-message": "Mesajdan", + "from-metadata": "Meta veriden", + "to-template": "Kime", + "to-template-required": "Kime Şablonu gereklidir", + "mail-address-list-template-hint": "Virgül ile ayrılmış adres listesi, meta veriden değer almak için ${metadataKey}, mesajdan değer almak için $[messageKey] kullanın", + "cc-template": "Cc", + "bcc-template": "Bcc", + "subject-template": "Konu", + "subject-template-required": "Konu Şablonu gereklidir", + "body-template": "İçerik", + "body-template-required": "İçerik Şablonu gereklidir", + "dynamic-mail-body-type": "Dinamik e-posta içeriği türü", + "mail-body-type": "E-posta içeriği türü", + "body-type-template": "İçerik türü şablonu", + "reply-routing-configuration": "Yanıt Yönlendirme Yapılandırması", + "rpc-reply-routing-configuration-hint": "Bu yapılandırma parametreleri, yanıtı geri göndermek için kullanılan hizmet, oturum ve istek kimliklerini tanımlayan meta veri anahtar adlarını belirtir.", + "reply-routing-configuration-hint": "Bu yapılandırma parametreleri, yanıtı geri göndermek için hizmet ve istek kimliklerini tanımlayan meta veri anahtar adlarını belirtir.", + "request-id-metadata-attribute": "İstek Kimliği", + "service-id-metadata-attribute": "Hizmet Kimliği", + "session-id-metadata-attribute": "Oturum Kimliği", + "timeout-sec": "Zaman aşımı (saniye)", + "timeout-required": "Zaman aşımı gereklidir", + "min-timeout-message": "Yalnızca minimum 0 zaman aşımı değeri kabul edilir.", + "endpoint-url-pattern": "Uç nokta URL deseni", + "endpoint-url-pattern-required": "Uç nokta URL deseni gereklidir", + "request-method": "İstek yöntemi", + "use-simple-client-http-factory": "Basit HTTP istemci fabrikasını kullan", + "ignore-request-body": "İstek içeriği olmadan", + "parse-to-plain-text": "Düz metne dönüştür", + "parse-to-plain-text-hint": "Seçildiğinde, istek içeriği JSON dizisinden düz metne dönüştürülür, örn. msg = \"Hello,\\t\"world\"\" will be parsed to Hello, \"world\"", + "read-timeout": "Okuma zaman aşımı (milisaniye)", + "read-timeout-hint": "0 değeri, sınırsız zaman aşımı anlamına gelir", + "max-parallel-requests-count": "Maksimum paralel istek sayısı", + "max-parallel-requests-count-hint": "0 değeri, paralel işlemeye sınırsız izin verir", + "max-response-size": "Maksimum yanıt boyutu (KB)", + "max-response-size-hint": "HTTP mesajlarını çözümlerken/şifrelerken ayrılacak maksimum bellek miktarı (örneğin JSON veya XML yükleri için)", + "headers": "Başlıklar", + "headers-hint": "Başlık/değer alanlarında meta veriden değer almak için ${metadataKey}, mesaj içeriğinden değer almak için $[messageKey] kullanın", + "header": "Başlık", + "header-required": "Başlık gereklidir", + "value": "Değer", + "value-required": "Değer gereklidir", + "topic-pattern": "Konu deseni", + "key-pattern": "Anahtar deseni", + "key-pattern-hint": "İsteğe bağlı. Geçerli bir bölüm numarası belirtilirse kayıt gönderilirken kullanılır. Belirtilmemişse anahtar kullanılır. Her ikisi de belirtilmemişse round-robin yöntemi kullanılır.", + "topic-pattern-required": "Konu deseni gereklidir", + "topic": "Konu", + "topic-required": "Konu gereklidir", + "bootstrap-servers": "Başlangıç sunucuları", + "bootstrap-servers-required": "Başlangıç sunucuları değeri gereklidir", + "other-properties": "Diğer özellikler", + "key": "Anahtar", + "key-required": "Anahtar gereklidir", + "retries": "Başarısızlık durumunda otomatik tekrar deneme sayısı", + "min-retries-message": "Yalnızca minimum 0 tekrar denemesi kabul edilir.", + "batch-size-bytes": "Üretici toplu işlem boyutu (bayt)", + "min-batch-size-bytes-message": "Yalnızca minimum 0 toplu işlem boyutu kabul edilir.", + "linger-ms": "Yerel arabellekte bekletme süresi (ms)", + "min-linger-ms-message": "Yalnızca minimum 0 ms değeri kabul edilir.", + "buffer-memory-bytes": "İstemci tamponu maksimum boyutu (bayt)", + "min-buffer-memory-message": "Yalnızca minimum 0 tampon boyutu kabul edilir.", + "memory-buffer-size-range": "Bellek tampon boyutu 0 ile {{max}} KB arasında olmalıdır", + "acks": "Onay sayısı", + "topic-arn-pattern": "Konu ARN deseni", + "topic-arn-pattern-required": "Konu ARN deseni gereklidir", + "aws-access-key-id": "AWS Erişim Anahtarı Kimliği", + "aws-access-key-id-required": "AWS Erişim Anahtarı Kimliği gereklidir", + "aws-secret-access-key": "AWS Gizli Erişim Anahtarı", + "aws-secret-access-key-required": "AWS Gizli Erişim Anahtarı gereklidir", + "aws-region": "AWS Bölgesi", + "aws-region-required": "AWS Bölgesi gereklidir", + "exchange-name-pattern": "Exchange adı deseni", + "routing-key-pattern": "Yönlendirme anahtarı deseni", + "message-properties": "Mesaj özellikleri", + "host": "Sunucu", + "host-required": "Sunucu gereklidir", + "port": "Port", + "port-required": "Port gereklidir", + "port-range": "Port, 1 ile 65535 arasında olmalıdır.", + "virtual-host": "Sanal sunucu", + "username": "Kullanıcı adı", + "password": "Parola", + "automatic-recovery": "Otomatik kurtarma", + "connection-timeout-ms": "Bağlantı zaman aşımı (ms)", + "min-connection-timeout-ms-message": "Yalnızca minimum 0 ms değeri kabul edilir.", + "handshake-timeout-ms": "El sıkışma zaman aşımı (ms)", + "min-handshake-timeout-ms-message": "Yalnızca minimum 0 ms değeri kabul edilir.", + "client-properties": "İstemci özellikleri", + "queue-url-pattern": "Kuyruk URL deseni", + "queue-url-pattern-required": "Kuyruk URL deseni gereklidir", + "delay-seconds": "Gecikme (saniye)", + "min-delay-seconds-message": "Yalnızca minimum 0 saniye değeri kabul edilir.", + "max-delay-seconds-message": "Yalnızca maksimum 900 saniye değeri kabul edilir.", + "name": "Ad", + "name-required": "Ad gereklidir", + "queue-type": "Kuyruk türü", + "sqs-queue-standard": "Standart", + "sqs-queue-fifo": "FIFO", + "gcp-project-id": "GCP proje kimliği", + "gcp-project-id-required": "GCP proje kimliği gereklidir", + "gcp-service-account-key": "GCP servis hesabı anahtar dosyası", + "gcp-service-account-key-required": "GCP servis hesabı anahtar dosyası gereklidir", + "pubsub-topic-name": "Konu adı", + "pubsub-topic-name-required": "Konu adı gereklidir", + "message-attributes": "Mesaj öznitelikleri", + "message-attributes-hint": "Ad/değer alanlarında meta veriden değer almak için ${metadataKey}, mesaj içeriğinden değer almak için $[messageKey] kullanın", + "connect-timeout": "Bağlantı zaman aşımı (saniye)", + "connect-timeout-required": "Bağlantı zaman aşımı gereklidir.", + "connect-timeout-range": "Bağlantı zaman aşımı 1 ile 200 saniye arasında olmalıdır.", + "client-id": "İstemci Kimliği", + "client-id-hint": "İsteğe bağlı. Otomatik oluşturulan istemci kimliği için boş bırakın. Belirli bir istemci kimliği kullanırken dikkatli olun. Çoğu MQTT sunucusu aynı kimlik ile birden fazla bağlantıya izin vermez. Platform mikro servis modunda çalışırken kural düğümünün kopyaları birden fazla servis üzerinde çalışır, bu da aynı kimlikle birden fazla bağlantıya yol açar ve başarısızlıklara neden olabilir. Bu durumu önlemek için aşağıdaki \"İstemci Kimliğine Servis Kimliği ekle\" seçeneğini etkinleştirin.", + "append-client-id-suffix": "İstemci Kimliğine Servis Kimliği ekle", + "client-id-suffix-hint": "İsteğe bağlı. Yalnızca \"İstemci Kimliği\" açıkça belirtildiğinde geçerlidir. Seçildiğinde, Servis Kimliği istemci kimliğine son ek olarak eklenir. Platform mikro servis modunda çalışırken başarısızlıkların önüne geçmek için kullanılır.", + "device-id": "Cihaz Kimliği", + "device-id-required": "Cihaz Kimliği gereklidir.", + "clean-session": "Temiz oturum", + "enable-ssl": "SSL'i etkinleştir", + "credentials": "Kimlik bilgileri", + "credentials-type": "Kimlik bilgisi türü", + "credentials-type-required": "Kimlik bilgisi türü gereklidir.", + "credentials-anonymous": "Anonim", + "credentials-basic": "Temel", + "credentials-pem": "PEM", + "credentials-pem-hint": "En azından Sunucu CA sertifikası veya İstemci sertifikası ile İstemci özel anahtar dosyalarının bir çiftine ihtiyaç vardır", + "credentials-sas": "Paylaşılan Erişim İmzası", + "sas-key": "SAS Anahtarı", + "sas-key-required": "SAS Anahtarı gereklidir.", + "hostname": "Sunucu adı", + "hostname-required": "Sunucu adı gereklidir.", + "azure-ca-cert": "CA sertifika dosyası", + "username-required": "Kullanıcı adı gereklidir.", + "password-required": "Parola gereklidir.", + "ca-cert": "Sunucu CA sertifika dosyası", + "private-key": "İstemci özel anahtar dosyası", + "cert": "İstemci sertifika dosyası", + "no-file": "Dosya seçilmedi.", + "drop-file": "Bir dosya bırakın veya yüklemek için tıklayın.", + "private-key-password": "Özel anahtar parolası", + "use-system-smtp-settings": "Sistem SMTP ayarlarını kullan", + "use-metadata-dynamic-interval": "Dinamik aralığı kullan", + "metadata-dynamic-interval-hint": "Başlangıç ve bitiş aralığı alanları şablonlaştırmayı destekler. Şablon değeri milisaniye cinsinden olmalıdır. Mesajdan değer almak için $[messageKey], metaveriden almak için ${metadataKey} kullanın.", + "use-metadata-interval-patterns-hint": "Seçilirse, başlangıç ve bitiş aralığı desenleri mesaj metaverisi veya verilerinden milisaniye olarak kullanılır.", + "use-message-alarm-data": "Mesaj alarm verilerini kullan", + "overwrite-alarm-details": "Alarm ayrıntılarını üzerine yaz", + "use-alarm-severity-pattern": "Alarm şiddeti desenini kullan", + "check-all-keys": "Tüm belirtilen alanların mevcut olduğunu kontrol et", + "check-all-keys-hint": "Seçilirse, tüm belirtilen anahtarların mesaj verisinde ve metaverisinde bulunduğu kontrol edilir.", + "check-relation-to-specific-entity": "Belirli varlıkla ilişkiyi kontrol et", + "check-relation-to-specific-entity-tooltip": "Etkinleştirilirse, belirli bir varlıkla ilişkinin varlığı kontrol edilir; aksi takdirde herhangi bir varlıkla ilişki kontrol edilir. Her iki durumda da ilişki yön ve türüne göre aranır.", + "check-relation-hint": "Belirli bir varlıkla ya da herhangi bir varlıkla yön ve ilişki türüne göre ilişki varlığını kontrol eder.", + "delete-relation-with-specific-entity": "Belirli varlıkla ilişkiyi sil", + "delete-relation-with-specific-entity-hint": "Etkinleştirilirse, yalnızca belirli bir varlıkla olan ilişki silinir. Aksi takdirde, eşleşen tüm varlıklarla ilişkiler silinir.", + "delete-relation-hint": "Gelen mesajın kaynağı ile belirtilen varlık(lar) arasında yön ve tür temelinde ilişkiyi siler.", + "remove-current-relations": "Mevcut ilişkileri kaldır", + "remove-current-relations-hint": "Gelen mesajın kaynağıyla mevcut ilişkileri yön ve tür temelinde kaldırır.", + "change-originator-to-related-entity": "Kaynağı ilgili varlıkla değiştir", + "change-originator-to-related-entity-hint": "Gönderilen mesajı başka bir varlıktan gelen bir mesaj gibi işlemek için kullanılır.", + "start-interval": "Başlangıç aralığı", + "end-interval": "Bitiş aralığı", + "start-interval-required": "Başlangıç aralığı gereklidir.", + "end-interval-required": "Bitiş aralığı gereklidir.", + "smtp-protocol": "Protokol", + "smtp-host": "SMTP sunucusu", + "smtp-host-required": "SMTP sunucusu gereklidir.", + "smtp-port": "SMTP portu", + "smtp-port-required": "SMTP portu girilmelidir.", + "smtp-port-range": "SMTP portu 1 ile 65535 arasında olmalıdır.", + "timeout-msec": "Zaman aşımı (ms)", + "min-timeout-msec-message": "Yalnızca minimum 0 ms değeri kabul edilir.", + "enter-username": "Kullanıcı adı girin", + "enter-password": "Parola girin", + "enable-tls": "TLS'i etkinleştir", + "tls-version": "TLS sürümü", + "enable-proxy": "Proxy'yi etkinleştir", + "use-system-proxy-properties": "Sistem proxy özelliklerini kullan", + "proxy-host": "Proxy sunucusu", + "proxy-host-required": "Proxy sunucusu gereklidir.", + "proxy-port": "Proxy portu", + "proxy-port-required": "Proxy portu gereklidir.", + "proxy-port-range": "Proxy portu 1 ile 65535 arasında olmalıdır.", + "proxy-user": "Proxy kullanıcısı", + "proxy-password": "Proxy parolası", + "proxy-scheme": "Proxy şeması", + "numbers-to-template": "Telefon Numaraları Şablonu", + "numbers-to-template-required": "Telefon Numaraları Şablonu gereklidir", + "numbers-to-template-hint": "Virgülle ayrılmış telefon numaraları, metaveriden değer almak için ${metadataKey}, mesaj gövdesinden almak için $[messageKey] kullanın", + "sms-message-template": "SMS mesaj şablonu", + "sms-message-template-required": "SMS mesaj şablonu gereklidir", + "use-system-sms-settings": "Sistem SMS sağlayıcı ayarlarını kullan", + "min-period-0-seconds-message": "Yalnızca minimum 0 saniyelik süreye izin verilir.", + "max-pending-messages": "Maksimum bekleyen mesaj", + "max-pending-messages-required": "Maksimum bekleyen mesaj gereklidir.", + "max-pending-messages-range": "Maksimum bekleyen mesaj 1 ile 100000 arasında olmalıdır.", + "originator-types-filter": "Gönderici türleri filtresi", + "interval-seconds": "Zaman aralığı (saniye)", + "interval-seconds-required": "Zaman aralığı gereklidir.", + "int-range": "Değer, maksimum tamsayı sınırını (2147483648) aşmamalıdır", + "min-interval-seconds-message": "En az 1 saniyelik zaman aralığına izin verilir.", + "output-timeseries-key-prefix": "Çıkış zaman serisi anahtar ön eki", + "output-timeseries-key-prefix-required": "Çıkış zaman serisi anahtar ön eki gereklidir.", + "separator-hint": "Alan girişini tamamlamak için \"Enter\" tuşuna basmalısınız.", + "select-details": "Detayları seç", + "entity-details-id": "Id", + "entity-details-title": "Başlık", + "entity-details-country": "Ülke", + "entity-details-state": "Eyalet", + "entity-details-city": "Şehir", + "entity-details-zip": "Posta Kodu", + "entity-details-address": "Adres", + "entity-details-address2": "Adres2", + "entity-details-additional_info": "Ek Bilgi", + "entity-details-phone": "Telefon", + "entity-details-email": "E-posta", + "email-sender": "E-posta gönderen", + "fields-to-check": "Kontrol edilecek alanlar", + "add-detail": "Detay ekle", + "check-all-keys-tooltip": "Etkinleştirilirse, gelen mesaj ve metadata içindeki tüm alan adlarının varlığı kontrol edilir.", + "fields-to-check-hint": "Alan adını tamamlamak için \"Enter\" tuşuna basın. Birden fazla alan adı desteklenir.", + "entity-details-list-empty": "En az bir detay seçilmelidir.", + "alarm-status": "Alarm durumu", + "alarm-required": "En az bir alarm durumu seçilmelidir.", + "no-entity-details-matching": "Eşleşen varlık detayı bulunamadı.", + "custom-table-name": "Özel tablo adı", + "custom-table-name-required": "Tablo adı gereklidir", + "custom-table-hint": "Tablo Cassandra kümenizde oluşturulmuş olmalı ve adı 'cs_tb_' önekiyle başlamalıdır. Ortak TB tablolarına veri eklenmesini önlemek için buraya yalnızca önek olmadan tablo adını girin.", + "message-field": "Mesaj alanı", + "message-field-required": "Mesaj alanı gereklidir.", + "table-col": "Tablo sütunu", + "table-col-required": "Tablo sütunu gereklidir.", + "latitude-field-name": "Enlem alan adı", + "longitude-field-name": "Boylam alan adı", + "latitude-field-name-required": "Enlem alan adı gereklidir.", + "longitude-field-name-required": "Boylam alan adı gereklidir.", + "fetch-perimeter-info-from-metadata": "Çevre bilgilerini metadata'dan al", + "fetch-perimeter-info-from-metadata-tooltip": "Çevre türü 'Polygon' olarak ayarlanmışsa, '{{perimeterKeyName}}' metadata alanının değeri ek işlem olmadan çevre tanımı olarak kullanılır. 'Circle' olarak ayarlanmışsa, bu metadata değeri 'latitude', 'longitude', 'radius', 'radiusUnit' alanlarına ayrıştırılır.", + "perimeter-key-name": "Çevre anahtar adı", + "perimeter-key-name-hint": "Çevre bilgilerini içeren metadata alan adı.", + "perimeter-key-name-required": "Çevre anahtar adı gereklidir.", + "perimeter-circle": "Daire", + "perimeter-polygon": "Poligon", + "perimeter-type": "Çevre türü", + "circle-center-latitude": "Merkez enlemi", + "circle-center-latitude-required": "Merkez enlemi gereklidir.", + "circle-center-longitude": "Merkez boylamı", + "circle-center-longitude-required": "Merkez boylamı gereklidir.", + "range-unit-meter": "Metre", + "range-unit-kilometer": "Kilometre", + "range-unit-foot": "Fit", + "range-unit-mile": "Mil", + "range-unit-nautical-mile": "Deniz mili", + "range-units": "Menzil birimi", + "range-units-required": "Menzil birimi gereklidir.", + "range": "Menzil", + "range-required": "Menzil gereklidir.", + "polygon-definition": "Poligon tanımı", + "polygon-definition-required": "Poligon tanımı gereklidir.", + "polygon-definition-hint": "Poligonu manuel tanımlamak için şu formatı kullanın: [[lat1,lon1],[lat2,lon2], ... ,[latN,lonN]].", + "min-inside-duration": "Minimum içeride kalma süresi", + "min-inside-duration-value-required": "Minimum içeride kalma süresi gereklidir", + "min-inside-duration-time-unit": "Minimum içeride kalma süresi birimi", + "min-outside-duration": "Minimum dışarıda kalma süresi", + "min-outside-duration-value-required": "Minimum dışarıda kalma süresi gereklidir", + "min-outside-duration-time-unit": "Minimum dışarıda kalma süresi birimi", + "tell-failure-if-absent": "Hata bildir", + "tell-failure-if-absent-hint": "Seçilen anahtarlardan en az biri mevcut değilse, çıkan mesaj 'Hata' olarak raporlanacaktır.", + "get-latest-value-with-ts": "En son telemetri değerleri için zaman damgasını al", + "get-latest-value-with-ts-hint": "Seçildiğinde, en son telemetri değerleri zaman damgası ile birlikte verilir, örn: \"temp\": \"{\"ts\":1574329385897, \"value\":42}\"", + "ignore-null-strings": "Boş metinleri yok say", + "ignore-null-strings-hint": "Seçildiğinde, değeri boş olan varlık alanları yok sayılır.", + "add-metadata-key-values-as-kafka-headers": "Mesaj metadata anahtar-değer çiftlerini Kafka başlıklarına ekle", + "add-metadata-key-values-as-kafka-headers-hint": "Seçildiğinde, mesaj metadata'sından gelen anahtar-değer çiftleri, ön tanımlı karakter seti ile bayt dizisi olarak Kafka başlıklarına eklenir.", + "charset-encoding": "Karakter kodlaması", + "charset-encoding-required": "Karakter kodlaması gereklidir.", + "charset-us-ascii": "US-ASCII", + "charset-iso-8859-1": "ISO-8859-1", + "charset-utf-8": "UTF-8", + "charset-utf-16be": "UTF-16BE", + "charset-utf-16le": "UTF-16LE", + "charset-utf-16": "UTF-16", + "select-queue-hint": "Kuyruk adı açılır listeden seçilebilir veya özel bir ad girilebilir.", + "device-profile-node-hint": "Alarm durumunun sürekliliğini sağlamak için süreli veya tekrarlanan koşullarda faydalıdır.", + "persist-alarm-rules": "Alarm kurallarının durumunu sakla", + "persist-alarm-rules-hint": "Etkinleştirildiğinde, kural düğümü işlem durumunu veritabanına kaydeder.", + "fetch-alarm-rules": "Alarm kurallarının durumunu al", + "fetch-alarm-rules-hint": "Etkinleştirildiğinde, kural düğümü başlatıldığında işlem durumunu geri yükler ve sunucu yeniden başlatılsa bile alarmların oluşturulmasını sağlar. Aksi halde, durum ilk cihaz mesajıyla geri yüklenir.", + "input-value-key": "Girdi değer anahtarı", + "input-value-key-required": "Girdi değer anahtarı gereklidir.", + "output-value-key": "Çıktı değer anahtarı", + "output-value-key-required": "Çıktı değer anahtarı gereklidir.", + "number-of-digits-after-floating-point": "Ondalık noktadan sonraki basamak sayısı", + "number-of-digits-after-floating-point-range": "Ondalık noktadan sonraki basamak sayısı 0 ile 15 arasında olmalıdır.", + "failure-if-delta-negative": "Delta negatifse Hata bildir", + "failure-if-delta-negative-tooltip": "Delta değeri negatifse, kural düğümü mesaj işlemini başarısız olarak işaretler.", + "use-caching": "Önbellek kullan", + "use-caching-tooltip": "Kural düğümü gelen mesajdan gelen \"{{inputValueKey}}\" değerini önbelleğe alarak performansı artırır. Ancak, bu değer başka bir yerde değiştirildiyse önbellek güncellenmez.", + "add-time-difference-between-readings": "\"{{inputValueKey}}\" okumaları arasındaki süre farkını ekle", + "add-time-difference-between-readings-tooltip": "Etkinleştirildiğinde, kural düğümü çıkış mesajına \"{{periodValueKey}}\" ekler.", + "period-value-key": "Periyot değer anahtarı", + "period-value-key-required": "Periyot değer anahtarı gereklidir.", + "general-pattern-hint": "Metadata'dan değer almak için ${metadataKey}, mesaj gövdesinden değer almak için $[messageKey] kullanın.", + "alarm-severity-pattern-hint": "Metadata'dan değer almak için ${metadataKey}, mesaj gövdesinden değer almak için $[messageKey] kullanın. Alarm şiddeti sistem seviyesinde olmalıdır (CRITICAL, MAJOR vb.)", + "output-node-name-hint": "Kural düğümü adı, çağıran kural zincirindeki diğer düğümlere mesaj yönlendirmek için kullanılan ilişki türü ile eşleşir.", + "use-server-ts": "Sunucu zaman damgası kullan", + "use-server-ts-hint": "Zaman damgası olmayan zaman serisi verileri için sunucunun mevcut zaman damgasını kullanır. Bu, farklı kaynaklardan gelen mesajların sıralı işlenmesini sağlar.", + "kv-map-pattern-hint": "Tüm giriş alanları templatization destekler. Mesajdan değer almak için $[messageKey], metadata'dan almak için ${metadataKey} kullanın.", + "kv-map-single-pattern-hint": "Giriş alanı templatization destekler. Mesajdan değer almak için $[messageKey], metadata'dan almak için ${metadataKey} kullanın.", + "shared-scope": "Paylaşılan kapsam", + "server-scope": "Sunucu kapsamı", + "client-scope": "İstemci kapsamı", + "attribute-type": "Özellik", + "attribute-type-description": "Veritabanından özellik değeri al", + "attribute-type-result-description": "Sonucu veritabanına varlık özelliği olarak kaydet", + "constant-type": "Sabit", + "constant-type-description": "Sabit değer tanımla", + "time-series-type": "Zaman serisi", + "time-series-type-description": "Veritabanından en son zaman serisi değerini al", + "time-series-type-result-description": "Sonucu veritabanına varlık zaman serisi olarak kaydet", + "message-body-type": "Mesaj", + "message-body-type-description": "Gelen mesajdan argüman değerini al", + "message-body-type-result-description": "Sonucu giden mesaja ekle", + "message-metadata-type": "Metadata", + "message-metadata-type-description": "Gelen mesaj metadata’sından argüman değerini al", + "message-metadata-result-description": "Sonucu giden mesaj metadata’sına ekle", + "argument-tile": "Argümanlar", + "no-arguments-prompt": "Yapılandırılmış argüman yok", + "result-title": "Sonuç", + "functions-field-input": "Fonksiyonlar", + "no-option-found": "Seçenek bulunamadı", + "argument-source-field-input": "Kaynak", + "argument-source-field-input-required": "Argüman kaynağı gereklidir.", + "argument-key-field-input": "Anahtar", + "argument-key-field-input-required": "Argüman anahtarı gereklidir.", + "constant-value-field-input": "Sabit değer", + "constant-value-field-input-required": "Sabit değer gereklidir.", + "attribute-scope-field-input": "Özellik kapsamı", + "attribute-scope-field-input-required": "Özellik kapsamı gereklidir.", + "default-value-field-input": "Varsayılan değer", + "type-field-input": "Tür", + "type-field-input-required": "Tür gereklidir.", + "key-field-input": "Anahtar", + "add-entity-type": "Varlık türü ekle", + "add-device-profile": "Cihaz profili ekle", + "key-field-input-required": "Anahtar gereklidir.", + "number-floating-point-field-input": "Ondalık basamak sayısı", + "number-floating-point-field-input-hint": "Sonucu tam sayıya dönüştürmek için 0 kullanın", + "add-to-message-field-input": "Mesaja ekle", + "add-to-metadata-field-input": "Metadata’ya ekle", + "custom-expression-field-input": "Matematiksel İfade", + "custom-expression-field-input-required": "Matematiksel ifade gereklidir", + "custom-expression-field-input-hint": "Değerlendirilecek bir matematiksel ifade belirtin. Varsayılan ifade Fahrenheit’ı Celsius’a dönüştürmeyi gösterir", + "retained-message": "Kalıcı", + "attributes-mapping": "Özellik eşlemesi", + "latest-telemetry-mapping": "En son telemetri eşlemesi", + "add-mapped-attribute-to": "Eşlenen özellikleri ekle", + "add-mapped-latest-telemetry-to": "Eşlenen en son telemetriyi ekle", + "add-mapped-fields-to": "Eşlenen alanları ekle", + "add-selected-details-to": "Seçilen ayrıntıları ekle", + "clear-selected-types": "Seçilen türleri temizle", + "clear-selected-details": "Seçilen ayrıntıları temizle", + "clear-selected-fields": "Seçilen alanları temizle", + "clear-selected-keys": "Seçilen anahtarları temizle", + "geofence-configuration": "Coğrafi sınır yapılandırması", + "coordinate-field-names": "Koordinat alan adları", + "coordinate-field-hint": "Kural düğümü, belirtilen alanları mesajdan almaya çalışır. Eğer mevcut değillerse metadata’dan arar.", + "presence-monitoring-strategy": "Varlık izleme stratejisi", + "presence-monitoring-strategy-on-first-message": "İlk mesajda", + "presence-monitoring-strategy-on-each-message": "Her mesajda", + "presence-monitoring-strategy-on-first-message-hint": "Önceki varlık durumu 'Girdi' veya 'Çıktı' güncellemesinden sonra yapılandırılmış minimum süre geçtikten sonra gelen ilk mesajda 'İçeride' veya 'Dışarıda' varlık durumunu bildirir.", + "presence-monitoring-strategy-on-each-message-hint": "'Girdi' veya 'Çıktı' varlık durumundan sonra gelen her mesajda 'İçeride' veya 'Dışarıda' durumunu bildirir.", + "fetch-credentials-to": "Kimlik bilgilerini buraya al", + "add-originator-attributes-to": "Başlatan özelliklerini buraya ekle", + "originator-attributes": "Başlatan özellikleri", + "fetch-latest-telemetry-with-timestamp": "Zaman damgası ile en son telemetriyi al", + "fetch-latest-telemetry-with-timestamp-tooltip": "Seçildiğinde, en son telemetri değerleri zaman damgası ile çıkış metadata’sına eklenir, örn: \"{{latestTsKeyName}}\": \"{\"ts\":1574329385897, \"value\":42}\"", + "tell-failure": "Seçilen özelliklerden herhangi biri eksikse Hata bildir", + "tell-failure-tooltip": "Seçilen anahtarlardan en az biri yoksa çıkış mesajı 'Hata' olarak işaretlenir.", + "created-time": "Oluşturulma zamanı", + "chip-help": "'{{inputName}}' girişi tamamlamak için 'Enter' tuşuna basın. \n'{{inputName}}' silmek için 'Backspace' tuşuna basın. \nBirden fazla değer desteklenir.", + "detail": "ayrıntı", + "field-name": "alan adı", + "device-profile": "cihaz profili", + "entity-type": "varlık türü", + "message-type": "mesaj türü", + "timeseries-key": "zaman serisi anahtarı", + "type": "Tür", + "first-name": "Ad", + "last-name": "Soyad", + "label": "Etiket", + "originator-fields-mapping": "Başlatan alan eşlemesi", + "add-mapped-originator-fields-to": "Eşlenen başlatan alanları buraya ekle", + "fields": "Alanlar", + "skip-empty-fields": "Boş alanları atla", + "skip-empty-fields-tooltip": "Boş değerlere sahip alanlar çıkış mesajına/metadata’ya eklenmeyecektir.", + "fetch-interval": "Alım aralığı", + "fetch-strategy": "Alım stratejisi", + "fetch-timeseries-from-to": "{{startInterval}} {{startIntervalTimeUnit}} öncesinden {{endInterval}} {{endIntervalTimeUnit}} öncesine kadar zaman serisini al.", + "fetch-timeseries-from-to-invalid": "Zaman serisi alımı geçersiz (\"Başlangıç aralığı\", \"Bitiş aralığından\" küçük olmalıdır).", + "use-metadata-dynamic-interval-tooltip": "Seçildiğinde, kural düğümü mesaj ve metadata desenlerine göre dinamik aralık başlangıcı ve bitişi kullanacaktır.", + "all-mode-hint": "\"Tümü\" alım modu seçildiğinde, kural düğümü yapılandırılabilir sorgu parametreleri ile alım aralığından telemetri verilerini alacaktır.", + "first-mode-hint": "\"İlk\" alım modu seçildiğinde, kural düğümü alım aralığının başlangıcına en yakın telemetri verisini alacaktır.", + "last-mode-hint": "\"Son\" alım modu seçildiğinde, kural düğümü alım aralığının sonuna en yakın telemetri verisini alacaktır.", + "ascending": "Artan", + "descending": "Azalan", + "min": "Min", + "max": "Maks", + "average": "Ortalama", + "sum": "Toplam", + "count": "Sayı", + "none": "Yok", + "last-level-relation-tooltip": "Seçildiğinde, kural düğümü sadece maksimum ilişki düzeyinde tanımlı düzeydeki ilişkili varlıkları arar.", + "last-level-device-relation-tooltip": "Seçildiğinde, kural düğümü sadece maksimum ilişki düzeyinde tanımlı düzeydeki ilişkili cihazları arar.", + "data-to-fetch": "Alınacak veri", + "mapping-of-customers": "Müşteri eşlemesi", + "map-fields-required": "Tüm eşleme alanları gereklidir.", + "attributes": "Özellikler", + "related-device-attributes": "İlişkili cihaz özellikleri", + "add-selected-attributes-to": "Seçilen özellikleri buraya ekle", + "device-profiles": "Cihaz profilleri", + "mapping-of-tenant": "Kiracı eşlemesi", + "add-attribute-key": "Özellik anahtarı ekle", + "message-template": "Mesaj şablonu", + "message-template-required": "Mesaj şablonu gereklidir", + "use-system-slack-settings": "Sistem Slack ayarlarını kullan", + "slack-api-token": "Slack API anahtarı", + "slack-api-token-required": "Slack API anahtarı gereklidir", + "keys-mapping": "Anahtar eşlemesi", + "add-key": "Anahtar ekle", + "recipients": "Alıcılar", + "message-subject-and-content": "Mesaj konusu ve içeriği", + "template-rules-hint": "Her iki giriş alanı da şablonlaştırmayı destekler. Mesajdan değer çıkarmak için $[messageKey], metadata'dan değer çıkarmak için ${metadataKey} kullanın.", + "originator-customer-desc": "Gelen mesajın başlatanının müşterisini yeni başlatan olarak kullan.", + "originator-tenant-desc": "Mevcut kiracıyı yeni başlatan olarak kullan.", + "originator-related-entity-desc": "İlgili varlığı yeni başlatan olarak kullan. Yapılandırılmış ilişki türü ve yönüne göre arama yapılır.", + "originator-alarm-originator-desc": "Alarm başlatanını yeni başlatan olarak kullan. Yalnızca gelen mesajın başlatanı alarm varlığı ise geçerlidir.", + "originator-entity-by-name-pattern-desc": "Veritabanından alınan varlığı yeni başlatan olarak kullan. Varlık türüne ve belirtilen ad desenine göre arama yapılır.", + "email-from-template-hint": "Mesajdan değer çıkarmak için $[messageKey], metadata'dan değer çıkarmak için ${metadataKey} kullanın.", + "recipients-block-main-hint": "Virgülle ayrılmış adres listesi. Tüm giriş alanları şablonlaştırmayı destekler.", + "forward-msg-default-rule-chain": "Mesajı başlatanın varsayılan kural zincirine yönlendir", + "forward-msg-default-rule-chain-tooltip": "Etkinleştirilirse, mesaj başlatanın varsayılan kural zincirine ya da yapılandırmadan tanımlanmış zincire yönlendirilir. Eğer başlatanın profilinde varsayılan bir zincir tanımlı değilse, yapılandırmadaki zincir kullanılır.", + "exclude-zero-deltas": "Sıfır farkları çıkış mesajından hariç tut", + "exclude-zero-deltas-hint": "Etkinleştirilirse, \"{{outputValueKey}}\" değeri sıfır değilse çıkış mesajına eklenir.", + "exclude-zero-deltas-time-difference-hint": "Etkinleştirilirse, sadece \"{{outputValueKey}}\" değeri sıfır değilse, \"{{outputValueKey}}\" ve \"{{periodValueKey}}\" çıkış anahtarları mesaja eklenir.", + "search-direction-from": "Başlatandan hedef varlığa", + "search-direction-to": "Hedef varlıktan başlatana", + "del-relation-direction-from": "Başlatandan", + "del-relation-direction-to": "Başlatana", + "target-entity": "Hedef varlık", + "function-configuration": "Fonksiyon yapılandırması", + "function-name": "Fonksiyon adı", + "function-name-required": "Fonksiyon adı gereklidir.", + "qualifier": "Niteleyici", + "qualifier-hint": "Eğer niteleyici belirtilmezse, varsayılan niteleyici \"$LATEST\" kullanılacaktır.", + "aws-credentials": "AWS Kimlik Bilgileri", + "connection-timeout": "Bağlantı zaman aşımı", + "connection-timeout-required": "Bağlantı zaman aşımı gereklidir.", + "connection-timeout-min": "Minimum bağlantı zaman aşımı 0'dır.", + "connection-timeout-hint": "Bağlantı kurulurken saniye cinsinden bekleme süresi. 0 değeri sınırsızdır ancak önerilmez.", + "request-timeout": "İstek zaman aşımı", + "request-timeout-required": "İstek zaman aşımı gereklidir", + "request-timeout-min": "Minimum istek zaman aşımı 0'dır", + "request-timeout-hint": "İsteğin tamamlanması için saniye cinsinden bekleme süresi. 0 değeri sınırsızdır ancak önerilmez.", + "units": "Birimler", + "tell-failure-aws-lambda": "AWS Lambda fonksiyonu hata verirse Failure bildir", + "tell-failure-aws-lambda-hint": "Eğer AWS Lambda fonksiyonu hata dönerse, mesaj işleme Failure olarak işaretlenir.", + "basic-mode": "Temel", + "advanced-mode": "Gelişmiş", + "save-time-series": { + "processing-settings": "İşleme ayarları", + "processing-settings-hint": "Gelen mesajların nasıl işlendiğini tanımlar. Temel ayarlar önceden tanımlı stratejiler sunar, gelişmiş ayarlar ise her eylem için bireysel strateji seçmenize olanak tanır.", + "advanced-settings-hint": "İşleme stratejilerini yapılandırırken dikkatli olun. Bazı kombinasyonlar beklenmeyen sonuçlara neden olabilir.", + "strategy": "Strateji", + "deduplication-interval": "Çoğaltmayı önleme aralığı", + "deduplication-interval-required": "Çoğaltmayı önleme aralığı gereklidir", + "deduplication-interval-min-max-range": "Aralık en az 1 saniye ve en fazla 1 gün olmalıdır", + "strategy-type": { + "every-message": "Her mesajda", + "skip": "Atla", + "deduplicate": "Çoğaltmayı önle", + "web-sockets-only": "Yalnızca WebSockets" + }, + "time-series": "Zaman serisi", + "latest": "Son değerler", + "web-sockets": "WebSockets", + "calculated-fields": "Hesaplanmış alanlar" + }, + "save-attribute": { + "processing-settings": "İşleme ayarları", + "processing-settings-hint": "Gelen mesajların nasıl işlendiğini tanımlar. Temel işleme ayarları önceden yapılandırılmış stratejileri seçmenize olanak tanır, Gelişmiş ayarlar ise her işlem için ayrı stratejiler belirlemenizi sağlar.", + "advanced-settings-hint": "İşleme stratejilerini yapılandırırken dikkatli olun. Bazı kombinasyonlar beklenmeyen davranışlara yol açabilir.", + "strategy": "Strateji", + "deduplication-interval": "Çoğaltmayı önleme aralığı", + "deduplication-interval-required": "Çoğaltmayı önleme aralığı gereklidir", + "deduplication-interval-min-max-range": "Çoğaltmayı önleme aralığı en az 1 saniye ve en fazla 1 gün olmalıdır", + "scope": "Kapsam", + "strategy-type": { + "every-message": "Her mesajda", + "skip": "Atla", + "deduplicate": "Çoğaltmayı önle", + "web-sockets-only": "Yalnızca WebSockets" + }, + "attributes": "Öznitelikler" + }, + "key-val": { + "key": "Anahtar", + "value": "Değer", + "see-examples": "Örnekleri gör.", + "remove-entry": "Girdiyi kaldır", + "remove-mapping-entry": "Eşleme girdisini kaldır", + "add-mapping-entry": "Eşleme ekle", + "add-entry": "Girdi ekle", + "copy-key-values-from": "Anahtar-değer çiftlerini kopyala", + "delete-key-values": "Anahtar-değer çiftlerini sil", + "delete-key-values-from": "Şuradan anahtar-değer çiftlerini sil", + "at-least-one-key-error": "En az bir anahtar seçilmelidir.", + "unique-key-value-pair-error": "'{{keyText}}' ile '{{valText}}' farklı olmalıdır!" + }, + "mail-body-types": { + "plain-text": "Düz metin", + "html": "HTML", + "dynamic": "Dinamik", + "use-body-type-template": "Gövde tipi şablonunu kullan", + "plain-text-description": "Özel biçimlendirme ya da stil olmayan basit metin.", + "html-text-description": "E-posta gövdesinde biçimlendirme, bağlantı ve görseller için HTML etiketlerini kullanmanıza olanak tanır.", + "dynamic-text-description": "Şablonlaştırma özelliğine bağlı olarak Düz Metin veya HTML gövde türünü dinamik olarak kullanmanızı sağlar.", + "after-template-evaluation-hint": "Şablon değerlendirmesinden sonra değer HTML için true, Düz metin için false olmalıdır." + }, + "ai": { + "ai-model": "Yapay Zeka modeli", + "model": "Model", + "ai-model-hint": "Bu kural düğümü tarafından gönderilen istekleri işlemek için önceden yapılandırılmış bir yapay zeka modeli seçin veya yeni bir tane yapılandırmak için \"Yeni oluştur\" seçeneğini kullanın.", + "prompt-settings": "İstem ayarları", + "prompt-settings-hint": "İsteğe bağlı sistem istemi, yapay zekanın genel rolünü ve kısıtlamalarını belirlerken, kullanıcı istemi gerçekleştirilmesi gereken belirli görevi tanımlar. Her iki alan da şablonlaştırmayı destekler.", + "system-prompt": "Sistem istemi", + "system-prompt-max-length": "Sistem istemi en fazla 10000 karakter olmalıdır.", + "system-prompt-blank": "Sistem istemi boş olmamalıdır.", + "user-prompt": "Kullanıcı istemi", + "user-prompt-required": "Kullanıcı istemi gereklidir.", + "user-prompt-max-length": "Kullanıcı istemi en fazla 10000 karakter olmalıdır.", + "user-prompt-blank": "Kullanıcı istemi boş olmamalıdır.", + "response-format": "Yanıt formatı", + "response-text": "Metin", + "response-json": "JSON", + "response-json-schema": "JSON Şeması", + "response-format-hint-TEXT": "Modelin geçerli bir JSON nesnesi olup olmayabileceği rastgele metin üretmesine olanak tanır. Çıktı geçerli bir JSON nesnesi değilse, otomatik olarak \"response\" anahtarı altında bir JSON nesnesine sarılır.", + "response-format-hint-JSON": "Modelin geçerli bir JSON yanıtı üretmesi gereklidir. Çıktı geçerli bir JSON nesnesi değilse, otomatik olarak \"response\" anahtarı altında bir JSON nesnesine sarılır.", + "response-format-hint-JSON_SCHEMA": "Modelin, sağlanan şemada tanımlanan belirli yapı ve veri türleriyle eşleşen bir JSON üretmesi gereklidir. Çıktı geçerli bir JSON nesnesi değilse, otomatik olarak \"response\" anahtarı altında bir JSON nesnesine sarılır.", + "response-json-schema-hint": "Geçerli herhangi bir JSON Şeması girilebilir, ancak bu kural düğümü yalnızca sınırlı bir alt kümesini destekler. Ayrıntılar için düğüm belgelerine bakın.", + "response-json-schema-required": "JSON Şeması gereklidir", + "advanced-settings": "Gelişmiş ayarlar", + "timeout": "Zaman aşımı", + "timeout-hint": "Yapay zeka modelinden yanıt beklemek için maksimum süre. \nSüre aşılırsa istek sonlandırılır.", + "timeout-required": "Zaman aşımı gereklidir", + "timeout-validation": "1 saniye ile 10 dakika arasında olmalıdır.", + "force-acknowledgement": "Zorunlu onaylama", + "force-acknowledgement-hint": "Etkinleştirilirse, gelen mesaj anında onaylanır. Modelin yanıtı ayrı, yeni bir mesaj olarak kuyruğa alınır." + } }, "timezone": { - "timezone": "Saat dilimi", - "select-timezone": "Saat dilimini seçin", - "no-timezones-matching": "'{{timezone}}' ile eşleşen saat dilimi bulunamadı.", - "timezone-required": "Saat dilimi gerekli.", - "browser-time": "Tarayıcı Süresi" + "timezone": "Zaman dilimi", + "select-timezone": "Zaman dilimi seç", + "no-timezones-matching": "'{{timezone}}' ile eşleşen zaman dilimi bulunamadı.", + "timezone-required": "Zaman dilimi gereklidir.", + "browser-time": "Tarayıcı saati" }, "queue": { - "select_name": "Kuyruk adını seçin", - "name": "Kuyruk Adı", - "name_required": "Kuyruk Adı gerekli" + "queue-name": "Kuyruk", + "no-queues-found": "Kuyruk bulunamadı.", + "no-queues-matching": "'{{queue}}' ile eşleşen kuyruk bulunamadı.", + "select-name": "Kuyruk adı seç", + "name": "Ad", + "name-required": "Kuyruk adı gereklidir!", + "name-unique": "Kuyruk adı benzersiz değil!", + "name-pattern": "Kuyruk adı yalnızca ASCII harf/rakam, '.', '_' ve '-' karakterlerini içerebilir!", + "queue-required": "Kuyruk gereklidir!", + "topic-required": "Kuyruk konusu gereklidir!", + "poll-interval-required": "Anket aralığı gereklidir!", + "poll-interval-min-value": "Anket aralığı değeri 1'den küçük olamaz", + "partitions-required": "Bölüm sayısı gereklidir!", + "partitions-min-value": "Bölüm sayısı değeri 1'den küçük olamaz", + "pack-processing-timeout-required": "İşleme zaman aşımı gereklidir", + "pack-processing-timeout-min-value": "İşleme zaman aşımı değeri 1'den küçük olamaz", + "batch-size-required": "Toplu işlem boyutu gereklidir!", + "batch-size-min-value": "Toplu işlem boyutu değeri 1'den küçük olamaz", + "retries-required": "Yeniden deneme sayısı gereklidir!", + "retries-min-value": "Yeniden deneme değeri negatif olamaz", + "failure-percentage-required": "Başarısızlık yüzdesi gereklidir!", + "failure-percentage-min-value": "Başarısızlık yüzdesi değeri 0'dan küçük olamaz", + "failure-percentage-max-value": "Başarısızlık yüzdesi değeri 100'den büyük olamaz", + "pause-between-retries-required": "Yeniden denemeler arası bekleme süresi gereklidir!", + "pause-between-retries-min-value": "Yeniden denemeler arası bekleme süresi 1'den küçük olamaz", + "max-pause-between-retries-required": "Maksimum yeniden deneme bekleme süresi gereklidir!", + "max-pause-between-retries-min-value": "Maksimum yeniden deneme bekleme süresi 1'den küçük olamaz", + "submit-strategy-type-required": "Gönderme stratejisi türü gereklidir!", + "processing-strategy-type-required": "İşleme stratejisi türü gereklidir!", + "queues": "Kuyruklar", + "selected-queues": "{ count, plural, =1 {1 kuyruk} other {# kuyruk} } seçildi", + "delete-queue-title": "'{{queueName}}' adlı kuyruğu silmek istediğinizden emin misiniz?", + "delete-queues-title": "{ count, plural, =1 {1 kuyruğu} other {# kuyruğu} } silmek istediğinizden emin misiniz?", + "delete-queue-text": "Dikkatli olun, onaydan sonra kuyruk ve tüm ilişkili veriler geri alınamaz hale gelecektir.", + "delete-queues-text": "Onaydan sonra seçilen tüm kuyruklar silinecek ve erişilemez olacaktır.", + "search": "Kuyruk ara", + "add": "Kuyruk ekle", + "details": "Kuyruk ayrıntıları", + "topic": "Konu", + "submit-settings": "Gönderim ayarları", + "submit-strategy": "Strateji türü *", + "grouping-parameter": "Gruplama parametresi", + "processing-settings": "Yeniden deneme işleme ayarları", + "processing-strategy": "İşleme türü *", + "retries-settings": "Yeniden deneme ayarları", + "polling-settings": "Anket ayarları", + "batch-processing": "Toplu işlem", + "poll-interval": "Anket aralığı", + "partitions": "Bölümler", + "immediate-processing": "Anında işleme", + "consumer-per-partition": "Her tüketici için mesaj anketi gönder", + "consumer-per-partition-hint": "Her bölüm için ayrı tüketici(ler) etkinleştir", + "duplicate-msg-to-all-partitions": "Mesajı tüm bölümlere kopyala", + "processing-timeout": "İşleme süresi (ms)", + "batch-size": "Toplu işlem boyutu", + "retries": "Yeniden deneme sayısı (0 – sınırsız)", + "failure-percentage": "Yeniden deneme atlaması için başarısız mesajlar, %", + "pause-between-retries": "Yeniden deneme süresi, sn", + "max-pause-between-retries": "Ek yeniden deneme süresi, sn", + "delete": "Kuyruğu sil", + "copyId": "Kuyruk Kimliğini kopyala", + "idCopiedMessage": "Kuyruk Kimliği panoya kopyalandı", + "description": "Açıklama", + "description-hint": "Bu metin, seçilen strateji yerine Kuyruk açıklamasında görüntülenecektir", + "alt-description": "Gönderim Stratejisi: {{submitStrategy}}, İşleme Stratejisi: {{processingStrategy}}", + "custom-properties": "Özel özellikler", + "custom-properties-hint": "Özel kuyruk (konu) oluşturma özellikleri, örn. 'retention.ms:604800000;retention.bytes:1048576000'", + "strategies": { + "sequential-by-originator-label": "Kaynak bazlı sıralı", + "sequential-by-originator-hint": "Örn. cihaz A için önceki mesaj onaylanmadan yeni mesaj gönderilmez", + "sequential-by-tenant-label": "Kiracı bazlı sıralı", + "sequential-by-tenant-hint": "Örn. kiracı A için önceki mesaj onaylanmadan yeni mesaj gönderilmez", + "sequential-label": "Sıralı", + "sequential-hint": "Önceki mesaj onaylanmadan yeni mesaj gönderilmez", + "burst-label": "Ani", + "burst-hint": "Tüm mesajlar geldikleri sırayla kural zincirlerine gönderilir", + "batch-label": "Toplu", + "batch-hint": "Yeni toplu işlem, önceki onaylanmadan gönderilmez", + "skip-all-failures-label": "Tüm hataları atla", + "skip-all-failures-hint": "Tüm hataları yok say", + "skip-all-failures-and-timeouts-label": "Tüm hataları ve zaman aşımlarını atla", + "skip-all-failures-and-timeouts-hint": "Tüm hataları ve zaman aşımlarını yok say", + "retry-all-label": "Tümünü yeniden dene", + "retry-all-hint": "İşlem grubundaki tüm mesajları yeniden dene", + "retry-failed-label": "Başarısızları yeniden dene", + "retry-failed-hint": "İşlem grubundaki tüm başarısız mesajları yeniden dene", + "retry-timeout-label": "Zaman aşımı olanları yeniden dene", + "retry-timeout-hint": "İşlem grubundaki zaman aşımına uğramış tüm mesajları yeniden dene", + "retry-failed-and-timeout-label": "Başarısız ve zaman aşımlarını yeniden dene", + "retry-failed-and-timeout-hint": "İşlem grubundaki başarısız ve zaman aşımına uğramış tüm mesajları yeniden dene" + } + }, + "queue-statistics": { + "queue-statistics": "Kuyruk istatistikleri", + "no-queue-statistics-matching": "'{{entity}}' ile eşleşen kuyruk istatistiği bulunamadı.", + "queue-statistics-required": "Kuyruk istatistiği gereklidir.", + "list-of-queue-statistics": "{ count, plural, =1 {Bir kuyruk istatistiği} other {# kuyruk istatistikleri listesi} }", + "selected-queue-statistics": "{ count, plural, =1 {1 kuyruk istatistiği} other {# kuyruk istatistiği} } seçildi", + "no-queue-statistics-text": "Kuyruk istatistiği bulunamadı", + "queue-statistics-starts-with": "Adı '{{prefix}}' ile başlayan kuyruk istatistikleri" + }, + "server-error": { + "general": "Genel sunucu hatası", + "authentication": "Kimlik doğrulama hatası", + "jwt-token-expired": "JWT belirteci süresi doldu", + "tenant-trial-expired": "Kiracı deneme süresi doldu", + "credentials-expired": "Kimlik bilgileri süresi doldu", + "permission-denied": "İzin reddedildi", + "invalid-arguments": "Geçersiz parametreler", + "bad-request-params": "Hatalı istek parametreleri", + "item-not-found": "Öğe bulunamadı", + "too-many-requests": "Çok fazla istek yapıldı", + "too-many-updates": "Çok fazla güncelleme yapıldı" }, "tenant": { - "tenant": "Tenant", - "tenants": "Tenantlar", - "management": "Tenant yönetimi", - "add": "Tenant Ekle", - "admins": "Adminler", - "manage-tenant-admins": "Tenant Adminlerini Yönet", - "delete": "Tenant sil", - "add-tenant-text": "Yeni tenant ekle", - "no-tenants-text": "Hiçbir tenant bulunamadı", - "tenant-details": "Tenant detayları", - "delete-tenant-title": "'{{tenantTitle}}' isimli tenantı silmek istediğinize emin misiniz?", - "delete-tenant-text": "UYARI: Onaylandıktan sonra tenant ve ilişkili tüm veriler geri yüklenemez şekilde silinecektir.", - "delete-tenants-title": "{ count, plural, =1 {1 tenantı} other {# tenantı} } silmek istediğinize emin misiniz?", - "delete-tenants-action-title": "{ count, plural, =1 {1 tenantı} other {# tenantı} } sil", - "delete-tenants-text": "UYARI: Onaylandıktan sonra seçili tüm tenantlar ve ilişkili tüm veriler geri yüklenemez şekilde silinecektir", + "tenant": "Kiracı", + "tenants": "Kiracılar", + "management": "Kiracı yönetimi", + "add": "Kiracı ekle", + "admins": "Yöneticiler", + "manage-tenant-admins": "Kiracı yöneticilerini yönet", + "delete": "Kiracıyı sil", + "add-tenant-text": "Yeni kiracı ekle", + "no-tenants-text": "Hiçbir kiracı bulunamadı", + "tenant-details": "Kiracı detayları", + "title-max-length": "Başlık 256 karakterden kısa olmalıdır", + "delete-tenant-title": "Kiracı '{{tenantTitle}}' silinsin mi?", + "delete-tenant-text": "Dikkatli olun, onaydan sonra kiracı ve ilişkili tüm veriler geri alınamaz şekilde silinecektir.", + "delete-tenants-title": "{ count, plural, =1 {1 kiracı} other {# kiracı} } silinsin mi?", + "delete-tenants-action-title": "{ count, plural, =1 {1 kiracıyı} other {# kiracıyı} } sil", + "delete-tenants-text": "Dikkatli olun, onaydan sonra seçili tüm kiracılar ve ilişkili veriler kalıcı olarak silinecektir.", "title": "Başlık", - "title-required": "Başlık gerekli.", + "title-required": "Başlık gereklidir.", "description": "Açıklama", "details": "Detaylar", "events": "Olaylar", - "copyId": "Tenant kimliğini kopyala", - "idCopiedMessage": "Tenant kimliği panoya kopyalandı", - "select-tenant": "Tenant seç", - "no-tenants-matching": "'{{entity}}' ile eşleşen tenant bulunamadı.", - "tenant-required": "Tenant gerekli", - "search": "Tenantları ara", - "selected-tenants": "{ count, plural, =1 {1 tenant} other {# tenant} } seçildi", - "isolated-tb-rule-engine": "ThingsBoard soyutlanmış kural yönetimi konteynerda işlensin", - "isolated-tb-rule-engine-details": "Her soyutlanmış tenant ayrı bir mikro servis gerektirir" + "copyId": "Kiracı Kimliğini kopyala", + "idCopiedMessage": "Kiracı Kimliği panoya kopyalandı", + "select-tenant": "Kiracı seç", + "no-tenants-matching": "'{{entity}}' ile eşleşen kiracı bulunamadı.", + "tenant-required": "Kiracı gereklidir", + "search": "Kiracı ara", + "selected-tenants": "{ count, plural, =1 {1 kiracı} other {# kiracı} } seçildi", + "isolated-tb-rule-engine": "Ayrı ThingsBoard Kural Motoru kuyrukları kullan", + "isolated-tb-rule-engine-details": "Her kiracı için özel Kural Motoru kuyrukları oluşturulacaktır" }, "tenant-profile": { - "tenant-profile": "Tenant profili", - "tenant-profiles": "Tenant profilleri", - "add": "Tenant profili ekle", - "edit": "Tenant profili düzenle", - "tenant-profile-details": "Tenant profili ayrıntıları", - "no-tenant-profiles-text": "Tenant profili bulunamadı", - "search": "Tenant profillerini ara", - "selected-tenant-profiles": "{ count, plural, =1 {1 tenant profili} other {# tenant profili} } seçildi", - "no-tenant-profiles-matching": "'{{entity}}' ile eşleşen tenant profili bulunamadı.", - "tenant-profile-required": "Tenant profili gerekli", - "idCopiedMessage": "Tenant profili kimliği panoya kopyalandı", - "set-default": "Tenant profilini varsayılan yap", - "delete": "Tenant profilini sil", - "copyId": "Tenant profili kimliğini kopyala", + "tenant-profile": "Kiracı profili", + "tenant-profiles": "Kiracı profilleri", + "add": "Kiracı profili ekle", + "add-profile": "Profil ekle", + "debug": "Hata ayıklama", + "edit": "Kiracı profilini düzenle", + "tenant-profile-details": "Kiracı profili detayları", + "no-tenant-profiles-text": "Kiracı profili bulunamadı", + "name-max-length": "İsim 256 karakterden kısa olmalıdır", + "search": "Kiracı profili ara", + "selected-tenant-profiles": "{ count, plural, =1 {1 kiracı profili} other {# kiracı profili} } seçildi", + "no-tenant-profiles-matching": "'{{entity}}' ile eşleşen kiracı profili bulunamadı.", + "tenant-profile-required": "Kiracı profili gereklidir", + "idCopiedMessage": "Kiracı profili kimliği panoya kopyalandı", + "set-default": "Kiracı profili varsayılan yap", + "delete": "Kiracı profilini sil", + "copyId": "Kiracı profili kimliğini kopyala", "name": "İsim", - "name-required": "İsim gerekli.", + "name-required": "İsim gereklidir.", "data": "Profil verisi", "profile-configuration": "Profil yapılandırması", "description": "Açıklama", "default": "Varsayılan", - "delete-tenant-profile-title": "'{{tenantProfileName}}' tenant profilini silmek istediğinizden emin misiniz?", - "delete-tenant-profile-text": "Dikkatli olun, onaydan sonra tenant profili ve ilgili tüm veriler kurtarılamaz hale gelecektir.", - "delete-tenant-profiles-title": "{ count, plural, =1 {1 tenant profilini} other {# tenant profilini} } silmek istediğinizden emin misiniz?", - "delete-tenant-profiles-text": "Dikkatli olun, onaydan sonra seçilen tüm tenant profilleri kaldırılacak ve ilgili tüm veriler kurtarılamaz hale gelecektir.", - "set-default-tenant-profile-title": "Tenant profilini '{{tenantProfileName}}' varsayılan yapmak istediğinizden emin misiniz?", - "set-default-tenant-profile-text": "Onaydan sonra tenant profili varsayılan olarak işaretlenecek ve profili belirtilmemiş yeni tenantlar için kullanılacaktır.", - "no-tenant-profiles-found": "Tenant profili bulunamadı.", - "create-new-tenant-profile": "Yeni bir tane oluştur!", - "create-tenant-profile": "Yeni tenant profili oluştur", - "import": "Tenant profilini içe aktar", - "export": "Tenant profilini dışa aktar", - "export-failed-error": "Tenant profili dışa aktarılamıyor: {{error}}", - "tenant-profile-file": "Tenant profil dosyası", - "invalid-tenant-profile-file-error": "Tenant profili içe aktarılamıyor: Geçersiz tenant profili veri yapısı.", - "maximum-devices": "Maksimum cihaz sayısı (0 - sınırsız)", - "maximum-devices-required": "Maksimum cihaz sayısı gerekli.", - "maximum-devices-range": "Minimum cihaz sayısı negatif olamaz", - "maximum-assets": "Maksimum varlık sayısı (0 - sınırsız)", - "maximum-assets-required": "Maksimum varlık sayısı gerekli.", + "delete-tenant-profile-title": "Kiracı profili '{{tenantProfileName}}' silinsin mi?", + "delete-tenant-profile-text": "Dikkatli olun, onaydan sonra kiracı profili ve ilişkili tüm veriler geri alınamaz şekilde silinecektir.", + "delete-tenant-profiles-title": "{ count, plural, =1 {1 kiracı profili} other {# kiracı profili} } silinsin mi?", + "delete-tenant-profiles-text": "Dikkatli olun, onaydan sonra seçili tüm kiracı profilleri ve ilişkili veriler kalıcı olarak silinecektir.", + "set-default-tenant-profile-title": "Kiracı profili '{{tenantProfileName}}' varsayılan yapılsın mı?", + "set-default-tenant-profile-text": "Onaydan sonra bu kiracı profili varsayılan olarak işaretlenecek ve profil belirtilmeyen yeni kiracılar için kullanılacaktır.", + "no-tenant-profiles-found": "Kiracı profili bulunamadı.", + "create-new-tenant-profile": "Yeni oluştur!", + "create-tenant-profile": "Yeni kiracı profili oluştur", + "import": "Kiracı profili içe aktar", + "export": "Kiracı profili dışa aktar", + "export-failed-error": "Kiracı profili dışa aktarılamadı: {{error}}", + "tenant-profile-file": "Kiracı profili dosyası", + "invalid-tenant-profile-file-error": "Kiracı profili içe aktarılamadı: Geçersiz kiracı profili veri yapısı.", + "advanced-settings": "Gelişmiş ayarlar", + "entities": "Varlıklar", + "rule-engine": "Kural Motoru", + "time-to-live": "Geçerlilik süresi (TTL)", + "calculated-fields": "Hesaplanmış alanlar", + "alarms-and-notifications": "Alarmlar ve bildirimler", + "ota-files-in-bytes": "Dosyalar", + "ws-title": "WS", + "unlimited": "(0 - sınırsız)", + "maximum-devices": "Maksimum cihaz sayısı", + "maximum-devices-required": "Maksimum cihaz sayısı gereklidir.", + "maximum-devices-range": "Maksimum cihaz sayısı negatif olamaz", + "maximum-assets": "Maksimum varlık sayısı", + "maximum-assets-required": "Maksimum varlık sayısı gereklidir.", "maximum-assets-range": "Maksimum varlık sayısı negatif olamaz", - "maximum-customers": "Maksimum kullanıcı grubu sayısı (0 - sınırsız)", - "maximum-customers-required": "Maksimum kullanıcı grubu sayısı gerekli.", - "maximum-customers-range": "Maksimum kullanıcı grubu sayısı negatif olamaz", - "maximum-users": "Maksimum kullanıcı sayısı (0 - sınırsız)", - "maximum-users-required": "Maksimum kullanıcı sayısı gerekli.", + "maximum-customers": "Maksimum müşteri sayısı", + "maximum-customers-required": "Maksimum müşteri sayısı gereklidir.", + "maximum-customers-range": "Maksimum müşteri sayısı negatif olamaz", + "maximum-users": "Maksimum kullanıcı sayısı", + "maximum-users-required": "Maksimum kullanıcı sayısı gereklidir.", "maximum-users-range": "Maksimum kullanıcı sayısı negatif olamaz", - "maximum-dashboards": "Maksimum gösterge paneli sayısı (0 - sınırsız)", - "maximum-dashboards-required": "Maksimum gösterge paneli sayısı gerekli.", - "maximum-dashboards-range": "Maksimum gösterge paneli sayısı negatif olamaz", - "maximum-edges": "Maksimum gösterge kenar sayısı (0 - sınırsız)", - "maximum-edges-required": "Maksimum gösterge kenar sayısı gerekli.", - "maximum-edges-range": "Maksimum gösterge kenar sayısı negatif olamaz", - "maximum-rule-chains": "Maksimum kural zinciri sayısı (0 - sınırsız)", - "maximum-rule-chains-required": "Maksimum kural zinciri sayısı gerekli.", + "maximum-dashboards": "Maksimum dashboard sayısı", + "maximum-dashboards-required": "Maksimum dashboard sayısı gereklidir.", + "maximum-dashboards-range": "Maksimum dashboard sayısı negatif olamaz", + "maximum-edges": "Maksimum edge sayısı", + "maximum-edges-required": "Maksimum edge sayısı gereklidir.", + "maximum-edges-range": "Maksimum edge sayısı negatif olamaz", + "maximum-rule-chains": "Maksimum kural zinciri sayısı", + "maximum-rule-chains-required": "Maksimum kural zinciri sayısı gereklidir.", "maximum-rule-chains-range": "Maksimum kural zinciri sayısı negatif olamaz", - "maximum-resources-sum-data-size": "Bayt cinsinden kaynak dosyalarının maksimum toplamı (0 - sınırsız)", - "maximum-resources-sum-data-size-required": "Kaynak dosyaları boyutunun maksimum toplamı gerekli.", - "maximum-resources-sum-data-size-range": "Kaynak dosyaları boyutunun maksimum toplamı negatif olamaz", - "maximum-ota-packages-sum-data-size": "Ota paketi dosyalarının bayt cinsinden maksimum toplamı (0 - sınırsız)", - "maximum-ota-package-sum-data-size-required": "Ota paketi dosyalarının maksimum toplamı gerekli.", - "maximum-ota-package-sum-data-size-range": "Ota paketi dosyalarının maksimum toplamı negatif olamaz", - "transport-tenant-telemetry-msg-rate-limit": "Taşıma tenant telemetri iletileri hız sınırı.", - "transport-tenant-telemetry-data-points-rate-limit": "Taşıma tenant telemetri veri noktaları hız sınırı.", - "transport-device-msg-rate-limit": "Taşıma cihazı mesajları hız sınırı.", - "transport-device-telemetry-msg-rate-limit": "Taşıma cihazı telemetri mesajları hız sınırı.", - "transport-device-telemetry-data-points-rate-limit": "Taşıma cihazı telemetri veri noktaları hız sınırı.", - "max-transport-messages": "Maksimum taşıma mesajı sayısı (0 - sınırsız)", - "max-transport-messages-required": "Maksimum taşıma mesajı sayısı gerekli.", + "maximum-resources-sum-data-size": "Kaynak dosyalarının maksimum toplam boyutu (bayt)", + "maximum-resources-sum-data-size-required": "Kaynak dosyalarının maksimum toplam boyutu gereklidir.", + "maximum-resources-sum-data-size-range": "Kaynak dosyalarının maksimum toplam boyutu negatif olamaz", + "maximum-resource-size": "Maksimum kaynak dosyası boyutu (bayt)", + "maximum-resource-size-required": "Maksimum kaynak dosyası boyutu gereklidir", + "maximum-resource-size-range": "Maksimum kaynak dosyası boyutu negatif olamaz", + "maximum-ota-packages-sum-data-size": "OTA paket dosyalarının maksimum toplam boyutu (bayt)", + "maximum-ota-package-sum-data-size-required": "OTA paket dosyalarının maksimum toplam boyutu gereklidir.", + "maximum-ota-package-sum-data-size-range": "OTA paket dosyalarının maksimum toplam boyutu negatif olamaz", + "maximum-debug-duration-min": "Maksimum hata ayıklama süresi (dakika)", + "maximum-debug-duration-min-range": "Maksimum hata ayıklama süresi negatif olamaz", + "rest-requests-for-tenant": "Kiracı için REST istekleri", + "transport-tenant-telemetry-msg-rate-limit": "Taşıma kiracı telemetri mesajları", + "transport-tenant-telemetry-data-points-rate-limit": "Taşıma kiracı telemetri veri noktaları", + "transport-device-msg-rate-limit": "Taşıma cihaz mesajları", + "transport-device-telemetry-msg-rate-limit": "Taşıma cihaz telemetri mesajları", + "transport-device-telemetry-data-points-rate-limit": "Taşıma cihaz telemetri veri noktaları", + "transport-gateway-msg-rate-limit": "Taşıma ağ geçidi mesajları", + "transport-gateway-telemetry-msg-rate-limit": "Taşıma ağ geçidi telemetri mesajları", + "transport-gateway-telemetry-data-points-rate-limit": "Taşıma ağ geçidi telemetri veri noktaları", + "transport-gateway-device-msg-rate-limit": "Taşıma ağ geçidi cihaz mesajları", + "transport-gateway-device-telemetry-msg-rate-limit": "Taşıma ağ geçidi cihaz telemetri mesajları", + "transport-gateway-device-telemetry-data-points-rate-limit": "Taşıma ağ geçidi cihaz telemetri veri noktaları", + "tenant-entity-export-rate-limit": "Varlık sürümü oluşturma", + "tenant-entity-import-rate-limit": "Varlık sürümü yükleme", + "tenant-notification-request-rate-limit": "Bildirim istekleri", + "tenant-notification-requests-per-rule-rate-limit": "Her bildirim kuralı için bildirim istekleri", + "max-calculated-fields": "Varlık başına maksimum hesaplanmış alan sayısı", + "max-calculated-fields-range": "Varlık başına maksimum hesaplanmış alan sayısı negatif olamaz", + "max-calculated-fields-required": "Varlık başına maksimum hesaplanmış alan sayısı gereklidir", + "max-data-points-per-rolling-arg": "Kayan argümanlarda maksimum veri noktası sayısı", + "max-data-points-per-rolling-arg-range": "Kayan argümanlarda maksimum veri noktası sayısı negatif olamaz", + "max-data-points-per-rolling-arg-required": "Kayan argümanlarda maksimum veri noktası sayısı gereklidir", + "max-arguments-per-cf": "Hesaplanmış alan başına maksimum argüman sayısı", + "max-arguments-per-cf-range": "Hesaplanmış alan başına maksimum argüman sayısı negatif olamaz", + "max-arguments-per-cf-required": "Hesaplanmış alan başına maksimum argüman sayısı gereklidir", + "max-state-size": "Durumun maksimum boyutu (KB)", + "max-state-size-range": "Durumun maksimum boyutu (KB) negatif olamaz", + "max-state-size-required": "Durumun maksimum boyutu (KB) gereklidir", + "max-value-argument-size": "Tek bir değer argümanının maksimum boyutu (KB)", + "max-value-argument-size-range": "Tek bir değer argümanının maksimum boyutu (KB) negatif olamaz", + "max-value-argument-size-required": "Tek bir değer argümanının maksimum boyutu (KB) gereklidir", + "max-transport-messages": "Maksimum taşıma mesajı sayısı", + "max-transport-messages-required": "Maksimum taşıma mesajı sayısı gereklidir.", "max-transport-messages-range": "Maksimum taşıma mesajı sayısı negatif olamaz", - "max-transport-data-points": "Maksimum taşıma veri noktası sayısı (0 - sınırsız)", - "max-transport-data-points-required": "Maksimum taşıma veri noktası sayısı gerekli.", + "max-transport-data-points": "Maksimum taşıma veri noktası sayısı", + "max-transport-data-points-required": "Maksimum taşıma veri noktası sayısı gereklidir.", "max-transport-data-points-range": "Maksimum taşıma veri noktası sayısı negatif olamaz", - "max-r-e-executions": "Maksimum Kural Motoru yürütme sayısı (0 - sınırsız)", - "max-r-e-executions-required": "Maksimum Kural Motoru yürütme sayısı gerekli.", + "max-r-e-executions": "Maksimum Kural Motoru yürütme sayısı", + "max-r-e-executions-required": "Maksimum Kural Motoru yürütme sayısı gereklidir.", "max-r-e-executions-range": "Maksimum Kural Motoru yürütme sayısı negatif olamaz", - "max-j-s-executions": "Maksimum JavaScript yürütme sayısı (0 - sınırsız)", - "max-j-s-executions-required": "Maksimum JavaScript yürütme sayısı gerekli.", + "max-j-s-executions": "Maksimum JavaScript yürütme sayısı", + "max-j-s-executions-required": "Maksimum JavaScript yürütme sayısı gereklidir.", "max-j-s-executions-range": "Maksimum JavaScript yürütme sayısı negatif olamaz", - "max-d-p-storage-days": "Maksimum veri noktası depolama günü sayısı (0 - sınırsız)", - "max-d-p-storage-days-required": "Maksimum veri noktası depolama günü sayısı gerekli.", - "max-d-p-storage-days-range": "Maksimum veri noktası depolama günü sayısı negatif olamaz", - "default-storage-ttl-days": "Varsayılan depolama TTL günleri (0 - sınırsız)", - "default-storage-ttl-days-required": "Varsayılan depolama TTL günleri gerekli.", - "default-storage-ttl-days-range": "Varsayılan depolama TTL günleri negatif olamaz", - "alarms-ttl-days": "Alarm TTL günleri (0 - sınırsız)", - "alarms-ttl-days-required": "Alarm TTL günleri gerekli", - "alarms-ttl-days-days-range": "Alarm TTL günleri negatif olamaz", - "rpc-ttl-days": "RPC TTL günleri (0 - sınırsız)", - "rpc-ttl-days-required": "RPC TTL günleri gerekli", - "rpc-ttl-days-days-range": "RPC TTL günleri negatif olamaz", - "max-rule-node-executions-per-message": "Mesaj başına maksimum kural düğümü yürütme sayısı (0 - sınırsız)", - "max-rule-node-executions-per-message-required": "İleti başına maksimum kural düğümü yürütme sayısı gerekli.", - "max-rule-node-executions-per-message-range": "İleti başına maksimum kural düğümü yürütme sayısı negatif olamaz", - "max-emails": "Gönderilen maksimum e-posta sayısı (0 - sınırsız)", - "max-emails-required": "Gönderilen maksimum e-posta sayısı gerekli.", - "max-emails-range": "Gönderilen maksimum e-posta sayısı negatif olamaz", - "max-sms": "Gönderilen maksimum SMS sayısı (0 - sınırsız)", - "max-sms-required": "Gönderilen maksimum SMS sayısı gerekli.", - "max-sms-range": "Gönderilen maksimum SMS sayısı negatif olamaz", - "max-created-alarms": "Oluşturulan maksimum alarm sayısı (0 - sınırsız)", - "max-created-alarms-required": "Oluşturulan maksimum alarm sayısı gerekli.", - "max-created-alarms-range": "Oluşturulan maksimum alarm sayısı negatif olamaz" + "max-tbel-executions": "Maksimum TBEL yürütme sayısı", + "max-tbel-executions-required": "Maksimum TBEL yürütme sayısı gereklidir.", + "max-tbel-executions-range": "Maksimum TBEL yürütme sayısı negatif olamaz", + "max-d-p-storage-days": "Veri noktalarının maksimum saklama süresi (gün)", + "max-d-p-storage-days-required": "Veri noktalarının maksimum saklama süresi gereklidir.", + "max-d-p-storage-days-range": "Veri noktalarının maksimum saklama süresi negatif olamaz", + "default-storage-ttl-days": "Varsayılan depolama TTL süresi (gün)", + "default-storage-ttl-days-required": "Varsayılan depolama TTL süresi gereklidir.", + "default-storage-ttl-days-range": "Varsayılan depolama TTL süresi negatif olamaz", + "alarms-ttl-days": "Alarm TTL süresi (gün)", + "alarms-ttl-days-required": "Alarm TTL süresi gereklidir", + "alarms-ttl-days-days-range": "Alarm TTL süresi negatif olamaz", + "rpc-ttl-days": "RPC TTL süresi (gün)", + "rpc-ttl-days-required": "RPC TTL süresi gereklidir", + "rpc-ttl-days-days-range": "RPC TTL süresi negatif olamaz", + "queue-stats-ttl-days": "Kuyruk istatistikleri TTL süresi (gün)", + "queue-stats-ttl-days-required": "Kuyruk istatistikleri TTL süresi gereklidir", + "queue-stats-ttl-days-range": "Kuyruk istatistikleri TTL süresi negatif olamaz", + "rule-engine-exceptions-ttl-days": "Kural Motoru istisnaları TTL süresi (gün)", + "rule-engine-exceptions-ttl-days-required": "Kural Motoru istisnaları TTL süresi gereklidir", + "rule-engine-exceptions-ttl-days-range": "Kural Motoru istisnaları TTL süresi negatif olamaz", + "max-rule-node-executions-per-message": "Mesaj başına Kural düğümü yürütme maksimum sayısı", + "max-rule-node-executions-per-message-required": "Mesaj başına Kural düğümü yürütme maksimum sayısı gereklidir.", + "max-rule-node-executions-per-message-range": "Mesaj başına Kural düğümü yürütme maksimum sayısı negatif olamaz", + "max-emails": "Gönderilen e-posta maksimum sayısı", + "max-emails-required": "Gönderilen e-posta maksimum sayısı gereklidir.", + "max-emails-range": "Gönderilen e-posta maksimum sayısı negatif olamaz", + "sms-enabled": "SMS etkin", + "max-sms": "Gönderilen SMS maksimum sayısı", + "max-sms-required": "Gönderilen SMS maksimum sayısı gereklidir.", + "max-sms-range": "Gönderilen SMS maksimum sayısı negatif olamaz", + "max-created-alarms": "Oluşturulan alarm maksimum sayısı", + "max-created-alarms-required": "Oluşturulan alarm maksimum sayısı gereklidir.", + "max-created-alarms-range": "Oluşturulan alarm maksimum sayısı negatif olamaz", + "no-queue": "Tanımlı Kuyruk yok", + "add-queue": "Kuyruk Ekle", + "queues-with-count": "Kuyruklar ({{count}})", + "tenant-rest-limits": "Kiracı için REST istekleri", + "customer-rest-limits": "Müşteri için REST istekleri", + "incorrect-pattern-for-rate-limits": "Biçim, iki nokta ile ayrılmış kapasite ve süre (saniye) çiftlerinden oluşmalıdır, örn. 100:1,2000:60", + "too-small-value-zero": "Değer 0'dan büyük olmalıdır", + "too-small-value-one": "Değer 1'den büyük olmalıdır", + "queue-size-is-limited-by-system-configuration": "Kuyruk boyutu sistem yapılandırması ile de sınırlıdır.", + "cassandra-write-tenant-core-limits-configuration": "Rest API Cassandra yazma sorguları", + "cassandra-read-tenant-core-limits-configuration": "Rest API ve WS telemetri Cassandra okuma sorguları", + "cassandra-write-tenant-rule-engine-limits-configuration": "Kural Motoru telemetri Cassandra yazma sorguları", + "cassandra-read-tenant-rule-engine-limits-configuration": "Kural Motoru telemetri Cassandra okuma sorguları", + "ws-limit-max-sessions-per-tenant": "Kiracı başına oturum maksimum sayısı", + "ws-limit-max-sessions-per-customer": "Müşteri başına oturum maksimum sayısı", + "ws-limit-max-sessions-per-regular-user": "Normal kullanıcı başına oturum maksimum sayısı", + "ws-limit-max-sessions-per-public-user": "Genel kullanıcı başına oturum maksimum sayısı", + "ws-limit-queue-per-session": "Oturum başına mesaj kuyruğu maksimum boyutu", + "ws-limit-max-subscriptions-per-tenant": "Kiracı başına abonelik maksimum sayısı", + "ws-limit-max-subscriptions-per-customer": "Müşteri başına abonelik maksimum sayısı", + "ws-limit-max-subscriptions-per-regular-user": "Normal kullanıcı başına abonelik maksimum sayısı", + "ws-limit-max-subscriptions-per-public-user": "Genel kullanıcı başına abonelik maksimum sayısı", + "ws-limit-updates-per-session": "Oturum başına WS güncellemeleri", + "rate-limits": { + "add-limit": "Sınır ekle", + "and-also-less-than": "ve ayrıca daha az", + "advanced-settings": "Gelişmiş ayarlar", + "edit-limit": "Sınırı düzenle", + "calculated-field-debug-event-rate-limit": "Hesaplanmış alan hata ayıklama olayları", + "edit-calculated-field-debug-event-rate-limit": "Hesaplanmış alan hata ayıklama olayları sınırını düzenle", + "edit-transport-tenant-msg-title": "Kiracı taşıma mesaj sınırlarını düzenle", + "edit-transport-tenant-telemetry-msg-title": "Kiracı taşıma telemetri mesaj sınırlarını düzenle", + "edit-transport-tenant-telemetry-data-points-title": "Kiracı taşıma telemetri veri noktası sınırlarını düzenle", + "edit-transport-device-msg-title": "Cihaz taşıma mesaj sınırlarını düzenle", + "edit-transport-device-telemetry-msg-title": "Cihaz taşıma telemetri mesaj sınırlarını düzenle", + "edit-transport-device-telemetry-data-points-title": "Cihaz taşıma telemetri veri noktası sınırlarını düzenle", + "edit-transport-gateway-msg-title": "Ağ geçidi taşıma mesaj sınırlarını düzenle", + "edit-transport-gateway-telemetry-msg-title": "Ağ geçidi taşıma telemetri mesaj sınırlarını düzenle", + "edit-transport-gateway-telemetry-data-points-title": "Ağ geçidi taşıma telemetri veri noktası sınırlarını düzenle", + "edit-transport-gateway-device-msg-title": "Ağ geçidi cihaz taşıma mesaj sınırlarını düzenle", + "edit-transport-gateway-device-telemetry-msg-title": "Ağ geçidi cihaz telemetri mesaj sınırlarını düzenle", + "edit-transport-gateway-device-telemetry-data-points-title": "Ağ geçidi cihaz telemetri veri noktası sınırlarını düzenle", + "edit-tenant-rest-limits-title": "Kiracı için REST istek sınırlarını düzenle", + "edit-customer-rest-limits-title": "Müşteri için REST istek sınırlarını düzenle", + "edit-ws-limit-updates-per-session-title": "Oturum başına WS güncelleme sınırlarını düzenle", + "edit-cassandra-write-tenant-core-limits-configuration": "REST API Cassandra yazma sorgularını düzenle", + "edit-cassandra-read-tenant-core-limits-configuration": "REST API ve WS telemetri Cassandra okuma sorgularını düzenle", + "edit-cassandra-write-tenant-rule-engine-limits-configuration": "Kural Motoru telemetri Cassandra yazma sorgularını düzenle", + "edit-cassandra-read-tenant-rule-engine-limits-configuration": "Kural Motoru telemetri Cassandra okuma sorgularını düzenle", + "edit-tenant-entity-export-rate-limit-title": "Varlık sürümü oluşturma sınırlarını düzenle", + "edit-tenant-entity-import-rate-limit-title": "Varlık sürümü yükleme sınırlarını düzenle", + "edit-tenant-notification-request-rate-limit-title": "Bildirim istekleri sınırlarını düzenle", + "edit-tenant-notification-requests-per-rule-rate-limit-title": "Bildirim kuralı başına istek sınırlarını düzenle", + "edit-edge-events-rate-limit": "Edge olayları sınırlarını düzenle", + "edit-edge-events-per-edge-rate-limit": "Edge başına olay sınırlarını düzenle", + "edge-events-rate-limit": "Edge olayları", + "edge-events-per-edge-rate-limit": "Edge başına olaylar", + "edit-edge-uplink-messages-rate-limit": "Edge uplink mesaj sınırlarını düzenle", + "edit-edge-uplink-messages-per-edge-rate-limit": "Edge başına uplink mesaj sınırlarını düzenle", + "edge-uplink-messages-rate-limit": "Edge uplink mesajları", + "edge-uplink-messages-per-edge-rate-limit": "Edge başına uplink mesajları", + "messages-per": "mesaj/saniye", + "not-set": "Ayarlanmadı", + "number-of-messages": "Mesaj sayısı", + "number-of-messages-required": "Mesaj sayısı gereklidir.", + "number-of-messages-min": "Minimum değer 1 olmalıdır.", + "preview": "Önizleme", + "per-seconds": "Saniye başına", + "per-seconds-required": "Zaman oranı gereklidir.", + "per-seconds-min": "Minimum değer 1 olmalıdır.", + "per-seconds-duplicate": "Zaman oranı tekrarı. Her zaman aralığı benzersiz olmalıdır.", + "rate-limits": "Oran sınırlamaları", + "remove-limit": "Sınırı kaldır", + "transport-tenant-msg": "Kiracı taşıma mesajları", + "transport-tenant-telemetry-msg": "Kiracı taşıma telemetri mesajları", + "transport-tenant-telemetry-data-points": "Kiracı taşıma telemetri veri noktaları", + "transport-device-msg": "Cihaz taşıma mesajları", + "transport-device-telemetry-msg": "Cihaz taşıma telemetri mesajları", + "transport-device-telemetry-data-points": "Cihaz taşıma telemetri veri noktaları", + "transport-gateway-msg": "Ağ geçidi taşıma mesajları", + "transport-gateway-telemetry-msg": "Ağ geçidi taşıma telemetri mesajları", + "transport-gateway-telemetry-data-points": "Ağ geçidi taşıma telemetri veri noktaları", + "transport-gateway-device-msg": "Ağ geçidi cihaz taşıma mesajları", + "transport-gateway-device-telemetry-msg": "Ağ geçidi cihaz telemetri mesajları", + "transport-gateway-device-telemetry-data-points": "Ağ geçidi cihaz telemetri veri noktaları", + "sec": "sn" + } }, "timeinterval": { "seconds-interval": "{ seconds, plural, =1 {1 saniye} other {# saniye} }", @@ -2604,26 +5867,39 @@ "hours": "Saat", "minutes": "Dakika", "seconds": "Saniye", - "advanced": "İleri düzey", + "advanced": "Gelişmiş", + "custom": "Özel", "predefined": { "yesterday": "Dün", - "day-before-yesterday": "Dünden önceki gün", - "this-day-last-week": "Geçen hafta bugün", + "day-before-yesterday": "Evvelsi gün", + "this-day-last-week": "Geçen hafta bu gün", "previous-week": "Önceki hafta (Paz - Cmt)", - "previous-week-iso": "Önceki hafta (Pzt - Paz)", - "previous-month": "Geçen ay", - "previous-year": "Geçen yıl", - "current-hour": "Mevcut saat", + "previous-week-iso": "Önceki hafta (Pts - Paz)", + "previous-month": "Önceki ay", + "previous-quarter": "Önceki çeyrek", + "previous-half-year": "Önceki yarı yıl", + "previous-year": "Önceki yıl", + "current-hour": "Geçerli saat", "current-day": "Bugün", - "current-day-so-far": "Şimdiye kadarki gün", + "current-day-so-far": "Bugüne kadar", "current-week": "Bu hafta (Paz - Cmt)", - "current-week-iso": "Bu hafta (Pzt - Paz)", - "current-week-so-far": "Şu ana kadarki hafta (Paz - Cmt)", - "current-week-iso-so-far": "Şu ana kadarki hafta (Pzt - Paz)", + "current-week-iso": "Bu hafta (Pts - Paz)", + "current-week-so-far": "Bu hafta şimdiye kadar (Paz - Cmt)", + "current-week-iso-so-far": "Bu hafta şimdiye kadar (Pts - Paz)", "current-month": "Bu ay", - "current-month-so-far": "Şimdiye kadarki ay", + "current-month-so-far": "Bu ay şimdiye kadar", + "current-quarter": "Bu çeyrek", + "current-quarter-so-far": "Bu çeyrek şimdiye kadar", + "current-half-year": "Bu yarı yıl", + "current-half-year-so-far": "Bu yarı yıl şimdiye kadar", "current-year": "Bu yıl", - "current-year-so-far": "Şu ana kadarki yıl" + "current-year-so-far": "Bu yıl şimdiye kadar" + }, + "type": { + "week": "Hafta (Paz - Cmt)", + "week-iso": "Hafta (Pts - Paz)", + "month": "Ay", + "quarter": "Çeyrek" } }, "timeunit": { @@ -2634,44 +5910,660 @@ "days": "Gün" }, "timewindow": { + "timewindow": "Zaman aralığı", + "timewindow-settings": "Zaman aralığı ayarları", + "years": "{ years, plural, =1 { yıl } other {# yıl } }", + "years-short": "{{ years }}y", + "months": "{ months, plural, =1 { ay } other {# ay } }", + "months-short": "{{ months }}A", + "weeks": "{ weeks, plural, =1 { hafta } other {# hafta } }", + "weeks-short": "{{ weeks }}h", "days": "{ days, plural, =1 { gün } other {# gün } }", + "days-short": "{{ days }}g", "hours": "{ hours, plural, =0 { saat } =1 {1 saat } other {# saat } }", + "hr": "{{ hr }} sa", + "hr-short": "{{ hr }}s", "minutes": "{ minutes, plural, =0 { dakika } =1 {1 dakika } other {# dakika } }", + "min": "{{ min }} dk", + "min-short": "{{ min }}d", "seconds": "{ seconds, plural, =0 { saniye } =1 {1 saniye } other {# saniye } }", - "realtime": "Gerçek zaman", - "history": "Tarih", + "sec": "{{ sec }} sn", + "sec-short": "{{ sec }}s", + "short": { + "years": "{ years, plural, =1 {1 yıl } other {# yıl } }", + "days": "{ days, plural, =1 {1 gün } other {# gün } }", + "hours": "{ hours, plural, =1 {1 saat } other {# saat } }", + "minutes": "{{minutes}} dk ", + "seconds": "{{seconds}} sn " + }, + "realtime": "Gerçek zamanlı", + "history": "Geçmiş", "last-prefix": "son", - "period": "{{ startTime }}'dan {{ endTime }}'a kadar", + "period": "{{ startTime }} ile {{ endTime }} arası", "edit": "Zaman aralığını düzenle", "date-range": "Tarih aralığı", + "for-all-time": "Tüm zamanlar için", "last": "Son", "time-period": "Zaman periyodu", "hide": "Gizle", - "interval": "Aralık" + "interval": "Aralık", + "just-now": "Şu anda", + "just-now-lower": "şu anda", + "ago": "önce", + "style": "Zaman aralığı stili", + "icon": "Simge", + "icon-position": "Simge konumu", + "icon-position-left": "Sol", + "icon-position-right": "Sağ", + "font": "Yazı tipi", + "color": "Renk", + "displayTypePrefix": "Gerçek zamanlı/Geçmiş öneki göster", + "preview": "Önizleme", + "relative": "Göreceli", + "range": "Aralık", + "hide-timewindow-section": "Zaman aralığı bölümünü son kullanıcılardan gizle", + "hide-last-interval": "Son aralığı son kullanıcılardan gizle", + "hide-relative-interval": "Göreceli aralığı son kullanıcılardan gizle", + "hide-fixed-interval": "Sabit aralığı son kullanıcılardan gizle", + "hide-aggregation": "Toplamayı son kullanıcılardan gizle", + "hide-group-interval": "Gruplama aralığını son kullanıcılardan gizle", + "hide-max-values": "Maksimum değerleri son kullanıcılardan gizle", + "hide-timezone": "Zaman dilimini son kullanıcılardan gizle", + "disable-custom-interval": "Özel aralık seçimini devre dışı bırak", + "edit-aggregation-functions-list": "Toplama işlevleri listesini düzenle", + "edit-aggregation-functions-list-hint": "Kullanılabilir seçeneklerin listesi belirtilebilir.", + "allowed-aggregation-functions": "İzin verilen toplama işlevleri", + "edit-intervals-list": "Aralık listesini düzenle", + "allowed-agg-intervals": "Gruplama aralıkları", + "default-agg-interval": "Varsayılan gruplama aralığı", + "edit-intervals-list-hint": "Kullanılabilir aralık seçeneklerinin listesi belirtilebilir.", + "edit-grouping-intervals-list-hint": "Gruplama aralıkları listesi ve varsayılan gruplama aralığı yapılandırılabilir.", + "all": "Tümü" + }, + "tooltip": { + "trigger": "Tetikleyici", + "trigger-point": "Nokta", + "trigger-axis": "Eksen", + "label": "Etiket", + "value": "Değer", + "date": "Tarih", + "show-date-time-interval": "Tarih ve saat aralığını göster", + "show-date-time-interval-hint": "Veri toplamaya göre tarih ve saat aralığını göster.", + "hide-zero-tooltip-values": "Sıfır değerleri gizle", + "background-color": "Arka plan rengi", + "background-blur": "Arka plan bulanıklığı" + }, + "unit": { + "set-unit-conversion": "Birim dönüşümünü ayarla", + "unit-settings": { + "unit-settings": "Birim ayarları", + "source-unit": "Kaynak birim", + "source-unit-hint": "Bu, saklanan değerin birimidir. Dönüştürmek istediğiniz birim. Kaynak verinizin kullandığı sembolü girin (örn. m, km, ft, in).", + "target-metric-unit": "Hedef metrik birim", + "target-metric-unit-hint": "Kaynak değerinizi dönüştürmek istediğiniz metrik (SI) birimi seçin (örn. cm, mm, km).", + "target-imperial-unit": "Hedef imperial birim", + "target-imperial-unit-hint": "Kaynak değerinizi dönüştürmek istediğiniz imperial birimi seçin (örn. in, ft, yd).", + "target-hybrid-unit": "Hedef hibrit birim", + "target-hybrid-unit-hint": "Kaynak değerinizi dönüştürmek istediğiniz hibrit birimi seçin (örn. cm, in, km). Hibrit birimler metrik veya imperial birimlerin birleşimidir.", + "enable-unit-conversion": "Birim dönüşümünü etkinleştir", + "enable-unit-conversion-hint": "Dönüştürmeyi etkinleştirmek için açın. Kapalıyken kaynak değeri değiştirilmeden iletilir. İlgili ölçüm grubunda yalnızca bir birim varsa devre dışı bırakılır (örn. Işık akısı, Hava Kalite İndeksi)." + }, + "unit-system": "Birim sistemi", + "unit-system-type": { + "AUTO": "Otomatik", + "METRIC": "Metrik", + "IMPERIAL": "Imperial", + "HYBRID": "Hibrit" + }, + "measures": { + "absorbed-dose-rate": "Emilen doz oranı", + "acceleration": "İvme", + "acidity": "Asitlik", + "air-quality-index": "Hava kalite indeksi", + "amount-of-substance": "Madde miktarı", + "angle": "Açı", + "angular-acceleration": "Açısal ivme", + "area": "Alan", + "area-density": "Alan yoğunluğu", + "capacitance": "Kapasitans", + "catalytic-activity": "Katalitik aktivite", + "catalytic-concentration": "Katalitik konsantrasyon", + "charge": "Yük", + "current-density": "Akım yoğunluğu", + "data-transfer-rate": "Veri aktarım hızı", + "density": "Yoğunluk", + "digital": "Dijital", + "dimension-ratio": "Boyut oranı", + "dynamic-viscosity": "Dinamik viskozite", + "earthquake-magnitude": "Deprem büyüklüğü", + "electric-charge-density": "Elektrik yük yoğunluğu", + "electric-current": "Elektrik akımı", + "electric-dipole-moment": "Elektrik dipol momenti", + "electric-field-strength": "Elektrik alan şiddeti", + "electric-flux": "Elektrik akısı", + "electric-permittivity": "Elektrik geçirgenliği", + "electric-polarizability": "Elektrik polarizabilitesi", + "electrical-conductance": "Elektrik iletkenliği", + "electrical-conductivity": "Elektriksel iletkenlik", + "energy": "Enerji", + "energy-density": "Enerji yoğunluğu", + "force": "Kuvvet", + "frequency": "Frekans", + "fuel-efficiency": "Yakıt verimliliği", + "heat-capacity": "Isı kapasitesi", + "illuminance": "Aydınlanma", + "inductance": "Endüktans", + "kinematic-viscosity": "Kinematik viskozite", + "length": "Uzunluk", + "light-exposure": "Işık maruziyeti", + "linear-charge-density": "Doğrusal yük yoğunluğu", + "logarithmic-ratio": "Logaritmik oran", + "luminous-efficacy": "Işık verimi", + "luminous-flux": "Işık akısı", + "luminous-intensity": "Işık şiddeti", + "magnetic-field-gradient": "Manyetik alan gradyanı", + "magnetic-flux": "Manyetik akı", + "magnetic-flux-density": "Manyetik akı yoğunluğu", + "magnetic-moment": "Manyetik moment", + "magnetic-permeability": "Manyetik geçirgenlik", + "mass": "Kütle", + "mass-fraction": "Kütle oranı", + "molar-concentration": "Mol konsantrasyonu", + "molar-energy": "Mol enerjisi", + "molar-heat-capacity": "Mol ısı kapasitesi", + "molar-mass": "Mol kütlesi", + "number-concentration": "Sayı konsantrasyonu", + "parts-per-million": "Milyonda bir oranı (ppm)", + "power": "Güç", + "power-density": "Güç yoğunluğu", + "pressure": "Basınç", + "radiance": "Işınım", + "radiant-intensity": "Işınım şiddeti", + "radiation-dose": "Radyasyon dozu", + "radioactive-decay": "Radyoaktif bozunma", + "radioactivity": "Radyoaktivite", + "radioactivity-concentration": "Radyoaktivite konsantrasyonu", + "reciprocal-length": "Ters uzunluk", + "resistance": "Direnç", + "reynolds-number": "Reynolds sayısı", + "signal-level": "Sinyal seviyesi", + "solid-angle": "Katı açı", + "specific-energy": "Özgül enerji", + "specific-heat-capacity": "Özgül ısı kapasitesi", + "specific-humidity": "Özgül nem", + "specific-volume": "Özgül hacim", + "speed": "Hız", + "surface-charge-density": "Yüzey yük yoğunluğu", + "surface-tension": "Yüzey gerilimi", + "temperature": "Sıcaklık", + "thermal-conductivity": "Isıl iletkenlik", + "time": "Zaman", + "torque": "Tork", + "turbidity": "Bulanıklık", + "voltage": "Gerilim", + "volume": "Hacim", + "volume-flow": "Hacimsel akış" + }, + "millimeter": "Milimetre", + "centimeter": "Santimetre", + "decimeter": "Desimetre", + "angstrom": "Angström", + "nanometer": "Nanometre", + "micrometer": "Mikrometre", + "meter": "Metre", + "kilometer": "Kilometre", + "inch": "İnç", + "foot": "Ayak", + "foot-us": "Ayak (ABD ölçümü)", + "yard": "Yarda", + "mile": "Mil", + "nautical-mile": "Deniz mili", + "astronomical-unit": "Astronomik birim", + "reciprocal-metre": "Ters metre", + "meter-per-meter": "Metre bölü metre", + "steradian": "Steradyan", + "thou": "Mil", + "barleycorn": "Arpa tanesi", + "hand": "El", + "chain": "Zincir", + "furlong": "Furlong", + "league": "Lig", + "fathom": "Fathom", + "cable": "Kablo", + "link": "Bağlantı", + "rod": "Çubuk", + "nanogram": "Nanogram", + "microgram": "Mikrogram", + "milligram": "Miligram", + "gram": "Gram", + "kilogram": "Kilogram", + "tonne": "Ton", + "ounce": "Ons", + "pound": "Pound", + "stone": "Stone", + "hundredweight-count": "Yüzlibre", + "short-tons": "Kısa ton", + "dalton": "Dalton", + "grain": "Grain", + "drachm": "Dirhem", + "quarter": "Çeyrek", + "slug": "Slug", + "carat": "Karat", + "cubic-millimeter": "Milimetreküp", + "cubic-centimeter": "Santimetreküp", + "cubic-meter": "Metreküp", + "cubic-kilometer": "Kilometreküp", + "microliter": "Mikrolitre", + "milliliter": "Mililitre", + "liter": "Litre", + "hectoliter": "Hektolitre", + "cubic-inch": "İnç küp", + "cubic-foot": "Ayak küp", + "cubic-yard": "Yarda küp", + "fluid-ounce": "Sıvı ons", + "fluid-ounce-per-second": "Saniyede sıvı ons", + "pint": "Pint", + "quart": "Quart", + "gallon": "Galon", + "oil-barrels": "Petrol varili", + "cubic-meter-per-kilogram": "Kilogram başına metreküp", + "gill": "Gill", + "hogshead": "Hogshead", + "teaspoon": "Çay kaşığı", + "tablespoon": "Yemek kaşığı", + "cup": "Bardak", + "celsius": "Santigrat", + "kelvin": "Kelvin", + "rankine": "Rankine", + "fahrenheit": "Fahrenheit", + "percent": "Yüzde", + "meter-per-second": "Metre/saniye", + "kilometer-per-hour": "Kilometre/saat", + "foot-per-second": "Ayak/saniye", + "foot-per-minute": "Ayak/dakika", + "mile-per-hour": "Mil/saat", + "knot": "Knot", + "inch-per-second": "İnç/saniye", + "inch-per-hour": "İnç/saat", + "millimeters-per-minute": "Milimetre/dakika", + "meter-per-minute": "Metre/dakika", + "kilometer-per-hour-squared": "Kilometre/saat²", + "foot-per-second-squared": "Ayak/saniye²", + "pascal": "Pascal", + "kilopascal": "Kilopascal", + "megapascal": "Megapascal", + "gigapascal": "Gigapascal", + "millibar": "Milibar", + "bar": "Bar", + "kilobar": "Kilobar", + "newton": "Newton", + "newton-meter": "Newton metre", + "foot-pounds": "Ayak-pound", + "inch-pounds": "İnç-pound", + "newton-per-meter": "Newton/metre", + "atmospheres": "Atmosfer", + "pounds-per-square-inch": "İnç kare başına pound", + "kilopound-per-square-inch": "İnç kare başına kilopound", + "torr": "Torr", + "inches-of-mercury": "Cıva inç", + "pascal-per-square-meter": "Metrekare başına Pascal", + "pound-per-square-inch": "İnç kare başına pound", + "newton-per-square-meter": "Metrekare başına Newton", + "kilogram-force-per-square-meter": "Metrekare başına kilogram kuvveti", + "pascal-per-square-centimeter": "Santimetrekare başına Pascal", + "ton-force-per-square-inch": "İnç kare başına ton kuvveti", + "kilonewton-per-square-meter": "Metrekare başına kilonewton", + "newton-per-square-millimeter": "Milimetrekare başına Newton", + "microjoule": "Mikrojul", + "millijoule": "Milijul", + "joule": "Jul", + "kilojoule": "Kilojul", + "megajoule": "Megajul", + "gigajoule": "Gigajul", + "watt-hour": "Watt-saat", + "watt-minute": "Watt-dakika", + "kilowatt-hour": "Kilowatt-saat", + "milliwatt-hour": "Miliwatt-saat", + "megawatt-hour": "Megawatt-saat", + "gigawatt-hour": "Gigawatt-saat", + "electron-volts": "Elektron volt", + "joules-per-coulomb": "Coulomb başına jul", + "british-thermal-unit": "İngiliz termal birimi (BTU)", + "thousand-british-thermal-unit": "Bin İngiliz termal birimi", + "million-british-thermal-unit": "Milyon İngiliz termal birimi", + "foot-pound": "Ayak-pound", + "calorie": "Kalori", + "small-calorie": "Küçük kalori", + "kilocalorie": "Kilokalori", + "joule-per-kelvin": "Kelvin başına jul", + "joule-per-kilogram-kelvin": "Kilogram-Kelvin başına jul", + "joule-per-kilogram": "Kilogram başına jul", + "watt-per-meter-kelvin": "Metre-Kelvin başına watt", + "joule-per-cubic-meter": "Metreküp başına jul", + "therm": "Term", + "electric-dipole-moment": "Elektrik dipol momenti", + "magnetic-dipole-moment": "Manyetik dipol momenti", + "debye": "Debye", + "coulomb-per-square-meter-per-volt": "Volt başına metrekare başına Coulomb", + "milliwatt": "Miliwatt", + "microwatt": "Mikrowatt", + "watt": "Watt", + "kilowatt": "Kilowatt", + "megawatt": "Megawatt", + "gigawatt": "Gigawatt", + "metric-horsepower": "Metrik beygir gücü", + "milliwatt-per-square-centimeter": "Santimetrekare başına milivat", + "watt-per-square-centimeter": "Santimetrekare başına vat", + "kilowatt-per-square-centimeter": "Santimetrekare başına kilovat", + "milliwatt-per-square-meter": "Metrekare başına milivat", + "watt-per-square-meter": "Metrekare başına vat", + "kilowatt-per-square-meter": "Metrekare başına kilovat", + "watt-per-square-inch": "İnç kare başına vat", + "kilowatt-per-square-inch": "İnç kare başına kilovat", + "horsepower": "Beygir gücü", + "btu-per-hour": "Saat başına İngiliz termal birimi (BTU)", + "btu-per-second": "Saniye başına İngiliz termal birimi (BTU)", + "btu-per-day": "Gün başına İngiliz termal birimi (BTU)", + "mbtu-per-hour": "Saat başına bin İngiliz termal birimi", + "mbtu-per-second": "Saniye başına bin İngiliz termal birimi", + "mbtu-per-day": "Gün başına bin İngiliz termal birimi", + "mmbtu-per-hour": "Saat başına milyon İngiliz termal birimi", + "mmbtu-per-second": "Saniye başına milyon İngiliz termal birimi", + "mmbtu-per-day": "Gün başına milyon İngiliz termal birimi", + "foot-pound-per-second": "Saniye başına ayak-pound", + "coulomb": "Coulomb", + "millicoulomb": "Milicoulomb", + "microcoulomb": "Mikrocoulomb", + "nanocoulomb": "Nanocoulomb", + "picocoulomb": "Picocoulomb", + "coulomb-per-meter": "Metre başına Coulomb", + "coulomb-per-cubic-meter": "Metreküp başına Coulomb", + "coulomb-per-square-meter": "Metrekare başına Coulomb", + "square-millimeter": "Milimetrekare", + "square-centimeter": "Santimetrekare", + "square-meter": "Metrekare", + "hectare": "Hektar", + "square-kilometer": "Kilometrekare", + "square-inch": "İnç kare", + "square-foot": "Ayak kare", + "square-yard": "Yarda kare", + "acre": "Dönüm", + "square-mile": "Mil kare", + "are": "Ar", + "barn": "Barn", + "circular-inch": "Dairesel inç", + "milliampere-hour": "Miliamper-saat", + "ampere-hours": "Amper-saat", + "kiloampere-hours": "Kiloamper-saat", + "nanoampere": "Nanoamper", + "picoampere": "Pikoamper", + "microampere": "Mikroamper", + "milliampere": "Miliamper", + "ampere": "Amper", + "kiloampere": "Kiloamper", + "megaampere": "Megaamper", + "gigaampere": "Gigaamper", + "microampere-per-square-centimeter": "Santimetrekare başına mikroamper", + "ampere-per-square-meter": "Metrekare başına amper", + "ampere-per-meter": "Metre başına amper", + "oersted": "Oersted", + "bohr-magneton": "Bohr magnetonu", + "ampere-meter-squared": "Amper-metre kare", + "nanovolt": "Nanovolt", + "picovolt": "Pikovolt", + "millivolt": "Milivolt", + "microvolt": "Mikrovolt", + "volt": "Volt", + "kilovolt": "Kilovolt", + "megavolt": "Megavolt", + "dbmV": "Desibel volt", + "dbm": "Desibel-milivat", + "volt-meter": "Volt-metre", + "kilovolt-meter": "Kilovolt-metre", + "megavolt-meter": "Megavolt-metre", + "microvolt-meter": "Mikrovolt-metre", + "millivolt-meter": "Milivolt-metre", + "nanovolt-meter": "Nanovolt-metre", + "ohm": "Ohm", + "microohm": "Mikroohm", + "milliohm": "Miliohm", + "kilohm": "Kiloohm", + "megohm": "Megaohm", + "gigohm": "Gigaohm", + "millihertz": "Milihertz", + "hertz": "Hertz", + "kilohertz": "Kilohertz", + "megahertz": "Megahertz", + "gigahertz": "Gigahertz", + "terahertz": "Terahertz", + "rpm": "Dakikada devir (RPM)", + "candela-per-square-meter": "Metrekare başına kandela", + "candela": "Kandela", + "lumen": "Lümen", + "lux": "Lüks", + "foot-candle": "Ayak-mum", + "lumen-per-square-meter": "Metrekare başına lümen", + "lux-second": "Lüks saniye", + "lumen-second": "Lümen saniye", + "lumens-per-watt": "Vat başına lümen", + "mole": "Mol", + "nanomole": "Nanomol", + "micromole": "Mikromol", + "millimole": "Milimol", + "kilomole": "Kilomol", + "mole-per-cubic-meter": "Metreküp başına mol", + "rssi": "Alınan sinyal gücü göstergesi", + "ppm": "Milyonda birim (ppm)", + "ppb": "Milyarda birim (ppb)", + "micrograms-per-cubic-meter": "Metreküp başına mikrogram", + "aqi": "Hava Kalitesi İndeksi (AQI)", + "gram-per-cubic-meter": "Metreküp başına gram", + "gram-per-kilogram": "Özgül nem", + "millimeters-per-second": "Saniyede milimetre", + "neper": "Neper", + "bel": "Bel", + "decibel": "Desibel", + "meters-per-second-squared": "Saniyede metre kare", + "becquerel": "Becquerel", + "curie": "Curie", + "gray": "Gray", + "sievert": "Sievert", + "roentgen": "Roentgen", + "cps": "Saniyede sayım", + "rad": "Rad", + "rem": "Rem", + "dps": "Saniyede ayrışma", + "rutherford": "Rutherford", + "coulombs-per-kilogram": "Kilogram başına coulomb", + "becquerels-per-cubic-meter": "Metreküp başına becquerel", + "curies-per-liter": "Litre başına curie", + "becquerels-per-second": "Saniyede becquerel", + "curies-per-second": "Saniyede curie", + "gy-per-second": "Saniyede gray", + "watt-per-steradian": "Steradyan başına watt", + "watt-per-square-metre-steradian": "Metrekare-steradyan başına watt", + "ph-level": "pH seviyesi", + "turbidity": "Bulanıklık", + "mg-per-liter": "Litre başına miligram", + "microsiemens-per-centimeter": "Santimetre başına mikrosiemens", + "millisiemens-per-meter": "Metre başına milisiemens", + "siemens-per-meter": "Metre başına siemens", + "kilogram-per-cubic-meter": "Metreküp başına kilogram", + "gram-per-cubic-centimeter": "Santimetreküp başına gram", + "kilogram-per-square-meter": "Metrekare başına kilogram", + "milligram-per-milliliter": "Mililitre başına miligram", + "milligram-per-cubic-meter": "Metreküp başına miligram", + "pound-per-cubic-foot": "Fit küp başına pound", + "ounces-per-cubic-inch": "İnç küp başına ons", + "tons-per-cubic-yard": "Yarda küp başına ton", + "particle-density": "Parçacık yoğunluğu", + "kilometers-per-liter": "Litre başına kilometre", + "miles-per-gallon": "Galon başına mil", + "liters-per-100-km": "100 km başına litre", + "gallons-per-mile": "Mil başına galon", + "liters-per-hour": "Saatte litre", + "gallons-per-hour": "Saatte galon", + "beats-per-minute": "Dakikada atım", + "millimeters-of-mercury": "Milimetre cıva", + "milligrams-per-deciliter": "Desilitre başına miligram", + "g-force": "G-kuvveti", + "kilonewton": "Kilonewton", + "kilogram-force": "Kilogram-kuvvet", + "pound-force": "Pound-kuvvet", + "kilopound-force": "Kilopound-kuvvet", + "dyne": "Dyn", + "poundal": "Poundal", + "kip": "Kip", + "gal": "Gal", + "gravity": "Yerçekimi", + "hectopascal": "Hektopascal", + "atmosphere": "Atmosfer", + "millibars": "Milibar", + "inch-of-mercury": "İnç cıva", + "richter-scale": "Richter ölçeği", + "nanosecond": "Nanonsaniye", + "microsecond": "Mikrosaniye", + "millisecond": "Milisaniye", + "second": "Saniye", + "minute": "Dakika", + "hour": "Saat", + "day": "Gün", + "week": "Hafta", + "month": "Ay", + "year": "Yıl", + "cubic-foot-per-minute": "Dakikada fit küp", + "cubic-meters-per-hour": "Saatte metreküp", + "cubic-meters-per-second": "Saniyede metreküp", + "liter-per-second": "Saniyede litre", + "liter-per-minute": "Dakikada litre", + "gallons-per-minute": "Dakikada galon", + "cubic-foot-per-second": "Saniyede fit küp", + "milliliters-per-minute": "Dakikada mililitre", + "cubic-decimeter-per-second": "Saniyede desimetreküp", + "bit": "Bit", + "byte": "Bayt", + "kilobyte": "Kilobayt", + "megabyte": "Megabayt", + "gigabyte": "Gigabayt", + "terabyte": "Terabayt", + "petabyte": "Petabayt", + "exabyte": "Eksabayt", + "zettabyte": "Zettabayt", + "yottabyte": "Yottabayt", + "bit-per-second": "Saniyede bit", + "kilobit-per-second": "Saniyede kilobit", + "megabit-per-second": "Saniyede megabit", + "gigabit-per-second": "Saniyede gigabit", + "terabit-per-second": "Saniyede terabit", + "byte-per-second": "Saniyede bayt", + "kilobyte-per-second": "Saniyede kilobayt", + "megabyte-per-second": "Saniyede megabayt", + "gigabyte-per-second": "Saniyede gigabayt", + "degree": "Derece", + "radian": "Radyan", + "gradian": "Gradyan", + "arcminute": "Yay dakikası", + "arcsecond": "Yay saniyesi", + "milliradian": "Miliradyan", + "revolution": "Devir", + "siemens": "Siemens", + "millisiemens": "Millisimens", + "microsiemens": "Mikrosimens", + "kilosiemens": "Kilosimens", + "megasiemens": "Megasimens", + "gigasiemens": "Gigasimens", + "farad": "Farad", + "millifarad": "Milifarad", + "microfarad": "Mikrofarad", + "nanofarad": "Nanofarad", + "picofarad": "Pikofarad", + "kilofarad": "Kilofarad", + "megafarad": "Megafarad", + "gigafarad": "Gigafarad", + "terfarad": "Terafarad", + "farad-per-meter": "Metre başına farad", + "tesla": "Tesla", + "gauss": "Gauss", + "kilogauss": "Kilogauss", + "millitesla": "Militesla", + "microtesla": "Mikrotesla", + "nanotesla": "Nanotesla", + "kilotesla": "Kilotesla", + "megatesla": "Megatesla", + "millitesla-square-meters": "Militesla metrekare", + "gamma": "Gamma", + "lambda": "Lambda", + "square-meter-per-second": "Saniyede metrekare", + "square-centimeter-per-second": "Saniyede santimetrekare", + "stoke": "Stokes", + "centistokes": "Sentistokes", + "square-foot-per-second": "Saniyede fit kare", + "square-inch-per-second": "Saniyede inç kare", + "pascal-second": "Pascal saniye", + "centipoise": "Sentipoise", + "poise": "Poise", + "reynolds": "Reynolds", + "pound-per-foot-hour": "Fit saat başına pound", + "newton-second-per-square-meter": "Metrekare başına newton saniye", + "dyne-second-per-square-centimeter": "Santimetrekare başına dyne saniye", + "kilogram-per-meter-second": "Metre saniye başına kilogram", + "tesla-square-meters": "Tesla metrekare", + "maxwell": "Maxwell", + "tesla-per-meter": "Metre başına tesla", + "gauss-per-centimeter": "Santimetre başına gauss", + "weber": "Weber", + "microweber": "Mikroweber", + "milliweber": "Miliweber", + "gauss-square-centimeter": "Gauss santimetrekare", + "kilogauss-square-centimeter": "Kilogauss santimetrekare", + "henry": "Henry", + "millihenry": "Milihenry", + "microhenry": "Mikrohenry", + "nanohenry": "Nanohenry", + "henry-per-meter": "Metre başına henry", + "tesla-meter-per-ampere": "Amper başına tesla metre", + "gauss-per-oersted": "Oersted başına gauss", + "kilogram-per-mole": "Mol başına kilogram", + "gram-per-mole": "Mol başına gram", + "milligram-per-mole": "Mol başına miligram", + "joule-per-mole": "Mol başına joule", + "joule-per-mole-kelvin": "Mol-kelvin başına joule", + "millivolts-per-meter": "Metre başına milivolt", + "volts-per-meter": "Metre başına volt", + "kilovolts-per-meter": "Metre başına kilovolt", + "radian-per-second": "Saniyede radyan", + "radian-per-second-squared": "Saniyede kare radyan", + "revolutions-per-minute-per-second": "Açısal ivme", + "deg-per-second": "Saniyede derece", + "rotation-per-minute": "Dakikada devir", + "degrees-brix": "Derece brix", + "katal": "Katal", + "katal-per-cubic-metre": "Metreküp başına katal", + "paris-inch": "Paris inç" }, "user": { "user": "Kullanıcı", "users": "Kullanıcılar", - "customer-users": "Kullanıcılar", - "tenant-admins": "Tenant Adminleri", + "customer-users": "Müşteri kullanıcıları", + "tenant-admins": "Kiracı yöneticileri", "sys-admin": "Sistem yöneticisi", - "tenant-admin": "Tenant yöneticisi", - "customer": "Kullanıcı Grubu", + "tenant-admin": "Kiracı yöneticisi", + "customer": "Müşteri", "anonymous": "Anonim", "add": "Kullanıcı ekle", "delete": "Kullanıcı sil", "add-user-text": "Yeni kullanıcı ekle", - "no-users-text": "Hiçbir kullanıcı bulunamadı", + "no-users-text": "Kullanıcı bulunamadı", "user-details": "Kullanıcı detayları", - "delete-user-title": "'{{userEmail}}' kullanıcısını silmek istediğinize emin misiniz?", - "delete-user-text": "UYARI: Onaylandıktan sonra kullanıcı ve ilişkili tüm verileri geri yüklenemez şekilde silinecektir.", - "delete-users-title": "{ count, plural, =1 {1 kullanıcıyı} other {# kullanıcıyı} } sikmek istediğinize emin misiniz?", - "delete-users-action-title": "{ count, plural, =1 {1 kullancıyı} other {# kullanıcıyı} } sil", - "delete-users-text": "UYARI: Onaylandıktan sonra kullanıcı ve ilişkili tüm verileri geri yüklenemez şekilde silinecektir.", - "activation-email-sent-message": "Etkinleştirme e-postası başarılı bir şekilde gönderildi!", - "resend-activation": "Etkinleştirme e-postasını yeniden gönder", + "delete-user-title": "Kullanıcı '{{userEmail}}' silinsin mi?", + "delete-user-text": "Dikkatli olun, onaydan sonra kullanıcı ve tüm ilişkili veriler geri alınamaz hale gelecektir.", + "delete-users-title": "{ count, plural, =1 {1 kullanıcı} other {# kullanıcı} } silinsin mi?", + "delete-users-action-title": "{ count, plural, =1 {1 kullanıcıyı sil} other {# kullanıcıyı sil} }", + "delete-users-text": "Dikkatli olun, onaydan sonra seçili tüm kullanıcılar ve ilişkili veriler geri alınamaz hale gelecektir.", + "activation-email-sent-message": "Aktivasyon e-postası başarıyla gönderildi!", + "resend-activation": "Aktivasyonu yeniden gönder", "email": "E-posta", - "email-required": "E-posta gerekli.", + "email-required": "E-posta gereklidir.", "invalid-email-format": "Geçersiz e-posta formatı.", "first-name": "Ad", "last-name": "Soyad", @@ -2680,235 +6572,953 @@ "always-fullscreen": "Her zaman tam ekran", "select-user": "Kullanıcı seç", "no-users-matching": "'{{entity}}' ile eşleşen kullanıcı bulunamadı.", - "user-required": "Kullanıcı gerekli", - "activation-method": "Etkinleştirme yöntemi", - "display-activation-link": "Etkinleştirme bağlantısını görüntüle", - "send-activation-mail": "Etkinleştirme e-postası gönder", - "activation-link": "Kullanıcı hesabını etkinleştirme bağlantısı", - "activation-link-text": "Kullanıcı hesabını etkinleştirmek için bağlantıyı kullanın:", - "copy-activation-link": "Etkinleştirme bağlantısını kopyala", - "activation-link-copied-message": "Kullanıcı hesabı etkinleştirme bağlantısı panoya kopyalandı", - "details": "Ayrıntılar", - "login-as-tenant-admin": "Tenant Yönetici Girişi", - "login-as-customer-user": "Kullanıcı olarak giriş yap", - "search": "Kullanıcı ara", + "user-required": "Kullanıcı gereklidir", + "activation-method": "Aktivasyon yöntemi", + "display-activation-link": "Aktivasyon bağlantısını göster", + "send-activation-mail": "Aktivasyon e-postası gönder", + "activation-link": "Kullanıcı aktivasyon bağlantısı", + "activation-link-text": "Kullanıcıyı etkinleştirmek için şu aktivasyon bağlantısını kullanın ({{activationLinkTtl}} içinde sona erer):", + "copy-activation-link": "Aktivasyon bağlantısını kopyala", + "activation-link-copied-message": "Kullanıcı aktivasyon bağlantısı panoya kopyalandı", + "details": "Detaylar", + "login-as-tenant-admin": "Kiracı Yöneticisi olarak giriş yap", + "login-as-customer-user": "Müşteri kullanıcısı olarak giriş yap", + "search": "Kullanıcıları ara", "selected-users": "{ count, plural, =1 {1 kullanıcı} other {# kullanıcı} } seçildi", "disable-account": "Kullanıcı Hesabını Devre Dışı Bırak", "enable-account": "Kullanıcı Hesabını Etkinleştir", "enable-account-message": "Kullanıcı hesabı başarıyla etkinleştirildi!", - "disable-account-message": "Kullanıcı hesabı başarıyla devre dışı bırakıldı!" + "disable-account-message": "Kullanıcı hesabı başarıyla devre dışı bırakıldı!", + "copyId": "Kullanıcı Kimliğini kopyala", + "idCopiedMessage": "Kullanıcı Kimliği panoya kopyalandı", + "user-list": "Kullanıcı listesi", + "user-list-required": "Kullanıcı listesi gereklidir" }, "value": { "type": "Değer türü", - "string": "String", - "string-value": "String değeri", - "string-value-required": "String değeri gerekli", - "integer": "Integer", - "integer-value": "Integer değeri", - "integer-value-required": "Integer değeri gerekli", - "invalid-integer-value": "Geçersiz integer değeri", - "double": "Double", - "double-value": "Double değeri", - "double-value-required": "Double değeri gerekli", - "boolean": "Boolean", - "boolean-value": "Boolean değeri", - "false": "False", - "true": "True", - "long": "Long", + "string": "Metin", + "string-value": "Metin değeri", + "string-value-required": "Metin değeri gereklidir", + "integer": "Tamsayı", + "integer-value": "Tamsayı değeri", + "integer-value-required": "Tamsayı değeri gereklidir", + "invalid-integer-value": "Geçersiz tamsayı değeri", + "double": "Ondalık", + "double-value": "Ondalık değeri", + "double-value-required": "Ondalık değeri gereklidir", + "boolean": "Mantıksal", + "boolean-value": "Mantıksal değer", + "false": "Yanlış", + "true": "Doğru", + "long": "Uzun", "json": "JSON", "json-value": "JSON değeri", - "json-value-invalid": "JSON formatı geçersiz", - "json-value-required": "JSON değeri gerekli." + "json-value-invalid": "JSON değeri geçersiz bir formata sahip", + "json-value-required": "JSON değeri gereklidir." + }, + "version-control": { + "version-control": "Sürüm kontrolü", + "management": "Sürüm kontrol yönetimi", + "search": "Sürümleri ara", + "branch": "Dal", + "default": "Varsayılan", + "select-branch": "Dal seçin", + "branch-required": "Dal gereklidir", + "create-entity-version": "Varlık sürümü oluştur", + "version-name": "Sürüm adı", + "version-name-required": "Sürüm adı gereklidir", + "author": "Yazar", + "export-relations": "İlişkileri dışa aktar", + "export-attributes": "Öznitelikleri dışa aktar", + "export-credentials": "Kimlik bilgilerini dışa aktar", + "export-calculated-fields": "Hesaplanmış alanları dışa aktar", + "entity-versions": "Varlık sürümleri", + "versions": "Sürümler", + "created-time": "Oluşturulma zamanı", + "version-id": "Sürüm kimliği", + "no-entity-versions-text": "Varlık sürümü bulunamadı", + "no-versions-text": "Sürüm bulunamadı", + "copy-full-version-id": "Tam sürüm kimliğini kopyala", + "create-version": "Sürüm oluştur", + "creating-version": "Sürüm oluşturuluyor... Lütfen bekleyin", + "nothing-to-commit": "Kaydedilecek değişiklik yok", + "restore-version": "Sürümü geri yükle", + "restore-entity-from-version": "'{{versionName}}' sürümünden varlığı geri yükle", + "restoring-entity-version": "Varlık sürümü geri yükleniyor... Lütfen bekleyin", + "load-relations": "İlişkileri yükle", + "load-attributes": "Öznitelikleri yükle", + "load-credentials": "Kimlik bilgilerini yükle", + "load-calculated-fields": "Hesaplanmış alanları yükle", + "compare-with-current": "Mevcut ile karşılaştır", + "diff-entity-with-version": "'{{versionName}}' sürümü ile farkları karşılaştır", + "previous-difference": "Önceki fark", + "next-difference": "Sonraki fark", + "current": "Mevcut", + "differences": "{ count, plural, =1 {1 fark} other {# fark} }", + "create-entities-version": "Varlık sürümü oluştur", + "default-sync-strategy": "Varsayılan senkronizasyon stratejisi", + "sync-strategy-merge": "Birleştir", + "sync-strategy-overwrite": "Üzerine yaz", + "entities-to-export": "Dışa aktarılacak varlıklar", + "entities-to-restore": "Geri yüklenecek varlıklar", + "sync-strategy": "Senkronizasyon stratejisi", + "all-entities": "Tüm varlıklar", + "no-entities-to-export-prompt": "Lütfen dışa aktarılacak varlıkları belirtin", + "no-entities-to-restore-prompt": "Lütfen geri yüklenecek varlıkları belirtin", + "add-entity-type": "Varlık türü ekle", + "remove-all": "Tümünü kaldır", + "version-create-result": "{ added, plural, =0 {Hiç varlık} =1 {1 varlık} other {# varlık} } eklendi.
{ modified, plural, =0 {Hiç varlık} =1 {1 varlık} other {# varlık} } değiştirildi.
{ removed, plural, =0 {Hiç varlık} =1 {1 varlık} other {# varlık} } silindi.", + "remove-other-entities": "Diğer varlıkları kaldır", + "find-existing-entity-by-name": "Adına göre mevcut varlığı bul", + "restore-entities-from-version": "'{{versionName}}' sürümünden varlıkları geri yükle", + "restoring-entities-from-version": "Varlıklar geri yükleniyor... Lütfen bekleyin", + "no-entities-restored": "Geri yüklenen varlık yok", + "created": "{{created}} oluşturuldu", + "updated": "{{updated}} güncellendi", + "deleted": "{{deleted}} silindi", + "remove-other-entities-confirm-text": "Dikkatli olun! Bu işlem geri yüklemek istediğiniz sürümde bulunmayan
tüm mevcut varlıkları kalıcı olarak silmek anlamına gelir.

Onaylamak için lütfen \"remove other entities\" yazın.", + "auto-commit-to-branch": "{{ branch }} dalına otomatik gönderim", + "default-create-entity-version-name": "{{entityName}} güncellemesi", + "sync-strategy-merge-hint": "Seçili varlıkları depoya ekler veya günceller. Diğer tüm depo varlıkları değiştirilmez.", + "sync-strategy-overwrite-hint": "Seçili varlıkları depoya ekler veya günceller. Diğer tüm depo varlıkları silinir.", + "device-credentials-conflict": "{{entityId}} dış kimliğine sahip cihaz yüklenemedi.
Aynı kimlik bilgileri başka bir cihaz için veritabanında mevcut.
Kimlik bilgilerini yükle seçeneğini geri yükleme formunda devre dışı bırakmayı düşünebilirsiniz.", + "missing-referenced-entity": "{{sourceEntityTypeName}} türünde, {{sourceEntityId}} dış kimliğine sahip varlık yüklenemedi.
Çünkü {{targetEntityTypeName}} türünde ve {{targetEntityId}} kimliğine sahip eksik bir varlığa referans veriyor.", + "runtime-failed": "Başarısız: {{message}}", + "auto-commit-settings-read-only-hint": "Otomatik kayıt özelliği, depo ayarlarında salt okunur seçeneği etkinleştirildiğinde çalışmaz.", + "rollback-on-error": "Hata durumunda geri al", + "rollback-on-error-hint": "Geri yüklenecek çok sayıda varlığınız varsa bu seçeneği devre dışı bırakmak performansı artırabilir.\nNot: Sürüm yükleme sırasında bir hata oluşursa, zaten kaydedilen varlıklar (ilişkiler, öznitelikler vb. ile) aynı şekilde kalır." }, "widget": { - "widget-library": "Gösterge Kütüphanesi", - "widget-bundle": "Gösterge Paketi", - "select-widgets-bundle": "Gösterge paketi seç", - "management": "Gösterge yönetimi", - "editor": "Gösterge düzenleyici", - "widget-type-not-found": "Gösterge yapılandırması yüklenemedi.
Muhtemelen ilgili\n gösterge türü kaldırılmış.", - "widget-type-load-error": "Gösterge şu sebeplerden dolayı yüklenemedi:", - "remove": "Göstergeyi kaldır", - "edit": "Göstergeyi düzenle", - "remove-widget-title": "'{{widgetTitle}}' isimli göstermeyi kaldırmak istediğinizden emin misiniz?", - "remove-widget-text": "UYARI: Onaylandıktan sonra gösterge ve tüm ilişkili verileri geri yüklenemez şekilde silinecek.", + "widget-library": "Bileşen kitaplığı", + "widget-bundle": "Bileşen Paketi", + "all-bundles": "Tüm paketler", + "select-widgets-bundle": "Bileşen paketi seçin", + "widgets": "Bileşenler", + "all-widgets": "Tüm bileşenler", + "widget": "Bileşen", + "select-widget": "Bileşen seçin", + "no-widgets-matching": "'{{entity}}' ile eşleşen bileşen bulunamadı.", + "no-widgets": "Henüz bileşen yok", + "no-widgets-text": "Bileşen bulunamadı", + "management": "Bileşen yönetimi", + "editor": "Bileşen Editörü", + "confirm-to-exit-editor-html": "Kaydedilmemiş widget ayarlarınız var.
Bu sayfadan ayrılmak istediğinizden emin misiniz?", + "widget-type-not-found": "Widget yapılandırması yüklenirken sorun oluştu.
Muhtemelen ilişkili\n widget türü silinmiş.", + "widget-type-load-error": "Widget aşağıdaki hatalar nedeniyle yüklenemedi:", + "remove": "Bileşeni kaldır", + "delete": "Bileşeni sil", + "edit": "Bileşeni düzenle", + "remove-widget-title": "'{{widgetTitle}}' bileşenini kaldırmak istediğinize emin misiniz?", + "remove-widget-text": "Onaydan sonra bileşen ve ilgili tüm veriler geri alınamaz hale gelecektir.", + "replace-reference-with-widget-copy": "Referansı bileşen kopyasıyla değiştir", "timeseries": "Zaman serisi", - "search-data": "Arama verileri", + "search-data": "Veri ara", "no-data-found": "Veri bulunamadı", - "latest": "Son değerler", - "rpc": "Kontrol göstergesi", - "alarm": "Alarm göstergesi", - "static": "Statik gösterge", - "select-widget-type": "Gösterge türü seç", - "missing-widget-title-error": "Gösterge başlığı belirtilmelidir!", - "widget-saved": "Gösterge kaydedildi", - "unable-to-save-widget-error": "Gösterge kaydedilemedi! Göstergede hatalar mevcut!", - "save": "Göstergeyi kaydet", - "saveAs": "Göstergeyi farklı kaydet", - "save-widget-type-as": "Gösterge türünü farklı kaydet", - "save-widget-type-as-text": "Lütfen gösterge başlığı girin veya hedef gösterge paketi seçin", - "toggle-fullscreen": "Tam ekran aç/kapat", - "run": "Göstergeyi çalıştır", - "title": "Gösterge başlığı", - "title-required": "Gösterge başlığı gerekli.", - "type": "Gösterge türü", + "latest": "En son değerler", + "rpc": "Kontrol bileşeni", + "alarm": "Alarm bileşeni", + "static": "Statik bileşen", + "timeseries-short": "seri", + "latest-short": "son", + "rpc-short": "kontrol", + "alarm-short": "alarm", + "static-short": "statik", + "select-widget-type": "Bileşen türü seçin", + "missing-widget-title-error": "Bileşen başlığı belirtilmelidir!", + "widget-saved": "Bileşen kaydedildi", + "unable-to-save-widget-error": "Bileşen kaydedilemedi! Hatalar içeriyor!", + "save": "Bileşeni kaydet", + "saveAs": "Bileşeni farklı kaydet", + "move": "Bileşeni taşı", + "save-widget-as": "Bileşeni farklı kaydet", + "save-widget-as-text": "Lütfen yeni bileşen başlığını girin", + "toggle-fullscreen": "Tam ekranı aç/kapat", + "run": "Bileşeni çalıştır", + "widget-title": "Bileşen başlığı", + "title": "Başlık", + "title-required": "Bileşen başlığı gereklidir.", + "title-max-length": "Başlık 256 karakterden kısa olmalıdır", + "system": "Sistem", + "type": "Bileşen türü", "resources": "Kaynaklar", - "resource-url": "JavaScript / CSS URL", + "resource-url": "JavaScript/CSS URL", + "resource-is-extension": "Eklenti mi", "remove-resource": "Kaynağı kaldır", "add-resource": "Kaynak ekle", "html": "HTML", - "tidy": "Tidy", + "tidy": "Düzenle", "css": "CSS", - "settings-schema": "Ayarlar şeması", - "datakey-settings-schema": "Veri anahtarı ayarları şeması", - "widget-settings": "Gösterge Ayarları", + "settings-form": "Ayar formu", + "data-key-settings-form": "Veri anahtarı ayar formu", + "latest-data-key-settings-form": "Son veri anahtarı ayar formu", + "widget-settings": "Bileşen ayarları", "description": "Açıklama", - "image-preview": "Resim Önizleme", + "tags": "Etiketler", + "image-preview": "Görsel önizleme", + "settings-form-selector": "Ayar formu seçici", + "data-key-settings-form-selector": "Veri anahtarı ayar formu seçici", + "latest-data-key-settings-form-selector": "Son veri anahtarı ayar formu seçici", + "all": "Tümü", + "actual": "Gerçek", + "scada": "SCADA sembolü", + "deprecated": "Kullanımdan kaldırıldı", + "has-basic-mode": "Temel modu var", + "basic-mode-form-selector": "Temel mod formu seçici", + "basic-mode": "Temel", + "advanced-mode": "Gelişmiş", "javascript": "Javascript", "js": "JS", - "add-widget-type": "Yeni gösterge türü ekle", - "widget-template-load-failed-error": "Gösterge şablonu yüklenemedi!", - "add": "Gösterge ekle", - "undo": "Gösterge değişikliklerini geri al", - "export": "Göstergeyi dışa aktar", - "no-data": "Göstergede görüntülenecek veri yok", - "data-overflow": "Gösterge, {{total}} öğeden {{count}} tanesini gösteriyor", - "alarm-data-overflow": "Gösterge, {{totalEntities}} öğeden {{allowedEntities}} (izin verilen maksimum) öğe için alarm görüntüler", - "search": "Gösterge ara", - "filter": "Gösterge filtre türü", - "loading-widgets": "Göstergeler yükleniyor..." + "delete-widget-title": "'{{widgetName}}' bileşenini silmek istediğinize emin misiniz?", + "delete-widget-text": "Onaydan sonra bileşen ve ilgili tüm veriler geri alınamaz hale gelecektir.", + "delete-widgets-title": "{ count, plural, =1 {1 bileşeni} other {# bileşeni} } silmek istediğinize emin misiniz?", + "delete-widgets-text": "Dikkatli olun, onaydan sonra seçilen tüm bileşenler silinecek ve ilgili tüm veriler geri alınamaz hale gelecektir.", + "delete-widget": "Bileşeni sil", + "widget-template-load-failed-error": "Bileşen şablonu yüklenemedi!", + "details": "Detaylar", + "widget-details": "Bileşen detayları", + "add": "Bileşen ekle", + "add-existing-widget": "Mevcut bileşeni ekle", + "add-new-widget": "Yeni bileşen ekle", + "search-widgets": "Bileşenleri ara", + "selected-widgets": "{ count, plural, =1 {1 bileşen} other {# bileşen} } seçildi", + "undo": "Bileşen değişikliklerini geri al", + "export": "Bileşeni dışa aktar", + "export-prompt": "Bileşen görsellerini ve kaynaklarını göm", + "export-widgets": "Bileşenleri dışa aktar", + "export-widgets-prompt": "Bileşen görsellerini ve kaynaklarını göm", + "import": "Bileşen içe aktar", + "no-data": "Bileşende görüntülenecek veri yok", + "data-overflow": "Bileşen {{total}} varlıktan {{count}} tanesini görüntülüyor", + "alarm-data-overflow": "Bileşen, {{totalEntities}} varlıktan yalnızca {{allowedEntities}} (maksimum izin verilen) varlık için alarm gösteriyor", + "search": "Bileşen ara", + "filter": "Bileşen filtre türü", + "loading-widgets": "Bileşenler yükleniyor...", + "widget-template-error": "Geçersiz bileşen HTML şablonu.", + "reference": "Referans" }, "widget-action": { - "header-button": "Gösterge başlık butonu", - "open-dashboard-state": "Yeni kontrol paneli durumunua git", - "update-dashboard-state": "Kontrol paneli durumunu güncelle", - "open-dashboard": "Diğer kontrol paneline git", + "header-button": "Bileşen başlık düğmesi", + "do-nothing": "Hiçbir şey yapma", + "open-dashboard-state": "Yeni pano durumuna git", + "update-dashboard-state": "Mevcut pano durumunu güncelle", + "open-dashboard": "Başka bir panoya git", "custom": "Özel eylem", - "custom-pretty": "Özel Aksiyon (HTML şablonuyla)", - "mobile-action": "Mobil Aksiyon", - "target-dashboard-state": "Hedef kontrol paneli durumu", - "target-dashboard-state-required": "Hedef kontrol paneli durumu gerekli", - "set-entity-from-widget": "Göstergeden öğe belirle", - "target-dashboard": "Hedef kontrol paneli", - "open-right-layout": "Sağdaki kontrol paneli arayüz düzenini aç(mobil görünüm)", - "open-in-separate-dialog": "Ayrı iletişim kutusunda aç", - "dialog-title": "iletişim kutusu başlığı", - "dialog-hide-dashboard-toolbar": "İletişim kutusunda gösterge paneli araç çubuğunu gizle", - "dialog-width": "Görüş alanı genişliğine göre yüzde olarak iletişim kutusu genişliği", - "dialog-height": "Görüş alanı yüksekliğine göre yüzde olarak iletişim kutusu yüksekliği", - "dialog-size-range-error": "İletişim kutusu boyutu yüzde değeri 1 ile 100 arasında olmalıdır.", + "custom-pretty": "Özel eylem (HTML şablonuyla)", + "custom-pretty-error-title": "Özel pencere hatası", + "custom-pretty-template-error": "Geçersiz özel pencere şablonu.", + "custom-pretty-controller-error": "Özel pencere işlevi değerlendirilirken hata oluştu.", + "mobile-action": "Mobil eylem", + "target-dashboard-state": "Hedef pano durumu", + "target-dashboard-state-required": "Hedef pano durumu gerekli", + "set-entity-from-widget": "Varlığı bileşenden ayarla", + "target-dashboard": "Hedef pano", + "select-target-dashboard": "Hedef panoyu seç", + "target-dashboard-required": "Hedef pano gereklidir.", + "open-right-layout": "Sağ pano düzenini aç (mobil görünüm)", + "state-display-type": "Pano durumu görüntüleme seçeneği", + "open-normal": "Normal", + "open-in-separate-dialog": "Ayrı bir pencerede aç", + "open-in-popover": "Açılır pencerede aç", + "dialog-title": "Pencere başlığı", + "dialog-hide-dashboard-toolbar": "Pano araç çubuğunu pencerede gizle", + "dialog-width": "Pencere genişliği (görünüm alanına göre yüzde)", + "dialog-height": "Pencere yüksekliği (görünüm alanına göre yüzde)", + "dialog-size-range-error": "Pencere boyutu yüzde değeri 1 ile 100 arasında olmalıdır.", + "popover-preferred-placement": "Tercih edilen açılır konumu", + "popover-placement-top": "Üst", + "popover-placement-topLeft": "Üst sol", + "popover-placement-topRight": "Üst sağ", + "popover-placement-right": "Sağ", + "popover-placement-rightTop": "Sağ üst", + "popover-placement-rightBottom": "Sağ alt", + "popover-placement-bottom": "Alt", + "popover-placement-bottomLeft": "Alt sol", + "popover-placement-bottomRight": "Alt sağ", + "popover-placement-left": "Sol", + "popover-placement-leftTop": "Sol üst", + "popover-placement-leftBottom": "Sol alt", + "popover-hide-on-click-outside": "Dışarı tıklayınca açılır pencereyi gizle", + "popover-hide-dashboard-toolbar": "Açılır pencerede pano araç çubuğunu gizle", + "popover-width": "Açılır pencere genişliği", + "popover-height": "Açılır pencere yüksekliği", + "popover-style": "Açılır pencere stili", "open-new-browser-tab": "Yeni bir tarayıcı sekmesinde aç", + "open-URL": "URL aç", + "URL": "URL", + "url-required": "URL gereklidir.", "mobile": { - "action-type": "Mobil aksiyon türü", - "action-type-required": "Mobil aksiyon türü gerekli", - "take-picture-from-gallery": "Galeriden resim al", + "device-provision": "Cihaz sağlama", + "action-type": "Mobil eylem türü", + "select-action-type": "Mobil eylem türünü seçin", + "action-type-required": "Mobil eylem türü gereklidir", + "take-picture-from-gallery": "Galeri'den fotoğraf seç", "take-photo": "Fotoğraf çek", - "map-direction": "Harita yol tarifini aç", + "map-direction": "Harita yönlendirmelerini aç", "map-location": "Harita konumunu aç", - "scan-qr-code": "QR Kodunu Tara", + "scan-qr-code": "QR Kodu tara", "make-phone-call": "Telefon araması yap", "get-location": "Telefon konumunu al", "take-screenshot": "Ekran görüntüsü al" + }, + "custom-action-function": "Özel eylem işlevi", + "custom-pretty-function": "Özel eylem (HTML şablonlu) işlevi", + "map-item-type": "Harita öğesi türü", + "map-item": { + "marker": "İşaretçi", + "polygon": "Poligon", + "rectangle": "Dikdörtgen", + "circle": "Daire" + }, + "place-map-item": "Harita öğesi yerleştir", + "map-item-tooltip": { + "customize-map-item-tooltips": "Harita öğesi araç ipuçlarını özelleştir", + "place-marker": "İşaretçi yerleştir", + "start-draw-rectangle": "Dikdörtgen çizmeye başla", + "finish-draw-rectangle": "Dikdörtgen çizimini bitir", + "start-draw-polygon": "Poligon çizmeye başla", + "continue-draw-polygon": "Poligon çizimine devam et", + "finish-draw-polygon": "Poligon çizimini bitir", + "start-draw-circle": "Daire çizmeye başla", + "finish-draw-circle": "Daire çizimini bitir" } }, "widgets-bundle": { - "current": "Şimdiki paket", - "widgets-bundles": "Gösterge Paketleri", - "add": "Gösterge Paketi Ekle", - "delete": "Gösterge paketini sil", + "current": "Geçerli paket", + "widgets-bundles": "Widget paketleri", + "widgets-bundle-widgets": "Widget Paketi Widget'ları", + "add": "Widget paketi ekle", + "delete": "Widget paketini sil", "title": "Başlık", - "title-required": "Başlık gerekli.", + "title-required": "Başlık gereklidir.", + "title-max-length": "Başlık 256 karakterden kısa olmalıdır", "description": "Açıklama", - "image-preview": "Resim Önizleme", - "add-widgets-bundle-text": "Yeni gösterge paketi ekle", - "no-widgets-bundles-text": "Hiçbir gösterge paketi bulunamadı", - "empty": "Gösterge paketi boş", + "image-preview": "Görsel önizleme", + "scada": "SCADA widget paketi", + "order": "Sıra", + "add-widgets-bundle-text": "Yeni widget paketi ekle", + "no-widgets-bundles-text": "Hiç widget paketi bulunamadı", + "empty": "Widget paketi boş", "details": "Detaylar", - "widgets-bundle-details": "Gösterge paketi detayları", - "delete-widgets-bundle-title": "'{{widgetsBundleTitle}}' isimli gösterge paketini silmek istediğinize emin misiniz?", - "delete-widgets-bundle-text": "UYARI: Onaylandıktan sonra gösterge paketi ve ilişkili tüm veriler geri yüklenemez şekilde silinecektir.", - "delete-widgets-bundles-title": "{ count, plural, =1 {1 gösterge paketini} other {# gösterge paketini} } silmek istediğinize emin misiniz?", - "delete-widgets-bundles-action-title": "{ count, plural, =1 {1 gösterge paketini} other {# gösterge paketini} } sil", - "delete-widgets-bundles-text": "UYARI: Onaylandıktan sonra seçili tüm gösterge paketleri ve ilişkili tüm veriler geri yüklenemez şekilde silinecektir.", - "no-widgets-bundles-matching": "'{{widgetsBundle}}' ile eşleşen gösterge paketi bulunamadı.", - "widgets-bundle-required": "Gösterge paketi gerekli.", + "widgets-bundle-details": "Widget paketi detayları", + "delete-widgets-bundle-title": "‘{{widgetsBundleTitle}}’ widget paketini silmek istediğinizden emin misiniz?", + "delete-widgets-bundle-text": "Dikkatli olun, onaydan sonra widget paketi ve tüm ilişkili veriler geri alınamaz hale gelecek.", + "delete-widgets-bundles-title": "{ count, plural, =1 {1 widget paketi} other {# widget paketi} } silmek istediğinizden emin misiniz?", + "delete-widgets-bundles-action-title": "{ count, plural, =1 {1 widget paketi} other {# widget paketi} } sil", + "delete-widgets-bundles-text": "Dikkatli olun, onaydan sonra seçilen tüm widget paketleri ve ilişkili veriler silinecek ve geri alınamaz hale gelecek.", + "no-widgets-bundles-matching": "‘{{widgetsBundle}}’ ile eşleşen widget paketi bulunamadı.", + "widgets-bundle-required": "Widget paketi gereklidir.", "system": "Sistem", - "import": "Gösterge paketini içe aktar", - "export": "Gösterge paketini dışa aktar", - "export-failed-error": "Gösterge paketini dışa aktaramadı: {{error}}", - "create-new-widgets-bundle": "Yeni gösterge paketi oluştur", - "widgets-bundle-file": "Gösterge paketi dosyası", - "invalid-widgets-bundle-file-error": "Gösterge paketi içe aktarılamadı: Geçersiz gösterge paketi veri yapısı.", - "search": "Gösterge paketi ara", - "selected-widgets-bundles": "{ count, plural, =1 {1 gösterge paketi} other {# gösterge paketi} } seçildi", - "open-widgets-bundle": "Gösterge paketlerini aç", - "loading-widgets-bundles": "Gösterge paketleri yükleniyor..." + "import": "Widget paketi içe aktar", + "export": "Widget paketi dışa aktar", + "export-widgets-bundle-widgets-prompt": "Paket içindeki widget'ları dışa aktarılan veriye dahil et (aksi takdirde yalnızca referans verilen widget FQN'leri dışa aktarılır)", + "export-failed-error": "Widget paketi dışa aktarılamadı: {{error}}", + "create-new-widgets-bundle": "Yeni widget paketi oluştur", + "widgets-bundle-file": "Widget paketi dosyası", + "invalid-widgets-bundle-file-error": "Widget paketi içe aktarılamadı: Geçersiz widget paketi veri yapısı.", + "search": "Widget paketlerinde ara", + "selected-widgets-bundles": "{ count, plural, =1 {1 widget paketi} other {# widget paketi} } seçildi", + "open-widgets-bundle": "Widget paketini aç", + "loading-widgets-bundles": "Widget paketleri yükleniyor...", + "create-new": "Yeni widget paketi oluştur" }, "widget-config": { "data": "Veri", "settings": "Ayarlar", - "advanced": "İleri düzey", + "advanced": "Gelişmiş", + "appearance": "Görünüm", + "widget-card": "Widget kartı", + "mobile": "Mobil", "title": "Başlık", - "title-tooltip": "Başlık İpucu", + "title-tooltip": "Başlık Bilgi Balonu", "general-settings": "Genel ayarlar", - "display-title": "Başlığı göster", - "drop-shadow": "Gölge", + "display-title": "Widget başlığını göster", + "card-title": "Kart başlığı", + "drop-shadow": "Gölge efekti", "enable-fullscreen": "Tam ekranı etkinleştir", "background-color": "Arka plan rengi", - "text-color": "Yazı rengi", - "padding": "İç aralık (Padding)", - "margin": "Dış aralık (Margin)", - "widget-style": "Gösterge stili", + "text-color": "Metin rengi", + "border-radius": "Kenar yuvarlama", + "padding": "İç boşluk", + "margin": "Dış boşluk", + "widget-style": "Widget stili", + "widget-css": "Widget CSS", "title-style": "Başlık stili", - "mobile-mode-settings": "Mobil mod ayarları", + "mobile-mode-settings": "Mobil mod", "order": "Sıra", "height": "Yükseklik", - "mobile-hide": "Göstergeyi mobil modda gizle", - "units": "Değerin yanında göstermek için özel simge", - "decimals": "Noktadan sonraki basamak sayısı", + "mobile-hide": "Mobil modda widget'ı gizle", + "desktop-hide": "Masaüstü modda widget'ı gizle", + "units": "Değerin yanına gösterilecek özel sembol", + "units-by-default": "Varsayılan birimler", + "decimals": "Ondalık basamak sayısı", + "decimals-by-default": "Varsayılan ondalık basamak", + "default-data-key-parameter-hint": "Bu parametre, veri anahtarı konfigürasyonu ile geçersiz kılınmadıkça tüm widget değerleri için geçerlidir", + "units-short": "Birimler", + "decimals-short": "Ondalık", + "decimals-suffix": "ondalık", + "digits-suffix": "basamak", "timewindow": "Zaman aralığı", - "use-dashboard-timewindow": "Kontrol paneli zaman aralığı kullan", - "display-timewindow": "Zaman penceresini göster", - "display-legend": "Lejant göster", + "use-dashboard-timewindow": "Dashboard zaman aralığını kullan", + "use-widget-timewindow": "Widget zaman aralığını kullan", + "display-timewindow": "Zaman aralığını göster", + "legend": "Gösterge", + "display-legend": "Göstergeyi göster", "datasources": "Veri kaynakları", - "maximum-datasources": "En fazla { count, plural, =1 {1 veri kaynağı kullanılabilir.} other {# veri kaynağı kullanılabilir} }", + "datasource": "Veri kaynağı", + "maximum-datasources": "En fazla { count, plural, =1 {1 veri kaynağına izin verilir.} other {# veri kaynağına izin verilir} }", + "timeseries-key-error": "En az bir zaman serisi veri anahtarı belirtilmelidir", "datasource-type": "Tür", "datasource-parameters": "Parametreler", "remove-datasource": "Veri kaynağını kaldır", "add-datasource": "Veri kaynağı ekle", - "target-device": "Hedef aygıt", + "target-device": "Hedef cihaz", "alarm-source": "Alarm kaynağı", "actions": "Eylemler", "action": "Eylem", "add-action": "Eylem ekle", - "search-actions": "Eylem ara", - "no-actions-text": "Aksiyon bulunamadı", + "search-actions": "Eylemleri ara", + "no-actions-text": "Hiçbir eylem bulunamadı", "action-source": "Eylem kaynağı", - "action-source-required": "Eylem kaynağı gerekli.", - "action-name": "İsim", - "action-name-required": "Eylem ismi gerekli.", - "action-name-not-unique": "Aynı ada sahip başka bir işlem zaten var.\nEylem adı, aynı eylem kaynağı içinde emsalsiz olmalıdır.", - "action-icon": "İkon", + "select-action-source": "Eylem kaynağını seçin", + "action-source-required": "Eylem kaynağı gereklidir.", + "column-index": "Sütun indeksi", + "select-column-index": "Sütun indeksini seçin", + "column-index-required": "Sütun indeksi gereklidir.", + "not-set": "Ayarlanmadı", + "action-name": "Ad", + "action-name-required": "Eylem adı gereklidir.", + "action-name-not-unique": "Aynı ada sahip başka bir eylem zaten mevcut.\nEylem adı, aynı eylem kaynağı içinde benzersiz olmalıdır.", + "action-icon": "Simge", + "header-button": { + "button-settings": "Düğme ayarları", + "button-type": "Düğme türü", + "button-type-basic": "Temel", + "button-type-raised": "Yükseltilmiş", + "button-type-stroked": "Çerçeveli", + "button-type-flat": "Düz", + "button-type-icon": "Simge", + "button-type-mini-fab": "FAB", + "colors": "Renkler", + "color": "Renk", + "background": "Arka plan", + "border": "Kenarlık", + "advanced-button-style": "Gelişmiş düğme stili", + "button-style": "Düğme stili" + }, + "show-hide-action-using-function": "Eylemi fonksiyonla göster/gizle", + "show-action-function": "Eylem gösterme fonksiyonu", "action-type": "Tür", - "action-type-required": "Eylem türü gerekli.", + "action-type-required": "Eylem türü gereklidir.", "edit-action": "Eylemi düzenle", "delete-action": "Eylemi sil", - "delete-action-title": "Gösterge eylemini sil", - "delete-action-text": "'{{actionName}}' isimli gösterge eylemini silmek istediğinizden emin misiniz?", - "display-icon": "Başlık simgesini görüntüle", - "icon-color": "İkon rengi", - "icon-size": "İkon boyutu" + "delete-action-title": "Widget eylemini sil", + "delete-action-text": "Adı '{{actionName}}' olan widget eylemini silmek istediğinizden emin misiniz?", + "title-icon": "Başlık simgesi", + "display-icon": "Başlık simgesini göster", + "card-icon": "Kart simgesi", + "icon": "Simge", + "icon-color": "Simge rengi", + "icon-size": "Simge boyutu", + "advanced-settings": "Gelişmiş ayarlar", + "data-settings": "Veri ayarları", + "limits": "Sınırlar", + "no-data-display-message": "\"Gösterilecek veri yok\" alternatif mesajı", + "data-page-size": "Veri kaynağı başına maksimum varlık sayısı", + "settings-component-not-found": "'{{selector}}' seçici için ayar formu bileşeni bulunamadı", + "preview": "Önizleme", + "set": "Ayarla", + "set-message": "Mesajı ayarla", + "advanced-title-style": "Gelişmiş başlık stili", + "card-style": "Kart stili", + "text": "Metin", + "background": "Arka plan", + "advanced-widget-style": "Gelişmiş widget stili", + "card-buttons": "Kart düğmeleri", + "show-card-buttons": "Kart düğmelerini göster", + "card-border-radius": "Kart köşe yuvarlaklığı", + "card-padding": "Kart dolgusu", + "card-appearance": "Kart görünümü", + "color": "Renk", + "tooltip": "Araç ipucu", + "units-required": "Birim gereklidir.", + "list-layout": "Liste düzeni", + "layout": "Düzen", + "resize-options": "Yeniden boyutlandırma seçenekleri", + "resizable": "Yeniden boyutlandırılabilir", + "preserve-aspect-ratio": "En-boy oranını koru" }, "widget-type": { - "import": "Gösterge türünü içer aktar", - "export": "Gösterge türünü dışa aktar", - "export-failed-error": "Gösterge türü dışa aktarılamadı: {{error}}", - "create-new-widget-type": "Yeni gösterge türü oluştur", - "widget-type-file": "Gösterge türü dosyası", - "invalid-widget-type-file-error": "Gösterge türü içe aktarılamadı: Geçersiz gösterge türü veri yapısı." + "import": "Widget türünü içe aktar", + "export": "Widget türünü dışa aktar", + "export-failed-error": "Widget dışa aktarılamadı: {{error}}", + "widget-file": "Widget dosyası", + "invalid-widget-file-error": "Widget içe aktarılamadı: Geçersiz widget veri yapısı." + }, + "markdown": { + "edit": "Düzenle", + "preview": "Önizleme", + "copy-code": "Kopyalamak için tıkla", + "copied": "Kopyalandı!" }, "widgets": { + "mobile-app-qr-code": { + "configuration-hint": "Yapılandırma, platform ana ayarlarındaki Mobil uygulama QR kodu bileşenine bağlıdır", + "get-it-on-google-play": "Google Play'den edinin", + "download-on-the-app-store": "App Store'dan indirin" + }, + "action-button": { + "behavior": "Davranış", + "on-click": "Tıklama ile", + "on-click-hint": "Butona tıklandığında tetiklenen eylem", + "first-button-click": "Birinci buton tıklaması", + "first-button-click-hint": "Birinci butona basıldığında gerçekleşen eylem.", + "second-button-click": "İkinci buton tıklaması", + "second-button-click-hint": "İkinci butona basıldığında gerçekleşen eylem.", + "button-click-hint": "Bileşene basıldığında gerçekleşen eylem." + }, + "command-button": { + "behavior": "Davranış", + "on-click": "Tıklama ile", + "on-click-hint": "Butona tıklandığında gerçekleştirilen eylem." + }, + "power-button": { + "behavior": "Davranış", + "power-on": "Güç 'Açık'", + "power-on-hint": "Bileşeni AÇMAK için gerçekleştirilen eylem.", + "power-off": "Güç 'Kapalı'", + "power-off-hint": "Bileşeni KAPATMAK için gerçekleştirilen eylem.", + "on-label": "Açık", + "off-label": "Kapalı", + "layout": "Yerleşim", + "layout-default": "Varsayılan", + "layout-simplified": "Basitleştirilmiş", + "layout-outlined": "Ana Hatlı", + "layout-default-volume": "Varsayılan.Ses", + "layout-simplified-volume": "Basitleştirilmiş.Ses", + "layout-outlined-volume": "Ana Hatlı.Ses", + "layout-default-icon": "Varsayılan.Simge", + "layout-simplified-icon": "Basitleştirilmiş.Simge", + "layout-outlined-icon": "Ana Hatlı.Simge", + "main": "Ana", + "background": "Arka Plan", + "button-icon-on": "Buton simgesi 'Açık'", + "button-icon-off": "Buton simgesi 'Kapalı'", + "power-on-colors": "Güç 'Açık' renkleri", + "power-off-colors": "Güç 'Kapalı' renkleri", + "disabled-colors": "Devre dışı renkler", + "button": "Buton" + }, + "toggle-button": { + "behavior": "Davranış", + "checked": "İşaretli", + "unchecked": "İşaretsiz", + "check": "İşaretle", + "check-hint": "Bileşeni işaretlemek için gerçekleştirilen eylem.", + "uncheck": "İşareti kaldır", + "uncheck-hint": "Bileşenin işaretini kaldırmak için gerçekleştirilen eylem.", + "auto-scale": "Otomatik ölçeklendirme", + "horizontal-fill": "Yatay doldurma", + "vertical-fill": "Dikey doldurma", + "button-appearance": "Buton görünümü" + }, + "segmented-button": { + "layout": "Yerleşim", + "layout-squared": "Kare", + "layout-rounded": "Yuvarlatılmış", + "card-border": "Kart kenarlığı", + "button-appearance": "Buton görünümü", + "first": "Birinci", + "second": "İkinci", + "color-styles": "Renk stilleri", + "selected": "Seçili", + "unselected": "Seçili değil" + }, + "button": { + "layout": "Yerleşim", + "outlined": "Ana hatlı", + "filled": "Dolu", + "underlined": "Altı çizili", + "basic": "Temel", + "auto-scale": "Otomatik ölçeklendirme", + "label": "Etiket", + "icon": "Simge", + "border-radius": "Kenar yarıçapı", + "color-palette": "Renk paleti", + "main": "Ana", + "background": "Arka plan", + "border": "Kenarlık", + "custom-styles": "Özel stiller", + "clear-style": "Stili temizle", + "shadow": "Gölge", + "enabled": "Etkin", + "disabled": "Devre dışı", + "preview": "Önizleme", + "copy-style-from": "Stili kopyala" + }, + "value-stepper": { + "behavior": "Davranış", + "simplified": "Basitleştirilmiş", + "filled": "Dolu", + "outlined": "Ana hatlı", + "volume": "Ses", + "initial-state": "Başlangıç durumu", + "initial-state-hint": "Başlangıç değerini almak için gerçekleştirilen eylem.", + "disabled-state": "Devre dışı durumu", + "disabled-state-hint": "Bileşenin devre dışı bırakılacağı koşulu yapılandırın.", + "right-button-click": "Sağ düğme tıklaması", + "right-button-click-hint": "Sağ düğmeye basıldığında gerçekleştirilen eylem.", + "left-button-click": "Sol düğme tıklaması", + "left-button-click-hint": "Sol düğmeye basıldığında gerçekleştirilen eylem.", + "auto-scale": "Otomatik ölçeklendirme", + "value-range": "Aralık", + "min-range": "Minimum", + "max-range": "Maksimum", + "value-increment-decrement-step": "Değer artırma/azaltma adımı", + "value": "Değer", + "value-box-background": "Değer kutusu arka planı", + "border": "Kenarlık", + "button-appearance": "Buton görünümü", + "left": "Sol", + "right": "Sağ", + "left-button": "Sol düğme", + "right-button": "Sağ düğme", + "icon": "Simge", + "color-palette": "Renk paleti", + "main": "Ana", + "background": "Arka plan", + "button-icon-on": "Buton simgesi 'Açık'", + "button-on-colors": "Güç 'Açık' renkleri", + "disabled-colors": "Devre dışı renkler" + }, + "button-state": { + "activated-state": "Etkin durum", + "activated-state-hint": "Butonun etkin olduğu koşulu yapılandırın.", + "disabled-state": "Devre dışı durumu", + "disabled-state-hint": "Butonun devre dışı bırakıldığı koşulu yapılandırın.", + "selected-state": "Butonu seç", + "selected-state-hint": "Butonun seçili olduğu koşulu yapılandırın.", + "enabled": "Etkin", + "hovered": "Üzerine gelindi", + "pressed": "Basıldı", + "activated": "Etkinleştirildi", + "disabled": "Devre dışı", + "initial": "İlk buton", + "first": "Birinci", + "second": "İkinci" + }, + "background": { + "background": "Arka plan", + "background-settings": "Arka plan ayarları", + "background-type-image": "Görsel", + "background-type-color": "Renk", + "image-url": "Görsel URL'si", + "overlay": "Kaplama", + "enable-overlay": "Kaplamayı etkinleştir", + "blur": "Bulanıklık", + "preview": "Önizleme" + }, + "bar-chart": { + "bar-appearance": "Çubuk görünümü", + "label-on-bar": "Çubuğun üzerinde etiket", + "value-on-bar": "Çubuğun üzerinde değer", + "bar-chart-style": "Çubuk grafik stili", + "bar-axis": "Çubuk ekseni" + }, + "polar-area-chart": { + "polar-axis": "Polar ekseni", + "start-angle": "Başlangıç açısı", + "polar-area-chart-style": "Polar alan grafik stili" + }, + "battery-level": { + "layout": "Yerleşim", + "layout-vertical-solid": "Dikey. Dolu", + "layout-horizontal-solid": "Yatay. Dolu", + "layout-vertical-divided": "Dikey. Bölünmüş", + "layout-horizontal-divided": "Yatay. Bölünmüş", + "icon": "Simge", + "value": "Değer", + "auto-scale": "Otomatik ölçeklendirme", + "battery-level-color": "Pil seviyesi rengi", + "battery-shape-color": "Pil şekli rengi", + "battery-level-card-style": "Pil seviyesi kart stili", + "sections-count": "Bölüm sayısı" + }, + "signal-strength": { + "value": "Değer", + "last-update": "Son güncelleme", + "no-signal": "Sinyal yok", + "layout": "Yerleşim", + "layout-wifi": "Wi-Fi", + "layout-cellular-bar": "Mobil çubuk", + "icon": "Simge", + "date": "Tarih", + "active-bars-color": "Aktif sinyal çubuk rengi", + "inactive-bars-color": "Pasif sinyal çubuk rengi", + "signal-strength-card-style": "Sinyal gücü kart stili", + "no-signal-rssi-value": "\"Sinyal yok\" rssi değeri" + }, + "status-widget": { + "behavior": "Davranış", + "layout": "Yerleşim", + "layout-default": "Varsayılan", + "layout-center": "Merkez", + "layout-icon": "Simge", + "on": "Açık", + "off": "Kapalı", + "label": "Etiket", + "status": "Durum", + "icon": "Simge", + "color-palette": "Renk paleti", + "disabled-color-palette": "Devre dışı renk paleti", + "primary": "Birincil", + "primary-color-hint": "Simge ve etiket rengi", + "secondary": "İkincil", + "secondary-color-hint": "Durum rengi", + "background": "Arka plan" + }, + "chart": { + "common-settings": "Genel ayarlar", + "enable-stacking-mode": "Yığılma modunu etkinleştir", + "selection": "Zaman aralığı seçimi", + "enable-selection-mode": "Seçim modunu etkinleştir", + "line-shadow-size": "Çizgi gölge boyutu", + "display-smooth-lines": "Yumuşak (eğri) çizgileri göster", + "default-bar-width": "Toplanmamış veriler için varsayılan çubuk genişliği (milisaniye)", + "bar-alignment": "Çubuk hizalaması", + "bar-alignment-left": "Sol", + "bar-alignment-right": "Sağ", + "bar-alignment-center": "Orta", + "default-font": "Varsayılan yazı tipi", + "default-font-size": "Varsayılan yazı tipi boyutu", + "default-font-color": "Varsayılan yazı tipi rengi", + "thresholds-line-width": "Tüm eşik değerleri için varsayılan çizgi kalınlığı", + "tooltip-settings": "İpucu ayarları", + "tooltip": "İpucu", + "show-tooltip": "İpucu göster", + "hover-individual-points": "Tek tek noktalarda üzerine gelindiğinde göster", + "show-cumulative-values": "Yığılma modunda kümülatif değerleri göster", + "hide-zero-false-values": "İpucundan sıfır/yanlış değerleri gizle", + "tooltip-value-format-function": "İpucu değer biçimlendirme fonksiyonu", + "grid-settings": "Izgara ayarları", + "show-vertical-lines": "Dikey çizgileri göster", + "show-horizontal-lines": "Yatay çizgileri göster", + "grid-outline-border-width": "Izgara kenar/çerçeve kalınlığı (px)", + "primary-color": "Birincil renk", + "background-color": "Arka plan rengi", + "ticks-color": "İşaret renkleri", + "xaxis-settings": "X ekseni ayarları", + "axis-title": "Eksen başlığı", + "xaxis-tick-labels-settings": "X ekseni işaret etiketleri ayarları", + "show-tick-labels": "Eksen işaret etiketlerini göster", + "yaxis-settings": "Y ekseni ayarları", + "min-scale-value": "Ölçekteki minimum değer", + "max-scale-value": "Ölçekteki maksimum değer", + "yaxis-tick-labels-settings": "Y ekseni işaret etiketleri ayarları", + "tick-step-size": "İşaretler arası adım boyutu", + "number-of-decimals": "Gösterilecek ondalık basamak sayısı", + "ticks-formatter-function": "İşaret biçimlendirme fonksiyonu", + "comparison-settings": "Karşılaştırma ayarları", + "enable-comparison": "Karşılaştırmayı etkinleştir", + "time-for-comparison": "Karşılaştırma dönemi", + "time-for-comparison-previous-interval": "Önceki aralık (varsayılan)", + "time-for-comparison-days": "Bir gün önce", + "time-for-comparison-weeks": "Bir hafta önce", + "time-for-comparison-months": "Bir ay önce", + "time-for-comparison-years": "Bir yıl önce", + "time-for-comparison-custom-interval": "Özel aralık", + "custom-interval-value": "Özel aralık değeri (ms)", + "comparison-x-axis-settings": "Karşılaştırma X ekseni ayarları", + "axis-position": "Eksen konumu", + "axis-position-top": "Üst (varsayılan)", + "axis-position-bottom": "Alt", + "custom-legend-settings": "Özel açıklama ayarları", + "enable-custom-legend": "Özel açıklamayı etkinleştir (bu, anahtar etiketlerinde öznitelik/zaman serisi değerlerini kullanmanıza olanak tanır)", + "key-name": "Anahtar adı", + "key-name-required": "Anahtar adı gerekli", + "key-type": "Anahtar türü", + "key-type-attribute": "Öznitelik", + "key-type-timeseries": "Zaman serisi", + "label-keys-list": "Etiketlerde kullanılacak anahtar listesi", + "no-label-keys": "Yapılandırılmış anahtar yok", + "add-label-key": "Yeni anahtar ekle", + "line-width": "Çizgi kalınlığı", + "color": "Renk", + "data-is-hidden-by-default": "Veri varsayılan olarak gizlidir", + "disable-data-hiding": "Veri gizlemeyi devre dışı bırak", + "remove-from-legend": "Anahtarı açıklamadan kaldır", + "exclude-from-stacking": "Yığılmadan hariç tut (\"Yığılma\" modunda kullanılabilir)", + "line-settings": "Çizgi ayarları", + "show-line": "Çizgiyi göster", + "fill-line": "Çizgiyi doldur", + "fill-line-opacity": "Dolgu opaklığı", + "points-settings": "Nokta ayarları", + "show-points": "Noktaları göster", + "points-line-width": "Noktaların çizgi kalınlığı", + "points-radius": "Noktaların yarıçapı", + "point-shape": "Nokta şekli", + "point-shape-circle": "Daire", + "point-shape-cross": "Çarpı", + "point-shape-diamond": "Elmas", + "point-shape-square": "Kare", + "point-shape-triangle": "Üçgen", + "point-shape-custom": "Özel fonksiyon", + "point-shape-draw-function": "Nokta şekli çizim fonksiyonu", + "show-separate-axis": "Ayrı ekseni göster", + "axis-position-left": "Sol", + "axis-position-right": "Sağ", + "thresholds": "Eşikler", + "no-thresholds": "Yapılandırılmış eşik yok", + "add-threshold": "Eşik ekle", + "show-values-for-comparison": "Karşılaştırma için geçmiş değerleri göster", + "comparison-values-label": "Geçmiş değerler etiketi", + "comparison-line-color": "Karşılaştırma çizgi rengi", + "threshold-settings": "Eşik ayarları", + "use-as-threshold": "Anahtar değerini eşik olarak kullan", + "threshold-line-width": "Eşik çizgi kalınlığı", + "threshold-color": "Eşik rengi", + "common-pie-settings": "Genel pasta grafik ayarları", + "radius": "Yarıçap", + "inner-radius": "İç yarıçap", + "tilt": "Eğim", + "common-pie-settings-range-error": "Değer 0 ile 1 arasında olmalıdır", + "stroke-settings": "Çizgi ayarları", + "width-pixels": "Genişlik (piksel)", + "show-labels": "Etiketleri göster", + "animation-settings": "Animasyon ayarları", + "animated-pie": "Pasta animasyonunu etkinleştir (deneysel)", + "border-settings": "Kenarlık ayarları", + "border-width": "Kenarlık kalınlığı", + "border-color": "Kenarlık rengi", + "legend-settings": "Açıklama ayarları", + "display-legend": "Açıklamayı göster", + "labels-font-color": "Etiket yazı tipi rengi", + "series": "Seriler", + "add-series": "Seri ekle", + "series-settings": "Seri ayarları", + "remove-series": "Seriyi kaldır", + "no-series": "Yapılandırılmış seri yok", + "no-series-error": "En az bir seri belirtilmelidir", + "chart-appearance": "Grafik görünümü", + "vertical-grid-lines": "Dikey kılavuz çizgileri", + "horizontal-grid-lines": "Yatay kılavuz çizgileri", + "chart-background": "Grafik arka planı", + "grid-lines-color": "Kılavuz çizgileri rengi", + "border": "Kenarlık", + "axis": "Eksen", + "vertical-axis": "Dikey eksen", + "ticks": "İşaretler", + "horizontal-axis": "Yatay eksen", + "shape-empty-circle": "Boş daire", + "shape-circle": "Daire", + "shape-rect": "Dikdörtgen", + "shape-round-rect": "Yuvarlatılmış dikdörtgen", + "shape-triangle": "Üçgen", + "shape-diamond": "Elmas", + "shape-pin": "İğne", + "shape-arrow": "Ok", + "shape-none": "Yok", + "line-type-solid": "Düz", + "line-type-dashed": "Kesik", + "line-type-dotted": "Noktalı", + "label-position-top": "Üst", + "label-position-bottom": "Alt", + "label-position-outside": "Dış", + "label-position-inside": "İç", + "fill": "Dolgu", + "fill-type-none": "Yok", + "fill-type-solid": "Düz", + "fill-type-opacity": "Opaklık", + "fill-type-gradient": "Gradyan", + "background": "Arka plan", + "opacity": "Opaklık", + "gradient-stops": "Gradyan durakları", + "gradient-start": "başlangıç", + "gradient-end": "bitiş", + "animation": { + "animation": "Animasyon", + "animation-threshold": "Animasyon eşiği", + "animation-duration": "Animasyon süresi", + "animation-easing": "Animasyon yumuşatma", + "animation-delay": "Animasyon gecikmesi", + "update-animation-duration": "Güncelleme animasyon süresi", + "update-animation-easing": "Güncelleme animasyon yumuşatma", + "update-animation-delay": "Güncelleme animasyon gecikmesi" + }, + "chart-axis": { + "scale": "Ölçek", + "scale-min": "min", + "scale-max": "maks", + "scale-auto": "Otomatik" + }, + "bar": { + "show-border": "Kenarlığı göster", + "border-width": "Kenarlık kalınlığı", + "border-radius": "Kenarlık yarıçapı", + "bar-width": "Çubuk genişliği", + "label": "Etiket", + "label-hint": "Etiketi çubuğun üzerinde göster.", + "series-label-hint": "Değer ile birlikte etiketi çubuğun üzerinde göster.", + "label-background": "Etiket arka planı" + } + }, + "color": { + "color-settings": "Renk ayarları", + "color-type-constant": "Sabit", + "color-type-gradient": "Gradyan", + "color-type-range": "Aralık", + "color-type-function": "Fonksiyon", + "color": "Renk", + "value-range": "Değer aralığı", + "from": "Başlangıç", + "to": "Bitiş", + "color-function": "Renk fonksiyonu", + "copy-color-settings-from": "Renk ayarlarını kopyala", + "copy-from": "Buradan kopyala", + "settings-type": "Ayar tipi", + "basic-mode": "Temel", + "advanced-mode": "Gelişmiş", + "entity-alias": "Varlık takma adı", + "entity-attribute": "Varlık özelliği", + "gradient-color": "Gradyan rengi", + "gradient-color-min": "Renk", + "gradient-start": "Gradyan başlangıç rengi", + "gradient-start-min": "Başlangıç", + "gradient-end": "Gradyan bitiş rengi", + "gradient-end-min": "Bitiş", + "start-value": "Başlangıç değeri", + "end-value": "Bitiş değeri", + "gradient-type": "Gradyan tipi" + }, + "dashboard-state": { + "dashboard-state-settings": "Kontrol paneli durumu ayarları", + "dashboard-state": "Kontrol paneli durumu kimliği", + "autofill-state-layout": "Durum yerleşim yüksekliğini varsayılan olarak otomatik doldur", + "default-margin": "Varsayılan bileşen kenar boşluğu", + "default-background-color": "Varsayılan arka plan rengi", + "sync-parent-state-params": "Durum parametrelerini üst kontrol paneliyle senkronize et" + }, "date-range-navigator": { + "date-range-picker-settings": "Tarih aralığı seçici ayarları", + "hide-date-range-picker": "Tarih aralığı seçiciyi gizle", + "picker-one-panel": "Tarih aralığı seçici tek panel", + "picker-auto-confirm": "Tarih aralığı seçici otomatik onay", + "picker-show-template": "Tarih aralığı seçici şablon göster", + "first-day-of-week": "Haftanın ilk günü", + "interval-settings": "Zaman aralığı ayarları", + "hide-interval": "Zaman aralığını gizle", + "initial-interval": "İlk zaman aralığı", + "interval-hour": "Saat", + "interval-day": "Gün", + "interval-week": "Hafta", + "interval-two-weeks": "2 hafta", + "interval-month": "Ay", + "interval-three-months": "3 ay", + "interval-six-months": "6 ay", + "step-settings": "Adım ayarları", + "hide-step-size": "Adım boyutunu gizle", + "initial-step-size": "İlk adım boyutu", + "hide-labels": "Etiketleri gizle", + "use-session-storage": "Oturum depolamasını kullan", "localizationMap": { "Sun": "Paz", "Mon": "Pzt", @@ -2944,13 +7554,13 @@ "Date Range Template": "Tarih Aralığı Şablonu", "Today": "Bugün", "Yesterday": "Dün", - "This Week": "Bu hafta", - "Last Week": "Geçen hafta", - "This Month": "Bu ay", - "Last Month": "Geçen ay", + "This Week": "Bu Hafta", + "Last Week": "Geçen Hafta", + "This Month": "Bu Ay", + "Last Month": "Geçen Ay", "Year": "Yıl", - "This Year": "Bu yıl", - "Last Year": "Geçen yıl", + "This Year": "Bu Yıl", + "Last Year": "Geçen Yıl", "Date picker": "Tarih seçici", "Hour": "Saat", "Day": "Gün", @@ -2962,77 +7572,1954 @@ "Custom interval": "Özel aralık", "Interval": "Aralık", "Step size": "Adım boyutu", - "Ok": "Ok" + "Ok": "Tamam" } }, + "doughnut": { + "doughnut-appearance": "Halka görünümü", + "layout": "Yerleşim", + "layout-default": "Varsayılan", + "layout-with-total": "Toplam ile", + "central-total-value": "Merkezi toplam değeri", + "doughnut-card-style": "Halka kart stili" + }, + "entities-hierarchy": { + "hierarchy-data-settings": "Hiyerarşi veri ayarları", + "relations-query-function": "Düğüm ilişkileri sorgu fonksiyonu", + "has-children-function": "Düğümün çocukları var fonksiyonu", + "node-state-settings": "Düğüm durumu ayarları", + "node-opened-function": "Varsayılan düğüm açık fonksiyonu", + "node-disabled-function": "Düğüm devre dışı fonksiyonu", + "display-settings": "Görüntüleme ayarları", + "node-icon-function": "Düğüm simgesi fonksiyonu", + "node-text-function": "Düğüm metni fonksiyonu", + "sort-settings": "Sıralama ayarları", + "nodes-sort-function": "Düğümler sıralama fonksiyonu" + }, + "edge": { + "display-default-title": "Varsayılan başlığı göster" + }, + "gateway": { + "general-settings": "Genel ayarlar", + "widget-title": "Widget başlığı", + "default-archive-file-name": "Varsayılan arşiv dosya adı", + "device-type-for-new-gateway": "Yeni ağ geçidi için cihaz tipi", + "messages-settings": "Mesaj ayarları", + "save-config-success-message": "Ağ geçidi yapılandırmasının başarıyla kaydedildiğine dair mesaj", + "device-name-exists-message": "Girilen ada sahip cihaz zaten mevcut mesajı", + "gateway-title": "Ağ geçidi formu", + "read-only": "Salt okunur", + "events-title": "Ağ geçidi olayları form başlığı", + "events-filter": "Olay filtresi", + "event-key-contains": "Olay anahtarı şunu içeriyor...", + "show-connector": "Bağlayıcı için göster", + "connector-state-param-key": "Bağlayıcı durum parametresi anahtarı", + "message": "Mesaj", + "level": "Seviye", + "created-time": "Oluşturulma zamanı" + }, + "gauge": { + "default-color": "Varsayılan renk", + "radial-gauge-settings": "Radyal gösterge ayarları", + "ticks-settings": "İşaret ayarları", + "min-value": "Minimum değer", + "max-value": "Maksimum değer", + "min-value-short": "min", + "max-value-short": "maks", + "start-ticks-angle": "İşaret başlangıç açısı", + "ticks-angle": "İşaret açısı", + "major-ticks": "Ana işaretler", + "major-ticks-count": "Ana işaret sayısı", + "major-ticks-color": "Ana işaret rengi", + "minor-ticks": "Alt işaretler", + "minor-ticks-count": "Alt işaret sayısı", + "minor-ticks-color": "Alt işaret rengi", + "tick-numbers-font": "İşaret numaraları yazı tipi", + "unit-title-settings": "Birim başlığı ayarları", + "show-unit-title": "Birim başlığı", + "unit-title": "Birim başlığı", + "title-font": "Başlık yazı tipi", + "units-settings": "Birim ayarları", + "units-font": "Birim yazı tipi", + "value-box-settings": "Değer kutusu ayarları", + "show-value-box": "Değer kutusunu göster", + "value-box": "Değer kutusu", + "value-int": "Tam sayı kısmı için basamak sayısı", + "value-text": "Değer metni", + "value-text-shadow": "Değer metni gölgesi", + "value-font": "Değer metni yazı tipi", + "rect-stroke-color-start": "Dikdörtgen çizgi rengi - başlangıç gradyanı", + "rect-stroke-color-end": "Dikdörtgen çizgi rengi - bitiş gradyanı", + "background-color": "Arka plan rengi", + "shadow-color": "Gölge rengi", + "value-box-rect-stroke-color": "Değer kutusu dikdörtgen çizgi rengi", + "value-box-rect-stroke-color-end": "Değer kutusu dikdörtgen çizgi rengi - bitiş gradyanı", + "value-box-background-color": "Değer kutusu arka plan rengi", + "value-box-shadow-color": "Değer kutusu gölge rengi", + "plate-settings": "Taban ayarları", + "show-plate-border": "Taban kenarlığı", + "plate-color": "Taban rengi", + "needle-settings": "İbre ayarları", + "needle-circle-size": "İbre dairesi boyutu", + "needle-color": "İbre rengi", + "needle-color-start": "İbre rengi - başlangıç gradyanı", + "needle-color-end": "İbre rengi - bitiş gradyanı", + "needle-color-shadow-up": "İbrenin üst yarısı gölge rengi", + "needle-color-shadow-down": "Gölge efekti", + "highlights-settings": "Vurgu ayarları", + "highlights-width": "Vurgu kalınlığı", + "highlights": "Vurgular", + "highlight-from": "Başlangıç", + "highlight-to": "Bitiş", + "highlight-color": "Renk", + "no-highlights": "Herhangi bir vurgu yapılandırılmamış", + "add-highlight": "Vurgu ekle", + "animation-settings": "Animasyon ayarları", + "enable-animation": "Animasyon", + "animation-duration-rule": "Animasyon süresi ve kuralı", + "animation-duration": "Animasyon süresi", + "animation-rule": "Animasyon kuralı", + "animation-linear": "Doğrusal", + "animation-quad": "İkinci derece", + "animation-quint": "Beşinci derece", + "animation-cycle": "Döngü", + "animation-bounce": "Zıplama", + "animation-elastic": "Esnek", + "animation-dequad": "Ters ikinci derece", + "animation-dequint": "Ters beşinci derece", + "animation-decycle": "Ters döngü", + "animation-debounce": "Ters zıplama", + "animation-delastic": "Ters esnek", + "linear-gauge-settings": "Doğrusal gösterge ayarları", + "bar-stroke": "Çubuk çizgisi", + "bar-stroke-width": "Çubuk çizgi kalınlığı", + "bar-stroke-color": "Çubuk çizgi rengi", + "bar-background-color": "Çubuk arka plan rengi - başlangıç gradyanı", + "bar-background-color-end": "Çubuk arka plan rengi - bitiş gradyanı", + "progress-bar-color": "İlerleme çubuğu rengi", + "progress-bar": "İlerleme çubuğu", + "progress-bar-color-start": "İlerleme çubuğu rengi - başlangıç gradyanı", + "progress-bar-color-end": "İlerleme çubuğu rengi - bitiş gradyanı", + "major-ticks-names": "Ana işaret adları", + "show-stroke-ticks": "İşaret çizgilerini göster", + "major-ticks-font": "Ana işaret yazı tipi", + "border-color": "Kenarlık rengi", + "border-width": "Kenarlık kalınlığı", + "needle-circle": "İbre dairesi", + "needle-circle-color": "İbre dairesi rengi", + "animation-target": "Animasyon hedefi", + "animation-target-needle": "İbre", + "animation-target-plate": "Taban", + "common-settings": "Genel gösterge ayarları", + "gauge-type": "Gösterge türü", + "gauge-type-arc": "Yay", + "gauge-type-donut": "Halka", + "gauge-type-horizontal-bar": "Yatay çubuk", + "gauge-type-vertical-bar": "Dikey çubuk", + "donut-start-angle": "Başlangıç açısı (derece)", + "bar-settings": "Gösterge çubuğu ayarları", + "relative-bar-width": "Göreli çubuk genişliği", + "neon-glow-brightness": "Neon parıltı efekti parlaklığı (0-100)", + "neon-glow-brightness-hint": "0 - efekt devre dışı", + "stripes-thickness": "Şerit kalınlığı", + "stripes-thickness-hint": "0 - şerit yok", + "rounded-line-cap": "Yuvarlak çizgi ucu", + "bar-color-settings": "Çubuk renk ayarları", + "use-precise-level-color-values": "Hassas renk seviyelerini kullan", + "bar-colors": "Alt seviyeden üst seviyeye çubuk renkleri", + "color": "Renk", + "no-bar-colors": "Tanımlı çubuk rengi yok", + "add-bar-color": "Çubuk rengi ekle", + "from": "Başlangıç", + "to": "Bitiş", + "fixed-level-colors": "Sınır değerleri kullanarak çubuk renkleri", + "gauge-title-settings": "Gösterge başlık ayarları", + "show-gauge-title": "Gösterge başlığını göster", + "gauge-title": "Gösterge başlığı", + "gauge-title-font": "Gösterge başlığı yazı tipi", + "unit-title-and-timestamp-settings": "Birim başlığı ve zaman damgası ayarları", + "show-timestamp": "Zaman damgası", + "timestamp-format": "Zaman damgası biçimi", + "label-font": "Değerin altında gösterilen etiketin yazı tipi", + "value-settings": "Değer ayarları", + "show-value": "Değer metnini göster", + "min-max-settings": "Minimum/maksimum etiket ayarları", + "show-min-max": "Min ve max değerleri göster", + "min-max-font": "Min ve max etiket yazı tipi", + "show-ticks": "İşaretleri göster", + "tick-width": "İşaret kalınlığı", + "tick-color": "İşaret rengi", + "tick-values": "İşaret değerleri", + "no-tick-values": "Tanımlı işaret değeri yok", + "add-tick-value": "İşaret değeri ekle", + "gauge-appearance": "Gösterge görünümü", + "units-title": "Birim başlığı", + "value": "Değer", + "ticks": "İşaretler", + "arrow-and-scale-color": "Ok ve ölçek varsayılan rengi", + "scale-settings": "Ölçek ayarları", + "scale": "Ölçek", + "scale-color": "Ölçek renkleri", + "compass-appearance": "Pusula görünümü", + "label": "Etiket", + "labels": "Etiketler", + "label-style": "Etiket stili", + "simple-gauge-type": "Tür", + "gauge-bar-background": "Gösterge çubuğu arka planı", + "bar-color": "Çubuk rengi", + "min-and-max-value": "Minimum ve maksimum değer", + "min-and-max-label": "Minimum ve maksimum etiket", + "font": "Yazı tipi", + "tick-width-and-color": "İşaret kalınlığı ve rengi", + "min-max-validation-text": "Maksimum değer, minimum değerden büyük olmalıdır" + }, + "gpio": { + "pin": "Pin", + "label": "Etiket", + "row": "Satır", + "column": "Sütun", + "color": "Renk", + "panel-settings": "Panel ayarları", + "background-color": "Arka plan rengi", + "gpio-switches": "GPIO anahtarları", + "no-gpio-switches": "Yapılandırılmış GPIO anahtarı yok", + "add-gpio-switch": "GPIO anahtarı ekle", + "gpio-status-request": "GPIO durum isteği", + "method-name": "Yöntem adı", + "method-body": "Yöntem içeriği", + "gpio-status-change-request": "GPIO durum değişiklik isteği", + "parse-gpio-status-function": "GPIO durumu ayrıştırma fonksiyonu", + "gpio-leds": "GPIO LED'leri", + "no-gpio-leds": "Yapılandırılmış GPIO LED'i yok", + "add-gpio-led": "GPIO LED'i ekle" + }, + "html-card": { + "html": "HTML", + "css": "CSS" + }, "input-widgets": { - "attribute-not-allowed": "Öznitelik parametresi bu göstergede kullanılamaz", - "blocked-location": "Tarayıcınızda coğrafi konum engellendi", - "claim-device": "Talep cihaz", + "attribute-not-allowed": "Bu bileşende öznitelik parametresi kullanılamaz", + "blocked-location": "Tarayıcınızda konum erişimi engellenmiş", + "claim-device": "Cihazı talep et", "claim-failed": "Cihaz talep edilemedi!", "claim-not-found": "Cihaz bulunamadı!", "claim-successful": "Cihaz başarıyla talep edildi!", "date": "Tarih", "device-name": "Cihaz adı", - "device-name-required": "Cihaz adı gerekli", - "discard-changes": "Değişiklikleri gözardı et", - "entity-attribute-required": "Öğe özniteliği gerekli", - "entity-coordinate-required": "Enlem ve boylam olmak üzere her iki alan da gereklidir", - "entity-timeseries-required": "Öğe zaman serisi gerekli", + "device-name-required": "Cihaz adı gereklidir", + "discard-changes": "Değişiklikleri iptal et", + "entity-attribute-required": "Varlık özniteliği gereklidir", + "entity-coordinate-required": "Enlem ve boylam alanlarının her ikisi de gereklidir", + "entity-timeseries-required": "Varlık zaman serisi gereklidir", "get-location": "Geçerli konumu al", "invalid-date": "Geçersiz tarih", "latitude": "Enlem", "longitude": "Boylam", "min-value-error": "Minimum değer {{value}}", "max-value-error": "Maksimum değer {{value}}", - "not-allowed-entity": "Seçili öğe, paylaşılan niteliklere sahip olamaz", - "no-attribute-selected": "Hiçbir özellik seçilmedi", - "no-datakey-selected": "Veri anahtarı seçilmedi", + "not-allowed-entity": "Seçilen varlık paylaşılan özniteliklere sahip olamaz", + "no-attribute-selected": "Herhangi bir öznitelik seçilmedi", + "no-datakey-selected": "Herhangi bir veri anahtarı seçilmedi", "no-coordinate-specified": "Enlem/boylam için veri anahtarı belirtilmedi", - "no-entity-selected": "Hiçbir öğe seçilmedi", - "no-image": "Resim yok", - "no-support-geolocation": "Tarayıcınız coğrafi konumu desteklemiyor", - "no-support-web-camera": "Tarayıcınız kameraları desteklemiyor", - "enable-https-use-widget": "Bu göstergeyi kullanmak için lütfen HTTPS'yi etkinleştirin", + "no-entity-selected": "Varlık seçilmedi", + "no-image": "Görüntü yok", + "no-support-geolocation": "Tarayıcınız konum belirlemeyi desteklemiyor", + "no-support-web-camera": "Tarayıcınız kamera desteği sunmuyor", + "enable-https-use-widget": "Bu bileşeni kullanmak için lütfen HTTPS etkinleştirin", "no-found-your-camera": "Kameranız bulunamadı", - "no-permission-camera": "İzin kullanıcı tarafından reddedildi / Bu sitenin kamerayı kullanma izni yok", - "no-timeseries-selected": "Zaman serisi seçilmedi", + "no-permission-camera": "Kullanıcı izni reddetti / Bu sitenin kamerayı kullanma izni yok", + "no-timeseries-selected": "Herhangi bir zaman serisi seçilmedi", "secret-key": "Gizli anahtar", - "secret-key-required": "Gizli anahtar gerekli", - "switch-attribute-value": "Öğe öznitelik değerine geç", - "switch-camera": "Kameraya geç", - "switch-timeseries-value": "Öğe zaman serisi değerine geç", + "secret-key-required": "Gizli anahtar gereklidir", + "switch-attribute-value": "Varlık öznitelik değerini değiştir", + "switch-camera": "Kamerayı değiştir", + "switch-timeseries-value": "Varlık zaman serisi değerini değiştir", "take-photo": "Fotoğraf çek", "time": "Zaman", - "timeseries-not-allowed": "Timeseries parametresi bu göstergede kullanılamaz", - "update-failed": "Güncelleştirme başarısız", - "update-successful": "Güncelleştirme başarılı", + "timeseries-not-allowed": "Bu bileşende zaman serisi parametresi kullanılamaz", + "update-failed": "Güncelleme başarısız", + "update-successful": "Güncelleme başarılı", "update-attribute": "Özniteliği güncelle", "update-timeseries": "Zaman serisini güncelle", - "value": "Değer" + "value": "Değer", + "general-settings": "Genel ayarlar", + "widget-title": "Bileşen başlığı", + "claim-button-label": "Talep etme buton etiketi", + "show-secret-key-field": "'Gizli anahtar' giriş alanını göster", + "labels-settings": "Etiket ayarları", + "show-labels": "Etiketleri göster", + "device-name-label": "Cihaz adı giriş alanı etiketi", + "secret-key-label": "Gizli anahtar giriş alanı etiketi", + "messages-settings": "Mesaj ayarları", + "claim-device-success-message": "Cihazın başarıyla talep edildiği durumdaki metin mesajı", + "claim-device-not-found-message": "Cihaz bulunamadığında gösterilen metin mesajı", + "claim-device-failed-message": "Cihaz talep edilemediğinde gösterilen metin mesajı", + "claim-device-name-required-message": "'Cihaz adı gerekli' hata mesajı", + "claim-device-secret-key-required-message": "'Gizli anahtar gerekli' hata mesajı", + "show-label": "Etiketi göster", + "label": "Etiket", + "required": "Gerekli", + "required-error-message": "'Gerekli' hata mesajı", + "show-result-message": "Sonuç mesajını göster", + "integer-field-settings": "Tamsayı alanı ayarları", + "min-value": "Minimum değer", + "max-value": "Maksimum değer", + "double-field-settings": "Ondalıklı sayı alanı ayarları", + "text-field-settings": "Metin alanı ayarları", + "min-length": "Minimum uzunluk", + "max-length": "Maksimum uzunluk", + "checkbox-settings": "Onay kutusu ayarları", + "true-label": "İşaretli etiket", + "false-label": "İşaretsiz etiket", + "image-input-settings": "Görsel girişi ayarları", + "display-preview": "Önizlemeyi göster", + "display-clear-button": "Temizle butonunu göster", + "display-apply-button": "Uygula butonunu göster", + "display-discard-button": "İptal et butonunu göster", + "datetime-field-settings": "Tarih/saat alanı ayarları", + "display-time-input": "Zaman girişini göster", + "latitude-key-name": "Enlem anahtar adı", + "longitude-key-name": "Boylam anahtar adı", + "show-get-location-button": "'Geçerli konumu al' butonunu göster", + "use-high-accuracy": "Yüksek hassasiyet kullan", + "location-fields-settings": "Konum alanı ayarları", + "latitude-label": "Enlem etiketi", + "longitude-label": "Boylam etiketi", + "input-fields-alignment": "Giriş alanlarının hizalaması", + "input-fields-alignment-column": "Sütun (varsayılan)", + "input-fields-alignment-row": "Satır", + "layout": "Yerleşim", + "row-gap": "Satırlar arası boşluk (piksel)", + "column-gap": "Sütunlar arası boşluk (piksel)", + "latitude-field-required": "Enlem alanı gerekli", + "longitude-field-required": "Boylam alanı gerekli", + "attribute-settings": "Öznitelik ayarları", + "widget-mode": "Bileşen modu", + "widget-mode-update-attribute": "Öznitelik güncelle", + "widget-mode-update-timeseries": "Zaman serisini güncelle", + "attribute-scope": "Öznitelik kapsamı", + "attribute-scope-server": "Sunucu özniteliği", + "attribute-scope-shared": "Paylaşılan öznitelik", + "value-required": "Değer gerekli", + "image-settings": "Görsel ayarları", + "image-format": "Görsel formatı", + "image-format-jpeg": "JPEG", + "image-format-png": "PNG", + "image-format-webp": "WEBP", + "image-quality": "JPEG ve WEBP gibi kayıplı sıkıştırma kullanan görsellerin kalitesi", + "max-image-width": "Maksimum görsel genişliği", + "max-image-height": "Maksimum görsel yüksekliği", + "action-buttons": "İşlem butonları", + "show-action-buttons": "İşlem butonlarını göster", + "update-all-values": "Sadece değiştirilenler değil, tüm değerleri güncelle", + "save-button-label": "'KAYDET' buton etiketi", + "reset-button-label": "'GERİ AL' buton etiketi", + "group-settings": "Grup ayarları", + "show-group-title": "Farklı varlıklarla ilişkili alan grubu için başlık göster", + "group-title": "Grup başlığı", + "fields-alignment": "Alan hizalaması", + "fields-alignment-row": "Satır (varsayılan)", + "fields-alignment-column": "Sütun", + "fields-in-row": "Satırdaki alan sayısı", + "option-value": "Değer (boş seçenek oluşturmak için 'null' yazın)", + "option-label": "Etiket", + "hide-input-field": "Giriş alanını gizle", + "datakey-type": "Veri anahtarı türü", + "datakey-type-server": "Sunucu özniteliği (varsayılan)", + "datakey-type-shared": "Paylaşılan öznitelik", + "datakey-type-timeseries": "Zaman serisi", + "datakey-value-type": "Veri anahtarı değer türü", + "datakey-value-type-string": "Metin", + "datakey-value-type-double": "Ondalıklı", + "datakey-value-type-integer": "Tamsayı", + "datakey-value-type-json": "JSON", + "datakey-value-type-boolean-checkbox": "Boolean (Onay kutusu)", + "datakey-value-type-boolean-switch": "Boolean (Anahtar)", + "datakey-value-type-date-time": "Tarih ve Saat", + "datakey-value-type-date": "Tarih", + "datakey-value-type-time": "Saat", + "datakey-value-type-select": "Seçim", + "datakey-value-type-radio": "Radyo", + "datakey-value-type-color": "Renk", + "value-is-required": "Değer gerekli", + "ability-to-edit-attribute": "Özniteliği düzenleme yetkisi", + "ability-to-edit-attribute-editable": "Düzenlenebilir (varsayılan)", + "ability-to-edit-attribute-disabled": "Devre dışı", + "ability-to-edit-attribute-readonly": "Salt okunur", + "disable-on-datakey-name": "Başka bir veri anahtarının false değeriyle devre dışı bırak (veri anahtarı adını belirtin)", + "field-appearance": "Alan görünümü", + "appearance-fill": "Dolu", + "appearance-outline": "Kenarlıklı", + "subscript-sizing": "Alt simge boyutlandırma", + "subscript-sizing-fixed": "Sabit", + "subscript-sizing-dynamic": "Dinamik", + "slide-toggle-settings": "Anahtar (slide toggle) ayarları", + "slide-toggle-label-position": "Anahtar etiket pozisyonu", + "slide-toggle-label-position-after": "Sonra", + "slide-toggle-label-position-before": "Önce", + "select-options": "Seçenekleri seç", + "no-select-options": "Yapılandırılmış seçim seçeneği yok", + "add-select-option": "Seçenek ekle", + "numeric-field-settings": "Sayısal alan ayarları", + "step-interval": "Değerler arasındaki adım aralığı", + "error-messages": "Hata mesajları", + "min-value-error-message": "'Min değer' hata mesajı", + "max-value-error-message": "'Maksimum değer' hata mesajı", + "invalid-date-error-message": "'Geçersiz tarih' hata mesajı", + "invalid-JSON-error-message": "'Geçersiz JSON' hata mesajı", + "icon-settings": "Simge ayarları", + "dialog-editor-settings": "Diyalog düzenleyici ayarları", + "use-custom-icon": "Özel simge kullan", + "input-cell-icon": "Giriş hücresinin önünde gösterilecek simge", + "value-conversion-settings": "Değer dönüştürme ayarları", + "get-value-settings": "Değer alma ayarları", + "use-get-value-function": "getValue fonksiyonunu kullan", + "get-value-function": "getValue fonksiyonu", + "set-value-settings": "Değer ayarlama ayarları", + "use-set-value-function": "setValue fonksiyonunu kullan", + "set-value-function": "setValue fonksiyonu", + "json-invalid": "JSON değeri geçersiz biçimde", + "title": "Başlık", + "cancel-button-label": "'İptal' buton etiketi", + "radio-button-settings": "Radyo buton ayarları", + "color": "Renk", + "columns": "Sütunlar", + "radio-options": "Radyo seçenekleri", + "no-radio-options": "Yapılandırılmış radyo seçeneği yok", + "add-radio-option": "Radyo seçeneği ekle", + "radio-label-position": "Etiket konumu", + "radio-label-position-before": "Önce", + "radio-label-position-after": "Sonra" + }, + "invalid-qr-code-text": "QR kod için geçersiz giriş metni. Giriş metni dize türünde olmalıdır", + "qr-code": { + "use-qr-code-text-function": "QR kod metin fonksiyonunu kullan", + "qr-code-text-pattern": "QR kod metin deseni (örn. '${entityName} | ${keyName} - bazı metin.')", + "qr-code-text-pattern-hint": "QR kod metin deseni, varlık takma adındaki ilk bulunan anahtarın değerini kullanır.", + "qr-code-text-pattern-required": "QR kod metin deseni gereklidir.", + "qr-code-text-function": "QR kod metin fonksiyonu" + }, + "label-widget": { + "label-pattern": "Desen", + "label-pattern-hint": "İpucu: örn. 'Metin ${keyName} birim.' veya ${#<key index>} birim'", + "label-pattern-required": "Desen gereklidir", + "label-position": "Pozisyon (Arka plana göre yüzde olarak)", + "x-pos": "X", + "y-pos": "Y", + "background-color": "Arka plan rengi", + "font-settings": "Yazı tipi ayarları", + "background-image": "Arka plan resmi", + "labels": "Etiketler", + "no-labels": "Yapılandırılmış etiket yok", + "add-label": "Etiket ekle" }, - "invalid-qr-code-text": "QR kodu için geçersiz giriş metni. Girdi bir string türüne sahip olmalıdır" + "navigation": { + "title": "Başlık", + "navigation-path": "Gezinme yolu", + "filter-type": "Filtre türü", + "filter-type-all": "Tüm öğeler", + "filter-type-include": "Öğeleri dahil et", + "filter-type-exclude": "Öğeleri hariç tut", + "items": "Öğeler", + "enter-urls-to-filter": "Filtrelemek için URL'leri girin..." + }, + "persistent-table": { + "rpc-id": "RPC Kimliği", + "message-type": "Mesaj türü", + "method": "Yöntem", + "params": "Parametreler", + "created-time": "Oluşturulma zamanı", + "expiration-time": "Sona erme zamanı", + "retries": "Yeniden denemeler", + "status": "Durum", + "filter": "Filtre", + "refresh": "Yenile", + "add": "Kalıcı RPC isteği ekle", + "details": "Ayrıntılar", + "delete": "Sil", + "delete-request-title": "Kalıcı RPC isteğini sil", + "delete-request-text": "Bu isteği silmek istediğinizden emin misiniz?", + "details-title": "Ayrıntılar RPC Kimliği: ", + "additional-info": "Ek bilgi", + "response": "Yanıt", + "any-status": "Herhangi bir durum", + "rpc-status-list": "RPC durum listesi", + "no-request-prompt": "Görüntülenecek istek yok", + "send-request": "İstek gönder", + "add-title": "Kalıcı RPC isteği oluştur", + "method-error": "Yöntem gereklidir.", + "timeout-error": "En düşük zaman aşımı değeri 5000 (5 saniye).", + "white-space-error": "Boşluk karakterine izin verilmez.", + "rpc-status": { + "QUEUED": "KUYRUKTA", + "SENT": "GÖNDERİLDİ", + "DELIVERED": "TESLİM EDİLDİ", + "SUCCESSFUL": "BAŞARILI", + "TIMEOUT": "ZAMAN AŞIMI", + "EXPIRED": "SÜRESİ DOLDU", + "FAILED": "BAŞARISIZ" + }, + "rpc-search-status-all": "TÜMÜ", + "message-types": { + "false": "İki yönlü", + "true": "Tek yönlü" + }, + "general-settings": "Genel ayarlar", + "enable-filter": "Filtreyi etkinleştir", + "enable-sticky-header": "Kaydırma sırasında başlığı göster", + "enable-sticky-action": "Kaydırma sırasında eylem sütununu göster", + "display-request-details": "İstek ayrıntılarını göster", + "allow-send-request": "RPC isteği göndermeye izin ver", + "allow-delete-request": "İsteği silmeye izin ver", + "columns-settings": "Sütun ayarları", + "display-columns": "Gösterilecek sütunlar", + "column": "Sütun", + "no-columns-found": "Sütun bulunamadı", + "no-columns-matching": "'{{column}}' bulunamadı." + }, + "range-chart": { + "chart": "Grafik", + "data-zoom": "Veri yakınlaştırma", + "range-chart-appearance": "Aralık grafik görünümü", + "range-colors": "Aralık renkleri", + "out-of-range-color": "Aralık dışı renk", + "show-range-thresholds": "Aralık eşiklerini göster", + "range-thresholds-settings": "Aralık eşik ayarları", + "fill-area": "Alanı doldur", + "fill-area-opacity": "Alan doluluk opaklığı", + "range-chart-style": "Aralık grafik stili" + }, + "knob": { + "behavior": "Davranış", + "initial-value": "Başlangıç değeri", + "initial-value-hint": "Düğmenin başlangıç değerini almak için işlem.", + "on-value-change": "Değer değiştiğinde", + "on-value-change-hint": "Düğmenin değeri değiştirildiğinde tetiklenen işlem.", + "range": "Aralık", + "min": "min", + "max": "maks", + "value": "Değer", + "fallback-initial-value": "Yedek başlangıç değeri" + }, + "rpc": { + "value-settings": "Değer ayarları", + "initial-value": "Başlangıç değeri", + "retrieve-value-settings": "Açık/Kapalı değer alma ayarları", + "retrieve-value-method": "Değeri alma yöntemi", + "retrieve-value-method-none": "Alma", + "retrieve-value-method-rpc": "RPC ile değer alma yöntemini çağır", + "retrieve-value-method-attribute": "Öznitelik için abone ol", + "retrieve-value-method-timeseries": "Zaman serisi için abone ol", + "attribute-value-key": "Öznitelik anahtarı", + "timeseries-value-key": "Zaman serisi anahtarı", + "get-value-method": "RPC değer alma yöntemi", + "parse-value-function": "Değer ayrıştırma fonksiyonu", + "update-value-settings": "Değer güncelleme ayarları", + "set-value-method": "RPC değer atama yöntemi", + "convert-value-function": "Değer dönüştürme fonksiyonu", + "rpc-settings": "RPC ayarları", + "request-timeout": "RPC istek zaman aşımı (ms)", + "persistent-rpc-settings": "Kalıcı RPC ayarları", + "request-persistent": "RPC isteğini kalıcı yap", + "persistent-polling-interval": "Kalıcı RPC yanıtı için anketleme aralığı (ms)", + "common-settings": "Genel ayarlar", + "switch-title": "Anahtar başlığı", + "show-on-off-labels": "Açık/Kapalı etiketlerini göster", + "slide-toggle-label": "Kayan anahtar etiketi", + "label-position": "Etiket konumu", + "label-position-before": "Önce", + "label-position-after": "Sonra", + "slider-color": "Kaydırıcı rengi", + "slider-color-primary": "Birincil", + "slider-color-accent": "Vurgu", + "slider-color-warn": "Uyarı", + "button-style": "Düğme stili", + "button-raised": "Yükseltilmiş düğme", + "button-primary": "Birincil renk", + "button-background-color": "Düğme arka plan rengi", + "button-text-color": "Düğme metin rengi", + "widget-title": "Bileşen başlığı", + "button-label": "Düğme etiketi", + "device-attribute-scope": "Cihaz öznitelik kapsamı", + "server-attribute": "Sunucu özniteliği", + "shared-attribute": "Paylaşılan öznitelik", + "device-attribute-parameters": "Cihaz öznitelik parametreleri", + "is-one-way-command": "Tek yönlü komut", + "rpc-method": "RPC yöntemi", + "rpc-method-params": "RPC yöntem parametreleri", + "show-rpc-error": "RPC komutu yürütme hatasını göster", + "led-title": "LED başlığı", + "led-color": "LED rengi", + "check-status-settings": "Durum kontrol ayarları", + "perform-rpc-status-check": "RPC cihaz durumu kontrolünü gerçekleştir", + "retrieve-led-status-value-method": "LED durum değerini alma yöntemi", + "led-status-value-attribute": "LED durum değerini içeren cihaz özniteliği", + "led-status-value-timeseries": "LED durum değerini içeren cihaz zaman serisi", + "check-status-method": "RPC cihaz durumu kontrol yöntemi", + "parse-led-status-value-function": "LED durum değerini ayrıştırma fonksiyonu", + "knob-title": "Düğme başlığı" + }, + "maps": { + "map-type": { + "type": "Harita türü", + "map": "Harita", + "image": "Görsel" + }, + "image": { + "image-source": "Görsel kaynağı", + "image-source-image": "Görsel", + "image-source-entity-key": "Varlık anahtarı", + "source-entity-alias": "Kaynak varlık takma adı", + "image-url-key": "Görsel URL anahtarı", + "image-url-key-required": "Görsel URL anahtarı gereklidir" + }, + "control": { + "map-controls": "Harita kontrolleri", + "position": "Pozisyon", + "position-topleft": "Sol üst", + "position-topright": "Sağ üst", + "position-bottomleft": "Sol alt", + "position-bottomright": "Sağ alt", + "zoom-actions": "Yakınlaştırma eylemleri", + "zoom-scroll": "Kaydırma", + "zoom-double-click": "Çift tıklama", + "zoom-control-buttons": "Kontrol düğmeleri", + "scale": "Ölçek", + "scale-metric": "Metrik", + "scale-imperial": "İngiliz", + "switch-to-drag-mode-using-button": "Buton kullanarak sürükleme moduna geç" + }, + "timeline": { + "control-panel": "Zaman çizelgesi kontrol paneli", + "time-step": "Zaman adımı", + "speed-options": "Hız seçenekleri", + "timestamp": "Zaman damgası", + "snap-to-real-location": "Gerçek konuma hizala", + "location-snap-filter-function": "Konum hizalama filtre fonksiyonu", + "no-trips-data-available": "Seyahat verisi bulunamadı" + }, + "map-action": { + "map-action-buttons": "Harita eylem düğmeleri", + "label": "Etiket", + "icon": "Simge", + "color": "Renk", + "action": "Eylem", + "add-button": "Düğme ekle", + "no-action-buttons-configured": "Eylem düğmesi yapılandırılmadı", + "remove-action-button": "Eylem düğmesini kaldır", + "map-action-button": "Harita eylem düğmesi", + "button-requires": "Düğme bir etiket veya simge gerektirir" + }, + "common": { + "common-map-settings": "Genel harita ayarları", + "fit-map-bounds": "Tüm işaretçileri kapsayacak şekilde harita sınırlarını ayarla", + "default-map-center-position": "Varsayılan harita merkez konumu", + "default-map-zoom-level": "Varsayılan harita yakınlaştırma seviyesi", + "entities-limit": "Yüklenecek varlık limiti" + }, + "layer": { + "label": "Etiket", + "layer": "Katman", + "layers": "Katmanlar", + "map-layers": "Harita katmanları", + "add-layer": "Katman ekle", + "layer-settings": "Katman ayarları", + "remove-layer": "Katmanı kaldır", + "no-layers": "Yapılandırılmış katman yok", + "roadmap": "Yol haritası", + "satellite": "Uydu", + "hybrid": "Hibrit", + "reference": { + "reference-layer": "Referans katman", + "no-layer": "Katman yok", + "openstreetmap-hybrid": "OpenStreetMap Hibrit", + "world-edition-hybrid": "Dünya Sürümü Hibrit", + "enhanced-contrast-hybrid": "Artırılmış Kontrast Hibrit" + }, + "provider": { + "provider": "Sağlayıcı", + "openstreet": { + "title": "OpenStreet", + "mapnik": "Mapnik", + "hot": "HOT", + "esri-street": "WorldStreetMap", + "esri-topo": "WorldTopoMap", + "esri-imagery": "WorldImagery", + "cartodb-positron": "Positron", + "cartodb-dark-matter": "DarkMatter" + }, + "google": { + "title": "Google", + "roadmap": "Yol haritası", + "satellite": "Uydu", + "hybrid": "Hibrit", + "terrain": "Arazi" + }, + "here": { + "title": "HERE", + "normal-day": "Gündüz (normal)", + "normal-night": "Gece (normal)", + "hybrid-day": "Gündüz (hibrit)", + "terrain-day": "Gündüz (arazi)" + }, + "tencent": { + "title": "Tencent", + "normal": "Normal", + "satellite": "Uydu", + "terrain": "Arazi" + }, + "custom": { + "title": "Özel", + "tile-url": "Döşeme URL'si" + } + }, + "credentials": { + "credentials": "Kimlik bilgileri", + "api-key": "API Anahtarı" + } + }, + "overlays": { + "overlays": "Katmanlar", + "overlays-hint": "Harita varlıkları için veri kaynaklarını, görünümü, davranışı, düzenleme seçeneklerini ve gruplamayı yapılandırın", + "trips": "Rotalar", + "markers": "İşaretçiler", + "polygons": "Poligonlar", + "circles": "Daireler" + }, + "data-layer": { + "source": "Kaynak", + "filter": "Filtre", + "additional-data-keys": "Ek veri anahtarları", + "additional-datasources": "Ek veri kaynakları", + "additional-datasources-hint": "Haritada görüntülenmeyen varlıklardan özniteliklere veya telemetriye erişim için veri kaynağı, harita katmanı işlevlerinde kullanılabilir.", + "more-datasources": "Daha fazla veri kaynağı", + "data-keys": "Veri anahtarları", + "add-datasource": "Veri kaynağı ekle", + "no-datasources": "Tanımlı veri kaynağı yok", + "remove-datasource": "Veri kaynağını kaldır", + "behavior": "Davranış", + "on-click": "Tıklama ile", + "on-click-hint": "Kullanıcı harita öğesine tıkladığında tetiklenecek eylem.", + "groups": "Gruplar", + "groups-hint": "Katmana atanan grup adlarının listesi, harita üzerindeki görünürlüğünü değiştirmek için kullanılır.", + "color": "Renk", + "color-settings": "Renk ayarları", + "color-type-constant": "Sabit", + "color-type-range": "Aralık", + "color-type-function": "Fonksiyon", + "color-range-source-key": "Renk aralığı kaynak anahtarı", + "color-range-source-key-required": "Renk aralığı kaynak anahtarı gerekli", + "color-range": "Renk aralığı", + "color-function": "Renk fonksiyonu", + "label": "Etiket", + "tooltip": "Araç ipucu", + "pattern-type-pattern": "Desen", + "pattern-type-function": "Fonksiyon", + "label-pattern": "Etiket (desen örnekleri: '${entityName}', '${entityName}: (Metin ${keyName} birimleri.)' )", + "label-function": "Etiket fonksiyonu", + "tooltip-pattern": "Araç ipucu (örnek: 'Metin ${keyName} birimleri.' veya Bağlantı metni)", + "tooltip-function": "Araç ipucu fonksiyonu", + "tooltip-trigger": "Araç ipucu tetikleyici", + "tooltip-trigger-click": "Tıklama ile araç ipucunu göster", + "tooltip-trigger-hover": "Üzerine gelince araç ipucunu göster", + "auto-close-tooltips": "Araç ipuçlarını otomatik kapat", + "tooltip-offset": "Araç ipucu konumu", + "tooltip-offset-horizontal": "Yatay", + "tooltip-offset-vertical": "Dikey", + "tooltip-tag-actions": "Etiket eylemleri", + "add-tooltip-tag-action": "Etiket eylemi ekle", + "edit-tooltip-tag-action": "Etiket eylemini düzenle", + "remove-tooltip-tag-action": "Etiket eylemini kaldır", + "action-add": "Ekle", + "action-edit": "Düzenle", + "action-move": "Taşı", + "action-remove": "Kaldır", + "edit-instruments": "Araçları Düzenle", + "persist-location-attribute-scope": "Konumun kalıcı olacağı öznitelik kapsamı", + "enable-snapping": "Diğer köşe noktalarına hizalama özelliğini etkinleştir", + "enable-snapping-hint": "Yeni noktaları mevcut şekillerle otomatik olarak hizalayarak çizimi daha kolay ve hassas hale getirir.", + "drag-drop-mode": "Sürükle-bırak modu", + "trip": { + "no-trips": "Yapılandırılmış rota yok", + "add-trip": "Rota ekle", + "trip-configuration": "Rota yapılandırması", + "remove-trip": "Rotayı kaldır" + }, + "marker": { + "marker": "İşaretçi", + "latitude-key": "Enlem anahtarı", + "longitude-key": "Boylam anahtarı", + "x-pos-key": "X konum anahtarı", + "y-pos-key": "Y konum anahtarı", + "latitude-key-required": "Enlem anahtarı gerekli", + "longitude-key-required": "Boylam anahtarı gerekli", + "x-pos-key-required": "X konum anahtarı gerekli", + "y-pos-key-required": "Y konum anahtarı gerekli", + "no-markers": "Yapılandırılmış işaretçi yok", + "add-marker": "İşaretçi ekle", + "marker-configuration": "İşaretçi yapılandırması", + "remove-marker": "İşaretçiyi kaldır", + "marker-type": "İşaretçi türü", + "marker-type-shape": "Şekil", + "marker-type-icon": "Simge", + "marker-type-image": "Görsel", + "shape": "Şekil", + "icon": "Simge", + "image": "Görsel", + "marker-shapes": "İşaretçi şekilleri", + "marker-icon": "İşaretçi simgesi", + "marker-appearance": "İşaretçi görünümü", + "marker-image": "İşaretçi görseli", + "marker-image-type-image": "Görsel", + "marker-image-type-function": "Fonksiyon", + "custom-marker-image-size": "Özel işaretçi görsel boyutu", + "marker-image-function": "İşaretçi görsel fonksiyonu", + "marker-images": "İşaretçi görselleri", + "marker-offset": "İşaretçi konum kaydırması", + "offset-horizontal": "Yatay", + "offset-vertical": "Dikey", + "rotate-marker": "İşaretçiyi döndür", + "offset-angle": "Kaydırma açısı", + "position-conversion": "Konum dönüştürme", + "position-conversion-function": "Konum dönüştürme fonksiyonu, 0 ile 1 arasında çift değerler olarak x,y koordinatları döndürmelidir", + "clustering": { + "use-map-markers-clustering": "Harita işaretçileri kümelendirmesini kullan", + "zoom-on-cluster-click": "Bir kümeye tıklanınca yakınlaştır", + "max-zoom": "Bir işaretçinin kümeye dahil olabileceği maksimum yakınlaştırma seviyesi (0 - 18)", + "max-radius": "Bir kümenin kapsayacağı maksimum yarıçap", + "zoom-animation": "Yakınlaştırmada işaretçiler için animasyon", + "bounds-on-cluster-mouse-over": "Bir küme üzerine gelindiğinde işaretçilerin sınırları", + "spiderfy-max-zoom-level": "Maksimum yakınlaştırma seviyesinde yayma (tüm küme işaretçilerini görmek için)", + "load-optimization": "Yükleme optimizasyonu", + "chunked-load": "Sayfanın donmaması için işaretçileri parça parça ekle", + "lazy-load": "İşaretçileri eklemek için tembel yükleme kullan", + "use-cluster-marker-color-function": "Küme işaretçi renk fonksiyonunu kullan", + "marker-color-function": "İşaretçi renk fonksiyonu" + }, + "edit": "İşaretçiyi düzenle", + "remove-marker-for": "'{{entityName}}' için işaretçiyi kaldır", + "place-marker": "İşaretçi yerleştir", + "place-marker-hint": "İşaretçi yerleştirmek için tıklayın", + "place-marker-hint-with-entity": "'{{entityName}}' varlığını yerleştirmek için tıklayın" + }, + "path": { + "path": "Yol", + "path-decorator": "Yol süsleyici", + "decorator-symbol": "Süsleyici sembolü", + "decorator-symbol-arrow-head": "Ok", + "decorator-symbol-dash": "Kesik çizgi", + "decorator-arrangement": "Süsleme düzeni", + "decorator-offset": "Başlangıç", + "decorator-end-offset": "Bitiş", + "decorator-repeat": "Tekrarla" + }, + "points": { + "points": "Noktalar", + "point-tooltip": "Nokta araç ipucu" + }, + "shape": { + "fill": "Doldur", + "fill-type-color": "Renk", + "fill-type-stripe": "Şerit", + "fill-type-image": "Görsel", + "color": "Renk", + "stripe": "Şerit", + "image": "Görsel", + "stroke": "Kenarlık", + "fill-image": "Dolgu görseli", + "fill-image-type-image": "Görsel", + "fill-image-type-function": "Fonksiyon", + "preserve-aspect-ratio": "En-boy oranını koru", + "opacity": "Saydamlık", + "angle": "Dönme açısı", + "scale": "Ölçek", + "fill-image-function": "Şekil dolgu görsel fonksiyonu", + "fill-images": "Şekil dolgu görselleri", + "stripe-pattern": "Şerit deseni", + "first-stripe": "Birinci şerit", + "second-stripe": "İkinci şerit" + }, + "polygon": { + "polygon-key": "Poligon anahtarı", + "polygon-key-required": "Poligon anahtarı gerekli", + "no-polygons": "Tanımlı poligon yok", + "add-polygon": "Poligon ekle", + "polygon-configuration": "Poligon yapılandırması", + "remove-polygon": "Poligonu kaldır", + "edit": "Poligonu düzenle", + "remove-polygon-for": "'{{entityName}}' için poligonu kaldır", + "cut": "Poligon alanını kes", + "rotate": "Poligonu döndür", + "draw-rectangle": "Dikdörtgen çiz", + "draw-polygon": "Poligon çiz", + "polygon-place-first-point-cut-hint": "İlk noktayı yerleştirmek için tıklayın", + "continue-polygon-cut-hint": "Çizime devam etmek için tıklayın", + "finish-polygon-cut-hint": "Bitirmek ve kaydetmek için ilk işaretçiye tıklayın", + "polygon-place-first-point-hint": "Poligon: ilk noktayı yerleştirmek için tıklayın", + "polygon-place-first-point-hint-with-entity": "'{{entityName}}' için poligon: ilk noktayı yerleştirmek için tıklayın", + "continue-polygon-hint": "Poligon: çizime devam etmek için tıklayın", + "continue-polygon-hint-with-entity": "'{{entityName}}' için poligon: çizime devam etmek için tıklayın", + "finish-polygon-hint": "Poligon: çizimi tamamlamak için ilk işaretçiye tıklayın", + "finish-polygon-hint-with-entity": "'{{entityName}}' için poligon: tamamlamak ve kaydetmek için ilk işaretçiye tıklayın", + "rectangle-place-first-point-hint": "Dikdörtgen: ilk noktayı yerleştirmek için tıklayın", + "rectangle-place-first-point-hint-with-entity": "'{{entityName}}' için dikdörtgen: ilk noktayı yerleştirmek için tıklayın", + "finish-rectangle-hint": "Dikdörtgen: çizimi tamamlamak için tıklayın", + "finish-rectangle-hint-with-entity": "'{{entityName}}' için dikdörtgen: tamamlamak ve kaydetmek için tıklayın" + }, + "circle": { + "circle-key": "Daire anahtarı", + "circle-key-required": "Daire anahtarı gerekli", + "no-circles": "Tanımlı daire yok", + "add-circle": "Daire ekle", + "circle-configuration": "Daire yapılandırması", + "remove-circle": "Daireyi kaldır", + "edit": "Daireyi düzenle", + "remove-circle-for": "'{{entityName}}' için daireyi kaldır", + "draw-circle": "Daire çiz", + "place-circle-center-hint-with-entity": "'{{entityName}}' için daire: daire merkezini yerleştirmek için tıklayın", + "place-circle-center-hint": "Daire: daire merkezini yerleştirmek için tıklayın", + "finish-circle-hint-with-entity": "'{{entityName}}' için daire: tamamlamak ve kaydetmek için tıklayın", + "finish-circle-hint": "Daire: çizimi tamamlamak için tıklayın" + }, + "select-entity": "Varlık seç", + "select-entity-hint": "İpucu: seçimden sonra haritaya tıklayarak konum belirleyin" + }, + "select-entity": "Varlık seç", + "select-entity-hint": "İpucu: seçimden sonra haritaya tıklayarak konum belirleyin", + "tooltips": { + "placeMarker": "'{{entityName}}' varlığını yerleştirmek için tıklayın", + "firstVertex": "'{{entityName}}' için poligon: ilk noktayı yerleştirmek için tıklayın", + "firstVertex-cut": "İlk noktayı yerleştirmek için tıklayın", + "continueLine": "'{{entityName}}' için poligon: çizime devam etmek için tıklayın", + "continueLine-cut": "Çizime devam etmek için tıklayın", + "finishLine": "Bitirmek için herhangi bir mevcut işaretçiye tıklayın", + "finishPoly": "'{{entityName}}' için poligon: tamamlamak ve kaydetmek için ilk işaretçiye tıklayın", + "finishPoly-cut": "Tamamlamak ve kaydetmek için ilk işaretçiye tıklayın", + "finishRect": "'{{entityName}}' için poligon: tamamlamak ve kaydetmek için tıklayın", + "startCircle": "'{{entityName}}' için daire: daire merkezini yerleştirmek için tıklayın", + "finishCircle": "'{{entityName}}' için daire: daireyi tamamlamak için tıklayın", + "placeCircleMarker": "Daire işaretçisini yerleştirmek için tıklayın" + }, + "actions": { + "finish": "Bitir", + "cancel": "İptal", + "removeLastVertex": "Son noktayı kaldır" + }, + "buttonTitles": { + "drawMarkerButton": "Varlık yerleştir", + "drawPolyButton": "Poligon oluştur", + "drawLineButton": "Çoklu çizgi oluştur", + "drawCircleButton": "Daire oluştur", + "drawRectButton": "Dikdörtgen oluştur", + "editButton": "Düzenleme modu", + "dragButton": "Sürükle-bırak modu", + "cutButton": "Poligon alanını kes", + "deleteButton": "Kaldır", + "drawCircleMarkerButton": "Daire işaretçisi oluştur", + "rotateButton": "Poligonu döndür" + }, + "map-provider-settings": "Harita sağlayıcı ayarları", + "map-provider": "Harita sağlayıcısı", + "map-provider-google": "Google Haritalar", + "map-provider-openstreet": "OpenStreet Haritalar", + "map-provider-here": "HERE Haritalar", + "map-provider-image": "Görsel harita", + "map-provider-tencent": "Tencent Haritalar", + "openstreet-provider": "OpenStreet harita sağlayıcısı", + "openstreet-provider-mapnik": "OpenStreetMap.Mapnik (Varsayılan)", + "openstreet-provider-hot": "OpenStreetMap.HOT", + "openstreet-provider-esri-street": "Esri.WorldStreetMap", + "openstreet-provider-esri-topo": "Esri.WorldTopoMap", + "openstreet-provider-esri-imagery": "Esri.WorldImagery", + "openstreet-provider-cartodb-positron": "CartoDB.Positron", + "openstreet-provider-cartodb-dark-matter": "CartoDB.DarkMatter", + "use-custom-provider": "Özel sağlayıcı kullan", + "custom-provider-tile-url": "Özel sağlayıcı tile URL'si", + "google-maps-api-key": "Google Maps API Anahtarı", + "default-map-type": "Varsayılan harita türü", + "google-map-type-roadmap": "Yol Haritası", + "google-map-type-satelite": "Uydu", + "google-map-type-hybrid": "Hibrit", + "google-map-type-terrain": "Arazi", + "map-layer": "Harita katmanı", + "here-map-normal-day": "HERE.normalDay (Varsayılan)", + "here-map-normal-night": "HERE.normalNight", + "here-map-hybrid-day": "HERE.hybridDay", + "here-map-terrain-day": "HERE.terrainDay", + "credentials": "Kimlik bilgileri", + "here-app-id": "HERE uygulama kimliği", + "here-app-code": "HERE uygulama kodu", + "here-api-key": "HERE API anahtarı", + "here-use-new-version-api-3": "API sürüm 3'ü kullan", + "tencent-maps-api-key": "Tencent Haritalar API Anahtarı", + "tencent-map-type-roadmap": "Yol Haritası", + "tencent-map-type-satelite": "Uydu", + "tencent-map-type-hybrid": "Hibrit", + "image-map-background": "Görsel harita arka planı", + "image-map-background-from-entity-attribute": "Görsel harita arka planını varlık özniteliğinden al", + "image-url-source-entity-alias": "Görsel URL kaynağı varlık takma adı", + "image-url-source-entity-attribute": "Görsel URL kaynağı varlık özniteliği", + "common-map-settings": "Genel harita ayarları", + "x-pos-key-name": "X konum anahtarı adı", + "y-pos-key-name": "Y konum anahtarı adı", + "latitude-key-name": "Enlem anahtarı adı", + "longitude-key-name": "Boylam anahtarı adı", + "default-map-zoom-level": "Varsayılan harita yakınlaştırma seviyesi (0 - 20)", + "default-map-center-position": "Varsayılan harita merkez konumu (0,0)", + "disable-scroll-zooming": "Kaydırarak yakınlaştırmayı devre dışı bırak", + "disable-double-click-zooming": "Çift tıklamayla yakınlaştırmayı devre dışı bırak", + "disable-zoom-control-buttons": "Yakınlaştırma kontrol düğmelerini devre dışı bırak", + "fit-map-bounds": "Tüm işaretçileri kapsayacak şekilde harita sınırlarını uyarla", + "use-default-map-center-position": "Varsayılan harita merkez konumunu kullan", + "entities-limit": "Yüklenecek varlık sayısı sınırı", + "markers-settings": "İşaretçi ayarları", + "marker-offset-x": "İşaretçi X konum kaydırması, konuma göre işaretçi genişliği ile çarpılır", + "marker-offset-y": "İşaretçi Y konum kaydırması, konuma göre işaretçi yüksekliği ile çarpılır", + "position-function": "Konum dönüştürme fonksiyonu, her biri 0 ile 1 arasında x,y koordinatları döndürmelidir", + "draggable-marker": "Sürüklenebilir işaretçi", + "label": "Etiket", + "show-label": "Etiketi göster", + "use-label-function": "Etiket fonksiyonunu kullan", + "label-pattern": "Etiket (desen örnekleri: '${entityName}', '${entityName}: (Metin ${keyName} birimleri.)' )", + "label-function": "Etiket fonksiyonu", + "tooltip": "Araç ipucu", + "show-tooltip": "Araç ipucunu göster", + "show-tooltip-action": "Araç ipucunu gösterme eylemi", + "show-tooltip-action-click": "Tıklama ile araç ipucunu göster (Varsayılan)", + "show-tooltip-action-hover": "Üzerine gelince araç ipucunu göster", + "auto-close-tooltips": "Araç ipuçlarını otomatik kapat", + "use-tooltip-function": "Araç ipucu fonksiyonunu kullan", + "tooltip-pattern": "Araç ipucu (örnek: 'Metin ${keyName} birimleri.' veya Bağlantı metni)", + "tooltip-function": "Araç ipucu fonksiyonu", + "tooltip-offset-x": "Araç ipucu X kaydırması, işaretçi çapası konumuna göre işaretçi genişliği ile çarpılır", + "tooltip-offset-y": "Araç ipucu Y kaydırması, işaretçi çapası konumuna göre işaretçi yüksekliği ile çarpılır", + "color": "Renk", + "use-color-function": "Renk fonksiyonunu kullan", + "color-function": "Renk fonksiyonu", + "marker-image": "İşaretçi görseli", + "use-marker-image-function": "İşaretçi görsel fonksiyonunu kullan", + "custom-marker-image": "Özel işaretçi görseli", + "custom-marker-image-size": "Özel işaretçi görsel boyutu (px)", + "marker-image-function": "İşaretçi görsel fonksiyonu", + "marker-images": "İşaretçi görselleri", + "polygon-settings": "Poligon ayarları", + "show-polygon": "Poligonu göster", + "polygon-key-name": "Poligon anahtarı adı", + "enable-polygon-edit": "Poligon düzenlemeyi etkinleştir", + "polygon-label": "Poligon etiketi", + "show-polygon-label": "Poligon etiketini göster", + "use-polygon-label-function": "Poligon etiket fonksiyonunu kullan", + "polygon-label-pattern": "Poligon etiketi (desen örnekleri: '${entityName}', '${entityName}: (Metin ${keyName} birimleri.)' )", + "polygon-label-function": "Poligon etiket fonksiyonu", + "polygon-tooltip": "Poligon araç ipucu", + "show-polygon-tooltip": "Poligon araç ipucunu göster", + "auto-close-polygon-tooltips": "Poligon araç ipuçlarını otomatik kapat", + "use-polygon-tooltip-function": "Poligon araç ipucu fonksiyonunu kullan", + "polygon-tooltip-pattern": "Araç ipucu (örnek: 'Metin ${keyName} birimleri.' veya Bağlantı metni)", + "polygon-tooltip-function": "Poligon araç ipucu fonksiyonu", + "polygon-color": "Poligon rengi", + "polygon-opacity": "Poligon saydamlığı", + "use-polygon-color-function": "Poligon renk fonksiyonunu kullan", + "polygon-color-function": "Poligon renk fonksiyonu", + "polygon-stroke": "Poligon kenarlığı", + "stroke-color": "Kenarlık rengi", + "stroke-opacity": "Kenarlık saydamlığı", + "stroke-weight": "Kenarlık kalınlığı", + "use-polygon-stroke-color-function": "Poligon kenarlık rengi fonksiyonunu kullan", + "polygon-stroke-color-function": "Poligon kenarlık rengi fonksiyonu", + "circle-settings": "Daire ayarları", + "show-circle": "Daireyi göster", + "circle-key-name": "Daire anahtarı adı", + "enable-circle-edit": "Daire düzenlemeyi etkinleştir", + "circle-label": "Daire etiketi", + "show-circle-label": "Daire etiketini göster", + "use-circle-label-function": "Daire etiket fonksiyonunu kullan", + "circle-label-pattern": "Daire etiketi (desen örnekleri: '${entityName}', '${entityName}: (Metin ${keyName} birimleri.)' )", + "circle-label-function": "Daire etiket fonksiyonu", + "circle-tooltip": "Daire araç ipucu", + "show-circle-tooltip": "Daire araç ipucunu göster", + "auto-close-circle-tooltips": "Daire araç ipuçlarını otomatik kapat", + "use-circle-tooltip-function": "Daire araç ipucu fonksiyonunu kullan", + "circle-tooltip-pattern": "Araç ipucu (örnek: 'Metin ${keyName} birimleri.' veya Bağlantı metni)", + "circle-tooltip-function": "Daire araç ipucu fonksiyonu", + "circle-fill-color": "Daire dolgu rengi", + "circle-fill-color-opacity": "Daire dolgu rengi saydamlığı", + "use-circle-fill-color-function": "Daire dolgu rengi fonksiyonunu kullan", + "circle-fill-color-function": "Daire dolgu rengi fonksiyonu", + "circle-stroke": "Daire kenarlığı", + "use-circle-stroke-color-function": "Daire kenarlık rengi fonksiyonunu kullan", + "circle-stroke-color-function": "Daire kenarlık rengi fonksiyonu", + "markers-clustering-settings": "İşaretçileri kümelendirme ayarları", + "use-map-markers-clustering": "Harita işaretçileri kümelendirmesini kullan", + "zoom-on-cluster-click": "Bir kümeye tıklanınca yakınlaştır", + "max-cluster-zoom": "Bir işaretçinin kümeye dahil olabileceği maksimum yakınlaştırma seviyesi (0 - 18)", + "max-cluster-radius-pixels": "Bir kümenin kapsayacağı maksimum yarıçap (piksel)", + "cluster-zoom-animation": "Yakınlaştırmada işaretçilere animasyon göster", + "show-markers-bounds-on-cluster-mouse-over": "Kümeye fareyle gelindiğinde işaretçilerin sınırlarını göster", + "spiderfy-max-zoom-level": "Maksimum yakınlaştırma seviyesinde yayma (tüm küme işaretçilerini görmek için)", + "load-optimization": "Yükleme optimizasyonu", + "cluster-chunked-loading": "Sayfanın donmaması için işaretçileri parça parça ekle", + "cluster-markers-lazy-load": "İşaretçileri eklemek için tembel yükleme kullan", + "editor-settings": "Düzenleyici ayarları", + "enable-snapping": "Hassas çizim için diğer köşe noktalarına hizalama özelliğini etkinleştir", + "init-draggable-mode": "Haritayı sürüklenebilir modda başlat", + "hide-all-edit-buttons": "Tüm düzenleme kontrol düğmelerini gizle", + "hide-draw-buttons": "Çizim düğmelerini gizle", + "hide-edit-buttons": "Düzenleme düğmelerini gizle", + "hide-remove-button": "Kaldır düğmesini gizle", + "route-map-settings": "Rota haritası ayarları", + "trip-animation-settings": "Rota animasyon ayarları", + "normalization-step": "Veri normalizasyon adımı (ms)", + "tooltip-background-color": "Araç ipucu arka plan rengi", + "tooltip-font-color": "Araç ipucu yazı rengi", + "tooltip-opacity": "Araç ipucu saydamlığı (0-1)", + "auto-close-tooltip": "Araç ipucunu otomatik kapat", + "rotation-angle": "İşaretçi için ek dönme açısı belirle (derece)", + "path-settings": "Yol ayarları", + "path-color": "Yol rengi", + "use-path-color-function": "Yol rengi fonksiyonunu kullan", + "path-color-function": "Yol rengi fonksiyonu", + "path-decorator": "Yol süsleyici", + "use-path-decorator": "Yol süsleyiciyi kullan", + "decorator-symbol": "Süsleyici sembolü", + "decorator-symbol-arrow-head": "Ok", + "decorator-symbol-dash": "Kesik çizgi", + "decorator-symbol-size": "Süsleyici sembol boyutu (px)", + "use-path-decorator-custom-color": "Yol süsleyici özel rengini kullan", + "decorator-custom-color": "Süsleyici özel rengi", + "decorator-offset": "Süsleyici kaydırması", + "end-decorator-offset": "Bitiş süsleyici kaydırması", + "decorator-repeat": "Süsleyici tekrarı", + "points-settings": "Nokta ayarları", + "show-points": "Noktaları göster", + "point-color": "Nokta rengi", + "point-size": "Nokta boyutu (px)", + "use-point-color-function": "Nokta rengi fonksiyonunu kullan", + "point-color-function": "Nokta rengi fonksiyonu", + "use-point-as-anchor": "Noktayı çapa olarak kullan", + "point-as-anchor-function": "Nokta çapa fonksiyonu", + "independent-point-tooltip": "Bağımsız nokta araç ipucu", + "clustering-markers": "İşaretçileri kümelendir", + "use-icon-create-function": "İşaretçi renk fonksiyonunu kullan", + "marker-color-function": "İşaretçi renk fonksiyonu" + }, + "markdown": { + "use-markdown-text-function": "Markdown/HTML değer fonksiyonunu kullan", + "markdown-text-function": "Markdown/HTML değer fonksiyonu", + "markdown-text-pattern": "Markdown/HTML deseni (değişken içeren markdown veya HTML, örn. '${entityName} veya ${keyName} - bazı metinler.')", + "apply-default-markdown-style": "Varsayılan markdown stilini uygula", + "markdown-css": "Markdown/HTML CSS" + }, + "simple-card": { + "label": "Etiket", + "label-position": "Etiket konumu", + "label-position-left": "Sol", + "label-position-top": "Üst" + }, + "single-switch": { + "behavior": "Davranış", + "layout": "Yerleşim", + "layout-right": "Sağ", + "layout-left": "Sol", + "layout-centered": "Ortalanmış", + "auto-scale": "Otomatik ölçekle", + "label": "Etiket", + "icon": "Simge", + "switch-color": "Anahtar rengi", + "on": "Açık", + "off": "Kapalı", + "disabled": "Devre dışı", + "tumbler-color": "Tumbler rengi", + "on-label": "Açık etiketi", + "off-label": "Kapalı etiketi", + "switch": "Anahtar" + }, + "slider": { + "behavior": "Davranış", + "initial-value": "Başlangıç değeri", + "initial-value-hint": "Sürgü bileşeninin başlangıç değerini alma eylemi.", + "on-value-change": "Değer değiştiğinde", + "on-value-change-hint": "Sürgü değeri değiştirildiğinde tetiklenen eylem.", + "layout": "Yerleşim", + "layout-default": "Varsayılan", + "layout-extended": "Genişletilmiş", + "layout-simplified": "Basitleştirilmiş", + "auto-scale": "Otomatik ölçekle", + "icon": "Simge", + "value": "Değer", + "range": "Aralık", + "min": "min", + "max": "maks", + "range-ticks": "Aralık işaretleri", + "tick-marks": "İşaret çizgileri", + "colors": "Renkler", + "main": "Ana", + "background": "Arka plan", + "left-icon": "Sol simge", + "right-icon": "Sağ simge", + "slider": "Sürgü" + }, + "value-card": { + "layout": "Yerleşim", + "layout-square": "Kare", + "layout-vertical": "Dikey", + "layout-centered": "Ortalanmış", + "layout-simplified": "Basitleştirilmiş", + "layout-horizontal": "Yatay", + "layout-horizontal-reversed": "Yatay ters", + "label": "Etiket", + "icon": "Simge", + "value": "Değer", + "date": "Tarih", + "value-card-style": "Değer kartı stili", + "auto-scale": "Otomatik ölçekle" + }, + "label-card": { + "auto-scale": "Otomatik ölçekle", + "label": "Etiket", + "icon": "Simge", + "label-card-style": "Etiket kartı stili" + }, + "label-value-card": { + "value": "Değer", + "label-value-card-style": "Etiket ve değer kartı stili" + }, + "liquid-level-card": { + "layout-simple": "Basit", + "layout-percentage": "Yüzde", + "layout-absolute": "Mutlak", + "layout": "Yerleşim", + "background-overlay": "Değer arka plan kaplaması", + "total-volume": "Toplam hacim", + "total-volume-units": "Toplam hacim birimi", + "tank": "Depo", + "shape": "Şekil", + "datasource-units": "Kaynak birimleri", + "widget-units": "Widget birimleri", + "decimals": "Ondalık basamaklar", + "liquid": "Sıvı", + "liquid-color": "Sıvı rengi", + "value": "Değer", + "value-font": "Değer yazı tipi", + "level": "Seviye", + "last-update": "Son güncelleme", + "shape-by-attribute": "Depo şeklini öznitelik adına göre ayarla", + "tooltip-background": "Arka plan rengi", + "background-blur": "Arka plan bulanıklığı", + "tank-color": "Depo rengi", + "static": "Statik", + "see-examples": "Örnekleri gör", + "attribute": "Öznitelik", + "shape-type": "Tür", + "v-oval": "Dikey Oval", + "v-cylinder": "Dikey Silindir", + "v-capsule": "Dikey Kapsül", + "rectangle": "Dikdörtgen", + "h-oval": "Yatay Oval", + "h-ellipse": "Yatay Elips", + "h-dish-ends": "Yatay Yarım Küre Uçlar", + "h-cylinder": "Yatay Silindir", + "h-capsule": "Yatay Kapsül", + "h-elliptical_2_1": "Yatay 2:1 Eliptik", + "icon": "Kart simgesi", + "title": "Kart başlığı", + "units": "Birimler", + "color-and-font": "Renk ve yazı tipi", + "shape-attribute-name": "Öznitelik adı", + "total-volume-required": "Toplam hacim gereklidir.", + "attribute-name-required": "Öznitelik adı gereklidir.", + "attribute-key-not-set": "'{{attributeName}}' öznitelik anahtarı ayarlanmamış", + "attribute-key-invalid": "'{{attributeName}}' öznitelik anahtarı geçersiz" + }, + "aggregated-value-card": { + "subtitle": "Alt başlık", + "chart": "Grafik", + "values": "Değerler", + "value-appearance": "Değer görünümü", + "position": "Konum", + "position-center": "Orta", + "position-right-top": "Sağ üst", + "position-right-bottom": "Sağ alt", + "position-left-top": "Sol üst", + "position-left-bottom": "Sol alt", + "font": "Yazı tipi", + "color": "Renk", + "arrow": "Ok", + "display-up-down-arrow": "Yukarı/Aşağı ok göster", + "add-value": "Değer ekle", + "remove-value": "Değeri kaldır", + "no-values": "Tanımlı değer yok", + "aggregation": "Toplama", + "aggregated-value-card-style": "Toplam değer kartı stili", + "auto-scale": "Otomatik ölçekle" + }, + "value-chart-card": { + "layout": "Yerleşim", + "layout-left": "Sol", + "layout-right": "Sağ", + "auto-scale": "Otomatik ölçekle", + "icon": "Simge", + "value": "Değer", + "chart": "Grafik", + "value-chart-card-style": "Değer grafik kartı stili" + }, + "progress-bar": { + "layout": "Yerleşim", + "layout-default": "Varsayılan", + "layout-simplified": "Basitleştirilmiş", + "auto-scale": "Otomatik ölçekle", + "icon": "Simge", + "value": "Değer", + "range": "Aralık", + "min": "min", + "max": "maks", + "range-ticks": "Aralık işaretleri", + "bar": "Çubuk", + "bar-color": "Çubuk rengi", + "bar-background": "Çubuk arka planı", + "progress-bar-card-style": "İlerleme çubuğu kartı stili" + }, + "notification": { + "max-notification-display": "Gösterilecek maksimum bildirim sayısı", + "counter": "Sayaç", + "counter-hint": "Eğer \"Widget başlığı\" etkinse sayaç görüntülenir", + "icon": "Simge", + "counter-value": "Değer", + "counter-color": "Renk", + "notification-button": "Bildirim düğmeleri", + "button-view-all": "Tümünü gör", + "button-filter": "Filtrele", + "type-filter": "Tür filtresi", + "button-mark-read": "Tümünü okundu olarak işaretle", + "notification-types": "Bildirim türleri", + "notification-type": "Bildirim türü", + "search-type": "Arama türü", + "any-type": "Herhangi bir tür" + }, + "alarm-count": { + "alarm-count-card-style": "Alarm sayısı kartı stili" + }, + "entity-count": { + "entity-count-card-style": "Varlık sayısı kartı stili" + }, + "count": { + "layout": "Yerleşim", + "layout-column": "Sütun", + "layout-row": "Satır", + "label": "Etiket", + "icon": "Simge", + "icon-background": "Simge arka planı", + "value": "Değer", + "chevron": "Chevron", + "auto-scale": "Otomatik ölçekle" + }, + "table": { + "common-table-settings": "Ortak Tablo Ayarları", + "enable-search": "Aramayı etkinleştir", + "enable-sticky-header": "Başlığı her zaman göster", + "enable-sticky-action": "Eylemler sütununu her zaman göster", + "hidden-cell-button-display-mode": "Gizli hücre buton eylemleri görüntüleme modu", + "show-empty-space-hidden-action": "Gizli hücre buton eylemi yerine boş alan göster", + "dont-reserve-space-hidden-action": "Gizli eylem düğmeleri için alan ayırma", + "display-timestamp": "Zaman damgası", + "display-pagination": "Sayfalama göster", + "default-page-size": "Varsayılan sayfa boyutu", + "page-step-settings": "Sayfa adımı ayarları", + "page-step-count": "Adım sayısı", + "page-step-increment": "Adım artışı", + "page-step-count-format-message": "1 ile 100 arasında bir tam sayı olmalıdır.", + "page-step-increment-format-message": "1 veya daha büyük bir tam sayı olmalıdır.", + "use-entity-label-tab-name": "Sekme adında varlık etiketini kullan", + "hide-empty-lines": "Boş satırları gizle", + "row-style": "Satır stili", + "use-row-style-function": "Satır stili fonksiyonunu kullan", + "row-style-function": "Satır stili fonksiyonu", + "cell-style": "Hücre stili", + "use-cell-style-function": "Hücre stili fonksiyonunu kullan", + "cell-style-function": "Hücre stili fonksiyonu", + "cell-content": "Hücre içeriği", + "use-cell-content-function": "Hücre içeriği fonksiyonunu kullan", + "cell-content-function": "Hücre içeriği fonksiyonu", + "show-latest-data-column": "En son veri sütununu göster", + "latest-data-column-order": "En son veri sütunu sıralaması", + "entities-table-title": "Varlıklar tablosu başlığı", + "enable-select-column-display": "Görüntülenecek sütunları seçmeyi etkinleştir", + "display-entity-name": "Varlık adı sütununu göster", + "entity-name-column-title": "Varlık adı sütunu başlığı", + "display-entity-label": "Varlık etiketi sütununu göster", + "entity-label-column-title": "Varlık etiketi sütunu başlığı", + "display-entity-type": "Varlık türü sütununu göster", + "default-sort-order": "Varsayılan sıralama düzeni", + "custom-title": "Özel başlık", + "column-width": "Sütun genişliği (px veya %)", + "default-column-visibility": "Varsayılan sütun görünürlüğü", + "column-visibility-visible": "Görünür", + "column-visibility-hidden": "Gizli", + "column-visibility-hidden-mobile": "Mobil modda gizli", + "column-selection-to-display": "'Görüntülenecek Sütunlar'da sütun seçimi", + "column-selection-to-display-enabled": "Etkin", + "column-selection-to-display-disabled": "Devre dışı", + "alarms-table-title": "Alarm tablosu başlığı", + "enable-alarms-selection": "Alarm seçimini etkinleştir", + "enable-alarms-search": "Alarm aramasını etkinleştir", + "enable-alarm-filter": "Alarm filtresini etkinleştir", + "display-alarm-details": "Alarm detaylarını göster", + "allow-alarms-ack": "Alarmların onaylanmasına izin ver", + "allow-alarms-clear": "Alarmların temizlenmesine izin ver", + "display-alarm-activity": "Alarm etkinliğini göster", + "allow-alarms-assign": "Alarmların atanmasına izin ver", + "columns": "Sütunlar", + "column-settings": "Sütun ayarları", + "remove-column": "Sütunu kaldır", + "add-column": "Sütun ekle", + "no-columns": "Tanımlı sütun yok", + "columns-to-display": "Görüntülenecek sütunlar", + "table-header": "Tablo başlığı", + "header-buttons": "Başlık düğmeleri", + "table-buttons": "Tablo düğmeleri", + "pagination": "Sayfalama", + "rows": "Satırlar", + "timeseries-column-error": "En az bir zaman serisi sütunu belirtilmelidir", + "alarm-column-error": "En az bir alarm sütunu belirtilmelidir", + "table-tabs": "Tablo sekmeleri", + "show-cell-actions-menu-mobile": "Mobil modda hücre eylem açılır menüsünü göster", + "disable-sorting": "Sıralamayı devre dışı bırak" + }, + "latest-chart": { + "total": "Toplam", + "auto-scale": "Otomatik ölçekle", + "clockwise-layout": "Saat yönünde yerleşim", + "sort-series": "Serileri etikete göre sırala", + "tooltip-value-type-absolute": "Mutlak", + "tooltip-value-type-percentage": "Yüzde" + }, + "pie-chart": { + "pie-chart-appearance": "Pasta grafik görünümü", + "label": "Etiket", + "border": "Kenarlık", + "radius": "Yarıçap", + "pie-chart-card-style": "Pasta grafik kartı stili" + }, + "radar-chart": { + "radar-appearance": "Radar görünümü", + "shape": "Şekil", + "shape-polygon": "Poligon", + "shape-circle": "Daire", + "color": "Renk", + "line": "Çizgi", + "points": "Noktalar", + "points-label": "Nokta etiketleri", + "radar-axis": "Radar ekseni", + "axis-label": "Eksen etiketi", + "ticks-label": "İşaret etiketleri", + "radar-chart-style": "Radar grafik stili", + "max-axes-scaling": "Maksimum eksen ölçekleme", + "max-axes-scaling-hint": "Her radar ekseninin kendi maksimum değerine mi sahip olacağını (Ayrı) yoksa tüm eksenler için en yüksek değeri paylaşacağını (Ortak) belirleyin.", + "separate": "Ayrı", + "common": "Ortak" + }, + "time-series-chart": { + "chart": "Grafik", + "chart-style": "Grafik stili", + "data-zoom": "Veri yakınlaştırma", + "stack-mode": "Yığın modu", + "stack-mode-hint": "Grafikte serileri üst üste yığar. Aynı birime sahip seriler birbirinin üzerine yerleştirilir.", + "axes": "Eksenler", + "y-axes": "Y eksenleri", + "line-type": "Çizgi türü", + "line-width": "Çizgi kalınlığı", + "type-line": "Çizgi", + "type-bar": "Çubuk", + "type-point": "Nokta", + "no-aggregation-bar-width-strategy": "Toplanmamış veriler için çubuk genişliği stratejisi", + "no-aggregation-bar-width-strategy-group": "Grup", + "no-aggregation-bar-width-strategy-separate": "Ayrı", + "bar-group-width": "Çubuk grup genişliği", + "bar-width": "Çubuk genişliği", + "bar-width-relative": "Zaman penceresi yüzdesi", + "bar-width-absolute": "Mutlak (ms)", + "comparison": { + "comparison": "Karşılaştırma", + "comparison-hint": "Karşılaştırma yalnızca geçmiş verilerle çalışır!", + "show": "Göster", + "settings": "Karşılaştırma ayarları", + "show-values-for-comparison": "Karşılaştırma için geçmiş verileri göster", + "comparison-values-label": "Karşılaştırma anahtar etiketi", + "comparison-values-label-auto": "Otomatik", + "comparison-data-color": "Karşılaştırma veri rengi" + }, + "threshold": { + "thresholds": "Eşikler", + "source": "Kaynak", + "key-value": "Anahtar / Değer", + "no-thresholds": "Tanımlı eşik yok", + "add-threshold": "Eşik ekle", + "type-constant": "Sabit", + "type-latest-key": "Anahtar", + "type-entity": "Varlık", + "threshold-settings": "Eşik ayarları", + "remove-threshold": "Eşiği kaldır", + "threshold-value-required": "Eşik değeri gereklidir.", + "key-required": "Anahtar gereklidir.", + "entity-key-required": "Varlık anahtarı gereklidir.", + "line-appearance": "Çizgi görünümü", + "line-color": "Çizgi rengi", + "start-symbol": "Başlangıç simgesi", + "end-symbol": "Bitiş simgesi", + "symbol-size": "Boyut", + "label": "Etiket", + "label-position-start": "Başlangıç", + "label-position-middle": "Orta", + "label-position-end": "Bitiş", + "label-position-inside-start": "İç başlangıç", + "label-position-inside-start-top": "İç başlangıç üst", + "label-position-inside-start-bottom": "İç başlangıç alt", + "label-position-inside-middle": "İç orta", + "label-position-inside-middle-top": "İç orta üst", + "label-position-inside-middle-bottom": "İç orta alt", + "label-position-inside-end": "İç bitiş", + "label-position-inside-end-top": "İç bitiş üst", + "label-position-inside-end-bottom": "İç bitiş alt", + "label-background": "Etiket arka planı" + }, + "state": { + "states": "Durumlar", + "label": "Etiket", + "ticks-value": "İşaret değeri", + "source": "Kaynak", + "value-range": "Değer / Aralık", + "no-states": "Tanımlı durum yok", + "add-state": "Durum ekle", + "type-constant": "Sabit", + "type-range": "Aralık", + "from": "Başlangıç", + "to": "Bitiş", + "remove-state": "Durumu kaldır" + }, + "grid": { + "grid": "Izgara", + "background-color": "Arka plan rengi", + "border": "Kenarlık" + }, + "axis": { + "axes": "Eksenler", + "x-axis": "X ekseni", + "y-axis": "Y ekseni", + "y-axis-settings": "Y ekseni ayarları", + "comparison-x-axis-settings": "Karşılaştırma X ekseni ayarları", + "remove-y-axis": "Y eksenini kaldır", + "id": "Kimlik", + "label": "Etiket", + "position": "Konum", + "position-left": "Sol", + "position-right": "Sağ", + "position-top": "Üst", + "position-bottom": "Alt", + "tick-labels": "İşaret etiketleri", + "ticks-formatter-function": "İşaret biçimlendirici fonksiyonu", + "ticks-generator-function": "İşaret oluşturucu fonksiyonu", + "show-ticks": "İşaretleri göster", + "show-line": "Çizgiyi göster", + "show-split-lines": "Bölme çizgilerini göster", + "show-split-lines-x-axis-hint": "Etkinleştirilirse, grafikte dikey çizgiler gösterilir.", + "show-split-lines-y-axis-hint": "Etkinleştirilirse, grafikte yatay çizgiler gösterilir.", + "ticks-interval": "İşaret aralığı", + "ticks-interval-hint": "Eksen için zorunlu segment aralığı ayarı.", + "split-number": "Bölüm sayısı", + "split-number-hint": "Eksenin bölüneceği segment sayısı.", + "min": "Min", + "max": "Maks", + "show": "Göster", + "add-y-axis": "Y ekseni ekle" + }, + "series": { + "legend-settings": "Gösterge ayarları", + "show-in-legend": "Göstergede göster", + "show-in-legend-hint": "Seri adını ve verisini göstergede göster.", + "hidden-by-default": "Varsayılan olarak gizli", + "hidden-by-default-hint": "Seriyi varsayılan olarak göstergede gizli yap.", + "series-type": "Seri türü", + "type": "Tür", + "type-line": "Çizgi", + "type-bar": "Çubuk", + "line": { + "line": "Çizgi", + "show-line": "Çizgiyi göster", + "step-line": "Adımlı çizgi", + "step-type-start": "Başlangıç", + "step-type-middle": "Orta", + "step-type-end": "Bitiş", + "smooth-line": "Yumuşak çizgi" + }, + "point": { + "points": "Noktalar", + "show-points": "Noktaları göster", + "point-label": "Nokta etiketi", + "point-label-hint": "Seri noktası üzerinde değeriyle birlikte etiketi göster.", + "point-label-background": "Nokta etiketi arka planı", + "point-shape": "Nokta şekli", + "point-size": "Nokta boyutu" + } + } + }, + "wind-speed-direction": { + "layout": "Yerleşim", + "layout-default": "Varsayılan", + "layout-advanced": "Gelişmiş", + "layout-simplified": "Basitleştirilmiş", + "values": "Değerler", + "wind-direction": "Rüzgar yönü", + "center-value": "Merkez değeri", + "icon": "Simge", + "arrow": "Ok", + "ticks": "İşaretler", + "labels-type": "Etiket türü", + "directional-names": "Yön adları", + "degrees": "Dereceler", + "major-ticks": "Ana işaretler", + "minor-ticks": "İkincil işaretler", + "wind-speed-direction-card-style": "Rüzgar hızı ve yönü kartı stili", + "ticks-color": "İşaret rengi", + "ticks-labels-type": "İşaret etiket türü", + "arrow-color": "Ok rengi" + }, + "value-source": { + "value-source": "Değer kaynağı", + "predefined-value": "Sabit", + "entity-attribute": "Varlık özniteliği", + "value": "Değer", + "value-required": "Değer gereklidir.", + "key-required": "Anahtar gereklidir.", + "entity-key-required": "Varlık anahtarı gereklidir.", + "source-entity-alias": "Kaynak varlık takma adı", + "source-entity-attribute": "Kaynak varlık özniteliği", + "type-constant": "Sabit", + "type-latest-key": "Anahtar", + "type-entity": "Varlık" + }, + "rpc-state": { + "initial-state": "Başlangıç durumu", + "initial-state-hint": "Bileşenin ilk durumu (Açık/Kapalı) almak için eylem.", + "disabled-state": "Devre dışı durumu", + "disabled-state-hint": "Bileşenin devre dışı kalacağı durumu yapılandırın.", + "turn-on": "'Aç' durumuna geç", + "turn-on-hint": "Bileşen 'Açık' durumuna alındığında tetiklenen eylem.", + "turn-off": "'Kapat' durumuna geç", + "turn-off-hint": "Bileşen 'Kapalı' durumuna alındığında tetiklenen eylem.", + "on": "Açık", + "off": "Kapalı", + "disabled": "Devre dışı" + }, + "value-action": { + "do-nothing": "Hiçbir şey yapma", + "execute-rpc": "RPC çalıştır", + "get-attribute": "Öznitelik al", + "set-attribute": "Öznitelik ayarla", + "get-time-series": "Zaman serisini al", + "get-alarm-status": "Alarm durumunu al", + "get-dashboard-state": "Dashboard durum kimliğini al", + "get-dashboard-state-object": "Dashboard durum nesnesini al", + "add-time-series": "Zaman serisi ekle", + "execute-rpc-text": "'{{methodName}}' RPC metodunu çalıştır", + "get-time-series-text": "'{{key}}' zaman serisini kullan", + "get-attribute-text": "'{{key}}' özniteliğini kullan", + "get-alarm-status-text": "Alarm durumunu kullan", + "get-dashboard-state-text": "Dashboard durumunu kullan", + "get-dashboard-state-object-text": "Dashboard durum nesnesini kullan", + "when-dashboard-state-is-text": "Dashboard durum kimliği '{{state}}' olduğunda", + "when-dashboard-state-function-is-text": "f(dashboard durum kimliği) '{{state}}' olduğunda", + "when-dashboard-state-object-function-is-text": "f(dashboard durum nesnesi) '{{state}}' olduğunda", + "set-attribute-to-value-text": "'{{key}}' özniteliğini şu değere ayarla: {{value}}", + "add-time-series-value-text": "'{{key}}' zaman serisi değerini ekle: {{value}}", + "set-attribute-text": "'{{key}}' özniteliğini ayarla", + "add-time-series-text": "'{{key}}' zaman serisini ekle", + "action": "Eylem", + "value": "Değer", + "init-value-hint": "Cihazdan veri gelene kadar atanacak başlangıç değeri.", + "method": "Metot", + "method-name-required": "Metot adı gereklidir.", + "request-timeout-ms": "RPC istek zaman aşımı (ms)", + "request-timeout-required": "İstek zaman aşımı gereklidir.", + "min-request-timeout-error": "Zaman aşımı değeri en az 5000 ms (5 saniye) olmalıdır.", + "request-persistent": "RPC isteği kalıcı", + "persistent-polling-interval": "Kalıcı yoklama aralığı (ms)", + "persistent-polling-interval-hint": "Kalıcı RPC komut yanıtını almak için yoklama aralığı (ms)", + "persistent-polling-interval-required": "Kalıcı yoklama aralığı gereklidir.", + "min-persistent-polling-interval-error": "Kalıcı yoklama aralığı değeri en az 1000 ms (1 saniye) olmalıdır.", + "attribute-scope": "Öznitelik kapsamı", + "attribute-key": "Öznitelik anahtarı", + "attribute-key-required": "Öznitelik anahtarı gereklidir.", + "time-series-key": "Zaman serisi anahtarı", + "time-series-key-required": "Zaman serisi anahtarı gereklidir.", + "action-result-converter": "Eylem sonucu dönüştürücü", + "converter-none": "Yok", + "converter-function": "Fonksiyon", + "converter-constant": "Sabit", + "converter-value": "Değer", + "parse-value-function": "Değer ayrıştırma fonksiyonu", + "state-when-result-is": "Sonuç '{{state}}' olduğunda", + "parameters": "Parametreler", + "convert-value-function": "Değeri dönüştürme fonksiyonu", + "error": { + "target-entity-is-not-set": "Hedef varlık ayarlanmadı!", + "failed-to-perform-action": "{{ actionLabel }} eylemi gerçekleştirilemedi.", + "invalid-attribute-scope": "{{scope}} öznitelik kapsamı {{entityType}} varlığı tarafından desteklenmiyor." + } + }, + "widget-font": { + "font-settings": "Yazı tipi ayarları", + "font-family": "Yazı tipi ailesi", + "size": "Boyut", + "relative-font-size": "Göreli yazı tipi boyutu (yüzde)", + "font-style": "Stil", + "font-style-normal": "Normal", + "font-style-italic": "İtalik", + "font-style-oblique": "Eğik", + "font-weight": "Kalınlık", + "font-weight-normal": "Normal", + "font-weight-bold": "Kalın", + "font-weight-bolder": "Daha kalın", + "font-weight-lighter": "Daha ince", + "color": "Renk", + "shadow-color": "Gölge rengi", + "preview": "Önizleme", + "line-height": "Satır yüksekliği", + "auto": "Otomatik" + }, + "home": { + "no-data-available": "Veri yok" + }, + "system-info": { + "cpu": "CPU", + "ram": "RAM", + "disk": "Disk", + "cpu-warning-text": "CPU kullanımı yüksek. Sistem arızasını önlemek için performansı optimize edin.", + "cpu-critical-text": "CPU kullanımı kritik düzeyde yüksek. Sistem arızasını önlemek için performansı optimize edin.", + "ram-warning-text": "RAM rezervi düşük. Sistem arızasını önlemek için performansı optimize edin veya RAM kapasitesini artırın.", + "ram-critical-text": "RAM rezervi kritik düzeyde düşük. Sistem arızasını önlemek için performansı optimize edin veya RAM kapasitesini artırın.", + "disk-warning-text": "Disk alanı azalıyor. Veri kaybını önlemek için disk alanını boşaltın veya genişletin.", + "disk-critical-text": "Disk alanı kritik düzeyde düşük. Veri kaybını önlemek için disk alanını boşaltın veya genişletin." + }, + "cluster-info": { + "service-id": "Servis kimliği", + "service-type": "Servis türü", + "no-data": "Veri yok" + }, + "transport-messages": { + "title": "Taşıma mesajları", + "info": "Cihazlardan gelen tüm mesajlar" + }, + "activity": { + "title": "Aktivite" + }, + "documentation": { + "title": "Dokümantasyon", + "add-link": "Bağlantı ekle", + "add-link-title": "Dokümantasyon bağlantısı ekle", + "name": "Ad", + "name-required": "Ad gerekli.", + "link": "Bağlantı", + "link-required": "Bağlantı gerekli.", + "columns": "Sütunlar" + }, + "quick-links": { + "title": "Hızlı bağlantılar", + "add-link": "Bağlantı ekle", + "add-link-title": "Hızlı bağlantı ekle", + "quick-link": "Hızlı bağlantı", + "quick-link-required": "Hızlı bağlantı gerekli.", + "no-links-matching": "'{{name}}' ile eşleşen bağlantı bulunamadı.", + "columns": "Sütunlar" + }, + "recent-dashboards": { + "title": "Panolar", + "last": "Son görüntülenen", + "starred": "Yıldızlı", + "name": "Ad", + "last-viewed": "Son görüntüleme", + "no-last-viewed-dashboards": "Henüz son görüntülenen pano yok" + }, + "configured-features": { + "title": "Yapılandırılmış özellikler", + "info": "Yapılandırma gerektiren özelliklerin durumu", + "email-feature": "E-posta", + "sms-feature": "SMS", + "slack-feature": "Slack", + "oauth2-feature": "OAuth 2", + "2fa-feature": "2FA", + "feature-configured": "Özellik yapılandırıldı.\nKurulum için tıklayın", + "feature-not-configured": "Özellik yapılandırılmadı.\nKurulum için tıklayın" + }, + "version-info": { + "title": "Sürüm", + "contact-us": "Bize ulaşın", + "current-version": "Mevcut sürüm", + "current": "Mevcut", + "available-version": "Mevcut sürüm", + "available": "Mevcut", + "upgrade": "Güncelle", + "version-is-up-to-date": "Sürüm güncel" + }, + "usage-info": { + "title": "Kullanım", + "entities": "Varlıklar", + "api-calls": "API çağrıları" + }, + "functions": { + "title": "Fonksiyonlar", + "pe-feature-tooltip": "Yalnızca ThingsBoard\nProfesyonel Sürümde", + "switch-to-pe": "PE sürümüne geç", + "alarms": "Alarmlar", + "dashboards": "Panolar", + "entities-and-relations": "Varlıklar ve İlişkiler", + "profiles": "Profiller", + "advanced-features": "Gelişmiş özellikler", + "notification-center": "Bildirim merkezi", + "api-usage": "API kullanımı", + "customers": "Müşteriler", + "customers-hierarchy": "Müşteri hiyerarşisi", + "roles-and-permissions": "Roller ve İzinler", + "groups": "Gruplar", + "integrations": "Entegrasyonlar", + "solution-templates": "Çözüm şablonları", + "scheduler": "Zamanlayıcı", + "white-labeling": "Beyaz etiketleme" + }, + "devices": { + "view-docs": "Belgeleri görüntüle", + "inactive": "Pasif", + "active": "Aktif", + "total": "Toplam" + }, + "alarms": { + "critical": "Kritik", + "assigned-to-me": "Bana atanan", + "total": "Toplam" + }, + "getting-started": { + "get-started": "Başla", + "finish": "Bitir", + "done-welcome-title": "Aramıza hoş geldiniz", + "done-welcome-text": "Harika bir iş çıkardınız!", + "sys-admin": { + "step1": { + "title": "Kiracı ve Kiracı Yöneticisi oluştur", + "content": "

Bir kiracı, cihazlara ve varlıklara sahip olan veya bunları üreten birey ya da kuruluştur. Kiracının birden fazla kiracı yöneticisi kullanıcısı, müşterisi, cihazı ve varlığı olabilir.

Kiracı Yöneticisi, cihazları, varlıkları, müşterileri ve panoları oluşturabilir ve yönetebilir.

Nasıl yapılacağına dair dökümantasyona göz atın:

", + "how-to-create-tenant": "Kiracı ve Kiracı Yöneticisi nasıl oluşturulur" + }, + "step2": { + "title": "Özelliği yapılandır: Mail sunucusu", + "content": "

Mail sunucusu yapılandırması, kullanıcı aktivasyonu, şifre kurtarma ve alarm bildirimi için gereklidir.

Nasıl yapılacağına dair dökümantasyona göz atın:

", + "how-to-configure-mail-server": "Mail sunucusu nasıl yapılandırılır" + }, + "step3": { + "title": "Özelliği yapılandır: SMS sağlayıcısı", + "content": "

Alarm bildirimlerini müşterilere SMS ile iletmek için SMS sağlayıcılarını yapılandırın.

Nasıl yapılacağına dair dökümantasyona göz atın:

", + "how-to-configure-sms-provider": "SMS sağlayıcısı nasıl yapılandırılır" + }, + "step4": { + "title": "Özelliği yapılandır: Beyaz etiketleme", + "content": "

Hizmeti yeniden başlatmadan veya kod yazmadan şirketinizin ya da ürününüzün logosunu ve renk şemasını kolayca özelleştirin.

Nasıl yapılacağına dair dökümantasyona göz atın:

" + }, + "step5": { + "title": "Özelliği yapılandır: 2FA", + "content": "

Platform hesaplarının güvenliğini iki faktörlü kimlik doğrulama ile artırın.

Nasıl yapılacağına dair dökümantasyona göz atın:

" + }, + "step6": { + "title": "Özelliği yapılandır: OAuth 2", + "content": "

OAuth 2.0 üzerinden Tek Oturum Açma (SSO) ile kiracı ve müşteri kullanıcılarının giriş işlemlerini basitleştirin.

Nasıl yapılacağına dair dökümantasyona göz atın:

" + } + }, + "tenant-admin": { + "step1": { + "title": "Cihaz oluştur", + "content": "

İlk cihazınızı platforma UI üzerinden tanımlayalım. Nasıl yapılacağına dair dökümantasyona göz atın:

", + "how-to-create-device": "Cihaz nasıl oluşturulur" + }, + "step2": { + "title": "Cihazı bağla", + "content-before": "

Cihazı bağlamak için cihaz kimlik bilgilerini almanız gerekir. Bu rehberde varsayılan otomatik oluşturulan kimlik bilgisi olan erişim jetonunu kullanmanızı öneriyoruz.

HTTP üzerinden veri göndermek için basit komutları kullanın. $ACCESS_TOKEN ifadesini cihazınıza ait erişim jetonu ile değiştirmeyi unutmayın:

", + "ubuntu": { + "install-curl": "Ubuntu için cURL kurulumu:" + }, + "macos": { + "install-curl": "MacOS için cURL kurulumu:" + }, + "windows": { + "install-curl": "Windows 10 b17063 itibariyle, cURL varsayılan olarak mevcuttur." + }, + "replace-access-token": "$ACCESS_TOKEN ifadesini cihazınızın erişim jetonu ile değiştirin:", + "content-after": "

Ayrıca MQTT, CoAP gibi diğer protokolleri de kullanabilirsiniz.

Nasıl yapılacağına dair dökümantasyona göz atın:

", + "how-to-connect-device": "Cihaz nasıl bağlanır" + }, + "step3": { + "title": "Pano oluştur", + "content": "

Varlıklar, cihazlar vb. gibi nesnelerden gelen verileri görselleştirmek için bir pano oluşturun.

Nasıl yapılacağına dair dökümantasyona göz atın:

", + "how-to-create-dashboard": "Pano nasıl oluşturulur" + }, + "step4": { + "title": "Alarm kurallarını yapılandır", + "alarm-rules": "Alarm kuralları", + "content": "

Sıcaklık 25°C'ye ulaştığında bir alarm oluşturalım. Nasıl yapılacağına dair dökümantasyona göz atın:

", + "how-to-configure-alarm-rules": "Alarm kuralları nasıl yapılandırılır" + }, + "step5": { + "title": "Alarm oluştur", + "content-before": "

Alarmı tetiklemek için 26°C veya daha yüksek bir telemetri verisi gönderin.

", + "replace-access-token": "$ACCESS_TOKEN ifadesini cihazınızın erişim jetonu ile değiştirin:", + "content-after": "

Nasıl yapılacağına dair dökümantasyona göz atın:

", + "how-to-create-alarm": "Alarm nasıl oluşturulur" + }, + "step6": { + "title": "Müşteri oluştur ve panoyu paylaş", + "content": "

Son kullanıcı panoları oluşturarak, müşteri kullanıcısı yalnızca kendi cihazlarını görebilir ve diğer müşterilerin verileri gizli olur.

Nasıl yapılacağına dair dökümantasyona göz atın:

" + } + } + } }, "icon": { - "icon": "İkon", - "select-icon": "İkon seç", - "material-icons": "Material konları", - "show-all": "Tüm ikonları göster" + "icon": "Simge", + "icons": "Simgeler", + "select-icon": "Simge seç", + "material-icons": "Material simgeleri", + "show-all": "Tüm simgeleri göster", + "search-icon": "Simge ara", + "no-icons-found": "'{{iconSearch}}' için simge bulunamadı" + }, + "phone-input": { + "phone-input-label": "Telefon numarası", + "phone-input-required": "Telefon numarası gerekli", + "phone-input-validation": "Telefon numarası geçersiz veya mümkün değil", + "phone-input-pattern": "Geçersiz telefon numarası. E.164 formatında olmalıdır, örn. {{phoneNumber}}", + "phone-input-hint": "E.164 formatında telefon numarası, örn. {{phoneNumber}}" }, "custom": { "widget-action": { - "action-cell-button": "Eylem hücre butonu", - "row-click": "Satır tıklama eylemi", - "polygon-click": "Satır tıklama eylemi", - "marker-click": "Çokgen tıklama eylemi", - "tooltip-tag-action": "İpucu etiket eylemi", - "node-selected": "Düğüm seçme eylemi", - "element-click": "HTML eleman tıklama eylemi", - "pie-slice-click": "Pay/dilim tıklama eylemi", - "row-double-click": "Satır çift tıklama eylemi" + "action-cell-button": "Hücre eylem düğmesi", + "row-click": "Satıra tıklanınca", + "cell-click": "Hücreye tıklanınca", + "polygon-click": "Poligona tıklanınca", + "marker-click": "İşaretçiye tıklanınca", + "circle-click": "Daireye tıklanınca", + "tooltip-tag-action": "İpucu etiketi eylemi", + "node-selected": "Düğüm seçildiğinde", + "element-click": "HTML öğesine tıklanınca", + "pie-slice-click": "Dilime tıklanınca", + "row-double-click": "Satıra çift tıklanınca", + "cell-double-click": "Hücreye çift tıklanınca", + "card-click": "Kart tıklanınca", + "click": "Tıklama" } }, + "paginator": { + "items-per-page": "Sayfa başına öğe:", + "first-page-label": "İlk sayfa", + "last-page-label": "Son sayfa", + "next-page-label": "Sonraki sayfa", + "previous-page-label": "Önceki sayfa", + "items-per-page-separator": "toplam" + }, "language": { "language": "Dil" } -} +} \ No newline at end of file From a1cebcc54cedff917bdaccb14e9e03009e8981a5 Mon Sep 17 00:00:00 2001 From: Dmytro Skarzhynets Date: Wed, 13 Aug 2025 18:26:53 +0300 Subject: [PATCH 2/3] AI request node: fix prompts validation --- .../rule/engine/ai/TbAiNodeConfiguration.java | 5 ++-- .../rule/engine/ai/TbAiNodeTest.java | 23 +++++++++++++------ .../rule-node/external/ai-config.component.ts | 4 ++-- .../assets/locale/locale.constant-da_DK.json | 6 ++--- .../assets/locale/locale.constant-de_DE.json | 6 ++--- .../assets/locale/locale.constant-el_GR.json | 6 ++--- .../assets/locale/locale.constant-en_US.json | 4 ++-- .../assets/locale/locale.constant-es_ES.json | 6 ++--- .../assets/locale/locale.constant-fr_FR.json | 6 ++--- .../assets/locale/locale.constant-tr_TR.json | 6 ++--- 10 files changed, 40 insertions(+), 32 deletions(-) diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/ai/TbAiNodeConfiguration.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/ai/TbAiNodeConfiguration.java index 10bb24199e..48392aa76e 100644 --- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/ai/TbAiNodeConfiguration.java +++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/ai/TbAiNodeConfiguration.java @@ -34,12 +34,11 @@ public class TbAiNodeConfiguration implements NodeConfiguration invalidSystemPrompts() { - String tooLongString = "a".repeat(10_001); + String tooLongString = "a".repeat(500_001); return Stream.of( Arguments.of(""), - Arguments.of(" "), Arguments.of(tooLongString) ); } @@ -213,12 +212,17 @@ class TbAiNodeTest { } static Stream validSystemPrompts() { - String longString = "a".repeat(10_000); + String longString = "a".repeat(500_000); return Stream.of( Arguments.of((String) null), Arguments.of("a"), Arguments.of("Test system prompt"), - Arguments.of(longString) + Arguments.of(longString), + Arguments.of(""" + first sentence + + second sentence + """) ); } @@ -239,7 +243,7 @@ class TbAiNodeTest { } static Stream invalidUserPrompts() { - String tooLongString = "a".repeat(10_001); + String tooLongString = "a".repeat(500_001); return Stream.of( Arguments.of((String) null), Arguments.of(""), @@ -260,11 +264,16 @@ class TbAiNodeTest { } static Stream validUserPrompts() { - String longString = "a".repeat(10_000); + String longString = "a".repeat(500_000); return Stream.of( Arguments.of("a"), Arguments.of("Test user prompt"), - Arguments.of(longString) + Arguments.of(longString), + Arguments.of(""" + first sentence + + second sentence + """) ); } diff --git a/ui-ngx/src/app/modules/home/components/rule-node/external/ai-config.component.ts b/ui-ngx/src/app/modules/home/components/rule-node/external/ai-config.component.ts index 1ef8ebca72..26d2ed009e 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/external/ai-config.component.ts +++ b/ui-ngx/src/app/modules/home/components/rule-node/external/ai-config.component.ts @@ -51,8 +51,8 @@ export class AiConfigComponent extends RuleNodeConfigurationComponent { protected onConfigurationSet(configuration: RuleNodeConfiguration) { this.aiConfigForm = this.fb.group({ modelId: [configuration?.modelId ?? null, [Validators.required]], - systemPrompt: [configuration?.systemPrompt ?? '', [Validators.maxLength(10000), Validators.pattern(/.*\S.*/)]], - userPrompt: [configuration?.userPrompt ?? '', [Validators.required, Validators.maxLength(10000), Validators.pattern(/.*\S.*/)]], + systemPrompt: [configuration?.systemPrompt ?? '', [Validators.maxLength(500_000), Validators.pattern(/.*\S.*/)]], + userPrompt: [configuration?.userPrompt ?? '', [Validators.required, Validators.maxLength(500_000), Validators.pattern(/.*\S.*/)]], responseFormat: this.fb.group({ type: [configuration?.responseFormat?.type ?? ResponseFormat.JSON, []], schema: [configuration?.responseFormat?.schema ?? null, [jsonRequired]], diff --git a/ui-ngx/src/assets/locale/locale.constant-da_DK.json b/ui-ngx/src/assets/locale/locale.constant-da_DK.json index a750e657a4..c77b87f3e0 100644 --- a/ui-ngx/src/assets/locale/locale.constant-da_DK.json +++ b/ui-ngx/src/assets/locale/locale.constant-da_DK.json @@ -5436,11 +5436,11 @@ "prompt-settings": "Promptindstillinger", "prompt-settings-hint": "Den valgfrie systemprompt angiver AI'ens generelle rolle og begrænsninger, mens brugerprompten definerer den specifikke opgave. Begge felter understøtter også skabelonfunktionalitet.", "system-prompt": "Systemprompt", - "system-prompt-max-length": "Systemprompt må højst være 10000 tegn.", + "system-prompt-max-length": "Systemprompt må højst være 500000 tegn.", "system-prompt-blank": "Systemprompt må ikke være tom.", "user-prompt": "Brugerprompt", "user-prompt-required": "Brugerprompt er påkrævet.", - "user-prompt-max-length": "Brugerprompt må højst være 10000 tegn.", + "user-prompt-max-length": "Brugerprompt må højst være 500000 tegn.", "user-prompt-blank": "Brugerprompt må ikke være tom.", "response-format": "Svarformat", "response-text": "Tekst", @@ -9522,4 +9522,4 @@ "language": { "language": "Sprog" } -} \ No newline at end of file +} diff --git a/ui-ngx/src/assets/locale/locale.constant-de_DE.json b/ui-ngx/src/assets/locale/locale.constant-de_DE.json index 64ce0695d6..8df5966d60 100644 --- a/ui-ngx/src/assets/locale/locale.constant-de_DE.json +++ b/ui-ngx/src/assets/locale/locale.constant-de_DE.json @@ -5436,11 +5436,11 @@ "prompt-settings": "Prompt-Einstellungen", "prompt-settings-hint": "Der optionale System-Prompt definiert die allgemeine Rolle und Einschränkungen der KI, während der Benutzer-Prompt die spezifische Aufgabe beschreibt. Beide Felder unterstützen auch die Verwendung von Templates.", "system-prompt": "System-Prompt", - "system-prompt-max-length": "Der System-Prompt darf maximal 10.000 Zeichen lang sein.", + "system-prompt-max-length": "Der System-Prompt darf maximal 500.000 Zeichen lang sein.", "system-prompt-blank": "Der System-Prompt darf nicht leer sein.", "user-prompt": "Benutzer-Prompt", "user-prompt-required": "Benutzer-Prompt ist erforderlich.", - "user-prompt-max-length": "Der Benutzer-Prompt darf maximal 10.000 Zeichen lang sein.", + "user-prompt-max-length": "Der Benutzer-Prompt darf maximal 500.000 Zeichen lang sein.", "user-prompt-blank": "Der Benutzer-Prompt darf nicht leer sein.", "response-format": "Antwortformat", "response-text": "Text", @@ -9522,4 +9522,4 @@ "language": { "language": "Sprache" } -} \ No newline at end of file +} diff --git a/ui-ngx/src/assets/locale/locale.constant-el_GR.json b/ui-ngx/src/assets/locale/locale.constant-el_GR.json index 4974a25ac5..4af644ab8d 100644 --- a/ui-ngx/src/assets/locale/locale.constant-el_GR.json +++ b/ui-ngx/src/assets/locale/locale.constant-el_GR.json @@ -5436,11 +5436,11 @@ "prompt-settings": "Ρυθμίσεις prompt", "prompt-settings-hint": "Το προαιρετικό system prompt ορίζει τον γενικό ρόλο και τους περιορισμούς του AI, ενώ το user prompt καθορίζει το συγκεκριμένο έργο προς εκτέλεση. Και τα δύο πεδία υποστηρίζουν χρήση προτύπων.", "system-prompt": "System prompt", - "system-prompt-max-length": "Το system prompt πρέπει να είναι έως 10000 χαρακτήρες.", + "system-prompt-max-length": "Το system prompt πρέπει να είναι έως 500000 χαρακτήρες.", "system-prompt-blank": "Το system prompt δεν πρέπει να είναι κενό.", "user-prompt": "User prompt", "user-prompt-required": "Απαιτείται user prompt.", - "user-prompt-max-length": "Το user prompt πρέπει να είναι έως 10000 χαρακτήρες.", + "user-prompt-max-length": "Το user prompt πρέπει να είναι έως 500000 χαρακτήρες.", "user-prompt-blank": "Το user prompt δεν πρέπει να είναι κενό.", "response-format": "Μορφή απόκρισης", "response-text": "Κείμενο", @@ -9522,4 +9522,4 @@ "language": { "language": "Γλώσσα" } -} \ No newline at end of file +} diff --git a/ui-ngx/src/assets/locale/locale.constant-en_US.json b/ui-ngx/src/assets/locale/locale.constant-en_US.json index b06137eba6..80328181f6 100644 --- a/ui-ngx/src/assets/locale/locale.constant-en_US.json +++ b/ui-ngx/src/assets/locale/locale.constant-en_US.json @@ -5446,11 +5446,11 @@ "prompt-settings": "Prompt settings", "prompt-settings-hint": "The optional system prompt sets the AI's general role and constraints, while the user prompt defines the specific task to perform. Both fields also support templatization.", "system-prompt": "System prompt", - "system-prompt-max-length": "System prompt must be 10000 characters or less.", + "system-prompt-max-length": "System prompt must be 500000 characters or less.", "system-prompt-blank": "System prompt must not be blank.", "user-prompt": "User prompt", "user-prompt-required": "User prompt is required.", - "user-prompt-max-length": "User prompt must be 10000 characters or less.", + "user-prompt-max-length": "User prompt must be 500000 characters or less.", "user-prompt-blank": "User prompt must not be blank.", "response-format": "Response format", "response-text": "Text", diff --git a/ui-ngx/src/assets/locale/locale.constant-es_ES.json b/ui-ngx/src/assets/locale/locale.constant-es_ES.json index 6ff64e0879..3abb65bec6 100644 --- a/ui-ngx/src/assets/locale/locale.constant-es_ES.json +++ b/ui-ngx/src/assets/locale/locale.constant-es_ES.json @@ -5436,11 +5436,11 @@ "prompt-settings": "Configuración del prompt", "prompt-settings-hint": "El prompt del sistema (opcional) define el rol general y las restricciones de la IA, mientras que el prompt del usuario define la tarea específica a realizar. Ambos campos admiten plantillas.", "system-prompt": "Prompt del sistema", - "system-prompt-max-length": "El prompt del sistema debe tener 10.000 caracteres o menos.", + "system-prompt-max-length": "El prompt del sistema debe tener 500.000 caracteres o menos.", "system-prompt-blank": "El prompt del sistema no debe estar vacío.", "user-prompt": "Prompt del usuario", "user-prompt-required": "Se requiere el prompt del usuario.", - "user-prompt-max-length": "El prompt del usuario debe tener 10.000 caracteres o menos.", + "user-prompt-max-length": "El prompt del usuario debe tener 500.000 caracteres o menos.", "user-prompt-blank": "El prompt del usuario no debe estar vacío.", "response-format": "Formato de respuesta", "response-text": "Texto", @@ -9522,4 +9522,4 @@ "language": { "language": "Idioma" } -} \ No newline at end of file +} diff --git a/ui-ngx/src/assets/locale/locale.constant-fr_FR.json b/ui-ngx/src/assets/locale/locale.constant-fr_FR.json index 46350046de..e278f5f8a9 100644 --- a/ui-ngx/src/assets/locale/locale.constant-fr_FR.json +++ b/ui-ngx/src/assets/locale/locale.constant-fr_FR.json @@ -5436,11 +5436,11 @@ "prompt-settings": "Paramètres de prompt", "prompt-settings-hint": "Le prompt système optionnel définit le rôle général et les contraintes de l'IA, tandis que le prompt utilisateur précise la tâche à exécuter. Les deux champs prennent en charge la modélisation par modèle (templatization).", "system-prompt": "Prompt système", - "system-prompt-max-length": "Le prompt système doit comporter 10 000 caractères ou moins.", + "system-prompt-max-length": "Le prompt système doit comporter 500 000 caractères ou moins.", "system-prompt-blank": "Le prompt système ne doit pas être vide.", "user-prompt": "Prompt utilisateur", "user-prompt-required": "Le prompt utilisateur est requis.", - "user-prompt-max-length": "Le prompt utilisateur doit comporter 10 000 caractères ou moins.", + "user-prompt-max-length": "Le prompt utilisateur doit comporter 500 000 caractères ou moins.", "user-prompt-blank": "Le prompt utilisateur ne doit pas être vide.", "response-format": "Format de réponse", "response-text": "Texte", @@ -9522,4 +9522,4 @@ "language": { "language": "Langue" } -} \ No newline at end of file +} diff --git a/ui-ngx/src/assets/locale/locale.constant-tr_TR.json b/ui-ngx/src/assets/locale/locale.constant-tr_TR.json index bb69f4f49c..74bd56e2f5 100644 --- a/ui-ngx/src/assets/locale/locale.constant-tr_TR.json +++ b/ui-ngx/src/assets/locale/locale.constant-tr_TR.json @@ -5436,11 +5436,11 @@ "prompt-settings": "İstem ayarları", "prompt-settings-hint": "İsteğe bağlı sistem istemi, yapay zekanın genel rolünü ve kısıtlamalarını belirlerken, kullanıcı istemi gerçekleştirilmesi gereken belirli görevi tanımlar. Her iki alan da şablonlaştırmayı destekler.", "system-prompt": "Sistem istemi", - "system-prompt-max-length": "Sistem istemi en fazla 10000 karakter olmalıdır.", + "system-prompt-max-length": "Sistem istemi en fazla 500000 karakter olmalıdır.", "system-prompt-blank": "Sistem istemi boş olmamalıdır.", "user-prompt": "Kullanıcı istemi", "user-prompt-required": "Kullanıcı istemi gereklidir.", - "user-prompt-max-length": "Kullanıcı istemi en fazla 10000 karakter olmalıdır.", + "user-prompt-max-length": "Kullanıcı istemi en fazla 500000 karakter olmalıdır.", "user-prompt-blank": "Kullanıcı istemi boş olmamalıdır.", "response-format": "Yanıt formatı", "response-text": "Metin", @@ -9522,4 +9522,4 @@ "language": { "language": "Dil" } -} \ No newline at end of file +} From 178b2849ed6787085f0a57aac132512e60c4f2c5 Mon Sep 17 00:00:00 2001 From: Igor Kulikov Date: Wed, 13 Aug 2025 19:38:24 +0300 Subject: [PATCH 3/3] Update RestClient getTimeseries method. UI: Improve dynamic form - allow to trim default values from value. --- .../thingsboard/rest/client/RestClient.java | 16 ++++++++++++ ui-ngx/src/app/core/utils.ts | 25 +++++++++++++++++++ .../dynamic-form/dynamic-form.component.ts | 19 +++++++++++--- 3 files changed, 56 insertions(+), 4 deletions(-) diff --git a/rest-client/src/main/java/org/thingsboard/rest/client/RestClient.java b/rest-client/src/main/java/org/thingsboard/rest/client/RestClient.java index 67e11430bd..0e559efd46 100644 --- a/rest-client/src/main/java/org/thingsboard/rest/client/RestClient.java +++ b/rest-client/src/main/java/org/thingsboard/rest/client/RestClient.java @@ -127,6 +127,7 @@ import org.thingsboard.server.common.data.id.WidgetTypeId; import org.thingsboard.server.common.data.id.WidgetsBundleId; import org.thingsboard.server.common.data.kv.Aggregation; import org.thingsboard.server.common.data.kv.AttributeKvEntry; +import org.thingsboard.server.common.data.kv.IntervalType; import org.thingsboard.server.common.data.kv.TsKvEntry; import org.thingsboard.server.common.data.mobile.app.MobileApp; import org.thingsboard.server.common.data.mobile.bundle.MobileAppBundle; @@ -2476,7 +2477,12 @@ public class RestClient implements Closeable { return getTimeseries(entityId, keys, interval, agg, sortOrder != null ? sortOrder.getDirection() : null, pageLink.getStartTime(), pageLink.getEndTime(), 100, useStrictDataTypes); } + @Deprecated public List getTimeseries(EntityId entityId, List keys, Long interval, Aggregation agg, SortOrder.Direction sortOrder, Long startTime, Long endTime, Integer limit, boolean useStrictDataTypes) { + return getTimeseries(entityId, keys, interval, null, null, agg, sortOrder, startTime, endTime, limit, useStrictDataTypes); + } + + public List getTimeseries(EntityId entityId, List keys, Long interval, IntervalType intervalType, String timeZone, Aggregation agg, SortOrder.Direction sortOrder, Long startTime, Long endTime, Integer limit, boolean useStrictDataTypes) { Map params = new HashMap<>(); params.put("entityType", entityId.getEntityType().name()); params.put("entityId", entityId.getId().toString()); @@ -2490,6 +2496,16 @@ public class RestClient implements Closeable { StringBuilder urlBuilder = new StringBuilder(baseURL); urlBuilder.append("/api/plugins/telemetry/{entityType}/{entityId}/values/timeseries?keys={keys}&interval={interval}&limit={limit}&agg={agg}&useStrictDataTypes={useStrictDataTypes}&orderBy={orderBy}"); + if (intervalType != null) { + urlBuilder.append("&intervalType={intervalType}"); + params.put("intervalType", intervalType.name()); + } + + if (timeZone != null) { + urlBuilder.append("&timeZone={timeZone}"); + params.put("timeZone", timeZone); + } + if (startTime != null) { urlBuilder.append("&startTs={startTs}"); params.put("startTs", String.valueOf(startTime)); diff --git a/ui-ngx/src/app/core/utils.ts b/ui-ngx/src/app/core/utils.ts index 353727e006..0fc948ac96 100644 --- a/ui-ngx/src/app/core/utils.ts +++ b/ui-ngx/src/app/core/utils.ts @@ -958,3 +958,28 @@ export const unwrapModule = (module: any) : any => { return module; } }; + +export const trimDefaultValues = (input: Record, defaults: Record): Record => { + const result: Record = {}; + + for (const key in input) { + if (!(key in defaults)) { + result[key] = input[key]; + } else if (typeof defaults[key] === 'object' && defaults[key] !== null && typeof input[key] === 'object' && input[key] !== null) { + const subPatch = trimDefaultValues(input[key], defaults[key]); + if (Object.keys(subPatch).length > 0) { + result[key] = subPatch; + } + } else if (defaults[key] !== input[key]) { + result[key] = input[key]; + } + } + + for (const key in defaults) { + if (!(key in input)) { + delete result[key]; + } + } + + return result; +} diff --git a/ui-ngx/src/app/modules/home/components/widget/lib/settings/common/dynamic-form/dynamic-form.component.ts b/ui-ngx/src/app/modules/home/components/widget/lib/settings/common/dynamic-form/dynamic-form.component.ts index 5f6682ea90..26c89ca4cb 100644 --- a/ui-ngx/src/app/modules/home/components/widget/lib/settings/common/dynamic-form/dynamic-form.component.ts +++ b/ui-ngx/src/app/modules/home/components/widget/lib/settings/common/dynamic-form/dynamic-form.component.ts @@ -37,7 +37,7 @@ import { } from '@angular/forms'; import { Store } from '@ngrx/store'; import { AppState } from '@core/core.state'; -import { isDefinedAndNotNull, mergeDeep } from '@core/utils'; +import { isDefinedAndNotNull, mergeDeep, trimDefaultValues } from '@core/utils'; import { defaultFormProperties, FormProperty, @@ -106,10 +106,16 @@ export class DynamicFormComponent implements OnInit, OnChanges, ControlValueAcce @coerceBoolean() noBorder = false; + @Input() + @coerceBoolean() + trimDefaults = false; + private modelValue: {[id: string]: any}; private propagateChange = null; + private defaults: {[id: string]: any}; + private validatorTriggers: string[]; public propertiesFormGroup: UntypedFormGroup; @@ -180,11 +186,13 @@ export class DynamicFormComponent implements OnInit, OnChanges, ControlValueAcce private loadMetadata() { this.validatorTriggers = []; this.propertyGroups = []; + this.defaults = {}; for (const control of Object.keys(this.propertiesFormGroup.controls)) { this.propertiesFormGroup.removeControl(control, {emitEvent: false}); } if (this.properties) { + this.defaults = defaultFormProperties(this.properties); for (let property of this.properties) { property.disabled = false; property.visible = true; @@ -282,8 +290,7 @@ export class DynamicFormComponent implements OnInit, OnChanges, ControlValueAcce private setupValue() { if (this.properties) { - const defaults = defaultFormProperties(this.properties); - this.modelValue = mergeDeep<{[id: string]: any}>(defaults, this.modelValue); + this.modelValue = mergeDeep<{[id: string]: any}>({}, this.defaults, this.modelValue); this.propertiesFormGroup.patchValue( this.modelValue, {emitEvent: false} ); @@ -295,7 +302,11 @@ export class DynamicFormComponent implements OnInit, OnChanges, ControlValueAcce private updateModel() { this.modelValue = this.propertiesFormGroup.getRawValue(); this.calculateControlsState(true); - this.propagateChange(this.modelValue); + let result = this.modelValue; + if (this.trimDefaults) { + result = trimDefaultValues(this.modelValue, this.defaults); + } + this.propagateChange(result); } }