diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
index 2db287bfd4d4..9e20e82633eb 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.yml
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -7,7 +7,7 @@ body:
value: |
Make sure you are running the [latest version of Home Assistant][releases] before reporting an issue.
- If you have a feature or enhancement request for the frontend, please [start an discussion][fr] instead of creating an issue.
+ If you have a feature or enhancement request for the frontend, please [start a discussion][fr] instead of creating an issue.
**Please do not report issues for custom cards.**
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
index 689b0c011d06..47563c2286a5 100644
--- a/.github/ISSUE_TEMPLATE/config.yml
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -2,7 +2,7 @@ blank_issues_enabled: false
contact_links:
- name: Request a feature for the UI / Dashboards
url: https://github.com/home-assistant/frontend/discussions/category_choices
- about: Request an new feature for the Home Assistant frontend.
+ about: Request a new feature for the Home Assistant frontend.
- name: Report a bug that is NOT related to the UI / Dashboards
url: https://github.com/home-assistant/core/issues
about: This is the issue tracker for our frontend. Please report other issues in the backend ("core") repository.
diff --git a/cast/README.md b/cast/README.md
index c1741fc989ee..bed8b3a2aed4 100644
--- a/cast/README.md
+++ b/cast/README.md
@@ -25,7 +25,7 @@ Home Assistant Cast is made up of two separate applications:
### Setting dev variables
-Open `src/cast/dev_const.ts` and change `CAST_DEV_APP_ID` to the ID of the app you just created. And set the `CAST_DEV_HASS_URL` to the url of you development machine.
+Open `src/cast/dev_const.ts` and change `CAST_DEV_APP_ID` to the ID of the app you just created. And set the `CAST_DEV_HASS_URL` to the url of your development machine.
### Changing configuration
diff --git a/cast/src/launcher/layout/hc-connect.ts b/cast/src/launcher/layout/hc-connect.ts
index 207b0dfa536d..ae40e3ea3864 100644
--- a/cast/src/launcher/layout/hc-connect.ts
+++ b/cast/src/launcher/layout/hc-connect.ts
@@ -252,7 +252,7 @@ export class HcConnect extends LitElement {
this.loading = false;
return;
} finally {
- // Clear url if we have a auth callback in url.
+ // Clear url if we have an auth callback in url.
if (location.search.includes("auth_callback=1")) {
history.replaceState(null, "", location.pathname);
}
diff --git a/gallery/src/pages/Text/remove-delete-add-create.markdown b/gallery/src/pages/Text/remove-delete-add-create.markdown
index 3b0bb85c3676..98494c0b621c 100644
--- a/gallery/src/pages/Text/remove-delete-add-create.markdown
+++ b/gallery/src/pages/Text/remove-delete-add-create.markdown
@@ -42,7 +42,7 @@ In most cases, Create can be paired with Delete, and Add can be paired with Remo
## Add
-An already-exisiting item.
+An already-existing item.
For example:
diff --git a/gallery/src/pages/components/ha-alert.markdown b/gallery/src/pages/components/ha-alert.markdown
index 9d2eced8056d..17816fb7e66e 100644
--- a/gallery/src/pages/components/ha-alert.markdown
+++ b/gallery/src/pages/components/ha-alert.markdown
@@ -19,7 +19,7 @@ The alert offers four severity levels that set a distinctive icon and color.
- This is an warning alert — check it out!
+ This is a warning alert — check it out!
@@ -27,7 +27,7 @@ The alert offers four severity levels that set a distinctive icon and color.
- This is an success alert — check it out!
+ This is a success alert — check it out!
**Note:** This component is by MUI and is not documented in the Material Design guidelines.
@@ -95,7 +95,7 @@ Actions must have a tab index of 0 so that they can be reached by keyboard-only
- This is an warning alert — check it out!
+ This is a warning alert — check it out!
@@ -103,7 +103,7 @@ Actions must have a tab index of 0 so that they can be reached by keyboard-only
- This is an success alert — check it out!
+ This is a success alert — check it out!
```html
@@ -122,37 +122,37 @@ Actions must have a tab index of 0 so that they can be reached by keyboard-only
The `title ` option should not be used without a description.
- This is an success alert — check it out!
+ This is a success alert — check it out!
```html
- This is an success alert — check it out!
+ This is a success alert — check it out!
```
**Dismissable**
- This is an success alert — check it out!
+ This is a success alert — check it out!
```html
- This is an success alert — check it out!
+ This is a success alert — check it out!
```
**Slotted action**
- This is an success alert — check it out!
+ This is a success alert — check it out!
```html
- This is an success alert — check it out!
+ This is a success alert — check it out!
```
diff --git a/gallery/src/pages/components/ha-faded.ts b/gallery/src/pages/components/ha-faded.ts
index d053a8f662f7..e8d66775a5d9 100644
--- a/gallery/src/pages/components/ha-faded.ts
+++ b/gallery/src/pages/components/ha-faded.ts
@@ -20,7 +20,7 @@ export class DemoHaFaded extends LitElement {
${LONG_TEXT}
No text
- Smal text
+ Small text
${SMALL_TEXT}
Long text in markdown
diff --git a/gallery/src/pages/components/ha-hs-color-picker.ts b/gallery/src/pages/components/ha-hs-color-picker.ts
index 005ab06c091a..fb69faca0016 100644
--- a/gallery/src/pages/components/ha-hs-color-picker.ts
+++ b/gallery/src/pages/components/ha-hs-color-picker.ts
@@ -76,7 +76,7 @@ export class DemoHaHsColorPicker extends LitElement {
@change=${this._saturationChanged}
>
- Color Brighness : ${this.brightness}
+ Color Brightness : ${this.brightness}
(config: {
diff --git a/src/common/entity/compute_attribute_display.ts b/src/common/entity/compute_attribute_display.ts
index c6a43a6d5818..b3da42c10be3 100644
--- a/src/common/entity/compute_attribute_display.ts
+++ b/src/common/entity/compute_attribute_display.ts
@@ -65,7 +65,7 @@ export const computeAttributeValueDisplay = (
return formattedValue;
}
- // Special handling in case this is a string with an known format
+ // Special handling in case this is a string with a known format
if (typeof attributeValue === "string") {
// Date handling
if (isDate(attributeValue, true)) {
diff --git a/src/common/entity/get_states.ts b/src/common/entity/get_states.ts
index 7637b35e7f8d..c608e1cc3b83 100644
--- a/src/common/entity/get_states.ts
+++ b/src/common/entity/get_states.ts
@@ -166,7 +166,7 @@ const FIXED_DOMAIN_ATTRIBUTE_STATES = {
"channel",
"channels",
"composer",
- "contibuting_artist",
+ "contributing_artist",
"episode",
"game",
"genre",
diff --git a/src/common/entity/state_color.ts b/src/common/entity/state_color.ts
index e64d2612c8ee..474fee0e59fc 100644
--- a/src/common/entity/state_color.ts
+++ b/src/common/entity/state_color.ts
@@ -1,4 +1,4 @@
-/** Return an color representing a state. */
+/** Return a color representing a state. */
import type { HassEntity } from "home-assistant-js-websocket";
import { UNAVAILABLE } from "../../data/entity";
import type { GroupEntity } from "../../data/group";
diff --git a/src/common/string/filter/filter.ts b/src/common/string/filter/filter.ts
index e7c0103263ec..ecaf5b6f958e 100644
--- a/src/common/string/filter/filter.ts
+++ b/src/common/string/filter/filter.ts
@@ -406,7 +406,7 @@ function _doScore(
// this would be the beginning of a new match (i.e. there would be a gap before this location)
score += isGapLocation ? 2 : 0;
} else {
- // this is part of a contiguous match, so give it a slight bonus, but do so only if it would not be a prefered gap location
+ // this is part of a contiguous match, so give it a slight bonus, but do so only if it would not be a preferred gap location
score += isGapLocation ? 0 : 1;
}
diff --git a/src/components/chart/sankey-chart.ts b/src/components/chart/sankey-chart.ts
index 46a6b5980bee..f9315b73ef78 100644
--- a/src/components/chart/sankey-chart.ts
+++ b/src/components/chart/sankey-chart.ts
@@ -315,7 +315,7 @@ export class SankeyChart extends LitElement {
} else {
totalSize = section.nodes.reduce((sum, b) => sum + b.size, 0);
}
- // calc margin betwee boxes
+ // calc margin between boxes
const emptySpace = sectionSize - totalSize;
const spacerSize = emptySpace / (section.nodes.length - 1);
diff --git a/src/components/ha-hls-player.ts b/src/components/ha-hls-player.ts
index 816aa80cacc2..f1f7a27e8e10 100644
--- a/src/components/ha-hls-player.ts
+++ b/src/components/ha-hls-player.ts
@@ -288,7 +288,7 @@ class HaHLSPlayer extends LitElement {
hls.on(Hls.Events.ERROR, (_event, data: any) => {
// Some errors are recovered automatically by the hls player itself, and the others handled
// in this function require special actions to recover. Errors retried in this function
- // are done with backoff to not cause unecessary failures.
+ // are done with backoff to not cause unnecessary failures.
if (!data.fatal) {
return;
}
diff --git a/src/components/ha-icon.ts b/src/components/ha-icon.ts
index 3428deaada87..b803b4151563 100644
--- a/src/components/ha-icon.ts
+++ b/src/components/ha-icon.ts
@@ -56,7 +56,7 @@ export class HaIcon extends LitElement {
return nothing;
}
if (this._legacy) {
- return html`
+ return html`
`;
}
return html` {
await instance.updateComplete;
@@ -197,7 +197,7 @@ export class HaMdDialog extends MdDialog {
}
// by default the dialog open/close animation will be from/to the top
-// but if we have a special mobile dialog which is at the bottom of the screen, an from bottom animation can be used:
+// but if we have a special mobile dialog which is at the bottom of the screen, a from bottom animation can be used:
const OPEN_FROM_BOTTOM_ANIMATION: DialogAnimation = {
...DIALOG_DEFAULT_OPEN_ANIMATION,
dialog: [
diff --git a/src/components/ha-sidebar.ts b/src/components/ha-sidebar.ts
index 0420fcc74a59..680bd37d7f92 100644
--- a/src/components/ha-sidebar.ts
+++ b/src/components/ha-sidebar.ts
@@ -390,7 +390,7 @@ class HaSidebar extends SubscribeMixin(LitElement) {
this.hass.locale
);
- // Show the supervisor as beeing part of configuration
+ // Show the supervisor as being part of configuration
const selectedPanel = this.route.path?.startsWith("/hassio/")
? "config"
: this.hass.panelUrl;
@@ -632,7 +632,7 @@ class HaSidebar extends SubscribeMixin(LitElement) {
return html` {
// CORS must be forced to work for CSS images
fetchOptions: { mode: "cors", credentials: "omit" },
plugins: [
- // Add 404 so we quicly respond to domains with missing images
+ // Add 404 so we quickly respond to domains with missing images
new CacheableResponsePlugin({ statuses: [0, 200, 404] }),
new ExpirationPlugin({
maxAgeSeconds: 60 * 60 * 24 * 30,
@@ -222,7 +222,7 @@ self.addEventListener("activate", () => {
// that didn't have a service worker loaded.
// Happens the first time they open the app without any
// service worker registered.
- // This will serve code splitted bundles from SW.
+ // This will serve code split bundles from SW.
clients.claim();
});
diff --git a/src/fake_data/demo_services.ts b/src/fake_data/demo_services.ts
index 04a0e57ef38b..7111223ca321 100644
--- a/src/fake_data/demo_services.ts
+++ b/src/fake_data/demo_services.ts
@@ -644,7 +644,7 @@ export const demoServices: HassServices = {
example: "25",
},
target_temp_high: {
- description: "New target high tempereature for HVAC.",
+ description: "New target high temperature for HVAC.",
example: "26",
},
target_temp_low: {
diff --git a/src/panels/config/backup/components/config/ha-backup-config-schedule.ts b/src/panels/config/backup/components/config/ha-backup-config-schedule.ts
index 0a48fc9a0e77..b2402625e8da 100644
--- a/src/panels/config/backup/components/config/ha-backup-config-schedule.ts
+++ b/src/panels/config/backup/components/config/ha-backup-config-schedule.ts
@@ -267,7 +267,7 @@ class HaBackupConfigSchedule extends LitElement {
if (value !== RetentionPreset.CUSTOM) {
const data = this._getData(this.value);
const retention = RETENTION_PRESETS[value];
- // Ensure we have at least 1 in defaut value because user can't select 0
+ // Ensure we have at least 1 in default value because user can't select 0
if (value !== RetentionPreset.FOREVER) {
retention.value = Math.max(retention.value, 1);
}
diff --git a/src/panels/config/backup/dialogs/dialog-restore-backup.ts b/src/panels/config/backup/dialogs/dialog-restore-backup.ts
index ecf6a6f15672..588767b1dcbe 100644
--- a/src/panels/config/backup/dialogs/dialog-restore-backup.ts
+++ b/src/panels/config/backup/dialogs/dialog-restore-backup.ts
@@ -198,7 +198,7 @@ class DialogRestoreBackup extends LitElement implements HassDialog {
${this.hass.connected
? this._restoreState()
- : "Restarting Home Asssistant"}
+ : "Restarting Home Assistant"}
`;
}
diff --git a/src/panels/config/integrations/dialog-add-integration.ts b/src/panels/config/integrations/dialog-add-integration.ts
index 5447065e0c6d..16c1a0615ca7 100644
--- a/src/panels/config/integrations/dialog-add-integration.ts
+++ b/src/panels/config/integrations/dialog-add-integration.ts
@@ -555,7 +555,7 @@ class AddIntegrationDialog extends LitElement {
if (integration.integrations) {
let domains = integration.domains || [];
if (integration.domain === "apple") {
- // we show discoverd homekit devices in their own brand section, dont show them at apple
+ // we show discovered homekit devices in their own brand section, dont show them in apple
domains = domains.filter((domain) => domain !== "homekit_controller");
}
this._fetchFlowsInProgress(domains);
diff --git a/src/panels/config/integrations/ha-config-integrations-dashboard.ts b/src/panels/config/integrations/ha-config-integrations-dashboard.ts
index ffd3a9471ff0..c3f7950f3f15 100644
--- a/src/panels/config/integrations/ha-config-integrations-dashboard.ts
+++ b/src/panels/config/integrations/ha-config-integrations-dashboard.ts
@@ -864,7 +864,7 @@ class HaConfigIntegrationsDashboard extends SubscribeMixin(LitElement) {
}
if (integration?.supported_by) {
- // Integration is a alias, so we can just create a flow
+ // Integration is an alias, so we can just create a flow
const localize = await this.hass.loadBackendTranslation(
"title",
domain,
diff --git a/src/panels/lovelace/common/validate-condition.ts b/src/panels/lovelace/common/validate-condition.ts
index 382ffdddfe09..e0cf6792fb8b 100644
--- a/src/panels/lovelace/common/validate-condition.ts
+++ b/src/panels/lovelace/common/validate-condition.ts
@@ -78,7 +78,7 @@ function checkStateCondition(
: UNAVAILABLE;
let value = condition.state ?? condition.state_not;
- // Handle entity_id, UI should be updated for conditionnal card (filters does not have UI for now)
+ // Handle entity_id, UI should be updated for conditional card (filters does not have UI for now)
if (Array.isArray(value)) {
const entityValues = value
.map((v) => getValueFromEntityId(hass, v))
@@ -106,7 +106,7 @@ function checkStateNumericCondition(
let above = condition.above;
let below = condition.below;
- // Handle entity_id, UI should be updated for conditionnal card (filters does not have UI for now)
+ // Handle entity_id, UI should be updated for conditional card (filters does not have UI for now)
if (typeof above === "string") {
above = getValueFromEntityId(hass, above) ?? above;
}
diff --git a/src/panels/lovelace/create-element/create-element-base.ts b/src/panels/lovelace/create-element/create-element-base.ts
index a29cb3ef915e..5b01ff419310 100644
--- a/src/panels/lovelace/create-element/create-element-base.ts
+++ b/src/panels/lovelace/create-element/create-element-base.ts
@@ -218,7 +218,7 @@ const _lazyCreate = (
// @ts-ignore
element.setConfig(config);
} catch (err: any) {
- // We let it rebuild and the error wil be handled by _createElement
+ // We let it rebuild and the error will be handled by _createElement
fireEvent(element, "ll-rebuild");
}
});
diff --git a/src/panels/lovelace/elements/hui-service-button-element.ts b/src/panels/lovelace/elements/hui-service-button-element.ts
index 7699e3e2f420..21343932af08 100644
--- a/src/panels/lovelace/elements/hui-service-button-element.ts
+++ b/src/panels/lovelace/elements/hui-service-button-element.ts
@@ -49,7 +49,7 @@ export class HuiServiceButtonElement
}
if (!this._service) {
- throw Error("Action does not have a action name");
+ throw Error("Action does not have an action name");
}
this._config = config;
diff --git a/src/panels/lovelace/views/hui-masonry-view.ts b/src/panels/lovelace/views/hui-masonry-view.ts
index 697a237a90ca..d50f42dcac24 100644
--- a/src/panels/lovelace/views/hui-masonry-view.ts
+++ b/src/panels/lovelace/views/hui-masonry-view.ts
@@ -231,7 +231,7 @@ export class MasonryView extends LitElement implements LovelaceViewElement {
// An other create columns is started, abort this one
return;
}
- // Calculate in wich column the card should go based on the size and the cards already in there
+ // Calculate in which column the card should go based on the size and the cards already in there
this._addCardToColumn(
columnElements[getColumnIndex(columnSizes, cardSize as number)],
index,
diff --git a/src/state/translations-mixin.ts b/src/state/translations-mixin.ts
index 58f732d89eca..e7bb4db8e211 100644
--- a/src/state/translations-mixin.ts
+++ b/src/state/translations-mixin.ts
@@ -298,7 +298,7 @@ export default >(superClass: T) =>
}
const resources = await getHassTranslationsPre109(this.hass!, language);
- // Ignore the repsonse if user switched languages before we got response
+ // Ignore the response if user switched languages before we got response
if (this.hass!.language !== language) {
return this.hass!.localize;
}
@@ -359,7 +359,7 @@ export default >(superClass: T) =>
configFlow
);
- // Ignore the repsonse if user switched languages before we got response
+ // Ignore the response if user switched languages before we got response
if (this.hass!.language !== language) {
return this.hass!.localize;
}
diff --git a/src/translations/en.json b/src/translations/en.json
index 4522f7efa509..a0e19bb13db7 100644
--- a/src/translations/en.json
+++ b/src/translations/en.json
@@ -1055,7 +1055,7 @@
},
"end_after": {
"label": "End after",
- "ocurrences": "ocurrences"
+ "ocurrences": "occurrences"
}
},
"rrule": {
@@ -2498,7 +2498,7 @@
"enable_remote": "[%key:ui::common::enable%]",
"internal_url_automatic": "Automatic",
"internal_url_https_error_title": "Invalid local network URL",
- "internal_url_https_error_description": "You have configured an HTTPS certificate in Home Assistant. This means that your internal URL needs to be set to a domain covered by the certficate.",
+ "internal_url_https_error_description": "You have configured an HTTPS certificate in Home Assistant. This means that your internal URL needs to be set to a domain covered by the certificate.",
"internal_url_automatic_description": "Use the configured network settings",
"internal_url_placeholder": "http://:8123"
},
@@ -3881,8 +3881,8 @@
},
"edit_category": "[%key:ui::panel::config::automation::picker::edit_category%]",
"assign_category": "[%key:ui::panel::config::automation::picker::assign_category%]",
- "no_category_support": "You can't assign an category to this script",
- "no_category_entity_reg": "To assign an category to an script it needs to have a unique ID.",
+ "no_category_support": "You can't assign a category to this script",
+ "no_category_entity_reg": "To assign a category to a script it needs to have a unique ID.",
"delete": "[%key:ui::common::delete%]",
"duplicate": "[%key:ui::common::duplicate%]",
"empty_header": "Create your first script",
@@ -3997,8 +3997,8 @@
},
"edit_category": "[%key:ui::panel::config::automation::picker::edit_category%]",
"assign_category": "[%key:ui::panel::config::automation::picker::assign_category%]",
- "no_category_support": "You can't assign an category to this scene",
- "no_category_entity_reg": "To assign an category to an scene it needs to have a unique ID.",
+ "no_category_support": "You can't assign a category to this scene",
+ "no_category_entity_reg": "To assign a category to an scene it needs to have a unique ID.",
"empty_header": "Create your first scene",
"empty_text": "Scenes capture entities' states, so you can re-experience the same scene later on. For example, a ''Watching TV'' scene that dims the living room lights, sets a warm white color and turns on the TV.",
"search": "Search {number} scenes"
@@ -4590,7 +4590,7 @@
"application_credentials": {
"delete_title": "Application credentials",
"delete_prompt": "Would you like to also delete Application Credentials for this integration?",
- "delete_detail": "If you delete them, you will need to enter credentials when setting up the integration again. If you keep them, they will be used automatically when setting up the integration again or may be acccessed from the Application Credentials menu.",
+ "delete_detail": "If you delete them, you will need to enter credentials when setting up the integration again. If you keep them, they will be used automatically when setting up the integration again or may be accessed from the Application Credentials menu.",
"delete_error_title": "Deleting application credentials failed",
"dismiss": "Keep",
"learn_more": "Learn more about application credentials"
@@ -5517,7 +5517,7 @@
"ping_node": {
"title": "Ping a Matter device",
"introduction": "Perform a (server-side) ping on your Matter device on all its (known) IP-addresses.",
- "battery_device_warning": "Note that especially for battery powered devices this can take a a while. You may need to wake up battery powered devices before starting the pinging to speed up the process. Refer to your device's manual for instructions on how to wake the device.",
+ "battery_device_warning": "Note that especially for battery powered devices this can take a while. You may need to wake up battery powered devices before starting the pinging to speed up the process. Refer to your device's manual for instructions on how to wake the device.",
"start_ping": "Start ping",
"in_progress": "The device is being pinged. This may take some time.",
"ping_failed": "The device ping failed. Additional information may be available in the logs.",
@@ -5686,7 +5686,7 @@
},
"version": {
"title": "Samba/Windows (CIFS) version",
- "description": "This choses the version of the protocol to use"
+ "description": "This chooses the version of the protocol to use"
},
"username": {
"title": "Username",
diff --git a/src/util/common-translation.ts b/src/util/common-translation.ts
index 7cae549c0a9a..105da9b977ab 100644
--- a/src/util/common-translation.ts
+++ b/src/util/common-translation.ts
@@ -42,7 +42,7 @@ export function findAvailableLanguage(language: string) {
return language;
}
- // Perform case-insenstive comparison since browser isn't required to
+ // Perform case-insensitive comparison since browser isn't required to
// report languages with specific cases.
const langLower = language.toLowerCase();
diff --git a/test/common/entity/attribute_class_names.test.ts b/test/common/entity/attribute_class_names.test.ts
index d3377beddd68..51e9339f003b 100644
--- a/test/common/entity/attribute_class_names.test.ts
+++ b/test/common/entity/attribute_class_names.test.ts
@@ -9,7 +9,7 @@ describe("attributeClassNames", () => {
assert.strictEqual(attributeClassNames(stateObj, attrs), "");
});
- it("Matches no attrbutes", () => {
+ it("Matches no attributes", () => {
const stateObj: any = {
attributes: {
other_attr_1: 1,
@@ -19,7 +19,7 @@ describe("attributeClassNames", () => {
assert.strictEqual(attributeClassNames(stateObj, attrs), "");
});
- it("Matches one attrbute", () => {
+ it("Matches one attribute", () => {
const stateObj: any = {
attributes: {
other_attr_1: 1,
@@ -30,7 +30,7 @@ describe("attributeClassNames", () => {
assert.strictEqual(attributeClassNames(stateObj, attrs), "has-mock_attr1");
});
- it("Matches two attrbutes", () => {
+ it("Matches two attributes", () => {
const stateObj: any = {
attributes: {
other_attr_1: 1,