mirror of https://github.com/openclaw/openclaw.git
23 lines
523 B
TypeScript
23 lines
523 B
TypeScript
import type { ReactiveController, ReactiveControllerHost } from "lit";
|
|
import { i18n } from "./translate.ts";
|
|
|
|
export class I18nController implements ReactiveController {
|
|
private host: ReactiveControllerHost;
|
|
private unsubscribe?: () => void;
|
|
|
|
constructor(host: ReactiveControllerHost) {
|
|
this.host = host;
|
|
this.host.addController(this);
|
|
}
|
|
|
|
hostConnected() {
|
|
this.unsubscribe = i18n.subscribe(() => {
|
|
this.host.requestUpdate();
|
|
});
|
|
}
|
|
|
|
hostDisconnected() {
|
|
this.unsubscribe?.();
|
|
}
|
|
}
|