Repository: truenas/webui
Pull request #11965: NAS-135232 / 25.10 / Consume global `system.boot_id`
Author: login: AlexKarpov98
Labels: name: no-time-tracked
Created: 2025-05-06T07:14:16Z | Merged: 2025-05-07T09:32:43Z

**Changes:**
Boot ID is now taken from the global API 

<!-- Briefly describe what changed. -->

**Testing:**
See ticket.

for `environment.ts`
make sure you have:

`production: false` 

To be able to avoid CORS errors, make sure you have `proxy.config.json` set up.
you can check the `proxy.config.json.template`

```
{
    "/api/**": {
        "target": "http://_REMOTE_",
        "secure": false,
        "changeOrigin": true,
        "pathRewrite": {"^/api" : "http://_REMOTE_/api"},
        "loglevel": "debug"
    },
    "/_upload": {
        "target": "http://_REMOTE_",
        "secure": false,
        "changeOrigin": true,
        "pathRewrite": {"^/_upload" : "http://_REMOTE_/_upload"},
        "loglevel": "debug"
    },
    "/_download": {
        "target": "http://_REMOTE_",
        "secure": false,
        "changeOrigin": true,
        "pathRewrite": {"^/_download" : "http://_REMOTE_/_download"},
        "loglevel": "debug"
    }
}
```

Replace `_REMOTE_` with the actual remote IP, like `10.220.36.94`

OR run `yarn run ui remote -i '10.220.36.94'`

Request Result:

<img width="464" alt="Screenshot 2025-05-06 at 10 02 58" src="https://github.com/user-attachments/assets/2ca33cda-459b-42cd-8bfc-bf60fbbeb64d" />

@undsoft - FYI - this makes an extra step to be able to login to the app locally, not really convenient.



Diff:
diff --git a/src/app/services/global-api-http.service.spec.ts b/src/app/services/global-api-http.service.spec.ts
new file mode 100644
index 00000000000..e5fc1f241f8
--- /dev/null
+++ b/src/app/services/global-api-http.service.spec.ts
@@ -0,0 +1,39 @@
+import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing';
+import {
+  SpectatorService,
+  createServiceFactory,
+} from '@ngneat/spectator/jest';
+import { firstValueFrom } from 'rxjs';
+import { mockWindow } from 'app/core/testing/utils/mock-window.utils';
+import { GlobalApiHttpService } from './global-api-http.service';
+
+describe('GlobalApiHttpService', () => {
+  let spectator: SpectatorService<GlobalApiHttpService>;
+  let httpMock: HttpTestingController;
+
+  const createService = createServiceFactory({
+    service: GlobalApiHttpService,
+    imports: [HttpClientTestingModule],
+    providers: [
+      mockWindow(),
+    ],
+  });
+
+  beforeEach(() => {
+    spectator = createService();
+    httpMock = spectator.inject(HttpTestingController);
+  });
+
+  it('should call getBootId() and return string', async () => {
+    const expectedBootId = 'boot-abc';
+
+    const promise = firstValueFrom(spectator.service.getBootId());
+
+    const req = httpMock.expectOne('/api/boot_id');
+    expect(req.request.method).toBe('GET');
+    req.flush(expectedBootId);
+
+    const result = await promise;
+    expect(result).toBe(expectedBootId);
+  });
+});
diff --git a/src/app/services/global-api-http.service.ts b/src/app/services/global-api-http.service.ts
new file mode 100644
index 00000000000..075dcffe83c
--- /dev/null
+++ b/src/app/services/global-api-http.service.ts
@@ -0,0 +1,28 @@
+import { HttpClient } from '@angular/common/http';
+import { Inject, Injectable } from '@angular/core';
+import { environment } from 'environments/environment';
+import { Observable } from 'rxjs';
+import { WINDOW } from 'app/helpers/window.helper';
+
+@Injectable({
+  providedIn: 'root',
+})
+export class GlobalApiHttpService {
+  private readonly baseUrl: string;
+
+  constructor(
+    private http: HttpClient,
+    @Inject(WINDOW) private window: Window,
+  ) {
+    const protocol = this.window.location.protocol === 'https:' ? 'https://' : 'http://';
+    this.baseUrl = environment.production ? `${protocol}${environment.remote}/api` : '/api';
+  }
+
+  private get<T>(path: string): Observable<T> {
+    return this.http.get<T>(`${this.baseUrl}/${path}`);
+  }
+
+  getBootId(): Observable<string> {
+    return this.get<string>('boot_id');
+  }
+}
diff --git a/src/app/services/update.service.spec.ts b/src/app/services/update.service.spec.ts
index 094c3b64dd7..fdcd167312b 100644
--- a/src/app/services/update.service.spec.ts
+++ b/src/app/services/update.service.spec.ts
@@ -1,17 +1,26 @@
 import { createServiceFactory, SpectatorService } from '@ngneat/spectator/jest';
-import { MockApiService } from 'app/core/testing/classes/mock-api.service';
+import { of } from 'rxjs';
 import { mockCall, mockApi } from 'app/core/testing/utils/mock-api.utils';
 import { WINDOW } from 'app/helpers/window.helper';
