diff --git a/color_picker/translations/en.json b/color_picker/translations/en.json index fd0eebe..96f7287 100644 --- a/color_picker/translations/en.json +++ b/color_picker/translations/en.json @@ -1,31 +1,48 @@ { - "color_picker": "Color Picker", - "no_color_picked": "No color picked yet.", - "recent_colors": "Recent Colors", - "opacity": "Opacity", - "no_history": "No colors in history yet.", "color_copied": "Color {color} copied.", "color_picked": "Color {color} picked.", - "hyprpicker_not_installed": "hyprpicker is not installed.", + "color_picker": "Color Picker", "could_not_parse": "could not parse hyprpicker output.", "glyph": "Glyph", "hex": "HEX", + "hyprpicker_not_installed": "hyprpicker is not installed.", + "no_color_picked": "No color picked yet.", + "no_history": "No colors in history yet.", + "opacity": "Opacity", + "recent_colors": "Recent Colors", "rgb": "RGB", - - "settings.hyprpicker_format.label": "Default Format", - "settings.hyprpicker_format.description": "Default color format to copy to clipboard (Hex or RGB).", - "settings.swatch_radius.label": "Swatches Corner Roundness", - "settings.swatch_radius.description": "Corner radius of the history swatches and current-color preview.", - "settings.hyprpicker_lowercase.label": "Lowercase Hex", - "settings.hyprpicker_lowercase.description": "Outputs the hexcode in lowercase.", - "settings.hyprpicker_scale.label": "Zoom Scale", - "settings.hyprpicker_scale.description": "Zoom lens magnification, from 1 to 10.", - "settings.hyprpicker_radius.label": "Zoom Radius", - "settings.hyprpicker_radius.description": "Zoom lens circle radius in pixels, from 1 to 1000.", - "settings.hyprpicker_no_zoom.label": "Disable Zoom Lens", - "settings.hyprpicker_no_zoom.description": "Turns off the magnifying zoom lens while picking.", - "settings.hyprpicker_disable_preview.label": "Disable Live Preview", - "settings.hyprpicker_disable_preview.description": "Turns off the live color preview while picking.", - "settings.hyprpicker_cursor.label": "Show cursor", - "settings.hyprpicker_cursor.description": "Includes the cursor in the frozen screen preview." -} \ No newline at end of file + "settings": { + "hyprpicker_cursor": { + "description": "Includes the cursor in the frozen screen preview.", + "label": "Show cursor" + }, + "hyprpicker_disable_preview": { + "description": "Turns off the live color preview while picking.", + "label": "Disable Live Preview" + }, + "hyprpicker_format": { + "description": "Default color format to copy to clipboard (Hex or RGB).", + "label": "Default Format" + }, + "hyprpicker_lowercase": { + "description": "Outputs the hexcode in lowercase.", + "label": "Lowercase Hex" + }, + "hyprpicker_no_zoom": { + "description": "Turns off the magnifying zoom lens while picking.", + "label": "Disable Zoom Lens" + }, + "hyprpicker_radius": { + "description": "Zoom lens circle radius in pixels, from 1 to 1000.", + "label": "Zoom Radius" + }, + "hyprpicker_scale": { + "description": "Zoom lens magnification, from 1 to 10.", + "label": "Zoom Scale" + }, + "swatch_radius": { + "description": "Corner radius of the history swatches and current-color preview.", + "label": "Swatches Corner Roundness" + } + } +} diff --git a/color_picker/translations/pt-BR.json b/color_picker/translations/pt-BR.json index dc85550..3b34248 100644 --- a/color_picker/translations/pt-BR.json +++ b/color_picker/translations/pt-BR.json @@ -1,31 +1,48 @@ { - "color_picker": "Seletor de Cores", - "no_color_picked": "Nenhuma cor escolhida ainda.", - "recent_colors": "Cores Recentes", - "opacity": "Opacidade", - "no_history": "Ainda não há cores no histórico.", "color_copied": "Cor {color} copiada.", "color_picked": "Cor {color} selecionada.", - "hyprpicker_not_installed": "hyprpicker não está instalado.", + "color_picker": "Seletor de Cores", "could_not_parse": "não foi possível extrair a saída do hyprpicker.", "glyph": "Símbolo", "hex": "HEX", + "hyprpicker_not_installed": "hyprpicker não está instalado.", + "no_color_picked": "Nenhuma cor escolhida ainda.", + "no_history": "Ainda não há cores no histórico.", + "opacity": "Opacidade", + "recent_colors": "Cores Recentes", "rgb": "RGB", - - "settings.hyprpicker_format.label": "Formato Padrão", - "settings.hyprpicker_format.description": "Formato de cor padrão para copiar para a área de transferência (Hex ou RGB).", - "settings.swatch_radius.label": "Arredondamento de Cantos das Amostras", - "settings.swatch_radius.description": "Raio dos cantos das amostras do histórico e da prévia da cor atual.", - "settings.hyprpicker_lowercase.label": "Hexadecimal em Minúsculas", - "settings.hyprpicker_lowercase.description": "Exibe o código hexadecimal em letras minúsculas.", - "settings.hyprpicker_scale.label": "Escala do Zoom", - "settings.hyprpicker_scale.description": "Ampliação da lupa, de 1 a 10.", - "settings.hyprpicker_radius.label": "Raio do Zoom", - "settings.hyprpicker_radius.description": "Raio do círculo da lupa em pixels, de 1 a 1000.", - "settings.hyprpicker_no_zoom.label": "Desabilitar Lupa", - "settings.hyprpicker_no_zoom.description": "Dpesativa a lupa ao selecionar a cor.", - "settings.hyprpicker_disable_preview.label": "Desabilitar Prévia em Tempo Real", - "settings.hyprpicker_disable_preview.description": "Desativa a prévia da cor em tempo real ao selecionar.", - "settings.hyprpicker_cursor.label": "Mostrar cursor", - "settings.hyprpicker_cursor.description": "Inclui o cursor na prévia congelada da tela." -} \ No newline at end of file + "settings": { + "hyprpicker_cursor": { + "description": "Inclui o cursor na prévia congelada da tela.", + "label": "Mostrar cursor" + }, + "hyprpicker_disable_preview": { + "description": "Desativa a prévia da cor em tempo real ao selecionar.", + "label": "Desabilitar Prévia em Tempo Real" + }, + "hyprpicker_format": { + "description": "Formato de cor padrão para copiar para a área de transferência (Hex ou RGB).", + "label": "Formato Padrão" + }, + "hyprpicker_lowercase": { + "description": "Exibe o código hexadecimal em letras minúsculas.", + "label": "Hexadecimal em Minúsculas" + }, + "hyprpicker_no_zoom": { + "description": "Dpesativa a lupa ao selecionar a cor.", + "label": "Desabilitar Lupa" + }, + "hyprpicker_radius": { + "description": "Raio do círculo da lupa em pixels, de 1 a 1000.", + "label": "Raio do Zoom" + }, + "hyprpicker_scale": { + "description": "Ampliação da lupa, de 1 a 10.", + "label": "Escala do Zoom" + }, + "swatch_radius": { + "description": "Raio dos cantos das amostras do histórico e da prévia da cor atual.", + "label": "Arredondamento de Cantos das Amostras" + } + } +} diff --git a/daily-wallpaper/translations/en.json b/daily-wallpaper/translations/en.json index 8d1260b..b6e215f 100644 --- a/daily-wallpaper/translations/en.json +++ b/daily-wallpaper/translations/en.json @@ -1,9 +1,19 @@ { - "notify.applied": "Wallpaper applied", - "notify.failed": "Daily wallpaper failed", - "settings.locale.description": "Bing market locale such as en-US, de-DE, or fr-FR. Empty uses en-US.", - "settings.locale.label": "Locale", - "settings.source.label": "Source", - "settings.source.options.bing": "Bing", - "settings.source.options.nasa": "NASA" + "notify": { + "applied": "Wallpaper applied", + "failed": "Daily wallpaper failed" + }, + "settings": { + "locale": { + "description": "Bing market locale such as en-US, de-DE, or fr-FR. Empty uses en-US.", + "label": "Locale" + }, + "source": { + "label": "Source", + "options": { + "bing": "Bing", + "nasa": "NASA" + } + } + } } diff --git a/dropwall/translations/en.json b/dropwall/translations/en.json index 18025db..4deb0c0 100644 --- a/dropwall/translations/en.json +++ b/dropwall/translations/en.json @@ -1,27 +1,41 @@ { - "title": "DropWall", - "settings.per_monitor.label": "Per-monitor drop", - "settings.per_monitor.description": "Set the wallpaper only on the monitor the image was dropped on. When off, apply it to every output.", - "settings.copy_to_wallpaper_dir.label": "Copy into wallpaper directory", - "settings.copy_to_wallpaper_dir.description": "Copy the dropped image into the system wallpaper directory before applying. Existing files are never replaced; a numeric suffix is added when needed.", - "settings.notify_on_set.label": "Notify on set", - "settings.notify_on_set.description": "Show a notification when a dropped image is applied.", - "settings.layer.label": "Drop surface layer", - "settings.layer.description": "Layer-shell layer for the invisible drop surface. \"Background\" is the least intrusive; use \"Bottom\" if drops don't register.", - "settings.layer.options.background": "Background", - "settings.layer.options.bottom": "Bottom", - "notify.set_title": "Wallpaper set", - "notify.invalid_title": "Not an image (jpg, png, webp, bmp, gif)", - "notify.missing_title": "Dropped file not found", - "notify.output_error_title": "Could not identify the target monitor", - "notify.helper_error_title": "DropWall helper error", - "notify.python_missing": "python3 is not available on PATH.", - "notify.plugin_dir_missing": "Noctalia did not provide the plugin directory.", - "notify.helper_file_missing": "The DropWall supervisor file is missing.", - "notify.helper_start_failed": "Noctalia could not open the helper stream.", - "notify.helper_busy": "Another DropWall helper is still running. The plugin will keep retrying.", - "notify.no_outputs": "The helper could not create a drop target for any output.", - "notify.copy_dir_title": "Wallpaper was not copied", - "notify.copy_dir_missing": "No wallpaper directory is configured; the original file will be used.", - "notify.copy_failed": "The safe copy failed; the original file will be used." + "notify": { + "copy_dir_missing": "No wallpaper directory is configured; the original file will be used.", + "copy_dir_title": "Wallpaper was not copied", + "copy_failed": "The safe copy failed; the original file will be used.", + "helper_busy": "Another DropWall helper is still running. The plugin will keep retrying.", + "helper_error_title": "DropWall helper error", + "helper_file_missing": "The DropWall supervisor file is missing.", + "helper_start_failed": "Noctalia could not open the helper stream.", + "invalid_title": "Not an image (jpg, png, webp, bmp, gif)", + "missing_title": "Dropped file not found", + "no_outputs": "The helper could not create a drop target for any output.", + "output_error_title": "Could not identify the target monitor", + "plugin_dir_missing": "Noctalia did not provide the plugin directory.", + "python_missing": "python3 is not available on PATH.", + "set_title": "Wallpaper set" + }, + "settings": { + "copy_to_wallpaper_dir": { + "description": "Copy the dropped image into the system wallpaper directory before applying. Existing files are never replaced; a numeric suffix is added when needed.", + "label": "Copy into wallpaper directory" + }, + "layer": { + "description": "Layer-shell layer for the invisible drop surface. \"Background\" is the least intrusive; use \"Bottom\" if drops don't register.", + "label": "Drop surface layer", + "options": { + "background": "Background", + "bottom": "Bottom" + } + }, + "notify_on_set": { + "description": "Show a notification when a dropped image is applied.", + "label": "Notify on set" + }, + "per_monitor": { + "description": "Set the wallpaper only on the monitor the image was dropped on. When off, apply it to every output.", + "label": "Per-monitor drop" + } + }, + "title": "DropWall" } diff --git a/file-search/translations/en.json b/file-search/translations/en.json index 99d3f5b..82f2aa8 100644 --- a/file-search/translations/en.json +++ b/file-search/translations/en.json @@ -1,30 +1,44 @@ { - "title": "File Search", - "tooltip_open": "File search open — {path}\nClick to close", - "tooltip_closed": "File search — {path}\nClick to search · right-click: folder · middle-click: copy path", "copied_path": "Search folder path copied to clipboard", - "search_placeholder": "Type to search files and folders…", - "status_indexing": "Indexing {path}…", - "no_results": "No matches for \"{query}\"", "counts": "{shown} shown · {total} indexed", + "err_bad_record": "Ignored an invalid index record — rebuild the index", "err_index": "Failed to index the search folder", "err_no_fzf": "fzf not found — install fzf to use this plugin", "err_spawn": "Could not run the search command", - "err_bad_record": "Ignored an invalid index record — rebuild the index", - "tip_refresh": "Rebuild the file index", + "launcher": { + "indexing": "Indexing files…", + "no_results": "No matches", + "reindex_done": "Search index dropped — it rebuilds on the next search", + "reindex_title": "Rebuild search index" + }, + "no_results": "No matches for \"{query}\"", + "search_placeholder": "Type to search files and folders…", + "settings": { + "exclude_dirs": { + "description": "Folder names skipped while indexing, separated by ',' or ';' (matched anywhere in the tree), e.g. '.git, node_modules, .cache'.", + "label": "Excluded folders" + }, + "glyph": { + "description": "Icon shown on the bar.", + "label": "Glyph" + }, + "max_results": { + "description": "How many matches the panel lists at most.", + "label": "Max results" + }, + "search_folder": { + "description": "Root folder the search indexes. Defaults to your home folder when empty.", + "label": "Search folder" + }, + "show_hidden": { + "description": "Index files and folders whose name starts with a dot.", + "label": "Include hidden entries" + } + }, + "status_indexing": "Indexing {path}…", "tip_close": "Close", - "launcher.indexing": "Indexing files…", - "launcher.no_results": "No matches", - "launcher.reindex_title": "Rebuild search index", - "launcher.reindex_done": "Search index dropped — it rebuilds on the next search", - "settings.search_folder.label": "Search folder", - "settings.search_folder.description": "Root folder the search indexes. Defaults to your home folder when empty.", - "settings.exclude_dirs.label": "Excluded folders", - "settings.exclude_dirs.description": "Folder names skipped while indexing, separated by ',' or ';' (matched anywhere in the tree), e.g. '.git, node_modules, .cache'.", - "settings.show_hidden.label": "Include hidden entries", - "settings.show_hidden.description": "Index files and folders whose name starts with a dot.", - "settings.max_results.label": "Max results", - "settings.max_results.description": "How many matches the panel lists at most.", - "settings.glyph.label": "Glyph", - "settings.glyph.description": "Icon shown on the bar." + "tip_refresh": "Rebuild the file index", + "title": "File Search", + "tooltip_closed": "File search — {path}\nClick to search · right-click: folder · middle-click: copy path", + "tooltip_open": "File search open — {path}\nClick to close" } diff --git a/hassio/translations/en.json b/hassio/translations/en.json index 9715269..e7b6e7d 100644 --- a/hassio/translations/en.json +++ b/hassio/translations/en.json @@ -1,63 +1,71 @@ { - "widget": { - "status_connected": "Connected", - "status_disconnected": "Disconnected", - "status_connecting": "Connecting", - "status_auth_failed": "Auth Failed", - "status_unconfigured": "Not Configured", - "tooltip": "Home Assistant: {status}", - "tooltip_entities": "Home Assistant: {status} ({count} entities)", - "refreshing_connection": "Refreshing connection…" - }, - "shortcut": { - "title": "Home Assistant", - "panel_label": "Entity Manager", - "label_1": "Quick Toggle 1", - "label_2": "Quick Toggle 2", - "label_3": "Quick Toggle 3", - "label_4": "Quick Toggle 4" - }, - "panel": { - "manage_entities_title": "Manage Entities", - "search_placeholder": "Search entities…", - "not_configured": "Not configured. Set your Home Assistant URL and token in settings.", - "auth_failed": "Authentication failed. Check your access token.", - "connecting": "Connecting…", - "disconnected_reconnecting": "Disconnected. Reconnecting…", - "no_entities_monitored": "No entities monitored yet. Use the browser to add some.", - "status_fallback": "Status: {status}", - "loading_entities": "Loading entities…", - "no_entities_found": "No entities found", - "no_entities_match": "No entities match your search", - "state_on_brightness": "On · {percent}%", - "brightness": "Brightness", - "color_temp": "Color Temperature", - "hue": "Hue", - "save_failed": "Failed to save monitored entities", - "save_failed_no_data_dir": "Could not save: plugin data directory unavailable" - }, - "settings": { - "url": { - "label": "Home Assistant URL", - "description": "The URL to your Home Assistant instance (e.g., http://homeassistant.local:8123)" - }, - "token": { - "label": "Long-Lived Access Token", - "description": "Create a token in Home Assistant under Profile → Security → Long-lived access tokens" - }, - "shortcut_entity": { - "description": "Home Assistant entity ID to show and toggle on this tile (e.g. light.living_room)." - }, - "shortcut_entity_1": { "label": "Quick Toggle 1 - Entity ID" }, - "shortcut_entity_2": { "label": "Quick Toggle 2 - Entity ID" }, - "shortcut_entity_3": { "label": "Quick Toggle 3 - Entity ID" }, - "shortcut_entity_4": { "label": "Quick Toggle 4 - Entity ID" }, - "show_entity_count": { - "label": "Show entity count in widget" - } - }, "notifications": { "auth_failed": "Authentication failed. Check your access token.", "reconnect_failed": "Unable to reconnect to Home Assistant after {count} attempts." + }, + "panel": { + "auth_failed": "Authentication failed. Check your access token.", + "brightness": "Brightness", + "color_temp": "Color Temperature", + "connecting": "Connecting…", + "disconnected_reconnecting": "Disconnected. Reconnecting…", + "hue": "Hue", + "loading_entities": "Loading entities…", + "manage_entities_title": "Manage Entities", + "no_entities_found": "No entities found", + "no_entities_match": "No entities match your search", + "no_entities_monitored": "No entities monitored yet. Use the browser to add some.", + "not_configured": "Not configured. Set your Home Assistant URL and token in settings.", + "save_failed": "Failed to save monitored entities", + "save_failed_no_data_dir": "Could not save: plugin data directory unavailable", + "search_placeholder": "Search entities…", + "state_on_brightness": "On · {percent}%", + "status_fallback": "Status: {status}" + }, + "settings": { + "shortcut_entity": { + "description": "Home Assistant entity ID to show and toggle on this tile (e.g. light.living_room)." + }, + "shortcut_entity_1": { + "label": "Quick Toggle 1 - Entity ID" + }, + "shortcut_entity_2": { + "label": "Quick Toggle 2 - Entity ID" + }, + "shortcut_entity_3": { + "label": "Quick Toggle 3 - Entity ID" + }, + "shortcut_entity_4": { + "label": "Quick Toggle 4 - Entity ID" + }, + "show_entity_count": { + "label": "Show entity count in widget" + }, + "token": { + "description": "Create a token in Home Assistant under Profile → Security → Long-lived access tokens", + "label": "Long-Lived Access Token" + }, + "url": { + "description": "The URL to your Home Assistant instance (e.g., http://homeassistant.local:8123)", + "label": "Home Assistant URL" + } + }, + "shortcut": { + "label_1": "Quick Toggle 1", + "label_2": "Quick Toggle 2", + "label_3": "Quick Toggle 3", + "label_4": "Quick Toggle 4", + "panel_label": "Entity Manager", + "title": "Home Assistant" + }, + "widget": { + "refreshing_connection": "Refreshing connection…", + "status_auth_failed": "Auth Failed", + "status_connected": "Connected", + "status_connecting": "Connecting", + "status_disconnected": "Disconnected", + "status_unconfigured": "Not Configured", + "tooltip": "Home Assistant: {status}", + "tooltip_entities": "Home Assistant: {status} ({count} entities)" } } diff --git a/hassio/translations/pt-BR.json b/hassio/translations/pt-BR.json index 311592e..d5ef560 100644 --- a/hassio/translations/pt-BR.json +++ b/hassio/translations/pt-BR.json @@ -1,63 +1,71 @@ { - "widget": { - "status_connected": "Conectado", - "status_disconnected": "Desconectado", - "status_connecting": "Conectando", - "status_auth_failed": "Falha de Autenticação", - "status_unconfigured": "Não Configurado", - "tooltip": "Home Assistant: {status}", - "tooltip_entities": "Home Assistant: {status} ({count} entidades)", - "refreshing_connection": "Atualizando conexão…" - }, - "shortcut": { - "title": "Home Assistant", - "panel_label": "Gerenciador de Entidades", - "label_1": "Botão Rápido 1", - "label_2": "Botão Rápido 2", - "label_3": "Botão Rápido 3", - "label_4": "Botão Rápido 4" - }, - "panel": { - "manage_entities_title": "Gerenciar Entidades", - "search_placeholder": "Buscar entidades…", - "not_configured": "Não configurado. Defina a URL e o token do Home Assistant nas configurações.", - "auth_failed": "Falha na autenticação. Verifique seu token de acesso.", - "connecting": "Conectando…", - "disconnected_reconnecting": "Desconectado. Reconectando…", - "no_entities_monitored": "Nenhuma entidade monitorada ainda. Use o navegador para adicionar.", - "status_fallback": "Status: {status}", - "loading_entities": "Carregando entidades…", - "no_entities_found": "Nenhuma entidade encontrada", - "no_entities_match": "Nenhuma entidade corresponde à sua busca", - "state_on_brightness": "Ligado · {percent}%", - "brightness": "Brilho", - "color_temp": "Temperatura de Cor", - "hue": "Matiz", - "save_failed": "Falha ao salvar as entidades monitoradas", - "save_failed_no_data_dir": "Não foi possível salvar: diretório de dados do plugin indisponível" - }, - "settings": { - "url": { - "label": "URL do Home Assistant", - "description": "A URL para sua instância do Home Assistant (e.g., http://homeassistant.local:8123)" - }, - "token": { - "label": "Token de Acesso Longo", - "description": "Crie um token no Home Assistant em Profile → Security → Long-lived access tokens" - }, - "shortcut_entity": { - "description": "ID da entidade do Home Assistant para mostrar e alternar neste espaço (e.g. light.living_room)." - }, - "shortcut_entity_1": { "label": "Botão Rápido 1 - ID da Entidade" }, - "shortcut_entity_2": { "label": "Botão Rápido 2 - ID da Entidade" }, - "shortcut_entity_3": { "label": "Botão Rápido 3 - ID da Entidade" }, - "shortcut_entity_4": { "label": "Botão Rápido 4 - ID da Entidade" }, - "show_entity_count": { - "label": "Mostrar o Número de Entidades" - } - }, "notifications": { "auth_failed": "Falha na autenticação. Verifique seu token de acesso.", "reconnect_failed": "Não foi possível reconectar ao Home Assistant após {count} tentativas." + }, + "panel": { + "auth_failed": "Falha na autenticação. Verifique seu token de acesso.", + "brightness": "Brilho", + "color_temp": "Temperatura de Cor", + "connecting": "Conectando…", + "disconnected_reconnecting": "Desconectado. Reconectando…", + "hue": "Matiz", + "loading_entities": "Carregando entidades…", + "manage_entities_title": "Gerenciar Entidades", + "no_entities_found": "Nenhuma entidade encontrada", + "no_entities_match": "Nenhuma entidade corresponde à sua busca", + "no_entities_monitored": "Nenhuma entidade monitorada ainda. Use o navegador para adicionar.", + "not_configured": "Não configurado. Defina a URL e o token do Home Assistant nas configurações.", + "save_failed": "Falha ao salvar as entidades monitoradas", + "save_failed_no_data_dir": "Não foi possível salvar: diretório de dados do plugin indisponível", + "search_placeholder": "Buscar entidades…", + "state_on_brightness": "Ligado · {percent}%", + "status_fallback": "Status: {status}" + }, + "settings": { + "shortcut_entity": { + "description": "ID da entidade do Home Assistant para mostrar e alternar neste espaço (e.g. light.living_room)." + }, + "shortcut_entity_1": { + "label": "Botão Rápido 1 - ID da Entidade" + }, + "shortcut_entity_2": { + "label": "Botão Rápido 2 - ID da Entidade" + }, + "shortcut_entity_3": { + "label": "Botão Rápido 3 - ID da Entidade" + }, + "shortcut_entity_4": { + "label": "Botão Rápido 4 - ID da Entidade" + }, + "show_entity_count": { + "label": "Mostrar o Número de Entidades" + }, + "token": { + "description": "Crie um token no Home Assistant em Profile → Security → Long-lived access tokens", + "label": "Token de Acesso Longo" + }, + "url": { + "description": "A URL para sua instância do Home Assistant (e.g., http://homeassistant.local:8123)", + "label": "URL do Home Assistant" + } + }, + "shortcut": { + "label_1": "Botão Rápido 1", + "label_2": "Botão Rápido 2", + "label_3": "Botão Rápido 3", + "label_4": "Botão Rápido 4", + "panel_label": "Gerenciador de Entidades", + "title": "Home Assistant" + }, + "widget": { + "refreshing_connection": "Atualizando conexão…", + "status_auth_failed": "Falha de Autenticação", + "status_connected": "Conectado", + "status_connecting": "Conectando", + "status_disconnected": "Desconectado", + "status_unconfigured": "Não Configurado", + "tooltip": "Home Assistant: {status}", + "tooltip_entities": "Home Assistant: {status} ({count} entidades)" } } diff --git a/ideapad-conservation-mode/translations/en.json b/ideapad-conservation-mode/translations/en.json index 1dd0538..b881c93 100644 --- a/ideapad-conservation-mode/translations/en.json +++ b/ideapad-conservation-mode/translations/en.json @@ -1,19 +1,19 @@ { - "title": "Conservation Mode", - "shortcut": { - "on": "Conservation On", - "off": "Conservation Off", - "na": "Conservation N/A" - }, - "notify": { - "enabled": "Enabled - charging capped for battery health.", - "disabled": "Disabled - charging to 100%.", - "setup_needed": "One-time setup needed - check the terminal window that just opened." - }, "error": { "device_not_found": "Could not find the ideapad_acpi conservation_mode sysfs file on this machine.", "read_failed": "Could not read the current conservation_mode state.", "write_failed": "Failed to write conservation_mode ({error}) and could not locate the plugin directory to run setup.", "write_failed_manual": "Failed to write conservation_mode ({error}). Run scripts/setup-permissions.sh with sudo manually, then log out and back in." - } + }, + "notify": { + "disabled": "Disabled - charging to 100%.", + "enabled": "Enabled - charging capped for battery health.", + "setup_needed": "One-time setup needed - check the terminal window that just opened." + }, + "shortcut": { + "na": "Conservation N/A", + "off": "Conservation Off", + "on": "Conservation On" + }, + "title": "Conservation Mode" } diff --git a/iio_lock/translations/en.json b/iio_lock/translations/en.json index 6d4f88c..b3762e1 100644 --- a/iio_lock/translations/en.json +++ b/iio_lock/translations/en.json @@ -1,29 +1,45 @@ { - "settings.iio.label": "IIO Tool", - "settings.iio.description": "Executable used to control orientation", - "settings.iio.options.sway":"iio-sway", - "settings.iio.options.hyprland":"iio-hyprland", - - "settings.transform.label": "Transform Order", - "settings.transform.description":"Rotation values for Up, Left, Down, Right.", - - "settings.wm.label": "Window Manager", - "settings.wm.description": "Choose the window manager backend.", - "settings.wm.options.sway":"Sway", - "settings.wm.options.hyprland":"Hyprland", - - - "settings.glyph.locked.label": "Locked Glyph", - "settings.glyph.locked.description": "Icon displayed when the device is locked.", - - "settings.glyph.unlocked.label": "Unlocked Glyph", - "settings.glyph.unlocked.description": "Icon displayed when the device is unlocked.", - - - "panel.title": "iio-lock", - "panel.lock": "Toggle Lock", - - "widget.locked": "Locked", - "widget.unlocked": "Unlocked", - "toggle.description": "Toggle orientation lock" + "panel": { + "lock": "Toggle Lock", + "title": "iio-lock" + }, + "settings": { + "glyph": { + "locked": { + "description": "Icon displayed when the device is locked.", + "label": "Locked Glyph" + }, + "unlocked": { + "description": "Icon displayed when the device is unlocked.", + "label": "Unlocked Glyph" + } + }, + "iio": { + "description": "Executable used to control orientation", + "label": "IIO Tool", + "options": { + "hyprland": "iio-hyprland", + "sway": "iio-sway" + } + }, + "transform": { + "description": "Rotation values for Up, Left, Down, Right.", + "label": "Transform Order" + }, + "wm": { + "description": "Choose the window manager backend.", + "label": "Window Manager", + "options": { + "hyprland": "Hyprland", + "sway": "Sway" + } + } + }, + "toggle": { + "description": "Toggle orientation lock" + }, + "widget": { + "locked": "Locked", + "unlocked": "Unlocked" + } } diff --git a/lyrics/translations/en.json b/lyrics/translations/en.json index ed3f66c..e62e25b 100644 --- a/lyrics/translations/en.json +++ b/lyrics/translations/en.json @@ -1,113 +1,113 @@ { - "title": "Lyrics", - "no_lyrics": "♪ No lyrics available", - "intro": "Intro", "instrumental": "Instrumental", + "intro": "Intro", + "no_lyrics": "♪ No lyrics available", "settings": { - "player_allowlist": { - "label": "Allowed players", - "description": "Only use matching MPRIS player names or instances. Supports * wildcards; leave empty to allow all players." + "active_color": { + "description": "Color used for the current and already-sung lyric characters. Defaults to the interface text color.", + "label": "Active lyric color" }, - "player_blocklist": { - "label": "Blocked players", - "description": "Ignore matching MPRIS player names or instances. Supports * wildcards and takes priority over the allowlist." + "animation": { + "description": "How lyrics animate on line change.", + "label": "Animation", + "options": { + "cascade": "Character cascade", + "fade": "Fade only", + "karaoke": "Karaoke gradient + fade", + "none": "No animation", + "wave": "Character wave reveal" + } + }, + "char_width": { + "description": "Approximate pixel width per character, used to fix the widget width and clip scrolling.", + "label": "Character width (px)" + }, + "cue_font_family": { + "description": "Installed font family used only for intro and interlude characters in custom-font mode.", + "label": "Intro/interlude font" + }, + "cue_font_mode": { + "description": "Choose whether intro and interlude characters follow Noctalia's interface font or use another installed font.", + "label": "Intro/interlude font mode", + "options": { + "custom": "Custom font", + "follow": "Follow interface font" + } + }, + "cue_text": { + "description": "Text or characters highlighted during intros and interludes.", + "label": "Intro/interlude characters" + }, + "custom_json_field": { + "description": "Lyrics field in a JSON response, with dotted paths such as data.lyric. Leave empty for plain LRC.", + "label": "JSON lyrics field" + }, + "custom_url": { + "description": "Supports {title}, {artist}, {album}, and {duration} placeholders. Text responses may contain LRC directly.", + "label": "Custom endpoint URL" }, "glyph": { "label": "Glyph" }, - "show_artist": { - "label": "Show artist" + "gradient": { + "description": "Light up each character as the song progresses (karaoke style).", + "label": "Per-character gradient" }, "hide_when_paused": { "label": "Hide when paused" }, - "show_cover": { - "label": "Show album cover", - "description": "Display the song's album art next to the lyrics." - }, - "active_color": { - "label": "Active lyric color", - "description": "Color used for the current and already-sung lyric characters. Defaults to the interface text color." - }, "inactive_color": { - "label": "Inactive lyric color", - "description": "Color used for upcoming lyrics, paused playback, and secondary lines." + "description": "Color used for upcoming lyrics, paused playback, and secondary lines.", + "label": "Inactive lyric color" }, "lyrics_source": { - "label": "Lyrics source", "description": "Choose a preset source, local-player lyrics, a custom endpoint, or external push protocol.", + "label": "Lyrics source", "options": { "auto": "Automatic fallback", - "lrclib": "LRCLIB", - "netease": "NetEase Music (public API)", - "mpris": "Local player (MPRIS)", "custom": "Custom HTTP endpoint", - "external": "External IPC push" + "external": "External IPC push", + "lrclib": "LRCLIB", + "mpris": "Local player (MPRIS)", + "netease": "NetEase Music (public API)" } }, - "custom_url": { - "label": "Custom endpoint URL", - "description": "Supports {title}, {artist}, {album}, and {duration} placeholders. Text responses may contain LRC directly." + "marquee_speed": { + "description": "Pixels per second for long-line scrolling.", + "label": "Marquee speed" }, - "custom_json_field": { - "label": "JSON lyrics field", - "description": "Lyrics field in a JSON response, with dotted paths such as data.lyric. Leave empty for plain LRC." + "max_chars": { + "description": "Visible width before a long lyric line scrolls (marquee).", + "label": "Max characters" }, - "cue_text": { - "label": "Intro/interlude characters", - "description": "Text or characters highlighted during intros and interludes." + "max_lines": { + "description": "Maximum lyric lines to show at once.", + "label": "Max lines" }, - "cue_font_mode": { - "label": "Intro/interlude font mode", - "description": "Choose whether intro and interlude characters follow Noctalia's interface font or use another installed font.", - "options": { - "follow": "Follow interface font", - "custom": "Custom font" - } + "player_allowlist": { + "description": "Only use matching MPRIS player names or instances. Supports * wildcards; leave empty to allow all players.", + "label": "Allowed players" }, - "cue_font_family": { - "label": "Intro/interlude font", - "description": "Installed font family used only for intro and interlude characters in custom-font mode." + "player_blocklist": { + "description": "Ignore matching MPRIS player names or instances. Supports * wildcards and takes priority over the allowlist.", + "label": "Blocked players" }, "scroll_mode": { - "label": "Scroll mode", "description": "How lyrics scroll in the bar.", + "label": "Scroll mode", "options": { "auto": "Auto (synced)", "marquee": "Marquee", "static": "Static" } }, - "marquee_speed": { - "label": "Marquee speed", - "description": "Pixels per second for long-line scrolling." + "show_artist": { + "label": "Show artist" }, - "max_lines": { - "label": "Max lines", - "description": "Maximum lyric lines to show at once." - }, - "gradient": { - "label": "Per-character gradient", - "description": "Light up each character as the song progresses (karaoke style)." - }, - "animation": { - "label": "Animation", - "description": "How lyrics animate on line change.", - "options": { - "karaoke": "Karaoke gradient + fade", - "cascade": "Character cascade", - "wave": "Character wave reveal", - "fade": "Fade only", - "none": "No animation" - } - }, - "max_chars": { - "label": "Max characters", - "description": "Visible width before a long lyric line scrolls (marquee)." - }, - "char_width": { - "label": "Character width (px)", - "description": "Approximate pixel width per character, used to fix the widget width and clip scrolling." + "show_cover": { + "description": "Display the song's album art next to the lyrics.", + "label": "Show album cover" } - } + }, + "title": "Lyrics" } diff --git a/mangowm-keymode/translations/en.json b/mangowm-keymode/translations/en.json index 79cd194..7af21f0 100644 --- a/mangowm-keymode/translations/en.json +++ b/mangowm-keymode/translations/en.json @@ -1,5 +1,13 @@ { - "settings.show_text.label": "Show text on bar", - "settings.notify_change.label": "Notify change", - "settings.hide_on_default.label": "Hide on default keymode" + "settings": { + "hide_on_default": { + "label": "Hide on default keymode" + }, + "notify_change": { + "label": "Notify change" + }, + "show_text": { + "label": "Show text on bar" + } + } } diff --git a/mini-docker/translations/en.json b/mini-docker/translations/en.json index 16ab6a2..6173b39 100644 --- a/mini-docker/translations/en.json +++ b/mini-docker/translations/en.json @@ -1,116 +1,116 @@ { - "title": "Mini Docker", - "widget": { - "running": "Running containers: {count}", - "unavailable": "Docker is not available", - "refresh_requested": "Docker refresh requested" - }, - "settings": { - "refresh_interval": { - "label": "Refresh interval", - "description": "How often Mini Docker refreshes Docker state, in seconds." - }, - "default_network": { - "label": "Default network", - "description": "Network selected when running an image." - }, - "show_count": { - "label": "Show running count", - "description": "Show the number of running containers beside the Docker icon." - }, - "glyph_color": { - "label": "Icon color", - "description": "Theme color used by the Docker icon." - }, - "status_mode": { - "label": "Status indicator", - "description": "Choose when the status dot is visible.", - "options": { - "always": "Always", - "running_only": "Only while containers are running", - "hidden": "Hidden" - } - }, - "active_color": { - "label": "Active indicator color", - "description": "Color used when at least one container is running." - }, - "inactive_color": { - "label": "Inactive indicator color", - "description": "Color used when no containers are running." - } + "actions": { + "cancel": "Cancel", + "close": "Close", + "refresh": "Refresh", + "remove": "Remove", + "restart": "Restart", + "run": "Run", + "select": "Select", + "start": "Start", + "stop": "Stop" }, "colors": { "default": "Default", + "error": "Error", + "muted": "Muted", "primary": "Primary", "secondary": "Secondary", - "tertiary": "Tertiary", "success": "Success", - "error": "Error", - "muted": "Muted" + "tertiary": "Tertiary" + }, + "details": { + "created": "Created: {value}", + "driver": "Driver: {value}", + "id": "ID: {value}", + "image": "Image: {value}", + "mountpoint": "Mountpoint: {value}", + "ports": "Ports: {value}", + "scope": "Scope: {value}", + "size": "Size: {value}", + "status": "Status: {value}" + }, + "panel": { + "busy": "Docker command in progress…", + "default_network": "Built-in network", + "image_in_use": "Used by a container", + "image_unused": "Not used by a container", + "loading": "Loading Docker state…", + "no_containers": "No containers found.", + "no_images": "No images found.", + "no_networks": "No networks found.", + "no_volumes": "No volumes found.", + "select_hint": "Select an item to see available actions.", + "showing_limit": "Showing the first {count} items.", + "updated": "Last updated: {time}" + }, + "result": { + "command_busy": "Another Docker command is still running.", + "docker_missing": "The Docker CLI is not installed.", + "docker_unreachable": "Could not reach the Docker daemon.", + "failed": "Docker command failed: {error}", + "success": "Docker command completed." + }, + "run_form": { + "container_name": "Container name (optional)", + "container_name_placeholder": "my-container", + "environment": "Environment variables", + "environment_help": "Enter one KEY=value pair per line.", + "environment_placeholder": "KEY=value\nANOTHER_KEY=value", + "invalid_environment": "Invalid environment-variable line: {line}", + "invalid_name": "Container names may contain letters, numbers, dots, underscores, and hyphens.", + "invalid_port": "Port must be a number from 1 to 65535.", + "network": "Network", + "port": "Host and container port", + "port_placeholder": "8080", + "publish_port": "Publish a port", + "title": "Run {image}" + }, + "settings": { + "active_color": { + "description": "Color used when at least one container is running.", + "label": "Active indicator color" + }, + "default_network": { + "description": "Network selected when running an image.", + "label": "Default network" + }, + "glyph_color": { + "description": "Theme color used by the Docker icon.", + "label": "Icon color" + }, + "inactive_color": { + "description": "Color used when no containers are running.", + "label": "Inactive indicator color" + }, + "refresh_interval": { + "description": "How often Mini Docker refreshes Docker state, in seconds.", + "label": "Refresh interval" + }, + "show_count": { + "description": "Show the number of running containers beside the Docker icon.", + "label": "Show running count" + }, + "status_mode": { + "description": "Choose when the status dot is visible.", + "label": "Status indicator", + "options": { + "always": "Always", + "hidden": "Hidden", + "running_only": "Only while containers are running" + } + } }, "tabs": { "containers": "Containers", "images": "Images", - "volumes": "Volumes", - "networks": "Networks" + "networks": "Networks", + "volumes": "Volumes" }, - "actions": { - "refresh": "Refresh", - "select": "Select", - "start": "Start", - "stop": "Stop", - "restart": "Restart", - "remove": "Remove", - "run": "Run", - "cancel": "Cancel", - "close": "Close" - }, - "panel": { - "loading": "Loading Docker state…", - "busy": "Docker command in progress…", - "updated": "Last updated: {time}", - "select_hint": "Select an item to see available actions.", - "no_containers": "No containers found.", - "no_images": "No images found.", - "no_volumes": "No volumes found.", - "no_networks": "No networks found.", - "showing_limit": "Showing the first {count} items.", - "default_network": "Built-in network", - "image_in_use": "Used by a container", - "image_unused": "Not used by a container" - }, - "details": { - "image": "Image: {value}", - "status": "Status: {value}", - "ports": "Ports: {value}", - "id": "ID: {value}", - "created": "Created: {value}", - "size": "Size: {value}", - "driver": "Driver: {value}", - "mountpoint": "Mountpoint: {value}", - "scope": "Scope: {value}" - }, - "run_form": { - "title": "Run {image}", - "container_name": "Container name (optional)", - "container_name_placeholder": "my-container", - "network": "Network", - "publish_port": "Publish a port", - "port": "Host and container port", - "port_placeholder": "8080", - "environment": "Environment variables", - "environment_placeholder": "KEY=value\nANOTHER_KEY=value", - "environment_help": "Enter one KEY=value pair per line.", - "invalid_name": "Container names may contain letters, numbers, dots, underscores, and hyphens.", - "invalid_port": "Port must be a number from 1 to 65535.", - "invalid_environment": "Invalid environment-variable line: {line}" - }, - "result": { - "success": "Docker command completed.", - "failed": "Docker command failed: {error}", - "docker_missing": "The Docker CLI is not installed.", - "docker_unreachable": "Could not reach the Docker daemon.", - "command_busy": "Another Docker command is still running." + "title": "Mini Docker", + "widget": { + "refresh_requested": "Docker refresh requested", + "running": "Running containers: {count}", + "unavailable": "Docker is not available" } } diff --git a/nix-monitor/translations/en.json b/nix-monitor/translations/en.json index 65cb305..87cbe87 100644 --- a/nix-monitor/translations/en.json +++ b/nix-monitor/translations/en.json @@ -1,78 +1,146 @@ { - "bar.checking": "Checking...", - "bar.update_available": "Update available!", - "bar.up_to_date": "Up to date", - "bar.unknown": "Unknown", - "notification.checking_update": "Checking NixOS update...", - "notification.update_is_available": "NixOS update is available!", - "notification.update_check_completed": "NixOS update check completed!", - "notification.update_command_is_empty": "Update command is empty!", - "notification.clean_command_is_empty": "Clean command is empty!", - "panel.title": "Nix Monitor", - "panel.cancel": "Cancel", - "panel.update": "Update", - "panel.check": "Check", - "panel.clean": "Clean", - "panel.local": "Local", - "panel.remote": "Remote", - "panel.last_checked": "Last checked", - "panel.current": "Current", - "panel.store_size": "Store size", - "panel.closure_size": "Closure size", - "terminal.press_enter_to_exit": "Press enter to exit...", - "setting.widget.show_text.label": "Show text", - "setting.widget.colorize_text.label": "Colorize text", - "setting.widget.show_glyph.label": "Show glyph", - "setting.widget.colorize_glyph.label": "Colorize glyph", - "setting.widget.up_to_date_glyph.label": "Up to date glyph", - "setting.widget.up_to_date_color.label": "Up to date color", - "setting.widget.checking_glyph.label": "Checking glyph", - "setting.widget.checking_color.label": "Checking color", - "setting.widget.update_available_glyph.label": "Update available glyph", - "setting.widget.update_available_color.label": "Update available color", - "setting.widget.unknown_glyph.label": "Unknown status glyph", - "setting.widget.unknown_color.label": "Unknown status color", - "setting.widget.panel_card_background_color.label": "Panel card background color", - "setting.widget.panel_card_background_opacity.label": "Panel card background opacity", - "setting.update_check_interval.label": "Update check interval", - "setting.update_check_interval.description": "How often to check for updates (in minutes)", - "setting.update_check_duration_threshold.label": "Update check duration threshold", - "setting.update_check_duration_threshold.description": "Cancel update check if it took too long (in minutes)", - "setting.system_stats_check_interval.label": "System stats check interval", - "setting.system_stats_check_interval.description": "How often to check for system stats (in minutes)", - "setting.system_stats_check_duration_threshold.label": "System stats check duration threshold", - "setting.system_stats_check_duration_threshold.description": "Cancel system stats check if it took too long (in minutes)", - "setting.show_update_check_notification.label": "Show update check notification", - "setting.show_update_check_notification.description": "Whether to show a notification whenever update check is in progress and completed", - "setting.show_update_available_notification.label": "Show update available notification", - "setting.show_update_available_notification.description": "Whether to show a notification whenever an update is available", - "setting.branch.label": "Branch", - "setting.branch.description": "Which nixpkgs branch to use", - "setting.update_command.label": "Update command", - "setting.update_command.description": "Command to run when clicking Update button", - "setting.clean_command.label": "Clean command", - "setting.clean_command.description": "Command to run when clicking Clean button", - "setting.hide_update_button.label": "Hide update button", - "setting.hide_update_button.description": "Whether to hide the update button on the panel", - "setting.hide_clean_button.label": "Hide clean button", - "setting.hide_clean_button.description": "Whether to hide the clean button on the panel", - "setting.close_on_enter.label": "Close on press Enter", - "setting.close_on_enter.description": "Add 'Press enter to exit' on the terminal window", - "setting.option.branch.master": "Master", - "setting.option.branch.nixos_unstable": "NixOS Unstable", - "setting.option.branch.nixos_unstable_small": "NixOS Unstable Small", - "setting.option.branch.nixos_26_05": "NixOS 26.05", - "setting.option.branch.nixos_25_11": "NixOS 25.11", - "setting.option.branch.nixos_25_05": "NixOS 25.05", - "setting.option.branch.nixos_24_11": "NixOS 24.11", - "setting.option.branch.nixos_24_05": "NixOS 24.05", - "setting.option.branch.nixos_23_11": "NixOS 23.11", - "setting.option.branch.nixos_23_05": "NixOS 23.05", - "setting.option.branch.nixos_26_05_small": "NixOS 26.05 Small", - "setting.option.branch.nixos_25_11_small": "NixOS 25.11 Small", - "setting.option.branch.nixos_25_05_small": "NixOS 25.05 Small", - "setting.option.branch.nixos_24_11_small": "NixOS 24.11 Small", - "setting.option.branch.nixos_24_05_small": "NixOS 24.05 Small", - "setting.option.branch.nixos_23_11_small": "NixOS 23.11 Small", - "setting.option.branch.nixos_23_05_small": "NixOS 23.05 Small" + "bar": { + "checking": "Checking...", + "unknown": "Unknown", + "up_to_date": "Up to date", + "update_available": "Update available!" + }, + "notification": { + "checking_update": "Checking NixOS update...", + "clean_command_is_empty": "Clean command is empty!", + "update_check_completed": "NixOS update check completed!", + "update_command_is_empty": "Update command is empty!", + "update_is_available": "NixOS update is available!" + }, + "panel": { + "cancel": "Cancel", + "check": "Check", + "clean": "Clean", + "closure_size": "Closure size", + "current": "Current", + "last_checked": "Last checked", + "local": "Local", + "remote": "Remote", + "store_size": "Store size", + "title": "Nix Monitor", + "update": "Update" + }, + "setting": { + "branch": { + "description": "Which nixpkgs branch to use", + "label": "Branch" + }, + "clean_command": { + "description": "Command to run when clicking Clean button", + "label": "Clean command" + }, + "close_on_enter": { + "description": "Add 'Press enter to exit' on the terminal window", + "label": "Close on press Enter" + }, + "hide_clean_button": { + "description": "Whether to hide the clean button on the panel", + "label": "Hide clean button" + }, + "hide_update_button": { + "description": "Whether to hide the update button on the panel", + "label": "Hide update button" + }, + "option": { + "branch": { + "master": "Master", + "nixos_23_05": "NixOS 23.05", + "nixos_23_05_small": "NixOS 23.05 Small", + "nixos_23_11": "NixOS 23.11", + "nixos_23_11_small": "NixOS 23.11 Small", + "nixos_24_05": "NixOS 24.05", + "nixos_24_05_small": "NixOS 24.05 Small", + "nixos_24_11": "NixOS 24.11", + "nixos_24_11_small": "NixOS 24.11 Small", + "nixos_25_05": "NixOS 25.05", + "nixos_25_05_small": "NixOS 25.05 Small", + "nixos_25_11": "NixOS 25.11", + "nixos_25_11_small": "NixOS 25.11 Small", + "nixos_26_05": "NixOS 26.05", + "nixos_26_05_small": "NixOS 26.05 Small", + "nixos_unstable": "NixOS Unstable", + "nixos_unstable_small": "NixOS Unstable Small" + } + }, + "show_update_available_notification": { + "description": "Whether to show a notification whenever an update is available", + "label": "Show update available notification" + }, + "show_update_check_notification": { + "description": "Whether to show a notification whenever update check is in progress and completed", + "label": "Show update check notification" + }, + "system_stats_check_duration_threshold": { + "description": "Cancel system stats check if it took too long (in minutes)", + "label": "System stats check duration threshold" + }, + "system_stats_check_interval": { + "description": "How often to check for system stats (in minutes)", + "label": "System stats check interval" + }, + "update_check_duration_threshold": { + "description": "Cancel update check if it took too long (in minutes)", + "label": "Update check duration threshold" + }, + "update_check_interval": { + "description": "How often to check for updates (in minutes)", + "label": "Update check interval" + }, + "update_command": { + "description": "Command to run when clicking Update button", + "label": "Update command" + }, + "widget": { + "checking_color": { + "label": "Checking color" + }, + "checking_glyph": { + "label": "Checking glyph" + }, + "colorize_glyph": { + "label": "Colorize glyph" + }, + "colorize_text": { + "label": "Colorize text" + }, + "panel_card_background_color": { + "label": "Panel card background color" + }, + "panel_card_background_opacity": { + "label": "Panel card background opacity" + }, + "show_glyph": { + "label": "Show glyph" + }, + "show_text": { + "label": "Show text" + }, + "unknown_color": { + "label": "Unknown status color" + }, + "unknown_glyph": { + "label": "Unknown status glyph" + }, + "up_to_date_color": { + "label": "Up to date color" + }, + "up_to_date_glyph": { + "label": "Up to date glyph" + }, + "update_available_color": { + "label": "Update available color" + }, + "update_available_glyph": { + "label": "Update available glyph" + } + } + }, + "terminal": { + "press_enter_to_exit": "Press enter to exit..." + } } diff --git a/noctwhspr/translations/en.json b/noctwhspr/translations/en.json index a141050..591cefc 100644 --- a/noctwhspr/translations/en.json +++ b/noctwhspr/translations/en.json @@ -1,5 +1,9 @@ { - "title": "noctwhspr", - "settings.root.label": "hyprwhspr install root", - "settings.root.description": "Directory hyprwhspr is installed under. Leave at the default unless hyprwhspr lives at a non-standard prefix." + "settings": { + "root": { + "description": "Directory hyprwhspr is installed under. Leave at the default unless hyprwhspr lives at a non-standard prefix.", + "label": "hyprwhspr install root" + } + }, + "title": "noctwhspr" } diff --git a/portctl/translations/en.json b/portctl/translations/en.json index 516ac41..d7644f8 100644 --- a/portctl/translations/en.json +++ b/portctl/translations/en.json @@ -1,54 +1,54 @@ { - "title": "Portctl", + "categories": { + "cloud": "Cloud", + "containers": "Containers", + "databases": "Databases", + "development": "Development", + "other": "Other", + "servers": "Servers" + }, "panel": { - "search_placeholder": "Search port, process, PID…", - "tcp": "TCP", - "udp": "UDP", - "no_ports": "No listening ports", - "no_results": "No results for \"{query}\"", - "killing": "Killing {name}…", - "kill_confirm": "Kill {name}?", "cancel": "Cancel", "kill": "Kill", - "pid_copied": "Copied PID {pid}" - }, - "categories": { - "development": "Development", - "databases": "Databases", - "containers": "Containers", - "servers": "Servers", - "cloud": "Cloud", - "other": "Other" + "kill_confirm": "Kill {name}?", + "killing": "Killing {name}…", + "no_ports": "No listening ports", + "no_results": "No results for \"{query}\"", + "pid_copied": "Copied PID {pid}", + "search_placeholder": "Search port, process, PID…", + "tcp": "TCP", + "udp": "UDP" }, "service": { - "terminated": "Process {pid} terminated", "kill_failed": "Failed to kill PID {pid}", - "ss_not_found": "ss (iproute2) not found — install the iproute2 package" + "ss_not_found": "ss (iproute2) not found — install the iproute2 package", + "terminated": "Process {pid} terminated" }, "settings": { - "refresh_interval": { - "label": "Refresh interval", - "description": "Seconds between port scans" - }, - "ignore_list": { - "label": "Ignore processes", - "description": "Comma-separated process name substrings to hide (e.g. discord,chrome,steam)" - }, - "ignore_ports": { - "label": "Ignore ports", - "description": "Comma-separated port numbers to hide (e.g. 37700,6463)" + "glyph": { + "description": "Icon shown in the bar.", + "label": "Glyph" }, "hide_system_ports": { - "label": "Hide system ports", - "description": "Hide ports below 1024 (privileged/root ports)" + "description": "Hide ports below 1024 (privileged/root ports)", + "label": "Hide system ports" }, "hide_unknown_ports": { - "label": "Hide unknown ports", - "description": "Hide ports whose process info is not accessible (e.g. rootlessport, root-owned processes without sudo)" + "description": "Hide ports whose process info is not accessible (e.g. rootlessport, root-owned processes without sudo)", + "label": "Hide unknown ports" }, - "glyph": { - "label": "Glyph", - "description": "Icon shown in the bar." + "ignore_list": { + "description": "Comma-separated process name substrings to hide (e.g. discord,chrome,steam)", + "label": "Ignore processes" + }, + "ignore_ports": { + "description": "Comma-separated port numbers to hide (e.g. 37700,6463)", + "label": "Ignore ports" + }, + "refresh_interval": { + "description": "Seconds between port scans", + "label": "Refresh interval" } - } + }, + "title": "Portctl" } diff --git a/prismlauncher-instances/translations/en.json b/prismlauncher-instances/translations/en.json index 087c092..cda2d65 100644 --- a/prismlauncher-instances/translations/en.json +++ b/prismlauncher-instances/translations/en.json @@ -1,16 +1,16 @@ { - "settings": { - "prismlauncher_path": { - "label": "PrismLauncher path", - "description": "Path to PrismLauncher" - }, - "launcher_exec_command": { - "label": "Prism Executable", - "description": "Start Prismlauncher or fork of choice" - } - }, "no_instances": { - "title": "No instances found", - "subtitle": "Filter: " + "subtitle": "Filter: ", + "title": "No instances found" + }, + "settings": { + "launcher_exec_command": { + "description": "Start Prismlauncher or fork of choice", + "label": "Prism Executable" + }, + "prismlauncher_path": { + "description": "Path to PrismLauncher", + "label": "PrismLauncher path" + } } } diff --git a/proton-pass/translations/en.json b/proton-pass/translations/en.json index ed49843..2d47d44 100644 --- a/proton-pass/translations/en.json +++ b/proton-pass/translations/en.json @@ -1,7 +1,7 @@ { - "copied-password": "Copied password to clipboard", - "failed-list-vaults": "Failed to list vaults. Are you logged into pass-cli?", - "item-not-found": "Item not found", - "loading-items": "Loading Items…", - "loading-vaults": "Loading Vaults…" + "copied-password": "Copied password to clipboard", + "failed-list-vaults": "Failed to list vaults. Are you logged into pass-cli?", + "item-not-found": "Item not found", + "loading-items": "Loading Items…", + "loading-vaults": "Loading Vaults…" } diff --git a/sharednd/translations/en.json b/sharednd/translations/en.json index 02e33af..cfcd0dd 100644 --- a/sharednd/translations/en.json +++ b/sharednd/translations/en.json @@ -1,9 +1,17 @@ { - "title": "ShareDND", - "settings.only_active.label": "Only active streams", - "settings.only_active.description": "Count only screencasts that are actively streaming. When off, any open screencast session (even one paused or showing nothing) keeps Do Not Disturb enabled.", - "settings.always_off_after.label": "Always disable DND after sharing", - "settings.always_off_after.description": "Turn Do Not Disturb off when sharing ends even if it was already enabled before sharing started. When off, DND is only disabled if this plugin enabled it.", - "notify.no_niri_title": "ShareDND: niri not found", - "notify.no_niri_body": "This looks like a niri session (NIRI_SOCKET is set), but the niri binary is not in PATH, so screen sharing cannot be detected." + "notify": { + "no_niri_body": "This looks like a niri session (NIRI_SOCKET is set), but the niri binary is not in PATH, so screen sharing cannot be detected.", + "no_niri_title": "ShareDND: niri not found" + }, + "settings": { + "always_off_after": { + "description": "Turn Do Not Disturb off when sharing ends even if it was already enabled before sharing started. When off, DND is only disabled if this plugin enabled it.", + "label": "Always disable DND after sharing" + }, + "only_active": { + "description": "Count only screencasts that are actively streaming. When off, any open screencast session (even one paused or showing nothing) keeps Do Not Disturb enabled.", + "label": "Only active streams" + } + }, + "title": "ShareDND" } diff --git a/shelly/translations/en.json b/shelly/translations/en.json index 25430a7..ac9f5a6 100644 --- a/shelly/translations/en.json +++ b/shelly/translations/en.json @@ -1,12 +1,11 @@ { - "title": "Shelly", - "notify": { - "new_updates": { - "title": "New Updates Available", - "description": "There are {count} new updates available for your system." - } - }, "bar": { + "click_handler": { + "error": { + "missing_cli": "Shelly CLI is not installed. Please install it to use this feature.", + "missing_gui": "Shelly GUI is not installed. Please install it to use this feature." + } + }, "text": { "error": "?", "updates": { @@ -16,53 +15,54 @@ }, "tooltip": { "aur_title": "AUR", - "flatpak_title": "Flatpak", - "packages_title": "Packages", - "no_updates": "System is up to date", "error": { "decode_json": "Failed to decode output from `shelly check-updates --json`" - } - }, - "click_handler": { - "error": { - "missing_gui": "Shelly GUI is not installed. Please install it to use this feature.", - "missing_cli": "Shelly CLI is not installed. Please install it to use this feature." - } + }, + "flatpak_title": "Flatpak", + "no_updates": "System is up to date", + "packages_title": "Packages" + } + }, + "notify": { + "new_updates": { + "description": "There are {count} new updates available for your system.", + "title": "New Updates Available" } }, "settings": { - "interval": { - "label": "Refresh Seconds", - "description": "How often the service checks for updates in the background." - }, - "notify": { - "label": "Notify", - "description": "Whether to show a notification when new updates are available." - }, "click_action": { - "label": "Click Action", "description": "What happens when you click on the bar.", + "label": "Click Action", "options": { "none": "Nothing", "open_gui": "Open Shelly GUI", "open_updater": "Start Update in Terminal" } }, - "hide_when_up_to_date": { - "label": "Hide When Up-to-Date", - "description": "Whether to hide the bar when there are no updates available." - }, "color": { - "label": "Color", - "description": "The color of the bar text." + "description": "The color of the bar text.", + "label": "Color" }, "glyph": { - "label": "Glyph", - "description": "The glyph shown before the label." + "description": "The glyph shown before the label.", + "label": "Glyph" }, "glyph_color": { - "label": "Glyph Color", - "description": "The color of the glyph." + "description": "The color of the glyph.", + "label": "Glyph Color" + }, + "hide_when_up_to_date": { + "description": "Whether to hide the bar when there are no updates available.", + "label": "Hide When Up-to-Date" + }, + "interval": { + "description": "How often the service checks for updates in the background.", + "label": "Refresh Seconds" + }, + "notify": { + "description": "Whether to show a notification when new updates are available.", + "label": "Notify" } - } + }, + "title": "Shelly" } diff --git a/todo/translations/en.json b/todo/translations/en.json index 2af0fdd..8e15a46 100644 --- a/todo/translations/en.json +++ b/todo/translations/en.json @@ -1,30 +1,36 @@ { - "title": "To Do", + "clear_done_confirm": "Delete all done entries?", + "clear_done_no": "Cancel", + "clear_done_yes": "Delete", "empty": "No tasks yet — add one with +", "placeholder": "New task…", - "tooltip": "To Do — {count} to do", - "save_failed": "Failed to save the task list", + "prio_important": "Important", "prio_low": "Low", "prio_medium": "Medium", - "prio_important": "Important", - "sort_priority": "Priority", + "save_failed": "Failed to save the task list", + "settings": { + "glyph": { + "description": "The glyph shown for the To Do widget on the bar.", + "label": "Bar glyph" + }, + "todo_folder": { + "description": "Folder holding the task list (todo.json). Defaults to ~/Documents/Todo.", + "label": "To Do folder" + } + }, "sort_manual": "Manual", - "clear_done_confirm": "Delete all done entries?", - "clear_done_yes": "Delete", - "clear_done_no": "Cancel", - "tip_sort": "Switch ordering mode", - "tip_clear_done": "Delete all done tasks", + "sort_priority": "Priority", "tip_add": "Add a task", + "tip_clear_done": "Delete all done tasks", "tip_close": "Close", + "tip_commit": "Save (Enter)", + "tip_delete": "Delete task", + "tip_done": "Mark as done", + "tip_edit": "Edit", "tip_grip": "Reorder — click to pick this row up", "tip_grip_drop": "Click another grip to drop here, or this one to cancel", - "tip_commit": "Save (Enter)", - "tip_done": "Mark as done", + "tip_sort": "Switch ordering mode", "tip_undone": "Mark as to do", - "tip_edit": "Edit", - "tip_delete": "Delete task", - "settings.todo_folder.label": "To Do folder", - "settings.todo_folder.description": "Folder holding the task list (todo.json). Defaults to ~/Documents/Todo.", - "settings.glyph.label": "Bar glyph", - "settings.glyph.description": "The glyph shown for the To Do widget on the bar." + "title": "To Do", + "tooltip": "To Do — {count} to do" } diff --git a/um5606_fan_state/translations/en.json b/um5606_fan_state/translations/en.json index 815535d..c5f1f9e 100644 --- a/um5606_fan_state/translations/en.json +++ b/um5606_fan_state/translations/en.json @@ -1,12 +1,12 @@ { - "title": "ASUS UM5606 Fan State", "settings": { + "poll_interval": { + "description": "Poll interval in ms", + "label": "Poll interval" + }, "show_label": { "label": "Show label" - }, - "poll_interval": { - "label": "Poll interval", - "description": "Poll interval in ms" } - } -} \ No newline at end of file + }, + "title": "ASUS UM5606 Fan State" +} diff --git a/upbeat/translations/en.json b/upbeat/translations/en.json index 357c74a..3a514bb 100644 --- a/upbeat/translations/en.json +++ b/upbeat/translations/en.json @@ -1,16 +1,16 @@ { - "settings": { - "show_centibeats": { - "label": "Display subbeats", - "description": "Toggle subbeat display (.xx)" - }, - "beat_display": { - "label": "Display .beats", - "description": "Toggle internet time notation (.beats)" - }, - "time_format_toggle": { - "label": "Toggle 24HR time", - "description": "Display 24 hour time" - } + "settings": { + "beat_display": { + "description": "Toggle internet time notation (.beats)", + "label": "Display .beats" + }, + "show_centibeats": { + "description": "Toggle subbeat display (.xx)", + "label": "Display subbeats" + }, + "time_format_toggle": { + "description": "Display 24 hour time", + "label": "Toggle 24HR time" } - } \ No newline at end of file + } +} diff --git a/zed-provider/translations/en.json b/zed-provider/translations/en.json index c2814a8..3ba3b23 100644 --- a/zed-provider/translations/en.json +++ b/zed-provider/translations/en.json @@ -1,11 +1,17 @@ { - "loading": "Loading…", - "loading-subtitle": "Reading Zed projects", - "no-projects-found": "No projects found", - "filter-empty": "Filter: \"{filter}\"", - "database-empty": "Zed database is empty or not found", - "settings.db_path.label": "Zed database path", - "settings.db_path.description": "Path to Zed's db.sqlite file.", - "settings.max_results.label": "Maximum results", - "settings.max_results.description": "Maximum number of projects to display." + "database-empty": "Zed database is empty or not found", + "filter-empty": "Filter: \"{filter}\"", + "loading": "Loading…", + "loading-subtitle": "Reading Zed projects", + "no-projects-found": "No projects found", + "settings": { + "db_path": { + "description": "Path to Zed's db.sqlite file.", + "label": "Zed database path" + }, + "max_results": { + "description": "Maximum number of projects to display.", + "label": "Maximum results" + } + } } diff --git a/zed-provider/translations/fr.json b/zed-provider/translations/fr.json index 795ff90..8c9a1d7 100644 --- a/zed-provider/translations/fr.json +++ b/zed-provider/translations/fr.json @@ -1,11 +1,17 @@ { - "loading": "Chargement…", - "loading-subtitle": "Lecture des projets Zed", - "no-projects-found": "Aucun projet trouvé", - "filter-empty": "Filtre : « {filter} »", - "database-empty": "La base Zed est vide ou introuvable", - "settings.db_path.label": "Chemin de la base Zed", - "settings.db_path.description": "Chemin vers le fichier db.sqlite de Zed.", - "settings.max_results.label": "Nombre maximum de résultats", - "settings.max_results.description": "Nombre maximum de projets à afficher." + "database-empty": "La base Zed est vide ou introuvable", + "filter-empty": "Filtre : « {filter} »", + "loading": "Chargement…", + "loading-subtitle": "Lecture des projets Zed", + "no-projects-found": "Aucun projet trouvé", + "settings": { + "db_path": { + "description": "Chemin vers le fichier db.sqlite de Zed.", + "label": "Chemin de la base Zed" + }, + "max_results": { + "description": "Nombre maximum de projets à afficher.", + "label": "Nombre maximum de résultats" + } + } }