mirror of
https://github.com/screentinker/screentinker.git
synced 2026-05-15 07:32:23 -06:00
ScreenTinker - open source digital signage management software. MIT License, all features included, no license gates. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
159 lines
5.2 KiB
JavaScript
159 lines
5.2 KiB
JavaScript
const translations = {
|
|
en: {
|
|
// Nav
|
|
'nav.displays': 'Displays',
|
|
'nav.content': 'Content',
|
|
'nav.layouts': 'Layouts',
|
|
'nav.widgets': 'Widgets',
|
|
'nav.schedule': 'Schedule',
|
|
'nav.walls': 'Video Walls',
|
|
'nav.reports': 'Reports',
|
|
'nav.designer': 'Designer',
|
|
'nav.activity': 'Activity',
|
|
'nav.settings': 'Settings',
|
|
'nav.subscription': 'Subscription',
|
|
// Dashboard
|
|
'dashboard.title': 'Displays',
|
|
'dashboard.subtitle': 'Manage your remote displays',
|
|
'dashboard.add': 'Add Display',
|
|
'dashboard.search': 'Search displays...',
|
|
'dashboard.all_status': 'All Status',
|
|
'dashboard.online': 'Online',
|
|
'dashboard.offline': 'Offline',
|
|
'dashboard.no_displays': 'No displays yet',
|
|
'dashboard.no_displays_desc': 'Install the ScreenTinker app on your TV and pair it using the button above.',
|
|
// Content
|
|
'content.title': 'Content Library',
|
|
'content.subtitle': 'Upload and manage your media files',
|
|
'content.drop': 'Drop files here or click to upload',
|
|
'content.remote_url': 'Remote URL',
|
|
'content.no_content': 'No content yet',
|
|
// Common
|
|
'common.save': 'Save',
|
|
'common.cancel': 'Cancel',
|
|
'common.delete': 'Delete',
|
|
'common.edit': 'Edit',
|
|
'common.loading': 'Loading...',
|
|
'common.connected': 'Connected',
|
|
'common.disconnected': 'Disconnected',
|
|
// Auth
|
|
'auth.sign_in': 'Sign In',
|
|
'auth.create_account': 'Create Account',
|
|
'auth.email': 'Email',
|
|
'auth.password': 'Password',
|
|
'auth.name': 'Name',
|
|
'auth.sign_out': 'Sign out',
|
|
},
|
|
es: {
|
|
'nav.displays': 'Pantallas',
|
|
'nav.content': 'Contenido',
|
|
'nav.layouts': 'Diseños',
|
|
'nav.widgets': 'Widgets',
|
|
'nav.schedule': 'Horario',
|
|
'nav.walls': 'Video Walls',
|
|
'nav.reports': 'Informes',
|
|
'nav.designer': 'Diseñador',
|
|
'nav.activity': 'Actividad',
|
|
'nav.settings': 'Configuración',
|
|
'nav.subscription': 'Suscripción',
|
|
'dashboard.title': 'Pantallas',
|
|
'dashboard.subtitle': 'Administra tus pantallas remotas',
|
|
'dashboard.add': 'Agregar Pantalla',
|
|
'dashboard.search': 'Buscar pantallas...',
|
|
'dashboard.all_status': 'Todos los estados',
|
|
'dashboard.online': 'En línea',
|
|
'dashboard.offline': 'Desconectado',
|
|
'dashboard.no_displays': 'Aún no hay pantallas',
|
|
'content.title': 'Biblioteca de Contenido',
|
|
'content.subtitle': 'Sube y administra tus archivos multimedia',
|
|
'content.drop': 'Arrastra archivos aquí o haz clic para subir',
|
|
'content.remote_url': 'URL Remota',
|
|
'common.save': 'Guardar',
|
|
'common.cancel': 'Cancelar',
|
|
'common.delete': 'Eliminar',
|
|
'common.edit': 'Editar',
|
|
'common.loading': 'Cargando...',
|
|
'common.connected': 'Conectado',
|
|
'common.disconnected': 'Desconectado',
|
|
'auth.sign_in': 'Iniciar Sesión',
|
|
'auth.create_account': 'Crear Cuenta',
|
|
'auth.email': 'Correo electrónico',
|
|
'auth.password': 'Contraseña',
|
|
'auth.name': 'Nombre',
|
|
'auth.sign_out': 'Cerrar sesión',
|
|
},
|
|
fr: {
|
|
'nav.displays': 'Écrans',
|
|
'nav.content': 'Contenu',
|
|
'nav.layouts': 'Mises en page',
|
|
'nav.widgets': 'Widgets',
|
|
'nav.schedule': 'Calendrier',
|
|
'nav.walls': 'Murs vidéo',
|
|
'nav.reports': 'Rapports',
|
|
'nav.designer': 'Concepteur',
|
|
'nav.activity': 'Activité',
|
|
'nav.settings': 'Paramètres',
|
|
'nav.subscription': 'Abonnement',
|
|
'dashboard.title': 'Écrans',
|
|
'dashboard.subtitle': 'Gérez vos écrans distants',
|
|
'dashboard.add': 'Ajouter un écran',
|
|
'dashboard.search': 'Rechercher des écrans...',
|
|
'common.save': 'Enregistrer',
|
|
'common.cancel': 'Annuler',
|
|
'common.delete': 'Supprimer',
|
|
'common.loading': 'Chargement...',
|
|
'auth.sign_in': 'Se connecter',
|
|
'auth.create_account': 'Créer un compte',
|
|
'auth.sign_out': 'Se déconnecter',
|
|
},
|
|
de: {
|
|
'nav.displays': 'Bildschirme',
|
|
'nav.content': 'Inhalt',
|
|
'nav.layouts': 'Layouts',
|
|
'nav.widgets': 'Widgets',
|
|
'nav.schedule': 'Zeitplan',
|
|
'nav.walls': 'Videowände',
|
|
'nav.reports': 'Berichte',
|
|
'nav.designer': 'Designer',
|
|
'nav.activity': 'Aktivität',
|
|
'nav.settings': 'Einstellungen',
|
|
'nav.subscription': 'Abonnement',
|
|
'dashboard.title': 'Bildschirme',
|
|
'dashboard.subtitle': 'Verwalten Sie Ihre Remote-Displays',
|
|
'dashboard.add': 'Bildschirm hinzufügen',
|
|
'dashboard.search': 'Bildschirme suchen...',
|
|
'common.save': 'Speichern',
|
|
'common.cancel': 'Abbrechen',
|
|
'common.delete': 'Löschen',
|
|
'common.loading': 'Laden...',
|
|
'auth.sign_in': 'Anmelden',
|
|
'auth.create_account': 'Konto erstellen',
|
|
'auth.sign_out': 'Abmelden',
|
|
},
|
|
};
|
|
|
|
let currentLang = localStorage.getItem('rd_lang') || navigator.language?.split('-')[0] || 'en';
|
|
if (!translations[currentLang]) currentLang = 'en';
|
|
|
|
export function t(key) {
|
|
return translations[currentLang]?.[key] || translations.en[key] || key;
|
|
}
|
|
|
|
export function setLanguage(lang) {
|
|
currentLang = lang;
|
|
localStorage.setItem('rd_lang', lang);
|
|
}
|
|
|
|
export function getLanguage() {
|
|
return currentLang;
|
|
}
|
|
|
|
export function getAvailableLanguages() {
|
|
return [
|
|
{ code: 'en', name: 'English' },
|
|
{ code: 'es', name: 'Español' },
|
|
{ code: 'fr', name: 'Français' },
|
|
{ code: 'de', name: 'Deutsch' },
|
|
];
|
|
}
|