Spelling and grammar fixes (#23598)

pull/23600/head
Ville Skyttä 2025-01-06 10:10:34 -01:00 committed by GitHub
parent 8be2ca5392
commit 3d1817a6b9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
36 changed files with 62 additions and 62 deletions

View File

@ -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.**

View File

@ -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.

View File

@ -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

View File

@ -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);
}

View File

@ -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:

View File

@ -19,7 +19,7 @@ The alert offers four severity levels that set a distinctive icon and color.
</ha-alert>
<ha-alert alert-type="warning">
This is an warning alert — check it out!
This is a warning alert — check it out!
</ha-alert>
<ha-alert alert-type="info">
@ -27,7 +27,7 @@ The alert offers four severity levels that set a distinctive icon and color.
</ha-alert>
<ha-alert alert-type="success">
This is an success alert — check it out!
This is a success alert — check it out!
</ha-alert>
**Note:** This component is by <a href="https://mui.com/components/alert/" rel="noopener noreferrer" target="_blank">MUI</a> and is not documented in the <a href="https://material.io" rel="noopener noreferrer" target="_blank">Material Design guidelines</a>.
@ -95,7 +95,7 @@ Actions must have a tab index of 0 so that they can be reached by keyboard-only
</ha-alert>
<ha-alert alert-type="warning">
This is an warning alert — check it out!
This is a warning alert — check it out!
</ha-alert>
<ha-alert alert-type="info">
@ -103,7 +103,7 @@ Actions must have a tab index of 0 so that they can be reached by keyboard-only
</ha-alert>
<ha-alert alert-type="success">
This is an success alert — check it out!
This is a success alert — check it out!
</ha-alert>
```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.
<ha-alert alert-type="success" title="Success">
This is an success alert — check it out!
This is a success alert — check it out!
</ha-alert>
```html
<ha-alert alert-type="success" title="Success">
This is an success alert — check it out!
This is a success alert — check it out!
</ha-alert>
```
**Dismissable**
<ha-alert alert-type="success" dismissable>
This is an success alert — check it out!
This is a success alert — check it out!
</ha-alert>
```html
<ha-alert alert-type="success" dismissable>
This is an success alert — check it out!
This is a success alert — check it out!
</ha-alert>
```
**Slotted action**
<ha-alert alert-type="success">
This is an success alert — check it out!
This is a success alert — check it out!
<mwc-button slot="action" label="Undo"></mwc-button>
</ha-alert>
```html
<ha-alert alert-type="success">
This is an success alert — check it out!
This is a success alert — check it out!
<mwc-button slot="action" label="Undo"></mwc-button>
</ha-alert>
```

View File

@ -20,7 +20,7 @@ export class DemoHaFaded extends LitElement {
<ha-faded><span>${LONG_TEXT}</span></ha-faded>
<h3>No text</h3>
<ha-faded><span></span></ha-faded>
<h3>Smal text</h3>
<h3>Small text</h3>
<ha-faded><span>${SMALL_TEXT}</span></ha-faded>
<h3>Long text in markdown</h3>
<ha-faded>

View File

@ -76,7 +76,7 @@ export class DemoHaHsColorPicker extends LitElement {
@change=${this._saturationChanged}
>
</ha-slider>
<p>Color Brighness : ${this.brightness}</p>
<p>Color Brightness : ${this.brightness}</p>
<ha-slider
labeled
step="1"

View File

@ -30,7 +30,7 @@ set -e
cd "$(dirname "$0")/.."
# parse input paramters
# parse input parameters
if [ -n "$DEVCONTAINER" ]; then
frontendPort=8123
else

View File

@ -19,9 +19,9 @@ type ReactiveElementClassWithTransformers = typeof ReactiveElement & {
};
/**
* Specifies an tranformer callback that is run when the value of the decorated property, or any of the properties in the watching array, changes.
* The result of the tranformer is assigned to the decorated property.
* The tranformer receives the current as arguments.
* Specifies a transformer callback that is run when the value of the decorated property, or any of the properties in the watching array, changes.
* The result of the transformer is assigned to the decorated property.
* The transformer receives the current as argument.
*/
export const transform =
<T, V>(config: {

View File

@ -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)) {

View File

@ -166,7 +166,7 @@ const FIXED_DOMAIN_ATTRIBUTE_STATES = {
"channel",
"channels",
"composer",
"contibuting_artist",
"contributing_artist",
"episode",
"game",
"genre",

View File

@ -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";

View File

@ -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;
}

View File

@ -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);

View File

@ -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;
}

View File

@ -56,7 +56,7 @@ export class HaIcon extends LitElement {
return nothing;
}
if (this._legacy) {
return html`<!-- @ts-ignore we don't provice the iron-icon element -->
return html`<!-- @ts-ignore we don't provide the iron-icon element -->
<iron-icon .icon=${this.icon}></iron-icon>`;
}
return html`<ha-svg-icon

View File

@ -7,7 +7,7 @@ import {
import { css } from "lit";
import { customElement, property } from "lit/decorators";
// workaround to be able to overlay an dialog with another dialog
// workaround to be able to overlay a dialog with another dialog
MdDialog.addInitializer(async (instance) => {
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: [

View File

@ -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`<a
class=${classMap({
profile: true,
// Mimick behavior that paper-listbox provides
// Mimic behavior that paper-listbox provides
"iron-selected": this.hass.panelUrl === "profile",
})}
href="/profile"

View File

@ -450,7 +450,7 @@ const getEnergyData = async (
hass.config
) as boolean)
) {
// When comparing a month (or multiple), we want to start at the begining of the month
// When comparing a month (or multiple), we want to start at the beginning of the month
startCompare = calcDate(
start,
addMonths,

View File

@ -19,7 +19,7 @@ export interface LogbookStreamMessage {
events: LogbookEntry[];
start_time?: number; // Start time of this historical chunk
end_time?: number; // End time of this historical chunk
partial?: boolean; // Indiciates more historical chunks are coming
partial?: boolean; // Indicates more historical chunks are coming
}
export interface LogbookEntry {

View File

@ -42,7 +42,7 @@ export const enum InclusionStrategy {
*
* Issues a warning if Security S0 is not supported or the secure bootstrapping fails.
*
* **Not recommended** because S0 should be used sparingly and S2 preferred whereever possible.
* **Not recommended** because S0 should be used sparingly and S2 preferred wherever possible.
*/
Security_S0,
/**

View File

@ -43,7 +43,7 @@ const initRouting = () => {
// 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();
});

View File

@ -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: {

View File

@ -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);
}

View File

@ -198,7 +198,7 @@ class DialogRestoreBackup extends LitElement implements HassDialog {
<p>
${this.hass.connected
? this._restoreState()
: "Restarting Home Asssistant"}
: "Restarting Home Assistant"}
</p>
</div>`;
}

View File

@ -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);

View File

@ -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,

View File

@ -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;
}

View File

@ -218,7 +218,7 @@ const _lazyCreate = <T extends keyof CreateElementConfigTypes>(
// @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");
}
});

View File

@ -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;

View File

@ -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,

View File

@ -298,7 +298,7 @@ export default <T extends Constructor<HassBaseEl>>(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 <T extends Constructor<HassBaseEl>>(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;
}

View File

@ -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://<some IP address>: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",

View File

@ -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();

View File

@ -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,