+import { GlobalApiHttpService } from 'app/services/global-api-http.service';
 import { UpdateService } from 'app/services/update.service';
 
 describe('UpdateService', () => {
   let spectator: SpectatorService<UpdateService>;
+  const bootId = 'boot-id-1';
+
   const createService = createServiceFactory({
     service: UpdateService,
     providers: [
       mockApi([
         mockCall('system.boot_id', 'boot-id-1'),
       ]),
+      {
+        provide: GlobalApiHttpService,
+        useValue: {
+          getBootId: jest.fn(() => of(bootId)),
+        },
+      },
       {
         provide: WINDOW,
         useValue: {
@@ -29,20 +38,20 @@ describe('UpdateService', () => {
 
   it('compares boot id with last seen boot id and hard refreshes if there is a difference', () => {
     const window = spectator.inject<Window>(WINDOW);
+    const globalApi = spectator.inject(GlobalApiHttpService);
 
-    // Store id.
+    // First call (stores boot-id-1)
     spectator.service.hardRefreshIfNeeded().subscribe();
 
-    // Receive same id again.
+    // Second call (still boot-id-1, no reload)
     spectator.service.hardRefreshIfNeeded().subscribe();
-
     expect(window.location.reload).not.toHaveBeenCalled();
 
-    // Receive new id.
-    spectator.inject(MockApiService).mockCall('system.boot_id', 'boot-id-2');
+    // Change boot ID
+    (globalApi.getBootId as jest.Mock).mockReturnValue(of('boot-id-2'));
 
+    // Third call (boot-id changed, should reload)
     spectator.service.hardRefreshIfNeeded().subscribe();
-
     expect(window.location.reload).toHaveBeenCalled();
   });
 });
diff --git a/src/app/services/update.service.ts b/src/app/services/update.service.ts
index 1538e805d5a..36124a75156 100644
--- a/src/app/services/update.service.ts
+++ b/src/app/services/update.service.ts
@@ -2,7 +2,7 @@ import { Inject, Injectable } from '@angular/core';
 import { Observable } from 'rxjs';
 import { tap } from 'rxjs/operators';
 import { WINDOW } from 'app/helpers/window.helper';
-import { ApiService } from 'app/modules/websocket/api.service';
+import { GlobalApiHttpService } from 'app/services/global-api-http.service';
 
 @Injectable({
   providedIn: 'root',
@@ -11,7 +11,7 @@ export class UpdateService {
   private lastSeenBootId: string;
 
   constructor(
-    private api: ApiService,
+    private globalApi: GlobalApiHttpService,
     @Inject(WINDOW) private window: Window,
   ) {}
 
@@ -19,20 +19,16 @@ export class UpdateService {
    * Hard refresh is needed to load new html and js after the update.
    */
   hardRefreshIfNeeded(): Observable<string> {
-    return this.api.call('system.boot_id').pipe(
+    return this.globalApi.getBootId().pipe(
       tap((bootId) => {
         if (!this.lastSeenBootId) {
-          // First boot.
           this.lastSeenBootId = bootId;
           return;
         }
 
-        if (this.lastSeenBootId === bootId) {
-          // No update.
-          return;
+        if (this.lastSeenBootId !== bootId) {
+          this.window.location.reload();
         }
-
-        this.window.location.reload();
       }),
     );
   }
diff --git a/src/assets/i18n/fr.json b/src/assets/i18n/fr.json
index 5b9133e81bf..f529dac288b 100644
--- a/src/assets/i18n/fr.json
+++ b/src/assets/i18n/fr.json
@@ -53,7 +53,6 @@
   "2FA": "",
   "2FA Settings": "",
   "700 or owner – all, others – none": "",
-  "A scrub is a data integrity check of your pool. Scrubs identify data integrity problems, detect silent data corruptions caused by transient hardware issues, and provide early disk failure alerts.": "Un Scrub est un contrôle de l'intégrité des données de votre volume. Il permet d'identifier les problèmes d'intégrité des données, de détecter les corruptions silencieuses de données causées par des problèmes matériels temporaires et de fournir des alertes précoces en cas de panne de disque.",
   "Aborted": "",
   "Access Card": "",
   "Account Service Base Url": "",
@@ -177,7 +176,6 @@
   "Change Boot From Disk": "",
   "Change Required": "",
   "Change Root Disk Setup": "",
-  "Changing System Dataset Pool requires SMB service to be restarted. This will cause a temporary disruption of any active SMB connections.": "La modification du volume de données système nécessite le redémarrage du service SMB. Cela entraînera une interruption temporaire des connexions SMB actives.",
   "Check": "",
   "Clear": "",
   "Clear mapping": "",
@@ -694,7 +692,6 @@
   "OpenStack Swift": "",
   "Operating System": "",
   "Operation": "",
-  "Optionally specify the operating system for VM-based instances. Common options are Windows, Linux, FreeBSD but you can also enter a custom value. Leaving this field empty is allowed. \n \n When creating a Windows VM, make sure to set the this field to Windows. Doing so will tell us to expect Windows to be running inside of the virtual machine and to tweak behavior accordingly.": "Vous pouvez éventuellement spécifier le système d'exploitation des instances basées sur des VMs. Les options courantes sont Windows, Linux et FreeBSD, mais vous pouvez également saisir une valeur personnalisée. Vous pouvez laisser ce champ vide. Lors de la création d'une machine virtuelle Windows, veillez à définir ce champ sur Windows. Cela nous permettra de nous attendre à ce que Windows s'exécute dans la machine virtuelle et d'ajuster son comportement en conséquence.",
   "or": "",
   "OS": "",
   "OS Type": "",
@@ -729,7 +726,6 @@
   "Pool Write": "",
   "Post Script": "",
   "Pre Script": "",
-  "Preserve Power Management settings": "Conserver les paramètres de gestion de l'alimentation",
   "Priority Code Point": "",
   "Priority Resilvering": "",
   "Privacy Passphrase": "",
@@ -772,8 +768,6 @@
   "Registration finalization timed out": "",
   "Release": "",
   "Remote Node Restarted": "",
-  "Renames the ZFS dataset to a path in the `ix-virt` dataset in which the zvol is located.": "Renomme le dataset ZFS en un chemin dans le dataset `ix-virt` dans lequel se trouve le zvol.",
-  "Renewing the secret will cause a new URI and a   new QR code to be generated, making it necessary to update your two-factor device or app.": "Le renouvellement du secret entraînera la génération d'un nouvel URI et d'un nouveau code QR, ce qui nécessitera la mise à jour de votre appareil ou application à deux facteurs.",
   "Replication Admin": "",
   "Replication Settings": "",
   "Replication Task": "",
@@ -789,7 +783,6 @@
   "Reporting Write": "",
   "Reservation": "",
   "Resilver Settings": "",
-  "Resilver tasks can run at any time, but by default they have low priority - lower than regular ZFS I/O operations. You can specify a time window during which resilvering is given higher priority — useful for scheduling it during non-business hours.": "Les tâches resilver peuvent être exécutées à tout moment, mais leur priorité par défaut est faible, inférieure à celle des opérations d'E/S ZFS classiques. Vous pouvez spécifier une plage horaire pendant laquelle la réargenture est prioritaire, ce qui est utile pour la planifier en dehors des heures ouvrables.",
   "Resilvering At Higher Priority": "",
   "Resilvering Priority": "",
   "Resilvering Settings": "",
@@ -843,9 +836,6 @@
   "Select ISO": "",
   "Select Rating": "",
   "Select Reporting": "",
-  "Select the directory to store the cache files. This is used to speed up the backup process. If not set, performance may degrade.": "Sélectionnez le répertoire de stockage des fichiers cache. Ceci permet d'accélérer le processus de sauvegarde. Si ce paramètre n'est pas défini, les performances peuvent être dégradées.",
-  "Select the disk to boot the instance from.": "Sélectionnez le disque à partir duquel démarrer l’instance.",
-  "Select the ISO file path to import": "Sélectionnez le chemin du fichier ISO à importer",
   "Select Volume": "",
   "Select Zvols": "",
   "Selected Devices": "",
@@ -1273,6 +1263,7 @@
   "6 months ago": "il y a 6 mois",
   "A message with verification instructions has been sent to the new email address. Please verify the email address before continuing.": "Un message avec instructions de vérification a été envoyé à la nouvelle adresse e-mail. Veuillez vérifier l’adresse e-mail avant de continuer.",
   "A pool is made of VDEVs (virtual devices). Each VDEV is a group of drives working together": "Un volume est constitué de VDEV (périphériques virtuels). Chaque VDEV est un groupe de disques fonctionnant ensemble.",
+  "A scrub is a data integrity check of your pool. Scrubs identify data integrity problems, detect silent data corruptions caused by transient hardware issues, and provide early disk failure alerts.": "Un Scrub est un contrôle de l'intégrité des données de votre volume. Il permet d'identifier les problèmes d'intégrité des données, de détecter les corruptions silencieuses de données causées par des problèmes matériels temporaires et de fournir des alertes précoces en cas de panne de disque.",
   "A single bandwidth limit or bandwidth limit schedule in rclone format. Separate entries by pressing <code>Enter</code>. Example:  <samp>08:00,512</samp> <samp>12:00,10MB</samp> <samp>13:00,512</samp>  <samp>18:00,30MB</samp> <samp>23:00,off</samp>. Units can be specified with a suffix of <samp>b</samp> (default), <samp>k</samp>, <samp>M</samp>, or <samp>G</samp>. See <a href=\"https://rclone.org/docs/#bwlimit-bandwidth-spec\" target=\"_blank\">rclone --bwlimit</a>.": "Une limite de bande passante unique ou une planification de limite de bande passante au format rclone. Séparez les entrées en appuyant sur <code>Entrée</code>. Exemple : <samp>08:00,512</samp> <samp>12:00,10 Mo</samp> <samp>13:00,512</samp> <samp>18:00,30 Mo</samp> <samp>23:00,off</samp>. Les unités peuvent être spécifiées avec un suffixe de <samp>b</samp> (par défaut), <samp>k</samp>, <samp>M</samp> ou <samp>G</samp>. Voir <a href=\"https://rclone.org/docs/#bwlimit-bandwidth-spec\" target=\"_blank\">rclone --bwlimit</a>.",
   "A smaller block size can reduce sequential I/O performance and space efficiency.": "Une taille de bloc plus petite peut réduire les performances séquentielles en matière d’e/s et l’efficacité de l’espace.",
   "A stripe {vdevType} VDEV is highly discouraged and will result in data loss if it fails": "Un stripe {vdevType} VDEV est fortement déconseillé et entraînera une perte de données en cas d'échec.",
@@ -1784,6 +1775,7 @@
   "Changes to ACL type affect how on-disk ZFS ACL is  written and read.\nWhen the ACL type is changed from POSIX to NFSv4,  no migration is performed for default and access ACLs encoded in the  posix1e acl extended attributes to native ZFS ACLs.\nWhen ACL type is  changed from NFSv4 to POSIX, native ZFS ACLs are not converted to  posix1e extended attributes, but the native ACL will be used internally  by ZFS for access checks.\n\nThis means that the user must manually set  new ACLs recursively on the dataset after ACL type changes in order to  avoid unexpected permissions behavior.\n\nThis action will be destructive,  and so it is advised to take a ZFS snapshot of the dataset prior to ACL  type changes and permissions modifications.": "Les modifications du type ACL affectent la façon dont les ACL ZFS sur disque sont écrites et lues.\nLorsque le type ACL est modifié de POSIX à NFSv4, aucune migration n'est effectuée pour les ACL par défaut et d'accès codées dans les attributs étendus acl posix1e à des ACL ZFS natives.\nLorsque le type ACL est modifié de NFSv4 à POSIX, les ACL ZFS natives ne sont pas convertis en attributs étendus posix1e, mais l'ACL native sera utilisée en interne par ZFS pour les contrôles d'accès.\n\nCela signifie que l'utilisateur doit définir manuellement de nouvelles ACL de manière récursive sur le dataset après les modifications de type ACL pour éviter un comportement inattendu des autorisations.\n\nCette action sera destructive et il est donc conseillé de prendre un instantané ZFS du dataset avant les modifications de type ACL et de permissions.",
   "Changing Advanced settings can be dangerous when done incorrectly. Please use caution before saving.": "La modification des paramètres avancés peut être dangereuse si elle n'est pas effectuée correctement. Veuillez faire preuve de prudence avant de sauvegarder.",
   "Changing global 2FA settings might cause user secrets to reset. Which means users will have to reconfigure their 2FA. Are you sure you want to continue?": "La modification des paramètres globaux de 2FA peut entraîner la réinitialisation des secrets des utilisateurs. Les utilisateurs devront donc reconfigurer leur 2FA. Êtes-vous sûr de vouloir continuer ?",
+  "Changing System Dataset Pool requires SMB service to be restarted. This will cause a temporary disruption of any active SMB connections.": "La modification du volume de données système nécessite le redémarrage du service SMB. Cela entraînera une interruption temporaire des connexions SMB actives.",
   "Changing to a nightly train is one-way. Changing back to a stable train is not supported! ": "Le changement pour un canal de nuit (nightly ) est à sens unique. Le retour à un train stable n'est pas pris en charge ! ",
   "Channel": "Canal",
   "Channel {n}": "Canal {n}",
@@ -3577,6 +3569,7 @@
   "Optional user-friendly name.": "Nom user-friendly en option.",
   "Optional. Enter a server description.": "Facultatif. Saisissez une description du serveur.",
   "Optional. Only needed for private images.": "Facultatif. Nécessaire uniquement pour les images privées.",
+  "Optionally specify the operating system for VM-based instances. Common options are Windows, Linux, FreeBSD but you can also enter a custom value. Leaving this field empty is allowed. \n \n When creating a Windows VM, make sure to set the this field to Windows. Doing so will tell us to expect Windows to be running inside of the virtual machine and to tweak behavior accordingly.": "Vous pouvez éventuellement spécifier le système d'exploitation des instances basées sur des VMs. Les options courantes sont Windows, Linux et FreeBSD, mais vous pouvez également saisir une valeur personnalisée. Vous pouvez laisser ce champ vide. Lors de la création d'une machine virtuelle Windows, veillez à définir ce champ sur Windows. Cela nous permettra de nous attendre à ce que Windows s'exécute dans la machine virtuelle et d'ajuster son comportement en conséquence.",
   "Options": "Options",
   "Options cannot be loaded": "Les options ne peuvent pas être chargées",
   "Options for encrypting the LDAP connection:  <ul>  <li><i>OFF:</i> do not encrypt the LDAP connection.</li>  <li><i>ON:</i> encrypt the LDAP connection with <i>SSL</i> on port  <i>636</i>.</li>  <li><i>START_TLS:</i> encrypt the LDAP connection with <i>STARTTLS</i>  on the default LDAP port <i>389</i>.</li>  </ul>": "Options de chiffrement de la connexion LDAP <ul>  <li><i>OFF :</i> ne pas chiffrer la connexion LDAP.</li>  <li><i>ON :</i> chiffrer de la connexion LDAP avec <i>SSL</i> sur le port <i>636</i>.</li>  <li><i>START_TLS :</i> chiffre la connexion LDAP avec <i>STARTTLS</i> sur le port LDAP par défaut <i>389</i>.</li>  </ul>",
@@ -3736,6 +3729,7 @@
   "Preserve disk description": "Conserver la description du disque",
   "Preserve Extended Attributes": "Préserver les attributs étendus",
   "Preserve Permissions": "Préserver les autorisations",
+  "Preserve Power Management settings": "Conserver les paramètres de gestion de l'alimentation",
   "Preset": "Préréglage",
   "Preset Name": "Nom du préréglage",
   "Presets": "Préréglages",
@@ -3871,11 +3865,13 @@
   "Removed": "Supprimé",
   "Removes the ACL and permissions recursively  from all child datasets of the current dataset, including all directories and files contained within those child datasets. This can make data inaccessible until new permissions are created.": "Supprime l'ACL et les autorisations de manière récursive de tous les datasets enfants du dataset actuel, y compris tous les répertoires et fichiers contenus dans ces datasets enfants. Cela peut rendre les données inaccessibles jusqu'à ce que de nouvelles autorisations soient créées.",
   "Rename": "Renommer",
+  "Renames the ZFS dataset to a path in the `ix-virt` dataset in which the zvol is located.": "Renomme le dataset ZFS en un chemin dans le dataset `ix-virt` dans lequel se trouve le zvol.",
   "Renew": "Renouveler",
   "Renew 2FA Secret": "Renouveler le secret 2FA",
   "Renew Certificate Days": "Renouveler les jours du certificat",
   "Renew Certificate Days Before Expiry": "Renouveler le certificat quelques jours avant l'expiration",
   "Renew Secret": "Renouveler secret",
+  "Renewing the secret will cause a new URI and a   new QR code to be generated, making it necessary to update your two-factor device or app.": "Le renouvellement du secret entraînera la génération d'un nouvel URI et d'un nouveau code QR, ce qui nécessitera la mise à jour de votre appareil ou application à deux facteurs.",
   "Replace": "Remplacer",
   "Replace Disk": "Remplacer le disque",
   "Replace existing dataset properties with these new defined properties in the replicated files.": "Remplacez les propriétés du dataset existant par ces nouvelles propriétés définies dans les fichiers répliqués.",
@@ -3931,6 +3927,7 @@
   "Resetting system configuration to default settings. The system will restart.": "Réinitialisation de la configuration du système aux paramètres par défaut. Le système redémarre.",
   "Resetting. Please wait...": "Réinitialisation en cours. Veuillez patienter...",
   "Resilver Priority": "Priorité Resilver",
+  "Resilver tasks can run at any time, but by default they have low priority - lower than regular ZFS I/O operations. You can specify a time window during which resilvering is given higher priority — useful for scheduling it during non-business hours.": "Les tâches resilver peuvent être exécutées à tout moment, mais leur priorité par défaut est faible, inférieure à celle des opérations d'E/S ZFS classiques. Vous pouvez spécifier une plage horaire pendant laquelle la réargenture est prioritaire, ce qui est utile pour la planifier en dehors des heures ouvrables.",
   "Resilvering": "Résilvering",
   "Resilvering pool: ": "Pool de résilvering :",
   "Resilvering Status": "État de la résilvering",
@@ -4123,11 +4120,14 @@
   "Select the device to attach.": "Sélectionnez le périphérique à attacher.",
   "Select the directories or files to be sent to the cloud for backup.": "Sélectionnez les répertoires ou fichiers à envoyer vers le cloud pour la sauvegarde.",
   "Select the directories or files to be sent to the cloud for Push syncs, or the destination to be written for Pull syncs. Be cautious about the destination of Pull jobs to avoid overwriting existing files.": "Sélectionnez les répertoires ou les fichiers à envoyer dans le Cloud pour les syncs Push (pousser), ou la destination à écrire pour les syncs Pull (récupérer). Soyez prudent quant à la destination des tâches Pull (récupération) pour éviter d'écraser les fichiers existants.",
+  "Select the directory to store the cache files. This is used to speed up the backup process. If not set, performance may degrade.": "Sélectionnez le répertoire de stockage des fichiers cache. Ceci permet d'accélérer le processus de sauvegarde. Si ce paramètre n'est pas défini, les performances peuvent être dégradées.",
+  "Select the disk to boot the instance from.": "Sélectionnez le disque à partir duquel démarrer l’instance.",
   "Select the folder to store the backup data.": "Sélectionnez le dossier dans lequel stocker les données de sauvegarde.",
   "Select the group to control the dataset. Groups created manually or imported from a directory service appear in the drop-down menu.": "Sélectionnez le groupe pour contrôler le dataset. Les groupes créés manuellement ou importés à partir d'un service d'annuaire apparaissent dans le menu déroulant.",
   "Select the interfaces to use in the aggregation.<br>  Warning: Link Aggregation creation fails if any of the selected interfaces have been manually configured.<br>The order is important because the FAILOVER lagg protocol will mark the first interface as the \"primary\" interface.": "Sélectionnez les interfaces à utiliser dans l'agrégation.<br> Avertissement : la création de l'agrégation de liens échoue si l'une des interfaces sélectionnées a été configurée manuellement.<br>L'ordre est important car le protocole FAILOVER LAGG marquera la première interface comme le \" interface principale\".",
   "Select the interfaces to use in the aggregation.<br> Warning: Link Aggregation creation fails if any of the selected interfaces have been manually configured.": "Sélectionner les interfaces à utiliser dans l'agrégation de liens. <br> Attention: la création d'une agrégation de liens échoue si l'une des interfaces sélectionnées a été configurée manuellement.",
   "Select the IP addresses to be listened on  by the portal. Click ADD to add IP addresses with a different network  port. The address <i>0.0.0.0</i> can be selected to listen on all IPv4  addresses, or <i>::</i> to listen on all IPv6 addresses.": "Sélectionnez les adresses IP à écouter sur le portail. Cliquez sur AJOUTER pour ajouter des adresses IP avec un port réseau différent. L'adresse <i>0.0.0.0</i> peut être sélectionnée pour écouter sur toutes les adresses IPv4, ou <i>: :</i> pour écouter sur toutes les adresses IPv6.",
+  "Select the ISO file path to import": "Sélectionnez le chemin du fichier ISO à importer",
   "Select the level of severity. Alert notifications send for all warnings matching and above the selected level. For example, a warning level set to Critical triggers notifications for Critical, Alert, and Emergency level warnings.": "Sélectionnez le niveau de gravité. Les notifications d'alerte sont envoyées pour tous les avertissements correspondant au niveau sélectionné ou supérieurs. Par exemple, un niveau d'avertissement défini sur Critique déclenche des notifications pour les avertissements de niveau Critique, Alerte et Urgence.",
   "Select the location of the principal in the  keytab created in <b>Directory Services > Kerberos Keytabs</b>.": "Sélectionnez l'emplacement du principal dans l'onglet créé dans <b>Services de répertoire > Kerberos Keytabs</b>.",
   "Select the minimum priority level to send to the remote syslog server.  The system only sends logs matching this level or higher.": "Sélectionnez le niveau de priorité minimum à envoyer au serveur Syslog distant. Le système envoie uniquement les journaux correspondant à ce niveau ou supérieur.",
@@ -5182,4 +5182,4 @@
   "Zvol Details": "Détails zvol",
   "Zvol name": "Nom du zvol",
   "Zvol Space Management": "Gestion de l'espace Zvol"
-}
+}
\ No newline at end of file
diff --git a/src/assets/i18n/ru.json b/src/assets/i18n/ru.json
index bd79e6c1307..01b91fef6e6 100644
--- a/src/assets/i18n/ru.json
+++ b/src/assets/i18n/ru.json
@@ -334,153 +334,16 @@
   "Also include snapshots with the name": "",
   "Also unlock any separate encryption roots that are children of this dataset. Child datasets that inherit encryption from this encryption root will be unlocked in either case.": "",
   "Alternatively, you can start by configuring VDEVs in the wizard first and then opening Manual selection to make adjustments.": "",
-  "Always Chroot": "Разрешить Chroot",
-  "Amazon S3": "Amazon S3",
-  "An enclosure must be selected when 'Limit Pool to a Single Enclosure' is enabled.": "Корпус должен быть выбран, если включена функция \"Ограничить пул одним корпусом\".",
-  "An error occurred while sending the review. Please try again later.": "При отправке отзыва произошла ошибка. Пожалуйста, повторите попытку позже.",
-  "An instance of this app already installed. Click the badge to see installed apps.": "Экземпляр этого приложения уже установлен. Нажмите на значок, чтобы просмотреть установленные приложения.",
-  "An unknown error occurred": "Произошла неизвестная ошибка",
-  "An update is already applied. Please restart the system.": "Обновление уже установлено. Пожалуйста, перезагрузите систему.",
-  "Anonymous User Download Bandwidth": "Пропускная способность загрузки анонимных пользователей",
-  "Anonymous User Upload Bandwidth": "Пропускная способность выгрузки анонимных пользователей",
-  "Any OS": "Другая ОС",
-  "Any part of TrueNAS that you like in particular?": "Есть ли что-то в TrueNAS, что вам особенно нравится?",
-  "Any system service can communicate externally.": "Любая системная служба может взаимодействовать извне.",
-  "API Docs": "Документация API",
-  "API Key copied to clipboard": "Ключ API скопирован в буфер обмена",
-  "API Key or Password": "Ключ API или пароль",
-  "API Key Read": "Чтение ключей API",
-  "API Key Write": "Запись ключей API",
-  "Api Keys": "Ключи API",
-  "API Keys": "Ключи API",
-  "API URL": "API URL",
-  "App": "Приложение",
-  "App Info": "Сведения приложения",
-  "App is restarted": "Приложение перезапущено",
-  "App is restarting": "Перезапуск приложения",
-  "App Name": "Имя приложения",
-  "App Network": "Сеть приложения",
-  "App Version": "Версия приложения",
-  "Append Data": "Применить данные",
-  "Appends a suffix to the share connection path.  This is used to provide unique shares on a per-user, per-computer, or per-IP address basis.  Suffixes can contain a macro. See the  <a href=\"https://www.samba.org/samba/docs/current/man-html/smb.conf.5.html\" target=\"_blank\">smb.conf</a> manual page for  a list of supported macros. The connectpath **must** be preset before a client connects.": "Добавляет суффикс к пути подключения к общему ресурсу. Это используется для предоставления уникальных общих ресурсов для каждого пользователя, компьютера или IP-адреса. Суффиксы могут содержать макрос. Смотрите <a href=\"https://www.samba.org/samba/docs/current/man-html/smb.conf.5.html\" target=\"_blank\">smb.conf</a> страницу инструкции со списком поддерживаемых макросов. Перед подключением клиента **должен** быть указан путь подключения.",
-  "Application": "Приложение",
-  "Application CPU Usage": "Использование ЦП приложением",
-  "Application Info": "Сведения приложения",
-  "Application Information": "Сведения приложения",
-  "Application Memory": "Память приложения",
-  "Application Metadata": "Метаданные приложения",
-  "Application name must have the following:  1) Lowercase alphanumeric characters can be specified  2) Name must start with an alphabetic character and can end with alphanumeric character  3) Hyphen '-' is allowed but not as the first or last character e.g abc123, abc, abcd-1232": "Название приложения должно содержать следующее: 1) Можно указать строчные буквенно-цифровые символы; 2) Имя должно начинаться с буквенного символа и может заканчиваться буквенно-цифровым символом; 3) Допускается использование дефиса '-', но не в качестве первого или последнего символа, например abc123, abc, abcd-1232",
-  "Application Network": "Сетевое приложение",
-  "Applications": "Приложения",
-  "Applications you install will automatically appear here. Click below and browse available apps to get started.": "Установленные вами приложения автоматически появятся здесь. Нажмите ниже и просмотрите доступные приложения, чтобы начать работу.",
-  "Applied Dataset Quota": "Применить квоту набора данных",
-  "Apply Owner": "Применить владельца",
-  "Apply Pending update": "Применить ожидаемые обновления",
-  "Apply Quotas to Selected Groups": "Применить выбранные квоты к выбранной группе",
-  "Apply Quotas to Selected Users": "Применить квоты к выбранным пользователям",
-  "Apply To Groups": "Применить к группам",
-  "Apply To Users": "Применить к пользователям",
-  "Apply updates and restart system after downloading.": "Применить обновления и перезагрузить систему после загрузки",
-  "Applying important system or security updates.": "Применение важных обновлений системы или безопасности.",
-  "Apps Read": "Чтение приложений",
-  "Apps Service Not Configured": "Служба приложений не настроена",
-  "Apps Service Pending": "Служба приложений в ожидании",
-  "Apps Service Running": "Служба приложений запущена",
-  "Apps Service Stopped": "Служба приложений остановлена",
-  "Apps Write": "Запись приложения",
-  "Arbitrary Text": "Произвольный текст",
   "Archs": "",
-  "Are you sure you want to abort the <b>{task}</b> task?": "Вы уверены, что хотите отменить задание <b>{task}</b>?",
-  "Are you sure you want to delete \"{name}\"?": "Вы уверены, что хотите удалить \"{name}\"?",
-  "Are you sure you want to delete {item}?": "Вы уверены, что хотите удалить {item}?",
-  "Are you sure you want to delete <b>{name}</b> Reporting Exporter?": "Вы уверены, что хотите удалить экспортёра отчётов <b>{name}</b>?",
-  "Are you sure you want to delete address {ip}?": "Вы уверены, что хотите удалить адрес {ip}?",
-  "Are you sure you want to delete cronjob <b>\"{name}\"</b>?": "Вы уверены, что хотите удалить cronjob <b>\"{name}\"</b>?",
-  "Are you sure you want to delete group <b>\"{name}\"</b>?": "Вы уверены, что хотите группу <b>\"{name}\"</b>?",
-  "Are you sure you want to delete NFS Share <b>\"{path}\"</b>?": "Вы уверены, что хотите удалить общий ресурс NFS <b>\"{path}\"</b>?",
-  "Are you sure you want to delete SMB Share <b>\"{name}\"</b>?": "Вы уверены, что хотите удалить общий ресурс SMB <b>\"{name}\"</b>?",
-  "Are you sure you want to delete static route <b>\"{name}\"</b>?": "Вы уверены, что хотите статический маршрут <b>\"{name}\"</b>?",
-  "Are you sure you want to delete the <b>{address}</b> NTP Server?": "Вы уверены, что хотите удалить сервер времени NTP <b>{address}</b>?",
-  "Are you sure you want to delete the <b>{name}</b> API Key?": "Вы уверены, что хотите удалить ключ API <b>{name}</b>?",
-  "Are you sure you want to delete the <b>{name}</b> DNS Authenticator?": "Вы уверены, что хотите удалить аутентификатор DNS <b>{name}</b>?",
-  "Are you sure you want to delete the <b>{name}</b> registry?": "Вы уверены, что хотите удалить реестр <b>{name}</b>?",
-  "Are you sure you want to delete the <b>{name}</b> SSH Connection?": "Вы уверены, что хотите удалить SSH-соединение <b>{name}</b>?",
-  "Are you sure you want to delete the <b>{name}</b>?": "Вы уверены, что хотите удалить <b>{name}</b>?",
-  "Are you sure you want to delete the group quota <b>{name}</b>?": "Вы уверены, что хотите удалить квоту группы <b>{name}</b>?",
-  "Are you sure you want to delete the user quota <b>{name}</b>?": "Вы уверены, что хотите удалить квоту пользователя <b>{name}</b>?",
-  "Are you sure you want to delete this item?": "Вы уверены, что хотите удалить этот элемент?",
-  "Are you sure you want to delete this record?": "Вы уверены, что хотите удалить эту запись?",
-  "Are you sure you want to delete this script?": "Вы уверены, что хотите удалить этот сценарий?",
-  "Are you sure you want to delete this snapshot?": "Вы уверены, что хотите удалить этот снимок?",
-  "Are you sure you want to delete this task?": "Вы уверены, что хотите удалить это задание?",
-  "Are you sure you want to delete user <b>\"{user}\"</b>?": "Вы уверены, что хотите удалить пользователя <b>\"{user}\"</b>?",
-  "Are you sure you want to delete volume {name}?": "Вы уверены, что хотите удалить том {name}?",
-  "Are you sure you want to generate a one-time password for \"{username}\" user?": "Вы уверены, что хотите создать одноразовый пароль для пользователя \"{username}\"?",
-  "Are you sure you want to lock \"{user}\" user?": "Вы уверены, что хотите заблокировать пользователя \"{user}\"?",
-  "Are you sure you want to remove the extent association with {extent}?": "Вы уверены, что хотите удалить связь экстента с {extent}?",
-  "Are you sure you want to restore the default set of widgets?": "Вы уверены, что хотите восстановить набор виджетов по умолчанию?",
-  "Are you sure you want to start over?": "Вы уверены, что хотите начать сначала?",
-  "Are you sure you want to terminate all other sessions?": "Вы уверены, что хотите завершить все остальные сессии?",
-  "Are you sure you want to terminate the session?": "Вы уверены, что хотите завершить сессию?",
-  "Are you sure you want to unlock \"{user}\" user?": "Вы уверены, что хотите разблокировать пользователя \"{user}\"?",
-  "Are you sure?": "Вы уверены?",
-  "Arguments": "Аргументы",
-  "ARN": "ARN",
-  "Associate": "Ассоциация",
-  "Asymmetric Logical Unit Access (ALUA)": "Асимметричный доступ к логическому блоку (АДЛБ)",
-  "At least 1 data VDEV is required.": "Требует как минимум одно виртуальное устройство данных.",
-  "At least 1 GPU is required by the host for its functions.": "Для выполнения своих функций хосту требуется как минимум один графический процессор.",
-  "At least 1 vdev is required to make an update to the pool.": "Для обновления пула требуется как минимум один vdev.",
-  "At least one pool must be available to use apps": "Для использования приложений должен быть доступен хотя бы один пул.",
-  "At least one spare is recommended for dRAID. Spares cannot be added later.": "Для dRAID рекомендуется использовать хотя бы один запасной. Запасные части не могут быть добавлены позже.",
-  "Atleast {min} disk(s) are required for {vdevType} vdevs": "Для нескольких vdev {vdevType} требуется как минимум {min} диск(и)",
-  "Attach additional images": "Прикрепить добавленные образы",
-  "Attach debug": "Прикрепить отладку",
-  "Attach images (optional)": "Прикрепить образы (опционально)",
-  "Attaches privileges to the group. Only needed if you need users in this group access  to TrueNAS API or WebUI.": "Прикрепить привилегии к группе. Требуется только в том случае, если вам нужен доступ пользователей из этой группы к TrueNAS API или WebUI.",
-  "Attaching Disk to Boot Pool": "Прикрепить диск к загрузочному пулу",
-  "Attachments not uploaded": "Прикрепления не обновлены",
-  "Attention": "Внимание",
-  "Audit": "Аудит",
-  "Audit Entry": "Запись аудита",
-  "Audit ID": "ИД аудита",
-  "Audit Logging": "Ведение журнала аудита",
-  "Audit Logs": "Журнал аудита",
-  "Audit Settings": "Настройки аудита",
-  "Auth Sessions Read": "Сеанс чтения аутентификации",
-  "Auth Sessions Write": "Сеанс записи аутентификации",
-  "Authentication Protocol": "Протокол аутентификации",
-  "Authentication Type": "Тип аутентификации",
-  "Authorized Access": "Авторизованный доступ",
-  "Authorized Keys": "Ключи авторизации",
-  "AuthVersion": "Версия аутентификации",
-  "Auto": "Авто",
-  "Auto Refresh": "Автообновление",
   "Auto TRIM": "",
-  "Automated Disk Selection": "Автоматический выбор диска",
-  "Automatic": "Автоматический",
   "Automatically restart the system after the update is applied.": "",
   "Automatically sets number of threads used by the kernel NFS server.": "",
-  "Autostart": "Автозапуск",
-  "Available Apps": "Доступные приложения",
-  "Available Host Memory": "Доступная память хоста",
-  "Available Resources": "Доступные ресурсы",
   "Avg Usage": "",
   "Back to Discover Page": "",
   "Back to Support": "",
   "Backblaze B2": "",
   "Backend": "",
-  "Backup": "Резервирование",
-  "Backup Config": "Настройка резервирования",
-  "Backup Credential": "Резервирование реквизитов",
-  "Backup Tasks": "Задания резервирования",
   "Backup to Cloud or another TrueNAS via links below": "",
-  "Bandwidth": "Пропускная способность",
-  "Base": "Базовый",
-  "Base Image": "Базовый образ",
-  "Basic": "Основной",
-  "Basic Constraints Config": "Настройка основных правил",
-  "Basic Settings": "Основные настройки",
   "Batch Operations": "",
   "Before updating, please read the release notes.": "",
   "Bind Interfaces": "",
@@ -497,7 +360,6 @@
   "Boot Pool Condition": "",
   "Boot Pool Disk Replaced": "",
   "Bot API Token": "",
-  "Both": "Оба",
   "Box": "",
   "Bridge": "",
   "Bridge interface": "",
@@ -513,7 +375,6 @@
   "Bucket": "",
   "Bucket Name": "",
   "Bucket Policy Only": "",
-  "Bug": "Ошибка",
   "Built in": "",
   "Built-In": "",
   "Builtin": "",
@@ -556,98 +417,17 @@
   "Certificate Signing Requests": "",
   "Certificate Subject": "",
   "Certificate Write": "",
-  "Change": "Изменить",
-  "Change Boot From Disk": "Изменить загрузку с диска",
-  "Change log": "Изменить журнал",
-  "Change Required": "Требуемые изменения",
-  "Change Number Of Virtual Ports": "Изменить количество виртуальных портов",
-  "Change Root Disk Setup": "Изменить установку корневого диска",
-  "Change Session Timeout in": "Изменить время ожидания сессии в",
   "Changes to ACL type affect how on-disk ZFS ACL is  written and read.\nWhen the ACL type is changed from POSIX to NFSv4,  no migration is performed for default and access ACLs encoded in the  posix1e acl extended attributes to native ZFS ACLs.\nWhen ACL type is  changed from NFSv4 to POSIX, native ZFS ACLs are not converted to  posix1e extended attributes, but the native ACL will be used internally  by ZFS for access checks.\n\nThis means that the user must manually set  new ACLs recursively on the dataset after ACL type changes in order to  avoid unexpected permissions behavior.\n\nThis action will be destructive,  and so it is advised to take a ZFS snapshot of the dataset prior to ACL  type changes and permissions modifications.": "",
   "Changing Advanced settings can be dangerous when done incorrectly. Please use caution before saving.": "",
   "Changing global 2FA settings might cause user secrets to reset. Which means users will have to reconfigure their 2FA. Are you sure you want to continue?": "",
   "Changing System Dataset Pool requires SMB service to be restarted. This will cause a temporary disruption of any active SMB connections.": "",
-  "Channel {n}": "Канал {n}",
-  "Check": "Проверить",
   "Check {name} and {n, plural, one {# other disk} other {# other disks}}.": "",
-  "Check {name}.": "Проверить {name}",
-  "Check Alerts for more details.": "Проверить тревоги для дополнительных подробностей",
-  "Check App Details": "Проверить подробности приложения",
-  "Check Available Apps": "Проверить доступные приложения",
-  "Check for docker image updates": "Проверить обновления образов для Docker",
-  "Check for Software Updates": "Проверить обновления для ПО",
-  "Check to allow remote desktop access via VNC.": "Проверить разрешения удалённого доступа к VNC.",
-  "Check to enable Audit Logs": "Проврить, включён ли Журнал аудита.",
-  "Checking this option will lead to <i>/usr/sbin/zfs</i> being allowed to be executed using sudo without password. If not checked, <i>zfs allow</i> must be used to grant non-user permissions to perform ZFS tasks. Mounting ZFS filesystems by non-root still would not be possible due to Linux restrictions.": "Установка этого параметра приведет к тому, что <i>/usr/sbin/zfs</i> будет разрешено выполнять с помощью sudo без пароля. Если флажок не установлен, <i>разрешение zfs</i> должно использоваться для предоставления разрешений другим пользователям для выполнения задач ZFS. Монтирование файловых систем ZFS некорневыми пользователями по-прежнему было бы невозможно из-за ограничений Linux.",
-  "Checksum Errors": "Контрольная сумма ошибок",
-  "Child Shares": "Дочерние общие ресурсы",
-  "Choose <i>Master</i> if the UPS is plugged directly into the system serial port. The UPS will remain the last item to shut down. Choose <i>Slave</i> to have this system shut down before <i>Master</i>. See the <a href=\"{url}\" target=\"_blank\">Network UPS Tools Overview</a>.": "Выберите <i>Ведущий</i>, если ИБП подключён непосредственно к системному последовательному порту. ИБП будет отключён последним. Выберите <i>Ведомый</i>, чтобы выключить эту систему перед <i>Ведущим</i>. Смотрите обзор <a href=\"{url}\" target=\"_blank\">Обзор инструментов сетевого ИБП</a>.",
-  "Choose a connection that has been saved in  <b>Credentials > Backup Credentials > SSH Connections</b>.": "Выберите соединение, которое было сохранено в <b>Реквизиты > Резервирование реквизитов > SSH-соединения</b>.",
-  "Choose a new virtual port": "Выбрать новый виртуальный порт",
-  "Choose a path to the user's home directory. If the directory exists and matches the username, it is set as the user's home directory. When the path does not end with a subdirectory matching the username, a new subdirectory is created only if the 'Create Home Directory' field is marked checked. The full path to the user's home directory is shown here when editing a user.": "Выберите путь к домашнему каталогу пользователя. Он (если существует и соответствует имени пользователя) устанваливается в качестве домашнего каталога пользователя установлен. Новый подкаталог (если путь не заканчивается подкаталогом, соответствующим имени пользователя) создаётся только в том случае, если поле \"Создать домашний каталог\" помечено галочкой. Полный путь к домашнему каталогу пользователя отображается здесь при правке пользователя.",
-  "Choose a temporary location for the encryption key that will decrypt replicated data.": "Выбрать временное местоположение для ключа шифрования — это позволит расшифровать реплицированные данные.",
-  "Choose between a <i>Hex</i> (base 16 numeral) or <i>Passphrase</i> (alphanumeric) style encryption key.": "Выбрите между <i>Hex</i> (шестнадцатеричное представление) или <i>Passphrase</i> (буквенно-цифровой) стиля ключа шифрования. ",
-  "Choose File for {label}": "Выбрать файл для {label}",
-  "Choose Files": "Выбрать файлы",
-  "Choose pool first": "Выбрать первый пул",
-  "Choose the disk I/O bus type that best suits your system’s needs: <br /><br /> • NVMe – Ideal for high-performance storage with faster read and write speeds. <br /><br /> • Virtio-BLK – Efficient for virtualized environments, offering direct block device access with lower overhead. <br /><br /> • Virtio-SCSI – Flexible and scalable, supporting advanced features like hot-swapping and multiple devices.": "Выберите тип дисковой шины ввода-вывода, который наилучшим образом соответствует потребностям вашей системы: <br /><br /> • NVMe — идеальное высокопроизводительное хранилище для скоростного чтения и записи. <br /><br /> • Virtio-BLK — эффективен для сред виртуализации, обеспечивая прямой доступ к блочному устройству с меньшими накладными расходами. <br /><br /> • Virtio-SCSI — гибкий и масштабируемый, поддерживающий расширенные функции, как горячая замена и использование нескольких устройств.",
-  "Choose to connect using either SSH private key stored in user's home directory or SSH connection from the keychain": "Выберите для подключения либо закрытый SSH-ключ, хранящийся в домашнем каталоге пользователя, либо SSH-соединение из связки ключей",
-  "City": "Город",
-  "Clear": "Очистить",
-  "Clear mapping": "Очистить отображение",
-  "Clear Sync Keys": "Очистить ключи синхронизации",
-  "Clear the Idmap Cache": "Очистить кэш Idmap",
-  "CLI": "Терминал",
-  "Click \"Add\" to specify NFS client hosts for this share. If both networks and hosts are empty the share will be exported to everyone.": "Нажмите \"Добавить\", чтобы указать клиентские хосты NFS для этого общего ресурса. Если обе сети и хосты пусты, общий ресурс будет экспортирован для всех пользователей.",
-  "Click \"Add\" to specify NFS client network ranges for this share. If both networks and hosts are empty the share will be exported to everyone.": "Нажмите \"Добавить\", чтобы указать диапазоны клиентских сетей NFS для этого общего ресурса. Если обе сети и хосты пусты, общий ресурс будет экспортирован для всех пользователей.",
-  "Click Add to add first VDEV.": "Нажмите Добавить, чтобы добавить первое виртулаьное устройство.",
-  "Click for information on <a href=\"https://www.truenas.com/docs/truenasupgrades/\" target=\"_blank\">TrueNAS SCALE Migration, Nightly trains and other upgrade options.</a>": "Нажмитие для сведения на <a href=\"https://www.truenas.com/docs/truenasupgrades/\" target=\"_blank\">Миграция TrueNAS SCALE, ночные сборки и другие опции обновления.</a>",
-  "Click to give {index} star rating.": "Нажмите, чтобы присвоить {index} звёзд рейтинга.",
-  "Client ID": "ИД клиента",
-  "Clone and promote a temporary snapshot of the zvol into a custom storage volume.": "Скопировать и переместить временный снимок zvol в пользовательский том хранилища.",
-  "Clone To New Dataset": "Клонировать в новый набор данных",
-  "Close {formType} Form": "Закрыть форму {formType}",
-  "Close Change Password Dialog": "Закрыть диалог изменения пароля",
-  "Close Dialog": "Закрыть диалог",
-  "Close Feedback Dialog": "Закрыть диалог обратной связи",
-  "Close Inspect VDEVs Dialog": "Закрыть диалог проверки виртуальных устройств",
-  "Close Instance Form": "Закрыть форму экземпляра",
-  "Close panel": "Закрыть панель",
-  "Close scheduler": "Закрыть планировщик",
-  "Close the form": "Закрыть форму",
-  "Cloud Backup": "Облачное резервирование",
-  "Cloud Backup «{name}» has started.": "Облачное резервирование «{name}» запущено.",
-  "Cloud Backup Read": "Чтение облачного резервирования",
-  "Cloud Backup Restored Successfully": "Облачное резервирование успешно восстановлено",
-  "Cloud Backup Snapshot": "Облачное резервирование снимков",
-  "Cloud Backup Write": "Запись облачного резервирования",
-  "Cloud Credential": "Облачная учётная запись",
-  "Cloud credential added.": "Облачная учётная запись добавлена",
-  "Cloud credential updated.": "Облачная учётная запись обновлена",
-  "Cloud Sync": "Облачная синхронизация",
-  "Cloud Sync «{name}» has been deleted.": "Облачная синхронизация «{name}» удалена.",
-  "Cloud Sync «{name}» has been restored.": "Облачная синхронизация «{name}» восстановлена.",
-  "Cloud Sync «{name}» has started.": "Облачная синхронизация «{name}» запущена.",
-  "Cloud Sync «{name}» stopped.": "Облачная синхронизация «{name}» остановлена.",
-  "Cloud Sync Read": "Чтение облачной синхронизации",
-  "Cloud Sync Task": "Задания облачной синхронизации",
-  "Cloud Sync Task Wizard": "Мастер заданий облачной синхронизации",
+  "Checking this option will lead to <i>/usr/sbin/zfs</i> being allowed to be executed using sudo without password.    If not checked, <i>zfs allow</i> must be used to grant non-user permissions to perform ZFS tasks. Mounting ZFS filesystems by non-root still would not be possible due to Linux restrictions.": "",
+  "Choose <i>Master</i> if the UPS is plugged directly      into the system serial port. The UPS will remain the      last item to shut down. Choose <i>Slave</i> to have      this system shut down before <i>Master</i>. See the      <a href=\"{url}\"      target=\"_blank\">Network UPS Tools Overview</a>.": "",
+  "Choose to connect using either SSH private key stored   in user's home directory or SSH connection from the keychain": "",
+  "Click for information on    <a href=\"https://www.truenas.com/docs/truenasupgrades/\" target=\"_blank\">TrueNAS SCALE Migration, Nightly trains    and other upgrade options.</a>": "",
   "Cloud Sync to Storj or similar provider": "",
-  "Cloud Sync Write": "Запись облачной синхронизации",
-  "CN": "Общее имя",
-  "CN Realm": "Область общих имён",
-  "Collapse": "Свернуть",
-  "Collapse Row": "Свернуть строку",
-  "Command / Script": "Команда / Сценарий",
-  "Command Line Interface": "Интерфейс командной строки",
-  "Command: {command}": "Команда: {command}",
-  "Command/Script": "Команда/Сценарий",
-  "Common": "Общий",
-  "Complete to proceed:": "Процесс завершён",
-  "Completed Jobs": "Работы завершены",
   "Completely replicate the selected dataset. The target dataset will have all of the source dataset's properties, child datasets, clones and snapshots that match the specified naming schema. Set Snapshot Name Regular Expression to .* to replicate all snapshots.": "",
-  "Compress Connections": "Сжатие соединения",
-  "Compression": "Сжатие",
   "Computer Account OU": "",
   "Config Email": "",
   "Config-Reset": "",
@@ -694,110 +474,33 @@
   "Container Logs": "",
   "Container Read": "",
   "Container Shell": "",
-  "Container Write": "",
-  "Containers": "",
-  "Content Commitment": "",
-  "Continue with the upgrade": "",
-  "Contract Type": "",
-  "Controller": "",
-  "Controller A WWPN": "",
-  "Controller B WWPN": "",
-  "Controller Type": "",
-  "Controls": "",
-  "Controls whether audit messages will be generated for the share. <br><br> <b>Note</b>: Auditing may not be enabled if SMB1 support is enabled for the server.": "",
-  "Controls whether the user used for SSH/SSH+NETCAT replication will have passwordless sudo enabled to execute zfs commands on the remote host.    If not checked, <i>zfs allow</i> must be used to grant non-user permissions to perform ZFS tasks. Mounting ZFS filesystems by non-root still would not be possible due to Linux restrictions.": "",
-  "Convert": "",
-  "Convert to custom app": "",
-  "Cooling": "",
-  "Copied to clipboard": "",
-  "Copies": "",
-  "Copy Json": "",
-  "Copy Text": "",
-  "Copy to Clipboard": "",
-  "Copy URL": "",
-  "CPU & Memory": "ЦП и память",
-  "CPU Configuration": "Конфигурация ЦП",
-  "CPU Overview": "Обзор ЦП",
-  "CPU Recent Temperature": "",
-  "CPU Recent Usage": "",
-  "CPU Reports": "Отчёты ЦП",
-  "CPU Stats": "Стат. ЦП",
-  "CPU Temp": "Темп. ЦП",
-  "CPU Temperature Per Core": "",
-  "CPU Usage": "Использование ЦП",
-  "CPU Usage Per Core": "Использование на ядро ЦП",
-  "CPU Utilization": "Использование ЦП",
-  "Crashed": "",
-  "Create": "Создать",
-  "Create {port}": "Создать {port}",
-  "Create a new Target or choose an existing target for this share.": "",
-  "Create ACME DNS-Authenticator": "",
-  "Create Alert": "Создать тревогу",
-  "Create Authorized Access": "создать авторизованный доступ",
-  "Create Backup Credential": "Создать резерв реквизита",
-  "Create boot environment": "Создать среду загрузки",
-  "Create Certificate Signing Requests": "Создать запросы на подпись сертификата",
-  "Create Cloud Backup": "Создать облачный резерв",
-  "Create Cloud Credential": "Создать облачный реквизит",
-  "Create Cloud Sync Task": "Создать задание облачной синхронизации",
-  "Create Credential": "Создать реквизит",
-  "Create Cron Job": "Создать работу Cron",
-  "Create CSR": "Создать CSR",
-  "Create Dataset": "Создать набор данных",
-  "Create DNS Authenticator": "Создать аутентификацию DNS",
-  "Create Docker Registry": "Создать реестр Docker",
-  "Create empty source dirs on destination after sync": "Создать пустые исходные каталога на целевой после синхронизации",
-  "Create Exporter": "Создать экспортёра",
-  "Create Extent": "Создать экстент",
-  "Create Group": "Создать группу",
-  "Create Home Directory": "Создать домашний каталог",
-  "Create Idmap": "Создать Idmap",
-  "Create Init/Shutdown Script": "Создать сценарий инициализации/выключения",
-  "Create Instance": "Создать экземпляр",
-  "Create Interface": "Создать интерфейс",
-  "Create iSCSI": "Создать iSCSI",
-  "Create Kerberos Keytab": "Создать Kerberos Keytab",
-  "Create Kerberos Realm": "Создать область Kerberos",
-  "Create Kernel Parameters": "Создать параметры ядра",
-  "Create Key": "Создать ключ",
-  "Create New": "Создать новый",
-  "Create New Home Directory": "Создать новый домашний каталог",
-  "Create New Instance": "Создать новый экземпляр",
-  "Create New Primary Group": "Создать новую основную группу",
-  "Create New User": "Создать нового пользователя",
-  "Create new virtual port": "Создать новый виртуальный порт",
-  "Create New Volume": "Создать новый том",
-  "Create NFS Share": "Создать новый общий ресурс NFS",
-  "Create NTP Server": "Создать новый сервер времени NTP",
-  "Create Periodic Snapshot Task": "Создать новую задачу периодических снимков",
-  "Create pool": "Создать пул",
-  "Create Portal": "Создать портал",
-  "Create Privilege": "Создать привилегию",
-  "Create Replication Task": "Создание задание репликации",
-  "Create Reporting Exporter": "Создать экспортёра отчётов",
-  "Create Rsync Task": "Создать задание Rsync",
-  "Create Share": "Создать общий ресурс",
-  "Create SMB Share": "Создать общий ресурс SMB",
-  "Create Snapshot Task": "Создать задание снимков",
-  "Create SSH Connection": "Создать SSH-соединение",
-  "Create SSH Keypair": "Создать ключевую пару SSH",
-  "Create Static Route": "Создать статическую маршрутизацию",
-  "Create Sysctl": "Создать Sysctl",
-  "Create Target": "Создать цель",
-  "Create TrueCloud Backup Task": "Создать задание резервирования TrueCloud",
-  "Create Tunable": "Создать настраиваемый",
-  "Create User": "Создать пользователя",
-  "Create VM": "Создать виртуальную машину",
-  "Create Volume": "Создать том",
-  "Create Zvol": "Создать Zvol",
-  "Created": "Создано",
-  "Created At": "Создано в",
-  "Created by: {creationSource} ({creationType})": "Создано: {creationSource} ({creationType})",
-  "Created Date": "Дата создания",
-  "Creating ACME Certificate": "Создание сертификата ACME",
-  "Creating custom app": "Создание пользовательского приложения",
-  "Creating Instance": "Создание экземпляра",
-  "Creation Time": "Время создания",
+  "Container Write": "",
+  "Containers": "",
+  "Content Commitment": "",
+  "Continue with the upgrade": "",
+  "Contract Type": "",
+  "Controller": "",
+  "Controller A WWPN": "",
+  "Controller B WWPN": "",
+  "Controller Type": "",
+  "Controls": "",
+  "Controls whether audit messages will be generated for the share. <br><br> <b>Note</b>: Auditing may not be enabled if SMB1 support is enabled for the server.": "",
+  "Controls whether the user used for SSH/SSH+NETCAT replication will have passwordless sudo enabled to execute zfs commands on the remote host.    If not checked, <i>zfs allow</i> must be used to grant non-user permissions to perform ZFS tasks. Mounting ZFS filesystems by non-root still would not be possible due to Linux restrictions.": "",
+  "Convert": "",
+  "Convert to custom app": "",
+  "Cooling": "",
+  "Copied to clipboard": "",
+  "Copies": "",
+  "Copy Json": "",
+  "Copy Text": "",
+  "Copy to Clipboard": "",
+  "Copy URL": "",
+  "CPU Recent Temperature": "",
+  "CPU Recent Usage": "",
+  "CPU Temperature Per Core": "",
+  "Crashed": "",
+  "Create a new Target or choose an existing target for this share.": "",
+  "Create ACME DNS-Authenticator": "",
   "Credentials have been successfully added.": "",
   "Credentials: {credentials}": "",
   "CRITICAL": "",
@@ -883,7 +586,6 @@
   "Error when loading similar apps.": "",
   "Est. Usable Raw Capacity": "",
   "Eula": "",
-  "Event Data": "Данные события",
   "everyone@": "",
   "Example: blob.core.usgovcloudapi.net": "",
   "Exclude by pattern": "",
@@ -895,12 +597,8 @@
   "Existing Pool": "",
   "Existing Ports": "",
   "Existing presets": "",
-  "Exit": "Выход",
   "Exited": "",
-  "Expand": "Развернуть",
-  "Expand Row": "Развернуть строку",
   "Expander Status": "",
-  "Experimental": "Экспериментальный",
   "Expert Support When You Need It": "",
   "Expiration Date": "",
   "EXPIRED": "",
@@ -950,20 +648,11 @@
   "Fenced is not running.": "",
   "Fetch DataStores": "",
   "Fetching Encryption Summary for {dataset}": "",
-  "Fibre Channel": "ВОЛС",
-  "Fibre Channel Connections": "Соединения ВОЛС",
-  "Fibre Channel Port": "Порт ВОЛС",
-  "Fibre Channel Ports": "Порты ВОЛС",
-  "Field is required": "Поле обязательно",
-  "File Inherit": "Наследование файла",
-  "File Mask": "Маска файла",
   "File Permissions": "",
   "File size is limited to {n} MiB.": "",
   "File Ticket": "",
   "File: {filename}": "",
-  "Filename": "Имя файла",
   "Filename Encryption (not recommended)": "",
-  "Filesystem": "Файловая система",
   "Filesystem Attrs Read": "",
   "Filesystem Attrs Write": "",
   "Filesystem Data Read": "",
@@ -993,7 +682,6 @@
   "Force-remove iXVolumes": "",
   "Forcing the other TrueNAS controller to  become active requires a failover. This will temporarily interrupt  system services.": "",
   "Form saved": "",
-  "Forums": "Форумы",
   "Four quarter widgets in two by two grid": "",
   "From {task_begin} to {task_end}": "",
   "From a key file": "",
@@ -1023,58 +711,12 @@
   "Global Two Factor Authentication Settings": "",
   "Global Two-Factor Authentication must be enabled to activate this feature.": "",
   "Gmail": "",
-  "Go back to the previous form": "Вернуться к предыдущей форме",
-  "Go to API keys": "Перейти к ключам APIё",
-  "Go to App Settings": "перейти к настройкам приложения",
-  "Go to Applications": "Перейти к приложениям",
-  "Go to Backups": "Перейти резервам",
-  "Go to Boot Pools": "Перейти к пулам загрузки",
-  "Go to Certificates": "Перейти к сертификатам",
-  "Go to Data Protection": "Перейти к защите данных",
-  "Go To Dataset": "Перейти к набору данныхё",
-  "Go to Datasets": "Перейти к наборам данных",
   "Go To Directory Services": "",
-  "Go to Disks": "Перейти к дискам",
-  "Go to Documentation": "Перейти к документации",
-  "Go to Failover Settings": "Перейти к настройкам отработки отказа",
-  "Go to GUI Settings": "Перейти к настройкам GUI",
-  "Go to JBOF": "Перейти к JBOF",
-  "Go to Jobs Page": "Перейти к странице работ",
-  "Go to KMIP": "Перейти к KMIP",
-  "Go to Network Interfaces": "Перейти к сетевым интерфейсам",
-  "Go To Network Settings": "Перейти к сетевым настройкам",
-  "Go to NFS Service": "Перейти к службе NFS",
-  "Go to Services": "Перейти к службам",
-  "Go to SMB sessions": "Перейти к сессии SMB",
-  "Go to SMB shares": "Перейти к общим ресурсам SMB",
-  "Go to Snapshots": "Перейти к снимкам",
-  "Go to Storage": "Перейти к хранилищу",
-  "Go to System Settings": "Перейти к системным настройкам",
-  "Go to System Updates": "Перейти к системным обновлениям",
-  "Go to UPS service": "Перейти к службе ИБП",
-  "Go to VMWare Snapshots": "Перейти к снимкам VMWare",
-  "Google Cloud Storage": "Облачное хранилище Google",
-  "Google Drive": "Google диск",
-  "Google Photos": "Google фото",
-  "GPU": "Видеопроцессор",
-  "GPU Devices": "Устройства видеопроцессора",
-  "GPUs": "Видеопроцессоры",
-  "Group added": "Группа добавлена",
   "Group Bind Path": "",
-  "Group deleted": "Группа удалена",
   "Group Execute": "",
   "Group Members": "",
   "Group Obj": "",
   "Group Object Quota": "",
-  "Group Quota Manager": "Управление квотой группы",
-  "Group Read": "Чтение группы",
-  "Group updated": "Группа обновлена",
-  "Group Write": "Запись группы",
-  "group@": "group@",
-  "Groupname": "Групповое имя",
-  "Groups could not be loaded": "Группы не могут быть загружены",
-  "Groups that can log in using password": "Группы, которые могут войти с помощью пароля",
-  "Guest Account": "Гостевая учётная запись",
   "GUI": "",
   "GUI Settings": "",
   "gzip (default level, 6)": "",
@@ -1084,9 +726,6 @@
   "HA is disabled": "",
   "HA is Disabled": "",
   "HA is reconnecting": "",
-  "Hardware": "Оборудование",
-  "Hardware Change": "Изменить оборудование",
-  "Hardware Disk Encryption": "Аппаратное шифрование диска",
   "Has Allow List": "",
   "Has API Access": "",
   "Has Password": "",
@@ -1381,7 +1020,6 @@
   "Licensed Serials": "",
   "Light status is unknown.": "",
   "Limit": "",
-  "Limit Pool To A Single Enclosure": "Ограничить пул одним корпусом",
   "Limit To {name} Enclosure": "",
   "Link Aggregation": "",
   "Link aggregation interface": "",
@@ -1620,20 +1258,8 @@
   "Network Interface Write": "",
   "Network interfaces do not match between storage controllers.": "",
   "Network Reconnection Issue": "",
-  "Network Reset": "Сброс настроек сети",
-  "Network Settings": "Сетевые настройки",
-  "Network size of each docker network which will be cut off from base subnet.": "Размер сети каждой сети docker, которая будет отсечена от базовой подсети.",
-  "Network Stats": "Сетевая статистика",
-  "Network Traffic": "Сетевой трафик",
-  "Network Usage": "Использование сети",
-  "Network Utilization": "Использование сети",
-  "Networking": "Сетевой",
-  "Networks": "Сети",
   "never ran": "",
-  "NEW": "НОВЫЙ",
-  "New & Updated Apps": "Новые и обновлённые приложения",
   "New ACME DNS-Authenticator": "",
-  "New Alert": "Новая тревога",
   "New Authorized Access": "",
   "New Backup Credential": "",
   "New bob group": "",
@@ -1642,134 +1268,14 @@
   "New Cloud Backup": "",
   "New Cloud Credential": "",
   "New Cloud Sync Task": "",
-  "New Container": "Новый контейнер",
-  "New Credential": "Новый реквизит",
-  "New Cron Job": "Новая работа Job",
-  "New CSR": "Новый CSR",
-  "New Dataset": "Новый набор данных",
-  "New Devices": "Новые устройства",
-  "New Disk": "Новый диск",
-  "New DNS Authenticator": "Новый аутентификатор DNS",
-  "New Exporter": "Новый экспортёр",
-  "New Extent": "Новый экстент",
-  "New Group": "Новая группа",
-  "New Idmap": "Новый Idmap",
-  "New Init/Shutdown Script": "Новый сценарий инициализаци/выключения",
-  "New Interface": "Новый интерфейс",
-  "New IPv4 Default Gateway": "Новый шлюз IPv4 по умолчанию",
-  "New iSCSI": "Новый iSCSI",
-  "New Kerberos Keytab": "Новый Kerberos Keytab",
-  "New Kerberos Realm": "Новая область Kerberos",
-  "New Kernel Parameters": "Новые параметры ядра",
-  "New Key": "Новый ключ",
-  "New NFS Share": "Новый общий ресурс NFS",
-  "New NTP Server": "Новый сервер времени NTP",
-  "New password": "Новый пароль",
-  "New password and confirmation should match.": "Новый пароль и подтверждение должны совпадать.",
-  "New Periodic Snapshot Task": "Новое задание периодических снимков",
-  "New Pool": "Новый пул",
-  "New Portal": "Новый портал",
-  "New Privilege": "Новая привилегия",
-  "New Replication Task": "Новое задание репликации",
-  "New Reporting Exporter": "новый экспортёр отчётов",
-  "New Rsync Task": "Новое задание Rsync",
-  "New Share": "Новый общий ресурс",
-  "New SMB Share": "Новый общий ресурс SMB",
-  "New Snapshot Task": "Новое задание снимков",
-  "New SSH Connection": "Новое SSH-соединение",
-  "New SSH Keypair": "Новая пара SSH-ключей",
-  "New Static Route": "Новая статическая маршрутизация",
-  "New Sysctl": "Новый Sysctl",
-  "New Target": "Новая цель",
-  "New TrueCloud Backup Task": "Новое задание резервирования TrueCloud",
-  "New Tunable": "Новый настраиваемый",
-  "New User": "Новый пользователь",
-  "New VM": "Новая виртуальная машина",
-  "New Widget": "Новый виджет",
-  "New Zvol": "Новый Zvol",
   "Newer Clone": "",
   "Newer Intermediate, Child, and Clone": "",
   "Newsletter": "",
   "Next Available": "",
-  "Next Page": "Следующая страница",
-  "NFS": "NFS",
-  "NFS Service": "Служба NFS",
-  "NFS Sessions": "Сессия NFS",
-  "NFS Share": "Общий ресурс NFS",
-  "NFS share created": "Общий ресурс NFS создан",
-  "NFS share updated": "Общий ресурс NFS обновлён",
-  "NFS3 Session": "Сессия NFS3",
-  "NFS4 Session": "Сессия NFS4",
-  "NFSv4": "NFSv4",
-  "NFSv4 DNS Domain": "NFSv4 домен DNS",
   "NIC modifications are currently restricted due to pending network changes.": "",
   "NIC selection is currently restricted due to pending network changes.": "",
   "NIC was added": "",
-  "No": "Нет",
-  "No API Keys": "Нет ключей API",
-  "No Applications Installed": "Приложения не установлены",
-  "No arguments are passed": "Нет передаваемых аргументов",
-  "No associated Fibre Channel port": "Нет связанного порта ВОЛС",
-  "No available licensed Expansion Shelves ": "Нет доступных лицензированных полок расширения",
-  "No Backup Tasks": "Нет заданий резервирования",
-  "No boot disk selected": "Нет выбранного загрузочного диска",
-  "No Changelog": "Нет списка изменений",
-  "No connections": "Нет соединения",
-  "No containers are available.": "Контейнеры отсутствуют.",
-  "No Data": "Нет данных.",
-  "No Datasets": "Нет наборов данных",
-  "No descriptor provided": "Дескриптор не указан",
-  "No devices added.": "Устройства не добавлены.",
-  "No devices found": "Устройства не найдены.",
-  "No disk temperature is available": "Отсутствует температура диска",
-  "No disks added.": "Диски не добавлены.",
-  "No disks available.": "Нет дисков в наличии.",
-  "No e-mail address is set for root user or any other local administrator. Please, configure such an email address first.": "Нет заданного адреса электронной почты для пользователя root или любого другого локального администратора. Пожалуйста, настройте сначала адрес электронной почты.",
-  "No enclosure": "Нет корпуса",
-  "No Enclosure Dispersal Strategy": "Нет стратегии рассредоточения корпуса",
-  "No entries have been mapped yet.": "Записи ещё не сопоставлены.",
-  "No errors": "Нет ошибок",
-  "No events to display.": "На дисплее нет событий.",
-  "No extents associated.": "Нет связи экстента",
-  "No images found": "Образы не найдены",
-  "No Inherit": "Не наследовать",
-  "No instances": "Нет экземпляров",
-  "No Isolated GPU Device(s) configured": "Нет настроенных изолированных графических(ого) устройств(а)",
-  "No items have been added yet.": "Нет ещё добавленных элементов.",
-  "No jobs running.": "Нет запущенных работ.",
-  "No logs are available": "Нет доступных журналов",
-  "No logs available": "Нет доступных журналов",
-  "No logs yet": "Нет пока журналов",
-  "No matching results found": "Совпадений нет",
-  "No network interfaces are marked critical for failover.": "Нет сетевых интерфейсов, помеченных как критичный для отработки отказа.",
-  "No networks are authorized.": "Нет авторизованных сетей.",
   "No NICs added.": "",
-  "No options": "Нет опций",
-  "No options are passed": "Опции не передаются",
-  "No other VDEV types.": "Нет других типов виртуальных устройств.",
-  "No Password": "Нет пароля",
-  "No Pools Found": "Пулы не найдены",
-  "No Propagate Inherit": "Не распространнять наследование",
-  "No proxies added.": "Прокси-серверы не добавлены.",
-  "No records": "Нет записей",
-  "No records have been added yet": "Записи пока не добавлены",
-  "No results found in {section}": "Ничего не найдено в {section}",
-  "No Safety Check (CAUTION)": "Нет проверки безопасности (ОСТРОЖНО)",
-  "No Search Results.": "Ничего не найдено.",
-  "No Shell Access": "Нет доступа к терминалу",
-  "No similar apps found.": "Похожих приложений не найдено.",
-  "No SMB Access": "SMB недоступен",
-  "No SSH Access": "SSH недоступен",
-  "No temperature data was reported by the system. There can be a number of reasons why this might occur.": "Данные по температуре не сообщались системой. Это может произойти по ряду причин.",
-  "No TrueNAS Access": "TrueNAS недоступен",
-  "No Two-Factor Authentication": "Нет двухфакторной аутентификации",
-  "No Unassigned Disks": "Диски не назначены",
-  "No unassociated extents available.": "Несвязанные экстенты недоступны.",
-  "No update found.": "Обновление не найдено",
-  "No vdev info for this disk": "Нет сведений виртуального диска для этого диска",
-  "No VDEVs added.": "Виртуальные диски не добавлены.",
-  "No volume mounts": "Том не монтированы.",
-  "No warnings": "Нет предупреждений",
   "Nodes Virtual IP states do not agree.": "",
   "Non-expiring": "",
   "None": "",
@@ -1969,16 +1475,8 @@
   "Pool Scrub Read": "",
   "Pool Scrub Write": "",
   "Pool status is {status}": "",
-  "Pool updated successfully": "Пул успешно обновлён",
-  "Pool Usage": "Использование пула",
   "Pool where the volume will be created.": "",
-  "Pool Wizard": "Мастер пула",
-  "Pool Write": "Запись пула",
-  "Pools:": "Пулы",
-  "Portals": "Порталы",
   "Ports": "",
-  "POSIX": "POSIX",
-  "POSIX Permissions": "Права доступа POSIX",
   "Post Init": "",
   "Post Script": "",
   "Post-script": "",
@@ -1996,26 +1494,9 @@
   "Preserve Extended Attributes": "",
   "Preserve Permissions": "",
   "Preserve Power Management settings": "",
-  "Preset": "Предустановка",
-  "Preset Name": "Имя предустановки",
   "Prevent the user from logging in or  using password-based services until this option is unset. Locking an  account is only possible when <b>Disable Password</b> is <i>No</i> and  a <b>Password</b> has been created for the account.": "",
-  "Previous Page": "Предыдущая страница",
-  "Priority Code Point": "Точка кода приоритета",
   "Priority Resilvering": "",
-  "Privacy Passphrase": "Пароль конфиденциальности",
-  "Privacy Protocol": "Протокол конфиденциальности",
-  "Privilege": "Привилегии",
-  "Privilege Read": "Чтение привилегии",
-  "Privilege Write": "Запись привилегии",
-  "Privileges": "Привилегии",
-  "Privileges List": "Список привилегий",
-  "Proactive support settings is not available.": "Настройки проактивной поддержки недоступны.",
   "Proceed with upgrading the pool? WARNING: Upgrading a pool is a one-way operation that might make some features of the pool incompatible with older versions of TrueNAS: ": "",
-  "Processor": "Процессор",
-  "Product": "Продукт",
-  "Production": "Продукция",
-  "Profile": "Профиль",
-  "Prohibits writes to this share.": "Запрещает запись в этот общий ресурс.",
   "Promote": "",
   "Prompt": "",
   "Properties Exclude": "",
@@ -2051,13 +1532,9 @@
   "Quota settings updated": "",
   "Quota size is too small, enter a value of 1 GiB or larger.": "",
   "Quotas added": "",
-  "Quotas set for {n, plural, one {# group} other {# groups} }": "",
-  "Quotas set for {n, plural, one {# user} other {# users} }": "",
-  "Quotas updated": "",
-  "RAIDZ1": "RAIDZ1",
-  "RAIDZ2": "RAIDZ2",
-  "RAIDZ3": "RAIDZ3",
-  "RAM": "ОЗУ",
+  "Quotas set for {n, plural, one {# group} other {# groups} }": "",
+  "Quotas set for {n, plural, one {# user} other {# users} }": "",
+  "Quotas updated": "",
   "Randomly generate an encryption key for securing this dataset. Disabling requires manually      defining the encryption key.<br> WARNING: the encryption key is the only means to decrypt the information stored in this      dataset. Store the encryption key in a secure location.": "",
   "Range Size": "",
   "Rate this page": "",
@@ -2083,17 +1560,11 @@
   "Reboot Standby Controller": "",
   "Received: {received}/s Sent: {sent}/s": "",
   "Recent Searches": "",
-  "Recommended Apps": "Рекомендуемые приложения",
   "Recommended block size based on pool topology:": "",
   "Recommended number of data disks for optimal space allocation should be power of 2 (2, 4, 8, 16...).": "",
-  "Reconnect": "Переподключить",
-  "Record Size": "Размер записи",
   "Redfish administrative password.": "",
   "Redfish administrative username.": "",
   "Referenced": "",
-  "Refresh Catalog": "Обновить каталог",
-  "Refreshing": "Обновляется",
-  "Region Name": "Название региона",
   "Register": "",
   "Register Default Gateway": "",
   "Registration finalization failed": "",
@@ -2101,39 +1572,9 @@
   "Registration finalization timed out": "",
   "Regularly scheduled system checks and updates.": "",
   "Reject": "",
-  "Release": "Выпуск",
   "Release Notes": "",
   "Remote": "",
   "REMOTE": "",
-  "Remote Controller": "Удалённый контроллер",
-  "Remote Host Key": "Ключ удалённого хоста",
-  "Remote machine": "Удалённая машина",
-  "Remote Node Restarted": "Удалённый узел перезапущен",
-  "Remove {label} item": "Удалить пункт {label}",
-  "Remove {value} from recent searches": "Удалить {value} из последних поисковых запросов",
-  "Remove device": "Удалить устройство",
-  "Remove device {name}?": "Удалить устройство {name}?",
-  "Remove extent association": "Удалить связь экстента",
-  "Remove file": "Удалить файл",
-  "Remove file?": "Удалить файл?",
-  "Remove Images": "Удалить образ",
-  "Remove Invalid Quotas": "Удалить недопустимые квоты",
-  "Remove iXVolumes": "Удалить iXVolumes",
-  "Remove preset": "Удалить предустановку",
-  "Remove the ACL and permissions from child datasets of the current dataset": "Удалить ACL и права доступа из дочерних наборов данных текущего набора данных",
-  "Remove the existing API key and generate a new random key. A dialog shows the new key and has an option to copy the key. Back up and secure the API key! The key string is displayed only one time, at creation.": "Удалить существующий ключ API и создать новый случайный ключ. В диалоге отображается новый ключ и есть возможность скопировать его. Создайте резервную копию и защитите ключ API! Строка ключа отображается только один раз, при создании.",
-  "Remove this error to try again": "Удалите эту ошибку, чтобы повторить попытку",
-  "Removed": "Удалено",
-  "Removes the ACL and permissions recursively  from all child datasets of the current dataset, including all directories and files contained within those child datasets. This can make data inaccessible until new permissions are created.": "Удаляет ACL и права доступа рекурсивно из всех дочерних наборов данных текущего набора данных, включая все каталоги и файлы, содержащиеся в этих дочерних наборах данных. Это может сделать данные недоступными, пока не будут созданы новые права доступа.",
-  "Renames the ZFS dataset to a path in the `ix-virt` dataset in which the zvol is located.": "Переименовывает набор данных ZFS в путь в наборе данных `ix-virt`, в котором находится zvol.",
-  "Renew": "Обновить",
-  "Renew 2FA Secret": "Обновить секрет 2FA",
-  "Renew Certificate Days Before Expiry": "Обновить сертификата за несколько дней до истечения срока действия",
-  "Renew Secret": "Обновить секрет",
-  "Renewing the secret will cause a new URI and a   new QR code to be generated, making it necessary to update your two-factor device or app.": "Обновление секретной информации приведет к созданию нового URL-адреса и нового QR-кода, что потребует обновления вашего двухфакторного устройства или приложения.",
-  "Replace Disk": "Заменить диск",
-  "Replace existing dataset properties with these new defined properties in the replicated files.": "Заменить существующие свойства набора данных этими новыми определенными свойствами в реплицированных файлах.",
-  "Replacing disk {name}": "Замена диска {name}",
   "Replicate «{name}» now?": "",
   "Replicate Specific Snapshots": "",
   "Replication «{name}» has started.": "",
@@ -2154,32 +1595,11 @@
   "Replication Tasks Limit": "",
   "Report a bug": "",
   "Report Bug": "",
-  "Reporting Exporter": "Экспортёр отчётов",
-  "Reporting Exporters": "Экспортёры отчётов",
-  "Reporting Read": "Чтение отчёта",
-  "Reporting Write": "Запись отчёта",
-  "Requested action performed for selected Applications": "Запрошенное действие, выполняемое для выбранных приложений",
-  "Requested action performed for selected Instances": "Запрошенное действие, выполняемое для выбранных экземпляров",
   "REQUIRE": "",
   "Require IDENT Authentication": "",
   "Required – always encrypt transport (rejecting access if client does not support encryption – incompatible with SMB1 server enable_smb1)": "",
   "Required reset to fix system operation issues.": "",
   "Required restart after new software installation.": "",
-  "Reservation": "Резервация",
-  "Reservation (in GiB)": "Резервация в (ГиБ)",
-  "Reserved for Dataset": "Резервирован для набора данных",
-  "Reserved for Dataset & Children": "Резервирован для набора данных и дочерних",
-  "Reset": "Сброс",
-  "Reset configuration": "Сброс настройки",
-  "Reset Default Config": "Сброс настройки по умолчанию",
-  "Reset Defaults": "Сбросить умолчальные",
-  "Reset password": "Сброс пароля",
-  "Reset Search": "Сброс поиска",
-  "Reset Step": "Сброс этапа",
-  "Reset to default": "Сброс к умолчанию",
-  "Reset Zoom": "Сброс масштабироваия",
-  "Resetting interfaces while HA is enabled is not allowed.": "Сброс интерфейсов при включенном HA не разрешён.",
-  "Resetting. Please wait...": "Сбрасывается. Подождите пожалуйста...",
   "Resilver Settings": "",
   "Resilver tasks can run at any time, but by default they have low priority - lower than regular ZFS I/O operations. You can specify a time window during which resilvering is given higher priority — useful for scheduling it during non-business hours.": "",
   "Resilvering At Higher Priority": "",
@@ -2239,20 +1659,10 @@
   "Root Disk I/O Bus": "",
   "Root Disk Size (in GiB)": "",
   "Root TCP Socket": "",
-  "Routing": "Маршрутизация",
-  "Rsync": "Rsync",
-  "Rsync Mode": "Режим Rsync",
-  "Rsync Task": "Задания Rsync",
-  "Rsync task «{name}» has started.": "Задание Rsync «{name}» запущено.",
-  "Rsync task has started.": "Задание Rsync «{name}» запущено.",
-  "Rsync Task Manager": "Управление заданиями Rsync",
-  "Rsync to another server": "Rsync на другом сервере",
   "Run «{name}» Cloud Backup now?": "",
   "Run As Context": "",
   "Run Resilvering At Higher Priority At Certain Times": "",
   "Run Scrub": "",
-  "Running": "Запущено",
-  "Running Jobs": "Выполняются",
   "Samba": "",
   "Samba Authentication": "",
   "Same": "",
@@ -2594,12 +2004,7 @@
   "Software Installation": "",
   "Some of the selected disks have exported pools on them. Using those disks will make existing pools on them unable to be imported. You will lose any and all data in selected disks.": "",
   "Something went wrong while handling an error.": "",
-  "Sort": "Сортировать",
-  "Source Dataset": "Источник набора данных",
-  "Source Location": "Источник местоположения",
-  "Source Path": "Путь источника",
   "Space Available to Zvol": "",
-  "Space Management": "Управлять пространством",
   "Spare": "",
   "Spares": "",
   "Special": "",
@@ -2612,24 +2017,6 @@
   "Specify the host port to be mapped to the container's port.": "",
   "Specify this certificate's valid Key Usages. Web certificates           typically need at least Digital Signature and possibly Key Encipherment           or Key Agreement, while other applications may need other usages.": "",
   "Specify whether to use the certificate for a Certificate Authority           and whether this extension is critical. Clients must recognize critical extensions           to prevent rejection. Web certificates typically require you to disable           CA and enable Critical Extension.": "",
-  "Split": "Разделить",
-  "SSH": "SSH",
-  "SSH Access": "SSH-доступ",
-  "SSH connection from the keychain": "SSH-соединение из связки ключей",
-  "SSH Connection saved": "SSH-соединение сохранено",
-  "SSH Connections": "SSH-соединения",
-  "SSH Key": "SSH-ключ",
-  "SSH Key Pair": "Пара SSH-ключей",
-  "SSH Keypair": "Ключевая пара SSH",
-  "SSH Keypair created": "Ключевая пара SSH создана",
-  "SSH Keypair updated": "Ключевая пара SSH обновлена",
-  "SSH Keyscan": "Сбор публичных SSH-ключей",
-  "SSH Password Enabled": "SSH-пароль включён",
-  "SSH password login enabled": "Вход по SSH-паролю включён",
-  "SSH private key stored in user's home directory": "Приватный SSH-ключ сохранён в домашнем каталоге пользователя",
-  "SSH Read": "Чтение SSH",
-  "SSH Service": "Служба SSH",
-  "SSH Write": "Запись SSH",
   "SSL (Implicit TLS)": "",
   "SSL Certificate": "",
   "SSL Protocols": "",
@@ -2646,52 +2033,24 @@
   "Start All Selected": "",
   "Start Over": "",
   "Start scrub on pool <i>{poolName}</i>?": "",
-  "Start Service": "Запуск службы",
-  "Start session time": "Время запуска сессии",
-  "Starting task": "Запуск задания",
-  "Starting...": "Запуск...",
   "Static IP addresses which SMB listens on for connections.  Leaving all unselected defaults to listening on all active interfaces.": "",
-  "Static Route": "Статический маршрут",
-  "Static route added": "Статический маршрут добавлен",
-  "Static route deleted": "Статический маршрут удалён",
-  "Static route updated": "Статический маршрут обновлён",
-  "Static Routing": "Статическая маршрутизация",
-  "Stats": "Статистики",
-  "Status of TrueNAS Connect": "Состояние подключения к TrueNAS",
-  "Status: ": "Состояние",
-  "Step Back": "Вернуться",
-  "Step Forward": "Вперёд",
-  "Stop {serviceName}?": "Остановить {serviceName}?",
-  "Stop All Selected": "Остановить все выбранные",
   "Stop Flashing": "",
-  "Stop Options": "Опции остановки",
   "Stop Rollback if Snapshots Exist:": "",
-  "Stop Service": "Служба остановлена",
   "Stop the {serviceName} service and close these connections?": "",
   "Stop the scrub on {poolName}?": "",
   "Stop TrueCommand Cloud Connection": "",
-  "Stopped": "Остановлен",
-  "Stopping Apps Service": "Служба приложений остановлена",
-  "Stopping...": "Остановка...",
   "Stops the rollback when the safety  check finds any related clone snapshots that are newer than the  rollback snapshot.": "",
   "Stops the rollback when the safety check  finds any related intermediate, child dataset, or clone snapshots that  are newer than the rollback snapshot.": "",
-  "Storage Health": "Здоровье хранилища",
   "Storage location for the original  snapshots that will be replicated.": "",
   "Storage location for the replicated  snapshots.": "",
-  "Storage Pool": "Пул хранилища",
-  "Storage Settings": "Настройки хранилища",
-  "Storage Settings Updated.": "Настройки хранилища обновлены",
-  "Storage URL": "URL хранилищша",
   "Store At": "",
   "Store Encryption key in Sending TrueNAS database": "",
   "Storj": "",
   "Storj is an S3 compatible, fault tolerant, globally distributed cloud storage platform with a security first approach to backup and recovery - delivering extreme resilience and performance both sustainably and economically. <a href=\"https://truenas.com/storj\" target=\"_blank\">TrueNAS and Storj</a> have partnered to streamline delivery of Hybrid Cloud solutions globally.": "",
   "Stream Compression": "",
   "String of additional smb4.conf parameters not covered by the system's API.": "",
-  "Strip ACL": "Разделить ACL",
   "Stripping ACLs": "",
   "Subdir Filter": "",
-  "Subfolder": "Подкаталог",
   "Subject Alternative Name": "",
   "Submit": "",
   "Success! One-Time Password has been created.": "",
@@ -2700,11 +2059,8 @@
   "Successfully replaced disk {disk}.": "",
   "Successfully saved {n, plural, one {Disk} other {Disks}} settings.": "",
   "Successfully saved IPMI settings.": "",
-  "Sudo": "Sudo",
-  "Sudo Enabled": "Sudo включён",
   "Suggest an improvement": "",
   "Suggestion": "",
-  "Sunday": "Воскресенье",
   "Support License": "",
   "Support Read": "",
   "Support Write": "",
@@ -3201,76 +2557,213 @@
   "Alphanumeric <a href=\"https://www.backblaze.com/docs/cloud-storage-application-keys?highlight=application%20key\" target=\"_blank\">Backblaze B2</a> Application Key ID. To generate a new application key, log in to the Backblaze account, go to the <i>App Keys</i> page, and add a new application key. Copy the application <i>keyID</i> string to this field.": "Буквенно-цифровой идентификатор ключа приложения <a href=\"https://www.backblaze.com/docs/cloud-storage-application-keys?highlight=application%20key\" target=\"_blank\">Backblaze B2</a>. Чтобы создать новый ключ приложения, войдите в учетную запись Backblaze, перейдите на страницу <i>Ключи приложения</i> и добавьте новый ключ приложения. Скопируйте строку <i>keyID</i> приложения в это поле.",
   "Alternative names that SMB clients can use when connecting to this NAS. Can be no greater than 15 characters.": "Альтернативные имена, которые клиенты SMB могут использовать при подключении к этому NAS. Может быть не более 15 символов.",
   "Always": "Всегда",
+  "Always Chroot": "Разрешить Chroot",
   "Always On": "Всегда включен",
+  "Amazon S3": "Amazon S3",
   "Amazon Web Services Key ID. This is found on  <a href=\"https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html\" target=\"_blank\">Amazon AWS</a> by  going through <i>My account -> Security Credentials -> Access Keys  (Access Key ID and Secret Access Key)</i>. Must be alphanumeric and  between 5 and 20 characters.": "Идентификатор ключа веб-служб Amazon. Это можно найти в <a href=\"https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html\" target=\"_blank\">Amazon AWS</a>, выбрав <i>Моя учетная запись -> Учетные данные безопасности -> Ключи доступа (идентификатор ключа доступа и секретный ключ доступа)</i>. Должен быть буквенно-цифровым и содержать от 5 до 20 символов.",
   "Amazon Web Services password. If the Secret Access Key cannot be  found or remembered, go to <i>My Account -> Security Credentials ->  Access Keys</i> and create a new key pair. Must be alphanumeric and  between 8 and 40 characters.": "Пароль веб-служб Amazon. Если секретный ключ доступа не может быть найден или вспомнен, перейдите в раздел <i>Моя учетная запись -> Учетные данные безопасности -> Ключи доступа</i> и создайте новую пару ключей. Должен быть буквенно-цифровым и содержать от 8 до 40 символов.",
   "Amount of disk space that can be used by the selected groups.  Entering <code>0</code> (zero) allows all disk space.": "Объем дискового пространства, которое может быть использовано выбранными группами. Ввод <code>0</code> (ноль) разрешает все дисковое пространство.",
   "Amount of disk space that can be used by the selected users.  Entering <code>0</code> (zero) allows all disk space to be used.": "Объем дискового пространства, которое может быть использовано выбранными пользователями. Ввод <code>0</code> (ноль) позволяет использовать все дисковое пространство.",
   "An ACL is detected on the selected path but <i>Enable ACL</i> is not selected for this share.  ACLs must be stripped from the dataset prior to creating an SMB share.": "ACL обнаружен на выбранном пути, но <i>Включить ACL</i> не выбран для этого общего ресурса. Перед созданием общего ресурса SMB необходимо удалить списки ACL из набора данных.",
+  "An enclosure must be selected when 'Limit Pool to a Single Enclosure' is enabled.": "Корпус должен быть выбран, если включена функция \"Ограничить пул одним корпусом\".",
+  "An error occurred while sending the review. Please try again later.": "При отправке отзыва произошла ошибка. Пожалуйста, повторите попытку позже.",
+  "An instance of this app already installed. Click the badge to see installed apps.": "Экземпляр этого приложения уже установлен. Нажмите на значок, чтобы просмотреть установленные приложения.",
+  "An unknown error occurred": "Произошла неизвестная ошибка",
+  "An update is already applied. Please restart the system.": "Обновление уже установлено. Пожалуйста, перезагрузите систему.",
+  "Anonymous User Download Bandwidth": "Пропускная способность загрузки анонимных пользователей",
+  "Anonymous User Upload Bandwidth": "Пропускная способность выгрузки анонимных пользователей",
+  "Any OS": "Другая ОС",
+  "Any part of TrueNAS that you like in particular?": "Есть ли что-то в TrueNAS, что вам особенно нравится?",
+  "Any system service can communicate externally.": "Любая системная служба может взаимодействовать извне.",
+  "API Docs": "Документация API",
   "API Key": "Ключ API",
+  "API Key copied to clipboard": "Ключ API скопирован в буфер обмена",
+  "API Key or Password": "Ключ API или пароль",
+  "API Key Read": "Чтение ключей API",
+  "API Key Write": "Запись ключей API",
+  "Api Keys": "Ключи API",
+  "API Keys": "Ключи API",
+  "API URL": "API URL",
+  "App": "Приложение",
+  "App Info": "Сведения приложения",
+  "App is restarted": "Приложение перезапущено",
+  "App is restarting": "Перезапуск приложения",
+  "App Name": "Имя приложения",
+  "App Network": "Сеть приложения",
+  "App Version": "Версия приложения",
   "Appdefaults Auxiliary Parameters": "Вспомогательный параметры Appdefaults",
   "Append <i>@realm</i> to <i>cn</i> in LDAP queries for both groups and users when User CN is set).": "Добавлять <i>@realm</i> к <i>cn</i> в запросах LDAP для групп и пользователей, если задан User CN).",
+  "Append Data": "Применить данные",
+  "Appends a suffix to the share connection path.  This is used to provide unique shares on a per-user, per-computer, or per-IP address basis.  Suffixes can contain a macro. See the  <a href=\"https://www.samba.org/samba/docs/current/man-html/smb.conf.5.html\" target=\"_blank\">smb.conf</a> manual page for  a list of supported macros. The connectpath **must** be preset before a client connects.": "Добавляет суффикс к пути подключения к общему ресурсу. Это используется для предоставления уникальных общих ресурсов для каждого пользователя, компьютера или IP-адреса. Суффиксы могут содержать макрос. Смотрите <a href=\"https://www.samba.org/samba/docs/current/man-html/smb.conf.5.html\" target=\"_blank\">smb.conf</a> страницу инструкции со списком поддерживаемых макросов. Перед подключением клиента **должен** быть указан путь подключения.",
+  "Application": "Приложение",
+  "Application CPU Usage": "Использование ЦП приложением",
+  "Application Info": "Сведения приложения",
+  "Application Information": "Сведения приложения",
   "Application Key": "Ключ приложения",
+  "Application Memory": "Память приложения",
+  "Application Metadata": "Метаданные приложения",
   "Application Name": "Имя приложения",
+  "Application name must have the following:  1) Lowercase alphanumeric characters can be specified  2) Name must start with an alphabetic character and can end with alphanumeric character  3) Hyphen '-' is allowed but not as the first or last character e.g abc123, abc, abcd-1232": "Название приложения должно содержать следующее: 1) Можно указать строчные буквенно-цифровые символы; 2) Имя должно начинаться с буквенного символа и может заканчиваться буквенно-цифровым символом; 3) Допускается использование дефиса '-', но не в качестве первого или последнего символа, например abc123, abc, abcd-1232",
+  "Application Network": "Сетевое приложение",
+  "Applications": "Приложения",
   "Applications are not running": "Приложения не запущены",
+  "Applications you install will automatically appear here. Click below and browse available apps to get started.": "Установленные вами приложения автоматически появятся здесь. Нажмите ниже и просмотрите доступные приложения, чтобы начать работу.",
+  "Applied Dataset Quota": "Применить квоту набора данных",
   "Apply Group": "Применить группу",
+  "Apply Owner": "Применить владельца",
+  "Apply Pending update": "Применить ожидаемые обновления",
   "Apply Pending Updates": "Применить ожидающие обновления",
   "Apply permissions recursively": "Применить разрешения рекурсивно",
   "Apply permissions recursively to all child datasets of the current dataset.": "Рекурсивно применять разрешения ко всем дочерним наборам данных текущего набора данных.",
   "Apply permissions recursively to all directories and files in the current dataset.": "Рекурсивно применить разрешения ко всем каталогам и файлам в текущем наборе данных.",
   "Apply permissions recursively to all directories and files within the current dataset.": "Рекурсивно применить разрешения ко всем каталогам и файлам в текущем наборе данных.",
   "Apply permissions to child datasets": "Применить разрешения к дочерним наборам данных",
+  "Apply Quotas to Selected Groups": "Применить выбранные квоты к выбранной группе",
+  "Apply Quotas to Selected Users": "Применить квоты к выбранным пользователям",
   "Apply the same quota critical  alert settings as the parent dataset.": "Применить те же параметры оповещения о критических квотах, что и у родительского набора данных.",
   "Apply the same quota warning  alert settings as the parent dataset.": "Применить те же параметры предупреждения о квоте, что и у родительского набора данных.",
+  "Apply To Groups": "Применить к группам",
+  "Apply To Users": "Применить к пользователям",
   "Apply Update": "Применить обновление",
+  "Apply updates and restart system after downloading.": "Применить обновления и перезагрузить систему после загрузки",
   "Apply User": "Применить пользователя",
+  "Applying important system or security updates.": "Применение важных обновлений системы или безопасности.",
   "Apps": "Приложения",
+  "Apps Read": "Чтение приложений",
+  "Apps Service Not Configured": "Служба приложений не настроена",
+  "Apps Service Pending": "Служба приложений в ожидании",
+  "Apps Service Running": "Служба приложений запущена",
+  "Apps Service Stopped": "Служба приложений остановлена",
+  "Apps Write": "Запись приложения",
   "Apr": "Апр",
+  "Arbitrary Text": "Произвольный текст",
   "Archive": "Архив",
+  "Are you sure you want to abort the <b>{task}</b> task?": "Вы уверены, что хотите отменить задание <b>{task}</b>?",
+  "Are you sure you want to delete \"{name}\"?": "Вы уверены, что хотите удалить \"{name}\"?",
+  "Are you sure you want to delete {item}?": "Вы уверены, что хотите удалить {item}?",
+  "Are you sure you want to delete <b>{name}</b> Reporting Exporter?": "Вы уверены, что хотите удалить экспортёра отчётов <b>{name}</b>?",
+  "Are you sure you want to delete address {ip}?": "Вы уверены, что хотите удалить адрес {ip}?",
+  "Are you sure you want to delete cronjob <b>\"{name}\"</b>?": "Вы уверены, что хотите удалить cronjob <b>\"{name}\"</b>?",
+  "Are you sure you want to delete group <b>\"{name}\"</b>?": "Вы уверены, что хотите группу <b>\"{name}\"</b>?",
+  "Are you sure you want to delete NFS Share <b>\"{path}\"</b>?": "Вы уверены, что хотите удалить общий ресурс NFS <b>\"{path}\"</b>?",
+  "Are you sure you want to delete SMB Share <b>\"{name}\"</b>?": "Вы уверены, что хотите удалить общий ресурс SMB <b>\"{name}\"</b>?",
+  "Are you sure you want to delete static route <b>\"{name}\"</b>?": "Вы уверены, что хотите статический маршрут <b>\"{name}\"</b>?",
+  "Are you sure you want to delete the <b>{address}</b> NTP Server?": "Вы уверены, что хотите удалить сервер времени NTP <b>{address}</b>?",
+  "Are you sure you want to delete the <b>{name}</b> API Key?": "Вы уверены, что хотите удалить ключ API <b>{name}</b>?",
+  "Are you sure you want to delete the <b>{name}</b> DNS Authenticator?": "Вы уверены, что хотите удалить аутентификатор DNS <b>{name}</b>?",
+  "Are you sure you want to delete the <b>{name}</b> registry?": "Вы уверены, что хотите удалить реестр <b>{name}</b>?",
+  "Are you sure you want to delete the <b>{name}</b> SSH Connection?": "Вы уверены, что хотите удалить SSH-соединение <b>{name}</b>?",
+  "Are you sure you want to delete the <b>{name}</b>?": "Вы уверены, что хотите удалить <b>{name}</b>?",
+  "Are you sure you want to delete the group quota <b>{name}</b>?": "Вы уверены, что хотите удалить квоту группы <b>{name}</b>?",
+  "Are you sure you want to delete the user quota <b>{name}</b>?": "Вы уверены, что хотите удалить квоту пользователя <b>{name}</b>?",
+  "Are you sure you want to delete this item?": "Вы уверены, что хотите удалить этот элемент?",
+  "Are you sure you want to delete this record?": "Вы уверены, что хотите удалить эту запись?",
+  "Are you sure you want to delete this script?": "Вы уверены, что хотите удалить этот сценарий?",
+  "Are you sure you want to delete this snapshot?": "Вы уверены, что хотите удалить этот снимок?",
+  "Are you sure you want to delete this task?": "Вы уверены, что хотите удалить это задание?",
+  "Are you sure you want to delete user <b>\"{user}\"</b>?": "Вы уверены, что хотите удалить пользователя <b>\"{user}\"</b>?",
+  "Are you sure you want to delete volume {name}?": "Вы уверены, что хотите удалить том {name}?",
   "Are you sure you want to deregister TrueCommand Cloud Service?": "Вы уверены, что хотите отменить регистрацию TrueCommand Cloud Service?",
+  "Are you sure you want to generate a one-time password for \"{username}\" user?": "Вы уверены, что хотите создать одноразовый пароль для пользователя \"{username}\"?",
+  "Are you sure you want to lock \"{user}\" user?": "Вы уверены, что хотите заблокировать пользователя \"{user}\"?",
+  "Are you sure you want to remove the extent association with {extent}?": "Вы уверены, что хотите удалить связь экстента с {extent}?",
+  "Are you sure you want to restore the default set of widgets?": "Вы уверены, что хотите восстановить набор виджетов по умолчанию?",
+  "Are you sure you want to start over?": "Вы уверены, что хотите начать сначала?",
   "Are you sure you want to stop connecting to the TrueCommand Cloud Service?": "Вы уверены, что хотите прекратить подключение к TrueCommand Cloud Service?",
   "Are you sure you want to sync from peer?": "Вы уверены, что хотите синхронизироваться с напарника?",
   "Are you sure you want to sync to peer?": "Вы уверены, что хотите синхронизировать напарника?",
+  "Are you sure you want to terminate all other sessions?": "Вы уверены, что хотите завершить все остальные сессии?",
+  "Are you sure you want to terminate the session?": "Вы уверены, что хотите завершить сессию?",
+  "Are you sure you want to unlock \"{user}\" user?": "Вы уверены, что хотите разблокировать пользователя \"{user}\"?",
+  "Are you sure?": "Вы уверены?",
+  "Arguments": "Аргументы",
+  "ARN": "ARN",
+  "Associate": "Ассоциация",
+  "Asymmetric Logical Unit Access (ALUA)": "Асимметричный доступ к логическому блоку (АДЛБ)",
+  "At least 1 data VDEV is required.": "Требует как минимум одно виртуальное устройство данных.",
+  "At least 1 GPU is required by the host for its functions.": "Для выполнения своих функций хосту требуется как минимум один графический процессор.",
+  "At least 1 vdev is required to make an update to the pool.": "Для обновления пула требуется как минимум один vdev.",
   "At least one module must be defined in <a                href=\"https://www.samba.org/ftp/rsync/rsyncd.conf.html\"                target=\"_blank\">rsyncd.conf(5)</a> of the rsync                server or in the <b>Rsync Modules</b> of another                system.": "По крайней мере, один модуль должен быть определен в <a href=\"https://www.samba.org/ftp/rsync/rsyncd.conf.html\" target=\"_blank\">rsyncd.conf(5)</a> сервера rsync или в <b>Rsync Modules</b> другой системы.",
+  "At least one pool must be available to use apps": "Для использования приложений должен быть доступен хотя бы один пул.",
+  "At least one spare is recommended for dRAID. Spares cannot be added later.": "Для dRAID рекомендуется использовать хотя бы один запасной. Запасные части не могут быть добавлены позже.",
   "ATA Security User": "Пользователь ATA Security",
+  "Atleast {min} disk(s) are required for {vdevType} vdevs": "Для нескольких vdev {vdevType} требуется как минимум {min} диск(и)",
   "Attach": "Присоединить",
+  "Attach additional images": "Прикрепить добавленные образы",
+  "Attach debug": "Прикрепить отладку",
+  "Attach images (optional)": "Прикрепить образы (опционально)",
+  "Attaches privileges to the group. Only needed if you need users in this group access  to TrueNAS API or WebUI.": "Прикрепить привилегии к группе. Требуется только в том случае, если вам нужен доступ пользователей из этой группы к TrueNAS API или WebUI.",
+  "Attaching Disk to Boot Pool": "Прикрепить диск к загрузочному пулу",
+  "Attachments not uploaded": "Прикрепления не обновлены",
+  "Attention": "Внимание",
+  "Audit": "Аудит",
+  "Audit Entry": "Запись аудита",
+  "Audit ID": "ИД аудита",
+  "Audit Logging": "Ведение журнала аудита",
+  "Audit Logs": "Журнал аудита",
+  "Audit Settings": "Настройки аудита",
   "Aug": "Авг",
+  "Auth Sessions Read": "Сеанс чтения аутентификации",
+  "Auth Sessions Write": "Сеанс записи аутентификации",
   "Auth Token": "Токен аутентификации",
   "Auth Token from alternate authentication - optional <a href=\"https://rclone.org/swift/#swift-region\" target=\"_blank\">(rclone documentation)</a>.": "Аутентификационный токен из альтернативной аутентификации - необязательно <ahref=\"https://rclone.org/swift/#swift-region\" target=\"_blank\">(документация по rclone)</a>.",
   "Authentication": "Аутентификация",
   "Authentication Group Number": "Номер группы аутентификации",
   "Authentication Method": "Метод аутентификации",
   "Authentication Method and Group": "Метод и группа аутентификации",
+  "Authentication Protocol": "Протокол аутентификации",
+  "Authentication Type": "Тип аутентификации",
   "Authentication URL": "URL аутентификации",
   "Authentication URL for the server. This is the OS_AUTH_URL from an <a href=\"https://rclone.org/swift/#configuration-from-an-openstack-credentials-file\" target=\"_blank\">OpenStack credentials file</a>.": "URL аутентификации для сервера. Это OS_AUTH_URL из <a href=\"https://rclone.org/swift/\\#configuration-from-an-openstack-credentials-file\" target=\"_blank\">файла учетных данных OpenStack</a>.",
   "Authenticator": "Аутентификатор",
   "Authenticator to validate the Domain. Choose a previously configured ACME DNS authenticator.": "Аутентификатор для проверки Домена. Выберите предварительно настроенный ACME DNS-аутентификатор.",
+  "Authorized Access": "Авторизованный доступ",
   "Authorized Hosts and IP addresses": "Авторизованные хосты и IP-адреса",
+  "Authorized Keys": "Ключи авторизации",
   "Authorized Networks": "Авторизованные сети",
+  "AuthVersion": "Версия аутентификации",
   "AuthVersion - optional - set to (1,2,3) if your auth URL has no version <a href=\"https://rclone.org/swift/#swift-region\" target=\"_blank\">(rclone documentation)</a>.": "AuthVersion - optional - set to (1,2,3) if your auth URL has no version <a href=\"https://rclone.org/swift/#swift-region\" target=\"_blank\">(rclone documentation)</a>.",
+  "Auto": "Авто",
+  "Auto Refresh": "Автообновление",
   "Autoconfigure IPv6": "Автоконфигурирование IPv6",
+  "Automated Disk Selection": "Автоматический выбор диска",
+  "Automatic": "Автоматический",
   "Automatic update check failed. Please check system network settings.": "Автоматическая проверка обновления не удалась. Пожалуйста, проверьте настройки сети.",
   "Automatically populated with the original hostname of the system. This name is limited to 15 characters and cannot be the <b>Workgroup</b> name.": "Автоматически заполняется исходным именем хоста системы. Это имя может содержать до 15 символов и не может быть именем <b>рабочей группы</b>",
   "Automatically stop the script or command after the specified seconds.": "Автоматически останавливать сценарий или команду через указанные секунды.",
+  "Autostart": "Автозапуск",
   "Auxiliary Groups": "Вспомогательные группы",
   "Auxiliary Parameters": "Вспомогательные параметры",
   "Auxiliary Parameters (ups.conf)": "Вспомогательные параметры (ups.conf)",
   "Auxiliary Parameters (upsd.conf)": "Вспомогательные параметры (upsd.conf)",
   "Available": "Доступно",
+  "Available Apps": "Доступные приложения",
+  "Available Host Memory": "Доступная память хоста",
+  "Available Resources": "Доступные ресурсы",
   "Available Space": "Доступно места",
   "Available Space Threshold (%)": "Порог доступного пространства (%)",
   "Average Disk Temperature": "Средняя температура",
   "AWS Region": "AWS регион",
   "Back": "Назад",
   "Background (lowest)": "Фон (самый низкий)",
+  "Backup": "Резервирование",
+  "Backup Config": "Настройка резервирования",
+  "Backup Credential": "Резервирование реквизитов",
   "Backup Credentials": "Учетные данные для резервного копирования",
+  "Backup Tasks": "Задания резервирования",
+  "Bandwidth": "Пропускная способность",
   "Bandwidth Limit": "Ограничение пропускной способности",
+  "Base": "Базовый",
   "Base DN": "Базовый DN",
+  "Base Image": "Базовый образ",
   "Base Name": "Базовое имя",
   "Base64 encoded key for the Azure account.": "Ключ в кодировке Base64 для учетной записи Azure.",
+  "Basic": "Основной",
   "Basic Constraints": "Основные ограничения",
+  "Basic Constraints Config": "Настройка основных правил",
   "Basic Info": "Основная информация",
   "Basic Options": "Основные параметры",
+  "Basic Settings": "Основные настройки",
   "Begin": "Начать",
   "Best effort (default)": "Наилучшее по возможности (по умолчанию)",
   "Bind DN": "DN привязки",
@@ -3281,10 +2774,12 @@
   "Boot environment to be cloned.": "Загрузочная среда для клонирования.",
   "Boot Environments": "Среды загрузки",
   "Boot Pool Status": "Статус загрузочного пула",
+  "Both": "Оба",
   "Brainpool curves can be more secure, while secp curves can be faster. See <a href=\"https://tls.mbed.org/kb/cryptography/elliptic-curve-performance-nist-vs-brainpool\" target=\"blank\"> Elliptic Curve performance: NIST vs Brainpool </a> for more information.": "Кривые Brainpool могут быть более безопасными, а кривые secp - быстрее. Смотрите <a href=\"https://tls.mbed.org/kb/cryptography/elliptic-curve-performance-nist-vs-brainpool\" target=\"blank\"> Elliptic Curve performance: NIST vs Brainpool </a> для получения дополнительной информации.",
   "Browsable to Network Clients": "Доступно для просмотра сетевым клиентам",
   "Browse to an existing pool or dataset to store the new zvol.": "Перейдите к существующему пулу или набору данных, чтобы сохранить новый zvol.",
   "Browse to the keytab file to upload.": "Перейдите к файлу keytab для загрузки.",
+  "Bug": "Ошибка",
   "Bulk actions": "Массовые действия",
   "By default, Samba uses a hashing algorithm for NTFS illegal  characters. Enabling this option translates NTFS illegal characters to the Unicode private range.": "По умолчанию Samba использует алгоритм хеширования недопустимых символов NTFS. Включение этой опции переводит недопустимые символы NTFS в закрытый диапазон Unicode.",
   "Cache": "Кэш",
@@ -3299,39 +2794,67 @@
   "Certificate to use for key server authentication. A valid certificate is required to verify the key server connection. WARNING: for security reasons, please protect the Certificate used for key server authentication.": "Сертификат, используемый для аутентификации на сервере ключей. Для проверки соединения с сервером ключей требуется действительный сертификат. ВНИМАНИЕ: по соображениям безопасности, пожалуйста, защитите Сертификат, используемый для аутентификации сервера ключей.",
   "Certificate to use when performing LDAP  certificate-based authentication. To configure LDAP certificate-based  authentication, create a Certificate Signing Request for the LDAP  provider to sign. A certificate is not required when using  username/password or Kerberos authentication.": "Сертификат для использования при выполнении аутентификации на основе сертификатов LDAP. Чтобы настроить аутентификацию на основе сертификатов LDAP, создайте запрос на подпись сертификата для подписи поставщика LDAP. Сертификат не требуется при использовании имени пользователя / пароля или аутентификации Kerberos.",
   "Certificates": "Сертификаты",
+  "Change": "Изменить",
+  "Change Boot From Disk": "Изменить загрузку с диска",
   "Change Enclosure Label": "Изменить метку корпуса",
   "Change from <i>public</i> to increase system security. Can only contain alphanumeric characters, underscores, dashes, periods, and spaces. This can be left empty for <i>SNMPv3</i> networks.": "Измените с <i>public</i>, чтобы повысить безопасность системы. Может содержать только буквенно-цифровые символы, подчеркивания, тире, точки и пробелы. Это можно оставить пустым для сетей <i>SNMPv3</i>.",
+  "Change log": "Изменить журнал",
+  "Change Number Of Virtual Ports": "Изменить количество виртуальных портов",
   "Change Password": "Сменить пароль",
+  "Change Required": "Требуемые изменения",
+  "Change Root Disk Setup": "Изменить установку корневого диска",
   "Change Server": "Изменить сервер",
+  "Change Session Timeout in": "Изменить время ожидания сессии в",
   "Change the default password to improve system security. The new password cannot contain a space or <b>#</b>.": "Измените пароль по умолчанию для повышения безопасности системы. Новый пароль не может содержать пробелы или <b>\\#</b>.",
   "Changelog": "Список изменений",
   "Changing to a nightly train is one-way. Changing back to a stable train is not supported! ": "Переход на ночной поезд необратим. Обратный переход на стабильный поезд не поддерживается!",
   "Channel": "Канал",
+  "Channel {n}": "Канал {n}",
+  "Check": "Проверить",
+  "Check {name}.": "Проверить {name}",
+  "Check Alerts for more details.": "Проверить тревоги для дополнительных подробностей",
+  "Check App Details": "Проверить подробности приложения",
+  "Check Available Apps": "Проверить доступные приложения",
+  "Check for docker image updates": "Проверить обновления образов для Docker",
+  "Check for Software Updates": "Проверить обновления для ПО",
   "Check for Updates": "Проверить обновления",
   "Check for Updates Daily and Download if Available": "Ежедневно проверять наличие обновлений и загружать, если доступны",
   "Check Release Notes": "Проверить примечания к релизу",
   "Check the box for full upgrade. Leave unchecked to download only.": "Установите для полного обновления. Оставьте снятым только для скачивания.",
   "Check the update server daily for any updates on the chosen train. Automatically download an update if one is available. Click <i>APPLY PENDING UPDATE</i> to install the downloaded update.": "Ежедневно проверять сервер обновлений на наличие обновлений для выбранного поезда. Автоматически загружать обновление, если оно доступно. Нажмите <i>Применить ожидающее обновление</i>, чтобы установить загруженное обновление.",
+  "Check to allow remote desktop access via VNC.": "Проверить разрешения удалённого доступа к VNC.",
+  "Check to enable Audit Logs": "Проврить, включён ли Журнал аудита.",
   "Checksum": "Контрольная сумма",
+  "Checksum Errors": "Контрольная сумма ошибок",
+  "Child Shares": "Дочерние общие ресурсы",
   "Children": "Дочерний",
   "Choose": "Выберите",
   "Choose <i>AES-256</i> or <i>None</i>.": "Выберите <i>AES-256</i> или <i>None</i>.",
   "Choose <i>ON</i> to update the access time for files when they are read. Choose <i>Off</i> to prevent producing log traffic when reading files. This can result in significant performance gains.": "Выберите <i>ON</i>, чтобы обновлять время доступа к файлам при их чтении. Выберите <i>Off</i>, чтобы предотвратить создание трафика журнала при чтении файлов. Это может привести к значительному увеличению производительности.",
+  "Choose a connection that has been saved in  <b>Credentials > Backup Credentials > SSH Connections</b>.": "Выберите соединение, которое было сохранено в <b>Реквизиты > Резервирование реквизитов > SSH-соединения</b>.",
   "Choose a DNS provider and configure any required authenticator attributes.": "Выберите поставщика DNS и настройте все необходимые атрибуты аутентификатора.Выберите набор данных в целевой системе, где хранятся снимки. Нажмите <b>значок папки</b>, чтобы просмотреть все наборы данных в целевой системе, и нажмите набор данных, чтобы установить его в качестве цели. Соединение SSH должно быть выбрано, чтобы браузер отображал наборы данных из удалённой системы.",
   "Choose a new disk for the pool. To protect any existing data, adding the selected disk is stopped when the disk is already in use or has partitions present.": "Выберите новый диск для пула. Для защиты любых существующих данных добавление выбранного диска останавливается, когда диск уже используется или на нем есть разделы.",
+  "Choose a new virtual port": "Выбрать новый виртуальный порт",
+  "Choose a path to the user's home directory. If the directory exists and matches the username, it is set as the user's home directory. When the path does not end with a subdirectory matching the username, a new subdirectory is created only if the 'Create Home Directory' field is marked checked. The full path to the user's home directory is shown here when editing a user.": "Выберите путь к домашнему каталогу пользователя. Он (если существует и соответствует имени пользователя) устанваливается в качестве домашнего каталога пользователя установлен. Новый подкаталог (если путь не заканчивается подкаталогом, соответствующим имени пользователя) создаётся только в том случае, если поле \"Создать домашний каталог\" помечено галочкой. Полный путь к домашнему каталогу пользователя отображается здесь при правке пользователя.",
   "Choose a pool for Apps": "Выберите пул для приложений",
   "Choose a privacy protocol.": "Выберите протокол конфиденциальности.",
   "Choose a recent IP address to limit the usage when accessing the administrative GUI. The built-in HTTP server binds to the wildcard address of <i>0.0.0.0</i> (any address) and issues an alert if the specified address becomes unavailable.": "Выберите недавний IP-адрес, чтобы ограничить использование при доступе к административному графическому интерфейсу. Встроенный HTTP-сервер приязывается к адресу <i>0.0.0.0</i> (любой адрес) и выдает предупреждение, если указанный адрес становится недоступным.",
   "Choose a recent IPv6 address to limit the usage when accessing the administrative GUI. The built-in HTTP server binds to the wildcard address of <i>0.0.0.0</i> (any address) and issues an alert if the specified address becomes unavailable.": "Выберите недавний IPv6-адрес, чтобы ограничить использование при доступе к административному графическому интерфейсу. Встроенный HTTP-сервер приязывается к адресу <i>::</i> (любой адрес) и выдает предупреждение, если указанный адрес становится недоступным.",
   "Choose a safety level for the  rollback action. The rollback is canceled when the safety check finds  additional snapshots that are directly related to the dataset being rolled back.": "Выберите уровень безопасности для действия отката. Откат отменяется, когда проверка безопасности находит дополнительные снимки, которые непосредственно связаны с откатом набора данных.",
   "Choose a saved SSH Keypair or select  <i>Generate New</i> to create a new keypair and use it for this  connection.": "Выберите сохраненную пару ключей SSH или выберите <i>Создать новую</i>, чтобы создать новую пару ключей и использовать ее для этого подключения.",
+  "Choose a temporary location for the encryption key that will decrypt replicated data.": "Выбрать временное местоположение для ключа шифрования — это позволит расшифровать реплицированные данные.",
   "Choose an alert service to display options for that service.": "Выберите службу оповещений, чтобы отобразить параметры этой службы.",
   "Choose an authentication method.": "Выберите метод аутентификации.",
+  "Choose between a <i>Hex</i> (base 16 numeral) or <i>Passphrase</i> (alphanumeric) style encryption key.": "Выбрите между <i>Hex</i> (шестнадцатеричное представление) или <i>Passphrase</i> (буквенно-цифровой) стиля ключа шифрования. ",
   "Choose File": "Выбрать файл",
+  "Choose File for {label}": "Выбрать файл для {label}",
+  "Choose Files": "Выбрать файлы",
   "Choose how many log entries to create. Choices range from the least log entries (<i>Emergency</i>) to the most (<i>Debug</i>).": "Выберите, сколько записей журнала для создания. Выбор варьируется от наименьшего количества записей в журнале (<i>Emergency</i>) до самого большого (<i>Debug</i>).",
   "Choose if the .zfs snapshot directory is <i>Visible</i> or <i>Invisible</i> on this dataset.": "Выберите, если каталог снимков .zfs <i>Видимый</i> или <i>Невидимый</i> в этом наборе данных.",
   "Choose one of the presets  or choose <i>Custom</i> to use the advanced scheduler.": "Выберите одну из предустановок или выберите <i>Пользовательский</i>, чтобы использовать расширенный планировщик.",
   "Choose Pool": "Выбрать пул",
+  "Choose pool first": "Выбрать первый пул",
+  "Choose the disk I/O bus type that best suits your system’s needs: <br /><br /> • NVMe – Ideal for high-performance storage with faster read and write speeds. <br /><br /> • Virtio-BLK – Efficient for virtualized environments, offering direct block device access with lower overhead. <br /><br /> • Virtio-SCSI – Flexible and scalable, supporting advanced features like hot-swapping and multiple devices.": "Выберите тип дисковой шины ввода-вывода, который наилучшим образом соответствует потребностям вашей системы: <br /><br /> • NVMe — идеальное высокопроизводительное хранилище для скоростного чтения и записи. <br /><br /> • Virtio-BLK — эффективен для сред виртуализации, обеспечивая прямой доступ к блочному устройству с меньшими накладными расходами. <br /><br /> • Virtio-SCSI — гибкий и масштабируемый, поддерживающий расширенные функции, как горячая замена и использование нескольких устройств.",
   "Choose the platform that will use this share. The associated options are applied to this share.": "Выберите платформу, которая будет использовать эту долю. Связанные параметры применяются к этой общей папке.",
   "Choose the schema to use when querying AD for user/group info. <i>rfc2307</i> uses the schema support included in Windows 2003 R2, <i>sfu</i> is for Service For Unix 3.0 or 3.5, and <i>sfu20</i> is for Service For Unix 2.0.": "Выберите схему для использования при запросе AD для информации о пользователе/группе. <i>rfc2307</i> использует поддержку схемы, включенной в Windows 2003 R2, <i>sfu</i> для Service для Unix 3.0 или 3.5, а <i>sfu20</i> для Service для Unix 2.0.",
   "Choose the schema to use with LDAP authentication for SMB shares. The LDAP server must be configured with Samba attributes to use a Samba Schema.  Options include <i>RFC2307</i> (included in Windows 2003 R2) and <i>Service for Unix (SFU)</i>.  For SFU 3.0 or 3.5, choose \"SFU\". For SFU 2.0, choose \"SFU20\".": "Выберите схему для использования с аутентификацией LDAP для общих ресурсов SMB. Сервер LDAP должен быть настроен с атрибутами Samba для использования схемы Samba. Опции включают в себя <i>RFC2307</i> (входит в Windows 2003 R2) и <i>Служба для Unix (SFU)</i>. Для SFU 3.0 или 3.5 выберите \"SFU\". Для SFU 2.0 выберите \"SFU20\".",
@@ -3341,27 +2864,80 @@
   "Choose to either use a custom-defined remote module  of the rsync server or to use an SSH configuration for the rsync task.": "Выберите использование пользовательского удалённого модуля сервера rsync, либо использование конфигурации SSH для задачи rsync.",
   "Choose when the UPS initiates shutdown.": "Выберите, когда ИБП инициирует отключение.",
   "Choosing an entry loads a preset ACL that is  configured to match general permissions situations.": "Выбор записи загружает предустановленные ACL, который настроен в соответствии с общими ситуациями разрешений.",
+  "City": "Город",
   "Classification for each S3 object. Choose a class based on the specific use case or performance requirements. See <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html\" target=\"_blank\">Amazon S3 Storage Classes</a> for more information.": "Классификация для каждого объекта S3. Выберите класс на основе конкретного варианта использования или требований к производительности.  См. <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html\" target=\"_blank\">Amazon S3 Storage Classes</a> для информации.",
+  "Clear": "Очистить",
+  "Clear mapping": "Очистить отображение",
   "Clear SED Password": "Очистить пароль SED",
+  "Clear Sync Keys": "Очистить ключи синхронизации",
+  "Clear the Idmap Cache": "Очистить кэш Idmap",
   "Clearing Cache...": "Очистка кеша ...",
+  "CLI": "Терминал",
+  "Click \"Add\" to specify NFS client hosts for this share. If both networks and hosts are empty the share will be exported to everyone.": "Нажмите \"Добавить\", чтобы указать клиентские хосты NFS для этого общего ресурса. Если обе сети и хосты пусты, общий ресурс будет экспортирован для всех пользователей.",
+  "Click \"Add\" to specify NFS client network ranges for this share. If both networks and hosts are empty the share will be exported to everyone.": "Нажмите \"Добавить\", чтобы указать диапазоны клиентских сетей NFS для этого общего ресурса. Если обе сети и хосты пусты, общий ресурс будет экспортирован для всех пользователей.",
+  "Click Add to add first VDEV.": "Нажмите Добавить, чтобы добавить первое виртулаьное устройство.",
   "Click an item to view NFSv4 permissions": "Кликните по элементу для просмотра разрешений",
+  "Click to give {index} star rating.": "Нажмите, чтобы присвоить {index} звёзд рейтинга.",
+  "Client ID": "ИД клиента",
   "Client Name": "Имя клиента",
   "Clients": "Клиенты",
   "Clone": "Клонировать",
+  "Clone and promote a temporary snapshot of the zvol into a custom storage volume.": "Скопировать и переместить временный снимок zvol в пользовательский том хранилища.",
   "Clone Boot Environment": "Клонировать среду загрузки",
   "Clone to New Dataset": "Клонировать в новый набор данных",
+  "Clone To New Dataset": "Клонировать в новый набор данных",
   "Close": "Закрыть",
+  "Close {formType} Form": "Закрыть форму {formType}",
+  "Close Change Password Dialog": "Закрыть диалог изменения пароля",
+  "Close Dialog": "Закрыть диалог",
+  "Close Feedback Dialog": "Закрыть диалог обратной связи",
+  "Close Inspect VDEVs Dialog": "Закрыть диалог проверки виртуальных устройств",
+  "Close Instance Form": "Закрыть форму экземпляра",
+  "Close panel": "Закрыть панель",
+  "Close scheduler": "Закрыть планировщик",
+  "Close the form": "Закрыть форму",
+  "Cloud Backup": "Облачное резервирование",
+  "Cloud Backup «{name}» has started.": "Облачное резервирование «{name}» запущено.",
+  "Cloud Backup Read": "Чтение облачного резервирования",
+  "Cloud Backup Restored Successfully": "Облачное резервирование успешно восстановлено",
+  "Cloud Backup Snapshot": "Облачное резервирование снимков",
+  "Cloud Backup Write": "Запись облачного резервирования",
+  "Cloud Credential": "Облачная учётная запись",
+  "Cloud credential added.": "Облачная учётная запись добавлена",
+  "Cloud credential updated.": "Облачная учётная запись обновлена",
   "Cloud Credentials": "Облачные учетные данные",
+  "Cloud Sync": "Облачная синхронизация",
+  "Cloud Sync «{name}» has been deleted.": "Облачная синхронизация «{name}» удалена.",
+  "Cloud Sync «{name}» has been restored.": "Облачная синхронизация «{name}» восстановлена.",
+  "Cloud Sync «{name}» has started.": "Облачная синхронизация «{name}» запущена.",
+  "Cloud Sync «{name}» stopped.": "Облачная синхронизация «{name}» остановлена.",
+  "Cloud Sync Read": "Чтение облачной синхронизации",
+  "Cloud Sync Task": "Задания облачной синхронизации",
+  "Cloud Sync Task Wizard": "Мастер заданий облачной синхронизации",
   "Cloud Sync Tasks": "Задания облачной синхронизации",
+  "Cloud Sync Write": "Запись облачной синхронизации",
+  "CN": "Общее имя",
+  "CN Realm": "Область общих имён",
+  "Collapse": "Свернуть",
+  "Collapse Row": "Свернуть строку",
   "Columns": "Столбцы",
   "Combine multiple, critical-for-failover  interfaces into a group. Groups apply to single systems. A failover  occurs when every interface in the group fails. Groups with a single  interface trigger a failover when that interface fails. Configuring the  system to failover when any interface fails requires marking each  interface as critical and placing them in separate groups.": "Объедините несколько критических для аварийного переключения интерфейсов в группу. Группы применяются к отдельным системам. Аварийное переключение происходит, когда происходит сбой каждого интерфейса в группе. Группы с одним интерфейсом вызывают аварийное переключение при сбое этого интерфейса. Настройка системы на аварийное переключение при сбое любого интерфейса требует пометить каждый интерфейс как критический и поместить их в отдельные группы.",
   "Command": "Команда",
+  "Command / Script": "Команда / Сценарий",
+  "Command Line Interface": "Интерфейс командной строки",
+  "Command: {command}": "Команда: {command}",
+  "Command/Script": "Команда/Сценарий",
   "Comments": "Комментарии",
+  "Common": "Общий",
   "Common Name": "Общее имя",
   "Community": "Сообщество",
   "Compatibility": "Совместимость",
   "Complete the Upgrade": "Завершить обновление",
+  "Complete to proceed:": "Процесс завершён",
+  "Completed Jobs": "Работы завершены",
   "Compress": "Сжатие",
+  "Compress Connections": "Сжатие соединения",
+  "Compression": "Сжатие",
   "Compression level": "Степень сжатия",
   "Compression Level": "Сжатие",
   "Config Service": "Настроить службу",
@@ -3398,12 +2974,89 @@
   "Cores": "Ядер",
   "Country": "Страна",
   "CPU": "ЦП",
+  "CPU & Memory": "ЦП и память",
+  "CPU Configuration": "Конфигурация ЦП",
   "CPU Model": "Модель ЦП",
+  "CPU Overview": "Обзор ЦП",
+  "CPU Reports": "Отчёты ЦП",
+  "CPU Stats": "Стат. ЦП",
+  "CPU Temp": "Темп. ЦП",
+  "CPU Usage": "Использование ЦП",
+  "CPU Usage Per Core": "Использование на ядро ЦП",
+  "CPU Utilization": "Использование ЦП",
+  "Create": "Создать",
+  "Create {port}": "Создать {port}",
   "Create a custom ACL": "Создать собственный ACL",
   "Create ACME Certificate": "Создать сертификат ACME",
+  "Create Alert": "Создать тревогу",
+  "Create Authorized Access": "создать авторизованный доступ",
+  "Create Backup Credential": "Создать резерв реквизита",
+  "Create boot environment": "Создать среду загрузки",
+  "Create Certificate Signing Requests": "Создать запросы на подпись сертификата",
+  "Create Cloud Backup": "Создать облачный резерв",
+  "Create Cloud Credential": "Создать облачный реквизит",
+  "Create Cloud Sync Task": "Создать задание облачной синхронизации",
+  "Create Credential": "Создать реквизит",
+  "Create Cron Job": "Создать работу Cron",
+  "Create CSR": "Создать CSR",
+  "Create Dataset": "Создать набор данных",
+  "Create DNS Authenticator": "Создать аутентификацию DNS",
+  "Create Docker Registry": "Создать реестр Docker",
+  "Create empty source dirs on destination after sync": "Создать пустые исходные каталога на целевой после синхронизации",
+  "Create Exporter": "Создать экспортёра",
+  "Create Extent": "Создать экстент",
+  "Create Group": "Создать группу",
+  "Create Home Directory": "Создать домашний каталог",
+  "Create Idmap": "Создать Idmap",
+  "Create Init/Shutdown Script": "Создать сценарий инициализации/выключения",
+  "Create Instance": "Создать экземпляр",
+  "Create Interface": "Создать интерфейс",
+  "Create iSCSI": "Создать iSCSI",
+  "Create Kerberos Keytab": "Создать Kerberos Keytab",
+  "Create Kerberos Realm": "Создать область Kerberos",
+  "Create Kernel Parameters": "Создать параметры ядра",
+  "Create Key": "Создать ключ",
+  "Create New": "Создать новый",
+  "Create New Home Directory": "Создать новый домашний каталог",
+  "Create New Instance": "Создать новый экземпляр",
+  "Create New Primary Group": "Создать новую основную группу",
+  "Create New User": "Создать нового пользователя",
+  "Create new virtual port": "Создать новый виртуальный порт",
+  "Create New Volume": "Создать новый том",
+  "Create NFS Share": "Создать новый общий ресурс NFS",
+  "Create NTP Server": "Создать новый сервер времени NTP",
+  "Create Periodic Snapshot Task": "Создать новую задачу периодических снимков",
+  "Create pool": "Создать пул",
   "Create Pool": "Создать пул",
+  "Create Portal": "Создать портал",
+  "Create Privilege": "Создать привилегию",
+  "Create Replication Task": "Создание задание репликации",
+  "Create Reporting Exporter": "Создать экспортёра отчётов",
+  "Create Rsync Task": "Создать задание Rsync",
+  "Create Share": "Создать общий ресурс",
+  "Create SMB Share": "Создать общий ресурс SMB",
   "Create Snapshot": "Создать снимок",
+  "Create Snapshot Task": "Создать задание снимков",
+  "Create SSH Connection": "Создать SSH-соединение",
+  "Create SSH Keypair": "Создать ключевую пару SSH",
+  "Create Static Route": "Создать статическую маршрутизацию",
+  "Create Sysctl": "Создать Sysctl",
+  "Create Target": "Создать цель",
+  "Create TrueCloud Backup Task": "Создать задание резервирования TrueCloud",
+  "Create Tunable": "Создать настраиваемый",
+  "Create User": "Создать пользователя",
+  "Create VM": "Создать виртуальную машину",
+  "Create Volume": "Создать том",
+  "Create Zvol": "Создать Zvol",
+  "Created": "Создано",
+  "Created At": "Создано в",
+  "Created by: {creationSource} ({creationType})": "Создано: {creationSource} ({creationType})",
+  "Created Date": "Дата создания",
   "Creates dataset snapshots even when there  have been no changes to the dataset from the last snapshot. Recommended  for creating long-term restore points, multiple snapshot tasks pointed  at the same datasets, or to be compatible with snapshot schedules or  replications created in TrueNAS 11.2 and earlier.<br><br> For example,  allowing empty snapshots for a monthly snapshot schedule allows that  monthly snapshot to be taken, even when a daily snapshot task has  already taken a snapshot of any changes to the dataset.": "Создает моментальные снимки набора данных, даже если в последнем моментальном снимке не было изменений в наборе данных. Рекомендуется для создания точек долгосрочного восстановления, нескольких задач моментальных снимков, направленных на одни и те же наборы данных, или для обеспечения совместимости с расписаниями моментальных снимков или репликациями, созданными в TrueNAS 11.2 и более ранних версиях.<br><br> Например, допускается использование пустых моментальных снимков для ежемесячного моментального снимка.  Расписание позволяет делать этот ежемесячный снимок, даже если ежедневная задача снимка уже сделала снимок любых изменений в наборе данных.",
+  "Creating ACME Certificate": "Создание сертификата ACME",
+  "Creating custom app": "Создание пользовательского приложения",
+  "Creating Instance": "Создание экземпляра",
+  "Creation Time": "Время создания",
   "Credential": "Реквизит",
   "Credentials": "Реквизиты",
   "Critical": "Критично",
@@ -3965,12 +3618,17 @@
   "Establishing a connection requires  that one of the connection systems has open TCP ports. Choose which  system (<i>LOCAL</i> or <i>REMOTE</i>) will open ports. Consult your IT  department to determine which systems are allowed to open ports.": "Для установления соединения необходимо, чтобы в одной из систем были открыты порты TCP. Выберите, какая система (<i>LOCAL</i> или <i>REMOTE</i>) будет открывать порты. Обратитесь в ИТ-отдел, чтобы определить, каким системам разрешено открывать порты.",
   "EULA": "Лицензионное соглашение",
   "Event": "Событие",
+  "Event Data": "Данные события",
   "Everything is fine": "Всё хорошо",
   "Excellent effort": "Отличное усилие",
   "Exclude": "Исключить",
   "Execute": "Исполнить",
+  "Exit": "Выход",
+  "Expand": "Развернуть",
   "Expand pool ": "Расширить пул ",
   "Expand pool to fit all available disk space.": "Расширить пул используя все доступное дисковое пространство.",
+  "Expand Row": "Развернуть строку",
+  "Experimental": "Экспериментальный",
   "Export Password Secret Seed": "Экспортировать секретное семя пароля",
   "Export Read Only": "Экспортировать только для чтения",
   "Export Recycle Bin": "Экспортировать Корзину",
@@ -3992,9 +3650,18 @@
   "Failover is administratively disabled.": "Аварийное переключение административно отключена.",
   "Feb": "Фев",
   "Fetching Encryption Summary": "Получение сводки по шифрованию",
+  "Fibre Channel": "ВОЛС",
+  "Fibre Channel Connections": "Соединения ВОЛС",
+  "Fibre Channel Port": "Порт ВОЛС",
+  "Fibre Channel Ports": "Порты ВОЛС",
+  "Field is required": "Поле обязательно",
   "File": "Файл",
   "File ID": "ИД файла",
+  "File Inherit": "Наследование файла",
+  "File Mask": "Маска файла",
+  "Filename": "Имя файла",
   "Filesize": "Размер файла",
+  "Filesystem": "Файловая система",
   "Filter": "Фильтр",
   "Finish": "Закончить",
   "Finished": "Закончен",
@@ -4009,6 +3676,7 @@
   "Force Clear": "Принудительно очистить",
   "Force size": "Принудительный размер",
   "Forces the addition of the <b>NTP</b> server, even if it is currently unreachable.": "Принудительно добавляет сервер <b>NTP</b>, даже если он в данный момент недоступен.",
+  "Forums": "Форумы",
   "Free": "Свободно",
   "Free RAM": "Свободно памяти",
   "Free Space": "Свободное пространство",
@@ -4041,21 +3709,70 @@
   "Global Configuration": "Общие настройки",
   "Global password to unlock SEDs.": "Глобальный пароль для разблокировки SED.",
   "Go Back": "Назад",
+  "Go back to the previous form": "Вернуться к предыдущей форме",
   "Go to ACL Manager": "Перейти к диспетчеру ACL",
   "Go to Active Directory Form": "Перейти к форме Active Directory",
+  "Go to API keys": "Перейти к ключам APIё",
+  "Go to App Settings": "перейти к настройкам приложения",
+  "Go to Applications": "Перейти к приложениям",
+  "Go to Backups": "Перейти резервам",
+  "Go to Boot Pools": "Перейти к пулам загрузки",
+  "Go to Certificates": "Перейти к сертификатам",
+  "Go to Data Protection": "Перейти к защите данных",
+  "Go To Dataset": "Перейти к набору данныхё",
+  "Go to Datasets": "Перейти к наборам данных",
+  "Go to Disks": "Перейти к дискам",
+  "Go to Documentation": "Перейти к документации",
+  "Go to Failover Settings": "Перейти к настройкам отработки отказа",
+  "Go to GUI Settings": "Перейти к настройкам GUI",
   "Go to HA settings": "Перейти к настройкам отказоустойчивости",
+  "Go to JBOF": "Перейти к JBOF",
+  "Go to Jobs Page": "Перейти к странице работ",
+  "Go to KMIP": "Перейти к KMIP",
+  "Go to Network Interfaces": "Перейти к сетевым интерфейсам",
+  "Go To Network Settings": "Перейти к сетевым настройкам",
+  "Go to NFS Service": "Перейти к службе NFS",
+  "Go to Services": "Перейти к службам",
+  "Go to SMB sessions": "Перейти к сессии SMB",
+  "Go to SMB shares": "Перейти к общим ресурсам SMB",
+  "Go to Snapshots": "Перейти к снимкам",
+  "Go to Storage": "Перейти к хранилищу",
+  "Go to System Settings": "Перейти к системным настройкам",
+  "Go to System Updates": "Перейти к системным обновлениям",
+  "Go to UPS service": "Перейти к службе ИБП",
+  "Go to VMWare Snapshots": "Перейти к снимкам VMWare",
+  "Google Cloud Storage": "Облачное хранилище Google",
+  "Google Drive": "Google диск",
+  "Google Photos": "Google фото",
+  "GPU": "Видеопроцессор",
+  "GPU Devices": "Устройства видеопроцессора",
+  "GPUs": "Видеопроцессоры",
   "Group": "Группа",
+  "Group added": "Группа добавлена",
   "Group Configuration": "Конфигурация группы",
   "Group Data Quota ": "Квота данных группы ",
+  "Group deleted": "Группа удалена",
   "Group ID": "Идентификатор группы",
   "Group name cannot begin with a hyphen (<i>-</i>) or contain a space, tab, or these characters: <i>, : + & # % ^ ( ) ! @ ~ * ? < > =</i>. <i>$</i> can only be used as the last character of the username.": "Имя группы не может начинаться с дефиса (<i>-</i>) или содержать пробел, символ табуляции или следующие символы: <i>, : + & \\# % ^ ( ) ! @ ~ * ? < > =</i>. <i>$</i> может использоваться только как последний символ имени пользователя.",
+  "Group Quota Manager": "Управление квотой группы",
   "Group Quotas": "Квоты групп",
+  "Group Read": "Чтение группы",
   "Group to which this ACL entry applies.": "Группа, к которой относится данная запись ACL.",
+  "Group updated": "Группа обновлена",
+  "Group Write": "Запись группы",
+  "group@": "group@",
+  "Groupname": "Групповое имя",
   "Groups": "Группы",
+  "Groups could not be loaded": "Группы не могут быть загружены",
+  "Groups that can log in using password": "Группы, которые могут войти с помощью пароля",
+  "Guest Account": "Гостевая учётная запись",
   "GUI SSL Certificate": "SSL-сертификат web-интерфейса",
   "Guide": "Руководство",
   "HA is enabled": "ВД включена",
   "HA Status": "Статус ВД",
+  "Hardware": "Оборудование",
+  "Hardware Change": "Изменить оборудование",
+  "Hardware Disk Encryption": "Аппаратное шифрование диска",
   "HDD Standby": "Отключение диска",
   "Help": "Помощь",
   "Hidden": "Скрытый",
@@ -4200,6 +3917,7 @@
   "Libdefaults Auxiliary Parameters": "Вспомогательные параметры Libdefaults",
   "License": "Лицензия",
   "Lifetime": "Время жизни",
+  "Limit Pool To A Single Enclosure": "Ограничить пул одним корпусом",
   "Limit replication speed to this number of bytes per second.": "Ограничьте скорость репликации этим количеством байтов в секунду.",
   "Listen": "Слушать",
   "Load Previous Replication Task": "Загрузить предыдущую задачу репликации",
@@ -4286,24 +4004,156 @@
   "Network community string.  The community string acts like a user ID or password. A user with  the correct community string has access to network information. The  default is <i>public</i>. For more information, see  <a href=\"https://community.helpsystems.com/knowledge-base/intermapper/snmp/snmp-community-strings/\"  target=\"_blank\">What is an SNMP Community String?</a>.": "Строка сетевого сообщества. Строка сообщества действует как идентификатор пользователя или пароль. Пользователь с правильной строкой сообщества имеет доступ к сетевой информации. По умолчанию используется значение <i>public</i>. Для получения дополнительной информации см. <a href=\"https://community.helpsystems.com/knowledge-base/intermapper/snmp/snmp-community-strings/\" target=\"_blank\">Что такое Строка сообщества SNMP?</a>.",
   "Network interfaces to include in the bridge.": "Сетевые интерфейсы для включения в мост.",
   "Network Reports": "Отчеты сети",
+  "Network Reset": "Сброс настроек сети",
+  "Network Settings": "Сетевые настройки",
+  "Network size of each docker network which will be cut off from base subnet.": "Размер сети каждой сети docker, которая будет отсечена от базовой подсети.",
+  "Network Stats": "Сетевая статистика",
   "Network Timeout Before Initiating Failover": "Тайм-аут сети до начала аварийного переключения",
+  "Network Traffic": "Сетевой трафик",
+  "Network Usage": "Использование сети",
+  "Network Utilization": "Использование сети",
+  "Networking": "Сетевой",
+  "Networks": "Сети",
   "Never": "Никогда",
   "Never Delete": "Никогда не удалять",
+  "NEW": "НОВЫЙ",
+  "New & Updated Apps": "Новые и обновлённые приложения",
+  "New Alert": "Новая тревога",
+  "New Container": "Новый контейнер",
+  "New Credential": "Новый реквизит",
+  "New Cron Job": "Новая работа Job",
+  "New CSR": "Новый CSR",
+  "New Dataset": "Новый набор данных",
+  "New Devices": "Новые устройства",
+  "New Disk": "Новый диск",
+  "New DNS Authenticator": "Новый аутентификатор DNS",
+  "New Exporter": "Новый экспортёр",
+  "New Extent": "Новый экстент",
+  "New Group": "Новая группа",
+  "New Idmap": "Новый Idmap",
+  "New Init/Shutdown Script": "Новый сценарий инициализаци/выключения",
+  "New Interface": "Новый интерфейс",
+  "New IPv4 Default Gateway": "Новый шлюз IPv4 по умолчанию",
+  "New iSCSI": "Новый iSCSI",
+  "New Kerberos Keytab": "Новый Kerberos Keytab",
+  "New Kerberos Realm": "Новая область Kerberos",
+  "New Kernel Parameters": "Новые параметры ядра",
+  "New Key": "Новый ключ",
+  "New NFS Share": "Новый общий ресурс NFS",
+  "New NTP Server": "Новый сервер времени NTP",
+  "New password": "Новый пароль",
   "New Password": "Новый пароль",
+  "New password and confirmation should match.": "Новый пароль и подтверждение должны совпадать.",
+  "New Periodic Snapshot Task": "Новое задание периодических снимков",
+  "New Pool": "Новый пул",
+  "New Portal": "Новый портал",
+  "New Privilege": "Новая привилегия",
+  "New Replication Task": "Новое задание репликации",
+  "New Reporting Exporter": "новый экспортёр отчётов",
+  "New Rsync Task": "Новое задание Rsync",
+  "New Share": "Новый общий ресурс",
+  "New SMB Share": "Новый общий ресурс SMB",
+  "New Snapshot Task": "Новое задание снимков",
+  "New SSH Connection": "Новое SSH-соединение",
+  "New SSH Keypair": "Новая пара SSH-ключей",
+  "New Static Route": "Новая статическая маршрутизация",
+  "New Sysctl": "Новый Sysctl",
+  "New Target": "Новая цель",
+  "New TrueCloud Backup Task": "Новое задание резервирования TrueCloud",
+  "New Tunable": "Новый настраиваемый",
+  "New User": "Новый пользователь",
   "New users are not given <b>su</b> permissions if <i>wheel</i> is their primary group.": "Новым пользователям не предоставляются разрешения <b>su</ b>, если <i>wheel</i> является их основной группой.",
+  "New VM": "Новая виртуальная машина",
+  "New Widget": "Новый виджет",
+  "New Zvol": "Новый Zvol",
   "Next": "Следующий",
+  "Next Page": "Следующая страница",
   "Next Run": "Следующий запуск",
+  "NFS": "NFS",
+  "NFS Service": "Служба NFS",
+  "NFS Sessions": "Сессия NFS",
+  "NFS Share": "Общий ресурс NFS",
+  "NFS share created": "Общий ресурс NFS создан",
+  "NFS share updated": "Общий ресурс NFS обновлён",
+  "NFS3 Session": "Сессия NFS3",
+  "NFS4 Session": "Сессия NFS4",
+  "NFSv4": "NFSv4",
+  "NFSv4 DNS Domain": "NFSv4 домен DNS",
   "NIC": "Сетевой интерфейс",
+  "No": "Нет",
+  "No API Keys": "Нет ключей API",
+  "No Applications Installed": "Приложения не установлены",
+  "No arguments are passed": "Нет передаваемых аргументов",
+  "No associated Fibre Channel port": "Нет связанного порта ВОЛС",
+  "No available licensed Expansion Shelves ": "Нет доступных лицензированных полок расширения",
+  "No Backup Tasks": "Нет заданий резервирования",
+  "No boot disk selected": "Нет выбранного загрузочного диска",
+  "No Changelog": "Нет списка изменений",
   "No Communication Warning Time": "Время предупреждения об отсутствии связи",
+  "No connections": "Нет соединения",
+  "No containers are available.": "Контейнеры отсутствуют.",
+  "No Data": "Нет данных.",
+  "No Datasets": "Нет наборов данных",
+  "No descriptor provided": "Дескриптор не указан",
+  "No devices added.": "Устройства не добавлены.",
+  "No devices found": "Устройства не найдены.",
+  "No disk temperature is available": "Отсутствует температура диска",
+  "No disks added.": "Диски не добавлены.",
+  "No disks available.": "Нет дисков в наличии.",
+  "No e-mail address is set for root user or any other local administrator. Please, configure such an email address first.": "Нет заданного адреса электронной почты для пользователя root или любого другого локального администратора. Пожалуйста, настройте сначала адрес электронной почты.",
+  "No enclosure": "Нет корпуса",
+  "No Enclosure Dispersal Strategy": "Нет стратегии рассредоточения корпуса",
   "No Encryption (less secure, but faster)": "Без шифрования (менее безопасно, но быстрее)",
+  "No entries have been mapped yet.": "Записи ещё не сопоставлены.",
+  "No errors": "Нет ошибок",
+  "No events to display.": "На дисплее нет событий.",
+  "No extents associated.": "Нет связи экстента",
+  "No images found": "Образы не найдены",
+  "No Inherit": "Не наследовать",
+  "No instances": "Нет экземпляров",
   "No interfaces configured with Virtual IP.": "Нет интерфейсов, настроенных с виртуальным IP.",
+  "No Isolated GPU Device(s) configured": "Нет настроенных изолированных графических(ого) устройств(а)",
+  "No items have been added yet.": "Нет ещё добавленных элементов.",
+  "No jobs running.": "Нет запущенных работ.",
   "No Logs": "Нет журналов",
+  "No logs are available": "Нет доступных журналов",
   "No logs are available for this task.": "Нет журналов для этой задачи.",
+  "No logs available": "Нет доступных журналов",
+  "No logs yet": "Нет пока журналов",
   "No longer keep this Boot Environment?": "Больше не хранить эту загрузочную среду?",
+  "No matching results found": "Совпадений нет",
+  "No network interfaces are marked critical for failover.": "Нет сетевых интерфейсов, помеченных как критичный для отработки отказа.",
+  "No networks are authorized.": "Нет авторизованных сетей.",
+  "No options": "Нет опций",
+  "No options are passed": "Опции не передаются",
+  "No other VDEV types.": "Нет других типов виртуальных устройств.",
+  "No Password": "Нет пароля",
   "No Pools": "Нет пулов",
   "No pools are configured.": "Пулы не настроены.",
+  "No Pools Found": "Пулы не найдены",
+  "No Propagate Inherit": "Не распространнять наследование",
+  "No proxies added.": "Прокси-серверы не добавлены.",
+  "No records": "Нет записей",
+  "No records have been added yet": "Записи пока не добавлены",
+  "No results found in {section}": "Ничего не найдено в {section}",
+  "No Safety Check (CAUTION)": "Нет проверки безопасности (ОСТРОЖНО)",
+  "No Search Results.": "Ничего не найдено.",
+  "No Shell Access": "Нет доступа к терминалу",
+  "No similar apps found.": "Похожих приложений не найдено.",
+  "No SMB Access": "SMB недоступен",
   "No snapshots sent yet": "Снимки еще не отправлены",
+  "No SSH Access": "SSH недоступен",
+  "No temperature data was reported by the system. There can be a number of reasons why this might occur.": "Данные по температуре не сообщались системой. Это может произойти по ряду причин.",
+  "No TrueNAS Access": "TrueNAS недоступен",
+  "No Two-Factor Authentication": "Нет двухфакторной аутентификации",
+  "No Unassigned Disks": "Диски не назначены",
+  "No unassociated extents available.": "Несвязанные экстенты недоступны.",
+  "No update found.": "Обновление не найдено",
   "No updates available.": "Нет доступных обновлений.",
+  "No vdev info for this disk": "Нет сведений виртуального диска для этого диска",
+  "No VDEVs added.": "Виртуальные диски не добавлены.",
+  "No volume mounts": "Том не монтированы.",
+  "No warnings": "Нет предупреждений",
   "Notes about this extent.": "Заметки об этом экстенте.",
   "Notice": "Уведомление",
   "Nov": "Ноя",
@@ -4370,26 +4220,51 @@
   "Pool": "Пул",
   "Pool Available Space Threshold (%)": "Порог доступного места для пула (%)",
   "Pool Status": "Статус пула",
+  "Pool updated successfully": "Пул успешно обновлён",
+  "Pool Usage": "Использование пула",
+  "Pool Wizard": "Мастер пула",
+  "Pool Write": "Запись пула",
   "Pool/Dataset": "Пул/Набор данных",
   "Pools": "Пулы",
+  "Pools:": "Пулы",
   "Port": "Порт",
   "Port or Hostname": "Порт или имя хоста",
   "Portal": "Портал",
   "Portal Group ID": "Ид. группы порталов",
+  "Portals": "Порталы",
+  "POSIX": "POSIX",
+  "POSIX Permissions": "Права доступа POSIX",
   "Power": "Питание",
   "Power Off": "Отключить",
   "Power Off UPS": "Отключить ИБП",
   "Prefer": "Предпочтитать",
+  "Preset": "Предустановка",
+  "Preset Name": "Имя предустановки",
   "Presets": "Пресеты",
   "Prevent source system snapshots  that have failed replication from being automatically removed by the  <b>Snapshot Retention Policy</b>.": "Запретить автоматическое удаление с помощью <b>Политики хранения снимков</b> снимков исходной системы, которые не прошли репликацию.",
   "Preview JSON Service Account Key": "Предварительный просмотр ключа учетной записи службы JSON",
+  "Previous Page": "Предыдущая страница",
   "Primary Contact": "Первичный контакт",
   "Primary DNS server.": "Основной DNS-сервер.",
   "Primary Group": "Основная Группа",
+  "Priority Code Point": "Точка кода приоритета",
+  "Privacy Passphrase": "Пароль конфиденциальности",
+  "Privacy Protocol": "Протокол конфиденциальности",
   "Private Key": "Закрытый ключ",
+  "Privilege": "Привилегии",
+  "Privilege Read": "Чтение привилегии",
+  "Privilege Write": "Запись привилегии",
+  "Privileges": "Привилегии",
+  "Privileges List": "Список привилегий",
   "Proactive Support": "Проактивная поддержка",
+  "Proactive support settings is not available.": "Настройки проактивной поддержки недоступны.",
   "Proceed": "Продолжить",
+  "Processor": "Процессор",
+  "Product": "Продукт",
+  "Production": "Продукция",
   "Production status successfully updated": "Статус производства успешно обновлен",
+  "Profile": "Профиль",
+  "Prohibits writes to this share.": "Запрещает запись в этот общий ресурс.",
   "Provider": "Провайдер",
   "Public IP address or hostname. Set if FTP clients cannot connect through a NAT device.": "Публичный IP-адрес или имя хоста. Установите, если клиенты FTP не могут подключиться через устройство NAT.",
   "Public Key": "Открытый ключ",
@@ -4398,6 +4273,10 @@
   "Quota critical alert at, %": "Квота критического оповещения при, %",
   "Quota for this dataset": "Квота для этого набора данных",
   "Quota warning alert at, %": "Предупреждение о квоте, %",
+  "RAIDZ1": "RAIDZ1",
+  "RAIDZ2": "RAIDZ2",
+  "RAIDZ3": "RAIDZ3",
+  "RAM": "ОЗУ",
   "Range High": "Верх диапазона",
   "Range Low": "Низ диапазона",
   "Range Low and Range High set the range of UID/GID numbers which this  IDMap backend translates. If an external credential like a Windows SID maps to a UID or GID  number outside this range, the external credential is ignored.": "Range Low и Range High устанавливают диапазон номеров UID/GID, которые переводит этот бэкэнд IDMap. Если внешние учетные данные, такие как Windows SID, сопоставляются с UID или номером GID вне этого диапазона, внешние учетные данные игнорируются.",
@@ -4406,32 +4285,68 @@
   "Read-only": "Только чтение",
   "Realm": "Область",
   "Rebuild Directory Service Cache": "Перестроить кеш службы каталогов",
+  "Recommended Apps": "Рекомендуемые приложения",
   "Recommended when <i>Max. Poll</i> is greater than 10. Only use on personal NTP servers or those under direct control. <b>Do not</b> enable when using public NTP servers.": "Рекомендуется, когда <i>Макс. Опрос</i> больше 10. Используйте только на личных NTP-серверах или серверах, находящихся под прямым контролем. <b>Не</b> включать при использовании общедоступных NTP-серверов.",
+  "Reconnect": "Переподключить",
+  "Record Size": "Размер записи",
   "Recursive": "Рекурсивно",
   "Redirect <i>HTTP</i> connections to <i>HTTPS</i>. A  <i>GUI SSL Certificate</i> is required for <i>HTTPS</i>. Activating  this also sets the <a  href=\"https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security\"  target=\"_blank\">HTTP Strict Transport Security (HSTS)</a> maximum age  to <i>31536000</i> seconds (one year). This means that after a  browser connects to the web interface for the first time, the browser  continues to use HTTPS and renews this setting every year.": "Перенаправлять <i>HTTP</i> соединения на <i>HTTPS</i>. Для <i>HTTPS</i> требуется <i>SSL-сертификат web-интерфейса</i>. Активация также устанавливает максимальный возраст <a href=\"https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security\" target=\"_blank\">HTTP Strict Transport Security (HSTS)</a> в <i>31536000</i> секунд (один год). Это означает, что после первого подключения браузера к веб-интерфейсу браузер продолжает использовать HTTPS и обновляет этот параметр каждый год.",
   "Reenter Password": "Повторно введите пароль",
   "Refresh": "Обновить",
+  "Refresh Catalog": "Обновить каталог",
+  "Refreshing": "Обновляется",
   "Region": "Регион",
+  "Region Name": "Название региона",
   "Region name - optional <a href=\"https://rclone.org/swift/#swift-region\" target=\"_blank\">(rclone documentation)</a>.": "Region name - optional <a href=\"https://rclone.org/swift/#swift-region\" target=\"_blank\">(rclone documentation)</a>.",
+  "Release": "Выпуск",
   "Reload now": "Перезагрузить сейчас",
   "Reload the page": "Перезагрузите страницу",
   "Reload the page for the license to take effect.": "Перезагрузите страницу, чтобы лицензия вступила в силу.",
+  "Remote Controller": "Удалённый контроллер",
   "Remote Encryption": "Удалённое шифрование",
   "Remote Host": "Удалённый хост",
+  "Remote Host Key": "Ключ удалённого хоста",
+  "Remote machine": "Удалённая машина",
   "Remote Module Name": "Имя удалённого модуля",
   "Remote Monitor": "Удалённый монитор",
+  "Remote Node Restarted": "Удалённый узел перезапущен",
   "Remote Path": "Удалённый путь",
   "Remote Port": "Удалённый порт",
   "Remote SSH Port": "Удалённый порт SSH",
   "Remote syslog server DNS hostname or IP address. Nonstandard port numbers can be used by adding a colon and the port number to the hostname, like <samp>mysyslogserver:1928</samp>. Log entries are written to local logs and sent to the remote syslog server.": "DNS-имя или IP-адрес удалённого сервера системного журнала. Нестандартные номера портов можно использовать путем добавления двоеточия и номера порта к имени хоста, например, <samp>mysyslogserver:1928</samp>. Записи журнала записываются в локальные журналы и отправляются на удалённый сервер системного журнала.",
   "Remote system SSH key for this system to  authenticate the connection. When all other fields are properly  configured, click <b>DISCOVER REMOTE HOST KEY</b> to query the remote  system and automatically populate this field.": "Ключ SSH удалённой системы для аутентификации соединения этой системы. Когда остальные поля будут правильно настроены, нажмите <b>ОНАРУЖИТЬ КЛЮЧ УДАЛЁННОЙ СИСТЕМЫ</b>, чтобы запросить удалённую систему и автоматически заполнить это поле.",
   "Remove": "Удалить",
+  "Remove {label} item": "Удалить пункт {label}",
+  "Remove {value} from recent searches": "Удалить {value} из последних поисковых запросов",
+  "Remove device": "Удалить устройство",
+  "Remove device {name}?": "Удалить устройство {name}?",
+  "Remove extent association": "Удалить связь экстента",
+  "Remove file": "Удалить файл",
+  "Remove file?": "Удалить файл?",
+  "Remove Images": "Удалить образ",
+  "Remove Invalid Quotas": "Удалить недопустимые квоты",
+  "Remove iXVolumes": "Удалить iXVolumes",
   "Remove Keep Flag": "Убрать флаг сохранения",
+  "Remove preset": "Удалить предустановку",
+  "Remove the ACL and permissions from child datasets of the current dataset": "Удалить ACL и права доступа из дочерних наборов данных текущего набора данных",
+  "Remove the existing API key and generate a new random key. A dialog shows the new key and has an option to copy the key. Back up and secure the API key! The key string is displayed only one time, at creation.": "Удалить существующий ключ API и создать новый случайный ключ. В диалоге отображается новый ключ и есть возможность скопировать его. Создайте резервную копию и защитите ключ API! Строка ключа отображается только один раз, при создании.",
+  "Remove this error to try again": "Удалите эту ошибку, чтобы повторить попытку",
+  "Removed": "Удалено",
+  "Removes the ACL and permissions recursively  from all child datasets of the current dataset, including all directories and files contained within those child datasets. This can make data inaccessible until new permissions are created.": "Удаляет ACL и права доступа рекурсивно из всех дочерних наборов данных текущего набора данных, включая все каталоги и файлы, содержащиеся в этих дочерних наборах данных. Это может сделать данные недоступными, пока не будут созданы новые права доступа.",
   "Rename": "Переименовывать",
+  "Renames the ZFS dataset to a path in the `ix-virt` dataset in which the zvol is located.": "Переименовывает набор данных ZFS в путь в наборе данных `ix-virt`, в котором находится zvol.",
+  "Renew": "Обновить",
+  "Renew 2FA Secret": "Обновить секрет 2FA",
   "Renew Certificate Days": "Дни обновления сертификата",
+  "Renew Certificate Days Before Expiry": "Обновить сертификата за несколько дней до истечения срока действия",
+  "Renew Secret": "Обновить секрет",
+  "Renewing the secret will cause a new URI and a   new QR code to be generated, making it necessary to update your two-factor device or app.": "Обновление секретной информации приведет к созданию нового URL-адреса и нового QR-кода, что потребует обновления вашего двухфакторного устройства или приложения.",
   "Replace": "Заменить",
+  "Replace Disk": "Заменить диск",
+  "Replace existing dataset properties with these new defined properties in the replicated files.": "Заменить существующие свойства набора данных этими новыми определенными свойствами в реплицированных файлах.",
   "Replacing Boot Pool Disk": "Замена диска загрузочного пула",
   "Replacing Disk": "Заменяю диск",
+  "Replacing disk {name}": "Замена диска {name}",
   "Replicate all child dataset snapshots. When  set, <b>Exclude Child Datasets</b> becomes available.": "Реплицировать все снимки дочерних наборов данных. Если установлено, <b>Исключить дочерние наборы данных</b> станет доступным.",
   "Replicate Custom Snapshots": "Копировать пользовательские снимки",
   "Replicate snapshots that have not been  created by an automated snapshot task. Requires setting a naming schema  for the custom snapshots.": "Реплицировать снимки, которые не были созданы автоматизированной задачей снимков. Требуется установка схемы именования для пользовательских снимков.",
@@ -4439,15 +4354,36 @@
   "Replication Schedule": "Расписание репликации",
   "Replication Tasks": "Задания репликация",
   "Reporting": "Отчёты",
+  "Reporting Exporter": "Экспортёр отчётов",
+  "Reporting Exporters": "Экспортёры отчётов",
+  "Reporting Read": "Чтение отчёта",
+  "Reporting Write": "Запись отчёта",
   "Reports": "Отчёты",
+  "Requested action performed for selected Applications": "Запрошенное действие, выполняемое для выбранных приложений",
+  "Requested action performed for selected Instances": "Запрошенное действие, выполняемое для выбранных экземпляров",
   "Require Kerberos for NFSv4": "Требовать Kerberos для NFSv4",
+  "Reservation": "Резервация",
+  "Reservation (in GiB)": "Резервация в (ГиБ)",
+  "Reserved for Dataset": "Резервирован для набора данных",
+  "Reserved for Dataset & Children": "Резервирован для набора данных и дочерних",
   "Reserved space for this dataset": "Зарезервированное место для этого набора данных",
   "Reserved space for this dataset and all children": "Зарезервированное место для этого набора данных и всех его производных",
+  "Reset": "Сброс",
   "Reset Config": "Сбросить конфигурацию",
+  "Reset configuration": "Сброс настройки",
   "Reset Configuration": "Сбросить конфигурацию",
+  "Reset Default Config": "Сброс настройки по умолчанию",
+  "Reset Defaults": "Сбросить умолчальные",
+  "Reset password": "Сброс пароля",
+  "Reset Search": "Сброс поиска",
+  "Reset Step": "Сброс этапа",
   "Reset system configuration to default settings. The system  will restart to complete this operation. You will be required to reset your password.": "Сброс конфигурации системы до настроек по умолчанию. Система перезагрузится, чтобы завершить эту операцию. Вам нужно будет сбросить пароль.",
+  "Reset to default": "Сброс к умолчанию",
   "Reset to Defaults": "Сбросить до значений по умолчанию",
+  "Reset Zoom": "Сброс масштабироваия",
+  "Resetting interfaces while HA is enabled is not allowed.": "Сброс интерфейсов при включенном HA не разрешён.",
   "Resetting system configuration to default settings. The system will restart.": "Сброс конфигурации системы к настройкам по умолчанию. Система перезагрузится.",
+  "Resetting. Please wait...": "Сбрасывается. Подождите пожалуйста...",
   "Resilver Priority": "Приоритет восстановления",
   "Resilvering": "Восстановление",
   "Restart": "Перезапустить",
@@ -4457,10 +4393,18 @@
   "Rollback": "Откатить",
   "Rotation Rate": "Частота вращения",
   "Rotation Rate (RPM)": "Частота вращения (об/мин)",
+  "Routing": "Маршрутизация",
   "Routing Key": "Ключ маршрутизации",
   "rpc.lockd(8) bind port": "Порт rpc.lockd(8)",
   "rpc.statd(8) bind port": "Порт rpc.statd(8)",
+  "Rsync": "Rsync",
+  "Rsync Mode": "Режим Rsync",
+  "Rsync Task": "Задания Rsync",
+  "Rsync task «{name}» has started.": "Задание Rsync «{name}» запущено.",
+  "Rsync task has started.": "Задание Rsync «{name}» запущено.",
+  "Rsync Task Manager": "Управление заданиями Rsync",
   "Rsync Tasks": "Задания Rsync",
+  "Rsync to another server": "Rsync на другом сервере",
   "Run «{name}» Cloud Sync now?": "Запустить эту облачную синхронизацию сейчас?",
   "Run «{name}» Rsync now?": "Запустить «{name}» задание rsync сейчас?",
   "Run As User": "Запуск от имени пользователя",
@@ -4470,6 +4414,8 @@
   "Run On a Schedule": "Выполнять по расписанию",
   "Run Once": "Запустить один раз",
   "Run this job now?": "Запустить эту задачу сейчас?",
+  "Running": "Запущено",
+  "Running Jobs": "Выполняются",
   "Same as Source": "Так же, как источник",
   "Sat": "Сб",
   "Save": "Сохранить",
@@ -4631,7 +4577,12 @@
   "SNMP Community": "Сообщество SNMP",
   "SNMP v3 Support": "Поддержка SNMP v3",
   "SNMPv3 Security Model": "Модель безопасности SNMPv3",
+  "Sort": "Сортировать",
   "Source": "Источник",
+  "Source Dataset": "Источник набора данных",
+  "Source Location": "Источник местоположения",
+  "Source Path": "Путь источника",
+  "Space Management": "Управлять пространством",
   "Spare VDEVs": "Резерв",
   "Sparse": "Тонкая подготовка",
   "Specify a maximum allowed space for this dataset.": "Укажите максимально допустимое пространство для этого набора данных.",
@@ -4639,41 +4590,90 @@
   "Specify the message displayed to local login users after authentication. Not displayed to anonymous login users.": "Укажите сообщение, отображаемое для локальных пользователей после проверки подлинности. Не отображается для анонимных пользователей.",
   "Specify the size of the new zvol.": "Укажите размер нового zvol.",
   "Speeds up the initial synchronization (seconds instead of minutes).": "Ускоряет начальную синхронизацию (секунды вместо минут).",
+  "Split": "Разделить",
+  "SSH": "SSH",
+  "SSH Access": "SSH-доступ",
   "SSH Connection": "SSH соединение",
+  "SSH connection from the keychain": "SSH-соединение из связки ключей",
+  "SSH Connection saved": "SSH-соединение сохранено",
+  "SSH Connections": "SSH-соединения",
   "SSH Host to connect to.": "SSH хост для подключения.",
+  "SSH Key": "SSH-ключ",
+  "SSH Key Pair": "Пара SSH-ключей",
+  "SSH Keypair": "Ключевая пара SSH",
+  "SSH Keypair created": "Ключевая пара SSH создана",
+  "SSH Keypair updated": "Ключевая пара SSH обновлена",
   "SSH Keypairs": "SSH ключи",
+  "SSH Keyscan": "Сбор публичных SSH-ключей",
+  "SSH Password Enabled": "SSH-пароль включён",
+  "SSH password login enabled": "Вход по SSH-паролю включён",
   "SSH port number. Leave empty to use the default port <i>22</i>.": "Номер порта SSH. Оставьте пустым, чтобы использовать порт по умолчанию <i>22</i>.",
+  "SSH private key stored in user's home directory": "Приватный SSH-ключ сохранён в домашнем каталоге пользователя",
+  "SSH Read": "Чтение SSH",
+  "SSH Service": "Служба SSH",
   "SSH Transfer Security": "Безопасность передачи SSH",
+  "SSH Write": "Запись SSH",
   "Standby": "Резервный",
   "Start": "Запустить",
   "Start Automatically": "Автоматический запуск",
   "Start Scrub": "Запустить проверку",
+  "Start Service": "Запуск службы",
+  "Start session time": "Время запуска сессии",
   "Start the scrub now?": "Начать проверку сейчас?",
   "Start time for the replication task.": "Время начала задачи репликации.",
   "Started": "Запущено",
   "Starting": "Запуск",
+  "Starting task": "Запуск задания",
+  "Starting...": "Запуск...",
   "State": "Состояние",
   "Static IPv4 address of the IPMI web interface.": "Статический IPv4-адрес веб-интерфейса IPMI.",
+  "Static Route": "Статический маршрут",
+  "Static route added": "Статический маршрут добавлен",
+  "Static route deleted": "Статический маршрут удалён",
+  "Static route updated": "Статический маршрут обновлён",
   "Static Routes": "Статические маршруты",
+  "Static Routing": "Статическая маршрутизация",
+  "Stats": "Статистики",
   "Stats/Settings": "Статистика/Найстройки",
   "Status": "Статус",
   "Status of TrueCommand": "Статус TrueCommand",
+  "Status of TrueNAS Connect": "Состояние подключения к TrueNAS",
+  "Status: ": "Состояние",
+  "Step Back": "Вернуться",
+  "Step Forward": "Вперёд",
   "Stop": "Остановить",
+  "Stop {serviceName}?": "Остановить {serviceName}?",
+  "Stop All Selected": "Остановить все выбранные",
+  "Stop Options": "Опции остановки",
   "Stop Scrub": "Остановить проверку",
+  "Stop Service": "Служба остановлена",
   "Stop this Cloud Sync?": "Остановить эту облачную синхронизацию?",
+  "Stopped": "Остановлен",
   "Stopping": "Остановка",
+  "Stopping Apps Service": "Служба приложений остановлена",
+  "Stopping...": "Остановка...",
   "Storage": "Хранилище",
   "Storage Class": "Класс хранения",
   "Storage Dashboard": "Панель хранилища",
+  "Storage Health": "Здоровье хранилища",
+  "Storage Pool": "Пул хранилища",
+  "Storage Settings": "Настройки хранилища",
+  "Storage Settings Updated.": "Настройки хранилища обновлены",
+  "Storage URL": "URL хранилищша",
   "Storage URL - optional <a href=\"https://rclone.org/swift/#swift-region\" target=\"_blank\">(rclone documentation)</a>.": "Storage URL - optional <a href=\"https://rclone.org/swift/#swift-region\" target=\"_blank\">(rclone documentation)</a>.",
   "Store system logs on the system dataset. Unset to store system logs in <i>/var/</i> on the operating system device.": "Хранить системные журналы в системном наборе данных. Отключите для сохранения системных журналов в <i>/var/</i> на устройстве операционной системы.",
+  "Strip ACL": "Разделить ACL",
   "Strip ACLs": "Удалить ACL",
   "Stripe": "Чередование",
+  "Subfolder": "Подкаталог",
   "Subject": "Тема",
   "Subnet mask of the IPv4 address.": "Маска подсети IPv4-адреса.",
   "Success": "Успех",
   "Successfully saved proactive support settings.": "Успешно сохранены настройки проактивной поддержки.",
+  "Sudo": "Sudo",
+  "Sudo Enabled": "Sudo включён",
   "Sun": "Вс",
+  "Sunday": "Воскресенье",
   "Support": "Поддержка",
   "Switch Train": "Сменить поезд",
   "Switch update trains?": "Изменить поезд обновлений?",


Reviews:
user: login: undsoft
body: Works as expected 👍🏼 
state: APPROVED
author_association: CONTRIBUTOR
submitted_at: 2025-05-06T09:04:35Z

Review comments:
diff_hunk: @@ -0,0 +1,43 @@
+import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing';
+import {
+  SpectatorService,
+  createServiceFactory,
+} from '@ngneat/spectator/jest';
+import { WINDOW } from 'app/helpers/window.helper';
+import { GlobalApiHttpService } from './global-api-http.service';
+
+describe('GlobalApiHttpService', () => {
+  let spectator: SpectatorService<GlobalApiHttpService>;
+  let httpMock: HttpTestingController;
+
+  const mockWindow = {
+    location: {
+      protocol: 'https:',
+    },
+  } as unknown as Window;
+
+  const createService = createServiceFactory({
+    service: GlobalApiHttpService,
+    imports: [HttpClientTestingModule],
+    providers: [
path: src/app/services/global-api-http.service.spec.ts
user: login: undsoft
body: You can also use `mockWindow()` fn.
created_at: 2025-05-06T09:00:26Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,43 @@
+import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing';
+import {
+  SpectatorService,
+  createServiceFactory,
+} from '@ngneat/spectator/jest';
+import { WINDOW } from 'app/helpers/window.helper';
+import { GlobalApiHttpService } from './global-api-http.service';
+
+describe('GlobalApiHttpService', () => {
+  let spectator: SpectatorService<GlobalApiHttpService>;
+  let httpMock: HttpTestingController;
+
+  const mockWindow = {
+    location: {
+      protocol: 'https:',
+    },
+  } as unknown as Window;
+
+  const createService = createServiceFactory({
+    service: GlobalApiHttpService,
+    imports: [HttpClientTestingModule],
+    providers: [
+      { provide: WINDOW, useValue: mockWindow },
+    ],
+  });
+
+  beforeEach(() => {
+    spectator = createService();
+    httpMock = spectator.inject(HttpTestingController);
+  });
+
+  it('should call getBootId() and return string', () => {
+    const expectedBootId = 'boot-abc';
+
+    spectator.service.getBootId().subscribe((result) => {
+      expect(result).toBe(expectedBootId);
path: src/app/services/global-api-http.service.spec.ts
user: login: undsoft
body: You can put anything in `toBe` and test will pass. You need to wait for returning value, probably with something like `await firstValueFrom(...)`
created_at: 2025-05-06T09:01:57Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,28 @@
+import { HttpClient } from '@angular/common/http';
+import { Inject, Injectable } from '@angular/core';
+import { environment } from 'environments/environment';
+import { Observable } from 'rxjs';
+import { WINDOW } from 'app/helpers/window.helper';
+
+@Injectable({
+  providedIn: 'root',
+})
+export class GlobalApiHttpService {
+  private readonly baseUrl: string;
+
+  constructor(
+    private http: HttpClient,
+    @Inject(WINDOW) private window: Window,
+  ) {
+    const protocol = this.window.location.protocol === 'https:' ? 'https://' : 'http://';
+    this.baseUrl = environment.production ? `${protocol}${environment.remote}/api` : '/api';
+  }
+
+  get<T>(path: string): Observable<T> {
path: src/app/services/global-api-http.service.ts
user: login: undsoft
body: private
created_at: 2025-05-06T09:02:24Z
author_association: CONTRIBUTOR

PR comments:
user: login: bugclerk
created_at: 2025-05-06T07:14:42Z
body: Jira URL: https://ixsystems.atlassian.net/browse/NAS-135232
author_association: CONTRIBUTOR
user: login: codecov[bot]
created_at: 2025-05-06T07:37:20Z
body: ## [Codecov](https://app.codecov.io/gh/truenas/webui/pull/11965?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=truenas) Report
All modified and coverable lines are covered by tests :white_check_mark:
> Project coverage is 83.71%. Comparing base [(`aca5d9e`)](https://app.codecov.io/gh/truenas/webui/commit/aca5d9e8473b6d4e5e6888af51b2aa9dd47c2d81?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=truenas) to head [(`f50ff1b`)](https://app.codecov.io/gh/truenas/webui/commit/f50ff1b1e2b2ffa55ef06e32ecc9e5b5df1dff5f?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=truenas).
> Report is 2 commits behind head on master.

:white_check_mark: All tests successful. No failed tests found.

<details><summary>Additional details and impacted files</summary>


```diff
@@           Coverage Diff           @@
##           master   #11965   +/-   ##
=======================================
  Coverage   83.70%   83.71%           
=======================================
  Files        1688     1689    +1     
  Lines       59591    59603   +12     
  Branches     6633     6635    +2     
=======================================
+ Hits        49882    49895   +13     
+ Misses       9709     9708    -1     
```

</details>

[:umbrella: View full report in Codecov by Sentry](https://app.codecov.io/gh/truenas/webui/pull/11965?dropdown=coverage&src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=truenas).   
:loudspeaker: Have feedback on the report? [Share it here](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=truenas).

<details><summary> :rocket: New features to boost your workflow: </summary>

- :package: [JS Bundle Analysis](https://docs.codecov.com/docs/javascript-bundle-analysis): Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
</details>
author_association: NONE
user: login: undsoft
created_at: 2025-05-06T08:38:42Z
body: @AlexKarpov98 If by extra step you mean updating proxy config, then it should be automatically generated when `yarn ui remote` is run.
author_association: CONTRIBUTOR
user: login: bugclerk
created_at: 2025-05-07T09:32:59Z
body: JIRA ticket https://ixsystems.atlassian.net/browse/NAS-135232 is targeted to the following versions which have not received their corresponding PRs: 25.10-ALPHA.1
author_association: CONTRIBUTOR
user: login: bugclerk
created_at: 2025-05-07T09:32:59Z
body: This PR has been merged and conversations have been locked.
If you would like to discuss more about this issue please use our forums or raise a Jira ticket.

author_association: CONTRIBUTOR