diff --git a/.github/workflows/homeassistant-installed.yaml b/.github/workflows/homeassistant-installed.yaml
index 2f0b9fee..244d2587 100644
--- a/.github/workflows/homeassistant-installed.yaml
+++ b/.github/workflows/homeassistant-installed.yaml
@@ -34,6 +34,6 @@ jobs:
- name: Create secrets.yaml
run: mv travis_secrets.yaml secrets.yaml
- name: Home Assistant Check Installed
- uses: "docker://homeassistant/home-assistant:0.118.4"
+ uses: "docker://homeassistant/home-assistant:0.118.5"
with:
args: python -m homeassistant --config . --script check_config --info all
diff --git a/README.md b/README.md
index e940ebbb..f822f62e 100644
--- a/README.md
+++ b/README.md
@@ -412,7 +412,7 @@ version: '2.1'
services:
homeassistant:
container_name: homeassistant
- image: homeassistant/home-assistant:0.118.4
+ image: homeassistant/home-assistant:0.118.5
volumes:
- /home/admin/homeassistant:/config
- /etc/localtime:/etc/localtime:ro
diff --git a/custom_components/hacs/api/hacs_repository.py b/custom_components/hacs/api/hacs_repository.py
index 1fb60693..80257eab 100644
--- a/custom_components/hacs/api/hacs_repository.py
+++ b/custom_components/hacs/api/hacs_repository.py
@@ -19,7 +19,7 @@
async def hacs_repository(hass, connection, msg):
"""Handle get media player cover command."""
hacs = get_hacs()
- logger = getLogger("api.repository")
+ logger = getLogger()
data = {}
repository = None
diff --git a/custom_components/hacs/api/hacs_repository_data.py b/custom_components/hacs/api/hacs_repository_data.py
index 91fd3f6c..3052e72d 100644
--- a/custom_components/hacs/api/hacs_repository_data.py
+++ b/custom_components/hacs/api/hacs_repository_data.py
@@ -14,6 +14,8 @@
)
from custom_components.hacs.share import get_hacs
+_LOGGER = getLogger()
+
@websocket_api.async_response
@websocket_api.websocket_command(
@@ -27,7 +29,6 @@
async def hacs_repository_data(hass, connection, msg):
"""Handle get media player cover command."""
hacs = get_hacs()
- logger = getLogger("api.repository_data")
repo_id = msg.get("repository")
action = msg.get("action")
data = msg.get("data")
@@ -77,7 +78,7 @@ async def hacs_repository_data(hass, connection, msg):
hass.bus.async_fire("hacs/repository", {})
return
- logger.debug(f"Running {action} for {repository.data.full_name}")
+ _LOGGER.debug("Running %s for %s", action, repository.data.full_name)
try:
if action == "set_state":
repository.state = data
@@ -102,7 +103,7 @@ async def hacs_repository_data(hass, connection, msg):
else:
repository.state = None
- logger.error(f"WS action '{action}' is not valid")
+ _LOGGER.error("WS action '%s' is not valid", action)
message = None
except AIOGitHubAPIException as exception:
@@ -113,7 +114,7 @@ async def hacs_repository_data(hass, connection, msg):
message = exception
if message is not None:
- logger.error(message)
+ _LOGGER.error(message)
hass.bus.async_fire("hacs/error", {"message": str(message)})
await hacs.data.async_write()
diff --git a/custom_components/hacs/api/hacs_settings.py b/custom_components/hacs/api/hacs_settings.py
index b3e4e8a0..fe076348 100644
--- a/custom_components/hacs/api/hacs_settings.py
+++ b/custom_components/hacs/api/hacs_settings.py
@@ -6,6 +6,8 @@
from custom_components.hacs.helpers.functions.logger import getLogger
from custom_components.hacs.share import get_hacs
+_LOGGER = getLogger()
+
@websocket_api.async_response
@websocket_api.websocket_command(
@@ -18,10 +20,9 @@
async def hacs_settings(hass, connection, msg):
"""Handle get media player cover command."""
hacs = get_hacs()
- logger = getLogger("api.settings")
action = msg["action"]
- logger.debug(f"WS action '{action}'")
+ _LOGGER.debug("WS action '%s'", action)
if action == "set_fe_grid":
hacs.configuration.frontend_mode = "Grid"
@@ -41,10 +42,13 @@ async def hacs_settings(hass, connection, msg):
elif action == "clear_new":
for repo in hacs.repositories:
if repo.data.new and repo.data.category in msg.get("categories", []):
- logger.debug(f"Clearing new flag from '{repo.data.full_name}'")
+ _LOGGER.debug(
+ "Clearing new flag from '%s'",
+ repo.data.full_name,
+ )
repo.data.new = False
else:
- logger.error(f"WS action '{action}' is not valid")
+ _LOGGER.error("WS action '%s' is not valid", action)
hass.bus.async_fire("hacs/config", {})
await hacs.data.async_write()
connection.send_message(websocket_api.result_message(msg["id"], {}))
diff --git a/custom_components/hacs/base.py b/custom_components/hacs/base.py
new file mode 100644
index 00000000..027cc504
--- /dev/null
+++ b/custom_components/hacs/base.py
@@ -0,0 +1,108 @@
+"""Base HACS class."""
+import logging
+from typing import List, Optional
+import attr
+
+from aiogithubapi.github import AIOGitHubAPI
+from aiogithubapi.objects.repository import AIOGitHubAPIRepository
+from homeassistant.core import HomeAssistant
+
+from .enums import HacsStage
+from .helpers.functions.logger import getLogger
+from .models.core import HacsCore
+from .models.frontend import HacsFrontend
+from .models.system import HacsSystem
+
+
+class HacsCommon:
+ """Common for HACS."""
+
+ categories: List = []
+ default: List = []
+ installed: List = []
+ skip: List = []
+
+
+class HacsStatus:
+ """HacsStatus."""
+
+ startup: bool = True
+ new: bool = False
+ background_task: bool = False
+ reloading_data: bool = False
+ upgrading_all: bool = False
+
+
+@attr.s
+class HacsBaseAttributes:
+ """Base HACS class."""
+
+ _default: Optional[AIOGitHubAPIRepository]
+ _github: Optional[AIOGitHubAPI]
+ _hass: Optional[HomeAssistant]
+ _repository: Optional[AIOGitHubAPIRepository]
+ _stage: HacsStage = HacsStage.SETUP
+ _common: Optional[HacsCommon]
+
+ core: HacsCore = attr.ib(HacsCore)
+ common: HacsCommon = attr.ib(HacsCommon)
+ status: HacsStatus = attr.ib(HacsStatus)
+ frontend: HacsFrontend = attr.ib(HacsFrontend)
+ log: logging.Logger = getLogger()
+ system: HacsSystem = attr.ib(HacsSystem)
+ repositories: List = []
+
+
+@attr.s
+class HacsBase(HacsBaseAttributes):
+ """Base HACS class."""
+
+ @property
+ def stage(self) -> HacsStage:
+ """Returns a HacsStage object."""
+ return self._stage
+
+ @stage.setter
+ def stage(self, value: HacsStage) -> None:
+ """Set the value for the stage property."""
+ self._stage = value
+
+ @property
+ def github(self) -> Optional[AIOGitHubAPI]:
+ """Returns a AIOGitHubAPI object."""
+ return self._github
+
+ @github.setter
+ def github(self, value: AIOGitHubAPI) -> None:
+ """Set the value for the github property."""
+ self._github = value
+
+ @property
+ def repository(self) -> Optional[AIOGitHubAPIRepository]:
+ """Returns a AIOGitHubAPIRepository object representing hacs/integration."""
+ return self._repository
+
+ @repository.setter
+ def repository(self, value: AIOGitHubAPIRepository) -> None:
+ """Set the value for the repository property."""
+ self._repository = value
+
+ @property
+ def default(self) -> Optional[AIOGitHubAPIRepository]:
+ """Returns a AIOGitHubAPIRepository object representing hacs/default."""
+ return self._default
+
+ @default.setter
+ def default(self, value: AIOGitHubAPIRepository) -> None:
+ """Set the value for the default property."""
+ self._default = value
+
+ @property
+ def hass(self) -> Optional[HomeAssistant]:
+ """Returns a HomeAssistant object."""
+ return self._hass
+
+ @hass.setter
+ def hass(self, value: HomeAssistant) -> None:
+ """Set the value for the default property."""
+ self._hass = value
diff --git a/custom_components/hacs/config_flow.py b/custom_components/hacs/config_flow.py
index 457b1c90..0a0c5efb 100644
--- a/custom_components/hacs/config_flow.py
+++ b/custom_components/hacs/config_flow.py
@@ -1,22 +1,25 @@
"""Adds config flow for HACS."""
import voluptuous as vol
-from aiogithubapi import AIOGitHubAPIAuthenticationException, AIOGitHubAPIException
+from aiogithubapi import (
+ AIOGitHubAPIAuthenticationException,
+ AIOGitHubAPIException,
+ GitHubDevice,
+)
+from aiogithubapi.common.const import OAUTH_USER_LOGIN
from homeassistant import config_entries
from homeassistant.core import callback
from homeassistant.helpers import aiohttp_client
from custom_components.hacs.const import DOMAIN
from custom_components.hacs.helpers.functions.configuration_schema import (
- hacs_base_config_schema,
hacs_config_option_schema,
)
-from custom_components.hacs.helpers.functions.information import get_repository
-
-# pylint: disable=dangerous-default-value
from custom_components.hacs.helpers.functions.logger import getLogger
from custom_components.hacs.share import get_hacs
-_LOGGER = getLogger(__name__)
+from .base import HacsBase
+
+_LOGGER = getLogger()
class HacsFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
@@ -28,8 +31,25 @@ class HacsFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
def __init__(self):
"""Initialize."""
self._errors = {}
+ self.device = None
+
+ async def async_step_device(self, user_input):
+ """Handle device steps"""
+ ## Vaiting for token
+ try:
+ activation = await self.device.async_device_activation()
+ return self.async_create_entry(
+ title="", data={"token": activation.access_token}
+ )
+ except (
+ AIOGitHubAPIException,
+ AIOGitHubAPIAuthenticationException,
+ ) as exception:
+ _LOGGER.error(exception)
+ self._errors["base"] = "auth"
+ return await self._show_config_form(user_input)
- async def async_step_user(self, user_input={}):
+ async def async_step_user(self, user_input):
"""Handle a flow initialized by the user."""
self._errors = {}
if self._async_current_entries():
@@ -37,20 +57,57 @@ async def async_step_user(self, user_input={}):
if self.hass.data.get(DOMAIN):
return self.async_abort(reason="single_instance_allowed")
- if user_input is not None:
- if await self._test_token(user_input["token"]):
- return self.async_create_entry(title="", data=user_input)
+ if user_input:
+ if [x for x in user_input if not user_input[x]]:
+ self._errors["base"] = "acc"
+ return await self._show_config_form(user_input)
- self._errors["base"] = "auth"
- return await self._show_config_form(user_input)
+ ## Get device key
+ if not self.device:
+ return await self._show_device_form()
+ ## Initial form
return await self._show_config_form(user_input)
+ async def _show_device_form(self):
+ """Device flow"""
+ self.device = GitHubDevice(
+ "395a8e669c5de9f7c6e8",
+ session=aiohttp_client.async_get_clientsession(self.hass),
+ )
+ device_data = await self.device.async_register_device()
+
+ return self.async_show_form(
+ step_id="device",
+ errors=self._errors,
+ description_placeholders={
+ "url": OAUTH_USER_LOGIN,
+ "code": device_data.user_code,
+ },
+ )
+
async def _show_config_form(self, user_input):
"""Show the configuration form to edit location data."""
+ if not user_input:
+ user_input = {}
return self.async_show_form(
step_id="user",
- data_schema=vol.Schema(hacs_base_config_schema(user_input)),
+ data_schema=vol.Schema(
+ {
+ vol.Required(
+ "acc_logs", default=user_input.get("acc_logs", False)
+ ): bool,
+ vol.Required(
+ "acc_addons", default=user_input.get("acc_addons", False)
+ ): bool,
+ vol.Required(
+ "acc_untested", default=user_input.get("acc_untested", False)
+ ): bool,
+ vol.Required(
+ "acc_disable", default=user_input.get("acc_disable", False)
+ ): bool,
+ }
+ ),
errors=self._errors,
)
@@ -59,19 +116,6 @@ async def _show_config_form(self, user_input):
def async_get_options_flow(config_entry):
return HacsOptionsFlowHandler(config_entry)
- async def _test_token(self, token):
- """Return true if token is valid."""
- try:
- session = aiohttp_client.async_get_clientsession(self.hass)
- await get_repository(session, token, "hacs/org")
- return True
- except (
- AIOGitHubAPIException,
- AIOGitHubAPIAuthenticationException,
- ) as exception:
- _LOGGER.error(exception)
- return False
-
class HacsOptionsFlowHandler(config_entries.OptionsFlow):
"""HACS config flow options handler."""
@@ -86,7 +130,7 @@ async def async_step_init(self, _user_input=None):
async def async_step_user(self, user_input=None):
"""Handle a flow initialized by the user."""
- hacs = get_hacs()
+ hacs: HacsBase = get_hacs()
if user_input is not None:
return self.async_create_entry(title="", data=user_input)
diff --git a/custom_components/hacs/const.py b/custom_components/hacs/const.py
index 102df12f..c7411dae 100644
--- a/custom_components/hacs/const.py
+++ b/custom_components/hacs/const.py
@@ -1,7 +1,7 @@
"""Constants for HACS"""
NAME_LONG = "HACS (Home Assistant Community Store)"
NAME_SHORT = "HACS"
-VERSION = "1.6.2"
+VERSION = "1.8.0"
DOMAIN = "hacs"
PROJECT_URL = "https://github.com/hacs/integration/"
CUSTOM_UPDATER_LOCATIONS = [
@@ -14,6 +14,8 @@
ELEMENT_TYPES = ["integration", "plugin"]
+PACKAGE_NAME = "custom_components.hacs"
+
IFRAME = {
"title": "HACS",
"icon": "hacs:hacs",
diff --git a/custom_components/hacs/hacsbase/configuration.py b/custom_components/hacs/hacsbase/configuration.py
index 5086bded..825582bb 100644
--- a/custom_components/hacs/hacsbase/configuration.py
+++ b/custom_components/hacs/hacsbase/configuration.py
@@ -4,6 +4,8 @@
from custom_components.hacs.helpers.classes.exceptions import HacsException
from custom_components.hacs.helpers.functions.logger import getLogger
+_LOGGER = getLogger()
+
@attr.s(auto_attribs=True)
class Configuration:
@@ -45,12 +47,11 @@ def to_json(self) -> dict:
def print(self) -> None:
"""Print the current configuration to the log."""
- logger = getLogger("configuration")
config = self.to_json()
for key in config:
if key in ["config", "config_entry", "options", "token"]:
continue
- logger.debug(f"{key}: {config[key]}")
+ _LOGGER.debug("%s: %s", key, config[key])
@staticmethod
def from_dict(configuration: dict, options: dict = None) -> None:
diff --git a/custom_components/hacs/hacsbase/data.py b/custom_components/hacs/hacsbase/data.py
index 8a292042..e1f62a14 100644
--- a/custom_components/hacs/hacsbase/data.py
+++ b/custom_components/hacs/hacsbase/data.py
@@ -1,4 +1,5 @@
"""Data handler for HACS."""
+import os
from queueman import QueueManager
from custom_components.hacs.const import VERSION
@@ -10,6 +11,7 @@
from custom_components.hacs.helpers.functions.store import (
async_load_from_store,
async_save_to_store,
+ get_store_for_key,
)
from custom_components.hacs.share import get_hacs
@@ -19,7 +21,7 @@ class HacsData:
def __init__(self):
"""Initialize."""
- self.logger = getLogger("data")
+ self.logger = getLogger()
self.hacs = get_hacs()
self.queue = QueueManager()
self.content = {}
@@ -47,7 +49,12 @@ async def async_write(self):
for repository in self.hacs.repositories or []:
self.queue.add(self.async_store_repository_data(repository))
- await self.queue.execute()
+ if not self.queue.has_pending_tasks:
+ self.logger.debug("Nothing in the queue")
+ elif self.queue.running:
+ self.logger.debug("Queue is already running")
+ else:
+ await self.queue.execute()
await async_save_to_store(self.hacs.hass, "repositories", self.content)
self.hacs.hass.bus.async_fire("hacs/repository", {})
self.hacs.hass.bus.fire("hacs/config", {})
@@ -104,10 +111,25 @@ async def restore(self):
self.hacs.configuration.frontend_compact = hacs.get("compact", False)
self.hacs.configuration.onboarding_done = hacs.get("onboarding_done", False)
+ # Repositories
+ stores = {}
+ for entry in repositories or []:
+ stores[entry] = get_store_for_key(self.hacs.hass, f"hacs/{entry}.hacs")
+
+ stores_exist = {}
+
+ def _populate_stores():
+ for entry in repositories or []:
+ stores_exist[entry] = os.path.exists(stores[entry].path)
+
+ await self.hacs.hass.async_add_executor_job(_populate_stores)
+
# Repositories
for entry in repositories or []:
self.queue.add(
- self.async_restore_repository(entry, repositories[entry])
+ self.async_restore_repository(
+ entry, repositories[entry], stores[entry], stores_exist[entry]
+ )
)
await self.queue.execute()
@@ -118,7 +140,9 @@ async def restore(self):
return False
return True
- async def async_restore_repository(self, entry, repository_data):
+ async def async_restore_repository(
+ self, entry, repository_data, store, store_exists
+ ):
if not self.hacs.is_known(entry):
await register_repository(
repository_data["full_name"], repository_data["category"], False
@@ -168,7 +192,7 @@ async def async_restore_repository(self, entry, repository_data):
repository.data.installed_version = VERSION
repository.data.installed = True
- restored = await async_load_from_store(self.hacs.hass, f"hacs/{entry}.hacs")
+ restored = store_exists and await store.async_load() or {}
if restored:
repository.data.update_data(restored)
diff --git a/custom_components/hacs/hacsbase/hacs.py b/custom_components/hacs/hacsbase/hacs.py
index 728d51c8..ba06d62b 100644
--- a/custom_components/hacs/hacsbase/hacs.py
+++ b/custom_components/hacs/hacsbase/hacs.py
@@ -33,7 +33,7 @@
)
from ..enums import HacsCategory, HacsStage
-from ..models.base import Hacs as HacsBase
+from ..base import HacsBase
class HacsStatus:
@@ -167,7 +167,6 @@ async def startup_tasks(self, _event=None):
self.status.background_task = False
self.hass.bus.async_fire("hacs/status", {})
await self.async_set_stage(HacsStage.RUNNING)
- await self.data.async_write()
async def handle_critical_repositories_startup(self):
"""Handled critical repositories during startup."""
diff --git a/custom_components/hacs/helpers/classes/frontend_view.py b/custom_components/hacs/helpers/classes/frontend_view.py
index 9815f218..391e4263 100644
--- a/custom_components/hacs/helpers/classes/frontend_view.py
+++ b/custom_components/hacs/helpers/classes/frontend_view.py
@@ -7,7 +7,9 @@
from custom_components.hacs.webresponses.frontend import async_serve_frontend
from custom_components.hacs.webresponses.iconset import serve_iconset
-IGNORE = ["class-map.js.map"]
+IGNORE = []
+
+_LOGGER = getLogger()
class HacsFrontend(HomeAssistantView):
@@ -19,21 +21,20 @@ class HacsFrontend(HomeAssistantView):
async def get(self, request, requested_file): # pylint: disable=unused-argument
"""Handle HACS Web requests."""
- return await get_file_response(requested_file)
+ return await get_file_response(request, requested_file)
-async def get_file_response(requested_file):
+async def get_file_response(request, requested_file):
"""Get file."""
- logger = getLogger("web")
if requested_file in IGNORE:
- logger.debug(f"Ignoring request for {requested_file}")
+ _LOGGER.debug("Ignoring request for %s", requested_file)
return web.Response(status=200)
- if requested_file.startswith("frontend-"):
- return await async_serve_frontend()
+ elif requested_file.startswith("frontend/"):
+ return await async_serve_frontend(requested_file)
elif requested_file == "iconset.js":
return serve_iconset()
- return await async_serve_category_file(requested_file)
+ return await async_serve_category_file(request, requested_file)
diff --git a/custom_components/hacs/helpers/classes/removed.py b/custom_components/hacs/helpers/classes/removed.py
index c8a45bad..fb5b9b9c 100644
--- a/custom_components/hacs/helpers/classes/removed.py
+++ b/custom_components/hacs/helpers/classes/removed.py
@@ -18,4 +18,4 @@ def update_data(self, data: dict):
def to_json(self):
"""Return a JSON representation of the data."""
- return self.__dict__
+ return attr.asdict(self)
diff --git a/custom_components/hacs/helpers/classes/repository.py b/custom_components/hacs/helpers/classes/repository.py
index de89bcf3..b00c1f25 100644
--- a/custom_components/hacs/helpers/classes/repository.py
+++ b/custom_components/hacs/helpers/classes/repository.py
@@ -1,5 +1,6 @@
"""Repository."""
-# pylint: disable=broad-except, bad-continuation, no-member
+# pylint: disable=broad-except, no-member
+from custom_components.hacs.helpers.functions.logger import getLogger
import json
import os
import tempfile
@@ -129,6 +130,11 @@ def __init__(self):
self.tree = []
self.treefiles = []
self.ref = None
+ self.logger = getLogger()
+
+ def __str__(self) -> str:
+ """Return a string representation of the repository."""
+ return f"<{self.data.category.title()} {self.data.full_name}>"
@property
def display_name(self):
@@ -235,7 +241,7 @@ async def common_registration(self):
async def common_update(self, ignore_issues=False):
"""Common information update steps of the repository."""
- self.logger.debug("Getting repository information")
+ self.logger.debug("%s Getting repository information", self)
# Attach repository
await common_update_data(self, ignore_issues)
@@ -260,7 +266,9 @@ async def download_zip_files(self, validate):
contents = False
for release in self.releases.objects:
- self.logger.info(f"ref: {self.ref} --- tag: {release.tag_name}.")
+ self.logger.info(
+ "%s ref: %s --- tag: %s.", self, self.ref, release.tag_name
+ )
if release.tag_name == self.ref.split("/")[1]:
contents = release.assets
@@ -272,7 +280,7 @@ async def download_zip_files(self, validate):
await download_queue.execute()
except (Exception, BaseException):
- validate.errors.append(f"Download was not completed")
+ validate.errors.append("Download was not completed")
return validate
@@ -294,11 +302,11 @@ async def async_download_zip_file(self, content, validate):
zip_file.extractall(self.content.path.local)
if result:
- self.logger.info(f"Download of {content.name} completed")
+ self.logger.info("%s Download of %s completed", self, content.name)
return
validate.errors.append(f"[{content.name}] was not downloaded")
except (Exception, BaseException):
- validate.errors.append(f"Download was not completed")
+ validate.errors.append("Download was not completed")
return validate
@@ -318,7 +326,7 @@ async def get_repository_manifest_content(self):
)
return
if self.hacs.system.action:
- self.logger.info("Found hacs.json")
+ self.logger.info("%s Found hacs.json", self)
self.ref = version_to_install(self)
@@ -334,11 +342,11 @@ async def get_repository_manifest_content(self):
f"::error:: hacs.json file is not valid ({exception})."
) from None
if self.hacs.system.action:
- self.logger.info("hacs.json is valid")
+ self.logger.info("%s hacs.json is valid", self)
def remove(self):
"""Run remove tasks."""
- self.logger.info("Starting removal")
+ self.logger.info("%s Starting removal", self)
if self.data.id in self.hacs.common.installed:
self.hacs.common.installed.remove(self.data.id)
@@ -348,7 +356,7 @@ def remove(self):
async def uninstall(self):
"""Run uninstall tasks."""
- self.logger.info("Uninstalling")
+ self.logger.info("%s Uninstalling", self)
if not await self.remove_local_directory():
raise HacsException("Could not uninstall")
self.data.installed = False
@@ -386,15 +394,15 @@ async def remove_local_directory(self):
local_path = f"{self.content.path.local}/{self.data.name}.py"
elif self.data.category == "theme":
if os.path.exists(
- f"{self.hacs.system.config_path}/{self.hacs.configuration.theme_path}/{self.data.name}.yaml"
+ f"{self.hacs.core.config_path}/{self.hacs.configuration.theme_path}/{self.data.name}.yaml"
):
os.remove(
- f"{self.hacs.system.config_path}/{self.hacs.configuration.theme_path}/{self.data.name}.yaml"
+ f"{self.hacs.core.config_path}/{self.hacs.configuration.theme_path}/{self.data.name}.yaml"
)
local_path = self.content.path.local
elif self.data.category == "integration":
if not self.data.domain:
- self.logger.error("Missing domain")
+ self.logger.error("%s Missing domain", self)
return False
local_path = self.content.path.local
else:
@@ -402,9 +410,11 @@ async def remove_local_directory(self):
if os.path.exists(local_path):
if not is_safe_to_remove(local_path):
- self.logger.error(f"Path {local_path} is blocked from removal")
+ self.logger.error(
+ "%s Path %s is blocked from removal", self, local_path
+ )
return False
- self.logger.debug(f"Removing {local_path}")
+ self.logger.debug("%s Removing %s", self, local_path)
if self.data.category in ["python_script"]:
os.remove(local_path)
@@ -415,10 +425,12 @@ async def remove_local_directory(self):
await sleep(1)
else:
self.logger.debug(
- f"Presumed local content path {local_path} does not exist"
+ "%s Presumed local content path %s does not exist", self, local_path
)
except (Exception, BaseException) as exception:
- self.logger.debug(f"Removing {local_path} failed with {exception}")
+ self.logger.debug(
+ "%s Removing %s failed with %s", self, local_path, exception
+ )
return False
return True
diff --git a/custom_components/hacs/helpers/classes/repositorydata.py b/custom_components/hacs/helpers/classes/repositorydata.py
index bf848e89..6741bc62 100644
--- a/custom_components/hacs/helpers/classes/repositorydata.py
+++ b/custom_components/hacs/helpers/classes/repositorydata.py
@@ -65,7 +65,7 @@ def name(self):
def to_json(self):
"""Export to json."""
- return self.__dict__
+ return attr.asdict(self)
@staticmethod
def create_from_dict(source: dict):
diff --git a/custom_components/hacs/helpers/functions/constrains.py b/custom_components/hacs/helpers/functions/constrains.py
index 8d3db415..ebef8ab1 100644
--- a/custom_components/hacs/helpers/functions/constrains.py
+++ b/custom_components/hacs/helpers/functions/constrains.py
@@ -25,10 +25,8 @@ def constrain_custom_updater():
"""Check if custom_updater exist."""
hacs = get_hacs()
for location in CUSTOM_UPDATER_LOCATIONS:
- if os.path.exists(location.format(hacs.system.config_path)):
- msg = CUSTOM_UPDATER_WARNING.format(
- location.format(hacs.system.config_path)
- )
+ if os.path.exists(location.format(hacs.core.config_path)):
+ msg = CUSTOM_UPDATER_WARNING.format(location.format(hacs.core.config_path))
hacs.log.critical(msg)
return False
return True
diff --git a/custom_components/hacs/helpers/functions/download.py b/custom_components/hacs/helpers/functions/download.py
index 79d328ad..18851bfb 100644
--- a/custom_components/hacs/helpers/functions/download.py
+++ b/custom_components/hacs/helpers/functions/download.py
@@ -16,6 +16,8 @@
from custom_components.hacs.helpers.functions.save import async_save_file
from custom_components.hacs.share import get_hacs
+_LOGGER = getLogger()
+
class FileInformation:
def __init__(self, url, path, name):
@@ -28,14 +30,13 @@ def __init__(self, url, path, name):
async def async_download_file(url):
"""Download files, and return the content."""
hacs = get_hacs()
- logger = getLogger("async_download_file")
if url is None:
return
if "tags/" in url:
url = url.replace("tags/", "")
- logger.debug(f"Downloading {url}")
+ _LOGGER.debug("Downloading %s", url)
result = None
diff --git a/custom_components/hacs/helpers/functions/information.py b/custom_components/hacs/helpers/functions/information.py
index 1b3e12d0..7fb21d3f 100644
--- a/custom_components/hacs/helpers/functions/information.py
+++ b/custom_components/hacs/helpers/functions/information.py
@@ -82,7 +82,7 @@ def read_hacs_manifest():
hacs = get_hacs()
content = {}
with open(
- f"{hacs.system.config_path}/custom_components/hacs/manifest.json"
+ f"{hacs.core.config_path}/custom_components/hacs/manifest.json"
) as manifest:
content = json.loads(manifest.read())
return content
diff --git a/custom_components/hacs/helpers/functions/is_safe_to_remove.py b/custom_components/hacs/helpers/functions/is_safe_to_remove.py
index c4618bae..4de39662 100644
--- a/custom_components/hacs/helpers/functions/is_safe_to_remove.py
+++ b/custom_components/hacs/helpers/functions/is_safe_to_remove.py
@@ -8,12 +8,12 @@ def is_safe_to_remove(path: str) -> bool:
"""Helper to check if path is safe to remove."""
hacs = get_hacs()
paths = [
- Path(f"{hacs.system.config_path}/{hacs.configuration.appdaemon_path}"),
- Path(f"{hacs.system.config_path}/{hacs.configuration.netdaemon_path}"),
- Path(f"{hacs.system.config_path}/{hacs.configuration.plugin_path}"),
- Path(f"{hacs.system.config_path}/{hacs.configuration.python_script_path}"),
- Path(f"{hacs.system.config_path}/{hacs.configuration.theme_path}"),
- Path(f"{hacs.system.config_path}/custom_components/"),
+ Path(f"{hacs.core.config_path}/{hacs.configuration.appdaemon_path}"),
+ Path(f"{hacs.core.config_path}/{hacs.configuration.netdaemon_path}"),
+ Path(f"{hacs.core.config_path}/{hacs.configuration.plugin_path}"),
+ Path(f"{hacs.core.config_path}/{hacs.configuration.python_script_path}"),
+ Path(f"{hacs.core.config_path}/{hacs.configuration.theme_path}"),
+ Path(f"{hacs.core.config_path}/custom_components/"),
]
if Path(path) in paths:
return False
diff --git a/custom_components/hacs/helpers/functions/logger.py b/custom_components/hacs/helpers/functions/logger.py
index ef201b2f..900bc916 100644
--- a/custom_components/hacs/helpers/functions/logger.py
+++ b/custom_components/hacs/helpers/functions/logger.py
@@ -1,18 +1,19 @@
"""Custom logger for HACS."""
+# pylint: disable=invalid-name
import logging
import os
+from ...const import PACKAGE_NAME
-def getLogger(name=None):
- if name is not None:
- name = name.replace("/", ".")
+_HACSLogger: logging.Logger = logging.getLogger(PACKAGE_NAME)
- if "GITHUB_ACTION" in os.environ:
- logging.basicConfig(
- format="::%(levelname)s:: %(message)s",
- level="DEBUG",
- )
-
- return logging.getLogger(
- f"custom_components.hacs{'.' + name if name is not None else ''}"
+if "GITHUB_ACTION" in os.environ:
+ logging.basicConfig(
+ format="::%(levelname)s:: %(message)s",
+ level="DEBUG",
)
+
+
+def getLogger(_name: str = None) -> logging.Logger:
+ """Return a Logger instance."""
+ return _HACSLogger
diff --git a/custom_components/hacs/helpers/functions/misc.py b/custom_components/hacs/helpers/functions/misc.py
index 85ff848f..83bd56cd 100644
--- a/custom_components/hacs/helpers/functions/misc.py
+++ b/custom_components/hacs/helpers/functions/misc.py
@@ -1,6 +1,7 @@
"""Helper functions: misc"""
import re
import semantic_version
+from functools import lru_cache
RE_REPOSITORY = re.compile(
r"(?:(?:.*github.com.)|^)([A-Za-z0-9-]+\/[\w.-]+?)(?:(?:\.git)?|(?:[^\w.-].*)?)$"
@@ -26,6 +27,7 @@ def get_repository_name(repository) -> str:
)
+@lru_cache(maxsize=1024)
def version_left_higher_then_right(new: str, old: str) -> bool:
"""Return a bool if source is newer than target, will also be true if identical."""
if not isinstance(new, str) or not isinstance(old, str):
diff --git a/custom_components/hacs/helpers/functions/register_repository.py b/custom_components/hacs/helpers/functions/register_repository.py
index a058f4bd..2fad499a 100644
--- a/custom_components/hacs/helpers/functions/register_repository.py
+++ b/custom_components/hacs/helpers/functions/register_repository.py
@@ -7,14 +7,13 @@
)
from custom_components.hacs.share import get_hacs
+from ...repositories import RERPOSITORY_CLASSES
+
# @concurrent(15, 5)
async def register_repository(full_name, category, check=True, ref=None):
"""Register a repository."""
hacs = get_hacs()
- from custom_components.hacs.repositories import (
- RERPOSITORY_CLASSES,
- ) # To handle import error
if full_name in hacs.common.skip:
if full_name != "hacs/integration":
@@ -32,14 +31,14 @@ async def register_repository(full_name, category, check=True, ref=None):
if repository.validate.errors:
hacs.common.skip.append(repository.data.full_name)
if not hacs.status.startup:
- hacs.log.error(f"Validation for {full_name} failed.")
+ hacs.log.error("Validation for %s failed.", full_name)
if hacs.system.action:
raise HacsException(f"::error:: Validation for {full_name} failed.")
return repository.validate.errors
if hacs.system.action:
- repository.logger.info("Validation completed")
+ repository.logger.info("%s Validation completed", repository)
else:
- repository.logger.info("Registration completed")
+ repository.logger.info("%s Registration completed", repository)
except AIOGitHubAPIException as exception:
hacs.common.skip.append(repository.data.full_name)
raise HacsException(
diff --git a/custom_components/hacs/helpers/functions/remaining_github_calls.py b/custom_components/hacs/helpers/functions/remaining_github_calls.py
index 6a9f4c17..27a0afe7 100644
--- a/custom_components/hacs/helpers/functions/remaining_github_calls.py
+++ b/custom_components/hacs/helpers/functions/remaining_github_calls.py
@@ -3,14 +3,15 @@
from custom_components.hacs.helpers.functions.logger import getLogger
+_LOGGER = getLogger()
+
async def remaining(github):
"""Helper to calculate the remaining calls to github."""
- logger = getLogger("custom_components.hacs.remaining_github_calls")
try:
ratelimits = await github.get_rate_limit()
except (BaseException, Exception) as exception: # pylint: disable=broad-except
- logger.error(exception)
+ _LOGGER.error(exception)
return None
if ratelimits.get("remaining") is not None:
return int(ratelimits["remaining"])
@@ -19,9 +20,9 @@ async def remaining(github):
async def get_fetch_updates_for(github):
"""Helper to calculate the number of repositories we can fetch data for."""
- margin = 100
+ margin = 1000
limit = await remaining(github)
- pr_repo = 10
+ pr_repo = 15
if limit is None:
return None
diff --git a/custom_components/hacs/helpers/functions/save.py b/custom_components/hacs/helpers/functions/save.py
index 989081ed..05a6e03f 100644
--- a/custom_components/hacs/helpers/functions/save.py
+++ b/custom_components/hacs/helpers/functions/save.py
@@ -7,11 +7,12 @@
from custom_components.hacs.helpers.functions.logger import getLogger
+_LOGGER = getLogger()
+
async def async_save_file(location, content):
"""Save files."""
- logger = getLogger("download.save")
- logger.debug(f"Saving {location}")
+ _LOGGER.debug("Saving %s", location)
mode = "w"
encoding = "utf-8"
errors = "ignore"
@@ -41,12 +42,11 @@ async def async_save_file(location, content):
base = location.split("/themes/")[0]
combined = f"{base}/themes/{filename}"
if os.path.exists(combined):
- logger.info(f"Removing old theme file {combined}")
+ _LOGGER.info("Removing old theme file %s", combined)
os.remove(combined)
except (Exception, BaseException) as error: # pylint: disable=broad-except
- msg = f"Could not write data to {location} - {error}"
- logger.error(msg)
+ _LOGGER.error("Could not write data to %s - %s", location, error)
return False
return os.path.exists(location)
diff --git a/custom_components/hacs/helpers/functions/store.py b/custom_components/hacs/helpers/functions/store.py
index 2645fb01..6ecdfa26 100644
--- a/custom_components/hacs/helpers/functions/store.py
+++ b/custom_components/hacs/helpers/functions/store.py
@@ -5,12 +5,17 @@
from custom_components.hacs.const import VERSION_STORAGE
-async def async_load_from_store(hass, key):
- """Load the retained data from store and return de-serialized data."""
+def get_store_for_key(hass, key):
+ """Create a Store object for the key."""
+ key = key if "/" in key else f"hacs.{key}"
from homeassistant.helpers.storage import Store
- key = key if "/" in key else f"hacs.{key}"
- store = Store(hass, VERSION_STORAGE, key, encoder=JSONEncoder)
+ return Store(hass, VERSION_STORAGE, key, encoder=JSONEncoder)
+
+
+async def async_load_from_store(hass, key):
+ """Load the retained data from store and return de-serialized data."""
+ store = get_store_for_key(hass, key)
restored = await store.async_load()
if restored is None:
return {}
@@ -19,18 +24,11 @@ async def async_load_from_store(hass, key):
async def async_save_to_store(hass, key, data):
"""Generate dynamic data to store and save it to the filesystem."""
- from homeassistant.helpers.storage import Store
-
- key = key if "/" in key else f"hacs.{key}"
- store = Store(hass, VERSION_STORAGE, key, encoder=JSONEncoder)
- await store.async_save(data)
+ await get_store_for_key(hass, key).async_save(data)
async def async_remove_store(hass, key):
"""Remove a store element that should no longer be used"""
- from homeassistant.helpers.storage import Store
-
if "/" not in key:
return
- store = Store(hass, VERSION_STORAGE, key, encoder=JSONEncoder)
- await store.async_remove()
+ await get_store_for_key(hass, key).async_remove()
diff --git a/custom_components/hacs/helpers/functions/template.py b/custom_components/hacs/helpers/functions/template.py
index efeab859..4f59840f 100644
--- a/custom_components/hacs/helpers/functions/template.py
+++ b/custom_components/hacs/helpers/functions/template.py
@@ -4,7 +4,7 @@
from custom_components.hacs.helpers.functions.logger import getLogger
-logger = getLogger("template")
+_LOGGER = getLogger()
def render_template(content, context):
@@ -28,5 +28,5 @@ def render_template(content, context):
)
return render
except (Exception, BaseException) as exception:
- logger.debug(exception)
+ _LOGGER.debug(exception)
return content
diff --git a/custom_components/hacs/helpers/functions/validate_repository.py b/custom_components/hacs/helpers/functions/validate_repository.py
index 14eff640..57e4381f 100644
--- a/custom_components/hacs/helpers/functions/validate_repository.py
+++ b/custom_components/hacs/helpers/functions/validate_repository.py
@@ -18,7 +18,7 @@ async def common_validate(repository, ignore_issues=False):
repository.validate.errors = []
# Make sure the repository exist.
- repository.logger.debug("Checking repository.")
+ repository.logger.debug("%s Checking repository.", repository)
await common_update_data(repository, ignore_issues)
# Step 6: Get the content of hacs.json
@@ -37,9 +37,10 @@ async def common_update_data(repository, ignore_issues=False):
repository.data.update_data(repository_object.attributes)
except (AIOGitHubAPIException, HacsException) as exception:
if not hacs.status.startup:
- repository.logger.error(exception)
- repository.validate.errors.append("Repository does not exist.")
- raise HacsException(exception) from None
+ repository.logger.error("%s %s", repository, exception)
+ if not ignore_issues:
+ repository.validate.errors.append("Repository does not exist.")
+ raise HacsException(exception) from None
# Make sure the repository is not archived.
if repository.data.archived and not ignore_issues:
@@ -60,11 +61,11 @@ async def common_update_data(repository, ignore_issues=False):
)
if releases:
repository.data.releases = True
- repository.releases.objects = releases
+ repository.releases.objects = [x for x in releases if not x.draft]
repository.data.published_tags = [
- x.tag_name for x in releases if not x.draft
+ x.tag_name for x in repository.releases.objects
]
- repository.data.last_version = next(iter(releases)).tag_name
+ repository.data.last_version = next(iter(repository.data.published_tags))
except (AIOGitHubAPIException, HacsException):
repository.data.releases = False
@@ -72,7 +73,7 @@ async def common_update_data(repository, ignore_issues=False):
if not repository.force_branch:
repository.ref = version_to_install(repository)
if repository.data.releases:
- for release in releases or []:
+ for release in repository.releases.objects or []:
if release.tag_name == repository.ref:
assets = release.assets
if assets:
@@ -80,7 +81,7 @@ async def common_update_data(repository, ignore_issues=False):
repository.data.downloads = downloads
repository.logger.debug(
- f"Running checks against {repository.ref.replace('tags/', '')}"
+ "%s Running checks against %s", repository, repository.ref.replace("tags/", "")
)
try:
@@ -92,5 +93,6 @@ async def common_update_data(repository, ignore_issues=False):
repository.treefiles.append(treefile.full_path)
except (AIOGitHubAPIException, HacsException) as exception:
if not hacs.status.startup:
- repository.logger.error(exception)
- raise HacsException(exception) from None
+ repository.logger.error("%s %s", repository, exception)
+ if not ignore_issues:
+ raise HacsException(exception) from None
diff --git a/custom_components/hacs/helpers/properties/custom.py b/custom_components/hacs/helpers/properties/custom.py
index 12954de3..3cb0486c 100644
--- a/custom_components/hacs/helpers/properties/custom.py
+++ b/custom_components/hacs/helpers/properties/custom.py
@@ -6,7 +6,7 @@ class RepositoryPropertyCustom(ABC):
@property
def custom(self):
"""Return flag if the repository is custom."""
- if str(self.data.id) in [str(x) for x in self.hacs.common.default]:
+ if str(self.data.id) in self.hacs.common.default:
return False
if self.data.full_name == "hacs/integration":
return False
diff --git a/custom_components/hacs/manifest.json b/custom_components/hacs/manifest.json
index e239c1b2..700ed1f7 100644
--- a/custom_components/hacs/manifest.json
+++ b/custom_components/hacs/manifest.json
@@ -18,7 +18,7 @@
"aiofiles>=0.5.0",
"aiogithubapi>=2.0.0<3.0.0",
"backoff>=1.10.0",
- "hacs_frontend==202009091732",
+ "hacs_frontend==202012051441",
"semantic_version>=2.8.5",
"queueman==0.5"
]
diff --git a/custom_components/hacs/models/base.py b/custom_components/hacs/models/base.py
deleted file mode 100644
index 010b1ba0..00000000
--- a/custom_components/hacs/models/base.py
+++ /dev/null
@@ -1,29 +0,0 @@
-"""Base HACS class."""
-import logging
-
-import attr
-from aiogithubapi.github import AIOGitHubAPI
-from aiogithubapi.objects.repository import AIOGitHubAPIRepository
-from homeassistant.core import HomeAssistant
-
-from .core import HacsCore
-from .frontend import HacsFrontend
-from .system import HacsSystem
-from ..enums import HacsStage
-
-
-@attr.s
-class Hacs:
- """Base HACS class."""
-
- default_repository: AIOGitHubAPIRepository = None
- github: AIOGitHubAPI = None
- hass: HomeAssistant = None
- repository: AIOGitHubAPIRepository = None
-
- log: logging.Logger = logging.getLogger("custom_components.hacs")
-
- core: HacsCore = attr.ib(HacsCore)
- frontend: HacsFrontend = attr.ib(HacsFrontend)
- stage: HacsStage = HacsStage.SETUP
- system: HacsSystem = attr.ib(HacsSystem)
diff --git a/custom_components/hacs/operational/backup.py b/custom_components/hacs/operational/backup.py
index 5673dad0..f0e8bb98 100644
--- a/custom_components/hacs/operational/backup.py
+++ b/custom_components/hacs/operational/backup.py
@@ -9,13 +9,14 @@
BACKUP_PATH = tempfile.gettempdir() + "/hacs_backup/"
+_LOGGER = getLogger()
+
class Backup:
"""Backup."""
def __init__(self, local_path, backup_path=BACKUP_PATH):
"""initialize."""
- self.logger = getLogger("backup")
self.local_path = local_path
self.backup_path = backup_path
self.backup_path_full = f"{self.backup_path}{self.local_path.split('/')[-1]}"
@@ -41,8 +42,10 @@ def create(self):
shutil.rmtree(self.local_path)
while os.path.exists(self.local_path):
sleep(0.1)
- self.logger.debug(
- f"Backup for {self.local_path}, created in {self.backup_path_full}"
+ _LOGGER.debug(
+ "Backup for %s, created in %s",
+ self.local_path,
+ self.backup_path_full,
)
except (Exception, BaseException): # pylint: disable=broad-except
pass
@@ -62,8 +65,8 @@ def restore(self):
while os.path.exists(self.local_path):
sleep(0.1)
shutil.copytree(self.backup_path_full, self.local_path)
- self.logger.debug(
- f"Restored {self.local_path}, from backup {self.backup_path_full}"
+ _LOGGER.debug(
+ "Restored %s, from backup %s", self.local_path, self.backup_path_full
)
def cleanup(self):
@@ -72,7 +75,7 @@ def cleanup(self):
shutil.rmtree(self.backup_path)
while os.path.exists(self.backup_path):
sleep(0.1)
- self.logger.debug(f"Backup dir {self.backup_path} cleared")
+ _LOGGER.debug("Backup dir %s cleared", self.backup_path)
class BackupNetDaemon:
@@ -81,7 +84,6 @@ class BackupNetDaemon:
def __init__(self, repository):
"""Initialize."""
self.repository = repository
- self.logger = getLogger("backup")
self.backup_path = (
tempfile.gettempdir() + "/hacs_persistent_netdaemon/" + repository.data.name
)
@@ -119,4 +121,4 @@ def cleanup(self):
shutil.rmtree(self.backup_path)
while os.path.exists(self.backup_path):
sleep(0.1)
- self.logger.debug(f"Backup dir {self.backup_path} cleared")
+ _LOGGER.debug("Backup dir %s cleared", self.backup_path)
diff --git a/custom_components/hacs/operational/factory.py b/custom_components/hacs/operational/factory.py
index ec9b5203..06b6231c 100644
--- a/custom_components/hacs/operational/factory.py
+++ b/custom_components/hacs/operational/factory.py
@@ -11,7 +11,7 @@
max_concurrent_tasks = asyncio.Semaphore(15)
sleeper = 5
-logger = getLogger("factory")
+_LOGGER = getLogger()
class HacsTaskFactory:
@@ -24,7 +24,7 @@ async def safe_common_update(self, repository):
try:
await repository.common_update()
except (AIOGitHubAPIException, HacsException) as exception:
- logger.error("%s - %s", repository.data.full_name, exception)
+ _LOGGER.error("%s - %s", repository.data.full_name, exception)
# Due to GitHub ratelimits we need to sleep a bit
await asyncio.sleep(sleeper)
@@ -34,7 +34,7 @@ async def safe_update(self, repository):
try:
await repository.update_repository()
except (AIOGitHubAPIException, HacsException) as exception:
- logger.error("%s - %s", repository.data.full_name, exception)
+ _LOGGER.error("%s - %s", repository.data.full_name, exception)
# Due to GitHub ratelimits we need to sleep a bit
await asyncio.sleep(sleeper)
@@ -44,7 +44,7 @@ async def safe_register(self, repo, category):
try:
await register_repository(repo, category)
except (AIOGitHubAPIException, HacsException) as exception:
- logger.error("%s - %s", repo, exception)
+ _LOGGER.error("%s - %s", repo, exception)
# Due to GitHub ratelimits we need to sleep a bit
await asyncio.sleep(sleeper)
diff --git a/custom_components/hacs/operational/relaod.py b/custom_components/hacs/operational/reload.py
similarity index 100%
rename from custom_components/hacs/operational/relaod.py
rename to custom_components/hacs/operational/reload.py
diff --git a/custom_components/hacs/operational/setup.py b/custom_components/hacs/operational/setup.py
index f79fa61f..e89eaa2e 100644
--- a/custom_components/hacs/operational/setup.py
+++ b/custom_components/hacs/operational/setup.py
@@ -1,21 +1,20 @@
"""Setup HACS."""
from custom_components.hacs.enums import HacsStage
from aiogithubapi import AIOGitHubAPIException, GitHub
-from homeassistant import config_entries
from homeassistant.const import EVENT_HOMEASSISTANT_STARTED
from homeassistant.const import __version__ as HAVERSION
from homeassistant.exceptions import ConfigEntryNotReady
from homeassistant.helpers.aiohttp_client import async_create_clientsession
from homeassistant.helpers.event import async_call_later
-from custom_components.hacs.const import DOMAIN, ELEMENT_TYPES, STARTUP, VERSION
+from custom_components.hacs.const import DOMAIN, STARTUP, VERSION
from custom_components.hacs.hacsbase.configuration import Configuration
from custom_components.hacs.hacsbase.data import HacsData
from custom_components.hacs.helpers.functions.constrains import check_constrains
from custom_components.hacs.helpers.functions.remaining_github_calls import (
get_fetch_updates_for,
)
-from custom_components.hacs.operational.relaod import async_reload_entry
+from custom_components.hacs.operational.reload import async_reload_entry
from custom_components.hacs.operational.remove import async_remove_entry
from custom_components.hacs.operational.setup_actions.clear_storage import (
async_clear_storage,
@@ -48,6 +47,8 @@ async def _async_common_setup(hass):
async def async_setup_entry(hass, config_entry):
"""Set up this integration using UI."""
+ from homeassistant import config_entries
+
hacs = get_hacs()
if hass.data.get(DOMAIN) is not None:
return False
@@ -125,11 +126,15 @@ async def async_hacs_startup():
"""HACS startup tasks."""
hacs = get_hacs()
- lovelace_info = await system_health_info(hacs.hass)
+ try:
+ lovelace_info = await system_health_info(hacs.hass)
+ except TypeError:
+ # If this happens, the users YAML is not valid, we assume YAML mode
+ lovelace_info = {"mode": "yaml"}
hacs.log.debug(f"Configuration type: {hacs.configuration.config_type}")
hacs.version = VERSION
hacs.log.info(STARTUP)
- hacs.system.config_path = hacs.hass.config.path()
+ hacs.core.config_path = hacs.hass.config.path()
hacs.system.ha_version = HAVERSION
# Setup websocket API
diff --git a/custom_components/hacs/operational/setup_actions/clear_storage.py b/custom_components/hacs/operational/setup_actions/clear_storage.py
index caa330b9..3e558735 100644
--- a/custom_components/hacs/operational/setup_actions/clear_storage.py
+++ b/custom_components/hacs/operational/setup_actions/clear_storage.py
@@ -17,7 +17,7 @@ def _clear_storage():
hacs = get_hacs()
storagefiles = ["hacs"]
for s_f in storagefiles:
- path = f"{hacs.system.config_path}/.storage/{s_f}"
+ path = f"{hacs.core.config_path}/.storage/{s_f}"
if os.path.isfile(path):
hacs.log.info(f"Cleaning up old storage file {path}")
os.remove(path)
diff --git a/custom_components/hacs/operational/setup_actions/frontend.py b/custom_components/hacs/operational/setup_actions/frontend.py
index a1b607ff..f5950ed3 100644
--- a/custom_components/hacs/operational/setup_actions/frontend.py
+++ b/custom_components/hacs/operational/setup_actions/frontend.py
@@ -25,21 +25,22 @@ async def async_setup_frontend():
)
# Add to sidepanel
- custom_panel_config = {
- "name": "hacs-frontend",
- "embed_iframe": True,
- "trust_external": False,
- "js_url": f"/hacsfiles/frontend-{hacs.frontend.version_running}.js",
- }
-
- config = {}
- config["_panel_custom"] = custom_panel_config
-
- hacs.hass.components.frontend.async_register_built_in_panel(
- component_name="custom",
- sidebar_title=hacs.configuration.sidepanel_title,
- sidebar_icon=hacs.configuration.sidepanel_icon,
- frontend_url_path="hacs",
- config=config,
- require_admin=True,
- )
+ if "hacs" not in hacs.hass.data.get("frontend_panels", {}):
+ custom_panel_config = {
+ "name": "hacs-frontend",
+ "embed_iframe": True,
+ "trust_external": False,
+ "js_url": "/hacsfiles/frontend/entrypoint.js",
+ }
+
+ config = {}
+ config["_panel_custom"] = custom_panel_config
+
+ hacs.hass.components.frontend.async_register_built_in_panel(
+ component_name="custom",
+ sidebar_title=hacs.configuration.sidepanel_title,
+ sidebar_icon=hacs.configuration.sidepanel_icon,
+ frontend_url_path="hacs",
+ config=config,
+ require_admin=True,
+ )
diff --git a/custom_components/hacs/repositories/appdaemon.py b/custom_components/hacs/repositories/appdaemon.py
index 4738dec1..15639f79 100644
--- a/custom_components/hacs/repositories/appdaemon.py
+++ b/custom_components/hacs/repositories/appdaemon.py
@@ -4,7 +4,6 @@
from custom_components.hacs.helpers.classes.exceptions import HacsException
from custom_components.hacs.helpers.classes.repository import HacsRepository
from custom_components.hacs.enums import HacsCategory
-from custom_components.hacs.helpers.functions.logger import getLogger
class HacsAppdaemon(HacsRepository):
@@ -18,12 +17,11 @@ def __init__(self, full_name):
self.data.category = HacsCategory.APPDAEMON
self.content.path.local = self.localpath
self.content.path.remote = "apps"
- self.logger = getLogger(f"repository.{self.data.category}.{full_name}")
@property
def localpath(self):
"""Return localpath."""
- return f"{self.hacs.system.config_path}/appdaemon/apps/{self.data.name}"
+ return f"{self.hacs.core.config_path}/appdaemon/apps/{self.data.name}"
async def validate_repository(self):
"""Validate."""
@@ -49,7 +47,7 @@ async def validate_repository(self):
if self.validate.errors:
for error in self.validate.errors:
if not self.hacs.status.startup:
- self.logger.error(error)
+ self.logger.error("%s %s", self, error)
return self.validate.success
async def update_repository(self, ignore_issues=False):
diff --git a/custom_components/hacs/repositories/integration.py b/custom_components/hacs/repositories/integration.py
index f8024fea..d8625fff 100644
--- a/custom_components/hacs/repositories/integration.py
+++ b/custom_components/hacs/repositories/integration.py
@@ -24,12 +24,11 @@ def __init__(self, full_name):
self.data.category = HacsCategory.INTEGRATION
self.content.path.remote = "custom_components"
self.content.path.local = self.localpath
- self.logger = getLogger(f"repository.{self.data.category}.{full_name}")
@property
def localpath(self):
"""Return localpath."""
- return f"{self.hacs.system.config_path}/custom_components/{self.data.domain}"
+ return f"{self.hacs.core.config_path}/custom_components/{self.data.domain}"
async def async_post_installation(self):
"""Run post installation steps."""
@@ -61,14 +60,14 @@ async def validate_repository(self):
await get_integration_manifest(self)
except HacsException as exception:
if self.hacs.system.action:
- raise HacsException(f"::error:: {exception}")
- self.logger.error(exception)
+ raise HacsException(f"::error:: {exception}") from exception
+ self.logger.error("%s %s", self, exception)
# Handle potential errors
if self.validate.errors:
for error in self.validate.errors:
if not self.hacs.status.startup:
- self.logger.error(error)
+ self.logger.error("%s %s", self, error)
return self.validate.success
async def update_repository(self, ignore_issues=False):
@@ -85,7 +84,7 @@ async def update_repository(self, ignore_issues=False):
try:
await get_integration_manifest(self)
except HacsException as exception:
- self.logger.error(exception)
+ self.logger.error("%s %s", self, exception)
# Set local path
self.content.path.local = self.localpath
diff --git a/custom_components/hacs/repositories/netdaemon.py b/custom_components/hacs/repositories/netdaemon.py
index 2c9733e1..770add12 100644
--- a/custom_components/hacs/repositories/netdaemon.py
+++ b/custom_components/hacs/repositories/netdaemon.py
@@ -19,12 +19,11 @@ def __init__(self, full_name):
self.data.category = HacsCategory.NETDAEMON
self.content.path.local = self.localpath
self.content.path.remote = "apps"
- self.logger = getLogger(f"repository.{self.data.category}.{full_name}")
@property
def localpath(self):
"""Return localpath."""
- return f"{self.hacs.system.config_path}/netdaemon/apps/{self.data.name}"
+ return f"{self.hacs.core.config_path}/netdaemon/apps/{self.data.name}"
async def validate_repository(self):
"""Validate."""
@@ -57,7 +56,7 @@ async def validate_repository(self):
if self.validate.errors:
for error in self.validate.errors:
if not self.hacs.status.startup:
- self.logger.error(error)
+ self.logger.error("%s %s", self, error)
return self.validate.success
async def update_repository(self, ignore_issues=False):
diff --git a/custom_components/hacs/repositories/plugin.py b/custom_components/hacs/repositories/plugin.py
index d842a34a..8b961d63 100644
--- a/custom_components/hacs/repositories/plugin.py
+++ b/custom_components/hacs/repositories/plugin.py
@@ -19,12 +19,11 @@ def __init__(self, full_name):
self.data.category = "plugin"
self.information.javascript_type = None
self.content.path.local = self.localpath
- self.logger = getLogger(f"repository.{self.data.category}.{full_name}")
@property
def localpath(self):
"""Return localpath."""
- return f"{self.hacs.system.config_path}/www/community/{self.data.full_name.split('/')[-1]}"
+ return f"{self.hacs.core.config_path}/www/community/{self.data.full_name.split('/')[-1]}"
async def validate_repository(self):
"""Validate."""
@@ -46,7 +45,7 @@ async def validate_repository(self):
if self.validate.errors:
for error in self.validate.errors:
if not self.hacs.status.startup:
- self.logger.error(error)
+ self.logger.error("%s %s", self, error)
return self.validate.success
async def update_repository(self, ignore_issues=False):
diff --git a/custom_components/hacs/repositories/python_script.py b/custom_components/hacs/repositories/python_script.py
index 87a4228a..e848eb0d 100644
--- a/custom_components/hacs/repositories/python_script.py
+++ b/custom_components/hacs/repositories/python_script.py
@@ -20,12 +20,11 @@ def __init__(self, full_name):
self.content.path.remote = "python_scripts"
self.content.path.local = self.localpath
self.content.single = True
- self.logger = getLogger(f"repository.{self.data.category}.{full_name}")
@property
def localpath(self):
"""Return localpath."""
- return f"{self.hacs.system.config_path}/python_scripts"
+ return f"{self.hacs.core.config_path}/python_scripts"
async def validate_repository(self):
"""Validate."""
@@ -52,7 +51,7 @@ async def validate_repository(self):
if self.validate.errors:
for error in self.validate.errors:
if not self.hacs.status.startup:
- self.logger.error(error)
+ self.logger.error("%s %s", self, error)
return self.validate.success
async def async_post_registration(self):
diff --git a/custom_components/hacs/repositories/theme.py b/custom_components/hacs/repositories/theme.py
index a0ebd989..57094ee5 100644
--- a/custom_components/hacs/repositories/theme.py
+++ b/custom_components/hacs/repositories/theme.py
@@ -18,12 +18,11 @@ def __init__(self, full_name):
self.content.path.remote = "themes"
self.content.path.local = self.localpath
self.content.single = False
- self.logger = getLogger(f"repository.{self.data.category}.{full_name}")
@property
def localpath(self):
"""Return localpath."""
- return f"{self.hacs.system.config_path}/themes/{self.data.file_name.replace('.yaml', '')}"
+ return f"{self.hacs.core.config_path}/themes/{self.data.file_name.replace('.yaml', '')}"
async def async_post_installation(self):
"""Run post installation steps."""
@@ -55,7 +54,7 @@ async def validate_repository(self):
if self.validate.errors:
for error in self.validate.errors:
if not self.hacs.status.startup:
- self.logger.error(error)
+ self.logger.error("%s %s", self, error)
return self.validate.success
async def async_post_registration(self):
diff --git a/custom_components/hacs/sensor.py b/custom_components/hacs/sensor.py
index fc6eeb3a..482baa4b 100644
--- a/custom_components/hacs/sensor.py
+++ b/custom_components/hacs/sensor.py
@@ -2,6 +2,7 @@
from homeassistant.helpers.entity import Entity
from custom_components.hacs.const import DOMAIN, NAME_SHORT, VERSION
from custom_components.hacs.share import get_hacs
+from homeassistant.core import callback
async def async_setup_platform(
@@ -40,7 +41,23 @@ def __init__(self):
self._state = None
self.repositories = []
+ @property
+ def should_poll(self):
+ """No polling needed."""
+ return False
+
async def async_update(self):
+ """Manual updates of the sensor."""
+ self._update()
+
+ @callback
+ def _update_and_write_state(self, *_):
+ """Update the sensor and write state."""
+ self._update()
+ self.async_write_ha_state()
+
+ @callback
+ def _update(self):
"""Update the sensor."""
hacs = get_hacs()
if hacs.status.background_task:
@@ -97,3 +114,9 @@ def device_state_attributes(self):
}
)
return {"repositories": repositories}
+
+ async def async_added_to_hass(self) -> None:
+ """Register for status events."""
+ self.async_on_remove(
+ self.hass.bus.async_listen("hacs/status", self._update_and_write_state)
+ )
diff --git a/custom_components/hacs/share.py b/custom_components/hacs/share.py
index 80bff1b2..a3665c2b 100644
--- a/custom_components/hacs/share.py
+++ b/custom_components/hacs/share.py
@@ -1,7 +1,7 @@
"""Shared HACS elements."""
import os
-from .models.base import Hacs
+from .base import HacsBase
SHARE = {
"hacs": None,
@@ -12,7 +12,7 @@
}
-def get_hacs() -> Hacs:
+def get_hacs() -> HacsBase:
if SHARE["hacs"] is None:
from custom_components.hacs.hacsbase.hacs import Hacs as Legacy
diff --git a/custom_components/hacs/translations/cs.json b/custom_components/hacs/translations/cs.json
new file mode 100644
index 00000000..a7f4bb2e
--- /dev/null
+++ b/custom_components/hacs/translations/cs.json
@@ -0,0 +1,358 @@
+{
+ "common": {
+ "about": "O",
+ "add": "přidat",
+ "appdaemon_apps": "Aplikace AppDaemon",
+ "appdaemon_plural": "Aplikace AppDaemon",
+ "background_task": "Probíhá úloha na pozadí, tato stránka se znovu načte, až bude hotová.",
+ "cancel": "Zrušit",
+ "check_log_file": "Zkontrolujte protokol pro další podrobnosti",
+ "continue": "Pokračovat",
+ "disabled": "Zakázáno",
+ "documentation": "Dokumentace",
+ "element": "prvek",
+ "hacs_is_disabled": "HACS je zakázán",
+ "ignore": "Ignorovat",
+ "install": "Nainstalovat",
+ "installed": "nainstalováno",
+ "integration": "Integrace",
+ "integration_plural": "Integrace",
+ "integrations": "Integrace",
+ "lovelace": "Lovelace",
+ "lovelace_element": "Prvek Lovelace",
+ "lovelace_elements": "Prvky Lovelace",
+ "manage": "spravovat",
+ "netdaemon": "NetDaemon",
+ "netdaemon_apps": "Aplikace NetDaemon",
+ "netdaemon_plural": "Aplikace NetDaemon",
+ "plugin": "Lovelace",
+ "plugin_plural": "Prvky Lovelace",
+ "plugins": "Prvky Lovelace",
+ "python_script": "Skript v Pythonu",
+ "python_script_plural": "Skripty v Pythonu",
+ "python_scripts": "Skripty v Pythonu",
+ "reload": "Znovu načíst",
+ "repositories": "Repozitáře",
+ "repository": "Repozitář",
+ "settings": "nastavení",
+ "theme": "Motiv",
+ "theme_plural": "Motivy",
+ "themes": "Motivy",
+ "uninstall": "Odinstalovat",
+ "update": "Aktualizovat",
+ "version": "Verze"
+ },
+ "config": {
+ "abort": {
+ "single_instance_allowed": "Je povolena pouze jediná konfigurace HACS."
+ },
+ "error": {
+ "acc": "Než budete pokračovat, musíte potvrdit všechna prohlášení",
+ "auth": "Osobní přístupový token není správný."
+ }
+ },
+ "confirm": {
+ "add_to_lovelace": "Opravdu to chcete přidat ke svým zdrojům Lovelace?",
+ "bg_task": "Akce je zakázána, když jsou spuštěny úlohy na pozadí.",
+ "cancel": "Zrušit",
+ "continue": "Jste si jistý, že chcete pokračovat?",
+ "delete": "Opravdu chcete smazat \"{item}\"?",
+ "delete_installed": "\"{item}\" je nainstalována, je třeba ji před smazáním odinstalovat.",
+ "exist": "{item} již existuje",
+ "generic": "Jste si jist?",
+ "home_assistant_is_restarting": "Počkejte, Home Assistant se nyní restartuje.",
+ "home_assistant_version_not_correct": "Používáte Home Assistant ve verzi \"{haversion}\", ale tento repozitář vyžaduje instalaci minimálně verzi \"{minversion}\".",
+ "no": "Ne",
+ "no_upgrades": "Žádné aktualizace čekající na vyřízení",
+ "ok": "OK",
+ "overwrite": "Pokud toto uděláte, tak to přepíšete.",
+ "reload_data": "Tím se znovu načtou data všech repozitářů, o kterých HACS ví. Bude to nějakou dobu trvat.",
+ "restart_home_assistant": "Opravdu chcete restartovat Home Assistant?",
+ "uninstall": "Opravdu chcete odinstalovat \"{item}\"?",
+ "upgrade_all": "Tím se aktualizují všechny tyto repozitáře. Před pokračováním se ujistěte, že jste si přečetli poznámky k vydání všech z nich.",
+ "yes": "Ano"
+ },
+ "dialog_about": {
+ "frontend_version": "Verze rozhraní",
+ "installed_repositories": "Nainstalované repozitáře",
+ "integration_version": "Verze integrace",
+ "useful_links": "Užitečné odkazy"
+ },
+ "dialog_add_repo": {
+ "limit": "Zobrazeno je pouze prvních 100 repozitářů, pomocí vyhledávání můžete filtrovat, co potřebujete",
+ "no_match": "Vašemu filtru neodpovídají žádné repozitáře",
+ "sort_by": "Řadit dle",
+ "title": "Přidat repozitář"
+ },
+ "dialog_custom_repositories": {
+ "category": "Kategorie",
+ "no_category": "Chybí kategorie",
+ "no_repository": "Chybí repozitář",
+ "title": "Vlastní repozitáře",
+ "url_placeholder": "Přidat URL adresu vlastního repozitáře"
+ },
+ "dialog_info": {
+ "author": "Autor",
+ "downloads": "Staženo",
+ "install": "Instalovat tento repozitář v HACS",
+ "loading": "Načítání informací...",
+ "no_info": "Vývojář neposkytl pro tento repozitář žádné další informace",
+ "open_issues": "Nahlásit problémy",
+ "open_repo": "Otevřít repozitář",
+ "stars": "Hvězdičky",
+ "version_installed": "Nainstalovaná verze"
+ },
+ "dialog_install": {
+ "restart": "Nezapomeňte, že změny integrace (custom_components) se projeví až po restartu Home Assistant.",
+ "select_version": "Vyberte verzi",
+ "show_beta": "Zobrazit beta verze",
+ "type": "Typ",
+ "url": "URL adresa"
+ },
+ "dialog_removed": {
+ "link": "Externí odkaz pro další informace",
+ "name": "Název repozitáře",
+ "reason": "Důvod odstranění",
+ "type": "Typ odstranění"
+ },
+ "dialog_update": {
+ "available_version": "Dostupná verze",
+ "changelog": "Seznam změn",
+ "installed_version": "Nainstalovaná verze",
+ "releasenotes": "Poznámky k vydáno pro {release}",
+ "title": "Aktualizace čeká na vyřízení"
+ },
+ "dialog": {
+ "reload": {
+ "confirm": "Chcete to udělat hned teď?",
+ "description": "Při změně zdrojů Lovelace musíte vymazat mezipaměť prohlížeče."
+ }
+ },
+ "entry": {
+ "information": "Informace",
+ "intro": "Zde budou zobrazeny aktualizace a důležité zprávy",
+ "messages": {
+ "disabled": {
+ "content": "Zkontrolujte protokol pro další podrobnosti",
+ "title": "HACS je deaktivován"
+ },
+ "has_pending_tasks": {
+ "content": "Některé repozitáře se nemusí zobrazit, dokud toto není dokončeno.",
+ "title": "Úkoly na pozadí čekají na vyřízení"
+ },
+ "removed": "Odebrán repozitář \"{repository}\"",
+ "resources": {
+ "content": "Máte {number} prvků Lovelace, které nejsou v Lovelace správně načteny.",
+ "title": "Nenačteno v Lovelace"
+ },
+ "restart": {
+ "content": "Máte {number} integrací, které vyžadují restart Home Assistant, můžete to udělat v sekci \"Ovládání serveru\" v nastavení Home Assistant.",
+ "title": "Čeká se na restart"
+ },
+ "setup": {
+ "content": "HACS se nastavuje, během této doby mohou některé informace chybět nebo být nesprávné",
+ "title": "HACS se nastavuje"
+ },
+ "startup": {
+ "content": "HACS se spouští, během této doby mohou některé informace chybět nebo být nesprávné",
+ "title": "HACS se spouští"
+ },
+ "waiting": {
+ "content": "HACS čeká na dokončení spuštění Home Assistant, než bude moci spustit své úlohy",
+ "title": "HACS čeká"
+ },
+ "wrong_frontend_installed": {
+ "content": "Používáte verzi {running} rozhraní HACS, ale je očekávána verze {expected}. Pokud vidíte tuto zprávu, Home Assistant nebyl schopen nainstalovat novou verzi. Zkuste restartovat Home Assistant.",
+ "title": "Neočekávaná verze rozhraní"
+ },
+ "wrong_frontend_loaded": {
+ "content": "Používáte verzi {running} rozhraní HACS, ale je očekávána verze {expected}, měli byste vymazat mezipaměť prohlížeče.",
+ "title": "Neočekávaná verze rozhraní"
+ }
+ },
+ "pending_updates": "Čekající aktualizace"
+ },
+ "menu": {
+ "about": "O HACS",
+ "clear": "Vymazat vše nové",
+ "custom_repositories": "Vlastní repozitáře",
+ "dismiss": "Odmítnout všechny nové repozitáře",
+ "documentation": "Dokumentace",
+ "open_issue": "Nahlásit problém",
+ "reload": "Znovu načíst okno"
+ },
+ "options": {
+ "step": {
+ "user": {
+ "data": {
+ "appdaemon": "Povolit zjišťování a sledování aplikací AppDaemon",
+ "country": "Filtrovat pomocí kódu země.",
+ "debug": "Povolit ladění.",
+ "experimental": "Povolit experimentální funkce",
+ "netdaemon": "Povolit zjišťování a sledování aplikací NetDaemon",
+ "not_in_use": "Nepoužívá se s YAML",
+ "release_limit": "Počet vydání, která se mají zobrazit.",
+ "sidepanel_icon": "Ikona postranního panelu",
+ "sidepanel_title": "Název postranního panelu"
+ }
+ }
+ }
+ },
+ "repository_banner": {
+ "config_flow": "Tato integrace podporuje nastavení v uživatelském rozhraní, což znamená, že nyní můžete přejít do sekce Integrace ve vašem uživatelském rozhraní a nastavit ji.",
+ "config_flow_title": "Podporováno nastavení z uživatelského rozhraní",
+ "integration_not_loaded": "Tato integrace není načtena v Home Assistant.",
+ "no_restart_required": "Není vyžadován restart",
+ "not_loaded": "Nenačteno",
+ "plugin_not_loaded": "Tento prvek není přidán do vašich zdrojů Lovelace.",
+ "restart": "Musíte restartovat Home Assistant.",
+ "restart_pending": "Restart čeká na vyřízení"
+ },
+ "repository_card": {
+ "dismiss": "zamítnout",
+ "hide": "Skrýt",
+ "information": "Informace",
+ "new_repository": "Nový repozitář",
+ "not_loaded": "Nenačteno",
+ "open_issue": "Nahlásit problém",
+ "open_source": "Otevřít zdrojový kód",
+ "pending_restart": "Čeká se na restart",
+ "pending_update": "Čeká na aktualizaci",
+ "reinstall": "Přeinstalovat",
+ "report": "Zpráva o odstranění",
+ "update_information": "Informace o aktualizaci"
+ },
+ "repository": {
+ "add_to_lovelace": "Přidat do Lovelace",
+ "authors": "Autoři",
+ "available": "K dispozici",
+ "back_to": "Zpět k",
+ "changelog": "Seznam změn",
+ "downloads": "Staženo",
+ "flag_this": "Označit",
+ "frontend_version": "Verze rozhraní",
+ "github_stars": "Hvězdičky na GitHubu",
+ "goto_integrations": "Přejít na integrace",
+ "hide": "Skrýt",
+ "hide_beta": "Skrýt beta verze",
+ "install": "Nainstalovat",
+ "installed": "Nainstalováno",
+ "lovelace_copy_example": "Zkopírovat příklad do schránky",
+ "lovelace_instruction": "Při přidávávání do vaší Lovelace konfigurace použijte toto",
+ "lovelace_no_js_type": "Nelze určit typ tohoto prvku, zkontrolujte repozitář.",
+ "newest": "nejnovější",
+ "note_appdaemon": "stále je třeba to přidat do souboru \"apps.yaml\"",
+ "note_installed": "Po instalaci bude umístěno v",
+ "note_integration": "stále je třeba to přidat do souboru \"configuration.yaml\"",
+ "note_plugin": "stále je třeba to přidat do konfigurace Lovelace (\"ui-lovelace.yaml\" nebo v editoru kódu konfigurace uživatelského rozhraní)",
+ "note_plugin_post_107": "stále je třeba to přidat do konfigurace Lovelace (\"configuration.yaml\" nebo v editoru \"\/config\/lovelace\/resources\")",
+ "open_issue": "Nahlásit problém",
+ "open_plugin": "Otevřít prvek",
+ "reinstall": "Přeinstalovat",
+ "repository": "Repozitář",
+ "restart_home_assistant": "Restartovat Home Assistant",
+ "show_beta": "Zobrazit beta verze",
+ "uninstall": "Odinstalovat",
+ "update_information": "Informace o aktualizaci",
+ "upgrade": "Aktualizovat"
+ },
+ "search": {
+ "installed": "Hledejte nainstalované repozitáře",
+ "installed_new": "Hledejte nainstalované nebo nové repozitáře",
+ "placeholder": "Hledat repozitář"
+ },
+ "sections": {
+ "about": {
+ "description": "Zobrazit informace o HACS",
+ "title": "O HACS"
+ },
+ "addon": {
+ "description": "V HACS nejsou žádné doplňky, ale kliknutím sem se dostanete k Supervisoru",
+ "title": "Doplňky"
+ },
+ "automation": {
+ "description": "Zde najdete skripty v Pythonu, aplikace AppDaemon a aplikace NetDaemon",
+ "title": "Automatizace"
+ },
+ "frontend": {
+ "description": "Zde najdete motivy, vlastní karty a další prvky pro Lovelace",
+ "title": "Rozhraní"
+ },
+ "integrations": {
+ "description": "Zde najdete vlastní integrace (custom_components)",
+ "title": "Integrace"
+ },
+ "pending_repository_upgrade": "Používáte verzi {installed}, verze {available} je k dispozici"
+ },
+ "settings": {
+ "add_custom_repository": "PŘIDAT VLASTNÍ REPOZITÁŘ",
+ "adding_new_repo": "Přidání nového repozitáře \"{repo}\"",
+ "adding_new_repo_category": "S kategorií \"{category}\".",
+ "bg_task_custom": "Vlastní repozitáře jsou skryty, když jsou spuštěný úlohy na pozadí.",
+ "category": "Kategorie",
+ "compact_mode": "Kompaktní režim",
+ "custom_repositories": "VLASTNÍ REPOZITÁŘE",
+ "delete": "Smazat",
+ "display": "Zobrazení",
+ "grid": "Mřížka",
+ "hacs_repo": "Repozitář HACS",
+ "hidden_repositories": "skryté repozitáře",
+ "missing_category": "Je třeba vybrat kategorii",
+ "open_repository": "Otevřít repozitář",
+ "reload_data": "Znovu načíst data",
+ "reload_window": "Znovu načíst okno",
+ "repository_configuration": "Nastavení repozitáře",
+ "save": "Uložit",
+ "table": "Tabulka",
+ "table_view": "V tabulce",
+ "unhide": "odkrýt",
+ "upgrade_all": "Aktualizovat vše"
+ },
+ "store": {
+ "ascending": "vzestupně",
+ "clear_new": "Vymazat všechny nové repozitáře",
+ "descending": "sestupně",
+ "last_updated": "Naposledy aktualizováno",
+ "name": "Název",
+ "new_repositories": "Nové repozitáře",
+ "new_repositories_note": "Zobrazuje se zde více než 10 nových repozitářů. Chcete-li je všechny vymazat, klikněte na 3 tečky v pravém horním rohu a všechny odmítněte.",
+ "no_repositories": "Žádné repozitáře",
+ "no_repositories_desc1": "Vypadá to, že v této sekci ještě nemáte nainstalované žádné repozitáře.",
+ "no_repositories_desc2": "Kliknutím na + ve spodním rohu přidáte svůj první!",
+ "no_repositories_found_desc1": "V této části nebyly nalezeny žádné nainstalované repozitáře odpovídající \"{searchInput}\".",
+ "no_repositories_found_desc2": "Zkuste hledat něco jiného!",
+ "pending_upgrades": "Čekající aktualizace",
+ "placeholder_search": "Zadejte výraz k hledání...",
+ "sort": "řadit",
+ "stars": "Hvězdičky",
+ "status": "Stav"
+ },
+ "time": {
+ "ago": "před",
+ "day": "den",
+ "days": "dní",
+ "hour": "hodina",
+ "hours": "hodin",
+ "minute": "minuta",
+ "minutes": "minut",
+ "month": "měsíc",
+ "months": "měsíce",
+ "one": "Jeden",
+ "one_day_ago": "před jedním dnem",
+ "one_hour_ago": "před hodinou",
+ "one_minute_ago": "před minutou",
+ "one_month_ago": "před měsícem",
+ "one_second_ago": "před sekundou",
+ "one_year_ago": "před rokem",
+ "second": "sekunda",
+ "seconds": "sekundy",
+ "x_days_ago": "před {x} dny",
+ "x_hours_ago": "před {x} hodinami",
+ "x_minutes_ago": "před {x} minutami",
+ "x_months_ago": "před {x} měsíci",
+ "x_seconds_ago": "před {x} sekundami",
+ "x_years_ago": "před {x} lety",
+ "year": "rok",
+ "years": "let"
+ }
+}
\ No newline at end of file
diff --git a/custom_components/hacs/translations/da.json b/custom_components/hacs/translations/da.json
index ee39e668..2ba2c4d2 100644
--- a/custom_components/hacs/translations/da.json
+++ b/custom_components/hacs/translations/da.json
@@ -1,24 +1,176 @@
{
+ "common": {
+ "about": "Om",
+ "add": "tilføj",
+ "appdaemon_apps": "AppDaemon-apps",
+ "appdaemon_plural": "AppDaemon-apps",
+ "background_task": "Baggrundsopgave kører. Denne side vil genindlæses automatisk.",
+ "check_log_file": "Tjek din logfil for flere detaljer.",
+ "continue": "Fortsæt",
+ "disabled": "Deaktiveret",
+ "documentation": "Dokumentation",
+ "element": "element",
+ "hacs_is_disabled": "HACS er deaktiveret",
+ "install": "Installer",
+ "installed": "installeret",
+ "integration": "Integration",
+ "integration_plural": "Integrationer",
+ "integrations": "Integrationer",
+ "lovelace": "Lovelace",
+ "lovelace_element": "Lovelace-element",
+ "lovelace_elements": "Lovelace-elementer",
+ "manage": "administrer",
+ "netdaemon": "NetDaemon",
+ "netdaemon_apps": "NetDaemon-apps",
+ "netdaemon_plural": "NetDaemon-apps",
+ "plugin": "Lovelace",
+ "plugin_plural": "Lovelace-elementer",
+ "plugins": "Lovelace-elementer",
+ "python_script": "Python-script",
+ "python_script_plural": "Python-scripts",
+ "python_scripts": "Python-scripts",
+ "repositories": "Repositories",
+ "repository": "Repository",
+ "settings": "indstillinger",
+ "theme": "Tema",
+ "theme_plural": "Temaer",
+ "themes": "Temaer",
+ "uninstall": "Afinstaller",
+ "update": "Opdater",
+ "version": "Version"
+ },
"config": {
- "abort": {
- "single_instance_allowed": "Kun en enkelt konfiguration af HACS er tilladt."
- },
- "error": {
- "auth": "Personlig adgangstoken er ikke korrekt."
- },
"step": {
+ "device": {
+ "description": "Open {url} and paste this key `{code}` to authorize HACS, when you have done that click 'submit'",
+ "title": "HACS"
+ },
"user": {
- "description": "Hvis du har brug for hjælp til konfigurationen, så kig her: https:\/\/hacs.xyz\/docs\/configuration\/start"
+ "data": {
+ "acc_addons": "I know that there are no add-ons in HACS",
+ "acc_disable": "I know that if I get issues with Home Assistant I should disable all my custom_components",
+ "acc_logs": "I know how to access Home Assistant logs",
+ "acc_untested": "I know that everything inside HACS is custom and untested by Home Assistant",
+ "appdaemon": "Enable AppDaemon apps discovery & tracking",
+ "netdaemon": "Enable NetDaemon apps discovery & tracking",
+ "python_script": "Enable python_scripts discovery & tracking",
+ "sidepanel_icon": "Side panel icon",
+ "sidepanel_title": "Side panel title",
+ "theme": "Enable Themes discovery & tracking",
+ "token": "GitHub Personal Access Token"
+ }
}
- }
+ },
+ "title": "HACS (Home Assistant Community Store)"
},
"confirm": {
"add_to_lovelace": "Er du sikker på, at du vil tilføje dette til dine Lovelace-ressourcer?",
+ "bg_task": "Handlingen er deaktiveret, mens baggrundsopgaver kører.",
+ "cancel": "Annuller",
"continue": "Er du sikker på, at du vil fortsætte?",
"delete": "Er du sikker på, at du vil slette '{Item}'?",
+ "delete_installed": "'{item}' er installeret, du skal afinstallere det, før du kan slette det.",
+ "exist": "{item} findes allerede",
"generic": "Er du sikker?",
+ "home_assistant_is_restarting": "Vent venligst - Home Assistant genstarter nu.",
+ "home_assistant_version_not_correct": "Du kører Home Assistant version '{haversion}', men dette repository kræver som minimum version '{minversion}'.",
+ "no": "Nej",
+ "no_upgrades": "Der er ingen opdateringer tilgængelig",
+ "ok": "OK",
"overwrite": "Dette vil overskrive den.",
- "uninstall": "Er du sikker på, at du vil afinstallere '{Item}'?"
+ "reload_data": "Dette genindlæser data fra alle repositories, som HACS kender til. Dette vil tage nogen tid at fuldføre.",
+ "restart_home_assistant": "Er du sikker på, at du vil genstarte Home Assistant?",
+ "uninstall": "Er du sikker på, at du vil afinstallere '{Item}'?",
+ "upgrade_all": "Dette vil opdatere alle repositories. Sørg for at du har læst udgivelsesnoterne for dem alle, inden du fortsætter.",
+ "yes": "Ja"
+ },
+ "dialog_about": {
+ "frontend_version": "Frontend-version",
+ "installed_repositories": "Installerede repositories",
+ "integration_version": "Integrationsversion",
+ "useful_links": "Nyttige links"
+ },
+ "dialog_add_repo": {
+ "limit": "Kun de første 100 repositories vises. Brug søgningen til at filtrere, hvad du har brug for",
+ "no_match": "Der blev ikke fundet nogen repositories, der matcher dit filter",
+ "sort_by": "Sorter efter",
+ "title": "Tilføj repository"
+ },
+ "dialog_custom_repositories": {
+ "category": "Kategori",
+ "no_category": "Manglende kategori",
+ "no_repository": "Manglende repository",
+ "title": "Brugerdefinerede repositories",
+ "url_placeholder": "Tilføj brugerdefineret repository-webadresse"
+ },
+ "dialog_info": {
+ "author": "Udvikler",
+ "downloads": "Downloads",
+ "install": "Installer dette repository i HACS",
+ "loading": "Indlæser oplysninger...",
+ "no_info": "Udvikleren har ikke givet flere oplysninger om dette repository",
+ "open_issues": "Åbn issues",
+ "open_repo": "Åbn repository",
+ "stars": "Stjerner",
+ "version_installed": "Installeret version"
+ },
+ "dialog_install": {
+ "restart": "Husk, at du skal genstarte Home Assistant, før ændringer af integrationer (custom_components) træder i kræft.",
+ "select_version": "Vælg version",
+ "show_beta": "Vis betaversioner",
+ "type": "Type",
+ "url": "Webadresse"
+ },
+ "dialog_update": {
+ "available_version": "Tilgængelig version",
+ "changelog": "Udgivelsesnoter",
+ "installed_version": "Installeret version",
+ "releasenotes": "Udgivelsesnoter for {release}",
+ "title": "Ventende opdatering"
+ },
+ "entry": {
+ "information": "Oplysninger",
+ "intro": "Opdateringer og vigtige meddelelser vises her, hvis der er nogen",
+ "messages": {
+ "disabled": {
+ "content": "Tjek din logfil for flere detaljer",
+ "title": "HACS er deaktiveret"
+ },
+ "has_pending_tasks": {
+ "content": "Nogle repositories vises muligvis ikke, før dette er fuldført",
+ "title": "Baggrundsopgaver venter"
+ },
+ "resources": {
+ "content": "Du har {number} Lovelace-elementer, der ikke er indlæst korrekt i Lovelace.",
+ "title": "Ikke indlæst i Lovelace"
+ },
+ "restart": {
+ "content": "Du har {number} integrationer, der kræver en genstart af Home Assistant. Du kan genstarte fra 'Serveradministration'-sektionen under Indstillinger i Home Assistant-brugerfladen.",
+ "title": "Afventer genstart"
+ },
+ "startup": {
+ "content": "HACS starter op. Der kan i dette tidsrum mangle nogle oplysninger, eller de kan være ukorekte.",
+ "title": "HACS starter op"
+ },
+ "wrong_frontend_installed": {
+ "content": "Du har version {running} af HACS-frontend installeret, men version {expected} var forventet, hvis dette ser du denne besked. Home Assistant kunne ikke installere den nye version. Prøv at genstarte Home Assistant.",
+ "title": "Uventet frontend-version"
+ },
+ "wrong_frontend_loaded": {
+ "content": "Du kører version {running} af HACS-frontend, men version {expected} var forventet. Du bør rydde din browser-cache.",
+ "title": "Uventet frontend-version"
+ }
+ },
+ "pending_updates": "Ventende opdateringer"
+ },
+ "menu": {
+ "about": "Om HACS",
+ "clear": "Ryd alle nye",
+ "custom_repositories": "Brugerdefinerede repositories",
+ "dismiss": "Afvis alle nye repositories",
+ "documentation": "Dokumentation",
+ "open_issue": "Opret issue",
+ "reload": "Genindlæs vindue"
},
"options": {
"step": {
@@ -38,27 +190,156 @@
}
},
"repository_banner": {
+ "config_flow": "Denne integration understøtter config_flow. Det betyder, at du nu kan gå til integrationssektionen i din brugerflade for at konfigurere den.",
+ "config_flow_title": "Brugerfladekonfiguration understøttet",
"integration_not_loaded": "Denne integration er ikke indlæst i Home Assistant.",
+ "no_restart_required": "Ingen genstart påkrævet",
"not_loaded": "Ikke indlæst",
"plugin_not_loaded": "Dette element er ikke føjet til dine Lovelace-ressourcer.",
"restart": "Du skal genstarte Home Assistant.",
"restart_pending": "Afventer genstart"
},
+ "repository_card": {
+ "dismiss": "Afvis",
+ "hide": "Skjul",
+ "information": "Oplysninger",
+ "new_repository": "Nyt repository",
+ "not_loaded": "Ikke indlæst",
+ "open_issue": "Opret issue",
+ "open_source": "Åbn kilde",
+ "pending_restart": "Afventer genstart",
+ "pending_update": "Ventende opdatering",
+ "reinstall": "Geninstaller",
+ "report": "Rapporter til fjernelse",
+ "update_information": "Opdater oplysninger"
+ },
"repository": {
"add_to_lovelace": "Tilføj til Lovelace",
- "authors": "Forfattere"
+ "authors": "Forfattere",
+ "available": "Tilgængelig",
+ "back_to": "Tilbage til",
+ "changelog": "Udgivelsesnoter",
+ "downloads": "Downloads",
+ "flag_this": "Marker denne",
+ "frontend_version": "Frontend-version",
+ "github_stars": "GitHub-stjerner",
+ "goto_integrations": "Gå til integrationer",
+ "hide": "Skjul",
+ "hide_beta": "Skjul beta",
+ "install": "Installer",
+ "installed": "Installeret",
+ "lovelace_copy_example": "Kopiér eksemplet til din Udklipsholder",
+ "lovelace_instruction": "Tilføj dette til din lovelace-konfiguration",
+ "lovelace_no_js_type": "Kunne ikke afgøre typen af dette element, tjek venligst repository'et.",
+ "newest": "nyeste",
+ "note_appdaemon": "Du skal stadig føje den til filen 'apps.yaml'",
+ "note_installed": "Når det er installeret, vil dette være placeret i",
+ "note_integration": "du skal stadig føje den til filen 'configuration.yaml'",
+ "note_plugin": "du skal stadig tilføje det til din lovelace-konfiguration ('ui-lovelace.yaml' eller Tekstbaseret redigering)",
+ "note_plugin_post_107": "du skal stadig tilføje det til din lovelace-konfiguration ('configuration.yaml' eller ressourceeditoren '\/config\/lovelace\/resources')",
+ "open_issue": "Opret issue",
+ "open_plugin": "Åbn element",
+ "reinstall": "Geninstaller",
+ "repository": "Repository",
+ "restart_home_assistant": "Genstart Home Assistant",
+ "show_beta": "Vis beta",
+ "uninstall": "Afinstaller",
+ "update_information": "Opdater oplysninger",
+ "upgrade": "Opdater"
+ },
+ "search": {
+ "installed": "Søg efter installerede repositories",
+ "installed_new": "Søg efter installerede eller nye repositories",
+ "placeholder": "Søg efter repository"
+ },
+ "sections": {
+ "about": {
+ "description": "Vis information om HACS",
+ "title": "Om"
+ },
+ "automation": {
+ "description": "Det er her, du finder python_scripts, AppDaemon-apps og NetDaemon-apps",
+ "title": "Automatisering"
+ },
+ "frontend": {
+ "description": "Det er her, du finder temaer, brugerdefinerede kort og andre elementer til lovelace",
+ "title": "Frontend"
+ },
+ "integrations": {
+ "description": "Det er her, du finder brugerdefinerede integrationer (custom_components)",
+ "title": "Integrationer"
+ },
+ "pending_repository_upgrade": "Du kører version {installed}, version {available} er tilgængelig"
},
"settings": {
+ "add_custom_repository": "TILFØJ ET BRUGERDEFINERET REPOSITORY",
+ "adding_new_repo": "Tilføjer nyt repository '{repo}'",
+ "adding_new_repo_category": "Med kategorien '{category}'.",
+ "bg_task_custom": "Brugerdefinerede repositories er skjult, mens opgaver i baggrunden kører.",
+ "category": "Kategori",
"compact_mode": "Kompakt tilstand",
+ "custom_repositories": "BRUGERDEFINEREDE REPOSITORIES",
+ "delete": "Slet",
+ "display": "Visning",
+ "grid": "Gitter",
+ "hacs_repo": "HACS-repo",
"hidden_repositories": "Skjulte repositories",
+ "missing_category": "Du skal vælge en kategori",
+ "open_repository": "Åbn repository",
+ "reload_data": "Genindlæs data",
+ "reload_window": "Genindlæs vindue",
+ "repository_configuration": "Konfiguration af repository",
+ "save": "Gem",
+ "table": "Tabel",
"table_view": "Tabelvisning",
- "unhide": "Vis"
+ "unhide": "Vis",
+ "upgrade_all": "Opdater alle"
},
"store": {
+ "ascending": "stigende",
"clear_new": "Marker alle som set",
+ "descending": "faldende",
+ "last_updated": "Sidst opdateret",
"name": "Navn",
"new_repositories": "Nye repositories",
+ "new_repositories_note": "Du har over 10 nye repositories, der vises her. Hvis du vil rydde dem alle, skal du klikke på de 3 prikker i øverste højre hjørne og afvise dem alle.",
+ "no_repositories": "Ingen repositories",
+ "no_repositories_desc1": "Det ser ud til, at du ikke har nogen repositories installeret i denne sektion endnu.",
+ "no_repositories_desc2": "Klik på + i nederste hjørne for at tilføje dit første!",
+ "no_repositories_found_desc1": "Der blev ikke fundet installerede repositories, der matcher \"{searchInput}\" i denne sektion.",
+ "no_repositories_found_desc2": "Prøv at søge efter noget andet!",
+ "pending_upgrades": "Ventende opdateringer",
+ "placeholder_search": "Indtast en søgeterm...",
"sort": "sorter",
+ "stars": "Stjerner",
"status": "Status"
+ },
+ "time": {
+ "ago": "siden",
+ "day": "dag",
+ "days": "dage",
+ "hour": "time",
+ "hours": "timer",
+ "minute": "minut",
+ "minutes": "minutter",
+ "month": "måned",
+ "months": "måneder",
+ "one": "Et",
+ "one_day_ago": "en dag siden",
+ "one_hour_ago": "en time siden",
+ "one_minute_ago": "et minut siden",
+ "one_month_ago": "en måned siden",
+ "one_second_ago": "et sekund siden",
+ "one_year_ago": "et år siden",
+ "second": "sekund",
+ "seconds": "sekunder",
+ "x_days_ago": "{x} dage siden",
+ "x_hours_ago": "{x} timer siden",
+ "x_minutes_ago": "{x} minutter siden",
+ "x_months_ago": "{x} måneder siden",
+ "x_seconds_ago": "{x} sekunder siden",
+ "x_years_ago": "{x} år siden",
+ "year": "år",
+ "years": "år"
}
}
\ No newline at end of file
diff --git a/custom_components/hacs/translations/de.json b/custom_components/hacs/translations/de.json
index 05fa865c..902b61da 100644
--- a/custom_components/hacs/translations/de.json
+++ b/custom_components/hacs/translations/de.json
@@ -1,25 +1,210 @@
{
+ "common": {
+ "about": "Über",
+ "add": "hinzufügen",
+ "appdaemon": "AppDaemon",
+ "appdaemon_apps": "AppDaemon Apps",
+ "appdaemon_plural": "AppDaemon Apps",
+ "background_task": "Hintergrundprozess läuft. Diese Seite lädt neu, sobald dieser fertig ist.",
+ "cancel": "Abbrechen",
+ "check_log_file": "Überprüfe die Logdatei für weitere Informationen.",
+ "continue": "Fortfahren",
+ "disabled": "Deaktiviert",
+ "documentation": "Dokumentation",
+ "element": "Element",
+ "hacs_is_disabled": "HACS ist deaktiviert",
+ "ignore": "Ignorieren",
+ "install": "Installieren",
+ "installed": "Installiert",
+ "integration": "Integration",
+ "integration_plural": "Integrationen",
+ "integrations": "Integrationen",
+ "lovelace": "Lovelace",
+ "lovelace_element": "Lovelace-Element",
+ "lovelace_elements": "Lovelace-Elemente",
+ "manage": "verwalten",
+ "netdaemon": "NetDaemon",
+ "netdaemon_apps": "NetDaemon Apps",
+ "netdaemon_plural": "NetDaemon Apps",
+ "plugin": "Lovelace",
+ "plugin_plural": "Lovelace-Elemente",
+ "plugins": "Lovelace-Elemente",
+ "python_script": "Python Skript",
+ "python_script_plural": "Python Skripte",
+ "python_scripts": "Python Skripte",
+ "reload": "Neu laden",
+ "repositories": "Repositories",
+ "repository": "Repository",
+ "settings": "Einstellungen",
+ "theme": "Theme",
+ "theme_plural": "Themes",
+ "themes": "Themes",
+ "uninstall": "Deinstallieren",
+ "update": "Aktualisieren",
+ "version": "Version"
+ },
"config": {
"abort": {
"single_instance_allowed": "Es ist nur eine einzelne HACS-Instanz erlaubt."
},
"error": {
+ "acc": "Du musst alle Aussagen bestätigen, bevor du fortfahren kannst",
"auth": "Persönlicher Zugriffstoken ist falsch."
},
"step": {
+ "device": {
+ "description": "Open {url} and paste this key `{code}` to authorize HACS, when you have done that click 'submit'",
+ "title": "HACS"
+ },
"user": {
- "description": "Wenn du Hilfe mit den Einstellungen brauchst, kannst du hier nachsehen: https:\/\/hacs.xyz\/docs\/configuration\/start",
- "title": "HACS (Home Assistant Community Store)"
+ "data": {
+ "acc_addons": "I know that there are no add-ons in HACS",
+ "acc_disable": "I know that if I get issues with Home Assistant I should disable all my custom_components",
+ "acc_logs": "I know how to access Home Assistant logs",
+ "acc_untested": "I know that everything inside HACS is custom and untested by Home Assistant",
+ "appdaemon": "Enable AppDaemon apps discovery & tracking",
+ "netdaemon": "Enable NetDaemon apps discovery & tracking",
+ "python_script": "Enable python_scripts discovery & tracking",
+ "sidepanel_icon": "Side panel icon",
+ "sidepanel_title": "Side panel title",
+ "theme": "Enable Themes discovery & tracking",
+ "token": "GitHub Personal Access Token"
+ },
+ "description": "Before you can setup HACS you need to acknowledge the following",
+ "title": "HACS"
}
- }
+ },
+ "title": "HACS (Home Assistant Community Store)"
},
"confirm": {
"add_to_lovelace": "Möchtest du dies wirklich zu deinen Lovelace-Ressourcen hinzufügen?",
+ "bg_task": "Die Aktion ist deaktiviert, während Hintergrundprozesse ausgeführt werden.",
+ "cancel": "Abbrechen",
"continue": "Bist du dir sicher, dass du fortfahren möchtest?",
"delete": "Möchtest du '{item}' wirklich löschen?",
+ "delete_installed": "'{item}' ist installiert. Du musst es deinstallieren, bevor du es löschen kannst.",
+ "exist": "{item} existiert bereits",
"generic": "Bist du dir sicher?",
+ "home_assistant_is_restarting": "Bitte warte, Home Assistant wird jetzt neu gestartet.",
+ "home_assistant_version_not_correct": "Du benutzt die Home Assistant-Version '{haversion}', für dieses Repository muss jedoch die Mindestversion '{minversion}' installiert sein.",
+ "no": "Nein",
+ "no_upgrades": "Keine Upgrades ausstehend",
+ "ok": "OK",
"overwrite": "Dadurch wird die Datei überschrieben.",
- "uninstall": "Möchtest du '{item}' wirklich deinstallieren?"
+ "reload_data": "Hierdurch werden die Daten aller Repositories die HACS kennt neu geladen. Dies wird einige Zeit in Anspruch nehmen.",
+ "restart_home_assistant": "Bist du dir sicher, dass du Home Assistant neu starten möchtest?",
+ "uninstall": "Möchtest du '{item}' wirklich deinstallieren?",
+ "upgrade_all": "Hierdurch werden all diese Repositories aktualisiert. Stelle sicher, dass du die Versionshinweise vorher gelesen hast.",
+ "yes": "Ja"
+ },
+ "dialog_about": {
+ "frontend_version": "Frontend Version",
+ "installed_repositories": "Installierte Repositories",
+ "integration_version": "Integrations Version",
+ "useful_links": "Nützliche Links"
+ },
+ "dialog_add_repo": {
+ "limit": "Es werden nur die ersten 100 Repositories angezeigt. Verwende die Suche, um zu filtern, was du benötigst",
+ "no_match": "Es wurden keine Repositories gefunden, die deinen Filter entsprechen",
+ "sort_by": "Sortiere nach",
+ "title": "Repository hinzufügen"
+ },
+ "dialog_custom_repositories": {
+ "category": "Kategorie",
+ "no_category": "Fehlende Kategorie",
+ "no_repository": "Fehlendes Repository",
+ "title": "Benutzerdefinierte Repositories",
+ "url_placeholder": "Füge eine benutzerdefinierte Repository-URL hinzu"
+ },
+ "dialog_info": {
+ "author": "Autor",
+ "downloads": "Downloads",
+ "install": "Installiere dieses Repository in HACS",
+ "loading": "Informationen laden...",
+ "no_info": "Der Entwickler hat keine weiteren Informationen für dieses Repository bereitgestellt",
+ "open_issues": "Probleme melden",
+ "open_repo": "Repository öffnen",
+ "stars": "Sterne",
+ "version_installed": "Version installiert"
+ },
+ "dialog_install": {
+ "restart": "Denke daran, dass du Home Assistant neu starten musst, bevor Änderungen an Integrationen (custom_components) angewendet werden.",
+ "select_version": "Version auswählen",
+ "show_beta": "Beta-Versionen anzeigen",
+ "type": "Typ",
+ "url": "URL"
+ },
+ "dialog_removed": {
+ "link": "Externer Link zu weiteren Informationen",
+ "name": "Repository-Name",
+ "reason": "Grund für die Entfernung",
+ "type": "Art der Entfernung"
+ },
+ "dialog_update": {
+ "available_version": "Verfügbare Version",
+ "changelog": "Änderungsprotokoll",
+ "installed_version": "Installierte Version",
+ "releasenotes": "Releasenotes für {release}",
+ "title": "Update ausstehend"
+ },
+ "dialog": {
+ "reload": {
+ "confirm": "Willst du das jetzt machen?",
+ "description": "Du musst deinen Browser-Cache leeren, wenn du Lovelace-Ressourcen änderst."
+ }
+ },
+ "entry": {
+ "information": "Information",
+ "intro": "Aktualisierungen und wichtige Meldungen werden hier angezeigt, falls vorhanden",
+ "messages": {
+ "disabled": {
+ "content": "Überprüfe die Logdatei für weitere Informationen",
+ "title": "HACS ist deaktiviert"
+ },
+ "has_pending_tasks": {
+ "content": "Einige Repositorys werden möglicherweise erst angezeigt, wenn dies abgeschlossen ist",
+ "title": "Hintergrundaufgaben stehen noch aus"
+ },
+ "removed": "Repository '{repository}' gelöscht",
+ "resources": {
+ "content": "Du hast {number} Lovelace-Elemente, die in Lovelace nicht richtig geladen sind.",
+ "title": "Nicht in Lovelace geladen"
+ },
+ "restart": {
+ "content": "Du hast {number} Integrationen, die einen Neustart von Home Assistant erfordern. Dies kannst du im Abschnitt 'Server Controls' im Konfigurationsteil der Home Assistant-Benutzeroberfläche tun.",
+ "title": "Ausstehender Neustart"
+ },
+ "setup": {
+ "content": "HACS wird gerade eingerichtet, während dieser Zeit könnten einige Informationen fehlen oder falsch sein",
+ "title": "HACS wird eingerichtet"
+ },
+ "startup": {
+ "content": "HACS wird gestartet, während dieser Zeit könnten einige Informationen fehlen oder falsch sein",
+ "title": "HACS startet"
+ },
+ "waiting": {
+ "content": "HACS wartet darauf, dass Home Assistant den Start beendet, bevor mit den Startaufgaben gestartet wird",
+ "title": "HACS wartet"
+ },
+ "wrong_frontend_installed": {
+ "content": "Du hast {running} des HACS-Frontends installiert, aber Version {expected} wurde erwartet. Wenn diese Meldung angezeigt wird, dass Home Assistant die neue Version nicht installieren konnte, starte Home Assistant neu.",
+ "title": "Unerwartete Frontend-Version"
+ },
+ "wrong_frontend_loaded": {
+ "content": "Du führst die Version {running} des HACS-Frontends aus, aber es wurde die Version {expected} erwartet. Du solltest deinen Browser-Cache leeren.",
+ "title": "Unerwartete Frontend-Version"
+ }
+ },
+ "pending_updates": "Ausstehende Updates"
+ },
+ "menu": {
+ "about": "Über HACS",
+ "clear": "Alles neue als gesehen markieren",
+ "custom_repositories": "Benutzerdefinierte Repositories",
+ "dismiss": "Alle neuen Repositories ausblenden",
+ "documentation": "Dokumentation",
+ "open_issue": "Problem melden",
+ "reload": "Fenster neu laden"
},
"options": {
"step": {
@@ -39,27 +224,160 @@
}
},
"repository_banner": {
+ "config_flow": "Diese Integration unterstützt config_flow. Das bedeutet, dass du jetzt in den Integrationsbereich deiner Benutzeroberfläche wechseln kannst, um es zu konfigurieren.",
+ "config_flow_title": "UI-Konfiguration unterstützt",
"integration_not_loaded": "Diese Integration ist in Home Assistant nicht geladen.",
+ "no_restart_required": "Kein Neustart erforderlich",
"not_loaded": "Nicht geladen",
- "plugin_not_loaded": "Dieses Element wird nicht zu Ihren Lovelace-Ressourcen hinzugefügt.",
+ "plugin_not_loaded": "Dieses Element wird nicht zu deinen Lovelace-Ressourcen hinzugefügt.",
"restart": "Du musst Home Assistant neu starten.",
"restart_pending": "Neustart ausstehend"
},
+ "repository_card": {
+ "dismiss": "Ausblenden",
+ "hide": "Verstecken",
+ "information": "Information",
+ "new_repository": "Neues Repository",
+ "not_loaded": "Nicht geladen",
+ "open_issue": "Problem melden",
+ "open_source": "Quelldateien öffnen",
+ "pending_restart": "Ausstehender Neustart",
+ "pending_update": "Ausstehende Aktualisierung",
+ "reinstall": "Neu installieren",
+ "report": "Melden zur Entfernung des Repositorys",
+ "update_information": "Aktualisierungsinformationen"
+ },
"repository": {
"add_to_lovelace": "Zu Lovelace hinzufügen",
- "authors": "Autoren"
+ "authors": "Autoren",
+ "available": "Verfügbar",
+ "back_to": "Zurück zu",
+ "changelog": "Änderungsprotokoll",
+ "downloads": "Downloads",
+ "flag_this": "Melden",
+ "frontend_version": "Frontend Version",
+ "github_stars": "GitHub Sterne",
+ "goto_integrations": "Gehe zu Integrationen",
+ "hide": "Verstecken",
+ "hide_beta": "Beta verstecken",
+ "install": "Installieren",
+ "installed": "Installiert",
+ "lovelace_copy_example": "Beispiel in die Zwischenablage kopieren",
+ "lovelace_instruction": "Zum Hinzufügen zu deinen Lovelace-Einstellungen, benutze Folgendes",
+ "lovelace_no_js_type": "Der Typ dieses Elements konnte nicht ermittelt werden. Überprüfe das Repository.",
+ "newest": "neueste",
+ "note_appdaemon": "du musst es dann noch in die Datei 'apps.yaml' hinzufügen",
+ "note_installed": "Wird installiert nach",
+ "note_integration": "du musst es dann noch in die Datei 'configuration.yaml' hinzufügen",
+ "note_plugin": "du musst es dann noch in deine Lovelace-Einstellungen ('ui-lovelace.yaml' oder im Raw-Konfigurationseditor) hinzufügen",
+ "note_plugin_post_107": "Du musst es noch zu deiner Lovelace-Konfiguration hinzufügen ('configuration.yaml' oder der Ressourceneditor '\/config\/lovelace\/resources')",
+ "open_issue": "Problem melden",
+ "open_plugin": "Element öffnen",
+ "reinstall": "Neu installieren",
+ "repository": "Repository",
+ "restart_home_assistant": "Home Assistant neu starten",
+ "show_beta": "Beta anzeigen",
+ "uninstall": "Deinstallieren",
+ "update_information": "Aktualisierungsinformationen",
+ "upgrade": "Aktualisieren"
+ },
+ "search": {
+ "installed": "Suche nach installierten Repositories",
+ "installed_new": "Suche nach installierten oder neuen Repositories",
+ "placeholder": "Suche nach Repository"
+ },
+ "sections": {
+ "about": {
+ "description": "Informationen zu HACS anzeigen",
+ "title": "Über"
+ },
+ "addon": {
+ "description": "Es gibt in HACS selbst keine Add-ons, aber du kannst hier klicken, um zum Supervisor zu gelangen",
+ "title": "Add-ons"
+ },
+ "automation": {
+ "description": "Hier findest du python_scripts, AppDaemon-Apps und NetDaemon-Apps",
+ "title": "Automatisierung"
+ },
+ "frontend": {
+ "description": "Hier findest du Themen, individuelle Karten und andere Elemente für Lovelace",
+ "title": "Frontend"
+ },
+ "integrations": {
+ "description": "Hier findest du benutzerdefinierte Integrationen (custom_components)",
+ "title": "Integrationen"
+ },
+ "pending_repository_upgrade": "Du verwendest Version {installed}, Version {available} ist verfügbar"
},
"settings": {
+ "add_custom_repository": "BENUTZERDEFINIERTES REPOSITORY HINZUFÜGEN",
+ "adding_new_repo": "Hinzufügen eines neuen Repository '{repo}'",
+ "adding_new_repo_category": "Mit der Kategorie '{category}'.",
+ "bg_task_custom": "Custom Repositorys werden ausgeblendet, während Hintergrundaufgaben ausgeführt werden.",
+ "category": "Kategorie",
"compact_mode": "Kompakter Modus",
+ "custom_repositories": "BENUTZERDEFINIERTE REPOSITORIES",
+ "delete": "Löschen",
+ "display": "Anzeige",
+ "grid": "Gitter",
+ "hacs_repo": "HACS repo",
"hidden_repositories": "versteckte Repositories",
+ "missing_category": "Du musst eine Kategorie auswählen.",
+ "open_repository": "Repository öffnen",
+ "reload_data": "Daten neu laden",
+ "reload_window": "Fenster neu laden",
+ "repository_configuration": "Repository Konfiguration",
+ "save": "Speichern",
+ "table": "Tabelle",
"table_view": "Tabellenansicht",
- "unhide": "einblenden"
+ "unhide": "einblenden",
+ "upgrade_all": "Alles aktualisieren"
},
"store": {
+ "ascending": "Aufsteigend",
"clear_new": "Alle neuen Repositories als gesehen markieren",
+ "descending": "Absteigend",
+ "last_updated": "Zuletzt aktualisiert",
"name": "Name",
"new_repositories": "Neue Repositories",
+ "new_repositories_note": "Hier werden über 10 neue Repositorys angezeigt. Wenn du alle als gelesen markieren möchten, klicke auf die 3 Punkte in der oberen rechten Ecke und blende alle aus.",
+ "no_repositories": "Keine Repositories",
+ "no_repositories_desc1": "Anscheinend sind in diesem Abschnitt noch keine Repositories installiert.",
+ "no_repositories_desc2": "Klicken auf das + in der unteren Ecke, um dein erstes hinzuzufügen!",
+ "no_repositories_found_desc1": "In diesem Abschnitt wurden keine installierten Repositorys gefunden, die mit \"{searchInput}\" übereinstimmen.",
+ "no_repositories_found_desc2": "Versuche, nach etwas anderem zu suchen!",
+ "pending_upgrades": "Ausstehende Upgrades",
+ "placeholder_search": "Suchbegriff eingeben…",
"sort": "Sortieren",
+ "stars": "Sterne",
"status": "Status"
+ },
+ "time": {
+ "ago": "vor",
+ "day": "Tag",
+ "days": "Tage",
+ "hour": "Stunde",
+ "hours": "Stunden",
+ "minute": "Minute",
+ "minutes": "Minuten",
+ "month": "Monat",
+ "months": "Monate",
+ "one": "Eins",
+ "one_day_ago": "vor einem Tag",
+ "one_hour_ago": "vor einer Stunde",
+ "one_minute_ago": "vor einer Minute",
+ "one_month_ago": "vor einem Monat",
+ "one_second_ago": "vor einer Sekunde",
+ "one_year_ago": "vor einem Jahr",
+ "second": "Sekunde",
+ "seconds": "Sekunden",
+ "x_days_ago": "vor {x} Tagen",
+ "x_hours_ago": "vor {x} Stunden",
+ "x_minutes_ago": "vor {x} Minuten",
+ "x_months_ago": "vor {x} Monaten",
+ "x_seconds_ago": "vor {x} Sekunden",
+ "x_years_ago": "vor {x} Jahren",
+ "year": "Jahr",
+ "years": "Jahre"
}
}
\ No newline at end of file
diff --git a/custom_components/hacs/translations/el.json b/custom_components/hacs/translations/el.json
index 5d81d918..e7834336 100644
--- a/custom_components/hacs/translations/el.json
+++ b/custom_components/hacs/translations/el.json
@@ -1,25 +1,74 @@
{
+ "common": {
+ "about": "Σχετικά με",
+ "appdaemon": "AppDaemon",
+ "appdaemon_apps": "AppDaemon Apps",
+ "background_task": "Τρέχει μια διεργασία στο παρασκήνιο, η σελίδα θα ανανεωθεί μόλις αυτό ολοκληρωθεί.",
+ "check_log_file": "Ελέγξτε το αρχείο καταγραφής για περισσότερες λεπτομέρειες.",
+ "continue": "Να συνεχίσει",
+ "disabled": "Απενεργοποιημένο",
+ "documentation": "Τεκμηρίωση",
+ "hacs_is_disabled": "Το HACS είναι απενεργοποιημένο",
+ "installed": "εγκατεστημένο",
+ "integration": "Ενσωμάτωση",
+ "integrations": "Ενσωματωμένα",
+ "manage": "διαχειρίζονται",
+ "netdaemon": "NetDaemon",
+ "netdaemon_apps": "NetDaemon Apps",
+ "plugin": "Lovelace",
+ "plugins": "Πρόσθετα",
+ "python_script": "Πρόγραμμα Python",
+ "python_scripts": "Προγράμματα Python",
+ "repositories": "Αποθετήρια",
+ "settings": "ρυθμίσεις",
+ "theme": "Θέμα",
+ "themes": "Θέματα",
+ "version": "Έκδοση"
+ },
"config": {
- "abort": {
- "single_instance_allowed": "Μονάχα μία ρύθμιση των παραμέτρων του HACS επιτρέπεται."
- },
- "error": {
- "auth": "Το διακριτικό πρόσβασης δεν είναι σωστό."
- },
"step": {
+ "device": {
+ "description": "Open {url} and paste this key `{code}` to authorize HACS, when you have done that click 'submit'",
+ "title": "HACS"
+ },
"user": {
- "description": "Εάν χρειαστείτε βοήθεια με τις ρυθμίσεις ανατρέξτε εδώ: https:\/\/hacs.xyz\/docs\/configuration\/start",
- "title": "HACS (Home Assistant Community Store)"
+ "data": {
+ "acc_addons": "I know that there are no add-ons in HACS",
+ "acc_disable": "I know that if I get issues with Home Assistant I should disable all my custom_components",
+ "acc_logs": "I know how to access Home Assistant logs",
+ "acc_untested": "I know that everything inside HACS is custom and untested by Home Assistant",
+ "appdaemon": "Enable AppDaemon apps discovery & tracking",
+ "netdaemon": "Enable NetDaemon apps discovery & tracking",
+ "python_script": "Enable python_scripts discovery & tracking",
+ "sidepanel_icon": "Side panel icon",
+ "sidepanel_title": "Side panel title",
+ "theme": "Enable Themes discovery & tracking",
+ "token": "GitHub Personal Access Token"
+ },
+ "description": "Before you can setup HACS you need to acknowledge the following",
+ "title": "HACS"
}
- }
+ },
+ "title": "HACS (Home Assistant Community Store)"
},
"confirm": {
"add_to_lovelace": "Είστε βέβαιοι ότι θέλετε να προσθέσετε αυτό στους πόρους του Lovelace;",
+ "bg_task": "Η ενέργεια είναι απενεργοποιημένη όσο εκτελούνται εργασίες στο παρασκήνιο",
+ "cancel": "Ακύρωση",
"continue": "Είστε βέβαιοι ότι θέλετε να συνεχίσετε;",
"delete": "Είστε σίγουροι ότι θέλετε να διαγράψετε το '{item}';",
+ "delete_installed": "Το '{item}' είναι εγκατεστημένο, πρέπει να το απεγκαταστήσετε πριν να το διαγράψετε.",
+ "exist": "{item} υπάρχει ήδη",
"generic": "Είστε βέβαιοι;",
+ "home_assistant_is_restarting": "Περιμένετε, το Home Assistant επανεκκινείται τώρα.",
+ "no": "Οχι",
+ "no_upgrades": "Δεν υπάρχουν αναβαθμίσεις σε εκκρεμότητα",
+ "ok": "Εντάξει",
"overwrite": "Αυτό θα το αντικαταστήσει.",
- "uninstall": "Είστε βέβαιοι ότι θέλετε να απεγκαταστήσετε το '{item}';"
+ "restart_home_assistant": "Είστε βέβαιοι ότι θέλετε να κάνετε επανεκκίνηση του Home Assistant;",
+ "uninstall": "Είστε βέβαιοι ότι θέλετε να απεγκαταστήσετε το '{item}';",
+ "upgrade_all": "Αυτό θα αναβαθμίσει όλα αυτά τα αποθετήρια, βεβαιωθείτε ότι έχετε διαβάσει τις σημειώσεις έκδοσης για όλα πριν προχωρήσετε.",
+ "yes": "Ναι"
},
"options": {
"step": {
@@ -40,6 +89,7 @@
},
"repository_banner": {
"integration_not_loaded": "Αυτή η ενσωμάτωση δεν φορτώθηκε στο Home Assistant.",
+ "no_restart_required": "Δεν απαιτείται επανεκκίνηση",
"not_loaded": "Δεν έχει φορτωθεί",
"plugin_not_loaded": "Αυτό το πρόσθετο δεν προστέθηκε στους πόρους του Lovelace.",
"restart": "Πρέπει να κάνετε επανεκκίνηση του Home Assistant.",
@@ -47,19 +97,99 @@
},
"repository": {
"add_to_lovelace": "Προσθήκη στο Lovelace",
- "authors": "Συγγραφείς"
+ "authors": "Συγγραφείς",
+ "available": "Διαθέσιμο",
+ "back_to": "Πίσω στο",
+ "changelog": "Σημειώσεις των αλλαγών",
+ "downloads": "Λήψεις",
+ "flag_this": "Σημείωσε αυτό",
+ "frontend_version": "Έκδοση Frontend",
+ "github_stars": "GitHub αστέρια",
+ "goto_integrations": "Μετάβαση στις ενσωματώσεις",
+ "hide": "Απόκρυψη",
+ "hide_beta": "Απόκριση του beta",
+ "install": "Εγκατάσταση",
+ "installed": "Εγκατεστημένο",
+ "lovelace_copy_example": "Αντίγραψε το παράδειγμα στο πρόχειρο",
+ "lovelace_instruction": "Όταν το προσθέσετε στις ρυθμίσεις του lovelace χρησιμοποιήστε τούτο",
+ "lovelace_no_js_type": "Δεν καταφέραμε να προσδιορίσουμε τον τύπο αυτού του προσθέτου, ελέξτε το αποθετήριο.",
+ "newest": "νεότερο",
+ "note_appdaemon": "εξακολουθεί να χρειάζεται να το προσθέσετε στο αρχείο 'apps.yaml'",
+ "note_installed": "Όταν εγκατασταθεί, θα προστεθεί στο",
+ "note_integration": "εξακολουθεί να χρειάζεται να το προσθέσετε στο αρχείο 'configuration.yaml'",
+ "note_plugin": "εξακολουθεί να χρειάζετε να το προσθέσετε στις ρυθμίσεις του lovelace ('ui-lovelace.yaml' ή μέσω του γραφικού επεξεργαστή των ρυθμίσεων)",
+ "open_issue": "Εκκρεμόν ζήτημα",
+ "open_plugin": "Ανοιχτό πρόσθετο",
+ "reinstall": "Επανεγκατάσταση",
+ "repository": "Αποθετήριο",
+ "restart_home_assistant": "Επανεκκίνηση του Home Assistant",
+ "show_beta": "Εμφάνιση του beta",
+ "uninstall": "Απεγκατάσταση",
+ "update_information": "Ενημέρωση πληροφοριών",
+ "upgrade": "Ενημέρωση"
},
"settings": {
+ "add_custom_repository": "ΠΡΟΣΘΕΣΤΕ ΕΝΑ ΕΙΔΙΚΟ ΑΠΟΘΕΤΗΡΙΟ",
+ "adding_new_repo": "Προσθήκη νέου αποθετηρίου '{repo}'",
+ "adding_new_repo_category": "Με κατηγορία '{category}'.",
+ "category": "Κατηγορία",
"compact_mode": "Συμπαγής λειτουργία",
+ "custom_repositories": "ΕΙΔΙΚΑ ΑΠΟΘΕΤΗΡΙΑ",
+ "delete": "Διαγραφή",
+ "display": "Εμφάνιση",
+ "grid": "Πλέγμα",
+ "hacs_repo": "Αποθετήριο του HACS",
"hidden_repositories": "κρυφά αποθετήρια",
+ "missing_category": "Πρέπει να επιλέξετε μια κατηγορία",
+ "open_repository": "Ανοίξτε το αποθετήριο",
+ "reload_data": "Επαναφόρτωση δεδομένων",
+ "reload_window": "Επαναφόρτωση του παραθύρου",
+ "repository_configuration": "Διαμόρφωση αποθετηρίου",
+ "save": "Αποθήκευση",
+ "table": "Πίνακας",
"table_view": "Προβολή πίνακα",
- "unhide": "αποκρύψω"
+ "unhide": "αποκρύψω",
+ "upgrade_all": "Αναβάθμιση όλων"
},
"store": {
+ "ascending": "αύξουσα",
"clear_new": "Απαλοιφή όλων των νέων αποθετηρίων",
+ "descending": "φθίνουσα",
+ "last_updated": "Τελευταία ενημέρωση",
"name": "Ονομα",
"new_repositories": "Νέα αποθετήρια",
+ "pending_upgrades": "Εκκρεμείς αναβαθμίσεις",
+ "placeholder_search": "Παρακαλώ πληκτρολογήστε έναν όρο προς αναζήτηση...",
"sort": "είδος",
+ "stars": "Αστέρια",
"status": "Κατάσταση"
+ },
+ "time": {
+ "ago": "πριν",
+ "day": "ημέρα",
+ "days": "ημέρες",
+ "hour": "ώρα",
+ "hours": "ώρες",
+ "minute": "λεπτό",
+ "minutes": "λεπτά",
+ "month": "μήνας",
+ "months": "μήνες",
+ "one": "Ένα",
+ "one_day_ago": "πριν από μία ημέρα",
+ "one_hour_ago": "πριν από μια ώρα",
+ "one_minute_ago": "πριν από ένα λεπτό",
+ "one_month_ago": "πριν από ένα μήνα",
+ "one_second_ago": "πριν από ένα δευτερόλεπτο",
+ "one_year_ago": "πριν από ένα χρόνο",
+ "second": "δευτερόλεπτο",
+ "seconds": "δευτερόλεπτα",
+ "x_days_ago": "{x} ημέρες πριν",
+ "x_hours_ago": "{x} ώρες πριν",
+ "x_minutes_ago": "{x} λεπτά πριν",
+ "x_months_ago": "{x} μήνες πριν",
+ "x_seconds_ago": "{x} δευτερόλεπτα πριν",
+ "x_years_ago": "{x} χρόνια πριν",
+ "year": "έτος",
+ "years": "χρόνια"
}
}
\ No newline at end of file
diff --git a/custom_components/hacs/translations/en.json b/custom_components/hacs/translations/en.json
index bd318694..da9080c7 100644
--- a/custom_components/hacs/translations/en.json
+++ b/custom_components/hacs/translations/en.json
@@ -1,25 +1,210 @@
{
+ "common": {
+ "about": "About",
+ "add": "add",
+ "appdaemon": "AppDaemon",
+ "appdaemon_apps": "AppDaemon Apps",
+ "appdaemon_plural": "AppDaemon Apps",
+ "background_task": "Background task running, this page will reload when it's done.",
+ "cancel": "Cancel",
+ "check_log_file": "Check your log file for more details.",
+ "continue": "Continue",
+ "disabled": "Disabled",
+ "documentation": "Documentation",
+ "element": "element",
+ "hacs_is_disabled": "HACS is disabled",
+ "ignore": "Ignore",
+ "install": "Install",
+ "installed": "installed",
+ "integration": "Integration",
+ "integration_plural": "Integrations",
+ "integrations": "Integrations",
+ "lovelace": "Lovelace",
+ "lovelace_element": "Lovelace element",
+ "lovelace_elements": "Lovelace elements",
+ "manage": "manage",
+ "netdaemon": "NetDaemon",
+ "netdaemon_apps": "NetDaemon Apps",
+ "netdaemon_plural": "NetDaemon Apps",
+ "plugin": "Lovelace",
+ "plugin_plural": "Lovelace elements",
+ "plugins": "Lovelace elements",
+ "python_script": "Python Script",
+ "python_script_plural": "Python Scripts",
+ "python_scripts": "Python Scripts",
+ "reload": "Reload",
+ "repositories": "Repositories",
+ "repository": "Repository",
+ "settings": "settings",
+ "theme": "Theme",
+ "theme_plural": "Themes",
+ "themes": "Themes",
+ "uninstall": "Uninstall",
+ "update": "Update",
+ "version": "Version"
+ },
"config": {
"abort": {
"single_instance_allowed": "Only a single configuration of HACS is allowed."
},
"error": {
- "auth": "Personal Access Token is not correct."
+ "acc": "You need to acknowledge all the statements before continuing",
+ "auth": "Personal Access Token is not correct"
},
"step": {
+ "device": {
+ "description": "Open {url} and paste this key to authorize HACS: \\n```\\n{code}\\n```\\n When you have done that click 'submit'",
+ "title": "HACS"
+ },
"user": {
- "description": "If you need help with the configuration have a look here: https:\/\/hacs.xyz\/docs\/configuration\/start\/",
- "title": "[%key_id:28417459%]"
+ "data": {
+ "acc_addons": "I know that there are no add-ons in HACS",
+ "acc_disable": "I know that if I get issues with Home Assistant I should disable all my custom_components",
+ "acc_logs": "I know how to access Home Assistant logs",
+ "acc_untested": "I know that everything inside HACS is custom and untested by Home Assistant",
+ "appdaemon": "Enable AppDaemon apps discovery & tracking",
+ "netdaemon": "Enable NetDaemon apps discovery & tracking",
+ "python_script": "Enable python_scripts discovery & tracking",
+ "sidepanel_icon": "Side panel icon",
+ "sidepanel_title": "Side panel title",
+ "theme": "Enable Themes discovery & tracking",
+ "token": "GitHub Personal Access Token"
+ },
+ "description": "Before you can setup HACS you need to acknowledge the following",
+ "title": "HACS"
}
- }
+ },
+ "title": "HACS (Home Assistant Community Store)"
},
"confirm": {
"add_to_lovelace": "Are you sure you want to add this to your Lovelace resources?",
+ "bg_task": "Action is disabled while background tasks is running.",
+ "cancel": "Cancel",
"continue": "Are you sure you want to continue?",
- "delete": "Are you sure you want to delete \"{item}\"?",
+ "delete": "Are you sure you want to delete '{item}'?",
+ "delete_installed": "'{item}' is installed, you need to uninstall it before you can delete it.",
+ "exist": "{item} already exists",
"generic": "Are you sure?",
+ "home_assistant_is_restarting": "Hold on, Home Assistant is now restarting.",
+ "home_assistant_version_not_correct": "You are running Home Assistant version '{haversion}', but this repository requires minimum version '{minversion}' to be installed.",
+ "no": "No",
+ "no_upgrades": "No upgrades pending",
+ "ok": "OK",
"overwrite": "Doing this will overwrite it.",
- "uninstall": "Are you sure you want to uninstall \"{item}\"?"
+ "reload_data": "This reloads the data of all repositories HACS knows about, this will take some time to finish.",
+ "restart_home_assistant": "Are you sure you want to restart Home Assistant?",
+ "uninstall": "Are you sure you want to uninstall '{item}'?",
+ "upgrade_all": "This will upgrade all of these repositories, make sure that you have read the release notes for all of them before proceeding.",
+ "yes": "Yes"
+ },
+ "dialog_about": {
+ "frontend_version": "Frontend version",
+ "installed_repositories": "Installed repositories",
+ "integration_version": "Integration version",
+ "useful_links": "Useful links"
+ },
+ "dialog_add_repo": {
+ "limit": "Only the first 100 repositories are shown, use the search to filter what you need",
+ "no_match": "No repositories found matching your filter",
+ "sort_by": "Sort by",
+ "title": "Add repository"
+ },
+ "dialog_custom_repositories": {
+ "category": "Category",
+ "no_category": "Missing category",
+ "no_repository": "Missing repository",
+ "title": "Custom repositories",
+ "url_placeholder": "Add custom repository URL"
+ },
+ "dialog_info": {
+ "author": "Author",
+ "downloads": "Downloads",
+ "install": "Install this repository in HACS",
+ "loading": "Loading information...",
+ "no_info": "The developer has not provided any more information for this repository",
+ "open_issues": "Open issues",
+ "open_repo": "Open repository",
+ "stars": "Stars",
+ "version_installed": "Version installed"
+ },
+ "dialog_install": {
+ "restart": "Remember that you need to restart Home Assistant before changes to integrations (custom_components) are applied.",
+ "select_version": "Select version",
+ "show_beta": "Show beta versions",
+ "type": "Type",
+ "url": "URL"
+ },
+ "dialog_removed": {
+ "link": "External link to more information",
+ "name": "Repository name",
+ "reason": "Removal reason",
+ "type": "Removal type"
+ },
+ "dialog_update": {
+ "available_version": "Available version",
+ "changelog": "Changelog",
+ "installed_version": "Installed version",
+ "releasenotes": "Release notes for {release}",
+ "title": "Update pending"
+ },
+ "dialog": {
+ "reload": {
+ "confirm": "Do you want to do that now?",
+ "description": "You need to clear your browser cache when changing Lovelace resources."
+ }
+ },
+ "entry": {
+ "information": "Information",
+ "intro": "Updates and important messages will show here if there are any",
+ "messages": {
+ "disabled": {
+ "content": "Check your log file for more details",
+ "title": "HACS is disabled"
+ },
+ "has_pending_tasks": {
+ "content": "Some repositories might not show until this is completed",
+ "title": "Background tasks pending"
+ },
+ "removed": "Removed repository '{repository}'",
+ "resources": {
+ "content": "You have {number} Lovelace elements that are not loaded properly in Lovelace.",
+ "title": "Not loaded in Lovelace"
+ },
+ "restart": {
+ "content": "You have {number} integrations that requires a restart of Home Assistant, you can do that from the 'Server Controls' section under the configuration part of Home Assistant UI.",
+ "title": "Pending restart"
+ },
+ "setup": {
+ "content": "HACS is setting up, during this time some information might be missing or incorrect",
+ "title": "HACS is setting up"
+ },
+ "startup": {
+ "content": "HACS is starting up, during this time some information might be missing or incorrect",
+ "title": "HACS is starting up"
+ },
+ "waiting": {
+ "content": "HACS is waiting for Home Assistant to finish startup before starting startup tasks",
+ "title": "HACS is waiting"
+ },
+ "wrong_frontend_installed": {
+ "content": "You have {running} of the HACS frontend installed, but version {expected} was expected, if this you see this message Home Assistant was not able to install the new version, try restarting Home Assistant.",
+ "title": "Unexpected frontend version"
+ },
+ "wrong_frontend_loaded": {
+ "content": "You are running version {running} of the HACS frontend, but version {expected} was expected, you should clear your browser cache.",
+ "title": "Unexpected frontend version"
+ }
+ },
+ "pending_updates": "Pending updates"
+ },
+ "menu": {
+ "about": "About HACS",
+ "clear": "Clear all new",
+ "custom_repositories": "Custom repositories",
+ "dismiss": "Dismiss all new repositories",
+ "documentation": "Documentation",
+ "open_issue": "Open issue",
+ "reload": "Reload window"
},
"options": {
"step": {
@@ -39,27 +224,161 @@
}
},
"repository_banner": {
+ "config_flow": "This integration supports config_flow, that means that you now can go to the integration section of your UI to configure it.",
+ "config_flow_title": "UI Configuration supported",
"integration_not_loaded": "This integration is not loaded in Home Assistant.",
+ "no_restart_required": "No restart required",
"not_loaded": "Not loaded",
- "plugin_not_loaded": "This plugin is not added to your Lovelace resources.",
+ "plugin_not_loaded": "This element is not added to your Lovelace resources.",
"restart": "You need to restart Home Assistant.",
"restart_pending": "Restart pending"
},
+ "repository_card": {
+ "dismiss": "dismiss",
+ "hide": "Hide",
+ "information": "Information",
+ "new_repository": "New repository",
+ "not_loaded": "Not loaded",
+ "open_issue": "Open issue",
+ "open_source": "Open source",
+ "pending_restart": "Pending restart",
+ "pending_update": "Pending update",
+ "reinstall": "Reinstall",
+ "report": "Report for removal",
+ "update_information": "Update information"
+ },
"repository": {
"add_to_lovelace": "Add to Lovelace",
- "authors": "Authors"
+ "authors": "Authors",
+ "available": "Available",
+ "back_to": "Back to",
+ "changelog": "Change log",
+ "downloads": "Downloads",
+ "flag_this": "Flag this",
+ "frontend_version": "Frontend version",
+ "github_stars": "GitHub stars",
+ "goto_integrations": "Go to integrations",
+ "hide": "Hide",
+ "hide_beta": "Hide beta",
+ "install": "Install",
+ "installed": "Installed",
+ "lovelace_copy_example": "Copy the example to your clipboard",
+ "lovelace_instruction": "When you add this to your lovelace configuration use this",
+ "lovelace_no_js_type": "Could not determine the type of this element, check the repository.",
+ "newest": "newest",
+ "note_appdaemon": "you still need to add it to your 'apps.yaml' file",
+ "note_installed": "When installed, this will be located in",
+ "note_integration": "you still need to add it to your 'configuration.yaml' file",
+ "note_plugin": "you still need to add it to your lovelace configuration ('ui-lovelace.yaml' or the raw UI config editor)",
+ "note_plugin_post_107": "you still need to add it to your lovelace configuration ('configuration.yaml' or the resource editor '\/config\/lovelace\/resources')",
+ "open_issue": "Open issue",
+ "open_plugin": "Open element",
+ "reinstall": "Reinstall",
+ "repository": "Repository",
+ "restart_home_assistant": "Restart Home Assistant",
+ "show_beta": "Show beta",
+ "uninstall": "Uninstall",
+ "update_information": "Update information",
+ "upgrade": "Update"
+ },
+ "search": {
+ "installed": "Search for installed repositories",
+ "installed_new": "Search for installed or new repositories",
+ "placeholder": "Search for repository"
+ },
+ "sections": {
+ "about": {
+ "description": "Show information about HACS",
+ "title": "About"
+ },
+ "addon": {
+ "description": "There are no addons in HACS, but you can click here to get to the supervisor",
+ "title": "Add-ons"
+ },
+ "automation": {
+ "description": "This is where you find python_scripts, AppDaemon apps and NetDaemon apps",
+ "title": "Automation"
+ },
+ "frontend": {
+ "description": "This is where you find themes, custom cards and other elements for lovelace",
+ "title": "Frontend"
+ },
+ "integrations": {
+ "description": "This is where you find custom integrations (custom_components)",
+ "title": "Integrations"
+ },
+ "pending_repository_upgrade": "You are running version {installed}, version {available} is available"
},
"settings": {
+ "add_custom_repository": "ADD CUSTOM REPOSITORY",
+ "adding_new_repo": "Adding new repository '{repo}'",
+ "adding_new_repo_category": "With category '{category}'.",
+ "bg_task_custom": "Custom repositories are hidden while background tasks is running.",
+ "category": "Category",
"compact_mode": "Compact mode",
+ "custom_repositories": "CUSTOM REPOSITORIES",
+ "delete": "Delete",
+ "display": "Display",
+ "grid": "Grid",
+ "hacs_repo": "HACS repo",
"hidden_repositories": "hidden repositories",
+ "missing_category": "You need to select a category",
+ "open_repository": "Open repository",
+ "reload_data": "Reload data",
+ "reload_window": "Reload window",
+ "repository_configuration": "Repository configuration",
+ "save": "Save",
+ "table": "Table",
"table_view": "Table view",
- "unhide": "unhide"
+ "unhide": "unhide",
+ "upgrade_all": "Upgrade all"
},
"store": {
+ "add": "Explore & add repositories",
+ "ascending": "ascending",
"clear_new": "Clear all new repositories",
+ "descending": "descending",
+ "last_updated": "Last updated",
"name": "Name",
"new_repositories": "New Repositories",
+ "new_repositories_note": "You have over 10 new repositories showing here, if you want to clear them all click the 3 dots in the top right corner and dismiss all of them.",
+ "no_repositories": "No repositories",
+ "no_repositories_desc1": "It seems like you don't have any repositories installed in this section yet.",
+ "no_repositories_desc2": "Click on the + in the bottom corner to add your first!",
+ "no_repositories_found_desc1": "No installed repositories matching \"{searchInput}\" found in this section.",
+ "no_repositories_found_desc2": "Try searching for something else!",
+ "pending_upgrades": "Pending upgrades",
+ "placeholder_search": "Please enter a search term...",
"sort": "sort",
+ "stars": "Stars",
"status": "Status"
+ },
+ "time": {
+ "ago": "ago",
+ "day": "day",
+ "days": "days",
+ "hour": "hour",
+ "hours": "hours",
+ "minute": "minute",
+ "minutes": "minutes",
+ "month": "month",
+ "months": "months",
+ "one": "One",
+ "one_day_ago": "one day ago",
+ "one_hour_ago": "one hour ago",
+ "one_minute_ago": "one minute ago",
+ "one_month_ago": "one month ago",
+ "one_second_ago": "one second ago",
+ "one_year_ago": "one year ago",
+ "second": "second",
+ "seconds": "seconds",
+ "x_days_ago": "{x} days ago",
+ "x_hours_ago": "{x} hours ago",
+ "x_minutes_ago": "{x} minutes ago",
+ "x_months_ago": "{x} months ago",
+ "x_seconds_ago": "{x} seconds ago",
+ "x_years_ago": "{x} years ago",
+ "year": "year",
+ "years": "years"
}
}
\ No newline at end of file
diff --git a/custom_components/hacs/translations/es.json b/custom_components/hacs/translations/es.json
index e774929c..363db32a 100644
--- a/custom_components/hacs/translations/es.json
+++ b/custom_components/hacs/translations/es.json
@@ -1,25 +1,203 @@
{
+ "common": {
+ "about": "Acerca de",
+ "add": "añadir",
+ "appdaemon": "AppDaemon",
+ "appdaemon_apps": "AppDaemon Apps",
+ "appdaemon_plural": "AppDaemon Apps",
+ "background_task": "Ejecutando tareas en segundo plano. Se refrescará automaticamente esta página al finalizar.",
+ "cancel": "Cancelar",
+ "check_log_file": "Compruebe el archivo de registro para obtener más detalles.",
+ "continue": "Continuar",
+ "disabled": "Deshabilitado",
+ "documentation": "Documentación",
+ "element": "elemento",
+ "hacs_is_disabled": "HACS está deshabilitado",
+ "ignore": "Ignorar",
+ "install": "Instalar",
+ "installed": "instalado",
+ "integration": "Integración",
+ "integration_plural": "Integraciones",
+ "integrations": "Integraciones",
+ "lovelace": "Lovelace",
+ "lovelace_element": "Elemento de Lovelace",
+ "lovelace_elements": "Elementos de Lovelace",
+ "manage": "Administrar",
+ "netdaemon": "NetDaemon",
+ "netdaemon_apps": "NetDaemon Apps",
+ "netdaemon_plural": "Aplicaciones NetDaemon",
+ "plugin": "Lovelace",
+ "plugin_plural": "Elementos de Lovelace",
+ "plugins": "Elementos de Lovelace",
+ "python_script": "Python Script",
+ "python_script_plural": "Python Scripts",
+ "python_scripts": "Python Scripts",
+ "reload": "Recargar",
+ "repositories": "Repositorios",
+ "repository": "Repositorio",
+ "settings": "configuraciones",
+ "theme": "Tema",
+ "theme_plural": "Temas",
+ "themes": "Temas",
+ "uninstall": "Desinstalar",
+ "update": "Actualizar",
+ "version": "Versión"
+ },
"config": {
- "abort": {
- "single_instance_allowed": "Sólo se permite una única configuración de HACS."
- },
- "error": {
- "auth": "El token de acceso personal no es correcto."
- },
"step": {
+ "device": {
+ "description": "Open {url} and paste this key `{code}` to authorize HACS, when you have done that click 'submit'",
+ "title": "HACS"
+ },
"user": {
- "description": "Si necesitas ayuda con la configuración, visita la siguiente pagina: https:\/\/hacs.xyz\/docs\/configuration\/start",
- "title": "HACS (Home Assistant Community Store)"
+ "data": {
+ "acc_addons": "I know that there are no add-ons in HACS",
+ "acc_disable": "I know that if I get issues with Home Assistant I should disable all my custom_components",
+ "acc_logs": "I know how to access Home Assistant logs",
+ "acc_untested": "I know that everything inside HACS is custom and untested by Home Assistant",
+ "appdaemon": "Enable AppDaemon apps discovery & tracking",
+ "netdaemon": "Enable NetDaemon apps discovery & tracking",
+ "python_script": "Enable python_scripts discovery & tracking",
+ "sidepanel_icon": "Side panel icon",
+ "sidepanel_title": "Side panel title",
+ "theme": "Enable Themes discovery & tracking",
+ "token": "GitHub Personal Access Token"
+ },
+ "description": "Before you can setup HACS you need to acknowledge the following",
+ "title": "HACS"
}
- }
+ },
+ "title": "HACS (Home Assistant Community Store)"
},
"confirm": {
"add_to_lovelace": "¿Está seguro de que desea agregar esto a sus recursos de Lovelace?",
+ "bg_task": "La acción está deshabilitada mientras se ejecutan tareas en segundo plano.",
+ "cancel": "Cancelar",
"continue": "Estás seguro de que quieres continuar?",
"delete": "¿Seguro que quieres eliminar '{item}'?",
+ "delete_installed": "'{item}' está instalado, debe desinstalarlo antes de poder eliminarlo.",
+ "exist": "{item} ya existe",
"generic": "¿Estás seguro?",
+ "home_assistant_is_restarting": "Espera, Home Assistant se está reiniciando.",
+ "home_assistant_version_not_correct": "Está ejecutando la versión '{haversion}' de Home Assistant, pero este repositorio requiere la instalación de la versión '{minversion}' mínima.",
+ "no": "No",
+ "no_upgrades": "No hay actualizaciones pendientes",
+ "ok": "OK",
"overwrite": "Si haces esto, se sobrescribirá.",
- "uninstall": "¿Está seguro de que deseas desinstalar '{item}'?"
+ "reload_data": "Esto recarga los datos de todos los repositorios que HACS conoce, esto tardará algún tiempo en finalizar.",
+ "restart_home_assistant": "¿Está seguro de que desea reiniciar Home Assistant?",
+ "uninstall": "¿Está seguro de que deseas desinstalar '{item}'?",
+ "upgrade_all": "Esto actualizará todos estos repositorios, asegúrese de que ha leído las notas de la versión de todos ellos antes de continuar.",
+ "yes": "Si"
+ },
+ "dialog_about": {
+ "frontend_version": "Versión del front-end",
+ "installed_repositories": "Repositorios instalados",
+ "integration_version": "Versión de la integración",
+ "useful_links": "Enlaces útiles"
+ },
+ "dialog_add_repo": {
+ "limit": "Sólo se muestran los primeros 100 repositorios, utilice la búsqueda para filtrar lo que necesita",
+ "no_match": "No se han encontrado repositorios que coincidan con el filtro",
+ "sort_by": "Ordenar por",
+ "title": "Añadir repositorio"
+ },
+ "dialog_custom_repositories": {
+ "category": "Categoría",
+ "no_category": "Categoría que falta",
+ "no_repository": "Falta el repositorio",
+ "title": "Repositorios personalizados",
+ "url_placeholder": "Agrega la URL del repositorio personalizado que deseas añadir"
+ },
+ "dialog_info": {
+ "author": "Autor",
+ "downloads": "Descargas",
+ "install": "Instalar este repositorio en HACS",
+ "loading": "Cargando información ...",
+ "no_info": "El desarrollador no ha proporcionado más información para este repositorio",
+ "open_issues": "Abrir incidencias",
+ "open_repo": "Abrir repositorio",
+ "stars": "Estrellas",
+ "version_installed": "Versión instalada"
+ },
+ "dialog_install": {
+ "restart": "Recuerde que debe reiniciar Home Assistant para que se apliquen los cambios en las integraciones (custom_components).",
+ "select_version": "Seleccione la versión",
+ "show_beta": "Mostrar versiones beta",
+ "type": "Tipo",
+ "url": "URL"
+ },
+ "dialog_removed": {
+ "link": "Enlace externo para más información",
+ "name": "Nombre del repositorio",
+ "reason": "Motivo de la eliminación",
+ "type": "Tipo de eliminación"
+ },
+ "dialog_update": {
+ "available_version": "Versión disponible",
+ "changelog": "Registro de cambios",
+ "installed_version": "Versión instalada",
+ "releasenotes": "Notas de lanzamiento para {release}",
+ "title": "Actualización pendiente"
+ },
+ "dialog": {
+ "reload": {
+ "confirm": "¿Quieres hacer eso ahora?",
+ "description": "Necesitas limpiar el caché de tu navegador cuando cambies los recursos de Lovelace."
+ }
+ },
+ "entry": {
+ "information": "Información",
+ "intro": "Las actualizaciones y los mensajes importantes se mostrarán aquí si hay alguno que mostrar",
+ "messages": {
+ "disabled": {
+ "content": "Compruebe el archivo de registro para obtener más detalles",
+ "title": "HACS está deshabilitado"
+ },
+ "has_pending_tasks": {
+ "content": "Es posible que algunos repositorios no se muestren hasta que esto se complete",
+ "title": "Tareas en segundo plano pendientes"
+ },
+ "removed": "Repositorio '{repository}' eliminado",
+ "resources": {
+ "content": "Tienes {number} elementos de Lovelace que no se cargan correctamente en Lovelace.",
+ "title": "No está cargada en Lovelace"
+ },
+ "restart": {
+ "content": "Tienes {number} integraciones que requieren un reinicio de Home Assistant, puedes hacerlo desde la sección 'Controles del Servidor' en la parte de configuración de la UI de Home Assistant.",
+ "title": "Pendiente de reinicio"
+ },
+ "setup": {
+ "content": "HACS se está configurando, durante este tiempo alguna información puede estar perdida o ser incorrecta",
+ "title": "HACS se está configurando"
+ },
+ "startup": {
+ "content": "HACS se está iniciando, durante este tiempo alguna información podría faltar o ser incorrecta",
+ "title": "HACS se está iniciando"
+ },
+ "waiting": {
+ "content": "HACS está esperando a que Home Assistant finalice el inicio antes de iniciar las tareas de inicio",
+ "title": "HACS está esperando"
+ },
+ "wrong_frontend_installed": {
+ "content": "Tienes instalada la versión {running} de la interfaz de HACS, pero se esperaba la versión {expected}, si ves este mensaje, Home Assistant no pudo instalar la nueva versión, intenta reiniciar Home Assistant.",
+ "title": "Versión inesperada de la interfaz"
+ },
+ "wrong_frontend_loaded": {
+ "content": "Estás ejecutando la versión {running} de la interfaz HACS, pero se esperaba la versión {expected} , deberías de limpiar la memoria caché del navegador.",
+ "title": "Versión inesperada de la interfaz"
+ }
+ },
+ "pending_updates": "Actualizaciones pendientes"
+ },
+ "menu": {
+ "about": "Acerca de HACS",
+ "clear": "Borrar todo lo nuevo",
+ "custom_repositories": "Repositorios personalizados",
+ "dismiss": "Descartar todos los repositorios nuevos",
+ "documentation": "Documentación",
+ "open_issue": "Abrir incidencias",
+ "reload": "Recargar la ventana"
},
"options": {
"step": {
@@ -39,27 +217,160 @@
}
},
"repository_banner": {
+ "config_flow": "Esta integración soporta config_flow, lo que significa que ahora puede ir a la sección de integración de su UI para configurarlo.",
+ "config_flow_title": "Configuración de UI soportada",
"integration_not_loaded": "Esta integración no se carga en Home Assistant.",
+ "no_restart_required": "No es necesario reiniciar",
"not_loaded": "No está cargado",
"plugin_not_loaded": "Este plugin aun no se ha añadido a sus recursos de Lovelace.",
"restart": "Es necesario reiniciar Home Assistant.",
"restart_pending": "Reinicio pendiente"
},
+ "repository_card": {
+ "dismiss": "descartar",
+ "hide": "Ocultar",
+ "information": "Información",
+ "new_repository": "Nuevo repositorio",
+ "not_loaded": "Sin cargar",
+ "open_issue": "Abrir incidencias",
+ "open_source": "Código abierto",
+ "pending_restart": "Pendiente de reinicio",
+ "pending_update": "Actualización pendiente",
+ "reinstall": "Reinstalar",
+ "report": "Informe para la eliminación",
+ "update_information": "Actualizar información"
+ },
"repository": {
"add_to_lovelace": "Añadir a Lovelace",
- "authors": "Autores"
+ "authors": "Autores",
+ "available": "Disponible",
+ "back_to": "Volver a",
+ "changelog": "Registro de cambios",
+ "downloads": "Descargas",
+ "flag_this": "Marcar esto",
+ "frontend_version": "Versión del frontend",
+ "github_stars": "Estrellas de GitHub",
+ "goto_integrations": "Ir a integraciones",
+ "hide": "Ocultar",
+ "hide_beta": "Ocultar beta",
+ "install": "Instalar",
+ "installed": "Instalado",
+ "lovelace_copy_example": "Copiar el ejemplo al clipboard",
+ "lovelace_instruction": "Agregue lo siguiente en su configuración de lovelace",
+ "lovelace_no_js_type": "No se pudo determinar el tipo de elemento, revise el repositorio.",
+ "newest": "más nuevo",
+ "note_appdaemon": "deberá agregar esto a su archivo 'apps.yaml'",
+ "note_installed": "Cuando esté instalado, se ubicará en",
+ "note_integration": "deberá agregar esto a su archivo 'configuration.yaml'",
+ "note_plugin": "deberá agregar esto a su configuración de lovelace ('ui-lovelace.yaml' o en el editor UI de lovelace)",
+ "note_plugin_post_107": "todavía necesita agregarlo a su configuración de lovelace ('configuration.yaml' o al editor de recursos '\/config\/lovelace\/resources')",
+ "open_issue": "Abrir incidencias",
+ "open_plugin": "Abrir elemento",
+ "reinstall": "Reinstalar",
+ "repository": "Repositorio",
+ "restart_home_assistant": "Reiniciar Home Assistant",
+ "show_beta": "Mostrar beta",
+ "uninstall": "Desinstalar",
+ "update_information": "Actualizar información",
+ "upgrade": "Actualizar"
+ },
+ "search": {
+ "installed": "Buscar repositorios instalados",
+ "installed_new": "Buscar repositorios instalados o nuevos",
+ "placeholder": "Buscar repositorio"
+ },
+ "sections": {
+ "about": {
+ "description": "Mostrar información sobre HACS",
+ "title": "Acerca de"
+ },
+ "addon": {
+ "description": "No hay complementos (addons) en HACS, pero puede hacer clic aquí para ir a la pestaña Supervisor",
+ "title": "Complementos (addons)"
+ },
+ "automation": {
+ "description": "Aquí es donde se encuentran python_scripts, aplicaciones AppDaemon y aplicaciones NetDaemon",
+ "title": "Automatización"
+ },
+ "frontend": {
+ "description": "Aquí es donde encontrarás temas, tarjetas personalizadas y otros elementos para lovelace",
+ "title": "Interfaz"
+ },
+ "integrations": {
+ "description": "Aquí es donde se encuentran las integraciones personalizadas (custom_components)",
+ "title": "Integraciones"
+ },
+ "pending_repository_upgrade": "Está ejecutando la versión {installed}, la versión {available} está disponible"
},
"settings": {
+ "add_custom_repository": "AGREGAR REPOSITORIO PERSONALIZADO",
+ "adding_new_repo": "Añadiendo un nuevo repositorio '{repo}'.",
+ "adding_new_repo_category": "Con la categoría '{categoría}'.",
+ "bg_task_custom": "Los repositorios personalizados están ocultos mientras se ejecutan las tareas en segundo plano.",
+ "category": "Categoría",
"compact_mode": "Modo compacto",
+ "custom_repositories": "REPOSITORIOS PERSONALIZADOS",
+ "delete": "Eliminar",
+ "display": "Mostrar",
+ "grid": "Cuadrícula",
+ "hacs_repo": "HACS repo",
"hidden_repositories": "repositorios ocultos",
+ "missing_category": "Es necesario seleccionar una categoría",
+ "open_repository": "Abrir repositorio",
+ "reload_data": "Recargar datos",
+ "reload_window": "Recargar ventana",
+ "repository_configuration": "Configuración del repositorio",
+ "save": "Guardar",
+ "table": "Tabla",
"table_view": "Vista de la tabla",
- "unhide": "mostrar"
+ "unhide": "mostrar",
+ "upgrade_all": "Actualizar todo"
},
"store": {
+ "ascending": "ascendente",
"clear_new": "Eliminar la lista los nuevos repositorios",
+ "descending": "descendente",
+ "last_updated": "Última actualización",
"name": "Nombre",
"new_repositories": "Nuevos Repositorios",
+ "new_repositories_note": "Tienes más de 10 nuevos repositorios mostrados aquí, si quieres borrarlos todos haz clic en los 3 puntos de la esquina superior derecha y deséchalos todos.",
+ "no_repositories": "Sin repositorios",
+ "no_repositories_desc1": "Parece que todavía no tiene ningún repositorio instalado en esta sección.",
+ "no_repositories_desc2": "Haga clic en el + de la esquina inferior derecha para agregar su primer repositorio!",
+ "no_repositories_found_desc1": "No se ha encontrado ningún repositorio instalado que coincida con el valor de \"{searchInput}\" en esta sección.",
+ "no_repositories_found_desc2": "¡Intenta buscar otra cosa!",
+ "pending_upgrades": "Actualizaciones pendientes",
+ "placeholder_search": "Por favor escriba una palabra clave de búsqueda...",
"sort": "ordenar",
+ "stars": "Estrellas",
"status": "Estado"
+ },
+ "time": {
+ "ago": "hace",
+ "day": "dia",
+ "days": "dias",
+ "hour": "hora",
+ "hours": "horas",
+ "minute": "minuto",
+ "minutes": "minutos",
+ "month": "mes",
+ "months": "meses",
+ "one": "Uno",
+ "one_day_ago": "hace un día",
+ "one_hour_ago": "hace una hora",
+ "one_minute_ago": "hace un minuto",
+ "one_month_ago": "hace un mes",
+ "one_second_ago": "hace un segundo",
+ "one_year_ago": "hace un año",
+ "second": "segundo",
+ "seconds": "segundos",
+ "x_days_ago": "hace {x} dias",
+ "x_hours_ago": "hace {x} horas",
+ "x_minutes_ago": "hace {x} minutos",
+ "x_months_ago": "hace {x} meses",
+ "x_seconds_ago": "hace {x} segundos",
+ "x_years_ago": "hace {x} años",
+ "year": "año",
+ "years": "años"
}
}
\ No newline at end of file
diff --git a/custom_components/hacs/translations/et_EE.json b/custom_components/hacs/translations/et_EE.json
new file mode 100644
index 00000000..4cf27897
--- /dev/null
+++ b/custom_components/hacs/translations/et_EE.json
@@ -0,0 +1,358 @@
+{
+ "common": {
+ "about": "Üldteave",
+ "add": "lisa",
+ "appdaemon_apps": "AppDaemoni rakendused",
+ "appdaemon_plural": "AppDaemoni rakendused",
+ "background_task": "Taustatoiming on töös. See leht taaslaetakse kui toiming on lõpetatud.",
+ "cancel": "Loobu",
+ "check_log_file": "Lisateavet leiad oma logifailist",
+ "continue": "Jätka",
+ "disabled": "Keelatud",
+ "documentation": "Dokumentatsioon",
+ "element": "element",
+ "hacs_is_disabled": "HACS on keelatud",
+ "ignore": "Eira",
+ "install": "Paigalda",
+ "installed": "paigaldatud",
+ "integration": "Sidumine",
+ "integration_plural": "Sidumised",
+ "integrations": "Sidumised",
+ "lovelace": "Lovelace",
+ "lovelace_element": "Kasutajaliidese element",
+ "lovelace_elements": "Kasutajaliidese elemendid",
+ "manage": "halda",
+ "netdaemon": "NetDaemon",
+ "netdaemon_apps": "NetDaemoni rakendused",
+ "netdaemon_plural": "NetDaemoni rakendused",
+ "plugin": "Kasutajaliides",
+ "plugin_plural": "Kasutajaliidese elemendid",
+ "plugins": "Kasutajaliidese elemendid",
+ "python_script": "Pythoni skript",
+ "python_script_plural": "Pythoni skriptid",
+ "python_scripts": "Pythoni skriptid",
+ "reload": "Taaslae",
+ "repositories": "Teegid",
+ "repository": "Hoidla",
+ "settings": "seaded",
+ "theme": "Kuva teema",
+ "theme_plural": "Kuvateemad",
+ "themes": "Kuvateemad",
+ "uninstall": "Desinstalli",
+ "update": "Uuendus",
+ "version": "Versioon"
+ },
+ "config": {
+ "abort": {
+ "single_instance_allowed": "Lubatud on ainult üks HACS-i paigaldus."
+ },
+ "error": {
+ "acc": "Enne jätkamist pead nõustuma kõiki tingimustega",
+ "auth": "Isiklik juurdepääsutõend pole õige"
+ }
+ },
+ "confirm": {
+ "add_to_lovelace": "Kas oled kindel, et soovid lisada selle oma Lovelace'i ressurssidele?",
+ "bg_task": "Taustaülesannete töötamise ajal on toiming keelatud.",
+ "cancel": "Loobu",
+ "continue": "Kas soovite kindlasti jätkata?",
+ "delete": "Kas soovid kindlasti üksuse '{item}' kustutada?",
+ "delete_installed": "'{item}' on ipaigaldatud, peate selle enne kustutamist eemaldama.",
+ "exist": "{item} on juba olemas",
+ "generic": "Oled sa kindel?",
+ "home_assistant_is_restarting": "Oota, Home Assistant taaskäivitub.",
+ "home_assistant_version_not_correct": "Kasutad Home Assistanti versiooni '{haversion}' kuid see hoidla nõuab vähemalt versiooni '{minversion}' installimist.",
+ "no": "Ei",
+ "no_upgrades": "Värskendused puuduvad",
+ "ok": "Sobib",
+ "overwrite": "See toiming kirjutab selle üle.",
+ "reload_data": "See taaslaeb kõigi HACS-i teada olevate hoidlate andme. Selle lõpuleviimine võtab palju aega.",
+ "restart_home_assistant": "Kas soovid kindlasti Home Assistanti taaskäivitada?",
+ "uninstall": "Kas soovid kindlasti üksuse '{item}' desinstallida?",
+ "upgrade_all": "See uuendab kõiki valitud hoidlaid. Veenduge, et olete enne jätkamist lugenud kõigi nende väljalaskemärkmeid.",
+ "yes": "Jah"
+ },
+ "dialog_about": {
+ "frontend_version": "Kasutajaliidese versioon",
+ "installed_repositories": "Paigaldatud hoidlad",
+ "integration_version": "Sidumise versioon",
+ "useful_links": "Kasulikud veebiviited"
+ },
+ "dialog_add_repo": {
+ "limit": "Kuvatakse ainult esimesed 100 hoidlat. Vajaliku filtreerimiseks kasutage otsingut",
+ "no_match": "Filtrile vastavaid hoidlaid ei leitud",
+ "sort_by": "Sortimisalus",
+ "title": "Lisa hoidla"
+ },
+ "dialog_custom_repositories": {
+ "category": "Kategooria",
+ "no_category": "Puuduv kategooria",
+ "no_repository": "Puuduv hoidla",
+ "title": "Kohandatud hoidlad",
+ "url_placeholder": "Lisa kohandatud hoidla URL"
+ },
+ "dialog_info": {
+ "author": "Autor",
+ "downloads": "Allalaadimised",
+ "install": "Paigalda see hoidla HACS-i",
+ "loading": "Teabe laadimine ...",
+ "no_info": "Arendaja ei ole selle hoidla kohta rohkem teavet avaldanud",
+ "open_issues": "Teadaolevad tõrketeatised",
+ "open_repo": "Ava hoidla",
+ "stars": "Hinnang",
+ "version_installed": "Paigaldatud versioon"
+ },
+ "dialog_install": {
+ "restart": "Pea meeles, et sidumiste (custom_components) muudatuste rakendamiseks pead Home Assistanti taaskäivitama.",
+ "select_version": "Vali versioon",
+ "show_beta": "Kuva beetaversioonid",
+ "type": "Liik",
+ "url": "URL"
+ },
+ "dialog_removed": {
+ "link": "Väline link lisateabe saamiseks",
+ "name": "Hoidla nimi",
+ "reason": "Eemaldamise põhjus",
+ "type": "Eemaldamise tüüp"
+ },
+ "dialog_update": {
+ "available_version": "Saadaolev versioon",
+ "changelog": "Muudatused",
+ "installed_version": "Paigaldatud versioon",
+ "releasenotes": "Väljalaske märkused väljaandele {release}",
+ "title": "Uuendus on ootel"
+ },
+ "dialog": {
+ "reload": {
+ "confirm": "Kas teen seda kohe?",
+ "description": "Lovelace ressursside muutmisel pead brauseri vahemälu tühjendama."
+ }
+ },
+ "entry": {
+ "information": "Teave",
+ "intro": "Siin kuvatakse saadaval värskendused ja olulised sõnumid kui neid juhtub olema",
+ "messages": {
+ "disabled": {
+ "content": "Lisateavet leiad oma logifailist",
+ "title": "HACS on keelatud"
+ },
+ "has_pending_tasks": {
+ "content": "Mõnda hoidlat ei kuvata enne kui tegevus on lõpule viidud",
+ "title": "Taustal on ootel toiminguid"
+ },
+ "removed": "Eemaldasin hoidla '{repository}'",
+ "resources": {
+ "content": "Teil on {number} Lovelace'i elementi mis pole Lovelace'is õigesti laaditud.",
+ "title": "Ei laaditud Lovelace'i"
+ },
+ "restart": {
+ "content": "Teil on {number} sidumist mis nõuavad Home Assistanti taaskäivitamist. Saate seda teha Home Assistanti kasutajaliidese seadete alamjaotisest \"Serveri juhtimine\".",
+ "title": "Taaskäivitamise ootel"
+ },
+ "setup": {
+ "content": "HACS on seadistub. Selle aja jooksul võib osa teavet puududa või olla vale",
+ "title": "HACS seadistub"
+ },
+ "startup": {
+ "content": "HACS käivitub. Selle aja jooksul võib osa teavet puududa või olla vale",
+ "title": "HACS käivitub"
+ },
+ "waiting": {
+ "content": "HACS ootab Home Assistanti käivitumist",
+ "title": "HACS on ootel"
+ },
+ "wrong_frontend_installed": {
+ "content": "Teil on installitud HACS'i kasutajaliides {running} kuid eeldatakse versiooni {expected}. Kui näete seda teadet ei suutnud Home Assistant uut versiooni installida. Proovige Home Assistant taaskäivitada.",
+ "title": "Ootamatu kasutajaliidese versioon"
+ },
+ "wrong_frontend_loaded": {
+ "content": "Paigaldatud on HACS'i kasutajaliides {running} kuid eeldatakse versiooni {expected}. Tühjenda oma veebilehitseja vahemälu.",
+ "title": "Ootamatu kasutajaliidese versioon"
+ }
+ },
+ "pending_updates": "Ootel värskendused"
+ },
+ "menu": {
+ "about": "HACS-i info",
+ "clear": "Tühjenda kõik uued",
+ "custom_repositories": "Kohandatud hoidlad",
+ "dismiss": "Peida kõik uued hoidlad",
+ "documentation": "Dokumentatsioon",
+ "open_issue": "Esita tõrketeade",
+ "reload": "Lae aken uuesti"
+ },
+ "options": {
+ "step": {
+ "user": {
+ "data": {
+ "appdaemon": "Luba AppDaemoni rakenduste otsimine ja jälgimine",
+ "country": "Filtreeri riigi koodi abil.",
+ "debug": "Luba silumine.",
+ "experimental": "Luba katselised funktsioonid",
+ "netdaemon": "Luba NetDaemoni rakenduste otsimine ja jälgimine",
+ "not_in_use": "YAML režiimi ei toetata",
+ "release_limit": "Mitu väljalaset kuvada.",
+ "sidepanel_icon": "Külgpaneeli ikoon",
+ "sidepanel_title": "Külgpaneeli pealkiri"
+ }
+ }
+ }
+ },
+ "repository_banner": {
+ "config_flow": "See sidumine toetab config_flow'd. See tähendab, et selle seadistamiseks pead minema oma kasutajaliidese sidumiste sektsiooni.",
+ "config_flow_title": "Seadistamine kasutajaliidese abil",
+ "integration_not_loaded": "Seda sidumist ei laeta Home Assistanti.",
+ "no_restart_required": "Taaskäivitamine pole vajalik",
+ "not_loaded": "Pole laaditud",
+ "plugin_not_loaded": "Seda elementi ei lisata teie Lovelace'i ressurssidesse",
+ "restart": "Pead Home Assistanti taaskäivitama.",
+ "restart_pending": "Taaskäivitamine on ootel"
+ },
+ "repository_card": {
+ "dismiss": "Peida",
+ "hide": "Peida",
+ "information": "Teave",
+ "new_repository": "Uus hoidla",
+ "not_loaded": "Pole laaditud",
+ "open_issue": "Esita tõrketeade",
+ "open_source": "Avatud lähtekoodiga",
+ "pending_restart": "Taaskäivitamise ootel",
+ "pending_update": "Värskendamise ootel",
+ "reinstall": "Paigalda uuesti",
+ "report": "Teavita eemaldamiseks",
+ "update_information": "Värskenda teavet"
+ },
+ "repository": {
+ "add_to_lovelace": "Lisa kasutajaliidesesse",
+ "authors": "Autorid",
+ "available": "Saadaval",
+ "back_to": "Tagasi",
+ "changelog": "Muudatuste teave",
+ "downloads": "Allalaadimised",
+ "flag_this": "Märgi see ära",
+ "frontend_version": "Kasutajaliidese versioon",
+ "github_stars": "GitHubi hinnangud",
+ "goto_integrations": "Mine sidumiste juurde",
+ "hide": "Peida",
+ "hide_beta": "Peida eelversioon",
+ "install": "Paigalda",
+ "installed": "Paigaldatud",
+ "lovelace_copy_example": "Kopeeri näide lõikelauale",
+ "lovelace_instruction": "Kui lisad selle oma kasutajaliidese seadetesse kasuta",
+ "lovelace_no_js_type": "Selle elemendi tüüpi ei õnnestunud määratleda, kontrolli hoidlat.",
+ "newest": "uusim",
+ "note_appdaemon": "pead selle ikkagi lisama oma faili 'apps.yaml'",
+ "note_installed": "Kui see on paigaldatus siis asub see",
+ "note_integration": "pead selle ikkagi lisama oma faili 'configuration.yaml'",
+ "note_plugin": "lisaks pead selle lisama oma kasutajaliidese seadetesse ('ui-lovelace.yaml' või raw UI seadete redaktoris')",
+ "note_plugin_post_107": "pead selle lisama oma kasutajaliidese seadetesse ('configuration.yaml' või ressursiredaktoris '\/ config \/ lovelace \/ resources')",
+ "open_issue": "Esita tõrketeade",
+ "open_plugin": "Ava element",
+ "reinstall": "Paigalda uuesti",
+ "repository": "Hoidla",
+ "restart_home_assistant": "Taaskäivita Home Assistant",
+ "show_beta": "Kuva eelversioon",
+ "uninstall": "Desinstalli",
+ "update_information": "Värskenduse teave",
+ "upgrade": "Uuenda"
+ },
+ "search": {
+ "installed": "Otsi paigaldatud hoidlaid",
+ "installed_new": "Otsi paigaldatud või uusi hoidlaid",
+ "placeholder": "Otsi hoidlat"
+ },
+ "sections": {
+ "about": {
+ "description": "Kuva HACS-i teave",
+ "title": "Üldteave"
+ },
+ "addon": {
+ "description": "HACS-is pole lisandmooduleid. Supervisorisse pääsemiseks klõpsa siin",
+ "title": "Lisandmoodulid"
+ },
+ "automation": {
+ "description": "Siit leiad python_scripts, AppDaemoni ja NetDaemoni rakendused",
+ "title": "Automatiseeringud"
+ },
+ "frontend": {
+ "description": "Siit leiad kasutajaliidese teemad, kohandatud kaardid ja muud elemendid",
+ "title": "Kasutajaliides"
+ },
+ "integrations": {
+ "description": "Siit leiad kohandatud sidumised (custom_components)",
+ "title": "Sidumised"
+ },
+ "pending_repository_upgrade": "Kasutad versiooni {installed}, saadaval on versioon {available}"
+ },
+ "settings": {
+ "add_custom_repository": "LISA KOHANDATUD HOIDLA",
+ "adding_new_repo": "Lisan uue hoidla '{repo}'",
+ "adding_new_repo_category": "Kategoorias '{category}'.",
+ "bg_task_custom": "Kohandatud hoidlad on taustatoimingute töötamise ajal peidetud.",
+ "category": "Kategooria",
+ "compact_mode": "Kompaktne režiim",
+ "custom_repositories": "KOHANDATUD HOIDLAD",
+ "delete": "Kustuta",
+ "display": "Kuva",
+ "grid": "Võrgustik",
+ "hacs_repo": "HACSi teek",
+ "hidden_repositories": "peidetud hoidlad",
+ "missing_category": "Pead valima kategooria",
+ "open_repository": "Ava hoidla",
+ "reload_data": "Taaslae andmed",
+ "reload_window": "Lae aken uuesti",
+ "repository_configuration": "Hoidla seaded",
+ "save": "Salvesta",
+ "table": "Tabel",
+ "table_view": "Tabeli vaade",
+ "unhide": "too peidust välja",
+ "upgrade_all": "Uuenda kõik"
+ },
+ "store": {
+ "ascending": "kasvav",
+ "clear_new": "Peida kõik uued hoidlad",
+ "descending": "kahanev",
+ "last_updated": "Viimati uuendatud",
+ "name": "Nimi",
+ "new_repositories": "Uued hoidlad",
+ "new_repositories_note": "Siin on kuvatud üle 10 uue hoidla. Kui soovid need kõik peita klõpsa paremas ülanurgas 3 punkti ja jätaneed kõik kõrvale.",
+ "no_repositories": "Hoidlaid pole",
+ "no_repositories_desc1": "Tundub, et sul pole veel ühtegi hoidlat mis on siia jaotisse paigaldatud.",
+ "no_repositories_desc2": "Esimese hoidla lisamiseks klõpsake alumises nurgas + märki!",
+ "no_repositories_found_desc1": "Selles jaotises ei leitud ühtegi paigaldatud hoidlat mis vastaks otsingule \" {searchInput} \".",
+ "no_repositories_found_desc2": "Proovi otsida midagi muud!",
+ "pending_upgrades": "Ootel värskendused",
+ "placeholder_search": "Palun sisesta otsingutermin...",
+ "sort": "sorteeri",
+ "stars": "Hinnang",
+ "status": "Olek"
+ },
+ "time": {
+ "ago": "eest",
+ "day": "päev",
+ "days": "päeva",
+ "hour": "tund",
+ "hours": "tundi",
+ "minute": "minut",
+ "minutes": "minutit",
+ "month": "kuu",
+ "months": "kuud",
+ "one": "Üks",
+ "one_day_ago": "ühe aasta eest",
+ "one_hour_ago": "ühe tunni eest",
+ "one_minute_ago": "ühe minuti eest",
+ "one_month_ago": "ühe kuu esst",
+ "one_second_ago": "ühe sekundi eest",
+ "one_year_ago": "ühe aasta eest",
+ "second": "sekund",
+ "seconds": "sekundit",
+ "x_days_ago": "{x} päeva eest",
+ "x_hours_ago": "{x} tunni eest",
+ "x_minutes_ago": "{x} minuti eest",
+ "x_months_ago": "{x} kuu eest",
+ "x_seconds_ago": "{x} sekundi eest",
+ "x_years_ago": "{x} aasta eest",
+ "year": "aasta",
+ "years": "aastat"
+ }
+}
\ No newline at end of file
diff --git a/custom_components/hacs/translations/fi.json b/custom_components/hacs/translations/fi.json
index cb191cf1..5529fe58 100644
--- a/custom_components/hacs/translations/fi.json
+++ b/custom_components/hacs/translations/fi.json
@@ -1,6 +1,148 @@
{
+ "common": {
+ "about": "Tietoja",
+ "add": "Lisää",
+ "appdaemon_plural": "AppDaemon-sovellukset",
+ "check_log_file": "Tarkista lokitiedostosi saadaksesi lisätietoja.",
+ "disabled": "Poistettu käytöstä",
+ "documentation": "Dokumentointi",
+ "element": "elementti",
+ "hacs_is_disabled": "HACS on poistettu käytöstä",
+ "ignore": "Ohita",
+ "install": "Asenna",
+ "installed": "asennettu",
+ "integration_plural": "Integraatiot",
+ "lovelace": "Lovelace",
+ "lovelace_element": "Lovelace-elementti",
+ "lovelace_elements": "Lovelace-elementit",
+ "manage": "hallinnoi",
+ "netdaemon": "NetDaemon",
+ "netdaemon_apps": "NetDaemon-sovellukset",
+ "netdaemon_plural": "NetDaemon-sovellukset",
+ "plugin": "Lovelace",
+ "plugin_plural": "Lovelace-elementit",
+ "plugins": "Lovelace-elementit",
+ "python_script_plural": "Python-skriptit",
+ "repository": "Repo",
+ "theme": "Teema",
+ "theme_plural": "Teemat",
+ "themes": "Teemat",
+ "uninstall": "Poista",
+ "update": "Päivitä",
+ "version": "Versio"
+ },
+ "config": {
+ "step": {
+ "device": {
+ "description": "Open {url} and paste this key `{code}` to authorize HACS, when you have done that click 'submit'",
+ "title": "HACS"
+ },
+ "user": {
+ "data": {
+ "acc_addons": "I know that there are no add-ons in HACS",
+ "acc_disable": "I know that if I get issues with Home Assistant I should disable all my custom_components",
+ "acc_logs": "I know how to access Home Assistant logs",
+ "acc_untested": "I know that everything inside HACS is custom and untested by Home Assistant",
+ "appdaemon": "Enable AppDaemon apps discovery & tracking",
+ "netdaemon": "Enable NetDaemon apps discovery & tracking",
+ "python_script": "Enable python_scripts discovery & tracking",
+ "sidepanel_icon": "Side panel icon",
+ "sidepanel_title": "Side panel title",
+ "theme": "Enable Themes discovery & tracking",
+ "token": "GitHub Personal Access Token"
+ },
+ "description": "Before you can setup HACS you need to acknowledge the following",
+ "title": "HACS"
+ }
+ },
+ "title": "HACS (Home Assistant Community Store)"
+ },
"confirm": {
- "generic": "Oletko varma?"
+ "cancel": "Peruuta",
+ "generic": "Oletko varma?",
+ "no": "Ei",
+ "ok": "Okei",
+ "yes": "Kyllä"
+ },
+ "dialog_about": {
+ "frontend_version": "Frontend-versio",
+ "installed_repositories": "Asennetut repot",
+ "useful_links": "Hyödyllisiä linkkejä"
+ },
+ "dialog_add_repo": {
+ "sort_by": "Järjestä",
+ "title": "Lisää repo"
+ },
+ "dialog_custom_repositories": {
+ "category": "Kategoria",
+ "no_category": "Puuttuva kategoria",
+ "no_repository": "Puuttuva repo"
+ },
+ "dialog_info": {
+ "author": "Luoja",
+ "downloads": "Lataukset",
+ "install": "Asenna tämä HACS:iin",
+ "loading": "Tietoja ladataan...",
+ "open_issues": "Avoimet ongelmat",
+ "open_repo": "Avaa repo",
+ "stars": "Tähdet",
+ "version_installed": "Asennettu versio"
+ },
+ "dialog_install": {
+ "select_version": "Valitse versio",
+ "show_beta": "Näytä beetaversiot",
+ "type": "Tyyppi",
+ "url": "URL"
+ },
+ "dialog_removed": {
+ "link": "Linkki lisätietoihin",
+ "name": "Repon nimi",
+ "reason": "Poiston syy",
+ "type": "Poiston tyyppi"
+ },
+ "dialog_update": {
+ "available_version": "Saatavilla oleva versio",
+ "changelog": "Muutosloki",
+ "installed_version": "Asennettu versio",
+ "title": "Päivitys odottaa"
+ },
+ "entry": {
+ "information": "Tiedot",
+ "messages": {
+ "disabled": {
+ "content": "Tarkista lokitiedostosi saadaksesi lisätietoja",
+ "title": "HACS on poistettu käytöstä"
+ },
+ "has_pending_tasks": {
+ "title": "Taustatehtävät vireillä"
+ },
+ "removed": "Poistettu repo '{arkisto}'",
+ "resources": {
+ "title": "Ei ladattu Lovelaceen"
+ },
+ "restart": {
+ "title": "Odottaa uudelleenkäynnistystä"
+ },
+ "startup": {
+ "title": "HACS käynnistyy"
+ },
+ "wrong_frontend_installed": {
+ "title": "Odottamaton käyttöliittymäversio"
+ },
+ "wrong_frontend_loaded": {
+ "title": "Odottamaton käyttöliittymäversio"
+ }
+ },
+ "pending_updates": "Päivityksiä saatavilla"
+ },
+ "menu": {
+ "about": "Tietoja HACS:stä",
+ "clear": "Tyhjennä kaikki uudet",
+ "custom_repositories": "Mukautetut repot",
+ "dismiss": "Hylkää kaikki uudet repot",
+ "documentation": "Dokumentointi",
+ "open_issue": "Avoin ongelma",
+ "reload": "Lataa ikkuna uudelleen"
},
"options": {
"step": {
@@ -14,9 +156,87 @@
}
}
},
+ "repository_banner": {
+ "config_flow_title": "Käyttöliittymän määrityksiä tuetaan"
+ },
+ "repository_card": {
+ "dismiss": "Hylkää",
+ "hide": "Piilota",
+ "information": "Tiedot",
+ "new_repository": "Uusi repo",
+ "not_loaded": "Ei ladattu",
+ "open_issue": "Avoin ongelma",
+ "open_source": "Avoin lähdekoodi",
+ "pending_restart": "Odottaa uudelleenkäynnistystä",
+ "pending_update": "Odottaa päivittämistä",
+ "reinstall": "Asenna uudelleen",
+ "report": "Raportoi poistettavaksi",
+ "update_information": "Päivitä tiedot"
+ },
+ "repository": {
+ "frontend_version": "Frontend-versio",
+ "github_stars": "GitHub-tähdet",
+ "goto_integrations": "Siirry integraatioihin"
+ },
+ "search": {
+ "installed": "Etsi asennettuja repoja",
+ "installed_new": "Etsi asennettuja tai uusia repoja",
+ "placeholder": "Etsi repoa"
+ },
+ "sections": {
+ "about": {
+ "title": "Tietoja"
+ },
+ "automation": {
+ "title": "Automaatio"
+ },
+ "frontend": {
+ "title": "Frontend"
+ },
+ "integrations": {
+ "description": "Täältä löydät mukautetut integraatiot (custom_components)",
+ "title": "integraatiot"
+ }
+ },
+ "settings": {
+ "delete": "Poista",
+ "reload_window": "Lataa ikkuna uudelleen",
+ "save": "Tallenna"
+ },
"store": {
"name": "Nimi",
+ "no_repositories": "Ei repoja",
+ "no_repositories_found_desc2": "Kokeile etsiä jotain muuta!",
+ "pending_upgrades": "Odottaa päivityksiä",
"sort": "järjestä",
+ "stars": "Tähdet",
"status": "Tila"
+ },
+ "time": {
+ "day": "päivä",
+ "days": "päivää",
+ "hour": "tunti",
+ "hours": "tuntia",
+ "minute": "minuutti",
+ "minutes": "minuuttia",
+ "month": "kuukausi",
+ "months": "kuukautta",
+ "one": "Yksi",
+ "one_day_ago": "yksi päivä sitten",
+ "one_hour_ago": "tunti sitten",
+ "one_minute_ago": "minuutti sitten",
+ "one_month_ago": "kuukausi sitten",
+ "one_second_ago": "sekunti sitten",
+ "one_year_ago": "vuosi sitten",
+ "second": "sekunti",
+ "seconds": "sekuntia",
+ "x_days_ago": "{x} päivää sitten",
+ "x_hours_ago": "{x} tuntia sitten",
+ "x_minutes_ago": "{x} minuuttia sitten",
+ "x_months_ago": "{x} kuukautta sitten",
+ "x_seconds_ago": "{x} sekuntia sitten",
+ "x_years_ago": "{x} vuotta sitten",
+ "year": "vuosi",
+ "years": "vuotta"
}
}
\ No newline at end of file
diff --git a/custom_components/hacs/translations/fr.json b/custom_components/hacs/translations/fr.json
index 5a0f6852..1dc0197e 100644
--- a/custom_components/hacs/translations/fr.json
+++ b/custom_components/hacs/translations/fr.json
@@ -1,25 +1,210 @@
{
+ "common": {
+ "about": "À propos de",
+ "add": "ajouter",
+ "appdaemon": "AppDaemon",
+ "appdaemon_apps": "Applications AppDaemon",
+ "appdaemon_plural": "AppDaemon Apps",
+ "background_task": "Tache de fond en cours, cette page se rechargera une fois terminée",
+ "cancel": "Annuler",
+ "check_log_file": "Consultez votre fichier journal pour plus de détails.",
+ "continue": "Continuer",
+ "disabled": "Désactivé",
+ "documentation": "Documentation",
+ "element": "élément",
+ "hacs_is_disabled": "HACS est désactivé",
+ "ignore": "Ignorer",
+ "install": "Installer",
+ "installed": "installés",
+ "integration": "Intégration",
+ "integration_plural": "Intégrations",
+ "integrations": "Intégrations",
+ "lovelace": "Lovelace",
+ "lovelace_element": "Élément Lovelace",
+ "lovelace_elements": "Éléments Lovelace",
+ "manage": "gérer",
+ "netdaemon": "NetDaemon",
+ "netdaemon_apps": "Applications NetDaemon",
+ "netdaemon_plural": "NetDaemon Apps",
+ "plugin": "Lovelace",
+ "plugin_plural": "Éléments Lovelace",
+ "plugins": "Éléments Lovelace",
+ "python_script": "Script Python",
+ "python_script_plural": "Scripts Python",
+ "python_scripts": "Scripts Python",
+ "reload": "Recharger",
+ "repositories": "Dépôts",
+ "repository": "Dépôt",
+ "settings": "paramètres",
+ "theme": "Thème",
+ "theme_plural": "Thèmes",
+ "themes": "Thèmes",
+ "uninstall": "Désinstaller",
+ "update": "Mettre à jour",
+ "version": "Version"
+ },
"config": {
"abort": {
"single_instance_allowed": "Une seule configuration de HACS est autorisée."
},
"error": {
+ "acc": "Vous devez accepter toutes les déclarations avant de continuer",
"auth": "Le jeton personnel d'accès est invalide."
},
"step": {
+ "device": {
+ "description": "Open {url} and paste this key `{code}` to authorize HACS, when you have done that click 'submit'",
+ "title": "HACS"
+ },
"user": {
- "description": "Si vous avez besoin d'aide pour la configuration, jetez un œil ici: https:\/\/hacs.xyz\/docs\/configuration\/start",
- "title": "HACS (Home Assistant Community Store)"
+ "data": {
+ "acc_addons": "I know that there are no add-ons in HACS",
+ "acc_disable": "I know that if I get issues with Home Assistant I should disable all my custom_components",
+ "acc_logs": "I know how to access Home Assistant logs",
+ "acc_untested": "I know that everything inside HACS is custom and untested by Home Assistant",
+ "appdaemon": "Enable AppDaemon apps discovery & tracking",
+ "netdaemon": "Enable NetDaemon apps discovery & tracking",
+ "python_script": "Enable python_scripts discovery & tracking",
+ "sidepanel_icon": "Side panel icon",
+ "sidepanel_title": "Side panel title",
+ "theme": "Enable Themes discovery & tracking",
+ "token": "GitHub Personal Access Token"
+ },
+ "description": "Before you can setup HACS you need to acknowledge the following",
+ "title": "HACS"
}
- }
+ },
+ "title": "HACS (Home Assistant Community Store)"
},
"confirm": {
"add_to_lovelace": "Êtes-vous sûr de vouloir l'ajouter à vos ressources Lovelace ?",
+ "bg_task": "L'action est désactivée pendant l'exécution de tâches en arrière-plan.",
+ "cancel": "Annuler",
"continue": "Es-tu sur de vouloir continuer?",
"delete": "Êtes-vous sûr de vouloir supprimer '{item}'?",
+ "delete_installed": "'{item}' est installé, vous devez le désinstaller avant de pouvoir le supprimer.",
+ "exist": "{item} existe déjà",
"generic": "Êtes-vous sûr?",
+ "home_assistant_is_restarting": "Attendez, Home Assistant redémarre maintenant.",
+ "home_assistant_version_not_correct": "Vous utilisez la version '{haversion}' de Home Assistant, mais ce référentiel nécessite l'installation de la version minimale '{minversion}'.",
+ "no": "Non",
+ "no_upgrades": "Aucune mise à niveau en attente",
+ "ok": "OK",
"overwrite": "En faisant cela, cela l'écrasera.",
- "uninstall": "Êtes-vous sûr de vouloir désinstaller '{item}'?"
+ "reload_data": "Cela recharge les données de tous les dépôts dont HACS a connaissance, cela prendra un certain temps à terminer.",
+ "restart_home_assistant": "Voulez-vous vraiment redémarrer Home Assistant ?",
+ "uninstall": "Êtes-vous sûr de vouloir désinstaller '{item}'?",
+ "upgrade_all": "Cela mettra à niveau tous ces dépôts, assurez-vous d'avoir lu les notes de publication pour chacun d'entre eux avant de continuer.",
+ "yes": "Oui"
+ },
+ "dialog_about": {
+ "frontend_version": "Version frontend",
+ "installed_repositories": "Dépôts installés",
+ "integration_version": "Version d'intégration",
+ "useful_links": "Liens utiles"
+ },
+ "dialog_add_repo": {
+ "limit": "Seuls les 100 premiers dépôts sont affichés, utilisez la recherche pour filtrer ce dont vous avez besoin",
+ "no_match": "Aucun dépôt trouvé correspondant à votre filtre",
+ "sort_by": "Trier par",
+ "title": "Ajouter un dépôt"
+ },
+ "dialog_custom_repositories": {
+ "category": "Catégorie",
+ "no_category": "Catégorie manquante",
+ "no_repository": "Dépôt manquant",
+ "title": "Dépôts personnalisés",
+ "url_placeholder": "Ajouter une URL de dépôt personnalisée"
+ },
+ "dialog_info": {
+ "author": "Auteur",
+ "downloads": "Téléchargements",
+ "install": "Installer ce dépôt dans HACS",
+ "loading": "Chargement des informations ...",
+ "no_info": "Le développeur n'a pas fourni plus d'informations pour ce dépôt",
+ "open_issues": "Open issues",
+ "open_repo": "Ouvrir dépôt",
+ "stars": "Étoiles",
+ "version_installed": "Version installée"
+ },
+ "dialog_install": {
+ "restart": "N'oubliez pas que vous devez redémarrer Home Assistant avant que les modifications aux intégrations (custom_components) soient appliquées.",
+ "select_version": "Sélectionnez une version",
+ "show_beta": "Afficher les versions bêta",
+ "type": "Type",
+ "url": "URL"
+ },
+ "dialog_removed": {
+ "link": "Lien externe vers plus d'informations",
+ "name": "Nom du dépôt",
+ "reason": "Raison de la suppression",
+ "type": "Type de suppression"
+ },
+ "dialog_update": {
+ "available_version": "Version disponible",
+ "changelog": "Changelog",
+ "installed_version": "Version installée",
+ "releasenotes": "Notes de version pour {release}",
+ "title": "Mise à jour en attente"
+ },
+ "dialog": {
+ "reload": {
+ "confirm": "Voulez-vous faire cela maintenant ?",
+ "description": "Vous devez vider le cache de votre navigateur lors de la modification des ressources Lovelace."
+ }
+ },
+ "entry": {
+ "information": "Information",
+ "intro": "Les mises à jour et les messages importants s'afficheront ici s'il y en a",
+ "messages": {
+ "disabled": {
+ "content": "Vérifiez votre fichier journal pour plus de détails",
+ "title": "HACS est désactivé"
+ },
+ "has_pending_tasks": {
+ "content": "Certains dépôts peuvent ne pas apparaître tant que cette opération n'est pas terminée",
+ "title": "Tâches d’arrière-plan en attente"
+ },
+ "removed": "Dépôt '{repository}' supprimé",
+ "resources": {
+ "content": "Vous avez {number} éléments Lovelace qui ne sont pas chargés correctement dans Lovelace.",
+ "title": "Non chargé dans Lovelace"
+ },
+ "restart": {
+ "content": "Vous disposez de {number} intégrations qui nécessitent un redémarrage de Home Assistant, vous pouvez le faire à partir de la section \"Contrôle du serveur\" dans la partie configuration de l'interface utilisateur de Home Assistant.",
+ "title": "En attente de redémarrage"
+ },
+ "setup": {
+ "content": "HACS est en cours de configuration, pendant ce temps, certaines informations peuvent être manquantes ou incorrectes",
+ "title": "HACS se met en place"
+ },
+ "startup": {
+ "content": "HACS démarre, pendant ce temps, certaines informations peuvent être manquantes ou incorrectes",
+ "title": "HACS est en train de démarrer"
+ },
+ "waiting": {
+ "content": "HACS attend que Home Assistant termine le démarrage avant de démarrer les tâches de démarrage",
+ "title": "HACS attend"
+ },
+ "wrong_frontend_installed": {
+ "content": "Vous avez {running} du frontend HACS installé, mais la version {expected} était attendue. Si ce message s'affiche, Home Assistant n'a pas pu installer la nouvelle version, essayez de redémarrer Home Assistant.",
+ "title": "Version frontend inattendue"
+ },
+ "wrong_frontend_loaded": {
+ "content": "Vous exécutez la version {running} de l'interface HACS, mais la version {expected} était attendue, vous devez vider le cache de votre navigateur.",
+ "title": "Version frontend inattendue"
+ }
+ },
+ "pending_updates": "Mises à jour en attente"
+ },
+ "menu": {
+ "about": "À propos de HACS",
+ "clear": "Effacer tous les nouveaux",
+ "custom_repositories": "Dépôts personnalisés",
+ "dismiss": "Rejeter tous les nouveaux dépôts",
+ "documentation": "Documentation",
+ "open_issue": "Open issue",
+ "reload": "Recharger la fenêtre"
},
"options": {
"step": {
@@ -39,27 +224,160 @@
}
},
"repository_banner": {
+ "config_flow": "Cette intégration prend en charge config_flow, ce qui signifie que vous pouvez maintenant accéder à la section d'intégration de votre interface utilisateur pour le configurer.",
+ "config_flow_title": "Configuration de l'interface utilisateur prise en charge",
"integration_not_loaded": "Cette intégration n'est pas chargée dans Home Assistant.",
+ "no_restart_required": "Aucun redémarrage requis",
"not_loaded": "Non chargé",
"plugin_not_loaded": "Ce plugin n'est pas ajouté à vos ressources Lovelace.",
"restart": "Vous devez redémarrer Home Assistant.",
"restart_pending": "Redémarrage en attente"
},
+ "repository_card": {
+ "dismiss": "rejeter",
+ "hide": "Cacher",
+ "information": "Information",
+ "new_repository": "Nouveau dépôt",
+ "not_loaded": "Non chargé",
+ "open_issue": "Ouvrir issue",
+ "open_source": "Open source",
+ "pending_restart": "Redémarrage en attente",
+ "pending_update": "Mise à jour en attente",
+ "reinstall": "Réinstaller",
+ "report": "Rapport de suppression",
+ "update_information": "Mettre à jour les informations"
+ },
"repository": {
"add_to_lovelace": "Ajouter à Lovelace",
- "authors": "Auteurs"
+ "authors": "Auteurs",
+ "available": "Disponible",
+ "back_to": "Retour",
+ "changelog": "Change log",
+ "downloads": "Téléchargements",
+ "flag_this": "Marquer",
+ "frontend_version": "Version de l'interface",
+ "github_stars": "Étoiles GitHub",
+ "goto_integrations": "Aller aux intégrations",
+ "hide": "Masquer",
+ "hide_beta": "Masquer les bêta",
+ "install": "Installer",
+ "installed": "Installés",
+ "lovelace_copy_example": "Copier cet exemple dans le presse-papier",
+ "lovelace_instruction": "Quand vous l'ajoutez à votre configuration lovelace, utilisez",
+ "lovelace_no_js_type": "Impossible de déterminer le type de plugin, veuillez vérifier le dépôt",
+ "newest": "nouveau",
+ "note_appdaemon": "vous devez toujours l'ajouter à votre fichier 'apps.yaml'",
+ "note_installed": "Une fois installé, il se trouvera dans",
+ "note_integration": "Vous devez toujours l'ajouter à votre fichier 'configuration.yaml'",
+ "note_plugin": "Vous devez toujours l'ajouter à votre configuration lovelace ('ui-lovelace.yaml' ou l'éditeur de configuration de l'interface)",
+ "note_plugin_post_107": "Vous devez toujours l'ajouter à votre configuration lovelace ('configuration.yaml' ou l'éditeur de configuration de l'interface '\/config\/lovelace\/resources')",
+ "open_issue": "Ouvrir un ticket",
+ "open_plugin": "Ouvrir l'élément",
+ "reinstall": "Réinstaller",
+ "repository": "Dépôt",
+ "restart_home_assistant": "Redémarrer Home Assistant",
+ "show_beta": "Afficher les bêta",
+ "uninstall": "Désinstaller",
+ "update_information": "Mettre à jour les informations",
+ "upgrade": "Mettre à jour"
+ },
+ "search": {
+ "installed": "Rechercher des dépôts installés",
+ "installed_new": "Rechercher des dépôts installés ou nouveaux",
+ "placeholder": "Rechercher un dépôt"
+ },
+ "sections": {
+ "about": {
+ "description": "Afficher des informations sur le système HACS",
+ "title": "À propos de"
+ },
+ "addon": {
+ "description": "Il n'y a pas de modules complémentaires dans HACS, mais vous pouvez cliquer ici pour aller au superviseur",
+ "title": "Modules complémentaires"
+ },
+ "automation": {
+ "description": "C'est ici que vous trouverez les scripts python, les applications AppDaemon et NetDaemon",
+ "title": "Automatisation"
+ },
+ "frontend": {
+ "description": "C'est ici que vous trouverez des thèmes, des cartes personnalisées et d'autres éléments pour lovelace",
+ "title": "Frontend"
+ },
+ "integrations": {
+ "description": "C'est ici que vous trouverez les intégrations personnalisées (custom_components)",
+ "title": "Intégrations"
+ },
+ "pending_repository_upgrade": "Vous utilisez la version {installed} , la version {available} est disponible"
},
"settings": {
+ "add_custom_repository": "AJOUTER UN DÉPÔT PERSONNALISÉ",
+ "adding_new_repo": "Ajout d'un nouveau dépôt '{repo}'",
+ "adding_new_repo_category": "Avec la catégorie '{category}'.",
+ "bg_task_custom": "Les dépôts personnalisés sont masqués pendant l'exécution de tâches en arrière-plan.",
+ "category": "Catégorie",
"compact_mode": "Mode compact",
+ "custom_repositories": "DÉPÔTS PERSONNALISÉS",
+ "delete": "Supprimer",
+ "display": "Affichage",
+ "grid": "Grille",
+ "hacs_repo": "Dépôt HACS",
"hidden_repositories": "dépôts cachés",
+ "missing_category": "Vous devez sélectionner une catégorie",
+ "open_repository": "Ouvrir dépôt",
+ "reload_data": "Recharger les données",
+ "reload_window": "Recharger la fenêtre",
+ "repository_configuration": "Configuration de dépôt",
+ "save": "Enregistrer",
+ "table": "Tableau",
"table_view": "Vue table",
- "unhide": "Afficher"
+ "unhide": "Afficher",
+ "upgrade_all": "Tout mettre à jour"
},
"store": {
+ "ascending": "ascendant",
"clear_new": "Effacer tous les nouveaux dépôts",
+ "descending": "descendant",
+ "last_updated": "Dernière mise à jour",
"name": "Nom",
"new_repositories": "Nouveaux dépôts",
+ "new_repositories_note": "Vous avez plus de 10 nouveaux dépôts qui apparaissent ici. Si vous voulez les effacer tous, cliquez sur les 3 points en haut à droite de l'écran et ignorez-les tous.",
+ "no_repositories": "Aucun dépôt",
+ "no_repositories_desc1": "Il semble que vous n’avez pas de dépôts installés dans cette section encore.",
+ "no_repositories_desc2": "Cliquez sur le + dans le coin inférieur pour ajouter votre premier !",
+ "no_repositories_found_desc1": "Aucun référentiel installé correspondant à \" {searchInput} \" n'a été trouvé dans cette section.",
+ "no_repositories_found_desc2": "Essayez de chercher autre chose !",
+ "pending_upgrades": "Mises à niveau en attente",
+ "placeholder_search": "Veuillez entrer un terme de recherche...",
"sort": "Trier",
+ "stars": "Étoiles",
"status": "Statut"
+ },
+ "time": {
+ "ago": "il y a",
+ "day": "jour",
+ "days": "jours",
+ "hour": "heure",
+ "hours": "heures",
+ "minute": "minute",
+ "minutes": "minutes",
+ "month": "mois",
+ "months": "mois",
+ "one": "Un",
+ "one_day_ago": "il y a 1 jour",
+ "one_hour_ago": "il y a 1 heure",
+ "one_minute_ago": "il y a 1 minute",
+ "one_month_ago": "il y a 1 mois",
+ "one_second_ago": "il y a 1 seconde",
+ "one_year_ago": "il y a 1 an",
+ "second": "seconde",
+ "seconds": "secondes",
+ "x_days_ago": "il y a {x} jours",
+ "x_hours_ago": "il y a {x} heures",
+ "x_minutes_ago": "il y a {x} minutes",
+ "x_months_ago": "il y a {x} mois",
+ "x_seconds_ago": "il y a {x} secondes",
+ "x_years_ago": "il y a {x} ans",
+ "year": "an",
+ "years": "ans"
}
}
\ No newline at end of file
diff --git a/custom_components/hacs/translations/hu.json b/custom_components/hacs/translations/hu.json
index cce092cb..013f0dd5 100644
--- a/custom_components/hacs/translations/hu.json
+++ b/custom_components/hacs/translations/hu.json
@@ -1,25 +1,206 @@
{
+ "common": {
+ "about": "Névjegy",
+ "add": "hozzáadás",
+ "appdaemon": "AppDaemon",
+ "appdaemon_apps": "AppDaemon Appok",
+ "appdaemon_plural": "AppDaemon appok",
+ "background_task": "Éppen háttérfeladat fut, ez az oldal frissülni fog, ha kész.",
+ "cancel": "Mégse",
+ "check_log_file": "További részletekért ellenőrizd a naplófájlt.",
+ "continue": "Folytatás",
+ "disabled": "Tiltva",
+ "documentation": "Dokumentáció",
+ "element": "bővítmény",
+ "hacs_is_disabled": "A HACS le van tiltva",
+ "ignore": "Mellőzés",
+ "install": "Telepítés",
+ "installed": "Telepített",
+ "integration": "Integráció",
+ "integration_plural": "Integrációk",
+ "integrations": "Integrációk",
+ "lovelace": "Lovelace",
+ "lovelace_element": "Lovelace bővítmény",
+ "lovelace_elements": "Lovelace bővítmények",
+ "manage": "kezelés",
+ "netdaemon": "NetDaemon",
+ "netdaemon_apps": "NetDaemon Appok",
+ "netdaemon_plural": "NetDaemon appok",
+ "plugin": "Lovelace",
+ "plugin_plural": "Lovelace bővítmények",
+ "plugins": "Lovelace bővítmények",
+ "python_script": "Python Szkript",
+ "python_script_plural": "Python szkriptek",
+ "python_scripts": "Python Szkriptek",
+ "reload": "Újratöltés",
+ "repositories": "Tárolók",
+ "repository": "Tároló",
+ "settings": "beállítások",
+ "theme": "Téma",
+ "theme_plural": "Témák",
+ "themes": "Témák",
+ "uninstall": "Eltávolítás",
+ "update": "Frissítés",
+ "version": "Verzió"
+ },
"config": {
"abort": {
- "single_instance_allowed": "Csak egyetlen HACS-konfiguráció megengedett."
+ "single_instance_allowed": "Csak egyetlen HACS konfiguráció megengedett."
},
"error": {
- "auth": "A Személyes Hozzáférési Token nem megfelelő."
+ "acc": "El kell fogadnod minden nyilatkozatot a folytatás előtt",
+ "auth": "A személyes hozzáférési token nem megfelelő"
},
"step": {
+ "device": {
+ "description": "Open {url} and paste this key `{code}` to authorize HACS, when you have done that click 'submit'",
+ "title": "HACS"
+ },
"user": {
- "description": "Ha segítségre van szükséged a konfigurációval kapcsolatban, akkor tekintsd meg ezt az oldalt: https:\/\/hacs.xyz\/docs\/configuration\/start",
- "title": "HACS (Home Assistant Community Store)"
+ "data": {
+ "acc_addons": "I know that there are no add-ons in HACS",
+ "acc_disable": "I know that if I get issues with Home Assistant I should disable all my custom_components",
+ "acc_logs": "I know how to access Home Assistant logs",
+ "acc_untested": "I know that everything inside HACS is custom and untested by Home Assistant",
+ "appdaemon": "Enable AppDaemon apps discovery & tracking",
+ "netdaemon": "Enable NetDaemon apps discovery & tracking",
+ "python_script": "Enable python_scripts discovery & tracking",
+ "sidepanel_icon": "Side panel icon",
+ "sidepanel_title": "Side panel title",
+ "theme": "Enable Themes discovery & tracking",
+ "token": "GitHub Personal Access Token"
+ },
+ "description": "Before you can setup HACS you need to acknowledge the following",
+ "title": "HACS"
}
- }
+ },
+ "title": "HACS (Home Assistant Community Store)"
},
"confirm": {
"add_to_lovelace": "Biztosan hozzá szeretnéd ezt adni a Lovelace erőforrásokhoz?",
+ "bg_task": "A művelet le van tiltva, amíg háttérfeladat fut.",
+ "cancel": "Mégse",
"continue": "Biztosan folytatni szeretnéd?",
"delete": "Biztosan törölni szeretnéd a(z) '{item}'-t?",
+ "delete_installed": "A(z) '{item}' telepítve van, törlés előtt el kell távolítanod.",
+ "exist": "{item} már létezik",
"generic": "Biztos vagy benne?",
+ "home_assistant_is_restarting": "Várj, a Home Assistant éppen újraindul.",
+ "home_assistant_version_not_correct": "A Home Assistant '{haversion}' verzióját használod, de ehhez a tárolóhoz legalább a(z) '{minversion}' verzióra van szükség.",
+ "no": "Nem",
+ "no_upgrades": "Nincsenek elérhető frissítések",
+ "ok": "OK",
"overwrite": "Ezzel felül fogod írni.",
- "uninstall": "Biztosan el szeretnéd távolítani a(z) '{item}'-t?"
+ "reload_data": "Ez újratölti a HACS által ismert összes tároló adatát, ami némi időbe telhet.",
+ "restart_home_assistant": "Biztosan újraindítod a Home Assistant programot?",
+ "uninstall": "Biztosan el szeretnéd távolítani a(z) '{item}'-t?",
+ "upgrade_all": "Ez frissíteni fogja az összes tárolót. Győzödj meg róla, hogy elolvastad az összes kiadási megjegyzést, mielőtt továbblépnél.",
+ "yes": "Igen"
+ },
+ "dialog_about": {
+ "frontend_version": "Frontend verzió",
+ "installed_repositories": "Telepített tárolók",
+ "integration_version": "Integráció verzió",
+ "useful_links": "Hasznos linkek"
+ },
+ "dialog_add_repo": {
+ "limit": "Csak az első 100 tároló jelenik meg, használd a keresőt a találatok szűkítéséhez",
+ "no_match": "Nincs a szűrésnek megfelelő tároló",
+ "sort_by": "Rendezés",
+ "title": "Tároló hozzáadása"
+ },
+ "dialog_custom_repositories": {
+ "category": "Kategória",
+ "no_category": "Hiányzó kategória",
+ "no_repository": "Hiányzó tároló",
+ "title": "Egyéni tárolók",
+ "url_placeholder": "Egyéni tároló URL címének hozzáadása"
+ },
+ "dialog_info": {
+ "author": "Szerző",
+ "downloads": "Letöltések",
+ "install": "Tároló telepítése HACS-ben",
+ "loading": "Információ betöltése...",
+ "no_info": "A fejlesztő nem adott meg több információt ehhez a tárolóhoz",
+ "open_issues": "Jelentett problémák",
+ "open_repo": "Tároló megnyitása",
+ "stars": "Csillagok",
+ "version_installed": "Telepített verzió"
+ },
+ "dialog_install": {
+ "restart": "Ne feledd, hogy az egyéni integrációk (custom_components) módosításainak alkalmazásához újra kell indítanod a Home Assistant alkalmazást.",
+ "select_version": "Verzió kiválasztása",
+ "show_beta": "Béta verziók megjelenítése",
+ "type": "Típus",
+ "url": "URL"
+ },
+ "dialog_removed": {
+ "link": "Külső link további információkhoz",
+ "name": "Tároló neve",
+ "reason": "Eltávolítás oka",
+ "type": "Eltávolítás típusa"
+ },
+ "dialog_update": {
+ "available_version": "Elérhető verzió",
+ "changelog": "Változási napló",
+ "installed_version": "Telepített verzió",
+ "releasenotes": "{release} kiadási megjegyzései",
+ "title": "Frissítés érhető el"
+ },
+ "dialog": {
+ "reload": {
+ "confirm": "Meg szeretnéd most ezt tenni?",
+ "description": "Törölnöd kell a böngésződ gyorsítótárát a Lovelace erőforrások módosításakor."
+ }
+ },
+ "entry": {
+ "information": "Információ",
+ "intro": "A frissítések és a fontos üzenetek itt jelennek meg, ha vannak",
+ "messages": {
+ "disabled": {
+ "content": "További részletek a naplófájlban",
+ "title": "A HACS le van tiltva"
+ },
+ "has_pending_tasks": {
+ "content": "Előfordulhat, hogy egyes tárolók nem jelennek meg, amíg ez be nem fejeződik",
+ "title": "Függőben lévő háttérfeladatok"
+ },
+ "removed": "Eltávolított tároló '{repository}'",
+ "resources": {
+ "title": "Nincs betöltve a Lovelace-ben"
+ },
+ "restart": {
+ "title": "Újraindításra vár"
+ },
+ "setup": {
+ "content": "A HACS beállítása folyamatban van, ez idő alatt bizonyos információk hiányozhatnak vagy helytelenek lehetnek",
+ "title": "A HACS beállítása folyamatban van"
+ },
+ "startup": {
+ "content": "A HACS éppen indul, ez idő alatt bizonyos információk hiányozhatnak vagy helytelenek lehetnek",
+ "title": "A HACS éppen indul"
+ },
+ "waiting": {
+ "content": "A HACS az indítási feladatok megkezdése előtt arra vár, hogy a Home Assistant befejezze az indulást",
+ "title": "A HACS vár"
+ },
+ "wrong_frontend_installed": {
+ "title": "Nem várt frontend verzió"
+ },
+ "wrong_frontend_loaded": {
+ "title": "Nem várt frontend verzió"
+ }
+ },
+ "pending_updates": "Frissítések érhetők el"
+ },
+ "menu": {
+ "about": "HACS névjegye",
+ "clear": "Új jelölések törlése",
+ "custom_repositories": "Egyéni tárolók",
+ "dismiss": "Minden új tároló elvetése",
+ "documentation": "Dokumentáció",
+ "open_issue": "Probléma jelentése",
+ "reload": "Ablak újratöltése"
},
"options": {
"step": {
@@ -39,27 +220,159 @@
}
},
"repository_banner": {
+ "config_flow": "Ez az integráció támogatja a config_flow-t, vagyis a felhasználói felületen az integrációk menüben lehet konfigurálni.",
+ "config_flow_title": "A felhasználói felület konfigurációja támogatott",
"integration_not_loaded": "Ez az integráció nincs betöltve a Home Assistantban.",
+ "no_restart_required": "Nincs szükség újraindításra",
"not_loaded": "Nincs betöltve",
"plugin_not_loaded": "Ez a bővítmény nincs hozzáadva a Lovelace erőforrásaidhoz.",
"restart": "Indítsd újra a Home Assistant programot.",
"restart_pending": "Újraindítás függőben"
},
+ "repository_card": {
+ "dismiss": "elvetés",
+ "hide": "Elrejtés",
+ "information": "Információ",
+ "new_repository": "Új tároló",
+ "not_loaded": "Nincs betöltve",
+ "open_issue": "Probléma jelentése",
+ "open_source": "Forrás megnyitása",
+ "pending_restart": "Újraindításra vár",
+ "pending_update": "Frissítés érhető el",
+ "reinstall": "Újratelepítés",
+ "report": "Jelentés eltávolításra",
+ "update_information": "Frissítési információ"
+ },
"repository": {
"add_to_lovelace": "Hozzáadás a Lovelace-hez",
- "authors": "Szerzők"
+ "authors": "Szerzők",
+ "available": "Elérhető",
+ "back_to": "Vissza -",
+ "changelog": "Változási napló",
+ "downloads": "Letöltések",
+ "flag_this": "Megjelölés",
+ "frontend_version": "Frontend verzió",
+ "github_stars": "GitHub csillagok",
+ "goto_integrations": "Ugrás az integrációkhoz",
+ "hide": "Elrejtés",
+ "hide_beta": "Béta elrejtése",
+ "install": "Telepítés",
+ "installed": "Telepített",
+ "lovelace_copy_example": "Példa másolása a vágólapra",
+ "lovelace_instruction": "Amikor hozzáadod ezt a lovelace konfigurációdhoz, használd ezt",
+ "lovelace_no_js_type": "Nem sikerült meghatározni a bővítmény típusát, ellenőrizd a tárolót.",
+ "newest": "legújabb",
+ "note_appdaemon": "de még hozzá kell adnod az 'apps.yaml' fájlhoz",
+ "note_installed": "Telepítéskor a következő helyre kerül:",
+ "note_integration": "de még hozzá kell adnod a 'configuration.yaml' fájlhoz",
+ "note_plugin": "de még hozzá kell adnod a lovelace konfigurációhoz (az 'ui-lovelace.yaml' fájlban vagy a Lovelace felületen a konfiguráció szerkesztőben)",
+ "note_plugin_post_107": "de még hozzá kell adnod a lovelace konfigurációhoz ('configuration.yaml' vagy az erőforrás szerkesztőben '\/config\/lovelace\/resources')",
+ "open_issue": "Probléma jelentése",
+ "open_plugin": "Bővítmény megnyitása",
+ "reinstall": "Újratelepítés",
+ "repository": "Tároló",
+ "restart_home_assistant": "Home Assistant újraindítása",
+ "show_beta": "Béta megjelenítése",
+ "uninstall": "Eltávolítás",
+ "update_information": "Frissítési információk",
+ "upgrade": "Frissítés"
+ },
+ "search": {
+ "installed": "Telepített tárolók keresése",
+ "installed_new": "Telepített vagy új tárolók keresése",
+ "placeholder": "Tároló keresése"
+ },
+ "sections": {
+ "about": {
+ "description": "Információk megjelenítése a HACS-ről",
+ "title": "Névjegy"
+ },
+ "addon": {
+ "description": "A HACS-ban nincsenek kiegészítők, de ide kattintva eljuthatsz a supervisor-hoz",
+ "title": "Kiegészítők"
+ },
+ "automation": {
+ "description": "Itt Python szkripteket, AppDaemon és NetDaemon appokat találsz",
+ "title": "Automatizálás"
+ },
+ "frontend": {
+ "description": "Itt témákat, egyéni kártyákat és más bővítményeket találsz a Lovelace-hez",
+ "title": "Frontend"
+ },
+ "integrations": {
+ "description": "Itt találod az egyéni integrációkat (custom_components)",
+ "title": "Integrációk"
+ },
+ "pending_repository_upgrade": "A(z) {installed} verziót futtatod, a(z) {available} verzió már elérhető"
},
"settings": {
+ "add_custom_repository": "EGYÉNI TÁROLÓ HOZZÁADÁSA",
+ "adding_new_repo": "Új tároló hozzáadása '{repo}'",
+ "adding_new_repo_category": "A '{category}' kategóriával.",
+ "bg_task_custom": "Az egyéni tárolók rejtve vannak, amíg háttérfeladat fut.",
+ "category": "Kategória",
"compact_mode": "Kompakt mód",
+ "custom_repositories": "EGYÉNI TÁROLÓK",
+ "delete": "Törlés",
+ "display": "Megjelenítés",
+ "grid": "Rács",
+ "hacs_repo": "HACS tároló",
"hidden_repositories": "rejtett tárolók",
+ "missing_category": "Ki kell választanod egy kategóriát",
+ "open_repository": "Tároló megnyitása",
+ "reload_data": "Adatok újratöltése",
+ "reload_window": "Ablak újratöltése",
+ "repository_configuration": "Tároló konfiguráció",
+ "save": "Mentés",
+ "table": "Táblázat",
"table_view": "Táblázat nézet",
- "unhide": "felfedés"
+ "unhide": "felfedés",
+ "upgrade_all": "Minden frissítése"
},
"store": {
+ "ascending": "növekvő",
"clear_new": "Új tárolók megjelölése látottként",
+ "descending": "csökkenő",
+ "last_updated": "Utolsó frissítés",
"name": "Név",
"new_repositories": "Új tárolók",
+ "new_repositories_note": "Több mint 10 új tároló látható. Ha törölni szeretnéd őket, akkor kattints a jobb felső sarokban lévő 3 pontra, és válaszd ki a 'Minden új tároló elvetése' menüpontot.",
+ "no_repositories": "Nincsenek tárolók",
+ "no_repositories_desc1": "Úgy tűnik, még nincsenek telepítve tárolók ebben a szekcióban.",
+ "no_repositories_desc2": "Kattints az alsó sarokban található + jelre az első hozzáadásához!",
+ "no_repositories_found_desc2": "Próbálj valami mást keresni!",
+ "pending_upgrades": "Frissítések érhetők el",
+ "placeholder_search": "Kérlek adj meg egy keresési kifejezést...",
"sort": "rendezés",
+ "stars": "Csillag",
"status": "Állapot"
+ },
+ "time": {
+ "ago": "ezelőtt",
+ "day": "nap",
+ "days": "nap",
+ "hour": "óra",
+ "hours": "óra",
+ "minute": "perc",
+ "minutes": "perc",
+ "month": "hónap",
+ "months": "hónap",
+ "one": "Egy",
+ "one_day_ago": "egy nappal ezelőtt",
+ "one_hour_ago": "egy órával ezelőtt",
+ "one_minute_ago": "egy perccel ezelőtt",
+ "one_month_ago": "egy hónappal ezelőtt",
+ "one_second_ago": "egy másodperccel ezelőtt",
+ "one_year_ago": "egy évvel ezelőtt",
+ "second": "másodperc",
+ "seconds": "másodperc",
+ "x_days_ago": "{x} nappal ezelőtt",
+ "x_hours_ago": "{x} órával ezelőtt",
+ "x_minutes_ago": "{x} perccel ezelőtt",
+ "x_months_ago": "{x} hónappal ezelőtt",
+ "x_seconds_ago": "{x} másodperccel ezelőtt",
+ "x_years_ago": "{x} évvel ezelőtt",
+ "year": "év",
+ "years": "év"
}
}
\ No newline at end of file
diff --git a/custom_components/hacs/translations/it.json b/custom_components/hacs/translations/it.json
index eed40359..dc376fcf 100644
--- a/custom_components/hacs/translations/it.json
+++ b/custom_components/hacs/translations/it.json
@@ -1,25 +1,193 @@
{
+ "common": {
+ "about": "Informazioni su",
+ "add": "aggiungi",
+ "appdaemon": "AppDaemon",
+ "appdaemon_apps": "Applicazioni AppDaemon",
+ "appdaemon_plural": "Applicazioni AppDaemon",
+ "background_task": "Attività in esecuzione, questa pagina sarà ricaricata al termine.",
+ "cancel": "Annulla",
+ "check_log_file": "Controlla il tuo file di registro per maggiori dettagli.",
+ "continue": "Continua",
+ "disabled": "Disabilitato",
+ "documentation": "Documentazione",
+ "element": "elemento",
+ "hacs_is_disabled": "HACS è disabilitato",
+ "install": "Installa",
+ "installed": "Installati",
+ "integration": "Integrazione",
+ "integration_plural": "Integrazioni",
+ "integrations": "Integrazioni",
+ "lovelace": "Lovelace",
+ "lovelace_element": "Elemento Lovelace",
+ "lovelace_elements": "Elementi di Lovelace",
+ "manage": "gestione",
+ "netdaemon": "NetDaemon",
+ "netdaemon_apps": "Applicazioni NetDaemon",
+ "netdaemon_plural": "Applicazioni NetDaemon",
+ "plugin": "Lovelace",
+ "plugin_plural": "Elementi di Lovelace",
+ "plugins": "Elementi di Lovelace",
+ "python_script": "Script python",
+ "python_script_plural": "Script in Python",
+ "python_scripts": "Script python",
+ "reload": "Ricarica",
+ "repositories": "Repository",
+ "repository": "Repository",
+ "settings": "Impostazioni",
+ "theme": "Tema",
+ "theme_plural": "Temi",
+ "themes": "Temi",
+ "uninstall": "Disinstallare",
+ "update": "Aggiorna",
+ "version": "Versione"
+ },
"config": {
- "abort": {
- "single_instance_allowed": "È consentita una sola configurazione di HACS."
- },
- "error": {
- "auth": "Il token di accesso personale non è corretto."
- },
"step": {
+ "device": {
+ "description": "Open {url} and paste this key `{code}` to authorize HACS, when you have done that click 'submit'",
+ "title": "HACS"
+ },
"user": {
- "description": "Se hai bisogno di aiuto con la configurazione dai un'occhiata qui: https:\/\/hacs.xyz\/docs\/configuration\/start",
- "title": "[%key_id:28417459%]"
+ "data": {
+ "acc_addons": "I know that there are no add-ons in HACS",
+ "acc_disable": "I know that if I get issues with Home Assistant I should disable all my custom_components",
+ "acc_logs": "I know how to access Home Assistant logs",
+ "acc_untested": "I know that everything inside HACS is custom and untested by Home Assistant",
+ "appdaemon": "Enable AppDaemon apps discovery & tracking",
+ "netdaemon": "Enable NetDaemon apps discovery & tracking",
+ "python_script": "Enable python_scripts discovery & tracking",
+ "sidepanel_icon": "Side panel icon",
+ "sidepanel_title": "Side panel title",
+ "theme": "Enable Themes discovery & tracking",
+ "token": "GitHub Personal Access Token"
+ }
}
- }
+ },
+ "title": "HACS (Home Assistant Community Store)"
},
"confirm": {
"add_to_lovelace": "Sei sicuro di voler aggiungerlo alle tue risorse Lovelace?",
+ "bg_task": "L'azione è disabilitata mentre sono in esecuzione attività in background.",
+ "cancel": "Annulla",
"continue": "Sei sicuro di voler continuare?",
"delete": "Sei sicuro di voler disinstallare '{item}'?",
+ "delete_installed": "'{item}' è installato, è necessario disinstallarlo prima di poterlo eliminare.",
+ "exist": "{item} esiste già",
"generic": "Sei sicuro?",
+ "home_assistant_is_restarting": "Aspetta, Home Assistant si sta riavviando.",
+ "home_assistant_version_not_correct": "Stai eseguendo la versione Home Assistant '{haversion}', ma questo repository richiede l'installazione della versione minima '{minversion}'.",
+ "no": "No",
+ "no_upgrades": "Nessun aggiornamento in sospeso",
+ "ok": "OK",
"overwrite": "In questo modo lo sovrascriverà.",
- "uninstall": "Sei sicuro di voler disinstallare '{item}'?"
+ "reload_data": "Questo ricarica i dati di tutte le repository di cui HACS è a conoscenza, ci vorrà del tempo per finire.",
+ "restart_home_assistant": "Sei sicuro di voler riavviare Home Assistant?",
+ "uninstall": "Sei sicuro di voler disinstallare '{item}'?",
+ "upgrade_all": "Questa azione aggiornerà tutti i repository, assicurati di aver letto le note di rilascio prima di procedere.",
+ "yes": "Sì"
+ },
+ "dialog_about": {
+ "frontend_version": "Versione frontend",
+ "installed_repositories": "Repository installati",
+ "integration_version": "Versione di integrazione",
+ "useful_links": "Link utili"
+ },
+ "dialog_add_repo": {
+ "limit": "Vengono visualizzati solo i primi 100 repository, utilizza la ricerca per filtrare ciò di cui hai bisogno",
+ "no_match": "Nessun repository trovato corrispondente al filtro",
+ "sort_by": "Ordina per",
+ "title": "Aggiungi repository"
+ },
+ "dialog_custom_repositories": {
+ "category": "Categoria",
+ "no_category": "Categoria mancante",
+ "no_repository": "Repository mancante",
+ "title": "Repository personalizzati",
+ "url_placeholder": "Aggiungi l'URL del repository personalizzato"
+ },
+ "dialog_info": {
+ "author": "Autore",
+ "downloads": "Download",
+ "install": "Installa questo repository in HACS",
+ "loading": "Caricamento informazioni in corso ...",
+ "no_info": "Lo sviluppatore non ha fornito ulteriori informazioni per questo repository",
+ "open_issues": "Problemi aperti",
+ "open_repo": "Apri il repository",
+ "stars": "Stelle",
+ "version_installed": "Versione installata"
+ },
+ "dialog_install": {
+ "restart": "Tenere presente che è necessario riavviare Home Assistant prima di applicare le modifiche alle integrazioni (custom_components).",
+ "select_version": "Seleziona la versione",
+ "show_beta": "Mostra le versioni beta",
+ "type": "Tipo",
+ "url": "URL"
+ },
+ "dialog_update": {
+ "available_version": "Versione disponibile",
+ "changelog": "Registro dei cambiamenti",
+ "installed_version": "Versione installata",
+ "releasenotes": "Note di rilascio per {release}",
+ "title": "Aggiornamento in sospeso"
+ },
+ "dialog": {
+ "reload": {
+ "confirm": "Vuoi farlo adesso?",
+ "description": "È necessario cancellare la cache del browser quando si modificano le risorse di Lovelace."
+ }
+ },
+ "entry": {
+ "information": "Informazioni",
+ "intro": "Gli aggiornamenti e i messaggi importanti verranno visualizzati qui se presenti",
+ "messages": {
+ "disabled": {
+ "content": "Controlla il tuo file di registro per maggiori dettagli",
+ "title": "HACS è disabilitato"
+ },
+ "has_pending_tasks": {
+ "content": "Alcuni repository potrebbero non essere visualizzati fino al completamento",
+ "title": "Attività in background in sospeso"
+ },
+ "resources": {
+ "content": "Hai {number} elementi di Lovelace che non sono stati caricati correttamente in Lovelace.",
+ "title": "Non caricato in Lovelace"
+ },
+ "restart": {
+ "content": "Hai {number} integrazioni che richiedono il riavvio di Home Assistant, puoi farlo dalla sezione \"Controlli del server\" nella sezione Impostazioni dell'interfaccia utente di Home Assistant.",
+ "title": "In attesa di riavvio"
+ },
+ "setup": {
+ "content": "HACS è in fase di configurazione, durante questo periodo alcune informazioni potrebbero essere mancanti o errate",
+ "title": "HACS si sta installando"
+ },
+ "startup": {
+ "content": "HACS si sta avviando, durante questo periodo alcune informazioni potrebbero essere mancanti o errate",
+ "title": "HACS si sta avviando"
+ },
+ "waiting": {
+ "content": "HACS è in attesa che Home Assistant finisca l'avvio prima di iniziare le attività di avvio",
+ "title": "HACS è in attesa"
+ },
+ "wrong_frontend_installed": {
+ "content": "Hai installato {running} del frontend HACS, ma era attesa la versione {expected}, se viene visualizzato questo messaggio Home Assistant non è stato in grado di installare la nuova versione, prova a riavviare Home Assistant.",
+ "title": "Versione frontend inaspettata"
+ },
+ "wrong_frontend_loaded": {
+ "content": "Stai eseguendo la versione {running} del frontend HACS, ma la versione {expected} era prevista, è necessario svuotare la cache del browser.",
+ "title": "Versione frontend inaspettata"
+ }
+ },
+ "pending_updates": "Aggiornamenti in sospeso"
+ },
+ "menu": {
+ "about": "Informazioni su HACS",
+ "clear": "Cancella tutte le novità",
+ "custom_repositories": "Repository personalizzati",
+ "dismiss": "Elimina tutti i nuovi repository",
+ "documentation": "Documentazione",
+ "open_issue": "Segnala anomalia",
+ "reload": "Ricarica la finestra"
},
"options": {
"step": {
@@ -39,27 +207,160 @@
}
},
"repository_banner": {
+ "config_flow": "Questa integrazione supporta config_flow, questo significa che è ora possibile passare alla sezione \"IntegrazionI\" dell'interfaccia utente per la configurazione.",
+ "config_flow_title": "Configurazione dell'interfaccia utente supportata",
"integration_not_loaded": "Questa integrazione non è caricata in Home Assistant.",
+ "no_restart_required": "Non è necessario riavviare",
"not_loaded": "Non caricato",
"plugin_not_loaded": "Questo elemento non è aggiunto alle tue risorse Lovelace.",
"restart": "È necessario riavviare Home Assistant.",
"restart_pending": "Riavvio in attesa"
},
+ "repository_card": {
+ "dismiss": "elimina",
+ "hide": "Nascondi",
+ "information": "Informazioni",
+ "new_repository": "Nuovo repository",
+ "not_loaded": "Non caricato",
+ "open_issue": "Segnala anomalia",
+ "open_source": "Open source",
+ "pending_restart": "In attesa di riavvio",
+ "pending_update": "Aggiornamento in sospeso",
+ "reinstall": "Reinstallare",
+ "report": "Segnala per la rimozione",
+ "update_information": "Aggiorna informazioni"
+ },
"repository": {
"add_to_lovelace": "Aggiungi a Lovelace",
- "authors": "Autori"
+ "authors": "Autori",
+ "available": "Disponibile",
+ "back_to": "Torna a",
+ "changelog": "Change log",
+ "downloads": "Downloads",
+ "flag_this": "Spunta questo",
+ "frontend_version": "Frontend versione",
+ "github_stars": "GitHub stelle",
+ "goto_integrations": "Vai alle Integrazioni",
+ "hide": "Nascondi",
+ "hide_beta": "Nascondi beta",
+ "install": "Installa",
+ "installed": "Installato",
+ "lovelace_copy_example": "Copia l'esempio negli appunti",
+ "lovelace_instruction": "Quando lo aggiungi nella configurazione di Lovelace, usa questo",
+ "lovelace_no_js_type": "Impossibile determinare il tipo di questo elemento, controllare il repository.",
+ "newest": "Più recente",
+ "note_appdaemon": "dovrai aggiungerlo nel file 'apps.yaml'",
+ "note_installed": "Una volta installato, si troverà in",
+ "note_integration": "dovrai aggiungerlo nel file 'configuration.yaml'",
+ "note_plugin": "è comunque necessario aggiungerlo alla configurazione Lovelace ('ui-lovelace.yaml' o nell'editor grezzo di configurazione dell'Interfaccia Utente)",
+ "note_plugin_post_107": "è comunque necessario aggiungerlo alla configurazione di Lovelace ('configuration.yaml' o nell'editor di risorse '\/config\/lovelace\/resources')",
+ "open_issue": "Segnala anomalia",
+ "open_plugin": "Apri elemento",
+ "reinstall": "Reinstalla",
+ "repository": "Repository",
+ "restart_home_assistant": "Riavvia Home Assistant",
+ "show_beta": "Visualizza beta",
+ "uninstall": "Rimuovi",
+ "update_information": "Aggiorna informazioni",
+ "upgrade": "Aggiorna"
+ },
+ "search": {
+ "installed": "Cerca i repository installati",
+ "installed_new": "Cercare repository installati o nuovi",
+ "placeholder": "Cerca repository"
+ },
+ "sections": {
+ "about": {
+ "description": "Mostra informazioni su HACS",
+ "title": "Informazioni su"
+ },
+ "addon": {
+ "description": "Non ci sono componenti aggiuntivi in HACS, ma puoi fare clic qui per accedere al supervisore",
+ "title": "Componenti aggiuntivi"
+ },
+ "automation": {
+ "description": "Qui trovi python_scripts, app AppDaemon e app NetDaemon",
+ "title": "Automazione"
+ },
+ "frontend": {
+ "description": "Qui troverai temi, schede personalizzate e altri elementi per Lovelace",
+ "title": "Frontend"
+ },
+ "integrations": {
+ "description": "Qui si trovano le integrazioni personalizzate (custom_components)",
+ "title": "Integrazioni"
+ },
+ "pending_repository_upgrade": "Stai eseguendo la versione {installed}, la versione {available}è disponibile"
},
"settings": {
+ "add_custom_repository": "AGGIUNGI REPOSITORY PERSONALIZZATA",
+ "adding_new_repo": "Aggiunta di un nuovo repository '{repo}'",
+ "adding_new_repo_category": "Con la categoria '{category}'.",
+ "bg_task_custom": "I repository personalizzati sono nascosti mentre sono in esecuzione attività in background.",
+ "category": "Categoria",
"compact_mode": "Modalità compatta",
+ "custom_repositories": "REPOSITORY PERSONALIZZATE",
+ "delete": "Cancella",
+ "display": "Visualizza",
+ "grid": "Griglia",
+ "hacs_repo": "HACS repo",
"hidden_repositories": "repository nascosti",
+ "missing_category": "Devi selezionare una categoria",
+ "open_repository": "Apri il repository",
+ "reload_data": "Ricarica i dati",
+ "reload_window": "Ricarica la finestra",
+ "repository_configuration": "Configurazione del repository",
+ "save": "Salva",
+ "table": "Tabella",
"table_view": "Vista tabella",
- "unhide": "Mostra"
+ "unhide": "Mostra",
+ "upgrade_all": "Aggiorna tutto"
},
"store": {
+ "ascending": "ascendente",
"clear_new": "Ripulisci i nuovi repository",
+ "descending": "discendente",
+ "last_updated": "Ultimo aggiornamento",
"name": "Nome",
"new_repositories": "Nuovi repository",
+ "new_repositories_note": "Hai più di 10 nuovi repository visualizzati qui, se vuoi cancellarli tutti fai clic sui 3 punti nell'angolo in alto a destra e li eliminerai tutti.",
+ "no_repositories": "Nessun repository",
+ "no_repositories_desc1": "Sembra che non ci siano ancora repository installati in questa sezione.",
+ "no_repositories_desc2": "Fai clic sul + nell'angolo in basso per aggiungere il tuo primo!",
+ "no_repositories_found_desc1": "Nessun repository installato corrispondente a \"{searchInput}\" trovato in questa sezione.",
+ "no_repositories_found_desc2": "Prova a cercare qualcos'altro!",
+ "pending_upgrades": "Aggiornamenti in sospeso",
+ "placeholder_search": "Inserire un termine di ricerca",
"sort": "Ordinare",
+ "stars": "Stelle",
"status": "Stato"
+ },
+ "time": {
+ "ago": "fa",
+ "day": "giorno",
+ "days": "giorni",
+ "hour": "ora",
+ "hours": "ore",
+ "minute": "minuto",
+ "minutes": "minuti",
+ "month": "mese",
+ "months": "mesi",
+ "one": "Un",
+ "one_day_ago": "un giorno fa",
+ "one_hour_ago": "un'ora fa",
+ "one_minute_ago": "un minuto fa",
+ "one_month_ago": "un mese fa",
+ "one_second_ago": "un secondo fa",
+ "one_year_ago": "un anno fa",
+ "second": "secondo",
+ "seconds": "secondi",
+ "x_days_ago": "{x} giorni fa",
+ "x_hours_ago": "{x} ore fa",
+ "x_minutes_ago": "{x} minuti fa",
+ "x_months_ago": "{x} mesi fa",
+ "x_seconds_ago": "{x} secondi fa",
+ "x_years_ago": "{x} anni fa",
+ "year": "anno",
+ "years": "anni"
}
}
\ No newline at end of file
diff --git a/custom_components/hacs/translations/nb.json b/custom_components/hacs/translations/nb.json
index 5be0c564..5701d05c 100644
--- a/custom_components/hacs/translations/nb.json
+++ b/custom_components/hacs/translations/nb.json
@@ -1,25 +1,210 @@
{
+ "common": {
+ "about": "Om",
+ "add": "legg til",
+ "appdaemon": "AppDaemon",
+ "appdaemon_apps": "AppDaemon Apper",
+ "appdaemon_plural": "AppDaemon-apper",
+ "background_task": "Bakgrunnsoppgaven kjører. Denne siden lastes inn på nytt når den er ferdig.",
+ "cancel": "Avbryt",
+ "check_log_file": "Sjekk loggfilen din for mer informasjon.",
+ "continue": "Fortsett",
+ "disabled": "Deaktivert",
+ "documentation": "dokumentasjon",
+ "element": "element",
+ "hacs_is_disabled": "HACS er deaktivert",
+ "ignore": "Ignorere",
+ "install": "Installer",
+ "installed": "Installert",
+ "integration": "Integrasjon",
+ "integration_plural": "Integrasjoner",
+ "integrations": "Integrasjoner",
+ "lovelace": "Lovelace",
+ "lovelace_element": "Lovelace-element",
+ "lovelace_elements": "Lovelace-elementer",
+ "manage": "manage",
+ "netdaemon": "NetDaemon",
+ "netdaemon_apps": "NetDaemon Apper",
+ "netdaemon_plural": "NetDaemon-apper",
+ "plugin": "Lovelace",
+ "plugin_plural": "Lovelace-elementer",
+ "plugins": "Lovelace-elementer",
+ "python_script": "Python-skript",
+ "python_script_plural": "Python-skript",
+ "python_scripts": "Python-skript",
+ "reload": "Last inn på nytt",
+ "repositories": "Repositories",
+ "repository": "Repository",
+ "settings": "Innstillinger",
+ "theme": "Tema",
+ "theme_plural": "Temaer",
+ "themes": "Temaer",
+ "uninstall": "Avinstaller",
+ "update": "Oppdater",
+ "version": "Versjon"
+ },
"config": {
"abort": {
"single_instance_allowed": "Bare en konfigurasjon av HACS er tillatt."
},
"error": {
- "auth": "Personlig tilgangstoken er ikke korrekt."
+ "acc": "Du må bekrefte alle uttalelsene før du fortsetter",
+ "auth": "Personlig tilgangstoken er ikke korrekt"
},
"step": {
+ "device": {
+ "description": "Open {url} and paste this key `{code}` to authorize HACS, when you have done that click 'submit'",
+ "title": "HACS"
+ },
"user": {
- "description": "Hvis du trenger hjelp med konfigurasjonen, ta en titt her: https:\/\/hacs.xyz\/docs\/configuration\/start",
- "title": "HACS (Home Assistant Community Store)"
+ "data": {
+ "acc_addons": "I know that there are no add-ons in HACS",
+ "acc_disable": "I know that if I get issues with Home Assistant I should disable all my custom_components",
+ "acc_logs": "I know how to access Home Assistant logs",
+ "acc_untested": "I know that everything inside HACS is custom and untested by Home Assistant",
+ "appdaemon": "Enable AppDaemon apps discovery & tracking",
+ "netdaemon": "Enable NetDaemon apps discovery & tracking",
+ "python_script": "Enable python_scripts discovery & tracking",
+ "sidepanel_icon": "Side panel icon",
+ "sidepanel_title": "Side panel title",
+ "theme": "Enable Themes discovery & tracking",
+ "token": "GitHub Personal Access Token"
+ },
+ "description": "Before you can setup HACS you need to acknowledge the following",
+ "title": "HACS"
}
- }
+ },
+ "title": "HACS (Home Assistant Community Store)"
},
"confirm": {
"add_to_lovelace": "Er du sikker på at du vil legge dette til i dine Lovelace resources?",
+ "bg_task": "Handlingen er deaktivert mens bakgrunnsoppgaver kjører.",
+ "cancel": "Avbryt",
"continue": "Er du sikker på at du vil fortsette?",
"delete": "Er du sikker på at du vil fjerne '{item}'?",
+ "delete_installed": "'{item}' er installert, du må avinstallere det før du kan slette det.",
+ "exist": "{item} eksisterer allerede",
"generic": "Er du sikker?",
+ "home_assistant_is_restarting": "Vent, Home Assistant starter nå på nytt.",
+ "home_assistant_version_not_correct": "Du kjører Home Assistant '{haversion}', men denne krever minimum versjon '{minversion}' for å bli installert.",
+ "no": "Nei",
+ "no_upgrades": "Ingen oppgraderinger tilgjengelig",
+ "ok": "OK",
"overwrite": "Å gjøre dette vil overskrive det.",
- "uninstall": "Er du sikker på at du vil avinstallere '{item}'?"
+ "reload_data": "Dette laster inn dataene til alle repositories HACS vet om, dette vil ta litt tid å fullføre.",
+ "restart_home_assistant": "Er du sikker på at du vil starte Home Assistant på nytt?",
+ "uninstall": "Er du sikker på at du vil avinstallere '{item}'?",
+ "upgrade_all": "Dette vil oppgradere alle disse repositorene, sørg for at du har lest utgivelses notatene for dem alle før du fortsetter.",
+ "yes": "Ja"
+ },
+ "dialog_about": {
+ "frontend_version": "Frontend versjon",
+ "installed_repositories": "Installerte repositories",
+ "integration_version": "Integrasjonsversjon",
+ "useful_links": "Nyttige lenker"
+ },
+ "dialog_add_repo": {
+ "limit": "Bare de første 100 elementene vises, bruk søket til å filtrere det du trenger",
+ "no_match": "Ingen elementer funnet som samsvarer med filteret ditt",
+ "sort_by": "Sorter etter",
+ "title": "Legg til repository"
+ },
+ "dialog_custom_repositories": {
+ "category": "Kategori",
+ "no_category": "Mangler kategori",
+ "no_repository": "Mangler repository",
+ "title": "Custom repositories",
+ "url_placeholder": "Legg til custom repository"
+ },
+ "dialog_info": {
+ "author": "Utgiver",
+ "downloads": "Nedlastinger",
+ "install": "Installer dette elementet i HACS",
+ "loading": "Laster inn informasjon ...",
+ "no_info": "Utvikleren har ikke gitt mer informasjon for dette elementet",
+ "open_issues": "Åpne problemer",
+ "open_repo": "Åpne repository",
+ "stars": "Stjerner",
+ "version_installed": "Versjon installert"
+ },
+ "dialog_install": {
+ "restart": "Husk at du må starte Home Assistant på nytt før endringer i integrasjoner (custom_components) brukes.",
+ "select_version": "Velg versjon",
+ "show_beta": "Vis betaversjoner",
+ "type": "Type",
+ "url": "URL"
+ },
+ "dialog_removed": {
+ "link": "Ekstern lenke til mer informasjon",
+ "name": "Navn på repositorium",
+ "reason": "Årsaken til fjerning",
+ "type": "Fjerningstype"
+ },
+ "dialog_update": {
+ "available_version": "Tilgjengelig versjon",
+ "changelog": "Endringslogg",
+ "installed_version": "Installert versjon",
+ "releasenotes": "Utgivelsesnotater for {release}",
+ "title": "Oppdatering venter"
+ },
+ "dialog": {
+ "reload": {
+ "confirm": "Vil du gjøre det nå?",
+ "description": "Du må tømme nettleserbufferen når du endrer ressurser for Lovelace."
+ }
+ },
+ "entry": {
+ "information": "Informasjon",
+ "intro": "Oppdateringer og viktige meldinger vises her hvis det er noen",
+ "messages": {
+ "disabled": {
+ "content": "Sjekk loggfilen din for mer informasjon",
+ "title": "HACS er deaktivert"
+ },
+ "has_pending_tasks": {
+ "content": "Noen elementer vises kanskje ikke før dette er fullført",
+ "title": "Venter på bakgrunnsoppgaver"
+ },
+ "removed": "Fjernet repositoriet {repository}",
+ "resources": {
+ "content": "Du har {number} Lovelace-elementer som ikke er riktig lastet inn i Lovelace.",
+ "title": "Ikke lastet i Lovelace"
+ },
+ "restart": {
+ "content": "Du har {number} integrasjoner som krever en omstart av Home Assistant, du kan gjøre det fra delen Serverkontroller under konfigurasjonsdelen av Home Assistant UI.",
+ "title": "Venter på omstart"
+ },
+ "setup": {
+ "content": "HACS starter opp, i løpet av denne tiden kan det hende at noe informasjon mangler eller er feil",
+ "title": "HACS settes opp"
+ },
+ "startup": {
+ "content": "HACS starter opp, i løpet av denne tiden kan det hende at noe informasjon mangler eller er feil",
+ "title": "HACS starter opp"
+ },
+ "waiting": {
+ "content": "HACS venter på at Home Assistant skal fullføre oppstart før oppstart av oppgaver",
+ "title": "HACS venter"
+ },
+ "wrong_frontend_installed": {
+ "content": "Du har {running} av HACS frontend installert, men versjon {expected} var forventet, hvis dette du ser denne meldingen Home Assistant ikke kunne installere den nye versjonen, kan du prøve å starte Home Assistant på nytt.",
+ "title": "Uventet frontend versjon"
+ },
+ "wrong_frontend_loaded": {
+ "content": "Du kjører versjon {running} av HACS frontend, men versjon {expected} var forventet, du bør tømme nettleserens hurtigbuffer.",
+ "title": "Uventet frontend versjon"
+ }
+ },
+ "pending_updates": "Oppdateringer er klare"
+ },
+ "menu": {
+ "about": "Om HACS",
+ "clear": "Fjern alt nytt",
+ "custom_repositories": "Custom repositories",
+ "dismiss": "Avvis alle nye repositorier",
+ "documentation": "Dokumentasjon",
+ "open_issue": "Meld et problem",
+ "reload": "Last inn vinduet på nytt"
},
"options": {
"step": {
@@ -39,27 +224,160 @@
}
},
"repository_banner": {
+ "config_flow": "Denne integrasjonen støtter config_flow, det betyr at du nå kan gå til integrasjoner i brukergrensesnittet for å konfigurere den.",
+ "config_flow_title": "UI konfigurasjon støttet",
"integration_not_loaded": "Integrasjonen er ikke lastet inn i Home Assistant.",
+ "no_restart_required": "Ingen omstart kreves",
"not_loaded": "Ikke lastet inn",
"plugin_not_loaded": "Dette elementet er ikke lagt til i lovelace under \"resource\" delen av konfigurasjonen.",
"restart": "Du må restart Home Assistant",
"restart_pending": "Restart er nødvendig"
},
+ "repository_card": {
+ "dismiss": "Avvis",
+ "hide": "Skjul",
+ "information": "Informasjon",
+ "new_repository": "Ny",
+ "not_loaded": "Ikke lastet inn",
+ "open_issue": "Meld et problem",
+ "open_source": "Åpne kilde",
+ "pending_restart": "Venter på omstart",
+ "pending_update": "Oppdatering venter",
+ "reinstall": "Installer på nytt",
+ "report": "Rapporter for fjerning",
+ "update_information": "Oppdater informasjon"
+ },
"repository": {
"add_to_lovelace": "Legg til i Lovelace",
- "authors": "Laget av"
+ "authors": "Laget av",
+ "available": "Tilgjengelig",
+ "back_to": "Tilbake til",
+ "changelog": "Endringslogg",
+ "downloads": "Nedlastinger",
+ "flag_this": "Flag dette",
+ "frontend_version": "Frontend versjon",
+ "github_stars": "GitHub-stjerner",
+ "goto_integrations": "Gå til integrasjoner",
+ "hide": "Skjul",
+ "hide_beta": "Skjul beta",
+ "install": "Installer",
+ "installed": "Installert",
+ "lovelace_copy_example": "Kopier eksemplet til utklippstavlen",
+ "lovelace_instruction": "Når du legger til dette i lovelace-konfigurasjonen din, bruk dette",
+ "lovelace_no_js_type": "Kunne ikke bestemme typen for dettte elementet, sjekk repository.",
+ "newest": "Nyeste",
+ "note_appdaemon": "du må fortsatt legge den til i 'apps.yaml' filen",
+ "note_installed": "Når det er installert, vil dette ligge i",
+ "note_integration": "du må fortsatt legge den til 'configuration.yaml' filen",
+ "note_plugin": "du må fortsatt legge den til i lovelace-konfigurasjonen ('ui-lovelace.yaml' eller den rå UI-konfigurasjonsredigereren)",
+ "note_plugin_post_107": "du må fortsatt legge den til i lovelace konfigurasjonen ('configuration.yaml' eller via resource behanleren i grensesnittet '\/config\/lovelace\/resources')",
+ "open_issue": "Meld et problem",
+ "open_plugin": "Åpne kilde",
+ "reinstall": "Installer på nytt",
+ "repository": "Repository",
+ "restart_home_assistant": "Start Home Assistant på nytt",
+ "show_beta": "Vis beta",
+ "uninstall": "Avinstaller",
+ "update_information": "Oppdater informasjon",
+ "upgrade": "Oppdater"
+ },
+ "search": {
+ "installed": "Søke etter installerte repositorier",
+ "installed_new": "Søke etter installerte eller nye repositorier",
+ "placeholder": "Søk etter repository"
+ },
+ "sections": {
+ "about": {
+ "description": "Vis informasjon om HACS",
+ "title": "Om"
+ },
+ "addon": {
+ "description": "Det er ingen addons i HACS, men du kan klikke her for å komme til veilederen",
+ "title": "Add-ons"
+ },
+ "automation": {
+ "description": "Det er her du finner python_scripts, AppDaemon-apper og NetDaemon-apper",
+ "title": "Automasjon"
+ },
+ "frontend": {
+ "description": "Det er her du finner temaer, tilpassede kort og andre elementer for lovelace",
+ "title": "Frontend"
+ },
+ "integrations": {
+ "description": "Det er her du finner tilpassede integrasjoner (custom_components)",
+ "title": "Integrasjoner"
+ },
+ "pending_repository_upgrade": "Du kjører versjon {installed} , versjon {available} er tilgjengelig"
},
"settings": {
+ "add_custom_repository": "LEGG TIL REPOSITORY",
+ "adding_new_repo": "Legger til ny repository '{repo}'",
+ "adding_new_repo_category": "Med kategori '{category}'.",
+ "bg_task_custom": "Custom repositories er skjult mens bakgrunnsoppgaver kjører.",
+ "category": "Kategori",
"compact_mode": "Kompakt modus",
+ "custom_repositories": "TILPASSEDE REPOSITORIER",
+ "delete": "Slett",
+ "display": "Vise",
+ "grid": "Nett",
+ "hacs_repo": "HACS repo",
"hidden_repositories": "Gjemte repositories",
+ "missing_category": "Du må velge en kategori",
+ "open_repository": "Åpne repository",
+ "reload_data": "Last inn data på nytt",
+ "reload_window": "Last inn vinduet på nytt",
+ "repository_configuration": "Repository konfigurasjon",
+ "save": "Lagre",
+ "table": "Tabell",
"table_view": "Tabellvisning",
- "unhide": "Vis igjen"
+ "unhide": "Vis igjen",
+ "upgrade_all": "Oppgradere alle"
},
"store": {
+ "ascending": "stigende",
"clear_new": "Tøm nye repositories",
+ "descending": "synkende",
+ "last_updated": "Sist oppdatert",
"name": "Navn",
"new_repositories": "Nye repositories",
+ "new_repositories_note": "Du har over 10 nye repositorier som viser her, hvis du vil fjerne dem alle, klikker du på de 3 prikkene øverst til høyre og avviser dem alle.",
+ "no_repositories": "Ingen repositories",
+ "no_repositories_desc1": "Det virker som om du ikke har noen elementer installert i denne delen ennå.",
+ "no_repositories_desc2": "Klikk på + i nederste hjørne for å legge til din første!",
+ "no_repositories_found_desc1": "Finner ingen installerte repositorier som samsvarer med {searchInput}i denne delen.",
+ "no_repositories_found_desc2": "Prøv å søke etter noe annet!",
+ "pending_upgrades": "Venter på oppgradering",
+ "placeholder_search": "Skriv inn et søkeord ...",
"sort": "sorter",
+ "stars": "Stjerner",
"status": "Status"
+ },
+ "time": {
+ "ago": "siden",
+ "day": "dag",
+ "days": "dager",
+ "hour": "time",
+ "hours": "timer",
+ "minute": "minutt",
+ "minutes": "minutter",
+ "month": "måned",
+ "months": "måneder",
+ "one": "En",
+ "one_day_ago": "for en dag siden",
+ "one_hour_ago": "en time siden",
+ "one_minute_ago": "ett minutt siden",
+ "one_month_ago": "en måned siden",
+ "one_second_ago": "ett sekund siden",
+ "one_year_ago": "ett år siden",
+ "second": "sekund",
+ "seconds": "sekunder",
+ "x_days_ago": "{x} dager siden",
+ "x_hours_ago": "{x} timer siden",
+ "x_minutes_ago": "{x} minutter siden",
+ "x_months_ago": "{x} måneder siden",
+ "x_seconds_ago": "{x} sekunder siden",
+ "x_years_ago": "{x} år siden",
+ "year": "år",
+ "years": "år"
}
}
\ No newline at end of file
diff --git a/custom_components/hacs/translations/nl.json b/custom_components/hacs/translations/nl.json
index 34b5a225..eac51c09 100644
--- a/custom_components/hacs/translations/nl.json
+++ b/custom_components/hacs/translations/nl.json
@@ -1,25 +1,179 @@
{
+ "common": {
+ "about": "Over",
+ "add": "toevoegen",
+ "appdaemon": "AppDaemon",
+ "appdaemon_apps": "AppDaemon Apps",
+ "appdaemon_plural": "AppDaemon Apps",
+ "background_task": "Achtergrond taak is draaiende, de pagina herhaalt zichzelf wanneer dit klaar is.",
+ "check_log_file": "Controleer het logbestand voor meer details.",
+ "continue": "Verder",
+ "disabled": "Uitgeschakeld",
+ "documentation": "Documentatie",
+ "element": "element",
+ "hacs_is_disabled": "HACS is uitgeschakeld",
+ "install": "Installeer",
+ "installed": "geinstalleerd",
+ "integration": "Integratie",
+ "integration_plural": "Integraties",
+ "integrations": "Integraties",
+ "lovelace": "Lovelace",
+ "lovelace_element": "Lovelace-element",
+ "lovelace_elements": "Lovelace-elementen",
+ "manage": "beheer",
+ "netdaemon": "NetDaemon",
+ "netdaemon_apps": "NetDaemon Apps",
+ "netdaemon_plural": "NetDaemon Apps",
+ "plugin": "Lovelace",
+ "plugin_plural": "Lovelace-elementen",
+ "plugins": "Plugins",
+ "python_script": "Python Script",
+ "python_script_plural": "Python Scripts",
+ "python_scripts": "Python Scripts",
+ "repositories": "Repositories",
+ "repository": "Repository",
+ "settings": "instellingen",
+ "theme": "Thema",
+ "theme_plural": "Themas",
+ "themes": "Themas",
+ "uninstall": "Verwijderen",
+ "update": "Update",
+ "version": "Versie"
+ },
"config": {
- "abort": {
- "single_instance_allowed": "Je kunt maar een enkele configuratie van HACS tegelijk hebben."
- },
- "error": {
- "auth": "Persoonlijke Toegang Token is niet correct."
- },
"step": {
+ "device": {
+ "description": "Open {url} and paste this key `{code}` to authorize HACS, when you have done that click 'submit'",
+ "title": "HACS"
+ },
"user": {
- "description": "Als je hulp nodig hebt met de configuratie, kun je hier verder kijken: https:\/\/hacs.xyz\/docs\/configuration\/start",
- "title": "HACS (Home Assistant Community Store)"
+ "data": {
+ "acc_addons": "I know that there are no add-ons in HACS",
+ "acc_disable": "I know that if I get issues with Home Assistant I should disable all my custom_components",
+ "acc_logs": "I know how to access Home Assistant logs",
+ "acc_untested": "I know that everything inside HACS is custom and untested by Home Assistant",
+ "appdaemon": "Enable AppDaemon apps discovery & tracking",
+ "netdaemon": "Enable NetDaemon apps discovery & tracking",
+ "python_script": "Enable python_scripts discovery & tracking",
+ "sidepanel_icon": "Side panel icon",
+ "sidepanel_title": "Side panel title",
+ "theme": "Enable Themes discovery & tracking",
+ "token": "GitHub Personal Access Token"
+ },
+ "description": "Before you can setup HACS you need to acknowledge the following",
+ "title": "HACS"
}
- }
+ },
+ "title": "HACS (Home Assistant Community Store)"
},
"confirm": {
"add_to_lovelace": "Weet u zeker dat u dit wilt toevoegen aan uw Lovelace bronnen?",
- "continue": "Weet je zeker dat je wilt doorgaan?",
+ "bg_task": "Actie is geblokkeerd terwijl achtergrondtaken actief zijn.",
+ "cancel": "Annuleer",
+ "continue": "Weet je zeker dat je door wilt gaan?",
"delete": "Weet u zeker dat u '{item}' wilt verwijderen?",
+ "delete_installed": "'{item}' is geïnstalleerd, je dient het eerst te deïnstalleren voordat je het kan verwijderen.",
+ "exist": "{item} bestaat al.",
"generic": "Weet je het zeker?",
+ "home_assistant_is_restarting": "Een moment alstublieft, Home Assistant is aan het herstarten.",
+ "home_assistant_version_not_correct": "Je gebruikt Home Assistant versie '{haversion}', echter deze repository vereist dat minimaal versie '{minversion}' is geïnstalleerd.",
+ "no": "Nee",
+ "no_upgrades": "Geen upgrades in afwachting.",
+ "ok": "Oké",
"overwrite": "Door dit te doen, wordt het overschreven.",
- "uninstall": "Weet u zeker dat u '{item}' wilt verwijderen?"
+ "reload_data": "Dit zal alle bekende data herladen van alle repositories van HACS. Dit kan even duren",
+ "restart_home_assistant": "Weet u zeker dat u Home Assistant opnieuw wilt starten?",
+ "uninstall": "Weet u zeker dat u '{item}' wilt verwijderen?",
+ "upgrade_all": "Hiermee worden al deze repositories geüpgraded. Zorg ervoor dat u de release-opmerkingen van allen heeft gelezen voordat u doorgaat.",
+ "yes": "Ja"
+ },
+ "dialog_about": {
+ "frontend_version": "Frontend versie",
+ "installed_repositories": "Geïnstalleerde repositories",
+ "integration_version": "Integratieversie",
+ "useful_links": "Nuttige links"
+ },
+ "dialog_add_repo": {
+ "limit": "Alleen de eerste 100 repositories worden getoond, gebruik de zoekopdracht om te filteren wat je nodig hebt",
+ "no_match": "Er zijn geen repositories gevonden die overeenkomen met uw filter",
+ "sort_by": "Sorteren op",
+ "title": "Repository toevoegen"
+ },
+ "dialog_custom_repositories": {
+ "category": "Categorie",
+ "no_category": "Ontbrekende categorie",
+ "no_repository": "Ontbrekende repository",
+ "title": "Aangepaste repositories",
+ "url_placeholder": "Voeg een aangepaste repository-URL toevoegen"
+ },
+ "dialog_info": {
+ "author": "Auteur",
+ "downloads": "Downloads",
+ "install": "Installeer deze repository in HACS",
+ "loading": "Informatie laden ...",
+ "no_info": "De ontwikkelaar heeft geen verdere informatie verstrekt voor deze repository",
+ "open_issues": "Openstaande problemen",
+ "open_repo": "Open repository",
+ "stars": "Sterren",
+ "version_installed": "Versie geïnstalleerd"
+ },
+ "dialog_install": {
+ "restart": "Onthoud dat u Home Assistant opnieuw moet opstarten voordat wijzigingen aan integraties (custom_components) worden toegepast.",
+ "select_version": "Selecteer versie",
+ "show_beta": "Bètaversies weergeven",
+ "type": "Type",
+ "url": "URL"
+ },
+ "dialog_update": {
+ "available_version": "Beschikbare versie",
+ "changelog": "Changelog",
+ "installed_version": "Geïnstalleerde versie",
+ "releasenotes": "Releasenotes voor {release}",
+ "title": "Update in behandeling"
+ },
+ "entry": {
+ "information": "Informatie",
+ "intro": "Updates en belangrijke berichten worden hier weergegeven als die er zijn",
+ "messages": {
+ "disabled": {
+ "content": "Controleer uw logbestand voor meer details",
+ "title": "HACS is uitgeschakeld"
+ },
+ "has_pending_tasks": {
+ "content": "Sommige repositories worden mogelijk pas weergegeven als dit is voltooid",
+ "title": "Achtergrondtaken in behandeling"
+ },
+ "resources": {
+ "content": "Je hebt {number} Lovelace-elementen die niet correct zijn geladen in Lovelace.",
+ "title": "Niet geladen in Lovelace"
+ },
+ "restart": {
+ "content": "Je hebt {number} integraties waarvoor de Home Assistant opnieuw moet worden opgestart, je kunt dat doen via het gedeelte 'Serverbeheer' onder het configuratiegedeelte van de Home Assistant UI.",
+ "title": "In afwachting van herstart"
+ },
+ "startup": {
+ "content": "HACS is aan het opstarten, gedurende deze tijd kan er informatie ontbreken of onjuist zijn",
+ "title": "HACS is aan het opstarten"
+ },
+ "wrong_frontend_installed": {
+ "content": "Je hebt {running} van de HACS-frontend geïnstalleerd, maar versie {expected} werd verwacht. Als je dit bericht ziet, kon Home Assistant de nieuwe versie niet installeren, probeer dan Home Assistant opnieuw op te starten.",
+ "title": "Onverwachte frontend-versie"
+ },
+ "wrong_frontend_loaded": {
+ "content": "U gebruikt versie {running} van de HACS-frontend, maar versie {expected} werd verwacht, u moet uw browsercache wissen.",
+ "title": "Onverwachte frontend-versie"
+ }
+ },
+ "pending_updates": "In afwachting van updates"
+ },
+ "menu": {
+ "about": "Over HACS",
+ "clear": "Wis alle nieuwe",
+ "custom_repositories": "Aangepaste repositories",
+ "dismiss": "Sluit alle nieuwe repositories af",
+ "documentation": "Documentatie",
+ "open_issue": "Meld probleem",
+ "reload": "Herlaad venster"
},
"options": {
"step": {
@@ -39,27 +193,154 @@
}
},
"repository_banner": {
+ "config_flow": "Deze integratie ondersteunt config_flow, wat betekent dat u via uw \"Instellingen\" naar \"Integraties\" kunt gaan om het te configureren.",
+ "config_flow_title": "UI-configuratie ondersteund",
"integration_not_loaded": "Deze integratie wordt niet geladen in Home Assistant.",
+ "no_restart_required": "Geen herstart vereist",
"not_loaded": "Niet geladen",
"plugin_not_loaded": "Deze plugin wordt niet toegevoegd aan je Lovelace resources.",
"restart": "U moet Home Assistant opnieuw starten.",
"restart_pending": "Wachten op herstart"
},
+ "repository_card": {
+ "dismiss": "afwijzen",
+ "hide": "Verbergen",
+ "information": "Informatie",
+ "new_repository": "Nieuwe repository",
+ "not_loaded": "Niet geladen",
+ "open_issue": "Meld probleem",
+ "open_source": "Open source",
+ "pending_restart": "In afwachting van herstart",
+ "pending_update": "In afwachting van update",
+ "reinstall": "Herinstalleer",
+ "report": "Rapport voor verwijdering",
+ "update_information": "Update informatie"
+ },
"repository": {
"add_to_lovelace": "Toevoegen aan Lovelace",
- "authors": "Auteurs"
+ "authors": "Auteurs",
+ "available": "Beschikbaar",
+ "back_to": "Terug naar",
+ "changelog": "Changelog",
+ "downloads": "Downloads",
+ "flag_this": "Vlag dit",
+ "frontend_version": "Frontend versie",
+ "github_stars": "GitHub-sterren",
+ "goto_integrations": "Ga naar integraties",
+ "hide": "Verberg",
+ "hide_beta": "Verberg beta",
+ "install": "Installeer",
+ "installed": "Geinstalleerd",
+ "lovelace_copy_example": "Kopier het voorbeeld naar je klembord",
+ "lovelace_instruction": "Wanneer je dit gaat toevoegen aan je lovelace configuratie gebruik dit",
+ "lovelace_no_js_type": "Kon niet achterhalen welk type plugin dit is, check de repository van de plugin.",
+ "newest": "nieuwste",
+ "note_appdaemon": "je moet het nog steeds toevoegen aan je 'apps.yaml' bestand",
+ "note_installed": "Wanneer geïnstalleerd, staat het in",
+ "note_integration": "je moet het nog steeds toevoegen aan je 'configuration.yaml' bestand",
+ "note_plugin": "je moet het nog steeds toevoegen aan je lovelace configuratie ('ui-lovelace.yaml') of raw UI config editor.",
+ "note_plugin_post_107": "je moet het nog steeds toevoegen aan je lovelace configuratie ('configuration.yaml' of de resource editor '\/config\/lovelace\/resources')",
+ "open_issue": "Meld probleem",
+ "open_plugin": "Open plugin",
+ "reinstall": "Herinstalleer",
+ "repository": "Repository",
+ "restart_home_assistant": "Start Home Assistant opnieuw",
+ "show_beta": "Laat beta zien",
+ "uninstall": "Verwijder",
+ "update_information": "Update informatie",
+ "upgrade": "Update"
+ },
+ "search": {
+ "placeholder": "Zoek naar repository"
+ },
+ "sections": {
+ "about": {
+ "description": "Toon informatie over HACS",
+ "title": "Over"
+ },
+ "automation": {
+ "description": "Hier vind je python_scripts, AppDaemon-apps en NetDaemon-apps",
+ "title": "Automatisering"
+ },
+ "frontend": {
+ "description": "Dit is waar je thema's, aangepaste kaarten en andere elementen voor lovelace",
+ "title": "Frontend"
+ },
+ "integrations": {
+ "description": "Hier vindt u aangepaste integraties (custom_components)",
+ "title": "Integraties"
+ },
+ "pending_repository_upgrade": "U gebruikt versie {installed} , versie {available} is beschikbaar"
},
"settings": {
+ "add_custom_repository": "VOEG EIGEN REPOSITORY TOE",
+ "adding_new_repo": "Nieuwe repository '{repo}' toevoegen",
+ "adding_new_repo_category": "Met categorie '{category}'.",
+ "bg_task_custom": "Aangepaste repositories zijn verborgen terwijl de achtergrondtaken actief zijn.",
+ "category": "Categorie",
"compact_mode": "Compacte modus",
+ "custom_repositories": "EIGEN REPOSITORIES",
+ "delete": "Verwijder",
+ "display": "Weergave",
+ "grid": "Rooster",
+ "hacs_repo": "HACS repo",
"hidden_repositories": "verborgen repositories",
+ "missing_category": "Je moet een categorie selecteren.",
+ "open_repository": "Open repository",
+ "reload_data": "Herlaad data",
+ "reload_window": "Herlaad venster",
+ "repository_configuration": "Repository configuratie",
+ "save": "Opslaan",
+ "table": "Tabel",
"table_view": "Tabelweergave",
- "unhide": "zichtbaar maken"
+ "unhide": "zichtbaar maken",
+ "upgrade_all": "Upgrade alles"
},
"store": {
+ "ascending": "oplopend",
"clear_new": "Wissen van alle nieuwe repositories",
+ "descending": "Aflopend",
+ "last_updated": "Laatste update",
"name": "Naam",
"new_repositories": "Nieuwe Repositories",
+ "new_repositories_note": "Je hebt meer dan 10 nieuwe repositories die hier worden weergegeven, als je ze allemaal wilt wissen, klik dan op de 3 puntjes in de rechterbovenhoek en wijs ze af.",
+ "no_repositories": "Geen repositories",
+ "no_repositories_desc1": "Het lijkt erop dat je nog geen repositories hebt geïnstalleerd in deze sectie.",
+ "no_repositories_desc2": "Klik op de + in de benedenhoek om je eerste toe te voegen!",
+ "no_repositories_found_desc1": "Er zijn geen geïnstalleerde repositories die overeenkomen met {searchInput}\" in deze sectie.",
+ "no_repositories_found_desc2": "Probeer iets anders te zoeken!",
+ "pending_upgrades": "Upgrades in afwachting",
+ "placeholder_search": "Typ iets om te zoeken...",
"sort": "sorteer",
+ "stars": "Sterren",
"status": "Status"
+ },
+ "time": {
+ "ago": "geleden",
+ "day": "dag",
+ "days": "dagen",
+ "hour": "uur",
+ "hours": "uren",
+ "minute": "minuut",
+ "minutes": "minuten",
+ "month": "maand",
+ "months": "maanden",
+ "one": "Eén",
+ "one_day_ago": "een dag geleden",
+ "one_hour_ago": "een uur geleden",
+ "one_minute_ago": "een minuut geleden",
+ "one_month_ago": "een maand geleden",
+ "one_second_ago": "een seconde geleden",
+ "one_year_ago": "een jaar geleden",
+ "second": "seconde",
+ "seconds": "seconden",
+ "x_days_ago": "{x} dagen geleden",
+ "x_hours_ago": "{x} uur geleden",
+ "x_minutes_ago": "{x} minuten geleden",
+ "x_months_ago": "{x} maanden geleden",
+ "x_seconds_ago": "{x} seconden geleden",
+ "x_years_ago": "{x} jaar geleden",
+ "year": "jaar",
+ "years": "jaren"
}
}
\ No newline at end of file
diff --git a/custom_components/hacs/translations/nn.json b/custom_components/hacs/translations/nn.json
index 657f6ee5..0a1666db 100644
--- a/custom_components/hacs/translations/nn.json
+++ b/custom_components/hacs/translations/nn.json
@@ -1,25 +1,86 @@
{
+ "common": {
+ "about": "Om",
+ "appdaemon": "AppDaemon",
+ "appdaemon_apps": "AppDeamon-appar",
+ "appdaemon_plural": "AppDaemon-appar",
+ "background_task": "Bakgrunnsoppgåve køyrer. Denne sida kjem til å laste seg omatt når ho er ferdig.",
+ "check_log_file": "Sjå i loggfila di for meir detaljar.",
+ "continue": "Hald fram",
+ "disabled": "Deaktivert",
+ "documentation": "Dokumentasjon",
+ "element": "element",
+ "hacs_is_disabled": "HACS er deaktivert",
+ "installed": "Installert",
+ "integration": "Integrasjon",
+ "integration_plural": "Integrasjonar",
+ "integrations": "Integrasjonar",
+ "lovelace": "Lovelace",
+ "lovelace_element": "Lovelace-element",
+ "lovelace_elements": "Lovelace-element",
+ "manage": "Handtere",
+ "netdaemon": "NetDaemon",
+ "netdaemon_apps": "NetDeamon-appar",
+ "netdaemon_plural": "NetDaemon-appar",
+ "plugin": "Lovelace",
+ "plugin_plural": "Lovelace-element",
+ "plugins": "Lovelace-element",
+ "python_script": "Pythonskript",
+ "python_script_plural": "Pythonskript",
+ "python_scripts": "Pythonskript",
+ "repositories": "Repositories",
+ "settings": "innstillingar",
+ "theme": "Tema",
+ "theme_plural": "Tema",
+ "themes": "Tema",
+ "version": "Versjon"
+ },
"config": {
- "abort": {
- "single_instance_allowed": "Berre éin enkelt konfigurasjon av HACS er tillete."
- },
- "error": {
- "auth": "Personleg tilgangsnøkkel er ikkje korrekt."
- },
"step": {
+ "device": {
+ "description": "Open {url} and paste this key `{code}` to authorize HACS, when you have done that click 'submit'",
+ "title": "HACS"
+ },
"user": {
- "description": "Dersom du treng hjelp med konfigurasjonen, ta ein kik her: https:\/\/hacs.xyz\/docs\/configuration\/start",
- "title": "[%key_id:28417459%]"
+ "data": {
+ "acc_addons": "I know that there are no add-ons in HACS",
+ "acc_disable": "I know that if I get issues with Home Assistant I should disable all my custom_components",
+ "acc_logs": "I know how to access Home Assistant logs",
+ "acc_untested": "I know that everything inside HACS is custom and untested by Home Assistant",
+ "appdaemon": "Enable AppDaemon apps discovery & tracking",
+ "netdaemon": "Enable NetDaemon apps discovery & tracking",
+ "python_script": "Enable python_scripts discovery & tracking",
+ "sidepanel_icon": "Side panel icon",
+ "sidepanel_title": "Side panel title",
+ "theme": "Enable Themes discovery & tracking",
+ "token": "GitHub Personal Access Token"
+ },
+ "description": "Before you can setup HACS you need to acknowledge the following",
+ "title": "HACS"
}
- }
+ },
+ "title": "HACS (Home Assistant Community Store)"
},
"confirm": {
"add_to_lovelace": "Er du sikker på at du vil legge til dette i Lovelace-ressursane dine?",
+ "bg_task": "Handlinga er deaktivert medan bakgrunnsoppgåveene køyrer.",
+ "cancel": "Avbryt",
"continue": "Er du sikker på at du vil halde fram?",
"delete": "Er du sikker på at du vil slette '{item}'?",
+ "delete_installed": "'{item}' er installert. Du må avinstallere det før du kan slette det.",
+ "exist": "{item} eksisterer allereie",
"generic": "Er du sikker?",
+ "home_assistant_is_restarting": "Vent... Home Assistant starter på nytt no.",
+ "home_assistant_version_not_correct": "Du køyrer Home Assistant-versjonen '{haversion}', men dette kodedepoet krev minst versjon '{minversion}' for å bli installert.",
+ "no": "Nei",
+ "no_upgrades": "Ingen ventande oppgradringer",
+ "ok": "OK",
"overwrite": "Ved å gjere dette kjem du til å overskrive.",
- "uninstall": "Er du sikker på at du vil avinstallere '{item}'?"
+ "reload_data": "Dette laster inn dataa til depota HACS veit om, og dette vil ta litt tid å fullføre.",
+ "restart_home_assistant": "Er du sikker på at du vil starte Home Assistant på nytt?",
+ "uninstall": "Er du sikker på at du vil avinstallere '{item}'?",
+ "upgrade_all": "Dette kjem til å oppgradere alle depota. Ver sikker på at du har lest alle versjonsmerknadene før du held fram.",
+ "yes": "Ja"
},
"options": {
"step": {
@@ -39,7 +100,10 @@
}
},
"repository_banner": {
+ "config_flow": "Denne integrasjonen støttar config_flow, som betyr at du no kan gå til integrasjonssida i brukargrensesnittet for å konfigurere den.",
+ "config_flow_title": "UI-konfigurasjon støtta",
"integration_not_loaded": "Integrasjonen er ikkje lasta inn i Home Assistant.",
+ "no_restart_required": "Ingen omstart kravd",
"not_loaded": "Ikkje lasta",
"plugin_not_loaded": "Tillegget er ikkje lagt til i Lovelace-ressursane dine.",
"restart": "Du må starte Home Assistant på nytt",
@@ -47,19 +111,120 @@
},
"repository": {
"add_to_lovelace": "Legg til i Lovelace",
- "authors": "Forfatter(e)"
+ "authors": "Forfatter(e)",
+ "available": "Tilgjengeleg",
+ "back_to": "Tilbake til",
+ "changelog": "Endre logg",
+ "downloads": "Nedlastinger",
+ "flag_this": "Marker dette",
+ "frontend_version": "Frontend-versjon",
+ "github_stars": "GitHub-stjerner",
+ "goto_integrations": "Gå til integrasjonar",
+ "hide": "Gøym",
+ "hide_beta": "Gøym beta",
+ "install": "Installer",
+ "installed": "Installert",
+ "lovelace_copy_example": "Kopier eksempelet til utklippsbreittet ditt",
+ "lovelace_instruction": "Når du legg til dette i Lovelace-konfigurasjonen din, bruk dette",
+ "lovelace_no_js_type": "Kunne ikkje slå fast typen til dette tilegget. Sjå i repositoryet.",
+ "newest": "nyaste",
+ "note_appdaemon": "du må framleis legge dette til i \"apps.yaml\"-fila di",
+ "note_installed": "Når dette er installert, kjem den til å vere plassert i",
+ "note_integration": "du må framleis legge dette til i \"configuration.yaml\"-fila di",
+ "note_plugin": "du må framleis dette til i Lovelace-konfigurasjonen (\"ui-lovelace.yaml\" eller i rå-brukargrensesnittredigeraren",
+ "note_plugin_post_107": "du må framleis legge dette til i lovelace-konfigurasjonen ('configuration.yaml' eller i kjelderedigeraren ''\/config\/lovelace\/resources')",
+ "open_issue": "Opne problem",
+ "open_plugin": "Opne tillegg",
+ "reinstall": "Installer på nytt",
+ "repository": "Repository",
+ "restart_home_assistant": "Start Home Assistant på nytt",
+ "show_beta": "Vis beta",
+ "uninstall": "Avinstaller",
+ "update_information": "Oppdater informasjonen",
+ "upgrade": "Oppdater"
+ },
+ "sections": {
+ "about": {
+ "description": "Vis informasjon om HACS",
+ "title": "Om"
+ },
+ "automation": {
+ "description": "Her finn du python_scripts, AppDaemon-appar og NetDaemon-appar",
+ "title": "Automasjon"
+ },
+ "frontend": {
+ "description": "Her finn du tema, eigendefinerte kort og andre element for lovelace",
+ "title": "Frontend"
+ },
+ "integrations": {
+ "description": "Her finn du eigendefinerte ingtegrasjonar (custom_components)",
+ "title": "Integrasjonar"
+ },
+ "pending_repository_upgrade": "Du køyrer versjon {installed}, og versjon {available} er tilgjengeleg"
},
"settings": {
+ "add_custom_repository": "LEGG TIL EIN ANNAN REPOSITORY",
+ "adding_new_repo": "Legger til ny repository '{repo}'",
+ "adding_new_repo_category": "Med kategori '{category}'.",
+ "bg_task_custom": "Custom repositories er skjult medan bakgrunnsoppgaver køyrer.",
+ "category": "Kategori",
"compact_mode": "Kompaktmodus",
+ "custom_repositories": "VANLEG REPOSITORY",
+ "delete": "Slett",
+ "display": "Vis",
+ "grid": "rutenett",
+ "hacs_repo": "HACS repo",
"hidden_repositories": "gøymde repositories",
+ "missing_category": "Du må velje éin kategori",
+ "open_repository": "Opne repository",
+ "reload_data": "Last om dataa",
+ "reload_window": "Last inn vindauget på nytt",
+ "repository_configuration": "Repository-konfigurasjon",
+ "save": "Lagre",
+ "table": "Tavle",
"table_view": "Tabellvisning",
- "unhide": "vis"
+ "unhide": "vis",
+ "upgrade_all": "Oppdater alle"
},
"store": {
+ "ascending": "stigande",
"clear_new": "Fjern alle nye repositories",
+ "descending": "synkande",
+ "last_updated": "Sist oppdatert",
"name": "Namn",
"new_repositories": "Ny repository",
+ "pending_upgrades": "Ventande oppgraderinger",
+ "placeholder_search": "Ver vennleg og skriv inn ei søkefrase",
"sort": "Sorter",
+ "stars": "Stjerner",
"status": "Status"
+ },
+ "time": {
+ "ago": "sidan",
+ "day": "dag",
+ "days": "dagar",
+ "hour": "time",
+ "hours": "timar",
+ "minute": "minutt",
+ "minutes": "minutt",
+ "month": "månad",
+ "months": "månadar",
+ "one": "Éin",
+ "one_day_ago": "for éin dag sidan",
+ "one_hour_ago": "éin time sidan",
+ "one_minute_ago": "eitt minutt sidan",
+ "one_month_ago": "ein månad sidan",
+ "one_second_ago": "eitt sekund sidan",
+ "one_year_ago": "eitt år sidan",
+ "second": "sekund",
+ "seconds": "sekund",
+ "x_days_ago": "{x} dagar siden",
+ "x_hours_ago": "{x} timer sidan",
+ "x_minutes_ago": "{x} minutt sidan",
+ "x_months_ago": "{x} månadar sidan",
+ "x_seconds_ago": "{x} sekund sidan",
+ "x_years_ago": "{x} år sidan",
+ "year": "år",
+ "years": "år"
}
}
\ No newline at end of file
diff --git a/custom_components/hacs/translations/pl.json b/custom_components/hacs/translations/pl.json
index e7ced1f3..7458e26d 100644
--- a/custom_components/hacs/translations/pl.json
+++ b/custom_components/hacs/translations/pl.json
@@ -1,25 +1,210 @@
{
+ "common": {
+ "about": "O",
+ "add": "dodaj",
+ "appdaemon": "AppDaemon",
+ "appdaemon_apps": "Aplikacje AppDaemon",
+ "appdaemon_plural": "Aplikacje AppDaemon",
+ "background_task": "Wykonywanie zadania w tle, ta strona zostanie odświeżona, gdy zadanie zostanie ukończone.",
+ "cancel": "Anuluj",
+ "check_log_file": "Sprawdź plik dziennika, aby uzyskać więcej informacji.",
+ "continue": "Kontynuuj",
+ "disabled": "Wyłączony",
+ "documentation": "Dokumentacja",
+ "element": "element",
+ "hacs_is_disabled": "HACS jest wyłączony",
+ "ignore": "Ignoruj",
+ "install": "Zainstaluj",
+ "installed": "zainstalowane",
+ "integration": "Integracja",
+ "integration_plural": "Integracje",
+ "integrations": "Integracje",
+ "lovelace": "Lovelace",
+ "lovelace_element": "Element Lovelace",
+ "lovelace_elements": "Elementy Lovelace",
+ "manage": "zarządzaj",
+ "netdaemon": "NetDaemon",
+ "netdaemon_apps": "Aplikacje NetDaemon",
+ "netdaemon_plural": "Aplikacje NetDaemon",
+ "plugin": "Lovelace",
+ "plugin_plural": "Elementy Lovelace",
+ "plugins": "Elementy Lovelace",
+ "python_script": "Skrypt Python",
+ "python_script_plural": "Skrypty języka Python",
+ "python_scripts": "Skrypty Python",
+ "reload": "Wczytaj ponownie",
+ "repositories": "Repozytoria",
+ "repository": "Repozytorium",
+ "settings": "ustawienia",
+ "theme": "Motyw",
+ "theme_plural": "Motywy",
+ "themes": "Motywy",
+ "uninstall": "Odinstaluj",
+ "update": "Uaktualnij",
+ "version": "Wersja"
+ },
"config": {
"abort": {
"single_instance_allowed": "Dozwolona jest tylko jedna konfiguracja HACS."
},
"error": {
- "auth": "Osobisty token dostępu jest nieprawidłowy."
+ "acc": "Musisz potwierdzić wszystkie oświadczenia przed kontynuowaniem",
+ "auth": "Osobisty token dostępu jest nieprawidłowy"
},
"step": {
+ "device": {
+ "description": "Open {url} and paste this key `{code}` to authorize HACS, when you have done that click 'submit'",
+ "title": "HACS"
+ },
"user": {
- "description": "Jeśli potrzebujesz pomocy w konfiguracji, przejdź na stronę: https:\/\/hacs.xyz\/docs\/configuration\/start",
- "title": "HACS (Home Assistant Community Store)"
+ "data": {
+ "acc_addons": "I know that there are no add-ons in HACS",
+ "acc_disable": "I know that if I get issues with Home Assistant I should disable all my custom_components",
+ "acc_logs": "I know how to access Home Assistant logs",
+ "acc_untested": "I know that everything inside HACS is custom and untested by Home Assistant",
+ "appdaemon": "Enable AppDaemon apps discovery & tracking",
+ "netdaemon": "Enable NetDaemon apps discovery & tracking",
+ "python_script": "Enable python_scripts discovery & tracking",
+ "sidepanel_icon": "Side panel icon",
+ "sidepanel_title": "Side panel title",
+ "theme": "Enable Themes discovery & tracking",
+ "token": "GitHub Personal Access Token"
+ },
+ "description": "Before you can setup HACS you need to acknowledge the following",
+ "title": "HACS"
}
- }
+ },
+ "title": "HACS (Home Assistant Community Store)"
},
"confirm": {
"add_to_lovelace": "Na pewno chcesz dodać to do swoich zasobów Lovelace?",
+ "bg_task": "Akcja jest wyłączona podczas wykonywania zadań w tle.",
+ "cancel": "Anuluj",
"continue": "Na pewno chcesz kontynuować?",
"delete": "Na pewno chcesz usunąć '{item}'?",
+ "delete_installed": "'{item}' jest zainstalowany, musisz go odinstalować zanim będziesz mógł go usunąć.",
+ "exist": "{item} już istnieje",
"generic": "Jesteś pewny?",
+ "home_assistant_is_restarting": "Poczekaj, Home Assistant jest teraz ponownie uruchamiany.",
+ "home_assistant_version_not_correct": "Używasz Home Assistant'a w wersji '{haversion}', a to repozytorium wymaga wersji minimum '{minversion}'.",
+ "no": "Nie",
+ "no_upgrades": "Brak oczekujących aktualizacji",
+ "ok": "Ok",
"overwrite": "Spowoduje to zastąpienie istniejącej kopii.",
- "uninstall": "Na pewno chcesz odinstalować '{item}'?"
+ "reload_data": "To przeładowuje dane wszystkich repozytoriów, o których wie HACS, może to trochę potrwać.",
+ "restart_home_assistant": "Na pewno chcesz ponownie uruchomić Home Assistant'a?",
+ "uninstall": "Na pewno chcesz odinstalować '{item}'?",
+ "upgrade_all": "To uaktualni wszystkie te repozytoria, upewnij się, że przeczytałeś uwagi do wydania dla wszystkich z nich przed kontynuacją.",
+ "yes": "Tak"
+ },
+ "dialog_about": {
+ "frontend_version": "Wersja interfejsu użytkownika",
+ "installed_repositories": "Zainstalowane repozytoria",
+ "integration_version": "Wersja integracji",
+ "useful_links": "Przydatne linki"
+ },
+ "dialog_add_repo": {
+ "limit": "Wyświetlanych jest tylko pierwszych 100 repozytoriów, użyj wyszukiwania, aby przefiltrować potrzebne informacje",
+ "no_match": "Nie znaleziono repozytoriów pasujących do filtra",
+ "sort_by": "Sortuj według",
+ "title": "Dodawanie repozytorium"
+ },
+ "dialog_custom_repositories": {
+ "category": "Kategoria",
+ "no_category": "Brak kategorii",
+ "no_repository": "Brak repozytorium",
+ "title": "Niestandardowe repozytoria",
+ "url_placeholder": "Adres URL niestandardowego repozytorium"
+ },
+ "dialog_info": {
+ "author": "Autor",
+ "downloads": "Ilość pobrań",
+ "install": "Zainstaluj to repozytorium w HACS",
+ "loading": "Pobieranie informacji...",
+ "no_info": "Deweloper nie dostarczył więcej informacji na temat tego repozytorium",
+ "open_issues": "Problemy",
+ "open_repo": "Otwórz repozytorium",
+ "stars": "Gwiazdki",
+ "version_installed": "Wersja zainstalowana"
+ },
+ "dialog_install": {
+ "restart": "Pamiętaj, że musisz ponownie uruchomić Home Assistanta by zastosować zmiany w integracjach (custom_components).",
+ "select_version": "Wybierz wersję",
+ "show_beta": "Wyświetl wydania beta",
+ "type": "Typ",
+ "url": "URL"
+ },
+ "dialog_removed": {
+ "link": "Link zewnętrzny do dodatkowych informacji",
+ "name": "Nazwa repozytorium",
+ "reason": "Powód usunięcia",
+ "type": "Rodzaj usunięcia"
+ },
+ "dialog_update": {
+ "available_version": "Dostępna wersja",
+ "changelog": "Lista zmian",
+ "installed_version": "Zainstalowana wersja",
+ "releasenotes": "Informacje o {release}",
+ "title": "Dostępna aktualizacja"
+ },
+ "dialog": {
+ "reload": {
+ "confirm": "Czy chcesz to zrobić teraz?",
+ "description": "Musisz wyczyścić pamięć podręczną przeglądarki po zmianie zasobów Lovelace."
+ }
+ },
+ "entry": {
+ "information": "Informacje",
+ "intro": "Aktualizacje i ważne komunikaty będą wyświetlane w tym miejscu",
+ "messages": {
+ "disabled": {
+ "content": "Sprawdź log, aby uzyskać więcej informacji",
+ "title": "HACS jest wyłączony"
+ },
+ "has_pending_tasks": {
+ "content": "Dopóki nie zostaną zakończone, niektóre repozytoria mogą nie być wyświetlane",
+ "title": "Wykonywane są zadania w tle"
+ },
+ "removed": "Usunięto repozytorium '{repository}'",
+ "resources": {
+ "content": "Elementy Lovelace, które nie zostały poprawnie załadowane: {number}",
+ "title": "Nie załadowano w Lovelace"
+ },
+ "restart": {
+ "content": "Integracje, które wymagają ponownego uruchomienia Home Assistanta: {number}\\nMożesz to zrobić w sekcji 'Kontrola serwera' konfiguracji Home Assistanta.",
+ "title": "Oczekiwanie na restart"
+ },
+ "setup": {
+ "content": "HACS jest konfigurowany, w tym czasie może brakować niektórych informacji lub są one nieprawidłowe",
+ "title": "HACS jest konfigurowany"
+ },
+ "startup": {
+ "content": "HACS uruchamia się, w tym czasie może brakować pewnych informacji lub mogą one być nieprawidłowe.",
+ "title": "HACS uruchamia się"
+ },
+ "waiting": {
+ "content": "HACS czeka na zakończenie uruchamiania Home Assistanta przed rozpoczęciem własnych zadań",
+ "title": "HACS czeka"
+ },
+ "wrong_frontend_installed": {
+ "content": "Masz zainstalowany interfejs HACS w wersji {running}, a wersja {expected} była oczekiwana. Komunikat ten oznacza, że Home Assistant nie mógł zainstalować nowej wersji interfejsu HACS, spróbuj ponownie uruchomić Home Assistanta.",
+ "title": "Nieoczekiwana wersja interfejsu"
+ },
+ "wrong_frontend_loaded": {
+ "content": "Używasz wersji {running} interfejsu HACS, a wersja {expected} była oczekiwana, powinieneś wyczyścić pamięć podręczną przeglądarki.",
+ "title": "Nieoczekiwana wersja interfejsu"
+ }
+ },
+ "pending_updates": "Oczekujące aktualizacje"
+ },
+ "menu": {
+ "about": "O HACS",
+ "clear": "Wyczyść oznaczenia nowych",
+ "custom_repositories": "Niestandardowe repozytoria",
+ "dismiss": "Odrzuć wszystkie nowe repozytoria",
+ "documentation": "Dokumentacja",
+ "open_issue": "Powiadom o problemie",
+ "reload": "Załaduj ponownie okno"
},
"options": {
"step": {
@@ -39,27 +224,160 @@
}
},
"repository_banner": {
+ "config_flow": "Ta integracja obsługuje config_flow, co oznacza, że możesz teraz przejść do sekcji integracji w interfejsie użytkownika, aby ją skonfigurować.",
+ "config_flow_title": "Obsługiwana konfiguracja poprzez interfejs użytkownika",
"integration_not_loaded": "Ta integracja nie jest załadowana do Home Assistant'a.",
+ "no_restart_required": "Ponowne uruchomienie nie jest wymagane",
"not_loaded": "Nie załadowano",
"plugin_not_loaded": "Ta wtyczka nie jest dodana do zasobów Lovelace.",
"restart": "Musisz ponownie uruchomić Home Assistant'a.",
"restart_pending": "Oczekiwanie na ponowne uruchomienie"
},
+ "repository_card": {
+ "dismiss": "odrzuć",
+ "hide": "Ukryj",
+ "information": "Informacje",
+ "new_repository": "Nowe repozytorium",
+ "not_loaded": "Nie załadowano",
+ "open_issue": "Powiadom o problemie",
+ "open_source": "Otwórz kod źródłowy",
+ "pending_restart": "Oczekiwanie na restart",
+ "pending_update": "Oczekująca aktualizacja",
+ "reinstall": "Przeinstaluj",
+ "report": "Zgłoś do usunięcia",
+ "update_information": "Uaktualnij dane"
+ },
"repository": {
"add_to_lovelace": "Dodaj do Lovelace",
- "authors": "Autorzy"
+ "authors": "Autorzy",
+ "available": "Dostępna",
+ "back_to": "Wróć do",
+ "changelog": "Lista zmian",
+ "downloads": "Ilość pobrań",
+ "flag_this": "Oflaguj",
+ "frontend_version": "Wersja frontendu",
+ "github_stars": "Gwiazdki GitHub",
+ "goto_integrations": "Przejdź do integracji",
+ "hide": "Ukryj",
+ "hide_beta": "Ukryj wydania beta",
+ "install": "Zainstaluj",
+ "installed": "Zainstalowano",
+ "lovelace_copy_example": "Skopiuj przykład do schowka",
+ "lovelace_instruction": "Interfejs użytkownika użyje tej wtyczki po dodaniu konfiguracji",
+ "lovelace_no_js_type": "Nie można określić typu tej wtyczki, sprawdź repozytorium.",
+ "newest": "najnowsza",
+ "note_appdaemon": "musisz jeszcze dodać aplikację do pliku 'apps.yaml'",
+ "note_installed": "Po zainstalowaniu dodatek będzie znajdować się w",
+ "note_integration": "musisz jeszcze dodać integrację do pliku 'configuration.yaml'",
+ "note_plugin": "musisz jeszcze dodać wtyczkę do konfiguracji interfejsu użytkownika (plik 'ui-lovelace.yaml' lub edytor interfejsu użytkownika)",
+ "note_plugin_post_107": "nadal musisz dodać go do konfiguracji Lovelace ('configuration.yaml' lub edytora zasobów '\/config\/lovelace\/resources')",
+ "open_issue": "Powiadom o problemie",
+ "open_plugin": "Otwórz element",
+ "reinstall": "Przeinstaluj",
+ "repository": "Repozytorium",
+ "restart_home_assistant": "Uruchom ponownie Home Assistant'a",
+ "show_beta": "Wyświetl wydania beta",
+ "uninstall": "Odinstaluj",
+ "update_information": "Uaktualnij dane",
+ "upgrade": "Uaktualnij"
+ },
+ "search": {
+ "installed": "Wyszukaj zainstalowane repozytoria",
+ "installed_new": "Wyszukaj zainstalowane lub nowe repozytoria",
+ "placeholder": "Wyszukaj repozytorium"
+ },
+ "sections": {
+ "about": {
+ "description": "Informacje o HACS",
+ "title": "O HACS"
+ },
+ "addon": {
+ "description": "W HACS nie ma dodatków, ale możesz kliknąć tutaj, aby przejść do Supervisora",
+ "title": "Dodatki"
+ },
+ "automation": {
+ "description": "Skrypty Pythona, aplikacje AppDaemon i NetDaemon",
+ "title": "Automatyzacje"
+ },
+ "frontend": {
+ "description": "Motywy, niestandardowe karty i inne elementy interfejsu użytkownika",
+ "title": "Interfejs użytkownika"
+ },
+ "integrations": {
+ "description": "Niestandardowe integracje (custom_components)",
+ "title": "Integracje"
+ },
+ "pending_repository_upgrade": "Używasz wersji {installed}, wersja {available} jest dostępna"
},
"settings": {
+ "add_custom_repository": "DODAJ REPOZYTORIUM NIESTANDARDOWE",
+ "adding_new_repo": "Dodawanie nowego repozytorium '{repo}'",
+ "adding_new_repo_category": "Z kategorią '{category}'.",
+ "bg_task_custom": "Niestandardowe repozytoria są ukryte podczas wykonywania zadań w tle.",
+ "category": "Kategoria",
"compact_mode": "Tryb kompaktowy",
+ "custom_repositories": "REPOZYTORIA NIESTANDARDOWE",
+ "delete": "Usuń",
+ "display": "Sposób wyświetlania",
+ "grid": "kratka",
+ "hacs_repo": "Repozytorium HACS",
"hidden_repositories": "ukryte repozytoria",
+ "missing_category": "Musisz wybrać kategorię",
+ "open_repository": "Otwórz repozytorium",
+ "reload_data": "Wczytaj ponownie dane",
+ "reload_window": "Załaduj ponownie okno",
+ "repository_configuration": "Konfiguracja repozytorium",
+ "save": "Zapisz",
+ "table": "tabela",
"table_view": "Widok tabeli",
- "unhide": "pokaż"
+ "unhide": "pokaż",
+ "upgrade_all": "Uaktualnij wszystkie"
},
"store": {
+ "ascending": "rosnąco",
"clear_new": "Wyczyść wszystkie nowe repozytoria",
+ "descending": "malejąco",
+ "last_updated": "Ostatnia aktualizacja",
"name": "Nazwa",
"new_repositories": "Nowe repozytoria",
+ "new_repositories_note": "Jest ponad 10 nowych repozytoriów, jeśli chcesz je wyczyścić, kliknij menu z trzema kropkami w prawym górnym rogu i odrzuć je wszystkie.",
+ "no_repositories": "Brak repozytoriów",
+ "no_repositories_desc1": "Wygląda na to, że nie masz jeszcze zainstalowanych repozytoriów w tej sekcji.",
+ "no_repositories_desc2": "Kliknij + w dolnym rogu, aby dodać pierwsze!",
+ "no_repositories_found_desc1": "W tej sekcji nie znaleziono zainstalowanych repozytoriów pasujących do \"{searchInput}\".",
+ "no_repositories_found_desc2": "Spróbuj wyszukać czegoś innego!",
+ "pending_upgrades": "Oczekujące aktualizacje",
+ "placeholder_search": "Wprowadź wyszukiwane hasło...",
"sort": "sortowanie",
+ "stars": "Gwiazdki",
"status": "Status"
+ },
+ "time": {
+ "ago": "temu",
+ "day": "dzień",
+ "days": "dni",
+ "hour": "godzina",
+ "hours": "godziny",
+ "minute": "minuta",
+ "minutes": "minuty",
+ "month": "miesiąc",
+ "months": "miesięcy",
+ "one": "Jeden",
+ "one_day_ago": "jeden dzień temu",
+ "one_hour_ago": "jedna godzina temu",
+ "one_minute_ago": "jedna minuta temu",
+ "one_month_ago": "jeden miesiąc temu",
+ "one_second_ago": "jedna sekunda temu",
+ "one_year_ago": "jeden rok temu",
+ "second": "sekunda",
+ "seconds": "sekundy",
+ "x_days_ago": "{x} dni temu",
+ "x_hours_ago": "{x} godzin(y) temu",
+ "x_minutes_ago": "{x} minut(y) temu",
+ "x_months_ago": "{x} miesi(ące\/ęcy) temu",
+ "x_seconds_ago": "{x} sekund(y) temu",
+ "x_years_ago": "{x} lat(a) temu",
+ "year": "rok",
+ "years": "lata"
}
}
\ No newline at end of file
diff --git a/custom_components/hacs/translations/pt-BR.json b/custom_components/hacs/translations/pt-BR.json
index 43dee8c0..d97bec80 100644
--- a/custom_components/hacs/translations/pt-BR.json
+++ b/custom_components/hacs/translations/pt-BR.json
@@ -1,25 +1,187 @@
{
+ "common": {
+ "about": "Sobre",
+ "add": "adicionar",
+ "appdaemon": "AppDaemon",
+ "appdaemon_apps": "Aplicativos AppDaemon",
+ "appdaemon_plural": "Aplicativos AppDaemon",
+ "background_task": "Tarefa em segundo plano em execução, esta página será recarregada quando terminar.",
+ "check_log_file": "Verifique seu arquivo de log para obter mais detalhes.",
+ "continue": "Continuar",
+ "disabled": "Desativado",
+ "documentation": "Documentação",
+ "element": "elemento",
+ "hacs_is_disabled": "HACS está desativado",
+ "ignore": "Ignorar",
+ "install": "Instalar",
+ "installed": "instalado",
+ "integration": "Integração",
+ "integration_plural": "Integrações",
+ "integrations": "Integrações",
+ "lovelace": "Lovelace",
+ "lovelace_element": "Elemento do Lovelace",
+ "lovelace_elements": "Elementos do lovelace",
+ "manage": "gerenciar",
+ "netdaemon": "NetDaemon",
+ "netdaemon_apps": "NetDaemon Apps",
+ "netdaemon_plural": "Aplicativos NetDaemon",
+ "plugin": "Lovelace",
+ "plugin_plural": "Elementos do Lovelace",
+ "plugins": "Elementos do Lovelace",
+ "python_script": "Script Python",
+ "python_script_plural": "Scripts python",
+ "python_scripts": "Scripts python",
+ "repositories": "Repositórios",
+ "repository": "Repositório",
+ "settings": "configurações",
+ "theme": "Tema",
+ "theme_plural": "Temas",
+ "themes": "Temas",
+ "uninstall": "Desinstalar",
+ "update": "Atualizar",
+ "version": "Versão"
+ },
"config": {
- "abort": {
- "single_instance_allowed": "Apenas uma configuração do HACS é permitida."
- },
- "error": {
- "auth": "Token de acesso pessoal incorreto."
- },
"step": {
+ "device": {
+ "description": "Open {url} and paste this key `{code}` to authorize HACS, when you have done that click 'submit'",
+ "title": "HACS"
+ },
"user": {
- "description": "Se você preciar de ajuda com a configuração olhe aqui: https:\/\/hacs.xyz\/docs\/configuration\/start",
- "title": "HACS (Home Assistant Community Store)"
+ "data": {
+ "acc_addons": "I know that there are no add-ons in HACS",
+ "acc_disable": "I know that if I get issues with Home Assistant I should disable all my custom_components",
+ "acc_logs": "I know how to access Home Assistant logs",
+ "acc_untested": "I know that everything inside HACS is custom and untested by Home Assistant",
+ "appdaemon": "Enable AppDaemon apps discovery & tracking",
+ "netdaemon": "Enable NetDaemon apps discovery & tracking",
+ "python_script": "Enable python_scripts discovery & tracking",
+ "sidepanel_icon": "Side panel icon",
+ "sidepanel_title": "Side panel title",
+ "theme": "Enable Themes discovery & tracking",
+ "token": "GitHub Personal Access Token"
+ },
+ "description": "Before you can setup HACS you need to acknowledge the following",
+ "title": "HACS"
}
- }
+ },
+ "title": "HACS (Home Assistant Community Store)"
},
"confirm": {
"add_to_lovelace": "Tem certeza de que deseja adicionar isso aos seus recursos do Lovelace?",
+ "bg_task": "A ação é desativada enquanto as tarefas de fundo estão sendo executadas.",
+ "cancel": "Cancelar",
"continue": "Tem certeza que quer continuar?",
"delete": "Tem certeza de que deseja excluir '{item}'?",
+ "delete_installed": "'{item}' está instalado, é necessário desinstalá-lo para poder excluí-lo.",
+ "exist": "{item} já existe",
"generic": "Tem certeza?",
+ "home_assistant_is_restarting": "Espere, o Home Assistant está agora a reiniciar.",
+ "home_assistant_version_not_correct": "Você está executando a versão Home Assistant '{haversion}', mas este repositório requer que a versão mínima '{minversion}' esteja instalada.",
+ "no": "Não",
+ "no_upgrades": "Não há atualizações pendentes",
+ "ok": "OK",
"overwrite": "Fazer isso irá substituí-lo.",
- "uninstall": "Tem certeza de que deseja desinstalar '{item}'?"
+ "reload_data": "Isso recarrega os dados de todos os repositórios que o HACS conhece e levará algum tempo para concluir.",
+ "restart_home_assistant": "Tem certeza de que deseja reiniciar o Home Assistant?",
+ "uninstall": "Tem certeza de que deseja desinstalar '{item}'?",
+ "upgrade_all": "Isso atualizará todos esses repositórios, verifique se você leu as notas de versão de todos eles antes de continuar.",
+ "yes": "Sim"
+ },
+ "dialog_about": {
+ "frontend_version": "Versão do frontend",
+ "installed_repositories": "Repositórios instalados",
+ "integration_version": "Versão da integração",
+ "useful_links": "Links úteis"
+ },
+ "dialog_add_repo": {
+ "limit": "Apenas os 100 primeiros repositórios são mostrados, use a pesquisa para filtrar o que você precisa",
+ "no_match": "Nenhum repositório encontrado correspondente ao seu filtro",
+ "sort_by": "Ordenar por",
+ "title": "Novo repositório"
+ },
+ "dialog_custom_repositories": {
+ "category": "Categoria",
+ "no_category": "Categoria ausente",
+ "no_repository": "Repositório ausente",
+ "title": "Repositórios personalizados",
+ "url_placeholder": "Adicionar URL de repositório personalizado"
+ },
+ "dialog_info": {
+ "author": "Autor",
+ "downloads": "Downloads",
+ "install": "Instalar esse repositório no HACS",
+ "loading": "Carregando informações...",
+ "no_info": "O desenvolvedor não forneceu mais informações para este repositório",
+ "open_issues": "Problemas em aberto",
+ "open_repo": "Abrir repositório",
+ "stars": "Estrelas",
+ "version_installed": "Versão instalada"
+ },
+ "dialog_install": {
+ "restart": "Lembre-se de que você precisa reiniciar o Home Assistant para que as alterações nas integrações (custom_components) sejam aplicadas.",
+ "select_version": "Selecionar versão",
+ "show_beta": "Mostrar versões beta",
+ "type": "Tipo",
+ "url": "URL"
+ },
+ "dialog_removed": {
+ "link": "Link externo para mais informações",
+ "name": "Nome do Repositório",
+ "reason": "Motivo da remoção",
+ "type": "Tipo da Remoção"
+ },
+ "dialog_update": {
+ "available_version": "Versão disponível",
+ "changelog": "Registro de mudanças",
+ "installed_version": "Versão instalada",
+ "releasenotes": "Notas de lançamento para {release}",
+ "title": "Atualização pendente"
+ },
+ "entry": {
+ "information": "Informações",
+ "intro": "Atualizações e mensagens importantes serão mostradas aqui, quando necessário",
+ "messages": {
+ "disabled": {
+ "content": "Verifique seu arquivo de log para mais detalhes.",
+ "title": "O HACS está desativado"
+ },
+ "has_pending_tasks": {
+ "content": "Alguns repositórios podem não aparecer até que isso seja concluído",
+ "title": "Tarefas em segundo plano pendentes"
+ },
+ "removed": "Repositório {repository} removido",
+ "resources": {
+ "content": "Existem {number} elementos do Lovelace que não estão carregados corretamente no Lovelace.",
+ "title": "Não carregado no Lovelace"
+ },
+ "restart": {
+ "content": "Existem {number} integrações que requerem um reinício do Home Assistant. Você pode fazer isso na seção 'Controles do Servidor' na parte de configuração do Home Assistant UI.",
+ "title": "Reinicialização pendente"
+ },
+ "startup": {
+ "content": "O HACS está sendo iniciado, durante esse período algumas informações podem estar ausentes ou incorretas",
+ "title": "O HACS está iniciando"
+ },
+ "wrong_frontend_installed": {
+ "content": "Você instalou a versão {running} do frontend HACS, mas a versão {expected} era esperada. Se você vir esta mensagem, o Home Assistant não conseguiu instalar a nova versão. Por favor tente reiniciar o Home Assistant.",
+ "title": "Versão frontend inesperada"
+ },
+ "wrong_frontend_loaded": {
+ "content": "Você está executando a versão {running} do frontend HACS, mas a versão {expected} era esperada. Por favor limpe o cache do seu navegador.",
+ "title": "Versão frontend inesperada"
+ }
+ },
+ "pending_updates": "Atualizações pendentes"
+ },
+ "menu": {
+ "about": "Sobre o HACS",
+ "clear": "Limpar todos os novos",
+ "custom_repositories": "Repositórios personalizados",
+ "dismiss": "Limpar todos os novos repositórios",
+ "documentation": "Documentação",
+ "open_issue": "Relatar problema",
+ "reload": "Recarregar janela"
},
"options": {
"step": {
@@ -39,27 +201,156 @@
}
},
"repository_banner": {
+ "config_flow": "Essa integração oferece suporte ao config_flow, o que significa que agora você pode acessar a seção de integração da sua interface do usuário para configurá-lo.",
+ "config_flow_title": "Configuração de interface do usuário suportada",
"integration_not_loaded": "Esta integração não está carregada no Home Assistant.",
+ "no_restart_required": "Não é necessário reiniciar",
"not_loaded": "Não carregado",
"plugin_not_loaded": "Este elemento não é adicionado aos seus recursos do Lovelace.",
"restart": "Você precisa reiniciar o Home Assistant.",
"restart_pending": "Reinicialização pendente"
},
+ "repository_card": {
+ "dismiss": "Dispensar",
+ "hide": "Esconder",
+ "information": "Informações",
+ "new_repository": "Novo repositório",
+ "not_loaded": "Não carregado",
+ "open_issue": "Relatar problema",
+ "open_source": "Código aberto",
+ "pending_restart": "Reinicialização pendente",
+ "pending_update": "Atualização pendente",
+ "reinstall": "Reinstalar",
+ "report": "Denunciar para remoção",
+ "update_information": "Atualizar informações"
+ },
"repository": {
- "add_to_lovelace": "Adicionar no Lovelace",
- "authors": "Autores"
+ "add_to_lovelace": "Adicionar a Lovelace",
+ "authors": "Autores",
+ "available": "Disponível",
+ "back_to": "Voltar para",
+ "changelog": "Changelog",
+ "downloads": "Downloads",
+ "flag_this": "Sinalizar isso",
+ "frontend_version": "Versão Frontend",
+ "github_stars": "Estrelas de GitHub",
+ "goto_integrations": "Ir para integrações",
+ "hide": "Esconder",
+ "hide_beta": "Esconder beta",
+ "install": "Instalar",
+ "installed": "Instalado",
+ "lovelace_copy_example": "Copie este exemplo para seu clipboard",
+ "lovelace_instruction": "Quando você adicionar isso à sua configuração do lovelace, use este",
+ "lovelace_no_js_type": "Não foi possível determinar o tipo desse elemento, verifique o repositório.",
+ "newest": "O mais novo",
+ "note_appdaemon": "Você ainda precisa adicioná-lo ao seu arquivo 'apps.yaml'",
+ "note_installed": "Quando instalado, ele estará localizado em",
+ "note_integration": "Você ainda precisa adicioná-lo ao seu arquivo 'configuration.yaml'",
+ "note_plugin": "você ainda precisará adicioná-lo à sua configuração do lovelace ('ui-lovelace.yaml' ou o editor de configuração da interface do usuário)",
+ "note_plugin_post_107": "você ainda precisará adicioná-lo à sua configuração do lovelace ('configuration.yaml' ou o editor de recursos '\/config \/lovelace\/resources')",
+ "open_issue": "Open issue",
+ "open_plugin": "Elemento aberto",
+ "reinstall": "Reinstalar",
+ "repository": "Repositório",
+ "restart_home_assistant": "Reiniciar Home Assistant",
+ "show_beta": "Mostrar beta",
+ "uninstall": "Desinstalar",
+ "update_information": "Atualizar informações",
+ "upgrade": "Atualizar"
+ },
+ "search": {
+ "installed": "Buscar repositórios instalados",
+ "installed_new": "Buscar repositórios instalados ou novos",
+ "placeholder": "Procurar repositório"
+ },
+ "sections": {
+ "about": {
+ "description": "Exibir informações sobre o HACS",
+ "title": "Sobre"
+ },
+ "automation": {
+ "description": "É aqui que você encontra python_scripts, aplicativos AppDaemon e aplicativos NetDaemon",
+ "title": "Automação"
+ },
+ "frontend": {
+ "description": "É aqui que você encontra temas, cartões personalizados e outros elementos para o lovelace",
+ "title": "Frontend"
+ },
+ "integrations": {
+ "description": "É aqui que você encontra integrações personalizadas (custom_components)",
+ "title": "Integrações"
+ },
+ "pending_repository_upgrade": "Você está executando a versão {installed}, a versão {available} está disponível"
},
"settings": {
+ "add_custom_repository": "ADICIONAR REPOSITÓRIO PERSONALIZADO",
+ "adding_new_repo": "Adicionando novo repositório '{repo}'",
+ "adding_new_repo_category": "Com a categoria '{category}'.",
+ "bg_task_custom": "Os repositórios personalizados ficam ocultos enquanto as tarefas de fundo estão em execução.",
+ "category": "Categoria",
"compact_mode": "Modo compacto",
+ "custom_repositories": "REPOSITÓRIOS PERSONALIZADOS",
+ "delete": "Deletar",
+ "display": "Display",
+ "grid": "Grade",
+ "hacs_repo": "HACS repo",
"hidden_repositories": "repositórios ocultos",
+ "missing_category": "Você precisa selecionar uma categoria",
+ "open_repository": "Repositório aberto",
+ "reload_data": "Recarregar dados",
+ "reload_window": "Recarregar janela",
+ "repository_configuration": "Configuração do Repositório",
+ "save": "Salvar",
+ "table": "Tabela",
"table_view": "Visualização em tabela",
- "unhide": "reexibir"
+ "unhide": "reexibir",
+ "upgrade_all": "Atualizar tudo"
},
"store": {
+ "ascending": "ascendente",
"clear_new": "Limpar todos os novos repositórios",
+ "descending": "descendente",
+ "last_updated": "Última atualização",
"name": "Nome",
"new_repositories": "Novos Repositórios",
+ "new_repositories_note": "Você tem mais de 10 novos repositórios sendo mostrados aqui, se quiser limpar todos eles clique nos 3 pontos no canto superior direito e dispense-os.",
+ "no_repositories": "Nenhum repositório",
+ "no_repositories_desc1": "Parece que você ainda não tem nenhum repositório instalado nesta seção.",
+ "no_repositories_desc2": "Clique no + no canto inferior para adicionar o seu primeiro repositório!",
+ "no_repositories_found_desc1": "Nenhum repositório instalado foi encontrado que corresponda a \"{searchInput}\" nesta seção.",
+ "no_repositories_found_desc2": "Tente procurar por outra coisa!",
+ "pending_upgrades": "Atualizações pendentes",
+ "placeholder_search": "Por favor insira um termo de pesquisa...",
"sort": "ordenar",
+ "stars": "Estrelas",
"status": "Status"
+ },
+ "time": {
+ "ago": "atrás",
+ "day": "dia",
+ "days": "dias",
+ "hour": "hora",
+ "hours": "horas",
+ "minute": "minuto",
+ "minutes": "minutos",
+ "month": "mês",
+ "months": "meses",
+ "one": "Um",
+ "one_day_ago": "um dia atrás",
+ "one_hour_ago": "uma hora atrás",
+ "one_minute_ago": "um minuto atrás",
+ "one_month_ago": "um mês atrás",
+ "one_second_ago": "um segundo atrás",
+ "one_year_ago": "um ano atrás",
+ "second": "segundo",
+ "seconds": "segundos",
+ "x_days_ago": "{x} dias atrás",
+ "x_hours_ago": "{x} horas atrás",
+ "x_minutes_ago": "{x} minutos atrás",
+ "x_months_ago": "{x} meses atrás",
+ "x_seconds_ago": "{x} segundos atrás",
+ "x_years_ago": "{x} anos atrás",
+ "year": "ano",
+ "years": "anos"
}
}
\ No newline at end of file
diff --git a/custom_components/hacs/translations/pt.json b/custom_components/hacs/translations/pt.json
index 881b028d..d40cf50c 100644
--- a/custom_components/hacs/translations/pt.json
+++ b/custom_components/hacs/translations/pt.json
@@ -1,24 +1,186 @@
{
+ "common": {
+ "about": "Sobre",
+ "add": "adicionar",
+ "appdaemon_apps": "Aplicações AppDaemon",
+ "appdaemon_plural": "Aplicações AppDaemon",
+ "background_task": "Está a ser executada uma tarefa em segundo plano, esta página será recarregada quando terminar.",
+ "check_log_file": "Verifique o seu ficheiro de log para obter mais detalhes.",
+ "continue": "Continuar",
+ "disabled": "Desativado",
+ "documentation": "Documentação",
+ "element": "elemento",
+ "hacs_is_disabled": "HACS está desativado",
+ "ignore": "Ignorar",
+ "install": "Instalar",
+ "installed": "instalado",
+ "integration": "Integração",
+ "integration_plural": "Integrações",
+ "integrations": "Integrações",
+ "lovelace": "Lovelace",
+ "lovelace_element": "Elemento Lovelace",
+ "lovelace_elements": "Elementos Lovelace",
+ "manage": "gerir",
+ "netdaemon": "NetDaemon",
+ "netdaemon_apps": "Aplicações NetDaemon",
+ "netdaemon_plural": "Aplicações NetDaemon",
+ "plugin": "Lovelace",
+ "plugin_plural": "Elementos Lovelace",
+ "plugins": "Elementos Lovelace",
+ "python_script": "Script Python",
+ "python_script_plural": "Scripts Python",
+ "python_scripts": "Scripts Python",
+ "repositories": "Repositórios",
+ "repository": "Repositório",
+ "settings": "configurações",
+ "theme": "Tema",
+ "theme_plural": "Temas",
+ "themes": "Temas",
+ "uninstall": "Desinstalar",
+ "update": "Atualizar",
+ "version": "Versão"
+ },
"config": {
- "abort": {
- "single_instance_allowed": "Apenas é permitida uma única configuração do HACS."
- },
- "error": {
- "auth": "O token de acesso pessoal não está correto."
- },
"step": {
+ "device": {
+ "description": "Open {url} and paste this key `{code}` to authorize HACS, when you have done that click 'submit'",
+ "title": "HACS"
+ },
"user": {
- "description": "Se precisar de ajuda com a configuração, consulte aqui: https:\/\/hacs.xyz\/docs\/configuration\/start"
+ "data": {
+ "acc_addons": "I know that there are no add-ons in HACS",
+ "acc_disable": "I know that if I get issues with Home Assistant I should disable all my custom_components",
+ "acc_logs": "I know how to access Home Assistant logs",
+ "acc_untested": "I know that everything inside HACS is custom and untested by Home Assistant",
+ "appdaemon": "Enable AppDaemon apps discovery & tracking",
+ "netdaemon": "Enable NetDaemon apps discovery & tracking",
+ "python_script": "Enable python_scripts discovery & tracking",
+ "sidepanel_icon": "Side panel icon",
+ "sidepanel_title": "Side panel title",
+ "theme": "Enable Themes discovery & tracking",
+ "token": "GitHub Personal Access Token"
+ },
+ "description": "Before you can setup HACS you need to acknowledge the following",
+ "title": "HACS"
}
- }
+ },
+ "title": "HACS (Home Assistant Community Store)"
},
"confirm": {
"add_to_lovelace": "Tem certeza que deseja adicionar aos recursos do Lovelace?",
+ "bg_task": "Esta ação é desativada enquanto as tarefas em segundo plano estão a ser executadas.",
+ "cancel": "Cancelar",
"continue": "Tem a certeza que deseja continuar?",
"delete": "Tem a certeza que deseja apagar '{item}'?",
+ "delete_installed": "'{item}' está instalado, é preciso desinstalá-lo antes de o poder apagar.",
+ "exist": "{item} já existe",
"generic": "Tem a certeza?",
+ "home_assistant_is_restarting": "Aguarde, o Home Assistant está a reiniciar.",
+ "home_assistant_version_not_correct": "Está a executar a versão '{haversion}' do Home Assistant, mas este repositório requer a versão mínima '{minversion}' para ser instalado.",
+ "no": "Não",
+ "no_upgrades": "Não há atualizações pendentes",
+ "ok": "OK",
"overwrite": "Ao fazer esta ação irá substituir o ficheiro atual.",
- "uninstall": "Tem a certeza que deseja desinstalar '{item}'?"
+ "reload_data": "Isto irá recarregar os dados de todos os repositórios que a HACS conhece, irá demorar algum tempo até terminar.",
+ "restart_home_assistant": "Tem a certeza que deseja reiniciar o Home Assistant?",
+ "uninstall": "Tem a certeza que deseja desinstalar '{item}'?",
+ "upgrade_all": "Isto irá actualizar todos estes repositórios, certifique-se de que leu as notas de lançamento de todos antes de continuar.",
+ "yes": "Sim"
+ },
+ "dialog_about": {
+ "frontend_version": "Versão Frontend",
+ "installed_repositories": "Repositórios instalados",
+ "integration_version": "Versão de integração",
+ "useful_links": "Links úteis"
+ },
+ "dialog_add_repo": {
+ "limit": "Apenas os 100 primeiros repositórios serão mostrados, use a pesquisa para filtrar o que precisa",
+ "no_match": "Não foram encontrados repositórios que correspondam ao filtro",
+ "sort_by": "Ordenar por",
+ "title": "Adicionar repositório"
+ },
+ "dialog_custom_repositories": {
+ "category": "Categoria",
+ "no_category": "Categoria em falta",
+ "no_repository": "Repositório em falta",
+ "title": "Repositórios personalizados",
+ "url_placeholder": "Adicionar URL do repositório personalizado"
+ },
+ "dialog_info": {
+ "author": "Autor",
+ "downloads": "Transferências",
+ "install": "Instalar este repositório no HACS",
+ "loading": "A carregar informações...",
+ "no_info": "O developer não forneceu mais informações sobre este repositório",
+ "open_issues": "Questões em aberto",
+ "open_repo": "Abrir Repositório",
+ "stars": "Estrelas",
+ "version_installed": "Versão instalada"
+ },
+ "dialog_install": {
+ "restart": "Lembre-se de que é preciso reiniciar o Home Assistant para que as alterações das integrações (custom_components) sejam aplicadas.",
+ "select_version": "Selecionar versão",
+ "show_beta": "Mostrar versões beta",
+ "type": "Tipo",
+ "url": "URL"
+ },
+ "dialog_removed": {
+ "link": "Link externo para mais informações",
+ "name": "Nome do repositório",
+ "reason": "Motivo de remoção",
+ "type": "Tipo de remoção"
+ },
+ "dialog_update": {
+ "available_version": "Versão disponível",
+ "changelog": "Changelog",
+ "installed_version": "Versão instalada",
+ "releasenotes": "Notas de lançamento para {release}",
+ "title": "Atualização pendente"
+ },
+ "entry": {
+ "information": "Informações",
+ "intro": "Atualizações e mensagens importantes serão mostradas aqui",
+ "messages": {
+ "disabled": {
+ "content": "Verifique o seu ficheiro de log para obter mais detalhes",
+ "title": "HACS está desativado"
+ },
+ "has_pending_tasks": {
+ "content": "Alguns repositórios podem não aparecer até que isso seja concluído",
+ "title": "Tarefas em segundo plano pendentes"
+ },
+ "removed": "Repositório '{repository}' removido",
+ "resources": {
+ "content": "Tem {number} elementos que não são carregados corretamente em Lovelace.",
+ "title": "Não carregado em Lovelace"
+ },
+ "restart": {
+ "content": "Tem {number} integrações que exigem uma reinicialização do Home Assistant, pode fazer isso a partir da secção 'Controlo do Servidor' na parte de configuração do Home Assistant.",
+ "title": "Reinicialização pendente"
+ },
+ "startup": {
+ "content": "O HACS está a iniciar. Durante este tempo, algumas informações podem estar ausentes ou incorretas",
+ "title": "O HACS está a iniciar"
+ },
+ "wrong_frontend_installed": {
+ "content": "Tem a versão {running} do frontend HACS instalado, mas a versão {expected} é a mais atualizada, se está a ver esta mensagem e o Home Assistant não foi capaz de instalar a nova versão, tente reiniciar o Home Assistant.",
+ "title": "Versão do frontend inesperada"
+ },
+ "wrong_frontend_loaded": {
+ "content": "Está a executar a versão {running} do frontend HACS, mas a versão {expected} é a mais atualizada, deve limpar a cache do seu browser.",
+ "title": "Versão do frontend inesperada"
+ }
+ },
+ "pending_updates": "Atualizações pendentes"
+ },
+ "menu": {
+ "about": "Sobre o HACS",
+ "clear": "Limpar todos os recentes",
+ "custom_repositories": "Repositórios personalizados",
+ "dismiss": "Dispensar todos os novos repositórios",
+ "documentation": "Documentação",
+ "open_issue": "Questão em aberto",
+ "reload": "Recarregar janela"
},
"options": {
"step": {
@@ -38,27 +200,156 @@
}
},
"repository_banner": {
+ "config_flow": "Esta integração suporta o config_flow, o que significa que agora pode ir para a seção de integração do IU para a configurar.",
+ "config_flow_title": "Configuração UI suportada",
"integration_not_loaded": "Esta integração não foi carregada no Home Assistant.",
+ "no_restart_required": "Não é necessário reiniciar",
"not_loaded": "Não carregado",
"plugin_not_loaded": "Este elemento não é adicionado aos recursos Lovelace.",
"restart": "É necessário reiniciar o Home Assistant.",
"restart_pending": "Reinício pendente"
},
+ "repository_card": {
+ "dismiss": "dispensar",
+ "hide": "Esconder",
+ "information": "Informações",
+ "new_repository": "Novo repositório",
+ "not_loaded": "Não carregado",
+ "open_issue": "Questão em aberto",
+ "open_source": "Código aberto",
+ "pending_restart": "Reinicialização pendente",
+ "pending_update": "Atualização pendente",
+ "reinstall": "Reinstalar",
+ "report": "Motivo para remover",
+ "update_information": "Atualizar informações"
+ },
"repository": {
"add_to_lovelace": "Adicionar ao Lovelace",
- "authors": "Autores"
+ "authors": "Autores",
+ "available": "Disponível",
+ "back_to": "Voltar",
+ "changelog": "Histórico de alterações",
+ "downloads": "Transferências",
+ "flag_this": "Marcar isto",
+ "frontend_version": "Versão Frontend",
+ "github_stars": "Estrelas do GitHub",
+ "goto_integrations": "Ir para as integrações",
+ "hide": "Ocultar",
+ "hide_beta": "Ocultar beta",
+ "install": "Instalar",
+ "installed": "Instalado",
+ "lovelace_copy_example": "Copiar o exemplo para a área de transferência",
+ "lovelace_instruction": "Quando for adicionar à sua configuração do lovelace, use este",
+ "lovelace_no_js_type": "Não foi possível determinar o tipo do elemento, verifique o repositório.",
+ "newest": "mais recente",
+ "note_appdaemon": "ainda é preciso adicioná-lo ao ficheiro 'apps.yaml'",
+ "note_installed": "Quando estiver instalado, a localização será",
+ "note_integration": "ainda é preciso adicioná-lo ao ficheiro 'configuration.yaml'",
+ "note_plugin": "ainda é preciso adicioná-lo à configuração do lovelace ('ui-lovelace.yaml' ou o editor de configuração de UI)",
+ "note_plugin_post_107": "ainda é preciso adicioná-lo à configuração do lovelace ('configuration.yaml' ou no editor '\/config\/lovelace\/resources')",
+ "open_issue": "Questão em aberto",
+ "open_plugin": "Abrir elemento",
+ "reinstall": "Reinstalar",
+ "repository": "Repositório",
+ "restart_home_assistant": "Reiniciar o Home Assistant",
+ "show_beta": "Mostrar beta",
+ "uninstall": "Desinstalar",
+ "update_information": "Atualizar informações",
+ "upgrade": "Atualizar"
+ },
+ "search": {
+ "installed": "Pesquisar repositórios instalados",
+ "installed_new": "Pesquisar novos repositórios ou instalados",
+ "placeholder": "Procurar repositório"
+ },
+ "sections": {
+ "about": {
+ "description": "Mostrar informações sobre o HACS",
+ "title": "Sobre"
+ },
+ "automation": {
+ "description": "Aqui encontra os python_scripts, aplicações AppDaemon e NetDaemon",
+ "title": "Automação"
+ },
+ "frontend": {
+ "description": "Aqui encontra os temas, cartões personalizados e outros elementos para o lovelace",
+ "title": "Frontend"
+ },
+ "integrations": {
+ "description": "Aqui encontra as integrações personalizadas (custom_components)",
+ "title": "Integrações"
+ },
+ "pending_repository_upgrade": "Está a executar a versão {installed} , mas a versão {available} já está disponível"
},
"settings": {
+ "add_custom_repository": "ADICIONAR REPOSITÓRIO PERSONALIZADO",
+ "adding_new_repo": "Adicionando novo repositório '{repo}'",
+ "adding_new_repo_category": "Com a categoria '{category}'.",
+ "bg_task_custom": "Repositórios personalizados ficam ocultos, enquanto as tarefas em segundo plano estão a ser executadas.",
+ "category": "Categoria",
"compact_mode": "Modo compacto",
+ "custom_repositories": "REPOSITÓRIOS PERSONALIZADOS",
+ "delete": "Eliminar",
+ "display": "Mostrar",
+ "grid": "Grade",
+ "hacs_repo": "Repositório HACS",
"hidden_repositories": "repositórios ocultos",
+ "missing_category": "É preciso selecionar uma categoria",
+ "open_repository": "Abrir Repositório",
+ "reload_data": "Recarregar dados",
+ "reload_window": "Recarregar janela",
+ "repository_configuration": "Configuração do Repositório",
+ "save": "Guardar",
+ "table": "Tabela",
"table_view": "Vista de tabela",
- "unhide": "Mostrar"
+ "unhide": "Mostrar",
+ "upgrade_all": "Atualizar tudo"
},
"store": {
+ "ascending": "ascendente",
"clear_new": "Limpar todos os novos repositórios",
+ "descending": "descendente",
+ "last_updated": "Última atualização",
"name": "Nome",
"new_repositories": "Novos Repositórios",
+ "new_repositories_note": "Tem mais de 10 novos repositórios visiveis aqui, se quiser limpar todos clique nos 3 pontos no canto superior direito e dispense todos.",
+ "no_repositories": "Sem repositórios",
+ "no_repositories_desc1": "Parece que ainda não possui nenhum repositório instalado nesta seção.",
+ "no_repositories_desc2": "Clique no \"+\", no canto inferior para adicionar o seu primeiro!",
+ "no_repositories_found_desc1": "Nenhum repositório instalado, correspondente a \"{searchInput}\" foi encontrado nesta secção.",
+ "no_repositories_found_desc2": "Tente procurar outra coisa!",
+ "pending_upgrades": "Atualizações pendentes",
+ "placeholder_search": "Por favor, introduza um termo de pesquisa...",
"sort": "ordenar",
+ "stars": "Estrelas",
"status": "Estado"
+ },
+ "time": {
+ "ago": "atrás",
+ "day": "dia",
+ "days": "dias",
+ "hour": "hora",
+ "hours": "horas",
+ "minute": "minuto",
+ "minutes": "minutos",
+ "month": "mês",
+ "months": "meses",
+ "one": "Um",
+ "one_day_ago": "há um dia",
+ "one_hour_ago": "há uma hora",
+ "one_minute_ago": "há um minuto",
+ "one_month_ago": "há um mês",
+ "one_second_ago": "há um segundo",
+ "one_year_ago": "há um ano",
+ "second": "segundo",
+ "seconds": "segundos",
+ "x_days_ago": "{x} dias atrás",
+ "x_hours_ago": "{x} horas atrás",
+ "x_minutes_ago": "{x} minutos atrás",
+ "x_months_ago": "{x} meses atrás",
+ "x_seconds_ago": "{x} segundos atrás",
+ "x_years_ago": "{x} anos atrás",
+ "year": "ano",
+ "years": "anos"
}
}
\ No newline at end of file
diff --git a/custom_components/hacs/translations/ro.json b/custom_components/hacs/translations/ro.json
index 2b762dd1..d577abfc 100644
--- a/custom_components/hacs/translations/ro.json
+++ b/custom_components/hacs/translations/ro.json
@@ -1,25 +1,72 @@
{
+ "common": {
+ "about": "Despre",
+ "appdaemon": "AppDaemon",
+ "appdaemon_apps": "Aplicații AppDaemon",
+ "background_task": "Activitatea de fundal se execută, această pagină se va reîncărca atunci când este gata.",
+ "check_log_file": "Verificați log-ul pentru mai multe detalii.",
+ "continue": "Continua",
+ "disabled": "Dezactivat",
+ "documentation": "Documentație",
+ "hacs_is_disabled": "HACS este dezactivat",
+ "installed": "instalat",
+ "integration": "Integrare",
+ "integrations": "Integrări",
+ "manage": "administra",
+ "netdaemon": "NetDaemon",
+ "netdaemon_apps": "Aplicații NetDaemon",
+ "plugin": "Plugin",
+ "plugins": "Plugin-uri",
+ "python_script": "Script Python",
+ "python_scripts": "Scripturi Python",
+ "repositories": "Depozite",
+ "settings": "setări",
+ "theme": "Temă",
+ "themes": "Teme",
+ "version": "Versiune"
+ },
"config": {
- "abort": {
- "single_instance_allowed": "Doar o singură configurație pentru HACS este permisă."
- },
- "error": {
- "auth": "Token-ul de acces personal nu este corect."
- },
"step": {
+ "device": {
+ "description": "Open {url} and paste this key `{code}` to authorize HACS, when you have done that click 'submit'",
+ "title": "HACS"
+ },
"user": {
- "description": "Dacă aveți nevoie de ajutor pentru configurare, uitați-vă aici: https:\/\/hacs.xyz\/docs\/configuration\/start",
- "title": "[%key_id:28417459%]"
+ "data": {
+ "acc_addons": "I know that there are no add-ons in HACS",
+ "acc_disable": "I know that if I get issues with Home Assistant I should disable all my custom_components",
+ "acc_logs": "I know how to access Home Assistant logs",
+ "acc_untested": "I know that everything inside HACS is custom and untested by Home Assistant",
+ "appdaemon": "Enable AppDaemon apps discovery & tracking",
+ "netdaemon": "Enable NetDaemon apps discovery & tracking",
+ "python_script": "Enable python_scripts discovery & tracking",
+ "sidepanel_icon": "Side panel icon",
+ "sidepanel_title": "Side panel title",
+ "theme": "Enable Themes discovery & tracking",
+ "token": "GitHub Personal Access Token"
+ },
+ "description": "Before you can setup HACS you need to acknowledge the following",
+ "title": "HACS"
}
- }
+ },
+ "title": "HACS (Home Assistant Community Store)"
},
"confirm": {
"add_to_lovelace": "Ești sigur că vrei să adaugi asta la resursele tale Lovelace?",
+ "bg_task": "Acțiunea este dezactivată în timp ce activitățile de fundal se execută.",
+ "cancel": "Anulare",
"continue": "Esti sigur ca vrei sa continui?",
"delete": "Sigur doriți să ștergeți '{item}'?",
+ "exist": "{item} există deja",
"generic": "Ești sigur?",
+ "home_assistant_is_restarting": "Asteptati, Home Assistant repornește.",
+ "no": "Nu",
+ "no_upgrades": "Nu există actualizări în curs",
+ "ok": "OK",
"overwrite": "Făcând acest lucru, îl va suprascrie.",
- "uninstall": "Sigur doriți să dezinstalați '{item}'?"
+ "restart_home_assistant": "Sigur doriți să reporniți Home Assistant?",
+ "uninstall": "Sigur doriți să dezinstalați '{item}'?",
+ "yes": "Da"
},
"options": {
"step": {
@@ -40,6 +87,7 @@
},
"repository_banner": {
"integration_not_loaded": "Această integrare nu este încărcată în Home Assistant.",
+ "no_restart_required": "Nu este necesară repornirea",
"not_loaded": "Neîncărcat",
"plugin_not_loaded": "Acest plugin nu este adăugat la resursele Lovelace.",
"restart": "Trebuie să reporniți Home Assistant.",
@@ -47,19 +95,99 @@
},
"repository": {
"add_to_lovelace": "Adăugați la Lovelace",
- "authors": "Autori"
+ "authors": "Autori",
+ "available": "Disponibil",
+ "back_to": "Înapoi la",
+ "changelog": "Jurnal modificari",
+ "downloads": "Descărcări",
+ "flag_this": "Semnalizează",
+ "frontend_version": "Versiune frontend",
+ "github_stars": "Stele GitHub",
+ "goto_integrations": "Mergi la integrări",
+ "hide": "Ascunde",
+ "hide_beta": "Ascundere beta",
+ "install": "Instalează",
+ "installed": "Instalat",
+ "lovelace_copy_example": "Copiați exemplul în clipboard",
+ "lovelace_instruction": "Când adăugați acest lucru la configurația lovelace, folosiți acest",
+ "lovelace_no_js_type": "Nu s-a putut determina tipul acestui plugin, verificați \"repository\".",
+ "newest": "cele mai noi",
+ "note_appdaemon": "mai trebuie să o adăugați in fișierul „apps.yaml”",
+ "note_installed": "Când este instalat, acesta va fi localizat în",
+ "note_integration": "mai trebuie să o adăugați in fișierul „configuration.yaml”",
+ "note_plugin": "mai trebuie să o adăugați la configurația lovelace ('ui-lovelace.yaml' sau in editorul UI)",
+ "open_issue": "Deschidere problemă",
+ "open_plugin": "Deschide plugin",
+ "reinstall": "Reinstalare",
+ "repository": "Depozit",
+ "restart_home_assistant": "Reporniți Home Assistant",
+ "show_beta": "Afișare beta",
+ "uninstall": "Dezinstalare",
+ "update_information": "Actualizare informație",
+ "upgrade": "Actualizare"
},
"settings": {
+ "add_custom_repository": "ADĂUGARE DEPOZIT PERSONALIZAT",
+ "adding_new_repo": "Adăugarea unui depozit nou '{repo}'",
+ "adding_new_repo_category": "Cu categoria '{categoria}'.",
+ "category": "Categorie",
"compact_mode": "Modul compact",
+ "custom_repositories": "DEPOZITE PERSONALIZATE",
+ "delete": "Șterge",
+ "display": "Afişeaza",
+ "grid": "Grilă",
+ "hacs_repo": "HACS repo",
"hidden_repositories": "depozite ascunse",
+ "missing_category": "Trebuie să selectați o categorie",
+ "open_repository": "Deschideți depozitul",
+ "reload_data": "Reîncărcați datele",
+ "reload_window": "Reîncărcați fereastra",
+ "repository_configuration": "Configurația depozitului",
+ "save": "Salveaza",
+ "table": "Tabel",
"table_view": "Vizualizare tabel",
- "unhide": "Unhide"
+ "unhide": "Unhide",
+ "upgrade_all": "Actualizați toate"
},
"store": {
+ "ascending": "ascendent",
"clear_new": "Ștergeți toate depozitele noi",
+ "descending": "descendent",
+ "last_updated": "Ultima actualizare",
"name": "Nume",
"new_repositories": "Noi depozite",
+ "pending_upgrades": "Actualizări în așteptare",
+ "placeholder_search": "Vă rugăm să introduceți un termen de căutare ...",
"sort": "fel",
+ "stars": "Stele",
"status": "Starea"
+ },
+ "time": {
+ "ago": "în urmă",
+ "day": "zi",
+ "days": "zi",
+ "hour": "oră",
+ "hours": "ore",
+ "minute": "minut",
+ "minutes": "minute",
+ "month": "lună",
+ "months": "luni",
+ "one": "Unu",
+ "one_day_ago": "acum o zi",
+ "one_hour_ago": "acum o oră",
+ "one_minute_ago": "acum un minut",
+ "one_month_ago": "acum o luna",
+ "one_second_ago": "acum o secunda",
+ "one_year_ago": "acum un an",
+ "second": "al doilea",
+ "seconds": "secunde",
+ "x_days_ago": "{x} zile în urmă",
+ "x_hours_ago": "{x} ore în urmă",
+ "x_minutes_ago": "{x} minute în urmă",
+ "x_months_ago": "{x} luni în urmă",
+ "x_seconds_ago": "{x} secunde în urmă",
+ "x_years_ago": "{x} ani în urmă",
+ "year": "an",
+ "years": "ani"
}
}
\ No newline at end of file
diff --git a/custom_components/hacs/translations/ru.json b/custom_components/hacs/translations/ru.json
index c4b24c86..c017ae53 100644
--- a/custom_components/hacs/translations/ru.json
+++ b/custom_components/hacs/translations/ru.json
@@ -1,25 +1,187 @@
{
+ "common": {
+ "about": "О проекте",
+ "add": "добавить",
+ "appdaemon": "AppDaemon",
+ "appdaemon_apps": "Приложения AppDaemon",
+ "appdaemon_plural": "Приложения AppDaemon",
+ "background_task": "Выполняется фоновая задача, страница перезагрузится по готовности.",
+ "check_log_file": "Проверьте логи для получения более подробной информации.",
+ "continue": "Продолжить",
+ "disabled": "Отключено",
+ "documentation": "Документация",
+ "element": "элемент",
+ "hacs_is_disabled": "HACS отключен",
+ "ignore": "Игнорировать",
+ "install": "Установить",
+ "installed": "установлено",
+ "integration": "Интеграция",
+ "integration_plural": "Интеграции",
+ "integrations": "Интеграции",
+ "lovelace": "Lovelace",
+ "lovelace_element": "Элемент Lovelace",
+ "lovelace_elements": "Элементы Lovelace",
+ "manage": "управлять",
+ "netdaemon": "NetDaemon",
+ "netdaemon_apps": "Приложения NetDaemon",
+ "netdaemon_plural": "Приложения NetDaemon",
+ "plugin": "Lovelace",
+ "plugin_plural": "Элементы Lovelace",
+ "plugins": "Плагины",
+ "python_script": "Скрипт Python",
+ "python_script_plural": "Скрипты Python",
+ "python_scripts": "Скрипты Python",
+ "repositories": "Репозитории",
+ "repository": "Репозиторий",
+ "settings": "настройки",
+ "theme": "Тема",
+ "theme_plural": "Темы",
+ "themes": "Темы",
+ "uninstall": "Удалить",
+ "update": "Обновить",
+ "version": "Версия"
+ },
"config": {
- "abort": {
- "single_instance_allowed": "Разрешена только одна настройка HACS."
- },
- "error": {
- "auth": "Неверный токен персонального доступа."
- },
"step": {
+ "device": {
+ "description": "Open {url} and paste this key `{code}` to authorize HACS, when you have done that click 'submit'",
+ "title": "HACS"
+ },
"user": {
- "description": "Если вам нужна помощь с настройкой, посмотрите: https:\/\/hacs.xyz\/docs\/configuration\/start",
- "title": "HACS (Home Assistant Community Store)"
+ "data": {
+ "acc_addons": "I know that there are no add-ons in HACS",
+ "acc_disable": "I know that if I get issues with Home Assistant I should disable all my custom_components",
+ "acc_logs": "I know how to access Home Assistant logs",
+ "acc_untested": "I know that everything inside HACS is custom and untested by Home Assistant",
+ "appdaemon": "Enable AppDaemon apps discovery & tracking",
+ "netdaemon": "Enable NetDaemon apps discovery & tracking",
+ "python_script": "Enable python_scripts discovery & tracking",
+ "sidepanel_icon": "Side panel icon",
+ "sidepanel_title": "Side panel title",
+ "theme": "Enable Themes discovery & tracking",
+ "token": "GitHub Personal Access Token"
+ },
+ "description": "Before you can setup HACS you need to acknowledge the following",
+ "title": "HACS"
}
- }
+ },
+ "title": "HACS (Home Assistant Community Store)"
},
"confirm": {
"add_to_lovelace": "Вы уверены, что хотите добавить это в ресурсы Lovelace?",
+ "bg_task": "Действие отключено во время выполнения фоновых задач.",
+ "cancel": "Отмена",
"continue": "Вы уверены, что хотите продолжить?",
"delete": "Вы уверены, что хотите удалить '{item}'?",
+ "delete_installed": "'{item}' установлен, вам нужно нажать 'Удалить', чтобы удалить его.",
+ "exist": "{item} уже существует.",
"generic": "Вы уверены?",
+ "home_assistant_is_restarting": "Подожди, теперь Home Assistant перезагружается.",
+ "home_assistant_version_not_correct": "Вы используете Home Assistant версии '{haversion}', но данный репозиторий требует минимальную установленную версию '{minversion}'.",
+ "no": "Нет",
+ "no_upgrades": "Нет обновлений",
+ "ok": "ОК",
"overwrite": "После подтверждения файлы будут перезаписаны.",
- "uninstall": "Вы уверены, что хотите удалить '{item}'?"
+ "reload_data": "Выполняется перезагрузка данных всех репозиториев в HACS, это займет некоторое время.",
+ "restart_home_assistant": "Вы уверены, что хотите перезапустить Home Assistant?",
+ "uninstall": "Вы уверены, что хотите удалить '{item}'?",
+ "upgrade_all": "Это произведёт обновление всех этих репозиториев, убедитесь, что вы прочитали примечания к выпуску для каждого из них, прежде чем продолжить.",
+ "yes": "Да"
+ },
+ "dialog_about": {
+ "frontend_version": "Версия интерфейса",
+ "installed_repositories": "Установленные репозитории",
+ "integration_version": "Версия интеграции",
+ "useful_links": "Полезные ссылки"
+ },
+ "dialog_add_repo": {
+ "limit": "Показаны только первые 100 репозиториев, используйте поиск для фильтрации того, что вам нужно",
+ "no_match": "Не найдено репозиторий, соответствующих фильтру",
+ "sort_by": "Сортировать по",
+ "title": "Новый репозиторий"
+ },
+ "dialog_custom_repositories": {
+ "category": "Категория",
+ "no_category": "Категория не указана",
+ "no_repository": "Репозиторий не указан",
+ "title": "Пользовательские репозитории",
+ "url_placeholder": "Добавить пользовательский URL-адрес репозитория"
+ },
+ "dialog_info": {
+ "author": "Автор",
+ "downloads": "Загрузки",
+ "install": "Установить этот репозиторий в HACS",
+ "loading": "Загрузка информации...",
+ "no_info": "Разработчик не предоставил никакой дополнительной информации для этого репозитория",
+ "open_issues": "Открытые вопросы",
+ "open_repo": "Открыть репозиторий",
+ "stars": "Звёзды",
+ "version_installed": "Установлена версия"
+ },
+ "dialog_install": {
+ "restart": "Помните, что вам нужно перезапустить Home Assistant, прежде чем будут применены изменения в интеграциях (custom_components).",
+ "select_version": "Выберите версию",
+ "show_beta": "Показывать бета-версии",
+ "type": "Тип",
+ "url": "Ссылка"
+ },
+ "dialog_removed": {
+ "link": "Внешняя ссылка для получения дополнительной информации",
+ "name": "Имя репозитория",
+ "reason": "Причина удаления",
+ "type": "Тип удаления"
+ },
+ "dialog_update": {
+ "available_version": "Доступная версия",
+ "changelog": "Изменения",
+ "installed_version": "Установленная версия",
+ "releasenotes": "Примечания к выпуску для {release}",
+ "title": "Обновление в ожидании"
+ },
+ "entry": {
+ "information": "Информация",
+ "intro": "Обновления и важные сообщения будут отображаться здесь, если таковые имеются",
+ "messages": {
+ "disabled": {
+ "content": "Проверьте логи для получения более подробной информации.",
+ "title": "HACS отключен"
+ },
+ "has_pending_tasks": {
+ "content": "Некоторые репозитории могут не отображаться до тех пор, пока это не будет завершено",
+ "title": "Выполняются фоновые задачи"
+ },
+ "removed": "Репозиторий удален '{repository}'",
+ "resources": {
+ "content": "У вас есть {number} элементов Lovelace, которые не загружаются должным образом.",
+ "title": "Не загружено в Lovelace"
+ },
+ "restart": {
+ "content": "У вас есть {number} интеграций, которые требуют перезагрузки Home Assistant, Вы можете сделать это из раздела 'Сервер' в разделе конфигурации пользовательского интерфейса Home Assistant.",
+ "title": "В ожидании перезапуска"
+ },
+ "startup": {
+ "content": "HACS запускается, в течение этого времени некоторые сведения могут отсутствовать или быть неверными",
+ "title": "HACS запускается"
+ },
+ "wrong_frontend_installed": {
+ "content": "Вы используете версию {running} интерфейса HACS, однако ожидаемая версия — {expected}; если Вы видите это сообщение, то Home Assistant не смог установить новую версию интерфейса; попробуйте перезапустить Home Assistant",
+ "title": "Неожиданная версия интерфейса"
+ },
+ "wrong_frontend_loaded": {
+ "content": "Вы используете версию {running} интерфейса HACS, однако ожидаемая версия — {expected}, попробуйте очистить кеш браузера.",
+ "title": "Неожиданная версия интерфейса"
+ }
+ },
+ "pending_updates": "Обновления в ожидании"
+ },
+ "menu": {
+ "about": "О HACS",
+ "clear": "Очистить все новые репозитории",
+ "custom_repositories": "Пользовательские репозитории",
+ "dismiss": "Убрать все новые репозитории",
+ "documentation": "Документация",
+ "open_issue": "Сообщить о проблеме",
+ "reload": "Перезагрузить окно"
},
"options": {
"step": {
@@ -39,27 +201,156 @@
}
},
"repository_banner": {
+ "config_flow": "Эта интеграция поддерживает config_flow, это означает, что теперь вы можете перейти в раздел интеграций вашего пользовательского интерфейса, чтобы настроить её.",
+ "config_flow_title": "Поддерживается настройка из пользовательского интерфейса",
"integration_not_loaded": "Эта интеграция не загружена в Home Assistant.",
+ "no_restart_required": "Перезагрузка не требуется",
"not_loaded": "Не загружено",
"plugin_not_loaded": "Этот плагин не добавлен к ресурсам Lovelace.",
"restart": "Вам нужно перезапустить Home Assistant.",
"restart_pending": "Ожидается перезапуск"
},
+ "repository_card": {
+ "dismiss": "убрать",
+ "hide": "Скрыть",
+ "information": "Информация",
+ "new_repository": "Новый репозиторий",
+ "not_loaded": "Не загружено",
+ "open_issue": "Сообщить о проблеме",
+ "open_source": "Открыть источник",
+ "pending_restart": "В ожидании перезапуска",
+ "pending_update": "Ожидается обновление",
+ "reinstall": "Переустановить",
+ "report": "Сообщить о нарушении",
+ "update_information": "Обновить информацию"
+ },
"repository": {
"add_to_lovelace": "Добавить в Lovelace",
- "authors": "Авторы"
+ "authors": "Авторы",
+ "available": "Доступно",
+ "back_to": "Назад к",
+ "changelog": "Изменения",
+ "downloads": "Загрузки",
+ "flag_this": "Пожаловаться",
+ "frontend_version": "Версия",
+ "github_stars": "Звезды GitHub",
+ "goto_integrations": "Перейти к интеграции",
+ "hide": "Скрыть",
+ "hide_beta": "Скрыть бета",
+ "install": "Установить",
+ "installed": "Установлено",
+ "lovelace_copy_example": "Скопируйте пример в буфер обмена",
+ "lovelace_instruction": "Для добавления в конфигурацию Lovelace, используйте",
+ "lovelace_no_js_type": "Не удалось определить тип этого плагина, проверьте репозиторий.",
+ "newest": "новейшая",
+ "note_appdaemon": "вам всё ещё нужно добавить код для настройки приложения в файл 'apps.yaml'",
+ "note_installed": "После установки, файлы будут расположены в",
+ "note_integration": "вам всё ещё нужно добавить код для настройки интеграции в файл 'configuration.yaml'",
+ "note_plugin": "вам всё ещё нужно добавить код для настройки плагина в конфигурацию Lovelace ('ui-lovelace.yaml')",
+ "note_plugin_post_107": "вам всё равно нужно добавить его в конфигурацию Lovelace ('configuration.yaml' или редактор ресурсов по пути '\/config\/lovelace\/resources').",
+ "open_issue": "Сообщить о проблеме",
+ "open_plugin": "Открыть плагин",
+ "reinstall": "Переустановить",
+ "repository": "Репозиторий",
+ "restart_home_assistant": "Перезагрузка Home Assistant",
+ "show_beta": "Показать бета",
+ "uninstall": "Удалить",
+ "update_information": "Обновить информацию",
+ "upgrade": "Обновить"
+ },
+ "search": {
+ "installed": "Поиск установленных репозиторий",
+ "installed_new": "Поиск установленных или новых репозиторий",
+ "placeholder": "Поиск репозитория"
+ },
+ "sections": {
+ "about": {
+ "description": "Показать информацию о HACS",
+ "title": "О проекте"
+ },
+ "automation": {
+ "description": "Здесь вы найдете python_scripts, приложения AppDaemon и NetDaemon.",
+ "title": "Автоматизация"
+ },
+ "frontend": {
+ "description": "Здесь вы найдете темы, пользовательские карточки и другие элементы для Lovelace",
+ "title": "Пользовательский интерфейс"
+ },
+ "integrations": {
+ "description": "Здесь вы найдете пользовательские интеграции (custom_components)",
+ "title": "Интеграции"
+ },
+ "pending_repository_upgrade": "Вы используете версию {installed}, доступна версия {available}"
},
"settings": {
+ "add_custom_repository": "ДОБАВИТЬ СВОЙ РЕПОЗИТОРИЙ",
+ "adding_new_repo": "Добавление нового репозитория '{repo}'",
+ "adding_new_repo_category": "С категорией '{category}'.",
+ "bg_task_custom": "Свои репозитории скрыты во время выполнения фоновых задач.",
+ "category": "Категория",
"compact_mode": "Компактный режим",
+ "custom_repositories": "СВОИ РЕПОЗИТОРИИ",
+ "delete": "Удалить",
+ "display": "Вид",
+ "grid": "Сетка",
+ "hacs_repo": "Репозиторий HACS",
"hidden_repositories": "Скрытые репозитории",
+ "missing_category": "Вы должны выбрать категорию",
+ "open_repository": "Открыть репозиторий",
+ "reload_data": "Перезагрузить",
+ "reload_window": "Перезагрузить окно",
+ "repository_configuration": "Конфигурация репозитория",
+ "save": "Сохранить",
+ "table": "Таблица",
"table_view": "Таблица",
- "unhide": "Показать"
+ "unhide": "Показать",
+ "upgrade_all": "Обновить всё"
},
"store": {
+ "ascending": "по возрастанию",
"clear_new": "Очистить все новые репозитории",
+ "descending": "по убыванию",
+ "last_updated": "Последнее обновление",
"name": "Название",
"new_repositories": "Новые репозитории",
+ "new_repositories_note": "У Вас есть более 10 новых репозиториев, показанных здесь; если Вы хотите очистить их все, нажмите 3 точки в верхнем правом углу и уберите их разом.",
+ "no_repositories": "Нет репозиториев",
+ "no_repositories_desc1": "Похоже, у вас еще нет репозиториев, установленных в этом разделе.",
+ "no_repositories_desc2": "Нажмите на + в нижнем углу, чтобы добавить первый!",
+ "no_repositories_found_desc1": "В этом разделе не найдено установленных репозиторий, соответствующих \"{searchinput}\".",
+ "no_repositories_found_desc2": "Попробуйте искать что-нибудь другое!",
+ "pending_upgrades": "Ожидается обновление",
+ "placeholder_search": "Пожалуйста, введите условие для поиска...",
"sort": "Сортировка",
+ "stars": "Звезды",
"status": "Статус"
+ },
+ "time": {
+ "ago": "назад",
+ "day": "день",
+ "days": "дней",
+ "hour": "час",
+ "hours": "часов",
+ "minute": "минута",
+ "minutes": "минут",
+ "month": "месяц",
+ "months": "месяца",
+ "one": "Одна",
+ "one_day_ago": "один день назад",
+ "one_hour_ago": "час назад",
+ "one_minute_ago": "минуту назад",
+ "one_month_ago": "месяц назад",
+ "one_second_ago": "одну секунду назад",
+ "one_year_ago": "один год назад",
+ "second": "секунда",
+ "seconds": "секунд",
+ "x_days_ago": "{x} дней назад",
+ "x_hours_ago": "{x} часов назад",
+ "x_minutes_ago": "{x} минут назад",
+ "x_months_ago": "{x} месяцев назад",
+ "x_seconds_ago": "{x} секунд назад",
+ "x_years_ago": "{x} лет назад",
+ "year": "год",
+ "years": "лет"
}
}
\ No newline at end of file
diff --git a/custom_components/hacs/translations/sl.json b/custom_components/hacs/translations/sl.json
index ddea7ce0..4b1181b2 100644
--- a/custom_components/hacs/translations/sl.json
+++ b/custom_components/hacs/translations/sl.json
@@ -1,25 +1,76 @@
{
+ "common": {
+ "about": "O tem",
+ "appdaemon": "AppDaemon",
+ "appdaemon_apps": "AppDaemon Aplikacije",
+ "background_task": "V ozadju se izvaja naloga, ko se konča, se bo stran osvežila.",
+ "check_log_file": "Za več podrobnosti preverite datoteko dnevnika.",
+ "continue": "Nadaljuj",
+ "disabled": "Onemogočeno",
+ "documentation": "Dokumentacija",
+ "hacs_is_disabled": "HACS je onemogočen",
+ "installed": "Nameščeno",
+ "integration": "Integracija",
+ "integrations": "Integracije",
+ "manage": "upravljanje",
+ "netdaemon": "NetDaemon",
+ "netdaemon_apps": "NetDaemon Aplikacije",
+ "plugin": "Lovelace",
+ "plugins": "Vtičniki",
+ "python_script": "Python skripta",
+ "python_scripts": "Python skripte",
+ "repositories": "Repozitoriji",
+ "settings": "nastavitve",
+ "theme": "Tema",
+ "themes": "Teme",
+ "version": "Različica"
+ },
"config": {
- "abort": {
- "single_instance_allowed": "Dovoljena je samo ena konfiguracija HACS."
- },
- "error": {
- "auth": "Osebni dostopni žeton ni pravilen."
- },
"step": {
+ "device": {
+ "description": "Open {url} and paste this key `{code}` to authorize HACS, when you have done that click 'submit'",
+ "title": "HACS"
+ },
"user": {
- "description": "Če potrebujete pomoč pri konfiguraciji, poglejte tukaj: https:\/\/hacs.xyz\/docs\/configuration\/start",
- "title": "[%key_id:28417459%]"
+ "data": {
+ "acc_addons": "I know that there are no add-ons in HACS",
+ "acc_disable": "I know that if I get issues with Home Assistant I should disable all my custom_components",
+ "acc_logs": "I know how to access Home Assistant logs",
+ "acc_untested": "I know that everything inside HACS is custom and untested by Home Assistant",
+ "appdaemon": "Enable AppDaemon apps discovery & tracking",
+ "netdaemon": "Enable NetDaemon apps discovery & tracking",
+ "python_script": "Enable python_scripts discovery & tracking",
+ "sidepanel_icon": "Side panel icon",
+ "sidepanel_title": "Side panel title",
+ "theme": "Enable Themes discovery & tracking",
+ "token": "GitHub Personal Access Token"
+ },
+ "description": "Before you can setup HACS you need to acknowledge the following",
+ "title": "HACS"
}
- }
+ },
+ "title": "HACS (Home Assistant Community Store)"
},
"confirm": {
"add_to_lovelace": "Ali si prepričan, da želiš to dodati med svoje vire Lovelace?",
+ "bg_task": "Dejanje je onemogočeno, medtem ko se izvajajo opravila v ozadju.",
+ "cancel": "Prekliči",
"continue": "Ali ste prepričani, da želite nadaljevati?",
"delete": "Ali ste prepričani, da želite izbrisati '{item}'?",
+ "delete_installed": "'{item}' je nameščen, pred odstranitvijo ga morate odstraniti.",
+ "exist": "{item} že obstaja",
"generic": "Ali si prepričan?",
+ "home_assistant_is_restarting": "Počakaj, Home Assistant se zdaj znova zaganja.",
+ "home_assistant_version_not_correct": "Uporabljate Home Assistant verzije '{haversion}', vendar to skladišče zahteva nameščeno najmanj različico '{minversion}'.",
+ "no": "Ne",
+ "no_upgrades": "Ni nadgradenj",
+ "ok": "V redu",
"overwrite": "Če to storite, bo to prepisano.",
- "uninstall": "Ali ste prepričani, da želite odstraniti '{item}'?"
+ "reload_data": "Ponovno se naložijo podatki vseh shramb HA, to bo trajalo nekaj časa.",
+ "restart_home_assistant": "Ali ste prepričani, da želite znova zagnati Home Assistant?",
+ "uninstall": "Ali ste prepričani, da želite odstraniti '{item}'?",
+ "upgrade_all": "To bo nadgradil vse te repozitorije, preden nadaljujete poskrbite, da ste prebrali vse opombe ob izdaji.",
+ "yes": "Da"
},
"options": {
"step": {
@@ -39,7 +90,10 @@
}
},
"repository_banner": {
+ "config_flow": "Ta integracija podpira config_flow, kar pomeni, da lahko zdaj greste na odsek integracije vašega uporabniškega vmesnika, da ga konfigurirate.",
+ "config_flow_title": "Konfiguracija uporabniškega vmesnika je podprta",
"integration_not_loaded": "Ta integracija ni naložena v programu Home Assistant.",
+ "no_restart_required": "Ponovni zagon ni potreben",
"not_loaded": "Ni naloženo",
"plugin_not_loaded": "Ta vtičnik ni dodan vašim virom Lovelace.",
"restart": "Znova morate zagnati Home Assistant.",
@@ -47,19 +101,101 @@
},
"repository": {
"add_to_lovelace": "Dodaj v Lovelace",
- "authors": "Avtorji"
+ "authors": "Avtorji",
+ "available": "Na voljo",
+ "back_to": "Nazaj na",
+ "changelog": "Dnevnik sprememb",
+ "downloads": "Prenosi",
+ "flag_this": "Označite to",
+ "frontend_version": "Frontend različica",
+ "github_stars": "GitHub zvezde",
+ "goto_integrations": "Pojdite na integracije",
+ "hide": "Skrij",
+ "hide_beta": "Skrij različico beta",
+ "install": "Namestite",
+ "installed": "Nameščeno",
+ "lovelace_copy_example": "Kopirajte primer v odložišče",
+ "lovelace_instruction": "Ko ga boste dodajali v svojo lovelace konfiguracijo uporabite to:",
+ "lovelace_no_js_type": "Ni bilo mogoče določiti vrsto tega vtičnika, preverite repozitorij.",
+ "newest": "najnovejše",
+ "note_appdaemon": "Še vedno ga morate dodati v svojo 'apps.yaml' datoteko",
+ "note_installed": "Ko bo nameščen, se bo nahajal v",
+ "note_integration": "Še vedno ga morate dodati v svojo 'configuration.yaml' datoteko",
+ "note_plugin": "vendar ga še vedno morate dodati v svojo lovelace konfiguracijo ('ui-lovelace.yaml' ali \"raw\" UI config urejevalnik)",
+ "note_plugin_post_107": "še vedno ga morate dodati v svojo konfiguracijo lovelace ('config.yaml' ali urejevalnik virov '\/config\/lovelace\/resources')",
+ "open_issue": "Odprite težavo",
+ "open_plugin": "Odprite vtičnik",
+ "reinstall": "Znova namestite",
+ "repository": "Repozitorij",
+ "restart_home_assistant": "Znova zaženite Home Assistant",
+ "show_beta": "Pokaži različico beta",
+ "uninstall": "Odstranite",
+ "update_information": "Posodobite podatke",
+ "upgrade": "Nadgradnja"
},
"settings": {
+ "add_custom_repository": "DODAJTE SVOJ REPOZITORIJ",
+ "adding_new_repo": "Dodajanje novega repozitorija '{repo}'",
+ "adding_new_repo_category": "S kategorijo '{category}'.",
+ "bg_task_custom": "Med izvajanjem nalog v ozadju so repozitoriji po meri skriti.",
+ "category": "Kategorija",
"compact_mode": "Kompaktni način",
+ "custom_repositories": "VAŠI REPOZITORIJI",
+ "delete": "Izbriši",
+ "display": "Prikaz",
+ "grid": "Mreža",
+ "hacs_repo": "HACS repo",
"hidden_repositories": "skriti repozitoriji",
+ "missing_category": "Izbrati moraš kategorijo",
+ "open_repository": "Odprite skladišče",
+ "reload_data": "Ponovno naloži podatke",
+ "reload_window": "Ponovno naloži okno",
+ "repository_configuration": "Konfiguracija skladišč",
+ "save": "Shranite",
+ "table": "Tabela",
"table_view": "Pogled tabele",
- "unhide": "Razkrij"
+ "unhide": "Razkrij",
+ "upgrade_all": "Nadgradite vse"
},
"store": {
+ "ascending": "naraščajoče",
"clear_new": "Počisti vse nove repozitorije",
+ "descending": "padajoče",
+ "last_updated": "Nazadnje posodobljeno",
"name": "Ime",
"new_repositories": "Novi repozitoriji",
+ "pending_upgrades": "Nadgradnje na čakanju",
+ "placeholder_search": "Prosim vnesite iskalni izraz ...",
"sort": "razvrsti",
+ "stars": "Zvezd",
"status": "Stanje"
+ },
+ "time": {
+ "ago": "nazaj",
+ "day": "dan",
+ "days": "Dni",
+ "hour": "ura",
+ "hours": "Ur",
+ "minute": "minuta",
+ "minutes": "minut",
+ "month": "mesec",
+ "months": "mesecev",
+ "one": "Eno",
+ "one_day_ago": "pred enim dnevom",
+ "one_hour_ago": "pred eno uro",
+ "one_minute_ago": "pred eno minuto",
+ "one_month_ago": "pred enim mesecem",
+ "one_second_ago": "pred sekundo",
+ "one_year_ago": "pred enim letom",
+ "second": "drugič",
+ "seconds": "sekund",
+ "x_days_ago": "{x} dni nazaj",
+ "x_hours_ago": "{x} ur nazaj",
+ "x_minutes_ago": "{x} minut nazaj",
+ "x_months_ago": "{x} mesecev nazaj",
+ "x_seconds_ago": "{x} sekund nazaj",
+ "x_years_ago": "{x} let nazaj",
+ "year": "leto",
+ "years": "Let"
}
}
\ No newline at end of file
diff --git a/custom_components/hacs/translations/sv.json b/custom_components/hacs/translations/sv.json
index 2808f7de..220c9028 100644
--- a/custom_components/hacs/translations/sv.json
+++ b/custom_components/hacs/translations/sv.json
@@ -1,25 +1,76 @@
{
+ "common": {
+ "about": "Om",
+ "appdaemon": "AppDaemon",
+ "appdaemon_apps": "Appdaemon Applikationer",
+ "background_task": "Bakgrundsjobb körs, denna sida kommer att laddas igen när det är klart.",
+ "check_log_file": "Kontrollera din loggfil för mer information.",
+ "continue": "Fortsätta",
+ "disabled": "Inaktiverad",
+ "documentation": "Dokumentation",
+ "hacs_is_disabled": "HACS är inaktiverat",
+ "installed": "installerad",
+ "integration": "Integration",
+ "integrations": "Integrationer",
+ "manage": "hantera",
+ "netdaemon": "NetDaemon",
+ "netdaemon_apps": "NetDaemon Applikationer",
+ "plugin": "Lovelace",
+ "plugins": "Plugins",
+ "python_script": "Python skript",
+ "python_scripts": "Python skript",
+ "repositories": "Repositories",
+ "settings": "inställningar",
+ "theme": "Tema",
+ "themes": "Teman",
+ "version": "Version"
+ },
"config": {
- "abort": {
- "single_instance_allowed": "Endast en konfiguration kan användas i HACS."
- },
- "error": {
- "auth": "Personal Access Token är inte korrekt."
- },
"step": {
+ "device": {
+ "description": "Open {url} and paste this key `{code}` to authorize HACS, when you have done that click 'submit'",
+ "title": "HACS"
+ },
"user": {
- "description": "Om du behöver hjälp med konfigurationen, se här: https:\/\/hacs.xyz\/docs\/configuration\/start",
- "title": "[%key_id:28417459%]"
+ "data": {
+ "acc_addons": "I know that there are no add-ons in HACS",
+ "acc_disable": "I know that if I get issues with Home Assistant I should disable all my custom_components",
+ "acc_logs": "I know how to access Home Assistant logs",
+ "acc_untested": "I know that everything inside HACS is custom and untested by Home Assistant",
+ "appdaemon": "Enable AppDaemon apps discovery & tracking",
+ "netdaemon": "Enable NetDaemon apps discovery & tracking",
+ "python_script": "Enable python_scripts discovery & tracking",
+ "sidepanel_icon": "Side panel icon",
+ "sidepanel_title": "Side panel title",
+ "theme": "Enable Themes discovery & tracking",
+ "token": "GitHub Personal Access Token"
+ },
+ "description": "Before you can setup HACS you need to acknowledge the following",
+ "title": "HACS"
}
- }
+ },
+ "title": "HACS (Home Assistant Community Store)"
},
"confirm": {
"add_to_lovelace": "Är du säker på att du vill lägga till detta till dina Lovelace-resurser?",
+ "bg_task": "Åtgärden är inaktiverad medan aktiviteter i bakgrunden körs",
+ "cancel": "Avbryt",
"continue": "Är du säker på att du vill fortsätta?",
"delete": "Är du säker på att du vill ta bort '{item}'?",
+ "delete_installed": "'{item}' är installerat, du måste avinstallera det innan du kan ta bort det.",
+ "exist": "{item} existerar redan",
"generic": "Är du säker?",
+ "home_assistant_is_restarting": "Vänta, Home Assistant startar nu om.",
+ "home_assistant_version_not_correct": "Du kör Home Assistant-versionen '{haversion}', men detta repository kräver att lägsta versionen '{minversion}' måste installeras.",
+ "no": "Nej",
+ "no_upgrades": "Inga uppgraderingar väntar",
+ "ok": "OK",
"overwrite": "Detta kommer att skriva över den.",
- "uninstall": "Är du säker på att du vill avinstallera '{item}'?"
+ "reload_data": "Detta laddar om data för alla repositories HACS vet om, kommer detta att ta lite tid att slutföra.",
+ "restart_home_assistant": "Är du säker på att du vill starta om Home Assistant?",
+ "uninstall": "Är du säker på att du vill avinstallera '{item}'?",
+ "upgrade_all": "Detta kommer uppgradera alla dessa repositories, säkerhetsställ att du läst release anteckningarna för dem alla innan du fortsätter",
+ "yes": "Ja"
},
"options": {
"step": {
@@ -39,7 +90,10 @@
}
},
"repository_banner": {
+ "config_flow": "Den här integreringen stöder config_flow, det innebär att du nu kan gå till integrationsdelen i användargränssnittet för att konfigurera det.",
+ "config_flow_title": "UI-konfiguration stöds",
"integration_not_loaded": "Denna integration inte laddats i Hem Assistent.",
+ "no_restart_required": "Ingen omstart krävs",
"not_loaded": "Ej laddad",
"plugin_not_loaded": "Detta plugin är inte tillagt till din Lovelaceresurs.",
"restart": "Du måste starta om Home Assistant.",
@@ -47,19 +101,106 @@
},
"repository": {
"add_to_lovelace": "Lägg till i Lovelace",
- "authors": "Författare"
+ "authors": "Författare",
+ "available": "Tillgänglig",
+ "back_to": "Tillbaka till",
+ "changelog": "Ändringslogg",
+ "downloads": "Nedladdningar",
+ "flag_this": "Flagga denna",
+ "frontend_version": "Frontend-version",
+ "github_stars": "GitHub stjärnor",
+ "goto_integrations": "Gå till integrationer",
+ "hide": "Göm",
+ "hide_beta": "Göm betaversioner",
+ "install": "Installera",
+ "installed": "Installerad",
+ "lovelace_copy_example": "Kopiera exemplet till urklipp",
+ "lovelace_instruction": "När du lägger till denna till din lovelace konfiguration, använd",
+ "lovelace_no_js_type": "Kan inte avgöra villken typ av plugin, kontrollera i GIT \\nrepository",
+ "newest": "nyaste",
+ "note_appdaemon": "du behöver fortfarande lägga till den till filen 'apps.yaml'",
+ "note_installed": "När den är installerad kommer den finnas i",
+ "note_integration": "du behöver fortfarande lägga den till filen 'configuration.yaml'",
+ "note_plugin": "du behöver fortfarande lägga till den till din lovelace konfiguration ('ui-lovelace.yaml' eller raw UI config redigerare)",
+ "note_plugin_post_107": "du behöver fortfarande lägga till den i din lovelace-konfiguration ('configuration.yaml' eller resursredigeraren \/config\/lovelace\/resources')",
+ "open_issue": "Rapportera problem",
+ "open_plugin": "Öppna plugin",
+ "reinstall": "Ominstallera",
+ "repository": "Repository",
+ "restart_home_assistant": "Starta om Home Assistant",
+ "show_beta": "Visa betaversioner",
+ "uninstall": "Avinstallera",
+ "update_information": "Uppdatera information",
+ "upgrade": "Uppdatera"
+ },
+ "sections": {
+ "addon": {
+ "title": "Tillägg"
+ }
},
"settings": {
+ "add_custom_repository": "LÄGG TILL ETT REPOSITORY",
+ "adding_new_repo": "Lägger till nytt repository '{repo}'",
+ "adding_new_repo_category": "Med kategori '{kategori}'.",
+ "bg_task_custom": "Anpassade repositories är dolda under tiden aktiviteter i bakgrunden körs",
+ "category": "Kategori",
"compact_mode": "Kompakt läge",
+ "custom_repositories": "REPOSITORIES",
+ "delete": "Ta bort",
+ "display": "Visa",
+ "grid": "Rutnät",
+ "hacs_repo": "HACS repo",
"hidden_repositories": "dolda förråd",
+ "missing_category": "Du behöver välja en kategori",
+ "open_repository": "Öppna Repository",
+ "reload_data": "Ladda om data",
+ "reload_window": "Ladda om fönstret",
+ "repository_configuration": "Konfiguration av repository",
+ "save": "Spara",
+ "table": "Tabell",
"table_view": "Tabellvy",
- "unhide": "ta fram"
+ "unhide": "ta fram",
+ "upgrade_all": "Uppgradera alla"
},
"store": {
+ "ascending": "stigande",
"clear_new": "Rensa alla nya förvar",
+ "descending": "fallande",
+ "last_updated": "Senast uppdaterad",
"name": "Namn",
"new_repositories": "Nya förvar",
+ "pending_upgrades": "Väntande uppgraderingar",
+ "placeholder_search": "Skriv ett sökord...",
"sort": "sortera",
+ "stars": "Stjärnor",
"status": "Status"
+ },
+ "time": {
+ "ago": "sedan",
+ "day": "dag",
+ "days": "dagar",
+ "hour": "timme",
+ "hours": "timmar",
+ "minute": "minut",
+ "minutes": "minuter",
+ "month": "månad",
+ "months": "månader",
+ "one": "Ett",
+ "one_day_ago": "för en dag sedan",
+ "one_hour_ago": "för en timme sedan",
+ "one_minute_ago": "en minut sedan",
+ "one_month_ago": "en månad sedan",
+ "one_second_ago": "för en sekund sedan",
+ "one_year_ago": "ett år sedan",
+ "second": "andra",
+ "seconds": "sekunder",
+ "x_days_ago": "{x} dagar sedan",
+ "x_hours_ago": "{x} timmar sedan",
+ "x_minutes_ago": "{x} minuter sedan",
+ "x_months_ago": "{x} månader sedan",
+ "x_seconds_ago": "{x} sekunder sedan",
+ "x_years_ago": "{x} år sedan",
+ "year": "år",
+ "years": "år"
}
}
\ No newline at end of file
diff --git a/custom_components/hacs/translations/vi.json b/custom_components/hacs/translations/vi.json
index 38eee888..db9f3cc8 100644
--- a/custom_components/hacs/translations/vi.json
+++ b/custom_components/hacs/translations/vi.json
@@ -1,24 +1,178 @@
{
+ "common": {
+ "about": "Thông tin",
+ "add": "thêm",
+ "appdaemon_apps": "Ứng dụng AppDaemon",
+ "appdaemon_plural": "Ứng dụng AppDaemon",
+ "background_task": "Tác vụ nền đang chạy, trang này sẽ được tải lại khi hoàn thành.",
+ "check_log_file": "Kiểm tra tệp nhật ký để biết thêm chi tiết.",
+ "continue": "Tiếp tục",
+ "disabled": "Bị vô hiệu hoá",
+ "documentation": "Tài liệu",
+ "element": "thành phần",
+ "hacs_is_disabled": "HACS đã bị vô hiệu hoá",
+ "install": "Cài đặt",
+ "installed": "đã cài đặt",
+ "integration": "Tích Hợp",
+ "integration_plural": "Tích Hợp",
+ "integrations": "Tích Hợp",
+ "lovelace": "Lovelace",
+ "lovelace_element": "Thành phần Lovelace",
+ "lovelace_elements": "Các thành phần Lovelace",
+ "manage": "quản lý",
+ "netdaemon": "NetDaemon",
+ "netdaemon_apps": "Ứng dụng NetDaemon",
+ "netdaemon_plural": "Ứng dụng NetDaemon",
+ "plugin": "Bổ Sung",
+ "plugin_plural": "Các thành phần Lovelace",
+ "plugins": "Bổ Sung",
+ "python_script": "Chương trình Python",
+ "python_script_plural": "Chương trình Python",
+ "python_scripts": "Chương trình Python",
+ "repositories": "Các kho ứng dụng",
+ "repository": "Kho lưu trữ",
+ "settings": "thiết lập",
+ "theme": "Chủ đề",
+ "theme_plural": "Chủ đề",
+ "themes": "Chủ đề",
+ "uninstall": "Gỡ cài đặt",
+ "update": "Cập nhật",
+ "version": "Phiên bản"
+ },
"config": {
- "abort": {
- "single_instance_allowed": "Chỉ cho phép một cấu hình HACS duy nhất."
- },
- "error": {
- "auth": "Mã Truy Cập Cá Nhân không đúng."
- },
"step": {
+ "device": {
+ "description": "Open {url} and paste this key `{code}` to authorize HACS, when you have done that click 'submit'",
+ "title": "HACS"
+ },
"user": {
- "description": "Nếu bạn cần giúp đỡ về các cấu hình, hãy xem ở đây:\nhttps:\/\/hacs.xyz\/docs\/configuration\/start"
+ "data": {
+ "acc_addons": "I know that there are no add-ons in HACS",
+ "acc_disable": "I know that if I get issues with Home Assistant I should disable all my custom_components",
+ "acc_logs": "I know how to access Home Assistant logs",
+ "acc_untested": "I know that everything inside HACS is custom and untested by Home Assistant",
+ "appdaemon": "Enable AppDaemon apps discovery & tracking",
+ "netdaemon": "Enable NetDaemon apps discovery & tracking",
+ "python_script": "Enable python_scripts discovery & tracking",
+ "sidepanel_icon": "Side panel icon",
+ "sidepanel_title": "Side panel title",
+ "theme": "Enable Themes discovery & tracking",
+ "token": "GitHub Personal Access Token"
+ },
+ "description": "Before you can setup HACS you need to acknowledge the following",
+ "title": "HACS"
}
- }
+ },
+ "title": "HACS (Home Assistant Community Store)"
},
"confirm": {
"add_to_lovelace": "Bạn có chắc muốn thêm vào tài nguyên Lovelace của mình không?",
+ "bg_task": "Hành động bị vô hiệu hoá trong khi các tác vụ nền đang chạy.",
+ "cancel": "Huỷ bỏ",
"continue": "Bạn có chắc chắn muốn tiếp tục?",
"delete": "Bạn có chắc muốn xoá '{item}'?",
+ "delete_installed": "'{item}' đã được cài đặt, bạn cần gỡ cài đặt nó trước khi có thể xoá.",
+ "exist": "{item} đang tồn tại",
"generic": "Bạn có chắc không?",
+ "home_assistant_is_restarting": "Khoan đã, Home Assistant đang khởi động lại.",
+ "home_assistant_version_not_correct": "Bạn đang chạy phiên bản Home Assistant '{haversion}' nhưng kho ứng dụng này yêu cầu phiên bản thấp nhất '{minversion}' để cài đặt.",
+ "no": "Không",
+ "no_upgrades": "Không có cập nhật nào đang xử lý",
+ "ok": "OK",
"overwrite": "Tiếp tục sẽ khiến card này bị ghi đè lên.",
- "uninstall": "Bạn có chắc muốn gỡ cài đặt '{item}'?"
+ "reload_data": "Điều này tải lại dữ liệu của tất cả các kho ứng dụng trong HACS, sẽ mất một lúc để hoàn tất.",
+ "restart_home_assistant": "Bạn có muốn khởi động lại Home Assistant?",
+ "uninstall": "Bạn có chắc muốn gỡ cài đặt '{item}'?",
+ "upgrade_all": "Điều này sẽ nâng cấp tất cả các kho ứng dụng này, đảm bảo rằng bạn đã đọc tất cả các lưu ý phát hành trước khi tiếp tục.",
+ "yes": "Có"
+ },
+ "dialog_about": {
+ "frontend_version": "Phiên bản Frontend",
+ "installed_repositories": "Kho lưu trữ đã cài đặt",
+ "integration_version": "Phiên bản tích hợp",
+ "useful_links": "Liên kết hữu ích"
+ },
+ "dialog_add_repo": {
+ "limit": "Chỉ 100 kho lưu trữ đầu tiên được hiển thị, sử dụng mục tìm kiếm để lọc những gì bạn cần",
+ "no_match": "Không tìm thấy kho lưu trữ phù hợp với bộ lọc của bạn",
+ "sort_by": "Sắp xếp theo",
+ "title": "Thêm kho lưu trữ"
+ },
+ "dialog_custom_repositories": {
+ "category": "Danh mục",
+ "no_category": "Thiếu danh mục",
+ "no_repository": "Kho lưu trữ bị thiếu",
+ "title": "Các kho lưu trữ tuỳ chỉnh",
+ "url_placeholder": "Thêm URL của kho lưu trữ tùy chỉnh"
+ },
+ "dialog_info": {
+ "author": "Tác giả",
+ "downloads": "Tải xuống",
+ "install": "Cài đặt kho lưu trữ này trong HACS",
+ "loading": "Đang tải thông tin...",
+ "no_info": "Nhà phát triển đã không cung cấp thêm thông tin nào cho kho lưu trữ này",
+ "open_issues": "Báo cáo vấn đề",
+ "open_repo": "Mở Kho ứng dụng",
+ "stars": "Số sao",
+ "version_installed": "Phiên bản đã cài đặt"
+ },
+ "dialog_install": {
+ "restart": "Hãy nhớ rằng bạn cần khởi động lại Home Assistant trước khi các thay đổi với tích hợp (custom_components) được áp dụng.",
+ "select_version": "Chọn phiên bản",
+ "show_beta": "Hiển thị phiên bản beta",
+ "type": "Loại",
+ "url": "URL"
+ },
+ "dialog_update": {
+ "available_version": "Phiên bản hiện có",
+ "changelog": "Thay đổi",
+ "installed_version": "Phiên bản đã cài đặt",
+ "releasenotes": "Thông tin phiên bản {Release}",
+ "title": "Cập nhật đang chờ"
+ },
+ "entry": {
+ "information": "Thông tin",
+ "intro": "Các cập nhật và thông điệp quan trọng sẽ hiển thị ở đây nếu có",
+ "messages": {
+ "disabled": {
+ "content": "Kiểm tra tệp nhật ký của bạn để biết thêm chi tiết",
+ "title": "HACS đã bị vô hiệu hoá"
+ },
+ "has_pending_tasks": {
+ "content": "Một số kho có thể không thấy cho đến khi điều này hoàn tất",
+ "title": "Tác vụ nền đang chờ"
+ },
+ "resources": {
+ "content": "Bạn có {number} thành phần Lovelace không được tải chính xác.",
+ "title": "Không được tải trong Lovelace"
+ },
+ "restart": {
+ "content": "Bạn có {number} tích hợp yêu cầu khởi động lại Home Assistant, bạn có thể làm điều này từ mục 'Điều khiển máy chủ' bên trong tab Cấu hình trên giao diện Home Assistant.",
+ "title": "Đang chờ khởi động lại"
+ },
+ "startup": {
+ "content": "HACS đang khởi động, suốt quá trình này có thể một số thông tin sẽ bị thiếu hoặc không chính xác",
+ "title": "HACS đang khởi động"
+ },
+ "wrong_frontend_installed": {
+ "content": "Bạn có HACS frontend phiên bản {running} đã được cài đặt, nhưng phiên bản yêu cầu là {version}, khi bạn nhìn thấy thông điệp này có nghĩa là Home Assistant không thể cài đặt phiên bản mới, thử khởi động lại Home Assistant.",
+ "title": "Phiên bản frontend không đúng"
+ },
+ "wrong_frontend_loaded": {
+ "content": "Bạn đang chạy phiên bản {running} của HACS frontend, nhưng phiên bản được yêu cầu là {expected}, bạn nên xoá bộ đệm của trình duyệt web.",
+ "title": "Phiên bản frontend không đúng"
+ }
+ },
+ "pending_updates": "Đang chờ cập nhật"
+ },
+ "menu": {
+ "about": "Giới thiệu HACS",
+ "clear": "Ẩn thông báo mục mới",
+ "custom_repositories": "Các kho ứng dụng tuỳ chỉnh",
+ "dismiss": "Bỏ qua tất cả kho chứa mới",
+ "documentation": "Tài liệu",
+ "open_issue": "Báo cáo vấn đề",
+ "reload": "Tải lại cửa sổ"
},
"options": {
"step": {
@@ -38,27 +192,154 @@
}
},
"repository_banner": {
+ "config_flow": "Tích hợp này hỗ trợ config_flow, điều này có nghĩa là bây giờ bạn có thể chuyển đến khu vực Tích hợp trên giao diện để cấu hình nó.",
+ "config_flow_title": "Hỗ trợ cấu hình qua giao diện người dùng",
"integration_not_loaded": "Tích hợp này chưa được tải trong Home Assistant.",
+ "no_restart_required": "Không cần khởi động lại",
"not_loaded": "Chưa được tải",
"plugin_not_loaded": "Bổ sung này chưa được thêm vào tài nguyên Lovelace của bạn.",
"restart": "Bạn cần khởi động lại Home Assistant.",
"restart_pending": "Đang chờ khởi động lại"
},
+ "repository_card": {
+ "dismiss": "bỏ qua",
+ "hide": "Ẩn",
+ "information": "Thông tin",
+ "new_repository": "Kho lưu trữ mới",
+ "not_loaded": "Không được tải",
+ "open_issue": "Báo cáo vấn đề",
+ "open_source": "Mã nguồn mở",
+ "pending_restart": "Đang chờ khởi động lại",
+ "pending_update": "Cập nhật đang chờ",
+ "reinstall": "Cài đặt lại",
+ "report": "Báo cáo để loại bỏ",
+ "update_information": "Cập nhật thông tin"
+ },
"repository": {
"add_to_lovelace": "Thêm vào Lovelace",
- "authors": "Tác giả"
+ "authors": "Tác giả",
+ "available": "Có sẵn",
+ "back_to": "Quay lại",
+ "changelog": "Nhật ký thay đổi",
+ "downloads": "Tải xuống",
+ "flag_this": "Đánh dấu mục này",
+ "frontend_version": "Phiên bản Frontend",
+ "github_stars": "Số Sao trên GitHub",
+ "goto_integrations": "Đi đến Tích hợp",
+ "hide": "Ẩn",
+ "hide_beta": "Ẩn phiên bản beta",
+ "install": "Cài đặt",
+ "installed": "Đã cài đặt",
+ "lovelace_copy_example": "Sao chép ví dụ vào bộ nhớ tạm",
+ "lovelace_instruction": "Khi bạn thêm mục này vào cấu hình lovelace, sử dụng",
+ "lovelace_no_js_type": "Không thể xác định loại Bổ sung này, kiểm tra lại kho ứng dụng.",
+ "newest": "mới nhất",
+ "note_appdaemon": "bạn vẫn cần thêm vào tập tin 'apps.yaml'",
+ "note_installed": "Một khi được cài đặt, mục này sẽ nằm ở",
+ "note_integration": "bạn vẫn cần thêm vào tập tin 'configuration.yaml'",
+ "note_plugin": "bạn vẫn cần thêm vào cấu hình lovelace ('ui-lovelace.yaml' hoặc trình soạn thảo giao diện)",
+ "note_plugin_post_107": "bạn vẫn cần phải thêm nó vào cấu hình Lovelace ('configuration.yaml' hoặc trình biên tập tài nguyên '\/config\/Lovelace\/Resources ')",
+ "open_issue": "Báo cáo vấn đề",
+ "open_plugin": "Mở Bổ sung",
+ "reinstall": "Cài đặt lại",
+ "repository": "Kho ứng dụng",
+ "restart_home_assistant": "Khởi động lại Home Assistant",
+ "show_beta": "Hiển thị phiên bản beta",
+ "uninstall": "Gỡ cài đặt",
+ "update_information": "Cập nhật thông tin",
+ "upgrade": "Cập nhật"
+ },
+ "search": {
+ "placeholder": "Tìm kiếm kho lưu trữ"
+ },
+ "sections": {
+ "about": {
+ "description": "Hiển thị thông tin về HACS",
+ "title": "Thông tin"
+ },
+ "automation": {
+ "description": "Đây là nơi bạn tìm thấy python_scripts, ứng dụng AppDaemon và ứng dụng NetDaemon",
+ "title": "Tự động hóa"
+ },
+ "frontend": {
+ "description": "Đây là nơi bạn tìm thấy chủ đề, thẻ tùy chỉnh và các thành phần khác cho lovelace",
+ "title": "Frontend"
+ },
+ "integrations": {
+ "description": "Đây là nơi bạn tìm thấy tích hợp tùy chỉnh (custom_components)",
+ "title": "Tích Hợp"
+ },
+ "pending_repository_upgrade": "Bạn đang chạy phiên bản {installed}, phiên bản {available} có sẵn"
},
"settings": {
+ "add_custom_repository": "THÊM KHO ỨNG DỤNG TUỲ CHỈNH",
+ "adding_new_repo": "Thêm kho ứng dụng mới '{repo}'",
+ "adding_new_repo_category": "Với danh mục '{category}'",
+ "bg_task_custom": "Các kho ứng dụng tuỳ chỉnh bị ẩn khi tác vụ nền đang chạy.",
+ "category": "Danh mục",
"compact_mode": "Chế độ thu gọn",
+ "custom_repositories": "KHO ỨNG DỤNG TUỲ CHỈNH",
+ "delete": "Xoá",
+ "display": "Hiển thị",
+ "grid": "Lưới",
+ "hacs_repo": "Kho ứng dụng HACS",
"hidden_repositories": "các kho ứng dụng bị ẩn",
+ "missing_category": "Bạn cần chọn một danh mục",
+ "open_repository": "Mở Kho ứng dụng",
+ "reload_data": "Tải lại dữ liệu",
+ "reload_window": "Tải lại cửa sổ",
+ "repository_configuration": "Cấu hình Kho ứng dụng",
+ "save": "Lưu",
+ "table": "Bảng",
"table_view": "Xem dạng bảng",
- "unhide": "thôi ẩn"
+ "unhide": "thôi ẩn",
+ "upgrade_all": "Nâng cấp tất cả"
},
"store": {
+ "ascending": "tăng dần",
"clear_new": "Xoá tất cả kho ứng dụng mới",
+ "descending": "giảm dần",
+ "last_updated": "Cập nhật lần cuối",
"name": "Tên",
"new_repositories": "Kho ứng dụng Mới",
+ "new_repositories_note": "Bạn có hơn 10 kho chứa mới được hiển thị, nếu bạn muốn xoá tất cả thông báo này, bấm vào dấu 3 chấm ở góc trên bên phải rồi chọn Bỏ qua tất cả kho chứa mới.",
+ "no_repositories": "Không có kho lưu trữ",
+ "no_repositories_desc1": "Có vẻ như bạn chưa có bất kỳ kho lưu trữ nào được cài đặt trong phần này.",
+ "no_repositories_desc2": "Nhấp vào biểu tượng + ở góc dưới cùng để thêm mục mới đầu tiên của bạn!",
+ "no_repositories_found_desc1": "Không tìm thấy kho lưu trữ được cài đặt phù hợp với \"{searchInput}\" trong mục này.",
+ "no_repositories_found_desc2": "Thử tìm kiếm với từ khoá khác!",
+ "pending_upgrades": "Nâng cấp chờ xử lý",
+ "placeholder_search": "Vui lòng nhập cụm từ cần tìm",
"sort": "sắp xếp",
+ "stars": "Sao",
"status": "Trạng thái"
+ },
+ "time": {
+ "ago": "trước",
+ "day": "ngày",
+ "days": "ngày",
+ "hour": "giờ",
+ "hours": "giờ",
+ "minute": "phút",
+ "minutes": "phút",
+ "month": "tháng",
+ "months": "tháng",
+ "one": "Một",
+ "one_day_ago": "một ngày trước",
+ "one_hour_ago": "một giờ trước",
+ "one_minute_ago": "một phút trước",
+ "one_month_ago": "một tháng trước",
+ "one_second_ago": "một giây trước",
+ "one_year_ago": "một năm trước",
+ "second": "giây",
+ "seconds": "giây",
+ "x_days_ago": "{x} ngày trước",
+ "x_hours_ago": "{x} giờ trước",
+ "x_minutes_ago": "{x} phút trước",
+ "x_months_ago": "{x} tháng trước",
+ "x_seconds_ago": "{x} giây trước",
+ "x_years_ago": "{x} năm trước",
+ "year": "năm",
+ "years": "năm"
}
}
\ No newline at end of file
diff --git a/custom_components/hacs/translations/zh-Hans.json b/custom_components/hacs/translations/zh-Hans.json
index cbfabf0c..404ffa3b 100644
--- a/custom_components/hacs/translations/zh-Hans.json
+++ b/custom_components/hacs/translations/zh-Hans.json
@@ -1,25 +1,210 @@
{
+ "common": {
+ "about": "关于",
+ "add": "添加",
+ "appdaemon": "AppDaemon",
+ "appdaemon_apps": "AppDaemon应用",
+ "appdaemon_plural": "AppDaemon应用",
+ "background_task": "后台任务正在运行,完成后将重新加载此页面。",
+ "cancel": "取消",
+ "check_log_file": "请查看日志文件以了解更多信息。",
+ "continue": "继续",
+ "disabled": "禁用",
+ "documentation": "文档",
+ "element": "元素",
+ "hacs_is_disabled": "HACS已禁用",
+ "ignore": "忽略",
+ "install": "安装",
+ "installed": "已安装",
+ "integration": "集成",
+ "integration_plural": "集成",
+ "integrations": "集成",
+ "lovelace": "Lovelace",
+ "lovelace_element": "Lovelace元素",
+ "lovelace_elements": "Lovelace元素",
+ "manage": "管理",
+ "netdaemon": "NetDaemon应用",
+ "netdaemon_apps": "NetDaemon应用",
+ "netdaemon_plural": "NetDaemon应用",
+ "plugin": "Lovelace",
+ "plugin_plural": "Lovelace元素",
+ "plugins": "Lovelace元素",
+ "python_script": "Python脚本",
+ "python_script_plural": "Python脚本",
+ "python_scripts": "Python脚本",
+ "reload": "重新加载",
+ "repositories": "储存库数量",
+ "repository": "存储库",
+ "settings": "设置",
+ "theme": "主题",
+ "theme_plural": "主题",
+ "themes": "主题",
+ "uninstall": "卸载",
+ "update": "升级",
+ "version": "版本"
+ },
"config": {
"abort": {
"single_instance_allowed": "仅允许单个HACS配置。"
},
"error": {
+ "acc": "您需要先确认所有声明,然后才能继续",
"auth": "个人访问令牌不正确。"
},
"step": {
+ "device": {
+ "description": "Open {url} and paste this key `{code}` to authorize HACS, when you have done that click 'submit'",
+ "title": "HACS"
+ },
"user": {
- "description": "如果您需要有关配置的帮助,请在此处查看:https:\/\/hacs.xyz\/docs\/configuration\/start",
- "title": "[%key_id:28417459%]"
+ "data": {
+ "acc_addons": "I know that there are no add-ons in HACS",
+ "acc_disable": "I know that if I get issues with Home Assistant I should disable all my custom_components",
+ "acc_logs": "I know how to access Home Assistant logs",
+ "acc_untested": "I know that everything inside HACS is custom and untested by Home Assistant",
+ "appdaemon": "Enable AppDaemon apps discovery & tracking",
+ "netdaemon": "Enable NetDaemon apps discovery & tracking",
+ "python_script": "Enable python_scripts discovery & tracking",
+ "sidepanel_icon": "Side panel icon",
+ "sidepanel_title": "Side panel title",
+ "theme": "Enable Themes discovery & tracking",
+ "token": "GitHub Personal Access Token"
+ },
+ "description": "Before you can setup HACS you need to acknowledge the following",
+ "title": "HACS"
}
- }
+ },
+ "title": "HACS (Home Assistant Community Store)"
},
"confirm": {
"add_to_lovelace": "您确定要将此添加到Lovelace资源中吗?",
+ "bg_task": "后台任务正在运行时,操作被禁用。",
+ "cancel": "取消",
"continue": "你确定你要继续吗?",
"delete": "是否确实要删除\"{item}\"?",
+ "delete_installed": "已安装 '{item}',需要先将其卸载,然后才能将其删除。",
+ "exist": "{item}已经存在",
"generic": "你确定吗?",
+ "home_assistant_is_restarting": "请等待,Home Assistant现在正在重新启动。",
+ "home_assistant_version_not_correct": "您正在运行Home Assistant的版本为'{haversion}',但是这个需要安装最低版本是'{minversion}'。",
+ "no": "取消",
+ "no_upgrades": "暂无升级",
+ "ok": "确定",
"overwrite": "这样做会覆盖它。",
- "uninstall": "您确定要卸载 '{item}' 吗?"
+ "reload_data": "这将重新加载HACS知道的所有存储库的数据,这需要一些时间才能完成。",
+ "restart_home_assistant": "您确定要重新启动Home Assistant吗?",
+ "uninstall": "您确定要卸载 '{item}' 吗?",
+ "upgrade_all": "这将升级所有这些存储库,请确保在继续之前已阅读所有存储库的发行说明。",
+ "yes": "确定"
+ },
+ "dialog_about": {
+ "frontend_version": "前端版本",
+ "installed_repositories": "已安装的存储库",
+ "integration_version": "集成版本",
+ "useful_links": "有用的链接"
+ },
+ "dialog_add_repo": {
+ "limit": "仅显示前100个存储库,使用搜索过滤所需的内容",
+ "no_match": "找不到与您的过滤器匹配的存储库",
+ "sort_by": "排序方式",
+ "title": "添加存储库"
+ },
+ "dialog_custom_repositories": {
+ "category": "类别",
+ "no_category": "没有选择类别",
+ "no_repository": "存储库地址不能为空",
+ "title": "自定义存储库",
+ "url_placeholder": "添加自定义存储库URL"
+ },
+ "dialog_info": {
+ "author": "作者",
+ "downloads": "下载",
+ "install": "在HACS中安装此存储库",
+ "loading": "正在加载详细信息...",
+ "no_info": "开发人员尚未为此存储库提供任何更多信息",
+ "open_issues": "提交问题",
+ "open_repo": "打开存储库",
+ "stars": "星级",
+ "version_installed": "已安装版本"
+ },
+ "dialog_install": {
+ "restart": "请记住,在应用对集成(custom_components)所做的更改之前,您需要重新启动Home Assistant。",
+ "select_version": "选择版本",
+ "show_beta": "显示测试版",
+ "type": "Type",
+ "url": "URL"
+ },
+ "dialog_removed": {
+ "link": "外部链接以获取更多信息",
+ "name": "存储库名称",
+ "reason": "删除原因",
+ "type": "删除类型"
+ },
+ "dialog_update": {
+ "available_version": "可用版本",
+ "changelog": "更改日志",
+ "installed_version": "已安装版本",
+ "releasenotes": "更新日志{release}",
+ "title": "待更新"
+ },
+ "dialog": {
+ "reload": {
+ "confirm": "您现在要这样做吗?",
+ "description": "更改Lovelace资源时,您需要清除浏览器缓存。"
+ }
+ },
+ "entry": {
+ "information": "详情",
+ "intro": "如果有更新和重要消息,将在此处显示",
+ "messages": {
+ "disabled": {
+ "content": "请查看日志文件以了解更多信息",
+ "title": "HACS已禁用"
+ },
+ "has_pending_tasks": {
+ "content": "在完成此操作之前,某些存储库可能不会显示",
+ "title": "待处理的后台任务"
+ },
+ "removed": "删除了存储库“ {repository}”",
+ "resources": {
+ "content": "您有{number} 个Lovelace元素未正确加载到Lovelace中。",
+ "title": "未载入Lovelace"
+ },
+ "restart": {
+ "content": "您有{number}集成,需要重新启动Home Assistant,您可以从Home Assistant 的配置下的“服务器控制”部分执行此操作。",
+ "title": "待重启"
+ },
+ "setup": {
+ "content": "HACS正在配置,在此期间某些信息可能丢失或不正确",
+ "title": "HACS正在配置"
+ },
+ "startup": {
+ "content": "HACS正在启动,在此期间某些信息可能丢失或不正确",
+ "title": "HACS正在启动"
+ },
+ "waiting": {
+ "content": "HACS在开始启动任务之前正在等待Home Assistant完成启动",
+ "title": "HACS正在等待"
+ },
+ "wrong_frontend_installed": {
+ "content": "您已经安装了{running}的HACS前端,但是{expected}版本是{expected} ,如果看到此消息,则Home Assistant无法安装新版本,请尝试重新启动Home Assistant。",
+ "title": "额外的前端版本"
+ },
+ "wrong_frontend_loaded": {
+ "content": "您正在运行HACS前端的{running}版本,但是{expected}版本,您应该清除浏览器缓存。",
+ "title": "额外的前端版本"
+ }
+ },
+ "pending_updates": "待升级"
+ },
+ "menu": {
+ "about": "关于HACS",
+ "clear": "清除所有新标记",
+ "custom_repositories": "自定义存储库",
+ "dismiss": "忽略所有新的存储库",
+ "documentation": "文档",
+ "open_issue": "提交问题",
+ "reload": "重新加载窗口"
},
"options": {
"step": {
@@ -39,27 +224,160 @@
}
},
"repository_banner": {
+ "config_flow": "此组件支持config_flow,这意味着您现在可以转到UI的“集成”部分进行配置。",
+ "config_flow_title": "支持UI配置",
"integration_not_loaded": "此集成未加载到Home Assistant中。",
+ "no_restart_required": "无需重启",
"not_loaded": "未加载",
"plugin_not_loaded": "该元件未添加到您的Lovelace资源中。",
"restart": "您需要重新启动Home Assistant。",
"restart_pending": "重新启动待处理"
},
+ "repository_card": {
+ "dismiss": "忽略",
+ "hide": "隐藏",
+ "information": "详情",
+ "new_repository": "新存储库",
+ "not_loaded": "未加载",
+ "open_issue": "提交问题",
+ "open_source": "开源",
+ "pending_restart": "待重启",
+ "pending_update": "待升级",
+ "reinstall": "重新安装",
+ "report": "报告删除",
+ "update_information": "更新信息"
+ },
"repository": {
"add_to_lovelace": "添加到Lovelace",
- "authors": "作者"
+ "authors": "作者",
+ "available": "版本号",
+ "back_to": "返回",
+ "changelog": "更新日志",
+ "downloads": "下载",
+ "flag_this": "标记",
+ "frontend_version": "前端版本",
+ "github_stars": "GitHub星级",
+ "goto_integrations": "转到集成",
+ "hide": "隐藏",
+ "hide_beta": "隐藏测试版",
+ "install": "安装",
+ "installed": "已安装版本",
+ "lovelace_copy_example": "复制样例代码到你的剪贴板",
+ "lovelace_instruction": "您仍然需要将下列代码添加到lovelace配置中(“ ui-lovelace.yaml”或原始配置编辑器):",
+ "lovelace_no_js_type": "无法确定此元素的类型,请检查存储库。",
+ "newest": "最新",
+ "note_appdaemon": "您仍然需要将其添加到“ apps.yaml”文件中",
+ "note_installed": "安装后,它将位于",
+ "note_integration": "您仍然需要将其添加到“ configuration.yaml”文件中",
+ "note_plugin": "您仍然需要将其添加到lovelace配置中(“ ui-lovelace.yaml”或原始配置编辑器)ui-lovelace.yaml",
+ "note_plugin_post_107": "您仍然需要将其添加到lovelace配置中(“ configuration.yaml”或资源编辑器“\/config\/lovelace\/resources”)",
+ "open_issue": "提交问题",
+ "open_plugin": "打开元素",
+ "reinstall": "重新安装",
+ "repository": "存储库",
+ "restart_home_assistant": "重新启动Home Assistant",
+ "show_beta": "显示测试版",
+ "uninstall": "卸载",
+ "update_information": "更新信息",
+ "upgrade": "升级"
+ },
+ "search": {
+ "installed": "搜索已安装的存储库",
+ "installed_new": "搜索已安装或新的存储库",
+ "placeholder": "搜索存储库"
+ },
+ "sections": {
+ "about": {
+ "description": "显示有关HACS的信息",
+ "title": "关于"
+ },
+ "addon": {
+ "description": "HACS 中没有附加组件,但您可以单击此处联系管理员",
+ "title": "附加组件"
+ },
+ "automation": {
+ "description": "在这里可以找到python_scripts,AppDaemon应用程序和NetDaemon应用程序",
+ "title": "自动化"
+ },
+ "frontend": {
+ "description": "在这里,您可以找到主题,自定义卡片和其他用于lovelace的元素",
+ "title": "前端"
+ },
+ "integrations": {
+ "description": "在这里您可以找到自定义集成(custom_components)",
+ "title": "集成"
+ },
+ "pending_repository_upgrade": "您正在运行版本{installed} ,有新版 ({available}) 可用"
},
"settings": {
+ "add_custom_repository": "添加自定义存储库",
+ "adding_new_repo": "添加新的储存库 '{repo}'",
+ "adding_new_repo_category": "类别为 '{category}'。",
+ "bg_task_custom": "自定义存储库在后台任务运行时被隐藏。",
+ "category": "类别",
"compact_mode": "紧凑模式",
+ "custom_repositories": "自定义存储库",
+ "delete": "删除",
+ "display": "视图方式",
+ "grid": "网格",
+ "hacs_repo": "HACS存储库",
"hidden_repositories": "隐藏的存储库",
+ "missing_category": "您需要选择一个类别",
+ "open_repository": "打开存储库",
+ "reload_data": "重载数据",
+ "reload_window": "重新加载窗口",
+ "repository_configuration": "存储库配置",
+ "save": "保存",
+ "table": "列表",
"table_view": "表视图",
- "unhide": "取消隐藏"
+ "unhide": "取消隐藏",
+ "upgrade_all": "升级全部"
},
"store": {
+ "ascending": "升序",
"clear_new": "清除所有新存储库标记",
+ "descending": "降序",
+ "last_updated": "最近更新时间",
"name": "名称",
"new_repositories": "新存储库",
+ "new_repositories_note": "这里有多于10个新存储库,如果要清除它们,请单击右上角的3点按钮,然后将其全部忽略。",
+ "no_repositories": "没有储存库",
+ "no_repositories_desc1": "在本节中您似乎尚未安装任何存储库。",
+ "no_repositories_desc2": "单击右下角的+,添加第一个!",
+ "no_repositories_found_desc1": "在这里找不到与“ {searchInput} ”匹配的已安装存储库。",
+ "no_repositories_found_desc2": "尝试寻找其他东西!",
+ "pending_upgrades": "待升级",
+ "placeholder_search": "搜索项目...",
"sort": "排序",
+ "stars": "星级",
"status": "状态"
+ },
+ "time": {
+ "ago": "过去",
+ "day": "天",
+ "days": "天",
+ "hour": "小时",
+ "hours": "小时",
+ "minute": "分",
+ "minutes": "分",
+ "month": "月",
+ "months": "月",
+ "one": "一",
+ "one_day_ago": "一天前",
+ "one_hour_ago": "一个小时之前",
+ "one_minute_ago": "一分钟前",
+ "one_month_ago": "一个月前",
+ "one_second_ago": "一秒钟前",
+ "one_year_ago": "一年前",
+ "second": "秒",
+ "seconds": "秒",
+ "x_days_ago": "{x}天前",
+ "x_hours_ago": "{x}小时前",
+ "x_minutes_ago": "{x}分钟前",
+ "x_months_ago": "{x}个月前",
+ "x_seconds_ago": "{x}秒前",
+ "x_years_ago": "{x}年前",
+ "year": "年",
+ "years": "年"
}
}
\ No newline at end of file
diff --git a/custom_components/hacs/validate/__init__.py b/custom_components/hacs/validate/__init__.py
index f3e71333..42ec85ff 100644
--- a/custom_components/hacs/validate/__init__.py
+++ b/custom_components/hacs/validate/__init__.py
@@ -44,8 +44,8 @@ async def async_run_repository_checks(repository):
failed = len([x for x in checks if x.failed])
if failed != 0:
- repository.logger.error(f"{failed}/{total} checks failed")
+ repository.logger.error("%s %s/%s checks failed", repository, failed, total)
if hacs.system.action:
exit(1)
else:
- repository.logger.debug(f"All ({total}) checks passed")
+ repository.logger.debug("%s All (%s) checks passed", repository, total)
diff --git a/custom_components/hacs/webresponses/category.py b/custom_components/hacs/webresponses/category.py
index 5d0a423e..b8458c40 100644
--- a/custom_components/hacs/webresponses/category.py
+++ b/custom_components/hacs/webresponses/category.py
@@ -4,22 +4,19 @@
from custom_components.hacs.helpers.functions.path_exsist import async_path_exsist
from custom_components.hacs.share import get_hacs
+_LOGGER = getLogger()
-async def async_serve_category_file(requested_file):
+
+async def async_serve_category_file(request, requested_file):
hacs = get_hacs()
- logger = getLogger("web.category")
try:
if requested_file.startswith("themes/"):
- servefile = f"{hacs.system.config_path}/{requested_file}"
+ servefile = f"{hacs.core.config_path}/{requested_file}"
else:
- servefile = f"{hacs.system.config_path}/www/community/{requested_file}"
-
- # Serve .gz if it exist
- if await async_path_exsist(f"{servefile}.gz"):
- servefile += ".gz"
+ servefile = f"{hacs.core.config_path}/www/community/{requested_file}"
if await async_path_exsist(servefile):
- logger.debug(f"Serving {requested_file} from {servefile}")
+ _LOGGER.debug("Serving %s from %s", requested_file, servefile)
response = web.FileResponse(servefile)
if requested_file.startswith("themes/"):
response.headers["Cache-Control"] = "public, max-age=2678400"
@@ -28,11 +25,15 @@ async def async_serve_category_file(requested_file):
response.headers["Pragma"] = "no-store"
return response
else:
- logger.error(f"Tried to serve up '{servefile}' but it does not exist")
+ _LOGGER.error(
+ "%s tried to request '%s' but the file does not exist",
+ request.remote,
+ servefile,
+ )
except (Exception, BaseException) as exception:
- logger.debug(
- f"there was an issue trying to serve {requested_file} - {exception}"
+ _LOGGER.debug(
+ "there was an issue trying to serve %s - %s", requested_file, exception
)
return web.Response(status=404)
diff --git a/custom_components/hacs/webresponses/frontend.py b/custom_components/hacs/webresponses/frontend.py
index 9e477e30..3dfa2bd8 100644
--- a/custom_components/hacs/webresponses/frontend.py
+++ b/custom_components/hacs/webresponses/frontend.py
@@ -1,46 +1,42 @@
from aiohttp import web
-from hacs_frontend import locate_debug_gz, locate_gz
+from hacs_frontend import locate_dir
from custom_components.hacs.helpers.functions.logger import getLogger
from custom_components.hacs.helpers.functions.path_exsist import async_path_exsist
from custom_components.hacs.share import get_hacs
-logger = getLogger("web.frontend")
+_LOGGER = getLogger()
-async def async_serve_frontend():
+async def async_serve_frontend(requested_file):
hacs = get_hacs()
+ requested = requested_file.split("/")[-1]
servefile = None
dev = False
- if hacs.configuration.frontend_repo_url:
- dev = True
- elif hacs.configuration.frontend_repo:
+ if hacs.configuration.frontend_repo_url or hacs.configuration.frontend_repo:
dev = True
- if hacs.configuration.debug:
- logger.debug("Serving DEBUG frontend")
- servefile = locate_debug_gz()
-
- elif hacs.configuration.frontend_repo_url:
- logger.debug("Serving REMOTE DEVELOPMENT frontend")
+ if hacs.configuration.frontend_repo_url:
+ _LOGGER.debug("Serving REMOTE DEVELOPMENT frontend")
try:
request = await hacs.session.get(
- f"{hacs.configuration.frontend_repo_url}/main.js"
+ f"{hacs.configuration.frontend_repo_url}/{requested}"
)
if request.status == 200:
result = await request.read()
response = web.Response(body=result)
+ response.headers["Content-Type"] = "application/javascript"
return response
except (Exception, BaseException) as exception:
- logger.error(exception)
+ _LOGGER.error(exception)
elif hacs.configuration.frontend_repo:
- logger.debug("Serving LOCAL DEVELOPMENT frontend")
- servefile = f"{hacs.configuration.frontend_repo}/hacs_frontend/main.js"
+ _LOGGER.debug("Serving LOCAL DEVELOPMENT frontend")
+ servefile = f"{hacs.configuration.frontend_repo}/hacs_frontend/{requested}"
else:
- servefile = locate_gz()
+ servefile = f"{locate_dir()}/{requested}"
if servefile is None or not await async_path_exsist(servefile):
return web.Response(status=404)
@@ -48,6 +44,7 @@ async def async_serve_frontend():
response = web.FileResponse(servefile)
if dev:
+ response.headers["Content-Type"] = "application/javascript"
response.headers["Cache-Control"] = "no-store, max-age=0"
response.headers["Pragma"] = "no-store"
return response
diff --git a/custom_components/ltss/manifest.json b/custom_components/ltss/manifest.json
index c9c8415e..b02484e0 100644
--- a/custom_components/ltss/manifest.json
+++ b/custom_components/ltss/manifest.json
@@ -4,6 +4,7 @@
"documentation": "https://github.com/freol35241/ltss",
"requirements": [
"sqlalchemy",
+ "psycopg2",
"geoalchemy2"
],
"dependencies": [],
diff --git a/www/community/numberbox-card/numberbox-card.js b/www/community/numberbox-card/numberbox-card.js
index ec455105..895f6c97 100644
--- a/www/community/numberbox-card/numberbox-card.js
+++ b/www/community/numberbox-card/numberbox-card.js
@@ -1,6 +1,6 @@
((LitElement) => {
-console.info('NUMBERBOX_CARD 1.5');
+console.info('NUMBERBOX_CARD 1.6');
const html = LitElement.prototype.html;
const css = LitElement.prototype.css;
class NumberBox extends LitElement {
@@ -41,6 +41,7 @@ static get styles() {
font-size:var(--paper-font-subhead_-_font-size);
line-height:var(--paper-font-subhead_-_line-height);
font-weight:normal;margin:0}
+ .cur-unit{font-size:80%;opacity:0.5}
.nopad{padding:0px}
.grid {
display: grid;
@@ -75,9 +76,11 @@ shouldUpdate(changedProps) {
render() {
if(!this.stateObj){return html`