diff --git a/custom_components/shopping_list_manager/strings.json b/custom_components/shopping_list_manager/strings.json new file mode 100644 index 0000000..62771bc --- /dev/null +++ b/custom_components/shopping_list_manager/strings.json @@ -0,0 +1,33 @@ +{ + "config": { + "step": { + "user": { + "title": "Shopping List Manager", + "description": "Set up the Shopping List Manager integration. Country and other settings can be configured after setup via the Configure button." + } + }, + "abort": { + "single_instance_allowed": "Only a single instance of Shopping List Manager is allowed." + } + }, + "options": { + "step": { + "init": { + "title": "Shopping List Manager Options", + "description": "Changing country will reload the product catalog on next restart.", + "data": { + "country": "Country", + "enable_price_tracking": "Enable price tracking", + "enable_image_search": "Enable image search", + "metric_units_only": "Metric units only" + }, + "data_description": { + "country": "Used to localise product catalog and pricing.", + "enable_price_tracking": "Track and display product prices.", + "enable_image_search": "Search for product images automatically.", + "metric_units_only": "Show only metric units (g, kg, ml, L)." + } + } + } + } +} diff --git a/custom_components/shopping_list_manager/translations/de.json b/custom_components/shopping_list_manager/translations/de.json new file mode 100644 index 0000000..b8487cb --- /dev/null +++ b/custom_components/shopping_list_manager/translations/de.json @@ -0,0 +1,33 @@ +{ + "config": { + "step": { + "user": { + "title": "Shopping List Manager", + "description": "Richte die Shopping List Manager-Integration ein. Land und andere Einstellungen können nach der Einrichtung über die Schaltfläche Konfigurieren angepasst werden." + } + }, + "abort": { + "single_instance_allowed": "Es ist nur eine Instanz von Shopping List Manager erlaubt." + } + }, + "options": { + "step": { + "init": { + "title": "Shopping List Manager Optionen", + "description": "Das Ändern des Landes lädt den Produktkatalog beim nächsten Neustart neu.", + "data": { + "country": "Land", + "enable_price_tracking": "Preisverfolgung aktivieren", + "enable_image_search": "Bildsuche aktivieren", + "metric_units_only": "Nur metrische Einheiten" + }, + "data_description": { + "country": "Wird verwendet, um den Produktkatalog und die Preise zu lokalisieren.", + "enable_price_tracking": "Produktpreise verfolgen und anzeigen.", + "enable_image_search": "Automatisch nach Produktbildern suchen.", + "metric_units_only": "Nur metrische Einheiten anzeigen (g, kg, ml, L)." + } + } + } + } +} diff --git a/custom_components/shopping_list_manager/translations/es.json b/custom_components/shopping_list_manager/translations/es.json new file mode 100644 index 0000000..e5217f3 --- /dev/null +++ b/custom_components/shopping_list_manager/translations/es.json @@ -0,0 +1,33 @@ +{ + "config": { + "step": { + "user": { + "title": "Shopping List Manager", + "description": "Configura la integración de Shopping List Manager. El país y otros ajustes se pueden configurar después de la instalación mediante el botón Configurar." + } + }, + "abort": { + "single_instance_allowed": "Solo se permite una instancia de Shopping List Manager." + } + }, + "options": { + "step": { + "init": { + "title": "Opciones de Shopping List Manager", + "description": "Cambiar el país recargará el catálogo de productos en el próximo reinicio.", + "data": { + "country": "País", + "enable_price_tracking": "Activar seguimiento de precios", + "enable_image_search": "Activar búsqueda de imágenes", + "metric_units_only": "Solo unidades métricas" + }, + "data_description": { + "country": "Se utiliza para localizar el catálogo de productos y los precios.", + "enable_price_tracking": "Realizar un seguimiento y mostrar los precios de los productos.", + "enable_image_search": "Buscar imágenes de productos automáticamente.", + "metric_units_only": "Mostrar solo unidades métricas (g, kg, ml, L)." + } + } + } + } +} diff --git a/custom_components/shopping_list_manager/translations/fr.json b/custom_components/shopping_list_manager/translations/fr.json new file mode 100644 index 0000000..9704619 --- /dev/null +++ b/custom_components/shopping_list_manager/translations/fr.json @@ -0,0 +1,33 @@ +{ + "config": { + "step": { + "user": { + "title": "Shopping List Manager", + "description": "Configurez l'intégration Shopping List Manager. Le pays et les autres paramètres peuvent être configurés après l'installation via le bouton Configurer." + } + }, + "abort": { + "single_instance_allowed": "Une seule instance de Shopping List Manager est autorisée." + } + }, + "options": { + "step": { + "init": { + "title": "Options de Shopping List Manager", + "description": "Modifier le pays rechargera le catalogue de produits au prochain redémarrage.", + "data": { + "country": "Pays", + "enable_price_tracking": "Activer le suivi des prix", + "enable_image_search": "Activer la recherche d'images", + "metric_units_only": "Unités métriques uniquement" + }, + "data_description": { + "country": "Utilisé pour localiser le catalogue de produits et les prix.", + "enable_price_tracking": "Suivre et afficher les prix des produits.", + "enable_image_search": "Rechercher automatiquement des images de produits.", + "metric_units_only": "Afficher uniquement les unités métriques (g, kg, ml, L)." + } + } + } + } +} diff --git a/custom_components/shopping_list_manager/translations/it.json b/custom_components/shopping_list_manager/translations/it.json new file mode 100644 index 0000000..dc13e72 --- /dev/null +++ b/custom_components/shopping_list_manager/translations/it.json @@ -0,0 +1,33 @@ +{ + "config": { + "step": { + "user": { + "title": "Shopping List Manager", + "description": "Configura l'integrazione di Shopping List Manager. Il paese e le altre impostazioni possono essere configurati dopo l'installazione tramite il pulsante Configura." + } + }, + "abort": { + "single_instance_allowed": "È consentita solo un'istanza di Shopping List Manager." + } + }, + "options": { + "step": { + "init": { + "title": "Opzioni di Shopping List Manager", + "description": "La modifica del paese ricaricherà il catalogo dei prodotti al prossimo riavvio.", + "data": { + "country": "Paese", + "enable_price_tracking": "Attiva il monitoraggio dei prezzi", + "enable_image_search": "Attiva la ricerca di immagini", + "metric_units_only": "Solo unità metriche" + }, + "data_description": { + "country": "Utilizzato per localizzare il catalogo dei prodotti e i prezzi.", + "enable_price_tracking": "Tracciare e visualizzare i prezzi dei prodotti.", + "enable_image_search": "Cercare automaticamente le immagini dei prodotti.", + "metric_units_only": "Visualizzare solo unità metriche (g, kg, ml, L)." + } + } + } + } +} diff --git a/custom_components/shopping_list_manager/translations/pt.json b/custom_components/shopping_list_manager/translations/pt.json new file mode 100644 index 0000000..df71016 --- /dev/null +++ b/custom_components/shopping_list_manager/translations/pt.json @@ -0,0 +1,33 @@ +{ + "config": { + "step": { + "user": { + "title": "Shopping List Manager", + "description": "Configure a integração do Shopping List Manager. O país e outras configurações podem ser ajustados após a instalação através do botão Configurar." + } + }, + "abort": { + "single_instance_allowed": "Apenas uma instância do Shopping List Manager é permitida." + } + }, + "options": { + "step": { + "init": { + "title": "Opções do Shopping List Manager", + "description": "Alterar o país recarregará o catálogo de produtos no próximo reinício.", + "data": { + "country": "País", + "enable_price_tracking": "Ativar rastreamento de preços", + "enable_image_search": "Ativar pesquisa de imagens", + "metric_units_only": "Apenas unidades métricas" + }, + "data_description": { + "country": "Usado para localizar o catálogo de produtos e os preços.", + "enable_price_tracking": "Rastrear e exibir os preços dos produtos.", + "enable_image_search": "Pesquisar imagens de produtos automaticamente.", + "metric_units_only": "Exibir apenas unidades métricas (g, kg, ml, L)." + } + } + } + } +} diff --git a/custom_components/shopping_list_manager/websocket/handlers.py b/custom_components/shopping_list_manager/websocket/handlers.py index fff5aa6..f961d11 100644 --- a/custom_components/shopping_list_manager/websocket/handlers.py +++ b/custom_components/shopping_list_manager/websocket/handlers.py @@ -1218,6 +1218,8 @@ def websocket_get_integration_settings( } custom = storage.get_custom_regions() custom_names = {code: region["name"] for code, region in custom.items()} + entries = hass.config_entries.async_entries(DOMAIN) + options = entries[0].options if entries else {} connection.send_result( msg["id"], { @@ -1225,6 +1227,8 @@ def websocket_get_integration_settings( "version": version, "available_countries": {**built_in, **custom_names}, "custom_regions": custom, + "metric_units_only": options.get("metric_units_only", True), + "enable_price_tracking": options.get("enable_price_tracking", True), } )