Skip to content

Commit 416d308

Browse files
committed
feat(toggle): Add translations to toggle states
1 parent a9131b4 commit 416d308

File tree

3 files changed

+23
-4
lines changed

3 files changed

+23
-4
lines changed

src/i18n/en.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,10 @@
123123
"BUTTON_ARIA_LEFT": "Go to the previous tab",
124124
"BUTTON_ARIA_RIGHT": "Go to the next tab"
125125
},
126+
"TOGGLE": {
127+
"LEFTTEXT": "Off",
128+
"RIGHTTEXT": "On"
129+
},
126130
"TOPNAV": {
127131
"SKIP_TO_MAIN": "Skip to main content",
128132
"HAMBURGER": {

src/toggle/toggle.component.ts

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import {
88
} from "@angular/core";
99
import { NG_VALUE_ACCESSOR } from "@angular/forms";
1010

11+
import { I18n } from "../i18n/i18n.module";
1112

1213
/**
1314
* Defines the set of states for a toggle component.
@@ -76,9 +77,9 @@ export class ToggleChange {
7677
[ngClass]="{
7778
'bx--skeleton': skeleton
7879
}">
79-
<span class="bx--toggle__text--left">{{ !skeleton ? "Off" : null }}</span>
80+
<span class="bx--toggle__text--left">{{!skeleton ? leftText : null}}</span>
8081
<span class="bx--toggle__appearance"></span>
81-
<span class="bx--toggle__text--right">{{ !skeleton ? "On" : null }}</span>
82+
<span class="bx--toggle__text--right">{{!skeleton ? rightText : null}}</span>
8283
</label>
8384
8485
<label
@@ -112,6 +113,18 @@ export class Toggle extends Checkbox {
112113
*/
113114
static toggleCount = 0;
114115

116+
/**
117+
* Text that is set on the left side of the toggle.
118+
* @type {(string)}
119+
* @memberof Toggle
120+
*/
121+
@Input() leftText = this.i18n.get().TOGGLE.LEFTTEXT;
122+
/**
123+
* Text that is set on the right side of the toggle.
124+
* @type {(string)}
125+
* @memberof Toggle
126+
*/
127+
@Input() rightText = this.i18n.get().TOGGLE.RIGHTTEXT;
115128
/**
116129
* Size of the toggle component.
117130
* @type {("sm" | "md" | "default")}
@@ -143,7 +156,7 @@ export class Toggle extends Checkbox {
143156
* @param {ChangeDetectorRef} changeDetectorRef
144157
* @memberof Toggle
145158
*/
146-
constructor(protected changeDetectorRef: ChangeDetectorRef) {
159+
constructor(protected changeDetectorRef: ChangeDetectorRef, protected i18n: I18n) {
147160
super(changeDetectorRef);
148161
Toggle.toggleCount++;
149162
}

src/toggle/toggle.module.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { FormsModule } from "@angular/forms";
44
import { CommonModule } from "@angular/common";
55

66
// imports
7+
import { I18nModule } from "../i18n/i18n.module";
78
import { Toggle } from "../toggle/toggle.component";
89

910
// exports
@@ -18,7 +19,8 @@ export { Toggle } from "../toggle/toggle.component";
1819
],
1920
imports: [
2021
CommonModule,
21-
FormsModule
22+
FormsModule,
23+
I18nModule
2224
]
2325
})
2426
export class ToggleModule { }

0 commit comments

Comments
 (0)