From 5ec269af0a1395b918e03e064b26decf3fbbbad8 Mon Sep 17 00:00:00 2001 From: DrSliD <4095979+drslid@users.noreply.github.com> Date: Sat, 12 Sep 2026 09:30:35 +0200 Subject: [PATCH] Simplify catalogue, settings and fullscreen controls --- README.md | 30 ++++---- aide.html | 20 ++--- ar/aide.html | 20 ++--- ar/index.html | 39 ++++++---- css/styles.css | 25 +++++++ de/aide.html | 20 ++--- de/index.html | 39 ++++++---- docs/APPAIRAGE-TELEPHONE-TESLA.md | 6 +- docs/AUDIT-AMELIORATIONS.md | 16 ++++ docs/LIENS.md | 6 +- en/aide.html | 20 ++--- en/index.html | 39 ++++++---- es/aide.html | 20 ++--- es/index.html | 39 ++++++---- fr/aide.html | 20 ++--- fr/index.html | 39 ++++++---- index.html | 39 ++++++---- it/aide.html | 20 ++--- it/index.html | 39 ++++++---- js/locales/app-ar.json | 22 +++++- js/locales/app-de.json | 22 +++++- js/locales/app-en.json | 22 +++++- js/locales/app-es.json | 22 +++++- js/locales/app-fr.json | 22 +++++- js/locales/app-it.json | 22 +++++- js/locales/app-pt.json | 22 +++++- js/locales/app-ru.json | 22 +++++- js/locales/help-ar.json | 16 ++-- js/locales/help-de.json | 16 ++-- js/locales/help-en.json | 16 ++-- js/locales/help-es.json | 16 ++-- js/locales/help-fr.json | 16 ++-- js/locales/help-it.json | 16 ++-- js/locales/help-pt.json | 16 ++-- js/locales/help-ru.json | 16 ++-- js/locales/prefs-ar.json | 23 +----- js/locales/prefs-de.json | 23 +----- js/locales/prefs-en.json | 23 +----- js/locales/prefs-es.json | 23 +----- js/locales/prefs-fr.json | 23 +----- js/locales/prefs-it.json | 23 +----- js/locales/prefs-pt.json | 23 +----- js/locales/prefs-ru.json | 23 +----- js/locales/seo-ar.json | 4 +- js/locales/seo-de.json | 4 +- js/locales/seo-en.json | 4 +- js/locales/seo-es.json | 4 +- js/locales/seo-fr.json | 4 +- js/locales/seo-it.json | 4 +- js/locales/seo-pt.json | 4 +- js/locales/seo-ru.json | 4 +- js/locales/static-ar.json | 2 +- js/locales/static-de.json | 2 +- js/locales/static-en.json | 2 +- js/locales/static-es.json | 2 +- js/locales/static-fr.json | 2 +- js/locales/static-it.json | 2 +- js/locales/static-pt.json | 2 +- js/locales/static-ru.json | 2 +- js/preferences.js | 31 +------- js/script.js | 119 +++++++++++++++++------------- js/state.js | 13 ++-- js/translations.js | 2 +- pt/aide.html | 20 ++--- pt/index.html | 39 ++++++---- ru/aide.html | 20 ++--- ru/index.html | 39 ++++++---- scripts/browser-smoke.cjs | 61 ++++++++------- scripts/catalog-smoke.cjs | 72 ++++++++++++++++-- scripts/i18n-smoke.cjs | 20 +++-- scripts/interaction-smoke.cjs | 37 +++++++++- scripts/production-smoke.cjs | 16 +++- tests/catalog.test.js | 20 ++++- tests/preferences.test.js | 45 +++++++---- tests/state-services.test.js | 27 ++++--- tests/state.test.js | 18 +++++ tests/usage-categories.test.js | 21 ++++++ 77 files changed, 972 insertions(+), 680 deletions(-) diff --git a/README.md b/README.md index d626ceb..cb2fa70 100644 --- a/README.md +++ b/README.md @@ -11,15 +11,15 @@ Le projet utilise HTML, CSS et JavaScript natifs : aucun compte EvPortal, aucun ## Fonctionnalités - **Écran épuré** : logo EvPortal d’origine centré, rangées de grands raccourcis centrées et changement de thème directement dans l’en-tête. -- **147 services, 10 catégories** : recharge, navigation, vidéo, musique, télévision, jeux et services pratiques. Le catalogue comprend 35 services à ajouter à la demande ; 112 appartiennent à la sélection initiale avant filtrage par pays, dont 108 pour la France. +- **147 services, 10 catégories** : recharge, navigation, vidéo, musique, télévision, jeux et services pratiques. Le catalogue est identique pour tous : 112 services dans la sélection initiale et 35 à ajouter à la demande. - **Vue « Tous » automatique** : les raccourcis les plus ouverts passent en premier ; l’ordre manuel départage les égalités. - **Personnalisation tactile** : glisser-déposer dans les catégories et les favoris ; création, modification et choix de l’icône des catégories. Un même service peut apparaître dans plusieurs catégories tout en conservant un seul favori et un seul compteur. - **Suppression directe** : raccourcis et catégories sont supprimés immédiatement, sans fenêtre de confirmation. La réinitialisation complète reste confirmée. -- **Ajout direct** : le bouton « + » donne accès au catalogue, à « Créer un raccourci » et à « Créer une catégorie ». -- **Catégories personnelles** : jusqu’à cinq catégories créées, avec un nom de 16 caractères maximum ; anciennes configurations préservées. +- **Catalogue direct** : le bouton « + » ouvre des catégories repliables, avec « Ajouter » ou « Supprimer » sur chaque service. « Créer un raccourci » et « Créer une catégorie » restent en haut du catalogue. +- **Catégories personnelles** : jusqu’à cinq catégories créées, avec un nom de 16 caractères maximum et 25 icônes proposées, dont les choix supplémentaires dans « Plus d’icônes » ; anciennes configurations préservées. - **Navigation adaptée** : choisissez les catégories à afficher et ouvrez directement vos favoris ; les catégories visibles se répartissent sans défilement horizontal. Masquer une catégorie conserve ses raccourcis dans Tous et Favoris. -- **Catalogue par pays** : le pays choisi adapte les suggestions dans Ajouter ; « Voir tous les pays » donne accès à la sélection complète, sans supprimer les raccourcis existants. -- **Recherche, favoris et thèmes** : accès aux services habituels et choix clair ou sombre. Les raccourcis ouvrent les services dans un nouvel onglet. +- **Catalogue commun** : aucun choix de pays ni filtre géographique ; les personnalisations existantes sont conservées. Les services externes gardent leurs propres restrictions régionales. +- **Recherche, favoris et thèmes** : le thème sombre est proposé par défaut et un choix clair existant reste conservé. Les raccourcis ouvrent les services dans un nouvel onglet. - **Huit langues** : anglais, français, espagnol, allemand, italien, russe, arabe et portugais ; interface et aide traduites, noms natifs et drapeaux dans le sélecteur, présentation de droite à gauche en arabe. - **Sauvegarde locale** : catégories, liens, ordre, favoris, compteurs d’ouverture et préférences restent dans la configuration de l’appareil. - **Trois parcours de sauvegarde** : Code ou lien → Créer / Ajouter ; Téléphone → Envoyer / Recevoir ; Mes sauvegardes → Restaurer. Ajouter conserve une sauvegarde ; Restaurer applique son contenu. @@ -31,19 +31,19 @@ Le projet utilise HTML, CSS et JavaScript natifs : aucun compte EvPortal, aucun 1. Choisissez une catégorie et touchez un raccourci pour ouvrir le service dans un nouvel onglet. 2. Dans « Tous », les services les plus ouverts sont placés en premier automatiquement. Pour réorganiser manuellement, choisissez une catégorie ou « Favoris », touchez « Modifier », déplacez les raccourcis puis touchez « Terminer ». -3. Touchez « + » pour choisir un service du catalogue ou créer un raccourci ou une catégorie. Un service marqué « Déjà présent » est déjà dans votre tableau. +3. Touchez « + », ouvrez une catégorie du catalogue, puis utilisez **Ajouter** ou **Supprimer** sur un service. Les catégories se replient pour garder une liste courte. Les actions **Créer un raccourci** et **Créer une catégorie** sont placées en haut du catalogue. 4. Pour renommer une catégorie ou changer son icône, utilisez son crayon en mode « Modifier ». Les noms des nouvelles catégories sont limités à 16 caractères et leur nombre à cinq catégories personnelles. 5. Pour afficher un service dans plusieurs catégories, modifiez son raccourci, choisissez sa catégorie principale puis **Autres catégories**. Le service reste unique dans **Tous** et **Favoris** : nom, lien, favori et compteur sont partagés entre ses catégories. -### Choisir son catalogue et son accueil +### Choisir son accueil -Dans **Paramètres → Catalogue et accueil**, choisissez votre pays, les catégories affichées et **Ouvrir sur mes favoris**. Le pays adapte les suggestions dans **Ajouter**, et la sélection proposée à une nouvelle installation ; un changement de pays conserve la configuration existante. **Voir tous les pays** affiche le catalogue complet. Masquer une catégorie retire son onglet, sans supprimer ses raccourcis de **Tous** ou **Favoris**. +Dans **Paramètres → Accueil**, choisissez les catégories affichées et **Ouvrir sur mes favoris**. Masquer une catégorie retire son onglet, sans supprimer ses raccourcis de **Tous** ou **Favoris**. La gestion du catalogue et la création de raccourcis ou de catégories passent par le bouton **« + »**. -Ces préférences restent propres à cet appareil : elles ne sont pas ajoutées aux fichiers de sauvegarde, aux pages Telegra.ph ou aux transferts QR. La région explicite du navigateur suggère le pays initial si elle est reconnue ; une langue seule ne détermine pas de pays. Le choix manuel reste prioritaire. Aucune position GPS, permission de géolocalisation ou recherche de pays auprès d’un service tiers n’est utilisée. +Ces préférences restent propres à cet appareil : elles ne sont pas ajoutées aux fichiers de sauvegarde, aux pages Telegra.ph ou aux transferts QR. Le catalogue est le même pour tous, sans déduction de pays ni géolocalisation. ### Code ou lien : créer et ajouter -Dans **Paramètres → Code ou lien → Créer**, un nom facultatif accompagne la création d’un code et d’un lien EvPortal à copier. Ce parcours n’affiche pas de QR. La page créée apparaît dans **Mes sauvegardes → En ligne** ; sa création n’ajoute pas automatiquement une seconde copie locale. +Dans **Paramètres → Sauvegardes → Code ou lien → Créer**, un nom facultatif accompagne la création d’un code et d’un lien EvPortal à copier. Ce parcours n’affiche pas de QR. La page créée apparaît dans **Mes sauvegardes → En ligne** ; sa création n’ajoute pas automatiquement une seconde copie locale. **Ajouter** accepte un code ou un lien EvPortal. Un clic valide et charge le contenu, puis enregistre un instantané dans **Sur cet appareil**, sans remplacer les raccourcis actuels. Les anciens liens Telegra.ph restent acceptés. Choisir un fichier JSON dans **Plus d’options** ajoute également une sauvegarde locale après validation. La liste s’ouvre ensuite pour permettre de choisir une sauvegarde et, séparément, de la restaurer. @@ -51,13 +51,13 @@ Les nouveaux liens utilisent un identifiant aléatoire difficile à deviner. La ### Téléphone : envoyer et recevoir par QR -Dans **Paramètres → Téléphone**, **Envoyer** affiche un QR à scanner avec le téléphone pour récupérer une sauvegarde de cet écran. **Recevoir** affiche le QR permettant au téléphone d’envoyer ses raccourcis actuels ou une sauvegarde choisie. Dans les deux sens, l’écran destinataire propose **Ajouter** pour conserver la sauvegarde dans sa liste locale ; aucun transfert ne remplace directement les raccourcis. +Dans **Paramètres → Sauvegardes → Téléphone**, **Envoyer** affiche un QR à scanner avec le téléphone pour récupérer une sauvegarde de cet écran. **Recevoir** affiche le QR permettant au téléphone d’envoyer ses raccourcis actuels ou une sauvegarde choisie. Dans les deux sens, l’écran destinataire propose **Ajouter** pour conserver la sauvegarde dans sa liste locale ; aucun transfert ne remplace directement les raccourcis. Le transfert est chiffré et valable cinq minutes, sans synchronisation automatique. Il nécessite le relais configuré et accessible aux deux appareils. Les parcours et sa mise en service sont décrits dans [la documentation d’appairage](docs/APPAIRAGE-TELEPHONE-TESLA.md). ### Mes sauvegardes : restaurer et gérer -Ouvrez **Paramètres → Mes sauvegardes → Restaurer**. **Sur cet appareil** contient les instantanés ajoutés localement ; **En ligne** affiche les pages du compte Telegra.ph présent dans ce navigateur. Choisissez une sauvegarde, vérifiez son contenu puis touchez **Restaurer**. Cette dernière action remplace les raccourcis actifs. **Annuler la dernière restauration**, dans les options des paramètres, permet de retrouver la configuration précédente. +Ouvrez **Paramètres → Sauvegardes → Mes sauvegardes → Restaurer**. **Sur cet appareil** contient les instantanés ajoutés localement ; **En ligne** affiche les pages du compte Telegra.ph présent dans ce navigateur. Choisissez une sauvegarde, vérifiez son contenu puis touchez **Restaurer**. Cette dernière action remplace les raccourcis actifs. **Annuler la dernière restauration**, dans les options des paramètres, permet de retrouver la configuration précédente. La liste locale conserve jusqu’à 50 sauvegardes, avec une limite de 2 Mo par sauvegarde et selon l’espace disponible dans le navigateur. Les contenus locaux restent utilisables pour une restauration après la suppression de leur page d’origine ; ils ne sont pas synchronisés avec celle-ci. Le fichier JSON permet aussi de conserver une copie en dehors du navigateur et de dépasser les limites de taille du transfert direct ou de Telegra.ph. @@ -87,7 +87,7 @@ Ce mécanisme dépend du navigateur et du logiciel du véhicule ; un essai sur T La configuration est stockée dans le `localStorage` du navigateur, sous la clé `evportal.state.v2`. Les informations du compte Telegra.ph restent séparées sous `evportal.telegraph.v1`. Les instantanés de la liste locale sont stockés séparément sous `evportal.backups.v1` ; ajouter ou retirer un instantané ne modifie pas la configuration active. Effacer les données du site ou changer de navigateur peut faire perdre la personnalisation : un partage Telegra.ph ou un export JSON permet de la retrouver. Si le stockage est bloqué ou une sauvegarde est illisible, un message explique la situation et l'export reste disponible pour préserver la session. -La langue se choisit dans Paramètres et reste enregistrée sur cet appareil, séparément de la configuration partagée. Le pays du catalogue, les catégories affichées et l’accueil Favoris utilisent leur propre clé `evportal.preferences.v1`, indépendamment de la langue. Au premier lancement, la langue du navigateur est utilisée lorsqu’elle est prise en charge. Changer de langue adapte les libellés, les dialogues, les erreurs et l’aide ; vos noms de raccourcis et de catégories personnels restent conservés. Le sélecteur affiche les langues dans leur écriture d’origine, accompagnées de drapeaux. Les deux modes de thème disponibles sont clair et sombre. +La langue se choisit dans Paramètres et reste enregistrée sur cet appareil, séparément de la configuration partagée. Les catégories affichées et l’accueil Favoris utilisent leur propre clé `evportal.preferences.v1`, indépendamment de la langue. Une adresse traduite impose sa langue ; sur l’adresse historique, le choix enregistré puis la langue du navigateur sont utilisés lorsqu’ils sont pris en charge. Changer de langue adapte les libellés, les dialogues, les erreurs et l’aide ; vos noms de raccourcis et de catégories personnels restent conservés. Le sélecteur affiche les langues dans leur écriture d’origine, accompagnées de drapeaux. Le thème sombre est utilisé par défaut ; un thème clair déjà choisi reste conservé. Le classement « Tous » utilise un compteur d’ouvertures par raccourci, associé à son identifiant et conservé après rechargement. Ce compteur reste dans la configuration locale et ses sauvegardes ; aucun service d’analyse d’audience n’est nécessaire. Le glisser-déposer est désactivé dans cette vue automatique. Les catégories et les favoris gardent leur ordre manuel. @@ -104,7 +104,7 @@ npm ci --prefix relay npm run dev ``` -Ouvrez **http://127.0.0.1:4187/** et choisissez **Paramètres → Téléphone → Recevoir**. Le serveur configure le relais local dans la réponse `/js/config.js`, sans modifier le fichier destiné à la publication. Il démarre Wrangler sur le port 8787 si nécessaire, ou vérifie un relais EvPortal déjà présent : origine autorisée, création d’une session, réception et suppression. Le bouton fonctionne dans un navigateur ordinaire disposant de Web Crypto ; aucun remplacement de configuration par Playwright n’est nécessaire. [Développement local Cloudflare](https://developers.cloudflare.com/workers/local-development/). +Ouvrez **http://127.0.0.1:4187/** et choisissez **Paramètres → Sauvegardes → Téléphone → Recevoir**. Le serveur configure le relais local dans la réponse `/js/config.js`, sans modifier le fichier destiné à la publication. Il démarre Wrangler sur le port 8787 si nécessaire, ou vérifie un relais EvPortal déjà présent : origine autorisée, création d’une session, réception et suppression. Le bouton fonctionne dans un navigateur ordinaire disposant de Web Crypto ; aucun remplacement de configuration par Playwright n’est nécessaire. [Développement local Cloudflare](https://developers.cloudflare.com/workers/local-development/). `Ctrl+C` arrête le serveur et uniquement le Worker qu’il a lui-même démarré. Un relais préexistant est conservé. Si un port est occupé par un autre programme, le démarrage s’interrompt sans arrêter ce programme. Pour choisir d’autres ports : `npm run dev -- --port 4188 --relay-port 8788`. @@ -182,7 +182,7 @@ Après publication sur GitHub Pages, `npm run test:production -- --frontend-only ### Faire évoluer le catalogue -La première révision de septembre 2026 comprenait 22 destinations actualisées, 18 nouveaux raccourcis et 4 retraits de la sélection initiale. Le catalogue révisé regroupe les services présents dans plusieurs catégories, distingue les ajouts facultatifs et adapte la sélection au pays. Consultez [le détail, les sources et les limites du contrôle des liens](docs/LIENS.md). +La première révision de septembre 2026 comprenait 22 destinations actualisées, 18 nouveaux raccourcis et 4 retraits de la sélection initiale. Le catalogue révisé regroupe les services présents dans plusieurs catégories et distingue les ajouts facultatifs. Il est désormais commun à tous ; les indications régionales des éditeurs servent à documenter les limites des services, sans filtrer l’interface. Consultez [le détail, les sources et les limites du contrôle des liens](docs/LIENS.md). Modifiez `js/catalog.js` en conservant des identifiants stables pour les catégories et les services. Préférez l’adresse officielle du service et ajoutez une description utile à la recherche et à la maintenance, sans l’afficher dans les raccourcis. Lancez `node scripts/fetch-icons.mjs` pour récupérer les logos manquants ; `--refresh` actualise également les existants. Les sources et conditions de maintenance figurent dans [le dossier des icônes](img/services/README.md). Quand un ancien lien change, documentez la correction et utilisez les remplacements d'URL prévus par le catalogue. diff --git a/aide.html b/aide.html index 59bed95..324804a 100644 --- a/aide.html +++ b/aide.html @@ -106,24 +106,24 @@

Guide EvPortal pour le navigateur Tesla

Un portail de raccourcis pour votre Tesla

EvPortal est un portail gratuit et indépendant qui rassemble vos sites favoris sur une page pensée pour le navigateur Tesla. Il s’utilise aussi dans un navigateur sur téléphone ou ordinateur. De grandes icônes donnent accès aux services choisis, sans remplir l’accueil de textes ou de widgets. Vous pouvez personnaliser vos raccourcis, leurs catégories et leur ordre, puis choisir un thème clair ou sombre.

Commencer dans le navigateur du véhicule

-

À l’arrêt, ouvrez l’adresse d’EvPortal dans le navigateur de la voiture. Enregistrez-la dans ses favoris si cette option est disponible pour la retrouver facilement. Aucune installation d’application ni connexion à un compte Tesla n’est nécessaire pour ouvrir le portail. Dans Paramètres, choisissez la langue et le pays du catalogue séparément. Vos réglages restent sur cet appareil ; une sauvegarde permet de conserver ou de transférer vos raccourcis.

+

À l’arrêt, ouvrez l’adresse d’EvPortal dans le navigateur de la voiture. Enregistrez-la dans ses favoris si cette option est disponible pour la retrouver facilement. Aucune installation d’application ni connexion à un compte Tesla n’est nécessaire pour ouvrir le portail. Le bouton « + » ouvre le catalogue pour gérer vos raccourcis. Paramètres permet de choisir la langue et votre accueil. Vos réglages restent sur cet appareil ; une sauvegarde permet de conserver ou de transférer vos raccourcis.

Retrouver vos services pendant une recharge

-

Ajoutez des liens vers vos outils de planification de trajet ou de recharge, vos radios, votre musique et la météo. Le catalogue propose des services selon le pays sélectionné ; vous pouvez aussi saisir une adresse personnelle. Chaque raccourci ouvre le site du service, avec ses propres conditions d’accès. EvPortal ne pilote pas la recharge et n’envoie aucune commande au véhicule. Les contenus de divertissement se consultent à l’arrêt.

+

Ajoutez des liens vers vos outils de planification de trajet ou de recharge, vos radios, votre musique et la météo. Le catalogue est identique pour tous, avec des catégories repliables ; vous pouvez aussi saisir une adresse personnelle. Chaque raccourci ouvre le site du service, avec ses propres conditions d’accès. EvPortal ne pilote pas la recharge et n’envoie aucune commande au véhicule. Les contenus de divertissement se consultent à l’arrêt.

-

Touchez un raccourci pour ouvrir le service dans un nouvel onglet. Le bouton de thème en haut permet de choisir le mode clair ou sombre. Les huit langues sont disponibles dans Paramètres, avec leurs noms et drapeaux ; l’arabe s’affiche de droite à gauche.

+

Touchez un raccourci pour ouvrir le service dans un nouvel onglet. Le thème sombre est utilisé par défaut ; votre choix clair ou sombre est ensuite conservé. Les huit langues sont disponibles dans Paramètres, avec leurs noms et drapeaux ; l’arabe s’affiche de droite à gauche.

Organiser les raccourcis

« Tous » affiche d’abord les raccourcis les plus ouverts. À égalité, votre ordre manuel est conservé. Le classement reste enregistré après rechargement.

Dans une catégorie ou « Favoris », touchez « Modifier » puis déplacez les raccourcis avec leur poignée. L’étoile ajoute un favori et le crayon permet de modifier. Touchez « Terminer » quand vous avez fini. « Tous » conserve son classement automatique.

Au clavier, sélectionnez une poignée puis appuyez sur Espace, utilisez les flèches et validez avec Entrée. Échap annule.

Ajouter un raccourci ou une catégorie

-

Le bouton « + » ouvre le catalogue et propose de créer un raccourci ou une catégorie. « Déjà présent » indique un service déjà ajouté. La loupe recherche dans tous vos raccourcis.

-

Créez jusqu’à cinq catégories personnelles avec un nom de 16 caractères maximum et une icône au choix. Le crayon permet de les modifier. Les anciennes catégories dépassant ces limites sont conservées. Les catégories affichées se répartissent sans défilement horizontal.

+

Le bouton « + » ouvre le même catalogue pour tous. Ouvrez ou repliez une catégorie, puis utilisez Ajouter ou Supprimer sur un service. Créer un raccourci et Créer une catégorie se trouvent en haut du catalogue. La loupe recherche dans tous vos raccourcis.

+

Créez jusqu’à cinq catégories personnelles avec un nom de 16 caractères maximum et une icône au choix. Plus d’icônes ouvre les choix supplémentaires. Le crayon permet de modifier une catégorie. Les anciennes catégories dépassant ces limites sont conservées. Les catégories affichées se répartissent sans défilement horizontal.

Un service peut apparaître dans plusieurs catégories avec un seul favori et un seul compteur ; Tous ne l’affiche qu’une fois. Dans Modifier, ouvrez Autres catégories pour choisir où il apparaît. Supprimer une catégorie conserve les services encore présents dans une autre catégorie.

-

Choisir son catalogue et son accueil

-

Dans Paramètres → Catalogue et accueil, choisissez votre pays, les catégories à afficher et l’ouverture sur vos favoris. Le pays adapte les suggestions dans Ajouter ; il ne supprime pas vos raccourcis. Voir tous les pays élargit le catalogue. Une catégorie masquée conserve ses raccourcis dans Tous et Favoris. Ces choix restent sur cet appareil et ne sont pas transmis dans les sauvegardes ou par QR. Le pays initial est suggéré par la région du navigateur, sans demander votre position.

+

Choisir son accueil

+

Dans Paramètres → Accueil, choisissez les catégories à afficher et l’ouverture sur vos favoris. Ces préférences restent sur cet appareil et ne sont pas transmises dans les sauvegardes ou par QR. Le catalogue se gère avec le bouton « + ».

Téléphone : envoyer ou recevoir

    -
  1. Dans Paramètres → Téléphone, choisissez Envoyer ou Recevoir.
  2. +
  3. Dans Paramètres → Sauvegardes → Téléphone, choisissez Envoyer ou Recevoir.
  4. Scannez le QR affiché avec votre téléphone.
  5. Pour envoyer depuis le téléphone, choisissez ses raccourcis ou une sauvegarde, puis touchez Envoyer.
  6. Sur l’écran qui reçoit, touchez Ajouter pour conserver la sauvegarde sur cet appareil.
  7. @@ -132,7 +132,7 @@

    Téléphone : envoyer ou recevoir

    Le QR sert au transfert avec le téléphone. Créer un code ou un lien n’affiche pas de QR.

    Le transfert est chiffré et valable cinq minutes lorsque le service est disponible. Il transmet un instantané, sans synchronisation automatique. Recevoir une sauvegarde ne remplace pas vos raccourcis.

    Code ou lien

    -

    Dans Paramètres → Code ou lien, Créer prépare un code et un lien EvPortal à copier. Ajouter accepte l’un ou l’autre et enregistre une copie locale après validation. Les fichiers JSON restent disponibles dans Plus d’options. La page Telegra.ph créée est publique ; la copie locale et la page en ligne sont distinctes.

    +

    Dans Paramètres → Sauvegardes → Code ou lien, Créer prépare un code et un lien EvPortal à copier. Ajouter accepte l’un ou l’autre et enregistre une copie locale après validation. Les fichiers JSON restent disponibles dans Plus d’options. La page Telegra.ph créée est publique ; la copie locale et la page en ligne sont distinctes.

    Plein écran Tesla

    À l’arrêt, touchez « Plein écran ». Sur YouTube, choisissez « Accéder au site » ou « Go to site » pour revenir à EvPortal dans le mode Théâtre. Les raccourcis demandent un nouvel onglet, dont le comportement dépend du navigateur du véhicule.

    Si la Tesla n’est pas reconnue, choisissez « Ouvrir le mode Théâtre Tesla » dans Paramètres. Sur ordinateur, le bouton utilise le plein écran classique. La redirection peut évoluer avec les mises à jour du véhicule ou de YouTube.

    @@ -143,7 +143,7 @@

    Plein écran Tesla

    Méthode décrite par myTesla

    Restaurer une sauvegarde

    -

    Dans Paramètres → Mes sauvegardes → Restaurer, choisissez une sauvegarde dans Sur cet appareil ou En ligne, puis vérifiez son contenu. Seul Restaurer remplace vos raccourcis. Les options des paramètres permettent d’annuler la dernière restauration. Ajouter un code, un lien, un fichier ou une réception QR conserve une sauvegarde sans l’appliquer. Chaque navigateur conserve sa propre liste locale.

    +

    Dans Paramètres → Sauvegardes → Mes sauvegardes → Restaurer, choisissez une sauvegarde dans Sur cet appareil ou En ligne, puis vérifiez son contenu. Seul Restaurer remplace vos raccourcis. Les options des paramètres permettent d’annuler la dernière restauration. Ajouter un code, un lien, un fichier ou une réception QR conserve une sauvegarde sans l’appliquer. Chaque navigateur conserve sa propre liste locale.

    Tester un aperçu local

    Le QR utilise l’adresse du portail ouvert. Sur un téléphone, localhost ou 127.0.0.1 désigne le téléphone lui-même. Pour un essai entre appareils, le portail et le relais doivent être accessibles aux deux en HTTPS. Les codes et liens de sauvegarde utilisent l’adresse publique d’EvPortal.

    À propos et confidentialité

    diff --git a/ar/aide.html b/ar/aide.html index cf07d19..a93c7df 100644 --- a/ar/aide.html +++ b/ar/aide.html @@ -106,24 +106,24 @@

    دليل EvPortal لمتصفح تسلا

    بوابة اختصارات لسيارتك تسلا

    EvPortal بوابة مجانية ومستقلة تجمع مواقعك المفضلة في صفحة مصممة لمتصفح تسلا. يمكنك استخدامها أيضًا في متصفح الهاتف أو الكمبيوتر. تفتح الأيقونات الكبيرة الخدمات التي تختارها، دون ملء الشاشة الرئيسية بالنصوص أو الأدوات المصغرة. يمكنك تخصيص الاختصارات وفئاتها وترتيبها، ثم اختيار المظهر الفاتح أو الداكن. تبقى روابطك التي تحتاج إليها في مكان واحد يسهل الوصول إليه أثناء التوقف.

    البدء من متصفح السيارة

    -

    عندما تكون السيارة متوقفة، افتح عنوان EvPortal في متصفحها. احفظ الصفحة في مفضلة المتصفح إن كان هذا الخيار متاحًا لتعود إليها بسهولة. لا تحتاج إلى تثبيت تطبيق أو تسجيل الدخول إلى حساب تسلا لفتح البوابة. في الإعدادات، يمكنك اختيار لغة الواجهة وبلد الكتالوج بشكل مستقل. تبقى تفضيلاتك على هذا الجهاز، وتتيح لك النسخة الاحتياطية الاحتفاظ باختصاراتك أو نقلها إلى جهاز آخر.

    +

    عندما تكون السيارة متوقفة، افتح عنوان EvPortal في متصفحها. احفظ الصفحة في مفضلة المتصفح إن كان هذا الخيار متاحًا لتعود إليها بسهولة. لا تحتاج إلى تثبيت تطبيق أو تسجيل الدخول إلى حساب تسلا لفتح البوابة. يفتح زر «+» الكتالوج لإدارة اختصاراتك. يمكنك اختيار اللغة والشاشة الرئيسية من الإعدادات. تبقى تفضيلاتك على هذا الجهاز، وتتيح لك النسخة الاحتياطية الاحتفاظ باختصاراتك أو نقلها إلى جهاز آخر.

    الوصول إلى خدماتك أثناء الشحن

    -

    أضف روابط أدوات تخطيط الرحلات أو الشحن، ومحطات الراديو والموسيقى والطقس. يقترح الكتالوج خدمات بحسب البلد المحدد، ويمكنك أيضًا إدخال عنوان موقع تختاره بنفسك. يفتح كل اختصار موقع الخدمة وفق شروط الوصول الخاصة بها. لا يتحكم EvPortal في الشحن ولا يرسل أوامر إلى السيارة. استخدم المحتوى الترفيهي أثناء التوقف. تغيير بلد الكتالوج يغيّر الاقتراحات دون حذف الاختصارات التي أضفتها من قبل.

    +

    أضف روابط أدوات تخطيط الرحلات أو الشحن، ومحطات الراديو والموسيقى والطقس. الكتالوج موحّد للجميع ويضم فئات قابلة للطي، ويمكنك أيضًا إدخال عنوان موقع تختاره بنفسك. يفتح كل اختصار موقع الخدمة وفق شروط الوصول الخاصة بها. لا يتحكم EvPortal في الشحن ولا يرسل أوامر إلى السيارة. استخدم المحتوى الترفيهي أثناء التوقف.

    -

    اضغط على اختصار لفتح الخدمة في علامة تبويب جديدة. يتيح زر المظهر في الأعلى اختيار الوضع الفاتح أو الداكن. تتوفر اللغات الثماني في الإعدادات بأسمائها وأعلامها؛ وتُعرض العربية من اليمين إلى اليسار.

    +

    اضغط على اختصار لفتح الخدمة في علامة تبويب جديدة. المظهر الداكن هو الافتراضي، ثم يُحفظ اختيارك للمظهر الفاتح أو الداكن. تتوفر ثماني لغات في الإعدادات بأسمائها الأصلية وأعلامها، وتُعرض العربية من اليمين إلى اليسار.

    تنظيم الاختصارات

    يعرض قسم «الكل» الاختصارات الأكثر فتحًا أولًا. وعند تساوي عدد مرات الفتح، يُحفظ ترتيبك اليدوي. يبقى الترتيب محفوظًا بعد إعادة تحميل الصفحة.

    داخل فئة أو في «المفضلة»، اضغط على «تعديل» ثم حرّك الاختصارات باستخدام مقابضها. تضيف النجمة الاختصار إلى المفضلة، ويتيح القلم تعديله. اضغط على «تم» عند الانتهاء. يحتفظ قسم «الكل» بترتيبه التلقائي.

    باستخدام لوحة المفاتيح، حدّد مقبضًا واضغط على مفتاح المسافة، ثم حرّكه بالأسهم وأكّد بمفتاح Enter. يلغي مفتاح Escape العملية.

    إضافة اختصار أو فئة

    -

    يفتح زر + الدليل ويتيح إنشاء اختصار أو فئة. تعني عبارة «موجود بالفعل» أن الخدمة مضافة إلى لوحتك. يشمل البحث جميع اختصاراتك.

    -

    يمكنك إنشاء خمس فئات شخصية كحد أقصى، باسم لا يتجاوز 16 حرفًا ورمز تختاره. استخدم القلم لتعديلها. تُحفظ الفئات القديمة حتى إن تجاوزت هذه الحدود. تُرتّب الفئات المعروضة دون تمرير أفقي.

    +

    يفتح زر «+» الكتالوج نفسه للجميع. وسّع فئة أو اطوها، ثم استخدم إضافة أو حذف عند الخدمة. تجد إنشاء اختصار وإنشاء فئة في أعلى الكتالوج. تبحث العدسة في جميع اختصاراتك.

    +

    أنشئ حتى خمس فئات شخصية بأسماء لا تتجاوز 16 حرفًا وأيقونة من اختيارك. يفتح المزيد من الأيقونات الخيارات الإضافية. يتيح القلم تعديل الفئة. تُحفظ الفئات القديمة التي تتجاوز هذه الحدود. تتوزع الفئات الظاهرة دون تمرير أفقي.

    يمكن أن تظهر الخدمة في عدة فئات بحالة مفضلة وعدّاد موحّدين؛ وتظهر مرة واحدة فقط في الكل. عند التعديل، افتح فئات أخرى لاختيار مكان ظهورها. عند حذف فئة، تبقى الخدمات الموجودة أيضًا في فئة أخرى.

    -

    اختيار الكتالوج والشاشة الرئيسية

    -

    في الإعدادات ← الكتالوج والشاشة الرئيسية، اختر البلد والفئات المعروضة وما إذا كنت تريد البدء بالمفضلة. يكيّف البلد الاقتراحات في إضافة ولا يحذف اختصاراتك. يوسّع عرض جميع البلدان الكتالوج. تبقى اختصارات الفئات المخفية في الكل والمفضلة. تظل هذه الخيارات على هذا الجهاز ولا تُضمّن في النسخ الاحتياطية أو عمليات النقل عبر QR. يُقترح البلد الأولي بناءً على منطقة المتصفح، دون طلب موقعك.

    +

    اختيار الشاشة الرئيسية

    +

    في الإعدادات ← الشاشة الرئيسية، اختر الفئات الظاهرة وما إذا كنت تريد فتح المفضلة عند البدء. تبقى هذه التفضيلات على هذا الجهاز ولا تُضمّن في النسخ الاحتياطية أو عمليات النقل برمز QR. يمكنك إدارة الكتالوج من زر «+».

    الهاتف: إرسال أو استقبال

      -
    1. في الإعدادات ← الهاتف، اختر إرسال أو استقبال.
    2. +
    3. في الإعدادات ← النسخ الاحتياطية ← الهاتف، اختر إرسال أو استقبال.
    4. امسح رمز QR المعروض بهاتفك.
    5. للإرسال من الهاتف، اختر اختصاراته أو نسخة احتياطية ثم اضغط على إرسال.
    6. على الشاشة المستقبِلة، اضغط على إضافة لحفظ النسخة الاحتياطية على ذلك الجهاز.
    7. @@ -132,7 +132,7 @@

      الهاتف: إرسال أو استقبا

      يُستخدم QR للنقل مع الهاتف. لا يظهر رمز QR عند إنشاء رمز أو رابط.

      النقل مشفّر وصالح لخمس دقائق عندما تتوفر الخدمة. ينقل لقطة دون مزامنة تلقائية. استقبال نسخة احتياطية لا يستبدل اختصاراتك.

      رمز أو رابط

      -

      في الإعدادات ← رمز أو رابط، يجهّز إنشاء رمزًا ورابط EvPortal للنسخ. تقبل إضافة أيًا منهما وتحفظ نسخة محلية بعد التحقق. تبقى ملفات JSON متاحة في خيارات إضافية. صفحة Telegra.ph المنشأة عامة؛ والنسخة المحلية والصفحة عبر الإنترنت مستقلتان.

      +

      في الإعدادات ← النسخ الاحتياطية ← رمز أو رابط، يجهّز إنشاء رمزًا ورابط EvPortal للنسخ. تقبل إضافة أيًا منهما وتحفظ نسخة محلية بعد التحقق. تبقى ملفات JSON متاحة في خيارات إضافية. صفحة Telegra.ph المنشأة عامة؛ والنسخة المحلية والصفحة عبر الإنترنت مستقلتان.

      ملء الشاشة في Tesla

      أثناء الوقوف، اضغط على «ملء الشاشة». في YouTube، اختر «الانتقال إلى الموقع» أو Go to site للعودة إلى EvPortal في وضع المسرح. تطلب الاختصارات فتح علامة تبويب جديدة، ويعتمد سلوكها على متصفح السيارة.

      إذا لم يتم التعرّف على Tesla، اختر «فتح وضع مسرح تسلا» من الإعدادات. على الحاسوب، يستخدم الزر وضع ملء الشاشة العادي. قد تتغيّر إعادة التوجيه مع تحديثات السيارة أو YouTube.

      @@ -143,7 +143,7 @@

      ملء الشاشة في Tesla

      الطريقة الموضّحة في myTesla

      استعادة نسخة احتياطية

      -

      في الإعدادات ← نسخي الاحتياطية ← استعادة، اختر نسخة من على هذا الجهاز أو عبر الإنترنت وراجع محتواها. استعادة وحدها تستبدل اختصاراتك. تتيح خيارات إضافية في الإعدادات التراجع عن آخر استعادة. إضافة رمز أو رابط أو ملف أو نقل عبر QR تحفظ نسخة دون تطبيقها. يحتفظ كل متصفح بقائمته المحلية الخاصة.

      +

      في الإعدادات ← النسخ الاحتياطية ← نسخي الاحتياطية ← استعادة، اختر نسخة من على هذا الجهاز أو عبر الإنترنت وراجع محتواها. استعادة وحدها تستبدل اختصاراتك. تتيح خيارات إضافية في الإعدادات التراجع عن آخر استعادة. إضافة رمز أو رابط أو ملف أو نقل عبر QR تحفظ نسخة دون تطبيقها. يحتفظ كل متصفح بقائمته المحلية الخاصة.

      اختبار معاينة محلية

      يستخدم QR عنوان البوابة المفتوحة. على الهاتف، يشير localhost أو 127.0.0.1 إلى الهاتف نفسه. للاختبار بين جهازين، يجب أن يتمكن كلاهما من الوصول إلى البوابة وخدمة النقل عبر HTTPS. تستخدم رموز وروابط النسخ الاحتياطية عنوان EvPortal العام.

      حول المشروع والخصوصية

      diff --git a/ar/index.html b/ar/index.html index 0f1e591..1de3b66 100644 --- a/ar/index.html +++ b/ar/index.html @@ -108,7 +108,7 @@ - + @@ -119,8 +119,20 @@ - + + + + + + + + + + + + + @@ -128,7 +140,6 @@

      — اختصارات لتسلا

      - @@ -150,29 +161,27 @@

      سينم

      +

      الإعدادات

      -

      تبقى الاختصارات متاحة في الكل والمفضلة.

      -
      الكتالوج والشاشة الرئيسية -

      يكيّف البلد الاختيار المقترح في إضافة.

      +
      الشاشة الرئيسية -
      الفئات المعروضة
      +
      الفئات المعروضة
      -
      +
      +

      النسخ الاحتياطية

      -

      رمز أو رابط

      +

      رمز أو رابط

      -

      الهاتف

      +

      الهاتف

      -

      نسخي الاحتياطية

      +

      نسخي الاحتياطية

      - -
      خيارات إضافية
      المساعدة والمعلومات @@ -245,8 +254,8 @@

      الهاتف

      -

      إضافة اختصارات

      +

      الكتالوج

      -
      +
      diff --git a/css/styles.css b/css/styles.css index d44af05..affd3a9 100644 --- a/css/styles.css +++ b/css/styles.css @@ -117,3 +117,28 @@ dialog{width:min(510px,calc(100% - 32px));max-height:calc(100dvh - 40px);padding .backup-group{margin-top:22px}.backup-group>.full-width{margin-top:0}.backup-group .backup-actions button{min-height:72px;flex-direction:row;flex-wrap:wrap}.backup-library-section h3{font-size:14px;font-weight:550;color:var(--muted);margin-top:24px}.backup-row{display:flex;gap:8px;min-width:0}.backup-select{flex:1;min-width:0;flex-direction:column;align-items:flex-start;gap:5px;padding:12px;text-align:start}.backup-select strong{font-size:14px;font-weight:550}.backup-select small{color:var(--muted);font-size:12px}.backup-select[aria-pressed="true"]{border-color:var(--accent);background:var(--raised)}.backup-delete{flex-shrink:0;align-self:center}.restore-preview{position:sticky;bottom:-26px;background:var(--surface);border-top:1px solid var(--line);padding:18px 0;margin-top:18px;overflow-wrap:anywhere}.restore-preview p{margin:8px 0}.restore-preview .full-width{margin-top:10px}.backup-copy-row{display:flex;align-items:center;gap:8px}.backup-copy-row input{min-width:0;font-size:13px}.backup-copy-row .icon-button{flex-shrink:0}#shareLink{margin:0}.backup-result{border-top:1px solid var(--line);padding-top:4px;margin-top:16px}.backup-group h3{margin-bottom:10px}.saved-backup-list:empty{display:none} /* Language links belong to the guide, keeping the driving screen compact. */ .seo-languages{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:36px;padding:20px 0;border-top:1px solid var(--line)}.seo-languages a{display:inline-flex;align-items:center;min-height:44px;font-family:'EVPortal Flag Emoji',-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px}.seo-languages [aria-current="page"]{font-weight:650;text-decoration:none}.seo-faq h3{font-size:18px;line-height:1.4;margin-top:24px}.seo-guide,.seo-faq{overflow-wrap:anywhere} +/* A bottom-mounted fullscreen control keeps the top bar focused on shortcuts. */ +.fullscreen-dock{position:fixed;left:50%;bottom:0;transform:translateX(-50%);z-index:12;max-width:calc(100% - 24px);padding:6px 8px max(6px,env(safe-area-inset-bottom,0px));border:1px solid var(--line);border-bottom:0;border-radius:22px 22px 0 0;background:var(--surface);box-shadow:0 -6px 28px #0002} +.fullscreen-button{min-height:44px;min-width:146px;max-width:100%;padding:8px 18px;border:0;border-radius:15px;background:transparent;font-size:14px;line-height:1.35} +.fullscreen-button .icon{width:19px;height:19px;color:var(--accent)}.fullscreen-button span{overflow-wrap:anywhere} +#dashboard{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}.status-message{bottom:calc(82px + env(safe-area-inset-bottom,0px))} +/* Backup actions share one clearly named section. */ +.settings-backups{padding:18px;margin:4px 0 8px;border:1px solid var(--line);border-radius:18px;background:var(--bg)} +.settings-backups>.settings-section-title{margin:0;font-size:18px;font-weight:650;color:var(--text)} +.settings-backups .backup-group{margin-top:18px}.settings-backups h4{margin:0 0 9px;font-size:13px;line-height:1.4;font-weight:550;color:var(--muted)} +/* Service groups stay distinct and can be collapsed on touch screens. */ +.catalog-content{margin-top:18px}.catalog-group{border:1px solid var(--line);border-radius:14px;margin:10px 0;background:var(--bg);overflow:hidden} +.catalog-group>summary{display:flex;align-items:center;gap:12px;padding:16px 44px 16px 16px;color:var(--text);font-size:16px;font-weight:600;min-height:62px} +.catalog-group>summary::after{right:16px;top:15px;color:var(--muted)}.catalog-group>summary .nav-icon{color:var(--accent)} +.catalog-group-label{flex:1;min-width:0;overflow-wrap:anywhere}.catalog-count{font-size:12px;color:var(--muted);font-weight:500;font-variant-numeric:tabular-nums} +.catalog-group[open]>summary{border-bottom:1px solid var(--line);background:var(--raised)} +.catalog-group .catalog-item{margin:0 14px;padding:12px 0;gap:12px}.catalog-group .catalog-item:last-child{border-bottom:0} +.catalog-item>.shortcut-icon{width:36px;height:36px;min-width:36px;border-radius:8px;font-size:17px;letter-spacing:0} +.catalog-copy strong{font-size:15px;line-height:1.35;overflow-wrap:anywhere}.catalog-item .catalog-add{min-width:110px;min-height:46px;font-size:13px;padding:8px 12px;gap:7px} +.catalog-add .icon{width:17px;height:17px}.catalog-remove{color:var(--muted);background:transparent}.catalog-remove:hover{color:var(--danger);border-color:var(--danger)} +#moreCategoryIcons{margin-top:12px;border-bottom:0}#moreCategoryIcons>summary{padding-block:12px}#moreCategoryIcons .category-icon-options{padding:4px 0 8px} +.category-icon-options{grid-template-columns:repeat(4,minmax(0,1fr))} +[dir="rtl"] .catalog-group>summary{padding:16px 16px 16px 44px}[dir="rtl"] .catalog-group>summary::after{right:auto;left:16px} +@media(max-width:480px){.settings-backups{padding:14px}.catalog-group>summary{font-size:15px;gap:9px}.catalog-group .catalog-item{margin-inline:10px;gap:9px}.catalog-item>.shortcut-icon{width:30px;height:30px;min-width:30px}.catalog-item .catalog-add{min-width:44px;width:44px;max-width:44px;padding:8px}.catalog-item .catalog-add>span:not(.catalog-action-icon){display:none}.catalog-copy strong{font-size:14px}} + +.catalog-action-icon{font-size:20px;line-height:1;flex-shrink:0} diff --git a/de/aide.html b/de/aide.html index fdcefdf..f23ecc4 100644 --- a/de/aide.html +++ b/de/aide.html @@ -106,24 +106,24 @@

      EvPortal-Anleitung für den Tesla-Browser

      Eine Startseite mit Verknüpfungen für deinen Tesla

      EvPortal ist eine kostenlose, unabhängige Startseite, die deine bevorzugten Websites auf einer für den Tesla-Browser gestalteten Seite bündelt. Du kannst sie auch im Browser auf dem Smartphone oder Computer verwenden. Große Symbole öffnen die gewählten Dienste, ohne den Startbildschirm mit Text oder Widgets zu füllen. Verknüpfungen, Kategorien und deren Reihenfolge lassen sich anpassen. Außerdem stehen ein helles und ein dunkles Design zur Auswahl.

      Im Fahrzeugbrowser starten

      -

      Öffne die Adresse von EvPortal im Browser deines geparkten Fahrzeugs. Speichere sie als Browserfavorit, wenn diese Möglichkeit verfügbar ist, damit du sie leicht wiederfindest. Zum Öffnen des Portals musst du keine App installieren und dich nicht mit einem Tesla-Konto anmelden. Sprache und Katalogland wählst du in den Einstellungen unabhängig voneinander. Deine Einstellungen bleiben auf diesem Gerät; mit einer Sicherung kannst du deine Verknüpfungen aufbewahren oder übertragen.

      +

      Öffne die Adresse von EvPortal im Browser deines geparkten Fahrzeugs. Speichere sie als Browserfavorit, wenn diese Möglichkeit verfügbar ist, damit du sie leicht wiederfindest. Zum Öffnen des Portals musst du keine App installieren und dich nicht mit einem Tesla-Konto anmelden. Über „+“ öffnest du den Katalog, um deine Verknüpfungen zu verwalten. In den Einstellungen wählst du Sprache und Startansicht. Deine Einstellungen bleiben auf diesem Gerät; mit einer Sicherung kannst du deine Verknüpfungen aufbewahren oder übertragen.

      Dienste während einer Ladepause finden

      -

      Füge Links zu deiner Routen- oder Ladeplanung, Radiosendern, Musik und Wetterdiensten hinzu. Der Katalog schlägt Dienste für das ausgewählte Land vor; du kannst auch eigene Webadressen eingeben. Jede Verknüpfung öffnet die Website des Anbieters mit dessen Zugangsbedingungen. EvPortal steuert weder den Ladevorgang noch sendet es Befehle an das Fahrzeug. Nutze Unterhaltungsangebote im geparkten Fahrzeug.

      +

      Füge Links zu deiner Routen- oder Ladeplanung, Radiosendern, Musik und Wetterdiensten hinzu. Der Katalog ist für alle gleich und hat aufklappbare Kategorien; du kannst auch eigene Webadressen eingeben. Jede Verknüpfung öffnet die Website des Anbieters mit dessen Zugangsbedingungen. EvPortal steuert weder den Ladevorgang noch sendet es Befehle an das Fahrzeug. Nutze Unterhaltungsangebote im geparkten Fahrzeug.

      -

      Tippe auf eine Verknüpfung, um den Dienst in einem neuen Tab zu öffnen. Die Design-Schaltfläche oben wechselt zwischen Hell und Dunkel. Die acht Sprachen stehen in den Einstellungen mit Namen und Flaggen zur Auswahl; Arabisch wird von rechts nach links angezeigt.

      +

      Tippe auf eine Verknüpfung, um den Dienst in einem neuen Tab zu öffnen. Das dunkle Design ist voreingestellt; deine Wahl zwischen hellem und dunklem Design wird anschließend gespeichert. Die acht Sprachen findest du in den Einstellungen mit ihren Eigennamen und Flaggen. Arabisch wird von rechts nach links angezeigt.

      Verknüpfungen ordnen

      Alle zeigt die am häufigsten geöffneten Verknüpfungen zuerst. Bei gleicher Anzahl gilt deine manuelle Reihenfolge. Die Sortierung bleibt nach dem Neuladen gespeichert.

      Tippe in einer Kategorie oder unter Favoriten auf Bearbeiten und verschiebe die Verknüpfungen an ihren Griffen. Der Stern fügt einen Favoriten hinzu, der Stift öffnet die Bearbeitung. Tippe anschließend auf Fertig. Alle behält seine automatische Sortierung.

      Wähle mit der Tastatur einen Griff, drücke die Leertaste, verschiebe mit den Pfeiltasten und bestätige mit der Eingabetaste. Escape bricht ab.

      Verknüpfung oder Kategorie hinzufügen

      -

      Die Schaltfläche + öffnet den Katalog und bietet das Erstellen einer Verknüpfung oder Kategorie an. Bereits vorhanden kennzeichnet einen schon hinzugefügten Dienst. Die Suche durchsucht alle Verknüpfungen.

      -

      Erstelle bis zu fünf eigene Kategorien mit Namen bis 16 Zeichen und einem Symbol deiner Wahl. Mit dem Stift kannst du sie bearbeiten. Ältere Kategorien außerhalb dieser Grenzen bleiben erhalten. Die sichtbaren Kategorien verteilen sich ohne horizontales Scrollen.

      +

      Die Schaltfläche „+“ öffnet für alle denselben Katalog. Klappe eine Kategorie auf oder zu und verwende bei einem Dienst Hinzufügen oder Entfernen. Verknüpfung erstellen und Kategorie erstellen stehen oben im Katalog. Die Lupe durchsucht alle deine Verknüpfungen.

      +

      Erstelle bis zu fünf persönliche Kategorien mit Namen von höchstens 16 Zeichen und einem Symbol deiner Wahl. Weitere Symbole öffnet die zusätzliche Auswahl. Mit dem Stift bearbeitest du eine Kategorie. Ältere Kategorien, die diese Grenzen überschreiten, bleiben erhalten. Sichtbare Kategorien werden ohne horizontales Scrollen angeordnet.

      Ein Dienst kann in mehreren Kategorien erscheinen und behält dabei einen gemeinsamen Favoritenstatus und Zähler; unter Alle erscheint er nur einmal. Öffne beim Bearbeiten Weitere Kategorien, um die Zuordnung zu wählen. Beim Löschen einer Kategorie bleiben Dienste erhalten, die auch einer anderen Kategorie angehören.

      -

      Katalog und Startseite auswählen

      -

      Wähle unter Einstellungen → Katalog und Startseite dein Land, die sichtbaren Kategorien und den Start mit deinen Favoriten. Das Land passt die Vorschläge unter Hinzufügen an; deine Verknüpfungen werden nicht entfernt. Alle Länder anzeigen erweitert den Katalog. Verknüpfungen ausgeblendeter Kategorien bleiben unter Alle und Favoriten verfügbar. Diese Auswahl bleibt auf diesem Gerät und wird weder gesichert noch per QR übertragen. Der erste Ländervorschlag nutzt die Browserregion, ohne deinen Standort abzufragen.

      +

      Deine Startansicht wählen

      +

      Unter Einstellungen → Startansicht wählst du die sichtbaren Kategorien und ob beim Start deine Favoriten geöffnet werden. Diese Einstellungen bleiben auf diesem Gerät und sind nicht in Sicherungen oder QR-Übertragungen enthalten. Den Katalog verwaltest du über „+“.

      Smartphone: senden oder empfangen

        -
      1. Wähle unter Einstellungen → Smartphone Senden oder Empfangen.
      2. +
      3. Wähle unter Einstellungen → Sicherungen → Smartphone Senden oder Empfangen.
      4. Scanne den angezeigten QR-Code mit deinem Smartphone.
      5. Wähle zum Senden auf dem Smartphone dessen Verknüpfungen oder eine Sicherung aus und tippe auf Senden.
      6. Tippe auf dem empfangenden Bildschirm auf Hinzufügen, um die Sicherung auf diesem Gerät zu speichern.
      7. @@ -132,7 +132,7 @@

        Smartphone: senden oder empfangen

        QR-Codes dienen zur Übertragung mit dem Smartphone. Beim Erstellen eines Codes oder Links wird kein QR-Code angezeigt.

        Die Übertragung ist verschlüsselt und bei verfügbarem Dienst fünf Minuten gültig. Sie überträgt einen Stand ohne automatische Synchronisierung. Der Empfang einer Sicherung ersetzt keine Verknüpfungen.

        Code oder Link

        -

        Unter Einstellungen → Code oder Link erstellt Erstellen einen Code und einen EvPortal-Link zum Kopieren. Hinzufügen nimmt beide an und speichert nach der Prüfung eine lokale Kopie. JSON-Dateien bleiben unter Weitere Optionen verfügbar. Die erstellte Telegra.ph-Seite ist öffentlich; lokale Kopie und Online-Seite sind voneinander getrennt.

        +

        Unter Einstellungen → Sicherungen → Code oder Link erstellt Erstellen einen Code und einen EvPortal-Link zum Kopieren. Hinzufügen nimmt beide an und speichert nach der Prüfung eine lokale Kopie. JSON-Dateien bleiben unter Weitere Optionen verfügbar. Die erstellte Telegra.ph-Seite ist öffentlich; lokale Kopie und Online-Seite sind voneinander getrennt.

        Tesla-Vollbild

        Tippe im geparkten Fahrzeug auf Vollbild. Wähle auf YouTube Zur Website oder Go to site, um im Kinomodus zu EvPortal zurückzukehren. Verknüpfungen fordern einen neuen Tab an; dessen Verhalten hängt vom Fahrzeugbrowser ab.

        Wird der Tesla nicht erkannt, wähle in den Einstellungen Tesla-Kinomodus öffnen. Am Computer verwendet die Schaltfläche das normale Vollbild. Die Weiterleitung kann sich durch Fahrzeug- oder YouTube-Updates ändern.

        @@ -143,7 +143,7 @@

        Tesla-Vollbild

        Von myTesla beschriebene Methode

        Sicherung wiederherstellen

        -

        Wähle unter Einstellungen → Meine Sicherungen → Wiederherstellen eine Sicherung unter Auf diesem Gerät oder Online und prüfe ihren Inhalt. Nur Wiederherstellen ersetzt deine Verknüpfungen. Unter Weitere Optionen in den Einstellungen kannst du die letzte Wiederherstellung rückgängig machen. Das Hinzufügen eines Codes, Links, einer Datei oder QR-Übertragung speichert eine Sicherung, ohne sie anzuwenden. Jeder Browser führt seine eigene lokale Liste.

        +

        Wähle unter Einstellungen → Sicherungen → Meine Sicherungen → Wiederherstellen eine Sicherung unter Auf diesem Gerät oder Online und prüfe ihren Inhalt. Nur Wiederherstellen ersetzt deine Verknüpfungen. Unter Weitere Optionen in den Einstellungen kannst du die letzte Wiederherstellung rückgängig machen. Das Hinzufügen eines Codes, Links, einer Datei oder QR-Übertragung speichert eine Sicherung, ohne sie anzuwenden. Jeder Browser führt seine eigene lokale Liste.

        Eine lokale Vorschau testen

        Der QR-Code nutzt die Adresse des geöffneten Portals. Auf einem Smartphone bezeichnet localhost oder 127.0.0.1 das Smartphone selbst. Für Tests zwischen Geräten müssen beide das Portal und den Übertragungsdienst über HTTPS erreichen können. Sicherungscodes und -links nutzen die öffentliche EvPortal-Adresse.

        Über EvPortal und Datenschutz

        diff --git a/de/index.html b/de/index.html index edad466..e1bcd31 100644 --- a/de/index.html +++ b/de/index.html @@ -108,7 +108,7 @@ - + @@ -119,8 +119,20 @@ - + + + + + + + + + + + + + @@ -128,7 +140,6 @@

        — Verknüpfungen für Tesla

        - @@ -150,29 +161,27 @@

        Kino

        +

        Einstellungen

        -

        Verknüpfungen bleiben unter Alle und Favoriten verfügbar.

        -
        Katalog und Startseite -

        Das Land passt die Vorschläge unter Hinzufügen an.

        +
        Startansicht -
        Sichtbare Kategorien
        +
        Sichtbare Kategorien
        -
        +
        +

        Sicherungen

        -

        Code oder Link

        +

        Code oder Link

        -

        Smartphone

        +

        Smartphone

        -

        Meine Sicherungen

        +

        Meine Sicherungen

        - -
        Weitere Optionen
        Hilfe & Infos @@ -245,8 +254,8 @@

        Smartphone

        -

        Verknüpfungen hinzufügen

        +

        Katalog

        -
        +
        diff --git a/docs/APPAIRAGE-TELEPHONE-TESLA.md b/docs/APPAIRAGE-TELEPHONE-TESLA.md index def055e..79fe2a1 100644 --- a/docs/APPAIRAGE-TELEPHONE-TESLA.md +++ b/docs/APPAIRAGE-TELEPHONE-TESLA.md @@ -1,17 +1,17 @@ # Échanger des sauvegardes entre le téléphone et la Tesla -**Le relais et son protocole sont implémentés dans [relay/](../relay/README.md).** Les actions **Paramètres → Téléphone → Envoyer / Recevoir** dépendent de sa configuration et de sa disponibilité. Le téléphone scanne un QR affiché sur l’autre écran ; le transfert fonctionne dans les deux sens. La création d’un code ou lien EvPortal reste un parcours distinct, sans QR. +**Le relais et son protocole sont implémentés dans [relay/](../relay/README.md).** Les actions **Paramètres → Sauvegardes → Téléphone → Envoyer / Recevoir** dépendent de sa configuration et de sa disponibilité. Le téléphone scanne un QR affiché sur l’autre écran ; le transfert fonctionne dans les deux sens. La création d’un code ou lien EvPortal reste un parcours distinct, sans QR. ## Recevoir depuis le téléphone -1. **Tesla :** ouvrir **Paramètres → Téléphone → Recevoir** ; un QR de réception apparaît. +1. **Tesla :** ouvrir **Paramètres → Sauvegardes → Téléphone → Recevoir** ; un QR de réception apparaît. 2. **Téléphone :** scanner le QR, puis choisir ses raccourcis actuels ou une sauvegarde. 3. **Téléphone :** toucher **Envoyer**. 4. **Tesla :** après réception, toucher **Ajouter** pour conserver la sauvegarde dans **Sur cet appareil**. ## Envoyer vers le téléphone -1. **Tesla :** ouvrir **Paramètres → Téléphone → Envoyer** ; un QR donne accès à la sauvegarde chiffrée préparée pour le téléphone. +1. **Tesla :** ouvrir **Paramètres → Sauvegardes → Téléphone → Envoyer** ; un QR donne accès à la sauvegarde chiffrée préparée pour le téléphone. 2. **Téléphone :** scanner le QR, puis toucher **Ajouter** après réception pour conserver la sauvegarde localement. Dans les deux sens, **Ajouter ne remplace aucun raccourci**. Pour utiliser le contenu reçu, ouvrir **Mes sauvegardes → Restaurer**, choisir la sauvegarde puis toucher **Restaurer**. La dernière restauration peut être annulée dans les options des paramètres. La liste de sauvegardes et les préférences propres à chaque appareil restent séparées de la configuration active. diff --git a/docs/AUDIT-AMELIORATIONS.md b/docs/AUDIT-AMELIORATIONS.md index bf20771..013c246 100644 --- a/docs/AUDIT-AMELIORATIONS.md +++ b/docs/AUDIT-AMELIORATIONS.md @@ -1,5 +1,21 @@ # EvPortal — audit révisé pour l’écran Tesla +## Complément actuel : catalogue commun et paramètres simplifiés + +Le catalogue est désormais identique pour tous : 147 services, dont 112 proposés au départ et 35 facultatifs. Le bouton « + » ouvre des catégories repliables ; chaque service dispose directement d’Ajouter ou Supprimer. La création d’un raccourci ou d’une catégorie reste en haut du catalogue. Le sélecteur de catégorie propose 25 icônes, avec les choix supplémentaires dans « Plus d’icônes ». + +Dans les paramètres, « Accueil » regroupe les catégories affichées et l’ouverture sur les favoris. Le choix de pays et son filtre ont été retirés. Les préférences d’accueil restent locales, les raccourcis déjà personnalisés sont préservés et les restrictions régionales des services externes restent applicables. Le thème sombre est proposé par défaut ; un thème clair déjà choisi est conservé. + +Le titre « Sauvegardes » rend explicites les trois parcours : Code ou lien → Créer / Ajouter ; Téléphone → Envoyer / Recevoir ; Mes sauvegardes → Restaurer. Ajouter conserve un instantané, puis Restaurer seul applique son contenu. La création d’un code ou lien n’affiche pas de QR ; les QR servent aux transferts dans les deux sens avec le téléphone. + +Le bouton plein écran est fixé au bord inférieur, au centre, avec une marge qui laisse les derniers raccourcis accessibles. Les icônes des paramètres et de la météo ont été redessinées ; les services du catalogue affichent leurs logos locaux. + +La recette locale du 12 septembre valide 149 tests unitaires, 12 groupes navigateur, 11 groupes catalogue, 11 groupes d’interactions et les huit langues sur 48 dispositions. Les pages et guides SEO générés sont vérifiés. Les 24 vues inspectées en français et en arabe n’ont montré ni débordement ni violation WCAG A/AA détectée par Axe ; les captures et rapports sont dans `test-results/`. Le plein écran Tesla reste à essayer sur un véhicule physique. + +Les titres, descriptions et guides sont disponibles dans les huit langues sur 18 pages HTML explorables. La maintenance actuelle figure dans le [README](../README.md) et la [documentation SEO](SEO-MULTILINGUE.md). Les sections suivantes conservent l’audit du 11 septembre et ses résultats historiques : les anciens choix de pays, parcours de sauvegarde et chiffres de tests ne décrivent pas à eux seuls cette dernière interface. + +## Historique de la révision du 11 septembre 2026 + Révision : 11 septembre 2026. Les retours utilisateur fixent la priorité : un lanceur de raccourcis simple, lisible d’un regard, facile à toucher. La première proposition ajoutait trop de texte et avait remplacé deux parcours utiles : le partage Telegra.ph avec QR code et le lancement plein écran particulier à Tesla. Ces parcours sont rétablis. Les compléments du 11 septembre ajoutent la suppression directe, des adresses de partage aléatoires et un groupe « Sauvegardes » dans les paramètres qui rassemble export, import et réception depuis le téléphone. Le catalogue est ensuite allégé par une identité unique par service, une sélection par pays et des ajouts à la demande ; les préférences d’accueil et de catégories restent dans les paramètres. Publication sur GitHub Pages autorisée après la recette locale. Aucun résultat sur véhicule physique ou dans Search Console n’est présenté comme acquis. diff --git a/docs/LIENS.md b/docs/LIENS.md index aa25924..49b0c85 100644 --- a/docs/LIENS.md +++ b/docs/LIENS.md @@ -1,6 +1,6 @@ # Audit et entretien du catalogue EvPortal -Version actuelle : **2026-09-curated**, revue le **11 septembre 2026**. Le catalogue contient **147 services uniques**, dont **35 facultatifs** ; les 112 autres sont proposés à la première installation selon le pays choisi. Les contrôles historiques du 10 septembre sont conservés plus bas avec leurs résultats d’origine. +Catalogue : **2026-09-curated**, revue des liens du **11 septembre 2026**. Il contient **147 services uniques**, dont **35 facultatifs** ; les 112 autres constituent désormais la même sélection initiale pour tous. Le filtre par pays a été retiré de l’interface. Les contrôles historiques du 10 septembre sont conservés plus bas avec leurs résultats d’origine. ## Sélection du 11 septembre 2026 @@ -10,11 +10,11 @@ Pluto TV utilise désormais l’accueil [pluto.tv](https://pluto.tv/), commun au La catégorie Jeux démarre avec **CrazyGames, 2048, Lichess, Little Alchemy 2 et Infinite Craft**. Les autres jeux, notamment Poki et les portails similaires, restent disponibles dans Ajouter. Tous les réseaux sociaux et les outils de travail Google Drive, Gmail, Google Agenda, GitHub, Notion, Google Docs, Outlook et OneDrive sont facultatifs (`defaultIncluded: false`). DeepL, Wikipédia et FAST.com restent proposés par défaut. -Les préférences de pays filtrent la sélection initiale et les propositions d’Ajouter ; elles ne suppriment aucun raccourci déjà installé. Le choix **Tous les pays** désactive ce filtre. Les pays proposés sont FR, CA, US, MX, BE, GB, DE, ES, IT, PT, AU, NZ et CH. Le catalogue conserve aussi les codes d’autres pays cités par un éditeur, comme les pays africains couverts par TF1+. +Le catalogue est maintenant commun à tous. Le bouton **« + »** l’ouvre par catégories repliables ; chaque service propose **Ajouter** ou **Supprimer** selon sa présence dans le tableau. Les raccourcis déjà personnalisés restent conservés. Les informations régionales relevées ci-dessous documentent les services externes ; elles ne déterminent plus leur présence dans le catalogue ou la sélection initiale. ### Régions documentées -`countries` constitue une recommandation éditoriale par pays pour cette destination. L’absence de ce champ signifie qu’aucun filtre régional n’a été défini, pas qu’un service est garanti partout. Les droits peuvent varier selon le programme, le compte, le pays de résidence et le voyage en cours. +Le champ historique `countries` conserve les régions documentées pour une destination. Il ne filtre plus l’interface. Son absence ne garantit pas qu’un service fonctionne partout. Les droits peuvent varier selon le programme, le compte, le pays de résidence et le voyage en cours. | Service | Pays recommandés | Source et nuance | | --- | --- | --- | diff --git a/en/aide.html b/en/aide.html index bc4cc0c..9e0c06e 100644 --- a/en/aide.html +++ b/en/aide.html @@ -106,24 +106,24 @@

        EvPortal guide for the Tesla browser

        A shortcut dashboard for your Tesla

        EvPortal is a free, independent dashboard that brings your favourite websites together on a page designed for the Tesla browser. You can also use it in a browser on your phone or computer. Large icons open your chosen services without filling the home screen with text or widgets. Customise your shortcuts, categories and their order, then choose a light or dark theme.

        Get started in your vehicle’s browser

        -

        While parked, open the EvPortal address in your car’s browser. Save it as a browser favourite if that option is available so it is easy to find again. Opening the portal requires no app installation or Tesla account sign-in. In Settings, choose your language and catalogue country separately. Your preferences stay on this device; a backup lets you keep a copy of your shortcuts or transfer them.

        +

        While parked, open the EvPortal address in your car’s browser. Save it as a browser favourite if that option is available so it is easy to find again. Opening the portal requires no app installation or Tesla account sign-in. The “+” button opens the catalogue to manage your shortcuts. In Settings, choose your language and home view. Your preferences stay on this device; a backup lets you keep a copy of your shortcuts or transfer them.

        Find your services during a charging stop

        -

        Add links to your route and charging planners, radio stations, music and weather services. The catalogue suggests services for the selected country; you can also enter your own web address. Each shortcut opens the provider’s website, with its own access conditions. EvPortal does not control charging or send commands to the vehicle. Use entertainment content while parked.

        +

        Add links to your route and charging planners, radio stations, music and weather services. The catalogue is the same for everyone, with collapsible categories; you can also enter your own web address. Each shortcut opens the provider’s website, with its own access conditions. EvPortal does not control charging or send commands to the vehicle. Use entertainment content while parked.

        -

        Tap a shortcut to open the service in a new tab. The theme button at the top switches between light and dark mode. The eight languages are available in Settings with their names and flags; Arabic uses a right-to-left layout.

        +

        Tap a shortcut to open the service in a new tab. Dark mode is the default; your chosen light or dark theme is then saved. The eight languages are available in Settings with their native names and flags; Arabic is displayed from right to left.

        Organize shortcuts

        All shows your most frequently opened shortcuts first. Ties keep your manual order. The ranking is saved after reloading.

        In a category or Favorites, tap Edit and move shortcuts using their handles. The star adds a favorite and the pencil lets you edit. Tap Done when finished. All keeps its automatic ranking.

        With a keyboard, focus a handle, press Space, move with the arrow keys, then confirm with Enter. Escape cancels.

        Add a shortcut or category

        -

        The + button opens the catalogue and lets you create a shortcut or category. Already added marks a service already on your dashboard. Search looks through all your shortcuts.

        -

        Create up to five personal categories with names of up to 16 characters and an icon of your choice. Use the pencil to edit them. Existing categories exceeding these limits are kept. Visible categories fit without horizontal scrolling.

        +

        The “+” button opens the same catalogue for everyone. Expand or collapse a category, then use Add or Remove on a service. Create a shortcut and Create a category are at the top of the catalogue. The magnifying glass searches all your shortcuts.

        +

        Create up to five personal categories with names of up to 16 characters and an icon of your choice. More icons opens the additional choices. Use the pencil to edit a category. Older categories exceeding these limits are kept. Visible categories fit without horizontal scrolling.

        A service can appear in several categories with one favorite status and one counter; All shows it only once. In Edit, open Other categories to choose where it appears. Deleting a category keeps services that also belong to another category.

        -

        Choose your catalog and home screen

        -

        In Settings → Catalog and home, choose your country, visible categories, and whether to start on your favorites. The country adjusts suggestions in Add; it does not remove your shortcuts. Show all countries expands the catalog. Shortcuts from a hidden category remain in All and Favorites. These choices stay on this device and are not included in backups or QR transfers. The initial country suggestion uses your browser’s region without requesting your location.

        +

        Choose your home view

        +

        In Settings → Home, choose which categories to show and whether to open on your favourites. These preferences stay on this device and are not included in backups or QR transfers. Manage the catalogue using the “+” button.

        Phone: send or receive

          -
        1. In Settings → Phone, choose Send or Receive.
        2. +
        3. In Settings → Backups → Phone, choose Send or Receive.
        4. Scan the displayed QR code with your phone.
        5. To send from your phone, choose its shortcuts or a backup, then tap Send.
        6. On the receiving screen, tap Add to keep the backup on that device.
        7. @@ -132,7 +132,7 @@

          Phone: send or receive

          QR codes are for phone transfers. Creating a code or link does not display a QR code.

          The transfer is encrypted and valid for five minutes when the service is available. It sends a snapshot without automatic synchronization. Receiving a backup does not replace your shortcuts.

          Code or link

          -

          In Settings → Code or link, Create prepares a code and an EvPortal link to copy. Add accepts either and saves a local copy after validation. JSON files remain available under More options. The created Telegra.ph page is public; the local copy and online page are separate.

          +

          In Settings → Backups → Code or link, Create prepares a code and an EvPortal link to copy. Add accepts either and saves a local copy after validation. JSON files remain available under More options. The created Telegra.ph page is public; the local copy and online page are separate.

          Tesla fullscreen

          While parked, tap Fullscreen. On YouTube, choose Go to site to return to EvPortal in Theater mode. Shortcuts request a new tab; its behavior depends on the vehicle browser.

          If the Tesla is not recognized, choose Open Tesla Theater in settings. On a computer, the button uses regular fullscreen. The redirect may change with vehicle or YouTube updates.

          @@ -143,7 +143,7 @@

          Tesla fullscreen

          Method described by myTesla

          Restore a backup

          -

          In Settings → My backups → Restore, choose a backup under On this device or Online, then check its contents. Only Restore replaces your shortcuts. More options in Settings lets you undo the last restore. Adding a code, link, file, or QR transfer saves a backup without applying it. Each browser keeps its own local list.

          +

          In Settings → Backups → My backups → Restore, choose a backup under On this device or Online, then check its contents. Only Restore replaces your shortcuts. More options in Settings lets you undo the last restore. Adding a code, link, file, or QR transfer saves a backup without applying it. Each browser keeps its own local list.

          Test a local preview

          The QR uses the address of the open portal. On a phone, localhost or 127.0.0.1 refers to the phone itself. For testing across devices, both must be able to reach the portal and relay over HTTPS. Backup codes and links use the public EvPortal address.

          About and privacy

          diff --git a/en/index.html b/en/index.html index ca961ac..efb1087 100644 --- a/en/index.html +++ b/en/index.html @@ -108,7 +108,7 @@ - + @@ -119,8 +119,20 @@ - + + + + + + + + + + + + + @@ -128,7 +140,6 @@

          — shortcuts for Tesla

          - @@ -150,29 +161,27 @@

          Cinema +

          Settings

          -

          Shortcuts remain available in All and Favorites.

          -
          Catalog and home -

          The country adjusts the selection suggested in Add.

          +
          Home -
          Visible categories
          +
          Visible categories
          -
          +
          +

          Backups

          -

          Code or link

          +

          Code or link

          -

          Phone

          +

          Phone

          -

          My backups

          +

          My backups

          - -
          More options
          Help & about @@ -245,8 +254,8 @@

          Phone

          -

          Add shortcuts

          +

          Catalog

          -
          +
          diff --git a/es/aide.html b/es/aide.html index 50da39c..3ed042a 100644 --- a/es/aide.html +++ b/es/aide.html @@ -106,24 +106,24 @@

          Guía de EvPortal para el navegador Tesla

          Un portal de accesos directos para tu Tesla

          EvPortal es un portal gratuito e independiente que reúne tus sitios favoritos en una página pensada para el navegador Tesla. También puedes usarlo en el navegador del teléfono o del ordenador. Los iconos grandes abren los servicios elegidos sin llenar la pantalla de inicio de textos o widgets. Puedes personalizar tus accesos directos, sus categorías y su orden, y elegir un tema claro u oscuro.

          Empezar en el navegador del vehículo

          -

          Con el vehículo estacionado, abre la dirección de EvPortal en su navegador. Guárdala en los favoritos del navegador si esa opción está disponible para encontrarla fácilmente. No necesitas instalar una aplicación ni iniciar sesión en una cuenta Tesla para abrir el portal. En Ajustes, elige por separado el idioma y el país del catálogo. Tus preferencias permanecen en este dispositivo; una copia permite conservar o transferir tus accesos directos.

          +

          Con el vehículo estacionado, abre la dirección de EvPortal en su navegador. Guárdala en los favoritos del navegador si esa opción está disponible para encontrarla fácilmente. No necesitas instalar una aplicación ni iniciar sesión en una cuenta Tesla para abrir el portal. El botón «+» abre el catálogo para gestionar tus accesos directos. En Ajustes, elige el idioma y la vista de inicio. Tus preferencias permanecen en este dispositivo; una copia permite conservar o transferir tus accesos directos.

          Encontrar tus servicios durante una recarga

          -

          Añade enlaces a tus planificadores de rutas o recarga, emisoras de radio, música y servicios meteorológicos. El catálogo propone servicios según el país seleccionado; también puedes introducir una dirección propia. Cada acceso directo abre el sitio del proveedor, con sus propias condiciones de acceso. EvPortal no controla la carga ni envía órdenes al vehículo. Consulta los contenidos de entretenimiento con el vehículo estacionado.

          +

          Añade enlaces a tus planificadores de rutas o recarga, emisoras de radio, música y servicios meteorológicos. El catálogo es el mismo para todos, con categorías plegables; también puedes introducir una dirección propia. Cada acceso directo abre el sitio del proveedor, con sus propias condiciones de acceso. EvPortal no controla la carga ni envía órdenes al vehículo. Consulta los contenidos de entretenimiento con el vehículo estacionado.

          -

          Toca un acceso directo para abrir el servicio en una pestaña nueva. El botón de tema de la parte superior permite elegir el modo claro u oscuro. Los ocho idiomas están disponibles en Ajustes con sus nombres y banderas; el árabe se muestra de derecha a izquierda.

          +

          Toca un acceso directo para abrir el servicio en una pestaña nueva. El tema oscuro se usa por defecto; después se conserva tu elección de tema claro u oscuro. Los ocho idiomas están disponibles en Ajustes, con sus nombres y banderas; el árabe se muestra de derecha a izquierda.

          Organizar los accesos directos

          Todos muestra primero los accesos directos que más abres. En caso de empate, se conserva tu orden manual. La clasificación se guarda al recargar.

          En una categoría o en Favoritos, toca Editar y mueve los accesos directos con sus asas. La estrella añade un favorito y el lápiz permite editar. Toca Listo al terminar. Todos mantiene su clasificación automática.

          Con el teclado, selecciona un asa, pulsa Espacio, desplázate con las flechas y confirma con Intro. Escape cancela.

          Añadir un acceso directo o una categoría

          -

          El botón + abre el catálogo y permite crear un acceso directo o una categoría. Ya añadido indica un servicio que ya está en tu panel. La lupa busca en todos tus accesos directos.

          -

          Crea hasta cinco categorías personales con nombres de un máximo de 16 caracteres y el icono que prefieras. Usa el lápiz para editarlas. Las categorías antiguas que superen estos límites se conservan. Las categorías visibles se distribuyen sin desplazamiento horizontal.

          +

          El botón «+» abre el mismo catálogo para todos. Despliega o pliega una categoría y utiliza Añadir o Eliminar en un servicio. Crear un acceso directo y Crear una categoría están en la parte superior del catálogo. La lupa busca en todos tus accesos directos.

          +

          Crea hasta cinco categorías personales con nombres de hasta 16 caracteres y un icono a tu elección. Más iconos abre las opciones adicionales. El lápiz permite editar una categoría. Se conservan las categorías antiguas que superen estos límites. Las categorías visibles se distribuyen sin desplazamiento horizontal.

          Un servicio puede aparecer en varias categorías con un único favorito y contador; Todos lo muestra una sola vez. En Editar, abre Otras categorías para elegir dónde aparece. Al eliminar una categoría se conservan los servicios presentes en otra categoría.

          -

          Elegir el catálogo y la pantalla de inicio

          -

          En Ajustes → Catálogo e inicio, elige tu país, las categorías visibles y si quieres abrir tus favoritos al inicio. El país adapta las sugerencias en Añadir; no elimina tus accesos directos. Ver todos los países amplía el catálogo. Los accesos de una categoría oculta siguen en Todos y Favoritos. Estas opciones se quedan en este dispositivo y no se incluyen en copias ni transferencias QR. El país inicial se sugiere según la región del navegador, sin pedir tu ubicación.

          +

          Elegir tu vista de inicio

          +

          En Ajustes → Inicio, elige las categorías visibles y si quieres abrir tus favoritos al iniciar. Estas preferencias permanecen en este dispositivo y no se incluyen en copias ni transferencias QR. El catálogo se gestiona con el botón «+».

          Teléfono: enviar o recibir

            -
          1. En Ajustes → Teléfono, elige Enviar o Recibir.
          2. +
          3. En Ajustes → Copias de seguridad → Teléfono, elige Enviar o Recibir.
          4. Escanea el QR mostrado con tu teléfono.
          5. Para enviar desde el teléfono, elige sus accesos directos o una copia y toca Enviar.
          6. En la pantalla que recibe, toca Añadir para guardar la copia en ese dispositivo.
          7. @@ -132,7 +132,7 @@

            Teléfono: enviar o recibir

            El QR sirve para transferencias con el teléfono. Crear un código o enlace no muestra un QR.

            La transferencia está cifrada y es válida durante cinco minutos cuando el servicio está disponible. Envía una copia del momento, sin sincronización automática. Recibir una copia no reemplaza tus accesos directos.

            Código o enlace

            -

            En Ajustes → Código o enlace, Crear prepara un código y un enlace EvPortal para copiar. Añadir acepta cualquiera y guarda una copia local tras validarla. Los archivos JSON siguen disponibles en Más opciones. La página Telegra.ph creada es pública; la copia local y la página en línea son independientes.

            +

            En Ajustes → Copias de seguridad → Código o enlace, Crear prepara un código y un enlace EvPortal para copiar. Añadir acepta cualquiera y guarda una copia local tras validarla. Los archivos JSON siguen disponibles en Más opciones. La página Telegra.ph creada es pública; la copia local y la página en línea son independientes.

            Pantalla completa en Tesla

            Con el vehículo estacionado, toca Pantalla completa. En YouTube, elige Ir al sitio o Go to site para volver a EvPortal en modo Teatro. Los accesos directos solicitan una pestaña nueva, cuyo comportamiento depende del navegador del vehículo.

            Si no se reconoce el Tesla, elige Abrir el modo Teatro Tesla en los ajustes. En un ordenador, el botón utiliza la pantalla completa normal. La redirección puede cambiar con las actualizaciones del vehículo o de YouTube.

            @@ -143,7 +143,7 @@

            Pantalla completa en Tesla

            Método descrito por myTesla

            Restaurar una copia

            -

            En Ajustes → Mis copias → Restaurar, elige una copia en En este dispositivo o En línea y comprueba su contenido. Solo Restaurar reemplaza tus accesos directos. Más opciones en Ajustes permite deshacer la última restauración. Añadir un código, enlace, archivo o transferencia QR guarda una copia sin aplicarla. Cada navegador mantiene su propia lista local.

            +

            En Ajustes → Copias de seguridad → Mis copias → Restaurar, elige una copia en En este dispositivo o En línea y comprueba su contenido. Solo Restaurar reemplaza tus accesos directos. Más opciones en Ajustes permite deshacer la última restauración. Añadir un código, enlace, archivo o transferencia QR guarda una copia sin aplicarla. Cada navegador mantiene su propia lista local.

            Probar una vista previa local

            El QR usa la dirección del portal abierto. En un teléfono, localhost o 127.0.0.1 se refiere al propio teléfono. Para probar entre dispositivos, ambos deben acceder al portal y al servicio de transferencia mediante HTTPS. Los códigos y enlaces de copias usan la dirección pública de EvPortal.

            Acerca de EvPortal y privacidad

            diff --git a/es/index.html b/es/index.html index cc30e24..37b83e5 100644 --- a/es/index.html +++ b/es/index.html @@ -108,7 +108,7 @@ - + @@ -119,8 +119,20 @@ - + + + + + + + + + + + + + @@ -128,7 +140,6 @@

            — accesos directos para Tesla

            - @@ -150,29 +161,27 @@

            Cine

            +

            Ajustes

            -

            Los accesos directos siguen disponibles en Todos y Favoritos.

            -
            Catálogo e inicio -

            El país adapta la selección propuesta en Añadir.

            +
            Inicio -
            Categorías visibles
            +
            Categorías visibles
            -
            +
            +

            Copias de seguridad

            -

            Código o enlace

            +

            Código o enlace

            -

            Teléfono

            +

            Teléfono

            -

            Mis copias

            +

            Mis copias

            - -
            Más opciones
            Ayuda e información @@ -245,8 +254,8 @@

            Teléfono

            -

            Añadir accesos directos

            +

            Catálogo

            -
            +
            diff --git a/fr/aide.html b/fr/aide.html index d63e70a..122f355 100644 --- a/fr/aide.html +++ b/fr/aide.html @@ -106,24 +106,24 @@

            Guide EvPortal pour le navigateur Tesla

            Un portail de raccourcis pour votre Tesla

            EvPortal est un portail gratuit et indépendant qui rassemble vos sites favoris sur une page pensée pour le navigateur Tesla. Il s’utilise aussi dans un navigateur sur téléphone ou ordinateur. De grandes icônes donnent accès aux services choisis, sans remplir l’accueil de textes ou de widgets. Vous pouvez personnaliser vos raccourcis, leurs catégories et leur ordre, puis choisir un thème clair ou sombre.

            Commencer dans le navigateur du véhicule

            -

            À l’arrêt, ouvrez l’adresse d’EvPortal dans le navigateur de la voiture. Enregistrez-la dans ses favoris si cette option est disponible pour la retrouver facilement. Aucune installation d’application ni connexion à un compte Tesla n’est nécessaire pour ouvrir le portail. Dans Paramètres, choisissez la langue et le pays du catalogue séparément. Vos réglages restent sur cet appareil ; une sauvegarde permet de conserver ou de transférer vos raccourcis.

            +

            À l’arrêt, ouvrez l’adresse d’EvPortal dans le navigateur de la voiture. Enregistrez-la dans ses favoris si cette option est disponible pour la retrouver facilement. Aucune installation d’application ni connexion à un compte Tesla n’est nécessaire pour ouvrir le portail. Le bouton « + » ouvre le catalogue pour gérer vos raccourcis. Paramètres permet de choisir la langue et votre accueil. Vos réglages restent sur cet appareil ; une sauvegarde permet de conserver ou de transférer vos raccourcis.

            Retrouver vos services pendant une recharge

            -

            Ajoutez des liens vers vos outils de planification de trajet ou de recharge, vos radios, votre musique et la météo. Le catalogue propose des services selon le pays sélectionné ; vous pouvez aussi saisir une adresse personnelle. Chaque raccourci ouvre le site du service, avec ses propres conditions d’accès. EvPortal ne pilote pas la recharge et n’envoie aucune commande au véhicule. Les contenus de divertissement se consultent à l’arrêt.

            +

            Ajoutez des liens vers vos outils de planification de trajet ou de recharge, vos radios, votre musique et la météo. Le catalogue est identique pour tous, avec des catégories repliables ; vous pouvez aussi saisir une adresse personnelle. Chaque raccourci ouvre le site du service, avec ses propres conditions d’accès. EvPortal ne pilote pas la recharge et n’envoie aucune commande au véhicule. Les contenus de divertissement se consultent à l’arrêt.

            -

            Touchez un raccourci pour ouvrir le service dans un nouvel onglet. Le bouton de thème en haut permet de choisir le mode clair ou sombre. Les huit langues sont disponibles dans Paramètres, avec leurs noms et drapeaux ; l’arabe s’affiche de droite à gauche.

            +

            Touchez un raccourci pour ouvrir le service dans un nouvel onglet. Le thème sombre est utilisé par défaut ; votre choix clair ou sombre est ensuite conservé. Les huit langues sont disponibles dans Paramètres, avec leurs noms et drapeaux ; l’arabe s’affiche de droite à gauche.

            Organiser les raccourcis

            « Tous » affiche d’abord les raccourcis les plus ouverts. À égalité, votre ordre manuel est conservé. Le classement reste enregistré après rechargement.

            Dans une catégorie ou « Favoris », touchez « Modifier » puis déplacez les raccourcis avec leur poignée. L’étoile ajoute un favori et le crayon permet de modifier. Touchez « Terminer » quand vous avez fini. « Tous » conserve son classement automatique.

            Au clavier, sélectionnez une poignée puis appuyez sur Espace, utilisez les flèches et validez avec Entrée. Échap annule.

            Ajouter un raccourci ou une catégorie

            -

            Le bouton « + » ouvre le catalogue et propose de créer un raccourci ou une catégorie. « Déjà présent » indique un service déjà ajouté. La loupe recherche dans tous vos raccourcis.

            -

            Créez jusqu’à cinq catégories personnelles avec un nom de 16 caractères maximum et une icône au choix. Le crayon permet de les modifier. Les anciennes catégories dépassant ces limites sont conservées. Les catégories affichées se répartissent sans défilement horizontal.

            +

            Le bouton « + » ouvre le même catalogue pour tous. Ouvrez ou repliez une catégorie, puis utilisez Ajouter ou Supprimer sur un service. Créer un raccourci et Créer une catégorie se trouvent en haut du catalogue. La loupe recherche dans tous vos raccourcis.

            +

            Créez jusqu’à cinq catégories personnelles avec un nom de 16 caractères maximum et une icône au choix. Plus d’icônes ouvre les choix supplémentaires. Le crayon permet de modifier une catégorie. Les anciennes catégories dépassant ces limites sont conservées. Les catégories affichées se répartissent sans défilement horizontal.

            Un service peut apparaître dans plusieurs catégories avec un seul favori et un seul compteur ; Tous ne l’affiche qu’une fois. Dans Modifier, ouvrez Autres catégories pour choisir où il apparaît. Supprimer une catégorie conserve les services encore présents dans une autre catégorie.

            -

            Choisir son catalogue et son accueil

            -

            Dans Paramètres → Catalogue et accueil, choisissez votre pays, les catégories à afficher et l’ouverture sur vos favoris. Le pays adapte les suggestions dans Ajouter ; il ne supprime pas vos raccourcis. Voir tous les pays élargit le catalogue. Une catégorie masquée conserve ses raccourcis dans Tous et Favoris. Ces choix restent sur cet appareil et ne sont pas transmis dans les sauvegardes ou par QR. Le pays initial est suggéré par la région du navigateur, sans demander votre position.

            +

            Choisir son accueil

            +

            Dans Paramètres → Accueil, choisissez les catégories à afficher et l’ouverture sur vos favoris. Ces préférences restent sur cet appareil et ne sont pas transmises dans les sauvegardes ou par QR. Le catalogue se gère avec le bouton « + ».

            Téléphone : envoyer ou recevoir

              -
            1. Dans Paramètres → Téléphone, choisissez Envoyer ou Recevoir.
            2. +
            3. Dans Paramètres → Sauvegardes → Téléphone, choisissez Envoyer ou Recevoir.
            4. Scannez le QR affiché avec votre téléphone.
            5. Pour envoyer depuis le téléphone, choisissez ses raccourcis ou une sauvegarde, puis touchez Envoyer.
            6. Sur l’écran qui reçoit, touchez Ajouter pour conserver la sauvegarde sur cet appareil.
            7. @@ -132,7 +132,7 @@

              Téléphone : envoyer ou recevoir

              Le QR sert au transfert avec le téléphone. Créer un code ou un lien n’affiche pas de QR.

              Le transfert est chiffré et valable cinq minutes lorsque le service est disponible. Il transmet un instantané, sans synchronisation automatique. Recevoir une sauvegarde ne remplace pas vos raccourcis.

              Code ou lien

              -

              Dans Paramètres → Code ou lien, Créer prépare un code et un lien EvPortal à copier. Ajouter accepte l’un ou l’autre et enregistre une copie locale après validation. Les fichiers JSON restent disponibles dans Plus d’options. La page Telegra.ph créée est publique ; la copie locale et la page en ligne sont distinctes.

              +

              Dans Paramètres → Sauvegardes → Code ou lien, Créer prépare un code et un lien EvPortal à copier. Ajouter accepte l’un ou l’autre et enregistre une copie locale après validation. Les fichiers JSON restent disponibles dans Plus d’options. La page Telegra.ph créée est publique ; la copie locale et la page en ligne sont distinctes.

              Plein écran Tesla

              À l’arrêt, touchez « Plein écran ». Sur YouTube, choisissez « Accéder au site » ou « Go to site » pour revenir à EvPortal dans le mode Théâtre. Les raccourcis demandent un nouvel onglet, dont le comportement dépend du navigateur du véhicule.

              Si la Tesla n’est pas reconnue, choisissez « Ouvrir le mode Théâtre Tesla » dans Paramètres. Sur ordinateur, le bouton utilise le plein écran classique. La redirection peut évoluer avec les mises à jour du véhicule ou de YouTube.

              @@ -143,7 +143,7 @@

              Plein écran Tesla

              Méthode décrite par myTesla

              Restaurer une sauvegarde

              -

              Dans Paramètres → Mes sauvegardes → Restaurer, choisissez une sauvegarde dans Sur cet appareil ou En ligne, puis vérifiez son contenu. Seul Restaurer remplace vos raccourcis. Les options des paramètres permettent d’annuler la dernière restauration. Ajouter un code, un lien, un fichier ou une réception QR conserve une sauvegarde sans l’appliquer. Chaque navigateur conserve sa propre liste locale.

              +

              Dans Paramètres → Sauvegardes → Mes sauvegardes → Restaurer, choisissez une sauvegarde dans Sur cet appareil ou En ligne, puis vérifiez son contenu. Seul Restaurer remplace vos raccourcis. Les options des paramètres permettent d’annuler la dernière restauration. Ajouter un code, un lien, un fichier ou une réception QR conserve une sauvegarde sans l’appliquer. Chaque navigateur conserve sa propre liste locale.

              Tester un aperçu local

              Le QR utilise l’adresse du portail ouvert. Sur un téléphone, localhost ou 127.0.0.1 désigne le téléphone lui-même. Pour un essai entre appareils, le portail et le relais doivent être accessibles aux deux en HTTPS. Les codes et liens de sauvegarde utilisent l’adresse publique d’EvPortal.

              À propos et confidentialité

              diff --git a/fr/index.html b/fr/index.html index 31fc876..e11b5e8 100644 --- a/fr/index.html +++ b/fr/index.html @@ -108,7 +108,7 @@ - + @@ -119,8 +119,20 @@ - + + + + + + + + + + + + + @@ -128,7 +140,6 @@

              — raccourcis pour Tesla

              - @@ -150,29 +161,27 @@

              Cinéma +

              Paramètres

              -

              Les raccourcis restent accessibles dans Tous et Favoris.

              -
              Catalogue et accueil -

              Le pays adapte la sélection proposée dans Ajouter.

              +
              Accueil -
              Catégories affichées
              +
              Catégories affichées
              -
              +
              +

              Sauvegardes

              -

              Code ou lien

              +

              Code ou lien

              -

              Téléphone

              +

              Téléphone

              -

              Mes sauvegardes

              +

              Mes sauvegardes

              - -
              Plus d’options
              Aide & à propos @@ -245,8 +254,8 @@

              Téléphone

              -

              Ajouter des raccourcis

              +

              Catalogue

              -
              +
              diff --git a/index.html b/index.html index a0d74b6..8262833 100644 --- a/index.html +++ b/index.html @@ -117,7 +117,7 @@ - + @@ -128,8 +128,20 @@ - + + + + + + + + + + + + + @@ -137,7 +149,6 @@

              — raccourcis pour Tesla

              - @@ -159,29 +170,27 @@

              Cinéma +

              Paramètres

              -

              Les raccourcis restent accessibles dans Tous et Favoris.

              -
              Catalogue et accueil -

              Le pays adapte la sélection proposée dans Ajouter.

              +
              Accueil -
              Catégories affichées
              +
              Catégories affichées
              -
              +
              +

              Sauvegardes

              -

              Code ou lien

              +

              Code ou lien

              -

              Téléphone

              +

              Téléphone

              -

              Mes sauvegardes

              +

              Mes sauvegardes

              - -
              Plus d’options
              Aide & à propos @@ -254,8 +263,8 @@

              Téléphone

              -

              Ajouter des raccourcis

              +

              Catalogue

              -
              +
              diff --git a/it/aide.html b/it/aide.html index 6678d03..d87ab76 100644 --- a/it/aide.html +++ b/it/aide.html @@ -106,24 +106,24 @@

              Guida a EvPortal per il browser Tesla

              Un portale di scorciatoie per la tua Tesla

              EvPortal è un portale gratuito e indipendente che riunisce i tuoi siti preferiti in una pagina pensata per il browser Tesla. Puoi usarlo anche nel browser del telefono o del computer. Le icone grandi aprono i servizi scelti senza riempire la schermata iniziale di testi o widget. Puoi personalizzare le scorciatoie, le categorie e il loro ordine, quindi scegliere un tema chiaro o scuro.

              Iniziare dal browser del veicolo

              -

              A veicolo parcheggiato, apri l’indirizzo di EvPortal nel browser dell’auto. Salvalo tra i preferiti del browser, se questa opzione è disponibile, per ritrovarlo facilmente. Non serve installare un’app né accedere a un account Tesla per aprire il portale. In Impostazioni, scegli separatamente la lingua e il paese del catalogo. Le preferenze restano su questo dispositivo; un backup permette di conservare o trasferire le scorciatoie.

              +

              A veicolo parcheggiato, apri l’indirizzo di EvPortal nel browser dell’auto. Salvalo tra i preferiti del browser, se questa opzione è disponibile, per ritrovarlo facilmente. Non serve installare un’app né accedere a un account Tesla per aprire il portale. Il pulsante «+» apre il catalogo per gestire le scorciatoie. In Impostazioni, scegli la lingua e la schermata iniziale. Le preferenze restano su questo dispositivo; un backup permette di conservare o trasferire le scorciatoie.

              Ritrovare i tuoi servizi durante una ricarica

              -

              Aggiungi link ai tuoi strumenti per pianificare viaggi o ricariche, alle stazioni radio, alla musica e al meteo. Il catalogo propone servizi per il paese selezionato; puoi anche inserire un indirizzo personale. Ogni scorciatoia apre il sito del servizio, con le sue condizioni di accesso. EvPortal non controlla la ricarica e non invia comandi al veicolo. Consulta i contenuti di intrattenimento a veicolo parcheggiato.

              +

              Aggiungi link ai tuoi strumenti per pianificare viaggi o ricariche, alle stazioni radio, alla musica e al meteo. Il catalogo è uguale per tutti, con categorie espandibili; puoi anche inserire un indirizzo personale. Ogni scorciatoia apre il sito del servizio, con le sue condizioni di accesso. EvPortal non controlla la ricarica e non invia comandi al veicolo. Consulta i contenuti di intrattenimento a veicolo parcheggiato.

              -

              Tocca una scorciatoia per aprire il servizio in una nuova scheda. Il pulsante del tema in alto permette di scegliere la modalità chiara o scura. Le otto lingue sono disponibili in Impostazioni con nomi e bandiere; l’arabo viene visualizzato da destra a sinistra.

              +

              Tocca una scorciatoia per aprire il servizio in una nuova scheda. Il tema scuro è predefinito; la tua scelta tra tema chiaro e scuro viene poi conservata. Le otto lingue sono disponibili in Impostazioni, con i nomi originali e le bandiere; l’arabo viene visualizzato da destra a sinistra.

              Organizzare le scorciatoie

              Tutti mostra per prime le scorciatoie aperte più spesso. A parità di aperture, mantiene il tuo ordine manuale. La classifica resta salvata dopo il ricaricamento.

              In una categoria o nei Preferiti, tocca Modifica e sposta le scorciatoie usando le maniglie. La stella aggiunge un preferito e la matita permette di modificare. Tocca Fine quando hai terminato. Tutti mantiene la classifica automatica.

              Con la tastiera, seleziona una maniglia, premi Spazio, sposta con le frecce e conferma con Invio. Esc annulla.

              Aggiungere una scorciatoia o una categoria

              -

              Il pulsante + apre il catalogo e permette di creare una scorciatoia o una categoria. Già presente indica un servizio già aggiunto. La lente cerca in tutte le tue scorciatoie.

              -

              Crea fino a cinque categorie personali con nomi di massimo 16 caratteri e un’icona a scelta. Usa la matita per modificarle. Le categorie precedenti che superano questi limiti vengono conservate. Le categorie visibili si dispongono senza scorrimento orizzontale.

              +

              Il pulsante «+» apre lo stesso catalogo per tutti. Espandi o comprimi una categoria, poi usa Aggiungi o Rimuovi su un servizio. Crea un collegamento e Crea una categoria si trovano in cima al catalogo. La lente cerca in tutte le scorciatoie.

              +

              Crea fino a cinque categorie personali con nomi di massimo 16 caratteri e un’icona a scelta. Altre icone apre le opzioni aggiuntive. La matita permette di modificare una categoria. Le categorie precedenti che superano questi limiti vengono conservate. Le categorie visibili si dispongono senza scorrimento orizzontale.

              Un servizio può apparire in più categorie con un solo stato di preferito e un solo contatore; Tutti lo mostra una volta sola. In Modifica, apri Altre categorie per scegliere dove appare. Eliminare una categoria conserva i servizi presenti anche in un’altra categoria.

              -

              Scegliere il catalogo e la pagina iniziale

              -

              In Impostazioni → Catalogo e pagina iniziale, scegli il paese, le categorie visibili e se aprire i preferiti all’avvio. Il paese adatta i suggerimenti in Aggiungi; non elimina le tue scorciatoie. Mostra tutti i paesi amplia il catalogo. Le scorciatoie di una categoria nascosta restano in Tutti e Preferiti. Queste scelte rimangono sul dispositivo e non sono incluse nei backup o nei trasferimenti QR. Il paese iniziale è suggerito dalla regione del browser, senza richiedere la posizione.

              +

              Scegliere la schermata iniziale

              +

              In Impostazioni → Schermata iniziale, scegli le categorie visibili e se aprire i preferiti all’avvio. Queste preferenze restano su questo dispositivo e non vengono incluse nei backup o nei trasferimenti QR. Il catalogo si gestisce con il pulsante «+».

              Telefono: inviare o ricevere

                -
              1. In Impostazioni → Telefono, scegli Invia o Ricevi.
              2. +
              3. In Impostazioni → Backup → Telefono, scegli Invia o Ricevi.
              4. Scansiona il QR visualizzato con il telefono.
              5. Per inviare dal telefono, scegli le sue scorciatoie o un backup e tocca Invia.
              6. Sullo schermo che riceve, tocca Aggiungi per conservare il backup su quel dispositivo.
              7. @@ -132,7 +132,7 @@

                Telefono: inviare o ricevere

                Il QR serve per i trasferimenti con il telefono. Creare un codice o un link non mostra un QR.

                Il trasferimento è cifrato e valido per cinque minuti quando il servizio è disponibile. Invia un’istantanea senza sincronizzazione automatica. Ricevere un backup non sostituisce le tue scorciatoie.

                Codice o link

                -

                In Impostazioni → Codice o link, Crea prepara un codice e un link EvPortal da copiare. Aggiungi accetta entrambi e salva una copia locale dopo la verifica. I file JSON restano disponibili in Altre opzioni. La pagina Telegra.ph creata è pubblica; la copia locale e la pagina online sono distinte.

                +

                In Impostazioni → Backup → Codice o link, Crea prepara un codice e un link EvPortal da copiare. Aggiungi accetta entrambi e salva una copia locale dopo la verifica. I file JSON restano disponibili in Altre opzioni. La pagina Telegra.ph creata è pubblica; la copia locale e la pagina online sono distinte.

                Schermo intero Tesla

                A veicolo parcheggiato, tocca Schermo intero. Su YouTube, scegli Vai al sito o Go to site per tornare a EvPortal in modalità Cinema. Le scorciatoie richiedono una nuova scheda, il cui comportamento dipende dal browser del veicolo.

                Se la Tesla non viene riconosciuta, scegli Apri la modalità Cinema Tesla nelle impostazioni. Sul computer, il pulsante usa lo schermo intero normale. Il reindirizzamento può cambiare con gli aggiornamenti del veicolo o di YouTube.

                @@ -143,7 +143,7 @@

                Schermo intero Tesla

                Metodo descritto da myTesla

                Ripristinare un backup

                -

                In Impostazioni → I miei backup → Ripristina, scegli un backup in Su questo dispositivo o Online e controllane il contenuto. Solo Ripristina sostituisce le scorciatoie. Altre opzioni in Impostazioni permette di annullare l’ultimo ripristino. Aggiungere un codice, un link, un file o un trasferimento QR salva un backup senza applicarlo. Ogni browser conserva il proprio elenco locale.

                +

                In Impostazioni → Backup → I miei backup → Ripristina, scegli un backup in Su questo dispositivo o Online e controllane il contenuto. Solo Ripristina sostituisce le scorciatoie. Altre opzioni in Impostazioni permette di annullare l’ultimo ripristino. Aggiungere un codice, un link, un file o un trasferimento QR salva un backup senza applicarlo. Ogni browser conserva il proprio elenco locale.

                Provare un’anteprima locale

                Il QR usa l’indirizzo del portale aperto. Su un telefono, localhost o 127.0.0.1 indica il telefono stesso. Per provare tra dispositivi, entrambi devono poter accedere al portale e al servizio di trasferimento tramite HTTPS. I codici e i link dei backup usano l’indirizzo pubblico di EvPortal.

                Informazioni e privacy

                diff --git a/it/index.html b/it/index.html index 3346ad9..bc73d7a 100644 --- a/it/index.html +++ b/it/index.html @@ -108,7 +108,7 @@ - + @@ -119,8 +119,20 @@ - + + + + + + + + + + + + + @@ -128,7 +140,6 @@

                — collegamenti per Tesla

                - @@ -150,29 +161,27 @@

                Cinema +

                Impostazioni

                -

                Le scorciatoie restano disponibili in Tutti e Preferiti.

                -
                Catalogo e pagina iniziale -

                Il paese adatta la selezione proposta in Aggiungi.

                +
                Schermata iniziale -
                Categorie visibili
                +
                Categorie visibili
                -
                +
                +

                Backup

                -

                Codice o link

                +

                Codice o link

                -

                Telefono

                +

                Telefono

                -

                I miei backup

                +

                I miei backup

                - -
                Altre opzioni
                Aiuto e informazioni @@ -245,8 +254,8 @@

                Telefono

                -

                Aggiungi collegamenti

                +

                Catalogo

                -
                +
                diff --git a/js/locales/app-ar.json b/js/locales/app-ar.json index c3b3296..502aea0 100644 --- a/js/locales/app-ar.json +++ b/js/locales/app-ar.json @@ -78,8 +78,8 @@ "app.totalCategoryLimit": "تم بلوغ الحد الأقصى البالغ 50 فئة.", "app.addedToCategory": "تمت إضافة {name} إلى {category}.", "app.noServices": "لا توجد خدمات تطابق هذا البحث.", - "app.catalogComplete": "دليلك مكتمل بالفعل. أنشئ اختصارك الخاص.", - "app.catalogHint": "أعد خدمة محذوفة أو أنشئ اختصارك الخاص.", + "app.catalogComplete": "نظّم اختصاراتك أو أنشئ اختصاراتك الخاصة.", + "app.catalogHint": "نظّم اختصاراتك أو أنشئ اختصاراتك الخاصة.", "app.sharedConfig": "إضافة إلى نسخك الاحتياطية دون تغيير اختصاراتك.", "app.importPreview": "الفئات: {categories} · الاختصارات: {count}", "app.fileTooLarge": "يتجاوز الملف الحد الأقصى البالغ 2 ميغابايت.", @@ -121,5 +121,21 @@ "app.icon.weather": "الطقس", "app.icon.productivity": "أدوات", "app.icon.folder": "مجلد", - "app.otherCategories": "فئات أخرى" + "app.otherCategories": "فئات أخرى", + "app.moreIcons": "المزيد من الأيقونات", + "app.remove": "حذف", + "app.removeCatalogNamed": "حذف {name}", + "app.catalogRemoved": "تم حذف {name}.", + "app.icon.home": "منزل", + "app.icon.car": "سيارة", + "app.icon.parking": "موقف سيارات", + "app.icon.map": "خريطة", + "app.icon.globe": "كرة أرضية", + "app.icon.compass": "بوصلة", + "app.icon.coffee": "قهوة", + "app.icon.food": "طعام", + "app.icon.shopping": "تسوق", + "app.icon.heart": "قلب", + "app.icon.camera": "كاميرا", + "app.icon.tools": "صيانة" } diff --git a/js/locales/app-de.json b/js/locales/app-de.json index 7e81ece..f84da0a 100644 --- a/js/locales/app-de.json +++ b/js/locales/app-de.json @@ -78,8 +78,8 @@ "app.totalCategoryLimit": "Das Limit von 50 Kategorien ist erreicht.", "app.addedToCategory": "{name} zu {category} hinzugefügt.", "app.noServices": "Keine Dienste entsprechen dieser Suche.", - "app.catalogComplete": "Dein Katalog ist vollständig. Erstelle eine eigene Verknüpfung.", - "app.catalogHint": "Füge einen entfernten Dienst hinzu oder erstelle eine eigene Verknüpfung.", + "app.catalogComplete": "Verwalte deine Verknüpfungen oder erstelle eigene.", + "app.catalogHint": "Verwalte deine Verknüpfungen oder erstelle eigene.", "app.sharedConfig": "Fügt die Sicherung hinzu, ohne deine Verknüpfungen zu ändern.", "app.importPreview": "Kategorien: {categories} · Verknüpfungen: {count}", "app.fileTooLarge": "Die Datei überschreitet das Limit von 2 MB.", @@ -121,5 +121,21 @@ "app.icon.weather": "Wetter", "app.icon.productivity": "Werkzeuge", "app.icon.folder": "Ordner", - "app.otherCategories": "Weitere Kategorien" + "app.otherCategories": "Weitere Kategorien", + "app.moreIcons": "Weitere Symbole", + "app.remove": "Entfernen", + "app.removeCatalogNamed": "{name} entfernen", + "app.catalogRemoved": "{name} entfernt.", + "app.icon.home": "Haus", + "app.icon.car": "Auto", + "app.icon.parking": "Parkplatz", + "app.icon.map": "Karte", + "app.icon.globe": "Globus", + "app.icon.compass": "Kompass", + "app.icon.coffee": "Kaffee", + "app.icon.food": "Essen", + "app.icon.shopping": "Einkaufen", + "app.icon.heart": "Herz", + "app.icon.camera": "Kamera", + "app.icon.tools": "Heimwerken" } diff --git a/js/locales/app-en.json b/js/locales/app-en.json index 28f4049..b08a094 100644 --- a/js/locales/app-en.json +++ b/js/locales/app-en.json @@ -78,8 +78,8 @@ "app.totalCategoryLimit": "The limit of 50 categories has been reached.", "app.addedToCategory": "{name} added to {category}.", "app.noServices": "No services match this search.", - "app.catalogComplete": "Your catalog is complete. Create your own shortcut.", - "app.catalogHint": "Restore a removed service or create your own shortcut.", + "app.catalogComplete": "Manage your shortcuts or create your own.", + "app.catalogHint": "Manage your shortcuts or create your own.", "app.sharedConfig": "Adds to your backups without changing your shortcuts.", "app.importPreview": "Categories: {categories} · Shortcuts: {count}", "app.fileTooLarge": "The file exceeds the 2 MB limit.", @@ -121,5 +121,21 @@ "app.icon.weather": "Weather", "app.icon.productivity": "Tools", "app.icon.folder": "Folder", - "app.otherCategories": "Other categories" + "app.otherCategories": "Other categories", + "app.moreIcons": "More icons", + "app.remove": "Remove", + "app.removeCatalogNamed": "Remove {name}", + "app.catalogRemoved": "{name} removed.", + "app.icon.home": "Home", + "app.icon.car": "Car", + "app.icon.parking": "Parking", + "app.icon.map": "Map", + "app.icon.globe": "Globe", + "app.icon.compass": "Compass", + "app.icon.coffee": "Coffee", + "app.icon.food": "Food", + "app.icon.shopping": "Shopping", + "app.icon.heart": "Heart", + "app.icon.camera": "Camera", + "app.icon.tools": "DIY" } diff --git a/js/locales/app-es.json b/js/locales/app-es.json index 807a232..c8ad635 100644 --- a/js/locales/app-es.json +++ b/js/locales/app-es.json @@ -78,8 +78,8 @@ "app.totalCategoryLimit": "Se ha alcanzado el límite de 50 categorías.", "app.addedToCategory": "{name} añadido a {category}.", "app.noServices": "Ningún servicio coincide con esta búsqueda.", - "app.catalogComplete": "Tu catálogo ya está completo. Crea tu propio acceso directo.", - "app.catalogHint": "Añade un servicio eliminado o crea tu propio acceso directo.", + "app.catalogComplete": "Gestiona tus accesos directos o crea los tuyos.", + "app.catalogHint": "Gestiona tus accesos directos o crea los tuyos.", "app.sharedConfig": "Se añade a tus copias sin cambiar tus accesos directos.", "app.importPreview": "Categorías: {categories} · Accesos directos: {count}", "app.fileTooLarge": "El archivo supera el límite de 2 MB.", @@ -121,5 +121,21 @@ "app.icon.weather": "Tiempo", "app.icon.productivity": "Herramientas", "app.icon.folder": "Carpeta", - "app.otherCategories": "Otras categorías" + "app.otherCategories": "Otras categorías", + "app.moreIcons": "Más iconos", + "app.remove": "Eliminar", + "app.removeCatalogNamed": "Eliminar {name}", + "app.catalogRemoved": "{name} eliminado.", + "app.icon.home": "Casa", + "app.icon.car": "Coche", + "app.icon.parking": "Aparcamiento", + "app.icon.map": "Mapa", + "app.icon.globe": "Globo", + "app.icon.compass": "Brújula", + "app.icon.coffee": "Café", + "app.icon.food": "Comida", + "app.icon.shopping": "Compras", + "app.icon.heart": "Corazón", + "app.icon.camera": "Cámara", + "app.icon.tools": "Bricolaje" } diff --git a/js/locales/app-fr.json b/js/locales/app-fr.json index d2b6d2e..e675290 100644 --- a/js/locales/app-fr.json +++ b/js/locales/app-fr.json @@ -78,8 +78,8 @@ "app.totalCategoryLimit": "La limite de 50 catégories est atteinte.", "app.addedToCategory": "{name} ajouté à {category}.", "app.noServices": "Aucun service ne correspond à cette recherche.", - "app.catalogComplete": "Votre catalogue est déjà complet. Créez votre propre raccourci.", - "app.catalogHint": "Ajoutez un service supprimé ou créez votre propre raccourci.", + "app.catalogComplete": "Gérez vos raccourcis ou créez les vôtres.", + "app.catalogHint": "Gérez vos raccourcis ou créez les vôtres.", "app.sharedConfig": "Ajout à vos sauvegardes, sans modifier vos raccourcis.", "app.importPreview": "Catégories : {categories} · Raccourcis : {count}", "app.fileTooLarge": "Le fichier dépasse la limite de 2 Mo.", @@ -121,5 +121,21 @@ "app.icon.weather": "Météo", "app.icon.productivity": "Outils", "app.icon.folder": "Dossier", - "app.otherCategories": "Autres catégories" + "app.otherCategories": "Autres catégories", + "app.moreIcons": "Plus d’icônes", + "app.remove": "Supprimer", + "app.removeCatalogNamed": "Supprimer {name}", + "app.catalogRemoved": "{name} supprimé.", + "app.icon.home": "Maison", + "app.icon.car": "Voiture", + "app.icon.parking": "Parking", + "app.icon.map": "Carte", + "app.icon.globe": "Globe", + "app.icon.compass": "Boussole", + "app.icon.coffee": "Café", + "app.icon.food": "Repas", + "app.icon.shopping": "Achats", + "app.icon.heart": "Cœur", + "app.icon.camera": "Appareil photo", + "app.icon.tools": "Bricolage" } diff --git a/js/locales/app-it.json b/js/locales/app-it.json index 7428507..6454da1 100644 --- a/js/locales/app-it.json +++ b/js/locales/app-it.json @@ -78,8 +78,8 @@ "app.totalCategoryLimit": "È stato raggiunto il limite di 50 categorie.", "app.addedToCategory": "{name} aggiunto a {category}.", "app.noServices": "Nessun servizio corrisponde alla ricerca.", - "app.catalogComplete": "Il tuo catalogo è completo. Crea un collegamento personale.", - "app.catalogHint": "Aggiungi un servizio rimosso o crea un collegamento personale.", + "app.catalogComplete": "Gestisci le scorciatoie o crea le tue.", + "app.catalogHint": "Gestisci le scorciatoie o crea le tue.", "app.sharedConfig": "Aggiunge ai tuoi backup senza modificare le scorciatoie.", "app.importPreview": "Categorie: {categories} · Scorciatoie: {count}", "app.fileTooLarge": "Il file supera il limite di 2 MB.", @@ -121,5 +121,21 @@ "app.icon.weather": "Meteo", "app.icon.productivity": "Strumenti", "app.icon.folder": "Cartella", - "app.otherCategories": "Altre categorie" + "app.otherCategories": "Altre categorie", + "app.moreIcons": "Altre icone", + "app.remove": "Rimuovi", + "app.removeCatalogNamed": "Rimuovi {name}", + "app.catalogRemoved": "{name} rimosso.", + "app.icon.home": "Casa", + "app.icon.car": "Auto", + "app.icon.parking": "Parcheggio", + "app.icon.map": "Mappa", + "app.icon.globe": "Globo", + "app.icon.compass": "Bussola", + "app.icon.coffee": "Caffè", + "app.icon.food": "Cibo", + "app.icon.shopping": "Acquisti", + "app.icon.heart": "Cuore", + "app.icon.camera": "Fotocamera", + "app.icon.tools": "Fai da te" } diff --git a/js/locales/app-pt.json b/js/locales/app-pt.json index 006065c..cc6f783 100644 --- a/js/locales/app-pt.json +++ b/js/locales/app-pt.json @@ -78,8 +78,8 @@ "app.totalCategoryLimit": "Foi atingido o limite de 50 categorias.", "app.addedToCategory": "{name} adicionado a {category}.", "app.noServices": "Nenhum serviço corresponde à pesquisa.", - "app.catalogComplete": "O teu catálogo está completo. Cria o teu próprio atalho.", - "app.catalogHint": "Adiciona um serviço removido ou cria o teu próprio atalho.", + "app.catalogComplete": "Gira os seus atalhos ou crie os seus próprios.", + "app.catalogHint": "Gira os seus atalhos ou crie os seus próprios.", "app.sharedConfig": "Adiciona às tuas cópias sem alterar os atalhos.", "app.importPreview": "Categorias: {categories} · Atalhos: {count}", "app.fileTooLarge": "O ficheiro excede o limite de 2 MB.", @@ -121,5 +121,21 @@ "app.icon.weather": "Tempo", "app.icon.productivity": "Ferramentas", "app.icon.folder": "Pasta", - "app.otherCategories": "Outras categorias" + "app.otherCategories": "Outras categorias", + "app.moreIcons": "Mais ícones", + "app.remove": "Remover", + "app.removeCatalogNamed": "Remover {name}", + "app.catalogRemoved": "{name} removido.", + "app.icon.home": "Casa", + "app.icon.car": "Carro", + "app.icon.parking": "Estacionamento", + "app.icon.map": "Mapa", + "app.icon.globe": "Globo", + "app.icon.compass": "Bússola", + "app.icon.coffee": "Café", + "app.icon.food": "Comida", + "app.icon.shopping": "Compras", + "app.icon.heart": "Coração", + "app.icon.camera": "Câmara", + "app.icon.tools": "Bricolagem" } diff --git a/js/locales/app-ru.json b/js/locales/app-ru.json index 4b713d4..00c30be 100644 --- a/js/locales/app-ru.json +++ b/js/locales/app-ru.json @@ -78,8 +78,8 @@ "app.totalCategoryLimit": "Достигнут лимит в 50 категорий.", "app.addedToCategory": "{name} добавлено в категорию «{category}».", "app.noServices": "По этому запросу ничего не найдено.", - "app.catalogComplete": "Ваш каталог уже полон. Создайте собственную ссылку.", - "app.catalogHint": "Верните удалённый сервис или создайте собственную ссылку.", + "app.catalogComplete": "Управляйте ярлыками или создавайте свои.", + "app.catalogHint": "Управляйте ярлыками или создавайте свои.", "app.sharedConfig": "Добавляет копию в список, не изменяя ваши ярлыки.", "app.importPreview": "Категории: {categories} · Ярлыки: {count}", "app.fileTooLarge": "Файл превышает лимит в 2 МБ.", @@ -121,5 +121,21 @@ "app.icon.weather": "Погода", "app.icon.productivity": "Инструменты", "app.icon.folder": "Папка", - "app.otherCategories": "Другие категории" + "app.otherCategories": "Другие категории", + "app.moreIcons": "Другие значки", + "app.remove": "Удалить", + "app.removeCatalogNamed": "Удалить {name}", + "app.catalogRemoved": "{name}: удалено.", + "app.icon.home": "Дом", + "app.icon.car": "Автомобиль", + "app.icon.parking": "Парковка", + "app.icon.map": "Карта", + "app.icon.globe": "Глобус", + "app.icon.compass": "Компас", + "app.icon.coffee": "Кофе", + "app.icon.food": "Еда", + "app.icon.shopping": "Покупки", + "app.icon.heart": "Сердце", + "app.icon.camera": "Камера", + "app.icon.tools": "Ремонт" } diff --git a/js/locales/help-ar.json b/js/locales/help-ar.json index 7d9e77d..b459fb1 100644 --- a/js/locales/help-ar.json +++ b/js/locales/help-ar.json @@ -4,23 +4,23 @@ "help.language": "اللغة", "help.back": "العودة إلى الاختصارات", "help.heading": "دليل EvPortal لمتصفح تسلا", - "help.intro": "اضغط على اختصار لفتح الخدمة في علامة تبويب جديدة. يتيح زر المظهر في الأعلى اختيار الوضع الفاتح أو الداكن. تتوفر اللغات الثماني في الإعدادات بأسمائها وأعلامها؛ وتُعرض العربية من اليمين إلى اليسار.", + "help.intro": "اضغط على اختصار لفتح الخدمة في علامة تبويب جديدة. المظهر الداكن هو الافتراضي، ثم يُحفظ اختيارك للمظهر الفاتح أو الداكن. تتوفر ثماني لغات في الإعدادات بأسمائها الأصلية وأعلامها، وتُعرض العربية من اليمين إلى اليسار.", "help.organizeHeading": "تنظيم الاختصارات", "help.ranking": "يعرض قسم «الكل» الاختصارات الأكثر فتحًا أولًا. وعند تساوي عدد مرات الفتح، يُحفظ ترتيبك اليدوي. يبقى الترتيب محفوظًا بعد إعادة تحميل الصفحة.", "help.dragging": "داخل فئة أو في «المفضلة»، اضغط على «تعديل» ثم حرّك الاختصارات باستخدام مقابضها. تضيف النجمة الاختصار إلى المفضلة، ويتيح القلم تعديله. اضغط على «تم» عند الانتهاء. يحتفظ قسم «الكل» بترتيبه التلقائي.", "help.keyboard": "باستخدام لوحة المفاتيح، حدّد مقبضًا واضغط على مفتاح المسافة، ثم حرّكه بالأسهم وأكّد بمفتاح Enter. يلغي مفتاح Escape العملية.", "help.addHeading": "إضافة اختصار أو فئة", - "help.adding": "يفتح زر + الدليل ويتيح إنشاء اختصار أو فئة. تعني عبارة «موجود بالفعل» أن الخدمة مضافة إلى لوحتك. يشمل البحث جميع اختصاراتك.", - "help.categories": "يمكنك إنشاء خمس فئات شخصية كحد أقصى، باسم لا يتجاوز 16 حرفًا ورمز تختاره. استخدم القلم لتعديلها. تُحفظ الفئات القديمة حتى إن تجاوزت هذه الحدود. تُرتّب الفئات المعروضة دون تمرير أفقي.", + "help.adding": "يفتح زر «+» الكتالوج نفسه للجميع. وسّع فئة أو اطوها، ثم استخدم إضافة أو حذف عند الخدمة. تجد إنشاء اختصار وإنشاء فئة في أعلى الكتالوج. تبحث العدسة في جميع اختصاراتك.", + "help.categories": "أنشئ حتى خمس فئات شخصية بأسماء لا تتجاوز 16 حرفًا وأيقونة من اختيارك. يفتح المزيد من الأيقونات الخيارات الإضافية. يتيح القلم تعديل الفئة. تُحفظ الفئات القديمة التي تتجاوز هذه الحدود. تتوزع الفئات الظاهرة دون تمرير أفقي.", "help.transferHeading": "الهاتف: إرسال أو استقبال", - "help.stepPrepare": "في الإعدادات ← الهاتف، اختر إرسال أو استقبال.", + "help.stepPrepare": "في الإعدادات ← النسخ الاحتياطية ← الهاتف، اختر إرسال أو استقبال.", "help.stepPublish": "امسح رمز QR المعروض بهاتفك.", "help.stepCode": "للإرسال من الهاتف، اختر اختصاراته أو نسخة احتياطية ثم اضغط على إرسال.", "help.stepImport": "على الشاشة المستقبِلة، اضغط على إضافة لحفظ النسخة الاحتياطية على ذلك الجهاز.", "help.stepApply": "لاستخدام محتواها، افتح نسخي الاحتياطية ← استعادة.", "help.qr": "يُستخدم QR للنقل مع الهاتف. لا يظهر رمز QR عند إنشاء رمز أو رابط.", "help.snapshot": "النقل مشفّر وصالح لخمس دقائق عندما تتوفر الخدمة. ينقل لقطة دون مزامنة تلقائية. استقبال نسخة احتياطية لا يستبدل اختصاراتك.", - "help.public": "في الإعدادات ← رمز أو رابط، يجهّز إنشاء رمزًا ورابط EvPortal للنسخ. تقبل إضافة أيًا منهما وتحفظ نسخة محلية بعد التحقق. تبقى ملفات JSON متاحة في خيارات إضافية. صفحة Telegra.ph المنشأة عامة؛ والنسخة المحلية والصفحة عبر الإنترنت مستقلتان.", + "help.public": "في الإعدادات ← النسخ الاحتياطية ← رمز أو رابط، يجهّز إنشاء رمزًا ورابط EvPortal للنسخ. تقبل إضافة أيًا منهما وتحفظ نسخة محلية بعد التحقق. تبقى ملفات JSON متاحة في خيارات إضافية. صفحة Telegra.ph المنشأة عامة؛ والنسخة المحلية والصفحة عبر الإنترنت مستقلتان.", "help.fullscreenHeading": "ملء الشاشة في Tesla", "help.fullscreen": "أثناء الوقوف، اضغط على «ملء الشاشة». في YouTube، اختر «الانتقال إلى الموقع» أو Go to site للعودة إلى EvPortal في وضع المسرح. تطلب الاختصارات فتح علامة تبويب جديدة، ويعتمد سلوكها على متصفح السيارة.", "help.fullscreenFallback": "إذا لم يتم التعرّف على Tesla، اختر «فتح وضع مسرح تسلا» من الإعدادات. على الحاسوب، يستخدم الزر وضع ملء الشاشة العادي. قد تتغيّر إعادة التوجيه مع تحديثات السيارة أو YouTube.", @@ -28,7 +28,7 @@ "help.teslaManual": "دليل Tesla", "help.myTesla": "الطريقة الموضّحة في myTesla", "help.storageHeading": "استعادة نسخة احتياطية", - "help.storage": "في الإعدادات ← نسخي الاحتياطية ← استعادة، اختر نسخة من على هذا الجهاز أو عبر الإنترنت وراجع محتواها. استعادة وحدها تستبدل اختصاراتك. تتيح خيارات إضافية في الإعدادات التراجع عن آخر استعادة. إضافة رمز أو رابط أو ملف أو نقل عبر QR تحفظ نسخة دون تطبيقها. يحتفظ كل متصفح بقائمته المحلية الخاصة.", + "help.storage": "في الإعدادات ← النسخ الاحتياطية ← نسخي الاحتياطية ← استعادة، اختر نسخة من على هذا الجهاز أو عبر الإنترنت وراجع محتواها. استعادة وحدها تستبدل اختصاراتك. تتيح خيارات إضافية في الإعدادات التراجع عن آخر استعادة. إضافة رمز أو رابط أو ملف أو نقل عبر QR تحفظ نسخة دون تطبيقها. يحتفظ كل متصفح بقائمته المحلية الخاصة.", "help.previewHeading": "اختبار معاينة محلية", "help.preview": "يستخدم QR عنوان البوابة المفتوحة. على الهاتف، يشير localhost أو 127.0.0.1 إلى الهاتف نفسه. للاختبار بين جهازين، يجب أن يتمكن كلاهما من الوصول إلى البوابة وخدمة النقل عبر HTTPS. تستخدم رموز وروابط النسخ الاحتياطية عنوان EvPortal العام.", "help.privacyHeading": "حول المشروع والخصوصية", @@ -37,7 +37,7 @@ "help.report": "الإبلاغ عن مشكلة", "help.license": "EvPortal · ترخيص MIT", "help.backupHeading": "رمز أو رابط", - "help.preferencesHeading": "اختيار الكتالوج والشاشة الرئيسية", - "help.preferences": "في الإعدادات ← الكتالوج والشاشة الرئيسية، اختر البلد والفئات المعروضة وما إذا كنت تريد البدء بالمفضلة. يكيّف البلد الاقتراحات في إضافة ولا يحذف اختصاراتك. يوسّع عرض جميع البلدان الكتالوج. تبقى اختصارات الفئات المخفية في الكل والمفضلة. تظل هذه الخيارات على هذا الجهاز ولا تُضمّن في النسخ الاحتياطية أو عمليات النقل عبر QR. يُقترح البلد الأولي بناءً على منطقة المتصفح، دون طلب موقعك.", + "help.preferencesHeading": "اختيار الشاشة الرئيسية", + "help.preferences": "في الإعدادات ← الشاشة الرئيسية، اختر الفئات الظاهرة وما إذا كنت تريد فتح المفضلة عند البدء. تبقى هذه التفضيلات على هذا الجهاز ولا تُضمّن في النسخ الاحتياطية أو عمليات النقل برمز QR. يمكنك إدارة الكتالوج من زر «+».", "help.sharedServices": "يمكن أن تظهر الخدمة في عدة فئات بحالة مفضلة وعدّاد موحّدين؛ وتظهر مرة واحدة فقط في الكل. عند التعديل، افتح فئات أخرى لاختيار مكان ظهورها. عند حذف فئة، تبقى الخدمات الموجودة أيضًا في فئة أخرى." } diff --git a/js/locales/help-de.json b/js/locales/help-de.json index 589a9b8..c69af4f 100644 --- a/js/locales/help-de.json +++ b/js/locales/help-de.json @@ -4,23 +4,23 @@ "help.language": "Sprache", "help.back": "Zurück zu den Verknüpfungen", "help.heading": "EvPortal-Anleitung für den Tesla-Browser", - "help.intro": "Tippe auf eine Verknüpfung, um den Dienst in einem neuen Tab zu öffnen. Die Design-Schaltfläche oben wechselt zwischen Hell und Dunkel. Die acht Sprachen stehen in den Einstellungen mit Namen und Flaggen zur Auswahl; Arabisch wird von rechts nach links angezeigt.", + "help.intro": "Tippe auf eine Verknüpfung, um den Dienst in einem neuen Tab zu öffnen. Das dunkle Design ist voreingestellt; deine Wahl zwischen hellem und dunklem Design wird anschließend gespeichert. Die acht Sprachen findest du in den Einstellungen mit ihren Eigennamen und Flaggen. Arabisch wird von rechts nach links angezeigt.", "help.organizeHeading": "Verknüpfungen ordnen", "help.ranking": "Alle zeigt die am häufigsten geöffneten Verknüpfungen zuerst. Bei gleicher Anzahl gilt deine manuelle Reihenfolge. Die Sortierung bleibt nach dem Neuladen gespeichert.", "help.dragging": "Tippe in einer Kategorie oder unter Favoriten auf Bearbeiten und verschiebe die Verknüpfungen an ihren Griffen. Der Stern fügt einen Favoriten hinzu, der Stift öffnet die Bearbeitung. Tippe anschließend auf Fertig. Alle behält seine automatische Sortierung.", "help.keyboard": "Wähle mit der Tastatur einen Griff, drücke die Leertaste, verschiebe mit den Pfeiltasten und bestätige mit der Eingabetaste. Escape bricht ab.", "help.addHeading": "Verknüpfung oder Kategorie hinzufügen", - "help.adding": "Die Schaltfläche + öffnet den Katalog und bietet das Erstellen einer Verknüpfung oder Kategorie an. Bereits vorhanden kennzeichnet einen schon hinzugefügten Dienst. Die Suche durchsucht alle Verknüpfungen.", - "help.categories": "Erstelle bis zu fünf eigene Kategorien mit Namen bis 16 Zeichen und einem Symbol deiner Wahl. Mit dem Stift kannst du sie bearbeiten. Ältere Kategorien außerhalb dieser Grenzen bleiben erhalten. Die sichtbaren Kategorien verteilen sich ohne horizontales Scrollen.", + "help.adding": "Die Schaltfläche „+“ öffnet für alle denselben Katalog. Klappe eine Kategorie auf oder zu und verwende bei einem Dienst Hinzufügen oder Entfernen. Verknüpfung erstellen und Kategorie erstellen stehen oben im Katalog. Die Lupe durchsucht alle deine Verknüpfungen.", + "help.categories": "Erstelle bis zu fünf persönliche Kategorien mit Namen von höchstens 16 Zeichen und einem Symbol deiner Wahl. Weitere Symbole öffnet die zusätzliche Auswahl. Mit dem Stift bearbeitest du eine Kategorie. Ältere Kategorien, die diese Grenzen überschreiten, bleiben erhalten. Sichtbare Kategorien werden ohne horizontales Scrollen angeordnet.", "help.transferHeading": "Smartphone: senden oder empfangen", - "help.stepPrepare": "Wähle unter Einstellungen → Smartphone Senden oder Empfangen.", + "help.stepPrepare": "Wähle unter Einstellungen → Sicherungen → Smartphone Senden oder Empfangen.", "help.stepPublish": "Scanne den angezeigten QR-Code mit deinem Smartphone.", "help.stepCode": "Wähle zum Senden auf dem Smartphone dessen Verknüpfungen oder eine Sicherung aus und tippe auf Senden.", "help.stepImport": "Tippe auf dem empfangenden Bildschirm auf Hinzufügen, um die Sicherung auf diesem Gerät zu speichern.", "help.stepApply": "Öffne zum Verwenden Meine Sicherungen → Wiederherstellen.", "help.qr": "QR-Codes dienen zur Übertragung mit dem Smartphone. Beim Erstellen eines Codes oder Links wird kein QR-Code angezeigt.", "help.snapshot": "Die Übertragung ist verschlüsselt und bei verfügbarem Dienst fünf Minuten gültig. Sie überträgt einen Stand ohne automatische Synchronisierung. Der Empfang einer Sicherung ersetzt keine Verknüpfungen.", - "help.public": "Unter Einstellungen → Code oder Link erstellt Erstellen einen Code und einen EvPortal-Link zum Kopieren. Hinzufügen nimmt beide an und speichert nach der Prüfung eine lokale Kopie. JSON-Dateien bleiben unter Weitere Optionen verfügbar. Die erstellte Telegra.ph-Seite ist öffentlich; lokale Kopie und Online-Seite sind voneinander getrennt.", + "help.public": "Unter Einstellungen → Sicherungen → Code oder Link erstellt Erstellen einen Code und einen EvPortal-Link zum Kopieren. Hinzufügen nimmt beide an und speichert nach der Prüfung eine lokale Kopie. JSON-Dateien bleiben unter Weitere Optionen verfügbar. Die erstellte Telegra.ph-Seite ist öffentlich; lokale Kopie und Online-Seite sind voneinander getrennt.", "help.fullscreenHeading": "Tesla-Vollbild", "help.fullscreen": "Tippe im geparkten Fahrzeug auf Vollbild. Wähle auf YouTube Zur Website oder Go to site, um im Kinomodus zu EvPortal zurückzukehren. Verknüpfungen fordern einen neuen Tab an; dessen Verhalten hängt vom Fahrzeugbrowser ab.", "help.fullscreenFallback": "Wird der Tesla nicht erkannt, wähle in den Einstellungen Tesla-Kinomodus öffnen. Am Computer verwendet die Schaltfläche das normale Vollbild. Die Weiterleitung kann sich durch Fahrzeug- oder YouTube-Updates ändern.", @@ -28,7 +28,7 @@ "help.teslaManual": "Tesla-Bedienungsanleitung", "help.myTesla": "Von myTesla beschriebene Methode", "help.storageHeading": "Sicherung wiederherstellen", - "help.storage": "Wähle unter Einstellungen → Meine Sicherungen → Wiederherstellen eine Sicherung unter Auf diesem Gerät oder Online und prüfe ihren Inhalt. Nur Wiederherstellen ersetzt deine Verknüpfungen. Unter Weitere Optionen in den Einstellungen kannst du die letzte Wiederherstellung rückgängig machen. Das Hinzufügen eines Codes, Links, einer Datei oder QR-Übertragung speichert eine Sicherung, ohne sie anzuwenden. Jeder Browser führt seine eigene lokale Liste.", + "help.storage": "Wähle unter Einstellungen → Sicherungen → Meine Sicherungen → Wiederherstellen eine Sicherung unter Auf diesem Gerät oder Online und prüfe ihren Inhalt. Nur Wiederherstellen ersetzt deine Verknüpfungen. Unter Weitere Optionen in den Einstellungen kannst du die letzte Wiederherstellung rückgängig machen. Das Hinzufügen eines Codes, Links, einer Datei oder QR-Übertragung speichert eine Sicherung, ohne sie anzuwenden. Jeder Browser führt seine eigene lokale Liste.", "help.previewHeading": "Eine lokale Vorschau testen", "help.preview": "Der QR-Code nutzt die Adresse des geöffneten Portals. Auf einem Smartphone bezeichnet localhost oder 127.0.0.1 das Smartphone selbst. Für Tests zwischen Geräten müssen beide das Portal und den Übertragungsdienst über HTTPS erreichen können. Sicherungscodes und -links nutzen die öffentliche EvPortal-Adresse.", "help.privacyHeading": "Über EvPortal und Datenschutz", @@ -37,7 +37,7 @@ "help.report": "Problem melden", "help.license": "EvPortal · MIT-Lizenz", "help.backupHeading": "Code oder Link", - "help.preferencesHeading": "Katalog und Startseite auswählen", - "help.preferences": "Wähle unter Einstellungen → Katalog und Startseite dein Land, die sichtbaren Kategorien und den Start mit deinen Favoriten. Das Land passt die Vorschläge unter Hinzufügen an; deine Verknüpfungen werden nicht entfernt. Alle Länder anzeigen erweitert den Katalog. Verknüpfungen ausgeblendeter Kategorien bleiben unter Alle und Favoriten verfügbar. Diese Auswahl bleibt auf diesem Gerät und wird weder gesichert noch per QR übertragen. Der erste Ländervorschlag nutzt die Browserregion, ohne deinen Standort abzufragen.", + "help.preferencesHeading": "Deine Startansicht wählen", + "help.preferences": "Unter Einstellungen → Startansicht wählst du die sichtbaren Kategorien und ob beim Start deine Favoriten geöffnet werden. Diese Einstellungen bleiben auf diesem Gerät und sind nicht in Sicherungen oder QR-Übertragungen enthalten. Den Katalog verwaltest du über „+“.", "help.sharedServices": "Ein Dienst kann in mehreren Kategorien erscheinen und behält dabei einen gemeinsamen Favoritenstatus und Zähler; unter Alle erscheint er nur einmal. Öffne beim Bearbeiten Weitere Kategorien, um die Zuordnung zu wählen. Beim Löschen einer Kategorie bleiben Dienste erhalten, die auch einer anderen Kategorie angehören." } diff --git a/js/locales/help-en.json b/js/locales/help-en.json index 582b749..263dd46 100644 --- a/js/locales/help-en.json +++ b/js/locales/help-en.json @@ -4,23 +4,23 @@ "help.language": "Language", "help.back": "Back to shortcuts", "help.heading": "EvPortal guide for the Tesla browser", - "help.intro": "Tap a shortcut to open the service in a new tab. The theme button at the top switches between light and dark mode. The eight languages are available in Settings with their names and flags; Arabic uses a right-to-left layout.", + "help.intro": "Tap a shortcut to open the service in a new tab. Dark mode is the default; your chosen light or dark theme is then saved. The eight languages are available in Settings with their native names and flags; Arabic is displayed from right to left.", "help.organizeHeading": "Organize shortcuts", "help.ranking": "All shows your most frequently opened shortcuts first. Ties keep your manual order. The ranking is saved after reloading.", "help.dragging": "In a category or Favorites, tap Edit and move shortcuts using their handles. The star adds a favorite and the pencil lets you edit. Tap Done when finished. All keeps its automatic ranking.", "help.keyboard": "With a keyboard, focus a handle, press Space, move with the arrow keys, then confirm with Enter. Escape cancels.", "help.addHeading": "Add a shortcut or category", - "help.adding": "The + button opens the catalogue and lets you create a shortcut or category. Already added marks a service already on your dashboard. Search looks through all your shortcuts.", - "help.categories": "Create up to five personal categories with names of up to 16 characters and an icon of your choice. Use the pencil to edit them. Existing categories exceeding these limits are kept. Visible categories fit without horizontal scrolling.", + "help.adding": "The “+” button opens the same catalogue for everyone. Expand or collapse a category, then use Add or Remove on a service. Create a shortcut and Create a category are at the top of the catalogue. The magnifying glass searches all your shortcuts.", + "help.categories": "Create up to five personal categories with names of up to 16 characters and an icon of your choice. More icons opens the additional choices. Use the pencil to edit a category. Older categories exceeding these limits are kept. Visible categories fit without horizontal scrolling.", "help.transferHeading": "Phone: send or receive", - "help.stepPrepare": "In Settings → Phone, choose Send or Receive.", + "help.stepPrepare": "In Settings → Backups → Phone, choose Send or Receive.", "help.stepPublish": "Scan the displayed QR code with your phone.", "help.stepCode": "To send from your phone, choose its shortcuts or a backup, then tap Send.", "help.stepImport": "On the receiving screen, tap Add to keep the backup on that device.", "help.stepApply": "To use its contents, open My backups → Restore.", "help.qr": "QR codes are for phone transfers. Creating a code or link does not display a QR code.", "help.snapshot": "The transfer is encrypted and valid for five minutes when the service is available. It sends a snapshot without automatic synchronization. Receiving a backup does not replace your shortcuts.", - "help.public": "In Settings → Code or link, Create prepares a code and an EvPortal link to copy. Add accepts either and saves a local copy after validation. JSON files remain available under More options. The created Telegra.ph page is public; the local copy and online page are separate.", + "help.public": "In Settings → Backups → Code or link, Create prepares a code and an EvPortal link to copy. Add accepts either and saves a local copy after validation. JSON files remain available under More options. The created Telegra.ph page is public; the local copy and online page are separate.", "help.fullscreenHeading": "Tesla fullscreen", "help.fullscreen": "While parked, tap Fullscreen. On YouTube, choose Go to site to return to EvPortal in Theater mode. Shortcuts request a new tab; its behavior depends on the vehicle browser.", "help.fullscreenFallback": "If the Tesla is not recognized, choose Open Tesla Theater in settings. On a computer, the button uses regular fullscreen. The redirect may change with vehicle or YouTube updates.", @@ -28,7 +28,7 @@ "help.teslaManual": "Tesla manual", "help.myTesla": "Method described by myTesla", "help.storageHeading": "Restore a backup", - "help.storage": "In Settings → My backups → Restore, choose a backup under On this device or Online, then check its contents. Only Restore replaces your shortcuts. More options in Settings lets you undo the last restore. Adding a code, link, file, or QR transfer saves a backup without applying it. Each browser keeps its own local list.", + "help.storage": "In Settings → Backups → My backups → Restore, choose a backup under On this device or Online, then check its contents. Only Restore replaces your shortcuts. More options in Settings lets you undo the last restore. Adding a code, link, file, or QR transfer saves a backup without applying it. Each browser keeps its own local list.", "help.previewHeading": "Test a local preview", "help.preview": "The QR uses the address of the open portal. On a phone, localhost or 127.0.0.1 refers to the phone itself. For testing across devices, both must be able to reach the portal and relay over HTTPS. Backup codes and links use the public EvPortal address.", "help.privacyHeading": "About and privacy", @@ -37,7 +37,7 @@ "help.report": "Report a problem", "help.license": "EvPortal · MIT License", "help.backupHeading": "Code or link", - "help.preferencesHeading": "Choose your catalog and home screen", - "help.preferences": "In Settings → Catalog and home, choose your country, visible categories, and whether to start on your favorites. The country adjusts suggestions in Add; it does not remove your shortcuts. Show all countries expands the catalog. Shortcuts from a hidden category remain in All and Favorites. These choices stay on this device and are not included in backups or QR transfers. The initial country suggestion uses your browser’s region without requesting your location.", + "help.preferencesHeading": "Choose your home view", + "help.preferences": "In Settings → Home, choose which categories to show and whether to open on your favourites. These preferences stay on this device and are not included in backups or QR transfers. Manage the catalogue using the “+” button.", "help.sharedServices": "A service can appear in several categories with one favorite status and one counter; All shows it only once. In Edit, open Other categories to choose where it appears. Deleting a category keeps services that also belong to another category." } diff --git a/js/locales/help-es.json b/js/locales/help-es.json index b7f8bed..ea63894 100644 --- a/js/locales/help-es.json +++ b/js/locales/help-es.json @@ -4,23 +4,23 @@ "help.language": "Idioma", "help.back": "Volver a los accesos directos", "help.heading": "Guía de EvPortal para el navegador Tesla", - "help.intro": "Toca un acceso directo para abrir el servicio en una pestaña nueva. El botón de tema de la parte superior permite elegir el modo claro u oscuro. Los ocho idiomas están disponibles en Ajustes con sus nombres y banderas; el árabe se muestra de derecha a izquierda.", + "help.intro": "Toca un acceso directo para abrir el servicio en una pestaña nueva. El tema oscuro se usa por defecto; después se conserva tu elección de tema claro u oscuro. Los ocho idiomas están disponibles en Ajustes, con sus nombres y banderas; el árabe se muestra de derecha a izquierda.", "help.organizeHeading": "Organizar los accesos directos", "help.ranking": "Todos muestra primero los accesos directos que más abres. En caso de empate, se conserva tu orden manual. La clasificación se guarda al recargar.", "help.dragging": "En una categoría o en Favoritos, toca Editar y mueve los accesos directos con sus asas. La estrella añade un favorito y el lápiz permite editar. Toca Listo al terminar. Todos mantiene su clasificación automática.", "help.keyboard": "Con el teclado, selecciona un asa, pulsa Espacio, desplázate con las flechas y confirma con Intro. Escape cancela.", "help.addHeading": "Añadir un acceso directo o una categoría", - "help.adding": "El botón + abre el catálogo y permite crear un acceso directo o una categoría. Ya añadido indica un servicio que ya está en tu panel. La lupa busca en todos tus accesos directos.", - "help.categories": "Crea hasta cinco categorías personales con nombres de un máximo de 16 caracteres y el icono que prefieras. Usa el lápiz para editarlas. Las categorías antiguas que superen estos límites se conservan. Las categorías visibles se distribuyen sin desplazamiento horizontal.", + "help.adding": "El botón «+» abre el mismo catálogo para todos. Despliega o pliega una categoría y utiliza Añadir o Eliminar en un servicio. Crear un acceso directo y Crear una categoría están en la parte superior del catálogo. La lupa busca en todos tus accesos directos.", + "help.categories": "Crea hasta cinco categorías personales con nombres de hasta 16 caracteres y un icono a tu elección. Más iconos abre las opciones adicionales. El lápiz permite editar una categoría. Se conservan las categorías antiguas que superen estos límites. Las categorías visibles se distribuyen sin desplazamiento horizontal.", "help.transferHeading": "Teléfono: enviar o recibir", - "help.stepPrepare": "En Ajustes → Teléfono, elige Enviar o Recibir.", + "help.stepPrepare": "En Ajustes → Copias de seguridad → Teléfono, elige Enviar o Recibir.", "help.stepPublish": "Escanea el QR mostrado con tu teléfono.", "help.stepCode": "Para enviar desde el teléfono, elige sus accesos directos o una copia y toca Enviar.", "help.stepImport": "En la pantalla que recibe, toca Añadir para guardar la copia en ese dispositivo.", "help.stepApply": "Para usar su contenido, abre Mis copias → Restaurar.", "help.qr": "El QR sirve para transferencias con el teléfono. Crear un código o enlace no muestra un QR.", "help.snapshot": "La transferencia está cifrada y es válida durante cinco minutos cuando el servicio está disponible. Envía una copia del momento, sin sincronización automática. Recibir una copia no reemplaza tus accesos directos.", - "help.public": "En Ajustes → Código o enlace, Crear prepara un código y un enlace EvPortal para copiar. Añadir acepta cualquiera y guarda una copia local tras validarla. Los archivos JSON siguen disponibles en Más opciones. La página Telegra.ph creada es pública; la copia local y la página en línea son independientes.", + "help.public": "En Ajustes → Copias de seguridad → Código o enlace, Crear prepara un código y un enlace EvPortal para copiar. Añadir acepta cualquiera y guarda una copia local tras validarla. Los archivos JSON siguen disponibles en Más opciones. La página Telegra.ph creada es pública; la copia local y la página en línea son independientes.", "help.fullscreenHeading": "Pantalla completa en Tesla", "help.fullscreen": "Con el vehículo estacionado, toca Pantalla completa. En YouTube, elige Ir al sitio o Go to site para volver a EvPortal en modo Teatro. Los accesos directos solicitan una pestaña nueva, cuyo comportamiento depende del navegador del vehículo.", "help.fullscreenFallback": "Si no se reconoce el Tesla, elige Abrir el modo Teatro Tesla en los ajustes. En un ordenador, el botón utiliza la pantalla completa normal. La redirección puede cambiar con las actualizaciones del vehículo o de YouTube.", @@ -28,7 +28,7 @@ "help.teslaManual": "Manual de Tesla", "help.myTesla": "Método descrito por myTesla", "help.storageHeading": "Restaurar una copia", - "help.storage": "En Ajustes → Mis copias → Restaurar, elige una copia en En este dispositivo o En línea y comprueba su contenido. Solo Restaurar reemplaza tus accesos directos. Más opciones en Ajustes permite deshacer la última restauración. Añadir un código, enlace, archivo o transferencia QR guarda una copia sin aplicarla. Cada navegador mantiene su propia lista local.", + "help.storage": "En Ajustes → Copias de seguridad → Mis copias → Restaurar, elige una copia en En este dispositivo o En línea y comprueba su contenido. Solo Restaurar reemplaza tus accesos directos. Más opciones en Ajustes permite deshacer la última restauración. Añadir un código, enlace, archivo o transferencia QR guarda una copia sin aplicarla. Cada navegador mantiene su propia lista local.", "help.previewHeading": "Probar una vista previa local", "help.preview": "El QR usa la dirección del portal abierto. En un teléfono, localhost o 127.0.0.1 se refiere al propio teléfono. Para probar entre dispositivos, ambos deben acceder al portal y al servicio de transferencia mediante HTTPS. Los códigos y enlaces de copias usan la dirección pública de EvPortal.", "help.privacyHeading": "Acerca de EvPortal y privacidad", @@ -37,7 +37,7 @@ "help.report": "Informar de un problema", "help.license": "EvPortal · Licencia MIT", "help.backupHeading": "Código o enlace", - "help.preferencesHeading": "Elegir el catálogo y la pantalla de inicio", - "help.preferences": "En Ajustes → Catálogo e inicio, elige tu país, las categorías visibles y si quieres abrir tus favoritos al inicio. El país adapta las sugerencias en Añadir; no elimina tus accesos directos. Ver todos los países amplía el catálogo. Los accesos de una categoría oculta siguen en Todos y Favoritos. Estas opciones se quedan en este dispositivo y no se incluyen en copias ni transferencias QR. El país inicial se sugiere según la región del navegador, sin pedir tu ubicación.", + "help.preferencesHeading": "Elegir tu vista de inicio", + "help.preferences": "En Ajustes → Inicio, elige las categorías visibles y si quieres abrir tus favoritos al iniciar. Estas preferencias permanecen en este dispositivo y no se incluyen en copias ni transferencias QR. El catálogo se gestiona con el botón «+».", "help.sharedServices": "Un servicio puede aparecer en varias categorías con un único favorito y contador; Todos lo muestra una sola vez. En Editar, abre Otras categorías para elegir dónde aparece. Al eliminar una categoría se conservan los servicios presentes en otra categoría." } diff --git a/js/locales/help-fr.json b/js/locales/help-fr.json index 6d1df64..c54b4c0 100644 --- a/js/locales/help-fr.json +++ b/js/locales/help-fr.json @@ -4,23 +4,23 @@ "help.language": "Langue", "help.back": "Retour aux raccourcis", "help.heading": "Guide EvPortal pour le navigateur Tesla", - "help.intro": "Touchez un raccourci pour ouvrir le service dans un nouvel onglet. Le bouton de thème en haut permet de choisir le mode clair ou sombre. Les huit langues sont disponibles dans Paramètres, avec leurs noms et drapeaux ; l’arabe s’affiche de droite à gauche.", + "help.intro": "Touchez un raccourci pour ouvrir le service dans un nouvel onglet. Le thème sombre est utilisé par défaut ; votre choix clair ou sombre est ensuite conservé. Les huit langues sont disponibles dans Paramètres, avec leurs noms et drapeaux ; l’arabe s’affiche de droite à gauche.", "help.organizeHeading": "Organiser les raccourcis", "help.ranking": "« Tous » affiche d’abord les raccourcis les plus ouverts. À égalité, votre ordre manuel est conservé. Le classement reste enregistré après rechargement.", "help.dragging": "Dans une catégorie ou « Favoris », touchez « Modifier » puis déplacez les raccourcis avec leur poignée. L’étoile ajoute un favori et le crayon permet de modifier. Touchez « Terminer » quand vous avez fini. « Tous » conserve son classement automatique.", "help.keyboard": "Au clavier, sélectionnez une poignée puis appuyez sur Espace, utilisez les flèches et validez avec Entrée. Échap annule.", "help.addHeading": "Ajouter un raccourci ou une catégorie", - "help.adding": "Le bouton « + » ouvre le catalogue et propose de créer un raccourci ou une catégorie. « Déjà présent » indique un service déjà ajouté. La loupe recherche dans tous vos raccourcis.", - "help.categories": "Créez jusqu’à cinq catégories personnelles avec un nom de 16 caractères maximum et une icône au choix. Le crayon permet de les modifier. Les anciennes catégories dépassant ces limites sont conservées. Les catégories affichées se répartissent sans défilement horizontal.", + "help.adding": "Le bouton « + » ouvre le même catalogue pour tous. Ouvrez ou repliez une catégorie, puis utilisez Ajouter ou Supprimer sur un service. Créer un raccourci et Créer une catégorie se trouvent en haut du catalogue. La loupe recherche dans tous vos raccourcis.", + "help.categories": "Créez jusqu’à cinq catégories personnelles avec un nom de 16 caractères maximum et une icône au choix. Plus d’icônes ouvre les choix supplémentaires. Le crayon permet de modifier une catégorie. Les anciennes catégories dépassant ces limites sont conservées. Les catégories affichées se répartissent sans défilement horizontal.", "help.transferHeading": "Téléphone : envoyer ou recevoir", - "help.stepPrepare": "Dans Paramètres → Téléphone, choisissez Envoyer ou Recevoir.", + "help.stepPrepare": "Dans Paramètres → Sauvegardes → Téléphone, choisissez Envoyer ou Recevoir.", "help.stepPublish": "Scannez le QR affiché avec votre téléphone.", "help.stepCode": "Pour envoyer depuis le téléphone, choisissez ses raccourcis ou une sauvegarde, puis touchez Envoyer.", "help.stepImport": "Sur l’écran qui reçoit, touchez Ajouter pour conserver la sauvegarde sur cet appareil.", "help.stepApply": "Pour utiliser son contenu, ouvrez Mes sauvegardes → Restaurer.", "help.qr": "Le QR sert au transfert avec le téléphone. Créer un code ou un lien n’affiche pas de QR.", "help.snapshot": "Le transfert est chiffré et valable cinq minutes lorsque le service est disponible. Il transmet un instantané, sans synchronisation automatique. Recevoir une sauvegarde ne remplace pas vos raccourcis.", - "help.public": "Dans Paramètres → Code ou lien, Créer prépare un code et un lien EvPortal à copier. Ajouter accepte l’un ou l’autre et enregistre une copie locale après validation. Les fichiers JSON restent disponibles dans Plus d’options. La page Telegra.ph créée est publique ; la copie locale et la page en ligne sont distinctes.", + "help.public": "Dans Paramètres → Sauvegardes → Code ou lien, Créer prépare un code et un lien EvPortal à copier. Ajouter accepte l’un ou l’autre et enregistre une copie locale après validation. Les fichiers JSON restent disponibles dans Plus d’options. La page Telegra.ph créée est publique ; la copie locale et la page en ligne sont distinctes.", "help.fullscreenHeading": "Plein écran Tesla", "help.fullscreen": "À l’arrêt, touchez « Plein écran ». Sur YouTube, choisissez « Accéder au site » ou « Go to site » pour revenir à EvPortal dans le mode Théâtre. Les raccourcis demandent un nouvel onglet, dont le comportement dépend du navigateur du véhicule.", "help.fullscreenFallback": "Si la Tesla n’est pas reconnue, choisissez « Ouvrir le mode Théâtre Tesla » dans Paramètres. Sur ordinateur, le bouton utilise le plein écran classique. La redirection peut évoluer avec les mises à jour du véhicule ou de YouTube.", @@ -28,7 +28,7 @@ "help.teslaManual": "Manuel Tesla", "help.myTesla": "Méthode décrite par myTesla", "help.storageHeading": "Restaurer une sauvegarde", - "help.storage": "Dans Paramètres → Mes sauvegardes → Restaurer, choisissez une sauvegarde dans Sur cet appareil ou En ligne, puis vérifiez son contenu. Seul Restaurer remplace vos raccourcis. Les options des paramètres permettent d’annuler la dernière restauration. Ajouter un code, un lien, un fichier ou une réception QR conserve une sauvegarde sans l’appliquer. Chaque navigateur conserve sa propre liste locale.", + "help.storage": "Dans Paramètres → Sauvegardes → Mes sauvegardes → Restaurer, choisissez une sauvegarde dans Sur cet appareil ou En ligne, puis vérifiez son contenu. Seul Restaurer remplace vos raccourcis. Les options des paramètres permettent d’annuler la dernière restauration. Ajouter un code, un lien, un fichier ou une réception QR conserve une sauvegarde sans l’appliquer. Chaque navigateur conserve sa propre liste locale.", "help.previewHeading": "Tester un aperçu local", "help.preview": "Le QR utilise l’adresse du portail ouvert. Sur un téléphone, localhost ou 127.0.0.1 désigne le téléphone lui-même. Pour un essai entre appareils, le portail et le relais doivent être accessibles aux deux en HTTPS. Les codes et liens de sauvegarde utilisent l’adresse publique d’EvPortal.", "help.privacyHeading": "À propos et confidentialité", @@ -37,7 +37,7 @@ "help.report": "Signaler un problème", "help.license": "EvPortal · Licence MIT", "help.backupHeading": "Code ou lien", - "help.preferencesHeading": "Choisir son catalogue et son accueil", - "help.preferences": "Dans Paramètres → Catalogue et accueil, choisissez votre pays, les catégories à afficher et l’ouverture sur vos favoris. Le pays adapte les suggestions dans Ajouter ; il ne supprime pas vos raccourcis. Voir tous les pays élargit le catalogue. Une catégorie masquée conserve ses raccourcis dans Tous et Favoris. Ces choix restent sur cet appareil et ne sont pas transmis dans les sauvegardes ou par QR. Le pays initial est suggéré par la région du navigateur, sans demander votre position.", + "help.preferencesHeading": "Choisir son accueil", + "help.preferences": "Dans Paramètres → Accueil, choisissez les catégories à afficher et l’ouverture sur vos favoris. Ces préférences restent sur cet appareil et ne sont pas transmises dans les sauvegardes ou par QR. Le catalogue se gère avec le bouton « + ».", "help.sharedServices": "Un service peut apparaître dans plusieurs catégories avec un seul favori et un seul compteur ; Tous ne l’affiche qu’une fois. Dans Modifier, ouvrez Autres catégories pour choisir où il apparaît. Supprimer une catégorie conserve les services encore présents dans une autre catégorie." } diff --git a/js/locales/help-it.json b/js/locales/help-it.json index 49f3c49..939c70f 100644 --- a/js/locales/help-it.json +++ b/js/locales/help-it.json @@ -4,23 +4,23 @@ "help.language": "Lingua", "help.back": "Torna alle scorciatoie", "help.heading": "Guida a EvPortal per il browser Tesla", - "help.intro": "Tocca una scorciatoia per aprire il servizio in una nuova scheda. Il pulsante del tema in alto permette di scegliere la modalità chiara o scura. Le otto lingue sono disponibili in Impostazioni con nomi e bandiere; l’arabo viene visualizzato da destra a sinistra.", + "help.intro": "Tocca una scorciatoia per aprire il servizio in una nuova scheda. Il tema scuro è predefinito; la tua scelta tra tema chiaro e scuro viene poi conservata. Le otto lingue sono disponibili in Impostazioni, con i nomi originali e le bandiere; l’arabo viene visualizzato da destra a sinistra.", "help.organizeHeading": "Organizzare le scorciatoie", "help.ranking": "Tutti mostra per prime le scorciatoie aperte più spesso. A parità di aperture, mantiene il tuo ordine manuale. La classifica resta salvata dopo il ricaricamento.", "help.dragging": "In una categoria o nei Preferiti, tocca Modifica e sposta le scorciatoie usando le maniglie. La stella aggiunge un preferito e la matita permette di modificare. Tocca Fine quando hai terminato. Tutti mantiene la classifica automatica.", "help.keyboard": "Con la tastiera, seleziona una maniglia, premi Spazio, sposta con le frecce e conferma con Invio. Esc annulla.", "help.addHeading": "Aggiungere una scorciatoia o una categoria", - "help.adding": "Il pulsante + apre il catalogo e permette di creare una scorciatoia o una categoria. Già presente indica un servizio già aggiunto. La lente cerca in tutte le tue scorciatoie.", - "help.categories": "Crea fino a cinque categorie personali con nomi di massimo 16 caratteri e un’icona a scelta. Usa la matita per modificarle. Le categorie precedenti che superano questi limiti vengono conservate. Le categorie visibili si dispongono senza scorrimento orizzontale.", + "help.adding": "Il pulsante «+» apre lo stesso catalogo per tutti. Espandi o comprimi una categoria, poi usa Aggiungi o Rimuovi su un servizio. Crea un collegamento e Crea una categoria si trovano in cima al catalogo. La lente cerca in tutte le scorciatoie.", + "help.categories": "Crea fino a cinque categorie personali con nomi di massimo 16 caratteri e un’icona a scelta. Altre icone apre le opzioni aggiuntive. La matita permette di modificare una categoria. Le categorie precedenti che superano questi limiti vengono conservate. Le categorie visibili si dispongono senza scorrimento orizzontale.", "help.transferHeading": "Telefono: inviare o ricevere", - "help.stepPrepare": "In Impostazioni → Telefono, scegli Invia o Ricevi.", + "help.stepPrepare": "In Impostazioni → Backup → Telefono, scegli Invia o Ricevi.", "help.stepPublish": "Scansiona il QR visualizzato con il telefono.", "help.stepCode": "Per inviare dal telefono, scegli le sue scorciatoie o un backup e tocca Invia.", "help.stepImport": "Sullo schermo che riceve, tocca Aggiungi per conservare il backup su quel dispositivo.", "help.stepApply": "Per usarne il contenuto, apri I miei backup → Ripristina.", "help.qr": "Il QR serve per i trasferimenti con il telefono. Creare un codice o un link non mostra un QR.", "help.snapshot": "Il trasferimento è cifrato e valido per cinque minuti quando il servizio è disponibile. Invia un’istantanea senza sincronizzazione automatica. Ricevere un backup non sostituisce le tue scorciatoie.", - "help.public": "In Impostazioni → Codice o link, Crea prepara un codice e un link EvPortal da copiare. Aggiungi accetta entrambi e salva una copia locale dopo la verifica. I file JSON restano disponibili in Altre opzioni. La pagina Telegra.ph creata è pubblica; la copia locale e la pagina online sono distinte.", + "help.public": "In Impostazioni → Backup → Codice o link, Crea prepara un codice e un link EvPortal da copiare. Aggiungi accetta entrambi e salva una copia locale dopo la verifica. I file JSON restano disponibili in Altre opzioni. La pagina Telegra.ph creata è pubblica; la copia locale e la pagina online sono distinte.", "help.fullscreenHeading": "Schermo intero Tesla", "help.fullscreen": "A veicolo parcheggiato, tocca Schermo intero. Su YouTube, scegli Vai al sito o Go to site per tornare a EvPortal in modalità Cinema. Le scorciatoie richiedono una nuova scheda, il cui comportamento dipende dal browser del veicolo.", "help.fullscreenFallback": "Se la Tesla non viene riconosciuta, scegli Apri la modalità Cinema Tesla nelle impostazioni. Sul computer, il pulsante usa lo schermo intero normale. Il reindirizzamento può cambiare con gli aggiornamenti del veicolo o di YouTube.", @@ -28,7 +28,7 @@ "help.teslaManual": "Manuale Tesla", "help.myTesla": "Metodo descritto da myTesla", "help.storageHeading": "Ripristinare un backup", - "help.storage": "In Impostazioni → I miei backup → Ripristina, scegli un backup in Su questo dispositivo o Online e controllane il contenuto. Solo Ripristina sostituisce le scorciatoie. Altre opzioni in Impostazioni permette di annullare l’ultimo ripristino. Aggiungere un codice, un link, un file o un trasferimento QR salva un backup senza applicarlo. Ogni browser conserva il proprio elenco locale.", + "help.storage": "In Impostazioni → Backup → I miei backup → Ripristina, scegli un backup in Su questo dispositivo o Online e controllane il contenuto. Solo Ripristina sostituisce le scorciatoie. Altre opzioni in Impostazioni permette di annullare l’ultimo ripristino. Aggiungere un codice, un link, un file o un trasferimento QR salva un backup senza applicarlo. Ogni browser conserva il proprio elenco locale.", "help.previewHeading": "Provare un’anteprima locale", "help.preview": "Il QR usa l’indirizzo del portale aperto. Su un telefono, localhost o 127.0.0.1 indica il telefono stesso. Per provare tra dispositivi, entrambi devono poter accedere al portale e al servizio di trasferimento tramite HTTPS. I codici e i link dei backup usano l’indirizzo pubblico di EvPortal.", "help.privacyHeading": "Informazioni e privacy", @@ -37,7 +37,7 @@ "help.report": "Segnala un problema", "help.license": "EvPortal · Licenza MIT", "help.backupHeading": "Codice o link", - "help.preferencesHeading": "Scegliere il catalogo e la pagina iniziale", - "help.preferences": "In Impostazioni → Catalogo e pagina iniziale, scegli il paese, le categorie visibili e se aprire i preferiti all’avvio. Il paese adatta i suggerimenti in Aggiungi; non elimina le tue scorciatoie. Mostra tutti i paesi amplia il catalogo. Le scorciatoie di una categoria nascosta restano in Tutti e Preferiti. Queste scelte rimangono sul dispositivo e non sono incluse nei backup o nei trasferimenti QR. Il paese iniziale è suggerito dalla regione del browser, senza richiedere la posizione.", + "help.preferencesHeading": "Scegliere la schermata iniziale", + "help.preferences": "In Impostazioni → Schermata iniziale, scegli le categorie visibili e se aprire i preferiti all’avvio. Queste preferenze restano su questo dispositivo e non vengono incluse nei backup o nei trasferimenti QR. Il catalogo si gestisce con il pulsante «+».", "help.sharedServices": "Un servizio può apparire in più categorie con un solo stato di preferito e un solo contatore; Tutti lo mostra una volta sola. In Modifica, apri Altre categorie per scegliere dove appare. Eliminare una categoria conserva i servizi presenti anche in un’altra categoria." } diff --git a/js/locales/help-pt.json b/js/locales/help-pt.json index 5d9baea..5c8e3e0 100644 --- a/js/locales/help-pt.json +++ b/js/locales/help-pt.json @@ -4,23 +4,23 @@ "help.language": "Idioma", "help.back": "Voltar aos atalhos", "help.heading": "Guia do EvPortal para o navegador Tesla", - "help.intro": "Toca num atalho para abrir o serviço num novo separador. O botão do tema no topo permite escolher o modo claro ou escuro. Os oito idiomas estão disponíveis nas Definições com os seus nomes e bandeiras; o árabe é apresentado da direita para a esquerda.", + "help.intro": "Toque num atalho para abrir o serviço num novo separador. O tema escuro é o predefinido; depois é guardada a sua escolha entre claro e escuro. Os oito idiomas estão disponíveis nas Definições, com os nomes originais e as bandeiras; o árabe é apresentado da direita para a esquerda.", "help.organizeHeading": "Organizar os atalhos", "help.ranking": "Todos apresenta primeiro os atalhos mais abertos. Em caso de empate, mantém a sua ordem manual. A classificação fica guardada após recarregar a página.", "help.dragging": "Numa categoria ou nos Favoritos, toque em Editar e mova os atalhos pelas pegas. A estrela adiciona um favorito e o lápis permite editar. Toque em Concluir quando terminar. Todos mantém a classificação automática.", "help.keyboard": "Com o teclado, selecione uma pega, prima Espaço, mova com as setas e confirme com Enter. Escape cancela.", "help.addHeading": "Adicionar um atalho ou uma categoria", - "help.adding": "O botão + abre o catálogo e permite criar um atalho ou uma categoria. Já adicionado indica um serviço que já foi adicionado. A lupa pesquisa em todos os seus atalhos.", - "help.categories": "Crie até cinco categorias pessoais com nomes de até 16 caracteres e um ícone à escolha. Use o lápis para as editar. As categorias antigas que ultrapassem estes limites são mantidas. As categorias visíveis distribuem-se sem deslocamento horizontal.", + "help.adding": "O botão «+» abre o mesmo catálogo para todos. Expanda ou recolha uma categoria e use Adicionar ou Remover num serviço. Criar um atalho e Criar uma categoria estão no topo do catálogo. A lupa pesquisa em todos os seus atalhos.", + "help.categories": "Crie até cinco categorias pessoais com nomes até 16 caracteres e um ícone à escolha. Mais ícones abre as opções adicionais. O lápis permite editar uma categoria. As categorias antigas que ultrapassam estes limites são mantidas. As categorias visíveis distribuem-se sem deslocamento horizontal.", "help.transferHeading": "Telemóvel: enviar ou receber", - "help.stepPrepare": "Em Definições → Telemóvel, escolhe Enviar ou Receber.", + "help.stepPrepare": "Em Definições → Cópias de segurança → Telemóvel, escolhe Enviar ou Receber.", "help.stepPublish": "Lê o QR apresentado com o telemóvel.", "help.stepCode": "Para enviar a partir do telemóvel, escolhe os seus atalhos ou uma cópia e toca em Enviar.", "help.stepImport": "No ecrã que recebe, toca em Adicionar para guardar a cópia nesse dispositivo.", "help.stepApply": "Para usar o seu conteúdo, abre As minhas cópias → Restaurar.", "help.qr": "O QR serve para transferências com o telemóvel. Criar um código ou uma ligação não apresenta um QR.", "help.snapshot": "A transferência é cifrada e válida durante cinco minutos quando o serviço está disponível. Envia uma cópia do momento, sem sincronização automática. Receber uma cópia não substitui os teus atalhos.", - "help.public": "Em Definições → Código ou ligação, Criar prepara um código e uma ligação EvPortal para copiar. Adicionar aceita qualquer um e guarda uma cópia local após validação. Os ficheiros JSON continuam disponíveis em Mais opções. A página Telegra.ph criada é pública; a cópia local e a página online são distintas.", + "help.public": "Em Definições → Cópias de segurança → Código ou ligação, Criar prepara um código e uma ligação EvPortal para copiar. Adicionar aceita qualquer um e guarda uma cópia local após validação. Os ficheiros JSON continuam disponíveis em Mais opções. A página Telegra.ph criada é pública; a cópia local e a página online são distintas.", "help.fullscreenHeading": "Ecrã inteiro Tesla", "help.fullscreen": "Com o veículo estacionado, toque em Ecrã inteiro. No YouTube, escolha Ir para o site ou Go to site para voltar ao EvPortal no modo Cinema. Os atalhos pedem um novo separador, cujo comportamento depende do navegador do veículo.", "help.fullscreenFallback": "Se o Tesla não for reconhecido, escolha Abrir o modo Cinema Tesla nas definições. Num computador, o botão utiliza o ecrã inteiro normal. O redirecionamento pode mudar com atualizações do veículo ou do YouTube.", @@ -28,7 +28,7 @@ "help.teslaManual": "Manual Tesla", "help.myTesla": "Método descrito pelo myTesla", "help.storageHeading": "Restaurar uma cópia", - "help.storage": "Em Definições → As minhas cópias → Restaurar, escolhe uma cópia em Neste dispositivo ou Online e verifica o conteúdo. Só Restaurar substitui os atalhos. Mais opções nas Definições permite anular a última restauração. Adicionar um código, ligação, ficheiro ou transferência QR guarda uma cópia sem a aplicar. Cada navegador mantém a sua própria lista local.", + "help.storage": "Em Definições → Cópias de segurança → As minhas cópias → Restaurar, escolhe uma cópia em Neste dispositivo ou Online e verifica o conteúdo. Só Restaurar substitui os atalhos. Mais opções nas Definições permite anular a última restauração. Adicionar um código, ligação, ficheiro ou transferência QR guarda uma cópia sem a aplicar. Cada navegador mantém a sua própria lista local.", "help.previewHeading": "Testar uma pré-visualização local", "help.preview": "O QR usa o endereço do portal aberto. Num telemóvel, localhost ou 127.0.0.1 refere-se ao próprio telemóvel. Para testar entre dispositivos, ambos têm de aceder ao portal e ao serviço de transferência por HTTPS. Os códigos e ligações das cópias usam o endereço público do EvPortal.", "help.privacyHeading": "Sobre o projeto e privacidade", @@ -37,7 +37,7 @@ "help.report": "Comunicar um problema", "help.license": "EvPortal · Licença MIT", "help.backupHeading": "Código ou ligação", - "help.preferencesHeading": "Escolher o catálogo e o ecrã inicial", - "help.preferences": "Em Definições → Catálogo e início, escolhe o país, as categorias visíveis e se queres abrir os favoritos ao iniciar. O país adapta as sugestões em Adicionar; não elimina os teus atalhos. Ver todos os países alarga o catálogo. Os atalhos de uma categoria oculta continuam em Todos e Favoritos. Estas escolhas ficam neste dispositivo e não são incluídas nas cópias nem nas transferências QR. O país inicial é sugerido pela região do navegador, sem pedir a tua localização.", + "help.preferencesHeading": "Escolher a vista inicial", + "help.preferences": "Em Definições → Início, escolha as categorias visíveis e se pretende abrir os favoritos ao iniciar. Estas preferências ficam neste dispositivo e não são incluídas nas cópias ou transferências QR. O catálogo é gerido através do botão «+».", "help.sharedServices": "Um serviço pode aparecer em várias categorias com um único estado de favorito e contador; Todos apresenta-o uma só vez. Em Editar, abre Outras categorias para escolher onde aparece. Eliminar uma categoria mantém os serviços que também pertencem a outra categoria." } diff --git a/js/locales/help-ru.json b/js/locales/help-ru.json index c4754f9..6a872d3 100644 --- a/js/locales/help-ru.json +++ b/js/locales/help-ru.json @@ -4,23 +4,23 @@ "help.language": "Язык", "help.back": "Вернуться к ярлыкам", "help.heading": "Руководство по EvPortal для браузера Tesla", - "help.intro": "Нажмите на ярлык, чтобы открыть сервис в новой вкладке. Кнопка темы вверху переключает светлый и тёмный режимы. В настройках доступны восемь языков с названиями и флагами; арабский отображается справа налево.", + "help.intro": "Нажмите ярлык, чтобы открыть сервис в новой вкладке. По умолчанию используется тёмная тема; затем сохраняется ваш выбор светлой или тёмной темы. В настройках доступны восемь языков с их названиями и флагами; арабский отображается справа налево.", "help.organizeHeading": "Упорядочить ярлыки", "help.ranking": "В разделе «Все» сначала показаны ярлыки, которые вы открываете чаще всего. При равном числе открытий сохраняется ручной порядок. Сортировка сохраняется после перезагрузки страницы.", "help.dragging": "В категории или в «Избранном» нажмите «Изменить» и перемещайте ярлыки за маркеры. Звезда добавляет в избранное, карандаш позволяет редактировать. Когда закончите, нажмите «Готово». В разделе «Все» сохраняется автоматическая сортировка.", "help.keyboard": "С клавиатуры выберите маркер, нажмите Пробел, перемещайте стрелками и подтвердите клавишей Enter. Escape отменяет перемещение.", "help.addHeading": "Добавить ярлык или категорию", - "help.adding": "Кнопка + открывает каталог и позволяет создать ярлык или категорию. Пометка «Уже добавлено» означает, что сервис уже есть на вашей панели. Поиск охватывает все ярлыки.", - "help.categories": "Можно создать до пяти личных категорий с названиями до 16 символов и выбрать значок. Карандаш позволяет их редактировать. Старые категории, превышающие эти ограничения, сохраняются. Отображаемые категории размещаются без горизонтальной прокрутки.", + "help.adding": "Кнопка «+» открывает одинаковый каталог для всех. Разверните или сверните категорию и используйте кнопки «Добавить» или «Удалить» рядом с сервисом. Действия «Создать ярлык» и «Создать категорию» находятся вверху каталога. Лупа ищет по всем вашим ярлыкам.", + "help.categories": "Создайте до пяти личных категорий с названиями не длиннее 16 символов и значком на выбор. «Другие значки» открывает дополнительные варианты. Карандаш позволяет изменить категорию. Старые категории, превышающие эти ограничения, сохраняются. Видимые категории располагаются без горизонтальной прокрутки.", "help.transferHeading": "Телефон: отправка и получение", - "help.stepPrepare": "В разделе Настройки → Телефон выберите Отправить или Получить.", + "help.stepPrepare": "В разделе Настройки → Резервные копии → Телефон выберите Отправить или Получить.", "help.stepPublish": "Отсканируйте показанный QR-код телефоном.", "help.stepCode": "Для отправки с телефона выберите его ярлыки или копию и нажмите Отправить.", "help.stepImport": "На принимающем экране нажмите Добавить, чтобы сохранить копию на этом устройстве.", "help.stepApply": "Чтобы использовать её содержимое, откройте Мои копии → Восстановить.", "help.qr": "QR-код служит для переноса с телефоном. При создании кода или ссылки QR-код не отображается.", "help.snapshot": "Перенос зашифрован и действует пять минут, если сервис доступен. Передаётся снимок без автоматической синхронизации. Получение копии не заменяет ваши ярлыки.", - "help.public": "В разделе Настройки → Код или ссылка кнопка Создать подготавливает код и ссылку EvPortal для копирования. Добавить принимает любой из вариантов и сохраняет локальную копию после проверки. Файлы JSON доступны в разделе Другие параметры. Созданная страница Telegra.ph общедоступна; локальная копия и страница в сети независимы.", + "help.public": "В разделе Настройки → Резервные копии → Код или ссылка кнопка Создать подготавливает код и ссылку EvPortal для копирования. Добавить принимает любой из вариантов и сохраняет локальную копию после проверки. Файлы JSON доступны в разделе Другие параметры. Созданная страница Telegra.ph общедоступна; локальная копия и страница в сети независимы.", "help.fullscreenHeading": "Полноэкранный режим Tesla", "help.fullscreen": "На парковке нажмите «Полный экран». На YouTube выберите «Перейти на сайт» или Go to site, чтобы вернуться в EvPortal в режиме кинотеатра. Ярлыки запрашивают новую вкладку; её поведение зависит от браузера автомобиля.", "help.fullscreenFallback": "Если Tesla не распознана, выберите «Открыть режим «Кинотеатр Tesla»» в настройках. На компьютере кнопка включает обычный полноэкранный режим. Перенаправление может измениться после обновлений автомобиля или YouTube.", @@ -28,7 +28,7 @@ "help.teslaManual": "Руководство Tesla", "help.myTesla": "Способ, описанный myTesla", "help.storageHeading": "Восстановление копии", - "help.storage": "В разделе Настройки → Мои копии → Восстановить выберите копию в разделе На этом устройстве или В сети и проверьте содержимое. Только Восстановить заменяет ярлыки. В разделе Другие параметры в настройках можно отменить последнее восстановление. Добавление кода, ссылки, файла или переноса по QR сохраняет копию без её применения. Каждый браузер хранит собственный локальный список.", + "help.storage": "В разделе Настройки → Резервные копии → Мои копии → Восстановить выберите копию в разделе На этом устройстве или В сети и проверьте содержимое. Только Восстановить заменяет ярлыки. В разделе Другие параметры в настройках можно отменить последнее восстановление. Добавление кода, ссылки, файла или переноса по QR сохраняет копию без её применения. Каждый браузер хранит собственный локальный список.", "help.previewHeading": "Проверить локальную версию", "help.preview": "QR-код использует адрес открытого портала. На телефоне localhost или 127.0.0.1 обозначает сам телефон. Для проверки между устройствами портал и сервис переноса должны быть доступны обоим по HTTPS. Коды и ссылки на копии используют публичный адрес EvPortal.", "help.privacyHeading": "О проекте и конфиденциальности", @@ -37,7 +37,7 @@ "help.report": "Сообщить о проблеме", "help.license": "EvPortal · Лицензия MIT", "help.backupHeading": "Код или ссылка", - "help.preferencesHeading": "Выбор каталога и начального экрана", - "help.preferences": "В разделе Настройки → Каталог и начальный экран выберите страну, видимые категории и открытие избранного при запуске. Страна меняет подборку в разделе Добавить, не удаляя ваши ярлыки. Показать все страны расширяет каталог. Ярлыки скрытых категорий остаются в разделах Все и Избранное. Эти параметры хранятся только на этом устройстве и не передаются в резервных копиях или по QR-коду. Начальная страна определяется по региону браузера без запроса вашего местоположения.", + "help.preferencesHeading": "Выбрать главный экран", + "help.preferences": "В разделе «Настройки → Главный экран» выберите видимые категории и открытие избранного при запуске. Эти настройки остаются на этом устройстве и не передаются в резервных копиях или по QR-коду. Управление каталогом доступно через кнопку «+».", "help.sharedServices": "Сервис может отображаться в нескольких категориях с общим статусом избранного и счётчиком; в разделе Все он появляется один раз. При редактировании откройте Другие категории, чтобы выбрать, где он отображается. При удалении категории сохраняются сервисы, входящие и в другую категорию." } diff --git a/js/locales/prefs-ar.json b/js/locales/prefs-ar.json index 4453761..6fdb359 100644 --- a/js/locales/prefs-ar.json +++ b/js/locales/prefs-ar.json @@ -1,26 +1,7 @@ { - "prefs.title": "الكتالوج والشاشة الرئيسية", - "prefs.country": "بلد الكتالوج", - "prefs.marketHint": "يكيّف البلد الاختيار المقترح في إضافة.", + "prefs.title": "الشاشة الرئيسية", "prefs.homeFavorites": "الفتح على المفضلة", "prefs.visibleCategories": "الفئات المعروضة", - "prefs.categoriesHint": "تبقى الاختصارات متاحة في الكل والمفضلة.", - "prefs.allMarkets": "جميع البلدان", - "prefs.showAllMarkets": "عرض جميع البلدان", "prefs.saveFailed": "تُحفظ التفضيلات لهذه الجلسة فقط.", - "prefs.invalid": "هذه التفضيلات غير صالحة.", - "prefs.country.FR": "فرنسا", - "prefs.country.CA": "كندا", - "prefs.country.US": "الولايات المتحدة", - "prefs.country.BE": "بلجيكا", - "prefs.country.GB": "المملكة المتحدة", - "prefs.country.DE": "ألمانيا", - "prefs.country.ES": "إسبانيا", - "prefs.country.IT": "إيطاليا", - "prefs.country.PT": "البرتغال", - "prefs.country.AU": "أستراليا", - "prefs.country.NZ": "نيوزيلندا", - "prefs.country.CH": "سويسرا", - "prefs.country.ALL": "جميع البلدان", - "prefs.country.MX": "المكسيك" + "prefs.invalid": "هذه التفضيلات غير صالحة." } diff --git a/js/locales/prefs-de.json b/js/locales/prefs-de.json index 5566d30..a4c0bc6 100644 --- a/js/locales/prefs-de.json +++ b/js/locales/prefs-de.json @@ -1,26 +1,7 @@ { - "prefs.title": "Katalog und Startseite", - "prefs.country": "Land des Katalogs", - "prefs.marketHint": "Das Land passt die Vorschläge unter Hinzufügen an.", + "prefs.title": "Startansicht", "prefs.homeFavorites": "Mit meinen Favoriten starten", "prefs.visibleCategories": "Sichtbare Kategorien", - "prefs.categoriesHint": "Verknüpfungen bleiben unter Alle und Favoriten verfügbar.", - "prefs.allMarkets": "Alle Länder", - "prefs.showAllMarkets": "Alle Länder anzeigen", "prefs.saveFailed": "Einstellungen werden nur für diese Sitzung gespeichert.", - "prefs.invalid": "Diese Einstellungen sind ungültig.", - "prefs.country.FR": "Frankreich", - "prefs.country.CA": "Kanada", - "prefs.country.US": "Vereinigte Staaten", - "prefs.country.BE": "Belgien", - "prefs.country.GB": "Vereinigtes Königreich", - "prefs.country.DE": "Deutschland", - "prefs.country.ES": "Spanien", - "prefs.country.IT": "Italien", - "prefs.country.PT": "Portugal", - "prefs.country.AU": "Australien", - "prefs.country.NZ": "Neuseeland", - "prefs.country.CH": "Schweiz", - "prefs.country.ALL": "Alle Länder", - "prefs.country.MX": "Mexiko" + "prefs.invalid": "Diese Einstellungen sind ungültig." } diff --git a/js/locales/prefs-en.json b/js/locales/prefs-en.json index c455d11..6b36583 100644 --- a/js/locales/prefs-en.json +++ b/js/locales/prefs-en.json @@ -1,26 +1,7 @@ { - "prefs.title": "Catalog and home", - "prefs.country": "Catalog country", - "prefs.marketHint": "The country adjusts the selection suggested in Add.", + "prefs.title": "Home", "prefs.homeFavorites": "Open on my favorites", "prefs.visibleCategories": "Visible categories", - "prefs.categoriesHint": "Shortcuts remain available in All and Favorites.", - "prefs.allMarkets": "All countries", - "prefs.showAllMarkets": "Show all countries", "prefs.saveFailed": "Preferences are saved for this session only.", - "prefs.invalid": "These preferences are invalid.", - "prefs.country.FR": "France", - "prefs.country.CA": "Canada", - "prefs.country.US": "United States", - "prefs.country.BE": "Belgium", - "prefs.country.GB": "United Kingdom", - "prefs.country.DE": "Germany", - "prefs.country.ES": "Spain", - "prefs.country.IT": "Italy", - "prefs.country.PT": "Portugal", - "prefs.country.AU": "Australia", - "prefs.country.NZ": "New Zealand", - "prefs.country.CH": "Switzerland", - "prefs.country.ALL": "All countries", - "prefs.country.MX": "Mexico" + "prefs.invalid": "These preferences are invalid." } diff --git a/js/locales/prefs-es.json b/js/locales/prefs-es.json index bab5010..0cbd1bb 100644 --- a/js/locales/prefs-es.json +++ b/js/locales/prefs-es.json @@ -1,26 +1,7 @@ { - "prefs.title": "Catálogo e inicio", - "prefs.country": "País del catálogo", - "prefs.marketHint": "El país adapta la selección propuesta en Añadir.", + "prefs.title": "Inicio", "prefs.homeFavorites": "Abrir en mis favoritos", "prefs.visibleCategories": "Categorías visibles", - "prefs.categoriesHint": "Los accesos directos siguen disponibles en Todos y Favoritos.", - "prefs.allMarkets": "Todos los países", - "prefs.showAllMarkets": "Ver todos los países", "prefs.saveFailed": "Las preferencias solo se guardan durante esta sesión.", - "prefs.invalid": "Estas preferencias no son válidas.", - "prefs.country.FR": "Francia", - "prefs.country.CA": "Canadá", - "prefs.country.US": "Estados Unidos", - "prefs.country.BE": "Bélgica", - "prefs.country.GB": "Reino Unido", - "prefs.country.DE": "Alemania", - "prefs.country.ES": "España", - "prefs.country.IT": "Italia", - "prefs.country.PT": "Portugal", - "prefs.country.AU": "Australia", - "prefs.country.NZ": "Nueva Zelanda", - "prefs.country.CH": "Suiza", - "prefs.country.ALL": "Todos los países", - "prefs.country.MX": "México" + "prefs.invalid": "Estas preferencias no son válidas." } diff --git a/js/locales/prefs-fr.json b/js/locales/prefs-fr.json index 178067d..7d9bdd3 100644 --- a/js/locales/prefs-fr.json +++ b/js/locales/prefs-fr.json @@ -1,26 +1,7 @@ { - "prefs.title": "Catalogue et accueil", - "prefs.country": "Pays du catalogue", - "prefs.marketHint": "Le pays adapte la sélection proposée dans Ajouter.", + "prefs.title": "Accueil", "prefs.homeFavorites": "Ouvrir sur mes favoris", "prefs.visibleCategories": "Catégories affichées", - "prefs.categoriesHint": "Les raccourcis restent accessibles dans Tous et Favoris.", - "prefs.allMarkets": "Tous les pays", - "prefs.showAllMarkets": "Voir tous les pays", "prefs.saveFailed": "Préférences conservées pour cette session seulement.", - "prefs.invalid": "Ces préférences ne sont pas valides.", - "prefs.country.FR": "France", - "prefs.country.CA": "Canada", - "prefs.country.US": "États-Unis", - "prefs.country.BE": "Belgique", - "prefs.country.GB": "Royaume-Uni", - "prefs.country.DE": "Allemagne", - "prefs.country.ES": "Espagne", - "prefs.country.IT": "Italie", - "prefs.country.PT": "Portugal", - "prefs.country.AU": "Australie", - "prefs.country.NZ": "Nouvelle-Zélande", - "prefs.country.CH": "Suisse", - "prefs.country.ALL": "Tous les pays", - "prefs.country.MX": "Mexique" + "prefs.invalid": "Ces préférences ne sont pas valides." } diff --git a/js/locales/prefs-it.json b/js/locales/prefs-it.json index d28a388..b926277 100644 --- a/js/locales/prefs-it.json +++ b/js/locales/prefs-it.json @@ -1,26 +1,7 @@ { - "prefs.title": "Catalogo e pagina iniziale", - "prefs.country": "Paese del catalogo", - "prefs.marketHint": "Il paese adatta la selezione proposta in Aggiungi.", + "prefs.title": "Schermata iniziale", "prefs.homeFavorites": "Apri sui miei preferiti", "prefs.visibleCategories": "Categorie visibili", - "prefs.categoriesHint": "Le scorciatoie restano disponibili in Tutti e Preferiti.", - "prefs.allMarkets": "Tutti i paesi", - "prefs.showAllMarkets": "Mostra tutti i paesi", "prefs.saveFailed": "Le preferenze sono salvate solo per questa sessione.", - "prefs.invalid": "Queste preferenze non sono valide.", - "prefs.country.FR": "Francia", - "prefs.country.CA": "Canada", - "prefs.country.US": "Stati Uniti", - "prefs.country.BE": "Belgio", - "prefs.country.GB": "Regno Unito", - "prefs.country.DE": "Germania", - "prefs.country.ES": "Spagna", - "prefs.country.IT": "Italia", - "prefs.country.PT": "Portogallo", - "prefs.country.AU": "Australia", - "prefs.country.NZ": "Nuova Zelanda", - "prefs.country.CH": "Svizzera", - "prefs.country.ALL": "Tutti i paesi", - "prefs.country.MX": "Messico" + "prefs.invalid": "Queste preferenze non sono valide." } diff --git a/js/locales/prefs-pt.json b/js/locales/prefs-pt.json index be61c84..bc25545 100644 --- a/js/locales/prefs-pt.json +++ b/js/locales/prefs-pt.json @@ -1,26 +1,7 @@ { - "prefs.title": "Catálogo e início", - "prefs.country": "País do catálogo", - "prefs.marketHint": "O país adapta a seleção sugerida em Adicionar.", + "prefs.title": "Início", "prefs.homeFavorites": "Abrir nos meus favoritos", "prefs.visibleCategories": "Categorias visíveis", - "prefs.categoriesHint": "Os atalhos continuam disponíveis em Todos e Favoritos.", - "prefs.allMarkets": "Todos os países", - "prefs.showAllMarkets": "Ver todos os países", "prefs.saveFailed": "As preferências são guardadas apenas nesta sessão.", - "prefs.invalid": "Estas preferências são inválidas.", - "prefs.country.FR": "França", - "prefs.country.CA": "Canadá", - "prefs.country.US": "Estados Unidos", - "prefs.country.BE": "Bélgica", - "prefs.country.GB": "Reino Unido", - "prefs.country.DE": "Alemanha", - "prefs.country.ES": "Espanha", - "prefs.country.IT": "Itália", - "prefs.country.PT": "Portugal", - "prefs.country.AU": "Austrália", - "prefs.country.NZ": "Nova Zelândia", - "prefs.country.CH": "Suíça", - "prefs.country.ALL": "Todos os países", - "prefs.country.MX": "México" + "prefs.invalid": "Estas preferências são inválidas." } diff --git a/js/locales/prefs-ru.json b/js/locales/prefs-ru.json index 0a65b78..a2c0b3a 100644 --- a/js/locales/prefs-ru.json +++ b/js/locales/prefs-ru.json @@ -1,26 +1,7 @@ { - "prefs.title": "Каталог и начальный экран", - "prefs.country": "Страна каталога", - "prefs.marketHint": "Страна определяет подборку в разделе Добавить.", + "prefs.title": "Главный экран", "prefs.homeFavorites": "Открывать мои избранные", "prefs.visibleCategories": "Показываемые категории", - "prefs.categoriesHint": "Ярлыки остаются доступными в разделах Все и Избранное.", - "prefs.allMarkets": "Все страны", - "prefs.showAllMarkets": "Показать все страны", "prefs.saveFailed": "Настройки сохранены только на время этого сеанса.", - "prefs.invalid": "Эти настройки недопустимы.", - "prefs.country.FR": "Франция", - "prefs.country.CA": "Канада", - "prefs.country.US": "Соединенные Штаты", - "prefs.country.BE": "Бельгия", - "prefs.country.GB": "Великобритания", - "prefs.country.DE": "Германия", - "prefs.country.ES": "Испания", - "prefs.country.IT": "Италия", - "prefs.country.PT": "Португалия", - "prefs.country.AU": "Австралия", - "prefs.country.NZ": "Новая Зеландия", - "prefs.country.CH": "Швейцария", - "prefs.country.ALL": "Все страны", - "prefs.country.MX": "Мексика" + "prefs.invalid": "Эти настройки недопустимы." } diff --git a/js/locales/seo-ar.json b/js/locales/seo-ar.json index ffeb902..f5eafe4 100644 --- a/js/locales/seo-ar.json +++ b/js/locales/seo-ar.json @@ -2,9 +2,9 @@ "seo.introHeading": "بوابة اختصارات لسيارتك تسلا", "seo.intro": "EvPortal بوابة مجانية ومستقلة تجمع مواقعك المفضلة في صفحة مصممة لمتصفح تسلا. يمكنك استخدامها أيضًا في متصفح الهاتف أو الكمبيوتر. تفتح الأيقونات الكبيرة الخدمات التي تختارها، دون ملء الشاشة الرئيسية بالنصوص أو الأدوات المصغرة. يمكنك تخصيص الاختصارات وفئاتها وترتيبها، ثم اختيار المظهر الفاتح أو الداكن. تبقى روابطك التي تحتاج إليها في مكان واحد يسهل الوصول إليه أثناء التوقف.", "seo.startHeading": "البدء من متصفح السيارة", - "seo.start": "عندما تكون السيارة متوقفة، افتح عنوان EvPortal في متصفحها. احفظ الصفحة في مفضلة المتصفح إن كان هذا الخيار متاحًا لتعود إليها بسهولة. لا تحتاج إلى تثبيت تطبيق أو تسجيل الدخول إلى حساب تسلا لفتح البوابة. في الإعدادات، يمكنك اختيار لغة الواجهة وبلد الكتالوج بشكل مستقل. تبقى تفضيلاتك على هذا الجهاز، وتتيح لك النسخة الاحتياطية الاحتفاظ باختصاراتك أو نقلها إلى جهاز آخر.", + "seo.start": "عندما تكون السيارة متوقفة، افتح عنوان EvPortal في متصفحها. احفظ الصفحة في مفضلة المتصفح إن كان هذا الخيار متاحًا لتعود إليها بسهولة. لا تحتاج إلى تثبيت تطبيق أو تسجيل الدخول إلى حساب تسلا لفتح البوابة. يفتح زر «+» الكتالوج لإدارة اختصاراتك. يمكنك اختيار اللغة والشاشة الرئيسية من الإعدادات. تبقى تفضيلاتك على هذا الجهاز، وتتيح لك النسخة الاحتياطية الاحتفاظ باختصاراتك أو نقلها إلى جهاز آخر.", "seo.chargingHeading": "الوصول إلى خدماتك أثناء الشحن", - "seo.charging": "أضف روابط أدوات تخطيط الرحلات أو الشحن، ومحطات الراديو والموسيقى والطقس. يقترح الكتالوج خدمات بحسب البلد المحدد، ويمكنك أيضًا إدخال عنوان موقع تختاره بنفسك. يفتح كل اختصار موقع الخدمة وفق شروط الوصول الخاصة بها. لا يتحكم EvPortal في الشحن ولا يرسل أوامر إلى السيارة. استخدم المحتوى الترفيهي أثناء التوقف. تغيير بلد الكتالوج يغيّر الاقتراحات دون حذف الاختصارات التي أضفتها من قبل.", + "seo.charging": "أضف روابط أدوات تخطيط الرحلات أو الشحن، ومحطات الراديو والموسيقى والطقس. الكتالوج موحّد للجميع ويضم فئات قابلة للطي، ويمكنك أيضًا إدخال عنوان موقع تختاره بنفسك. يفتح كل اختصار موقع الخدمة وفق شروط الوصول الخاصة بها. لا يتحكم EvPortal في الشحن ولا يرسل أوامر إلى السيارة. استخدم المحتوى الترفيهي أثناء التوقف.", "seo.faqHeading": "الأسئلة الشائعة", "seo.faqFreeQuestion": "هل EvPortal مجاني؟", "seo.faqFreeAnswer": "نعم. البوابة مجانية وغير تابعة لتسلا. قد تتطلب بعض المواقع التي تفتحها حسابًا أو اشتراكًا؛ وتحدد كل خدمة شروطها بنفسها.", diff --git a/js/locales/seo-de.json b/js/locales/seo-de.json index 2dc6919..8e14f57 100644 --- a/js/locales/seo-de.json +++ b/js/locales/seo-de.json @@ -2,9 +2,9 @@ "seo.introHeading": "Eine Startseite mit Verknüpfungen für deinen Tesla", "seo.intro": "EvPortal ist eine kostenlose, unabhängige Startseite, die deine bevorzugten Websites auf einer für den Tesla-Browser gestalteten Seite bündelt. Du kannst sie auch im Browser auf dem Smartphone oder Computer verwenden. Große Symbole öffnen die gewählten Dienste, ohne den Startbildschirm mit Text oder Widgets zu füllen. Verknüpfungen, Kategorien und deren Reihenfolge lassen sich anpassen. Außerdem stehen ein helles und ein dunkles Design zur Auswahl.", "seo.startHeading": "Im Fahrzeugbrowser starten", - "seo.start": "Öffne die Adresse von EvPortal im Browser deines geparkten Fahrzeugs. Speichere sie als Browserfavorit, wenn diese Möglichkeit verfügbar ist, damit du sie leicht wiederfindest. Zum Öffnen des Portals musst du keine App installieren und dich nicht mit einem Tesla-Konto anmelden. Sprache und Katalogland wählst du in den Einstellungen unabhängig voneinander. Deine Einstellungen bleiben auf diesem Gerät; mit einer Sicherung kannst du deine Verknüpfungen aufbewahren oder übertragen.", + "seo.start": "Öffne die Adresse von EvPortal im Browser deines geparkten Fahrzeugs. Speichere sie als Browserfavorit, wenn diese Möglichkeit verfügbar ist, damit du sie leicht wiederfindest. Zum Öffnen des Portals musst du keine App installieren und dich nicht mit einem Tesla-Konto anmelden. Über „+“ öffnest du den Katalog, um deine Verknüpfungen zu verwalten. In den Einstellungen wählst du Sprache und Startansicht. Deine Einstellungen bleiben auf diesem Gerät; mit einer Sicherung kannst du deine Verknüpfungen aufbewahren oder übertragen.", "seo.chargingHeading": "Dienste während einer Ladepause finden", - "seo.charging": "Füge Links zu deiner Routen- oder Ladeplanung, Radiosendern, Musik und Wetterdiensten hinzu. Der Katalog schlägt Dienste für das ausgewählte Land vor; du kannst auch eigene Webadressen eingeben. Jede Verknüpfung öffnet die Website des Anbieters mit dessen Zugangsbedingungen. EvPortal steuert weder den Ladevorgang noch sendet es Befehle an das Fahrzeug. Nutze Unterhaltungsangebote im geparkten Fahrzeug.", + "seo.charging": "Füge Links zu deiner Routen- oder Ladeplanung, Radiosendern, Musik und Wetterdiensten hinzu. Der Katalog ist für alle gleich und hat aufklappbare Kategorien; du kannst auch eigene Webadressen eingeben. Jede Verknüpfung öffnet die Website des Anbieters mit dessen Zugangsbedingungen. EvPortal steuert weder den Ladevorgang noch sendet es Befehle an das Fahrzeug. Nutze Unterhaltungsangebote im geparkten Fahrzeug.", "seo.faqHeading": "Häufige Fragen", "seo.faqFreeQuestion": "Ist EvPortal kostenlos?", "seo.faqFreeAnswer": "Ja. Das Portal ist kostenlos und steht in keiner Verbindung zu Tesla. Einige verlinkte Websites können ein Konto oder Abonnement erfordern. Die jeweiligen Anbieter legen diese Bedingungen fest.", diff --git a/js/locales/seo-en.json b/js/locales/seo-en.json index 2d3cc66..9d170ac 100644 --- a/js/locales/seo-en.json +++ b/js/locales/seo-en.json @@ -2,9 +2,9 @@ "seo.introHeading": "A shortcut dashboard for your Tesla", "seo.intro": "EvPortal is a free, independent dashboard that brings your favourite websites together on a page designed for the Tesla browser. You can also use it in a browser on your phone or computer. Large icons open your chosen services without filling the home screen with text or widgets. Customise your shortcuts, categories and their order, then choose a light or dark theme.", "seo.startHeading": "Get started in your vehicle’s browser", - "seo.start": "While parked, open the EvPortal address in your car’s browser. Save it as a browser favourite if that option is available so it is easy to find again. Opening the portal requires no app installation or Tesla account sign-in. In Settings, choose your language and catalogue country separately. Your preferences stay on this device; a backup lets you keep a copy of your shortcuts or transfer them.", + "seo.start": "While parked, open the EvPortal address in your car’s browser. Save it as a browser favourite if that option is available so it is easy to find again. Opening the portal requires no app installation or Tesla account sign-in. The “+” button opens the catalogue to manage your shortcuts. In Settings, choose your language and home view. Your preferences stay on this device; a backup lets you keep a copy of your shortcuts or transfer them.", "seo.chargingHeading": "Find your services during a charging stop", - "seo.charging": "Add links to your route and charging planners, radio stations, music and weather services. The catalogue suggests services for the selected country; you can also enter your own web address. Each shortcut opens the provider’s website, with its own access conditions. EvPortal does not control charging or send commands to the vehicle. Use entertainment content while parked.", + "seo.charging": "Add links to your route and charging planners, radio stations, music and weather services. The catalogue is the same for everyone, with collapsible categories; you can also enter your own web address. Each shortcut opens the provider’s website, with its own access conditions. EvPortal does not control charging or send commands to the vehicle. Use entertainment content while parked.", "seo.faqHeading": "Frequently asked questions", "seo.faqFreeQuestion": "Is EvPortal free?", "seo.faqFreeAnswer": "Yes. The portal is free and is not affiliated with Tesla. Some linked websites may require an account or subscription; the service provider sets those conditions.", diff --git a/js/locales/seo-es.json b/js/locales/seo-es.json index 171b50b..9edbcaa 100644 --- a/js/locales/seo-es.json +++ b/js/locales/seo-es.json @@ -2,9 +2,9 @@ "seo.introHeading": "Un portal de accesos directos para tu Tesla", "seo.intro": "EvPortal es un portal gratuito e independiente que reúne tus sitios favoritos en una página pensada para el navegador Tesla. También puedes usarlo en el navegador del teléfono o del ordenador. Los iconos grandes abren los servicios elegidos sin llenar la pantalla de inicio de textos o widgets. Puedes personalizar tus accesos directos, sus categorías y su orden, y elegir un tema claro u oscuro.", "seo.startHeading": "Empezar en el navegador del vehículo", - "seo.start": "Con el vehículo estacionado, abre la dirección de EvPortal en su navegador. Guárdala en los favoritos del navegador si esa opción está disponible para encontrarla fácilmente. No necesitas instalar una aplicación ni iniciar sesión en una cuenta Tesla para abrir el portal. En Ajustes, elige por separado el idioma y el país del catálogo. Tus preferencias permanecen en este dispositivo; una copia permite conservar o transferir tus accesos directos.", + "seo.start": "Con el vehículo estacionado, abre la dirección de EvPortal en su navegador. Guárdala en los favoritos del navegador si esa opción está disponible para encontrarla fácilmente. No necesitas instalar una aplicación ni iniciar sesión en una cuenta Tesla para abrir el portal. El botón «+» abre el catálogo para gestionar tus accesos directos. En Ajustes, elige el idioma y la vista de inicio. Tus preferencias permanecen en este dispositivo; una copia permite conservar o transferir tus accesos directos.", "seo.chargingHeading": "Encontrar tus servicios durante una recarga", - "seo.charging": "Añade enlaces a tus planificadores de rutas o recarga, emisoras de radio, música y servicios meteorológicos. El catálogo propone servicios según el país seleccionado; también puedes introducir una dirección propia. Cada acceso directo abre el sitio del proveedor, con sus propias condiciones de acceso. EvPortal no controla la carga ni envía órdenes al vehículo. Consulta los contenidos de entretenimiento con el vehículo estacionado.", + "seo.charging": "Añade enlaces a tus planificadores de rutas o recarga, emisoras de radio, música y servicios meteorológicos. El catálogo es el mismo para todos, con categorías plegables; también puedes introducir una dirección propia. Cada acceso directo abre el sitio del proveedor, con sus propias condiciones de acceso. EvPortal no controla la carga ni envía órdenes al vehículo. Consulta los contenidos de entretenimiento con el vehículo estacionado.", "seo.faqHeading": "Preguntas frecuentes", "seo.faqFreeQuestion": "¿EvPortal es gratuito?", "seo.faqFreeAnswer": "Sí. El portal es gratuito y no está afiliado a Tesla. Algunos sitios enlazados pueden exigir una cuenta o suscripción; esas condiciones dependen del servicio.", diff --git a/js/locales/seo-fr.json b/js/locales/seo-fr.json index bf09ed4..ab4d22a 100644 --- a/js/locales/seo-fr.json +++ b/js/locales/seo-fr.json @@ -2,9 +2,9 @@ "seo.introHeading": "Un portail de raccourcis pour votre Tesla", "seo.intro": "EvPortal est un portail gratuit et indépendant qui rassemble vos sites favoris sur une page pensée pour le navigateur Tesla. Il s’utilise aussi dans un navigateur sur téléphone ou ordinateur. De grandes icônes donnent accès aux services choisis, sans remplir l’accueil de textes ou de widgets. Vous pouvez personnaliser vos raccourcis, leurs catégories et leur ordre, puis choisir un thème clair ou sombre.", "seo.startHeading": "Commencer dans le navigateur du véhicule", - "seo.start": "À l’arrêt, ouvrez l’adresse d’EvPortal dans le navigateur de la voiture. Enregistrez-la dans ses favoris si cette option est disponible pour la retrouver facilement. Aucune installation d’application ni connexion à un compte Tesla n’est nécessaire pour ouvrir le portail. Dans Paramètres, choisissez la langue et le pays du catalogue séparément. Vos réglages restent sur cet appareil ; une sauvegarde permet de conserver ou de transférer vos raccourcis.", + "seo.start": "À l’arrêt, ouvrez l’adresse d’EvPortal dans le navigateur de la voiture. Enregistrez-la dans ses favoris si cette option est disponible pour la retrouver facilement. Aucune installation d’application ni connexion à un compte Tesla n’est nécessaire pour ouvrir le portail. Le bouton « + » ouvre le catalogue pour gérer vos raccourcis. Paramètres permet de choisir la langue et votre accueil. Vos réglages restent sur cet appareil ; une sauvegarde permet de conserver ou de transférer vos raccourcis.", "seo.chargingHeading": "Retrouver vos services pendant une recharge", - "seo.charging": "Ajoutez des liens vers vos outils de planification de trajet ou de recharge, vos radios, votre musique et la météo. Le catalogue propose des services selon le pays sélectionné ; vous pouvez aussi saisir une adresse personnelle. Chaque raccourci ouvre le site du service, avec ses propres conditions d’accès. EvPortal ne pilote pas la recharge et n’envoie aucune commande au véhicule. Les contenus de divertissement se consultent à l’arrêt.", + "seo.charging": "Ajoutez des liens vers vos outils de planification de trajet ou de recharge, vos radios, votre musique et la météo. Le catalogue est identique pour tous, avec des catégories repliables ; vous pouvez aussi saisir une adresse personnelle. Chaque raccourci ouvre le site du service, avec ses propres conditions d’accès. EvPortal ne pilote pas la recharge et n’envoie aucune commande au véhicule. Les contenus de divertissement se consultent à l’arrêt.", "seo.faqHeading": "Questions fréquentes", "seo.faqFreeQuestion": "EvPortal est-il gratuit ?", "seo.faqFreeAnswer": "Oui. Le portail est gratuit et sans affiliation avec Tesla. Certains sites ouverts peuvent demander un compte ou un abonnement ; ces conditions dépendent du service.", diff --git a/js/locales/seo-it.json b/js/locales/seo-it.json index ae9f0db..cf1afef 100644 --- a/js/locales/seo-it.json +++ b/js/locales/seo-it.json @@ -2,9 +2,9 @@ "seo.introHeading": "Un portale di scorciatoie per la tua Tesla", "seo.intro": "EvPortal è un portale gratuito e indipendente che riunisce i tuoi siti preferiti in una pagina pensata per il browser Tesla. Puoi usarlo anche nel browser del telefono o del computer. Le icone grandi aprono i servizi scelti senza riempire la schermata iniziale di testi o widget. Puoi personalizzare le scorciatoie, le categorie e il loro ordine, quindi scegliere un tema chiaro o scuro.", "seo.startHeading": "Iniziare dal browser del veicolo", - "seo.start": "A veicolo parcheggiato, apri l’indirizzo di EvPortal nel browser dell’auto. Salvalo tra i preferiti del browser, se questa opzione è disponibile, per ritrovarlo facilmente. Non serve installare un’app né accedere a un account Tesla per aprire il portale. In Impostazioni, scegli separatamente la lingua e il paese del catalogo. Le preferenze restano su questo dispositivo; un backup permette di conservare o trasferire le scorciatoie.", + "seo.start": "A veicolo parcheggiato, apri l’indirizzo di EvPortal nel browser dell’auto. Salvalo tra i preferiti del browser, se questa opzione è disponibile, per ritrovarlo facilmente. Non serve installare un’app né accedere a un account Tesla per aprire il portale. Il pulsante «+» apre il catalogo per gestire le scorciatoie. In Impostazioni, scegli la lingua e la schermata iniziale. Le preferenze restano su questo dispositivo; un backup permette di conservare o trasferire le scorciatoie.", "seo.chargingHeading": "Ritrovare i tuoi servizi durante una ricarica", - "seo.charging": "Aggiungi link ai tuoi strumenti per pianificare viaggi o ricariche, alle stazioni radio, alla musica e al meteo. Il catalogo propone servizi per il paese selezionato; puoi anche inserire un indirizzo personale. Ogni scorciatoia apre il sito del servizio, con le sue condizioni di accesso. EvPortal non controlla la ricarica e non invia comandi al veicolo. Consulta i contenuti di intrattenimento a veicolo parcheggiato.", + "seo.charging": "Aggiungi link ai tuoi strumenti per pianificare viaggi o ricariche, alle stazioni radio, alla musica e al meteo. Il catalogo è uguale per tutti, con categorie espandibili; puoi anche inserire un indirizzo personale. Ogni scorciatoia apre il sito del servizio, con le sue condizioni di accesso. EvPortal non controlla la ricarica e non invia comandi al veicolo. Consulta i contenuti di intrattenimento a veicolo parcheggiato.", "seo.faqHeading": "Domande frequenti", "seo.faqFreeQuestion": "EvPortal è gratuito?", "seo.faqFreeAnswer": "Sì. Il portale è gratuito e non è affiliato a Tesla. Alcuni siti collegati possono richiedere un account o un abbonamento; queste condizioni dipendono dal servizio.", diff --git a/js/locales/seo-pt.json b/js/locales/seo-pt.json index 84ca825..cab97ad 100644 --- a/js/locales/seo-pt.json +++ b/js/locales/seo-pt.json @@ -2,9 +2,9 @@ "seo.introHeading": "Um portal de atalhos para o seu Tesla", "seo.intro": "O EvPortal é um portal gratuito e independente que reúne os seus sites favoritos numa página pensada para o navegador Tesla. Também pode utilizá-lo num navegador no telemóvel ou computador. Os ícones grandes abrem os serviços escolhidos sem encher o ecrã inicial de textos ou widgets. Pode personalizar os atalhos, as categorias e a sua ordem, e escolher um tema claro ou escuro.", "seo.startHeading": "Começar no navegador do veículo", - "seo.start": "Com o veículo estacionado, abra o endereço do EvPortal no navegador do carro. Guarde-o nos favoritos do navegador, se essa opção estiver disponível, para o encontrar facilmente. Não precisa de instalar uma aplicação nem de iniciar sessão numa conta Tesla para abrir o portal. Nas Definições, escolha o idioma e o país do catálogo separadamente. As preferências ficam neste dispositivo; uma cópia permite guardar ou transferir os seus atalhos.", + "seo.start": "Com o veículo estacionado, abra o endereço do EvPortal no navegador do carro. Guarde-o nos favoritos do navegador, se essa opção estiver disponível, para o encontrar facilmente. Não precisa de instalar uma aplicação nem de iniciar sessão numa conta Tesla para abrir o portal. O botão «+» abre o catálogo para gerir os seus atalhos. Nas Definições, escolha o idioma e a vista inicial. As preferências ficam neste dispositivo; uma cópia permite guardar ou transferir os seus atalhos.", "seo.chargingHeading": "Encontrar os seus serviços durante um carregamento", - "seo.charging": "Adicione ligações aos seus planeadores de viagens ou carregamento, estações de rádio, música e meteorologia. O catálogo sugere serviços para o país selecionado; também pode introduzir um endereço à sua escolha. Cada atalho abre o site do serviço, com as suas próprias condições de acesso. O EvPortal não controla o carregamento nem envia comandos ao veículo. Utilize os conteúdos de entretenimento com o veículo estacionado.", + "seo.charging": "Adicione ligações aos seus planeadores de viagens ou carregamento, estações de rádio, música e meteorologia. O catálogo é igual para todos, com categorias recolhíveis; também pode introduzir um endereço à sua escolha. Cada atalho abre o site do serviço, com as suas próprias condições de acesso. O EvPortal não controla o carregamento nem envia comandos ao veículo. Utilize os conteúdos de entretenimento com o veículo estacionado.", "seo.faqHeading": "Perguntas frequentes", "seo.faqFreeQuestion": "O EvPortal é gratuito?", "seo.faqFreeAnswer": "Sim. O portal é gratuito e não tem afiliação com a Tesla. Alguns sites abertos podem exigir uma conta ou subscrição; essas condições dependem do serviço.", diff --git a/js/locales/seo-ru.json b/js/locales/seo-ru.json index 594b71d..5ddf01c 100644 --- a/js/locales/seo-ru.json +++ b/js/locales/seo-ru.json @@ -2,9 +2,9 @@ "seo.introHeading": "Стартовая страница с ярлыками для вашей Tesla", "seo.intro": "EvPortal — бесплатный независимый портал, который собирает ваши любимые сайты на одной странице, созданной для браузера Tesla. Им также можно пользоваться в браузере телефона или компьютера. Крупные значки открывают выбранные сервисы, не заполняя главный экран текстами и виджетами. Вы можете настроить ярлыки, категории и их порядок, а затем выбрать светлую или тёмную тему. Так нужные ссылки остаются под рукой во время остановки.", "seo.startHeading": "Начало работы в браузере автомобиля", - "seo.start": "На припаркованном автомобиле откройте адрес EvPortal в браузере. Добавьте страницу в избранное браузера, если такая возможность доступна, чтобы легко вернуться к ней. Для открытия портала не нужно устанавливать приложение или входить в учётную запись Tesla. В настройках язык интерфейса и страна каталога выбираются отдельно. Ваши настройки остаются на этом устройстве; резервная копия позволяет сохранить ярлыки или перенести их на другое устройство.", + "seo.start": "На припаркованном автомобиле откройте адрес EvPortal в браузере. Добавьте страницу в избранное браузера, если такая возможность доступна, чтобы легко вернуться к ней. Для открытия портала не нужно устанавливать приложение или входить в учётную запись Tesla. Кнопка «+» открывает каталог для управления ярлыками. В настройках можно выбрать язык и главный экран. Ваши настройки остаются на этом устройстве; резервная копия позволяет сохранить ярлыки или перенести их на другое устройство.", "seo.chargingHeading": "Нужные сервисы во время зарядки", - "seo.charging": "Добавьте ссылки на планировщики маршрутов и зарядок, радиостанции, музыку и прогноз погоды. Каталог предлагает сервисы для выбранной страны; также можно указать собственный адрес сайта. Каждый ярлык открывает сайт сервиса с его условиями доступа. EvPortal не управляет зарядкой и не отправляет команды автомобилю. Развлекательные материалы просматривайте на стоянке. Выбор другой страны в настройках каталога меняет предложения, но не удаляет уже добавленные ярлыки.", + "seo.charging": "Добавьте ссылки на планировщики маршрутов и зарядок, радиостанции, музыку и прогноз погоды. Каталог одинаков для всех и разделён на сворачиваемые категории; также можно указать собственный адрес сайта. Каждый ярлык открывает сайт сервиса с его условиями доступа. EvPortal не управляет зарядкой и не отправляет команды автомобилю. Развлекательные материалы просматривайте на стоянке.", "seo.faqHeading": "Частые вопросы", "seo.faqFreeQuestion": "EvPortal бесплатный?", "seo.faqFreeAnswer": "Да. Портал бесплатный и не связан с Tesla. Некоторые сайты, открываемые по ссылкам, могут требовать учётную запись или подписку; эти условия определяет сам сервис.", diff --git a/js/locales/static-ar.json b/js/locales/static-ar.json index 1b74177..bda00d3 100644 --- a/js/locales/static-ar.json +++ b/js/locales/static-ar.json @@ -50,7 +50,7 @@ "static.copyLink": "نسخ الرابط", "static.sharedLinks": "نسخي الاحتياطية", "static.showBackups": "تحديث", - "static.addShortcuts": "إضافة اختصارات", + "static.addShortcuts": "الكتالوج", "static.searchService": "البحث عن خدمة", "static.home": "EvPortal، الرئيسية", "static.search": "بحث", diff --git a/js/locales/static-de.json b/js/locales/static-de.json index 9c48bad..b6b8980 100644 --- a/js/locales/static-de.json +++ b/js/locales/static-de.json @@ -50,7 +50,7 @@ "static.copyLink": "Link kopieren", "static.sharedLinks": "Meine Sicherungen", "static.showBackups": "Aktualisieren", - "static.addShortcuts": "Verknüpfungen hinzufügen", + "static.addShortcuts": "Katalog", "static.searchService": "Dienst suchen", "static.home": "EvPortal, Startseite", "static.search": "Suchen", diff --git a/js/locales/static-en.json b/js/locales/static-en.json index 923cc1f..dbb2548 100644 --- a/js/locales/static-en.json +++ b/js/locales/static-en.json @@ -50,7 +50,7 @@ "static.copyLink": "Copy link", "static.sharedLinks": "My backups", "static.showBackups": "Refresh", - "static.addShortcuts": "Add shortcuts", + "static.addShortcuts": "Catalog", "static.searchService": "Search services", "static.home": "EvPortal, home", "static.search": "Search", diff --git a/js/locales/static-es.json b/js/locales/static-es.json index e572c47..fc8d0d6 100644 --- a/js/locales/static-es.json +++ b/js/locales/static-es.json @@ -50,7 +50,7 @@ "static.copyLink": "Copiar enlace", "static.sharedLinks": "Mis copias", "static.showBackups": "Actualizar", - "static.addShortcuts": "Añadir accesos directos", + "static.addShortcuts": "Catálogo", "static.searchService": "Buscar un servicio", "static.home": "EvPortal, inicio", "static.search": "Buscar", diff --git a/js/locales/static-fr.json b/js/locales/static-fr.json index 3deccf5..bfeee35 100644 --- a/js/locales/static-fr.json +++ b/js/locales/static-fr.json @@ -50,7 +50,7 @@ "static.copyLink": "Copier le lien", "static.sharedLinks": "Mes sauvegardes", "static.showBackups": "Actualiser", - "static.addShortcuts": "Ajouter des raccourcis", + "static.addShortcuts": "Catalogue", "static.searchService": "Rechercher un service", "static.home": "EvPortal, accueil", "static.search": "Rechercher", diff --git a/js/locales/static-it.json b/js/locales/static-it.json index b1045c5..4413bb2 100644 --- a/js/locales/static-it.json +++ b/js/locales/static-it.json @@ -50,7 +50,7 @@ "static.copyLink": "Copia link", "static.sharedLinks": "I miei backup", "static.showBackups": "Aggiorna", - "static.addShortcuts": "Aggiungi collegamenti", + "static.addShortcuts": "Catalogo", "static.searchService": "Cerca un servizio", "static.home": "EvPortal, home", "static.search": "Cerca", diff --git a/js/locales/static-pt.json b/js/locales/static-pt.json index 9ed157c..3d2bb99 100644 --- a/js/locales/static-pt.json +++ b/js/locales/static-pt.json @@ -50,7 +50,7 @@ "static.copyLink": "Copiar ligação", "static.sharedLinks": "As minhas cópias", "static.showBackups": "Atualizar", - "static.addShortcuts": "Adicionar atalhos", + "static.addShortcuts": "Catálogo", "static.searchService": "Procurar um serviço", "static.home": "EvPortal, início", "static.search": "Procurar", diff --git a/js/locales/static-ru.json b/js/locales/static-ru.json index 5841a3a..e92ac42 100644 --- a/js/locales/static-ru.json +++ b/js/locales/static-ru.json @@ -50,7 +50,7 @@ "static.copyLink": "Копировать ссылку", "static.sharedLinks": "Мои копии", "static.showBackups": "Обновить", - "static.addShortcuts": "Добавить ярлыки", + "static.addShortcuts": "Каталог", "static.searchService": "Найти сервис", "static.home": "EvPortal, главная", "static.search": "Поиск", diff --git a/js/preferences.js b/js/preferences.js index 681c7b7..ae8e913 100644 --- a/js/preferences.js +++ b/js/preferences.js @@ -6,7 +6,6 @@ }(typeof globalThis !== 'undefined' ? globalThis : this, function (root) { 'use strict'; const STORAGE_KEY = 'evportal.preferences.v1'; - const MARKETS = Object.freeze(['ALL', 'FR', 'CA', 'US', 'MX', 'BE', 'GB', 'DE', 'ES', 'IT', 'PT', 'AU', 'NZ', 'CH']); const ID_PATTERN = /^[a-zA-Z0-9_-]{1,100}$/; function isObject(value) { return value !== null && typeof value === 'object' && !Array.isArray(value); } @@ -17,36 +16,16 @@ return error; } - function suggestMarket(locale) { - if (typeof locale !== 'string') return 'ALL'; - const normalized = locale.trim().replace(/_/g, '-'); - let region; - try { - if (root.Intl && typeof root.Intl.Locale === 'function') region = new root.Intl.Locale(normalized).region; - else { - // Read only an explicit region; language alone never implies a country. - const match = normalized.match(/^[a-z]{2,3}(?:-[a-z]{4})?-([a-z]{2})(?:-|$)/i); - region = match && match[1].toUpperCase(); - } - } catch (_) { return 'ALL'; } - return MARKETS.includes(region) ? region : 'ALL'; - } - function validated(value, initial) { if (!isObject(value)) throw invalid(); const result = { homeFavorites: initial.homeFavorites, - market: initial.market, hiddenCategoryIds: initial.hiddenCategoryIds.slice() }; if (Object.prototype.hasOwnProperty.call(value, 'homeFavorites')) { if (typeof value.homeFavorites !== 'boolean') throw invalid(); result.homeFavorites = value.homeFavorites; } - if (Object.prototype.hasOwnProperty.call(value, 'market')) { - if (!MARKETS.includes(value.market)) throw invalid(); - result.market = value.market; - } if (Object.prototype.hasOwnProperty.call(value, 'hiddenCategoryIds')) { if (!Array.isArray(value.hiddenCategoryIds) || value.hiddenCategoryIds.length > 50 || value.hiddenCategoryIds.some(function (id) { return typeof id !== 'string' || !ID_PATTERN.test(id) || id === 'all' || id === 'favorites'; @@ -56,13 +35,11 @@ return result; } - function createPreferences(storage, options) { - options = options || {}; + function createPreferences(storage) { if (storage === undefined) { try { storage = root.localStorage || null; } catch (_) { storage = null; } } - const locale = options.locale === undefined ? root.navigator && root.navigator.language : options.locale; - let current = { homeFavorites: false, market: suggestMarket(locale), hiddenCategoryIds: [] }; + let current = { homeFavorites: false, hiddenCategoryIds: [] }; let savedFields = Object.create(null); let canWrite = Boolean(storage && typeof storage.getItem === 'function' && typeof storage.setItem === 'function'); let persistent = canWrite; @@ -81,7 +58,7 @@ } function read() { - return { homeFavorites: current.homeFavorites, market: current.market, hiddenCategoryIds: current.hiddenCategoryIds.slice() }; + return { homeFavorites: current.homeFavorites, hiddenCategoryIds: current.hiddenCategoryIds.slice() }; } function patch(changes) { @@ -104,5 +81,5 @@ return api; } - return { STORAGE_KEY: STORAGE_KEY, MARKETS: MARKETS, suggestMarket: suggestMarket, createPreferences: createPreferences }; + return { STORAGE_KEY: STORAGE_KEY, createPreferences: createPreferences }; })); diff --git a/js/script.js b/js/script.js index eec8c29..521ad4c 100644 --- a/js/script.js +++ b/js/script.js @@ -23,7 +23,7 @@ document.addEventListener('DOMContentLoaded', function () { try { storage = window.localStorage; } catch (_) { storage = null; } let preferenceStore = window.EVPreferences.createPreferences(storage); let preferences = preferenceStore.read(); - const loaded = Core.loadState(storage, catalog, { market: preferences.market }); + const loaded = Core.loadState(storage, catalog); let state = loaded.state; if (preferences.homeFavorites) state.activeCategory = 'favorites'; else if (preferences.hiddenCategoryIds.includes(state.activeCategory)) state.activeCategory = 'all'; @@ -64,7 +64,8 @@ document.addEventListener('DOMContentLoaded', function () { let announcementTimer; let usageNeedsRender = false; let previousLanguage = I18n.language; - const systemTheme = window.matchMedia('(prefers-color-scheme: dark)'); + const catalogGroupOpen = new Map(); + let catalogSearchActive = false; const editLabel = $('editModeToggle').querySelector('span') || document.createElement('span'); Array.from($('editModeToggle').childNodes).forEach(function (node) { if (node.nodeType === Node.TEXT_NODE) node.remove(); }); if (!editLabel.parentElement) $('editModeToggle').appendChild(editLabel); @@ -138,14 +139,6 @@ document.addEventListener('DOMContentLoaded', function () { } function renderPreferences() { - const country = $('marketSelect'); - country.replaceChildren(); - window.EVPreferences.MARKETS.forEach(function (market) { - const option = element('option', '', t('prefs.country.' + market)); - option.value = market; - country.append(option); - }); - country.value = preferences.market; $('homeFavoritesToggle').checked = preferences.homeFavorites; const fragment = document.createDocumentFragment(); state.categories.forEach(function (category) { @@ -165,7 +158,6 @@ document.addEventListener('DOMContentLoaded', function () { }); $('categoryVisibilityOptions').replaceChildren(fragment); } - $('marketSelect').addEventListener('change', function () { updatePreferences({ market: this.value }); }); $('homeFavoritesToggle').addEventListener('change', function () { updatePreferences({ homeFavorites: this.checked }); }); function matchesShortcut(shortcut, category, search) { @@ -575,26 +567,33 @@ document.addEventListener('DOMContentLoaded', function () { } const picker = $('categoryIconPicker'); if (picker) { - const previousOptions = picker.querySelector('.category-icon-options'); - if (previousOptions) previousOptions.remove(); + picker.querySelectorAll(':scope > .category-icon-options, :scope > #moreCategoryIcons').forEach(function (node) { node.remove(); }); + const selected = category ? (category.icon || (knownIcons.has(category.id) ? category.id : 'folder')) : 'folder'; + const usual = ['folder', 'charging', 'navigation', 'music', 'cinema', 'games', 'weather', 'home']; + if (!usual.includes(selected) && knownIcons.has(selected)) usual.push(selected); const options = element('div', 'category-icon-options'); - Core.CATEGORY_ICONS.forEach(function (name) { + const more = element('details'); + more.id = 'moreCategoryIcons'; + const summary = element('summary', '', t('app.moreIcons')); + summary.dataset.i18n = 'app.moreIcons'; + const otherOptions = element('div', 'category-icon-options'); + more.append(summary, otherOptions); + usual.concat(Core.CATEGORY_ICONS.filter(function (name) { return !usual.includes(name); })).forEach(function (name) { const label = element('label', 'category-icon-option'); label.title = t('app.icon.' + name); const input = element('input'); input.type = 'radio'; input.name = 'categoryIcon'; input.value = name; - input.checked = name === (category ? (category.icon || (knownIcons.has(category.id) ? category.id : 'folder')) : 'folder'); + input.checked = name === selected; label.append(input, icon(name), element('span', 'visually-hidden', t('app.icon.' + name))); - options.appendChild(label); + (usual.includes(name) ? options : otherOptions).appendChild(label); }); - picker.appendChild(options); + picker.append(options, more); } openDialog($('pageDialog')); $('newPageName').focus(); } - $('addPageButton').addEventListener('click', function () { openCategoryDialog(); }); $('addPageForm').addEventListener('submit', function (event) { event.preventDefault(); const inputLabel = $('newPageName').value.trim(); @@ -624,7 +623,6 @@ document.addEventListener('DOMContentLoaded', function () { closeDialog($('pageDialog')); render('nav-' + category.id); }); - $('addShortcutButton').addEventListener('click', function () { openShortcutDialog(); }); $('addShortcutForm').addEventListener('submit', function (event) { event.preventDefault(); try { @@ -654,18 +652,26 @@ document.addEventListener('DOMContentLoaded', function () { function renderCatalog() { const search = $('catalogSearch').value.trim(); + if (!catalogSearchActive) $('catalogContent').querySelectorAll('.catalog-group').forEach(function (group) { + catalogGroupOpen.set(group.dataset.categoryId, group.open); + }); + catalogSearchActive = Boolean(search); const installed = allShortcuts(); - const existingURLs = new Set(installed.map(function (row) { return row.shortcut.url; })); - const existingServices = new Set(installed.map(function (row) { return row.shortcut.serviceId; }).filter(Boolean)); - const entries = Core.catalogServices(catalog, { market: $('catalogMarketToggle').checked ? 'ALL' : preferences.market, includeOptional: true }); + const entries = Core.catalogServices(catalog, { includeOptional: true }); const fragment = document.createDocumentFragment(); let count = 0; - let available = 0; catalog.categories.forEach(function (category) { const shortcuts = entries.filter(function (entry) { return entry.category.id === category.id && matchesShortcut(entry.shortcut, category, search); }).map(function (entry) { return entry.shortcut; }); if (!shortcuts.length) return; - const section = element('section', 'catalog-section'); - section.appendChild(element('h3', '', categoryLabel(category))); + const section = element('details', 'catalog-group'); + section.dataset.categoryId = category.id; + section.open = catalogSearchActive || (catalogGroupOpen.has(category.id) ? catalogGroupOpen.get(category.id) : count === 0); + section.addEventListener('toggle', function () { + if (section.isConnected && !catalogSearchActive) catalogGroupOpen.set(category.id, section.open); + }); + const summary = element('summary'); + summary.append(icon(category.icon || category.id), element('span', 'catalog-group-label', categoryLabel(category)), element('span', 'catalog-count', String(shortcuts.length))); + section.appendChild(summary); shortcuts.forEach(function (shortcut) { count += 1; const row = element('div', 'catalog-item'); @@ -675,31 +681,36 @@ document.addEventListener('DOMContentLoaded', function () { const member = catalog.categories.find(function (item) { return item.id === id; }); return member ? categoryLabel(member) : ''; }).filter(Boolean); - copy.append(element('strong', '', shortcut.name), element('p', '', memberships.length > 1 ? memberships.join(' · ') : new URL(shortcut.url).hostname)); - const present = existingServices.has(shortcut.serviceId) || existingURLs.has(Core.normalizeURL(shortcut.url)); - if (!present) available += 1; - const add = action(t(present ? 'app.alreadyPresentNamed' : 'app.addNamed', { name: shortcut.name }), present ? t('app.alreadyPresent') : t('app.add'), function () { + const serviceName = element('strong', '', shortcut.name); + serviceName.dir = 'auto'; + copy.append(serviceName, element('p', '', memberships.length > 1 ? memberships.join(' · ') : new URL(shortcut.url).hostname)); + const present = installed.some(function (entry) { return entry.shortcut.serviceId === shortcut.serviceId; }); + const add = action(t(present ? 'app.removeCatalogNamed' : 'app.addNamed', { name: shortcut.name }), undefined, function () { try { - if (allShortcuts().length >= Core.MAX_SHORTCUTS) throw new Error(t('app.shortcutLimit')); - state = Core.addCatalogService(state, catalog, shortcut.serviceId); - persist(t('app.addedToCategory', { name: shortcut.name, category: categoryLabel(category) })); + const current = allShortcuts().find(function (entry) { return entry.shortcut.serviceId === shortcut.serviceId; }); + if (current) state = Core.removeShortcut(state, current.shortcut.id); + else { + if (allShortcuts().length >= Core.MAX_SHORTCUTS) throw new Error(t('app.shortcutLimit')); + state = Core.addCatalogService(state, catalog, shortcut.serviceId); + } + persist(current ? t('app.catalogRemoved', { name: shortcut.name }) : t('app.addedToCategory', { name: shortcut.name, category: categoryLabel(category) })); render(); renderCatalog(); - const next = Array.from($('catalogContent').querySelectorAll('.catalog-add')).find(function (button) { return !button.disabled; }); - if (next) next.focus({ preventScroll: true }); + const next = Array.from($('catalogContent').querySelectorAll('.catalog-item')).find(function (item) { return item.dataset.serviceId === shortcut.serviceId; }); + if (next) next.querySelector('button').focus({ preventScroll: true }); } catch (error) { announce(error.message, true); } - }, 'button catalog-add' + (present ? ' is-added' : '')); - add.disabled = present; - row.append(copy, add); + }, 'button catalog-add' + (present ? ' catalog-remove is-added' : '')); + const glyph = element('span', 'catalog-action-icon', present ? '×' : '+'); + glyph.setAttribute('aria-hidden', 'true'); + add.append(glyph, element('span', '', t(present ? 'app.remove' : 'app.add'))); + row.append(shortcutMark(shortcut), copy, add); section.appendChild(row); }); fragment.appendChild(section); }); if (!count) fragment.appendChild(element('p', 'empty-state', t('app.noServices'))); if ($('catalogStatus')) { - $('catalogStatus').textContent = !search && !available - ? t('app.catalogComplete') - : (count ? t('app.catalogHint') : ''); + $('catalogStatus').textContent = count ? t('app.catalogHint') : ''; $('catalogStatus').hidden = !$('catalogStatus').textContent; } $('catalogContent').replaceChildren(fragment); @@ -707,7 +718,6 @@ document.addEventListener('DOMContentLoaded', function () { function openCatalog() { $('catalogSearch').value = ''; - $('catalogMarketToggle').checked = false; renderCatalog(); openDialog($('catalogDialog')); $('catalogSearch').focus(); @@ -722,7 +732,6 @@ document.addEventListener('DOMContentLoaded', function () { openCategoryDialog(); }); $('catalogSearch').addEventListener('input', renderCatalog); - $('catalogMarketToggle').addEventListener('change', renderCatalog); function backupError(error) { return error.i18nKey ? t(error.i18nKey, error.i18nParams) : error.name === 'AbortError' ? t('app.connectionTimeout') @@ -1051,7 +1060,7 @@ document.addEventListener('DOMContentLoaded', function () { if ($('settingsDialog')) closeDialog($('settingsDialog')); if (!window.confirm(t('app.confirmReset'))) return; const theme = state.theme; - state = Core.fromCatalog(catalog, { market: preferences.market }); + state = Core.fromCatalog(catalog); state.theme = theme; storageLocked = false; storageWarningKey = ''; @@ -1064,7 +1073,7 @@ document.addEventListener('DOMContentLoaded', function () { function applyTheme() { if (state.theme === 'auto') { - state.theme = systemTheme.matches ? 'dark' : 'light'; + state.theme = 'dark'; persist(); } const resolved = state.theme; @@ -1086,6 +1095,7 @@ document.addEventListener('DOMContentLoaded', function () { const tesla = window.EVTesla; const inTesla = tesla && tesla.isTesla(navigator.userAgent); $('fullscreenButton').hidden = !(inTesla || (document.fullscreenEnabled && document.documentElement.requestFullscreen)); + if ($('fullscreenDock')) $('fullscreenDock').hidden = $('fullscreenButton').hidden; async function fullscreen(forceTesla) { if ($('settingsDialog') && $('settingsDialog').open) closeDialog($('settingsDialog')); try { @@ -1095,12 +1105,19 @@ document.addEventListener('DOMContentLoaded', function () { } $('fullscreenButton').addEventListener('click', function () { fullscreen(false); }); if ($('teslaFullscreenButton')) $('teslaFullscreenButton').addEventListener('click', function () { fullscreen(true); }); - document.addEventListener('fullscreenchange', function () { + function refreshFullscreen() { const active = Boolean(document.fullscreenElement); + const label = t(active ? 'app.exitFullscreen' : 'app.enterFullscreen'); $('fullscreenButton').setAttribute('aria-pressed', String(active)); - $('fullscreenButton').setAttribute('aria-label', active ? t('app.exitFullscreen') : t('app.enterFullscreen')); - $('fullscreenButton').title = active ? t('app.exitFullscreen') : t('app.enterFullscreen'); - }); + $('fullscreenButton').setAttribute('aria-label', label); + $('fullscreenButton').title = label; + const text = $('fullscreenButton').querySelector('span'); + if (text) { + text.dataset.i18n = active ? 'app.exitFullscreen' : 'static.fullscreen'; + text.textContent = t(text.dataset.i18n); + } + } + document.addEventListener('fullscreenchange', refreshFullscreen); if ($('settingsButton')) $('settingsButton').addEventListener('click', function () { renderPreferences(); openDialog($('settingsDialog')); }); function toggleSearch(show) { const panel = $('searchPanel'); @@ -1193,10 +1210,7 @@ document.addEventListener('DOMContentLoaded', function () { if ($('restoreDialog').open) { renderLocalBackups(); if (selectedBackup) $('restoreSummary').textContent = backupSummary(selectedBackup.state); } if ($('catalogDialog').open) renderCatalog(); if ($('shortcutDialog').open) renderAdditionalCategories(selectedAdditionalCategories()); - const activeFullscreen = Boolean(document.fullscreenElement); - const fullscreenLabel = t(activeFullscreen ? 'app.exitFullscreen' : 'app.enterFullscreen'); - $('fullscreenButton').setAttribute('aria-label', fullscreenLabel); - $('fullscreenButton').title = fullscreenLabel; + refreshFullscreen(); previousLanguage = I18n.language; } if ($('languageSelect')) { @@ -1210,6 +1224,7 @@ document.addEventListener('DOMContentLoaded', function () { I18n.translateDOM(document); applyTheme(); + refreshFullscreen(); render(); if (!storageLocked) persist([loaded.source === 'legacy' ? t('app.legacyRecovered') : '', loaded.updates ? t('app.catalogUpdated', { count: loaded.updates }) : ''].filter(Boolean).join(' ')); else announce(''); diff --git a/js/state.js b/js/state.js index d5dec30..f7baa75 100644 --- a/js/state.js +++ b/js/state.js @@ -16,7 +16,8 @@ // Creation limits keep the navigation concise; older imports retain their categories. const MAX_CUSTOM_CATEGORIES = 5; const MAX_NEW_CATEGORY_NAME = 16; - const CATEGORY_ICONS = Object.freeze(['all', 'favorites', 'cinema', 'music', 'tv', 'charging', 'games', 'navigation', 'social', 'news', 'weather', 'productivity', 'folder']); + const CATEGORY_ICONS = Object.freeze(['all', 'favorites', 'cinema', 'music', 'tv', 'charging', 'games', 'navigation', 'social', 'news', 'weather', 'productivity', 'folder', + 'home', 'car', 'parking', 'map', 'globe', 'compass', 'coffee', 'food', 'shopping', 'heart', 'camera', 'tools']); const MAX_SHORTCUTS = 5000; const ID_PATTERN = /^[a-zA-Z0-9_-]{1,100}$/; let sequence = 0; @@ -146,7 +147,7 @@ return { version: 2, catalogVersion: string(raw.catalogVersion, t('state.catalogVersion'), 50, false), - theme: raw.theme || 'auto', + theme: raw.theme || 'dark', activeCategory: activeCategory, shortcutOrder: shortcutOrder, categories: categories @@ -155,15 +156,13 @@ function catalogServices(catalog, options) { const settings = options || {}; - const market = settings.market || 'ALL'; const seen = new Set(); return catalog.categories.flatMap(function (category) { return category.shortcuts.filter(function (shortcut) { const serviceID = shortcut.serviceId; if (serviceID && seen.has(serviceID)) return false; if (serviceID) seen.add(serviceID); - return (settings.includeOptional !== false || shortcut.defaultIncluded !== false) - && (market === 'ALL' || !shortcut.countries || !shortcut.countries.length || shortcut.countries.includes(market)); + return settings.includeOptional !== false || shortcut.defaultIncluded !== false; }).map(function (shortcut) { return { category: category, shortcut: shortcut }; }); }); } @@ -190,7 +189,7 @@ return normalizeState({ version: 2, catalogVersion: catalog.version, - theme: 'auto', + theme: 'dark', activeCategory: categories.some(function (category) { return category.id === 'cinema'; }) ? 'cinema' : (categories[0]?.id || 'all'), categories: categories }); @@ -247,7 +246,7 @@ shortcuts: shortcuts }; }); - return normalizeState({ version: 2, categories: categories, theme: 'auto', activeCategory: 'all' }); + return normalizeState({ version: 2, categories: categories, theme: 'dark', activeCategory: 'all' }); } function parseImport(text, catalog) { diff --git a/js/translations.js b/js/translations.js index c12354a..33bdfec 100644 --- a/js/translations.js +++ b/js/translations.js @@ -1,2 +1,2 @@ /* Generated by scripts/build-locales.cjs from js/locales/*.json. */ -(function (root, data) { if (typeof module === "object" && module.exports) module.exports = data; else root.EV_TRANSLATIONS = data; }(typeof globalThis !== "undefined" ? globalThis : this, {"en":{"app.startFailed":"The portal could not start. Reload the page to try again.","app.storageUnavailable":"Local storage is unavailable or full. Export your configuration to keep this session’s changes.","app.storageRecovery":"The local backup is unavailable or unreadable. Your old data is preserved. Export this session before closing the portal.","app.all":"All","app.favorites":"Favorites","app.move":"Move {name}","app.previousMoveCancelled":"Previous move canceled.","app.moveSelected":"{name} selected. Use arrow keys to move, Enter to drop, Escape to cancel.","app.moveCancelled":"Move canceled.","app.movePosition":"{name}, position {position} of {count}.","app.orderSaved":"Order saved.","app.editCategory":"Edit category {name}","app.deleteCategory":"Delete category {name}","app.confirmDeleteCategory":"Delete “{name}” and its {count} shortcuts?","app.categoryDeleted":"Category deleted.","app.openNewTab":"{name} — new tab","app.removeFavorite":"Remove {name} from favorites","app.addFavorite":"Add {name} to favorites","app.favoriteAdded":"{name} added to favorites.","app.favoriteRemoved":"{name} removed from favorites.","app.editShortcut":"Edit {name}","app.deleteShortcut":"Delete {name}","app.confirmDeleteShortcut":"Delete shortcut “{name}”?","app.shortcutDeleted":"Shortcut deleted.","app.allShortcuts":"All shortcuts","app.allDescription":"All your services and shortcuts in one place.","app.searchResults":"Search results","app.searchDescription":"Searching all categories for “{query}”.","app.myFavorites":"My favorites","app.favoritesDescription":"Your essentials, always within reach.","app.categoryDescription":"Your shortcuts in this category.","app.shortcutCount":"{count} shortcuts","app.shortcutCountOne":"{count} shortcut","app.noShortcuts":"No shortcuts found","app.emptyFavorites":"Keep your essentials here","app.emptyCategory":"Make this page yours","app.searchHint":"Try another name, domain or keyword.","app.favoriteHint":"Tap a shortcut’s star to add it to your favorites.","app.emptyHint":"Add shortcuts from the catalog or create your own.","app.clearSearch":"Clear search","app.exploreCatalog":"Browse catalog","app.usageOrderHint":"All: most used first. To move a shortcut, open its category or Favorites.","app.dragHint":"Drag shortcuts to reorder them.","app.finishEditing":"Finish editing","app.editShortcuts":"Edit shortcuts","app.finish":"Done","app.edit":"Edit","app.categoryRequired":"Create a category first to add your shortcut.","app.editShortcutTitle":"Edit shortcut","app.addShortcutTitle":"Add shortcut","app.save":"Save","app.addShortcutSubmit":"Add shortcut","app.editCategoryTitle":"Edit category","app.newCategory":"New category","app.create":"Create","app.categoryLimitHint":"Limit reached: {max} personal categories. Edit or delete an existing category.","app.categoryCountHint":"{count}/{max} personal categories · Up to {length} characters.","app.categoryGone":"This category was deleted in another tab. Close this form and try again.","app.categoryNameInvalid":"Enter a name of 1 to {max} characters.","app.categoryLimit":"The limit of {max} personal categories has been reached.","app.categoryDuplicate":"A category with this name already exists.","app.iconRequired":"Choose one of the available icons.","app.categoryDescriptionInvalid":"The description must be 240 characters or fewer.","app.categoryChanged":"Category updated.","app.categoryCreated":"Category created.","app.selectCategory":"Choose an existing category.","app.shortcutGone":"This shortcut was deleted in another tab. Close this form and try again.","app.shortcutLimit":"The limit of 5,000 shortcuts has been reached.","app.shortcutFieldsInvalid":"Check the name (up to 100 characters) and description (up to 300).","app.shortcutDuplicate":"This link already exists. Edit its categories to show it elsewhere.","app.shortcutChanged":"Shortcut updated.","app.shortcutAdded":"Shortcut added.","app.alreadyPresentNamed":"Already added: {name}","app.addNamed":"Add {name}","app.alreadyPresent":"Already added","app.add":"Add","app.totalCategoryLimit":"The limit of 50 categories has been reached.","app.addedToCategory":"{name} added to {category}.","app.noServices":"No services match this search.","app.catalogComplete":"Your catalog is complete. Create your own shortcut.","app.catalogHint":"Restore a removed service or create your own shortcut.","app.sharedConfig":"Adds to your backups without changing your shortcuts.","app.importPreview":"Categories: {categories} · Shortcuts: {count}","app.fileTooLarge":"The file exceeds the 2 MB limit.","app.loadingConfig":"Loading configuration…","app.telegraphNotReturned":"Telegra.ph did not return this page. Check its code.","app.pageTooLarge":"This page is too large to import.","app.telegraphUnreadable":"This Telegra.ph page was not found or could not be read.","app.noConfigInPage":"The page does not contain an EvPortal configuration.","app.connectionTimeout":"The connection timed out. Try again shortly.","app.imported":"Configuration imported.","app.exportReady":"JSON export ready. Keep the file to restore your shortcuts on another device.","app.exportFailed":"Could not prepare the backup file.","app.confirmReset":"Restore the original catalog? Your custom shortcuts and favorites will be replaced. Export them before continuing.","app.catalogReset":"Original catalog restored.","app.switchToLight":"Switch to light mode","app.switchToDark":"Switch to dark mode","app.fullscreenReload":"Reload the page to enable full screen.","app.fullscreenUnavailable":"Full screen is not available in this browser.","app.exitFullscreen":"Exit full screen","app.enterFullscreen":"Enter full screen","app.syncedFromTab":"Your changes from another tab have been loaded.","app.unreadableTabState":"The backup received from another tab is unreadable. The current session is preserved.","app.legacyRecovered":"Your previous shortcuts have been recovered.","app.catalogUpdated":"{count} catalog addresses have been updated.","app.invalidConfig":"This configuration is invalid or incompatible. Check the file or code and try again.","app.invalidShortcutURL":"Use a full address starting with https:// or http://, without spaces or credentials.","app.invalidImportCode":"Use a Telegra.ph code, a telegra.ph address or a valid EvPortal share link.","app.connectionFailed":"Could not connect. Check the network and try again.","app.icon.all":"Grid","app.icon.favorites":"Star","app.icon.cinema":"Video","app.icon.music":"Music","app.icon.tv":"Television","app.icon.charging":"Charging","app.icon.games":"Games","app.icon.navigation":"Trips","app.icon.social":"Messages","app.icon.news":"News","app.icon.weather":"Weather","app.icon.productivity":"Tools","app.icon.folder":"Folder","app.otherCategories":"Other categories","backup.links":"Code or link","backup.phone":"Phone","backup.library":"My backups","backup.create":"Create","backup.add":"Add","backup.send":"Send","backup.receive":"Receive","backup.restore":"Restore","backup.createTitle":"Create a code or link","backup.addTitle":"Add a backup","backup.restoreTitle":"Restore a backup","backup.chooseTitle":"Choose a backup","backup.code":"Code","backup.link":"EvPortal link","backup.copyCode":"Copy code","backup.addHint":"Adds to your backups without changing your shortcuts.","backup.added":"Backup added.","backup.restored":"Backup restored.","backup.local":"On this device","backup.online":"Online","backup.empty":"No saved backups.","backup.receivedTitle":"Received shortcuts","backup.fileTitle":"Imported backup","backup.deleteNamed":"Delete “{name}”","backup.deleted":"Backup deleted.","backup.savedSummary":"Categories: {categories} · Shortcuts: {count}","backup.load":"Check","backup.restoreHint":"Replaces the shortcuts on this device.","backup.selected":"Selected backup","backup.choose":"Choose","backup.localCopy":"Copy saved on this device.","backup.undoRestore":"Undo the last restore","backup.storageUnavailable":"Backup storage is unavailable or full.","backup.invalidLibrary":"The backup library cannot be read. Existing data has been kept.","backup.invalidBackup":"This backup is invalid.","backup.limit":"You can keep up to {max} backups on this device.","backup.tooLarge":"This backup exceeds {max} MB.","backup.missing":"This backup is no longer available.","backup.retry":"Retry","category.all":"All","category.favorites":"Favorites","category.cinema":"Video","category.music":"Music","category.tv":"TV","category.charging":"Charging","category.games":"Games","category.navigation":"Trips","category.social":"Social","category.news":"News","category.weather":"Weather","category.productivity":"Tools","category.folder":"Folder","help.title":"EvPortal Guide — Tesla Browser, Shortcuts & Backups","help.description":"Open EvPortal in your Tesla browser, organise your favourites and transfer backups by code, link or QR. Learn how to get started and restore your shortcuts.","help.language":"Language","help.back":"Back to shortcuts","help.heading":"EvPortal guide for the Tesla browser","help.intro":"Tap a shortcut to open the service in a new tab. The theme button at the top switches between light and dark mode. The eight languages are available in Settings with their names and flags; Arabic uses a right-to-left layout.","help.organizeHeading":"Organize shortcuts","help.ranking":"All shows your most frequently opened shortcuts first. Ties keep your manual order. The ranking is saved after reloading.","help.dragging":"In a category or Favorites, tap Edit and move shortcuts using their handles. The star adds a favorite and the pencil lets you edit. Tap Done when finished. All keeps its automatic ranking.","help.keyboard":"With a keyboard, focus a handle, press Space, move with the arrow keys, then confirm with Enter. Escape cancels.","help.addHeading":"Add a shortcut or category","help.adding":"The + button opens the catalogue and lets you create a shortcut or category. Already added marks a service already on your dashboard. Search looks through all your shortcuts.","help.categories":"Create up to five personal categories with names of up to 16 characters and an icon of your choice. Use the pencil to edit them. Existing categories exceeding these limits are kept. Visible categories fit without horizontal scrolling.","help.transferHeading":"Phone: send or receive","help.stepPrepare":"In Settings → Phone, choose Send or Receive.","help.stepPublish":"Scan the displayed QR code with your phone.","help.stepCode":"To send from your phone, choose its shortcuts or a backup, then tap Send.","help.stepImport":"On the receiving screen, tap Add to keep the backup on that device.","help.stepApply":"To use its contents, open My backups → Restore.","help.qr":"QR codes are for phone transfers. Creating a code or link does not display a QR code.","help.snapshot":"The transfer is encrypted and valid for five minutes when the service is available. It sends a snapshot without automatic synchronization. Receiving a backup does not replace your shortcuts.","help.public":"In Settings → Code or link, Create prepares a code and an EvPortal link to copy. Add accepts either and saves a local copy after validation. JSON files remain available under More options. The created Telegra.ph page is public; the local copy and online page are separate.","help.fullscreenHeading":"Tesla fullscreen","help.fullscreen":"While parked, tap Fullscreen. On YouTube, choose Go to site to return to EvPortal in Theater mode. Shortcuts request a new tab; its behavior depends on the vehicle browser.","help.fullscreenFallback":"If the Tesla is not recognized, choose Open Tesla Theater in settings. On a computer, the button uses regular fullscreen. The redirect may change with vehicle or YouTube updates.","help.compatibility":"Opening a site does not guarantee video playback: country, account, subscription, and browser restrictions may apply. Use entertainment while parked.","help.teslaManual":"Tesla manual","help.myTesla":"Method described by myTesla","help.storageHeading":"Restore a backup","help.storage":"In Settings → My backups → Restore, choose a backup under On this device or Online, then check its contents. Only Restore replaces your shortcuts. More options in Settings lets you undo the last restore. Adding a code, link, file, or QR transfer saves a backup without applying it. Each browser keeps its own local list.","help.previewHeading":"Test a local preview","help.preview":"The QR uses the address of the open portal. On a phone, localhost or 127.0.0.1 refers to the phone itself. For testing across devices, both must be able to reach the portal and relay over HTTPS. Backup codes and links use the public EvPortal address.","help.privacyHeading":"About and privacy","help.privacy":"EvPortal is free and is not affiliated with Tesla. Logos and translations are bundled with the site. Opening counts stay in your configuration, with no analytics service. Telegra.ph is contacted at your request; the account token stays separate from the share. Sites you open apply their own policies.","help.source":"Source code","help.report":"Report a problem","help.license":"EvPortal · MIT License","help.backupHeading":"Code or link","help.preferencesHeading":"Choose your catalog and home screen","help.preferences":"In Settings → Catalog and home, choose your country, visible categories, and whether to start on your favorites. The country adjusts suggestions in Add; it does not remove your shortcuts. Show all countries expands the catalog. Shortcuts from a hidden category remain in All and Favorites. These choices stay on this device and are not included in backups or QR transfers. The initial country suggestion uses your browser’s region without requesting your location.","help.sharedServices":"A service can appear in several categories with one favorite status and one counter; All shows it only once. In Edit, open Other categories to choose where it appears. Deleting a category keeps services that also belong to another category.","pair.receiveButton":"Receive from my phone","pair.receiveTitle":"Receive from my phone","pair.scanHint":"Scan this QR code with your phone.","pair.qrAccessible":"QR code to transfer to this screen","pair.apply":"Add","pair.newQR":"New QR code","pair.sendTitle":"Send to the Tesla","pair.send":"Send my shortcuts","pair.chooseBackup":"Choose a backup","pair.sendHint":"This phone’s shortcuts will be offered on the other screen.","pair.privateHint":"Encrypted transfer, valid for 5 minutes.","pair.preparing":"Preparing QR code…","pair.waiting":"Waiting for phone · {time}","pair.retrying":"Reconnecting… · {time}","pair.summary":"{categories} categories · {count} shortcuts","pair.ready":"Backup received. Add it to your backups.","pair.sending":"Sending…","pair.sent":"Sent. Add the backup on the other screen.","pair.applied":"Backup added.","pair.expired":"This QR code has expired. Create a new one on the other screen.","pair.receiverExpired":"This QR code has expired. Create a new one.","pair.notConfigured":"Direct transfer is not available yet. Use a Telegra.ph backup.","pair.unsupported":"This browser does not support encrypted transfers. Use a Telegra.ph backup.","pair.invalidLink":"This transfer QR code is invalid. Scan a new code.","pair.invalidResponse":"The transfer service returned an invalid response. Try a new QR code.","pair.networkError":"Unable to connect. Check your network and try again.","pair.timeout":"The connection timed out. Try again.","pair.unauthorized":"This transfer is no longer authorized. Scan a new QR code.","pair.alreadySent":"This QR code has already received shortcuts. Create a new one to start again.","pair.tooLarge":"This configuration is too large for direct transfer. Export it as a JSON file.","pair.invalidConfig":"The received configuration is invalid. Your current shortcuts are preserved.","pair.decryptFailed":"Unable to read this transfer. Create a new QR code.","pair.applyFailed":"Unable to add this backup. Try again.","pair.serviceUnavailable":"The transfer service is temporarily unavailable. Try again shortly.","pair.stepScan":"Scan","pair.stepSend":"Send","pair.stepApply":"Add","pair.storageUnavailable":"Unable to save on this screen. Your current shortcuts are preserved.","pair.undone":"Your previous shortcuts have been restored.","pair.deliveryUnknown":"Check the other screen: your shortcuts may already have arrived. If not, create a new QR code.","pair.offerButton":"Send to my phone","pair.offerTitle":"My shortcuts on my phone","pair.offerScanHint":"Scan this QR code with your phone.","pair.offerPreparing":"Preparing to send…","pair.offerWaiting":"Ready to collect on your phone · {time}","pair.offerExpired":"This QR code has expired. Create a new one.","pair.offerReady":"Backup ready to collect.","pair.downloadTitle":"Receive a backup","pair.downloading":"Retrieving the backup…","pair.added":"Backup added to your backups.","pair.addFailed":"Unable to add this backup. Try again.","pair.downloadExpired":"This transfer has expired or has already been collected. Create a new QR code on the other screen.","pair.offerQRAccessible":"QR code to receive this backup on your phone","prefs.title":"Catalog and home","prefs.country":"Catalog country","prefs.marketHint":"The country adjusts the selection suggested in Add.","prefs.homeFavorites":"Open on my favorites","prefs.visibleCategories":"Visible categories","prefs.categoriesHint":"Shortcuts remain available in All and Favorites.","prefs.allMarkets":"All countries","prefs.showAllMarkets":"Show all countries","prefs.saveFailed":"Preferences are saved for this session only.","prefs.invalid":"These preferences are invalid.","prefs.country.FR":"France","prefs.country.CA":"Canada","prefs.country.US":"United States","prefs.country.BE":"Belgium","prefs.country.GB":"United Kingdom","prefs.country.DE":"Germany","prefs.country.ES":"Spain","prefs.country.IT":"Italy","prefs.country.PT":"Portugal","prefs.country.AU":"Australia","prefs.country.NZ":"New Zealand","prefs.country.CH":"Switzerland","prefs.country.ALL":"All countries","prefs.country.MX":"Mexico","seo.introHeading":"A shortcut dashboard for your Tesla","seo.intro":"EvPortal is a free, independent dashboard that brings your favourite websites together on a page designed for the Tesla browser. You can also use it in a browser on your phone or computer. Large icons open your chosen services without filling the home screen with text or widgets. Customise your shortcuts, categories and their order, then choose a light or dark theme.","seo.startHeading":"Get started in your vehicle’s browser","seo.start":"While parked, open the EvPortal address in your car’s browser. Save it as a browser favourite if that option is available so it is easy to find again. Opening the portal requires no app installation or Tesla account sign-in. In Settings, choose your language and catalogue country separately. Your preferences stay on this device; a backup lets you keep a copy of your shortcuts or transfer them.","seo.chargingHeading":"Find your services during a charging stop","seo.charging":"Add links to your route and charging planners, radio stations, music and weather services. The catalogue suggests services for the selected country; you can also enter your own web address. Each shortcut opens the provider’s website, with its own access conditions. EvPortal does not control charging or send commands to the vehicle. Use entertainment content while parked.","seo.faqHeading":"Frequently asked questions","seo.faqFreeQuestion":"Is EvPortal free?","seo.faqFreeAnswer":"Yes. The portal is free and is not affiliated with Tesla. Some linked websites may require an account or subscription; the service provider sets those conditions.","seo.faqPhoneQuestion":"How do I prepare my shortcuts on my phone?","seo.faqPhoneAnswer":"Open EvPortal on your phone and organise your shortcuts. In Settings, Phone offers QR transfers in both directions. On the receiving screen, Add keeps a backup. To use its contents, then choose My backups and Restore. Receiving a backup alone does not replace your shortcuts.","seo.faqOfflineQuestion":"Does EvPortal work offline?","seo.faqOfflineAnswer":"Your browser stores your configuration locally, but EvPortal does not offer an offline mode. You need a connection to load the portal, open services and transfer backups. A JSON file lets you keep an independent copy for a later restoration.","seo.languages":"Available languages","seo.operatingSystem":"Web","seo.browserRequirements":"Browser with JavaScript and local storage; HTTPS and cryptographic features for QR transfers.","seo.featureFavorites":"Customisable shortcuts and favourites","seo.featureDrag":"Touch drag-and-drop ordering","seo.featureQR":"QR backup transfers with a phone","seo.featureBackup":"Backups by code, link or JSON file","share.tooLarge":"Configuration exceeds Telegra.ph’s 64 KB limit. Remove some links or use a file.","share.noConnection":"Connection is unavailable in this browser.","share.publishTimeout":"Request timed out. Check My backups before trying again.","share.timeout":"Telegra.ph is not responding. Try again later.","share.networkError":"Could not connect to Telegra.ph. Check your connection.","share.unavailable":"Telegra.ph is unavailable. Try again later.","share.badResponse":"Telegra.ph returned an unreadable response. Try again later.","share.rateLimited":"Too many requests. Wait before trying again.","share.invalidAccount":"The Telegra.ph account is unavailable. Your previous account is preserved.","share.refused":"Telegra.ph refused this request. Try again later.","share.accountNotCreated":"The Telegra.ph account was not created. Try again later.","share.invalidTitle":"Invalid share name (up to 256 characters).","share.sessionOnly":"The account is saved for this session only. Keep the share link.","share.invalidPage":"Invalid page position.","share.badHistory":"The Telegra.ph list could not be read.","share.localPreview":"Local preview: use this preview’s network address on your phone.","share.localPreviewOld":"Local preview: to test on your phone, use a reachable network address for this preview. The public address shows the published version, which may differ from this preview.","share.qrLabel":"Scan with a phone to open these EvPortal shortcuts","share.qrAddressUnavailable":"QR code unavailable for this address. Copy the link.","share.qrUnavailable":"QR code unavailable. Copy the link.","share.publishing":"Saving…","share.publish":"Create my backup","share.created":"Backup created.","share.copyUnavailable":"Copy is unavailable. Select the text to copy it manually.","share.linkCopied":"Link copied.","share.codeCopied":"Code copied.","share.import":"Import","share.importNamed":"Import {name}","share.more":"Show more","share.empty":"No backups.","share.secureRandomUnavailable":"Unable to generate a random share link in this browser. Use a recent browser.","share.unsafePath":"Telegra.ph did not preserve the random identifier. No configuration was published.","share.deleteNamed":"Delete {name}","share.deleted":"Backup deleted.","share.noAccount":"No backup account is available in this browser.","state.fullURL":"Use a full address starting with https:// or http://, without spaces.","state.invalidURL":"This website address is invalid.","state.safeURL":"Links must use HTTP or HTTPS, with no login details in the address.","state.invalidID":"Invalid category or shortcut ID.","state.shortcutObject":"Each shortcut must be an object.","state.duplicateShortcut":"Two shortcuts have the same ID.","state.favoriteBoolean":"The favourite value must be a boolean.","state.invalidColor":"Invalid shortcut colour.","state.invalidCount":"Invalid shortcut usage count.","state.invalidFormat":"Unrecognised EvPortal format or incompatible backup version.","state.tooManyCategories":"The backup exceeds 50 categories.","state.invalidCategory":"Invalid category.","state.reservedCategory":"Reserved or duplicate category ID.","state.invalidIcon":"Invalid category icon.","state.tooManyShortcuts":"The backup exceeds 5,000 shortcuts.","state.invalidTheme":"Invalid backup theme.","state.missingCategory":"The active category in the backup could not be found.","state.invalidOrder":"Invalid shortcut order.","state.backupObject":"The backup must be a JSON object.","state.invalidLegacyList":"The legacy category list is invalid.","state.duplicateCategories":"The list contains duplicate categories.","state.foreignData":"The backup contains data unrelated to EvPortal categories.","state.invalidLegacyShortcut":"Invalid legacy shortcut.","state.invalidShortcutOrder":"Invalid shortcut position.","state.largeFile":"The file exceeds the 2 MB limit.","state.invalidJSON":"The file does not contain valid JSON.","state.storageUnavailable":"Storage unavailable","state.invalidLegacyCategories":"Invalid legacy categories","state.reservedLegacyCategory":"Reserved legacy category","state.invalidMove":"Invalid shortcut move.","state.telegraphLink":"Use a telegra.ph link or page ID.","state.telegraphID":"Invalid Telegra.ph page ID.","state.portalLink":"Use an EvPortal link containing exactly one share code.","state.invalidField":"Invalid {field} (maximum {max} characters).","state.invalidFieldShort":"Invalid {field}.","state.urlLabel":"Website address","state.shortcutName":"Shortcut name","state.shortcutDescription":"Shortcut description","state.shortcutTag":"Shortcut tag","state.categoryName":"Category name","state.categoryDescription":"Category description","state.catalogVersion":"Catalogue version","state.telegraphIDLabel":"Telegra.ph ID","state.shareCodeLabel":"Share link or code","state.invalidCategoryShortcuts":"The shortcuts in category “{name}” are invalid.","state.storageWarning":"Local backup is unavailable or unreadable. Your previous data has been preserved. Changes in this session are temporary: export them as JSON.","static.title":"EvPortal — Tesla Browser Dashboard & Shortcuts","static.skip":"Skip to shortcuts","static.tagline":" — shortcuts for Tesla","static.fullscreen":"Full screen","static.share":"Share","static.edit":"Edit","static.add":"Add","static.searchLabel":"Search shortcuts","static.dragInstructions":"Space to pick up, arrow keys to move, Enter to drop, Escape to cancel.","static.reorder":"Drag shortcuts to reorder them.","static.video":"Cinema","static.javascript":"Enable JavaScript to customise your shortcuts.","static.help":"Help","static.settings":"Settings","static.language":"Language","static.createShortcut":"Create a shortcut","static.createCategory":"Create a category","static.importTelegraph":"Import a backup","static.theater":"Open Tesla Theater","static.moreOptions":"More options","static.exportJSON":"Save a JSON file","static.reset":"Reset shortcuts","static.about":"Help & about","static.newCategory":"New category","static.name":"Name","static.icon":"Icon","static.cancel":"Cancel","static.create":"Create","static.newShortcut":"New shortcut","static.website":"Website address","static.category":"Category","static.restore":"Import a backup","static.shareInput":"Code or link","static.load":"Load my shortcuts","static.importJSON":"Import a JSON file","static.jsonFile":"JSON file","static.close":"Close","static.use":"Use these shortcuts","static.shareTitle":"Export a backup","static.backupName":"Name (optional)","static.public":"This backup will be public.","static.portalAddress":"EvPortal address","static.otherAddress":"EvPortal address on the other screen","static.publish":"Create my backup","static.scan":"Scan with your phone.","static.carCode":"Code to enter in your Tesla","static.copyCode":"Copy code","static.importHint":"Tesla: Settings → Backups → Import a backup.","static.copyLink":"Copy link","static.sharedLinks":"My backups","static.showBackups":"Refresh","static.addShortcuts":"Add shortcuts","static.searchService":"Search services","static.home":"EvPortal, home","static.search":"Search","static.enterFullscreen":"Enter full screen","static.shareAccessible":"Export a backup","static.addAccessible":"Add a shortcut or category","static.clearSearch":"Clear search","static.categories":"Categories","static.qrAccessible":"QR code to restore your shortcuts","static.searchPlaceholder":"Search…","static.tripsPlaceholder":"My trips","static.servicePlaceholder":"My service","static.urlPlaceholder":"https://example.com","static.codePlaceholder":"Code or EvPortal link","static.defaultBackup":"My EvPortal shortcuts","static.description":"Build your Tesla browser dashboard with charging, music and weather shortcuts, favourites and backups. Free to use, with QR transfers from your phone.","static.socialTitle":"EvPortal — Tesla Browser Dashboard & Shortcuts","static.socialDescription":"Build your Tesla browser dashboard with charging, music and weather shortcuts, favourites and backups. Free to use, with QR transfers from your phone.","static.previewAlt":"EvPortal: shortcuts for charging, music, streaming and navigation.","static.twitterDescription":"Build your Tesla browser dashboard with charging, music and weather shortcuts, favourites and backups. Free to use, with QR transfers from your phone.","static.twitterAlt":"EvPortal shortcuts in dark mode.","static.nameBackup":"Name the backup","static.undoTransfer":"Undo the last transfer","static.backups":"Backups","static.exportBackup":"Export a backup","static.importBackup":"Import a backup"},"fr":{"app.startFailed":"Le portail n’a pas pu démarrer. Rechargez la page pour réessayer.","app.storageUnavailable":"Le stockage local est indisponible ou plein. Exportez votre configuration pour conserver les changements de cette session.","app.storageRecovery":"Sauvegarde locale inaccessible ou illisible. Vos anciennes données sont conservées. Exportez cette session avant de fermer le portail.","app.all":"Tous","app.favorites":"Favoris","app.move":"Déplacer {name}","app.previousMoveCancelled":"Déplacement précédent annulé.","app.moveSelected":"{name} sélectionné. Déplacez avec les touches fléchées, Entrée pour déposer, Échap pour annuler.","app.moveCancelled":"Déplacement annulé.","app.movePosition":"{name}, position {position} sur {count}.","app.orderSaved":"Ordre enregistré.","app.editCategory":"Modifier la catégorie {name}","app.deleteCategory":"Supprimer la catégorie {name}","app.confirmDeleteCategory":"Supprimer « {name} » et ses {count} raccourcis ?","app.categoryDeleted":"Catégorie supprimée.","app.openNewTab":"{name} — nouvel onglet","app.removeFavorite":"Retirer {name} des favoris","app.addFavorite":"Ajouter {name} aux favoris","app.favoriteAdded":"{name} ajouté aux favoris.","app.favoriteRemoved":"{name} retiré des favoris.","app.editShortcut":"Modifier {name}","app.deleteShortcut":"Supprimer {name}","app.confirmDeleteShortcut":"Supprimer le raccourci « {name} » ?","app.shortcutDeleted":"Raccourci supprimé.","app.allShortcuts":"Tous les raccourcis","app.allDescription":"Retrouvez tous vos services et raccourcis dans un seul espace.","app.searchResults":"Résultats de recherche","app.searchDescription":"Recherche dans toutes les catégories pour « {query} ».","app.myFavorites":"Mes favoris","app.favoritesDescription":"Vos essentiels, toujours à portée de main.","app.categoryDescription":"Vos raccourcis pour cette catégorie.","app.shortcutCount":"{count} raccourcis","app.shortcutCountOne":"{count} raccourci","app.noShortcuts":"Aucun raccourci trouvé","app.emptyFavorites":"Gardez vos essentiels ici","app.emptyCategory":"Une page à votre image","app.searchHint":"Essayez un autre nom, domaine ou mot-clé.","app.favoriteHint":"Touchez l’étoile d’un raccourci pour l’ajouter à vos favoris.","app.emptyHint":"Ajoutez des raccourcis depuis le catalogue ou créez le vôtre.","app.clearSearch":"Effacer la recherche","app.exploreCatalog":"Explorer le catalogue","app.usageOrderHint":"Tous : les plus utilisés en premier. Pour déplacer un raccourci, ouvrez sa catégorie ou Favoris.","app.dragHint":"Glissez les raccourcis pour les réorganiser.","app.finishEditing":"Terminer les modifications","app.editShortcuts":"Modifier les raccourcis","app.finish":"Terminer","app.edit":"Modifier","app.categoryRequired":"Créez d’abord une catégorie pour y ajouter votre raccourci.","app.editShortcutTitle":"Modifier le raccourci","app.addShortcutTitle":"Ajouter un raccourci","app.save":"Enregistrer","app.addShortcutSubmit":"Ajouter le raccourci","app.editCategoryTitle":"Modifier la catégorie","app.newCategory":"Nouvelle catégorie","app.create":"Créer","app.categoryLimitHint":"Limite atteinte : {max} catégories personnelles. Modifiez ou supprimez une catégorie existante.","app.categoryCountHint":"{count}/{max} catégories personnelles · {length} caractères maximum.","app.categoryGone":"Cette catégorie a été supprimée dans un autre onglet. Fermez ce formulaire puis réessayez.","app.categoryNameInvalid":"Indiquez un nom de 1 à {max} caractères.","app.categoryLimit":"La limite de {max} catégories personnelles est atteinte.","app.categoryDuplicate":"Une catégorie porte déjà ce nom.","app.iconRequired":"Choisissez une icône proposée.","app.categoryDescriptionInvalid":"La description doit contenir 240 caractères maximum.","app.categoryChanged":"Catégorie modifiée.","app.categoryCreated":"Catégorie créée.","app.selectCategory":"Choisissez une catégorie existante.","app.shortcutGone":"Ce raccourci a été supprimé dans un autre onglet. Fermez ce formulaire puis réessayez.","app.shortcutLimit":"La limite de 5 000 raccourcis est atteinte.","app.shortcutFieldsInvalid":"Vérifiez le nom (100 caractères maximum) et la description (300 maximum).","app.shortcutDuplicate":"Ce lien existe déjà. Modifiez ses catégories pour l’afficher ailleurs.","app.shortcutChanged":"Raccourci modifié.","app.shortcutAdded":"Raccourci ajouté.","app.alreadyPresentNamed":"Déjà présent : {name}","app.addNamed":"Ajouter {name}","app.alreadyPresent":"Déjà présent","app.add":"Ajouter","app.totalCategoryLimit":"La limite de 50 catégories est atteinte.","app.addedToCategory":"{name} ajouté à {category}.","app.noServices":"Aucun service ne correspond à cette recherche.","app.catalogComplete":"Votre catalogue est déjà complet. Créez votre propre raccourci.","app.catalogHint":"Ajoutez un service supprimé ou créez votre propre raccourci.","app.sharedConfig":"Ajout à vos sauvegardes, sans modifier vos raccourcis.","app.importPreview":"Catégories : {categories} · Raccourcis : {count}","app.fileTooLarge":"Le fichier dépasse la limite de 2 Mo.","app.loadingConfig":"Chargement de la configuration…","app.telegraphNotReturned":"Telegra.ph n’a pas renvoyé cette page. Vérifiez son identifiant.","app.pageTooLarge":"Cette page est trop volumineuse pour être importée.","app.telegraphUnreadable":"Cette page Telegra.ph est introuvable ou illisible.","app.noConfigInPage":"La page ne contient pas une configuration EvPortal.","app.connectionTimeout":"La connexion a expiré. Réessayez dans un instant.","app.imported":"Configuration importée.","app.exportReady":"Export JSON préparé. Conservez le fichier pour retrouver vos raccourcis sur un autre appareil.","app.exportFailed":"Impossible de préparer le fichier de sauvegarde.","app.confirmReset":"Rétablir le catalogue de départ ? Vos raccourcis personnalisés et favoris seront remplacés. Pensez à les exporter avant de continuer.","app.catalogReset":"Catalogue de départ rétabli.","app.switchToLight":"Passer en mode clair","app.switchToDark":"Passer en mode sombre","app.fullscreenReload":"Rechargez la page pour activer le plein écran.","app.fullscreenUnavailable":"Le plein écran n’est pas disponible dans ce navigateur.","app.exitFullscreen":"Quitter le plein écran","app.enterFullscreen":"Passer en plein écran","app.syncedFromTab":"Vos changements depuis un autre onglet ont été chargés.","app.unreadableTabState":"La sauvegarde reçue d’un autre onglet est illisible. La session actuelle est conservée.","app.legacyRecovered":"Vos anciens raccourcis ont été récupérés.","app.catalogUpdated":"{count} adresses du catalogue ont été actualisées.","app.invalidConfig":"Cette configuration est invalide ou incompatible. Vérifiez le fichier ou le code puis réessayez.","app.invalidShortcutURL":"Utilisez une adresse complète commençant par https:// ou http://, sans espaces ni identifiants.","app.invalidImportCode":"Utilisez un code Telegra.ph, une adresse telegra.ph ou un lien de partage EvPortal valide.","app.connectionFailed":"Connexion impossible. Vérifiez le réseau puis réessayez.","app.icon.all":"Grille","app.icon.favorites":"Étoile","app.icon.cinema":"Vidéo","app.icon.music":"Musique","app.icon.tv":"Télévision","app.icon.charging":"Recharge","app.icon.games":"Jeux","app.icon.navigation":"Trajets","app.icon.social":"Messages","app.icon.news":"Actualités","app.icon.weather":"Météo","app.icon.productivity":"Outils","app.icon.folder":"Dossier","app.otherCategories":"Autres catégories","backup.links":"Code ou lien","backup.phone":"Téléphone","backup.library":"Mes sauvegardes","backup.create":"Créer","backup.add":"Ajouter","backup.send":"Envoyer","backup.receive":"Recevoir","backup.restore":"Restaurer","backup.createTitle":"Créer un code ou un lien","backup.addTitle":"Ajouter une sauvegarde","backup.restoreTitle":"Restaurer une sauvegarde","backup.chooseTitle":"Choisir une sauvegarde","backup.code":"Code","backup.link":"Lien EvPortal","backup.copyCode":"Copier le code","backup.addHint":"Ajout à vos sauvegardes, sans modifier vos raccourcis.","backup.added":"Sauvegarde ajoutée.","backup.restored":"Sauvegarde restaurée.","backup.local":"Sur cet appareil","backup.online":"En ligne","backup.empty":"Aucune sauvegarde enregistrée.","backup.receivedTitle":"Raccourcis reçus","backup.fileTitle":"Sauvegarde importée","backup.deleteNamed":"Supprimer « {name} »","backup.deleted":"Sauvegarde supprimée.","backup.savedSummary":"Catégories : {categories} · Raccourcis : {count}","backup.load":"Vérifier","backup.restoreHint":"Remplace les raccourcis de cet appareil.","backup.selected":"Sauvegarde sélectionnée","backup.choose":"Choisir","backup.localCopy":"Copie enregistrée sur cet appareil.","backup.undoRestore":"Annuler la dernière restauration","backup.storageUnavailable":"Le stockage des sauvegardes est indisponible ou plein.","backup.invalidLibrary":"La bibliothèque de sauvegardes est illisible. Les données existantes sont conservées.","backup.invalidBackup":"Cette sauvegarde n’est pas valide.","backup.limit":"Vous pouvez conserver jusqu’à {max} sauvegardes sur cet appareil.","backup.tooLarge":"Cette sauvegarde dépasse {max} Mo.","backup.missing":"Cette sauvegarde n’est plus disponible.","backup.retry":"Réessayer","category.all":"Tous","category.favorites":"Favoris","category.cinema":"Vidéo","category.music":"Musique","category.tv":"TV","category.charging":"Recharge","category.games":"Jeux","category.navigation":"Trajets","category.social":"Social","category.news":"Actu","category.weather":"Météo","category.productivity":"Outils","category.folder":"Dossier","help.title":"Guide EvPortal — Navigateur Tesla, raccourcis et sauvegardes","help.description":"Ouvrez EvPortal dans le navigateur Tesla, organisez vos favoris et transférez vos sauvegardes par code, lien ou QR. Guide de démarrage et de restauration.","help.language":"Langue","help.back":"Retour aux raccourcis","help.heading":"Guide EvPortal pour le navigateur Tesla","help.intro":"Touchez un raccourci pour ouvrir le service dans un nouvel onglet. Le bouton de thème en haut permet de choisir le mode clair ou sombre. Les huit langues sont disponibles dans Paramètres, avec leurs noms et drapeaux ; l’arabe s’affiche de droite à gauche.","help.organizeHeading":"Organiser les raccourcis","help.ranking":"« Tous » affiche d’abord les raccourcis les plus ouverts. À égalité, votre ordre manuel est conservé. Le classement reste enregistré après rechargement.","help.dragging":"Dans une catégorie ou « Favoris », touchez « Modifier » puis déplacez les raccourcis avec leur poignée. L’étoile ajoute un favori et le crayon permet de modifier. Touchez « Terminer » quand vous avez fini. « Tous » conserve son classement automatique.","help.keyboard":"Au clavier, sélectionnez une poignée puis appuyez sur Espace, utilisez les flèches et validez avec Entrée. Échap annule.","help.addHeading":"Ajouter un raccourci ou une catégorie","help.adding":"Le bouton « + » ouvre le catalogue et propose de créer un raccourci ou une catégorie. « Déjà présent » indique un service déjà ajouté. La loupe recherche dans tous vos raccourcis.","help.categories":"Créez jusqu’à cinq catégories personnelles avec un nom de 16 caractères maximum et une icône au choix. Le crayon permet de les modifier. Les anciennes catégories dépassant ces limites sont conservées. Les catégories affichées se répartissent sans défilement horizontal.","help.transferHeading":"Téléphone : envoyer ou recevoir","help.stepPrepare":"Dans Paramètres → Téléphone, choisissez Envoyer ou Recevoir.","help.stepPublish":"Scannez le QR affiché avec votre téléphone.","help.stepCode":"Pour envoyer depuis le téléphone, choisissez ses raccourcis ou une sauvegarde, puis touchez Envoyer.","help.stepImport":"Sur l’écran qui reçoit, touchez Ajouter pour conserver la sauvegarde sur cet appareil.","help.stepApply":"Pour utiliser son contenu, ouvrez Mes sauvegardes → Restaurer.","help.qr":"Le QR sert au transfert avec le téléphone. Créer un code ou un lien n’affiche pas de QR.","help.snapshot":"Le transfert est chiffré et valable cinq minutes lorsque le service est disponible. Il transmet un instantané, sans synchronisation automatique. Recevoir une sauvegarde ne remplace pas vos raccourcis.","help.public":"Dans Paramètres → Code ou lien, Créer prépare un code et un lien EvPortal à copier. Ajouter accepte l’un ou l’autre et enregistre une copie locale après validation. Les fichiers JSON restent disponibles dans Plus d’options. La page Telegra.ph créée est publique ; la copie locale et la page en ligne sont distinctes.","help.fullscreenHeading":"Plein écran Tesla","help.fullscreen":"À l’arrêt, touchez « Plein écran ». Sur YouTube, choisissez « Accéder au site » ou « Go to site » pour revenir à EvPortal dans le mode Théâtre. Les raccourcis demandent un nouvel onglet, dont le comportement dépend du navigateur du véhicule.","help.fullscreenFallback":"Si la Tesla n’est pas reconnue, choisissez « Ouvrir le mode Théâtre Tesla » dans Paramètres. Sur ordinateur, le bouton utilise le plein écran classique. La redirection peut évoluer avec les mises à jour du véhicule ou de YouTube.","help.compatibility":"L’ouverture d’un site ne garantit pas la lecture vidéo : pays, compte, abonnement et navigateur peuvent la limiter. Le divertissement s’utilise à l’arrêt.","help.teslaManual":"Manuel Tesla","help.myTesla":"Méthode décrite par myTesla","help.storageHeading":"Restaurer une sauvegarde","help.storage":"Dans Paramètres → Mes sauvegardes → Restaurer, choisissez une sauvegarde dans Sur cet appareil ou En ligne, puis vérifiez son contenu. Seul Restaurer remplace vos raccourcis. Les options des paramètres permettent d’annuler la dernière restauration. Ajouter un code, un lien, un fichier ou une réception QR conserve une sauvegarde sans l’appliquer. Chaque navigateur conserve sa propre liste locale.","help.previewHeading":"Tester un aperçu local","help.preview":"Le QR utilise l’adresse du portail ouvert. Sur un téléphone, localhost ou 127.0.0.1 désigne le téléphone lui-même. Pour un essai entre appareils, le portail et le relais doivent être accessibles aux deux en HTTPS. Les codes et liens de sauvegarde utilisent l’adresse publique d’EvPortal.","help.privacyHeading":"À propos et confidentialité","help.privacy":"EvPortal est gratuit, sans affiliation avec Tesla. Logos et traductions sont embarqués. Les compteurs d’ouvertures restent dans votre configuration, sans outil d’analyse d’audience. Telegra.ph est contacté à votre demande ; le jeton du compte reste séparé du partage. Les sites ouverts appliquent leur propre politique.","help.source":"Code source","help.report":"Signaler un problème","help.license":"EvPortal · Licence MIT","help.backupHeading":"Code ou lien","help.preferencesHeading":"Choisir son catalogue et son accueil","help.preferences":"Dans Paramètres → Catalogue et accueil, choisissez votre pays, les catégories à afficher et l’ouverture sur vos favoris. Le pays adapte les suggestions dans Ajouter ; il ne supprime pas vos raccourcis. Voir tous les pays élargit le catalogue. Une catégorie masquée conserve ses raccourcis dans Tous et Favoris. Ces choix restent sur cet appareil et ne sont pas transmis dans les sauvegardes ou par QR. Le pays initial est suggéré par la région du navigateur, sans demander votre position.","help.sharedServices":"Un service peut apparaître dans plusieurs catégories avec un seul favori et un seul compteur ; Tous ne l’affiche qu’une fois. Dans Modifier, ouvrez Autres catégories pour choisir où il apparaît. Supprimer une catégorie conserve les services encore présents dans une autre catégorie.","pair.receiveButton":"Recevoir depuis mon téléphone","pair.receiveTitle":"Recevoir depuis mon téléphone","pair.scanHint":"Scannez ce QR code avec votre téléphone.","pair.qrAccessible":"QR code de transfert vers cet écran","pair.apply":"Ajouter","pair.newQR":"Nouveau QR code","pair.sendTitle":"Envoyer vers la Tesla","pair.send":"Envoyer mes raccourcis","pair.chooseBackup":"Choisir une sauvegarde","pair.sendHint":"Les raccourcis de ce téléphone seront proposés sur l’autre écran.","pair.privateHint":"Transfert chiffré, valable 5 minutes.","pair.preparing":"Préparation du QR code…","pair.waiting":"En attente du téléphone · {time}","pair.retrying":"Reconnexion… · {time}","pair.summary":"{categories} catégories · {count} raccourcis","pair.ready":"Sauvegarde reçue. Ajoutez-la à vos sauvegardes.","pair.sending":"Envoi en cours…","pair.sent":"Envoyé. Ajoutez la sauvegarde sur l’autre écran.","pair.applied":"Sauvegarde ajoutée.","pair.expired":"Ce QR code a expiré. Créez-en un nouveau sur l’autre écran.","pair.receiverExpired":"Ce QR code a expiré. Créez-en un nouveau.","pair.notConfigured":"Le transfert direct n’est pas encore disponible. Utilisez une sauvegarde Telegra.ph.","pair.unsupported":"Ce navigateur ne permet pas le transfert chiffré. Utilisez une sauvegarde Telegra.ph.","pair.invalidLink":"Ce QR code de transfert est invalide. Scannez un nouveau code.","pair.invalidResponse":"Le service de transfert a renvoyé une réponse invalide. Réessayez avec un nouveau QR code.","pair.networkError":"Connexion impossible. Vérifiez le réseau puis réessayez.","pair.timeout":"La connexion a expiré. Réessayez.","pair.unauthorized":"Ce transfert n’est plus autorisé. Scannez un nouveau QR code.","pair.alreadySent":"Ce QR code a déjà reçu des raccourcis. Créez-en un nouveau pour recommencer.","pair.tooLarge":"Cette configuration est trop volumineuse pour le transfert direct. Exportez-la dans un fichier JSON.","pair.invalidConfig":"La configuration reçue est invalide. Vos raccourcis actuels sont conservés.","pair.decryptFailed":"Impossible de lire ce transfert. Créez un nouveau QR code.","pair.applyFailed":"Impossible d’ajouter cette sauvegarde. Réessayez.","pair.serviceUnavailable":"Le service de transfert est momentanément indisponible. Réessayez dans un instant.","pair.stepScan":"Scanner","pair.stepSend":"Envoyer","pair.stepApply":"Ajouter","pair.storageUnavailable":"Impossible d’enregistrer sur cet écran. Vos raccourcis actuels sont conservés.","pair.undone":"Les raccourcis précédents sont restaurés.","pair.deliveryUnknown":"Vérifiez l’autre écran : vos raccourcis ont peut-être déjà été reçus. Sinon, créez un nouveau QR code.","pair.offerButton":"Envoyer vers mon téléphone","pair.offerTitle":"Mes raccourcis sur mon téléphone","pair.offerScanHint":"Scannez ce QR code avec votre téléphone.","pair.offerPreparing":"Préparation de l’envoi…","pair.offerWaiting":"À récupérer sur le téléphone · {time}","pair.offerExpired":"Ce QR code a expiré. Créez-en un nouveau.","pair.offerReady":"Sauvegarde prête à être récupérée.","pair.downloadTitle":"Recevoir une sauvegarde","pair.downloading":"Récupération de la sauvegarde…","pair.added":"Sauvegarde ajoutée à vos sauvegardes.","pair.addFailed":"Impossible d’ajouter cette sauvegarde. Réessayez.","pair.downloadExpired":"Ce transfert a expiré ou a déjà été récupéré. Créez un nouveau QR code sur l’autre écran.","pair.offerQRAccessible":"QR code pour recevoir cette sauvegarde sur le téléphone","prefs.title":"Catalogue et accueil","prefs.country":"Pays du catalogue","prefs.marketHint":"Le pays adapte la sélection proposée dans Ajouter.","prefs.homeFavorites":"Ouvrir sur mes favoris","prefs.visibleCategories":"Catégories affichées","prefs.categoriesHint":"Les raccourcis restent accessibles dans Tous et Favoris.","prefs.allMarkets":"Tous les pays","prefs.showAllMarkets":"Voir tous les pays","prefs.saveFailed":"Préférences conservées pour cette session seulement.","prefs.invalid":"Ces préférences ne sont pas valides.","prefs.country.FR":"France","prefs.country.CA":"Canada","prefs.country.US":"États-Unis","prefs.country.BE":"Belgique","prefs.country.GB":"Royaume-Uni","prefs.country.DE":"Allemagne","prefs.country.ES":"Espagne","prefs.country.IT":"Italie","prefs.country.PT":"Portugal","prefs.country.AU":"Australie","prefs.country.NZ":"Nouvelle-Zélande","prefs.country.CH":"Suisse","prefs.country.ALL":"Tous les pays","prefs.country.MX":"Mexique","seo.introHeading":"Un portail de raccourcis pour votre Tesla","seo.intro":"EvPortal est un portail gratuit et indépendant qui rassemble vos sites favoris sur une page pensée pour le navigateur Tesla. Il s’utilise aussi dans un navigateur sur téléphone ou ordinateur. De grandes icônes donnent accès aux services choisis, sans remplir l’accueil de textes ou de widgets. Vous pouvez personnaliser vos raccourcis, leurs catégories et leur ordre, puis choisir un thème clair ou sombre.","seo.startHeading":"Commencer dans le navigateur du véhicule","seo.start":"À l’arrêt, ouvrez l’adresse d’EvPortal dans le navigateur de la voiture. Enregistrez-la dans ses favoris si cette option est disponible pour la retrouver facilement. Aucune installation d’application ni connexion à un compte Tesla n’est nécessaire pour ouvrir le portail. Dans Paramètres, choisissez la langue et le pays du catalogue séparément. Vos réglages restent sur cet appareil ; une sauvegarde permet de conserver ou de transférer vos raccourcis.","seo.chargingHeading":"Retrouver vos services pendant une recharge","seo.charging":"Ajoutez des liens vers vos outils de planification de trajet ou de recharge, vos radios, votre musique et la météo. Le catalogue propose des services selon le pays sélectionné ; vous pouvez aussi saisir une adresse personnelle. Chaque raccourci ouvre le site du service, avec ses propres conditions d’accès. EvPortal ne pilote pas la recharge et n’envoie aucune commande au véhicule. Les contenus de divertissement se consultent à l’arrêt.","seo.faqHeading":"Questions fréquentes","seo.faqFreeQuestion":"EvPortal est-il gratuit ?","seo.faqFreeAnswer":"Oui. Le portail est gratuit et sans affiliation avec Tesla. Certains sites ouverts peuvent demander un compte ou un abonnement ; ces conditions dépendent du service.","seo.faqPhoneQuestion":"Comment préparer mes raccourcis sur mon téléphone ?","seo.faqPhoneAnswer":"Ouvrez EvPortal sur le téléphone, puis organisez vos raccourcis. Dans Paramètres, Téléphone permet un transfert par QR dans les deux sens. Sur l’écran qui reçoit, Ajouter conserve une sauvegarde. Pour utiliser son contenu, choisissez ensuite Mes sauvegardes, puis Restaurer. Recevoir seul ne remplace pas les raccourcis.","seo.faqOfflineQuestion":"EvPortal fonctionne-t-il hors connexion ?","seo.faqOfflineAnswer":"Le navigateur conserve votre configuration localement, mais EvPortal ne propose pas de mode hors connexion. Prévoyez une connexion pour charger le portail, ouvrir les services et transférer des sauvegardes. Un fichier JSON permet de conserver une copie indépendante pour une restauration ultérieure.","seo.languages":"Langues disponibles","seo.operatingSystem":"Web","seo.browserRequirements":"Navigateur avec JavaScript et stockage local ; HTTPS et fonctions cryptographiques pour les transferts QR.","seo.featureFavorites":"Raccourcis et favoris personnalisables","seo.featureDrag":"Réorganisation tactile par glisser-déposer","seo.featureQR":"Transfert de sauvegardes par QR avec un téléphone","seo.featureBackup":"Sauvegardes par code, lien ou fichier JSON","share.tooLarge":"Configuration trop volumineuse pour Telegra.ph (64 Ko). Réduisez les liens ou utilisez un fichier.","share.noConnection":"Connexion indisponible sur ce navigateur.","share.publishTimeout":"Délai dépassé. Vérifiez « Mes sauvegardes » avant de réessayer.","share.timeout":"Telegra.ph ne répond pas. Réessayez plus tard.","share.networkError":"Connexion à Telegra.ph impossible. Vérifiez votre connexion.","share.unavailable":"Telegra.ph est indisponible. Réessayez plus tard.","share.badResponse":"Réponse Telegra.ph illisible. Réessayez plus tard.","share.rateLimited":"Trop de demandes. Patientez avant de réessayer.","share.invalidAccount":"Compte Telegra.ph indisponible. Votre ancien compte reste conservé.","share.refused":"Telegra.ph a refusé cette demande. Réessayez plus tard.","share.accountNotCreated":"Compte Telegra.ph non créé. Réessayez plus tard.","share.invalidTitle":"Nom du partage invalide (256 caractères maximum).","share.sessionOnly":"Compte conservé pour cette session seulement. Gardez le lien du partage.","share.invalidPage":"Position de page invalide.","share.badHistory":"Liste Telegra.ph illisible.","share.localPreview":"Aperçu local : pour le téléphone, utilisez l’adresse réseau de cet aperçu.","share.localPreviewOld":"Aperçu local : pour tester sur téléphone, utilisez une adresse réseau accessible de cet aperçu. L’adresse publique affiche la version publiée, qui peut différer de cet aperçu.","share.qrLabel":"Scannez avec un téléphone pour ouvrir ces raccourcis EvPortal","share.qrAddressUnavailable":"QR code indisponible pour cette adresse. Copiez le lien.","share.qrUnavailable":"QR code indisponible. Copiez le lien.","share.publishing":"Sauvegarde…","share.publish":"Créer ma sauvegarde","share.created":"Sauvegarde créée.","share.copyUnavailable":"Copie indisponible. Sélectionnez le texte pour le copier manuellement.","share.linkCopied":"Lien copié.","share.codeCopied":"Code copié.","share.import":"Importer","share.importNamed":"Importer {name}","share.more":"Voir la suite","share.empty":"Aucune sauvegarde.","share.secureRandomUnavailable":"Impossible de générer un lien de partage aléatoire dans ce navigateur. Utilisez un navigateur récent.","share.unsafePath":"Telegra.ph n’a pas conservé l’identifiant aléatoire. Aucune configuration n’a été publiée.","share.deleteNamed":"Supprimer {name}","share.deleted":"Sauvegarde supprimée.","share.noAccount":"Aucun compte de sauvegarde disponible dans ce navigateur.","state.fullURL":"Utilisez une adresse complète commençant par https:// ou http://, sans espaces.","state.invalidURL":"Cette adresse de lien est invalide.","state.safeURL":"Les liens doivent utiliser HTTP ou HTTPS, sans identifiants dans l’adresse.","state.invalidID":"Identifiant de catégorie ou de lien invalide.","state.shortcutObject":"Chaque raccourci doit être un objet.","state.duplicateShortcut":"Deux raccourcis possèdent le même identifiant.","state.favoriteBoolean":"La valeur de favori doit être un booléen.","state.invalidColor":"Couleur de raccourci invalide.","state.invalidCount":"Compteur d’utilisation du raccourci invalide.","state.invalidFormat":"Format EvPortal non reconnu ou version de sauvegarde incompatible.","state.tooManyCategories":"La sauvegarde dépasse 50 catégories.","state.invalidCategory":"Catégorie invalide.","state.reservedCategory":"Identifiant de catégorie réservé ou dupliqué.","state.invalidIcon":"Icône de catégorie invalide.","state.tooManyShortcuts":"La sauvegarde dépasse 5 000 liens.","state.invalidTheme":"Thème de sauvegarde invalide.","state.missingCategory":"La catégorie active de la sauvegarde est introuvable.","state.invalidOrder":"Ordre des raccourcis invalide.","state.backupObject":"La sauvegarde doit être un objet JSON.","state.invalidLegacyList":"La liste des anciennes catégories est invalide.","state.duplicateCategories":"La liste contient des catégories en double.","state.foreignData":"La sauvegarde contient des données étrangères aux catégories EvPortal.","state.invalidLegacyShortcut":"Ancien raccourci invalide.","state.invalidShortcutOrder":"Ordre de raccourci invalide.","state.largeFile":"Le fichier dépasse la limite de 2 Mo.","state.invalidJSON":"Le fichier ne contient pas de JSON valide.","state.storageUnavailable":"Stockage indisponible","state.invalidLegacyCategories":"Anciennes catégories invalides","state.reservedLegacyCategory":"Ancienne catégorie réservée","state.invalidMove":"Déplacement de raccourcis invalide.","state.telegraphLink":"Utilisez un lien telegra.ph ou son identifiant de page.","state.telegraphID":"Identifiant de page Telegra.ph invalide.","state.portalLink":"Utilisez un lien EvPortal contenant un seul code de partage.","state.invalidField":"{field} invalide (maximum {max} caractères).","state.invalidFieldShort":"{field} invalide.","state.urlLabel":"Adresse du lien","state.shortcutName":"Nom du raccourci","state.shortcutDescription":"Description du raccourci","state.shortcutTag":"Étiquette du raccourci","state.categoryName":"Nom de la catégorie","state.categoryDescription":"Description de la catégorie","state.catalogVersion":"Version du catalogue","state.telegraphIDLabel":"Identifiant Telegra.ph","state.shareCodeLabel":"Lien ou code de partage","state.invalidCategoryShortcuts":"Les raccourcis de la catégorie « {name} » sont invalides.","state.storageWarning":"Sauvegarde locale inaccessible ou illisible. Vos anciennes données sont conservées. Les changements de cette session restent temporaires : exportez-les en JSON.","static.title":"EvPortal — Portail de raccourcis pour navigateur Tesla","static.skip":"Aller aux raccourcis","static.tagline":" — raccourcis pour Tesla","static.fullscreen":"Plein écran","static.share":"Partager","static.edit":"Modifier","static.add":"Ajouter","static.searchLabel":"Rechercher un raccourci","static.dragInstructions":"Espace pour saisir, touches fléchées pour déplacer, Entrée pour déposer, Échap pour annuler.","static.reorder":"Glissez les raccourcis pour les réorganiser.","static.video":"Cinéma","static.javascript":"Activez JavaScript pour personnaliser vos raccourcis.","static.help":"Aide","static.settings":"Paramètres","static.language":"Langue","static.createShortcut":"Créer un raccourci","static.createCategory":"Créer une catégorie","static.importTelegraph":"Importer une sauvegarde","static.theater":"Ouvrir le mode Théâtre Tesla","static.moreOptions":"Plus d’options","static.exportJSON":"Sauvegarder un fichier JSON","static.reset":"Réinitialiser les raccourcis","static.about":"Aide & à propos","static.newCategory":"Nouvelle catégorie","static.name":"Nom","static.icon":"Icône","static.cancel":"Annuler","static.create":"Créer","static.newShortcut":"Nouveau raccourci","static.website":"Adresse du site","static.category":"Catégorie","static.restore":"Importer une sauvegarde","static.shareInput":"Code ou lien","static.load":"Charger mes raccourcis","static.importJSON":"Importer un fichier JSON","static.jsonFile":"Fichier JSON","static.close":"Fermer","static.use":"Utiliser ces raccourcis","static.shareTitle":"Exporter une sauvegarde","static.backupName":"Nom (facultatif)","static.public":"Cette sauvegarde sera publique.","static.portalAddress":"Adresse d’EvPortal","static.otherAddress":"Adresse d’EvPortal sur l’autre écran","static.publish":"Créer ma sauvegarde","static.scan":"Scannez avec votre téléphone.","static.carCode":"Code à saisir dans la Tesla","static.copyCode":"Copier le code","static.importHint":"Tesla : Paramètres → Sauvegardes → Importer une sauvegarde, puis ce code.","static.copyLink":"Copier le lien","static.sharedLinks":"Mes sauvegardes","static.showBackups":"Actualiser","static.addShortcuts":"Ajouter des raccourcis","static.searchService":"Rechercher un service","static.home":"EvPortal, accueil","static.search":"Rechercher","static.enterFullscreen":"Passer en plein écran","static.shareAccessible":"Exporter une sauvegarde","static.addAccessible":"Ajouter un raccourci ou une catégorie","static.clearSearch":"Effacer la recherche","static.categories":"Catégories","static.qrAccessible":"QR code pour retrouver vos raccourcis","static.searchPlaceholder":"Rechercher…","static.tripsPlaceholder":"Mes voyages","static.servicePlaceholder":"Mon service","static.urlPlaceholder":"https://exemple.fr","static.codePlaceholder":"Code ou lien EvPortal","static.defaultBackup":"Mes raccourcis EvPortal","static.description":"Personnalisez votre portail Tesla : raccourcis vers la recharge, la musique et la météo, favoris et sauvegardes. Gratuit, avec transfert QR depuis un téléphone.","static.socialTitle":"EvPortal — Portail de raccourcis pour navigateur Tesla","static.socialDescription":"Personnalisez votre portail Tesla : raccourcis vers la recharge, la musique et la météo, favoris et sauvegardes. Gratuit, avec transfert QR depuis un téléphone.","static.previewAlt":"EvPortal : un tableau de raccourcis pour la recharge, la musique, le streaming et la navigation.","static.twitterDescription":"Personnalisez votre portail Tesla : raccourcis vers la recharge, la musique et la météo, favoris et sauvegardes. Gratuit, avec transfert QR depuis un téléphone.","static.twitterAlt":"Le tableau de raccourcis EvPortal en thème sombre.","static.nameBackup":"Nommer la sauvegarde","static.undoTransfer":"Annuler le dernier transfert","static.backups":"Sauvegardes","static.exportBackup":"Exporter une sauvegarde","static.importBackup":"Importer une sauvegarde"},"es":{"app.startFailed":"No se pudo iniciar el portal. Recarga la página para volver a intentarlo.","app.storageUnavailable":"El almacenamiento local no está disponible o está lleno. Exporta tu configuración para conservar los cambios.","app.storageRecovery":"La copia local no está disponible o no se puede leer. Tus datos anteriores se conservan. Exporta esta sesión antes de cerrar.","app.all":"Todos","app.favorites":"Favoritos","app.move":"Mover {name}","app.previousMoveCancelled":"Movimiento anterior cancelado.","app.moveSelected":"{name} seleccionado. Usa las flechas para mover, Intro para soltar y Esc para cancelar.","app.moveCancelled":"Movimiento cancelado.","app.movePosition":"{name}, posición {position} de {count}.","app.orderSaved":"Orden guardado.","app.editCategory":"Editar categoría {name}","app.deleteCategory":"Eliminar categoría {name}","app.confirmDeleteCategory":"¿Eliminar «{name}» y sus {count} accesos directos?","app.categoryDeleted":"Categoría eliminada.","app.openNewTab":"{name} — nueva pestaña","app.removeFavorite":"Quitar {name} de favoritos","app.addFavorite":"Añadir {name} a favoritos","app.favoriteAdded":"{name} añadido a favoritos.","app.favoriteRemoved":"{name} eliminado de favoritos.","app.editShortcut":"Editar {name}","app.deleteShortcut":"Eliminar {name}","app.confirmDeleteShortcut":"¿Eliminar el acceso directo «{name}»?","app.shortcutDeleted":"Acceso directo eliminado.","app.allShortcuts":"Todos los accesos directos","app.allDescription":"Todos tus servicios y accesos directos en un solo lugar.","app.searchResults":"Resultados de búsqueda","app.searchDescription":"Búsqueda de «{query}» en todas las categorías.","app.myFavorites":"Mis favoritos","app.favoritesDescription":"Tus imprescindibles, siempre a mano.","app.categoryDescription":"Tus accesos directos de esta categoría.","app.shortcutCount":"{count} accesos directos","app.shortcutCountOne":"{count} acceso directo","app.noShortcuts":"No se encontraron accesos directos","app.emptyFavorites":"Guarda aquí tus imprescindibles","app.emptyCategory":"Una página a tu medida","app.searchHint":"Prueba otro nombre, dominio o palabra clave.","app.favoriteHint":"Toca la estrella de un acceso directo para añadirlo a favoritos.","app.emptyHint":"Añade accesos directos del catálogo o crea los tuyos.","app.clearSearch":"Borrar búsqueda","app.exploreCatalog":"Explorar catálogo","app.usageOrderHint":"Todos: los más usados primero. Para mover un acceso directo, abre su categoría o Favoritos.","app.dragHint":"Arrastra los accesos directos para reordenarlos.","app.finishEditing":"Terminar edición","app.editShortcuts":"Editar accesos directos","app.finish":"Listo","app.edit":"Editar","app.categoryRequired":"Crea primero una categoría para añadir tu acceso directo.","app.editShortcutTitle":"Editar acceso directo","app.addShortcutTitle":"Añadir acceso directo","app.save":"Guardar","app.addShortcutSubmit":"Añadir acceso directo","app.editCategoryTitle":"Editar categoría","app.newCategory":"Nueva categoría","app.create":"Crear","app.categoryLimitHint":"Límite alcanzado: {max} categorías personales. Edita o elimina una categoría existente.","app.categoryCountHint":"{count}/{max} categorías personales · Máximo {length} caracteres.","app.categoryGone":"Esta categoría se eliminó en otra pestaña. Cierra este formulario e inténtalo de nuevo.","app.categoryNameInvalid":"Introduce un nombre de entre 1 y {max} caracteres.","app.categoryLimit":"Se ha alcanzado el límite de {max} categorías personales.","app.categoryDuplicate":"Ya existe una categoría con este nombre.","app.iconRequired":"Elige uno de los iconos disponibles.","app.categoryDescriptionInvalid":"La descripción debe tener un máximo de 240 caracteres.","app.categoryChanged":"Categoría actualizada.","app.categoryCreated":"Categoría creada.","app.selectCategory":"Elige una categoría existente.","app.shortcutGone":"Este acceso directo se eliminó en otra pestaña. Cierra el formulario e inténtalo de nuevo.","app.shortcutLimit":"Se ha alcanzado el límite de 5.000 accesos directos.","app.shortcutFieldsInvalid":"Revisa el nombre (máximo 100 caracteres) y la descripción (máximo 300).","app.shortcutDuplicate":"Este enlace ya existe. Edita sus categorías para mostrarlo en otro lugar.","app.shortcutChanged":"Acceso directo actualizado.","app.shortcutAdded":"Acceso directo añadido.","app.alreadyPresentNamed":"Ya añadido: {name}","app.addNamed":"Añadir {name}","app.alreadyPresent":"Ya añadido","app.add":"Añadir","app.totalCategoryLimit":"Se ha alcanzado el límite de 50 categorías.","app.addedToCategory":"{name} añadido a {category}.","app.noServices":"Ningún servicio coincide con esta búsqueda.","app.catalogComplete":"Tu catálogo ya está completo. Crea tu propio acceso directo.","app.catalogHint":"Añade un servicio eliminado o crea tu propio acceso directo.","app.sharedConfig":"Se añade a tus copias sin cambiar tus accesos directos.","app.importPreview":"Categorías: {categories} · Accesos directos: {count}","app.fileTooLarge":"El archivo supera el límite de 2 MB.","app.loadingConfig":"Cargando configuración…","app.telegraphNotReturned":"Telegra.ph no ha devuelto esta página. Comprueba su código.","app.pageTooLarge":"Esta página es demasiado grande para importarla.","app.telegraphUnreadable":"Esta página de Telegra.ph no se encuentra o no se puede leer.","app.noConfigInPage":"La página no contiene una configuración EvPortal.","app.connectionTimeout":"La conexión ha caducado. Inténtalo de nuevo en un momento.","app.imported":"Configuración importada.","app.exportReady":"Exportación JSON preparada. Guarda el archivo para recuperar tus accesos directos en otro dispositivo.","app.exportFailed":"No se pudo preparar el archivo de copia de seguridad.","app.confirmReset":"¿Restaurar el catálogo inicial? Se reemplazarán tus accesos directos personalizados y favoritos. Expórtalos antes de continuar.","app.catalogReset":"Catálogo inicial restaurado.","app.switchToLight":"Cambiar al modo claro","app.switchToDark":"Cambiar al modo oscuro","app.fullscreenReload":"Recarga la página para activar la pantalla completa.","app.fullscreenUnavailable":"La pantalla completa no está disponible en este navegador.","app.exitFullscreen":"Salir de pantalla completa","app.enterFullscreen":"Entrar en pantalla completa","app.syncedFromTab":"Se han cargado tus cambios de otra pestaña.","app.unreadableTabState":"La copia recibida de otra pestaña no se puede leer. Se conserva la sesión actual.","app.legacyRecovered":"Se han recuperado tus accesos directos anteriores.","app.catalogUpdated":"Se han actualizado {count} direcciones del catálogo.","app.invalidConfig":"Esta configuración no es válida o es incompatible. Revisa el archivo o código e inténtalo de nuevo.","app.invalidShortcutURL":"Usa una dirección completa que empiece por https:// o http://, sin espacios ni credenciales.","app.invalidImportCode":"Usa un código Telegra.ph, una dirección telegra.ph o un enlace compartido EvPortal válido.","app.connectionFailed":"No se pudo conectar. Revisa la red e inténtalo de nuevo.","app.icon.all":"Cuadrícula","app.icon.favorites":"Estrella","app.icon.cinema":"Vídeo","app.icon.music":"Música","app.icon.tv":"Televisión","app.icon.charging":"Carga","app.icon.games":"Juegos","app.icon.navigation":"Rutas","app.icon.social":"Mensajes","app.icon.news":"Noticias","app.icon.weather":"Tiempo","app.icon.productivity":"Herramientas","app.icon.folder":"Carpeta","app.otherCategories":"Otras categorías","backup.links":"Código o enlace","backup.phone":"Teléfono","backup.library":"Mis copias","backup.create":"Crear","backup.add":"Añadir","backup.send":"Enviar","backup.receive":"Recibir","backup.restore":"Restaurar","backup.createTitle":"Crear un código o enlace","backup.addTitle":"Añadir una copia","backup.restoreTitle":"Restaurar una copia","backup.chooseTitle":"Elegir una copia","backup.code":"Código","backup.link":"Enlace EvPortal","backup.copyCode":"Copiar código","backup.addHint":"Se añade a tus copias sin cambiar tus accesos directos.","backup.added":"Copia añadida.","backup.restored":"Copia restaurada.","backup.local":"En este dispositivo","backup.online":"En línea","backup.empty":"No hay copias guardadas.","backup.receivedTitle":"Accesos directos recibidos","backup.fileTitle":"Copia importada","backup.deleteNamed":"Eliminar «{name}»","backup.deleted":"Copia eliminada.","backup.savedSummary":"Categorías: {categories} · Accesos directos: {count}","backup.load":"Comprobar","backup.restoreHint":"Reemplaza los accesos directos de este dispositivo.","backup.selected":"Copia seleccionada","backup.choose":"Elegir","backup.localCopy":"Copia guardada en este dispositivo.","backup.undoRestore":"Deshacer la última restauración","backup.storageUnavailable":"El almacenamiento de copias no está disponible o está lleno.","backup.invalidLibrary":"No se puede leer la biblioteca de copias. Los datos existentes se conservan.","backup.invalidBackup":"Esta copia no es válida.","backup.limit":"Puedes guardar hasta {max} copias en este dispositivo.","backup.tooLarge":"Esta copia supera {max} MB.","backup.missing":"Esta copia ya no está disponible.","backup.retry":"Reintentar","category.all":"Todos","category.favorites":"Favoritos","category.cinema":"Vídeo","category.music":"Música","category.tv":"TV","category.charging":"Carga","category.games":"Juegos","category.navigation":"Rutas","category.social":"Social","category.news":"Noticias","category.weather":"Tiempo","category.productivity":"Herramientas","category.folder":"Carpeta","help.title":"Guía EvPortal — Navegador Tesla, accesos directos y copias","help.description":"Abre EvPortal en el navegador Tesla, organiza tus favoritos y transfiere copias mediante código, enlace o QR. Aprende a empezar y restaurar tus accesos directos.","help.language":"Idioma","help.back":"Volver a los accesos directos","help.heading":"Guía de EvPortal para el navegador Tesla","help.intro":"Toca un acceso directo para abrir el servicio en una pestaña nueva. El botón de tema de la parte superior permite elegir el modo claro u oscuro. Los ocho idiomas están disponibles en Ajustes con sus nombres y banderas; el árabe se muestra de derecha a izquierda.","help.organizeHeading":"Organizar los accesos directos","help.ranking":"Todos muestra primero los accesos directos que más abres. En caso de empate, se conserva tu orden manual. La clasificación se guarda al recargar.","help.dragging":"En una categoría o en Favoritos, toca Editar y mueve los accesos directos con sus asas. La estrella añade un favorito y el lápiz permite editar. Toca Listo al terminar. Todos mantiene su clasificación automática.","help.keyboard":"Con el teclado, selecciona un asa, pulsa Espacio, desplázate con las flechas y confirma con Intro. Escape cancela.","help.addHeading":"Añadir un acceso directo o una categoría","help.adding":"El botón + abre el catálogo y permite crear un acceso directo o una categoría. Ya añadido indica un servicio que ya está en tu panel. La lupa busca en todos tus accesos directos.","help.categories":"Crea hasta cinco categorías personales con nombres de un máximo de 16 caracteres y el icono que prefieras. Usa el lápiz para editarlas. Las categorías antiguas que superen estos límites se conservan. Las categorías visibles se distribuyen sin desplazamiento horizontal.","help.transferHeading":"Teléfono: enviar o recibir","help.stepPrepare":"En Ajustes → Teléfono, elige Enviar o Recibir.","help.stepPublish":"Escanea el QR mostrado con tu teléfono.","help.stepCode":"Para enviar desde el teléfono, elige sus accesos directos o una copia y toca Enviar.","help.stepImport":"En la pantalla que recibe, toca Añadir para guardar la copia en ese dispositivo.","help.stepApply":"Para usar su contenido, abre Mis copias → Restaurar.","help.qr":"El QR sirve para transferencias con el teléfono. Crear un código o enlace no muestra un QR.","help.snapshot":"La transferencia está cifrada y es válida durante cinco minutos cuando el servicio está disponible. Envía una copia del momento, sin sincronización automática. Recibir una copia no reemplaza tus accesos directos.","help.public":"En Ajustes → Código o enlace, Crear prepara un código y un enlace EvPortal para copiar. Añadir acepta cualquiera y guarda una copia local tras validarla. Los archivos JSON siguen disponibles en Más opciones. La página Telegra.ph creada es pública; la copia local y la página en línea son independientes.","help.fullscreenHeading":"Pantalla completa en Tesla","help.fullscreen":"Con el vehículo estacionado, toca Pantalla completa. En YouTube, elige Ir al sitio o Go to site para volver a EvPortal en modo Teatro. Los accesos directos solicitan una pestaña nueva, cuyo comportamiento depende del navegador del vehículo.","help.fullscreenFallback":"Si no se reconoce el Tesla, elige Abrir el modo Teatro Tesla en los ajustes. En un ordenador, el botón utiliza la pantalla completa normal. La redirección puede cambiar con las actualizaciones del vehículo o de YouTube.","help.compatibility":"Abrir un sitio no garantiza la reproducción de vídeo: el país, la cuenta, la suscripción y el navegador pueden limitarla. Utiliza el entretenimiento con el vehículo estacionado.","help.teslaManual":"Manual de Tesla","help.myTesla":"Método descrito por myTesla","help.storageHeading":"Restaurar una copia","help.storage":"En Ajustes → Mis copias → Restaurar, elige una copia en En este dispositivo o En línea y comprueba su contenido. Solo Restaurar reemplaza tus accesos directos. Más opciones en Ajustes permite deshacer la última restauración. Añadir un código, enlace, archivo o transferencia QR guarda una copia sin aplicarla. Cada navegador mantiene su propia lista local.","help.previewHeading":"Probar una vista previa local","help.preview":"El QR usa la dirección del portal abierto. En un teléfono, localhost o 127.0.0.1 se refiere al propio teléfono. Para probar entre dispositivos, ambos deben acceder al portal y al servicio de transferencia mediante HTTPS. Los códigos y enlaces de copias usan la dirección pública de EvPortal.","help.privacyHeading":"Acerca de EvPortal y privacidad","help.privacy":"EvPortal es gratuito y no está afiliado a Tesla. Los logotipos y las traducciones están incluidos en el sitio. Los contadores de aperturas permanecen en tu configuración, sin servicios de analítica. Telegra.ph se contacta cuando lo solicitas; el token de la cuenta no se incluye en la publicación. Los sitios que abres aplican sus propias políticas.","help.source":"Código fuente","help.report":"Informar de un problema","help.license":"EvPortal · Licencia MIT","help.backupHeading":"Código o enlace","help.preferencesHeading":"Elegir el catálogo y la pantalla de inicio","help.preferences":"En Ajustes → Catálogo e inicio, elige tu país, las categorías visibles y si quieres abrir tus favoritos al inicio. El país adapta las sugerencias en Añadir; no elimina tus accesos directos. Ver todos los países amplía el catálogo. Los accesos de una categoría oculta siguen en Todos y Favoritos. Estas opciones se quedan en este dispositivo y no se incluyen en copias ni transferencias QR. El país inicial se sugiere según la región del navegador, sin pedir tu ubicación.","help.sharedServices":"Un servicio puede aparecer en varias categorías con un único favorito y contador; Todos lo muestra una sola vez. En Editar, abre Otras categorías para elegir dónde aparece. Al eliminar una categoría se conservan los servicios presentes en otra categoría.","pair.receiveButton":"Recibir desde mi teléfono","pair.receiveTitle":"Recibir desde mi teléfono","pair.scanHint":"Escanea este código QR con tu teléfono.","pair.qrAccessible":"Código QR para transferir a esta pantalla","pair.apply":"Añadir","pair.newQR":"Nuevo código QR","pair.sendTitle":"Enviar al Tesla","pair.send":"Enviar mis accesos directos","pair.chooseBackup":"Elegir una copia","pair.sendHint":"Los accesos directos de este teléfono se propondrán en la otra pantalla.","pair.privateHint":"Transferencia cifrada, válida durante 5 minutos.","pair.preparing":"Preparando el código QR…","pair.waiting":"Esperando al teléfono · {time}","pair.retrying":"Reconectando… · {time}","pair.summary":"{categories} categorías · {count} accesos directos","pair.ready":"Copia recibida. Añádela a tus copias.","pair.sending":"Enviando…","pair.sent":"Enviado. Añade la copia en la otra pantalla.","pair.applied":"Copia añadida.","pair.expired":"Este código QR ha caducado. Crea uno nuevo en la otra pantalla.","pair.receiverExpired":"Este código QR ha caducado. Crea uno nuevo.","pair.notConfigured":"La transferencia directa aún no está disponible. Usa una copia de Telegra.ph.","pair.unsupported":"Este navegador no permite transferencias cifradas. Usa una copia de Telegra.ph.","pair.invalidLink":"Este código QR de transferencia no es válido. Escanea uno nuevo.","pair.invalidResponse":"El servicio de transferencia devolvió una respuesta no válida. Prueba con un código QR nuevo.","pair.networkError":"No se puede conectar. Revisa la red e inténtalo de nuevo.","pair.timeout":"La conexión ha caducado. Inténtalo de nuevo.","pair.unauthorized":"Esta transferencia ya no está autorizada. Escanea un código QR nuevo.","pair.alreadySent":"Este código QR ya ha recibido accesos directos. Crea uno nuevo para empezar de nuevo.","pair.tooLarge":"Esta configuración es demasiado grande para la transferencia directa. Expórtala a un archivo JSON.","pair.invalidConfig":"La configuración recibida no es válida. Tus accesos directos actuales se conservan.","pair.decryptFailed":"No se puede leer esta transferencia. Crea un código QR nuevo.","pair.applyFailed":"No se ha podido añadir esta copia. Inténtalo de nuevo.","pair.serviceUnavailable":"El servicio de transferencia no está disponible temporalmente. Inténtalo de nuevo en un momento.","pair.stepScan":"Escanear","pair.stepSend":"Enviar","pair.stepApply":"Añadir","pair.storageUnavailable":"No se puede guardar en esta pantalla. Tus accesos directos actuales se conservan.","pair.undone":"Se han restaurado tus accesos directos anteriores.","pair.deliveryUnknown":"Comprueba la otra pantalla: puede que tus accesos directos ya se hayan recibido. Si no, crea un nuevo código QR.","pair.offerButton":"Enviar a mi teléfono","pair.offerTitle":"Mis accesos directos en el teléfono","pair.offerScanHint":"Escanea este código QR con el teléfono.","pair.offerPreparing":"Preparando el envío…","pair.offerWaiting":"Lista para recoger en el teléfono · {time}","pair.offerExpired":"Este código QR ha caducado. Crea uno nuevo.","pair.offerReady":"Copia lista para recoger.","pair.downloadTitle":"Recibir una copia","pair.downloading":"Recuperando la copia…","pair.added":"Copia añadida a tus copias.","pair.addFailed":"No se ha podido añadir esta copia. Inténtalo de nuevo.","pair.downloadExpired":"Esta transferencia ha caducado o ya se ha recogido. Crea un nuevo código QR en la otra pantalla.","pair.offerQRAccessible":"Código QR para recibir esta copia en el teléfono","prefs.title":"Catálogo e inicio","prefs.country":"País del catálogo","prefs.marketHint":"El país adapta la selección propuesta en Añadir.","prefs.homeFavorites":"Abrir en mis favoritos","prefs.visibleCategories":"Categorías visibles","prefs.categoriesHint":"Los accesos directos siguen disponibles en Todos y Favoritos.","prefs.allMarkets":"Todos los países","prefs.showAllMarkets":"Ver todos los países","prefs.saveFailed":"Las preferencias solo se guardan durante esta sesión.","prefs.invalid":"Estas preferencias no son válidas.","prefs.country.FR":"Francia","prefs.country.CA":"Canadá","prefs.country.US":"Estados Unidos","prefs.country.BE":"Bélgica","prefs.country.GB":"Reino Unido","prefs.country.DE":"Alemania","prefs.country.ES":"España","prefs.country.IT":"Italia","prefs.country.PT":"Portugal","prefs.country.AU":"Australia","prefs.country.NZ":"Nueva Zelanda","prefs.country.CH":"Suiza","prefs.country.ALL":"Todos los países","prefs.country.MX":"México","seo.introHeading":"Un portal de accesos directos para tu Tesla","seo.intro":"EvPortal es un portal gratuito e independiente que reúne tus sitios favoritos en una página pensada para el navegador Tesla. También puedes usarlo en el navegador del teléfono o del ordenador. Los iconos grandes abren los servicios elegidos sin llenar la pantalla de inicio de textos o widgets. Puedes personalizar tus accesos directos, sus categorías y su orden, y elegir un tema claro u oscuro.","seo.startHeading":"Empezar en el navegador del vehículo","seo.start":"Con el vehículo estacionado, abre la dirección de EvPortal en su navegador. Guárdala en los favoritos del navegador si esa opción está disponible para encontrarla fácilmente. No necesitas instalar una aplicación ni iniciar sesión en una cuenta Tesla para abrir el portal. En Ajustes, elige por separado el idioma y el país del catálogo. Tus preferencias permanecen en este dispositivo; una copia permite conservar o transferir tus accesos directos.","seo.chargingHeading":"Encontrar tus servicios durante una recarga","seo.charging":"Añade enlaces a tus planificadores de rutas o recarga, emisoras de radio, música y servicios meteorológicos. El catálogo propone servicios según el país seleccionado; también puedes introducir una dirección propia. Cada acceso directo abre el sitio del proveedor, con sus propias condiciones de acceso. EvPortal no controla la carga ni envía órdenes al vehículo. Consulta los contenidos de entretenimiento con el vehículo estacionado.","seo.faqHeading":"Preguntas frecuentes","seo.faqFreeQuestion":"¿EvPortal es gratuito?","seo.faqFreeAnswer":"Sí. El portal es gratuito y no está afiliado a Tesla. Algunos sitios enlazados pueden exigir una cuenta o suscripción; esas condiciones dependen del servicio.","seo.faqPhoneQuestion":"¿Cómo preparo mis accesos directos en el teléfono?","seo.faqPhoneAnswer":"Abre EvPortal en el teléfono y organiza tus accesos directos. En Ajustes, Teléfono permite transferir por QR en ambos sentidos. En la pantalla receptora, Añadir guarda una copia. Para utilizar su contenido, elige después Mis copias y Restaurar. Recibir una copia no sustituye por sí solo tus accesos directos.","seo.faqOfflineQuestion":"¿EvPortal funciona sin conexión?","seo.faqOfflineAnswer":"El navegador guarda tu configuración localmente, pero EvPortal no ofrece un modo sin conexión. Necesitas conexión para cargar el portal, abrir servicios y transferir copias. Un archivo JSON permite conservar una copia independiente para restaurarla más adelante.","seo.languages":"Idiomas disponibles","seo.operatingSystem":"Web","seo.browserRequirements":"Navegador con JavaScript y almacenamiento local; HTTPS y funciones criptográficas para transferencias QR.","seo.featureFavorites":"Accesos directos y favoritos personalizables","seo.featureDrag":"Ordenación táctil mediante arrastrar y soltar","seo.featureQR":"Transferencia de copias por QR con un teléfono","seo.featureBackup":"Copias mediante código, enlace o archivo JSON","share.tooLarge":"La configuración supera el límite de 64 KB de Telegra.ph. Reduce los enlaces o usa un archivo.","share.noConnection":"La conexión no está disponible en este navegador.","share.publishTimeout":"Se agotó el tiempo. Revisa Mis copias antes de volver a intentarlo.","share.timeout":"Telegra.ph no responde. Inténtalo más tarde.","share.networkError":"No se pudo conectar a Telegra.ph. Revisa tu conexión.","share.unavailable":"Telegra.ph no está disponible. Inténtalo más tarde.","share.badResponse":"La respuesta de Telegra.ph no se puede leer. Inténtalo más tarde.","share.rateLimited":"Demasiadas solicitudes. Espera antes de reintentar.","share.invalidAccount":"La cuenta Telegra.ph no está disponible. Tu cuenta anterior se conserva.","share.refused":"Telegra.ph rechazó esta solicitud. Inténtalo más tarde.","share.accountNotCreated":"No se creó la cuenta Telegra.ph. Inténtalo más tarde.","share.invalidTitle":"Nombre de enlace compartido no válido (máximo 256 caracteres).","share.sessionOnly":"La cuenta solo se conserva durante esta sesión. Guarda el enlace compartido.","share.invalidPage":"Posición de página no válida.","share.badHistory":"No se puede leer la lista de Telegra.ph.","share.localPreview":"Vista previa local: usa la dirección de red de esta vista previa en el teléfono.","share.localPreviewOld":"Vista previa local: para probarla en el teléfono, usa una dirección de red accesible de esta vista previa. La dirección pública muestra la versión publicada, que puede diferir de esta vista previa.","share.qrLabel":"Escanea con un teléfono para abrir estos accesos directos EvPortal","share.qrAddressUnavailable":"Código QR no disponible para esta dirección. Copia el enlace.","share.qrUnavailable":"Código QR no disponible. Copia el enlace.","share.publishing":"Guardando…","share.publish":"Crear mi copia","share.created":"Copia creada.","share.copyUnavailable":"No se puede copiar. Selecciona el texto para copiarlo manualmente.","share.linkCopied":"Enlace copiado.","share.codeCopied":"Código copiado.","share.import":"Importar","share.importNamed":"Importar {name}","share.more":"Ver más","share.empty":"No hay copias.","share.secureRandomUnavailable":"No se puede generar un enlace aleatorio para compartir en este navegador. Utiliza un navegador reciente.","share.unsafePath":"Telegra.ph no ha conservado el identificador aleatorio. No se ha publicado ninguna configuración.","share.deleteNamed":"Eliminar {name}","share.deleted":"Copia eliminada.","share.noAccount":"No hay ninguna cuenta de copias disponible en este navegador.","state.fullURL":"Usa una dirección completa que empiece por https:// o http://, sin espacios.","state.invalidURL":"Esta dirección no es válida.","state.safeURL":"Los enlaces deben usar HTTP o HTTPS, sin datos de acceso en la dirección.","state.invalidID":"Identificador de categoría o acceso directo no válido.","state.shortcutObject":"Cada acceso directo debe ser un objeto.","state.duplicateShortcut":"Dos accesos directos tienen el mismo identificador.","state.favoriteBoolean":"El valor de favorito debe ser booleano.","state.invalidColor":"Color de acceso directo no válido.","state.invalidCount":"Contador de uso del acceso directo no válido.","state.invalidFormat":"Formato EvPortal no reconocido o versión de copia incompatible.","state.tooManyCategories":"La copia supera las 50 categorías.","state.invalidCategory":"Categoría no válida.","state.reservedCategory":"Identificador de categoría reservado o duplicado.","state.invalidIcon":"Icono de categoría no válido.","state.tooManyShortcuts":"La copia supera los 5000 accesos directos.","state.invalidTheme":"Tema de la copia no válido.","state.missingCategory":"No se encuentra la categoría activa de la copia.","state.invalidOrder":"Orden de accesos directos no válido.","state.backupObject":"La copia debe ser un objeto JSON.","state.invalidLegacyList":"La lista de categorías antiguas no es válida.","state.duplicateCategories":"La lista contiene categorías duplicadas.","state.foreignData":"La copia contiene datos ajenos a las categorías EvPortal.","state.invalidLegacyShortcut":"Acceso directo antiguo no válido.","state.invalidShortcutOrder":"Posición del acceso directo no válida.","state.largeFile":"El archivo supera el límite de 2 MB.","state.invalidJSON":"El archivo no contiene JSON válido.","state.storageUnavailable":"Almacenamiento no disponible","state.invalidLegacyCategories":"Categorías antiguas no válidas","state.reservedLegacyCategory":"Categoría antigua reservada","state.invalidMove":"Movimiento de acceso directo no válido.","state.telegraphLink":"Usa un enlace telegra.ph o su identificador de página.","state.telegraphID":"Identificador de página Telegra.ph no válido.","state.portalLink":"Usa un enlace EvPortal que contenga un solo código compartido.","state.invalidField":"{field} no válido (máximo {max} caracteres).","state.invalidFieldShort":"{field} no válido.","state.urlLabel":"Dirección del sitio","state.shortcutName":"Nombre del acceso directo","state.shortcutDescription":"Descripción del acceso directo","state.shortcutTag":"Etiqueta del acceso directo","state.categoryName":"Nombre de la categoría","state.categoryDescription":"Descripción de la categoría","state.catalogVersion":"Versión del catálogo","state.telegraphIDLabel":"Identificador Telegra.ph","state.shareCodeLabel":"Enlace o código compartido","state.invalidCategoryShortcuts":"Los accesos directos de la categoría «{name}» no son válidos.","state.storageWarning":"La copia local no está disponible o no se puede leer. Tus datos anteriores se conservan. Los cambios de esta sesión son temporales: expórtalos como JSON.","static.title":"EvPortal — Accesos directos para el navegador Tesla","static.skip":"Ir a los accesos directos","static.tagline":" — accesos directos para Tesla","static.fullscreen":"Pantalla completa","static.share":"Compartir","static.edit":"Editar","static.add":"Añadir","static.searchLabel":"Buscar un acceso directo","static.dragInstructions":"Espacio para seleccionar, flechas para mover, Intro para soltar y Escape para cancelar.","static.reorder":"Arrastra los accesos directos para reordenarlos.","static.video":"Cine","static.javascript":"Activa JavaScript para personalizar tus accesos directos.","static.help":"Ayuda","static.settings":"Ajustes","static.language":"Idioma","static.createShortcut":"Crear un acceso directo","static.createCategory":"Crear una categoría","static.importTelegraph":"Importar una copia","static.theater":"Abrir el modo Teatro Tesla","static.moreOptions":"Más opciones","static.exportJSON":"Guardar un archivo JSON","static.reset":"Restablecer los accesos directos","static.about":"Ayuda e información","static.newCategory":"Nueva categoría","static.name":"Nombre","static.icon":"Icono","static.cancel":"Cancelar","static.create":"Crear","static.newShortcut":"Nuevo acceso directo","static.website":"Dirección del sitio","static.category":"Categoría","static.restore":"Importar una copia","static.shareInput":"Código o enlace","static.load":"Cargar mis accesos directos","static.importJSON":"Importar un archivo JSON","static.jsonFile":"Archivo JSON","static.close":"Cerrar","static.use":"Usar estos accesos directos","static.shareTitle":"Exportar una copia","static.backupName":"Nombre (opcional)","static.public":"Esta copia será pública.","static.portalAddress":"Dirección de EvPortal","static.otherAddress":"Dirección de EvPortal en la otra pantalla","static.publish":"Crear mi copia","static.scan":"Escanea con tu teléfono.","static.carCode":"Código para introducir en tu Tesla","static.copyCode":"Copiar código","static.importHint":"Tesla: Ajustes → Copias de seguridad → Importar una copia.","static.copyLink":"Copiar enlace","static.sharedLinks":"Mis copias","static.showBackups":"Actualizar","static.addShortcuts":"Añadir accesos directos","static.searchService":"Buscar un servicio","static.home":"EvPortal, inicio","static.search":"Buscar","static.enterFullscreen":"Activar pantalla completa","static.shareAccessible":"Exportar una copia","static.addAccessible":"Añadir un acceso directo o categoría","static.clearSearch":"Borrar búsqueda","static.categories":"Categorías","static.qrAccessible":"Código QR para recuperar tus accesos directos","static.searchPlaceholder":"Buscar…","static.tripsPlaceholder":"Mis viajes","static.servicePlaceholder":"Mi servicio","static.urlPlaceholder":"https://ejemplo.es","static.codePlaceholder":"Código o enlace EvPortal","static.defaultBackup":"Mis accesos directos EvPortal","static.description":"Personaliza tu portal Tesla con accesos a carga, música y tiempo, favoritos y copias de seguridad. Gratis, con transferencias QR desde el teléfono.","static.socialTitle":"EvPortal — Accesos directos para el navegador Tesla","static.socialDescription":"Personaliza tu portal Tesla con accesos a carga, música y tiempo, favoritos y copias de seguridad. Gratis, con transferencias QR desde el teléfono.","static.previewAlt":"EvPortal: accesos directos para carga, música, streaming y navegación.","static.twitterDescription":"Personaliza tu portal Tesla con accesos a carga, música y tiempo, favoritos y copias de seguridad. Gratis, con transferencias QR desde el teléfono.","static.twitterAlt":"Los accesos directos EvPortal en modo oscuro.","static.nameBackup":"Nombrar la copia","static.undoTransfer":"Deshacer la última transferencia","static.backups":"Copias de seguridad","static.exportBackup":"Exportar una copia","static.importBackup":"Importar una copia"},"de":{"app.startFailed":"Das Portal konnte nicht starten. Lade die Seite erneut.","app.storageUnavailable":"Der lokale Speicher ist nicht verfügbar oder voll. Exportiere deine Konfiguration, um die Änderungen zu behalten.","app.storageRecovery":"Die lokale Sicherung ist nicht verfügbar oder unlesbar. Deine bisherigen Daten bleiben erhalten. Exportiere diese Sitzung vor dem Schließen.","app.all":"Alle","app.favorites":"Favoriten","app.move":"{name} verschieben","app.previousMoveCancelled":"Vorheriges Verschieben abgebrochen.","app.moveSelected":"{name} ausgewählt. Mit Pfeiltasten verschieben, mit Eingabe ablegen, mit Escape abbrechen.","app.moveCancelled":"Verschieben abgebrochen.","app.movePosition":"{name}, Position {position} von {count}.","app.orderSaved":"Reihenfolge gespeichert.","app.editCategory":"Kategorie {name} bearbeiten","app.deleteCategory":"Kategorie {name} löschen","app.confirmDeleteCategory":"„{name}“ und die enthaltenen {count} Verknüpfungen löschen?","app.categoryDeleted":"Kategorie gelöscht.","app.openNewTab":"{name} — neuer Tab","app.removeFavorite":"{name} aus Favoriten entfernen","app.addFavorite":"{name} zu Favoriten hinzufügen","app.favoriteAdded":"{name} zu Favoriten hinzugefügt.","app.favoriteRemoved":"{name} aus Favoriten entfernt.","app.editShortcut":"{name} bearbeiten","app.deleteShortcut":"{name} löschen","app.confirmDeleteShortcut":"Verknüpfung „{name}“ löschen?","app.shortcutDeleted":"Verknüpfung gelöscht.","app.allShortcuts":"Alle Verknüpfungen","app.allDescription":"Alle deine Dienste und Verknüpfungen an einem Ort.","app.searchResults":"Suchergebnisse","app.searchDescription":"Suche nach „{query}“ in allen Kategorien.","app.myFavorites":"Meine Favoriten","app.favoritesDescription":"Deine wichtigsten Links, immer griffbereit.","app.categoryDescription":"Deine Verknüpfungen in dieser Kategorie.","app.shortcutCount":"{count} Verknüpfungen","app.shortcutCountOne":"{count} Verknüpfung","app.noShortcuts":"Keine Verknüpfungen gefunden","app.emptyFavorites":"Deine wichtigsten Links sammeln","app.emptyCategory":"Gestalte deine Seite","app.searchHint":"Versuche einen anderen Namen, eine Domain oder ein Stichwort.","app.favoriteHint":"Tippe auf den Stern einer Verknüpfung, um sie zu Favoriten hinzuzufügen.","app.emptyHint":"Füge Verknüpfungen aus dem Katalog hinzu oder erstelle eigene.","app.clearSearch":"Suche löschen","app.exploreCatalog":"Katalog durchsuchen","app.usageOrderHint":"Alle: häufig genutzte zuerst. Öffne zum Verschieben die Kategorie oder Favoriten.","app.dragHint":"Ziehe Verknüpfungen, um sie neu anzuordnen.","app.finishEditing":"Bearbeitung beenden","app.editShortcuts":"Verknüpfungen bearbeiten","app.finish":"Fertig","app.edit":"Bearbeiten","app.categoryRequired":"Erstelle zuerst eine Kategorie für deine Verknüpfung.","app.editShortcutTitle":"Verknüpfung bearbeiten","app.addShortcutTitle":"Verknüpfung hinzufügen","app.save":"Speichern","app.addShortcutSubmit":"Verknüpfung hinzufügen","app.editCategoryTitle":"Kategorie bearbeiten","app.newCategory":"Neue Kategorie","app.create":"Erstellen","app.categoryLimitHint":"Limit erreicht: {max} eigene Kategorien. Bearbeite oder lösche eine vorhandene Kategorie.","app.categoryCountHint":"{count}/{max} eigene Kategorien · Maximal {length} Zeichen.","app.categoryGone":"Diese Kategorie wurde in einem anderen Tab gelöscht. Schließe das Formular und versuche es erneut.","app.categoryNameInvalid":"Gib einen Namen mit 1 bis {max} Zeichen ein.","app.categoryLimit":"Das Limit von {max} eigenen Kategorien ist erreicht.","app.categoryDuplicate":"Eine Kategorie mit diesem Namen existiert bereits.","app.iconRequired":"Wähle eines der verfügbaren Symbole.","app.categoryDescriptionInvalid":"Die Beschreibung darf höchstens 240 Zeichen lang sein.","app.categoryChanged":"Kategorie geändert.","app.categoryCreated":"Kategorie erstellt.","app.selectCategory":"Wähle eine vorhandene Kategorie.","app.shortcutGone":"Diese Verknüpfung wurde in einem anderen Tab gelöscht. Schließe das Formular und versuche es erneut.","app.shortcutLimit":"Das Limit von 5.000 Verknüpfungen ist erreicht.","app.shortcutFieldsInvalid":"Prüfe den Namen (maximal 100 Zeichen) und die Beschreibung (maximal 300).","app.shortcutDuplicate":"Dieser Link ist bereits vorhanden. Bearbeite seine Kategorien, um ihn auch an anderer Stelle anzuzeigen.","app.shortcutChanged":"Verknüpfung geändert.","app.shortcutAdded":"Verknüpfung hinzugefügt.","app.alreadyPresentNamed":"Bereits vorhanden: {name}","app.addNamed":"{name} hinzufügen","app.alreadyPresent":"Bereits vorhanden","app.add":"Hinzufügen","app.totalCategoryLimit":"Das Limit von 50 Kategorien ist erreicht.","app.addedToCategory":"{name} zu {category} hinzugefügt.","app.noServices":"Keine Dienste entsprechen dieser Suche.","app.catalogComplete":"Dein Katalog ist vollständig. Erstelle eine eigene Verknüpfung.","app.catalogHint":"Füge einen entfernten Dienst hinzu oder erstelle eine eigene Verknüpfung.","app.sharedConfig":"Fügt die Sicherung hinzu, ohne deine Verknüpfungen zu ändern.","app.importPreview":"Kategorien: {categories} · Verknüpfungen: {count}","app.fileTooLarge":"Die Datei überschreitet das Limit von 2 MB.","app.loadingConfig":"Konfiguration wird geladen…","app.telegraphNotReturned":"Telegra.ph hat diese Seite nicht zurückgegeben. Prüfe den Code.","app.pageTooLarge":"Diese Seite ist zu groß zum Importieren.","app.telegraphUnreadable":"Diese Telegra.ph-Seite wurde nicht gefunden oder ist unlesbar.","app.noConfigInPage":"Die Seite enthält keine EvPortal-Konfiguration.","app.connectionTimeout":"Zeitüberschreitung der Verbindung. Versuche es gleich erneut.","app.imported":"Konfiguration importiert.","app.exportReady":"JSON-Export vorbereitet. Bewahre die Datei auf, um deine Verknüpfungen auf einem anderen Gerät wiederherzustellen.","app.exportFailed":"Die Sicherungsdatei konnte nicht erstellt werden.","app.confirmReset":"Ursprünglichen Katalog wiederherstellen? Eigene Verknüpfungen und Favoriten werden ersetzt. Exportiere sie vor dem Fortfahren.","app.catalogReset":"Ursprünglicher Katalog wiederhergestellt.","app.switchToLight":"Zum hellen Modus wechseln","app.switchToDark":"Zum dunklen Modus wechseln","app.fullscreenReload":"Lade die Seite neu, um den Vollbildmodus zu aktivieren.","app.fullscreenUnavailable":"Der Vollbildmodus ist in diesem Browser nicht verfügbar.","app.exitFullscreen":"Vollbildmodus verlassen","app.enterFullscreen":"Vollbildmodus starten","app.syncedFromTab":"Deine Änderungen aus einem anderen Tab wurden geladen.","app.unreadableTabState":"Die Sicherung aus einem anderen Tab ist unlesbar. Die aktuelle Sitzung bleibt erhalten.","app.legacyRecovered":"Deine bisherigen Verknüpfungen wurden wiederhergestellt.","app.catalogUpdated":"{count} Katalogadressen wurden aktualisiert.","app.invalidConfig":"Diese Konfiguration ist ungültig oder inkompatibel. Prüfe die Datei oder den Code und versuche es erneut.","app.invalidShortcutURL":"Verwende eine vollständige Adresse mit https:// oder http://, ohne Leerzeichen oder Zugangsdaten.","app.invalidImportCode":"Verwende einen Telegra.ph-Code, eine telegra.ph-Adresse oder einen gültigen EvPortal-Freigabelink.","app.connectionFailed":"Verbindung nicht möglich. Prüfe das Netzwerk und versuche es erneut.","app.icon.all":"Raster","app.icon.favorites":"Stern","app.icon.cinema":"Video","app.icon.music":"Musik","app.icon.tv":"Fernsehen","app.icon.charging":"Laden","app.icon.games":"Spiele","app.icon.navigation":"Routen","app.icon.social":"Nachrichten","app.icon.news":"Aktuelles","app.icon.weather":"Wetter","app.icon.productivity":"Werkzeuge","app.icon.folder":"Ordner","app.otherCategories":"Weitere Kategorien","backup.links":"Code oder Link","backup.phone":"Smartphone","backup.library":"Meine Sicherungen","backup.create":"Erstellen","backup.add":"Hinzufügen","backup.send":"Senden","backup.receive":"Empfangen","backup.restore":"Wiederherstellen","backup.createTitle":"Code oder Link erstellen","backup.addTitle":"Sicherung hinzufügen","backup.restoreTitle":"Sicherung wiederherstellen","backup.chooseTitle":"Sicherung auswählen","backup.code":"Code","backup.link":"EvPortal-Link","backup.copyCode":"Code kopieren","backup.addHint":"Fügt die Sicherung hinzu, ohne deine Verknüpfungen zu ändern.","backup.added":"Sicherung hinzugefügt.","backup.restored":"Sicherung wiederhergestellt.","backup.local":"Auf diesem Gerät","backup.online":"Online","backup.empty":"Keine gespeicherten Sicherungen.","backup.receivedTitle":"Empfangene Verknüpfungen","backup.fileTitle":"Importierte Sicherung","backup.deleteNamed":"„{name}“ löschen","backup.deleted":"Sicherung gelöscht.","backup.savedSummary":"Kategorien: {categories} · Verknüpfungen: {count}","backup.load":"Prüfen","backup.restoreHint":"Ersetzt die Verknüpfungen auf diesem Gerät.","backup.selected":"Ausgewählte Sicherung","backup.choose":"Auswählen","backup.localCopy":"Kopie auf diesem Gerät gespeichert.","backup.undoRestore":"Letzte Wiederherstellung rückgängig machen","backup.storageUnavailable":"Der Speicher für Sicherungen ist nicht verfügbar oder voll.","backup.invalidLibrary":"Die Sicherungsbibliothek ist nicht lesbar. Vorhandene Daten bleiben erhalten.","backup.invalidBackup":"Diese Sicherung ist ungültig.","backup.limit":"Du kannst bis zu {max} Sicherungen auf diesem Gerät speichern.","backup.tooLarge":"Diese Sicherung überschreitet {max} MB.","backup.missing":"Diese Sicherung ist nicht mehr verfügbar.","backup.retry":"Erneut versuchen","category.all":"Alle","category.favorites":"Favoriten","category.cinema":"Video","category.music":"Musik","category.tv":"TV","category.charging":"Laden","category.games":"Spiele","category.navigation":"Routen","category.social":"Soziales","category.news":"Nachrichten","category.weather":"Wetter","category.productivity":"Werkzeuge","category.folder":"Ordner","help.title":"EvPortal-Anleitung — Tesla-Browser, Favoriten und Sicherungen","help.description":"Öffne EvPortal im Tesla-Browser, ordne deine Favoriten und übertrage Sicherungen per Code, Link oder QR. Anleitung für den Einstieg und die Wiederherstellung.","help.language":"Sprache","help.back":"Zurück zu den Verknüpfungen","help.heading":"EvPortal-Anleitung für den Tesla-Browser","help.intro":"Tippe auf eine Verknüpfung, um den Dienst in einem neuen Tab zu öffnen. Die Design-Schaltfläche oben wechselt zwischen Hell und Dunkel. Die acht Sprachen stehen in den Einstellungen mit Namen und Flaggen zur Auswahl; Arabisch wird von rechts nach links angezeigt.","help.organizeHeading":"Verknüpfungen ordnen","help.ranking":"Alle zeigt die am häufigsten geöffneten Verknüpfungen zuerst. Bei gleicher Anzahl gilt deine manuelle Reihenfolge. Die Sortierung bleibt nach dem Neuladen gespeichert.","help.dragging":"Tippe in einer Kategorie oder unter Favoriten auf Bearbeiten und verschiebe die Verknüpfungen an ihren Griffen. Der Stern fügt einen Favoriten hinzu, der Stift öffnet die Bearbeitung. Tippe anschließend auf Fertig. Alle behält seine automatische Sortierung.","help.keyboard":"Wähle mit der Tastatur einen Griff, drücke die Leertaste, verschiebe mit den Pfeiltasten und bestätige mit der Eingabetaste. Escape bricht ab.","help.addHeading":"Verknüpfung oder Kategorie hinzufügen","help.adding":"Die Schaltfläche + öffnet den Katalog und bietet das Erstellen einer Verknüpfung oder Kategorie an. Bereits vorhanden kennzeichnet einen schon hinzugefügten Dienst. Die Suche durchsucht alle Verknüpfungen.","help.categories":"Erstelle bis zu fünf eigene Kategorien mit Namen bis 16 Zeichen und einem Symbol deiner Wahl. Mit dem Stift kannst du sie bearbeiten. Ältere Kategorien außerhalb dieser Grenzen bleiben erhalten. Die sichtbaren Kategorien verteilen sich ohne horizontales Scrollen.","help.transferHeading":"Smartphone: senden oder empfangen","help.stepPrepare":"Wähle unter Einstellungen → Smartphone Senden oder Empfangen.","help.stepPublish":"Scanne den angezeigten QR-Code mit deinem Smartphone.","help.stepCode":"Wähle zum Senden auf dem Smartphone dessen Verknüpfungen oder eine Sicherung aus und tippe auf Senden.","help.stepImport":"Tippe auf dem empfangenden Bildschirm auf Hinzufügen, um die Sicherung auf diesem Gerät zu speichern.","help.stepApply":"Öffne zum Verwenden Meine Sicherungen → Wiederherstellen.","help.qr":"QR-Codes dienen zur Übertragung mit dem Smartphone. Beim Erstellen eines Codes oder Links wird kein QR-Code angezeigt.","help.snapshot":"Die Übertragung ist verschlüsselt und bei verfügbarem Dienst fünf Minuten gültig. Sie überträgt einen Stand ohne automatische Synchronisierung. Der Empfang einer Sicherung ersetzt keine Verknüpfungen.","help.public":"Unter Einstellungen → Code oder Link erstellt Erstellen einen Code und einen EvPortal-Link zum Kopieren. Hinzufügen nimmt beide an und speichert nach der Prüfung eine lokale Kopie. JSON-Dateien bleiben unter Weitere Optionen verfügbar. Die erstellte Telegra.ph-Seite ist öffentlich; lokale Kopie und Online-Seite sind voneinander getrennt.","help.fullscreenHeading":"Tesla-Vollbild","help.fullscreen":"Tippe im geparkten Fahrzeug auf Vollbild. Wähle auf YouTube Zur Website oder Go to site, um im Kinomodus zu EvPortal zurückzukehren. Verknüpfungen fordern einen neuen Tab an; dessen Verhalten hängt vom Fahrzeugbrowser ab.","help.fullscreenFallback":"Wird der Tesla nicht erkannt, wähle in den Einstellungen Tesla-Kinomodus öffnen. Am Computer verwendet die Schaltfläche das normale Vollbild. Die Weiterleitung kann sich durch Fahrzeug- oder YouTube-Updates ändern.","help.compatibility":"Das Öffnen einer Website garantiert keine Videowiedergabe: Land, Konto, Abonnement und Browser können sie einschränken. Nutze Unterhaltung im geparkten Fahrzeug.","help.teslaManual":"Tesla-Bedienungsanleitung","help.myTesla":"Von myTesla beschriebene Methode","help.storageHeading":"Sicherung wiederherstellen","help.storage":"Wähle unter Einstellungen → Meine Sicherungen → Wiederherstellen eine Sicherung unter Auf diesem Gerät oder Online und prüfe ihren Inhalt. Nur Wiederherstellen ersetzt deine Verknüpfungen. Unter Weitere Optionen in den Einstellungen kannst du die letzte Wiederherstellung rückgängig machen. Das Hinzufügen eines Codes, Links, einer Datei oder QR-Übertragung speichert eine Sicherung, ohne sie anzuwenden. Jeder Browser führt seine eigene lokale Liste.","help.previewHeading":"Eine lokale Vorschau testen","help.preview":"Der QR-Code nutzt die Adresse des geöffneten Portals. Auf einem Smartphone bezeichnet localhost oder 127.0.0.1 das Smartphone selbst. Für Tests zwischen Geräten müssen beide das Portal und den Übertragungsdienst über HTTPS erreichen können. Sicherungscodes und -links nutzen die öffentliche EvPortal-Adresse.","help.privacyHeading":"Über EvPortal und Datenschutz","help.privacy":"EvPortal ist kostenlos und nicht mit Tesla verbunden. Logos und Übersetzungen sind im Projekt enthalten. Öffnungszähler bleiben in deiner Konfiguration, ohne Analysedienst. Telegra.ph wird nur auf deine Anforderung kontaktiert; das Kontotoken bleibt von der Freigabe getrennt. Geöffnete Websites wenden ihre eigenen Richtlinien an.","help.source":"Quellcode","help.report":"Problem melden","help.license":"EvPortal · MIT-Lizenz","help.backupHeading":"Code oder Link","help.preferencesHeading":"Katalog und Startseite auswählen","help.preferences":"Wähle unter Einstellungen → Katalog und Startseite dein Land, die sichtbaren Kategorien und den Start mit deinen Favoriten. Das Land passt die Vorschläge unter Hinzufügen an; deine Verknüpfungen werden nicht entfernt. Alle Länder anzeigen erweitert den Katalog. Verknüpfungen ausgeblendeter Kategorien bleiben unter Alle und Favoriten verfügbar. Diese Auswahl bleibt auf diesem Gerät und wird weder gesichert noch per QR übertragen. Der erste Ländervorschlag nutzt die Browserregion, ohne deinen Standort abzufragen.","help.sharedServices":"Ein Dienst kann in mehreren Kategorien erscheinen und behält dabei einen gemeinsamen Favoritenstatus und Zähler; unter Alle erscheint er nur einmal. Öffne beim Bearbeiten Weitere Kategorien, um die Zuordnung zu wählen. Beim Löschen einer Kategorie bleiben Dienste erhalten, die auch einer anderen Kategorie angehören.","pair.receiveButton":"Vom Smartphone empfangen","pair.receiveTitle":"Vom Smartphone empfangen","pair.scanHint":"Scanne diesen QR-Code mit deinem Smartphone.","pair.qrAccessible":"QR-Code zur Übertragung auf diesen Bildschirm","pair.apply":"Hinzufügen","pair.newQR":"Neuer QR-Code","pair.sendTitle":"An den Tesla senden","pair.send":"Meine Verknüpfungen senden","pair.chooseBackup":"Sicherung auswählen","pair.sendHint":"Die Verknüpfungen dieses Smartphones werden auf dem anderen Bildschirm zur Übernahme angeboten.","pair.privateHint":"Verschlüsselte Übertragung, 5 Minuten gültig.","pair.preparing":"QR-Code wird vorbereitet…","pair.waiting":"Warten auf das Smartphone · {time}","pair.retrying":"Verbindung wird wiederhergestellt… · {time}","pair.summary":"{categories} Kategorien · {count} Verknüpfungen","pair.ready":"Sicherung empfangen. Füge sie deinen Sicherungen hinzu.","pair.sending":"Wird gesendet…","pair.sent":"Gesendet. Füge die Sicherung auf dem anderen Bildschirm hinzu.","pair.applied":"Sicherung hinzugefügt.","pair.expired":"Dieser QR-Code ist abgelaufen. Erstelle auf dem anderen Bildschirm einen neuen.","pair.receiverExpired":"Dieser QR-Code ist abgelaufen. Erstelle einen neuen.","pair.notConfigured":"Die direkte Übertragung ist noch nicht verfügbar. Verwende eine Telegra.ph-Sicherung.","pair.unsupported":"Dieser Browser unterstützt keine verschlüsselte Übertragung. Verwende eine Telegra.ph-Sicherung.","pair.invalidLink":"Dieser Übertragungs-QR-Code ist ungültig. Scanne einen neuen Code.","pair.invalidResponse":"Der Übertragungsdienst hat eine ungültige Antwort geliefert. Versuche es mit einem neuen QR-Code.","pair.networkError":"Verbindung nicht möglich. Prüfe das Netzwerk und versuche es erneut.","pair.timeout":"Die Verbindung ist abgelaufen. Versuche es erneut.","pair.unauthorized":"Diese Übertragung ist nicht mehr autorisiert. Scanne einen neuen QR-Code.","pair.alreadySent":"Dieser QR-Code hat bereits Verknüpfungen empfangen. Erstelle für einen neuen Versuch einen neuen Code.","pair.tooLarge":"Diese Konfiguration ist für die direkte Übertragung zu groß. Exportiere sie als JSON-Datei.","pair.invalidConfig":"Die empfangene Konfiguration ist ungültig. Deine aktuellen Verknüpfungen bleiben erhalten.","pair.decryptFailed":"Diese Übertragung kann nicht gelesen werden. Erstelle einen neuen QR-Code.","pair.applyFailed":"Diese Sicherung konnte nicht hinzugefügt werden. Versuche es erneut.","pair.serviceUnavailable":"Der Übertragungsdienst ist vorübergehend nicht verfügbar. Versuche es gleich noch einmal.","pair.stepScan":"Scannen","pair.stepSend":"Senden","pair.stepApply":"Hinzufügen","pair.storageUnavailable":"Auf diesem Bildschirm kann nicht gespeichert werden. Deine aktuellen Verknüpfungen bleiben erhalten.","pair.undone":"Deine vorherigen Verknüpfungen wurden wiederhergestellt.","pair.deliveryUnknown":"Prüfe den anderen Bildschirm: Deine Verknüpfungen wurden möglicherweise bereits empfangen. Falls nicht, erstelle einen neuen QR-Code.","pair.offerButton":"An mein Smartphone senden","pair.offerTitle":"Meine Verknüpfungen auf dem Smartphone","pair.offerScanHint":"Scanne diesen QR-Code mit deinem Smartphone.","pair.offerPreparing":"Senden wird vorbereitet…","pair.offerWaiting":"Auf dem Smartphone abrufbar · {time}","pair.offerExpired":"Dieser QR-Code ist abgelaufen. Erstelle einen neuen.","pair.offerReady":"Sicherung zum Abrufen bereit.","pair.downloadTitle":"Sicherung empfangen","pair.downloading":"Sicherung wird abgerufen…","pair.added":"Sicherung zu deinen Sicherungen hinzugefügt.","pair.addFailed":"Diese Sicherung konnte nicht hinzugefügt werden. Versuche es erneut.","pair.downloadExpired":"Diese Übertragung ist abgelaufen oder wurde bereits abgerufen. Erstelle auf dem anderen Bildschirm einen neuen QR-Code.","pair.offerQRAccessible":"QR-Code zum Empfang dieser Sicherung auf dem Smartphone","prefs.title":"Katalog und Startseite","prefs.country":"Land des Katalogs","prefs.marketHint":"Das Land passt die Vorschläge unter Hinzufügen an.","prefs.homeFavorites":"Mit meinen Favoriten starten","prefs.visibleCategories":"Sichtbare Kategorien","prefs.categoriesHint":"Verknüpfungen bleiben unter Alle und Favoriten verfügbar.","prefs.allMarkets":"Alle Länder","prefs.showAllMarkets":"Alle Länder anzeigen","prefs.saveFailed":"Einstellungen werden nur für diese Sitzung gespeichert.","prefs.invalid":"Diese Einstellungen sind ungültig.","prefs.country.FR":"Frankreich","prefs.country.CA":"Kanada","prefs.country.US":"Vereinigte Staaten","prefs.country.BE":"Belgien","prefs.country.GB":"Vereinigtes Königreich","prefs.country.DE":"Deutschland","prefs.country.ES":"Spanien","prefs.country.IT":"Italien","prefs.country.PT":"Portugal","prefs.country.AU":"Australien","prefs.country.NZ":"Neuseeland","prefs.country.CH":"Schweiz","prefs.country.ALL":"Alle Länder","prefs.country.MX":"Mexiko","seo.introHeading":"Eine Startseite mit Verknüpfungen für deinen Tesla","seo.intro":"EvPortal ist eine kostenlose, unabhängige Startseite, die deine bevorzugten Websites auf einer für den Tesla-Browser gestalteten Seite bündelt. Du kannst sie auch im Browser auf dem Smartphone oder Computer verwenden. Große Symbole öffnen die gewählten Dienste, ohne den Startbildschirm mit Text oder Widgets zu füllen. Verknüpfungen, Kategorien und deren Reihenfolge lassen sich anpassen. Außerdem stehen ein helles und ein dunkles Design zur Auswahl.","seo.startHeading":"Im Fahrzeugbrowser starten","seo.start":"Öffne die Adresse von EvPortal im Browser deines geparkten Fahrzeugs. Speichere sie als Browserfavorit, wenn diese Möglichkeit verfügbar ist, damit du sie leicht wiederfindest. Zum Öffnen des Portals musst du keine App installieren und dich nicht mit einem Tesla-Konto anmelden. Sprache und Katalogland wählst du in den Einstellungen unabhängig voneinander. Deine Einstellungen bleiben auf diesem Gerät; mit einer Sicherung kannst du deine Verknüpfungen aufbewahren oder übertragen.","seo.chargingHeading":"Dienste während einer Ladepause finden","seo.charging":"Füge Links zu deiner Routen- oder Ladeplanung, Radiosendern, Musik und Wetterdiensten hinzu. Der Katalog schlägt Dienste für das ausgewählte Land vor; du kannst auch eigene Webadressen eingeben. Jede Verknüpfung öffnet die Website des Anbieters mit dessen Zugangsbedingungen. EvPortal steuert weder den Ladevorgang noch sendet es Befehle an das Fahrzeug. Nutze Unterhaltungsangebote im geparkten Fahrzeug.","seo.faqHeading":"Häufige Fragen","seo.faqFreeQuestion":"Ist EvPortal kostenlos?","seo.faqFreeAnswer":"Ja. Das Portal ist kostenlos und steht in keiner Verbindung zu Tesla. Einige verlinkte Websites können ein Konto oder Abonnement erfordern. Die jeweiligen Anbieter legen diese Bedingungen fest.","seo.faqPhoneQuestion":"Wie bereite ich meine Verknüpfungen auf dem Smartphone vor?","seo.faqPhoneAnswer":"Öffne EvPortal auf dem Smartphone und ordne deine Verknüpfungen. Unter Einstellungen bietet Smartphone eine QR-Übertragung in beide Richtungen. Auf dem empfangenden Bildschirm speichert Hinzufügen eine Sicherung. Wähle anschließend Meine Sicherungen und Wiederherstellen, um deren Inhalt zu verwenden. Der Empfang allein ersetzt deine Verknüpfungen nicht.","seo.faqOfflineQuestion":"Funktioniert EvPortal offline?","seo.faqOfflineAnswer":"Der Browser speichert deine Konfiguration lokal, EvPortal bietet jedoch keinen Offline-Modus. Zum Laden des Portals, Öffnen der Dienste und Übertragen von Sicherungen brauchst du eine Verbindung. Eine JSON-Datei bewahrt eine unabhängige Kopie für eine spätere Wiederherstellung auf.","seo.languages":"Verfügbare Sprachen","seo.operatingSystem":"Web","seo.browserRequirements":"Browser mit JavaScript und lokalem Speicher; HTTPS und Kryptografiefunktionen für QR-Übertragungen.","seo.featureFavorites":"Anpassbare Verknüpfungen und Favoriten","seo.featureDrag":"Reihenfolge durch Ziehen und Ablegen auf dem Touchscreen ändern","seo.featureQR":"Sicherungen per QR mit einem Smartphone übertragen","seo.featureBackup":"Sicherungen per Code, Link oder JSON-Datei","share.tooLarge":"Die Konfiguration überschreitet das 64-KB-Limit von Telegra.ph. Entferne Links oder verwende eine Datei.","share.noConnection":"In diesem Browser ist keine Verbindung verfügbar.","share.publishTimeout":"Zeitüberschreitung. Prüfe Meine Sicherungen, bevor du es erneut versuchst.","share.timeout":"Telegra.ph antwortet nicht. Versuche es später erneut.","share.networkError":"Verbindung zu Telegra.ph fehlgeschlagen. Prüfe deine Verbindung.","share.unavailable":"Telegra.ph ist nicht verfügbar. Versuche es später erneut.","share.badResponse":"Die Antwort von Telegra.ph ist unlesbar. Versuche es später erneut.","share.rateLimited":"Zu viele Anfragen. Warte vor einem erneuten Versuch.","share.invalidAccount":"Das Telegra.ph-Konto ist nicht verfügbar. Dein bisheriges Konto bleibt erhalten.","share.refused":"Telegra.ph hat diese Anfrage abgelehnt. Versuche es später erneut.","share.accountNotCreated":"Das Telegra.ph-Konto wurde nicht erstellt. Versuche es später erneut.","share.invalidTitle":"Ungültiger Freigabename (maximal 256 Zeichen).","share.sessionOnly":"Das Konto wird nur für diese Sitzung gespeichert. Bewahre den Freigabelink auf.","share.invalidPage":"Ungültige Seitenposition.","share.badHistory":"Die Telegra.ph-Liste ist unlesbar.","share.localPreview":"Lokale Vorschau: Verwende auf dem Telefon die Netzwerkadresse dieser Vorschau.","share.localPreviewOld":"Lokale Vorschau: Verwende zum Testen auf dem Smartphone eine erreichbare Netzwerkadresse dieser Vorschau. Die öffentliche Adresse zeigt die veröffentlichte Version, die von dieser Vorschau abweichen kann.","share.qrLabel":"Mit dem Telefon scannen, um diese EvPortal-Verknüpfungen zu öffnen","share.qrAddressUnavailable":"QR-Code für diese Adresse nicht verfügbar. Kopiere den Link.","share.qrUnavailable":"QR-Code nicht verfügbar. Kopiere den Link.","share.publishing":"Wird gespeichert…","share.publish":"Sicherung erstellen","share.created":"Sicherung erstellt.","share.copyUnavailable":"Kopieren ist nicht verfügbar. Markiere den Text, um ihn manuell zu kopieren.","share.linkCopied":"Link kopiert.","share.codeCopied":"Code kopiert.","share.import":"Importieren","share.importNamed":"{name} importieren","share.more":"Mehr anzeigen","share.empty":"Keine Sicherungen.","share.secureRandomUnavailable":"In diesem Browser lässt sich kein zufälliger Freigabelink erzeugen. Verwende einen aktuellen Browser.","share.unsafePath":"Telegra.ph hat die zufällige Kennung nicht beibehalten. Es wurde keine Konfiguration veröffentlicht.","share.deleteNamed":"{name} löschen","share.deleted":"Sicherung gelöscht.","share.noAccount":"In diesem Browser ist kein Sicherungskonto verfügbar.","state.fullURL":"Verwende eine vollständige Adresse mit https:// oder http://, ohne Leerzeichen.","state.invalidURL":"Diese Website-Adresse ist ungültig.","state.safeURL":"Links müssen HTTP oder HTTPS verwenden und dürfen keine Anmeldedaten enthalten.","state.invalidID":"Ungültige Kategorie- oder Verknüpfungs-ID.","state.shortcutObject":"Jede Verknüpfung muss ein Objekt sein.","state.duplicateShortcut":"Zwei Verknüpfungen haben dieselbe ID.","state.favoriteBoolean":"Der Favoritenwert muss ein boolescher Wert sein.","state.invalidColor":"Ungültige Verknüpfungsfarbe.","state.invalidCount":"Ungültiger Nutzungszähler der Verknüpfung.","state.invalidFormat":"Unbekanntes EvPortal-Format oder inkompatible Sicherungsversion.","state.tooManyCategories":"Die Sicherung enthält mehr als 50 Kategorien.","state.invalidCategory":"Ungültige Kategorie.","state.reservedCategory":"Reservierte oder doppelte Kategorie-ID.","state.invalidIcon":"Ungültiges Kategoriesymbol.","state.tooManyShortcuts":"Die Sicherung enthält mehr als 5.000 Verknüpfungen.","state.invalidTheme":"Ungültiges Design in der Sicherung.","state.missingCategory":"Die aktive Kategorie der Sicherung wurde nicht gefunden.","state.invalidOrder":"Ungültige Reihenfolge der Verknüpfungen.","state.backupObject":"Die Sicherung muss ein JSON-Objekt sein.","state.invalidLegacyList":"Die alte Kategorienliste ist ungültig.","state.duplicateCategories":"Die Liste enthält doppelte Kategorien.","state.foreignData":"Die Sicherung enthält Daten, die nicht zu EvPortal-Kategorien gehören.","state.invalidLegacyShortcut":"Ungültige alte Verknüpfung.","state.invalidShortcutOrder":"Ungültige Position der Verknüpfung.","state.largeFile":"Die Datei überschreitet die Grenze von 2 MB.","state.invalidJSON":"Die Datei enthält kein gültiges JSON.","state.storageUnavailable":"Speicher nicht verfügbar","state.invalidLegacyCategories":"Ungültige alte Kategorien","state.reservedLegacyCategory":"Reservierte alte Kategorie","state.invalidMove":"Ungültige Verschiebung der Verknüpfung.","state.telegraphLink":"Verwende einen telegra.ph-Link oder dessen Seiten-ID.","state.telegraphID":"Ungültige Telegra.ph-Seiten-ID.","state.portalLink":"Verwende einen EvPortal-Link mit genau einem Freigabecode.","state.invalidField":"{field} ungültig (maximal {max} Zeichen).","state.invalidFieldShort":"{field} ungültig.","state.urlLabel":"Website-Adresse","state.shortcutName":"Name der Verknüpfung","state.shortcutDescription":"Beschreibung der Verknüpfung","state.shortcutTag":"Schlagwort der Verknüpfung","state.categoryName":"Kategoriename","state.categoryDescription":"Kategoriebeschreibung","state.catalogVersion":"Katalogversion","state.telegraphIDLabel":"Telegra.ph-ID","state.shareCodeLabel":"Freigabelink oder Code","state.invalidCategoryShortcuts":"Die Verknüpfungen der Kategorie „{name}“ sind ungültig.","state.storageWarning":"Die lokale Sicherung ist nicht verfügbar oder unlesbar. Deine bisherigen Daten bleiben erhalten. Änderungen dieser Sitzung sind vorübergehend: Exportiere sie als JSON.","static.title":"EvPortal — Startseite und Favoriten für den Tesla-Browser","static.skip":"Zu den Verknüpfungen","static.tagline":" — Verknüpfungen für Tesla","static.fullscreen":"Vollbild","static.share":"Teilen","static.edit":"Bearbeiten","static.add":"Hinzufügen","static.searchLabel":"Verknüpfung suchen","static.dragInstructions":"Leertaste zum Aufnehmen, Pfeiltasten zum Verschieben, Eingabe zum Ablegen, Escape zum Abbrechen.","static.reorder":"Verknüpfungen ziehen, um sie neu anzuordnen.","static.video":"Kino","static.javascript":"Aktiviere JavaScript, um deine Verknüpfungen anzupassen.","static.help":"Hilfe","static.settings":"Einstellungen","static.language":"Sprache","static.createShortcut":"Verknüpfung erstellen","static.createCategory":"Kategorie erstellen","static.importTelegraph":"Sicherung importieren","static.theater":"Tesla-Kinomodus öffnen","static.moreOptions":"Weitere Optionen","static.exportJSON":"JSON-Datei speichern","static.reset":"Verknüpfungen zurücksetzen","static.about":"Hilfe & Infos","static.newCategory":"Neue Kategorie","static.name":"Name","static.icon":"Symbol","static.cancel":"Abbrechen","static.create":"Erstellen","static.newShortcut":"Neue Verknüpfung","static.website":"Website-Adresse","static.category":"Kategorie","static.restore":"Sicherung importieren","static.shareInput":"Code oder Link","static.load":"Meine Verknüpfungen laden","static.importJSON":"JSON-Datei importieren","static.jsonFile":"JSON-Datei","static.close":"Schließen","static.use":"Diese Verknüpfungen verwenden","static.shareTitle":"Sicherung exportieren","static.backupName":"Name (optional)","static.public":"Diese Sicherung wird öffentlich sein.","static.portalAddress":"EvPortal-Adresse","static.otherAddress":"EvPortal-Adresse auf dem anderen Bildschirm","static.publish":"Sicherung erstellen","static.scan":"Mit dem Smartphone scannen.","static.carCode":"Code zur Eingabe im Tesla","static.copyCode":"Code kopieren","static.importHint":"Tesla: Einstellungen → Sicherungen → Sicherung importieren.","static.copyLink":"Link kopieren","static.sharedLinks":"Meine Sicherungen","static.showBackups":"Aktualisieren","static.addShortcuts":"Verknüpfungen hinzufügen","static.searchService":"Dienst suchen","static.home":"EvPortal, Startseite","static.search":"Suchen","static.enterFullscreen":"Vollbild aktivieren","static.shareAccessible":"Sicherung exportieren","static.addAccessible":"Verknüpfung oder Kategorie hinzufügen","static.clearSearch":"Suche löschen","static.categories":"Kategorien","static.qrAccessible":"QR-Code zum Wiederherstellen deiner Verknüpfungen","static.searchPlaceholder":"Suchen…","static.tripsPlaceholder":"Meine Reisen","static.servicePlaceholder":"Mein Dienst","static.urlPlaceholder":"https://beispiel.de","static.codePlaceholder":"Code oder EvPortal-Link","static.defaultBackup":"Meine EvPortal-Verknüpfungen","static.description":"Gestalte deine Tesla-Startseite mit Links zu Ladeplanung, Musik und Wetter, Favoriten und Sicherungen. Kostenlos, mit QR-Übertragung per Smartphone.","static.socialTitle":"EvPortal — Startseite und Favoriten für den Tesla-Browser","static.socialDescription":"Gestalte deine Tesla-Startseite mit Links zu Ladeplanung, Musik und Wetter, Favoriten und Sicherungen. Kostenlos, mit QR-Übertragung per Smartphone.","static.previewAlt":"EvPortal: Verknüpfungen für Laden, Musik, Streaming und Navigation.","static.twitterDescription":"Gestalte deine Tesla-Startseite mit Links zu Ladeplanung, Musik und Wetter, Favoriten und Sicherungen. Kostenlos, mit QR-Übertragung per Smartphone.","static.twitterAlt":"EvPortal-Verknüpfungen im dunklen Modus.","static.nameBackup":"Sicherung benennen","static.undoTransfer":"Letzte Übertragung rückgängig machen","static.backups":"Sicherungen","static.exportBackup":"Sicherung exportieren","static.importBackup":"Sicherung importieren"},"it":{"app.startFailed":"Impossibile avviare il portale. Ricarica la pagina per riprovare.","app.storageUnavailable":"La memoria locale non è disponibile o è piena. Esporta la configurazione per conservare le modifiche.","app.storageRecovery":"Il backup locale non è disponibile o leggibile. I dati precedenti sono conservati. Esporta questa sessione prima di chiudere.","app.all":"Tutti","app.favorites":"Preferiti","app.move":"Sposta {name}","app.previousMoveCancelled":"Spostamento precedente annullato.","app.moveSelected":"{name} selezionato. Usa le frecce per spostare, Invio per rilasciare, Esc per annullare.","app.moveCancelled":"Spostamento annullato.","app.movePosition":"{name}, posizione {position} di {count}.","app.orderSaved":"Ordine salvato.","app.editCategory":"Modifica categoria {name}","app.deleteCategory":"Elimina categoria {name}","app.confirmDeleteCategory":"Eliminare «{name}» e i suoi {count} collegamenti?","app.categoryDeleted":"Categoria eliminata.","app.openNewTab":"{name} — nuova scheda","app.removeFavorite":"Rimuovi {name} dai preferiti","app.addFavorite":"Aggiungi {name} ai preferiti","app.favoriteAdded":"{name} aggiunto ai preferiti.","app.favoriteRemoved":"{name} rimosso dai preferiti.","app.editShortcut":"Modifica {name}","app.deleteShortcut":"Elimina {name}","app.confirmDeleteShortcut":"Eliminare il collegamento «{name}»?","app.shortcutDeleted":"Collegamento eliminato.","app.allShortcuts":"Tutti i collegamenti","app.allDescription":"Tutti i tuoi servizi e collegamenti in un unico posto.","app.searchResults":"Risultati di ricerca","app.searchDescription":"Ricerca di «{query}» in tutte le categorie.","app.myFavorites":"I miei preferiti","app.favoritesDescription":"I tuoi preferiti, sempre a portata di mano.","app.categoryDescription":"I tuoi collegamenti in questa categoria.","app.shortcutCount":"{count} collegamenti","app.shortcutCountOne":"{count} collegamento","app.noShortcuts":"Nessun collegamento trovato","app.emptyFavorites":"Tieni qui i tuoi preferiti","app.emptyCategory":"Una pagina tutta tua","app.searchHint":"Prova un altro nome, dominio o parola chiave.","app.favoriteHint":"Tocca la stella di un collegamento per aggiungerlo ai preferiti.","app.emptyHint":"Aggiungi collegamenti dal catalogo o creane di tuoi.","app.clearSearch":"Cancella ricerca","app.exploreCatalog":"Esplora catalogo","app.usageOrderHint":"Tutti: i più usati per primi. Per spostare un collegamento, apri la sua categoria o Preferiti.","app.dragHint":"Trascina i collegamenti per riordinarli.","app.finishEditing":"Termina modifiche","app.editShortcuts":"Modifica collegamenti","app.finish":"Fine","app.edit":"Modifica","app.categoryRequired":"Crea prima una categoria per aggiungere il collegamento.","app.editShortcutTitle":"Modifica collegamento","app.addShortcutTitle":"Aggiungi collegamento","app.save":"Salva","app.addShortcutSubmit":"Aggiungi collegamento","app.editCategoryTitle":"Modifica categoria","app.newCategory":"Nuova categoria","app.create":"Crea","app.categoryLimitHint":"Limite raggiunto: {max} categorie personali. Modifica o elimina una categoria esistente.","app.categoryCountHint":"{count}/{max} categorie personali · Massimo {length} caratteri.","app.categoryGone":"Questa categoria è stata eliminata in un’altra scheda. Chiudi il modulo e riprova.","app.categoryNameInvalid":"Inserisci un nome da 1 a {max} caratteri.","app.categoryLimit":"È stato raggiunto il limite di {max} categorie personali.","app.categoryDuplicate":"Esiste già una categoria con questo nome.","app.iconRequired":"Scegli una delle icone disponibili.","app.categoryDescriptionInvalid":"La descrizione può contenere al massimo 240 caratteri.","app.categoryChanged":"Categoria modificata.","app.categoryCreated":"Categoria creata.","app.selectCategory":"Scegli una categoria esistente.","app.shortcutGone":"Questo collegamento è stato eliminato in un’altra scheda. Chiudi il modulo e riprova.","app.shortcutLimit":"È stato raggiunto il limite di 5.000 collegamenti.","app.shortcutFieldsInvalid":"Controlla il nome (massimo 100 caratteri) e la descrizione (massimo 300).","app.shortcutDuplicate":"Questo link esiste già. Modifica le sue categorie per mostrarlo altrove.","app.shortcutChanged":"Collegamento modificato.","app.shortcutAdded":"Collegamento aggiunto.","app.alreadyPresentNamed":"Già presente: {name}","app.addNamed":"Aggiungi {name}","app.alreadyPresent":"Già presente","app.add":"Aggiungi","app.totalCategoryLimit":"È stato raggiunto il limite di 50 categorie.","app.addedToCategory":"{name} aggiunto a {category}.","app.noServices":"Nessun servizio corrisponde alla ricerca.","app.catalogComplete":"Il tuo catalogo è completo. Crea un collegamento personale.","app.catalogHint":"Aggiungi un servizio rimosso o crea un collegamento personale.","app.sharedConfig":"Aggiunge ai tuoi backup senza modificare le scorciatoie.","app.importPreview":"Categorie: {categories} · Scorciatoie: {count}","app.fileTooLarge":"Il file supera il limite di 2 MB.","app.loadingConfig":"Caricamento configurazione…","app.telegraphNotReturned":"Telegra.ph non ha restituito questa pagina. Controlla il codice.","app.pageTooLarge":"Questa pagina è troppo grande per essere importata.","app.telegraphUnreadable":"Questa pagina Telegra.ph non è stata trovata o non è leggibile.","app.noConfigInPage":"La pagina non contiene una configurazione EvPortal.","app.connectionTimeout":"La connessione è scaduta. Riprova tra poco.","app.imported":"Configurazione importata.","app.exportReady":"Esportazione JSON pronta. Conserva il file per ritrovare i collegamenti su un altro dispositivo.","app.exportFailed":"Impossibile preparare il file di backup.","app.confirmReset":"Ripristinare il catalogo iniziale? I collegamenti personali e i preferiti saranno sostituiti. Esportali prima di continuare.","app.catalogReset":"Catalogo iniziale ripristinato.","app.switchToLight":"Passa alla modalità chiara","app.switchToDark":"Passa alla modalità scura","app.fullscreenReload":"Ricarica la pagina per attivare lo schermo intero.","app.fullscreenUnavailable":"Lo schermo intero non è disponibile in questo browser.","app.exitFullscreen":"Esci da schermo intero","app.enterFullscreen":"Apri a schermo intero","app.syncedFromTab":"Le modifiche di un’altra scheda sono state caricate.","app.unreadableTabState":"Il backup ricevuto da un’altra scheda non è leggibile. La sessione attuale è conservata.","app.legacyRecovered":"I collegamenti precedenti sono stati recuperati.","app.catalogUpdated":"Sono stati aggiornati {count} indirizzi del catalogo.","app.invalidConfig":"Questa configurazione non è valida o è incompatibile. Controlla il file o il codice e riprova.","app.invalidShortcutURL":"Usa un indirizzo completo che inizi con https:// o http://, senza spazi o credenziali.","app.invalidImportCode":"Usa un codice Telegra.ph, un indirizzo telegra.ph o un link di condivisione EvPortal valido.","app.connectionFailed":"Connessione impossibile. Controlla la rete e riprova.","app.icon.all":"Griglia","app.icon.favorites":"Stella","app.icon.cinema":"Video","app.icon.music":"Musica","app.icon.tv":"Televisione","app.icon.charging":"Ricarica","app.icon.games":"Giochi","app.icon.navigation":"Percorsi","app.icon.social":"Messaggi","app.icon.news":"Notizie","app.icon.weather":"Meteo","app.icon.productivity":"Strumenti","app.icon.folder":"Cartella","app.otherCategories":"Altre categorie","backup.links":"Codice o link","backup.phone":"Telefono","backup.library":"I miei backup","backup.create":"Crea","backup.add":"Aggiungi","backup.send":"Invia","backup.receive":"Ricevi","backup.restore":"Ripristina","backup.createTitle":"Crea un codice o un link","backup.addTitle":"Aggiungi un backup","backup.restoreTitle":"Ripristina un backup","backup.chooseTitle":"Scegli un backup","backup.code":"Codice","backup.link":"Link EvPortal","backup.copyCode":"Copia codice","backup.addHint":"Aggiunge ai tuoi backup senza modificare le scorciatoie.","backup.added":"Backup aggiunto.","backup.restored":"Backup ripristinato.","backup.local":"Su questo dispositivo","backup.online":"Online","backup.empty":"Nessun backup salvato.","backup.receivedTitle":"Scorciatoie ricevute","backup.fileTitle":"Backup importato","backup.deleteNamed":"Elimina «{name}»","backup.deleted":"Backup eliminato.","backup.savedSummary":"Categorie: {categories} · Scorciatoie: {count}","backup.load":"Verifica","backup.restoreHint":"Sostituisce le scorciatoie di questo dispositivo.","backup.selected":"Backup selezionato","backup.choose":"Scegli","backup.localCopy":"Copia salvata su questo dispositivo.","backup.undoRestore":"Annulla l’ultimo ripristino","backup.storageUnavailable":"Lo spazio per i backup non è disponibile o è pieno.","backup.invalidLibrary":"La libreria dei backup non è leggibile. I dati esistenti sono conservati.","backup.invalidBackup":"Questo backup non è valido.","backup.limit":"Puoi conservare fino a {max} backup su questo dispositivo.","backup.tooLarge":"Questo backup supera {max} MB.","backup.missing":"Questo backup non è più disponibile.","backup.retry":"Riprova","category.all":"Tutti","category.favorites":"Preferiti","category.cinema":"Video","category.music":"Musica","category.tv":"TV","category.charging":"Ricarica","category.games":"Giochi","category.navigation":"Percorsi","category.social":"Social","category.news":"Notizie","category.weather":"Meteo","category.productivity":"Strumenti","category.folder":"Cartella","help.title":"Guida EvPortal — Browser Tesla, scorciatoie e backup","help.description":"Apri EvPortal nel browser Tesla, organizza i preferiti e trasferisci backup tramite codice, link o QR. Scopri come iniziare e ripristinare le scorciatoie.","help.language":"Lingua","help.back":"Torna alle scorciatoie","help.heading":"Guida a EvPortal per il browser Tesla","help.intro":"Tocca una scorciatoia per aprire il servizio in una nuova scheda. Il pulsante del tema in alto permette di scegliere la modalità chiara o scura. Le otto lingue sono disponibili in Impostazioni con nomi e bandiere; l’arabo viene visualizzato da destra a sinistra.","help.organizeHeading":"Organizzare le scorciatoie","help.ranking":"Tutti mostra per prime le scorciatoie aperte più spesso. A parità di aperture, mantiene il tuo ordine manuale. La classifica resta salvata dopo il ricaricamento.","help.dragging":"In una categoria o nei Preferiti, tocca Modifica e sposta le scorciatoie usando le maniglie. La stella aggiunge un preferito e la matita permette di modificare. Tocca Fine quando hai terminato. Tutti mantiene la classifica automatica.","help.keyboard":"Con la tastiera, seleziona una maniglia, premi Spazio, sposta con le frecce e conferma con Invio. Esc annulla.","help.addHeading":"Aggiungere una scorciatoia o una categoria","help.adding":"Il pulsante + apre il catalogo e permette di creare una scorciatoia o una categoria. Già presente indica un servizio già aggiunto. La lente cerca in tutte le tue scorciatoie.","help.categories":"Crea fino a cinque categorie personali con nomi di massimo 16 caratteri e un’icona a scelta. Usa la matita per modificarle. Le categorie precedenti che superano questi limiti vengono conservate. Le categorie visibili si dispongono senza scorrimento orizzontale.","help.transferHeading":"Telefono: inviare o ricevere","help.stepPrepare":"In Impostazioni → Telefono, scegli Invia o Ricevi.","help.stepPublish":"Scansiona il QR visualizzato con il telefono.","help.stepCode":"Per inviare dal telefono, scegli le sue scorciatoie o un backup e tocca Invia.","help.stepImport":"Sullo schermo che riceve, tocca Aggiungi per conservare il backup su quel dispositivo.","help.stepApply":"Per usarne il contenuto, apri I miei backup → Ripristina.","help.qr":"Il QR serve per i trasferimenti con il telefono. Creare un codice o un link non mostra un QR.","help.snapshot":"Il trasferimento è cifrato e valido per cinque minuti quando il servizio è disponibile. Invia un’istantanea senza sincronizzazione automatica. Ricevere un backup non sostituisce le tue scorciatoie.","help.public":"In Impostazioni → Codice o link, Crea prepara un codice e un link EvPortal da copiare. Aggiungi accetta entrambi e salva una copia locale dopo la verifica. I file JSON restano disponibili in Altre opzioni. La pagina Telegra.ph creata è pubblica; la copia locale e la pagina online sono distinte.","help.fullscreenHeading":"Schermo intero Tesla","help.fullscreen":"A veicolo parcheggiato, tocca Schermo intero. Su YouTube, scegli Vai al sito o Go to site per tornare a EvPortal in modalità Cinema. Le scorciatoie richiedono una nuova scheda, il cui comportamento dipende dal browser del veicolo.","help.fullscreenFallback":"Se la Tesla non viene riconosciuta, scegli Apri la modalità Cinema Tesla nelle impostazioni. Sul computer, il pulsante usa lo schermo intero normale. Il reindirizzamento può cambiare con gli aggiornamenti del veicolo o di YouTube.","help.compatibility":"Aprire un sito non garantisce la riproduzione video: paese, account, abbonamento e browser possono limitarla. Usa l’intrattenimento a veicolo parcheggiato.","help.teslaManual":"Manuale Tesla","help.myTesla":"Metodo descritto da myTesla","help.storageHeading":"Ripristinare un backup","help.storage":"In Impostazioni → I miei backup → Ripristina, scegli un backup in Su questo dispositivo o Online e controllane il contenuto. Solo Ripristina sostituisce le scorciatoie. Altre opzioni in Impostazioni permette di annullare l’ultimo ripristino. Aggiungere un codice, un link, un file o un trasferimento QR salva un backup senza applicarlo. Ogni browser conserva il proprio elenco locale.","help.previewHeading":"Provare un’anteprima locale","help.preview":"Il QR usa l’indirizzo del portale aperto. Su un telefono, localhost o 127.0.0.1 indica il telefono stesso. Per provare tra dispositivi, entrambi devono poter accedere al portale e al servizio di trasferimento tramite HTTPS. I codici e i link dei backup usano l’indirizzo pubblico di EvPortal.","help.privacyHeading":"Informazioni e privacy","help.privacy":"EvPortal è gratuito e non è affiliato a Tesla. Loghi e traduzioni sono inclusi nel sito. I contatori delle aperture restano nella tua configurazione, senza servizi di analisi. Telegra.ph viene contattato su tua richiesta; il token dell’account resta separato dalla condivisione. I siti aperti applicano le proprie politiche.","help.source":"Codice sorgente","help.report":"Segnala un problema","help.license":"EvPortal · Licenza MIT","help.backupHeading":"Codice o link","help.preferencesHeading":"Scegliere il catalogo e la pagina iniziale","help.preferences":"In Impostazioni → Catalogo e pagina iniziale, scegli il paese, le categorie visibili e se aprire i preferiti all’avvio. Il paese adatta i suggerimenti in Aggiungi; non elimina le tue scorciatoie. Mostra tutti i paesi amplia il catalogo. Le scorciatoie di una categoria nascosta restano in Tutti e Preferiti. Queste scelte rimangono sul dispositivo e non sono incluse nei backup o nei trasferimenti QR. Il paese iniziale è suggerito dalla regione del browser, senza richiedere la posizione.","help.sharedServices":"Un servizio può apparire in più categorie con un solo stato di preferito e un solo contatore; Tutti lo mostra una volta sola. In Modifica, apri Altre categorie per scegliere dove appare. Eliminare una categoria conserva i servizi presenti anche in un’altra categoria.","pair.receiveButton":"Ricevi dal mio telefono","pair.receiveTitle":"Ricevi dal mio telefono","pair.scanHint":"Scansiona questo codice QR con il telefono.","pair.qrAccessible":"Codice QR per trasferire a questo schermo","pair.apply":"Aggiungi","pair.newQR":"Nuovo codice QR","pair.sendTitle":"Invia alla Tesla","pair.send":"Invia le mie scorciatoie","pair.chooseBackup":"Scegli un backup","pair.sendHint":"Le scorciatoie di questo telefono saranno proposte sull’altro schermo.","pair.privateHint":"Trasferimento cifrato, valido per 5 minuti.","pair.preparing":"Preparazione del codice QR…","pair.waiting":"In attesa del telefono · {time}","pair.retrying":"Riconnessione… · {time}","pair.summary":"{categories} categorie · {count} scorciatoie","pair.ready":"Backup ricevuto. Aggiungilo ai tuoi backup.","pair.sending":"Invio in corso…","pair.sent":"Inviato. Aggiungi il backup sull’altro schermo.","pair.applied":"Backup aggiunto.","pair.expired":"Questo codice QR è scaduto. Creane uno nuovo sull’altro schermo.","pair.receiverExpired":"Questo codice QR è scaduto. Creane uno nuovo.","pair.notConfigured":"Il trasferimento diretto non è ancora disponibile. Usa un backup Telegra.ph.","pair.unsupported":"Questo browser non supporta il trasferimento cifrato. Usa un backup Telegra.ph.","pair.invalidLink":"Questo codice QR di trasferimento non è valido. Scansionane uno nuovo.","pair.invalidResponse":"Il servizio di trasferimento ha restituito una risposta non valida. Riprova con un nuovo codice QR.","pair.networkError":"Connessione impossibile. Controlla la rete e riprova.","pair.timeout":"La connessione è scaduta. Riprova.","pair.unauthorized":"Questo trasferimento non è più autorizzato. Scansiona un nuovo codice QR.","pair.alreadySent":"Questo codice QR ha già ricevuto delle scorciatoie. Creane uno nuovo per ricominciare.","pair.tooLarge":"Questa configurazione è troppo grande per il trasferimento diretto. Esportala in un file JSON.","pair.invalidConfig":"La configurazione ricevuta non è valida. Le scorciatoie attuali vengono conservate.","pair.decryptFailed":"Impossibile leggere questo trasferimento. Crea un nuovo codice QR.","pair.applyFailed":"Impossibile aggiungere questo backup. Riprova.","pair.serviceUnavailable":"Il servizio di trasferimento è temporaneamente indisponibile. Riprova tra poco.","pair.stepScan":"Scansiona","pair.stepSend":"Invia","pair.stepApply":"Aggiungi","pair.storageUnavailable":"Impossibile salvare su questo schermo. Le scorciatoie attuali vengono conservate.","pair.undone":"Le scorciatoie precedenti sono state ripristinate.","pair.deliveryUnknown":"Controlla l’altro schermo: le tue scorciatoie potrebbero essere già state ricevute. Altrimenti, crea un nuovo codice QR.","pair.offerButton":"Invia al mio telefono","pair.offerTitle":"Le mie scorciatoie sul telefono","pair.offerScanHint":"Scansiona questo codice QR con il telefono.","pair.offerPreparing":"Preparazione dell’invio…","pair.offerWaiting":"Da recuperare sul telefono · {time}","pair.offerExpired":"Questo codice QR è scaduto. Creane uno nuovo.","pair.offerReady":"Backup pronto per il recupero.","pair.downloadTitle":"Ricevi un backup","pair.downloading":"Recupero del backup…","pair.added":"Backup aggiunto ai tuoi backup.","pair.addFailed":"Impossibile aggiungere questo backup. Riprova.","pair.downloadExpired":"Questo trasferimento è scaduto o è già stato recuperato. Crea un nuovo codice QR sull’altro schermo.","pair.offerQRAccessible":"Codice QR per ricevere questo backup sul telefono","prefs.title":"Catalogo e pagina iniziale","prefs.country":"Paese del catalogo","prefs.marketHint":"Il paese adatta la selezione proposta in Aggiungi.","prefs.homeFavorites":"Apri sui miei preferiti","prefs.visibleCategories":"Categorie visibili","prefs.categoriesHint":"Le scorciatoie restano disponibili in Tutti e Preferiti.","prefs.allMarkets":"Tutti i paesi","prefs.showAllMarkets":"Mostra tutti i paesi","prefs.saveFailed":"Le preferenze sono salvate solo per questa sessione.","prefs.invalid":"Queste preferenze non sono valide.","prefs.country.FR":"Francia","prefs.country.CA":"Canada","prefs.country.US":"Stati Uniti","prefs.country.BE":"Belgio","prefs.country.GB":"Regno Unito","prefs.country.DE":"Germania","prefs.country.ES":"Spagna","prefs.country.IT":"Italia","prefs.country.PT":"Portogallo","prefs.country.AU":"Australia","prefs.country.NZ":"Nuova Zelanda","prefs.country.CH":"Svizzera","prefs.country.ALL":"Tutti i paesi","prefs.country.MX":"Messico","seo.introHeading":"Un portale di scorciatoie per la tua Tesla","seo.intro":"EvPortal è un portale gratuito e indipendente che riunisce i tuoi siti preferiti in una pagina pensata per il browser Tesla. Puoi usarlo anche nel browser del telefono o del computer. Le icone grandi aprono i servizi scelti senza riempire la schermata iniziale di testi o widget. Puoi personalizzare le scorciatoie, le categorie e il loro ordine, quindi scegliere un tema chiaro o scuro.","seo.startHeading":"Iniziare dal browser del veicolo","seo.start":"A veicolo parcheggiato, apri l’indirizzo di EvPortal nel browser dell’auto. Salvalo tra i preferiti del browser, se questa opzione è disponibile, per ritrovarlo facilmente. Non serve installare un’app né accedere a un account Tesla per aprire il portale. In Impostazioni, scegli separatamente la lingua e il paese del catalogo. Le preferenze restano su questo dispositivo; un backup permette di conservare o trasferire le scorciatoie.","seo.chargingHeading":"Ritrovare i tuoi servizi durante una ricarica","seo.charging":"Aggiungi link ai tuoi strumenti per pianificare viaggi o ricariche, alle stazioni radio, alla musica e al meteo. Il catalogo propone servizi per il paese selezionato; puoi anche inserire un indirizzo personale. Ogni scorciatoia apre il sito del servizio, con le sue condizioni di accesso. EvPortal non controlla la ricarica e non invia comandi al veicolo. Consulta i contenuti di intrattenimento a veicolo parcheggiato.","seo.faqHeading":"Domande frequenti","seo.faqFreeQuestion":"EvPortal è gratuito?","seo.faqFreeAnswer":"Sì. Il portale è gratuito e non è affiliato a Tesla. Alcuni siti collegati possono richiedere un account o un abbonamento; queste condizioni dipendono dal servizio.","seo.faqPhoneQuestion":"Come preparo le scorciatoie sul telefono?","seo.faqPhoneAnswer":"Apri EvPortal sul telefono e organizza le scorciatoie. In Impostazioni, Telefono permette trasferimenti QR in entrambe le direzioni. Sullo schermo che riceve, Aggiungi conserva un backup. Per usarne il contenuto, scegli poi I miei backup e Ripristina. La sola ricezione non sostituisce le scorciatoie.","seo.faqOfflineQuestion":"EvPortal funziona senza connessione?","seo.faqOfflineAnswer":"Il browser conserva la configurazione localmente, ma EvPortal non offre una modalità offline. Serve una connessione per caricare il portale, aprire i servizi e trasferire backup. Un file JSON permette di conservare una copia indipendente da ripristinare in seguito.","seo.languages":"Lingue disponibili","seo.operatingSystem":"Web","seo.browserRequirements":"Browser con JavaScript e archiviazione locale; HTTPS e funzioni crittografiche per i trasferimenti QR.","seo.featureFavorites":"Scorciatoie e preferiti personalizzabili","seo.featureDrag":"Riordinamento tramite trascinamento sul touchscreen","seo.featureQR":"Trasferimento di backup tramite QR con un telefono","seo.featureBackup":"Backup tramite codice, link o file JSON","share.tooLarge":"La configurazione supera il limite di 64 KB di Telegra.ph. Riduci i link o usa un file.","share.noConnection":"Connessione non disponibile in questo browser.","share.publishTimeout":"Tempo scaduto. Controlla I miei backup prima di riprovare.","share.timeout":"Telegra.ph non risponde. Riprova più tardi.","share.networkError":"Impossibile connettersi a Telegra.ph. Controlla la connessione.","share.unavailable":"Telegra.ph non è disponibile. Riprova più tardi.","share.badResponse":"Risposta Telegra.ph illeggibile. Riprova più tardi.","share.rateLimited":"Troppe richieste. Attendi prima di riprovare.","share.invalidAccount":"L’account Telegra.ph non è disponibile. Il tuo account precedente è conservato.","share.refused":"Telegra.ph ha rifiutato la richiesta. Riprova più tardi.","share.accountNotCreated":"L’account Telegra.ph non è stato creato. Riprova più tardi.","share.invalidTitle":"Nome della condivisione non valido (massimo 256 caratteri).","share.sessionOnly":"L’account è conservato solo per questa sessione. Salva il link di condivisione.","share.invalidPage":"Posizione della pagina non valida.","share.badHistory":"Elenco Telegra.ph illeggibile.","share.localPreview":"Anteprima locale: sul telefono usa l’indirizzo di rete di questa anteprima.","share.localPreviewOld":"Anteprima locale: per provarla sul telefono, usa un indirizzo di rete accessibile di questa anteprima. L’indirizzo pubblico mostra la versione pubblicata, che può differire da questa anteprima.","share.qrLabel":"Scansiona con un telefono per aprire questi collegamenti EvPortal","share.qrAddressUnavailable":"Codice QR non disponibile per questo indirizzo. Copia il link.","share.qrUnavailable":"Codice QR non disponibile. Copia il link.","share.publishing":"Salvataggio…","share.publish":"Crea il mio backup","share.created":"Backup creato.","share.copyUnavailable":"Copia non disponibile. Seleziona il testo per copiarlo manualmente.","share.linkCopied":"Link copiato.","share.codeCopied":"Codice copiato.","share.import":"Importa","share.importNamed":"Importa {name}","share.more":"Mostra altro","share.empty":"Nessun backup.","share.secureRandomUnavailable":"Impossibile generare un link di condivisione casuale in questo browser. Usa un browser recente.","share.unsafePath":"Telegra.ph non ha mantenuto l’identificativo casuale. Non è stata pubblicata alcuna configurazione.","share.deleteNamed":"Elimina {name}","share.deleted":"Backup eliminato.","share.noAccount":"Nessun account di backup disponibile in questo browser.","state.fullURL":"Usa un indirizzo completo che inizi con https:// o http://, senza spazi.","state.invalidURL":"Questo indirizzo non è valido.","state.safeURL":"I link devono usare HTTP o HTTPS, senza credenziali nell’indirizzo.","state.invalidID":"Identificativo della categoria o del collegamento non valido.","state.shortcutObject":"Ogni collegamento deve essere un oggetto.","state.duplicateShortcut":"Due collegamenti hanno lo stesso identificativo.","state.favoriteBoolean":"Il valore del preferito deve essere booleano.","state.invalidColor":"Colore del collegamento non valido.","state.invalidCount":"Contatore di utilizzo del collegamento non valido.","state.invalidFormat":"Formato EvPortal non riconosciuto o versione del backup incompatibile.","state.tooManyCategories":"Il backup supera le 50 categorie.","state.invalidCategory":"Categoria non valida.","state.reservedCategory":"Identificativo della categoria riservato o duplicato.","state.invalidIcon":"Icona della categoria non valida.","state.tooManyShortcuts":"Il backup supera i 5.000 collegamenti.","state.invalidTheme":"Tema del backup non valido.","state.missingCategory":"La categoria attiva del backup non è stata trovata.","state.invalidOrder":"Ordine dei collegamenti non valido.","state.backupObject":"Il backup deve essere un oggetto JSON.","state.invalidLegacyList":"L’elenco delle vecchie categorie non è valido.","state.duplicateCategories":"L’elenco contiene categorie duplicate.","state.foreignData":"Il backup contiene dati estranei alle categorie EvPortal.","state.invalidLegacyShortcut":"Vecchio collegamento non valido.","state.invalidShortcutOrder":"Posizione del collegamento non valida.","state.largeFile":"Il file supera il limite di 2 MB.","state.invalidJSON":"Il file non contiene JSON valido.","state.storageUnavailable":"Archiviazione non disponibile","state.invalidLegacyCategories":"Vecchie categorie non valide","state.reservedLegacyCategory":"Vecchia categoria riservata","state.invalidMove":"Spostamento del collegamento non valido.","state.telegraphLink":"Usa un link telegra.ph o l’identificativo della pagina.","state.telegraphID":"Identificativo della pagina Telegra.ph non valido.","state.portalLink":"Usa un link EvPortal contenente un solo codice di condivisione.","state.invalidField":"{field} non valido (massimo {max} caratteri).","state.invalidFieldShort":"{field} non valido.","state.urlLabel":"Indirizzo del sito","state.shortcutName":"Nome del collegamento","state.shortcutDescription":"Descrizione del collegamento","state.shortcutTag":"Etichetta del collegamento","state.categoryName":"Nome della categoria","state.categoryDescription":"Descrizione della categoria","state.catalogVersion":"Versione del catalogo","state.telegraphIDLabel":"Identificativo Telegra.ph","state.shareCodeLabel":"Link o codice di condivisione","state.invalidCategoryShortcuts":"I collegamenti della categoria «{name}» non sono validi.","state.storageWarning":"Il backup locale non è disponibile o è illeggibile. I dati precedenti sono conservati. Le modifiche di questa sessione sono temporanee: esportale in JSON.","static.title":"EvPortal — Scorciatoie per il browser Tesla","static.skip":"Vai ai collegamenti","static.tagline":" — collegamenti per Tesla","static.fullscreen":"Schermo intero","static.share":"Condividi","static.edit":"Modifica","static.add":"Aggiungi","static.searchLabel":"Cerca un collegamento","static.dragInstructions":"Spazio per selezionare, frecce per spostare, Invio per rilasciare, Esc per annullare.","static.reorder":"Trascina i collegamenti per riordinarli.","static.video":"Cinema","static.javascript":"Attiva JavaScript per personalizzare i collegamenti.","static.help":"Aiuto","static.settings":"Impostazioni","static.language":"Lingua","static.createShortcut":"Crea un collegamento","static.createCategory":"Crea una categoria","static.importTelegraph":"Importa un backup","static.theater":"Apri la modalità Cinema Tesla","static.moreOptions":"Altre opzioni","static.exportJSON":"Salva un file JSON","static.reset":"Ripristina i collegamenti","static.about":"Aiuto e informazioni","static.newCategory":"Nuova categoria","static.name":"Nome","static.icon":"Icona","static.cancel":"Annulla","static.create":"Crea","static.newShortcut":"Nuovo collegamento","static.website":"Indirizzo del sito","static.category":"Categoria","static.restore":"Importa un backup","static.shareInput":"Codice o link","static.load":"Carica i miei collegamenti","static.importJSON":"Importa un file JSON","static.jsonFile":"File JSON","static.close":"Chiudi","static.use":"Usa questi collegamenti","static.shareTitle":"Esporta un backup","static.backupName":"Nome (facoltativo)","static.public":"Questo backup sarà pubblico.","static.portalAddress":"Indirizzo di EvPortal","static.otherAddress":"Indirizzo di EvPortal sull’altro schermo","static.publish":"Crea il mio backup","static.scan":"Scansiona con il telefono.","static.carCode":"Codice da inserire nella Tesla","static.copyCode":"Copia codice","static.importHint":"Tesla: Impostazioni → Backup → Importa un backup.","static.copyLink":"Copia link","static.sharedLinks":"I miei backup","static.showBackups":"Aggiorna","static.addShortcuts":"Aggiungi collegamenti","static.searchService":"Cerca un servizio","static.home":"EvPortal, home","static.search":"Cerca","static.enterFullscreen":"Attiva schermo intero","static.shareAccessible":"Esporta un backup","static.addAccessible":"Aggiungi un collegamento o una categoria","static.clearSearch":"Cancella ricerca","static.categories":"Categorie","static.qrAccessible":"Codice QR per recuperare i tuoi collegamenti","static.searchPlaceholder":"Cerca…","static.tripsPlaceholder":"I miei viaggi","static.servicePlaceholder":"Il mio servizio","static.urlPlaceholder":"https://esempio.it","static.codePlaceholder":"Codice o link EvPortal","static.defaultBackup":"I miei collegamenti EvPortal","static.description":"Personalizza il tuo portale Tesla con scorciatoie per ricarica, musica e meteo, preferiti e backup. Gratuito, con trasferimenti QR dal telefono.","static.socialTitle":"EvPortal — Scorciatoie per il browser Tesla","static.socialDescription":"Personalizza il tuo portale Tesla con scorciatoie per ricarica, musica e meteo, preferiti e backup. Gratuito, con trasferimenti QR dal telefono.","static.previewAlt":"EvPortal: collegamenti per ricarica, musica, streaming e navigazione.","static.twitterDescription":"Personalizza il tuo portale Tesla con scorciatoie per ricarica, musica e meteo, preferiti e backup. Gratuito, con trasferimenti QR dal telefono.","static.twitterAlt":"I collegamenti EvPortal in modalità scura.","static.nameBackup":"Assegna un nome al backup","static.undoTransfer":"Annulla l’ultimo trasferimento","static.backups":"Backup","static.exportBackup":"Esporta un backup","static.importBackup":"Importa un backup"},"ru":{"app.startFailed":"Не удалось запустить портал. Обновите страницу.","app.storageUnavailable":"Локальное хранилище недоступно или заполнено. Экспортируйте настройки, чтобы сохранить изменения.","app.storageRecovery":"Локальная копия недоступна или не читается. Прежние данные сохранены. Экспортируйте сеанс перед закрытием портала.","app.all":"Все","app.favorites":"Избранное","app.move":"Переместить {name}","app.previousMoveCancelled":"Предыдущее перемещение отменено.","app.moveSelected":"Выбрано: {name}. Стрелки — переместить, Enter — разместить, Escape — отменить.","app.moveCancelled":"Перемещение отменено.","app.movePosition":"{name}, позиция {position} из {count}.","app.orderSaved":"Порядок сохранён.","app.editCategory":"Изменить категорию {name}","app.deleteCategory":"Удалить категорию {name}","app.confirmDeleteCategory":"Удалить «{name}» и все ссылки ({count}) в этой категории?","app.categoryDeleted":"Категория удалена.","app.openNewTab":"{name} — новая вкладка","app.removeFavorite":"Убрать {name} из избранного","app.addFavorite":"Добавить {name} в избранное","app.favoriteAdded":"{name} добавлено в избранное.","app.favoriteRemoved":"{name} удалено из избранного.","app.editShortcut":"Изменить {name}","app.deleteShortcut":"Удалить {name}","app.confirmDeleteShortcut":"Удалить ссылку «{name}»?","app.shortcutDeleted":"Ссылка удалена.","app.allShortcuts":"Все ссылки","app.allDescription":"Все сервисы и ссылки в одном месте.","app.searchResults":"Результаты поиска","app.searchDescription":"Поиск «{query}» во всех категориях.","app.myFavorites":"Моё избранное","app.favoritesDescription":"Всё нужное всегда под рукой.","app.categoryDescription":"Ваши ссылки в этой категории.","app.shortcutCount":"Ссылки: {count}","app.shortcutCountOne":"Ссылок: {count}","app.noShortcuts":"Ссылки не найдены","app.emptyFavorites":"Сохраните здесь нужные ссылки","app.emptyCategory":"Создайте свою страницу","app.searchHint":"Попробуйте другое название, домен или ключевое слово.","app.favoriteHint":"Нажмите на звезду ссылки, чтобы добавить её в избранное.","app.emptyHint":"Добавьте ссылки из каталога или создайте свои.","app.clearSearch":"Очистить поиск","app.exploreCatalog":"Открыть каталог","app.usageOrderHint":"Все: сначала часто используемые. Для перемещения откройте категорию ссылки или Избранное.","app.dragHint":"Перетаскивайте ссылки, чтобы изменить порядок.","app.finishEditing":"Завершить редактирование","app.editShortcuts":"Изменить ссылки","app.finish":"Готово","app.edit":"Изменить","app.categoryRequired":"Сначала создайте категорию для ссылки.","app.editShortcutTitle":"Изменить ссылку","app.addShortcutTitle":"Добавить ссылку","app.save":"Сохранить","app.addShortcutSubmit":"Добавить ссылку","app.editCategoryTitle":"Изменить категорию","app.newCategory":"Новая категория","app.create":"Создать","app.categoryLimitHint":"Достигнут лимит: {max} личных категорий. Измените или удалите существующую категорию.","app.categoryCountHint":"Личных категорий: {count}/{max} · До {length} символов.","app.categoryGone":"Категория удалена в другой вкладке. Закройте форму и повторите попытку.","app.categoryNameInvalid":"Введите название длиной от 1 до {max} символов.","app.categoryLimit":"Достигнут лимит личных категорий: {max}.","app.categoryDuplicate":"Категория с таким названием уже существует.","app.iconRequired":"Выберите один из предложенных значков.","app.categoryDescriptionInvalid":"Описание не должно превышать 240 символов.","app.categoryChanged":"Категория изменена.","app.categoryCreated":"Категория создана.","app.selectCategory":"Выберите существующую категорию.","app.shortcutGone":"Ссылка удалена в другой вкладке. Закройте форму и повторите попытку.","app.shortcutLimit":"Достигнут лимит в 5 000 ссылок.","app.shortcutFieldsInvalid":"Проверьте название (до 100 символов) и описание (до 300).","app.shortcutDuplicate":"Эта ссылка уже существует. Измените её категории, чтобы показывать её в других разделах.","app.shortcutChanged":"Ссылка изменена.","app.shortcutAdded":"Ссылка добавлена.","app.alreadyPresentNamed":"Уже добавлено: {name}","app.addNamed":"Добавить {name}","app.alreadyPresent":"Уже добавлено","app.add":"Добавить","app.totalCategoryLimit":"Достигнут лимит в 50 категорий.","app.addedToCategory":"{name} добавлено в категорию «{category}».","app.noServices":"По этому запросу ничего не найдено.","app.catalogComplete":"Ваш каталог уже полон. Создайте собственную ссылку.","app.catalogHint":"Верните удалённый сервис или создайте собственную ссылку.","app.sharedConfig":"Добавляет копию в список, не изменяя ваши ярлыки.","app.importPreview":"Категории: {categories} · Ярлыки: {count}","app.fileTooLarge":"Файл превышает лимит в 2 МБ.","app.loadingConfig":"Загрузка настроек…","app.telegraphNotReturned":"Telegra.ph не вернул эту страницу. Проверьте её код.","app.pageTooLarge":"Эта страница слишком велика для импорта.","app.telegraphUnreadable":"Страница Telegra.ph не найдена или не читается.","app.noConfigInPage":"Страница не содержит настроек EvPortal.","app.connectionTimeout":"Время ожидания истекло. Повторите попытку чуть позже.","app.imported":"Настройки импортированы.","app.exportReady":"Экспорт JSON готов. Сохраните файл для переноса ссылок на другое устройство.","app.exportFailed":"Не удалось подготовить файл резервной копии.","app.confirmReset":"Восстановить исходный каталог? Ваши ссылки и избранное будут заменены. Экспортируйте их перед продолжением.","app.catalogReset":"Исходный каталог восстановлен.","app.switchToLight":"Включить светлую тему","app.switchToDark":"Включить тёмную тему","app.fullscreenReload":"Обновите страницу, чтобы включить полноэкранный режим.","app.fullscreenUnavailable":"Полноэкранный режим недоступен в этом браузере.","app.exitFullscreen":"Выйти из полноэкранного режима","app.enterFullscreen":"Включить полноэкранный режим","app.syncedFromTab":"Изменения из другой вкладки загружены.","app.unreadableTabState":"Резервная копия из другой вкладки не читается. Текущий сеанс сохранён.","app.legacyRecovered":"Ваши прежние ссылки восстановлены.","app.catalogUpdated":"Обновлено адресов в каталоге: {count}.","app.invalidConfig":"Настройки недействительны или несовместимы. Проверьте файл или код и повторите попытку.","app.invalidShortcutURL":"Используйте полный адрес с https:// или http:// без пробелов и учётных данных.","app.invalidImportCode":"Используйте код Telegra.ph, адрес telegra.ph или действительную ссылку обмена EvPortal.","app.connectionFailed":"Не удалось подключиться. Проверьте сеть и повторите попытку.","app.icon.all":"Сетка","app.icon.favorites":"Звезда","app.icon.cinema":"Видео","app.icon.music":"Музыка","app.icon.tv":"Телевидение","app.icon.charging":"Зарядка","app.icon.games":"Игры","app.icon.navigation":"Маршруты","app.icon.social":"Сообщения","app.icon.news":"Новости","app.icon.weather":"Погода","app.icon.productivity":"Инструменты","app.icon.folder":"Папка","app.otherCategories":"Другие категории","backup.links":"Код или ссылка","backup.phone":"Телефон","backup.library":"Мои копии","backup.create":"Создать","backup.add":"Добавить","backup.send":"Отправить","backup.receive":"Получить","backup.restore":"Восстановить","backup.createTitle":"Создать код или ссылку","backup.addTitle":"Добавить копию","backup.restoreTitle":"Восстановить копию","backup.chooseTitle":"Выбрать копию","backup.code":"Код","backup.link":"Ссылка EvPortal","backup.copyCode":"Копировать код","backup.addHint":"Добавляет копию в список, не изменяя ваши ярлыки.","backup.added":"Копия добавлена.","backup.restored":"Копия восстановлена.","backup.local":"На этом устройстве","backup.online":"В сети","backup.empty":"Нет сохранённых копий.","backup.receivedTitle":"Полученные ярлыки","backup.fileTitle":"Импортированная копия","backup.deleteNamed":"Удалить «{name}»","backup.deleted":"Копия удалена.","backup.savedSummary":"Категории: {categories} · Ярлыки: {count}","backup.load":"Проверить","backup.restoreHint":"Заменяет ярлыки на этом устройстве.","backup.selected":"Выбранная копия","backup.choose":"Выбрать","backup.localCopy":"Копия сохранена на этом устройстве.","backup.undoRestore":"Отменить последнее восстановление","backup.storageUnavailable":"Хранилище копий недоступно или заполнено.","backup.invalidLibrary":"Не удалось прочитать библиотеку копий. Существующие данные сохранены.","backup.invalidBackup":"Эта копия недействительна.","backup.limit":"На этом устройстве можно хранить до {max} копий.","backup.tooLarge":"Размер этой копии превышает {max} МБ.","backup.missing":"Эта копия больше недоступна.","backup.retry":"Повторить","category.all":"Все","category.favorites":"Избранное","category.cinema":"Видео","category.music":"Музыка","category.tv":"ТВ","category.charging":"Зарядка","category.games":"Игры","category.navigation":"Маршруты","category.social":"Общение","category.news":"Новости","category.weather":"Погода","category.productivity":"Инструменты","category.folder":"Папка","help.title":"Руководство EvPortal — Браузер Tesla, ярлыки и резервные копии","help.description":"Откройте EvPortal в браузере Tesla, настройте избранное и передавайте копии по коду, ссылке или QR. Руководство по началу работы и восстановлению ярлыков.","help.language":"Язык","help.back":"Вернуться к ярлыкам","help.heading":"Руководство по EvPortal для браузера Tesla","help.intro":"Нажмите на ярлык, чтобы открыть сервис в новой вкладке. Кнопка темы вверху переключает светлый и тёмный режимы. В настройках доступны восемь языков с названиями и флагами; арабский отображается справа налево.","help.organizeHeading":"Упорядочить ярлыки","help.ranking":"В разделе «Все» сначала показаны ярлыки, которые вы открываете чаще всего. При равном числе открытий сохраняется ручной порядок. Сортировка сохраняется после перезагрузки страницы.","help.dragging":"В категории или в «Избранном» нажмите «Изменить» и перемещайте ярлыки за маркеры. Звезда добавляет в избранное, карандаш позволяет редактировать. Когда закончите, нажмите «Готово». В разделе «Все» сохраняется автоматическая сортировка.","help.keyboard":"С клавиатуры выберите маркер, нажмите Пробел, перемещайте стрелками и подтвердите клавишей Enter. Escape отменяет перемещение.","help.addHeading":"Добавить ярлык или категорию","help.adding":"Кнопка + открывает каталог и позволяет создать ярлык или категорию. Пометка «Уже добавлено» означает, что сервис уже есть на вашей панели. Поиск охватывает все ярлыки.","help.categories":"Можно создать до пяти личных категорий с названиями до 16 символов и выбрать значок. Карандаш позволяет их редактировать. Старые категории, превышающие эти ограничения, сохраняются. Отображаемые категории размещаются без горизонтальной прокрутки.","help.transferHeading":"Телефон: отправка и получение","help.stepPrepare":"В разделе Настройки → Телефон выберите Отправить или Получить.","help.stepPublish":"Отсканируйте показанный QR-код телефоном.","help.stepCode":"Для отправки с телефона выберите его ярлыки или копию и нажмите Отправить.","help.stepImport":"На принимающем экране нажмите Добавить, чтобы сохранить копию на этом устройстве.","help.stepApply":"Чтобы использовать её содержимое, откройте Мои копии → Восстановить.","help.qr":"QR-код служит для переноса с телефоном. При создании кода или ссылки QR-код не отображается.","help.snapshot":"Перенос зашифрован и действует пять минут, если сервис доступен. Передаётся снимок без автоматической синхронизации. Получение копии не заменяет ваши ярлыки.","help.public":"В разделе Настройки → Код или ссылка кнопка Создать подготавливает код и ссылку EvPortal для копирования. Добавить принимает любой из вариантов и сохраняет локальную копию после проверки. Файлы JSON доступны в разделе Другие параметры. Созданная страница Telegra.ph общедоступна; локальная копия и страница в сети независимы.","help.fullscreenHeading":"Полноэкранный режим Tesla","help.fullscreen":"На парковке нажмите «Полный экран». На YouTube выберите «Перейти на сайт» или Go to site, чтобы вернуться в EvPortal в режиме кинотеатра. Ярлыки запрашивают новую вкладку; её поведение зависит от браузера автомобиля.","help.fullscreenFallback":"Если Tesla не распознана, выберите «Открыть режим «Кинотеатр Tesla»» в настройках. На компьютере кнопка включает обычный полноэкранный режим. Перенаправление может измениться после обновлений автомобиля или YouTube.","help.compatibility":"Открытие сайта не гарантирует воспроизведение видео: возможны ограничения страны, аккаунта, подписки или браузера. Используйте развлечения на парковке.","help.teslaManual":"Руководство Tesla","help.myTesla":"Способ, описанный myTesla","help.storageHeading":"Восстановление копии","help.storage":"В разделе Настройки → Мои копии → Восстановить выберите копию в разделе На этом устройстве или В сети и проверьте содержимое. Только Восстановить заменяет ярлыки. В разделе Другие параметры в настройках можно отменить последнее восстановление. Добавление кода, ссылки, файла или переноса по QR сохраняет копию без её применения. Каждый браузер хранит собственный локальный список.","help.previewHeading":"Проверить локальную версию","help.preview":"QR-код использует адрес открытого портала. На телефоне localhost или 127.0.0.1 обозначает сам телефон. Для проверки между устройствами портал и сервис переноса должны быть доступны обоим по HTTPS. Коды и ссылки на копии используют публичный адрес EvPortal.","help.privacyHeading":"О проекте и конфиденциальности","help.privacy":"EvPortal бесплатен и не связан с Tesla. Логотипы и переводы включены в сайт. Счётчики открытий остаются в вашей конфигурации; сервисов аналитики нет. Обращение к Telegra.ph происходит по вашему запросу; токен аккаунта не включается в публикацию. Открываемые сайты применяют собственные правила.","help.source":"Исходный код","help.report":"Сообщить о проблеме","help.license":"EvPortal · Лицензия MIT","help.backupHeading":"Код или ссылка","help.preferencesHeading":"Выбор каталога и начального экрана","help.preferences":"В разделе Настройки → Каталог и начальный экран выберите страну, видимые категории и открытие избранного при запуске. Страна меняет подборку в разделе Добавить, не удаляя ваши ярлыки. Показать все страны расширяет каталог. Ярлыки скрытых категорий остаются в разделах Все и Избранное. Эти параметры хранятся только на этом устройстве и не передаются в резервных копиях или по QR-коду. Начальная страна определяется по региону браузера без запроса вашего местоположения.","help.sharedServices":"Сервис может отображаться в нескольких категориях с общим статусом избранного и счётчиком; в разделе Все он появляется один раз. При редактировании откройте Другие категории, чтобы выбрать, где он отображается. При удалении категории сохраняются сервисы, входящие и в другую категорию.","pair.receiveButton":"Получить с телефона","pair.receiveTitle":"Получить с телефона","pair.scanHint":"Сканируйте этот QR-код телефоном.","pair.qrAccessible":"QR-код для передачи на этот экран","pair.apply":"Добавить","pair.newQR":"Новый QR-код","pair.sendTitle":"Отправить в Tesla","pair.send":"Отправить мои ярлыки","pair.chooseBackup":"Выбрать копию","pair.sendHint":"Ярлыки этого телефона будут предложены на другом экране.","pair.privateHint":"Зашифрованная передача, действует 5 минут.","pair.preparing":"Подготовка QR-кода…","pair.waiting":"Ожидание телефона · {time}","pair.retrying":"Повторное подключение… · {time}","pair.summary":"{categories} категорий · {count} ярлыков","pair.ready":"Копия получена. Добавьте её в свои резервные копии.","pair.sending":"Отправка…","pair.sent":"Отправлено. Добавьте копию на другом экране.","pair.applied":"Копия добавлена.","pair.expired":"Срок действия QR-кода истёк. Создайте новый на другом экране.","pair.receiverExpired":"Срок действия QR-кода истёк. Создайте новый.","pair.notConfigured":"Прямая передача пока недоступна. Используйте копию Telegra.ph.","pair.unsupported":"Этот браузер не поддерживает зашифрованную передачу. Используйте копию Telegra.ph.","pair.invalidLink":"Недействительный QR-код передачи. Сканируйте новый код.","pair.invalidResponse":"Сервис передачи вернул неверный ответ. Повторите попытку с новым QR-кодом.","pair.networkError":"Не удалось подключиться. Проверьте сеть и повторите попытку.","pair.timeout":"Время ожидания подключения истекло. Повторите попытку.","pair.unauthorized":"Эта передача больше не разрешена. Сканируйте новый QR-код.","pair.alreadySent":"Этот QR-код уже получил ярлыки. Создайте новый, чтобы повторить передачу.","pair.tooLarge":"Эта конфигурация слишком велика для прямой передачи. Экспортируйте её в файл JSON.","pair.invalidConfig":"Полученная конфигурация недействительна. Ваши текущие ярлыки сохранены.","pair.decryptFailed":"Не удалось прочитать передачу. Создайте новый QR-код.","pair.applyFailed":"Не удалось добавить эту копию. Повторите попытку.","pair.serviceUnavailable":"Сервис передачи временно недоступен. Повторите попытку чуть позже.","pair.stepScan":"Сканировать","pair.stepSend":"Отправить","pair.stepApply":"Добавить","pair.storageUnavailable":"Не удалось сохранить на этом экране. Ваши текущие ярлыки сохранены.","pair.undone":"Предыдущие ярлыки восстановлены.","pair.deliveryUnknown":"Проверьте другой экран: возможно, ваши ярлыки уже получены. Если нет, создайте новый QR-код.","pair.offerButton":"Отправить на телефон","pair.offerTitle":"Мои ярлыки на телефоне","pair.offerScanHint":"Отсканируйте этот QR-код телефоном.","pair.offerPreparing":"Подготовка к отправке…","pair.offerWaiting":"Можно получить на телефоне · {time}","pair.offerExpired":"Срок действия QR-кода истёк. Создайте новый.","pair.offerReady":"Копия готова к получению.","pair.downloadTitle":"Получить копию","pair.downloading":"Получение копии…","pair.added":"Копия добавлена в ваши резервные копии.","pair.addFailed":"Не удалось добавить эту копию. Повторите попытку.","pair.downloadExpired":"Срок действия переноса истёк или копия уже получена. Создайте новый QR-код на другом экране.","pair.offerQRAccessible":"QR-код для получения этой копии на телефоне","prefs.title":"Каталог и начальный экран","prefs.country":"Страна каталога","prefs.marketHint":"Страна определяет подборку в разделе Добавить.","prefs.homeFavorites":"Открывать мои избранные","prefs.visibleCategories":"Показываемые категории","prefs.categoriesHint":"Ярлыки остаются доступными в разделах Все и Избранное.","prefs.allMarkets":"Все страны","prefs.showAllMarkets":"Показать все страны","prefs.saveFailed":"Настройки сохранены только на время этого сеанса.","prefs.invalid":"Эти настройки недопустимы.","prefs.country.FR":"Франция","prefs.country.CA":"Канада","prefs.country.US":"Соединенные Штаты","prefs.country.BE":"Бельгия","prefs.country.GB":"Великобритания","prefs.country.DE":"Германия","prefs.country.ES":"Испания","prefs.country.IT":"Италия","prefs.country.PT":"Португалия","prefs.country.AU":"Австралия","prefs.country.NZ":"Новая Зеландия","prefs.country.CH":"Швейцария","prefs.country.ALL":"Все страны","prefs.country.MX":"Мексика","seo.introHeading":"Стартовая страница с ярлыками для вашей Tesla","seo.intro":"EvPortal — бесплатный независимый портал, который собирает ваши любимые сайты на одной странице, созданной для браузера Tesla. Им также можно пользоваться в браузере телефона или компьютера. Крупные значки открывают выбранные сервисы, не заполняя главный экран текстами и виджетами. Вы можете настроить ярлыки, категории и их порядок, а затем выбрать светлую или тёмную тему. Так нужные ссылки остаются под рукой во время остановки.","seo.startHeading":"Начало работы в браузере автомобиля","seo.start":"На припаркованном автомобиле откройте адрес EvPortal в браузере. Добавьте страницу в избранное браузера, если такая возможность доступна, чтобы легко вернуться к ней. Для открытия портала не нужно устанавливать приложение или входить в учётную запись Tesla. В настройках язык интерфейса и страна каталога выбираются отдельно. Ваши настройки остаются на этом устройстве; резервная копия позволяет сохранить ярлыки или перенести их на другое устройство.","seo.chargingHeading":"Нужные сервисы во время зарядки","seo.charging":"Добавьте ссылки на планировщики маршрутов и зарядок, радиостанции, музыку и прогноз погоды. Каталог предлагает сервисы для выбранной страны; также можно указать собственный адрес сайта. Каждый ярлык открывает сайт сервиса с его условиями доступа. EvPortal не управляет зарядкой и не отправляет команды автомобилю. Развлекательные материалы просматривайте на стоянке. Выбор другой страны в настройках каталога меняет предложения, но не удаляет уже добавленные ярлыки.","seo.faqHeading":"Частые вопросы","seo.faqFreeQuestion":"EvPortal бесплатный?","seo.faqFreeAnswer":"Да. Портал бесплатный и не связан с Tesla. Некоторые сайты, открываемые по ссылкам, могут требовать учётную запись или подписку; эти условия определяет сам сервис.","seo.faqPhoneQuestion":"Как подготовить ярлыки на телефоне?","seo.faqPhoneAnswer":"Откройте EvPortal на телефоне и настройте ярлыки. В настройках раздел «Телефон» позволяет передавать копии по QR-коду в обоих направлениях. На принимающем экране кнопка «Добавить» сохраняет резервную копию. Чтобы использовать её содержимое, затем выберите «Мои копии» и «Восстановить». Само получение копии не заменяет ваши ярлыки.","seo.faqOfflineQuestion":"Работает ли EvPortal без интернета?","seo.faqOfflineAnswer":"Браузер хранит вашу конфигурацию локально, но у EvPortal нет автономного режима. Подключение нужно для загрузки портала, открытия сервисов и передачи резервных копий. Файл JSON позволяет сохранить отдельную копию для последующего восстановления.","seo.languages":"Доступные языки","seo.operatingSystem":"Веб","seo.browserRequirements":"Браузер с JavaScript и локальным хранилищем; HTTPS и криптографические функции для передачи по QR-коду.","seo.featureFavorites":"Настраиваемые ярлыки и избранное","seo.featureDrag":"Изменение порядка перетаскиванием на сенсорном экране","seo.featureQR":"Передача резервных копий по QR-коду с телефона","seo.featureBackup":"Резервные копии по коду, ссылке или в файле JSON","share.tooLarge":"Настройки превышают лимит Telegra.ph в 64 КБ. Удалите часть ссылок или используйте файл.","share.noConnection":"Подключение недоступно в этом браузере.","share.publishTimeout":"Время ожидания истекло. Проверьте «Мои копии» перед повторной попыткой.","share.timeout":"Telegra.ph не отвечает. Повторите попытку позже.","share.networkError":"Не удалось подключиться к Telegra.ph. Проверьте соединение.","share.unavailable":"Telegra.ph недоступен. Повторите попытку позже.","share.badResponse":"Не удалось прочитать ответ Telegra.ph. Повторите попытку позже.","share.rateLimited":"Слишком много запросов. Подождите перед повторной попыткой.","share.invalidAccount":"Аккаунт Telegra.ph недоступен. Ваш прежний аккаунт сохранён.","share.refused":"Telegra.ph отклонил запрос. Повторите попытку позже.","share.accountNotCreated":"Аккаунт Telegra.ph не создан. Повторите попытку позже.","share.invalidTitle":"Недопустимое название публикации (до 256 символов).","share.sessionOnly":"Аккаунт сохранён только на время сеанса. Сохраните ссылку на публикацию.","share.invalidPage":"Недопустимая позиция страницы.","share.badHistory":"Не удалось прочитать список Telegra.ph.","share.localPreview":"Локальный просмотр: на телефоне используйте сетевой адрес этой версии.","share.localPreviewOld":"Локальная тестовая версия: для проверки на телефоне используйте её доступный сетевой адрес. По публичному адресу доступна опубликованная версия, которая может отличаться от этой тестовой версии.","share.qrLabel":"Отсканируйте телефоном, чтобы открыть эти ссылки EvPortal","share.qrAddressUnavailable":"QR-код недоступен для этого адреса. Скопируйте ссылку.","share.qrUnavailable":"QR-код недоступен. Скопируйте ссылку.","share.publishing":"Сохранение…","share.publish":"Создать копию","share.created":"Копия создана.","share.copyUnavailable":"Копирование недоступно. Выделите текст, чтобы скопировать его вручную.","share.linkCopied":"Ссылка скопирована.","share.codeCopied":"Код скопирован.","share.import":"Импортировать","share.importNamed":"Импортировать {name}","share.more":"Показать ещё","share.empty":"Нет копий.","share.secureRandomUnavailable":"В этом браузере невозможно создать случайную ссылку для публикации. Используйте современный браузер.","share.unsafePath":"Telegra.ph не сохранил случайный идентификатор. Конфигурация не была опубликована.","share.deleteNamed":"Удалить {name}","share.deleted":"Копия удалена.","share.noAccount":"В этом браузере нет аккаунта для резервных копий.","state.fullURL":"Укажите полный адрес, начинающийся с https:// или http://, без пробелов.","state.invalidURL":"Недопустимый адрес сайта.","state.safeURL":"Ссылки должны использовать HTTP или HTTPS и не содержать данные для входа.","state.invalidID":"Недопустимый идентификатор категории или ярлыка.","state.shortcutObject":"Каждый ярлык должен быть объектом.","state.duplicateShortcut":"У двух ярлыков одинаковый идентификатор.","state.favoriteBoolean":"Значение избранного должно быть логическим.","state.invalidColor":"Недопустимый цвет ярлыка.","state.invalidCount":"Недопустимый счётчик использования ярлыка.","state.invalidFormat":"Неизвестный формат EvPortal или несовместимая версия копии.","state.tooManyCategories":"В копии больше 50 категорий.","state.invalidCategory":"Недопустимая категория.","state.reservedCategory":"Зарезервированный или повторяющийся идентификатор категории.","state.invalidIcon":"Недопустимый значок категории.","state.tooManyShortcuts":"В копии больше 5000 ярлыков.","state.invalidTheme":"Недопустимая тема в копии.","state.missingCategory":"Активная категория из копии не найдена.","state.invalidOrder":"Недопустимый порядок ярлыков.","state.backupObject":"Копия должна быть объектом JSON.","state.invalidLegacyList":"Недопустимый список старых категорий.","state.duplicateCategories":"В списке есть повторяющиеся категории.","state.foreignData":"В копии есть данные, не относящиеся к категориям EvPortal.","state.invalidLegacyShortcut":"Недопустимый старый ярлык.","state.invalidShortcutOrder":"Недопустимая позиция ярлыка.","state.largeFile":"Файл превышает ограничение в 2 МБ.","state.invalidJSON":"Файл не содержит корректный JSON.","state.storageUnavailable":"Хранилище недоступно","state.invalidLegacyCategories":"Недопустимые старые категории","state.reservedLegacyCategory":"Зарезервированная старая категория","state.invalidMove":"Недопустимое перемещение ярлыка.","state.telegraphLink":"Укажите ссылку telegra.ph или идентификатор страницы.","state.telegraphID":"Недопустимый идентификатор страницы Telegra.ph.","state.portalLink":"Укажите ссылку EvPortal ровно с одним кодом импорта.","state.invalidField":"Недопустимое поле «{field}» (не более {max} символов).","state.invalidFieldShort":"Недопустимое поле «{field}».","state.urlLabel":"Адрес сайта","state.shortcutName":"Название ярлыка","state.shortcutDescription":"Описание ярлыка","state.shortcutTag":"Метка ярлыка","state.categoryName":"Название категории","state.categoryDescription":"Описание категории","state.catalogVersion":"Версия каталога","state.telegraphIDLabel":"Идентификатор Telegra.ph","state.shareCodeLabel":"Ссылка или код импорта","state.invalidCategoryShortcuts":"Ярлыки категории «{name}» недопустимы.","state.storageWarning":"Локальная копия недоступна или не читается. Предыдущие данные сохранены. Изменения в этом сеансе временные: экспортируйте их в JSON.","static.title":"EvPortal — Стартовая страница и ярлыки для браузера Tesla","static.skip":"Перейти к ярлыкам","static.tagline":" — ярлыки для Tesla","static.fullscreen":"Полный экран","static.share":"Поделиться","static.edit":"Изменить","static.add":"Добавить","static.searchLabel":"Найти ярлык","static.dragInstructions":"Пробел — выбрать, стрелки — переместить, Enter — разместить, Escape — отменить.","static.reorder":"Перетаскивайте ярлыки, чтобы изменить порядок.","static.video":"Кино","static.javascript":"Включите JavaScript, чтобы настроить ярлыки.","static.help":"Помощь","static.settings":"Настройки","static.language":"Язык","static.createShortcut":"Создать ярлык","static.createCategory":"Создать категорию","static.importTelegraph":"Импортировать копию","static.theater":"Открыть режим «Кинотеатр Tesla»","static.moreOptions":"Другие параметры","static.exportJSON":"Сохранить файл JSON","static.reset":"Сбросить ярлыки","static.about":"Помощь и информация","static.newCategory":"Новая категория","static.name":"Название","static.icon":"Значок","static.cancel":"Отмена","static.create":"Создать","static.newShortcut":"Новый ярлык","static.website":"Адрес сайта","static.category":"Категория","static.restore":"Импортировать копию","static.shareInput":"Код или ссылка","static.load":"Загрузить мои ярлыки","static.importJSON":"Импортировать файл JSON","static.jsonFile":"Файл JSON","static.close":"Закрыть","static.use":"Использовать эти ярлыки","static.shareTitle":"Экспортировать копию","static.backupName":"Название (необязательно)","static.public":"Эта копия будет общедоступна.","static.portalAddress":"Адрес EvPortal","static.otherAddress":"Адрес EvPortal на другом экране","static.publish":"Создать копию","static.scan":"Отсканируйте телефоном.","static.carCode":"Код для ввода в Tesla","static.copyCode":"Копировать код","static.importHint":"Tesla: Настройки → Резервные копии → Импортировать копию.","static.copyLink":"Копировать ссылку","static.sharedLinks":"Мои копии","static.showBackups":"Обновить","static.addShortcuts":"Добавить ярлыки","static.searchService":"Найти сервис","static.home":"EvPortal, главная","static.search":"Поиск","static.enterFullscreen":"На весь экран","static.shareAccessible":"Экспортировать копию","static.addAccessible":"Добавить ярлык или категорию","static.clearSearch":"Очистить поиск","static.categories":"Категории","static.qrAccessible":"QR-код для восстановления ярлыков","static.searchPlaceholder":"Поиск…","static.tripsPlaceholder":"Мои поездки","static.servicePlaceholder":"Мой сервис","static.urlPlaceholder":"https://example.com","static.codePlaceholder":"Код или ссылка EvPortal","static.defaultBackup":"Мои ярлыки EvPortal","static.description":"Настройте портал Tesla: ярлыки для зарядки, музыки и погоды, избранное и резервные копии. Бесплатно, с передачей копий по QR-коду с телефона.","static.socialTitle":"EvPortal — Стартовая страница и ярлыки для браузера Tesla","static.socialDescription":"Настройте портал Tesla: ярлыки для зарядки, музыки и погоды, избранное и резервные копии. Бесплатно, с передачей копий по QR-коду с телефона.","static.previewAlt":"EvPortal: ярлыки для зарядки, музыки, стриминга и навигации.","static.twitterDescription":"Настройте портал Tesla: ярлыки для зарядки, музыки и погоды, избранное и резервные копии. Бесплатно, с передачей копий по QR-коду с телефона.","static.twitterAlt":"Ярлыки EvPortal в тёмном режиме.","static.nameBackup":"Назвать копию","static.undoTransfer":"Отменить последний перенос","static.backups":"Резервные копии","static.exportBackup":"Экспортировать копию","static.importBackup":"Импортировать копию"},"ar":{"app.startFailed":"تعذّر تشغيل البوابة. أعد تحميل الصفحة للمحاولة مجددًا.","app.storageUnavailable":"التخزين المحلي غير متاح أو ممتلئ. صدّر إعداداتك للاحتفاظ بتغييرات هذه الجلسة.","app.storageRecovery":"النسخة المحلية غير متاحة أو غير قابلة للقراءة. بياناتك السابقة محفوظة. صدّر هذه الجلسة قبل إغلاق البوابة.","app.all":"الكل","app.favorites":"المفضلة","app.move":"نقل {name}","app.previousMoveCancelled":"تم إلغاء النقل السابق.","app.moveSelected":"تم اختيار {name}. استخدم الأسهم للنقل وEnter للإفلات وEscape للإلغاء.","app.moveCancelled":"تم إلغاء النقل.","app.movePosition":"{name}، الموضع {position} من {count}.","app.orderSaved":"تم حفظ الترتيب.","app.editCategory":"تعديل فئة {name}","app.deleteCategory":"حذف فئة {name}","app.confirmDeleteCategory":"هل تريد حذف «{name}» واختصاراتها البالغ عددها {count}؟","app.categoryDeleted":"تم حذف الفئة.","app.openNewTab":"{name} — علامة تبويب جديدة","app.removeFavorite":"إزالة {name} من المفضلة","app.addFavorite":"إضافة {name} إلى المفضلة","app.favoriteAdded":"تمت إضافة {name} إلى المفضلة.","app.favoriteRemoved":"تمت إزالة {name} من المفضلة.","app.editShortcut":"تعديل {name}","app.deleteShortcut":"حذف {name}","app.confirmDeleteShortcut":"هل تريد حذف الاختصار «{name}»؟","app.shortcutDeleted":"تم حذف الاختصار.","app.allShortcuts":"كل الاختصارات","app.allDescription":"كل خدماتك واختصاراتك في مكان واحد.","app.searchResults":"نتائج البحث","app.searchDescription":"البحث عن «{query}» في جميع الفئات.","app.myFavorites":"مفضلتي","app.favoritesDescription":"كل ما تحتاجه في متناول يدك.","app.categoryDescription":"اختصاراتك في هذه الفئة.","app.shortcutCount":"الاختصارات: {count}","app.shortcutCountOne":"الاختصارات: {count}","app.noShortcuts":"لم يتم العثور على اختصارات","app.emptyFavorites":"احتفظ بما تحتاجه هنا","app.emptyCategory":"صفحة تناسبك","app.searchHint":"جرّب اسمًا أو نطاقًا أو كلمة أخرى.","app.favoriteHint":"اضغط على نجمة الاختصار لإضافته إلى المفضلة.","app.emptyHint":"أضف اختصارات من الدليل أو أنشئ اختصاراتك.","app.clearSearch":"مسح البحث","app.exploreCatalog":"تصفّح الدليل","app.usageOrderHint":"الكل: الأكثر استخدامًا أولًا. لنقل اختصار، افتح فئته أو المفضلة.","app.dragHint":"اسحب الاختصارات لإعادة ترتيبها.","app.finishEditing":"إنهاء التعديل","app.editShortcuts":"تعديل الاختصارات","app.finish":"تم","app.edit":"تعديل","app.categoryRequired":"أنشئ فئة أولًا لإضافة اختصارك.","app.editShortcutTitle":"تعديل الاختصار","app.addShortcutTitle":"إضافة اختصار","app.save":"حفظ","app.addShortcutSubmit":"إضافة الاختصار","app.editCategoryTitle":"تعديل الفئة","app.newCategory":"فئة جديدة","app.create":"إنشاء","app.categoryLimitHint":"تم بلوغ الحد: {max} فئات شخصية. عدّل فئة موجودة أو احذفها.","app.categoryCountHint":"الفئات الشخصية: {count}/{max} · بحد أقصى {length} حرفًا.","app.categoryGone":"حُذفت هذه الفئة في علامة تبويب أخرى. أغلق النموذج وحاول مجددًا.","app.categoryNameInvalid":"أدخل اسمًا يتراوح طوله من حرف واحد إلى {max} حرفًا.","app.categoryLimit":"تم بلوغ الحد الأقصى للفئات الشخصية: {max}.","app.categoryDuplicate":"توجد فئة بهذا الاسم بالفعل.","app.iconRequired":"اختر إحدى الأيقونات المتاحة.","app.categoryDescriptionInvalid":"يجب ألا يتجاوز الوصف 240 حرفًا.","app.categoryChanged":"تم تعديل الفئة.","app.categoryCreated":"تم إنشاء الفئة.","app.selectCategory":"اختر فئة موجودة.","app.shortcutGone":"حُذف هذا الاختصار في علامة تبويب أخرى. أغلق النموذج وحاول مجددًا.","app.shortcutLimit":"تم بلوغ الحد الأقصى البالغ 5000 اختصار.","app.shortcutFieldsInvalid":"تحقق من الاسم (100 حرف كحد أقصى) والوصف (300 حرف كحد أقصى).","app.shortcutDuplicate":"هذا الرابط موجود بالفعل. عدّل فئاته لعرضه في مكان آخر.","app.shortcutChanged":"تم تعديل الاختصار.","app.shortcutAdded":"تمت إضافة الاختصار.","app.alreadyPresentNamed":"موجود بالفعل: {name}","app.addNamed":"إضافة {name}","app.alreadyPresent":"موجود بالفعل","app.add":"إضافة","app.totalCategoryLimit":"تم بلوغ الحد الأقصى البالغ 50 فئة.","app.addedToCategory":"تمت إضافة {name} إلى {category}.","app.noServices":"لا توجد خدمات تطابق هذا البحث.","app.catalogComplete":"دليلك مكتمل بالفعل. أنشئ اختصارك الخاص.","app.catalogHint":"أعد خدمة محذوفة أو أنشئ اختصارك الخاص.","app.sharedConfig":"إضافة إلى نسخك الاحتياطية دون تغيير اختصاراتك.","app.importPreview":"الفئات: {categories} · الاختصارات: {count}","app.fileTooLarge":"يتجاوز الملف الحد الأقصى البالغ 2 ميغابايت.","app.loadingConfig":"جارٍ تحميل الإعدادات…","app.telegraphNotReturned":"لم يُرجع Telegra.ph هذه الصفحة. تحقق من رمزها.","app.pageTooLarge":"هذه الصفحة كبيرة جدًا للاستيراد.","app.telegraphUnreadable":"صفحة Telegra.ph غير موجودة أو غير قابلة للقراءة.","app.noConfigInPage":"لا تحتوي الصفحة على إعدادات EvPortal.","app.connectionTimeout":"انتهت مهلة الاتصال. حاول مجددًا بعد قليل.","app.imported":"تم استيراد الإعدادات.","app.exportReady":"ملف JSON جاهز. احتفظ به لاستعادة اختصاراتك على جهاز آخر.","app.exportFailed":"تعذّر إعداد ملف النسخة الاحتياطية.","app.confirmReset":"هل تريد استعادة الدليل الأصلي؟ ستُستبدل اختصاراتك المخصصة ومفضلتك. صدّرها قبل المتابعة.","app.catalogReset":"تمت استعادة الدليل الأصلي.","app.switchToLight":"التبديل إلى الوضع الفاتح","app.switchToDark":"التبديل إلى الوضع الداكن","app.fullscreenReload":"أعد تحميل الصفحة لتفعيل ملء الشاشة.","app.fullscreenUnavailable":"ملء الشاشة غير متاح في هذا المتصفح.","app.exitFullscreen":"الخروج من ملء الشاشة","app.enterFullscreen":"الدخول إلى ملء الشاشة","app.syncedFromTab":"تم تحميل تغييراتك من علامة تبويب أخرى.","app.unreadableTabState":"النسخة المستلمة من علامة تبويب أخرى غير قابلة للقراءة. تم الاحتفاظ بالجلسة الحالية.","app.legacyRecovered":"تم استعادة اختصاراتك السابقة.","app.catalogUpdated":"تم تحديث {count} عنوانًا في الدليل.","app.invalidConfig":"هذه الإعدادات غير صالحة أو غير متوافقة. تحقق من الملف أو الرمز وحاول مجددًا.","app.invalidShortcutURL":"استخدم عنوانًا كاملًا يبدأ بـ https:// أو http:// دون مسافات أو بيانات دخول.","app.invalidImportCode":"استخدم رمز Telegra.ph أو عنوان telegra.ph أو رابط مشاركة EvPortal صالحًا.","app.connectionFailed":"تعذّر الاتصال. تحقق من الشبكة وحاول مجددًا.","app.icon.all":"شبكة","app.icon.favorites":"نجمة","app.icon.cinema":"فيديو","app.icon.music":"موسيقى","app.icon.tv":"تلفاز","app.icon.charging":"الشحن","app.icon.games":"ألعاب","app.icon.navigation":"الرحلات","app.icon.social":"رسائل","app.icon.news":"أخبار","app.icon.weather":"الطقس","app.icon.productivity":"أدوات","app.icon.folder":"مجلد","app.otherCategories":"فئات أخرى","backup.links":"رمز أو رابط","backup.phone":"الهاتف","backup.library":"نسخي الاحتياطية","backup.create":"إنشاء","backup.add":"إضافة","backup.send":"إرسال","backup.receive":"استقبال","backup.restore":"استعادة","backup.createTitle":"إنشاء رمز أو رابط","backup.addTitle":"إضافة نسخة احتياطية","backup.restoreTitle":"استعادة نسخة احتياطية","backup.chooseTitle":"اختيار نسخة احتياطية","backup.code":"الرمز","backup.link":"رابط EvPortal","backup.copyCode":"نسخ الرمز","backup.addHint":"إضافة إلى نسخك الاحتياطية دون تغيير اختصاراتك.","backup.added":"تمت إضافة النسخة الاحتياطية.","backup.restored":"تمت استعادة النسخة الاحتياطية.","backup.local":"على هذا الجهاز","backup.online":"عبر الإنترنت","backup.empty":"لا توجد نسخ احتياطية محفوظة.","backup.receivedTitle":"الاختصارات المستلمة","backup.fileTitle":"نسخة احتياطية مستوردة","backup.deleteNamed":"حذف «{name}»","backup.deleted":"تم حذف النسخة الاحتياطية.","backup.savedSummary":"الفئات: {categories} · الاختصارات: {count}","backup.load":"تحقق","backup.restoreHint":"يستبدل اختصارات هذا الجهاز.","backup.selected":"النسخة الاحتياطية المحددة","backup.choose":"اختيار","backup.localCopy":"تم حفظ نسخة على هذا الجهاز.","backup.undoRestore":"التراجع عن آخر استعادة","backup.storageUnavailable":"تخزين النسخ الاحتياطية غير متاح أو ممتلئ.","backup.invalidLibrary":"تعذرت قراءة مكتبة النسخ الاحتياطية. تم الاحتفاظ بالبيانات الموجودة.","backup.invalidBackup":"هذه النسخة الاحتياطية غير صالحة.","backup.limit":"يمكنك حفظ ما يصل إلى {max} نسخة احتياطية على هذا الجهاز.","backup.tooLarge":"يتجاوز حجم هذه النسخة الاحتياطية {max} ميغابايت.","backup.missing":"هذه النسخة الاحتياطية لم تعد متاحة.","backup.retry":"إعادة المحاولة","category.all":"الكل","category.favorites":"المفضلة","category.cinema":"فيديو","category.music":"موسيقى","category.tv":"تلفاز","category.charging":"الشحن","category.games":"ألعاب","category.navigation":"الرحلات","category.social":"التواصل","category.news":"أخبار","category.weather":"الطقس","category.productivity":"أدوات","category.folder":"مجلد","help.title":"دليل EvPortal — متصفح تسلا والاختصارات والنسخ الاحتياطية","help.description":"افتح EvPortal في متصفح تسلا، ونظّم المفضلة وانقل النسخ برمز أو رابط أو QR. دليل البدء واستعادة اختصاراتك خطوة بخطوة.","help.language":"اللغة","help.back":"العودة إلى الاختصارات","help.heading":"دليل EvPortal لمتصفح تسلا","help.intro":"اضغط على اختصار لفتح الخدمة في علامة تبويب جديدة. يتيح زر المظهر في الأعلى اختيار الوضع الفاتح أو الداكن. تتوفر اللغات الثماني في الإعدادات بأسمائها وأعلامها؛ وتُعرض العربية من اليمين إلى اليسار.","help.organizeHeading":"تنظيم الاختصارات","help.ranking":"يعرض قسم «الكل» الاختصارات الأكثر فتحًا أولًا. وعند تساوي عدد مرات الفتح، يُحفظ ترتيبك اليدوي. يبقى الترتيب محفوظًا بعد إعادة تحميل الصفحة.","help.dragging":"داخل فئة أو في «المفضلة»، اضغط على «تعديل» ثم حرّك الاختصارات باستخدام مقابضها. تضيف النجمة الاختصار إلى المفضلة، ويتيح القلم تعديله. اضغط على «تم» عند الانتهاء. يحتفظ قسم «الكل» بترتيبه التلقائي.","help.keyboard":"باستخدام لوحة المفاتيح، حدّد مقبضًا واضغط على مفتاح المسافة، ثم حرّكه بالأسهم وأكّد بمفتاح Enter. يلغي مفتاح Escape العملية.","help.addHeading":"إضافة اختصار أو فئة","help.adding":"يفتح زر + الدليل ويتيح إنشاء اختصار أو فئة. تعني عبارة «موجود بالفعل» أن الخدمة مضافة إلى لوحتك. يشمل البحث جميع اختصاراتك.","help.categories":"يمكنك إنشاء خمس فئات شخصية كحد أقصى، باسم لا يتجاوز 16 حرفًا ورمز تختاره. استخدم القلم لتعديلها. تُحفظ الفئات القديمة حتى إن تجاوزت هذه الحدود. تُرتّب الفئات المعروضة دون تمرير أفقي.","help.transferHeading":"الهاتف: إرسال أو استقبال","help.stepPrepare":"في الإعدادات ← الهاتف، اختر إرسال أو استقبال.","help.stepPublish":"امسح رمز QR المعروض بهاتفك.","help.stepCode":"للإرسال من الهاتف، اختر اختصاراته أو نسخة احتياطية ثم اضغط على إرسال.","help.stepImport":"على الشاشة المستقبِلة، اضغط على إضافة لحفظ النسخة الاحتياطية على ذلك الجهاز.","help.stepApply":"لاستخدام محتواها، افتح نسخي الاحتياطية ← استعادة.","help.qr":"يُستخدم QR للنقل مع الهاتف. لا يظهر رمز QR عند إنشاء رمز أو رابط.","help.snapshot":"النقل مشفّر وصالح لخمس دقائق عندما تتوفر الخدمة. ينقل لقطة دون مزامنة تلقائية. استقبال نسخة احتياطية لا يستبدل اختصاراتك.","help.public":"في الإعدادات ← رمز أو رابط، يجهّز إنشاء رمزًا ورابط EvPortal للنسخ. تقبل إضافة أيًا منهما وتحفظ نسخة محلية بعد التحقق. تبقى ملفات JSON متاحة في خيارات إضافية. صفحة Telegra.ph المنشأة عامة؛ والنسخة المحلية والصفحة عبر الإنترنت مستقلتان.","help.fullscreenHeading":"ملء الشاشة في Tesla","help.fullscreen":"أثناء الوقوف، اضغط على «ملء الشاشة». في YouTube، اختر «الانتقال إلى الموقع» أو Go to site للعودة إلى EvPortal في وضع المسرح. تطلب الاختصارات فتح علامة تبويب جديدة، ويعتمد سلوكها على متصفح السيارة.","help.fullscreenFallback":"إذا لم يتم التعرّف على Tesla، اختر «فتح وضع مسرح تسلا» من الإعدادات. على الحاسوب، يستخدم الزر وضع ملء الشاشة العادي. قد تتغيّر إعادة التوجيه مع تحديثات السيارة أو YouTube.","help.compatibility":"فتح الموقع لا يضمن تشغيل الفيديو؛ فقد تؤثر قيود البلد أو الحساب أو الاشتراك أو المتصفح. استخدم الترفيه أثناء الوقوف.","help.teslaManual":"دليل Tesla","help.myTesla":"الطريقة الموضّحة في myTesla","help.storageHeading":"استعادة نسخة احتياطية","help.storage":"في الإعدادات ← نسخي الاحتياطية ← استعادة، اختر نسخة من على هذا الجهاز أو عبر الإنترنت وراجع محتواها. استعادة وحدها تستبدل اختصاراتك. تتيح خيارات إضافية في الإعدادات التراجع عن آخر استعادة. إضافة رمز أو رابط أو ملف أو نقل عبر QR تحفظ نسخة دون تطبيقها. يحتفظ كل متصفح بقائمته المحلية الخاصة.","help.previewHeading":"اختبار معاينة محلية","help.preview":"يستخدم QR عنوان البوابة المفتوحة. على الهاتف، يشير localhost أو 127.0.0.1 إلى الهاتف نفسه. للاختبار بين جهازين، يجب أن يتمكن كلاهما من الوصول إلى البوابة وخدمة النقل عبر HTTPS. تستخدم رموز وروابط النسخ الاحتياطية عنوان EvPortal العام.","help.privacyHeading":"حول المشروع والخصوصية","help.privacy":"EvPortal مجاني وغير تابع لشركة Tesla. الشعارات والترجمات مضمّنة في الموقع. تبقى عدادات الفتح في إعداداتك، دون خدمة لتحليل الاستخدام. يجري الاتصال بـ Telegra.ph عند طلبك، ويبقى رمز دخول الحساب منفصلًا عن المشاركة. تطبّق المواقع التي تفتحها سياساتها الخاصة.","help.source":"الشيفرة المصدرية","help.report":"الإبلاغ عن مشكلة","help.license":"EvPortal · ترخيص MIT","help.backupHeading":"رمز أو رابط","help.preferencesHeading":"اختيار الكتالوج والشاشة الرئيسية","help.preferences":"في الإعدادات ← الكتالوج والشاشة الرئيسية، اختر البلد والفئات المعروضة وما إذا كنت تريد البدء بالمفضلة. يكيّف البلد الاقتراحات في إضافة ولا يحذف اختصاراتك. يوسّع عرض جميع البلدان الكتالوج. تبقى اختصارات الفئات المخفية في الكل والمفضلة. تظل هذه الخيارات على هذا الجهاز ولا تُضمّن في النسخ الاحتياطية أو عمليات النقل عبر QR. يُقترح البلد الأولي بناءً على منطقة المتصفح، دون طلب موقعك.","help.sharedServices":"يمكن أن تظهر الخدمة في عدة فئات بحالة مفضلة وعدّاد موحّدين؛ وتظهر مرة واحدة فقط في الكل. عند التعديل، افتح فئات أخرى لاختيار مكان ظهورها. عند حذف فئة، تبقى الخدمات الموجودة أيضًا في فئة أخرى.","pair.receiveButton":"الاستقبال من هاتفي","pair.receiveTitle":"الاستقبال من هاتفي","pair.scanHint":"امسح رمز QR هذا بهاتفك.","pair.qrAccessible":"رمز QR للنقل إلى هذه الشاشة","pair.apply":"إضافة","pair.newQR":"رمز QR جديد","pair.sendTitle":"الإرسال إلى تسلا","pair.send":"إرسال اختصاراتي","pair.chooseBackup":"اختيار نسخة احتياطية","pair.sendHint":"ستُعرض اختصارات هذا الهاتف على الشاشة الأخرى لاستخدامها.","pair.privateHint":"نقل مشفّر صالح لمدة 5 دقائق.","pair.preparing":"جارٍ إعداد رمز QR…","pair.waiting":"بانتظار الهاتف · {time}","pair.retrying":"جارٍ إعادة الاتصال… · {time}","pair.summary":"{categories} فئات · {count} اختصارات","pair.ready":"تم استلام النسخة الاحتياطية. أضفها إلى نسخك الاحتياطية.","pair.sending":"جارٍ الإرسال…","pair.sent":"تم الإرسال. أضف النسخة الاحتياطية على الشاشة الأخرى.","pair.applied":"تمت إضافة النسخة الاحتياطية.","pair.expired":"انتهت صلاحية رمز QR. أنشئ رمزًا جديدًا على الشاشة الأخرى.","pair.receiverExpired":"انتهت صلاحية رمز QR. أنشئ رمزًا جديدًا.","pair.notConfigured":"النقل المباشر غير متاح بعد. استخدم نسخة احتياطية من Telegra.ph.","pair.unsupported":"لا يدعم هذا المتصفح النقل المشفّر. استخدم نسخة احتياطية من Telegra.ph.","pair.invalidLink":"رمز QR للنقل غير صالح. امسح رمزًا جديدًا.","pair.invalidResponse":"أعادت خدمة النقل استجابة غير صالحة. جرّب رمز QR جديدًا.","pair.networkError":"تعذّر الاتصال. تحقّق من الشبكة وحاول مجددًا.","pair.timeout":"انتهت مهلة الاتصال. حاول مجددًا.","pair.unauthorized":"لم يعد هذا النقل مسموحًا. امسح رمز QR جديدًا.","pair.alreadySent":"تلقّى رمز QR هذا اختصارات بالفعل. أنشئ رمزًا جديدًا للمحاولة من جديد.","pair.tooLarge":"هذه الإعدادات أكبر من الحد المسموح للنقل المباشر. صدّرها إلى ملف JSON.","pair.invalidConfig":"الإعدادات المستلمة غير صالحة. تم الاحتفاظ باختصاراتك الحالية.","pair.decryptFailed":"تعذّرت قراءة هذا النقل. أنشئ رمز QR جديدًا.","pair.applyFailed":"تعذرت إضافة هذه النسخة الاحتياطية. أعد المحاولة.","pair.serviceUnavailable":"خدمة النقل غير متاحة مؤقتًا. حاول مجددًا بعد قليل.","pair.stepScan":"المسح","pair.stepSend":"الإرسال","pair.stepApply":"إضافة","pair.storageUnavailable":"تعذّر الحفظ على هذه الشاشة. تم الاحتفاظ باختصاراتك الحالية.","pair.undone":"تمت استعادة اختصاراتك السابقة.","pair.deliveryUnknown":"تحقق من الشاشة الأخرى: ربما وصلت اختصاراتك بالفعل. إن لم تصل، فأنشئ رمز QR جديدًا.","pair.offerButton":"الإرسال إلى هاتفي","pair.offerTitle":"اختصاراتي على هاتفي","pair.offerScanHint":"امسح رمز QR هذا بهاتفك.","pair.offerPreparing":"جارٍ التحضير للإرسال…","pair.offerWaiting":"جاهزة للاستلام على الهاتف · {time}","pair.offerExpired":"انتهت صلاحية رمز QR هذا. أنشئ رمزًا جديدًا.","pair.offerReady":"النسخة الاحتياطية جاهزة للاستلام.","pair.downloadTitle":"استقبال نسخة احتياطية","pair.downloading":"جارٍ استلام النسخة الاحتياطية…","pair.added":"تمت الإضافة إلى نسخك الاحتياطية.","pair.addFailed":"تعذرت إضافة هذه النسخة الاحتياطية. أعد المحاولة.","pair.downloadExpired":"انتهت صلاحية هذا النقل أو تم استلامه بالفعل. أنشئ رمز QR جديدًا على الشاشة الأخرى.","pair.offerQRAccessible":"رمز QR لاستقبال هذه النسخة الاحتياطية على الهاتف","prefs.title":"الكتالوج والشاشة الرئيسية","prefs.country":"بلد الكتالوج","prefs.marketHint":"يكيّف البلد الاختيار المقترح في إضافة.","prefs.homeFavorites":"الفتح على المفضلة","prefs.visibleCategories":"الفئات المعروضة","prefs.categoriesHint":"تبقى الاختصارات متاحة في الكل والمفضلة.","prefs.allMarkets":"جميع البلدان","prefs.showAllMarkets":"عرض جميع البلدان","prefs.saveFailed":"تُحفظ التفضيلات لهذه الجلسة فقط.","prefs.invalid":"هذه التفضيلات غير صالحة.","prefs.country.FR":"فرنسا","prefs.country.CA":"كندا","prefs.country.US":"الولايات المتحدة","prefs.country.BE":"بلجيكا","prefs.country.GB":"المملكة المتحدة","prefs.country.DE":"ألمانيا","prefs.country.ES":"إسبانيا","prefs.country.IT":"إيطاليا","prefs.country.PT":"البرتغال","prefs.country.AU":"أستراليا","prefs.country.NZ":"نيوزيلندا","prefs.country.CH":"سويسرا","prefs.country.ALL":"جميع البلدان","prefs.country.MX":"المكسيك","seo.introHeading":"بوابة اختصارات لسيارتك تسلا","seo.intro":"EvPortal بوابة مجانية ومستقلة تجمع مواقعك المفضلة في صفحة مصممة لمتصفح تسلا. يمكنك استخدامها أيضًا في متصفح الهاتف أو الكمبيوتر. تفتح الأيقونات الكبيرة الخدمات التي تختارها، دون ملء الشاشة الرئيسية بالنصوص أو الأدوات المصغرة. يمكنك تخصيص الاختصارات وفئاتها وترتيبها، ثم اختيار المظهر الفاتح أو الداكن. تبقى روابطك التي تحتاج إليها في مكان واحد يسهل الوصول إليه أثناء التوقف.","seo.startHeading":"البدء من متصفح السيارة","seo.start":"عندما تكون السيارة متوقفة، افتح عنوان EvPortal في متصفحها. احفظ الصفحة في مفضلة المتصفح إن كان هذا الخيار متاحًا لتعود إليها بسهولة. لا تحتاج إلى تثبيت تطبيق أو تسجيل الدخول إلى حساب تسلا لفتح البوابة. في الإعدادات، يمكنك اختيار لغة الواجهة وبلد الكتالوج بشكل مستقل. تبقى تفضيلاتك على هذا الجهاز، وتتيح لك النسخة الاحتياطية الاحتفاظ باختصاراتك أو نقلها إلى جهاز آخر.","seo.chargingHeading":"الوصول إلى خدماتك أثناء الشحن","seo.charging":"أضف روابط أدوات تخطيط الرحلات أو الشحن، ومحطات الراديو والموسيقى والطقس. يقترح الكتالوج خدمات بحسب البلد المحدد، ويمكنك أيضًا إدخال عنوان موقع تختاره بنفسك. يفتح كل اختصار موقع الخدمة وفق شروط الوصول الخاصة بها. لا يتحكم EvPortal في الشحن ولا يرسل أوامر إلى السيارة. استخدم المحتوى الترفيهي أثناء التوقف. تغيير بلد الكتالوج يغيّر الاقتراحات دون حذف الاختصارات التي أضفتها من قبل.","seo.faqHeading":"الأسئلة الشائعة","seo.faqFreeQuestion":"هل EvPortal مجاني؟","seo.faqFreeAnswer":"نعم. البوابة مجانية وغير تابعة لتسلا. قد تتطلب بعض المواقع التي تفتحها حسابًا أو اشتراكًا؛ وتحدد كل خدمة شروطها بنفسها.","seo.faqPhoneQuestion":"كيف أجهّز اختصاراتي على الهاتف؟","seo.faqPhoneAnswer":"افتح EvPortal على الهاتف ونظّم اختصاراتك. في الإعدادات، يتيح قسم الهاتف النقل برمز QR في الاتجاهين. على الشاشة المستقبلة، يحفظ زر إضافة نسخة احتياطية. لاستخدام محتواها، اختر بعد ذلك نسخي الاحتياطية ثم استعادة. استلام النسخة وحده لا يستبدل اختصاراتك الحالية.","seo.faqOfflineQuestion":"هل يعمل EvPortal دون اتصال؟","seo.faqOfflineAnswer":"يحفظ المتصفح إعداداتك محليًا، لكن EvPortal لا يوفر وضعًا للعمل دون اتصال. تحتاج إلى اتصال لتحميل البوابة وفتح الخدمات ونقل النسخ الاحتياطية. يتيح لك ملف JSON الاحتفاظ بنسخة مستقلة لاستعادتها لاحقًا عند الحاجة.","seo.languages":"اللغات المتاحة","seo.operatingSystem":"الويب","seo.browserRequirements":"متصفح يدعم JavaScript والتخزين المحلي؛ ويتطلب النقل برمز QR اتصال HTTPS ووظائف تشفير.","seo.featureFavorites":"اختصارات ومفضلة قابلة للتخصيص","seo.featureDrag":"إعادة الترتيب بالسحب والإفلات على شاشة اللمس","seo.featureQR":"نقل النسخ الاحتياطية برمز QR مع الهاتف","seo.featureBackup":"نسخ احتياطية برمز أو رابط أو ملف JSON","share.tooLarge":"تتجاوز الإعدادات حد Telegra.ph البالغ 64 كيلوبايت. قلّل الروابط أو استخدم ملفًا.","share.noConnection":"الاتصال غير متاح في هذا المتصفح.","share.publishTimeout":"انتهت مهلة الطلب. تحقّق من «نسخي الاحتياطية» قبل المحاولة مجددًا.","share.timeout":"لا يستجيب Telegra.ph. حاول لاحقًا.","share.networkError":"تعذّر الاتصال بـ Telegra.ph. تحقق من اتصالك.","share.unavailable":"Telegra.ph غير متاح. حاول لاحقًا.","share.badResponse":"رد Telegra.ph غير قابل للقراءة. حاول لاحقًا.","share.rateLimited":"طلبات كثيرة جدًا. انتظر قبل المحاولة مجددًا.","share.invalidAccount":"حساب Telegra.ph غير متاح. حسابك السابق محفوظ.","share.refused":"رفض Telegra.ph هذا الطلب. حاول لاحقًا.","share.accountNotCreated":"لم يتم إنشاء حساب Telegra.ph. حاول لاحقًا.","share.invalidTitle":"اسم المشاركة غير صالح (256 حرفًا كحد أقصى).","share.sessionOnly":"الحساب محفوظ لهذه الجلسة فقط. احتفظ برابط المشاركة.","share.invalidPage":"موضع الصفحة غير صالح.","share.badHistory":"قائمة Telegra.ph غير قابلة للقراءة.","share.localPreview":"معاينة محلية: استخدم عنوان الشبكة لهذه المعاينة على هاتفك.","share.localPreviewOld":"معاينة محلية: للاختبار على الهاتف، استخدم عنوان شبكة متاحًا لهذه المعاينة. يعرض العنوان العام الإصدار المنشور، الذي قد يختلف عن هذه المعاينة.","share.qrLabel":"امسح بهاتف لفتح اختصارات EvPortal هذه","share.qrAddressUnavailable":"رمز QR غير متاح لهذا العنوان. انسخ الرابط.","share.qrUnavailable":"رمز QR غير متاح. انسخ الرابط.","share.publishing":"جارٍ الحفظ…","share.publish":"إنشاء نسختي الاحتياطية","share.created":"تم إنشاء النسخة الاحتياطية.","share.copyUnavailable":"النسخ غير متاح. حدد النص لنسخه يدويًا.","share.linkCopied":"تم نسخ الرابط.","share.codeCopied":"تم نسخ الرمز.","share.import":"استيراد","share.importNamed":"استيراد {name}","share.more":"عرض المزيد","share.empty":"لا توجد نسخ احتياطية.","share.secureRandomUnavailable":"تعذّر إنشاء رابط مشاركة عشوائي في هذا المتصفح. استخدم متصفحًا حديثًا.","share.unsafePath":"لم يحتفظ Telegra.ph بالمعرّف العشوائي. لم تُنشر أي إعدادات.","share.deleteNamed":"حذف {name}","share.deleted":"تم حذف النسخة الاحتياطية.","share.noAccount":"لا يتوفر حساب للنسخ الاحتياطية في هذا المتصفح.","state.fullURL":"استخدم عنوانًا كاملًا يبدأ بـ https:// أو http:// دون مسافات.","state.invalidURL":"عنوان الموقع غير صالح.","state.safeURL":"يجب أن تستخدم الروابط HTTP أو HTTPS وألا تتضمن بيانات تسجيل الدخول.","state.invalidID":"معرّف الفئة أو الاختصار غير صالح.","state.shortcutObject":"يجب أن يكون كل اختصار كائنًا.","state.duplicateShortcut":"يوجد اختصاران لهما المعرّف نفسه.","state.favoriteBoolean":"يجب أن تكون قيمة المفضلة منطقية.","state.invalidColor":"لون الاختصار غير صالح.","state.invalidCount":"عداد استخدام الاختصار غير صالح.","state.invalidFormat":"تنسيق EvPortal غير معروف أو إصدار النسخة غير متوافق.","state.tooManyCategories":"تتجاوز النسخة 50 فئة.","state.invalidCategory":"الفئة غير صالحة.","state.reservedCategory":"معرّف الفئة محجوز أو مكرر.","state.invalidIcon":"أيقونة الفئة غير صالحة.","state.tooManyShortcuts":"تتجاوز النسخة 5000 اختصار.","state.invalidTheme":"سمة النسخة غير صالحة.","state.missingCategory":"تعذر العثور على الفئة النشطة في النسخة.","state.invalidOrder":"ترتيب الاختصارات غير صالح.","state.backupObject":"يجب أن تكون النسخة كائن JSON.","state.invalidLegacyList":"قائمة الفئات القديمة غير صالحة.","state.duplicateCategories":"تحتوي القائمة على فئات مكررة.","state.foreignData":"تحتوي النسخة على بيانات لا تتعلق بفئات EvPortal.","state.invalidLegacyShortcut":"الاختصار القديم غير صالح.","state.invalidShortcutOrder":"موضع الاختصار غير صالح.","state.largeFile":"يتجاوز الملف الحد الأقصى البالغ 2 ميغابايت.","state.invalidJSON":"لا يحتوي الملف على JSON صالح.","state.storageUnavailable":"التخزين غير متاح","state.invalidLegacyCategories":"الفئات القديمة غير صالحة","state.reservedLegacyCategory":"الفئة القديمة محجوزة","state.invalidMove":"نقل الاختصار غير صالح.","state.telegraphLink":"استخدم رابط telegra.ph أو معرّف الصفحة.","state.telegraphID":"معرّف صفحة Telegra.ph غير صالح.","state.portalLink":"استخدم رابط EvPortal يحتوي على رمز مشاركة واحد فقط.","state.invalidField":"الحقل «{field}» غير صالح (الحد الأقصى {max} حرفًا).","state.invalidFieldShort":"الحقل «{field}» غير صالح.","state.urlLabel":"عنوان الموقع","state.shortcutName":"اسم الاختصار","state.shortcutDescription":"وصف الاختصار","state.shortcutTag":"وسم الاختصار","state.categoryName":"اسم الفئة","state.categoryDescription":"وصف الفئة","state.catalogVersion":"إصدار الكتالوج","state.telegraphIDLabel":"معرّف Telegra.ph","state.shareCodeLabel":"رابط المشاركة أو رمزها","state.invalidCategoryShortcuts":"الاختصارات في الفئة «{name}» غير صالحة.","state.storageWarning":"النسخة المحلية غير متاحة أو غير قابلة للقراءة. تم الاحتفاظ ببياناتك السابقة. تغييرات هذه الجلسة مؤقتة: صدّرها بصيغة JSON.","static.title":"EvPortal — اختصارات وصفحة بداية لمتصفح تسلا","static.skip":"الانتقال إلى الاختصارات","static.tagline":" — اختصارات لتسلا","static.fullscreen":"ملء الشاشة","static.share":"مشاركة","static.edit":"تعديل","static.add":"إضافة","static.searchLabel":"البحث عن اختصار","static.dragInstructions":"مسافة للتحديد، الأسهم للنقل، Enter للإفلات، Escape للإلغاء.","static.reorder":"اسحب الاختصارات لتغيير ترتيبها.","static.video":"سينما","static.javascript":"فعّل JavaScript لتخصيص اختصاراتك.","static.help":"مساعدة","static.settings":"الإعدادات","static.language":"اللغة","static.createShortcut":"إنشاء اختصار","static.createCategory":"إنشاء فئة","static.importTelegraph":"استيراد نسخة احتياطية","static.theater":"فتح وضع مسرح تسلا","static.moreOptions":"خيارات إضافية","static.exportJSON":"حفظ ملف JSON","static.reset":"إعادة تعيين الاختصارات","static.about":"المساعدة والمعلومات","static.newCategory":"فئة جديدة","static.name":"الاسم","static.icon":"الأيقونة","static.cancel":"إلغاء","static.create":"إنشاء","static.newShortcut":"اختصار جديد","static.website":"عنوان الموقع","static.category":"الفئة","static.restore":"استيراد نسخة احتياطية","static.shareInput":"رمز أو رابط","static.load":"تحميل اختصاراتي","static.importJSON":"استيراد ملف JSON","static.jsonFile":"ملف JSON","static.close":"إغلاق","static.use":"استخدام هذه الاختصارات","static.shareTitle":"تصدير نسخة احتياطية","static.backupName":"الاسم (اختياري)","static.public":"ستكون هذه النسخة الاحتياطية عامة.","static.portalAddress":"عنوان EvPortal","static.otherAddress":"عنوان EvPortal على الشاشة الأخرى","static.publish":"إنشاء نسختي الاحتياطية","static.scan":"امسح الرمز بهاتفك.","static.carCode":"الرمز المطلوب إدخاله في تسلا","static.copyCode":"نسخ الرمز","static.importHint":"Tesla: الإعدادات ← النسخ الاحتياطية ← استيراد نسخة احتياطية.","static.copyLink":"نسخ الرابط","static.sharedLinks":"نسخي الاحتياطية","static.showBackups":"تحديث","static.addShortcuts":"إضافة اختصارات","static.searchService":"البحث عن خدمة","static.home":"EvPortal، الرئيسية","static.search":"بحث","static.enterFullscreen":"تفعيل ملء الشاشة","static.shareAccessible":"تصدير نسخة احتياطية","static.addAccessible":"إضافة اختصار أو فئة","static.clearSearch":"مسح البحث","static.categories":"الفئات","static.qrAccessible":"رمز QR لاستعادة اختصاراتك","static.searchPlaceholder":"بحث…","static.tripsPlaceholder":"رحلاتي","static.servicePlaceholder":"خدمتي","static.urlPlaceholder":"https://example.com","static.codePlaceholder":"رمز أو رابط EvPortal","static.defaultBackup":"اختصاراتي في EvPortal","static.description":"خصّص بوابة تسلا باختصارات للشحن والموسيقى والطقس، مع المفضلة والنسخ الاحتياطية. مجانية، وتتيح نقل النسخ من الهاتف عبر رمز QR.","static.socialTitle":"EvPortal — اختصارات وصفحة بداية لمتصفح تسلا","static.socialDescription":"خصّص بوابة تسلا باختصارات للشحن والموسيقى والطقس، مع المفضلة والنسخ الاحتياطية. مجانية، وتتيح نقل النسخ من الهاتف عبر رمز QR.","static.previewAlt":"EvPortal: اختصارات للشحن والموسيقى والبث والملاحة.","static.twitterDescription":"خصّص بوابة تسلا باختصارات للشحن والموسيقى والطقس، مع المفضلة والنسخ الاحتياطية. مجانية، وتتيح نقل النسخ من الهاتف عبر رمز QR.","static.twitterAlt":"اختصارات EvPortal في الوضع الداكن.","static.nameBackup":"تسمية النسخة الاحتياطية","static.undoTransfer":"التراجع عن آخر نقل","static.backups":"النسخ الاحتياطية","static.exportBackup":"تصدير نسخة احتياطية","static.importBackup":"استيراد نسخة احتياطية"},"pt":{"app.startFailed":"Não foi possível iniciar o portal. Recarrega a página para tentar novamente.","app.storageUnavailable":"O armazenamento local está indisponível ou cheio. Exporta a configuração para guardar as alterações.","app.storageRecovery":"A cópia local está indisponível ou ilegível. Os dados anteriores foram preservados. Exporta esta sessão antes de fechar.","app.all":"Todos","app.favorites":"Favoritos","app.move":"Mover {name}","app.previousMoveCancelled":"Movimento anterior cancelado.","app.moveSelected":"{name} selecionado. Usa as setas para mover, Enter para largar e Escape para cancelar.","app.moveCancelled":"Movimento cancelado.","app.movePosition":"{name}, posição {position} de {count}.","app.orderSaved":"Ordem guardada.","app.editCategory":"Editar categoria {name}","app.deleteCategory":"Eliminar categoria {name}","app.confirmDeleteCategory":"Eliminar «{name}» e os seus {count} atalhos?","app.categoryDeleted":"Categoria eliminada.","app.openNewTab":"{name} — novo separador","app.removeFavorite":"Remover {name} dos favoritos","app.addFavorite":"Adicionar {name} aos favoritos","app.favoriteAdded":"{name} adicionado aos favoritos.","app.favoriteRemoved":"{name} removido dos favoritos.","app.editShortcut":"Editar {name}","app.deleteShortcut":"Eliminar {name}","app.confirmDeleteShortcut":"Eliminar o atalho «{name}»?","app.shortcutDeleted":"Atalho eliminado.","app.allShortcuts":"Todos os atalhos","app.allDescription":"Todos os teus serviços e atalhos num só lugar.","app.searchResults":"Resultados da pesquisa","app.searchDescription":"Pesquisa de «{query}» em todas as categorias.","app.myFavorites":"Os meus favoritos","app.favoritesDescription":"Os teus essenciais, sempre à mão.","app.categoryDescription":"Os teus atalhos nesta categoria.","app.shortcutCount":"{count} atalhos","app.shortcutCountOne":"{count} atalho","app.noShortcuts":"Nenhum atalho encontrado","app.emptyFavorites":"Guarda aqui os teus essenciais","app.emptyCategory":"Uma página à tua medida","app.searchHint":"Experimenta outro nome, domínio ou palavra-chave.","app.favoriteHint":"Toca na estrela de um atalho para o adicionar aos favoritos.","app.emptyHint":"Adiciona atalhos do catálogo ou cria os teus.","app.clearSearch":"Limpar pesquisa","app.exploreCatalog":"Explorar catálogo","app.usageOrderHint":"Todos: os mais usados primeiro. Para mover um atalho, abre a respetiva categoria ou Favoritos.","app.dragHint":"Arrasta os atalhos para os reordenar.","app.finishEditing":"Terminar edição","app.editShortcuts":"Editar atalhos","app.finish":"Concluir","app.edit":"Editar","app.categoryRequired":"Cria primeiro uma categoria para adicionar o teu atalho.","app.editShortcutTitle":"Editar atalho","app.addShortcutTitle":"Adicionar atalho","app.save":"Guardar","app.addShortcutSubmit":"Adicionar atalho","app.editCategoryTitle":"Editar categoria","app.newCategory":"Nova categoria","app.create":"Criar","app.categoryLimitHint":"Limite atingido: {max} categorias pessoais. Edita ou elimina uma categoria existente.","app.categoryCountHint":"{count}/{max} categorias pessoais · Máximo de {length} caracteres.","app.categoryGone":"Esta categoria foi eliminada noutro separador. Fecha o formulário e tenta novamente.","app.categoryNameInvalid":"Introduz um nome com 1 a {max} caracteres.","app.categoryLimit":"Foi atingido o limite de {max} categorias pessoais.","app.categoryDuplicate":"Já existe uma categoria com este nome.","app.iconRequired":"Escolhe um dos ícones disponíveis.","app.categoryDescriptionInvalid":"A descrição deve ter no máximo 240 caracteres.","app.categoryChanged":"Categoria alterada.","app.categoryCreated":"Categoria criada.","app.selectCategory":"Escolhe uma categoria existente.","app.shortcutGone":"Este atalho foi eliminado noutro separador. Fecha o formulário e tenta novamente.","app.shortcutLimit":"Foi atingido o limite de 5 000 atalhos.","app.shortcutFieldsInvalid":"Verifica o nome (até 100 caracteres) e a descrição (até 300).","app.shortcutDuplicate":"Esta ligação já existe. Altera as suas categorias para a mostrar noutros locais.","app.shortcutChanged":"Atalho alterado.","app.shortcutAdded":"Atalho adicionado.","app.alreadyPresentNamed":"Já adicionado: {name}","app.addNamed":"Adicionar {name}","app.alreadyPresent":"Já adicionado","app.add":"Adicionar","app.totalCategoryLimit":"Foi atingido o limite de 50 categorias.","app.addedToCategory":"{name} adicionado a {category}.","app.noServices":"Nenhum serviço corresponde à pesquisa.","app.catalogComplete":"O teu catálogo está completo. Cria o teu próprio atalho.","app.catalogHint":"Adiciona um serviço removido ou cria o teu próprio atalho.","app.sharedConfig":"Adiciona às tuas cópias sem alterar os atalhos.","app.importPreview":"Categorias: {categories} · Atalhos: {count}","app.fileTooLarge":"O ficheiro excede o limite de 2 MB.","app.loadingConfig":"A carregar configuração…","app.telegraphNotReturned":"O Telegra.ph não devolveu esta página. Verifica o código.","app.pageTooLarge":"Esta página é demasiado grande para importar.","app.telegraphUnreadable":"Esta página Telegra.ph não foi encontrada ou está ilegível.","app.noConfigInPage":"A página não contém uma configuração EvPortal.","app.connectionTimeout":"O tempo de ligação expirou. Tenta novamente dentro de instantes.","app.imported":"Configuração importada.","app.exportReady":"Exportação JSON pronta. Guarda o ficheiro para recuperar os atalhos noutro dispositivo.","app.exportFailed":"Não foi possível preparar o ficheiro de cópia de segurança.","app.confirmReset":"Restaurar o catálogo inicial? Os atalhos pessoais e favoritos serão substituídos. Exporta-os antes de continuar.","app.catalogReset":"Catálogo inicial restaurado.","app.switchToLight":"Mudar para o modo claro","app.switchToDark":"Mudar para o modo escuro","app.fullscreenReload":"Recarrega a página para ativar o ecrã inteiro.","app.fullscreenUnavailable":"O ecrã inteiro não está disponível neste navegador.","app.exitFullscreen":"Sair do ecrã inteiro","app.enterFullscreen":"Abrir em ecrã inteiro","app.syncedFromTab":"As alterações de outro separador foram carregadas.","app.unreadableTabState":"A cópia recebida de outro separador está ilegível. A sessão atual foi preservada.","app.legacyRecovered":"Os teus atalhos anteriores foram recuperados.","app.catalogUpdated":"Foram atualizados {count} endereços do catálogo.","app.invalidConfig":"Esta configuração é inválida ou incompatível. Verifica o ficheiro ou código e tenta novamente.","app.invalidShortcutURL":"Usa um endereço completo começado por https:// ou http://, sem espaços nem credenciais.","app.invalidImportCode":"Usa um código Telegra.ph, um endereço telegra.ph ou uma ligação de partilha EvPortal válida.","app.connectionFailed":"Não foi possível ligar. Verifica a rede e tenta novamente.","app.icon.all":"Grelha","app.icon.favorites":"Estrela","app.icon.cinema":"Vídeo","app.icon.music":"Música","app.icon.tv":"Televisão","app.icon.charging":"Carregamento","app.icon.games":"Jogos","app.icon.navigation":"Viagens","app.icon.social":"Mensagens","app.icon.news":"Notícias","app.icon.weather":"Tempo","app.icon.productivity":"Ferramentas","app.icon.folder":"Pasta","app.otherCategories":"Outras categorias","backup.links":"Código ou ligação","backup.phone":"Telemóvel","backup.library":"As minhas cópias","backup.create":"Criar","backup.add":"Adicionar","backup.send":"Enviar","backup.receive":"Receber","backup.restore":"Restaurar","backup.createTitle":"Criar um código ou uma ligação","backup.addTitle":"Adicionar uma cópia","backup.restoreTitle":"Restaurar uma cópia","backup.chooseTitle":"Escolher uma cópia","backup.code":"Código","backup.link":"Ligação EvPortal","backup.copyCode":"Copiar código","backup.addHint":"Adiciona às tuas cópias sem alterar os atalhos.","backup.added":"Cópia adicionada.","backup.restored":"Cópia restaurada.","backup.local":"Neste dispositivo","backup.online":"Online","backup.empty":"Sem cópias guardadas.","backup.receivedTitle":"Atalhos recebidos","backup.fileTitle":"Cópia importada","backup.deleteNamed":"Eliminar «{name}»","backup.deleted":"Cópia eliminada.","backup.savedSummary":"Categorias: {categories} · Atalhos: {count}","backup.load":"Verificar","backup.restoreHint":"Substitui os atalhos deste dispositivo.","backup.selected":"Cópia selecionada","backup.choose":"Escolher","backup.localCopy":"Cópia guardada neste dispositivo.","backup.undoRestore":"Anular a última restauração","backup.storageUnavailable":"O armazenamento de cópias está indisponível ou cheio.","backup.invalidLibrary":"Não é possível ler a biblioteca de cópias. Os dados existentes foram mantidos.","backup.invalidBackup":"Esta cópia é inválida.","backup.limit":"Podes guardar até {max} cópias neste dispositivo.","backup.tooLarge":"Esta cópia ultrapassa {max} MB.","backup.missing":"Esta cópia já não está disponível.","backup.retry":"Tentar novamente","category.all":"Todos","category.favorites":"Favoritos","category.cinema":"Vídeo","category.music":"Música","category.tv":"TV","category.charging":"Carregamento","category.games":"Jogos","category.navigation":"Viagens","category.social":"Social","category.news":"Notícias","category.weather":"Tempo","category.productivity":"Ferramentas","category.folder":"Pasta","help.title":"Guia EvPortal — Navegador Tesla, atalhos e cópias de segurança","help.description":"Abra o EvPortal no navegador Tesla, organize os favoritos e transfira cópias por código, ligação ou QR. Saiba como começar e restaurar os seus atalhos.","help.language":"Idioma","help.back":"Voltar aos atalhos","help.heading":"Guia do EvPortal para o navegador Tesla","help.intro":"Toca num atalho para abrir o serviço num novo separador. O botão do tema no topo permite escolher o modo claro ou escuro. Os oito idiomas estão disponíveis nas Definições com os seus nomes e bandeiras; o árabe é apresentado da direita para a esquerda.","help.organizeHeading":"Organizar os atalhos","help.ranking":"Todos apresenta primeiro os atalhos mais abertos. Em caso de empate, mantém a sua ordem manual. A classificação fica guardada após recarregar a página.","help.dragging":"Numa categoria ou nos Favoritos, toque em Editar e mova os atalhos pelas pegas. A estrela adiciona um favorito e o lápis permite editar. Toque em Concluir quando terminar. Todos mantém a classificação automática.","help.keyboard":"Com o teclado, selecione uma pega, prima Espaço, mova com as setas e confirme com Enter. Escape cancela.","help.addHeading":"Adicionar um atalho ou uma categoria","help.adding":"O botão + abre o catálogo e permite criar um atalho ou uma categoria. Já adicionado indica um serviço que já foi adicionado. A lupa pesquisa em todos os seus atalhos.","help.categories":"Crie até cinco categorias pessoais com nomes de até 16 caracteres e um ícone à escolha. Use o lápis para as editar. As categorias antigas que ultrapassem estes limites são mantidas. As categorias visíveis distribuem-se sem deslocamento horizontal.","help.transferHeading":"Telemóvel: enviar ou receber","help.stepPrepare":"Em Definições → Telemóvel, escolhe Enviar ou Receber.","help.stepPublish":"Lê o QR apresentado com o telemóvel.","help.stepCode":"Para enviar a partir do telemóvel, escolhe os seus atalhos ou uma cópia e toca em Enviar.","help.stepImport":"No ecrã que recebe, toca em Adicionar para guardar a cópia nesse dispositivo.","help.stepApply":"Para usar o seu conteúdo, abre As minhas cópias → Restaurar.","help.qr":"O QR serve para transferências com o telemóvel. Criar um código ou uma ligação não apresenta um QR.","help.snapshot":"A transferência é cifrada e válida durante cinco minutos quando o serviço está disponível. Envia uma cópia do momento, sem sincronização automática. Receber uma cópia não substitui os teus atalhos.","help.public":"Em Definições → Código ou ligação, Criar prepara um código e uma ligação EvPortal para copiar. Adicionar aceita qualquer um e guarda uma cópia local após validação. Os ficheiros JSON continuam disponíveis em Mais opções. A página Telegra.ph criada é pública; a cópia local e a página online são distintas.","help.fullscreenHeading":"Ecrã inteiro Tesla","help.fullscreen":"Com o veículo estacionado, toque em Ecrã inteiro. No YouTube, escolha Ir para o site ou Go to site para voltar ao EvPortal no modo Cinema. Os atalhos pedem um novo separador, cujo comportamento depende do navegador do veículo.","help.fullscreenFallback":"Se o Tesla não for reconhecido, escolha Abrir o modo Cinema Tesla nas definições. Num computador, o botão utiliza o ecrã inteiro normal. O redirecionamento pode mudar com atualizações do veículo ou do YouTube.","help.compatibility":"Abrir um site não garante a reprodução de vídeo: o país, a conta, a subscrição e o navegador podem limitá-la. Use o entretenimento com o veículo estacionado.","help.teslaManual":"Manual Tesla","help.myTesla":"Método descrito pelo myTesla","help.storageHeading":"Restaurar uma cópia","help.storage":"Em Definições → As minhas cópias → Restaurar, escolhe uma cópia em Neste dispositivo ou Online e verifica o conteúdo. Só Restaurar substitui os atalhos. Mais opções nas Definições permite anular a última restauração. Adicionar um código, ligação, ficheiro ou transferência QR guarda uma cópia sem a aplicar. Cada navegador mantém a sua própria lista local.","help.previewHeading":"Testar uma pré-visualização local","help.preview":"O QR usa o endereço do portal aberto. Num telemóvel, localhost ou 127.0.0.1 refere-se ao próprio telemóvel. Para testar entre dispositivos, ambos têm de aceder ao portal e ao serviço de transferência por HTTPS. Os códigos e ligações das cópias usam o endereço público do EvPortal.","help.privacyHeading":"Sobre o projeto e privacidade","help.privacy":"O EvPortal é gratuito e não está associado à Tesla. Os logótipos e as traduções estão incluídos no site. Os contadores de aberturas ficam na sua configuração, sem serviços de análise. O Telegra.ph é contactado a seu pedido; o token da conta fica separado da partilha. Os sites abertos aplicam as suas próprias políticas.","help.source":"Código-fonte","help.report":"Comunicar um problema","help.license":"EvPortal · Licença MIT","help.backupHeading":"Código ou ligação","help.preferencesHeading":"Escolher o catálogo e o ecrã inicial","help.preferences":"Em Definições → Catálogo e início, escolhe o país, as categorias visíveis e se queres abrir os favoritos ao iniciar. O país adapta as sugestões em Adicionar; não elimina os teus atalhos. Ver todos os países alarga o catálogo. Os atalhos de uma categoria oculta continuam em Todos e Favoritos. Estas escolhas ficam neste dispositivo e não são incluídas nas cópias nem nas transferências QR. O país inicial é sugerido pela região do navegador, sem pedir a tua localização.","help.sharedServices":"Um serviço pode aparecer em várias categorias com um único estado de favorito e contador; Todos apresenta-o uma só vez. Em Editar, abre Outras categorias para escolher onde aparece. Eliminar uma categoria mantém os serviços que também pertencem a outra categoria.","pair.receiveButton":"Receber do meu telemóvel","pair.receiveTitle":"Receber do meu telemóvel","pair.scanHint":"Lê este código QR com o telemóvel.","pair.qrAccessible":"Código QR para transferir para este ecrã","pair.apply":"Adicionar","pair.newQR":"Novo código QR","pair.sendTitle":"Enviar para o Tesla","pair.send":"Enviar os meus atalhos","pair.chooseBackup":"Escolher uma cópia","pair.sendHint":"Os atalhos deste telemóvel serão propostos no outro ecrã.","pair.privateHint":"Transferência cifrada, válida durante 5 minutos.","pair.preparing":"A preparar o código QR…","pair.waiting":"À espera do telemóvel · {time}","pair.retrying":"A restabelecer ligação… · {time}","pair.summary":"{categories} categorias · {count} atalhos","pair.ready":"Cópia recebida. Adiciona-a às tuas cópias.","pair.sending":"A enviar…","pair.sent":"Enviado. Adiciona a cópia no outro ecrã.","pair.applied":"Cópia adicionada.","pair.expired":"Este código QR expirou. Cria um novo no outro ecrã.","pair.receiverExpired":"Este código QR expirou. Cria um novo.","pair.notConfigured":"A transferência direta ainda não está disponível. Usa uma cópia Telegra.ph.","pair.unsupported":"Este navegador não permite transferências cifradas. Usa uma cópia Telegra.ph.","pair.invalidLink":"Este código QR de transferência é inválido. Lê um novo código.","pair.invalidResponse":"O serviço de transferência devolveu uma resposta inválida. Tenta com um novo código QR.","pair.networkError":"Não foi possível ligar. Verifica a rede e tenta novamente.","pair.timeout":"A ligação expirou. Tenta novamente.","pair.unauthorized":"Esta transferência já não está autorizada. Lê um novo código QR.","pair.alreadySent":"Este código QR já recebeu atalhos. Cria um novo para recomeçar.","pair.tooLarge":"Esta configuração é demasiado grande para a transferência direta. Exporta-a para um ficheiro JSON.","pair.invalidConfig":"A configuração recebida é inválida. Os teus atalhos atuais foram mantidos.","pair.decryptFailed":"Não foi possível ler esta transferência. Cria um novo código QR.","pair.applyFailed":"Não foi possível adicionar esta cópia. Tenta novamente.","pair.serviceUnavailable":"O serviço de transferência está temporariamente indisponível. Tenta novamente dentro de instantes.","pair.stepScan":"Ler","pair.stepSend":"Enviar","pair.stepApply":"Adicionar","pair.storageUnavailable":"Não foi possível guardar neste ecrã. Os teus atalhos atuais foram mantidos.","pair.undone":"Os atalhos anteriores foram restaurados.","pair.deliveryUnknown":"Verifica o outro ecrã: os teus atalhos podem já ter sido recebidos. Caso contrário, cria um novo código QR.","pair.offerButton":"Enviar para o meu telemóvel","pair.offerTitle":"Os meus atalhos no telemóvel","pair.offerScanHint":"Lê este código QR com o telemóvel.","pair.offerPreparing":"A preparar o envio…","pair.offerWaiting":"Pronta a receber no telemóvel · {time}","pair.offerExpired":"Este código QR expirou. Cria um novo.","pair.offerReady":"Cópia pronta a receber.","pair.downloadTitle":"Receber uma cópia","pair.downloading":"A recuperar a cópia…","pair.added":"Cópia adicionada às tuas cópias.","pair.addFailed":"Não foi possível adicionar esta cópia. Tenta novamente.","pair.downloadExpired":"Esta transferência expirou ou já foi recebida. Cria um novo código QR no outro ecrã.","pair.offerQRAccessible":"Código QR para receber esta cópia no telemóvel","prefs.title":"Catálogo e início","prefs.country":"País do catálogo","prefs.marketHint":"O país adapta a seleção sugerida em Adicionar.","prefs.homeFavorites":"Abrir nos meus favoritos","prefs.visibleCategories":"Categorias visíveis","prefs.categoriesHint":"Os atalhos continuam disponíveis em Todos e Favoritos.","prefs.allMarkets":"Todos os países","prefs.showAllMarkets":"Ver todos os países","prefs.saveFailed":"As preferências são guardadas apenas nesta sessão.","prefs.invalid":"Estas preferências são inválidas.","prefs.country.FR":"França","prefs.country.CA":"Canadá","prefs.country.US":"Estados Unidos","prefs.country.BE":"Bélgica","prefs.country.GB":"Reino Unido","prefs.country.DE":"Alemanha","prefs.country.ES":"Espanha","prefs.country.IT":"Itália","prefs.country.PT":"Portugal","prefs.country.AU":"Austrália","prefs.country.NZ":"Nova Zelândia","prefs.country.CH":"Suíça","prefs.country.ALL":"Todos os países","prefs.country.MX":"México","seo.introHeading":"Um portal de atalhos para o seu Tesla","seo.intro":"O EvPortal é um portal gratuito e independente que reúne os seus sites favoritos numa página pensada para o navegador Tesla. Também pode utilizá-lo num navegador no telemóvel ou computador. Os ícones grandes abrem os serviços escolhidos sem encher o ecrã inicial de textos ou widgets. Pode personalizar os atalhos, as categorias e a sua ordem, e escolher um tema claro ou escuro.","seo.startHeading":"Começar no navegador do veículo","seo.start":"Com o veículo estacionado, abra o endereço do EvPortal no navegador do carro. Guarde-o nos favoritos do navegador, se essa opção estiver disponível, para o encontrar facilmente. Não precisa de instalar uma aplicação nem de iniciar sessão numa conta Tesla para abrir o portal. Nas Definições, escolha o idioma e o país do catálogo separadamente. As preferências ficam neste dispositivo; uma cópia permite guardar ou transferir os seus atalhos.","seo.chargingHeading":"Encontrar os seus serviços durante um carregamento","seo.charging":"Adicione ligações aos seus planeadores de viagens ou carregamento, estações de rádio, música e meteorologia. O catálogo sugere serviços para o país selecionado; também pode introduzir um endereço à sua escolha. Cada atalho abre o site do serviço, com as suas próprias condições de acesso. O EvPortal não controla o carregamento nem envia comandos ao veículo. Utilize os conteúdos de entretenimento com o veículo estacionado.","seo.faqHeading":"Perguntas frequentes","seo.faqFreeQuestion":"O EvPortal é gratuito?","seo.faqFreeAnswer":"Sim. O portal é gratuito e não tem afiliação com a Tesla. Alguns sites abertos podem exigir uma conta ou subscrição; essas condições dependem do serviço.","seo.faqPhoneQuestion":"Como preparo os meus atalhos no telemóvel?","seo.faqPhoneAnswer":"Abra o EvPortal no telemóvel e organize os atalhos. Nas Definições, Telemóvel permite transferências QR nos dois sentidos. No ecrã que recebe, Adicionar guarda uma cópia. Para utilizar o seu conteúdo, escolha depois As minhas cópias e Restaurar. A receção, por si só, não substitui os seus atalhos.","seo.faqOfflineQuestion":"O EvPortal funciona sem ligação à Internet?","seo.faqOfflineAnswer":"O navegador guarda a configuração localmente, mas o EvPortal não oferece um modo sem ligação. Precisa de uma ligação para carregar o portal, abrir serviços e transferir cópias. Um ficheiro JSON permite guardar uma cópia independente para restaurar mais tarde.","seo.languages":"Idiomas disponíveis","seo.operatingSystem":"Web","seo.browserRequirements":"Navegador com JavaScript e armazenamento local; HTTPS e funções criptográficas para transferências QR.","seo.featureFavorites":"Atalhos e favoritos personalizáveis","seo.featureDrag":"Reordenação por arrastar e largar no ecrã tátil","seo.featureQR":"Transferência de cópias por QR com um telemóvel","seo.featureBackup":"Cópias por código, ligação ou ficheiro JSON","share.tooLarge":"A configuração excede o limite de 64 KB do Telegra.ph. Reduz as ligações ou usa um ficheiro.","share.noConnection":"A ligação está indisponível neste navegador.","share.publishTimeout":"O tempo de espera terminou. Verifica As minhas cópias antes de tentar novamente.","share.timeout":"O Telegra.ph não responde. Tenta mais tarde.","share.networkError":"Não foi possível ligar ao Telegra.ph. Verifica a ligação.","share.unavailable":"O Telegra.ph está indisponível. Tenta mais tarde.","share.badResponse":"A resposta do Telegra.ph é ilegível. Tenta mais tarde.","share.rateLimited":"Demasiados pedidos. Aguarda antes de tentar novamente.","share.invalidAccount":"A conta Telegra.ph está indisponível. A conta anterior foi preservada.","share.refused":"O Telegra.ph recusou o pedido. Tenta mais tarde.","share.accountNotCreated":"A conta Telegra.ph não foi criada. Tenta mais tarde.","share.invalidTitle":"Nome de partilha inválido (até 256 caracteres).","share.sessionOnly":"A conta só é guardada durante esta sessão. Guarda a ligação de partilha.","share.invalidPage":"Posição de página inválida.","share.badHistory":"A lista do Telegra.ph é ilegível.","share.localPreview":"Pré-visualização local: usa o endereço de rede desta pré-visualização no telemóvel.","share.localPreviewOld":"Pré-visualização local: para testar no telemóvel, usa um endereço de rede acessível desta pré-visualização. O endereço público apresenta a versão publicada, que pode diferir desta pré-visualização.","share.qrLabel":"Lê com um telemóvel para abrir estes atalhos EvPortal","share.qrAddressUnavailable":"Código QR indisponível para este endereço. Copia a ligação.","share.qrUnavailable":"Código QR indisponível. Copia a ligação.","share.publishing":"A guardar…","share.publish":"Criar a minha cópia","share.created":"Cópia criada.","share.copyUnavailable":"Não é possível copiar. Seleciona o texto para o copiar manualmente.","share.linkCopied":"Ligação copiada.","share.codeCopied":"Código copiado.","share.import":"Importar","share.importNamed":"Importar {name}","share.more":"Ver mais","share.empty":"Sem cópias.","share.secureRandomUnavailable":"Não é possível gerar uma ligação de partilha aleatória neste navegador. Utiliza um navegador recente.","share.unsafePath":"O Telegra.ph não manteve o identificador aleatório. Não foi publicada nenhuma configuração.","share.deleteNamed":"Eliminar {name}","share.deleted":"Cópia eliminada.","share.noAccount":"Não existe uma conta de cópias disponível neste navegador.","state.fullURL":"Use um endereço completo que comece por https:// ou http://, sem espaços.","state.invalidURL":"Este endereço não é válido.","state.safeURL":"As ligações devem usar HTTP ou HTTPS, sem dados de acesso no endereço.","state.invalidID":"Identificador de categoria ou atalho inválido.","state.shortcutObject":"Cada atalho deve ser um objeto.","state.duplicateShortcut":"Dois atalhos têm o mesmo identificador.","state.favoriteBoolean":"O valor de favorito deve ser booleano.","state.invalidColor":"Cor do atalho inválida.","state.invalidCount":"Contador de utilização do atalho inválido.","state.invalidFormat":"Formato EvPortal desconhecido ou versão da cópia incompatível.","state.tooManyCategories":"A cópia excede 50 categorias.","state.invalidCategory":"Categoria inválida.","state.reservedCategory":"Identificador de categoria reservado ou duplicado.","state.invalidIcon":"Ícone da categoria inválido.","state.tooManyShortcuts":"A cópia excede 5000 atalhos.","state.invalidTheme":"Tema da cópia inválido.","state.missingCategory":"A categoria ativa da cópia não foi encontrada.","state.invalidOrder":"Ordem dos atalhos inválida.","state.backupObject":"A cópia deve ser um objeto JSON.","state.invalidLegacyList":"A lista de categorias antigas é inválida.","state.duplicateCategories":"A lista contém categorias duplicadas.","state.foreignData":"A cópia contém dados alheios às categorias EvPortal.","state.invalidLegacyShortcut":"Atalho antigo inválido.","state.invalidShortcutOrder":"Posição do atalho inválida.","state.largeFile":"O ficheiro excede o limite de 2 MB.","state.invalidJSON":"O ficheiro não contém JSON válido.","state.storageUnavailable":"Armazenamento indisponível","state.invalidLegacyCategories":"Categorias antigas inválidas","state.reservedLegacyCategory":"Categoria antiga reservada","state.invalidMove":"Movimento do atalho inválido.","state.telegraphLink":"Use uma ligação telegra.ph ou o identificador da página.","state.telegraphID":"Identificador de página Telegra.ph inválido.","state.portalLink":"Use uma ligação EvPortal com um único código de partilha.","state.invalidField":"{field} inválido (máximo de {max} caracteres).","state.invalidFieldShort":"{field} inválido.","state.urlLabel":"Endereço do site","state.shortcutName":"Nome do atalho","state.shortcutDescription":"Descrição do atalho","state.shortcutTag":"Etiqueta do atalho","state.categoryName":"Nome da categoria","state.categoryDescription":"Descrição da categoria","state.catalogVersion":"Versão do catálogo","state.telegraphIDLabel":"Identificador Telegra.ph","state.shareCodeLabel":"Ligação ou código de partilha","state.invalidCategoryShortcuts":"Os atalhos da categoria «{name}» são inválidos.","state.storageWarning":"A cópia local está indisponível ou ilegível. Os dados anteriores foram preservados. As alterações desta sessão são temporárias: exporte-as em JSON.","static.title":"EvPortal — Atalhos para o navegador Tesla","static.skip":"Ir para os atalhos","static.tagline":" — atalhos para Tesla","static.fullscreen":"Ecrã inteiro","static.share":"Partilhar","static.edit":"Editar","static.add":"Adicionar","static.searchLabel":"Procurar um atalho","static.dragInstructions":"Espaço para selecionar, setas para mover, Enter para largar e Escape para cancelar.","static.reorder":"Arraste os atalhos para alterar a ordem.","static.video":"Cinema","static.javascript":"Ative o JavaScript para personalizar os seus atalhos.","static.help":"Ajuda","static.settings":"Definições","static.language":"Idioma","static.createShortcut":"Criar um atalho","static.createCategory":"Criar uma categoria","static.importTelegraph":"Importar uma cópia","static.theater":"Abrir o modo Cinema Tesla","static.moreOptions":"Mais opções","static.exportJSON":"Guardar um ficheiro JSON","static.reset":"Repor os atalhos","static.about":"Ajuda e informações","static.newCategory":"Nova categoria","static.name":"Nome","static.icon":"Ícone","static.cancel":"Cancelar","static.create":"Criar","static.newShortcut":"Novo atalho","static.website":"Endereço do site","static.category":"Categoria","static.restore":"Importar uma cópia","static.shareInput":"Código ou ligação","static.load":"Carregar os meus atalhos","static.importJSON":"Importar um ficheiro JSON","static.jsonFile":"Ficheiro JSON","static.close":"Fechar","static.use":"Usar estes atalhos","static.shareTitle":"Exportar uma cópia","static.backupName":"Nome (opcional)","static.public":"Esta cópia será pública.","static.portalAddress":"Endereço do EvPortal","static.otherAddress":"Endereço do EvPortal no outro ecrã","static.publish":"Criar a minha cópia","static.scan":"Leia o código com o telemóvel.","static.carCode":"Código a introduzir no Tesla","static.copyCode":"Copiar código","static.importHint":"Tesla: Definições → Cópias de segurança → Importar uma cópia.","static.copyLink":"Copiar ligação","static.sharedLinks":"As minhas cópias","static.showBackups":"Atualizar","static.addShortcuts":"Adicionar atalhos","static.searchService":"Procurar um serviço","static.home":"EvPortal, início","static.search":"Procurar","static.enterFullscreen":"Ativar ecrã inteiro","static.shareAccessible":"Exportar uma cópia","static.addAccessible":"Adicionar um atalho ou categoria","static.clearSearch":"Limpar pesquisa","static.categories":"Categorias","static.qrAccessible":"Código QR para recuperar os seus atalhos","static.searchPlaceholder":"Procurar…","static.tripsPlaceholder":"As minhas viagens","static.servicePlaceholder":"O meu serviço","static.urlPlaceholder":"https://exemplo.pt","static.codePlaceholder":"Código ou ligação EvPortal","static.defaultBackup":"Os meus atalhos EvPortal","static.description":"Personalize o seu portal Tesla com atalhos para carregamento, música e meteorologia, favoritos e cópias. Gratuito, com transferências QR pelo telemóvel.","static.socialTitle":"EvPortal — Atalhos para o navegador Tesla","static.socialDescription":"Personalize o seu portal Tesla com atalhos para carregamento, música e meteorologia, favoritos e cópias. Gratuito, com transferências QR pelo telemóvel.","static.previewAlt":"EvPortal: atalhos para carregamento, música, streaming e navegação.","static.twitterDescription":"Personalize o seu portal Tesla com atalhos para carregamento, música e meteorologia, favoritos e cópias. Gratuito, com transferências QR pelo telemóvel.","static.twitterAlt":"Os atalhos EvPortal no modo escuro.","static.nameBackup":"Dar nome à cópia","static.undoTransfer":"Anular a última transferência","static.backups":"Cópias de segurança","static.exportBackup":"Exportar uma cópia","static.importBackup":"Importar uma cópia"}})); +(function (root, data) { if (typeof module === "object" && module.exports) module.exports = data; else root.EV_TRANSLATIONS = data; }(typeof globalThis !== "undefined" ? globalThis : this, {"en":{"app.startFailed":"The portal could not start. Reload the page to try again.","app.storageUnavailable":"Local storage is unavailable or full. Export your configuration to keep this session’s changes.","app.storageRecovery":"The local backup is unavailable or unreadable. Your old data is preserved. Export this session before closing the portal.","app.all":"All","app.favorites":"Favorites","app.move":"Move {name}","app.previousMoveCancelled":"Previous move canceled.","app.moveSelected":"{name} selected. Use arrow keys to move, Enter to drop, Escape to cancel.","app.moveCancelled":"Move canceled.","app.movePosition":"{name}, position {position} of {count}.","app.orderSaved":"Order saved.","app.editCategory":"Edit category {name}","app.deleteCategory":"Delete category {name}","app.confirmDeleteCategory":"Delete “{name}” and its {count} shortcuts?","app.categoryDeleted":"Category deleted.","app.openNewTab":"{name} — new tab","app.removeFavorite":"Remove {name} from favorites","app.addFavorite":"Add {name} to favorites","app.favoriteAdded":"{name} added to favorites.","app.favoriteRemoved":"{name} removed from favorites.","app.editShortcut":"Edit {name}","app.deleteShortcut":"Delete {name}","app.confirmDeleteShortcut":"Delete shortcut “{name}”?","app.shortcutDeleted":"Shortcut deleted.","app.allShortcuts":"All shortcuts","app.allDescription":"All your services and shortcuts in one place.","app.searchResults":"Search results","app.searchDescription":"Searching all categories for “{query}”.","app.myFavorites":"My favorites","app.favoritesDescription":"Your essentials, always within reach.","app.categoryDescription":"Your shortcuts in this category.","app.shortcutCount":"{count} shortcuts","app.shortcutCountOne":"{count} shortcut","app.noShortcuts":"No shortcuts found","app.emptyFavorites":"Keep your essentials here","app.emptyCategory":"Make this page yours","app.searchHint":"Try another name, domain or keyword.","app.favoriteHint":"Tap a shortcut’s star to add it to your favorites.","app.emptyHint":"Add shortcuts from the catalog or create your own.","app.clearSearch":"Clear search","app.exploreCatalog":"Browse catalog","app.usageOrderHint":"All: most used first. To move a shortcut, open its category or Favorites.","app.dragHint":"Drag shortcuts to reorder them.","app.finishEditing":"Finish editing","app.editShortcuts":"Edit shortcuts","app.finish":"Done","app.edit":"Edit","app.categoryRequired":"Create a category first to add your shortcut.","app.editShortcutTitle":"Edit shortcut","app.addShortcutTitle":"Add shortcut","app.save":"Save","app.addShortcutSubmit":"Add shortcut","app.editCategoryTitle":"Edit category","app.newCategory":"New category","app.create":"Create","app.categoryLimitHint":"Limit reached: {max} personal categories. Edit or delete an existing category.","app.categoryCountHint":"{count}/{max} personal categories · Up to {length} characters.","app.categoryGone":"This category was deleted in another tab. Close this form and try again.","app.categoryNameInvalid":"Enter a name of 1 to {max} characters.","app.categoryLimit":"The limit of {max} personal categories has been reached.","app.categoryDuplicate":"A category with this name already exists.","app.iconRequired":"Choose one of the available icons.","app.categoryDescriptionInvalid":"The description must be 240 characters or fewer.","app.categoryChanged":"Category updated.","app.categoryCreated":"Category created.","app.selectCategory":"Choose an existing category.","app.shortcutGone":"This shortcut was deleted in another tab. Close this form and try again.","app.shortcutLimit":"The limit of 5,000 shortcuts has been reached.","app.shortcutFieldsInvalid":"Check the name (up to 100 characters) and description (up to 300).","app.shortcutDuplicate":"This link already exists. Edit its categories to show it elsewhere.","app.shortcutChanged":"Shortcut updated.","app.shortcutAdded":"Shortcut added.","app.alreadyPresentNamed":"Already added: {name}","app.addNamed":"Add {name}","app.alreadyPresent":"Already added","app.add":"Add","app.totalCategoryLimit":"The limit of 50 categories has been reached.","app.addedToCategory":"{name} added to {category}.","app.noServices":"No services match this search.","app.catalogComplete":"Manage your shortcuts or create your own.","app.catalogHint":"Manage your shortcuts or create your own.","app.sharedConfig":"Adds to your backups without changing your shortcuts.","app.importPreview":"Categories: {categories} · Shortcuts: {count}","app.fileTooLarge":"The file exceeds the 2 MB limit.","app.loadingConfig":"Loading configuration…","app.telegraphNotReturned":"Telegra.ph did not return this page. Check its code.","app.pageTooLarge":"This page is too large to import.","app.telegraphUnreadable":"This Telegra.ph page was not found or could not be read.","app.noConfigInPage":"The page does not contain an EvPortal configuration.","app.connectionTimeout":"The connection timed out. Try again shortly.","app.imported":"Configuration imported.","app.exportReady":"JSON export ready. Keep the file to restore your shortcuts on another device.","app.exportFailed":"Could not prepare the backup file.","app.confirmReset":"Restore the original catalog? Your custom shortcuts and favorites will be replaced. Export them before continuing.","app.catalogReset":"Original catalog restored.","app.switchToLight":"Switch to light mode","app.switchToDark":"Switch to dark mode","app.fullscreenReload":"Reload the page to enable full screen.","app.fullscreenUnavailable":"Full screen is not available in this browser.","app.exitFullscreen":"Exit full screen","app.enterFullscreen":"Enter full screen","app.syncedFromTab":"Your changes from another tab have been loaded.","app.unreadableTabState":"The backup received from another tab is unreadable. The current session is preserved.","app.legacyRecovered":"Your previous shortcuts have been recovered.","app.catalogUpdated":"{count} catalog addresses have been updated.","app.invalidConfig":"This configuration is invalid or incompatible. Check the file or code and try again.","app.invalidShortcutURL":"Use a full address starting with https:// or http://, without spaces or credentials.","app.invalidImportCode":"Use a Telegra.ph code, a telegra.ph address or a valid EvPortal share link.","app.connectionFailed":"Could not connect. Check the network and try again.","app.icon.all":"Grid","app.icon.favorites":"Star","app.icon.cinema":"Video","app.icon.music":"Music","app.icon.tv":"Television","app.icon.charging":"Charging","app.icon.games":"Games","app.icon.navigation":"Trips","app.icon.social":"Messages","app.icon.news":"News","app.icon.weather":"Weather","app.icon.productivity":"Tools","app.icon.folder":"Folder","app.otherCategories":"Other categories","app.moreIcons":"More icons","app.remove":"Remove","app.removeCatalogNamed":"Remove {name}","app.catalogRemoved":"{name} removed.","app.icon.home":"Home","app.icon.car":"Car","app.icon.parking":"Parking","app.icon.map":"Map","app.icon.globe":"Globe","app.icon.compass":"Compass","app.icon.coffee":"Coffee","app.icon.food":"Food","app.icon.shopping":"Shopping","app.icon.heart":"Heart","app.icon.camera":"Camera","app.icon.tools":"DIY","backup.links":"Code or link","backup.phone":"Phone","backup.library":"My backups","backup.create":"Create","backup.add":"Add","backup.send":"Send","backup.receive":"Receive","backup.restore":"Restore","backup.createTitle":"Create a code or link","backup.addTitle":"Add a backup","backup.restoreTitle":"Restore a backup","backup.chooseTitle":"Choose a backup","backup.code":"Code","backup.link":"EvPortal link","backup.copyCode":"Copy code","backup.addHint":"Adds to your backups without changing your shortcuts.","backup.added":"Backup added.","backup.restored":"Backup restored.","backup.local":"On this device","backup.online":"Online","backup.empty":"No saved backups.","backup.receivedTitle":"Received shortcuts","backup.fileTitle":"Imported backup","backup.deleteNamed":"Delete “{name}”","backup.deleted":"Backup deleted.","backup.savedSummary":"Categories: {categories} · Shortcuts: {count}","backup.load":"Check","backup.restoreHint":"Replaces the shortcuts on this device.","backup.selected":"Selected backup","backup.choose":"Choose","backup.localCopy":"Copy saved on this device.","backup.undoRestore":"Undo the last restore","backup.storageUnavailable":"Backup storage is unavailable or full.","backup.invalidLibrary":"The backup library cannot be read. Existing data has been kept.","backup.invalidBackup":"This backup is invalid.","backup.limit":"You can keep up to {max} backups on this device.","backup.tooLarge":"This backup exceeds {max} MB.","backup.missing":"This backup is no longer available.","backup.retry":"Retry","category.all":"All","category.favorites":"Favorites","category.cinema":"Video","category.music":"Music","category.tv":"TV","category.charging":"Charging","category.games":"Games","category.navigation":"Trips","category.social":"Social","category.news":"News","category.weather":"Weather","category.productivity":"Tools","category.folder":"Folder","help.title":"EvPortal Guide — Tesla Browser, Shortcuts & Backups","help.description":"Open EvPortal in your Tesla browser, organise your favourites and transfer backups by code, link or QR. Learn how to get started and restore your shortcuts.","help.language":"Language","help.back":"Back to shortcuts","help.heading":"EvPortal guide for the Tesla browser","help.intro":"Tap a shortcut to open the service in a new tab. Dark mode is the default; your chosen light or dark theme is then saved. The eight languages are available in Settings with their native names and flags; Arabic is displayed from right to left.","help.organizeHeading":"Organize shortcuts","help.ranking":"All shows your most frequently opened shortcuts first. Ties keep your manual order. The ranking is saved after reloading.","help.dragging":"In a category or Favorites, tap Edit and move shortcuts using their handles. The star adds a favorite and the pencil lets you edit. Tap Done when finished. All keeps its automatic ranking.","help.keyboard":"With a keyboard, focus a handle, press Space, move with the arrow keys, then confirm with Enter. Escape cancels.","help.addHeading":"Add a shortcut or category","help.adding":"The “+” button opens the same catalogue for everyone. Expand or collapse a category, then use Add or Remove on a service. Create a shortcut and Create a category are at the top of the catalogue. The magnifying glass searches all your shortcuts.","help.categories":"Create up to five personal categories with names of up to 16 characters and an icon of your choice. More icons opens the additional choices. Use the pencil to edit a category. Older categories exceeding these limits are kept. Visible categories fit without horizontal scrolling.","help.transferHeading":"Phone: send or receive","help.stepPrepare":"In Settings → Backups → Phone, choose Send or Receive.","help.stepPublish":"Scan the displayed QR code with your phone.","help.stepCode":"To send from your phone, choose its shortcuts or a backup, then tap Send.","help.stepImport":"On the receiving screen, tap Add to keep the backup on that device.","help.stepApply":"To use its contents, open My backups → Restore.","help.qr":"QR codes are for phone transfers. Creating a code or link does not display a QR code.","help.snapshot":"The transfer is encrypted and valid for five minutes when the service is available. It sends a snapshot without automatic synchronization. Receiving a backup does not replace your shortcuts.","help.public":"In Settings → Backups → Code or link, Create prepares a code and an EvPortal link to copy. Add accepts either and saves a local copy after validation. JSON files remain available under More options. The created Telegra.ph page is public; the local copy and online page are separate.","help.fullscreenHeading":"Tesla fullscreen","help.fullscreen":"While parked, tap Fullscreen. On YouTube, choose Go to site to return to EvPortal in Theater mode. Shortcuts request a new tab; its behavior depends on the vehicle browser.","help.fullscreenFallback":"If the Tesla is not recognized, choose Open Tesla Theater in settings. On a computer, the button uses regular fullscreen. The redirect may change with vehicle or YouTube updates.","help.compatibility":"Opening a site does not guarantee video playback: country, account, subscription, and browser restrictions may apply. Use entertainment while parked.","help.teslaManual":"Tesla manual","help.myTesla":"Method described by myTesla","help.storageHeading":"Restore a backup","help.storage":"In Settings → Backups → My backups → Restore, choose a backup under On this device or Online, then check its contents. Only Restore replaces your shortcuts. More options in Settings lets you undo the last restore. Adding a code, link, file, or QR transfer saves a backup without applying it. Each browser keeps its own local list.","help.previewHeading":"Test a local preview","help.preview":"The QR uses the address of the open portal. On a phone, localhost or 127.0.0.1 refers to the phone itself. For testing across devices, both must be able to reach the portal and relay over HTTPS. Backup codes and links use the public EvPortal address.","help.privacyHeading":"About and privacy","help.privacy":"EvPortal is free and is not affiliated with Tesla. Logos and translations are bundled with the site. Opening counts stay in your configuration, with no analytics service. Telegra.ph is contacted at your request; the account token stays separate from the share. Sites you open apply their own policies.","help.source":"Source code","help.report":"Report a problem","help.license":"EvPortal · MIT License","help.backupHeading":"Code or link","help.preferencesHeading":"Choose your home view","help.preferences":"In Settings → Home, choose which categories to show and whether to open on your favourites. These preferences stay on this device and are not included in backups or QR transfers. Manage the catalogue using the “+” button.","help.sharedServices":"A service can appear in several categories with one favorite status and one counter; All shows it only once. In Edit, open Other categories to choose where it appears. Deleting a category keeps services that also belong to another category.","pair.receiveButton":"Receive from my phone","pair.receiveTitle":"Receive from my phone","pair.scanHint":"Scan this QR code with your phone.","pair.qrAccessible":"QR code to transfer to this screen","pair.apply":"Add","pair.newQR":"New QR code","pair.sendTitle":"Send to the Tesla","pair.send":"Send my shortcuts","pair.chooseBackup":"Choose a backup","pair.sendHint":"This phone’s shortcuts will be offered on the other screen.","pair.privateHint":"Encrypted transfer, valid for 5 minutes.","pair.preparing":"Preparing QR code…","pair.waiting":"Waiting for phone · {time}","pair.retrying":"Reconnecting… · {time}","pair.summary":"{categories} categories · {count} shortcuts","pair.ready":"Backup received. Add it to your backups.","pair.sending":"Sending…","pair.sent":"Sent. Add the backup on the other screen.","pair.applied":"Backup added.","pair.expired":"This QR code has expired. Create a new one on the other screen.","pair.receiverExpired":"This QR code has expired. Create a new one.","pair.notConfigured":"Direct transfer is not available yet. Use a Telegra.ph backup.","pair.unsupported":"This browser does not support encrypted transfers. Use a Telegra.ph backup.","pair.invalidLink":"This transfer QR code is invalid. Scan a new code.","pair.invalidResponse":"The transfer service returned an invalid response. Try a new QR code.","pair.networkError":"Unable to connect. Check your network and try again.","pair.timeout":"The connection timed out. Try again.","pair.unauthorized":"This transfer is no longer authorized. Scan a new QR code.","pair.alreadySent":"This QR code has already received shortcuts. Create a new one to start again.","pair.tooLarge":"This configuration is too large for direct transfer. Export it as a JSON file.","pair.invalidConfig":"The received configuration is invalid. Your current shortcuts are preserved.","pair.decryptFailed":"Unable to read this transfer. Create a new QR code.","pair.applyFailed":"Unable to add this backup. Try again.","pair.serviceUnavailable":"The transfer service is temporarily unavailable. Try again shortly.","pair.stepScan":"Scan","pair.stepSend":"Send","pair.stepApply":"Add","pair.storageUnavailable":"Unable to save on this screen. Your current shortcuts are preserved.","pair.undone":"Your previous shortcuts have been restored.","pair.deliveryUnknown":"Check the other screen: your shortcuts may already have arrived. If not, create a new QR code.","pair.offerButton":"Send to my phone","pair.offerTitle":"My shortcuts on my phone","pair.offerScanHint":"Scan this QR code with your phone.","pair.offerPreparing":"Preparing to send…","pair.offerWaiting":"Ready to collect on your phone · {time}","pair.offerExpired":"This QR code has expired. Create a new one.","pair.offerReady":"Backup ready to collect.","pair.downloadTitle":"Receive a backup","pair.downloading":"Retrieving the backup…","pair.added":"Backup added to your backups.","pair.addFailed":"Unable to add this backup. Try again.","pair.downloadExpired":"This transfer has expired or has already been collected. Create a new QR code on the other screen.","pair.offerQRAccessible":"QR code to receive this backup on your phone","prefs.title":"Home","prefs.homeFavorites":"Open on my favorites","prefs.visibleCategories":"Visible categories","prefs.saveFailed":"Preferences are saved for this session only.","prefs.invalid":"These preferences are invalid.","seo.introHeading":"A shortcut dashboard for your Tesla","seo.intro":"EvPortal is a free, independent dashboard that brings your favourite websites together on a page designed for the Tesla browser. You can also use it in a browser on your phone or computer. Large icons open your chosen services without filling the home screen with text or widgets. Customise your shortcuts, categories and their order, then choose a light or dark theme.","seo.startHeading":"Get started in your vehicle’s browser","seo.start":"While parked, open the EvPortal address in your car’s browser. Save it as a browser favourite if that option is available so it is easy to find again. Opening the portal requires no app installation or Tesla account sign-in. The “+” button opens the catalogue to manage your shortcuts. In Settings, choose your language and home view. Your preferences stay on this device; a backup lets you keep a copy of your shortcuts or transfer them.","seo.chargingHeading":"Find your services during a charging stop","seo.charging":"Add links to your route and charging planners, radio stations, music and weather services. The catalogue is the same for everyone, with collapsible categories; you can also enter your own web address. Each shortcut opens the provider’s website, with its own access conditions. EvPortal does not control charging or send commands to the vehicle. Use entertainment content while parked.","seo.faqHeading":"Frequently asked questions","seo.faqFreeQuestion":"Is EvPortal free?","seo.faqFreeAnswer":"Yes. The portal is free and is not affiliated with Tesla. Some linked websites may require an account or subscription; the service provider sets those conditions.","seo.faqPhoneQuestion":"How do I prepare my shortcuts on my phone?","seo.faqPhoneAnswer":"Open EvPortal on your phone and organise your shortcuts. In Settings, Phone offers QR transfers in both directions. On the receiving screen, Add keeps a backup. To use its contents, then choose My backups and Restore. Receiving a backup alone does not replace your shortcuts.","seo.faqOfflineQuestion":"Does EvPortal work offline?","seo.faqOfflineAnswer":"Your browser stores your configuration locally, but EvPortal does not offer an offline mode. You need a connection to load the portal, open services and transfer backups. A JSON file lets you keep an independent copy for a later restoration.","seo.languages":"Available languages","seo.operatingSystem":"Web","seo.browserRequirements":"Browser with JavaScript and local storage; HTTPS and cryptographic features for QR transfers.","seo.featureFavorites":"Customisable shortcuts and favourites","seo.featureDrag":"Touch drag-and-drop ordering","seo.featureQR":"QR backup transfers with a phone","seo.featureBackup":"Backups by code, link or JSON file","share.tooLarge":"Configuration exceeds Telegra.ph’s 64 KB limit. Remove some links or use a file.","share.noConnection":"Connection is unavailable in this browser.","share.publishTimeout":"Request timed out. Check My backups before trying again.","share.timeout":"Telegra.ph is not responding. Try again later.","share.networkError":"Could not connect to Telegra.ph. Check your connection.","share.unavailable":"Telegra.ph is unavailable. Try again later.","share.badResponse":"Telegra.ph returned an unreadable response. Try again later.","share.rateLimited":"Too many requests. Wait before trying again.","share.invalidAccount":"The Telegra.ph account is unavailable. Your previous account is preserved.","share.refused":"Telegra.ph refused this request. Try again later.","share.accountNotCreated":"The Telegra.ph account was not created. Try again later.","share.invalidTitle":"Invalid share name (up to 256 characters).","share.sessionOnly":"The account is saved for this session only. Keep the share link.","share.invalidPage":"Invalid page position.","share.badHistory":"The Telegra.ph list could not be read.","share.localPreview":"Local preview: use this preview’s network address on your phone.","share.localPreviewOld":"Local preview: to test on your phone, use a reachable network address for this preview. The public address shows the published version, which may differ from this preview.","share.qrLabel":"Scan with a phone to open these EvPortal shortcuts","share.qrAddressUnavailable":"QR code unavailable for this address. Copy the link.","share.qrUnavailable":"QR code unavailable. Copy the link.","share.publishing":"Saving…","share.publish":"Create my backup","share.created":"Backup created.","share.copyUnavailable":"Copy is unavailable. Select the text to copy it manually.","share.linkCopied":"Link copied.","share.codeCopied":"Code copied.","share.import":"Import","share.importNamed":"Import {name}","share.more":"Show more","share.empty":"No backups.","share.secureRandomUnavailable":"Unable to generate a random share link in this browser. Use a recent browser.","share.unsafePath":"Telegra.ph did not preserve the random identifier. No configuration was published.","share.deleteNamed":"Delete {name}","share.deleted":"Backup deleted.","share.noAccount":"No backup account is available in this browser.","state.fullURL":"Use a full address starting with https:// or http://, without spaces.","state.invalidURL":"This website address is invalid.","state.safeURL":"Links must use HTTP or HTTPS, with no login details in the address.","state.invalidID":"Invalid category or shortcut ID.","state.shortcutObject":"Each shortcut must be an object.","state.duplicateShortcut":"Two shortcuts have the same ID.","state.favoriteBoolean":"The favourite value must be a boolean.","state.invalidColor":"Invalid shortcut colour.","state.invalidCount":"Invalid shortcut usage count.","state.invalidFormat":"Unrecognised EvPortal format or incompatible backup version.","state.tooManyCategories":"The backup exceeds 50 categories.","state.invalidCategory":"Invalid category.","state.reservedCategory":"Reserved or duplicate category ID.","state.invalidIcon":"Invalid category icon.","state.tooManyShortcuts":"The backup exceeds 5,000 shortcuts.","state.invalidTheme":"Invalid backup theme.","state.missingCategory":"The active category in the backup could not be found.","state.invalidOrder":"Invalid shortcut order.","state.backupObject":"The backup must be a JSON object.","state.invalidLegacyList":"The legacy category list is invalid.","state.duplicateCategories":"The list contains duplicate categories.","state.foreignData":"The backup contains data unrelated to EvPortal categories.","state.invalidLegacyShortcut":"Invalid legacy shortcut.","state.invalidShortcutOrder":"Invalid shortcut position.","state.largeFile":"The file exceeds the 2 MB limit.","state.invalidJSON":"The file does not contain valid JSON.","state.storageUnavailable":"Storage unavailable","state.invalidLegacyCategories":"Invalid legacy categories","state.reservedLegacyCategory":"Reserved legacy category","state.invalidMove":"Invalid shortcut move.","state.telegraphLink":"Use a telegra.ph link or page ID.","state.telegraphID":"Invalid Telegra.ph page ID.","state.portalLink":"Use an EvPortal link containing exactly one share code.","state.invalidField":"Invalid {field} (maximum {max} characters).","state.invalidFieldShort":"Invalid {field}.","state.urlLabel":"Website address","state.shortcutName":"Shortcut name","state.shortcutDescription":"Shortcut description","state.shortcutTag":"Shortcut tag","state.categoryName":"Category name","state.categoryDescription":"Category description","state.catalogVersion":"Catalogue version","state.telegraphIDLabel":"Telegra.ph ID","state.shareCodeLabel":"Share link or code","state.invalidCategoryShortcuts":"The shortcuts in category “{name}” are invalid.","state.storageWarning":"Local backup is unavailable or unreadable. Your previous data has been preserved. Changes in this session are temporary: export them as JSON.","static.title":"EvPortal — Tesla Browser Dashboard & Shortcuts","static.skip":"Skip to shortcuts","static.tagline":" — shortcuts for Tesla","static.fullscreen":"Full screen","static.share":"Share","static.edit":"Edit","static.add":"Add","static.searchLabel":"Search shortcuts","static.dragInstructions":"Space to pick up, arrow keys to move, Enter to drop, Escape to cancel.","static.reorder":"Drag shortcuts to reorder them.","static.video":"Cinema","static.javascript":"Enable JavaScript to customise your shortcuts.","static.help":"Help","static.settings":"Settings","static.language":"Language","static.createShortcut":"Create a shortcut","static.createCategory":"Create a category","static.importTelegraph":"Import a backup","static.theater":"Open Tesla Theater","static.moreOptions":"More options","static.exportJSON":"Save a JSON file","static.reset":"Reset shortcuts","static.about":"Help & about","static.newCategory":"New category","static.name":"Name","static.icon":"Icon","static.cancel":"Cancel","static.create":"Create","static.newShortcut":"New shortcut","static.website":"Website address","static.category":"Category","static.restore":"Import a backup","static.shareInput":"Code or link","static.load":"Load my shortcuts","static.importJSON":"Import a JSON file","static.jsonFile":"JSON file","static.close":"Close","static.use":"Use these shortcuts","static.shareTitle":"Export a backup","static.backupName":"Name (optional)","static.public":"This backup will be public.","static.portalAddress":"EvPortal address","static.otherAddress":"EvPortal address on the other screen","static.publish":"Create my backup","static.scan":"Scan with your phone.","static.carCode":"Code to enter in your Tesla","static.copyCode":"Copy code","static.importHint":"Tesla: Settings → Backups → Import a backup.","static.copyLink":"Copy link","static.sharedLinks":"My backups","static.showBackups":"Refresh","static.addShortcuts":"Catalog","static.searchService":"Search services","static.home":"EvPortal, home","static.search":"Search","static.enterFullscreen":"Enter full screen","static.shareAccessible":"Export a backup","static.addAccessible":"Add a shortcut or category","static.clearSearch":"Clear search","static.categories":"Categories","static.qrAccessible":"QR code to restore your shortcuts","static.searchPlaceholder":"Search…","static.tripsPlaceholder":"My trips","static.servicePlaceholder":"My service","static.urlPlaceholder":"https://example.com","static.codePlaceholder":"Code or EvPortal link","static.defaultBackup":"My EvPortal shortcuts","static.description":"Build your Tesla browser dashboard with charging, music and weather shortcuts, favourites and backups. Free to use, with QR transfers from your phone.","static.socialTitle":"EvPortal — Tesla Browser Dashboard & Shortcuts","static.socialDescription":"Build your Tesla browser dashboard with charging, music and weather shortcuts, favourites and backups. Free to use, with QR transfers from your phone.","static.previewAlt":"EvPortal: shortcuts for charging, music, streaming and navigation.","static.twitterDescription":"Build your Tesla browser dashboard with charging, music and weather shortcuts, favourites and backups. Free to use, with QR transfers from your phone.","static.twitterAlt":"EvPortal shortcuts in dark mode.","static.nameBackup":"Name the backup","static.undoTransfer":"Undo the last transfer","static.backups":"Backups","static.exportBackup":"Export a backup","static.importBackup":"Import a backup"},"fr":{"app.startFailed":"Le portail n’a pas pu démarrer. Rechargez la page pour réessayer.","app.storageUnavailable":"Le stockage local est indisponible ou plein. Exportez votre configuration pour conserver les changements de cette session.","app.storageRecovery":"Sauvegarde locale inaccessible ou illisible. Vos anciennes données sont conservées. Exportez cette session avant de fermer le portail.","app.all":"Tous","app.favorites":"Favoris","app.move":"Déplacer {name}","app.previousMoveCancelled":"Déplacement précédent annulé.","app.moveSelected":"{name} sélectionné. Déplacez avec les touches fléchées, Entrée pour déposer, Échap pour annuler.","app.moveCancelled":"Déplacement annulé.","app.movePosition":"{name}, position {position} sur {count}.","app.orderSaved":"Ordre enregistré.","app.editCategory":"Modifier la catégorie {name}","app.deleteCategory":"Supprimer la catégorie {name}","app.confirmDeleteCategory":"Supprimer « {name} » et ses {count} raccourcis ?","app.categoryDeleted":"Catégorie supprimée.","app.openNewTab":"{name} — nouvel onglet","app.removeFavorite":"Retirer {name} des favoris","app.addFavorite":"Ajouter {name} aux favoris","app.favoriteAdded":"{name} ajouté aux favoris.","app.favoriteRemoved":"{name} retiré des favoris.","app.editShortcut":"Modifier {name}","app.deleteShortcut":"Supprimer {name}","app.confirmDeleteShortcut":"Supprimer le raccourci « {name} » ?","app.shortcutDeleted":"Raccourci supprimé.","app.allShortcuts":"Tous les raccourcis","app.allDescription":"Retrouvez tous vos services et raccourcis dans un seul espace.","app.searchResults":"Résultats de recherche","app.searchDescription":"Recherche dans toutes les catégories pour « {query} ».","app.myFavorites":"Mes favoris","app.favoritesDescription":"Vos essentiels, toujours à portée de main.","app.categoryDescription":"Vos raccourcis pour cette catégorie.","app.shortcutCount":"{count} raccourcis","app.shortcutCountOne":"{count} raccourci","app.noShortcuts":"Aucun raccourci trouvé","app.emptyFavorites":"Gardez vos essentiels ici","app.emptyCategory":"Une page à votre image","app.searchHint":"Essayez un autre nom, domaine ou mot-clé.","app.favoriteHint":"Touchez l’étoile d’un raccourci pour l’ajouter à vos favoris.","app.emptyHint":"Ajoutez des raccourcis depuis le catalogue ou créez le vôtre.","app.clearSearch":"Effacer la recherche","app.exploreCatalog":"Explorer le catalogue","app.usageOrderHint":"Tous : les plus utilisés en premier. Pour déplacer un raccourci, ouvrez sa catégorie ou Favoris.","app.dragHint":"Glissez les raccourcis pour les réorganiser.","app.finishEditing":"Terminer les modifications","app.editShortcuts":"Modifier les raccourcis","app.finish":"Terminer","app.edit":"Modifier","app.categoryRequired":"Créez d’abord une catégorie pour y ajouter votre raccourci.","app.editShortcutTitle":"Modifier le raccourci","app.addShortcutTitle":"Ajouter un raccourci","app.save":"Enregistrer","app.addShortcutSubmit":"Ajouter le raccourci","app.editCategoryTitle":"Modifier la catégorie","app.newCategory":"Nouvelle catégorie","app.create":"Créer","app.categoryLimitHint":"Limite atteinte : {max} catégories personnelles. Modifiez ou supprimez une catégorie existante.","app.categoryCountHint":"{count}/{max} catégories personnelles · {length} caractères maximum.","app.categoryGone":"Cette catégorie a été supprimée dans un autre onglet. Fermez ce formulaire puis réessayez.","app.categoryNameInvalid":"Indiquez un nom de 1 à {max} caractères.","app.categoryLimit":"La limite de {max} catégories personnelles est atteinte.","app.categoryDuplicate":"Une catégorie porte déjà ce nom.","app.iconRequired":"Choisissez une icône proposée.","app.categoryDescriptionInvalid":"La description doit contenir 240 caractères maximum.","app.categoryChanged":"Catégorie modifiée.","app.categoryCreated":"Catégorie créée.","app.selectCategory":"Choisissez une catégorie existante.","app.shortcutGone":"Ce raccourci a été supprimé dans un autre onglet. Fermez ce formulaire puis réessayez.","app.shortcutLimit":"La limite de 5 000 raccourcis est atteinte.","app.shortcutFieldsInvalid":"Vérifiez le nom (100 caractères maximum) et la description (300 maximum).","app.shortcutDuplicate":"Ce lien existe déjà. Modifiez ses catégories pour l’afficher ailleurs.","app.shortcutChanged":"Raccourci modifié.","app.shortcutAdded":"Raccourci ajouté.","app.alreadyPresentNamed":"Déjà présent : {name}","app.addNamed":"Ajouter {name}","app.alreadyPresent":"Déjà présent","app.add":"Ajouter","app.totalCategoryLimit":"La limite de 50 catégories est atteinte.","app.addedToCategory":"{name} ajouté à {category}.","app.noServices":"Aucun service ne correspond à cette recherche.","app.catalogComplete":"Gérez vos raccourcis ou créez les vôtres.","app.catalogHint":"Gérez vos raccourcis ou créez les vôtres.","app.sharedConfig":"Ajout à vos sauvegardes, sans modifier vos raccourcis.","app.importPreview":"Catégories : {categories} · Raccourcis : {count}","app.fileTooLarge":"Le fichier dépasse la limite de 2 Mo.","app.loadingConfig":"Chargement de la configuration…","app.telegraphNotReturned":"Telegra.ph n’a pas renvoyé cette page. Vérifiez son identifiant.","app.pageTooLarge":"Cette page est trop volumineuse pour être importée.","app.telegraphUnreadable":"Cette page Telegra.ph est introuvable ou illisible.","app.noConfigInPage":"La page ne contient pas une configuration EvPortal.","app.connectionTimeout":"La connexion a expiré. Réessayez dans un instant.","app.imported":"Configuration importée.","app.exportReady":"Export JSON préparé. Conservez le fichier pour retrouver vos raccourcis sur un autre appareil.","app.exportFailed":"Impossible de préparer le fichier de sauvegarde.","app.confirmReset":"Rétablir le catalogue de départ ? Vos raccourcis personnalisés et favoris seront remplacés. Pensez à les exporter avant de continuer.","app.catalogReset":"Catalogue de départ rétabli.","app.switchToLight":"Passer en mode clair","app.switchToDark":"Passer en mode sombre","app.fullscreenReload":"Rechargez la page pour activer le plein écran.","app.fullscreenUnavailable":"Le plein écran n’est pas disponible dans ce navigateur.","app.exitFullscreen":"Quitter le plein écran","app.enterFullscreen":"Passer en plein écran","app.syncedFromTab":"Vos changements depuis un autre onglet ont été chargés.","app.unreadableTabState":"La sauvegarde reçue d’un autre onglet est illisible. La session actuelle est conservée.","app.legacyRecovered":"Vos anciens raccourcis ont été récupérés.","app.catalogUpdated":"{count} adresses du catalogue ont été actualisées.","app.invalidConfig":"Cette configuration est invalide ou incompatible. Vérifiez le fichier ou le code puis réessayez.","app.invalidShortcutURL":"Utilisez une adresse complète commençant par https:// ou http://, sans espaces ni identifiants.","app.invalidImportCode":"Utilisez un code Telegra.ph, une adresse telegra.ph ou un lien de partage EvPortal valide.","app.connectionFailed":"Connexion impossible. Vérifiez le réseau puis réessayez.","app.icon.all":"Grille","app.icon.favorites":"Étoile","app.icon.cinema":"Vidéo","app.icon.music":"Musique","app.icon.tv":"Télévision","app.icon.charging":"Recharge","app.icon.games":"Jeux","app.icon.navigation":"Trajets","app.icon.social":"Messages","app.icon.news":"Actualités","app.icon.weather":"Météo","app.icon.productivity":"Outils","app.icon.folder":"Dossier","app.otherCategories":"Autres catégories","app.moreIcons":"Plus d’icônes","app.remove":"Supprimer","app.removeCatalogNamed":"Supprimer {name}","app.catalogRemoved":"{name} supprimé.","app.icon.home":"Maison","app.icon.car":"Voiture","app.icon.parking":"Parking","app.icon.map":"Carte","app.icon.globe":"Globe","app.icon.compass":"Boussole","app.icon.coffee":"Café","app.icon.food":"Repas","app.icon.shopping":"Achats","app.icon.heart":"Cœur","app.icon.camera":"Appareil photo","app.icon.tools":"Bricolage","backup.links":"Code ou lien","backup.phone":"Téléphone","backup.library":"Mes sauvegardes","backup.create":"Créer","backup.add":"Ajouter","backup.send":"Envoyer","backup.receive":"Recevoir","backup.restore":"Restaurer","backup.createTitle":"Créer un code ou un lien","backup.addTitle":"Ajouter une sauvegarde","backup.restoreTitle":"Restaurer une sauvegarde","backup.chooseTitle":"Choisir une sauvegarde","backup.code":"Code","backup.link":"Lien EvPortal","backup.copyCode":"Copier le code","backup.addHint":"Ajout à vos sauvegardes, sans modifier vos raccourcis.","backup.added":"Sauvegarde ajoutée.","backup.restored":"Sauvegarde restaurée.","backup.local":"Sur cet appareil","backup.online":"En ligne","backup.empty":"Aucune sauvegarde enregistrée.","backup.receivedTitle":"Raccourcis reçus","backup.fileTitle":"Sauvegarde importée","backup.deleteNamed":"Supprimer « {name} »","backup.deleted":"Sauvegarde supprimée.","backup.savedSummary":"Catégories : {categories} · Raccourcis : {count}","backup.load":"Vérifier","backup.restoreHint":"Remplace les raccourcis de cet appareil.","backup.selected":"Sauvegarde sélectionnée","backup.choose":"Choisir","backup.localCopy":"Copie enregistrée sur cet appareil.","backup.undoRestore":"Annuler la dernière restauration","backup.storageUnavailable":"Le stockage des sauvegardes est indisponible ou plein.","backup.invalidLibrary":"La bibliothèque de sauvegardes est illisible. Les données existantes sont conservées.","backup.invalidBackup":"Cette sauvegarde n’est pas valide.","backup.limit":"Vous pouvez conserver jusqu’à {max} sauvegardes sur cet appareil.","backup.tooLarge":"Cette sauvegarde dépasse {max} Mo.","backup.missing":"Cette sauvegarde n’est plus disponible.","backup.retry":"Réessayer","category.all":"Tous","category.favorites":"Favoris","category.cinema":"Vidéo","category.music":"Musique","category.tv":"TV","category.charging":"Recharge","category.games":"Jeux","category.navigation":"Trajets","category.social":"Social","category.news":"Actu","category.weather":"Météo","category.productivity":"Outils","category.folder":"Dossier","help.title":"Guide EvPortal — Navigateur Tesla, raccourcis et sauvegardes","help.description":"Ouvrez EvPortal dans le navigateur Tesla, organisez vos favoris et transférez vos sauvegardes par code, lien ou QR. Guide de démarrage et de restauration.","help.language":"Langue","help.back":"Retour aux raccourcis","help.heading":"Guide EvPortal pour le navigateur Tesla","help.intro":"Touchez un raccourci pour ouvrir le service dans un nouvel onglet. Le thème sombre est utilisé par défaut ; votre choix clair ou sombre est ensuite conservé. Les huit langues sont disponibles dans Paramètres, avec leurs noms et drapeaux ; l’arabe s’affiche de droite à gauche.","help.organizeHeading":"Organiser les raccourcis","help.ranking":"« Tous » affiche d’abord les raccourcis les plus ouverts. À égalité, votre ordre manuel est conservé. Le classement reste enregistré après rechargement.","help.dragging":"Dans une catégorie ou « Favoris », touchez « Modifier » puis déplacez les raccourcis avec leur poignée. L’étoile ajoute un favori et le crayon permet de modifier. Touchez « Terminer » quand vous avez fini. « Tous » conserve son classement automatique.","help.keyboard":"Au clavier, sélectionnez une poignée puis appuyez sur Espace, utilisez les flèches et validez avec Entrée. Échap annule.","help.addHeading":"Ajouter un raccourci ou une catégorie","help.adding":"Le bouton « + » ouvre le même catalogue pour tous. Ouvrez ou repliez une catégorie, puis utilisez Ajouter ou Supprimer sur un service. Créer un raccourci et Créer une catégorie se trouvent en haut du catalogue. La loupe recherche dans tous vos raccourcis.","help.categories":"Créez jusqu’à cinq catégories personnelles avec un nom de 16 caractères maximum et une icône au choix. Plus d’icônes ouvre les choix supplémentaires. Le crayon permet de modifier une catégorie. Les anciennes catégories dépassant ces limites sont conservées. Les catégories affichées se répartissent sans défilement horizontal.","help.transferHeading":"Téléphone : envoyer ou recevoir","help.stepPrepare":"Dans Paramètres → Sauvegardes → Téléphone, choisissez Envoyer ou Recevoir.","help.stepPublish":"Scannez le QR affiché avec votre téléphone.","help.stepCode":"Pour envoyer depuis le téléphone, choisissez ses raccourcis ou une sauvegarde, puis touchez Envoyer.","help.stepImport":"Sur l’écran qui reçoit, touchez Ajouter pour conserver la sauvegarde sur cet appareil.","help.stepApply":"Pour utiliser son contenu, ouvrez Mes sauvegardes → Restaurer.","help.qr":"Le QR sert au transfert avec le téléphone. Créer un code ou un lien n’affiche pas de QR.","help.snapshot":"Le transfert est chiffré et valable cinq minutes lorsque le service est disponible. Il transmet un instantané, sans synchronisation automatique. Recevoir une sauvegarde ne remplace pas vos raccourcis.","help.public":"Dans Paramètres → Sauvegardes → Code ou lien, Créer prépare un code et un lien EvPortal à copier. Ajouter accepte l’un ou l’autre et enregistre une copie locale après validation. Les fichiers JSON restent disponibles dans Plus d’options. La page Telegra.ph créée est publique ; la copie locale et la page en ligne sont distinctes.","help.fullscreenHeading":"Plein écran Tesla","help.fullscreen":"À l’arrêt, touchez « Plein écran ». Sur YouTube, choisissez « Accéder au site » ou « Go to site » pour revenir à EvPortal dans le mode Théâtre. Les raccourcis demandent un nouvel onglet, dont le comportement dépend du navigateur du véhicule.","help.fullscreenFallback":"Si la Tesla n’est pas reconnue, choisissez « Ouvrir le mode Théâtre Tesla » dans Paramètres. Sur ordinateur, le bouton utilise le plein écran classique. La redirection peut évoluer avec les mises à jour du véhicule ou de YouTube.","help.compatibility":"L’ouverture d’un site ne garantit pas la lecture vidéo : pays, compte, abonnement et navigateur peuvent la limiter. Le divertissement s’utilise à l’arrêt.","help.teslaManual":"Manuel Tesla","help.myTesla":"Méthode décrite par myTesla","help.storageHeading":"Restaurer une sauvegarde","help.storage":"Dans Paramètres → Sauvegardes → Mes sauvegardes → Restaurer, choisissez une sauvegarde dans Sur cet appareil ou En ligne, puis vérifiez son contenu. Seul Restaurer remplace vos raccourcis. Les options des paramètres permettent d’annuler la dernière restauration. Ajouter un code, un lien, un fichier ou une réception QR conserve une sauvegarde sans l’appliquer. Chaque navigateur conserve sa propre liste locale.","help.previewHeading":"Tester un aperçu local","help.preview":"Le QR utilise l’adresse du portail ouvert. Sur un téléphone, localhost ou 127.0.0.1 désigne le téléphone lui-même. Pour un essai entre appareils, le portail et le relais doivent être accessibles aux deux en HTTPS. Les codes et liens de sauvegarde utilisent l’adresse publique d’EvPortal.","help.privacyHeading":"À propos et confidentialité","help.privacy":"EvPortal est gratuit, sans affiliation avec Tesla. Logos et traductions sont embarqués. Les compteurs d’ouvertures restent dans votre configuration, sans outil d’analyse d’audience. Telegra.ph est contacté à votre demande ; le jeton du compte reste séparé du partage. Les sites ouverts appliquent leur propre politique.","help.source":"Code source","help.report":"Signaler un problème","help.license":"EvPortal · Licence MIT","help.backupHeading":"Code ou lien","help.preferencesHeading":"Choisir son accueil","help.preferences":"Dans Paramètres → Accueil, choisissez les catégories à afficher et l’ouverture sur vos favoris. Ces préférences restent sur cet appareil et ne sont pas transmises dans les sauvegardes ou par QR. Le catalogue se gère avec le bouton « + ».","help.sharedServices":"Un service peut apparaître dans plusieurs catégories avec un seul favori et un seul compteur ; Tous ne l’affiche qu’une fois. Dans Modifier, ouvrez Autres catégories pour choisir où il apparaît. Supprimer une catégorie conserve les services encore présents dans une autre catégorie.","pair.receiveButton":"Recevoir depuis mon téléphone","pair.receiveTitle":"Recevoir depuis mon téléphone","pair.scanHint":"Scannez ce QR code avec votre téléphone.","pair.qrAccessible":"QR code de transfert vers cet écran","pair.apply":"Ajouter","pair.newQR":"Nouveau QR code","pair.sendTitle":"Envoyer vers la Tesla","pair.send":"Envoyer mes raccourcis","pair.chooseBackup":"Choisir une sauvegarde","pair.sendHint":"Les raccourcis de ce téléphone seront proposés sur l’autre écran.","pair.privateHint":"Transfert chiffré, valable 5 minutes.","pair.preparing":"Préparation du QR code…","pair.waiting":"En attente du téléphone · {time}","pair.retrying":"Reconnexion… · {time}","pair.summary":"{categories} catégories · {count} raccourcis","pair.ready":"Sauvegarde reçue. Ajoutez-la à vos sauvegardes.","pair.sending":"Envoi en cours…","pair.sent":"Envoyé. Ajoutez la sauvegarde sur l’autre écran.","pair.applied":"Sauvegarde ajoutée.","pair.expired":"Ce QR code a expiré. Créez-en un nouveau sur l’autre écran.","pair.receiverExpired":"Ce QR code a expiré. Créez-en un nouveau.","pair.notConfigured":"Le transfert direct n’est pas encore disponible. Utilisez une sauvegarde Telegra.ph.","pair.unsupported":"Ce navigateur ne permet pas le transfert chiffré. Utilisez une sauvegarde Telegra.ph.","pair.invalidLink":"Ce QR code de transfert est invalide. Scannez un nouveau code.","pair.invalidResponse":"Le service de transfert a renvoyé une réponse invalide. Réessayez avec un nouveau QR code.","pair.networkError":"Connexion impossible. Vérifiez le réseau puis réessayez.","pair.timeout":"La connexion a expiré. Réessayez.","pair.unauthorized":"Ce transfert n’est plus autorisé. Scannez un nouveau QR code.","pair.alreadySent":"Ce QR code a déjà reçu des raccourcis. Créez-en un nouveau pour recommencer.","pair.tooLarge":"Cette configuration est trop volumineuse pour le transfert direct. Exportez-la dans un fichier JSON.","pair.invalidConfig":"La configuration reçue est invalide. Vos raccourcis actuels sont conservés.","pair.decryptFailed":"Impossible de lire ce transfert. Créez un nouveau QR code.","pair.applyFailed":"Impossible d’ajouter cette sauvegarde. Réessayez.","pair.serviceUnavailable":"Le service de transfert est momentanément indisponible. Réessayez dans un instant.","pair.stepScan":"Scanner","pair.stepSend":"Envoyer","pair.stepApply":"Ajouter","pair.storageUnavailable":"Impossible d’enregistrer sur cet écran. Vos raccourcis actuels sont conservés.","pair.undone":"Les raccourcis précédents sont restaurés.","pair.deliveryUnknown":"Vérifiez l’autre écran : vos raccourcis ont peut-être déjà été reçus. Sinon, créez un nouveau QR code.","pair.offerButton":"Envoyer vers mon téléphone","pair.offerTitle":"Mes raccourcis sur mon téléphone","pair.offerScanHint":"Scannez ce QR code avec votre téléphone.","pair.offerPreparing":"Préparation de l’envoi…","pair.offerWaiting":"À récupérer sur le téléphone · {time}","pair.offerExpired":"Ce QR code a expiré. Créez-en un nouveau.","pair.offerReady":"Sauvegarde prête à être récupérée.","pair.downloadTitle":"Recevoir une sauvegarde","pair.downloading":"Récupération de la sauvegarde…","pair.added":"Sauvegarde ajoutée à vos sauvegardes.","pair.addFailed":"Impossible d’ajouter cette sauvegarde. Réessayez.","pair.downloadExpired":"Ce transfert a expiré ou a déjà été récupéré. Créez un nouveau QR code sur l’autre écran.","pair.offerQRAccessible":"QR code pour recevoir cette sauvegarde sur le téléphone","prefs.title":"Accueil","prefs.homeFavorites":"Ouvrir sur mes favoris","prefs.visibleCategories":"Catégories affichées","prefs.saveFailed":"Préférences conservées pour cette session seulement.","prefs.invalid":"Ces préférences ne sont pas valides.","seo.introHeading":"Un portail de raccourcis pour votre Tesla","seo.intro":"EvPortal est un portail gratuit et indépendant qui rassemble vos sites favoris sur une page pensée pour le navigateur Tesla. Il s’utilise aussi dans un navigateur sur téléphone ou ordinateur. De grandes icônes donnent accès aux services choisis, sans remplir l’accueil de textes ou de widgets. Vous pouvez personnaliser vos raccourcis, leurs catégories et leur ordre, puis choisir un thème clair ou sombre.","seo.startHeading":"Commencer dans le navigateur du véhicule","seo.start":"À l’arrêt, ouvrez l’adresse d’EvPortal dans le navigateur de la voiture. Enregistrez-la dans ses favoris si cette option est disponible pour la retrouver facilement. Aucune installation d’application ni connexion à un compte Tesla n’est nécessaire pour ouvrir le portail. Le bouton « + » ouvre le catalogue pour gérer vos raccourcis. Paramètres permet de choisir la langue et votre accueil. Vos réglages restent sur cet appareil ; une sauvegarde permet de conserver ou de transférer vos raccourcis.","seo.chargingHeading":"Retrouver vos services pendant une recharge","seo.charging":"Ajoutez des liens vers vos outils de planification de trajet ou de recharge, vos radios, votre musique et la météo. Le catalogue est identique pour tous, avec des catégories repliables ; vous pouvez aussi saisir une adresse personnelle. Chaque raccourci ouvre le site du service, avec ses propres conditions d’accès. EvPortal ne pilote pas la recharge et n’envoie aucune commande au véhicule. Les contenus de divertissement se consultent à l’arrêt.","seo.faqHeading":"Questions fréquentes","seo.faqFreeQuestion":"EvPortal est-il gratuit ?","seo.faqFreeAnswer":"Oui. Le portail est gratuit et sans affiliation avec Tesla. Certains sites ouverts peuvent demander un compte ou un abonnement ; ces conditions dépendent du service.","seo.faqPhoneQuestion":"Comment préparer mes raccourcis sur mon téléphone ?","seo.faqPhoneAnswer":"Ouvrez EvPortal sur le téléphone, puis organisez vos raccourcis. Dans Paramètres, Téléphone permet un transfert par QR dans les deux sens. Sur l’écran qui reçoit, Ajouter conserve une sauvegarde. Pour utiliser son contenu, choisissez ensuite Mes sauvegardes, puis Restaurer. Recevoir seul ne remplace pas les raccourcis.","seo.faqOfflineQuestion":"EvPortal fonctionne-t-il hors connexion ?","seo.faqOfflineAnswer":"Le navigateur conserve votre configuration localement, mais EvPortal ne propose pas de mode hors connexion. Prévoyez une connexion pour charger le portail, ouvrir les services et transférer des sauvegardes. Un fichier JSON permet de conserver une copie indépendante pour une restauration ultérieure.","seo.languages":"Langues disponibles","seo.operatingSystem":"Web","seo.browserRequirements":"Navigateur avec JavaScript et stockage local ; HTTPS et fonctions cryptographiques pour les transferts QR.","seo.featureFavorites":"Raccourcis et favoris personnalisables","seo.featureDrag":"Réorganisation tactile par glisser-déposer","seo.featureQR":"Transfert de sauvegardes par QR avec un téléphone","seo.featureBackup":"Sauvegardes par code, lien ou fichier JSON","share.tooLarge":"Configuration trop volumineuse pour Telegra.ph (64 Ko). Réduisez les liens ou utilisez un fichier.","share.noConnection":"Connexion indisponible sur ce navigateur.","share.publishTimeout":"Délai dépassé. Vérifiez « Mes sauvegardes » avant de réessayer.","share.timeout":"Telegra.ph ne répond pas. Réessayez plus tard.","share.networkError":"Connexion à Telegra.ph impossible. Vérifiez votre connexion.","share.unavailable":"Telegra.ph est indisponible. Réessayez plus tard.","share.badResponse":"Réponse Telegra.ph illisible. Réessayez plus tard.","share.rateLimited":"Trop de demandes. Patientez avant de réessayer.","share.invalidAccount":"Compte Telegra.ph indisponible. Votre ancien compte reste conservé.","share.refused":"Telegra.ph a refusé cette demande. Réessayez plus tard.","share.accountNotCreated":"Compte Telegra.ph non créé. Réessayez plus tard.","share.invalidTitle":"Nom du partage invalide (256 caractères maximum).","share.sessionOnly":"Compte conservé pour cette session seulement. Gardez le lien du partage.","share.invalidPage":"Position de page invalide.","share.badHistory":"Liste Telegra.ph illisible.","share.localPreview":"Aperçu local : pour le téléphone, utilisez l’adresse réseau de cet aperçu.","share.localPreviewOld":"Aperçu local : pour tester sur téléphone, utilisez une adresse réseau accessible de cet aperçu. L’adresse publique affiche la version publiée, qui peut différer de cet aperçu.","share.qrLabel":"Scannez avec un téléphone pour ouvrir ces raccourcis EvPortal","share.qrAddressUnavailable":"QR code indisponible pour cette adresse. Copiez le lien.","share.qrUnavailable":"QR code indisponible. Copiez le lien.","share.publishing":"Sauvegarde…","share.publish":"Créer ma sauvegarde","share.created":"Sauvegarde créée.","share.copyUnavailable":"Copie indisponible. Sélectionnez le texte pour le copier manuellement.","share.linkCopied":"Lien copié.","share.codeCopied":"Code copié.","share.import":"Importer","share.importNamed":"Importer {name}","share.more":"Voir la suite","share.empty":"Aucune sauvegarde.","share.secureRandomUnavailable":"Impossible de générer un lien de partage aléatoire dans ce navigateur. Utilisez un navigateur récent.","share.unsafePath":"Telegra.ph n’a pas conservé l’identifiant aléatoire. Aucune configuration n’a été publiée.","share.deleteNamed":"Supprimer {name}","share.deleted":"Sauvegarde supprimée.","share.noAccount":"Aucun compte de sauvegarde disponible dans ce navigateur.","state.fullURL":"Utilisez une adresse complète commençant par https:// ou http://, sans espaces.","state.invalidURL":"Cette adresse de lien est invalide.","state.safeURL":"Les liens doivent utiliser HTTP ou HTTPS, sans identifiants dans l’adresse.","state.invalidID":"Identifiant de catégorie ou de lien invalide.","state.shortcutObject":"Chaque raccourci doit être un objet.","state.duplicateShortcut":"Deux raccourcis possèdent le même identifiant.","state.favoriteBoolean":"La valeur de favori doit être un booléen.","state.invalidColor":"Couleur de raccourci invalide.","state.invalidCount":"Compteur d’utilisation du raccourci invalide.","state.invalidFormat":"Format EvPortal non reconnu ou version de sauvegarde incompatible.","state.tooManyCategories":"La sauvegarde dépasse 50 catégories.","state.invalidCategory":"Catégorie invalide.","state.reservedCategory":"Identifiant de catégorie réservé ou dupliqué.","state.invalidIcon":"Icône de catégorie invalide.","state.tooManyShortcuts":"La sauvegarde dépasse 5 000 liens.","state.invalidTheme":"Thème de sauvegarde invalide.","state.missingCategory":"La catégorie active de la sauvegarde est introuvable.","state.invalidOrder":"Ordre des raccourcis invalide.","state.backupObject":"La sauvegarde doit être un objet JSON.","state.invalidLegacyList":"La liste des anciennes catégories est invalide.","state.duplicateCategories":"La liste contient des catégories en double.","state.foreignData":"La sauvegarde contient des données étrangères aux catégories EvPortal.","state.invalidLegacyShortcut":"Ancien raccourci invalide.","state.invalidShortcutOrder":"Ordre de raccourci invalide.","state.largeFile":"Le fichier dépasse la limite de 2 Mo.","state.invalidJSON":"Le fichier ne contient pas de JSON valide.","state.storageUnavailable":"Stockage indisponible","state.invalidLegacyCategories":"Anciennes catégories invalides","state.reservedLegacyCategory":"Ancienne catégorie réservée","state.invalidMove":"Déplacement de raccourcis invalide.","state.telegraphLink":"Utilisez un lien telegra.ph ou son identifiant de page.","state.telegraphID":"Identifiant de page Telegra.ph invalide.","state.portalLink":"Utilisez un lien EvPortal contenant un seul code de partage.","state.invalidField":"{field} invalide (maximum {max} caractères).","state.invalidFieldShort":"{field} invalide.","state.urlLabel":"Adresse du lien","state.shortcutName":"Nom du raccourci","state.shortcutDescription":"Description du raccourci","state.shortcutTag":"Étiquette du raccourci","state.categoryName":"Nom de la catégorie","state.categoryDescription":"Description de la catégorie","state.catalogVersion":"Version du catalogue","state.telegraphIDLabel":"Identifiant Telegra.ph","state.shareCodeLabel":"Lien ou code de partage","state.invalidCategoryShortcuts":"Les raccourcis de la catégorie « {name} » sont invalides.","state.storageWarning":"Sauvegarde locale inaccessible ou illisible. Vos anciennes données sont conservées. Les changements de cette session restent temporaires : exportez-les en JSON.","static.title":"EvPortal — Portail de raccourcis pour navigateur Tesla","static.skip":"Aller aux raccourcis","static.tagline":" — raccourcis pour Tesla","static.fullscreen":"Plein écran","static.share":"Partager","static.edit":"Modifier","static.add":"Ajouter","static.searchLabel":"Rechercher un raccourci","static.dragInstructions":"Espace pour saisir, touches fléchées pour déplacer, Entrée pour déposer, Échap pour annuler.","static.reorder":"Glissez les raccourcis pour les réorganiser.","static.video":"Cinéma","static.javascript":"Activez JavaScript pour personnaliser vos raccourcis.","static.help":"Aide","static.settings":"Paramètres","static.language":"Langue","static.createShortcut":"Créer un raccourci","static.createCategory":"Créer une catégorie","static.importTelegraph":"Importer une sauvegarde","static.theater":"Ouvrir le mode Théâtre Tesla","static.moreOptions":"Plus d’options","static.exportJSON":"Sauvegarder un fichier JSON","static.reset":"Réinitialiser les raccourcis","static.about":"Aide & à propos","static.newCategory":"Nouvelle catégorie","static.name":"Nom","static.icon":"Icône","static.cancel":"Annuler","static.create":"Créer","static.newShortcut":"Nouveau raccourci","static.website":"Adresse du site","static.category":"Catégorie","static.restore":"Importer une sauvegarde","static.shareInput":"Code ou lien","static.load":"Charger mes raccourcis","static.importJSON":"Importer un fichier JSON","static.jsonFile":"Fichier JSON","static.close":"Fermer","static.use":"Utiliser ces raccourcis","static.shareTitle":"Exporter une sauvegarde","static.backupName":"Nom (facultatif)","static.public":"Cette sauvegarde sera publique.","static.portalAddress":"Adresse d’EvPortal","static.otherAddress":"Adresse d’EvPortal sur l’autre écran","static.publish":"Créer ma sauvegarde","static.scan":"Scannez avec votre téléphone.","static.carCode":"Code à saisir dans la Tesla","static.copyCode":"Copier le code","static.importHint":"Tesla : Paramètres → Sauvegardes → Importer une sauvegarde, puis ce code.","static.copyLink":"Copier le lien","static.sharedLinks":"Mes sauvegardes","static.showBackups":"Actualiser","static.addShortcuts":"Catalogue","static.searchService":"Rechercher un service","static.home":"EvPortal, accueil","static.search":"Rechercher","static.enterFullscreen":"Passer en plein écran","static.shareAccessible":"Exporter une sauvegarde","static.addAccessible":"Ajouter un raccourci ou une catégorie","static.clearSearch":"Effacer la recherche","static.categories":"Catégories","static.qrAccessible":"QR code pour retrouver vos raccourcis","static.searchPlaceholder":"Rechercher…","static.tripsPlaceholder":"Mes voyages","static.servicePlaceholder":"Mon service","static.urlPlaceholder":"https://exemple.fr","static.codePlaceholder":"Code ou lien EvPortal","static.defaultBackup":"Mes raccourcis EvPortal","static.description":"Personnalisez votre portail Tesla : raccourcis vers la recharge, la musique et la météo, favoris et sauvegardes. Gratuit, avec transfert QR depuis un téléphone.","static.socialTitle":"EvPortal — Portail de raccourcis pour navigateur Tesla","static.socialDescription":"Personnalisez votre portail Tesla : raccourcis vers la recharge, la musique et la météo, favoris et sauvegardes. Gratuit, avec transfert QR depuis un téléphone.","static.previewAlt":"EvPortal : un tableau de raccourcis pour la recharge, la musique, le streaming et la navigation.","static.twitterDescription":"Personnalisez votre portail Tesla : raccourcis vers la recharge, la musique et la météo, favoris et sauvegardes. Gratuit, avec transfert QR depuis un téléphone.","static.twitterAlt":"Le tableau de raccourcis EvPortal en thème sombre.","static.nameBackup":"Nommer la sauvegarde","static.undoTransfer":"Annuler le dernier transfert","static.backups":"Sauvegardes","static.exportBackup":"Exporter une sauvegarde","static.importBackup":"Importer une sauvegarde"},"es":{"app.startFailed":"No se pudo iniciar el portal. Recarga la página para volver a intentarlo.","app.storageUnavailable":"El almacenamiento local no está disponible o está lleno. Exporta tu configuración para conservar los cambios.","app.storageRecovery":"La copia local no está disponible o no se puede leer. Tus datos anteriores se conservan. Exporta esta sesión antes de cerrar.","app.all":"Todos","app.favorites":"Favoritos","app.move":"Mover {name}","app.previousMoveCancelled":"Movimiento anterior cancelado.","app.moveSelected":"{name} seleccionado. Usa las flechas para mover, Intro para soltar y Esc para cancelar.","app.moveCancelled":"Movimiento cancelado.","app.movePosition":"{name}, posición {position} de {count}.","app.orderSaved":"Orden guardado.","app.editCategory":"Editar categoría {name}","app.deleteCategory":"Eliminar categoría {name}","app.confirmDeleteCategory":"¿Eliminar «{name}» y sus {count} accesos directos?","app.categoryDeleted":"Categoría eliminada.","app.openNewTab":"{name} — nueva pestaña","app.removeFavorite":"Quitar {name} de favoritos","app.addFavorite":"Añadir {name} a favoritos","app.favoriteAdded":"{name} añadido a favoritos.","app.favoriteRemoved":"{name} eliminado de favoritos.","app.editShortcut":"Editar {name}","app.deleteShortcut":"Eliminar {name}","app.confirmDeleteShortcut":"¿Eliminar el acceso directo «{name}»?","app.shortcutDeleted":"Acceso directo eliminado.","app.allShortcuts":"Todos los accesos directos","app.allDescription":"Todos tus servicios y accesos directos en un solo lugar.","app.searchResults":"Resultados de búsqueda","app.searchDescription":"Búsqueda de «{query}» en todas las categorías.","app.myFavorites":"Mis favoritos","app.favoritesDescription":"Tus imprescindibles, siempre a mano.","app.categoryDescription":"Tus accesos directos de esta categoría.","app.shortcutCount":"{count} accesos directos","app.shortcutCountOne":"{count} acceso directo","app.noShortcuts":"No se encontraron accesos directos","app.emptyFavorites":"Guarda aquí tus imprescindibles","app.emptyCategory":"Una página a tu medida","app.searchHint":"Prueba otro nombre, dominio o palabra clave.","app.favoriteHint":"Toca la estrella de un acceso directo para añadirlo a favoritos.","app.emptyHint":"Añade accesos directos del catálogo o crea los tuyos.","app.clearSearch":"Borrar búsqueda","app.exploreCatalog":"Explorar catálogo","app.usageOrderHint":"Todos: los más usados primero. Para mover un acceso directo, abre su categoría o Favoritos.","app.dragHint":"Arrastra los accesos directos para reordenarlos.","app.finishEditing":"Terminar edición","app.editShortcuts":"Editar accesos directos","app.finish":"Listo","app.edit":"Editar","app.categoryRequired":"Crea primero una categoría para añadir tu acceso directo.","app.editShortcutTitle":"Editar acceso directo","app.addShortcutTitle":"Añadir acceso directo","app.save":"Guardar","app.addShortcutSubmit":"Añadir acceso directo","app.editCategoryTitle":"Editar categoría","app.newCategory":"Nueva categoría","app.create":"Crear","app.categoryLimitHint":"Límite alcanzado: {max} categorías personales. Edita o elimina una categoría existente.","app.categoryCountHint":"{count}/{max} categorías personales · Máximo {length} caracteres.","app.categoryGone":"Esta categoría se eliminó en otra pestaña. Cierra este formulario e inténtalo de nuevo.","app.categoryNameInvalid":"Introduce un nombre de entre 1 y {max} caracteres.","app.categoryLimit":"Se ha alcanzado el límite de {max} categorías personales.","app.categoryDuplicate":"Ya existe una categoría con este nombre.","app.iconRequired":"Elige uno de los iconos disponibles.","app.categoryDescriptionInvalid":"La descripción debe tener un máximo de 240 caracteres.","app.categoryChanged":"Categoría actualizada.","app.categoryCreated":"Categoría creada.","app.selectCategory":"Elige una categoría existente.","app.shortcutGone":"Este acceso directo se eliminó en otra pestaña. Cierra el formulario e inténtalo de nuevo.","app.shortcutLimit":"Se ha alcanzado el límite de 5.000 accesos directos.","app.shortcutFieldsInvalid":"Revisa el nombre (máximo 100 caracteres) y la descripción (máximo 300).","app.shortcutDuplicate":"Este enlace ya existe. Edita sus categorías para mostrarlo en otro lugar.","app.shortcutChanged":"Acceso directo actualizado.","app.shortcutAdded":"Acceso directo añadido.","app.alreadyPresentNamed":"Ya añadido: {name}","app.addNamed":"Añadir {name}","app.alreadyPresent":"Ya añadido","app.add":"Añadir","app.totalCategoryLimit":"Se ha alcanzado el límite de 50 categorías.","app.addedToCategory":"{name} añadido a {category}.","app.noServices":"Ningún servicio coincide con esta búsqueda.","app.catalogComplete":"Gestiona tus accesos directos o crea los tuyos.","app.catalogHint":"Gestiona tus accesos directos o crea los tuyos.","app.sharedConfig":"Se añade a tus copias sin cambiar tus accesos directos.","app.importPreview":"Categorías: {categories} · Accesos directos: {count}","app.fileTooLarge":"El archivo supera el límite de 2 MB.","app.loadingConfig":"Cargando configuración…","app.telegraphNotReturned":"Telegra.ph no ha devuelto esta página. Comprueba su código.","app.pageTooLarge":"Esta página es demasiado grande para importarla.","app.telegraphUnreadable":"Esta página de Telegra.ph no se encuentra o no se puede leer.","app.noConfigInPage":"La página no contiene una configuración EvPortal.","app.connectionTimeout":"La conexión ha caducado. Inténtalo de nuevo en un momento.","app.imported":"Configuración importada.","app.exportReady":"Exportación JSON preparada. Guarda el archivo para recuperar tus accesos directos en otro dispositivo.","app.exportFailed":"No se pudo preparar el archivo de copia de seguridad.","app.confirmReset":"¿Restaurar el catálogo inicial? Se reemplazarán tus accesos directos personalizados y favoritos. Expórtalos antes de continuar.","app.catalogReset":"Catálogo inicial restaurado.","app.switchToLight":"Cambiar al modo claro","app.switchToDark":"Cambiar al modo oscuro","app.fullscreenReload":"Recarga la página para activar la pantalla completa.","app.fullscreenUnavailable":"La pantalla completa no está disponible en este navegador.","app.exitFullscreen":"Salir de pantalla completa","app.enterFullscreen":"Entrar en pantalla completa","app.syncedFromTab":"Se han cargado tus cambios de otra pestaña.","app.unreadableTabState":"La copia recibida de otra pestaña no se puede leer. Se conserva la sesión actual.","app.legacyRecovered":"Se han recuperado tus accesos directos anteriores.","app.catalogUpdated":"Se han actualizado {count} direcciones del catálogo.","app.invalidConfig":"Esta configuración no es válida o es incompatible. Revisa el archivo o código e inténtalo de nuevo.","app.invalidShortcutURL":"Usa una dirección completa que empiece por https:// o http://, sin espacios ni credenciales.","app.invalidImportCode":"Usa un código Telegra.ph, una dirección telegra.ph o un enlace compartido EvPortal válido.","app.connectionFailed":"No se pudo conectar. Revisa la red e inténtalo de nuevo.","app.icon.all":"Cuadrícula","app.icon.favorites":"Estrella","app.icon.cinema":"Vídeo","app.icon.music":"Música","app.icon.tv":"Televisión","app.icon.charging":"Carga","app.icon.games":"Juegos","app.icon.navigation":"Rutas","app.icon.social":"Mensajes","app.icon.news":"Noticias","app.icon.weather":"Tiempo","app.icon.productivity":"Herramientas","app.icon.folder":"Carpeta","app.otherCategories":"Otras categorías","app.moreIcons":"Más iconos","app.remove":"Eliminar","app.removeCatalogNamed":"Eliminar {name}","app.catalogRemoved":"{name} eliminado.","app.icon.home":"Casa","app.icon.car":"Coche","app.icon.parking":"Aparcamiento","app.icon.map":"Mapa","app.icon.globe":"Globo","app.icon.compass":"Brújula","app.icon.coffee":"Café","app.icon.food":"Comida","app.icon.shopping":"Compras","app.icon.heart":"Corazón","app.icon.camera":"Cámara","app.icon.tools":"Bricolaje","backup.links":"Código o enlace","backup.phone":"Teléfono","backup.library":"Mis copias","backup.create":"Crear","backup.add":"Añadir","backup.send":"Enviar","backup.receive":"Recibir","backup.restore":"Restaurar","backup.createTitle":"Crear un código o enlace","backup.addTitle":"Añadir una copia","backup.restoreTitle":"Restaurar una copia","backup.chooseTitle":"Elegir una copia","backup.code":"Código","backup.link":"Enlace EvPortal","backup.copyCode":"Copiar código","backup.addHint":"Se añade a tus copias sin cambiar tus accesos directos.","backup.added":"Copia añadida.","backup.restored":"Copia restaurada.","backup.local":"En este dispositivo","backup.online":"En línea","backup.empty":"No hay copias guardadas.","backup.receivedTitle":"Accesos directos recibidos","backup.fileTitle":"Copia importada","backup.deleteNamed":"Eliminar «{name}»","backup.deleted":"Copia eliminada.","backup.savedSummary":"Categorías: {categories} · Accesos directos: {count}","backup.load":"Comprobar","backup.restoreHint":"Reemplaza los accesos directos de este dispositivo.","backup.selected":"Copia seleccionada","backup.choose":"Elegir","backup.localCopy":"Copia guardada en este dispositivo.","backup.undoRestore":"Deshacer la última restauración","backup.storageUnavailable":"El almacenamiento de copias no está disponible o está lleno.","backup.invalidLibrary":"No se puede leer la biblioteca de copias. Los datos existentes se conservan.","backup.invalidBackup":"Esta copia no es válida.","backup.limit":"Puedes guardar hasta {max} copias en este dispositivo.","backup.tooLarge":"Esta copia supera {max} MB.","backup.missing":"Esta copia ya no está disponible.","backup.retry":"Reintentar","category.all":"Todos","category.favorites":"Favoritos","category.cinema":"Vídeo","category.music":"Música","category.tv":"TV","category.charging":"Carga","category.games":"Juegos","category.navigation":"Rutas","category.social":"Social","category.news":"Noticias","category.weather":"Tiempo","category.productivity":"Herramientas","category.folder":"Carpeta","help.title":"Guía EvPortal — Navegador Tesla, accesos directos y copias","help.description":"Abre EvPortal en el navegador Tesla, organiza tus favoritos y transfiere copias mediante código, enlace o QR. Aprende a empezar y restaurar tus accesos directos.","help.language":"Idioma","help.back":"Volver a los accesos directos","help.heading":"Guía de EvPortal para el navegador Tesla","help.intro":"Toca un acceso directo para abrir el servicio en una pestaña nueva. El tema oscuro se usa por defecto; después se conserva tu elección de tema claro u oscuro. Los ocho idiomas están disponibles en Ajustes, con sus nombres y banderas; el árabe se muestra de derecha a izquierda.","help.organizeHeading":"Organizar los accesos directos","help.ranking":"Todos muestra primero los accesos directos que más abres. En caso de empate, se conserva tu orden manual. La clasificación se guarda al recargar.","help.dragging":"En una categoría o en Favoritos, toca Editar y mueve los accesos directos con sus asas. La estrella añade un favorito y el lápiz permite editar. Toca Listo al terminar. Todos mantiene su clasificación automática.","help.keyboard":"Con el teclado, selecciona un asa, pulsa Espacio, desplázate con las flechas y confirma con Intro. Escape cancela.","help.addHeading":"Añadir un acceso directo o una categoría","help.adding":"El botón «+» abre el mismo catálogo para todos. Despliega o pliega una categoría y utiliza Añadir o Eliminar en un servicio. Crear un acceso directo y Crear una categoría están en la parte superior del catálogo. La lupa busca en todos tus accesos directos.","help.categories":"Crea hasta cinco categorías personales con nombres de hasta 16 caracteres y un icono a tu elección. Más iconos abre las opciones adicionales. El lápiz permite editar una categoría. Se conservan las categorías antiguas que superen estos límites. Las categorías visibles se distribuyen sin desplazamiento horizontal.","help.transferHeading":"Teléfono: enviar o recibir","help.stepPrepare":"En Ajustes → Copias de seguridad → Teléfono, elige Enviar o Recibir.","help.stepPublish":"Escanea el QR mostrado con tu teléfono.","help.stepCode":"Para enviar desde el teléfono, elige sus accesos directos o una copia y toca Enviar.","help.stepImport":"En la pantalla que recibe, toca Añadir para guardar la copia en ese dispositivo.","help.stepApply":"Para usar su contenido, abre Mis copias → Restaurar.","help.qr":"El QR sirve para transferencias con el teléfono. Crear un código o enlace no muestra un QR.","help.snapshot":"La transferencia está cifrada y es válida durante cinco minutos cuando el servicio está disponible. Envía una copia del momento, sin sincronización automática. Recibir una copia no reemplaza tus accesos directos.","help.public":"En Ajustes → Copias de seguridad → Código o enlace, Crear prepara un código y un enlace EvPortal para copiar. Añadir acepta cualquiera y guarda una copia local tras validarla. Los archivos JSON siguen disponibles en Más opciones. La página Telegra.ph creada es pública; la copia local y la página en línea son independientes.","help.fullscreenHeading":"Pantalla completa en Tesla","help.fullscreen":"Con el vehículo estacionado, toca Pantalla completa. En YouTube, elige Ir al sitio o Go to site para volver a EvPortal en modo Teatro. Los accesos directos solicitan una pestaña nueva, cuyo comportamiento depende del navegador del vehículo.","help.fullscreenFallback":"Si no se reconoce el Tesla, elige Abrir el modo Teatro Tesla en los ajustes. En un ordenador, el botón utiliza la pantalla completa normal. La redirección puede cambiar con las actualizaciones del vehículo o de YouTube.","help.compatibility":"Abrir un sitio no garantiza la reproducción de vídeo: el país, la cuenta, la suscripción y el navegador pueden limitarla. Utiliza el entretenimiento con el vehículo estacionado.","help.teslaManual":"Manual de Tesla","help.myTesla":"Método descrito por myTesla","help.storageHeading":"Restaurar una copia","help.storage":"En Ajustes → Copias de seguridad → Mis copias → Restaurar, elige una copia en En este dispositivo o En línea y comprueba su contenido. Solo Restaurar reemplaza tus accesos directos. Más opciones en Ajustes permite deshacer la última restauración. Añadir un código, enlace, archivo o transferencia QR guarda una copia sin aplicarla. Cada navegador mantiene su propia lista local.","help.previewHeading":"Probar una vista previa local","help.preview":"El QR usa la dirección del portal abierto. En un teléfono, localhost o 127.0.0.1 se refiere al propio teléfono. Para probar entre dispositivos, ambos deben acceder al portal y al servicio de transferencia mediante HTTPS. Los códigos y enlaces de copias usan la dirección pública de EvPortal.","help.privacyHeading":"Acerca de EvPortal y privacidad","help.privacy":"EvPortal es gratuito y no está afiliado a Tesla. Los logotipos y las traducciones están incluidos en el sitio. Los contadores de aperturas permanecen en tu configuración, sin servicios de analítica. Telegra.ph se contacta cuando lo solicitas; el token de la cuenta no se incluye en la publicación. Los sitios que abres aplican sus propias políticas.","help.source":"Código fuente","help.report":"Informar de un problema","help.license":"EvPortal · Licencia MIT","help.backupHeading":"Código o enlace","help.preferencesHeading":"Elegir tu vista de inicio","help.preferences":"En Ajustes → Inicio, elige las categorías visibles y si quieres abrir tus favoritos al iniciar. Estas preferencias permanecen en este dispositivo y no se incluyen en copias ni transferencias QR. El catálogo se gestiona con el botón «+».","help.sharedServices":"Un servicio puede aparecer en varias categorías con un único favorito y contador; Todos lo muestra una sola vez. En Editar, abre Otras categorías para elegir dónde aparece. Al eliminar una categoría se conservan los servicios presentes en otra categoría.","pair.receiveButton":"Recibir desde mi teléfono","pair.receiveTitle":"Recibir desde mi teléfono","pair.scanHint":"Escanea este código QR con tu teléfono.","pair.qrAccessible":"Código QR para transferir a esta pantalla","pair.apply":"Añadir","pair.newQR":"Nuevo código QR","pair.sendTitle":"Enviar al Tesla","pair.send":"Enviar mis accesos directos","pair.chooseBackup":"Elegir una copia","pair.sendHint":"Los accesos directos de este teléfono se propondrán en la otra pantalla.","pair.privateHint":"Transferencia cifrada, válida durante 5 minutos.","pair.preparing":"Preparando el código QR…","pair.waiting":"Esperando al teléfono · {time}","pair.retrying":"Reconectando… · {time}","pair.summary":"{categories} categorías · {count} accesos directos","pair.ready":"Copia recibida. Añádela a tus copias.","pair.sending":"Enviando…","pair.sent":"Enviado. Añade la copia en la otra pantalla.","pair.applied":"Copia añadida.","pair.expired":"Este código QR ha caducado. Crea uno nuevo en la otra pantalla.","pair.receiverExpired":"Este código QR ha caducado. Crea uno nuevo.","pair.notConfigured":"La transferencia directa aún no está disponible. Usa una copia de Telegra.ph.","pair.unsupported":"Este navegador no permite transferencias cifradas. Usa una copia de Telegra.ph.","pair.invalidLink":"Este código QR de transferencia no es válido. Escanea uno nuevo.","pair.invalidResponse":"El servicio de transferencia devolvió una respuesta no válida. Prueba con un código QR nuevo.","pair.networkError":"No se puede conectar. Revisa la red e inténtalo de nuevo.","pair.timeout":"La conexión ha caducado. Inténtalo de nuevo.","pair.unauthorized":"Esta transferencia ya no está autorizada. Escanea un código QR nuevo.","pair.alreadySent":"Este código QR ya ha recibido accesos directos. Crea uno nuevo para empezar de nuevo.","pair.tooLarge":"Esta configuración es demasiado grande para la transferencia directa. Expórtala a un archivo JSON.","pair.invalidConfig":"La configuración recibida no es válida. Tus accesos directos actuales se conservan.","pair.decryptFailed":"No se puede leer esta transferencia. Crea un código QR nuevo.","pair.applyFailed":"No se ha podido añadir esta copia. Inténtalo de nuevo.","pair.serviceUnavailable":"El servicio de transferencia no está disponible temporalmente. Inténtalo de nuevo en un momento.","pair.stepScan":"Escanear","pair.stepSend":"Enviar","pair.stepApply":"Añadir","pair.storageUnavailable":"No se puede guardar en esta pantalla. Tus accesos directos actuales se conservan.","pair.undone":"Se han restaurado tus accesos directos anteriores.","pair.deliveryUnknown":"Comprueba la otra pantalla: puede que tus accesos directos ya se hayan recibido. Si no, crea un nuevo código QR.","pair.offerButton":"Enviar a mi teléfono","pair.offerTitle":"Mis accesos directos en el teléfono","pair.offerScanHint":"Escanea este código QR con el teléfono.","pair.offerPreparing":"Preparando el envío…","pair.offerWaiting":"Lista para recoger en el teléfono · {time}","pair.offerExpired":"Este código QR ha caducado. Crea uno nuevo.","pair.offerReady":"Copia lista para recoger.","pair.downloadTitle":"Recibir una copia","pair.downloading":"Recuperando la copia…","pair.added":"Copia añadida a tus copias.","pair.addFailed":"No se ha podido añadir esta copia. Inténtalo de nuevo.","pair.downloadExpired":"Esta transferencia ha caducado o ya se ha recogido. Crea un nuevo código QR en la otra pantalla.","pair.offerQRAccessible":"Código QR para recibir esta copia en el teléfono","prefs.title":"Inicio","prefs.homeFavorites":"Abrir en mis favoritos","prefs.visibleCategories":"Categorías visibles","prefs.saveFailed":"Las preferencias solo se guardan durante esta sesión.","prefs.invalid":"Estas preferencias no son válidas.","seo.introHeading":"Un portal de accesos directos para tu Tesla","seo.intro":"EvPortal es un portal gratuito e independiente que reúne tus sitios favoritos en una página pensada para el navegador Tesla. También puedes usarlo en el navegador del teléfono o del ordenador. Los iconos grandes abren los servicios elegidos sin llenar la pantalla de inicio de textos o widgets. Puedes personalizar tus accesos directos, sus categorías y su orden, y elegir un tema claro u oscuro.","seo.startHeading":"Empezar en el navegador del vehículo","seo.start":"Con el vehículo estacionado, abre la dirección de EvPortal en su navegador. Guárdala en los favoritos del navegador si esa opción está disponible para encontrarla fácilmente. No necesitas instalar una aplicación ni iniciar sesión en una cuenta Tesla para abrir el portal. El botón «+» abre el catálogo para gestionar tus accesos directos. En Ajustes, elige el idioma y la vista de inicio. Tus preferencias permanecen en este dispositivo; una copia permite conservar o transferir tus accesos directos.","seo.chargingHeading":"Encontrar tus servicios durante una recarga","seo.charging":"Añade enlaces a tus planificadores de rutas o recarga, emisoras de radio, música y servicios meteorológicos. El catálogo es el mismo para todos, con categorías plegables; también puedes introducir una dirección propia. Cada acceso directo abre el sitio del proveedor, con sus propias condiciones de acceso. EvPortal no controla la carga ni envía órdenes al vehículo. Consulta los contenidos de entretenimiento con el vehículo estacionado.","seo.faqHeading":"Preguntas frecuentes","seo.faqFreeQuestion":"¿EvPortal es gratuito?","seo.faqFreeAnswer":"Sí. El portal es gratuito y no está afiliado a Tesla. Algunos sitios enlazados pueden exigir una cuenta o suscripción; esas condiciones dependen del servicio.","seo.faqPhoneQuestion":"¿Cómo preparo mis accesos directos en el teléfono?","seo.faqPhoneAnswer":"Abre EvPortal en el teléfono y organiza tus accesos directos. En Ajustes, Teléfono permite transferir por QR en ambos sentidos. En la pantalla receptora, Añadir guarda una copia. Para utilizar su contenido, elige después Mis copias y Restaurar. Recibir una copia no sustituye por sí solo tus accesos directos.","seo.faqOfflineQuestion":"¿EvPortal funciona sin conexión?","seo.faqOfflineAnswer":"El navegador guarda tu configuración localmente, pero EvPortal no ofrece un modo sin conexión. Necesitas conexión para cargar el portal, abrir servicios y transferir copias. Un archivo JSON permite conservar una copia independiente para restaurarla más adelante.","seo.languages":"Idiomas disponibles","seo.operatingSystem":"Web","seo.browserRequirements":"Navegador con JavaScript y almacenamiento local; HTTPS y funciones criptográficas para transferencias QR.","seo.featureFavorites":"Accesos directos y favoritos personalizables","seo.featureDrag":"Ordenación táctil mediante arrastrar y soltar","seo.featureQR":"Transferencia de copias por QR con un teléfono","seo.featureBackup":"Copias mediante código, enlace o archivo JSON","share.tooLarge":"La configuración supera el límite de 64 KB de Telegra.ph. Reduce los enlaces o usa un archivo.","share.noConnection":"La conexión no está disponible en este navegador.","share.publishTimeout":"Se agotó el tiempo. Revisa Mis copias antes de volver a intentarlo.","share.timeout":"Telegra.ph no responde. Inténtalo más tarde.","share.networkError":"No se pudo conectar a Telegra.ph. Revisa tu conexión.","share.unavailable":"Telegra.ph no está disponible. Inténtalo más tarde.","share.badResponse":"La respuesta de Telegra.ph no se puede leer. Inténtalo más tarde.","share.rateLimited":"Demasiadas solicitudes. Espera antes de reintentar.","share.invalidAccount":"La cuenta Telegra.ph no está disponible. Tu cuenta anterior se conserva.","share.refused":"Telegra.ph rechazó esta solicitud. Inténtalo más tarde.","share.accountNotCreated":"No se creó la cuenta Telegra.ph. Inténtalo más tarde.","share.invalidTitle":"Nombre de enlace compartido no válido (máximo 256 caracteres).","share.sessionOnly":"La cuenta solo se conserva durante esta sesión. Guarda el enlace compartido.","share.invalidPage":"Posición de página no válida.","share.badHistory":"No se puede leer la lista de Telegra.ph.","share.localPreview":"Vista previa local: usa la dirección de red de esta vista previa en el teléfono.","share.localPreviewOld":"Vista previa local: para probarla en el teléfono, usa una dirección de red accesible de esta vista previa. La dirección pública muestra la versión publicada, que puede diferir de esta vista previa.","share.qrLabel":"Escanea con un teléfono para abrir estos accesos directos EvPortal","share.qrAddressUnavailable":"Código QR no disponible para esta dirección. Copia el enlace.","share.qrUnavailable":"Código QR no disponible. Copia el enlace.","share.publishing":"Guardando…","share.publish":"Crear mi copia","share.created":"Copia creada.","share.copyUnavailable":"No se puede copiar. Selecciona el texto para copiarlo manualmente.","share.linkCopied":"Enlace copiado.","share.codeCopied":"Código copiado.","share.import":"Importar","share.importNamed":"Importar {name}","share.more":"Ver más","share.empty":"No hay copias.","share.secureRandomUnavailable":"No se puede generar un enlace aleatorio para compartir en este navegador. Utiliza un navegador reciente.","share.unsafePath":"Telegra.ph no ha conservado el identificador aleatorio. No se ha publicado ninguna configuración.","share.deleteNamed":"Eliminar {name}","share.deleted":"Copia eliminada.","share.noAccount":"No hay ninguna cuenta de copias disponible en este navegador.","state.fullURL":"Usa una dirección completa que empiece por https:// o http://, sin espacios.","state.invalidURL":"Esta dirección no es válida.","state.safeURL":"Los enlaces deben usar HTTP o HTTPS, sin datos de acceso en la dirección.","state.invalidID":"Identificador de categoría o acceso directo no válido.","state.shortcutObject":"Cada acceso directo debe ser un objeto.","state.duplicateShortcut":"Dos accesos directos tienen el mismo identificador.","state.favoriteBoolean":"El valor de favorito debe ser booleano.","state.invalidColor":"Color de acceso directo no válido.","state.invalidCount":"Contador de uso del acceso directo no válido.","state.invalidFormat":"Formato EvPortal no reconocido o versión de copia incompatible.","state.tooManyCategories":"La copia supera las 50 categorías.","state.invalidCategory":"Categoría no válida.","state.reservedCategory":"Identificador de categoría reservado o duplicado.","state.invalidIcon":"Icono de categoría no válido.","state.tooManyShortcuts":"La copia supera los 5000 accesos directos.","state.invalidTheme":"Tema de la copia no válido.","state.missingCategory":"No se encuentra la categoría activa de la copia.","state.invalidOrder":"Orden de accesos directos no válido.","state.backupObject":"La copia debe ser un objeto JSON.","state.invalidLegacyList":"La lista de categorías antiguas no es válida.","state.duplicateCategories":"La lista contiene categorías duplicadas.","state.foreignData":"La copia contiene datos ajenos a las categorías EvPortal.","state.invalidLegacyShortcut":"Acceso directo antiguo no válido.","state.invalidShortcutOrder":"Posición del acceso directo no válida.","state.largeFile":"El archivo supera el límite de 2 MB.","state.invalidJSON":"El archivo no contiene JSON válido.","state.storageUnavailable":"Almacenamiento no disponible","state.invalidLegacyCategories":"Categorías antiguas no válidas","state.reservedLegacyCategory":"Categoría antigua reservada","state.invalidMove":"Movimiento de acceso directo no válido.","state.telegraphLink":"Usa un enlace telegra.ph o su identificador de página.","state.telegraphID":"Identificador de página Telegra.ph no válido.","state.portalLink":"Usa un enlace EvPortal que contenga un solo código compartido.","state.invalidField":"{field} no válido (máximo {max} caracteres).","state.invalidFieldShort":"{field} no válido.","state.urlLabel":"Dirección del sitio","state.shortcutName":"Nombre del acceso directo","state.shortcutDescription":"Descripción del acceso directo","state.shortcutTag":"Etiqueta del acceso directo","state.categoryName":"Nombre de la categoría","state.categoryDescription":"Descripción de la categoría","state.catalogVersion":"Versión del catálogo","state.telegraphIDLabel":"Identificador Telegra.ph","state.shareCodeLabel":"Enlace o código compartido","state.invalidCategoryShortcuts":"Los accesos directos de la categoría «{name}» no son válidos.","state.storageWarning":"La copia local no está disponible o no se puede leer. Tus datos anteriores se conservan. Los cambios de esta sesión son temporales: expórtalos como JSON.","static.title":"EvPortal — Accesos directos para el navegador Tesla","static.skip":"Ir a los accesos directos","static.tagline":" — accesos directos para Tesla","static.fullscreen":"Pantalla completa","static.share":"Compartir","static.edit":"Editar","static.add":"Añadir","static.searchLabel":"Buscar un acceso directo","static.dragInstructions":"Espacio para seleccionar, flechas para mover, Intro para soltar y Escape para cancelar.","static.reorder":"Arrastra los accesos directos para reordenarlos.","static.video":"Cine","static.javascript":"Activa JavaScript para personalizar tus accesos directos.","static.help":"Ayuda","static.settings":"Ajustes","static.language":"Idioma","static.createShortcut":"Crear un acceso directo","static.createCategory":"Crear una categoría","static.importTelegraph":"Importar una copia","static.theater":"Abrir el modo Teatro Tesla","static.moreOptions":"Más opciones","static.exportJSON":"Guardar un archivo JSON","static.reset":"Restablecer los accesos directos","static.about":"Ayuda e información","static.newCategory":"Nueva categoría","static.name":"Nombre","static.icon":"Icono","static.cancel":"Cancelar","static.create":"Crear","static.newShortcut":"Nuevo acceso directo","static.website":"Dirección del sitio","static.category":"Categoría","static.restore":"Importar una copia","static.shareInput":"Código o enlace","static.load":"Cargar mis accesos directos","static.importJSON":"Importar un archivo JSON","static.jsonFile":"Archivo JSON","static.close":"Cerrar","static.use":"Usar estos accesos directos","static.shareTitle":"Exportar una copia","static.backupName":"Nombre (opcional)","static.public":"Esta copia será pública.","static.portalAddress":"Dirección de EvPortal","static.otherAddress":"Dirección de EvPortal en la otra pantalla","static.publish":"Crear mi copia","static.scan":"Escanea con tu teléfono.","static.carCode":"Código para introducir en tu Tesla","static.copyCode":"Copiar código","static.importHint":"Tesla: Ajustes → Copias de seguridad → Importar una copia.","static.copyLink":"Copiar enlace","static.sharedLinks":"Mis copias","static.showBackups":"Actualizar","static.addShortcuts":"Catálogo","static.searchService":"Buscar un servicio","static.home":"EvPortal, inicio","static.search":"Buscar","static.enterFullscreen":"Activar pantalla completa","static.shareAccessible":"Exportar una copia","static.addAccessible":"Añadir un acceso directo o categoría","static.clearSearch":"Borrar búsqueda","static.categories":"Categorías","static.qrAccessible":"Código QR para recuperar tus accesos directos","static.searchPlaceholder":"Buscar…","static.tripsPlaceholder":"Mis viajes","static.servicePlaceholder":"Mi servicio","static.urlPlaceholder":"https://ejemplo.es","static.codePlaceholder":"Código o enlace EvPortal","static.defaultBackup":"Mis accesos directos EvPortal","static.description":"Personaliza tu portal Tesla con accesos a carga, música y tiempo, favoritos y copias de seguridad. Gratis, con transferencias QR desde el teléfono.","static.socialTitle":"EvPortal — Accesos directos para el navegador Tesla","static.socialDescription":"Personaliza tu portal Tesla con accesos a carga, música y tiempo, favoritos y copias de seguridad. Gratis, con transferencias QR desde el teléfono.","static.previewAlt":"EvPortal: accesos directos para carga, música, streaming y navegación.","static.twitterDescription":"Personaliza tu portal Tesla con accesos a carga, música y tiempo, favoritos y copias de seguridad. Gratis, con transferencias QR desde el teléfono.","static.twitterAlt":"Los accesos directos EvPortal en modo oscuro.","static.nameBackup":"Nombrar la copia","static.undoTransfer":"Deshacer la última transferencia","static.backups":"Copias de seguridad","static.exportBackup":"Exportar una copia","static.importBackup":"Importar una copia"},"de":{"app.startFailed":"Das Portal konnte nicht starten. Lade die Seite erneut.","app.storageUnavailable":"Der lokale Speicher ist nicht verfügbar oder voll. Exportiere deine Konfiguration, um die Änderungen zu behalten.","app.storageRecovery":"Die lokale Sicherung ist nicht verfügbar oder unlesbar. Deine bisherigen Daten bleiben erhalten. Exportiere diese Sitzung vor dem Schließen.","app.all":"Alle","app.favorites":"Favoriten","app.move":"{name} verschieben","app.previousMoveCancelled":"Vorheriges Verschieben abgebrochen.","app.moveSelected":"{name} ausgewählt. Mit Pfeiltasten verschieben, mit Eingabe ablegen, mit Escape abbrechen.","app.moveCancelled":"Verschieben abgebrochen.","app.movePosition":"{name}, Position {position} von {count}.","app.orderSaved":"Reihenfolge gespeichert.","app.editCategory":"Kategorie {name} bearbeiten","app.deleteCategory":"Kategorie {name} löschen","app.confirmDeleteCategory":"„{name}“ und die enthaltenen {count} Verknüpfungen löschen?","app.categoryDeleted":"Kategorie gelöscht.","app.openNewTab":"{name} — neuer Tab","app.removeFavorite":"{name} aus Favoriten entfernen","app.addFavorite":"{name} zu Favoriten hinzufügen","app.favoriteAdded":"{name} zu Favoriten hinzugefügt.","app.favoriteRemoved":"{name} aus Favoriten entfernt.","app.editShortcut":"{name} bearbeiten","app.deleteShortcut":"{name} löschen","app.confirmDeleteShortcut":"Verknüpfung „{name}“ löschen?","app.shortcutDeleted":"Verknüpfung gelöscht.","app.allShortcuts":"Alle Verknüpfungen","app.allDescription":"Alle deine Dienste und Verknüpfungen an einem Ort.","app.searchResults":"Suchergebnisse","app.searchDescription":"Suche nach „{query}“ in allen Kategorien.","app.myFavorites":"Meine Favoriten","app.favoritesDescription":"Deine wichtigsten Links, immer griffbereit.","app.categoryDescription":"Deine Verknüpfungen in dieser Kategorie.","app.shortcutCount":"{count} Verknüpfungen","app.shortcutCountOne":"{count} Verknüpfung","app.noShortcuts":"Keine Verknüpfungen gefunden","app.emptyFavorites":"Deine wichtigsten Links sammeln","app.emptyCategory":"Gestalte deine Seite","app.searchHint":"Versuche einen anderen Namen, eine Domain oder ein Stichwort.","app.favoriteHint":"Tippe auf den Stern einer Verknüpfung, um sie zu Favoriten hinzuzufügen.","app.emptyHint":"Füge Verknüpfungen aus dem Katalog hinzu oder erstelle eigene.","app.clearSearch":"Suche löschen","app.exploreCatalog":"Katalog durchsuchen","app.usageOrderHint":"Alle: häufig genutzte zuerst. Öffne zum Verschieben die Kategorie oder Favoriten.","app.dragHint":"Ziehe Verknüpfungen, um sie neu anzuordnen.","app.finishEditing":"Bearbeitung beenden","app.editShortcuts":"Verknüpfungen bearbeiten","app.finish":"Fertig","app.edit":"Bearbeiten","app.categoryRequired":"Erstelle zuerst eine Kategorie für deine Verknüpfung.","app.editShortcutTitle":"Verknüpfung bearbeiten","app.addShortcutTitle":"Verknüpfung hinzufügen","app.save":"Speichern","app.addShortcutSubmit":"Verknüpfung hinzufügen","app.editCategoryTitle":"Kategorie bearbeiten","app.newCategory":"Neue Kategorie","app.create":"Erstellen","app.categoryLimitHint":"Limit erreicht: {max} eigene Kategorien. Bearbeite oder lösche eine vorhandene Kategorie.","app.categoryCountHint":"{count}/{max} eigene Kategorien · Maximal {length} Zeichen.","app.categoryGone":"Diese Kategorie wurde in einem anderen Tab gelöscht. Schließe das Formular und versuche es erneut.","app.categoryNameInvalid":"Gib einen Namen mit 1 bis {max} Zeichen ein.","app.categoryLimit":"Das Limit von {max} eigenen Kategorien ist erreicht.","app.categoryDuplicate":"Eine Kategorie mit diesem Namen existiert bereits.","app.iconRequired":"Wähle eines der verfügbaren Symbole.","app.categoryDescriptionInvalid":"Die Beschreibung darf höchstens 240 Zeichen lang sein.","app.categoryChanged":"Kategorie geändert.","app.categoryCreated":"Kategorie erstellt.","app.selectCategory":"Wähle eine vorhandene Kategorie.","app.shortcutGone":"Diese Verknüpfung wurde in einem anderen Tab gelöscht. Schließe das Formular und versuche es erneut.","app.shortcutLimit":"Das Limit von 5.000 Verknüpfungen ist erreicht.","app.shortcutFieldsInvalid":"Prüfe den Namen (maximal 100 Zeichen) und die Beschreibung (maximal 300).","app.shortcutDuplicate":"Dieser Link ist bereits vorhanden. Bearbeite seine Kategorien, um ihn auch an anderer Stelle anzuzeigen.","app.shortcutChanged":"Verknüpfung geändert.","app.shortcutAdded":"Verknüpfung hinzugefügt.","app.alreadyPresentNamed":"Bereits vorhanden: {name}","app.addNamed":"{name} hinzufügen","app.alreadyPresent":"Bereits vorhanden","app.add":"Hinzufügen","app.totalCategoryLimit":"Das Limit von 50 Kategorien ist erreicht.","app.addedToCategory":"{name} zu {category} hinzugefügt.","app.noServices":"Keine Dienste entsprechen dieser Suche.","app.catalogComplete":"Verwalte deine Verknüpfungen oder erstelle eigene.","app.catalogHint":"Verwalte deine Verknüpfungen oder erstelle eigene.","app.sharedConfig":"Fügt die Sicherung hinzu, ohne deine Verknüpfungen zu ändern.","app.importPreview":"Kategorien: {categories} · Verknüpfungen: {count}","app.fileTooLarge":"Die Datei überschreitet das Limit von 2 MB.","app.loadingConfig":"Konfiguration wird geladen…","app.telegraphNotReturned":"Telegra.ph hat diese Seite nicht zurückgegeben. Prüfe den Code.","app.pageTooLarge":"Diese Seite ist zu groß zum Importieren.","app.telegraphUnreadable":"Diese Telegra.ph-Seite wurde nicht gefunden oder ist unlesbar.","app.noConfigInPage":"Die Seite enthält keine EvPortal-Konfiguration.","app.connectionTimeout":"Zeitüberschreitung der Verbindung. Versuche es gleich erneut.","app.imported":"Konfiguration importiert.","app.exportReady":"JSON-Export vorbereitet. Bewahre die Datei auf, um deine Verknüpfungen auf einem anderen Gerät wiederherzustellen.","app.exportFailed":"Die Sicherungsdatei konnte nicht erstellt werden.","app.confirmReset":"Ursprünglichen Katalog wiederherstellen? Eigene Verknüpfungen und Favoriten werden ersetzt. Exportiere sie vor dem Fortfahren.","app.catalogReset":"Ursprünglicher Katalog wiederhergestellt.","app.switchToLight":"Zum hellen Modus wechseln","app.switchToDark":"Zum dunklen Modus wechseln","app.fullscreenReload":"Lade die Seite neu, um den Vollbildmodus zu aktivieren.","app.fullscreenUnavailable":"Der Vollbildmodus ist in diesem Browser nicht verfügbar.","app.exitFullscreen":"Vollbildmodus verlassen","app.enterFullscreen":"Vollbildmodus starten","app.syncedFromTab":"Deine Änderungen aus einem anderen Tab wurden geladen.","app.unreadableTabState":"Die Sicherung aus einem anderen Tab ist unlesbar. Die aktuelle Sitzung bleibt erhalten.","app.legacyRecovered":"Deine bisherigen Verknüpfungen wurden wiederhergestellt.","app.catalogUpdated":"{count} Katalogadressen wurden aktualisiert.","app.invalidConfig":"Diese Konfiguration ist ungültig oder inkompatibel. Prüfe die Datei oder den Code und versuche es erneut.","app.invalidShortcutURL":"Verwende eine vollständige Adresse mit https:// oder http://, ohne Leerzeichen oder Zugangsdaten.","app.invalidImportCode":"Verwende einen Telegra.ph-Code, eine telegra.ph-Adresse oder einen gültigen EvPortal-Freigabelink.","app.connectionFailed":"Verbindung nicht möglich. Prüfe das Netzwerk und versuche es erneut.","app.icon.all":"Raster","app.icon.favorites":"Stern","app.icon.cinema":"Video","app.icon.music":"Musik","app.icon.tv":"Fernsehen","app.icon.charging":"Laden","app.icon.games":"Spiele","app.icon.navigation":"Routen","app.icon.social":"Nachrichten","app.icon.news":"Aktuelles","app.icon.weather":"Wetter","app.icon.productivity":"Werkzeuge","app.icon.folder":"Ordner","app.otherCategories":"Weitere Kategorien","app.moreIcons":"Weitere Symbole","app.remove":"Entfernen","app.removeCatalogNamed":"{name} entfernen","app.catalogRemoved":"{name} entfernt.","app.icon.home":"Haus","app.icon.car":"Auto","app.icon.parking":"Parkplatz","app.icon.map":"Karte","app.icon.globe":"Globus","app.icon.compass":"Kompass","app.icon.coffee":"Kaffee","app.icon.food":"Essen","app.icon.shopping":"Einkaufen","app.icon.heart":"Herz","app.icon.camera":"Kamera","app.icon.tools":"Heimwerken","backup.links":"Code oder Link","backup.phone":"Smartphone","backup.library":"Meine Sicherungen","backup.create":"Erstellen","backup.add":"Hinzufügen","backup.send":"Senden","backup.receive":"Empfangen","backup.restore":"Wiederherstellen","backup.createTitle":"Code oder Link erstellen","backup.addTitle":"Sicherung hinzufügen","backup.restoreTitle":"Sicherung wiederherstellen","backup.chooseTitle":"Sicherung auswählen","backup.code":"Code","backup.link":"EvPortal-Link","backup.copyCode":"Code kopieren","backup.addHint":"Fügt die Sicherung hinzu, ohne deine Verknüpfungen zu ändern.","backup.added":"Sicherung hinzugefügt.","backup.restored":"Sicherung wiederhergestellt.","backup.local":"Auf diesem Gerät","backup.online":"Online","backup.empty":"Keine gespeicherten Sicherungen.","backup.receivedTitle":"Empfangene Verknüpfungen","backup.fileTitle":"Importierte Sicherung","backup.deleteNamed":"„{name}“ löschen","backup.deleted":"Sicherung gelöscht.","backup.savedSummary":"Kategorien: {categories} · Verknüpfungen: {count}","backup.load":"Prüfen","backup.restoreHint":"Ersetzt die Verknüpfungen auf diesem Gerät.","backup.selected":"Ausgewählte Sicherung","backup.choose":"Auswählen","backup.localCopy":"Kopie auf diesem Gerät gespeichert.","backup.undoRestore":"Letzte Wiederherstellung rückgängig machen","backup.storageUnavailable":"Der Speicher für Sicherungen ist nicht verfügbar oder voll.","backup.invalidLibrary":"Die Sicherungsbibliothek ist nicht lesbar. Vorhandene Daten bleiben erhalten.","backup.invalidBackup":"Diese Sicherung ist ungültig.","backup.limit":"Du kannst bis zu {max} Sicherungen auf diesem Gerät speichern.","backup.tooLarge":"Diese Sicherung überschreitet {max} MB.","backup.missing":"Diese Sicherung ist nicht mehr verfügbar.","backup.retry":"Erneut versuchen","category.all":"Alle","category.favorites":"Favoriten","category.cinema":"Video","category.music":"Musik","category.tv":"TV","category.charging":"Laden","category.games":"Spiele","category.navigation":"Routen","category.social":"Soziales","category.news":"Nachrichten","category.weather":"Wetter","category.productivity":"Werkzeuge","category.folder":"Ordner","help.title":"EvPortal-Anleitung — Tesla-Browser, Favoriten und Sicherungen","help.description":"Öffne EvPortal im Tesla-Browser, ordne deine Favoriten und übertrage Sicherungen per Code, Link oder QR. Anleitung für den Einstieg und die Wiederherstellung.","help.language":"Sprache","help.back":"Zurück zu den Verknüpfungen","help.heading":"EvPortal-Anleitung für den Tesla-Browser","help.intro":"Tippe auf eine Verknüpfung, um den Dienst in einem neuen Tab zu öffnen. Das dunkle Design ist voreingestellt; deine Wahl zwischen hellem und dunklem Design wird anschließend gespeichert. Die acht Sprachen findest du in den Einstellungen mit ihren Eigennamen und Flaggen. Arabisch wird von rechts nach links angezeigt.","help.organizeHeading":"Verknüpfungen ordnen","help.ranking":"Alle zeigt die am häufigsten geöffneten Verknüpfungen zuerst. Bei gleicher Anzahl gilt deine manuelle Reihenfolge. Die Sortierung bleibt nach dem Neuladen gespeichert.","help.dragging":"Tippe in einer Kategorie oder unter Favoriten auf Bearbeiten und verschiebe die Verknüpfungen an ihren Griffen. Der Stern fügt einen Favoriten hinzu, der Stift öffnet die Bearbeitung. Tippe anschließend auf Fertig. Alle behält seine automatische Sortierung.","help.keyboard":"Wähle mit der Tastatur einen Griff, drücke die Leertaste, verschiebe mit den Pfeiltasten und bestätige mit der Eingabetaste. Escape bricht ab.","help.addHeading":"Verknüpfung oder Kategorie hinzufügen","help.adding":"Die Schaltfläche „+“ öffnet für alle denselben Katalog. Klappe eine Kategorie auf oder zu und verwende bei einem Dienst Hinzufügen oder Entfernen. Verknüpfung erstellen und Kategorie erstellen stehen oben im Katalog. Die Lupe durchsucht alle deine Verknüpfungen.","help.categories":"Erstelle bis zu fünf persönliche Kategorien mit Namen von höchstens 16 Zeichen und einem Symbol deiner Wahl. Weitere Symbole öffnet die zusätzliche Auswahl. Mit dem Stift bearbeitest du eine Kategorie. Ältere Kategorien, die diese Grenzen überschreiten, bleiben erhalten. Sichtbare Kategorien werden ohne horizontales Scrollen angeordnet.","help.transferHeading":"Smartphone: senden oder empfangen","help.stepPrepare":"Wähle unter Einstellungen → Sicherungen → Smartphone Senden oder Empfangen.","help.stepPublish":"Scanne den angezeigten QR-Code mit deinem Smartphone.","help.stepCode":"Wähle zum Senden auf dem Smartphone dessen Verknüpfungen oder eine Sicherung aus und tippe auf Senden.","help.stepImport":"Tippe auf dem empfangenden Bildschirm auf Hinzufügen, um die Sicherung auf diesem Gerät zu speichern.","help.stepApply":"Öffne zum Verwenden Meine Sicherungen → Wiederherstellen.","help.qr":"QR-Codes dienen zur Übertragung mit dem Smartphone. Beim Erstellen eines Codes oder Links wird kein QR-Code angezeigt.","help.snapshot":"Die Übertragung ist verschlüsselt und bei verfügbarem Dienst fünf Minuten gültig. Sie überträgt einen Stand ohne automatische Synchronisierung. Der Empfang einer Sicherung ersetzt keine Verknüpfungen.","help.public":"Unter Einstellungen → Sicherungen → Code oder Link erstellt Erstellen einen Code und einen EvPortal-Link zum Kopieren. Hinzufügen nimmt beide an und speichert nach der Prüfung eine lokale Kopie. JSON-Dateien bleiben unter Weitere Optionen verfügbar. Die erstellte Telegra.ph-Seite ist öffentlich; lokale Kopie und Online-Seite sind voneinander getrennt.","help.fullscreenHeading":"Tesla-Vollbild","help.fullscreen":"Tippe im geparkten Fahrzeug auf Vollbild. Wähle auf YouTube Zur Website oder Go to site, um im Kinomodus zu EvPortal zurückzukehren. Verknüpfungen fordern einen neuen Tab an; dessen Verhalten hängt vom Fahrzeugbrowser ab.","help.fullscreenFallback":"Wird der Tesla nicht erkannt, wähle in den Einstellungen Tesla-Kinomodus öffnen. Am Computer verwendet die Schaltfläche das normale Vollbild. Die Weiterleitung kann sich durch Fahrzeug- oder YouTube-Updates ändern.","help.compatibility":"Das Öffnen einer Website garantiert keine Videowiedergabe: Land, Konto, Abonnement und Browser können sie einschränken. Nutze Unterhaltung im geparkten Fahrzeug.","help.teslaManual":"Tesla-Bedienungsanleitung","help.myTesla":"Von myTesla beschriebene Methode","help.storageHeading":"Sicherung wiederherstellen","help.storage":"Wähle unter Einstellungen → Sicherungen → Meine Sicherungen → Wiederherstellen eine Sicherung unter Auf diesem Gerät oder Online und prüfe ihren Inhalt. Nur Wiederherstellen ersetzt deine Verknüpfungen. Unter Weitere Optionen in den Einstellungen kannst du die letzte Wiederherstellung rückgängig machen. Das Hinzufügen eines Codes, Links, einer Datei oder QR-Übertragung speichert eine Sicherung, ohne sie anzuwenden. Jeder Browser führt seine eigene lokale Liste.","help.previewHeading":"Eine lokale Vorschau testen","help.preview":"Der QR-Code nutzt die Adresse des geöffneten Portals. Auf einem Smartphone bezeichnet localhost oder 127.0.0.1 das Smartphone selbst. Für Tests zwischen Geräten müssen beide das Portal und den Übertragungsdienst über HTTPS erreichen können. Sicherungscodes und -links nutzen die öffentliche EvPortal-Adresse.","help.privacyHeading":"Über EvPortal und Datenschutz","help.privacy":"EvPortal ist kostenlos und nicht mit Tesla verbunden. Logos und Übersetzungen sind im Projekt enthalten. Öffnungszähler bleiben in deiner Konfiguration, ohne Analysedienst. Telegra.ph wird nur auf deine Anforderung kontaktiert; das Kontotoken bleibt von der Freigabe getrennt. Geöffnete Websites wenden ihre eigenen Richtlinien an.","help.source":"Quellcode","help.report":"Problem melden","help.license":"EvPortal · MIT-Lizenz","help.backupHeading":"Code oder Link","help.preferencesHeading":"Deine Startansicht wählen","help.preferences":"Unter Einstellungen → Startansicht wählst du die sichtbaren Kategorien und ob beim Start deine Favoriten geöffnet werden. Diese Einstellungen bleiben auf diesem Gerät und sind nicht in Sicherungen oder QR-Übertragungen enthalten. Den Katalog verwaltest du über „+“.","help.sharedServices":"Ein Dienst kann in mehreren Kategorien erscheinen und behält dabei einen gemeinsamen Favoritenstatus und Zähler; unter Alle erscheint er nur einmal. Öffne beim Bearbeiten Weitere Kategorien, um die Zuordnung zu wählen. Beim Löschen einer Kategorie bleiben Dienste erhalten, die auch einer anderen Kategorie angehören.","pair.receiveButton":"Vom Smartphone empfangen","pair.receiveTitle":"Vom Smartphone empfangen","pair.scanHint":"Scanne diesen QR-Code mit deinem Smartphone.","pair.qrAccessible":"QR-Code zur Übertragung auf diesen Bildschirm","pair.apply":"Hinzufügen","pair.newQR":"Neuer QR-Code","pair.sendTitle":"An den Tesla senden","pair.send":"Meine Verknüpfungen senden","pair.chooseBackup":"Sicherung auswählen","pair.sendHint":"Die Verknüpfungen dieses Smartphones werden auf dem anderen Bildschirm zur Übernahme angeboten.","pair.privateHint":"Verschlüsselte Übertragung, 5 Minuten gültig.","pair.preparing":"QR-Code wird vorbereitet…","pair.waiting":"Warten auf das Smartphone · {time}","pair.retrying":"Verbindung wird wiederhergestellt… · {time}","pair.summary":"{categories} Kategorien · {count} Verknüpfungen","pair.ready":"Sicherung empfangen. Füge sie deinen Sicherungen hinzu.","pair.sending":"Wird gesendet…","pair.sent":"Gesendet. Füge die Sicherung auf dem anderen Bildschirm hinzu.","pair.applied":"Sicherung hinzugefügt.","pair.expired":"Dieser QR-Code ist abgelaufen. Erstelle auf dem anderen Bildschirm einen neuen.","pair.receiverExpired":"Dieser QR-Code ist abgelaufen. Erstelle einen neuen.","pair.notConfigured":"Die direkte Übertragung ist noch nicht verfügbar. Verwende eine Telegra.ph-Sicherung.","pair.unsupported":"Dieser Browser unterstützt keine verschlüsselte Übertragung. Verwende eine Telegra.ph-Sicherung.","pair.invalidLink":"Dieser Übertragungs-QR-Code ist ungültig. Scanne einen neuen Code.","pair.invalidResponse":"Der Übertragungsdienst hat eine ungültige Antwort geliefert. Versuche es mit einem neuen QR-Code.","pair.networkError":"Verbindung nicht möglich. Prüfe das Netzwerk und versuche es erneut.","pair.timeout":"Die Verbindung ist abgelaufen. Versuche es erneut.","pair.unauthorized":"Diese Übertragung ist nicht mehr autorisiert. Scanne einen neuen QR-Code.","pair.alreadySent":"Dieser QR-Code hat bereits Verknüpfungen empfangen. Erstelle für einen neuen Versuch einen neuen Code.","pair.tooLarge":"Diese Konfiguration ist für die direkte Übertragung zu groß. Exportiere sie als JSON-Datei.","pair.invalidConfig":"Die empfangene Konfiguration ist ungültig. Deine aktuellen Verknüpfungen bleiben erhalten.","pair.decryptFailed":"Diese Übertragung kann nicht gelesen werden. Erstelle einen neuen QR-Code.","pair.applyFailed":"Diese Sicherung konnte nicht hinzugefügt werden. Versuche es erneut.","pair.serviceUnavailable":"Der Übertragungsdienst ist vorübergehend nicht verfügbar. Versuche es gleich noch einmal.","pair.stepScan":"Scannen","pair.stepSend":"Senden","pair.stepApply":"Hinzufügen","pair.storageUnavailable":"Auf diesem Bildschirm kann nicht gespeichert werden. Deine aktuellen Verknüpfungen bleiben erhalten.","pair.undone":"Deine vorherigen Verknüpfungen wurden wiederhergestellt.","pair.deliveryUnknown":"Prüfe den anderen Bildschirm: Deine Verknüpfungen wurden möglicherweise bereits empfangen. Falls nicht, erstelle einen neuen QR-Code.","pair.offerButton":"An mein Smartphone senden","pair.offerTitle":"Meine Verknüpfungen auf dem Smartphone","pair.offerScanHint":"Scanne diesen QR-Code mit deinem Smartphone.","pair.offerPreparing":"Senden wird vorbereitet…","pair.offerWaiting":"Auf dem Smartphone abrufbar · {time}","pair.offerExpired":"Dieser QR-Code ist abgelaufen. Erstelle einen neuen.","pair.offerReady":"Sicherung zum Abrufen bereit.","pair.downloadTitle":"Sicherung empfangen","pair.downloading":"Sicherung wird abgerufen…","pair.added":"Sicherung zu deinen Sicherungen hinzugefügt.","pair.addFailed":"Diese Sicherung konnte nicht hinzugefügt werden. Versuche es erneut.","pair.downloadExpired":"Diese Übertragung ist abgelaufen oder wurde bereits abgerufen. Erstelle auf dem anderen Bildschirm einen neuen QR-Code.","pair.offerQRAccessible":"QR-Code zum Empfang dieser Sicherung auf dem Smartphone","prefs.title":"Startansicht","prefs.homeFavorites":"Mit meinen Favoriten starten","prefs.visibleCategories":"Sichtbare Kategorien","prefs.saveFailed":"Einstellungen werden nur für diese Sitzung gespeichert.","prefs.invalid":"Diese Einstellungen sind ungültig.","seo.introHeading":"Eine Startseite mit Verknüpfungen für deinen Tesla","seo.intro":"EvPortal ist eine kostenlose, unabhängige Startseite, die deine bevorzugten Websites auf einer für den Tesla-Browser gestalteten Seite bündelt. Du kannst sie auch im Browser auf dem Smartphone oder Computer verwenden. Große Symbole öffnen die gewählten Dienste, ohne den Startbildschirm mit Text oder Widgets zu füllen. Verknüpfungen, Kategorien und deren Reihenfolge lassen sich anpassen. Außerdem stehen ein helles und ein dunkles Design zur Auswahl.","seo.startHeading":"Im Fahrzeugbrowser starten","seo.start":"Öffne die Adresse von EvPortal im Browser deines geparkten Fahrzeugs. Speichere sie als Browserfavorit, wenn diese Möglichkeit verfügbar ist, damit du sie leicht wiederfindest. Zum Öffnen des Portals musst du keine App installieren und dich nicht mit einem Tesla-Konto anmelden. Über „+“ öffnest du den Katalog, um deine Verknüpfungen zu verwalten. In den Einstellungen wählst du Sprache und Startansicht. Deine Einstellungen bleiben auf diesem Gerät; mit einer Sicherung kannst du deine Verknüpfungen aufbewahren oder übertragen.","seo.chargingHeading":"Dienste während einer Ladepause finden","seo.charging":"Füge Links zu deiner Routen- oder Ladeplanung, Radiosendern, Musik und Wetterdiensten hinzu. Der Katalog ist für alle gleich und hat aufklappbare Kategorien; du kannst auch eigene Webadressen eingeben. Jede Verknüpfung öffnet die Website des Anbieters mit dessen Zugangsbedingungen. EvPortal steuert weder den Ladevorgang noch sendet es Befehle an das Fahrzeug. Nutze Unterhaltungsangebote im geparkten Fahrzeug.","seo.faqHeading":"Häufige Fragen","seo.faqFreeQuestion":"Ist EvPortal kostenlos?","seo.faqFreeAnswer":"Ja. Das Portal ist kostenlos und steht in keiner Verbindung zu Tesla. Einige verlinkte Websites können ein Konto oder Abonnement erfordern. Die jeweiligen Anbieter legen diese Bedingungen fest.","seo.faqPhoneQuestion":"Wie bereite ich meine Verknüpfungen auf dem Smartphone vor?","seo.faqPhoneAnswer":"Öffne EvPortal auf dem Smartphone und ordne deine Verknüpfungen. Unter Einstellungen bietet Smartphone eine QR-Übertragung in beide Richtungen. Auf dem empfangenden Bildschirm speichert Hinzufügen eine Sicherung. Wähle anschließend Meine Sicherungen und Wiederherstellen, um deren Inhalt zu verwenden. Der Empfang allein ersetzt deine Verknüpfungen nicht.","seo.faqOfflineQuestion":"Funktioniert EvPortal offline?","seo.faqOfflineAnswer":"Der Browser speichert deine Konfiguration lokal, EvPortal bietet jedoch keinen Offline-Modus. Zum Laden des Portals, Öffnen der Dienste und Übertragen von Sicherungen brauchst du eine Verbindung. Eine JSON-Datei bewahrt eine unabhängige Kopie für eine spätere Wiederherstellung auf.","seo.languages":"Verfügbare Sprachen","seo.operatingSystem":"Web","seo.browserRequirements":"Browser mit JavaScript und lokalem Speicher; HTTPS und Kryptografiefunktionen für QR-Übertragungen.","seo.featureFavorites":"Anpassbare Verknüpfungen und Favoriten","seo.featureDrag":"Reihenfolge durch Ziehen und Ablegen auf dem Touchscreen ändern","seo.featureQR":"Sicherungen per QR mit einem Smartphone übertragen","seo.featureBackup":"Sicherungen per Code, Link oder JSON-Datei","share.tooLarge":"Die Konfiguration überschreitet das 64-KB-Limit von Telegra.ph. Entferne Links oder verwende eine Datei.","share.noConnection":"In diesem Browser ist keine Verbindung verfügbar.","share.publishTimeout":"Zeitüberschreitung. Prüfe Meine Sicherungen, bevor du es erneut versuchst.","share.timeout":"Telegra.ph antwortet nicht. Versuche es später erneut.","share.networkError":"Verbindung zu Telegra.ph fehlgeschlagen. Prüfe deine Verbindung.","share.unavailable":"Telegra.ph ist nicht verfügbar. Versuche es später erneut.","share.badResponse":"Die Antwort von Telegra.ph ist unlesbar. Versuche es später erneut.","share.rateLimited":"Zu viele Anfragen. Warte vor einem erneuten Versuch.","share.invalidAccount":"Das Telegra.ph-Konto ist nicht verfügbar. Dein bisheriges Konto bleibt erhalten.","share.refused":"Telegra.ph hat diese Anfrage abgelehnt. Versuche es später erneut.","share.accountNotCreated":"Das Telegra.ph-Konto wurde nicht erstellt. Versuche es später erneut.","share.invalidTitle":"Ungültiger Freigabename (maximal 256 Zeichen).","share.sessionOnly":"Das Konto wird nur für diese Sitzung gespeichert. Bewahre den Freigabelink auf.","share.invalidPage":"Ungültige Seitenposition.","share.badHistory":"Die Telegra.ph-Liste ist unlesbar.","share.localPreview":"Lokale Vorschau: Verwende auf dem Telefon die Netzwerkadresse dieser Vorschau.","share.localPreviewOld":"Lokale Vorschau: Verwende zum Testen auf dem Smartphone eine erreichbare Netzwerkadresse dieser Vorschau. Die öffentliche Adresse zeigt die veröffentlichte Version, die von dieser Vorschau abweichen kann.","share.qrLabel":"Mit dem Telefon scannen, um diese EvPortal-Verknüpfungen zu öffnen","share.qrAddressUnavailable":"QR-Code für diese Adresse nicht verfügbar. Kopiere den Link.","share.qrUnavailable":"QR-Code nicht verfügbar. Kopiere den Link.","share.publishing":"Wird gespeichert…","share.publish":"Sicherung erstellen","share.created":"Sicherung erstellt.","share.copyUnavailable":"Kopieren ist nicht verfügbar. Markiere den Text, um ihn manuell zu kopieren.","share.linkCopied":"Link kopiert.","share.codeCopied":"Code kopiert.","share.import":"Importieren","share.importNamed":"{name} importieren","share.more":"Mehr anzeigen","share.empty":"Keine Sicherungen.","share.secureRandomUnavailable":"In diesem Browser lässt sich kein zufälliger Freigabelink erzeugen. Verwende einen aktuellen Browser.","share.unsafePath":"Telegra.ph hat die zufällige Kennung nicht beibehalten. Es wurde keine Konfiguration veröffentlicht.","share.deleteNamed":"{name} löschen","share.deleted":"Sicherung gelöscht.","share.noAccount":"In diesem Browser ist kein Sicherungskonto verfügbar.","state.fullURL":"Verwende eine vollständige Adresse mit https:// oder http://, ohne Leerzeichen.","state.invalidURL":"Diese Website-Adresse ist ungültig.","state.safeURL":"Links müssen HTTP oder HTTPS verwenden und dürfen keine Anmeldedaten enthalten.","state.invalidID":"Ungültige Kategorie- oder Verknüpfungs-ID.","state.shortcutObject":"Jede Verknüpfung muss ein Objekt sein.","state.duplicateShortcut":"Zwei Verknüpfungen haben dieselbe ID.","state.favoriteBoolean":"Der Favoritenwert muss ein boolescher Wert sein.","state.invalidColor":"Ungültige Verknüpfungsfarbe.","state.invalidCount":"Ungültiger Nutzungszähler der Verknüpfung.","state.invalidFormat":"Unbekanntes EvPortal-Format oder inkompatible Sicherungsversion.","state.tooManyCategories":"Die Sicherung enthält mehr als 50 Kategorien.","state.invalidCategory":"Ungültige Kategorie.","state.reservedCategory":"Reservierte oder doppelte Kategorie-ID.","state.invalidIcon":"Ungültiges Kategoriesymbol.","state.tooManyShortcuts":"Die Sicherung enthält mehr als 5.000 Verknüpfungen.","state.invalidTheme":"Ungültiges Design in der Sicherung.","state.missingCategory":"Die aktive Kategorie der Sicherung wurde nicht gefunden.","state.invalidOrder":"Ungültige Reihenfolge der Verknüpfungen.","state.backupObject":"Die Sicherung muss ein JSON-Objekt sein.","state.invalidLegacyList":"Die alte Kategorienliste ist ungültig.","state.duplicateCategories":"Die Liste enthält doppelte Kategorien.","state.foreignData":"Die Sicherung enthält Daten, die nicht zu EvPortal-Kategorien gehören.","state.invalidLegacyShortcut":"Ungültige alte Verknüpfung.","state.invalidShortcutOrder":"Ungültige Position der Verknüpfung.","state.largeFile":"Die Datei überschreitet die Grenze von 2 MB.","state.invalidJSON":"Die Datei enthält kein gültiges JSON.","state.storageUnavailable":"Speicher nicht verfügbar","state.invalidLegacyCategories":"Ungültige alte Kategorien","state.reservedLegacyCategory":"Reservierte alte Kategorie","state.invalidMove":"Ungültige Verschiebung der Verknüpfung.","state.telegraphLink":"Verwende einen telegra.ph-Link oder dessen Seiten-ID.","state.telegraphID":"Ungültige Telegra.ph-Seiten-ID.","state.portalLink":"Verwende einen EvPortal-Link mit genau einem Freigabecode.","state.invalidField":"{field} ungültig (maximal {max} Zeichen).","state.invalidFieldShort":"{field} ungültig.","state.urlLabel":"Website-Adresse","state.shortcutName":"Name der Verknüpfung","state.shortcutDescription":"Beschreibung der Verknüpfung","state.shortcutTag":"Schlagwort der Verknüpfung","state.categoryName":"Kategoriename","state.categoryDescription":"Kategoriebeschreibung","state.catalogVersion":"Katalogversion","state.telegraphIDLabel":"Telegra.ph-ID","state.shareCodeLabel":"Freigabelink oder Code","state.invalidCategoryShortcuts":"Die Verknüpfungen der Kategorie „{name}“ sind ungültig.","state.storageWarning":"Die lokale Sicherung ist nicht verfügbar oder unlesbar. Deine bisherigen Daten bleiben erhalten. Änderungen dieser Sitzung sind vorübergehend: Exportiere sie als JSON.","static.title":"EvPortal — Startseite und Favoriten für den Tesla-Browser","static.skip":"Zu den Verknüpfungen","static.tagline":" — Verknüpfungen für Tesla","static.fullscreen":"Vollbild","static.share":"Teilen","static.edit":"Bearbeiten","static.add":"Hinzufügen","static.searchLabel":"Verknüpfung suchen","static.dragInstructions":"Leertaste zum Aufnehmen, Pfeiltasten zum Verschieben, Eingabe zum Ablegen, Escape zum Abbrechen.","static.reorder":"Verknüpfungen ziehen, um sie neu anzuordnen.","static.video":"Kino","static.javascript":"Aktiviere JavaScript, um deine Verknüpfungen anzupassen.","static.help":"Hilfe","static.settings":"Einstellungen","static.language":"Sprache","static.createShortcut":"Verknüpfung erstellen","static.createCategory":"Kategorie erstellen","static.importTelegraph":"Sicherung importieren","static.theater":"Tesla-Kinomodus öffnen","static.moreOptions":"Weitere Optionen","static.exportJSON":"JSON-Datei speichern","static.reset":"Verknüpfungen zurücksetzen","static.about":"Hilfe & Infos","static.newCategory":"Neue Kategorie","static.name":"Name","static.icon":"Symbol","static.cancel":"Abbrechen","static.create":"Erstellen","static.newShortcut":"Neue Verknüpfung","static.website":"Website-Adresse","static.category":"Kategorie","static.restore":"Sicherung importieren","static.shareInput":"Code oder Link","static.load":"Meine Verknüpfungen laden","static.importJSON":"JSON-Datei importieren","static.jsonFile":"JSON-Datei","static.close":"Schließen","static.use":"Diese Verknüpfungen verwenden","static.shareTitle":"Sicherung exportieren","static.backupName":"Name (optional)","static.public":"Diese Sicherung wird öffentlich sein.","static.portalAddress":"EvPortal-Adresse","static.otherAddress":"EvPortal-Adresse auf dem anderen Bildschirm","static.publish":"Sicherung erstellen","static.scan":"Mit dem Smartphone scannen.","static.carCode":"Code zur Eingabe im Tesla","static.copyCode":"Code kopieren","static.importHint":"Tesla: Einstellungen → Sicherungen → Sicherung importieren.","static.copyLink":"Link kopieren","static.sharedLinks":"Meine Sicherungen","static.showBackups":"Aktualisieren","static.addShortcuts":"Katalog","static.searchService":"Dienst suchen","static.home":"EvPortal, Startseite","static.search":"Suchen","static.enterFullscreen":"Vollbild aktivieren","static.shareAccessible":"Sicherung exportieren","static.addAccessible":"Verknüpfung oder Kategorie hinzufügen","static.clearSearch":"Suche löschen","static.categories":"Kategorien","static.qrAccessible":"QR-Code zum Wiederherstellen deiner Verknüpfungen","static.searchPlaceholder":"Suchen…","static.tripsPlaceholder":"Meine Reisen","static.servicePlaceholder":"Mein Dienst","static.urlPlaceholder":"https://beispiel.de","static.codePlaceholder":"Code oder EvPortal-Link","static.defaultBackup":"Meine EvPortal-Verknüpfungen","static.description":"Gestalte deine Tesla-Startseite mit Links zu Ladeplanung, Musik und Wetter, Favoriten und Sicherungen. Kostenlos, mit QR-Übertragung per Smartphone.","static.socialTitle":"EvPortal — Startseite und Favoriten für den Tesla-Browser","static.socialDescription":"Gestalte deine Tesla-Startseite mit Links zu Ladeplanung, Musik und Wetter, Favoriten und Sicherungen. Kostenlos, mit QR-Übertragung per Smartphone.","static.previewAlt":"EvPortal: Verknüpfungen für Laden, Musik, Streaming und Navigation.","static.twitterDescription":"Gestalte deine Tesla-Startseite mit Links zu Ladeplanung, Musik und Wetter, Favoriten und Sicherungen. Kostenlos, mit QR-Übertragung per Smartphone.","static.twitterAlt":"EvPortal-Verknüpfungen im dunklen Modus.","static.nameBackup":"Sicherung benennen","static.undoTransfer":"Letzte Übertragung rückgängig machen","static.backups":"Sicherungen","static.exportBackup":"Sicherung exportieren","static.importBackup":"Sicherung importieren"},"it":{"app.startFailed":"Impossibile avviare il portale. Ricarica la pagina per riprovare.","app.storageUnavailable":"La memoria locale non è disponibile o è piena. Esporta la configurazione per conservare le modifiche.","app.storageRecovery":"Il backup locale non è disponibile o leggibile. I dati precedenti sono conservati. Esporta questa sessione prima di chiudere.","app.all":"Tutti","app.favorites":"Preferiti","app.move":"Sposta {name}","app.previousMoveCancelled":"Spostamento precedente annullato.","app.moveSelected":"{name} selezionato. Usa le frecce per spostare, Invio per rilasciare, Esc per annullare.","app.moveCancelled":"Spostamento annullato.","app.movePosition":"{name}, posizione {position} di {count}.","app.orderSaved":"Ordine salvato.","app.editCategory":"Modifica categoria {name}","app.deleteCategory":"Elimina categoria {name}","app.confirmDeleteCategory":"Eliminare «{name}» e i suoi {count} collegamenti?","app.categoryDeleted":"Categoria eliminata.","app.openNewTab":"{name} — nuova scheda","app.removeFavorite":"Rimuovi {name} dai preferiti","app.addFavorite":"Aggiungi {name} ai preferiti","app.favoriteAdded":"{name} aggiunto ai preferiti.","app.favoriteRemoved":"{name} rimosso dai preferiti.","app.editShortcut":"Modifica {name}","app.deleteShortcut":"Elimina {name}","app.confirmDeleteShortcut":"Eliminare il collegamento «{name}»?","app.shortcutDeleted":"Collegamento eliminato.","app.allShortcuts":"Tutti i collegamenti","app.allDescription":"Tutti i tuoi servizi e collegamenti in un unico posto.","app.searchResults":"Risultati di ricerca","app.searchDescription":"Ricerca di «{query}» in tutte le categorie.","app.myFavorites":"I miei preferiti","app.favoritesDescription":"I tuoi preferiti, sempre a portata di mano.","app.categoryDescription":"I tuoi collegamenti in questa categoria.","app.shortcutCount":"{count} collegamenti","app.shortcutCountOne":"{count} collegamento","app.noShortcuts":"Nessun collegamento trovato","app.emptyFavorites":"Tieni qui i tuoi preferiti","app.emptyCategory":"Una pagina tutta tua","app.searchHint":"Prova un altro nome, dominio o parola chiave.","app.favoriteHint":"Tocca la stella di un collegamento per aggiungerlo ai preferiti.","app.emptyHint":"Aggiungi collegamenti dal catalogo o creane di tuoi.","app.clearSearch":"Cancella ricerca","app.exploreCatalog":"Esplora catalogo","app.usageOrderHint":"Tutti: i più usati per primi. Per spostare un collegamento, apri la sua categoria o Preferiti.","app.dragHint":"Trascina i collegamenti per riordinarli.","app.finishEditing":"Termina modifiche","app.editShortcuts":"Modifica collegamenti","app.finish":"Fine","app.edit":"Modifica","app.categoryRequired":"Crea prima una categoria per aggiungere il collegamento.","app.editShortcutTitle":"Modifica collegamento","app.addShortcutTitle":"Aggiungi collegamento","app.save":"Salva","app.addShortcutSubmit":"Aggiungi collegamento","app.editCategoryTitle":"Modifica categoria","app.newCategory":"Nuova categoria","app.create":"Crea","app.categoryLimitHint":"Limite raggiunto: {max} categorie personali. Modifica o elimina una categoria esistente.","app.categoryCountHint":"{count}/{max} categorie personali · Massimo {length} caratteri.","app.categoryGone":"Questa categoria è stata eliminata in un’altra scheda. Chiudi il modulo e riprova.","app.categoryNameInvalid":"Inserisci un nome da 1 a {max} caratteri.","app.categoryLimit":"È stato raggiunto il limite di {max} categorie personali.","app.categoryDuplicate":"Esiste già una categoria con questo nome.","app.iconRequired":"Scegli una delle icone disponibili.","app.categoryDescriptionInvalid":"La descrizione può contenere al massimo 240 caratteri.","app.categoryChanged":"Categoria modificata.","app.categoryCreated":"Categoria creata.","app.selectCategory":"Scegli una categoria esistente.","app.shortcutGone":"Questo collegamento è stato eliminato in un’altra scheda. Chiudi il modulo e riprova.","app.shortcutLimit":"È stato raggiunto il limite di 5.000 collegamenti.","app.shortcutFieldsInvalid":"Controlla il nome (massimo 100 caratteri) e la descrizione (massimo 300).","app.shortcutDuplicate":"Questo link esiste già. Modifica le sue categorie per mostrarlo altrove.","app.shortcutChanged":"Collegamento modificato.","app.shortcutAdded":"Collegamento aggiunto.","app.alreadyPresentNamed":"Già presente: {name}","app.addNamed":"Aggiungi {name}","app.alreadyPresent":"Già presente","app.add":"Aggiungi","app.totalCategoryLimit":"È stato raggiunto il limite di 50 categorie.","app.addedToCategory":"{name} aggiunto a {category}.","app.noServices":"Nessun servizio corrisponde alla ricerca.","app.catalogComplete":"Gestisci le scorciatoie o crea le tue.","app.catalogHint":"Gestisci le scorciatoie o crea le tue.","app.sharedConfig":"Aggiunge ai tuoi backup senza modificare le scorciatoie.","app.importPreview":"Categorie: {categories} · Scorciatoie: {count}","app.fileTooLarge":"Il file supera il limite di 2 MB.","app.loadingConfig":"Caricamento configurazione…","app.telegraphNotReturned":"Telegra.ph non ha restituito questa pagina. Controlla il codice.","app.pageTooLarge":"Questa pagina è troppo grande per essere importata.","app.telegraphUnreadable":"Questa pagina Telegra.ph non è stata trovata o non è leggibile.","app.noConfigInPage":"La pagina non contiene una configurazione EvPortal.","app.connectionTimeout":"La connessione è scaduta. Riprova tra poco.","app.imported":"Configurazione importata.","app.exportReady":"Esportazione JSON pronta. Conserva il file per ritrovare i collegamenti su un altro dispositivo.","app.exportFailed":"Impossibile preparare il file di backup.","app.confirmReset":"Ripristinare il catalogo iniziale? I collegamenti personali e i preferiti saranno sostituiti. Esportali prima di continuare.","app.catalogReset":"Catalogo iniziale ripristinato.","app.switchToLight":"Passa alla modalità chiara","app.switchToDark":"Passa alla modalità scura","app.fullscreenReload":"Ricarica la pagina per attivare lo schermo intero.","app.fullscreenUnavailable":"Lo schermo intero non è disponibile in questo browser.","app.exitFullscreen":"Esci da schermo intero","app.enterFullscreen":"Apri a schermo intero","app.syncedFromTab":"Le modifiche di un’altra scheda sono state caricate.","app.unreadableTabState":"Il backup ricevuto da un’altra scheda non è leggibile. La sessione attuale è conservata.","app.legacyRecovered":"I collegamenti precedenti sono stati recuperati.","app.catalogUpdated":"Sono stati aggiornati {count} indirizzi del catalogo.","app.invalidConfig":"Questa configurazione non è valida o è incompatibile. Controlla il file o il codice e riprova.","app.invalidShortcutURL":"Usa un indirizzo completo che inizi con https:// o http://, senza spazi o credenziali.","app.invalidImportCode":"Usa un codice Telegra.ph, un indirizzo telegra.ph o un link di condivisione EvPortal valido.","app.connectionFailed":"Connessione impossibile. Controlla la rete e riprova.","app.icon.all":"Griglia","app.icon.favorites":"Stella","app.icon.cinema":"Video","app.icon.music":"Musica","app.icon.tv":"Televisione","app.icon.charging":"Ricarica","app.icon.games":"Giochi","app.icon.navigation":"Percorsi","app.icon.social":"Messaggi","app.icon.news":"Notizie","app.icon.weather":"Meteo","app.icon.productivity":"Strumenti","app.icon.folder":"Cartella","app.otherCategories":"Altre categorie","app.moreIcons":"Altre icone","app.remove":"Rimuovi","app.removeCatalogNamed":"Rimuovi {name}","app.catalogRemoved":"{name} rimosso.","app.icon.home":"Casa","app.icon.car":"Auto","app.icon.parking":"Parcheggio","app.icon.map":"Mappa","app.icon.globe":"Globo","app.icon.compass":"Bussola","app.icon.coffee":"Caffè","app.icon.food":"Cibo","app.icon.shopping":"Acquisti","app.icon.heart":"Cuore","app.icon.camera":"Fotocamera","app.icon.tools":"Fai da te","backup.links":"Codice o link","backup.phone":"Telefono","backup.library":"I miei backup","backup.create":"Crea","backup.add":"Aggiungi","backup.send":"Invia","backup.receive":"Ricevi","backup.restore":"Ripristina","backup.createTitle":"Crea un codice o un link","backup.addTitle":"Aggiungi un backup","backup.restoreTitle":"Ripristina un backup","backup.chooseTitle":"Scegli un backup","backup.code":"Codice","backup.link":"Link EvPortal","backup.copyCode":"Copia codice","backup.addHint":"Aggiunge ai tuoi backup senza modificare le scorciatoie.","backup.added":"Backup aggiunto.","backup.restored":"Backup ripristinato.","backup.local":"Su questo dispositivo","backup.online":"Online","backup.empty":"Nessun backup salvato.","backup.receivedTitle":"Scorciatoie ricevute","backup.fileTitle":"Backup importato","backup.deleteNamed":"Elimina «{name}»","backup.deleted":"Backup eliminato.","backup.savedSummary":"Categorie: {categories} · Scorciatoie: {count}","backup.load":"Verifica","backup.restoreHint":"Sostituisce le scorciatoie di questo dispositivo.","backup.selected":"Backup selezionato","backup.choose":"Scegli","backup.localCopy":"Copia salvata su questo dispositivo.","backup.undoRestore":"Annulla l’ultimo ripristino","backup.storageUnavailable":"Lo spazio per i backup non è disponibile o è pieno.","backup.invalidLibrary":"La libreria dei backup non è leggibile. I dati esistenti sono conservati.","backup.invalidBackup":"Questo backup non è valido.","backup.limit":"Puoi conservare fino a {max} backup su questo dispositivo.","backup.tooLarge":"Questo backup supera {max} MB.","backup.missing":"Questo backup non è più disponibile.","backup.retry":"Riprova","category.all":"Tutti","category.favorites":"Preferiti","category.cinema":"Video","category.music":"Musica","category.tv":"TV","category.charging":"Ricarica","category.games":"Giochi","category.navigation":"Percorsi","category.social":"Social","category.news":"Notizie","category.weather":"Meteo","category.productivity":"Strumenti","category.folder":"Cartella","help.title":"Guida EvPortal — Browser Tesla, scorciatoie e backup","help.description":"Apri EvPortal nel browser Tesla, organizza i preferiti e trasferisci backup tramite codice, link o QR. Scopri come iniziare e ripristinare le scorciatoie.","help.language":"Lingua","help.back":"Torna alle scorciatoie","help.heading":"Guida a EvPortal per il browser Tesla","help.intro":"Tocca una scorciatoia per aprire il servizio in una nuova scheda. Il tema scuro è predefinito; la tua scelta tra tema chiaro e scuro viene poi conservata. Le otto lingue sono disponibili in Impostazioni, con i nomi originali e le bandiere; l’arabo viene visualizzato da destra a sinistra.","help.organizeHeading":"Organizzare le scorciatoie","help.ranking":"Tutti mostra per prime le scorciatoie aperte più spesso. A parità di aperture, mantiene il tuo ordine manuale. La classifica resta salvata dopo il ricaricamento.","help.dragging":"In una categoria o nei Preferiti, tocca Modifica e sposta le scorciatoie usando le maniglie. La stella aggiunge un preferito e la matita permette di modificare. Tocca Fine quando hai terminato. Tutti mantiene la classifica automatica.","help.keyboard":"Con la tastiera, seleziona una maniglia, premi Spazio, sposta con le frecce e conferma con Invio. Esc annulla.","help.addHeading":"Aggiungere una scorciatoia o una categoria","help.adding":"Il pulsante «+» apre lo stesso catalogo per tutti. Espandi o comprimi una categoria, poi usa Aggiungi o Rimuovi su un servizio. Crea un collegamento e Crea una categoria si trovano in cima al catalogo. La lente cerca in tutte le scorciatoie.","help.categories":"Crea fino a cinque categorie personali con nomi di massimo 16 caratteri e un’icona a scelta. Altre icone apre le opzioni aggiuntive. La matita permette di modificare una categoria. Le categorie precedenti che superano questi limiti vengono conservate. Le categorie visibili si dispongono senza scorrimento orizzontale.","help.transferHeading":"Telefono: inviare o ricevere","help.stepPrepare":"In Impostazioni → Backup → Telefono, scegli Invia o Ricevi.","help.stepPublish":"Scansiona il QR visualizzato con il telefono.","help.stepCode":"Per inviare dal telefono, scegli le sue scorciatoie o un backup e tocca Invia.","help.stepImport":"Sullo schermo che riceve, tocca Aggiungi per conservare il backup su quel dispositivo.","help.stepApply":"Per usarne il contenuto, apri I miei backup → Ripristina.","help.qr":"Il QR serve per i trasferimenti con il telefono. Creare un codice o un link non mostra un QR.","help.snapshot":"Il trasferimento è cifrato e valido per cinque minuti quando il servizio è disponibile. Invia un’istantanea senza sincronizzazione automatica. Ricevere un backup non sostituisce le tue scorciatoie.","help.public":"In Impostazioni → Backup → Codice o link, Crea prepara un codice e un link EvPortal da copiare. Aggiungi accetta entrambi e salva una copia locale dopo la verifica. I file JSON restano disponibili in Altre opzioni. La pagina Telegra.ph creata è pubblica; la copia locale e la pagina online sono distinte.","help.fullscreenHeading":"Schermo intero Tesla","help.fullscreen":"A veicolo parcheggiato, tocca Schermo intero. Su YouTube, scegli Vai al sito o Go to site per tornare a EvPortal in modalità Cinema. Le scorciatoie richiedono una nuova scheda, il cui comportamento dipende dal browser del veicolo.","help.fullscreenFallback":"Se la Tesla non viene riconosciuta, scegli Apri la modalità Cinema Tesla nelle impostazioni. Sul computer, il pulsante usa lo schermo intero normale. Il reindirizzamento può cambiare con gli aggiornamenti del veicolo o di YouTube.","help.compatibility":"Aprire un sito non garantisce la riproduzione video: paese, account, abbonamento e browser possono limitarla. Usa l’intrattenimento a veicolo parcheggiato.","help.teslaManual":"Manuale Tesla","help.myTesla":"Metodo descritto da myTesla","help.storageHeading":"Ripristinare un backup","help.storage":"In Impostazioni → Backup → I miei backup → Ripristina, scegli un backup in Su questo dispositivo o Online e controllane il contenuto. Solo Ripristina sostituisce le scorciatoie. Altre opzioni in Impostazioni permette di annullare l’ultimo ripristino. Aggiungere un codice, un link, un file o un trasferimento QR salva un backup senza applicarlo. Ogni browser conserva il proprio elenco locale.","help.previewHeading":"Provare un’anteprima locale","help.preview":"Il QR usa l’indirizzo del portale aperto. Su un telefono, localhost o 127.0.0.1 indica il telefono stesso. Per provare tra dispositivi, entrambi devono poter accedere al portale e al servizio di trasferimento tramite HTTPS. I codici e i link dei backup usano l’indirizzo pubblico di EvPortal.","help.privacyHeading":"Informazioni e privacy","help.privacy":"EvPortal è gratuito e non è affiliato a Tesla. Loghi e traduzioni sono inclusi nel sito. I contatori delle aperture restano nella tua configurazione, senza servizi di analisi. Telegra.ph viene contattato su tua richiesta; il token dell’account resta separato dalla condivisione. I siti aperti applicano le proprie politiche.","help.source":"Codice sorgente","help.report":"Segnala un problema","help.license":"EvPortal · Licenza MIT","help.backupHeading":"Codice o link","help.preferencesHeading":"Scegliere la schermata iniziale","help.preferences":"In Impostazioni → Schermata iniziale, scegli le categorie visibili e se aprire i preferiti all’avvio. Queste preferenze restano su questo dispositivo e non vengono incluse nei backup o nei trasferimenti QR. Il catalogo si gestisce con il pulsante «+».","help.sharedServices":"Un servizio può apparire in più categorie con un solo stato di preferito e un solo contatore; Tutti lo mostra una volta sola. In Modifica, apri Altre categorie per scegliere dove appare. Eliminare una categoria conserva i servizi presenti anche in un’altra categoria.","pair.receiveButton":"Ricevi dal mio telefono","pair.receiveTitle":"Ricevi dal mio telefono","pair.scanHint":"Scansiona questo codice QR con il telefono.","pair.qrAccessible":"Codice QR per trasferire a questo schermo","pair.apply":"Aggiungi","pair.newQR":"Nuovo codice QR","pair.sendTitle":"Invia alla Tesla","pair.send":"Invia le mie scorciatoie","pair.chooseBackup":"Scegli un backup","pair.sendHint":"Le scorciatoie di questo telefono saranno proposte sull’altro schermo.","pair.privateHint":"Trasferimento cifrato, valido per 5 minuti.","pair.preparing":"Preparazione del codice QR…","pair.waiting":"In attesa del telefono · {time}","pair.retrying":"Riconnessione… · {time}","pair.summary":"{categories} categorie · {count} scorciatoie","pair.ready":"Backup ricevuto. Aggiungilo ai tuoi backup.","pair.sending":"Invio in corso…","pair.sent":"Inviato. Aggiungi il backup sull’altro schermo.","pair.applied":"Backup aggiunto.","pair.expired":"Questo codice QR è scaduto. Creane uno nuovo sull’altro schermo.","pair.receiverExpired":"Questo codice QR è scaduto. Creane uno nuovo.","pair.notConfigured":"Il trasferimento diretto non è ancora disponibile. Usa un backup Telegra.ph.","pair.unsupported":"Questo browser non supporta il trasferimento cifrato. Usa un backup Telegra.ph.","pair.invalidLink":"Questo codice QR di trasferimento non è valido. Scansionane uno nuovo.","pair.invalidResponse":"Il servizio di trasferimento ha restituito una risposta non valida. Riprova con un nuovo codice QR.","pair.networkError":"Connessione impossibile. Controlla la rete e riprova.","pair.timeout":"La connessione è scaduta. Riprova.","pair.unauthorized":"Questo trasferimento non è più autorizzato. Scansiona un nuovo codice QR.","pair.alreadySent":"Questo codice QR ha già ricevuto delle scorciatoie. Creane uno nuovo per ricominciare.","pair.tooLarge":"Questa configurazione è troppo grande per il trasferimento diretto. Esportala in un file JSON.","pair.invalidConfig":"La configurazione ricevuta non è valida. Le scorciatoie attuali vengono conservate.","pair.decryptFailed":"Impossibile leggere questo trasferimento. Crea un nuovo codice QR.","pair.applyFailed":"Impossibile aggiungere questo backup. Riprova.","pair.serviceUnavailable":"Il servizio di trasferimento è temporaneamente indisponibile. Riprova tra poco.","pair.stepScan":"Scansiona","pair.stepSend":"Invia","pair.stepApply":"Aggiungi","pair.storageUnavailable":"Impossibile salvare su questo schermo. Le scorciatoie attuali vengono conservate.","pair.undone":"Le scorciatoie precedenti sono state ripristinate.","pair.deliveryUnknown":"Controlla l’altro schermo: le tue scorciatoie potrebbero essere già state ricevute. Altrimenti, crea un nuovo codice QR.","pair.offerButton":"Invia al mio telefono","pair.offerTitle":"Le mie scorciatoie sul telefono","pair.offerScanHint":"Scansiona questo codice QR con il telefono.","pair.offerPreparing":"Preparazione dell’invio…","pair.offerWaiting":"Da recuperare sul telefono · {time}","pair.offerExpired":"Questo codice QR è scaduto. Creane uno nuovo.","pair.offerReady":"Backup pronto per il recupero.","pair.downloadTitle":"Ricevi un backup","pair.downloading":"Recupero del backup…","pair.added":"Backup aggiunto ai tuoi backup.","pair.addFailed":"Impossibile aggiungere questo backup. Riprova.","pair.downloadExpired":"Questo trasferimento è scaduto o è già stato recuperato. Crea un nuovo codice QR sull’altro schermo.","pair.offerQRAccessible":"Codice QR per ricevere questo backup sul telefono","prefs.title":"Schermata iniziale","prefs.homeFavorites":"Apri sui miei preferiti","prefs.visibleCategories":"Categorie visibili","prefs.saveFailed":"Le preferenze sono salvate solo per questa sessione.","prefs.invalid":"Queste preferenze non sono valide.","seo.introHeading":"Un portale di scorciatoie per la tua Tesla","seo.intro":"EvPortal è un portale gratuito e indipendente che riunisce i tuoi siti preferiti in una pagina pensata per il browser Tesla. Puoi usarlo anche nel browser del telefono o del computer. Le icone grandi aprono i servizi scelti senza riempire la schermata iniziale di testi o widget. Puoi personalizzare le scorciatoie, le categorie e il loro ordine, quindi scegliere un tema chiaro o scuro.","seo.startHeading":"Iniziare dal browser del veicolo","seo.start":"A veicolo parcheggiato, apri l’indirizzo di EvPortal nel browser dell’auto. Salvalo tra i preferiti del browser, se questa opzione è disponibile, per ritrovarlo facilmente. Non serve installare un’app né accedere a un account Tesla per aprire il portale. Il pulsante «+» apre il catalogo per gestire le scorciatoie. In Impostazioni, scegli la lingua e la schermata iniziale. Le preferenze restano su questo dispositivo; un backup permette di conservare o trasferire le scorciatoie.","seo.chargingHeading":"Ritrovare i tuoi servizi durante una ricarica","seo.charging":"Aggiungi link ai tuoi strumenti per pianificare viaggi o ricariche, alle stazioni radio, alla musica e al meteo. Il catalogo è uguale per tutti, con categorie espandibili; puoi anche inserire un indirizzo personale. Ogni scorciatoia apre il sito del servizio, con le sue condizioni di accesso. EvPortal non controlla la ricarica e non invia comandi al veicolo. Consulta i contenuti di intrattenimento a veicolo parcheggiato.","seo.faqHeading":"Domande frequenti","seo.faqFreeQuestion":"EvPortal è gratuito?","seo.faqFreeAnswer":"Sì. Il portale è gratuito e non è affiliato a Tesla. Alcuni siti collegati possono richiedere un account o un abbonamento; queste condizioni dipendono dal servizio.","seo.faqPhoneQuestion":"Come preparo le scorciatoie sul telefono?","seo.faqPhoneAnswer":"Apri EvPortal sul telefono e organizza le scorciatoie. In Impostazioni, Telefono permette trasferimenti QR in entrambe le direzioni. Sullo schermo che riceve, Aggiungi conserva un backup. Per usarne il contenuto, scegli poi I miei backup e Ripristina. La sola ricezione non sostituisce le scorciatoie.","seo.faqOfflineQuestion":"EvPortal funziona senza connessione?","seo.faqOfflineAnswer":"Il browser conserva la configurazione localmente, ma EvPortal non offre una modalità offline. Serve una connessione per caricare il portale, aprire i servizi e trasferire backup. Un file JSON permette di conservare una copia indipendente da ripristinare in seguito.","seo.languages":"Lingue disponibili","seo.operatingSystem":"Web","seo.browserRequirements":"Browser con JavaScript e archiviazione locale; HTTPS e funzioni crittografiche per i trasferimenti QR.","seo.featureFavorites":"Scorciatoie e preferiti personalizzabili","seo.featureDrag":"Riordinamento tramite trascinamento sul touchscreen","seo.featureQR":"Trasferimento di backup tramite QR con un telefono","seo.featureBackup":"Backup tramite codice, link o file JSON","share.tooLarge":"La configurazione supera il limite di 64 KB di Telegra.ph. Riduci i link o usa un file.","share.noConnection":"Connessione non disponibile in questo browser.","share.publishTimeout":"Tempo scaduto. Controlla I miei backup prima di riprovare.","share.timeout":"Telegra.ph non risponde. Riprova più tardi.","share.networkError":"Impossibile connettersi a Telegra.ph. Controlla la connessione.","share.unavailable":"Telegra.ph non è disponibile. Riprova più tardi.","share.badResponse":"Risposta Telegra.ph illeggibile. Riprova più tardi.","share.rateLimited":"Troppe richieste. Attendi prima di riprovare.","share.invalidAccount":"L’account Telegra.ph non è disponibile. Il tuo account precedente è conservato.","share.refused":"Telegra.ph ha rifiutato la richiesta. Riprova più tardi.","share.accountNotCreated":"L’account Telegra.ph non è stato creato. Riprova più tardi.","share.invalidTitle":"Nome della condivisione non valido (massimo 256 caratteri).","share.sessionOnly":"L’account è conservato solo per questa sessione. Salva il link di condivisione.","share.invalidPage":"Posizione della pagina non valida.","share.badHistory":"Elenco Telegra.ph illeggibile.","share.localPreview":"Anteprima locale: sul telefono usa l’indirizzo di rete di questa anteprima.","share.localPreviewOld":"Anteprima locale: per provarla sul telefono, usa un indirizzo di rete accessibile di questa anteprima. L’indirizzo pubblico mostra la versione pubblicata, che può differire da questa anteprima.","share.qrLabel":"Scansiona con un telefono per aprire questi collegamenti EvPortal","share.qrAddressUnavailable":"Codice QR non disponibile per questo indirizzo. Copia il link.","share.qrUnavailable":"Codice QR non disponibile. Copia il link.","share.publishing":"Salvataggio…","share.publish":"Crea il mio backup","share.created":"Backup creato.","share.copyUnavailable":"Copia non disponibile. Seleziona il testo per copiarlo manualmente.","share.linkCopied":"Link copiato.","share.codeCopied":"Codice copiato.","share.import":"Importa","share.importNamed":"Importa {name}","share.more":"Mostra altro","share.empty":"Nessun backup.","share.secureRandomUnavailable":"Impossibile generare un link di condivisione casuale in questo browser. Usa un browser recente.","share.unsafePath":"Telegra.ph non ha mantenuto l’identificativo casuale. Non è stata pubblicata alcuna configurazione.","share.deleteNamed":"Elimina {name}","share.deleted":"Backup eliminato.","share.noAccount":"Nessun account di backup disponibile in questo browser.","state.fullURL":"Usa un indirizzo completo che inizi con https:// o http://, senza spazi.","state.invalidURL":"Questo indirizzo non è valido.","state.safeURL":"I link devono usare HTTP o HTTPS, senza credenziali nell’indirizzo.","state.invalidID":"Identificativo della categoria o del collegamento non valido.","state.shortcutObject":"Ogni collegamento deve essere un oggetto.","state.duplicateShortcut":"Due collegamenti hanno lo stesso identificativo.","state.favoriteBoolean":"Il valore del preferito deve essere booleano.","state.invalidColor":"Colore del collegamento non valido.","state.invalidCount":"Contatore di utilizzo del collegamento non valido.","state.invalidFormat":"Formato EvPortal non riconosciuto o versione del backup incompatibile.","state.tooManyCategories":"Il backup supera le 50 categorie.","state.invalidCategory":"Categoria non valida.","state.reservedCategory":"Identificativo della categoria riservato o duplicato.","state.invalidIcon":"Icona della categoria non valida.","state.tooManyShortcuts":"Il backup supera i 5.000 collegamenti.","state.invalidTheme":"Tema del backup non valido.","state.missingCategory":"La categoria attiva del backup non è stata trovata.","state.invalidOrder":"Ordine dei collegamenti non valido.","state.backupObject":"Il backup deve essere un oggetto JSON.","state.invalidLegacyList":"L’elenco delle vecchie categorie non è valido.","state.duplicateCategories":"L’elenco contiene categorie duplicate.","state.foreignData":"Il backup contiene dati estranei alle categorie EvPortal.","state.invalidLegacyShortcut":"Vecchio collegamento non valido.","state.invalidShortcutOrder":"Posizione del collegamento non valida.","state.largeFile":"Il file supera il limite di 2 MB.","state.invalidJSON":"Il file non contiene JSON valido.","state.storageUnavailable":"Archiviazione non disponibile","state.invalidLegacyCategories":"Vecchie categorie non valide","state.reservedLegacyCategory":"Vecchia categoria riservata","state.invalidMove":"Spostamento del collegamento non valido.","state.telegraphLink":"Usa un link telegra.ph o l’identificativo della pagina.","state.telegraphID":"Identificativo della pagina Telegra.ph non valido.","state.portalLink":"Usa un link EvPortal contenente un solo codice di condivisione.","state.invalidField":"{field} non valido (massimo {max} caratteri).","state.invalidFieldShort":"{field} non valido.","state.urlLabel":"Indirizzo del sito","state.shortcutName":"Nome del collegamento","state.shortcutDescription":"Descrizione del collegamento","state.shortcutTag":"Etichetta del collegamento","state.categoryName":"Nome della categoria","state.categoryDescription":"Descrizione della categoria","state.catalogVersion":"Versione del catalogo","state.telegraphIDLabel":"Identificativo Telegra.ph","state.shareCodeLabel":"Link o codice di condivisione","state.invalidCategoryShortcuts":"I collegamenti della categoria «{name}» non sono validi.","state.storageWarning":"Il backup locale non è disponibile o è illeggibile. I dati precedenti sono conservati. Le modifiche di questa sessione sono temporanee: esportale in JSON.","static.title":"EvPortal — Scorciatoie per il browser Tesla","static.skip":"Vai ai collegamenti","static.tagline":" — collegamenti per Tesla","static.fullscreen":"Schermo intero","static.share":"Condividi","static.edit":"Modifica","static.add":"Aggiungi","static.searchLabel":"Cerca un collegamento","static.dragInstructions":"Spazio per selezionare, frecce per spostare, Invio per rilasciare, Esc per annullare.","static.reorder":"Trascina i collegamenti per riordinarli.","static.video":"Cinema","static.javascript":"Attiva JavaScript per personalizzare i collegamenti.","static.help":"Aiuto","static.settings":"Impostazioni","static.language":"Lingua","static.createShortcut":"Crea un collegamento","static.createCategory":"Crea una categoria","static.importTelegraph":"Importa un backup","static.theater":"Apri la modalità Cinema Tesla","static.moreOptions":"Altre opzioni","static.exportJSON":"Salva un file JSON","static.reset":"Ripristina i collegamenti","static.about":"Aiuto e informazioni","static.newCategory":"Nuova categoria","static.name":"Nome","static.icon":"Icona","static.cancel":"Annulla","static.create":"Crea","static.newShortcut":"Nuovo collegamento","static.website":"Indirizzo del sito","static.category":"Categoria","static.restore":"Importa un backup","static.shareInput":"Codice o link","static.load":"Carica i miei collegamenti","static.importJSON":"Importa un file JSON","static.jsonFile":"File JSON","static.close":"Chiudi","static.use":"Usa questi collegamenti","static.shareTitle":"Esporta un backup","static.backupName":"Nome (facoltativo)","static.public":"Questo backup sarà pubblico.","static.portalAddress":"Indirizzo di EvPortal","static.otherAddress":"Indirizzo di EvPortal sull’altro schermo","static.publish":"Crea il mio backup","static.scan":"Scansiona con il telefono.","static.carCode":"Codice da inserire nella Tesla","static.copyCode":"Copia codice","static.importHint":"Tesla: Impostazioni → Backup → Importa un backup.","static.copyLink":"Copia link","static.sharedLinks":"I miei backup","static.showBackups":"Aggiorna","static.addShortcuts":"Catalogo","static.searchService":"Cerca un servizio","static.home":"EvPortal, home","static.search":"Cerca","static.enterFullscreen":"Attiva schermo intero","static.shareAccessible":"Esporta un backup","static.addAccessible":"Aggiungi un collegamento o una categoria","static.clearSearch":"Cancella ricerca","static.categories":"Categorie","static.qrAccessible":"Codice QR per recuperare i tuoi collegamenti","static.searchPlaceholder":"Cerca…","static.tripsPlaceholder":"I miei viaggi","static.servicePlaceholder":"Il mio servizio","static.urlPlaceholder":"https://esempio.it","static.codePlaceholder":"Codice o link EvPortal","static.defaultBackup":"I miei collegamenti EvPortal","static.description":"Personalizza il tuo portale Tesla con scorciatoie per ricarica, musica e meteo, preferiti e backup. Gratuito, con trasferimenti QR dal telefono.","static.socialTitle":"EvPortal — Scorciatoie per il browser Tesla","static.socialDescription":"Personalizza il tuo portale Tesla con scorciatoie per ricarica, musica e meteo, preferiti e backup. Gratuito, con trasferimenti QR dal telefono.","static.previewAlt":"EvPortal: collegamenti per ricarica, musica, streaming e navigazione.","static.twitterDescription":"Personalizza il tuo portale Tesla con scorciatoie per ricarica, musica e meteo, preferiti e backup. Gratuito, con trasferimenti QR dal telefono.","static.twitterAlt":"I collegamenti EvPortal in modalità scura.","static.nameBackup":"Assegna un nome al backup","static.undoTransfer":"Annulla l’ultimo trasferimento","static.backups":"Backup","static.exportBackup":"Esporta un backup","static.importBackup":"Importa un backup"},"ru":{"app.startFailed":"Не удалось запустить портал. Обновите страницу.","app.storageUnavailable":"Локальное хранилище недоступно или заполнено. Экспортируйте настройки, чтобы сохранить изменения.","app.storageRecovery":"Локальная копия недоступна или не читается. Прежние данные сохранены. Экспортируйте сеанс перед закрытием портала.","app.all":"Все","app.favorites":"Избранное","app.move":"Переместить {name}","app.previousMoveCancelled":"Предыдущее перемещение отменено.","app.moveSelected":"Выбрано: {name}. Стрелки — переместить, Enter — разместить, Escape — отменить.","app.moveCancelled":"Перемещение отменено.","app.movePosition":"{name}, позиция {position} из {count}.","app.orderSaved":"Порядок сохранён.","app.editCategory":"Изменить категорию {name}","app.deleteCategory":"Удалить категорию {name}","app.confirmDeleteCategory":"Удалить «{name}» и все ссылки ({count}) в этой категории?","app.categoryDeleted":"Категория удалена.","app.openNewTab":"{name} — новая вкладка","app.removeFavorite":"Убрать {name} из избранного","app.addFavorite":"Добавить {name} в избранное","app.favoriteAdded":"{name} добавлено в избранное.","app.favoriteRemoved":"{name} удалено из избранного.","app.editShortcut":"Изменить {name}","app.deleteShortcut":"Удалить {name}","app.confirmDeleteShortcut":"Удалить ссылку «{name}»?","app.shortcutDeleted":"Ссылка удалена.","app.allShortcuts":"Все ссылки","app.allDescription":"Все сервисы и ссылки в одном месте.","app.searchResults":"Результаты поиска","app.searchDescription":"Поиск «{query}» во всех категориях.","app.myFavorites":"Моё избранное","app.favoritesDescription":"Всё нужное всегда под рукой.","app.categoryDescription":"Ваши ссылки в этой категории.","app.shortcutCount":"Ссылки: {count}","app.shortcutCountOne":"Ссылок: {count}","app.noShortcuts":"Ссылки не найдены","app.emptyFavorites":"Сохраните здесь нужные ссылки","app.emptyCategory":"Создайте свою страницу","app.searchHint":"Попробуйте другое название, домен или ключевое слово.","app.favoriteHint":"Нажмите на звезду ссылки, чтобы добавить её в избранное.","app.emptyHint":"Добавьте ссылки из каталога или создайте свои.","app.clearSearch":"Очистить поиск","app.exploreCatalog":"Открыть каталог","app.usageOrderHint":"Все: сначала часто используемые. Для перемещения откройте категорию ссылки или Избранное.","app.dragHint":"Перетаскивайте ссылки, чтобы изменить порядок.","app.finishEditing":"Завершить редактирование","app.editShortcuts":"Изменить ссылки","app.finish":"Готово","app.edit":"Изменить","app.categoryRequired":"Сначала создайте категорию для ссылки.","app.editShortcutTitle":"Изменить ссылку","app.addShortcutTitle":"Добавить ссылку","app.save":"Сохранить","app.addShortcutSubmit":"Добавить ссылку","app.editCategoryTitle":"Изменить категорию","app.newCategory":"Новая категория","app.create":"Создать","app.categoryLimitHint":"Достигнут лимит: {max} личных категорий. Измените или удалите существующую категорию.","app.categoryCountHint":"Личных категорий: {count}/{max} · До {length} символов.","app.categoryGone":"Категория удалена в другой вкладке. Закройте форму и повторите попытку.","app.categoryNameInvalid":"Введите название длиной от 1 до {max} символов.","app.categoryLimit":"Достигнут лимит личных категорий: {max}.","app.categoryDuplicate":"Категория с таким названием уже существует.","app.iconRequired":"Выберите один из предложенных значков.","app.categoryDescriptionInvalid":"Описание не должно превышать 240 символов.","app.categoryChanged":"Категория изменена.","app.categoryCreated":"Категория создана.","app.selectCategory":"Выберите существующую категорию.","app.shortcutGone":"Ссылка удалена в другой вкладке. Закройте форму и повторите попытку.","app.shortcutLimit":"Достигнут лимит в 5 000 ссылок.","app.shortcutFieldsInvalid":"Проверьте название (до 100 символов) и описание (до 300).","app.shortcutDuplicate":"Эта ссылка уже существует. Измените её категории, чтобы показывать её в других разделах.","app.shortcutChanged":"Ссылка изменена.","app.shortcutAdded":"Ссылка добавлена.","app.alreadyPresentNamed":"Уже добавлено: {name}","app.addNamed":"Добавить {name}","app.alreadyPresent":"Уже добавлено","app.add":"Добавить","app.totalCategoryLimit":"Достигнут лимит в 50 категорий.","app.addedToCategory":"{name} добавлено в категорию «{category}».","app.noServices":"По этому запросу ничего не найдено.","app.catalogComplete":"Управляйте ярлыками или создавайте свои.","app.catalogHint":"Управляйте ярлыками или создавайте свои.","app.sharedConfig":"Добавляет копию в список, не изменяя ваши ярлыки.","app.importPreview":"Категории: {categories} · Ярлыки: {count}","app.fileTooLarge":"Файл превышает лимит в 2 МБ.","app.loadingConfig":"Загрузка настроек…","app.telegraphNotReturned":"Telegra.ph не вернул эту страницу. Проверьте её код.","app.pageTooLarge":"Эта страница слишком велика для импорта.","app.telegraphUnreadable":"Страница Telegra.ph не найдена или не читается.","app.noConfigInPage":"Страница не содержит настроек EvPortal.","app.connectionTimeout":"Время ожидания истекло. Повторите попытку чуть позже.","app.imported":"Настройки импортированы.","app.exportReady":"Экспорт JSON готов. Сохраните файл для переноса ссылок на другое устройство.","app.exportFailed":"Не удалось подготовить файл резервной копии.","app.confirmReset":"Восстановить исходный каталог? Ваши ссылки и избранное будут заменены. Экспортируйте их перед продолжением.","app.catalogReset":"Исходный каталог восстановлен.","app.switchToLight":"Включить светлую тему","app.switchToDark":"Включить тёмную тему","app.fullscreenReload":"Обновите страницу, чтобы включить полноэкранный режим.","app.fullscreenUnavailable":"Полноэкранный режим недоступен в этом браузере.","app.exitFullscreen":"Выйти из полноэкранного режима","app.enterFullscreen":"Включить полноэкранный режим","app.syncedFromTab":"Изменения из другой вкладки загружены.","app.unreadableTabState":"Резервная копия из другой вкладки не читается. Текущий сеанс сохранён.","app.legacyRecovered":"Ваши прежние ссылки восстановлены.","app.catalogUpdated":"Обновлено адресов в каталоге: {count}.","app.invalidConfig":"Настройки недействительны или несовместимы. Проверьте файл или код и повторите попытку.","app.invalidShortcutURL":"Используйте полный адрес с https:// или http:// без пробелов и учётных данных.","app.invalidImportCode":"Используйте код Telegra.ph, адрес telegra.ph или действительную ссылку обмена EvPortal.","app.connectionFailed":"Не удалось подключиться. Проверьте сеть и повторите попытку.","app.icon.all":"Сетка","app.icon.favorites":"Звезда","app.icon.cinema":"Видео","app.icon.music":"Музыка","app.icon.tv":"Телевидение","app.icon.charging":"Зарядка","app.icon.games":"Игры","app.icon.navigation":"Маршруты","app.icon.social":"Сообщения","app.icon.news":"Новости","app.icon.weather":"Погода","app.icon.productivity":"Инструменты","app.icon.folder":"Папка","app.otherCategories":"Другие категории","app.moreIcons":"Другие значки","app.remove":"Удалить","app.removeCatalogNamed":"Удалить {name}","app.catalogRemoved":"{name}: удалено.","app.icon.home":"Дом","app.icon.car":"Автомобиль","app.icon.parking":"Парковка","app.icon.map":"Карта","app.icon.globe":"Глобус","app.icon.compass":"Компас","app.icon.coffee":"Кофе","app.icon.food":"Еда","app.icon.shopping":"Покупки","app.icon.heart":"Сердце","app.icon.camera":"Камера","app.icon.tools":"Ремонт","backup.links":"Код или ссылка","backup.phone":"Телефон","backup.library":"Мои копии","backup.create":"Создать","backup.add":"Добавить","backup.send":"Отправить","backup.receive":"Получить","backup.restore":"Восстановить","backup.createTitle":"Создать код или ссылку","backup.addTitle":"Добавить копию","backup.restoreTitle":"Восстановить копию","backup.chooseTitle":"Выбрать копию","backup.code":"Код","backup.link":"Ссылка EvPortal","backup.copyCode":"Копировать код","backup.addHint":"Добавляет копию в список, не изменяя ваши ярлыки.","backup.added":"Копия добавлена.","backup.restored":"Копия восстановлена.","backup.local":"На этом устройстве","backup.online":"В сети","backup.empty":"Нет сохранённых копий.","backup.receivedTitle":"Полученные ярлыки","backup.fileTitle":"Импортированная копия","backup.deleteNamed":"Удалить «{name}»","backup.deleted":"Копия удалена.","backup.savedSummary":"Категории: {categories} · Ярлыки: {count}","backup.load":"Проверить","backup.restoreHint":"Заменяет ярлыки на этом устройстве.","backup.selected":"Выбранная копия","backup.choose":"Выбрать","backup.localCopy":"Копия сохранена на этом устройстве.","backup.undoRestore":"Отменить последнее восстановление","backup.storageUnavailable":"Хранилище копий недоступно или заполнено.","backup.invalidLibrary":"Не удалось прочитать библиотеку копий. Существующие данные сохранены.","backup.invalidBackup":"Эта копия недействительна.","backup.limit":"На этом устройстве можно хранить до {max} копий.","backup.tooLarge":"Размер этой копии превышает {max} МБ.","backup.missing":"Эта копия больше недоступна.","backup.retry":"Повторить","category.all":"Все","category.favorites":"Избранное","category.cinema":"Видео","category.music":"Музыка","category.tv":"ТВ","category.charging":"Зарядка","category.games":"Игры","category.navigation":"Маршруты","category.social":"Общение","category.news":"Новости","category.weather":"Погода","category.productivity":"Инструменты","category.folder":"Папка","help.title":"Руководство EvPortal — Браузер Tesla, ярлыки и резервные копии","help.description":"Откройте EvPortal в браузере Tesla, настройте избранное и передавайте копии по коду, ссылке или QR. Руководство по началу работы и восстановлению ярлыков.","help.language":"Язык","help.back":"Вернуться к ярлыкам","help.heading":"Руководство по EvPortal для браузера Tesla","help.intro":"Нажмите ярлык, чтобы открыть сервис в новой вкладке. По умолчанию используется тёмная тема; затем сохраняется ваш выбор светлой или тёмной темы. В настройках доступны восемь языков с их названиями и флагами; арабский отображается справа налево.","help.organizeHeading":"Упорядочить ярлыки","help.ranking":"В разделе «Все» сначала показаны ярлыки, которые вы открываете чаще всего. При равном числе открытий сохраняется ручной порядок. Сортировка сохраняется после перезагрузки страницы.","help.dragging":"В категории или в «Избранном» нажмите «Изменить» и перемещайте ярлыки за маркеры. Звезда добавляет в избранное, карандаш позволяет редактировать. Когда закончите, нажмите «Готово». В разделе «Все» сохраняется автоматическая сортировка.","help.keyboard":"С клавиатуры выберите маркер, нажмите Пробел, перемещайте стрелками и подтвердите клавишей Enter. Escape отменяет перемещение.","help.addHeading":"Добавить ярлык или категорию","help.adding":"Кнопка «+» открывает одинаковый каталог для всех. Разверните или сверните категорию и используйте кнопки «Добавить» или «Удалить» рядом с сервисом. Действия «Создать ярлык» и «Создать категорию» находятся вверху каталога. Лупа ищет по всем вашим ярлыкам.","help.categories":"Создайте до пяти личных категорий с названиями не длиннее 16 символов и значком на выбор. «Другие значки» открывает дополнительные варианты. Карандаш позволяет изменить категорию. Старые категории, превышающие эти ограничения, сохраняются. Видимые категории располагаются без горизонтальной прокрутки.","help.transferHeading":"Телефон: отправка и получение","help.stepPrepare":"В разделе Настройки → Резервные копии → Телефон выберите Отправить или Получить.","help.stepPublish":"Отсканируйте показанный QR-код телефоном.","help.stepCode":"Для отправки с телефона выберите его ярлыки или копию и нажмите Отправить.","help.stepImport":"На принимающем экране нажмите Добавить, чтобы сохранить копию на этом устройстве.","help.stepApply":"Чтобы использовать её содержимое, откройте Мои копии → Восстановить.","help.qr":"QR-код служит для переноса с телефоном. При создании кода или ссылки QR-код не отображается.","help.snapshot":"Перенос зашифрован и действует пять минут, если сервис доступен. Передаётся снимок без автоматической синхронизации. Получение копии не заменяет ваши ярлыки.","help.public":"В разделе Настройки → Резервные копии → Код или ссылка кнопка Создать подготавливает код и ссылку EvPortal для копирования. Добавить принимает любой из вариантов и сохраняет локальную копию после проверки. Файлы JSON доступны в разделе Другие параметры. Созданная страница Telegra.ph общедоступна; локальная копия и страница в сети независимы.","help.fullscreenHeading":"Полноэкранный режим Tesla","help.fullscreen":"На парковке нажмите «Полный экран». На YouTube выберите «Перейти на сайт» или Go to site, чтобы вернуться в EvPortal в режиме кинотеатра. Ярлыки запрашивают новую вкладку; её поведение зависит от браузера автомобиля.","help.fullscreenFallback":"Если Tesla не распознана, выберите «Открыть режим «Кинотеатр Tesla»» в настройках. На компьютере кнопка включает обычный полноэкранный режим. Перенаправление может измениться после обновлений автомобиля или YouTube.","help.compatibility":"Открытие сайта не гарантирует воспроизведение видео: возможны ограничения страны, аккаунта, подписки или браузера. Используйте развлечения на парковке.","help.teslaManual":"Руководство Tesla","help.myTesla":"Способ, описанный myTesla","help.storageHeading":"Восстановление копии","help.storage":"В разделе Настройки → Резервные копии → Мои копии → Восстановить выберите копию в разделе На этом устройстве или В сети и проверьте содержимое. Только Восстановить заменяет ярлыки. В разделе Другие параметры в настройках можно отменить последнее восстановление. Добавление кода, ссылки, файла или переноса по QR сохраняет копию без её применения. Каждый браузер хранит собственный локальный список.","help.previewHeading":"Проверить локальную версию","help.preview":"QR-код использует адрес открытого портала. На телефоне localhost или 127.0.0.1 обозначает сам телефон. Для проверки между устройствами портал и сервис переноса должны быть доступны обоим по HTTPS. Коды и ссылки на копии используют публичный адрес EvPortal.","help.privacyHeading":"О проекте и конфиденциальности","help.privacy":"EvPortal бесплатен и не связан с Tesla. Логотипы и переводы включены в сайт. Счётчики открытий остаются в вашей конфигурации; сервисов аналитики нет. Обращение к Telegra.ph происходит по вашему запросу; токен аккаунта не включается в публикацию. Открываемые сайты применяют собственные правила.","help.source":"Исходный код","help.report":"Сообщить о проблеме","help.license":"EvPortal · Лицензия MIT","help.backupHeading":"Код или ссылка","help.preferencesHeading":"Выбрать главный экран","help.preferences":"В разделе «Настройки → Главный экран» выберите видимые категории и открытие избранного при запуске. Эти настройки остаются на этом устройстве и не передаются в резервных копиях или по QR-коду. Управление каталогом доступно через кнопку «+».","help.sharedServices":"Сервис может отображаться в нескольких категориях с общим статусом избранного и счётчиком; в разделе Все он появляется один раз. При редактировании откройте Другие категории, чтобы выбрать, где он отображается. При удалении категории сохраняются сервисы, входящие и в другую категорию.","pair.receiveButton":"Получить с телефона","pair.receiveTitle":"Получить с телефона","pair.scanHint":"Сканируйте этот QR-код телефоном.","pair.qrAccessible":"QR-код для передачи на этот экран","pair.apply":"Добавить","pair.newQR":"Новый QR-код","pair.sendTitle":"Отправить в Tesla","pair.send":"Отправить мои ярлыки","pair.chooseBackup":"Выбрать копию","pair.sendHint":"Ярлыки этого телефона будут предложены на другом экране.","pair.privateHint":"Зашифрованная передача, действует 5 минут.","pair.preparing":"Подготовка QR-кода…","pair.waiting":"Ожидание телефона · {time}","pair.retrying":"Повторное подключение… · {time}","pair.summary":"{categories} категорий · {count} ярлыков","pair.ready":"Копия получена. Добавьте её в свои резервные копии.","pair.sending":"Отправка…","pair.sent":"Отправлено. Добавьте копию на другом экране.","pair.applied":"Копия добавлена.","pair.expired":"Срок действия QR-кода истёк. Создайте новый на другом экране.","pair.receiverExpired":"Срок действия QR-кода истёк. Создайте новый.","pair.notConfigured":"Прямая передача пока недоступна. Используйте копию Telegra.ph.","pair.unsupported":"Этот браузер не поддерживает зашифрованную передачу. Используйте копию Telegra.ph.","pair.invalidLink":"Недействительный QR-код передачи. Сканируйте новый код.","pair.invalidResponse":"Сервис передачи вернул неверный ответ. Повторите попытку с новым QR-кодом.","pair.networkError":"Не удалось подключиться. Проверьте сеть и повторите попытку.","pair.timeout":"Время ожидания подключения истекло. Повторите попытку.","pair.unauthorized":"Эта передача больше не разрешена. Сканируйте новый QR-код.","pair.alreadySent":"Этот QR-код уже получил ярлыки. Создайте новый, чтобы повторить передачу.","pair.tooLarge":"Эта конфигурация слишком велика для прямой передачи. Экспортируйте её в файл JSON.","pair.invalidConfig":"Полученная конфигурация недействительна. Ваши текущие ярлыки сохранены.","pair.decryptFailed":"Не удалось прочитать передачу. Создайте новый QR-код.","pair.applyFailed":"Не удалось добавить эту копию. Повторите попытку.","pair.serviceUnavailable":"Сервис передачи временно недоступен. Повторите попытку чуть позже.","pair.stepScan":"Сканировать","pair.stepSend":"Отправить","pair.stepApply":"Добавить","pair.storageUnavailable":"Не удалось сохранить на этом экране. Ваши текущие ярлыки сохранены.","pair.undone":"Предыдущие ярлыки восстановлены.","pair.deliveryUnknown":"Проверьте другой экран: возможно, ваши ярлыки уже получены. Если нет, создайте новый QR-код.","pair.offerButton":"Отправить на телефон","pair.offerTitle":"Мои ярлыки на телефоне","pair.offerScanHint":"Отсканируйте этот QR-код телефоном.","pair.offerPreparing":"Подготовка к отправке…","pair.offerWaiting":"Можно получить на телефоне · {time}","pair.offerExpired":"Срок действия QR-кода истёк. Создайте новый.","pair.offerReady":"Копия готова к получению.","pair.downloadTitle":"Получить копию","pair.downloading":"Получение копии…","pair.added":"Копия добавлена в ваши резервные копии.","pair.addFailed":"Не удалось добавить эту копию. Повторите попытку.","pair.downloadExpired":"Срок действия переноса истёк или копия уже получена. Создайте новый QR-код на другом экране.","pair.offerQRAccessible":"QR-код для получения этой копии на телефоне","prefs.title":"Главный экран","prefs.homeFavorites":"Открывать мои избранные","prefs.visibleCategories":"Показываемые категории","prefs.saveFailed":"Настройки сохранены только на время этого сеанса.","prefs.invalid":"Эти настройки недопустимы.","seo.introHeading":"Стартовая страница с ярлыками для вашей Tesla","seo.intro":"EvPortal — бесплатный независимый портал, который собирает ваши любимые сайты на одной странице, созданной для браузера Tesla. Им также можно пользоваться в браузере телефона или компьютера. Крупные значки открывают выбранные сервисы, не заполняя главный экран текстами и виджетами. Вы можете настроить ярлыки, категории и их порядок, а затем выбрать светлую или тёмную тему. Так нужные ссылки остаются под рукой во время остановки.","seo.startHeading":"Начало работы в браузере автомобиля","seo.start":"На припаркованном автомобиле откройте адрес EvPortal в браузере. Добавьте страницу в избранное браузера, если такая возможность доступна, чтобы легко вернуться к ней. Для открытия портала не нужно устанавливать приложение или входить в учётную запись Tesla. Кнопка «+» открывает каталог для управления ярлыками. В настройках можно выбрать язык и главный экран. Ваши настройки остаются на этом устройстве; резервная копия позволяет сохранить ярлыки или перенести их на другое устройство.","seo.chargingHeading":"Нужные сервисы во время зарядки","seo.charging":"Добавьте ссылки на планировщики маршрутов и зарядок, радиостанции, музыку и прогноз погоды. Каталог одинаков для всех и разделён на сворачиваемые категории; также можно указать собственный адрес сайта. Каждый ярлык открывает сайт сервиса с его условиями доступа. EvPortal не управляет зарядкой и не отправляет команды автомобилю. Развлекательные материалы просматривайте на стоянке.","seo.faqHeading":"Частые вопросы","seo.faqFreeQuestion":"EvPortal бесплатный?","seo.faqFreeAnswer":"Да. Портал бесплатный и не связан с Tesla. Некоторые сайты, открываемые по ссылкам, могут требовать учётную запись или подписку; эти условия определяет сам сервис.","seo.faqPhoneQuestion":"Как подготовить ярлыки на телефоне?","seo.faqPhoneAnswer":"Откройте EvPortal на телефоне и настройте ярлыки. В настройках раздел «Телефон» позволяет передавать копии по QR-коду в обоих направлениях. На принимающем экране кнопка «Добавить» сохраняет резервную копию. Чтобы использовать её содержимое, затем выберите «Мои копии» и «Восстановить». Само получение копии не заменяет ваши ярлыки.","seo.faqOfflineQuestion":"Работает ли EvPortal без интернета?","seo.faqOfflineAnswer":"Браузер хранит вашу конфигурацию локально, но у EvPortal нет автономного режима. Подключение нужно для загрузки портала, открытия сервисов и передачи резервных копий. Файл JSON позволяет сохранить отдельную копию для последующего восстановления.","seo.languages":"Доступные языки","seo.operatingSystem":"Веб","seo.browserRequirements":"Браузер с JavaScript и локальным хранилищем; HTTPS и криптографические функции для передачи по QR-коду.","seo.featureFavorites":"Настраиваемые ярлыки и избранное","seo.featureDrag":"Изменение порядка перетаскиванием на сенсорном экране","seo.featureQR":"Передача резервных копий по QR-коду с телефона","seo.featureBackup":"Резервные копии по коду, ссылке или в файле JSON","share.tooLarge":"Настройки превышают лимит Telegra.ph в 64 КБ. Удалите часть ссылок или используйте файл.","share.noConnection":"Подключение недоступно в этом браузере.","share.publishTimeout":"Время ожидания истекло. Проверьте «Мои копии» перед повторной попыткой.","share.timeout":"Telegra.ph не отвечает. Повторите попытку позже.","share.networkError":"Не удалось подключиться к Telegra.ph. Проверьте соединение.","share.unavailable":"Telegra.ph недоступен. Повторите попытку позже.","share.badResponse":"Не удалось прочитать ответ Telegra.ph. Повторите попытку позже.","share.rateLimited":"Слишком много запросов. Подождите перед повторной попыткой.","share.invalidAccount":"Аккаунт Telegra.ph недоступен. Ваш прежний аккаунт сохранён.","share.refused":"Telegra.ph отклонил запрос. Повторите попытку позже.","share.accountNotCreated":"Аккаунт Telegra.ph не создан. Повторите попытку позже.","share.invalidTitle":"Недопустимое название публикации (до 256 символов).","share.sessionOnly":"Аккаунт сохранён только на время сеанса. Сохраните ссылку на публикацию.","share.invalidPage":"Недопустимая позиция страницы.","share.badHistory":"Не удалось прочитать список Telegra.ph.","share.localPreview":"Локальный просмотр: на телефоне используйте сетевой адрес этой версии.","share.localPreviewOld":"Локальная тестовая версия: для проверки на телефоне используйте её доступный сетевой адрес. По публичному адресу доступна опубликованная версия, которая может отличаться от этой тестовой версии.","share.qrLabel":"Отсканируйте телефоном, чтобы открыть эти ссылки EvPortal","share.qrAddressUnavailable":"QR-код недоступен для этого адреса. Скопируйте ссылку.","share.qrUnavailable":"QR-код недоступен. Скопируйте ссылку.","share.publishing":"Сохранение…","share.publish":"Создать копию","share.created":"Копия создана.","share.copyUnavailable":"Копирование недоступно. Выделите текст, чтобы скопировать его вручную.","share.linkCopied":"Ссылка скопирована.","share.codeCopied":"Код скопирован.","share.import":"Импортировать","share.importNamed":"Импортировать {name}","share.more":"Показать ещё","share.empty":"Нет копий.","share.secureRandomUnavailable":"В этом браузере невозможно создать случайную ссылку для публикации. Используйте современный браузер.","share.unsafePath":"Telegra.ph не сохранил случайный идентификатор. Конфигурация не была опубликована.","share.deleteNamed":"Удалить {name}","share.deleted":"Копия удалена.","share.noAccount":"В этом браузере нет аккаунта для резервных копий.","state.fullURL":"Укажите полный адрес, начинающийся с https:// или http://, без пробелов.","state.invalidURL":"Недопустимый адрес сайта.","state.safeURL":"Ссылки должны использовать HTTP или HTTPS и не содержать данные для входа.","state.invalidID":"Недопустимый идентификатор категории или ярлыка.","state.shortcutObject":"Каждый ярлык должен быть объектом.","state.duplicateShortcut":"У двух ярлыков одинаковый идентификатор.","state.favoriteBoolean":"Значение избранного должно быть логическим.","state.invalidColor":"Недопустимый цвет ярлыка.","state.invalidCount":"Недопустимый счётчик использования ярлыка.","state.invalidFormat":"Неизвестный формат EvPortal или несовместимая версия копии.","state.tooManyCategories":"В копии больше 50 категорий.","state.invalidCategory":"Недопустимая категория.","state.reservedCategory":"Зарезервированный или повторяющийся идентификатор категории.","state.invalidIcon":"Недопустимый значок категории.","state.tooManyShortcuts":"В копии больше 5000 ярлыков.","state.invalidTheme":"Недопустимая тема в копии.","state.missingCategory":"Активная категория из копии не найдена.","state.invalidOrder":"Недопустимый порядок ярлыков.","state.backupObject":"Копия должна быть объектом JSON.","state.invalidLegacyList":"Недопустимый список старых категорий.","state.duplicateCategories":"В списке есть повторяющиеся категории.","state.foreignData":"В копии есть данные, не относящиеся к категориям EvPortal.","state.invalidLegacyShortcut":"Недопустимый старый ярлык.","state.invalidShortcutOrder":"Недопустимая позиция ярлыка.","state.largeFile":"Файл превышает ограничение в 2 МБ.","state.invalidJSON":"Файл не содержит корректный JSON.","state.storageUnavailable":"Хранилище недоступно","state.invalidLegacyCategories":"Недопустимые старые категории","state.reservedLegacyCategory":"Зарезервированная старая категория","state.invalidMove":"Недопустимое перемещение ярлыка.","state.telegraphLink":"Укажите ссылку telegra.ph или идентификатор страницы.","state.telegraphID":"Недопустимый идентификатор страницы Telegra.ph.","state.portalLink":"Укажите ссылку EvPortal ровно с одним кодом импорта.","state.invalidField":"Недопустимое поле «{field}» (не более {max} символов).","state.invalidFieldShort":"Недопустимое поле «{field}».","state.urlLabel":"Адрес сайта","state.shortcutName":"Название ярлыка","state.shortcutDescription":"Описание ярлыка","state.shortcutTag":"Метка ярлыка","state.categoryName":"Название категории","state.categoryDescription":"Описание категории","state.catalogVersion":"Версия каталога","state.telegraphIDLabel":"Идентификатор Telegra.ph","state.shareCodeLabel":"Ссылка или код импорта","state.invalidCategoryShortcuts":"Ярлыки категории «{name}» недопустимы.","state.storageWarning":"Локальная копия недоступна или не читается. Предыдущие данные сохранены. Изменения в этом сеансе временные: экспортируйте их в JSON.","static.title":"EvPortal — Стартовая страница и ярлыки для браузера Tesla","static.skip":"Перейти к ярлыкам","static.tagline":" — ярлыки для Tesla","static.fullscreen":"Полный экран","static.share":"Поделиться","static.edit":"Изменить","static.add":"Добавить","static.searchLabel":"Найти ярлык","static.dragInstructions":"Пробел — выбрать, стрелки — переместить, Enter — разместить, Escape — отменить.","static.reorder":"Перетаскивайте ярлыки, чтобы изменить порядок.","static.video":"Кино","static.javascript":"Включите JavaScript, чтобы настроить ярлыки.","static.help":"Помощь","static.settings":"Настройки","static.language":"Язык","static.createShortcut":"Создать ярлык","static.createCategory":"Создать категорию","static.importTelegraph":"Импортировать копию","static.theater":"Открыть режим «Кинотеатр Tesla»","static.moreOptions":"Другие параметры","static.exportJSON":"Сохранить файл JSON","static.reset":"Сбросить ярлыки","static.about":"Помощь и информация","static.newCategory":"Новая категория","static.name":"Название","static.icon":"Значок","static.cancel":"Отмена","static.create":"Создать","static.newShortcut":"Новый ярлык","static.website":"Адрес сайта","static.category":"Категория","static.restore":"Импортировать копию","static.shareInput":"Код или ссылка","static.load":"Загрузить мои ярлыки","static.importJSON":"Импортировать файл JSON","static.jsonFile":"Файл JSON","static.close":"Закрыть","static.use":"Использовать эти ярлыки","static.shareTitle":"Экспортировать копию","static.backupName":"Название (необязательно)","static.public":"Эта копия будет общедоступна.","static.portalAddress":"Адрес EvPortal","static.otherAddress":"Адрес EvPortal на другом экране","static.publish":"Создать копию","static.scan":"Отсканируйте телефоном.","static.carCode":"Код для ввода в Tesla","static.copyCode":"Копировать код","static.importHint":"Tesla: Настройки → Резервные копии → Импортировать копию.","static.copyLink":"Копировать ссылку","static.sharedLinks":"Мои копии","static.showBackups":"Обновить","static.addShortcuts":"Каталог","static.searchService":"Найти сервис","static.home":"EvPortal, главная","static.search":"Поиск","static.enterFullscreen":"На весь экран","static.shareAccessible":"Экспортировать копию","static.addAccessible":"Добавить ярлык или категорию","static.clearSearch":"Очистить поиск","static.categories":"Категории","static.qrAccessible":"QR-код для восстановления ярлыков","static.searchPlaceholder":"Поиск…","static.tripsPlaceholder":"Мои поездки","static.servicePlaceholder":"Мой сервис","static.urlPlaceholder":"https://example.com","static.codePlaceholder":"Код или ссылка EvPortal","static.defaultBackup":"Мои ярлыки EvPortal","static.description":"Настройте портал Tesla: ярлыки для зарядки, музыки и погоды, избранное и резервные копии. Бесплатно, с передачей копий по QR-коду с телефона.","static.socialTitle":"EvPortal — Стартовая страница и ярлыки для браузера Tesla","static.socialDescription":"Настройте портал Tesla: ярлыки для зарядки, музыки и погоды, избранное и резервные копии. Бесплатно, с передачей копий по QR-коду с телефона.","static.previewAlt":"EvPortal: ярлыки для зарядки, музыки, стриминга и навигации.","static.twitterDescription":"Настройте портал Tesla: ярлыки для зарядки, музыки и погоды, избранное и резервные копии. Бесплатно, с передачей копий по QR-коду с телефона.","static.twitterAlt":"Ярлыки EvPortal в тёмном режиме.","static.nameBackup":"Назвать копию","static.undoTransfer":"Отменить последний перенос","static.backups":"Резервные копии","static.exportBackup":"Экспортировать копию","static.importBackup":"Импортировать копию"},"ar":{"app.startFailed":"تعذّر تشغيل البوابة. أعد تحميل الصفحة للمحاولة مجددًا.","app.storageUnavailable":"التخزين المحلي غير متاح أو ممتلئ. صدّر إعداداتك للاحتفاظ بتغييرات هذه الجلسة.","app.storageRecovery":"النسخة المحلية غير متاحة أو غير قابلة للقراءة. بياناتك السابقة محفوظة. صدّر هذه الجلسة قبل إغلاق البوابة.","app.all":"الكل","app.favorites":"المفضلة","app.move":"نقل {name}","app.previousMoveCancelled":"تم إلغاء النقل السابق.","app.moveSelected":"تم اختيار {name}. استخدم الأسهم للنقل وEnter للإفلات وEscape للإلغاء.","app.moveCancelled":"تم إلغاء النقل.","app.movePosition":"{name}، الموضع {position} من {count}.","app.orderSaved":"تم حفظ الترتيب.","app.editCategory":"تعديل فئة {name}","app.deleteCategory":"حذف فئة {name}","app.confirmDeleteCategory":"هل تريد حذف «{name}» واختصاراتها البالغ عددها {count}؟","app.categoryDeleted":"تم حذف الفئة.","app.openNewTab":"{name} — علامة تبويب جديدة","app.removeFavorite":"إزالة {name} من المفضلة","app.addFavorite":"إضافة {name} إلى المفضلة","app.favoriteAdded":"تمت إضافة {name} إلى المفضلة.","app.favoriteRemoved":"تمت إزالة {name} من المفضلة.","app.editShortcut":"تعديل {name}","app.deleteShortcut":"حذف {name}","app.confirmDeleteShortcut":"هل تريد حذف الاختصار «{name}»؟","app.shortcutDeleted":"تم حذف الاختصار.","app.allShortcuts":"كل الاختصارات","app.allDescription":"كل خدماتك واختصاراتك في مكان واحد.","app.searchResults":"نتائج البحث","app.searchDescription":"البحث عن «{query}» في جميع الفئات.","app.myFavorites":"مفضلتي","app.favoritesDescription":"كل ما تحتاجه في متناول يدك.","app.categoryDescription":"اختصاراتك في هذه الفئة.","app.shortcutCount":"الاختصارات: {count}","app.shortcutCountOne":"الاختصارات: {count}","app.noShortcuts":"لم يتم العثور على اختصارات","app.emptyFavorites":"احتفظ بما تحتاجه هنا","app.emptyCategory":"صفحة تناسبك","app.searchHint":"جرّب اسمًا أو نطاقًا أو كلمة أخرى.","app.favoriteHint":"اضغط على نجمة الاختصار لإضافته إلى المفضلة.","app.emptyHint":"أضف اختصارات من الدليل أو أنشئ اختصاراتك.","app.clearSearch":"مسح البحث","app.exploreCatalog":"تصفّح الدليل","app.usageOrderHint":"الكل: الأكثر استخدامًا أولًا. لنقل اختصار، افتح فئته أو المفضلة.","app.dragHint":"اسحب الاختصارات لإعادة ترتيبها.","app.finishEditing":"إنهاء التعديل","app.editShortcuts":"تعديل الاختصارات","app.finish":"تم","app.edit":"تعديل","app.categoryRequired":"أنشئ فئة أولًا لإضافة اختصارك.","app.editShortcutTitle":"تعديل الاختصار","app.addShortcutTitle":"إضافة اختصار","app.save":"حفظ","app.addShortcutSubmit":"إضافة الاختصار","app.editCategoryTitle":"تعديل الفئة","app.newCategory":"فئة جديدة","app.create":"إنشاء","app.categoryLimitHint":"تم بلوغ الحد: {max} فئات شخصية. عدّل فئة موجودة أو احذفها.","app.categoryCountHint":"الفئات الشخصية: {count}/{max} · بحد أقصى {length} حرفًا.","app.categoryGone":"حُذفت هذه الفئة في علامة تبويب أخرى. أغلق النموذج وحاول مجددًا.","app.categoryNameInvalid":"أدخل اسمًا يتراوح طوله من حرف واحد إلى {max} حرفًا.","app.categoryLimit":"تم بلوغ الحد الأقصى للفئات الشخصية: {max}.","app.categoryDuplicate":"توجد فئة بهذا الاسم بالفعل.","app.iconRequired":"اختر إحدى الأيقونات المتاحة.","app.categoryDescriptionInvalid":"يجب ألا يتجاوز الوصف 240 حرفًا.","app.categoryChanged":"تم تعديل الفئة.","app.categoryCreated":"تم إنشاء الفئة.","app.selectCategory":"اختر فئة موجودة.","app.shortcutGone":"حُذف هذا الاختصار في علامة تبويب أخرى. أغلق النموذج وحاول مجددًا.","app.shortcutLimit":"تم بلوغ الحد الأقصى البالغ 5000 اختصار.","app.shortcutFieldsInvalid":"تحقق من الاسم (100 حرف كحد أقصى) والوصف (300 حرف كحد أقصى).","app.shortcutDuplicate":"هذا الرابط موجود بالفعل. عدّل فئاته لعرضه في مكان آخر.","app.shortcutChanged":"تم تعديل الاختصار.","app.shortcutAdded":"تمت إضافة الاختصار.","app.alreadyPresentNamed":"موجود بالفعل: {name}","app.addNamed":"إضافة {name}","app.alreadyPresent":"موجود بالفعل","app.add":"إضافة","app.totalCategoryLimit":"تم بلوغ الحد الأقصى البالغ 50 فئة.","app.addedToCategory":"تمت إضافة {name} إلى {category}.","app.noServices":"لا توجد خدمات تطابق هذا البحث.","app.catalogComplete":"نظّم اختصاراتك أو أنشئ اختصاراتك الخاصة.","app.catalogHint":"نظّم اختصاراتك أو أنشئ اختصاراتك الخاصة.","app.sharedConfig":"إضافة إلى نسخك الاحتياطية دون تغيير اختصاراتك.","app.importPreview":"الفئات: {categories} · الاختصارات: {count}","app.fileTooLarge":"يتجاوز الملف الحد الأقصى البالغ 2 ميغابايت.","app.loadingConfig":"جارٍ تحميل الإعدادات…","app.telegraphNotReturned":"لم يُرجع Telegra.ph هذه الصفحة. تحقق من رمزها.","app.pageTooLarge":"هذه الصفحة كبيرة جدًا للاستيراد.","app.telegraphUnreadable":"صفحة Telegra.ph غير موجودة أو غير قابلة للقراءة.","app.noConfigInPage":"لا تحتوي الصفحة على إعدادات EvPortal.","app.connectionTimeout":"انتهت مهلة الاتصال. حاول مجددًا بعد قليل.","app.imported":"تم استيراد الإعدادات.","app.exportReady":"ملف JSON جاهز. احتفظ به لاستعادة اختصاراتك على جهاز آخر.","app.exportFailed":"تعذّر إعداد ملف النسخة الاحتياطية.","app.confirmReset":"هل تريد استعادة الدليل الأصلي؟ ستُستبدل اختصاراتك المخصصة ومفضلتك. صدّرها قبل المتابعة.","app.catalogReset":"تمت استعادة الدليل الأصلي.","app.switchToLight":"التبديل إلى الوضع الفاتح","app.switchToDark":"التبديل إلى الوضع الداكن","app.fullscreenReload":"أعد تحميل الصفحة لتفعيل ملء الشاشة.","app.fullscreenUnavailable":"ملء الشاشة غير متاح في هذا المتصفح.","app.exitFullscreen":"الخروج من ملء الشاشة","app.enterFullscreen":"الدخول إلى ملء الشاشة","app.syncedFromTab":"تم تحميل تغييراتك من علامة تبويب أخرى.","app.unreadableTabState":"النسخة المستلمة من علامة تبويب أخرى غير قابلة للقراءة. تم الاحتفاظ بالجلسة الحالية.","app.legacyRecovered":"تم استعادة اختصاراتك السابقة.","app.catalogUpdated":"تم تحديث {count} عنوانًا في الدليل.","app.invalidConfig":"هذه الإعدادات غير صالحة أو غير متوافقة. تحقق من الملف أو الرمز وحاول مجددًا.","app.invalidShortcutURL":"استخدم عنوانًا كاملًا يبدأ بـ https:// أو http:// دون مسافات أو بيانات دخول.","app.invalidImportCode":"استخدم رمز Telegra.ph أو عنوان telegra.ph أو رابط مشاركة EvPortal صالحًا.","app.connectionFailed":"تعذّر الاتصال. تحقق من الشبكة وحاول مجددًا.","app.icon.all":"شبكة","app.icon.favorites":"نجمة","app.icon.cinema":"فيديو","app.icon.music":"موسيقى","app.icon.tv":"تلفاز","app.icon.charging":"الشحن","app.icon.games":"ألعاب","app.icon.navigation":"الرحلات","app.icon.social":"رسائل","app.icon.news":"أخبار","app.icon.weather":"الطقس","app.icon.productivity":"أدوات","app.icon.folder":"مجلد","app.otherCategories":"فئات أخرى","app.moreIcons":"المزيد من الأيقونات","app.remove":"حذف","app.removeCatalogNamed":"حذف {name}","app.catalogRemoved":"تم حذف {name}.","app.icon.home":"منزل","app.icon.car":"سيارة","app.icon.parking":"موقف سيارات","app.icon.map":"خريطة","app.icon.globe":"كرة أرضية","app.icon.compass":"بوصلة","app.icon.coffee":"قهوة","app.icon.food":"طعام","app.icon.shopping":"تسوق","app.icon.heart":"قلب","app.icon.camera":"كاميرا","app.icon.tools":"صيانة","backup.links":"رمز أو رابط","backup.phone":"الهاتف","backup.library":"نسخي الاحتياطية","backup.create":"إنشاء","backup.add":"إضافة","backup.send":"إرسال","backup.receive":"استقبال","backup.restore":"استعادة","backup.createTitle":"إنشاء رمز أو رابط","backup.addTitle":"إضافة نسخة احتياطية","backup.restoreTitle":"استعادة نسخة احتياطية","backup.chooseTitle":"اختيار نسخة احتياطية","backup.code":"الرمز","backup.link":"رابط EvPortal","backup.copyCode":"نسخ الرمز","backup.addHint":"إضافة إلى نسخك الاحتياطية دون تغيير اختصاراتك.","backup.added":"تمت إضافة النسخة الاحتياطية.","backup.restored":"تمت استعادة النسخة الاحتياطية.","backup.local":"على هذا الجهاز","backup.online":"عبر الإنترنت","backup.empty":"لا توجد نسخ احتياطية محفوظة.","backup.receivedTitle":"الاختصارات المستلمة","backup.fileTitle":"نسخة احتياطية مستوردة","backup.deleteNamed":"حذف «{name}»","backup.deleted":"تم حذف النسخة الاحتياطية.","backup.savedSummary":"الفئات: {categories} · الاختصارات: {count}","backup.load":"تحقق","backup.restoreHint":"يستبدل اختصارات هذا الجهاز.","backup.selected":"النسخة الاحتياطية المحددة","backup.choose":"اختيار","backup.localCopy":"تم حفظ نسخة على هذا الجهاز.","backup.undoRestore":"التراجع عن آخر استعادة","backup.storageUnavailable":"تخزين النسخ الاحتياطية غير متاح أو ممتلئ.","backup.invalidLibrary":"تعذرت قراءة مكتبة النسخ الاحتياطية. تم الاحتفاظ بالبيانات الموجودة.","backup.invalidBackup":"هذه النسخة الاحتياطية غير صالحة.","backup.limit":"يمكنك حفظ ما يصل إلى {max} نسخة احتياطية على هذا الجهاز.","backup.tooLarge":"يتجاوز حجم هذه النسخة الاحتياطية {max} ميغابايت.","backup.missing":"هذه النسخة الاحتياطية لم تعد متاحة.","backup.retry":"إعادة المحاولة","category.all":"الكل","category.favorites":"المفضلة","category.cinema":"فيديو","category.music":"موسيقى","category.tv":"تلفاز","category.charging":"الشحن","category.games":"ألعاب","category.navigation":"الرحلات","category.social":"التواصل","category.news":"أخبار","category.weather":"الطقس","category.productivity":"أدوات","category.folder":"مجلد","help.title":"دليل EvPortal — متصفح تسلا والاختصارات والنسخ الاحتياطية","help.description":"افتح EvPortal في متصفح تسلا، ونظّم المفضلة وانقل النسخ برمز أو رابط أو QR. دليل البدء واستعادة اختصاراتك خطوة بخطوة.","help.language":"اللغة","help.back":"العودة إلى الاختصارات","help.heading":"دليل EvPortal لمتصفح تسلا","help.intro":"اضغط على اختصار لفتح الخدمة في علامة تبويب جديدة. المظهر الداكن هو الافتراضي، ثم يُحفظ اختيارك للمظهر الفاتح أو الداكن. تتوفر ثماني لغات في الإعدادات بأسمائها الأصلية وأعلامها، وتُعرض العربية من اليمين إلى اليسار.","help.organizeHeading":"تنظيم الاختصارات","help.ranking":"يعرض قسم «الكل» الاختصارات الأكثر فتحًا أولًا. وعند تساوي عدد مرات الفتح، يُحفظ ترتيبك اليدوي. يبقى الترتيب محفوظًا بعد إعادة تحميل الصفحة.","help.dragging":"داخل فئة أو في «المفضلة»، اضغط على «تعديل» ثم حرّك الاختصارات باستخدام مقابضها. تضيف النجمة الاختصار إلى المفضلة، ويتيح القلم تعديله. اضغط على «تم» عند الانتهاء. يحتفظ قسم «الكل» بترتيبه التلقائي.","help.keyboard":"باستخدام لوحة المفاتيح، حدّد مقبضًا واضغط على مفتاح المسافة، ثم حرّكه بالأسهم وأكّد بمفتاح Enter. يلغي مفتاح Escape العملية.","help.addHeading":"إضافة اختصار أو فئة","help.adding":"يفتح زر «+» الكتالوج نفسه للجميع. وسّع فئة أو اطوها، ثم استخدم إضافة أو حذف عند الخدمة. تجد إنشاء اختصار وإنشاء فئة في أعلى الكتالوج. تبحث العدسة في جميع اختصاراتك.","help.categories":"أنشئ حتى خمس فئات شخصية بأسماء لا تتجاوز 16 حرفًا وأيقونة من اختيارك. يفتح المزيد من الأيقونات الخيارات الإضافية. يتيح القلم تعديل الفئة. تُحفظ الفئات القديمة التي تتجاوز هذه الحدود. تتوزع الفئات الظاهرة دون تمرير أفقي.","help.transferHeading":"الهاتف: إرسال أو استقبال","help.stepPrepare":"في الإعدادات ← النسخ الاحتياطية ← الهاتف، اختر إرسال أو استقبال.","help.stepPublish":"امسح رمز QR المعروض بهاتفك.","help.stepCode":"للإرسال من الهاتف، اختر اختصاراته أو نسخة احتياطية ثم اضغط على إرسال.","help.stepImport":"على الشاشة المستقبِلة، اضغط على إضافة لحفظ النسخة الاحتياطية على ذلك الجهاز.","help.stepApply":"لاستخدام محتواها، افتح نسخي الاحتياطية ← استعادة.","help.qr":"يُستخدم QR للنقل مع الهاتف. لا يظهر رمز QR عند إنشاء رمز أو رابط.","help.snapshot":"النقل مشفّر وصالح لخمس دقائق عندما تتوفر الخدمة. ينقل لقطة دون مزامنة تلقائية. استقبال نسخة احتياطية لا يستبدل اختصاراتك.","help.public":"في الإعدادات ← النسخ الاحتياطية ← رمز أو رابط، يجهّز إنشاء رمزًا ورابط EvPortal للنسخ. تقبل إضافة أيًا منهما وتحفظ نسخة محلية بعد التحقق. تبقى ملفات JSON متاحة في خيارات إضافية. صفحة Telegra.ph المنشأة عامة؛ والنسخة المحلية والصفحة عبر الإنترنت مستقلتان.","help.fullscreenHeading":"ملء الشاشة في Tesla","help.fullscreen":"أثناء الوقوف، اضغط على «ملء الشاشة». في YouTube، اختر «الانتقال إلى الموقع» أو Go to site للعودة إلى EvPortal في وضع المسرح. تطلب الاختصارات فتح علامة تبويب جديدة، ويعتمد سلوكها على متصفح السيارة.","help.fullscreenFallback":"إذا لم يتم التعرّف على Tesla، اختر «فتح وضع مسرح تسلا» من الإعدادات. على الحاسوب، يستخدم الزر وضع ملء الشاشة العادي. قد تتغيّر إعادة التوجيه مع تحديثات السيارة أو YouTube.","help.compatibility":"فتح الموقع لا يضمن تشغيل الفيديو؛ فقد تؤثر قيود البلد أو الحساب أو الاشتراك أو المتصفح. استخدم الترفيه أثناء الوقوف.","help.teslaManual":"دليل Tesla","help.myTesla":"الطريقة الموضّحة في myTesla","help.storageHeading":"استعادة نسخة احتياطية","help.storage":"في الإعدادات ← النسخ الاحتياطية ← نسخي الاحتياطية ← استعادة، اختر نسخة من على هذا الجهاز أو عبر الإنترنت وراجع محتواها. استعادة وحدها تستبدل اختصاراتك. تتيح خيارات إضافية في الإعدادات التراجع عن آخر استعادة. إضافة رمز أو رابط أو ملف أو نقل عبر QR تحفظ نسخة دون تطبيقها. يحتفظ كل متصفح بقائمته المحلية الخاصة.","help.previewHeading":"اختبار معاينة محلية","help.preview":"يستخدم QR عنوان البوابة المفتوحة. على الهاتف، يشير localhost أو 127.0.0.1 إلى الهاتف نفسه. للاختبار بين جهازين، يجب أن يتمكن كلاهما من الوصول إلى البوابة وخدمة النقل عبر HTTPS. تستخدم رموز وروابط النسخ الاحتياطية عنوان EvPortal العام.","help.privacyHeading":"حول المشروع والخصوصية","help.privacy":"EvPortal مجاني وغير تابع لشركة Tesla. الشعارات والترجمات مضمّنة في الموقع. تبقى عدادات الفتح في إعداداتك، دون خدمة لتحليل الاستخدام. يجري الاتصال بـ Telegra.ph عند طلبك، ويبقى رمز دخول الحساب منفصلًا عن المشاركة. تطبّق المواقع التي تفتحها سياساتها الخاصة.","help.source":"الشيفرة المصدرية","help.report":"الإبلاغ عن مشكلة","help.license":"EvPortal · ترخيص MIT","help.backupHeading":"رمز أو رابط","help.preferencesHeading":"اختيار الشاشة الرئيسية","help.preferences":"في الإعدادات ← الشاشة الرئيسية، اختر الفئات الظاهرة وما إذا كنت تريد فتح المفضلة عند البدء. تبقى هذه التفضيلات على هذا الجهاز ولا تُضمّن في النسخ الاحتياطية أو عمليات النقل برمز QR. يمكنك إدارة الكتالوج من زر «+».","help.sharedServices":"يمكن أن تظهر الخدمة في عدة فئات بحالة مفضلة وعدّاد موحّدين؛ وتظهر مرة واحدة فقط في الكل. عند التعديل، افتح فئات أخرى لاختيار مكان ظهورها. عند حذف فئة، تبقى الخدمات الموجودة أيضًا في فئة أخرى.","pair.receiveButton":"الاستقبال من هاتفي","pair.receiveTitle":"الاستقبال من هاتفي","pair.scanHint":"امسح رمز QR هذا بهاتفك.","pair.qrAccessible":"رمز QR للنقل إلى هذه الشاشة","pair.apply":"إضافة","pair.newQR":"رمز QR جديد","pair.sendTitle":"الإرسال إلى تسلا","pair.send":"إرسال اختصاراتي","pair.chooseBackup":"اختيار نسخة احتياطية","pair.sendHint":"ستُعرض اختصارات هذا الهاتف على الشاشة الأخرى لاستخدامها.","pair.privateHint":"نقل مشفّر صالح لمدة 5 دقائق.","pair.preparing":"جارٍ إعداد رمز QR…","pair.waiting":"بانتظار الهاتف · {time}","pair.retrying":"جارٍ إعادة الاتصال… · {time}","pair.summary":"{categories} فئات · {count} اختصارات","pair.ready":"تم استلام النسخة الاحتياطية. أضفها إلى نسخك الاحتياطية.","pair.sending":"جارٍ الإرسال…","pair.sent":"تم الإرسال. أضف النسخة الاحتياطية على الشاشة الأخرى.","pair.applied":"تمت إضافة النسخة الاحتياطية.","pair.expired":"انتهت صلاحية رمز QR. أنشئ رمزًا جديدًا على الشاشة الأخرى.","pair.receiverExpired":"انتهت صلاحية رمز QR. أنشئ رمزًا جديدًا.","pair.notConfigured":"النقل المباشر غير متاح بعد. استخدم نسخة احتياطية من Telegra.ph.","pair.unsupported":"لا يدعم هذا المتصفح النقل المشفّر. استخدم نسخة احتياطية من Telegra.ph.","pair.invalidLink":"رمز QR للنقل غير صالح. امسح رمزًا جديدًا.","pair.invalidResponse":"أعادت خدمة النقل استجابة غير صالحة. جرّب رمز QR جديدًا.","pair.networkError":"تعذّر الاتصال. تحقّق من الشبكة وحاول مجددًا.","pair.timeout":"انتهت مهلة الاتصال. حاول مجددًا.","pair.unauthorized":"لم يعد هذا النقل مسموحًا. امسح رمز QR جديدًا.","pair.alreadySent":"تلقّى رمز QR هذا اختصارات بالفعل. أنشئ رمزًا جديدًا للمحاولة من جديد.","pair.tooLarge":"هذه الإعدادات أكبر من الحد المسموح للنقل المباشر. صدّرها إلى ملف JSON.","pair.invalidConfig":"الإعدادات المستلمة غير صالحة. تم الاحتفاظ باختصاراتك الحالية.","pair.decryptFailed":"تعذّرت قراءة هذا النقل. أنشئ رمز QR جديدًا.","pair.applyFailed":"تعذرت إضافة هذه النسخة الاحتياطية. أعد المحاولة.","pair.serviceUnavailable":"خدمة النقل غير متاحة مؤقتًا. حاول مجددًا بعد قليل.","pair.stepScan":"المسح","pair.stepSend":"الإرسال","pair.stepApply":"إضافة","pair.storageUnavailable":"تعذّر الحفظ على هذه الشاشة. تم الاحتفاظ باختصاراتك الحالية.","pair.undone":"تمت استعادة اختصاراتك السابقة.","pair.deliveryUnknown":"تحقق من الشاشة الأخرى: ربما وصلت اختصاراتك بالفعل. إن لم تصل، فأنشئ رمز QR جديدًا.","pair.offerButton":"الإرسال إلى هاتفي","pair.offerTitle":"اختصاراتي على هاتفي","pair.offerScanHint":"امسح رمز QR هذا بهاتفك.","pair.offerPreparing":"جارٍ التحضير للإرسال…","pair.offerWaiting":"جاهزة للاستلام على الهاتف · {time}","pair.offerExpired":"انتهت صلاحية رمز QR هذا. أنشئ رمزًا جديدًا.","pair.offerReady":"النسخة الاحتياطية جاهزة للاستلام.","pair.downloadTitle":"استقبال نسخة احتياطية","pair.downloading":"جارٍ استلام النسخة الاحتياطية…","pair.added":"تمت الإضافة إلى نسخك الاحتياطية.","pair.addFailed":"تعذرت إضافة هذه النسخة الاحتياطية. أعد المحاولة.","pair.downloadExpired":"انتهت صلاحية هذا النقل أو تم استلامه بالفعل. أنشئ رمز QR جديدًا على الشاشة الأخرى.","pair.offerQRAccessible":"رمز QR لاستقبال هذه النسخة الاحتياطية على الهاتف","prefs.title":"الشاشة الرئيسية","prefs.homeFavorites":"الفتح على المفضلة","prefs.visibleCategories":"الفئات المعروضة","prefs.saveFailed":"تُحفظ التفضيلات لهذه الجلسة فقط.","prefs.invalid":"هذه التفضيلات غير صالحة.","seo.introHeading":"بوابة اختصارات لسيارتك تسلا","seo.intro":"EvPortal بوابة مجانية ومستقلة تجمع مواقعك المفضلة في صفحة مصممة لمتصفح تسلا. يمكنك استخدامها أيضًا في متصفح الهاتف أو الكمبيوتر. تفتح الأيقونات الكبيرة الخدمات التي تختارها، دون ملء الشاشة الرئيسية بالنصوص أو الأدوات المصغرة. يمكنك تخصيص الاختصارات وفئاتها وترتيبها، ثم اختيار المظهر الفاتح أو الداكن. تبقى روابطك التي تحتاج إليها في مكان واحد يسهل الوصول إليه أثناء التوقف.","seo.startHeading":"البدء من متصفح السيارة","seo.start":"عندما تكون السيارة متوقفة، افتح عنوان EvPortal في متصفحها. احفظ الصفحة في مفضلة المتصفح إن كان هذا الخيار متاحًا لتعود إليها بسهولة. لا تحتاج إلى تثبيت تطبيق أو تسجيل الدخول إلى حساب تسلا لفتح البوابة. يفتح زر «+» الكتالوج لإدارة اختصاراتك. يمكنك اختيار اللغة والشاشة الرئيسية من الإعدادات. تبقى تفضيلاتك على هذا الجهاز، وتتيح لك النسخة الاحتياطية الاحتفاظ باختصاراتك أو نقلها إلى جهاز آخر.","seo.chargingHeading":"الوصول إلى خدماتك أثناء الشحن","seo.charging":"أضف روابط أدوات تخطيط الرحلات أو الشحن، ومحطات الراديو والموسيقى والطقس. الكتالوج موحّد للجميع ويضم فئات قابلة للطي، ويمكنك أيضًا إدخال عنوان موقع تختاره بنفسك. يفتح كل اختصار موقع الخدمة وفق شروط الوصول الخاصة بها. لا يتحكم EvPortal في الشحن ولا يرسل أوامر إلى السيارة. استخدم المحتوى الترفيهي أثناء التوقف.","seo.faqHeading":"الأسئلة الشائعة","seo.faqFreeQuestion":"هل EvPortal مجاني؟","seo.faqFreeAnswer":"نعم. البوابة مجانية وغير تابعة لتسلا. قد تتطلب بعض المواقع التي تفتحها حسابًا أو اشتراكًا؛ وتحدد كل خدمة شروطها بنفسها.","seo.faqPhoneQuestion":"كيف أجهّز اختصاراتي على الهاتف؟","seo.faqPhoneAnswer":"افتح EvPortal على الهاتف ونظّم اختصاراتك. في الإعدادات، يتيح قسم الهاتف النقل برمز QR في الاتجاهين. على الشاشة المستقبلة، يحفظ زر إضافة نسخة احتياطية. لاستخدام محتواها، اختر بعد ذلك نسخي الاحتياطية ثم استعادة. استلام النسخة وحده لا يستبدل اختصاراتك الحالية.","seo.faqOfflineQuestion":"هل يعمل EvPortal دون اتصال؟","seo.faqOfflineAnswer":"يحفظ المتصفح إعداداتك محليًا، لكن EvPortal لا يوفر وضعًا للعمل دون اتصال. تحتاج إلى اتصال لتحميل البوابة وفتح الخدمات ونقل النسخ الاحتياطية. يتيح لك ملف JSON الاحتفاظ بنسخة مستقلة لاستعادتها لاحقًا عند الحاجة.","seo.languages":"اللغات المتاحة","seo.operatingSystem":"الويب","seo.browserRequirements":"متصفح يدعم JavaScript والتخزين المحلي؛ ويتطلب النقل برمز QR اتصال HTTPS ووظائف تشفير.","seo.featureFavorites":"اختصارات ومفضلة قابلة للتخصيص","seo.featureDrag":"إعادة الترتيب بالسحب والإفلات على شاشة اللمس","seo.featureQR":"نقل النسخ الاحتياطية برمز QR مع الهاتف","seo.featureBackup":"نسخ احتياطية برمز أو رابط أو ملف JSON","share.tooLarge":"تتجاوز الإعدادات حد Telegra.ph البالغ 64 كيلوبايت. قلّل الروابط أو استخدم ملفًا.","share.noConnection":"الاتصال غير متاح في هذا المتصفح.","share.publishTimeout":"انتهت مهلة الطلب. تحقّق من «نسخي الاحتياطية» قبل المحاولة مجددًا.","share.timeout":"لا يستجيب Telegra.ph. حاول لاحقًا.","share.networkError":"تعذّر الاتصال بـ Telegra.ph. تحقق من اتصالك.","share.unavailable":"Telegra.ph غير متاح. حاول لاحقًا.","share.badResponse":"رد Telegra.ph غير قابل للقراءة. حاول لاحقًا.","share.rateLimited":"طلبات كثيرة جدًا. انتظر قبل المحاولة مجددًا.","share.invalidAccount":"حساب Telegra.ph غير متاح. حسابك السابق محفوظ.","share.refused":"رفض Telegra.ph هذا الطلب. حاول لاحقًا.","share.accountNotCreated":"لم يتم إنشاء حساب Telegra.ph. حاول لاحقًا.","share.invalidTitle":"اسم المشاركة غير صالح (256 حرفًا كحد أقصى).","share.sessionOnly":"الحساب محفوظ لهذه الجلسة فقط. احتفظ برابط المشاركة.","share.invalidPage":"موضع الصفحة غير صالح.","share.badHistory":"قائمة Telegra.ph غير قابلة للقراءة.","share.localPreview":"معاينة محلية: استخدم عنوان الشبكة لهذه المعاينة على هاتفك.","share.localPreviewOld":"معاينة محلية: للاختبار على الهاتف، استخدم عنوان شبكة متاحًا لهذه المعاينة. يعرض العنوان العام الإصدار المنشور، الذي قد يختلف عن هذه المعاينة.","share.qrLabel":"امسح بهاتف لفتح اختصارات EvPortal هذه","share.qrAddressUnavailable":"رمز QR غير متاح لهذا العنوان. انسخ الرابط.","share.qrUnavailable":"رمز QR غير متاح. انسخ الرابط.","share.publishing":"جارٍ الحفظ…","share.publish":"إنشاء نسختي الاحتياطية","share.created":"تم إنشاء النسخة الاحتياطية.","share.copyUnavailable":"النسخ غير متاح. حدد النص لنسخه يدويًا.","share.linkCopied":"تم نسخ الرابط.","share.codeCopied":"تم نسخ الرمز.","share.import":"استيراد","share.importNamed":"استيراد {name}","share.more":"عرض المزيد","share.empty":"لا توجد نسخ احتياطية.","share.secureRandomUnavailable":"تعذّر إنشاء رابط مشاركة عشوائي في هذا المتصفح. استخدم متصفحًا حديثًا.","share.unsafePath":"لم يحتفظ Telegra.ph بالمعرّف العشوائي. لم تُنشر أي إعدادات.","share.deleteNamed":"حذف {name}","share.deleted":"تم حذف النسخة الاحتياطية.","share.noAccount":"لا يتوفر حساب للنسخ الاحتياطية في هذا المتصفح.","state.fullURL":"استخدم عنوانًا كاملًا يبدأ بـ https:// أو http:// دون مسافات.","state.invalidURL":"عنوان الموقع غير صالح.","state.safeURL":"يجب أن تستخدم الروابط HTTP أو HTTPS وألا تتضمن بيانات تسجيل الدخول.","state.invalidID":"معرّف الفئة أو الاختصار غير صالح.","state.shortcutObject":"يجب أن يكون كل اختصار كائنًا.","state.duplicateShortcut":"يوجد اختصاران لهما المعرّف نفسه.","state.favoriteBoolean":"يجب أن تكون قيمة المفضلة منطقية.","state.invalidColor":"لون الاختصار غير صالح.","state.invalidCount":"عداد استخدام الاختصار غير صالح.","state.invalidFormat":"تنسيق EvPortal غير معروف أو إصدار النسخة غير متوافق.","state.tooManyCategories":"تتجاوز النسخة 50 فئة.","state.invalidCategory":"الفئة غير صالحة.","state.reservedCategory":"معرّف الفئة محجوز أو مكرر.","state.invalidIcon":"أيقونة الفئة غير صالحة.","state.tooManyShortcuts":"تتجاوز النسخة 5000 اختصار.","state.invalidTheme":"سمة النسخة غير صالحة.","state.missingCategory":"تعذر العثور على الفئة النشطة في النسخة.","state.invalidOrder":"ترتيب الاختصارات غير صالح.","state.backupObject":"يجب أن تكون النسخة كائن JSON.","state.invalidLegacyList":"قائمة الفئات القديمة غير صالحة.","state.duplicateCategories":"تحتوي القائمة على فئات مكررة.","state.foreignData":"تحتوي النسخة على بيانات لا تتعلق بفئات EvPortal.","state.invalidLegacyShortcut":"الاختصار القديم غير صالح.","state.invalidShortcutOrder":"موضع الاختصار غير صالح.","state.largeFile":"يتجاوز الملف الحد الأقصى البالغ 2 ميغابايت.","state.invalidJSON":"لا يحتوي الملف على JSON صالح.","state.storageUnavailable":"التخزين غير متاح","state.invalidLegacyCategories":"الفئات القديمة غير صالحة","state.reservedLegacyCategory":"الفئة القديمة محجوزة","state.invalidMove":"نقل الاختصار غير صالح.","state.telegraphLink":"استخدم رابط telegra.ph أو معرّف الصفحة.","state.telegraphID":"معرّف صفحة Telegra.ph غير صالح.","state.portalLink":"استخدم رابط EvPortal يحتوي على رمز مشاركة واحد فقط.","state.invalidField":"الحقل «{field}» غير صالح (الحد الأقصى {max} حرفًا).","state.invalidFieldShort":"الحقل «{field}» غير صالح.","state.urlLabel":"عنوان الموقع","state.shortcutName":"اسم الاختصار","state.shortcutDescription":"وصف الاختصار","state.shortcutTag":"وسم الاختصار","state.categoryName":"اسم الفئة","state.categoryDescription":"وصف الفئة","state.catalogVersion":"إصدار الكتالوج","state.telegraphIDLabel":"معرّف Telegra.ph","state.shareCodeLabel":"رابط المشاركة أو رمزها","state.invalidCategoryShortcuts":"الاختصارات في الفئة «{name}» غير صالحة.","state.storageWarning":"النسخة المحلية غير متاحة أو غير قابلة للقراءة. تم الاحتفاظ ببياناتك السابقة. تغييرات هذه الجلسة مؤقتة: صدّرها بصيغة JSON.","static.title":"EvPortal — اختصارات وصفحة بداية لمتصفح تسلا","static.skip":"الانتقال إلى الاختصارات","static.tagline":" — اختصارات لتسلا","static.fullscreen":"ملء الشاشة","static.share":"مشاركة","static.edit":"تعديل","static.add":"إضافة","static.searchLabel":"البحث عن اختصار","static.dragInstructions":"مسافة للتحديد، الأسهم للنقل، Enter للإفلات، Escape للإلغاء.","static.reorder":"اسحب الاختصارات لتغيير ترتيبها.","static.video":"سينما","static.javascript":"فعّل JavaScript لتخصيص اختصاراتك.","static.help":"مساعدة","static.settings":"الإعدادات","static.language":"اللغة","static.createShortcut":"إنشاء اختصار","static.createCategory":"إنشاء فئة","static.importTelegraph":"استيراد نسخة احتياطية","static.theater":"فتح وضع مسرح تسلا","static.moreOptions":"خيارات إضافية","static.exportJSON":"حفظ ملف JSON","static.reset":"إعادة تعيين الاختصارات","static.about":"المساعدة والمعلومات","static.newCategory":"فئة جديدة","static.name":"الاسم","static.icon":"الأيقونة","static.cancel":"إلغاء","static.create":"إنشاء","static.newShortcut":"اختصار جديد","static.website":"عنوان الموقع","static.category":"الفئة","static.restore":"استيراد نسخة احتياطية","static.shareInput":"رمز أو رابط","static.load":"تحميل اختصاراتي","static.importJSON":"استيراد ملف JSON","static.jsonFile":"ملف JSON","static.close":"إغلاق","static.use":"استخدام هذه الاختصارات","static.shareTitle":"تصدير نسخة احتياطية","static.backupName":"الاسم (اختياري)","static.public":"ستكون هذه النسخة الاحتياطية عامة.","static.portalAddress":"عنوان EvPortal","static.otherAddress":"عنوان EvPortal على الشاشة الأخرى","static.publish":"إنشاء نسختي الاحتياطية","static.scan":"امسح الرمز بهاتفك.","static.carCode":"الرمز المطلوب إدخاله في تسلا","static.copyCode":"نسخ الرمز","static.importHint":"Tesla: الإعدادات ← النسخ الاحتياطية ← استيراد نسخة احتياطية.","static.copyLink":"نسخ الرابط","static.sharedLinks":"نسخي الاحتياطية","static.showBackups":"تحديث","static.addShortcuts":"الكتالوج","static.searchService":"البحث عن خدمة","static.home":"EvPortal، الرئيسية","static.search":"بحث","static.enterFullscreen":"تفعيل ملء الشاشة","static.shareAccessible":"تصدير نسخة احتياطية","static.addAccessible":"إضافة اختصار أو فئة","static.clearSearch":"مسح البحث","static.categories":"الفئات","static.qrAccessible":"رمز QR لاستعادة اختصاراتك","static.searchPlaceholder":"بحث…","static.tripsPlaceholder":"رحلاتي","static.servicePlaceholder":"خدمتي","static.urlPlaceholder":"https://example.com","static.codePlaceholder":"رمز أو رابط EvPortal","static.defaultBackup":"اختصاراتي في EvPortal","static.description":"خصّص بوابة تسلا باختصارات للشحن والموسيقى والطقس، مع المفضلة والنسخ الاحتياطية. مجانية، وتتيح نقل النسخ من الهاتف عبر رمز QR.","static.socialTitle":"EvPortal — اختصارات وصفحة بداية لمتصفح تسلا","static.socialDescription":"خصّص بوابة تسلا باختصارات للشحن والموسيقى والطقس، مع المفضلة والنسخ الاحتياطية. مجانية، وتتيح نقل النسخ من الهاتف عبر رمز QR.","static.previewAlt":"EvPortal: اختصارات للشحن والموسيقى والبث والملاحة.","static.twitterDescription":"خصّص بوابة تسلا باختصارات للشحن والموسيقى والطقس، مع المفضلة والنسخ الاحتياطية. مجانية، وتتيح نقل النسخ من الهاتف عبر رمز QR.","static.twitterAlt":"اختصارات EvPortal في الوضع الداكن.","static.nameBackup":"تسمية النسخة الاحتياطية","static.undoTransfer":"التراجع عن آخر نقل","static.backups":"النسخ الاحتياطية","static.exportBackup":"تصدير نسخة احتياطية","static.importBackup":"استيراد نسخة احتياطية"},"pt":{"app.startFailed":"Não foi possível iniciar o portal. Recarrega a página para tentar novamente.","app.storageUnavailable":"O armazenamento local está indisponível ou cheio. Exporta a configuração para guardar as alterações.","app.storageRecovery":"A cópia local está indisponível ou ilegível. Os dados anteriores foram preservados. Exporta esta sessão antes de fechar.","app.all":"Todos","app.favorites":"Favoritos","app.move":"Mover {name}","app.previousMoveCancelled":"Movimento anterior cancelado.","app.moveSelected":"{name} selecionado. Usa as setas para mover, Enter para largar e Escape para cancelar.","app.moveCancelled":"Movimento cancelado.","app.movePosition":"{name}, posição {position} de {count}.","app.orderSaved":"Ordem guardada.","app.editCategory":"Editar categoria {name}","app.deleteCategory":"Eliminar categoria {name}","app.confirmDeleteCategory":"Eliminar «{name}» e os seus {count} atalhos?","app.categoryDeleted":"Categoria eliminada.","app.openNewTab":"{name} — novo separador","app.removeFavorite":"Remover {name} dos favoritos","app.addFavorite":"Adicionar {name} aos favoritos","app.favoriteAdded":"{name} adicionado aos favoritos.","app.favoriteRemoved":"{name} removido dos favoritos.","app.editShortcut":"Editar {name}","app.deleteShortcut":"Eliminar {name}","app.confirmDeleteShortcut":"Eliminar o atalho «{name}»?","app.shortcutDeleted":"Atalho eliminado.","app.allShortcuts":"Todos os atalhos","app.allDescription":"Todos os teus serviços e atalhos num só lugar.","app.searchResults":"Resultados da pesquisa","app.searchDescription":"Pesquisa de «{query}» em todas as categorias.","app.myFavorites":"Os meus favoritos","app.favoritesDescription":"Os teus essenciais, sempre à mão.","app.categoryDescription":"Os teus atalhos nesta categoria.","app.shortcutCount":"{count} atalhos","app.shortcutCountOne":"{count} atalho","app.noShortcuts":"Nenhum atalho encontrado","app.emptyFavorites":"Guarda aqui os teus essenciais","app.emptyCategory":"Uma página à tua medida","app.searchHint":"Experimenta outro nome, domínio ou palavra-chave.","app.favoriteHint":"Toca na estrela de um atalho para o adicionar aos favoritos.","app.emptyHint":"Adiciona atalhos do catálogo ou cria os teus.","app.clearSearch":"Limpar pesquisa","app.exploreCatalog":"Explorar catálogo","app.usageOrderHint":"Todos: os mais usados primeiro. Para mover um atalho, abre a respetiva categoria ou Favoritos.","app.dragHint":"Arrasta os atalhos para os reordenar.","app.finishEditing":"Terminar edição","app.editShortcuts":"Editar atalhos","app.finish":"Concluir","app.edit":"Editar","app.categoryRequired":"Cria primeiro uma categoria para adicionar o teu atalho.","app.editShortcutTitle":"Editar atalho","app.addShortcutTitle":"Adicionar atalho","app.save":"Guardar","app.addShortcutSubmit":"Adicionar atalho","app.editCategoryTitle":"Editar categoria","app.newCategory":"Nova categoria","app.create":"Criar","app.categoryLimitHint":"Limite atingido: {max} categorias pessoais. Edita ou elimina uma categoria existente.","app.categoryCountHint":"{count}/{max} categorias pessoais · Máximo de {length} caracteres.","app.categoryGone":"Esta categoria foi eliminada noutro separador. Fecha o formulário e tenta novamente.","app.categoryNameInvalid":"Introduz um nome com 1 a {max} caracteres.","app.categoryLimit":"Foi atingido o limite de {max} categorias pessoais.","app.categoryDuplicate":"Já existe uma categoria com este nome.","app.iconRequired":"Escolhe um dos ícones disponíveis.","app.categoryDescriptionInvalid":"A descrição deve ter no máximo 240 caracteres.","app.categoryChanged":"Categoria alterada.","app.categoryCreated":"Categoria criada.","app.selectCategory":"Escolhe uma categoria existente.","app.shortcutGone":"Este atalho foi eliminado noutro separador. Fecha o formulário e tenta novamente.","app.shortcutLimit":"Foi atingido o limite de 5 000 atalhos.","app.shortcutFieldsInvalid":"Verifica o nome (até 100 caracteres) e a descrição (até 300).","app.shortcutDuplicate":"Esta ligação já existe. Altera as suas categorias para a mostrar noutros locais.","app.shortcutChanged":"Atalho alterado.","app.shortcutAdded":"Atalho adicionado.","app.alreadyPresentNamed":"Já adicionado: {name}","app.addNamed":"Adicionar {name}","app.alreadyPresent":"Já adicionado","app.add":"Adicionar","app.totalCategoryLimit":"Foi atingido o limite de 50 categorias.","app.addedToCategory":"{name} adicionado a {category}.","app.noServices":"Nenhum serviço corresponde à pesquisa.","app.catalogComplete":"Gira os seus atalhos ou crie os seus próprios.","app.catalogHint":"Gira os seus atalhos ou crie os seus próprios.","app.sharedConfig":"Adiciona às tuas cópias sem alterar os atalhos.","app.importPreview":"Categorias: {categories} · Atalhos: {count}","app.fileTooLarge":"O ficheiro excede o limite de 2 MB.","app.loadingConfig":"A carregar configuração…","app.telegraphNotReturned":"O Telegra.ph não devolveu esta página. Verifica o código.","app.pageTooLarge":"Esta página é demasiado grande para importar.","app.telegraphUnreadable":"Esta página Telegra.ph não foi encontrada ou está ilegível.","app.noConfigInPage":"A página não contém uma configuração EvPortal.","app.connectionTimeout":"O tempo de ligação expirou. Tenta novamente dentro de instantes.","app.imported":"Configuração importada.","app.exportReady":"Exportação JSON pronta. Guarda o ficheiro para recuperar os atalhos noutro dispositivo.","app.exportFailed":"Não foi possível preparar o ficheiro de cópia de segurança.","app.confirmReset":"Restaurar o catálogo inicial? Os atalhos pessoais e favoritos serão substituídos. Exporta-os antes de continuar.","app.catalogReset":"Catálogo inicial restaurado.","app.switchToLight":"Mudar para o modo claro","app.switchToDark":"Mudar para o modo escuro","app.fullscreenReload":"Recarrega a página para ativar o ecrã inteiro.","app.fullscreenUnavailable":"O ecrã inteiro não está disponível neste navegador.","app.exitFullscreen":"Sair do ecrã inteiro","app.enterFullscreen":"Abrir em ecrã inteiro","app.syncedFromTab":"As alterações de outro separador foram carregadas.","app.unreadableTabState":"A cópia recebida de outro separador está ilegível. A sessão atual foi preservada.","app.legacyRecovered":"Os teus atalhos anteriores foram recuperados.","app.catalogUpdated":"Foram atualizados {count} endereços do catálogo.","app.invalidConfig":"Esta configuração é inválida ou incompatível. Verifica o ficheiro ou código e tenta novamente.","app.invalidShortcutURL":"Usa um endereço completo começado por https:// ou http://, sem espaços nem credenciais.","app.invalidImportCode":"Usa um código Telegra.ph, um endereço telegra.ph ou uma ligação de partilha EvPortal válida.","app.connectionFailed":"Não foi possível ligar. Verifica a rede e tenta novamente.","app.icon.all":"Grelha","app.icon.favorites":"Estrela","app.icon.cinema":"Vídeo","app.icon.music":"Música","app.icon.tv":"Televisão","app.icon.charging":"Carregamento","app.icon.games":"Jogos","app.icon.navigation":"Viagens","app.icon.social":"Mensagens","app.icon.news":"Notícias","app.icon.weather":"Tempo","app.icon.productivity":"Ferramentas","app.icon.folder":"Pasta","app.otherCategories":"Outras categorias","app.moreIcons":"Mais ícones","app.remove":"Remover","app.removeCatalogNamed":"Remover {name}","app.catalogRemoved":"{name} removido.","app.icon.home":"Casa","app.icon.car":"Carro","app.icon.parking":"Estacionamento","app.icon.map":"Mapa","app.icon.globe":"Globo","app.icon.compass":"Bússola","app.icon.coffee":"Café","app.icon.food":"Comida","app.icon.shopping":"Compras","app.icon.heart":"Coração","app.icon.camera":"Câmara","app.icon.tools":"Bricolagem","backup.links":"Código ou ligação","backup.phone":"Telemóvel","backup.library":"As minhas cópias","backup.create":"Criar","backup.add":"Adicionar","backup.send":"Enviar","backup.receive":"Receber","backup.restore":"Restaurar","backup.createTitle":"Criar um código ou uma ligação","backup.addTitle":"Adicionar uma cópia","backup.restoreTitle":"Restaurar uma cópia","backup.chooseTitle":"Escolher uma cópia","backup.code":"Código","backup.link":"Ligação EvPortal","backup.copyCode":"Copiar código","backup.addHint":"Adiciona às tuas cópias sem alterar os atalhos.","backup.added":"Cópia adicionada.","backup.restored":"Cópia restaurada.","backup.local":"Neste dispositivo","backup.online":"Online","backup.empty":"Sem cópias guardadas.","backup.receivedTitle":"Atalhos recebidos","backup.fileTitle":"Cópia importada","backup.deleteNamed":"Eliminar «{name}»","backup.deleted":"Cópia eliminada.","backup.savedSummary":"Categorias: {categories} · Atalhos: {count}","backup.load":"Verificar","backup.restoreHint":"Substitui os atalhos deste dispositivo.","backup.selected":"Cópia selecionada","backup.choose":"Escolher","backup.localCopy":"Cópia guardada neste dispositivo.","backup.undoRestore":"Anular a última restauração","backup.storageUnavailable":"O armazenamento de cópias está indisponível ou cheio.","backup.invalidLibrary":"Não é possível ler a biblioteca de cópias. Os dados existentes foram mantidos.","backup.invalidBackup":"Esta cópia é inválida.","backup.limit":"Podes guardar até {max} cópias neste dispositivo.","backup.tooLarge":"Esta cópia ultrapassa {max} MB.","backup.missing":"Esta cópia já não está disponível.","backup.retry":"Tentar novamente","category.all":"Todos","category.favorites":"Favoritos","category.cinema":"Vídeo","category.music":"Música","category.tv":"TV","category.charging":"Carregamento","category.games":"Jogos","category.navigation":"Viagens","category.social":"Social","category.news":"Notícias","category.weather":"Tempo","category.productivity":"Ferramentas","category.folder":"Pasta","help.title":"Guia EvPortal — Navegador Tesla, atalhos e cópias de segurança","help.description":"Abra o EvPortal no navegador Tesla, organize os favoritos e transfira cópias por código, ligação ou QR. Saiba como começar e restaurar os seus atalhos.","help.language":"Idioma","help.back":"Voltar aos atalhos","help.heading":"Guia do EvPortal para o navegador Tesla","help.intro":"Toque num atalho para abrir o serviço num novo separador. O tema escuro é o predefinido; depois é guardada a sua escolha entre claro e escuro. Os oito idiomas estão disponíveis nas Definições, com os nomes originais e as bandeiras; o árabe é apresentado da direita para a esquerda.","help.organizeHeading":"Organizar os atalhos","help.ranking":"Todos apresenta primeiro os atalhos mais abertos. Em caso de empate, mantém a sua ordem manual. A classificação fica guardada após recarregar a página.","help.dragging":"Numa categoria ou nos Favoritos, toque em Editar e mova os atalhos pelas pegas. A estrela adiciona um favorito e o lápis permite editar. Toque em Concluir quando terminar. Todos mantém a classificação automática.","help.keyboard":"Com o teclado, selecione uma pega, prima Espaço, mova com as setas e confirme com Enter. Escape cancela.","help.addHeading":"Adicionar um atalho ou uma categoria","help.adding":"O botão «+» abre o mesmo catálogo para todos. Expanda ou recolha uma categoria e use Adicionar ou Remover num serviço. Criar um atalho e Criar uma categoria estão no topo do catálogo. A lupa pesquisa em todos os seus atalhos.","help.categories":"Crie até cinco categorias pessoais com nomes até 16 caracteres e um ícone à escolha. Mais ícones abre as opções adicionais. O lápis permite editar uma categoria. As categorias antigas que ultrapassam estes limites são mantidas. As categorias visíveis distribuem-se sem deslocamento horizontal.","help.transferHeading":"Telemóvel: enviar ou receber","help.stepPrepare":"Em Definições → Cópias de segurança → Telemóvel, escolhe Enviar ou Receber.","help.stepPublish":"Lê o QR apresentado com o telemóvel.","help.stepCode":"Para enviar a partir do telemóvel, escolhe os seus atalhos ou uma cópia e toca em Enviar.","help.stepImport":"No ecrã que recebe, toca em Adicionar para guardar a cópia nesse dispositivo.","help.stepApply":"Para usar o seu conteúdo, abre As minhas cópias → Restaurar.","help.qr":"O QR serve para transferências com o telemóvel. Criar um código ou uma ligação não apresenta um QR.","help.snapshot":"A transferência é cifrada e válida durante cinco minutos quando o serviço está disponível. Envia uma cópia do momento, sem sincronização automática. Receber uma cópia não substitui os teus atalhos.","help.public":"Em Definições → Cópias de segurança → Código ou ligação, Criar prepara um código e uma ligação EvPortal para copiar. Adicionar aceita qualquer um e guarda uma cópia local após validação. Os ficheiros JSON continuam disponíveis em Mais opções. A página Telegra.ph criada é pública; a cópia local e a página online são distintas.","help.fullscreenHeading":"Ecrã inteiro Tesla","help.fullscreen":"Com o veículo estacionado, toque em Ecrã inteiro. No YouTube, escolha Ir para o site ou Go to site para voltar ao EvPortal no modo Cinema. Os atalhos pedem um novo separador, cujo comportamento depende do navegador do veículo.","help.fullscreenFallback":"Se o Tesla não for reconhecido, escolha Abrir o modo Cinema Tesla nas definições. Num computador, o botão utiliza o ecrã inteiro normal. O redirecionamento pode mudar com atualizações do veículo ou do YouTube.","help.compatibility":"Abrir um site não garante a reprodução de vídeo: o país, a conta, a subscrição e o navegador podem limitá-la. Use o entretenimento com o veículo estacionado.","help.teslaManual":"Manual Tesla","help.myTesla":"Método descrito pelo myTesla","help.storageHeading":"Restaurar uma cópia","help.storage":"Em Definições → Cópias de segurança → As minhas cópias → Restaurar, escolhe uma cópia em Neste dispositivo ou Online e verifica o conteúdo. Só Restaurar substitui os atalhos. Mais opções nas Definições permite anular a última restauração. Adicionar um código, ligação, ficheiro ou transferência QR guarda uma cópia sem a aplicar. Cada navegador mantém a sua própria lista local.","help.previewHeading":"Testar uma pré-visualização local","help.preview":"O QR usa o endereço do portal aberto. Num telemóvel, localhost ou 127.0.0.1 refere-se ao próprio telemóvel. Para testar entre dispositivos, ambos têm de aceder ao portal e ao serviço de transferência por HTTPS. Os códigos e ligações das cópias usam o endereço público do EvPortal.","help.privacyHeading":"Sobre o projeto e privacidade","help.privacy":"O EvPortal é gratuito e não está associado à Tesla. Os logótipos e as traduções estão incluídos no site. Os contadores de aberturas ficam na sua configuração, sem serviços de análise. O Telegra.ph é contactado a seu pedido; o token da conta fica separado da partilha. Os sites abertos aplicam as suas próprias políticas.","help.source":"Código-fonte","help.report":"Comunicar um problema","help.license":"EvPortal · Licença MIT","help.backupHeading":"Código ou ligação","help.preferencesHeading":"Escolher a vista inicial","help.preferences":"Em Definições → Início, escolha as categorias visíveis e se pretende abrir os favoritos ao iniciar. Estas preferências ficam neste dispositivo e não são incluídas nas cópias ou transferências QR. O catálogo é gerido através do botão «+».","help.sharedServices":"Um serviço pode aparecer em várias categorias com um único estado de favorito e contador; Todos apresenta-o uma só vez. Em Editar, abre Outras categorias para escolher onde aparece. Eliminar uma categoria mantém os serviços que também pertencem a outra categoria.","pair.receiveButton":"Receber do meu telemóvel","pair.receiveTitle":"Receber do meu telemóvel","pair.scanHint":"Lê este código QR com o telemóvel.","pair.qrAccessible":"Código QR para transferir para este ecrã","pair.apply":"Adicionar","pair.newQR":"Novo código QR","pair.sendTitle":"Enviar para o Tesla","pair.send":"Enviar os meus atalhos","pair.chooseBackup":"Escolher uma cópia","pair.sendHint":"Os atalhos deste telemóvel serão propostos no outro ecrã.","pair.privateHint":"Transferência cifrada, válida durante 5 minutos.","pair.preparing":"A preparar o código QR…","pair.waiting":"À espera do telemóvel · {time}","pair.retrying":"A restabelecer ligação… · {time}","pair.summary":"{categories} categorias · {count} atalhos","pair.ready":"Cópia recebida. Adiciona-a às tuas cópias.","pair.sending":"A enviar…","pair.sent":"Enviado. Adiciona a cópia no outro ecrã.","pair.applied":"Cópia adicionada.","pair.expired":"Este código QR expirou. Cria um novo no outro ecrã.","pair.receiverExpired":"Este código QR expirou. Cria um novo.","pair.notConfigured":"A transferência direta ainda não está disponível. Usa uma cópia Telegra.ph.","pair.unsupported":"Este navegador não permite transferências cifradas. Usa uma cópia Telegra.ph.","pair.invalidLink":"Este código QR de transferência é inválido. Lê um novo código.","pair.invalidResponse":"O serviço de transferência devolveu uma resposta inválida. Tenta com um novo código QR.","pair.networkError":"Não foi possível ligar. Verifica a rede e tenta novamente.","pair.timeout":"A ligação expirou. Tenta novamente.","pair.unauthorized":"Esta transferência já não está autorizada. Lê um novo código QR.","pair.alreadySent":"Este código QR já recebeu atalhos. Cria um novo para recomeçar.","pair.tooLarge":"Esta configuração é demasiado grande para a transferência direta. Exporta-a para um ficheiro JSON.","pair.invalidConfig":"A configuração recebida é inválida. Os teus atalhos atuais foram mantidos.","pair.decryptFailed":"Não foi possível ler esta transferência. Cria um novo código QR.","pair.applyFailed":"Não foi possível adicionar esta cópia. Tenta novamente.","pair.serviceUnavailable":"O serviço de transferência está temporariamente indisponível. Tenta novamente dentro de instantes.","pair.stepScan":"Ler","pair.stepSend":"Enviar","pair.stepApply":"Adicionar","pair.storageUnavailable":"Não foi possível guardar neste ecrã. Os teus atalhos atuais foram mantidos.","pair.undone":"Os atalhos anteriores foram restaurados.","pair.deliveryUnknown":"Verifica o outro ecrã: os teus atalhos podem já ter sido recebidos. Caso contrário, cria um novo código QR.","pair.offerButton":"Enviar para o meu telemóvel","pair.offerTitle":"Os meus atalhos no telemóvel","pair.offerScanHint":"Lê este código QR com o telemóvel.","pair.offerPreparing":"A preparar o envio…","pair.offerWaiting":"Pronta a receber no telemóvel · {time}","pair.offerExpired":"Este código QR expirou. Cria um novo.","pair.offerReady":"Cópia pronta a receber.","pair.downloadTitle":"Receber uma cópia","pair.downloading":"A recuperar a cópia…","pair.added":"Cópia adicionada às tuas cópias.","pair.addFailed":"Não foi possível adicionar esta cópia. Tenta novamente.","pair.downloadExpired":"Esta transferência expirou ou já foi recebida. Cria um novo código QR no outro ecrã.","pair.offerQRAccessible":"Código QR para receber esta cópia no telemóvel","prefs.title":"Início","prefs.homeFavorites":"Abrir nos meus favoritos","prefs.visibleCategories":"Categorias visíveis","prefs.saveFailed":"As preferências são guardadas apenas nesta sessão.","prefs.invalid":"Estas preferências são inválidas.","seo.introHeading":"Um portal de atalhos para o seu Tesla","seo.intro":"O EvPortal é um portal gratuito e independente que reúne os seus sites favoritos numa página pensada para o navegador Tesla. Também pode utilizá-lo num navegador no telemóvel ou computador. Os ícones grandes abrem os serviços escolhidos sem encher o ecrã inicial de textos ou widgets. Pode personalizar os atalhos, as categorias e a sua ordem, e escolher um tema claro ou escuro.","seo.startHeading":"Começar no navegador do veículo","seo.start":"Com o veículo estacionado, abra o endereço do EvPortal no navegador do carro. Guarde-o nos favoritos do navegador, se essa opção estiver disponível, para o encontrar facilmente. Não precisa de instalar uma aplicação nem de iniciar sessão numa conta Tesla para abrir o portal. O botão «+» abre o catálogo para gerir os seus atalhos. Nas Definições, escolha o idioma e a vista inicial. As preferências ficam neste dispositivo; uma cópia permite guardar ou transferir os seus atalhos.","seo.chargingHeading":"Encontrar os seus serviços durante um carregamento","seo.charging":"Adicione ligações aos seus planeadores de viagens ou carregamento, estações de rádio, música e meteorologia. O catálogo é igual para todos, com categorias recolhíveis; também pode introduzir um endereço à sua escolha. Cada atalho abre o site do serviço, com as suas próprias condições de acesso. O EvPortal não controla o carregamento nem envia comandos ao veículo. Utilize os conteúdos de entretenimento com o veículo estacionado.","seo.faqHeading":"Perguntas frequentes","seo.faqFreeQuestion":"O EvPortal é gratuito?","seo.faqFreeAnswer":"Sim. O portal é gratuito e não tem afiliação com a Tesla. Alguns sites abertos podem exigir uma conta ou subscrição; essas condições dependem do serviço.","seo.faqPhoneQuestion":"Como preparo os meus atalhos no telemóvel?","seo.faqPhoneAnswer":"Abra o EvPortal no telemóvel e organize os atalhos. Nas Definições, Telemóvel permite transferências QR nos dois sentidos. No ecrã que recebe, Adicionar guarda uma cópia. Para utilizar o seu conteúdo, escolha depois As minhas cópias e Restaurar. A receção, por si só, não substitui os seus atalhos.","seo.faqOfflineQuestion":"O EvPortal funciona sem ligação à Internet?","seo.faqOfflineAnswer":"O navegador guarda a configuração localmente, mas o EvPortal não oferece um modo sem ligação. Precisa de uma ligação para carregar o portal, abrir serviços e transferir cópias. Um ficheiro JSON permite guardar uma cópia independente para restaurar mais tarde.","seo.languages":"Idiomas disponíveis","seo.operatingSystem":"Web","seo.browserRequirements":"Navegador com JavaScript e armazenamento local; HTTPS e funções criptográficas para transferências QR.","seo.featureFavorites":"Atalhos e favoritos personalizáveis","seo.featureDrag":"Reordenação por arrastar e largar no ecrã tátil","seo.featureQR":"Transferência de cópias por QR com um telemóvel","seo.featureBackup":"Cópias por código, ligação ou ficheiro JSON","share.tooLarge":"A configuração excede o limite de 64 KB do Telegra.ph. Reduz as ligações ou usa um ficheiro.","share.noConnection":"A ligação está indisponível neste navegador.","share.publishTimeout":"O tempo de espera terminou. Verifica As minhas cópias antes de tentar novamente.","share.timeout":"O Telegra.ph não responde. Tenta mais tarde.","share.networkError":"Não foi possível ligar ao Telegra.ph. Verifica a ligação.","share.unavailable":"O Telegra.ph está indisponível. Tenta mais tarde.","share.badResponse":"A resposta do Telegra.ph é ilegível. Tenta mais tarde.","share.rateLimited":"Demasiados pedidos. Aguarda antes de tentar novamente.","share.invalidAccount":"A conta Telegra.ph está indisponível. A conta anterior foi preservada.","share.refused":"O Telegra.ph recusou o pedido. Tenta mais tarde.","share.accountNotCreated":"A conta Telegra.ph não foi criada. Tenta mais tarde.","share.invalidTitle":"Nome de partilha inválido (até 256 caracteres).","share.sessionOnly":"A conta só é guardada durante esta sessão. Guarda a ligação de partilha.","share.invalidPage":"Posição de página inválida.","share.badHistory":"A lista do Telegra.ph é ilegível.","share.localPreview":"Pré-visualização local: usa o endereço de rede desta pré-visualização no telemóvel.","share.localPreviewOld":"Pré-visualização local: para testar no telemóvel, usa um endereço de rede acessível desta pré-visualização. O endereço público apresenta a versão publicada, que pode diferir desta pré-visualização.","share.qrLabel":"Lê com um telemóvel para abrir estes atalhos EvPortal","share.qrAddressUnavailable":"Código QR indisponível para este endereço. Copia a ligação.","share.qrUnavailable":"Código QR indisponível. Copia a ligação.","share.publishing":"A guardar…","share.publish":"Criar a minha cópia","share.created":"Cópia criada.","share.copyUnavailable":"Não é possível copiar. Seleciona o texto para o copiar manualmente.","share.linkCopied":"Ligação copiada.","share.codeCopied":"Código copiado.","share.import":"Importar","share.importNamed":"Importar {name}","share.more":"Ver mais","share.empty":"Sem cópias.","share.secureRandomUnavailable":"Não é possível gerar uma ligação de partilha aleatória neste navegador. Utiliza um navegador recente.","share.unsafePath":"O Telegra.ph não manteve o identificador aleatório. Não foi publicada nenhuma configuração.","share.deleteNamed":"Eliminar {name}","share.deleted":"Cópia eliminada.","share.noAccount":"Não existe uma conta de cópias disponível neste navegador.","state.fullURL":"Use um endereço completo que comece por https:// ou http://, sem espaços.","state.invalidURL":"Este endereço não é válido.","state.safeURL":"As ligações devem usar HTTP ou HTTPS, sem dados de acesso no endereço.","state.invalidID":"Identificador de categoria ou atalho inválido.","state.shortcutObject":"Cada atalho deve ser um objeto.","state.duplicateShortcut":"Dois atalhos têm o mesmo identificador.","state.favoriteBoolean":"O valor de favorito deve ser booleano.","state.invalidColor":"Cor do atalho inválida.","state.invalidCount":"Contador de utilização do atalho inválido.","state.invalidFormat":"Formato EvPortal desconhecido ou versão da cópia incompatível.","state.tooManyCategories":"A cópia excede 50 categorias.","state.invalidCategory":"Categoria inválida.","state.reservedCategory":"Identificador de categoria reservado ou duplicado.","state.invalidIcon":"Ícone da categoria inválido.","state.tooManyShortcuts":"A cópia excede 5000 atalhos.","state.invalidTheme":"Tema da cópia inválido.","state.missingCategory":"A categoria ativa da cópia não foi encontrada.","state.invalidOrder":"Ordem dos atalhos inválida.","state.backupObject":"A cópia deve ser um objeto JSON.","state.invalidLegacyList":"A lista de categorias antigas é inválida.","state.duplicateCategories":"A lista contém categorias duplicadas.","state.foreignData":"A cópia contém dados alheios às categorias EvPortal.","state.invalidLegacyShortcut":"Atalho antigo inválido.","state.invalidShortcutOrder":"Posição do atalho inválida.","state.largeFile":"O ficheiro excede o limite de 2 MB.","state.invalidJSON":"O ficheiro não contém JSON válido.","state.storageUnavailable":"Armazenamento indisponível","state.invalidLegacyCategories":"Categorias antigas inválidas","state.reservedLegacyCategory":"Categoria antiga reservada","state.invalidMove":"Movimento do atalho inválido.","state.telegraphLink":"Use uma ligação telegra.ph ou o identificador da página.","state.telegraphID":"Identificador de página Telegra.ph inválido.","state.portalLink":"Use uma ligação EvPortal com um único código de partilha.","state.invalidField":"{field} inválido (máximo de {max} caracteres).","state.invalidFieldShort":"{field} inválido.","state.urlLabel":"Endereço do site","state.shortcutName":"Nome do atalho","state.shortcutDescription":"Descrição do atalho","state.shortcutTag":"Etiqueta do atalho","state.categoryName":"Nome da categoria","state.categoryDescription":"Descrição da categoria","state.catalogVersion":"Versão do catálogo","state.telegraphIDLabel":"Identificador Telegra.ph","state.shareCodeLabel":"Ligação ou código de partilha","state.invalidCategoryShortcuts":"Os atalhos da categoria «{name}» são inválidos.","state.storageWarning":"A cópia local está indisponível ou ilegível. Os dados anteriores foram preservados. As alterações desta sessão são temporárias: exporte-as em JSON.","static.title":"EvPortal — Atalhos para o navegador Tesla","static.skip":"Ir para os atalhos","static.tagline":" — atalhos para Tesla","static.fullscreen":"Ecrã inteiro","static.share":"Partilhar","static.edit":"Editar","static.add":"Adicionar","static.searchLabel":"Procurar um atalho","static.dragInstructions":"Espaço para selecionar, setas para mover, Enter para largar e Escape para cancelar.","static.reorder":"Arraste os atalhos para alterar a ordem.","static.video":"Cinema","static.javascript":"Ative o JavaScript para personalizar os seus atalhos.","static.help":"Ajuda","static.settings":"Definições","static.language":"Idioma","static.createShortcut":"Criar um atalho","static.createCategory":"Criar uma categoria","static.importTelegraph":"Importar uma cópia","static.theater":"Abrir o modo Cinema Tesla","static.moreOptions":"Mais opções","static.exportJSON":"Guardar um ficheiro JSON","static.reset":"Repor os atalhos","static.about":"Ajuda e informações","static.newCategory":"Nova categoria","static.name":"Nome","static.icon":"Ícone","static.cancel":"Cancelar","static.create":"Criar","static.newShortcut":"Novo atalho","static.website":"Endereço do site","static.category":"Categoria","static.restore":"Importar uma cópia","static.shareInput":"Código ou ligação","static.load":"Carregar os meus atalhos","static.importJSON":"Importar um ficheiro JSON","static.jsonFile":"Ficheiro JSON","static.close":"Fechar","static.use":"Usar estes atalhos","static.shareTitle":"Exportar uma cópia","static.backupName":"Nome (opcional)","static.public":"Esta cópia será pública.","static.portalAddress":"Endereço do EvPortal","static.otherAddress":"Endereço do EvPortal no outro ecrã","static.publish":"Criar a minha cópia","static.scan":"Leia o código com o telemóvel.","static.carCode":"Código a introduzir no Tesla","static.copyCode":"Copiar código","static.importHint":"Tesla: Definições → Cópias de segurança → Importar uma cópia.","static.copyLink":"Copiar ligação","static.sharedLinks":"As minhas cópias","static.showBackups":"Atualizar","static.addShortcuts":"Catálogo","static.searchService":"Procurar um serviço","static.home":"EvPortal, início","static.search":"Procurar","static.enterFullscreen":"Ativar ecrã inteiro","static.shareAccessible":"Exportar uma cópia","static.addAccessible":"Adicionar um atalho ou categoria","static.clearSearch":"Limpar pesquisa","static.categories":"Categorias","static.qrAccessible":"Código QR para recuperar os seus atalhos","static.searchPlaceholder":"Procurar…","static.tripsPlaceholder":"As minhas viagens","static.servicePlaceholder":"O meu serviço","static.urlPlaceholder":"https://exemplo.pt","static.codePlaceholder":"Código ou ligação EvPortal","static.defaultBackup":"Os meus atalhos EvPortal","static.description":"Personalize o seu portal Tesla com atalhos para carregamento, música e meteorologia, favoritos e cópias. Gratuito, com transferências QR pelo telemóvel.","static.socialTitle":"EvPortal — Atalhos para o navegador Tesla","static.socialDescription":"Personalize o seu portal Tesla com atalhos para carregamento, música e meteorologia, favoritos e cópias. Gratuito, com transferências QR pelo telemóvel.","static.previewAlt":"EvPortal: atalhos para carregamento, música, streaming e navegação.","static.twitterDescription":"Personalize o seu portal Tesla com atalhos para carregamento, música e meteorologia, favoritos e cópias. Gratuito, com transferências QR pelo telemóvel.","static.twitterAlt":"Os atalhos EvPortal no modo escuro.","static.nameBackup":"Dar nome à cópia","static.undoTransfer":"Anular a última transferência","static.backups":"Cópias de segurança","static.exportBackup":"Exportar uma cópia","static.importBackup":"Importar uma cópia"}})); diff --git a/pt/aide.html b/pt/aide.html index e8f3b3d..1da2993 100644 --- a/pt/aide.html +++ b/pt/aide.html @@ -106,24 +106,24 @@

                Guia do EvPortal para o navegador Tesla

                Um portal de atalhos para o seu Tesla

                O EvPortal é um portal gratuito e independente que reúne os seus sites favoritos numa página pensada para o navegador Tesla. Também pode utilizá-lo num navegador no telemóvel ou computador. Os ícones grandes abrem os serviços escolhidos sem encher o ecrã inicial de textos ou widgets. Pode personalizar os atalhos, as categorias e a sua ordem, e escolher um tema claro ou escuro.

                Começar no navegador do veículo

                -

                Com o veículo estacionado, abra o endereço do EvPortal no navegador do carro. Guarde-o nos favoritos do navegador, se essa opção estiver disponível, para o encontrar facilmente. Não precisa de instalar uma aplicação nem de iniciar sessão numa conta Tesla para abrir o portal. Nas Definições, escolha o idioma e o país do catálogo separadamente. As preferências ficam neste dispositivo; uma cópia permite guardar ou transferir os seus atalhos.

                +

                Com o veículo estacionado, abra o endereço do EvPortal no navegador do carro. Guarde-o nos favoritos do navegador, se essa opção estiver disponível, para o encontrar facilmente. Não precisa de instalar uma aplicação nem de iniciar sessão numa conta Tesla para abrir o portal. O botão «+» abre o catálogo para gerir os seus atalhos. Nas Definições, escolha o idioma e a vista inicial. As preferências ficam neste dispositivo; uma cópia permite guardar ou transferir os seus atalhos.

                Encontrar os seus serviços durante um carregamento

                -

                Adicione ligações aos seus planeadores de viagens ou carregamento, estações de rádio, música e meteorologia. O catálogo sugere serviços para o país selecionado; também pode introduzir um endereço à sua escolha. Cada atalho abre o site do serviço, com as suas próprias condições de acesso. O EvPortal não controla o carregamento nem envia comandos ao veículo. Utilize os conteúdos de entretenimento com o veículo estacionado.

                +

                Adicione ligações aos seus planeadores de viagens ou carregamento, estações de rádio, música e meteorologia. O catálogo é igual para todos, com categorias recolhíveis; também pode introduzir um endereço à sua escolha. Cada atalho abre o site do serviço, com as suas próprias condições de acesso. O EvPortal não controla o carregamento nem envia comandos ao veículo. Utilize os conteúdos de entretenimento com o veículo estacionado.

                -

                Toca num atalho para abrir o serviço num novo separador. O botão do tema no topo permite escolher o modo claro ou escuro. Os oito idiomas estão disponíveis nas Definições com os seus nomes e bandeiras; o árabe é apresentado da direita para a esquerda.

                +

                Toque num atalho para abrir o serviço num novo separador. O tema escuro é o predefinido; depois é guardada a sua escolha entre claro e escuro. Os oito idiomas estão disponíveis nas Definições, com os nomes originais e as bandeiras; o árabe é apresentado da direita para a esquerda.

                Organizar os atalhos

                Todos apresenta primeiro os atalhos mais abertos. Em caso de empate, mantém a sua ordem manual. A classificação fica guardada após recarregar a página.

                Numa categoria ou nos Favoritos, toque em Editar e mova os atalhos pelas pegas. A estrela adiciona um favorito e o lápis permite editar. Toque em Concluir quando terminar. Todos mantém a classificação automática.

                Com o teclado, selecione uma pega, prima Espaço, mova com as setas e confirme com Enter. Escape cancela.

                Adicionar um atalho ou uma categoria

                -

                O botão + abre o catálogo e permite criar um atalho ou uma categoria. Já adicionado indica um serviço que já foi adicionado. A lupa pesquisa em todos os seus atalhos.

                -

                Crie até cinco categorias pessoais com nomes de até 16 caracteres e um ícone à escolha. Use o lápis para as editar. As categorias antigas que ultrapassem estes limites são mantidas. As categorias visíveis distribuem-se sem deslocamento horizontal.

                +

                O botão «+» abre o mesmo catálogo para todos. Expanda ou recolha uma categoria e use Adicionar ou Remover num serviço. Criar um atalho e Criar uma categoria estão no topo do catálogo. A lupa pesquisa em todos os seus atalhos.

                +

                Crie até cinco categorias pessoais com nomes até 16 caracteres e um ícone à escolha. Mais ícones abre as opções adicionais. O lápis permite editar uma categoria. As categorias antigas que ultrapassam estes limites são mantidas. As categorias visíveis distribuem-se sem deslocamento horizontal.

                Um serviço pode aparecer em várias categorias com um único estado de favorito e contador; Todos apresenta-o uma só vez. Em Editar, abre Outras categorias para escolher onde aparece. Eliminar uma categoria mantém os serviços que também pertencem a outra categoria.

                -

                Escolher o catálogo e o ecrã inicial

                -

                Em Definições → Catálogo e início, escolhe o país, as categorias visíveis e se queres abrir os favoritos ao iniciar. O país adapta as sugestões em Adicionar; não elimina os teus atalhos. Ver todos os países alarga o catálogo. Os atalhos de uma categoria oculta continuam em Todos e Favoritos. Estas escolhas ficam neste dispositivo e não são incluídas nas cópias nem nas transferências QR. O país inicial é sugerido pela região do navegador, sem pedir a tua localização.

                +

                Escolher a vista inicial

                +

                Em Definições → Início, escolha as categorias visíveis e se pretende abrir os favoritos ao iniciar. Estas preferências ficam neste dispositivo e não são incluídas nas cópias ou transferências QR. O catálogo é gerido através do botão «+».

                Telemóvel: enviar ou receber

                  -
                1. Em Definições → Telemóvel, escolhe Enviar ou Receber.
                2. +
                3. Em Definições → Cópias de segurança → Telemóvel, escolhe Enviar ou Receber.
                4. Lê o QR apresentado com o telemóvel.
                5. Para enviar a partir do telemóvel, escolhe os seus atalhos ou uma cópia e toca em Enviar.
                6. No ecrã que recebe, toca em Adicionar para guardar a cópia nesse dispositivo.
                7. @@ -132,7 +132,7 @@

                  Telemóvel: enviar ou receber

                  O QR serve para transferências com o telemóvel. Criar um código ou uma ligação não apresenta um QR.

                  A transferência é cifrada e válida durante cinco minutos quando o serviço está disponível. Envia uma cópia do momento, sem sincronização automática. Receber uma cópia não substitui os teus atalhos.

                  Código ou ligação

                  -

                  Em Definições → Código ou ligação, Criar prepara um código e uma ligação EvPortal para copiar. Adicionar aceita qualquer um e guarda uma cópia local após validação. Os ficheiros JSON continuam disponíveis em Mais opções. A página Telegra.ph criada é pública; a cópia local e a página online são distintas.

                  +

                  Em Definições → Cópias de segurança → Código ou ligação, Criar prepara um código e uma ligação EvPortal para copiar. Adicionar aceita qualquer um e guarda uma cópia local após validação. Os ficheiros JSON continuam disponíveis em Mais opções. A página Telegra.ph criada é pública; a cópia local e a página online são distintas.

                  Ecrã inteiro Tesla

                  Com o veículo estacionado, toque em Ecrã inteiro. No YouTube, escolha Ir para o site ou Go to site para voltar ao EvPortal no modo Cinema. Os atalhos pedem um novo separador, cujo comportamento depende do navegador do veículo.

                  Se o Tesla não for reconhecido, escolha Abrir o modo Cinema Tesla nas definições. Num computador, o botão utiliza o ecrã inteiro normal. O redirecionamento pode mudar com atualizações do veículo ou do YouTube.

                  @@ -143,7 +143,7 @@

                  Ecrã inteiro Tesla

                  Método descrito pelo myTesla

                  Restaurar uma cópia

                  -

                  Em Definições → As minhas cópias → Restaurar, escolhe uma cópia em Neste dispositivo ou Online e verifica o conteúdo. Só Restaurar substitui os atalhos. Mais opções nas Definições permite anular a última restauração. Adicionar um código, ligação, ficheiro ou transferência QR guarda uma cópia sem a aplicar. Cada navegador mantém a sua própria lista local.

                  +

                  Em Definições → Cópias de segurança → As minhas cópias → Restaurar, escolhe uma cópia em Neste dispositivo ou Online e verifica o conteúdo. Só Restaurar substitui os atalhos. Mais opções nas Definições permite anular a última restauração. Adicionar um código, ligação, ficheiro ou transferência QR guarda uma cópia sem a aplicar. Cada navegador mantém a sua própria lista local.

                  Testar uma pré-visualização local

                  O QR usa o endereço do portal aberto. Num telemóvel, localhost ou 127.0.0.1 refere-se ao próprio telemóvel. Para testar entre dispositivos, ambos têm de aceder ao portal e ao serviço de transferência por HTTPS. Os códigos e ligações das cópias usam o endereço público do EvPortal.

                  Sobre o projeto e privacidade

                  diff --git a/pt/index.html b/pt/index.html index cc0b5ff..77faa1d 100644 --- a/pt/index.html +++ b/pt/index.html @@ -108,7 +108,7 @@ - + @@ -119,8 +119,20 @@ - + + + + + + + + + + + + + @@ -128,7 +140,6 @@

                  — atalhos para Tesla

                  - @@ -150,29 +161,27 @@

                  Cinema +

                  Definições

                  -

                  Os atalhos continuam disponíveis em Todos e Favoritos.

                  -
                  Catálogo e início -

                  O país adapta a seleção sugerida em Adicionar.

                  +
                  Início -
                  Categorias visíveis
                  +
                  Categorias visíveis
                  -
                  +
                  +

                  Cópias de segurança

                  -

                  Código ou ligação

                  +

                  Código ou ligação

                  -

                  Telemóvel

                  +

                  Telemóvel

                  -

                  As minhas cópias

                  +

                  As minhas cópias

                  - -
                  Mais opções
                  Ajuda e informações @@ -245,8 +254,8 @@

                  Telemóvel

                  -

                  Adicionar atalhos

                  +

                  Catálogo

                  -
                  +
                  diff --git a/ru/aide.html b/ru/aide.html index 8f5ae84..7005012 100644 --- a/ru/aide.html +++ b/ru/aide.html @@ -106,24 +106,24 @@

                  Руководство по EvPortal для бра

                  Стартовая страница с ярлыками для вашей Tesla

                  EvPortal — бесплатный независимый портал, который собирает ваши любимые сайты на одной странице, созданной для браузера Tesla. Им также можно пользоваться в браузере телефона или компьютера. Крупные значки открывают выбранные сервисы, не заполняя главный экран текстами и виджетами. Вы можете настроить ярлыки, категории и их порядок, а затем выбрать светлую или тёмную тему. Так нужные ссылки остаются под рукой во время остановки.

                  Начало работы в браузере автомобиля

                  -

                  На припаркованном автомобиле откройте адрес EvPortal в браузере. Добавьте страницу в избранное браузера, если такая возможность доступна, чтобы легко вернуться к ней. Для открытия портала не нужно устанавливать приложение или входить в учётную запись Tesla. В настройках язык интерфейса и страна каталога выбираются отдельно. Ваши настройки остаются на этом устройстве; резервная копия позволяет сохранить ярлыки или перенести их на другое устройство.

                  +

                  На припаркованном автомобиле откройте адрес EvPortal в браузере. Добавьте страницу в избранное браузера, если такая возможность доступна, чтобы легко вернуться к ней. Для открытия портала не нужно устанавливать приложение или входить в учётную запись Tesla. Кнопка «+» открывает каталог для управления ярлыками. В настройках можно выбрать язык и главный экран. Ваши настройки остаются на этом устройстве; резервная копия позволяет сохранить ярлыки или перенести их на другое устройство.

                  Нужные сервисы во время зарядки

                  -

                  Добавьте ссылки на планировщики маршрутов и зарядок, радиостанции, музыку и прогноз погоды. Каталог предлагает сервисы для выбранной страны; также можно указать собственный адрес сайта. Каждый ярлык открывает сайт сервиса с его условиями доступа. EvPortal не управляет зарядкой и не отправляет команды автомобилю. Развлекательные материалы просматривайте на стоянке. Выбор другой страны в настройках каталога меняет предложения, но не удаляет уже добавленные ярлыки.

                  +

                  Добавьте ссылки на планировщики маршрутов и зарядок, радиостанции, музыку и прогноз погоды. Каталог одинаков для всех и разделён на сворачиваемые категории; также можно указать собственный адрес сайта. Каждый ярлык открывает сайт сервиса с его условиями доступа. EvPortal не управляет зарядкой и не отправляет команды автомобилю. Развлекательные материалы просматривайте на стоянке.

                  -

                  Нажмите на ярлык, чтобы открыть сервис в новой вкладке. Кнопка темы вверху переключает светлый и тёмный режимы. В настройках доступны восемь языков с названиями и флагами; арабский отображается справа налево.

                  +

                  Нажмите ярлык, чтобы открыть сервис в новой вкладке. По умолчанию используется тёмная тема; затем сохраняется ваш выбор светлой или тёмной темы. В настройках доступны восемь языков с их названиями и флагами; арабский отображается справа налево.

                  Упорядочить ярлыки

                  В разделе «Все» сначала показаны ярлыки, которые вы открываете чаще всего. При равном числе открытий сохраняется ручной порядок. Сортировка сохраняется после перезагрузки страницы.

                  В категории или в «Избранном» нажмите «Изменить» и перемещайте ярлыки за маркеры. Звезда добавляет в избранное, карандаш позволяет редактировать. Когда закончите, нажмите «Готово». В разделе «Все» сохраняется автоматическая сортировка.

                  С клавиатуры выберите маркер, нажмите Пробел, перемещайте стрелками и подтвердите клавишей Enter. Escape отменяет перемещение.

                  Добавить ярлык или категорию

                  -

                  Кнопка + открывает каталог и позволяет создать ярлык или категорию. Пометка «Уже добавлено» означает, что сервис уже есть на вашей панели. Поиск охватывает все ярлыки.

                  -

                  Можно создать до пяти личных категорий с названиями до 16 символов и выбрать значок. Карандаш позволяет их редактировать. Старые категории, превышающие эти ограничения, сохраняются. Отображаемые категории размещаются без горизонтальной прокрутки.

                  +

                  Кнопка «+» открывает одинаковый каталог для всех. Разверните или сверните категорию и используйте кнопки «Добавить» или «Удалить» рядом с сервисом. Действия «Создать ярлык» и «Создать категорию» находятся вверху каталога. Лупа ищет по всем вашим ярлыкам.

                  +

                  Создайте до пяти личных категорий с названиями не длиннее 16 символов и значком на выбор. «Другие значки» открывает дополнительные варианты. Карандаш позволяет изменить категорию. Старые категории, превышающие эти ограничения, сохраняются. Видимые категории располагаются без горизонтальной прокрутки.

                  Сервис может отображаться в нескольких категориях с общим статусом избранного и счётчиком; в разделе Все он появляется один раз. При редактировании откройте Другие категории, чтобы выбрать, где он отображается. При удалении категории сохраняются сервисы, входящие и в другую категорию.

                  -

                  Выбор каталога и начального экрана

                  -

                  В разделе Настройки → Каталог и начальный экран выберите страну, видимые категории и открытие избранного при запуске. Страна меняет подборку в разделе Добавить, не удаляя ваши ярлыки. Показать все страны расширяет каталог. Ярлыки скрытых категорий остаются в разделах Все и Избранное. Эти параметры хранятся только на этом устройстве и не передаются в резервных копиях или по QR-коду. Начальная страна определяется по региону браузера без запроса вашего местоположения.

                  +

                  Выбрать главный экран

                  +

                  В разделе «Настройки → Главный экран» выберите видимые категории и открытие избранного при запуске. Эти настройки остаются на этом устройстве и не передаются в резервных копиях или по QR-коду. Управление каталогом доступно через кнопку «+».

                  Телефон: отправка и получение

                    -
                  1. В разделе Настройки → Телефон выберите Отправить или Получить.
                  2. +
                  3. В разделе Настройки → Резервные копии → Телефон выберите Отправить или Получить.
                  4. Отсканируйте показанный QR-код телефоном.
                  5. Для отправки с телефона выберите его ярлыки или копию и нажмите Отправить.
                  6. На принимающем экране нажмите Добавить, чтобы сохранить копию на этом устройстве.
                  7. @@ -132,7 +132,7 @@

                    Телефон: отправка и пол

                    QR-код служит для переноса с телефоном. При создании кода или ссылки QR-код не отображается.

                    Перенос зашифрован и действует пять минут, если сервис доступен. Передаётся снимок без автоматической синхронизации. Получение копии не заменяет ваши ярлыки.

                    Код или ссылка

                    -

                    В разделе Настройки → Код или ссылка кнопка Создать подготавливает код и ссылку EvPortal для копирования. Добавить принимает любой из вариантов и сохраняет локальную копию после проверки. Файлы JSON доступны в разделе Другие параметры. Созданная страница Telegra.ph общедоступна; локальная копия и страница в сети независимы.

                    +

                    В разделе Настройки → Резервные копии → Код или ссылка кнопка Создать подготавливает код и ссылку EvPortal для копирования. Добавить принимает любой из вариантов и сохраняет локальную копию после проверки. Файлы JSON доступны в разделе Другие параметры. Созданная страница Telegra.ph общедоступна; локальная копия и страница в сети независимы.

                    Полноэкранный режим Tesla

                    На парковке нажмите «Полный экран». На YouTube выберите «Перейти на сайт» или Go to site, чтобы вернуться в EvPortal в режиме кинотеатра. Ярлыки запрашивают новую вкладку; её поведение зависит от браузера автомобиля.

                    Если Tesla не распознана, выберите «Открыть режим «Кинотеатр Tesla»» в настройках. На компьютере кнопка включает обычный полноэкранный режим. Перенаправление может измениться после обновлений автомобиля или YouTube.

                    @@ -143,7 +143,7 @@

                    Полноэкранный режим Tes Способ, описанный myTesla

                    Восстановление копии

                    -

                    В разделе Настройки → Мои копии → Восстановить выберите копию в разделе На этом устройстве или В сети и проверьте содержимое. Только Восстановить заменяет ярлыки. В разделе Другие параметры в настройках можно отменить последнее восстановление. Добавление кода, ссылки, файла или переноса по QR сохраняет копию без её применения. Каждый браузер хранит собственный локальный список.

                    +

                    В разделе Настройки → Резервные копии → Мои копии → Восстановить выберите копию в разделе На этом устройстве или В сети и проверьте содержимое. Только Восстановить заменяет ярлыки. В разделе Другие параметры в настройках можно отменить последнее восстановление. Добавление кода, ссылки, файла или переноса по QR сохраняет копию без её применения. Каждый браузер хранит собственный локальный список.

                    Проверить локальную версию

                    QR-код использует адрес открытого портала. На телефоне localhost или 127.0.0.1 обозначает сам телефон. Для проверки между устройствами портал и сервис переноса должны быть доступны обоим по HTTPS. Коды и ссылки на копии используют публичный адрес EvPortal.

                    О проекте и конфиденциальности

                    diff --git a/ru/index.html b/ru/index.html index 940d538..295310d 100644 --- a/ru/index.html +++ b/ru/index.html @@ -108,7 +108,7 @@ - + @@ -119,8 +119,20 @@ - + + + + + + + + + + + + + @@ -128,7 +140,6 @@

                    — ярлыки для Tesla

                    - @@ -150,29 +161,27 @@

                    Кино<

                    +

                    Настройки

                    -

                    Ярлыки остаются доступными в разделах Все и Избранное.

                    -
                    Каталог и начальный экран -

                    Страна определяет подборку в разделе Добавить.

                    +
                    Главный экран -
                    Показываемые категории
                    +
                    Показываемые категории
                    -
                    +
                    +

                    Резервные копии

                    -

                    Код или ссылка

                    +

                    Код или ссылка

                    -

                    Телефон

                    +

                    Телефон

                    -

                    Мои копии

                    +

                    Мои копии

                    - -
                    Другие параметры
                    Помощь и информация @@ -245,8 +254,8 @@

                    Телефон

                    -

                    Добавить ярлыки

                    +

                    Каталог

                    -
                    +
                    diff --git a/scripts/browser-smoke.cjs b/scripts/browser-smoke.cjs index 72186eb..2988fd5 100644 --- a/scripts/browser-smoke.cjs +++ b/scripts/browser-smoke.cjs @@ -25,12 +25,19 @@ const check = (label) => { checks.push(label); console.log('✓ ' + label); }; const file = (data) => ({ name: 'configuration.json', mimeType: 'application/json', buffer: Buffer.from(typeof data === 'string' ? data : JSON.stringify(data)) }); (async () => { await fs.mkdir(output, { recursive: true }); - await new Promise(resolve => server.listen(0, '127.0.0.1', resolve)); - const origin = 'http://127.0.0.1:' + server.address().port; - const url = origin + '/EvPortal/'; + let url; + if (process.env.EVPORTAL_TEST_URL) { + const target = new URL(process.env.EVPORTAL_TEST_URL); + assert.ok(target.protocol === 'http:' && ['127.0.0.1', 'localhost', '[::1]'].includes(target.hostname), 'Browser tests require a local HTTP portal'); + url = target.href; + } else { + await new Promise(resolve => server.listen(0, '127.0.0.1', resolve)); + url = 'http://127.0.0.1:' + server.address().port + '/EvPortal/'; + } + const origin = new URL(url).origin; browser = await chromium.launch({ headless: true }); async function context(options = {}) { - const c = await browser.newContext({ viewport: { width: 1440, height: 1000 }, locale: 'fr-FR', colorScheme: 'dark', reducedMotion: 'reduce', ...options }); + const c = await browser.newContext({ viewport: { width: 1440, height: 1000 }, locale: 'fr-FR', colorScheme: 'light', reducedMotion: 'reduce', ...options }); c.on('page', page => page.on('pageerror', error => errors.push(error.message))); await c.route('**/*', route => new URL(route.request().url()).origin === origin ? route.continue() : route.abort()); return c; @@ -40,12 +47,13 @@ const file = (data) => ({ name: 'configuration.json', mimeType: 'application/jso const requests = []; page.on('request', req => requests.push(req.url())); await page.goto(url, { waitUntil: 'networkidle' }); - const total = await page.evaluate(() => EVState.catalogServices(EV_CATALOG, { market: EVPreferences.suggestMarket(navigator.language), includeOptional: false }).length); + const total = await page.evaluate(() => EVState.catalogServices(EV_CATALOG, { includeOptional: false }).length); assert.equal(Number(await page.locator('#shortcutTotal').textContent()), total); assert.equal(await page.locator('h1').count(), 1); assert.equal(requests.filter(req => new URL(req).origin !== origin).length, 0); assert.ok(await page.locator('.shortcut').count() > 0); - check('Catalogue chargé sous /EvPortal/, un H1, aucune requête tierce au démarrage'); + assert.equal(await page.locator('html').getAttribute('data-theme'), 'dark'); + check('Catalogue global chargé, sombre initial, un H1, aucune requête tierce au démarrage'); await page.locator('#editModeToggle').click(); await page.getByRole('button', { name: 'Ajouter Netflix aux favoris', exact: true }).click(); @@ -67,14 +75,14 @@ const file = (data) => ({ name: 'configuration.json', mimeType: 'application/jso await page.evaluate(() => localStorage.setItem('other-app-secret', 'do-not-export')); await page.locator('#editModeToggle').click(); - await page.locator('#settingsButton').click(); - await page.locator('#addPageButton').click(); + await page.locator('#catalogButton').click(); + await page.locator('#catalogCategoryButton').click(); const customLabel = 'Voyages d’été'; await page.locator('#newPageName').fill(customLabel); await page.locator('#addPageForm [type="submit"]').click(); assert.equal(await page.locator('#sectionTitle').textContent(), customLabel); - await page.locator('#settingsButton').click(); - await page.locator('#addShortcutButton').click(); + await page.locator('#catalogButton').click(); + await page.locator('#catalogCustomButton').click(); const literalName = ''; await page.locator('#shortcutName').fill(literalName); await page.locator('#shortcutURL').fill('https://example.org/mes-voyages'); @@ -250,27 +258,26 @@ const file = (data) => ({ name: 'configuration.json', mimeType: 'application/jso check('Suppression dans un autre onglet invalide la sauvegarde sélectionnée sans toucher aux raccourcis'); const preferencesContext = await context(); + await preferencesContext.addInitScript(() => { + if (location.protocol !== 'http:') return; + if (!localStorage.getItem('evportal.preferences.v1')) localStorage.setItem('evportal.preferences.v1', JSON.stringify({ version: 1, market: 'FR', homeFavorites: false, hiddenCategoryIds: [] })); + }); const preferencesPage = await preferencesContext.newPage(); await preferencesPage.goto(url, { waitUntil: 'networkidle' }); const installedIDs = () => preferencesPage.evaluate(() => JSON.parse(localStorage.getItem(EVState.STORAGE_KEY)).categories.flatMap(category => category.shortcuts).map(shortcut => shortcut.serviceId)); assert.equal((await installedIDs()).includes('github'), false, 'GitHub is available on demand, not installed by default'); + assert.equal((await installedIDs()).includes('crave'), true, 'Crave is initially present even with a saved French country preference'); await preferencesPage.locator('#editModeToggle').click(); await preferencesPage.getByRole('button', { name: 'Ajouter Netflix aux favoris', exact: true }).click(); await preferencesPage.locator('#editModeToggle').click(); await preferencesPage.locator('#catalogButton').click(); await preferencesPage.locator('#catalogSearch').fill('Crave'); - assert.equal(await preferencesPage.locator('.catalog-item[data-service-id="crave"]').count(), 0); - await preferencesPage.locator('#catalogMarketToggle').check(); - assert.equal(await preferencesPage.getByRole('button', { name: 'Ajouter Crave', exact: true }).isVisible(), true); - await preferencesPage.locator('#catalogMarketToggle').uncheck(); - assert.equal(await preferencesPage.locator('.catalog-item[data-service-id="crave"]').count(), 0); + assert.equal(await preferencesPage.locator('.catalog-item[data-service-id="crave"]').count(), 1); + assert.equal(await preferencesPage.getByRole('button', { name: 'Supprimer Crave', exact: true }).isEnabled(), true); + assert.equal(await preferencesPage.locator('#catalogMarketToggle, #marketSelect').count(), 0); await preferencesPage.locator('#catalogDialog [data-close-dialog]').click(); - const beforeCountry = await preferencesPage.evaluate(() => localStorage.getItem(EVState.STORAGE_KEY)); await preferencesPage.locator('#settingsButton').click(); await preferencesPage.locator('#catalogPreferences').evaluate(details => { details.open = true; }); - assert.equal(await preferencesPage.locator('#marketSelect').inputValue(), 'FR'); - await preferencesPage.locator('#marketSelect').selectOption('CA'); - assert.equal(await preferencesPage.evaluate(() => localStorage.getItem(EVState.STORAGE_KEY)), beforeCountry, 'Country changes suggestions without rewriting installed shortcuts'); await preferencesPage.locator('#homeFavoritesToggle').check(); await preferencesPage.locator('#categoryVisibilityOptions input[value="cinema"]').uncheck(); await preferencesPage.locator('#settingsDialog [data-close-dialog]').first().click(); @@ -285,18 +292,22 @@ const file = (data) => ({ name: 'configuration.json', mimeType: 'application/jso assert.equal(await preferencesPage.locator('#menu [data-category="cinema"]').count(), 0); await preferencesPage.locator('#catalogButton').click(); await preferencesPage.locator('#catalogSearch').fill('Crave'); - assert.equal(await preferencesPage.getByRole('button', { name: 'Ajouter Crave', exact: true }).isVisible(), true); + assert.equal(await preferencesPage.getByRole('button', { name: 'Supprimer Crave', exact: true }).isEnabled(), true); await preferencesPage.locator('#catalogSearch').fill('GitHub'); await preferencesPage.getByRole('button', { name: 'Ajouter GitHub', exact: true }).click(); assert.equal((await installedIDs()).filter(id => id === 'github').length, 1); - assert.equal(await preferencesPage.getByRole('button', { name: 'Déjà présent : GitHub', exact: true }).isDisabled(), true); + assert.equal(await preferencesPage.getByRole('button', { name: 'Supprimer GitHub', exact: true }).isEnabled(), true); + await preferencesPage.getByRole('button', { name: 'Supprimer GitHub', exact: true }).click(); + assert.equal((await installedIDs()).includes('github'), false); + await preferencesPage.getByRole('button', { name: 'Ajouter GitHub', exact: true }).click(); + assert.equal((await installedIDs()).filter(id => id === 'github').length, 1); await preferencesPage.locator('#catalogDialog [data-close-dialog]').click(); await preferencesPage.locator('#settingsButton').click(); - assert.equal(await preferencesPage.locator('#marketSelect').inputValue(), 'CA'); + assert.equal(await preferencesPage.locator('#marketSelect').count(), 0); const localPreferences = await preferencesPage.evaluate(() => localStorage.getItem(EVPreferences.STORAGE_KEY)); await preferencesPage.locator('#languageSelect').selectOption('en'); - assert.equal(await preferencesPage.locator('#marketSelect').inputValue(), 'CA'); assert.equal(await preferencesPage.evaluate(() => localStorage.getItem(EVPreferences.STORAGE_KEY)), localPreferences); + assert.equal(await preferencesPage.evaluate(() => Object.hasOwn(EVPreferences.createPreferences().read(), 'market')), false); await preferencesPage.locator('#languageSelect').selectOption('fr'); await preferencesPage.locator('#shareButton').click(); await preferencesPage.locator('#exportConfigButton').evaluate(button => { button.closest('details').open = true; }); @@ -308,7 +319,7 @@ const file = (data) => ({ name: 'configuration.json', mimeType: 'application/jso assert.equal(portableJSON.includes('"' + key + '":'), false, 'JSON excludes device preference ' + key); assert.equal(telegraphContent.includes('\\"' + key + '\\":'), false, 'Telegra.ph excludes device preference ' + key); } - check('Pays indépendant de la langue, catalogue international à la demande, GitHub optionnel, catégories masquées sans perte, accueil Favoris local et préférences absentes des exports'); + check('Ancien pays ignoré, Crave initial, ajout/suppression GitHub, catégories masquées sans perte, accueil Favoris et préférences conservés après changement de langue et absents des exports'); // Accessibility and layout checks on a clean dashboard, in both themes. const visualContext = await context(); @@ -339,5 +350,5 @@ const file = (data) => ({ name: 'configuration.json', mimeType: 'application/jso console.log('\n' + checks.length + ' groupes de vérifications réussis. Captures et rapports : test-results/'); })().catch(error => { console.error(error); process.exitCode = 1; }).finally(async () => { if (browser) await browser.close(); - await new Promise(resolve => server.close(resolve)); + if (server.listening) await new Promise(resolve => server.close(resolve)); }); diff --git a/scripts/catalog-smoke.cjs b/scripts/catalog-smoke.cjs index c6bf60f..a2b0336 100644 --- a/scripts/catalog-smoke.cjs +++ b/scripts/catalog-smoke.cjs @@ -88,7 +88,8 @@ let browser; const page = await freshPage(); const initial = await saved(page); - assert.equal(await page.evaluate(() => EVPreferences.createPreferences().read().market), 'FR'); + assert.equal(await page.evaluate(() => EVPreferences.createPreferences().read().market), undefined); + assert.equal(await page.locator('#marketSelect, #catalogMarketToggle, #addShortcutButton, #addPageButton').count(), 0); const abrp = service(initial, 'abrp').shortcut; const id = abrp.id; assert.equal(entries(initial).filter(row => row.shortcut.serviceId === 'abrp').length, 1); @@ -206,7 +207,8 @@ let browser; const addOfficial = page.locator('#catalogContent [data-service-id="abrp"] .catalog-add'); assert.equal(await addOfficial.isEnabled(), true); await addOfficial.click(); - assert.equal(await addOfficial.isDisabled(), true); + assert.equal(await addOfficial.isEnabled(), true); + assert.equal(await addOfficial.getAttribute('aria-label'), 'Supprimer ABRP'); await close(page, 'catalogDialog'); const withOfficial = await saved(page); const official = service(withOfficial, 'abrp').shortcut; @@ -246,10 +248,68 @@ let browser; assert.equal(entries(await saved(historic)).length, 2); console.log('✓ Historical personal shortcuts sharing a URL remain separate and can be renamed without a duplicate-URL error'); + const personalBeforeCatalog = await saved(historic); + await historic.locator('#catalogButton').click(); + await historic.locator('#catalogSearch').fill('ABRP'); + const historicalAction = historic.locator('[data-service-id="abrp"] .catalog-add'); + assert.equal(await historicalAction.getAttribute('aria-label'), 'Ajouter ABRP', 'Personal URLs never masquerade as installed catalogue identities'); + await historicalAction.click(); + assert.equal(entries(await saved(historic)).length, 3); + assert.equal(await historicalAction.getAttribute('aria-label'), 'Supprimer ABRP'); + await historicalAction.click(); + assert.equal(entries(await saved(historic)).length, 2); + for (const shortcutID of ['custom-a', 'custom-b']) assert.deepEqual(entry(await saved(historic), shortcutID).shortcut, entry(personalBeforeCatalog, shortcutID).shortcut); + assert.equal(await historicalAction.getAttribute('aria-label'), 'Ajouter ABRP'); + assert.equal(await historicalAction.evaluate(button => document.activeElement === button), true); + await close(historic, 'catalogDialog'); + await historic.reload({ waitUntil: 'networkidle' }); + assert.equal(entries(await saved(historic)).length, 2); + console.log('✓ Catalogue removal uses service identity, preserves personal URLs and their counters, persists, and keeps Add available at the same focus position'); + + const grouped = await freshPage(); + const defaultCatalogue = await saved(grouped); + const originalABRP = service(defaultCatalogue, 'abrp').shortcut; + await grouped.locator('#catalogButton').click(); + assert.equal(await grouped.locator('.catalog-group').count(), await grouped.evaluate(() => EV_CATALOG.categories.length)); + assert.equal(await grouped.locator('.catalog-group[open]').count(), 1); + assert.equal(await grouped.locator('.catalog-group[open]').getAttribute('data-category-id'), 'cinema'); + assert.equal(await grouped.locator('[data-service-id="crave"]').count(), 1, 'The global catalogue includes services from all countries'); + assert.equal(await grouped.locator('[data-service-id="netflix"] .shortcut-icon img').count(), 1, 'The service row uses its local favicon'); + for (const serviceID of ['disney-plus', 'paramount-plus']) assert.equal(await grouped.locator('[data-service-id="' + serviceID + '"] strong').getAttribute('dir'), 'auto', 'Brand punctuation is isolated from the surrounding RTL interface'); + await grouped.locator('.catalog-group[data-category-id="music"] > summary').click(); + await grouped.locator('.catalog-group[data-category-id="cinema"] > summary').click(); + await grouped.locator('#catalogSearch').fill('ABRP'); + assert.equal(await grouped.locator('.catalog-group[open]').getAttribute('data-category-id'), 'charging'); + const removeShared = grouped.locator('[data-service-id="abrp"] .catalog-add'); + await removeShared.click(); + assert.equal(service(await saved(grouped), 'abrp'), undefined); + assert.equal(entry(await saved(grouped), originalABRP.id), undefined); + assert.equal(await removeShared.getAttribute('aria-label'), 'Ajouter ABRP'); + assert.equal(await removeShared.evaluate(button => document.activeElement === button), true); + await grouped.locator('#catalogSearch').fill(''); + assert.equal(await grouped.locator('.catalog-group[open]').count(), 1); + assert.equal(await grouped.locator('.catalog-group[open]').getAttribute('data-category-id'), 'music', 'Clearing search restores the user-selected open groups'); + await close(grouped, 'catalogDialog'); + await category(grouped, 'charging'); + assert.equal(await card(grouped, originalABRP.id).count(), 0); + await category(grouped, 'navigation'); + assert.equal(await card(grouped, originalABRP.id).count(), 0); + await category(grouped, 'all'); + assert.equal(await card(grouped, originalABRP.id).count(), 0); + await grouped.locator('#catalogButton').click(); + assert.equal(await grouped.locator('.catalog-group[open]').getAttribute('data-category-id'), 'music', 'Reopening the catalogue preserves its open groups'); + await grouped.locator('#catalogSearch').fill('ABRP'); + await removeShared.click(); + assert.deepEqual(service(await saved(grouped), 'abrp').shortcut.categoryIds, ['charging', 'navigation']); + assert.equal(await removeShared.getAttribute('aria-label'), 'Supprimer ABRP'); + await grouped.locator('#catalogSearch').fill(''); + assert.equal(await grouped.locator('.catalog-group[open]').getAttribute('data-category-id'), 'music'); + console.log('✓ Global catalogue groups preserve expansion across searching and actions; shared services remove everywhere and can be re-added'); + const creation = await freshPage(); await category(creation, 'all'); - await creation.locator('#settingsButton').click(); - await creation.locator('#addShortcutButton').click(); + await creation.locator('#catalogButton').click(); + await creation.locator('#catalogCustomButton').click(); assert.equal(await creation.locator('#shortcutCategory').inputValue(), 'cinema'); await creation.locator('#shortcutName').fill('Borne personnelle'); await creation.locator('#shortcutURL').fill('https://borne-personnelle.example/'); @@ -262,8 +322,8 @@ let browser; assert.equal(created.category.id, 'charging'); assert.deepEqual(created.shortcut.categoryIds, ['charging']); await category(creation, 'all'); - await creation.locator('#settingsButton').click(); - await creation.locator('#addShortcutButton').click(); + await creation.locator('#catalogButton').click(); + await creation.locator('#catalogCustomButton').click(); await creation.locator('#shortcutName').fill('Borne et météo'); await creation.locator('#shortcutURL').fill('https://borne-meteo.example/'); await creation.locator('#shortcutCategory').selectOption('charging'); diff --git a/scripts/i18n-smoke.cjs b/scripts/i18n-smoke.cjs index 65a9758..123e605 100644 --- a/scripts/i18n-smoke.cjs +++ b/scripts/i18n-smoke.cjs @@ -65,6 +65,7 @@ let browser; const buttons = [...menu.querySelectorAll('.menu-link')].map(button => button.getBoundingClientRect()); const logo = document.querySelector('.brand-logo').getBoundingClientRect(); const content = document.getElementById('content').getBoundingClientRect(); + const dock = document.getElementById('fullscreenDock').getBoundingClientRect(); const rows = new Map(); document.querySelectorAll('#content > .shortcut').forEach(card => { const r = card.getBoundingClientRect(), y = Math.round(r.top); @@ -72,6 +73,8 @@ let browser; row.left = Math.min(row.left, r.left); row.right = Math.max(row.right, r.right); rows.set(y, row); }); return { + dockCentered: Math.abs((dock.left + dock.right) / 2 - innerWidth / 2) < 1, + dockBottom: Math.abs(dock.bottom - innerHeight) < 1, pageOverflow: document.documentElement.scrollWidth - innerWidth, menuOverflow: menu.scrollWidth - menu.clientWidth, allCategoriesVisible: buttons.every(r => r.width > 0 && r.left >= bounds.left - 1 && r.right <= bounds.right + 1), @@ -80,6 +83,7 @@ let browser; centeredRows: [...rows.values()].every(r => Math.abs((r.left + r.right) / 2 - (content.left + content.right) / 2) < 1) }; }); + assert.ok(geometry.dockCentered && geometry.dockBottom, language + ' fullscreen dock at ' + width); assert.ok(geometry.pageOverflow <= 1, language + ' page overflow at ' + width); assert.ok(geometry.menuOverflow <= 1, language + ' category overflow at ' + width); assert.ok(geometry.allCategoriesVisible, language + ' hidden category at ' + width); @@ -94,10 +98,10 @@ let browser; await verifyLanguageOptions(page); await page.locator('#catalogPreferences').evaluate(details => { details.open = true; }); assert.equal(await page.locator('#catalogPreferences > summary').textContent(), dictionaries[language]['prefs.title']); - assert.equal(await page.locator('#marketSelect option[value="DE"]').textContent(), dictionaries[language]['prefs.country.DE']); - assert.equal(await page.locator('#marketSelect option[value="MX"]').textContent(), dictionaries[language]['prefs.country.MX']); + assert.equal(await page.locator('#marketSelect, #catalogMarketToggle, #addShortcutButton, #addPageButton, #categoryVisibilityHint').count(), 0, 'Settings omit country controls and duplicate creation actions'); + assert.equal(await page.locator('#backupSettingsTitle').textContent(), dictionaries[language]['static.backups']); assert.ok(await page.locator('#settingsDialog').evaluate(dialog => dialog.scrollWidth <= dialog.clientWidth + 1), language + ' preferences overflow'); - const marketBeforeLanguage = await page.locator('#marketSelect').inputValue(); + const preferencesBeforeLanguage = await page.evaluate(() => localStorage.getItem(EVPreferences.STORAGE_KEY)); for (const id of ['shareButton', 'importConfigButton', 'restoreBackupButton']) { assert.equal(await page.locator('#backupSettings #' + id).isVisible(), true, 'Create, Add and Restore remain distinct Settings actions'); } @@ -117,8 +121,8 @@ let browser; const other = language === 'en' ? 'fr' : 'en'; await page.locator('#languageSelect').selectOption(other); assert.equal(await page.locator('html').getAttribute('lang'), other); - assert.equal(await page.locator('#marketSelect').inputValue(), marketBeforeLanguage, 'Interface language never changes the catalog country'); - assert.equal(await page.locator('#marketSelect option[value="DE"]').textContent(), dictionaries[other]['prefs.country.DE']); + assert.equal(await page.evaluate(() => localStorage.getItem(EVPreferences.STORAGE_KEY)), preferencesBeforeLanguage, 'Interface language leaves home preferences untouched'); + assert.equal(await page.locator('#backupSettingsTitle').textContent(), dictionaries[other]['static.backups']); await page.locator('#languageSelect').selectOption(language); assert.equal(await page.evaluate(() => localStorage.getItem(EVState.STORAGE_KEY)), before, 'Language leaves shortcut configuration untouched'); await page.locator('#importConfigButton').click(); @@ -154,7 +158,11 @@ let browser; assert.ok(await page.locator('#catalogDialog').evaluate(node => node.scrollWidth <= node.clientWidth + 1)); await page.locator('#catalogCategoryButton').click(); assert.equal(await page.locator('#pageDialogTitle').textContent(), dictionaries[language]['app.newCategory']); - assert.equal(await page.locator('#categoryIconPicker input').count(), 13); + assert.equal(await page.locator('#categoryIconPicker input').count(), 25); + assert.equal(await page.locator('#categoryIconPicker > .category-icon-options label:visible').count(), 8); + assert.equal(await page.locator('#moreCategoryIcons > summary').textContent(), dictionaries[language]['app.moreIcons']); + await page.locator('#moreCategoryIcons > summary').click(); + assert.equal(await page.locator('#categoryIconPicker label:visible').count(), 25); assert.ok(await page.locator('#pageDialog').evaluate(node => node.scrollWidth <= node.clientWidth + 1)); await page.reload({ waitUntil: 'networkidle' }); assert.equal(await page.locator('html').getAttribute('lang'), language); diff --git a/scripts/interaction-smoke.cjs b/scripts/interaction-smoke.cjs index a3992d9..092f8bf 100644 --- a/scripts/interaction-smoke.cjs +++ b/scripts/interaction-smoke.cjs @@ -248,8 +248,14 @@ const errors = []; for (const name of ['Mes recharges', 'Voyages', 'Famille']) { await custom.locator('#catalogButton').click(); await custom.locator('#catalogCategoryButton').click(); + assert.equal(await custom.locator('#categoryIconPicker input[name="categoryIcon"]').count(), 25); + assert.equal(await custom.locator('#categoryIconPicker > .category-icon-options .category-icon-option').count(), 8); + assert.equal(await custom.locator('#moreCategoryIcons').evaluate(details => details.open), false); await custom.locator('#newPageName').fill(name); - await custom.locator('input[name="categoryIcon"][value="charging"]').check(); + if (name === 'Famille') { + await custom.locator('#moreCategoryIcons > summary').click(); + await custom.locator('input[name="categoryIcon"][value="coffee"]').check(); + } else await custom.locator('input[name="categoryIcon"][value="charging"]').check(); await custom.locator('#addPageForm [type="submit"]').click(); assert.equal(await custom.locator('#pageDialog').evaluate(dialog => dialog.open), false); } @@ -267,6 +273,12 @@ const errors = []; await custom.locator('input[name="categoryIcon"][value="music"]').check(); assert.equal(await custom.locator('#addPageForm [type="submit"]').isEnabled(), true); await custom.locator('#addPageForm [type="submit"]').click(); + await custom.getByRole('button', { name: 'Modifier la catégorie Famille', exact: true }).click(); + assert.equal(await custom.locator('#categoryIconPicker > .category-icon-options .category-icon-option').count(), 9, 'The currently selected extra icon stays visible while editing'); + assert.equal(await custom.locator('#categoryIconPicker > .category-icon-options input[value="coffee"]').isChecked(), true); + assert.equal(await custom.locator('#moreCategoryIcons').evaluate(details => details.open), false); + assert.equal(await custom.locator('#categoryIconPicker input[name="categoryIcon"]').count(), 25, 'Editing does not duplicate the selected icon'); + await custom.locator('#pageDialog [data-close-dialog]').first().click(); await custom.reload({ waitUntil: 'networkidle' }); const renamed = (await saved(custom)).categories.find(item => item.id === category.id); assert.equal(renamed.label, 'Mes pauses'); @@ -282,7 +294,26 @@ const errors = []; assert.equal((await saved(custom)).theme, 'dark'); assert.equal(await custom.locator('#themeToggle use').getAttribute('href'), '#icon-sun'); assert.equal(await custom.locator('#themeToggle svg').count(), 1); - console.log('✓ Add creates custom tiles; five custom categories have editable matching icons; visible theme control preserves its icon'); + console.log('✓ Add creates shortcuts and categories; 25 icons reveal 8 common choices first and keep extra selected icons visible when editing'); + + const lightSystem = await pageFor({ colorScheme: 'light' }); + await lightSystem.evaluate(() => localStorage.removeItem(EVState.STORAGE_KEY)); + await lightSystem.reload({ waitUntil: 'networkidle' }); + assert.equal((await saved(lightSystem)).theme, 'dark', 'A fresh portal defaults to dark even on a light operating system'); + await lightSystem.evaluate(() => { + const state = JSON.parse(localStorage.getItem(EVState.STORAGE_KEY)); state.theme = 'auto'; + localStorage.setItem(EVState.STORAGE_KEY, JSON.stringify(state)); + }); + await lightSystem.reload({ waitUntil: 'networkidle' }); + assert.equal((await saved(lightSystem)).theme, 'dark', 'Legacy automatic theme resolves to the explicit dark default'); + await lightSystem.locator('#themeToggle').click(); + await lightSystem.reload({ waitUntil: 'networkidle' }); + assert.equal((await saved(lightSystem)).theme, 'light', 'An explicit light choice survives reload'); + await lightSystem.addInitScript(() => Object.defineProperty(document, 'fullscreenEnabled', { value: false, configurable: true })); + await lightSystem.reload({ waitUntil: 'networkidle' }); + assert.equal(await lightSystem.locator('#fullscreenButton').isVisible(), false); + assert.equal(await lightSystem.locator('#fullscreenDock').isVisible(), false, 'Unavailable fullscreen leaves no floating dock'); + console.log('✓ Dark is the default independently of the system; explicit light persists and unavailable fullscreen hides its dock'); const multilingual = await pageFor(); const originalSettings = await saved(multilingual); @@ -327,6 +358,8 @@ const errors = []; await tesla.addInitScript(() => Object.defineProperty(document, 'fullscreenEnabled', { value: false, configurable: true })); await tesla.reload({ waitUntil: 'networkidle' }); assert.equal(await tesla.locator('#fullscreenButton').isVisible(), true); + assert.equal(await tesla.locator('#fullscreenDock').isVisible(), true); + assert.equal(await tesla.locator('#header #fullscreenButton').count(), 0); let redirect; await tesla.route('https://www.youtube.com/redirect?*', route => { redirect = route.request().url(); return route.fulfill({ contentType: 'text/html', body: 'Mock Theater transition' }); }); await tesla.locator('#fullscreenButton').click(); diff --git a/scripts/production-smoke.cjs b/scripts/production-smoke.cjs index 1026179..7d18d7c 100644 --- a/scripts/production-smoke.cjs +++ b/scripts/production-smoke.cjs @@ -83,6 +83,8 @@ function matchesResponse(response, method, url) { const deployed = await receiver.evaluate(() => ({ relay: window.EV_CONFIG && EV_CONFIG.pairingRelayURL, catalogue: window.EV_CATALOG && EV_CATALOG.categories.flatMap(category => category.shortcuts).map(shortcut => ({ id: shortcut.serviceId, url: shortcut.url })), + installed: window.EVState && EVState.allShortcutEntries(JSON.parse(localStorage.getItem(EVState.STORAGE_KEY))).map(entry => entry.shortcut.serviceId), + theme: document.documentElement.dataset.theme, hasPreferences: Boolean(window.EVPreferences && typeof EVPreferences.createPreferences === 'function'), hasPairing: Boolean(window.EVPairing && typeof EVPairing.parseFragment === 'function') })); @@ -97,9 +99,19 @@ function matchesResponse(response, method, url) { for (const [id, url] of Object.entries(additions)) { check(deployed.catalogue.filter(item => item.id === id && item.url === url).length === 1, 'Missing or duplicated catalogue addition: ' + id); } + check(deployed.theme === 'dark', 'A new browser must start in dark mode'); + check(deployed.installed.includes('crave') && !deployed.installed.includes('github'), 'Global defaults must include Crave while GitHub remains optional'); + await receiver.locator('#catalogButton').click(); + check(await receiver.locator('#catalogCategoryButton').isVisible(), 'Category creation is missing from the catalogue'); + check(await receiver.locator('#catalogCustomButton').isVisible(), 'Custom shortcut creation is missing from the catalogue'); + await receiver.locator('#catalogSearch').fill('Crave'); + check(await receiver.getByRole('button', { name: 'Supprimer Crave', exact: true }).isEnabled(), 'Installed services must have an enabled removal action'); + await receiver.locator('#catalogSearch').fill('GitHub'); + check(await receiver.getByRole('button', { name: 'Ajouter GitHub', exact: true }).isEnabled(), 'Optional services must remain addable'); + await receiver.locator('#catalogDialog [data-close-dialog]').click(); await receiver.locator('#settingsButton').click(); await receiver.locator('#catalogPreferences summary').click(); - check(await receiver.locator('#marketSelect').inputValue() === 'FR', 'French context must suggest France'); + check(await receiver.locator('#marketSelect, #catalogMarketToggle').count() === 0, 'The shared catalogue must not expose country controls'); check(await receiver.locator('#homeFavoritesToggle').isVisible(), 'Favorites home preference is missing'); check(await receiver.locator('#categoryVisibilityOptions input').count() > 0, 'Category visibility preferences are missing'); check(await receiver.locator('#backupSettings #shareButton').isVisible(), 'Export backup action is missing from settings'); @@ -166,7 +178,7 @@ function matchesResponse(response, method, url) { const expected = await sender.evaluate(initial => { const state = EVState.normalizeState(initial); localStorage.setItem(EVState.STORAGE_KEY, JSON.stringify(state)); - EVPreferences.createPreferences().patch({ market: 'CA', homeFavorites: true }); + EVPreferences.createPreferences().patch({ homeFavorites: true, hiddenCategoryIds: ['smoke-tools'] }); return state; }, fixture); await sender.reload({ waitUntil: 'networkidle' }); diff --git a/tests/catalog.test.js b/tests/catalog.test.js index 6f08ba6..79d93c6 100644 --- a/tests/catalog.test.js +++ b/tests/catalog.test.js @@ -4,6 +4,8 @@ const fs = require('node:fs'); const path = require('node:path'); const vm = require('node:vm'); const { createHash } = require('node:crypto'); +const Core = require('../js/state.js'); +const Preferences = require('../js/preferences.js'); const root = path.resolve(__dirname, '..'); const context = { window: {} }; @@ -65,7 +67,7 @@ test('default games are one portal and four direct games; social and work servic } }); -test('known regional recommendations follow publisher availability, including recent TF1+ markets', () => { +test('regional service notes remain descriptive metadata without defining a separate catalogue', () => { assert.deepEqual(find('crave').countries, ['CA']); assert.deepEqual(find('starz').countries, ['US']); assert.deepEqual(find('iheartradio').countries, ['US', 'CA', 'MX', 'AU', 'NZ']); @@ -75,6 +77,22 @@ test('known regional recommendations follow publisher availability, including re assert.equal(find('tf1-plus').countries.length, 26); }); +test('every locale and saved legacy country exposes the same global catalogue and initial service selection', () => { + const complete = services.map(service => service.serviceId); + const defaults = services.filter(service => service.defaultIncluded !== false).map(service => service.serviceId); + for (const [locale, market] of [['fr-FR', 'FR'], ['fr-CA', 'CA'], ['en-US', 'US'], ['de-DE', 'DE'], ['es-ES', 'ES'], ['it-IT', 'IT'], ['ru-RU', 'ALL'], ['ar-SA', 'ALL'], ['pt-PT', 'PT']]) { + const original = JSON.stringify({ version: 1, market, homeFavorites: true, hiddenCategoryIds: ['news'] }); + const storage = { getItem: key => key === Preferences.STORAGE_KEY ? original : null, + setItem() { throw new Error('Reading a catalogue must not write preferences'); } }; + const preferences = Preferences.createPreferences(storage, { locale }).read(); + assert.deepEqual(preferences, { homeFavorites: true, hiddenCategoryIds: ['news'] }); + assert.deepEqual(Core.catalogServices(catalog, { market, locale }).map(entry => entry.shortcut.serviceId), complete); + assert.deepEqual(Core.catalogServices(catalog, { market, includeOptional: false }).map(entry => entry.shortcut.serviceId), defaults); + assert.deepEqual(Core.allShortcutEntries(Core.fromCatalog(catalog, { market, locale })).map(entry => entry.shortcut.serviceId), defaults); + assert.equal(storage.getItem(Preferences.STORAGE_KEY), original); + } +}); + test('all fifteen additions have the requested address and a complete local logo with provenance', () => { const additions = { justwatch: 'https://www.justwatch.com/fr', diff --git a/tests/preferences.test.js b/tests/preferences.test.js index 16369ac..05a7a6f 100644 --- a/tests/preferences.test.js +++ b/tests/preferences.test.js @@ -10,42 +10,57 @@ function storage(initial = {}) { setItem: (key, value) => { writes.push(key); values.set(key, String(value)); } }; } -test('an explicit browser region suggests the market without assuming a country from a language', () => { - for (const [locale, expected] of [['fr-CA', 'CA'], ['en-GB', 'GB'], ['es-MX', 'MX'], ['fr_CH', 'CH'], ['de-DE', 'DE'], ['en', 'ALL'], ['fr', 'ALL'], ['pt-BR', 'ALL'], ['ar-SA', 'ALL'], ['bad locale', 'ALL'], [null, 'ALL']]) { - assert.equal(Preferences.suggestMarket(locale), expected, String(locale)); +test('browser locale has no effect on the available device preferences', () => { + for (const locale of ['fr-CA', 'en-GB', 'es-MX', 'fr_CH', 'de-DE', 'en', 'fr', 'pt-BR', 'ar-SA', 'bad locale', null]) { + const saved = storage(); + assert.deepEqual(Preferences.createPreferences(saved, { locale }).read(), { homeFavorites: false, hiddenCategoryIds: [] }); + assert.equal(saved.writes.length, 0, 'Starting the app does not create or rewrite preferences'); } - const saved = storage(); - assert.deepEqual(Preferences.createPreferences(saved, { locale: 'fr-CA' }).read(), { homeFavorites: false, market: 'CA', hiddenCategoryIds: [] }); - assert.equal(saved.writes.length, 0, 'Starting the app does not create or rewrite preferences'); }); -test('explicit worldwide selection and device favorites survive reload independently of interface language and shared state', () => { +test('device favorites and category visibility survive reload independently of interface language and shared state', () => { const saved = storage({ 'evportal.state.v2': 'portable configuration', 'evportal.language.v1': 'fr', config: 'legacy account' }); const api = Preferences.createPreferences(saved, { locale: 'fr-FR' }); - api.patch({ homeFavorites: true, market: 'ALL', hiddenCategoryIds: ['news', 'music'] }); - assert.deepEqual(Preferences.createPreferences(saved, { locale: 'de-DE' }).read(), { homeFavorites: true, market: 'ALL', hiddenCategoryIds: ['news', 'music'] }); + api.patch({ homeFavorites: true, hiddenCategoryIds: ['news', 'music'] }); + assert.deepEqual(Preferences.createPreferences(saved, { locale: 'de-DE' }).read(), { homeFavorites: true, hiddenCategoryIds: ['news', 'music'] }); assert.deepEqual(saved.writes, [Preferences.STORAGE_KEY]); assert.equal(saved.getItem('evportal.state.v2'), 'portable configuration'); assert.equal(saved.getItem('evportal.language.v1'), 'fr'); assert.equal(saved.getItem('config'), 'legacy account'); }); -test('a partial update preserves unknown fields already stored and never accepts unrelated patch data', () => { +test('a partial update preserves inactive legacy country and unknown stored fields without accepting unrelated patch data', () => { const saved = storage({ [Preferences.STORAGE_KEY]: JSON.stringify({ version: 1, homeFavorites: true, market: 'CA', hiddenCategoryIds: ['news'], futureOption: { enabled: true } }) }); const api = Preferences.createPreferences(saved, { locale: 'en-US' }); - api.patch({ market: 'BE', access_token: 'unrelated patch field' }); + api.patch({ hiddenCategoryIds: ['news', 'music'], market: 'BE', access_token: 'unrelated patch field' }); const record = JSON.parse(saved.getItem(Preferences.STORAGE_KEY)); assert.deepEqual(record.futureOption, { enabled: true }); assert.equal(record.homeFavorites, true); - assert.deepEqual(record.hiddenCategoryIds, ['news']); + assert.deepEqual(record.hiddenCategoryIds, ['news', 'music']); + assert.equal(record.market, 'CA', 'An inactive legacy field remains available for recovery'); assert.equal(record.access_token, undefined); + assert.equal(Object.hasOwn(api.read(), 'market'), false); +}); + +test('legacy country values are inert and never invalidate otherwise usable device preferences', () => { + for (const market of ['ALL', 'FR', 'CA', 'US', 'unknown', null, { legacy: true }]) { + const raw = JSON.stringify({ version: 1, market, homeFavorites: true, hiddenCategoryIds: ['news'] }); + const saved = storage({ [Preferences.STORAGE_KEY]: raw }); + const api = Preferences.createPreferences(saved, { locale: 'ar-SA' }); + assert.deepEqual(api.read(), { homeFavorites: true, hiddenCategoryIds: ['news'] }); + assert.equal(api.persistent, true); + assert.equal(saved.getItem(Preferences.STORAGE_KEY), raw, 'Reading never rewrites the historical record'); + } + const saved = storage(); + Preferences.createPreferences(saved).patch({ market: 'FR', homeFavorites: true }); + assert.equal(Object.hasOwn(JSON.parse(saved.getItem(Preferences.STORAGE_KEY)), 'market'), false, 'New records never acquire a country'); }); test('invalid changes are rejected atomically without changing memory or storage', () => { const saved = storage(); const api = Preferences.createPreferences(saved, { locale: 'en-GB' }); const initial = api.read(); - for (const patch of [null, [], { homeFavorites: 'true' }, { market: 'GLOBAL' }, { market: 'fr' }, { hiddenCategoryIds: 'news' }, { hiddenCategoryIds: ['favorites'] }, { hiddenCategoryIds: ['all'] }, { hiddenCategoryIds: ['../bad'] }, { hiddenCategoryIds: Array(51).fill('news') }]) { + for (const patch of [null, [], { homeFavorites: 'true' }, { hiddenCategoryIds: 'news' }, { hiddenCategoryIds: ['favorites'] }, { hiddenCategoryIds: ['all'] }, { hiddenCategoryIds: ['../bad'] }, { hiddenCategoryIds: Array(51).fill('news') }]) { assert.throws(() => api.patch(patch), error => error.code === 'INVALID_PREFERENCES'); assert.deepEqual(api.read(), initial); } @@ -76,7 +91,7 @@ test('corrupt and future preference records remain intact while session changes test('blocked or full storage keeps temporary preferences and a later successful save recovers persistence', () => { const blocked = Preferences.createPreferences({ getItem() { throw new Error('Blocked'); }, setItem() { throw new Error('Blocked'); } }, { locale: 'en-US' }); - assert.equal(blocked.patch({ market: 'NZ' }).market, 'NZ'); + assert.equal(blocked.patch({ homeFavorites: true }).homeFavorites, true); assert.equal(blocked.persistent, false); const saved = storage(); const write = saved.setItem; @@ -86,7 +101,7 @@ test('blocked or full storage keeps temporary preferences and a later successful assert.equal(api.read().homeFavorites, true); assert.equal(api.persistent, false); saved.setItem = write; - api.patch({ market: 'CA' }); + api.patch({ hiddenCategoryIds: ['news'] }); assert.equal(api.persistent, true); assert.equal(Preferences.createPreferences(saved).read().homeFavorites, true); const temporary = Preferences.createPreferences(null, { locale: 'en-US' }); diff --git a/tests/state-services.test.js b/tests/state-services.test.js index 720a966..fe5ca35 100644 --- a/tests/state-services.test.js +++ b/tests/state-services.test.js @@ -139,29 +139,36 @@ test('foreign local preferences are excluded from JSON and Telegraph state expor assert.deepEqual(JSON.parse(nodes[0].children[0]), normalized); }); -test('initial catalogue filters country and optional entries while retaining secondary-only categories', () => { - const france = Core.fromCatalog(catalog, { market: 'FR' }); - const us = Core.fromCatalog(catalog, { market: 'US' }); +test('initial catalogue is global even with legacy country options, while optional entries remain opt-in', () => { const all = Core.fromCatalog(catalog); const ids = state => Core.allShortcutEntries(state).map(entry => entry.shortcut.serviceId); - assert.deepEqual(ids(france), ['canal-plus', 'pluto-tv', 'gulli', 'abrp']); - assert.deepEqual(ids(us), ['pluto-tv', 'tubitv', 'abrp']); - assert.ok(ids(all).includes('tubitv')); - assert.ok(ids(all).includes('gulli')); + const expected = ['canal-plus', 'pluto-tv', 'gulli', 'tubitv', 'abrp']; + assert.deepEqual(ids(all), expected); + for (const market of ['ALL', 'FR', 'CA', 'US', 'BE', 'GB', 'AU', 'unknown', undefined]) { + const initial = Core.fromCatalog(catalog, { market }); + assert.deepEqual(ids(initial), expected, String(market)); + assert.deepEqual(Core.catalogServices(catalog, { market }), Core.catalogServices(catalog)); + assert.deepEqual(ids(Core.loadState(storage(), catalog, { market }).state), expected); + assert.equal(initial.categories.find(category => category.id === 'navigation').shortcuts.length, 0); + assert.equal(Core.shortcutsForCategory(initial, 'navigation').length, 1); + } assert.equal(all.categories.some(category => category.id === 'social'), false); - assert.equal(us.categories.find(category => category.id === 'navigation').shortcuts.length, 0); - assert.equal(Core.shortcutsForCategory(us, 'navigation').length, 1); assert.equal(Core.catalogServices(catalog, { market: 'FR' }).some(entry => entry.shortcut.serviceId === 'mastodon'), true); assert.equal(Core.catalogServices(catalog, { market: 'FR', includeOptional: false }).some(entry => entry.shortcut.serviceId === 'mastodon'), false); assert.equal(Core.loadState(storage(), catalog, { market: 'US' }).state.categories.some(category => category.id === 'social'), false); }); -test('country changes and catalogue updates preserve installed optional or other-country personal state', () => { +test('global catalogue changes preserve installed services and never reinsert deleted links or categories', () => { let state = Core.fromCatalog(catalog, { market: 'FR' }); state = Core.addCatalogService(state, catalog, 'mastodon'); + const gulli = Core.allShortcutEntries(state).find(entry => entry.shortcut.serviceId === 'gulli'); + state = Core.removeShortcut(state, gulli.shortcut.id); + const abrp = Core.allShortcutEntries(state).find(entry => entry.shortcut.serviceId === 'abrp'); + state = Core.updateShortcut(state, abrp.shortcut.id, { name: 'Mes étapes', favorite: true, clickCount: 17 }); const saved = storage(); Core.saveState(saved, state); assert.deepEqual(Core.loadState(saved, catalog, { market: 'US' }).state, state); + assert.equal(Core.allShortcutEntries(Core.applyCatalogUpdates(state, catalog).state).some(entry => entry.shortcut.serviceId === 'gulli'), false); const empty = Core.normalizeState({ version: 2, categories: [] }); assert.deepEqual(Core.applyCatalogUpdates(empty, catalog).state.categories, []); }); diff --git a/tests/state.test.js b/tests/state.test.js index 4daa3a5..2bc78a4 100644 --- a/tests/state.test.js +++ b/tests/state.test.js @@ -24,6 +24,24 @@ function fakeStorage(initial) { }; } +test('new, missing-theme and legacy configurations default to dark while explicit themes remain unchanged', () => { + assert.equal(Core.fromCatalog(catalog).theme, 'dark'); + assert.equal(Core.loadState(fakeStorage(), catalog).state.theme, 'dark'); + const old = { version: 2, categories: [] }; + assert.equal(Core.normalizeState(old).theme, 'dark'); + assert.equal(Core.parseImport(JSON.stringify(old), catalog).theme, 'dark'); + assert.equal(Core.loadState(fakeStorage({ [Core.STORAGE_KEY]: JSON.stringify(old) }), catalog).state.theme, 'dark'); + const legacy = { pages: ['cinema'], cinema: [{ name: 'Mon cinéma', url: 'https://example.org/' }] }; + assert.equal(Core.fromLegacy(legacy, catalog).theme, 'dark'); + assert.equal(Core.parseImport(JSON.stringify(legacy), catalog).theme, 'dark'); + for (const theme of ['light', 'dark', 'auto']) { + const input = { ...old, theme }; + assert.equal(Core.normalizeState(input).theme, theme); + assert.equal(Core.parseImport(JSON.stringify(input), catalog).theme, theme); + assert.equal(Core.loadState(fakeStorage({ [Core.STORAGE_KEY]: JSON.stringify(input) }), catalog).state.theme, theme); + } +}); + test('global tile order is optional in old v2 backups and survives saving and import', () => { const initial = Core.fromCatalog(catalog); delete initial.shortcutOrder; diff --git a/tests/usage-categories.test.js b/tests/usage-categories.test.js index 3046639..57a47e4 100644 --- a/tests/usage-categories.test.js +++ b/tests/usage-categories.test.js @@ -3,6 +3,7 @@ const test = require('node:test'); const assert = require('node:assert/strict'); const Core = require('../js/state.js'); const Telegraph = require('../js/telegraph.js'); +const Backups = require('../js/backups.js'); const catalog = { version: 'test', @@ -118,6 +119,26 @@ test('only existing sprite icons can be imported or selected, while absent icons assert.equal(Core.normalizeState({ version: 2, categories: [customCategory(1)] }).categories[0].icon, 'folder'); }); +test('all new category icons survive state, local-backup and Telegraph round-trips without removing historical icons', () => { + const historical = ['all', 'favorites', 'cinema', 'music', 'tv', 'charging', 'games', 'navigation', 'social', 'news', 'weather', 'productivity', 'folder']; + const added = ['home', 'car', 'parking', 'map', 'globe', 'compass', 'coffee', 'food', 'shopping', 'heart', 'camera', 'tools']; + assert.deepEqual(Core.CATEGORY_ICONS, [...historical, ...added]); + for (const icon of added) { + const state = Core.normalizeState({ version: 2, categories: [customCategory(1, { icon, shortcuts: [ + { id: 'my-link', name: 'Ma pause', url: 'https://example.org/', favorite: true, clickCount: 8 } + ] })] }); + const saved = storage(); + assert.equal(Core.saveState(saved, state), true); + assert.deepEqual(Core.loadState(saved, catalog).state.categories, state.categories); + assert.deepEqual(Core.parseImport(JSON.stringify(state)).categories, state.categories); + const library = Backups.createLibrary(saved); + const record = library.add({ title: 'Ma catégorie', state, source: 'file' }); + assert.deepEqual(Backups.createLibrary(saved).get(record.id).state, state); + const content = JSON.parse(Telegraph.contentForState(state)); + assert.deepEqual(Core.parseImport(content[0].children[0]), state); + } +}); + test('the creation cap counts five personal categories independently from the remaining default categories', () => { const state = Core.fromCatalog(catalog); assert.equal(Core.MAX_CUSTOM_CATEGORIES, 5);