import { Injectable, signal } from '@angular/core'; export interface Language { code: string; name: string; flag: string; flagSvg: string; enabled: boolean; } @Injectable({ providedIn: 'root' }) export class LanguageService { private currentLanguageSignal = signal('ru'); languages: Language[] = [ { code: 'ru', name: 'Русский', flag: '🇷🇺', flagSvg: '/flags/ru.svg', enabled: true }, { code: 'en', name: 'English', flag: '🇬🇧', flagSvg: '/flags/en.svg', enabled: false }, { code: 'hy', name: 'Հայերեն', flag: '🇦🇲', flagSvg: '/flags/arm.svg', enabled: false } ]; currentLanguage = this.currentLanguageSignal.asReadonly(); constructor() { // Load saved language from localStorage const savedLang = localStorage.getItem('selectedLanguage'); if (savedLang && this.languages.find(l => l.code === savedLang && l.enabled)) { this.currentLanguageSignal.set(savedLang); } } setLanguage(langCode: string): void { const lang = this.languages.find(l => l.code === langCode); if (lang && lang.enabled) { this.currentLanguageSignal.set(langCode); localStorage.setItem('selectedLanguage', langCode); } } getCurrentLanguage(): Language | undefined { return this.languages.find(l => l.code === this.currentLanguageSignal()); } }