diff --git a/Cargo.toml b/Cargo.toml
index eb8645e..83ff170 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 authors = ["Valeria Fadeeva <valeria@fadeeva.me>"]
-name = "melawy-arch-linux-updater-tray"
+name = "melawy-linux-updater-tray"
 version = "0.1.0"
 edition = "2021"
 
@@ -11,6 +11,7 @@ edition = "2021"
 tray-item = { git = "https://github.com/olback/tray-item-rs", features = ["libappindicator"] }
 gtk = "0.18"
 glib = "0.20"
+rust-i18n = "3"
 
 [build-dependencies]
 glib-build-tools = "0.20"
diff --git a/README.md b/README.md
index 16ffb62..f84ab9a 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
-# melawy-arch-linux-updater-tray
-Melawy Arch Linux Updater Tray
+# melawy-linux-updater-tray
+Melawy Linux Updater Tray
 
 ### Donate
 [Tinkoff](https://www.tinkoff.ru/rm/fadeeva.valeriya96/9bLRi79066)
diff --git a/locales/app.yml b/locales/app.yml
new file mode 100644
index 0000000..d2b5c5d
--- /dev/null
+++ b/locales/app.yml
@@ -0,0 +1,17 @@
+_version: 2
+
+label.melawy_linux_updater:
+    en: Melawy Linux Updater
+    ru_RU.UTF-8: Установщик обновлений Melawy Linux
+
+menu.update_system:
+    en: Update system
+    ru_RU.UTF-8: Обновить систему
+
+menu.update_flatpak_applications:
+    en: Update flatpak applications
+    ru_RU.UTF-8: Обновить приложения flatpak
+
+menu.quit:
+    en: Quit
+    ru_RU.UTF-8: Выйти
diff --git a/melawy-arch-linux-updater-tray.desktop b/melawy-arch-linux-updater-tray.desktop
deleted file mode 100755
index 69afa56..0000000
--- a/melawy-arch-linux-updater-tray.desktop
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/usr/bin/env xdg-open
-[Desktop Entry]
-Name=Melawy Arch Linux Updater Tray
-Name[en_GB]=Melawy Arch Linux Updater Tray
-Name[en_US]=Melawy Arch Linux Updater Tray
-Name[ru_RU]=Melawy Arch Linux Иконка Обновления для Системного Трея
-Name[ru]=Melawy Arch Linux Иконка Обновления для Системного Трея
-Comment=Melawy Arch Linux Иконка Обновления для Системного Трея
-Comment[en_GB]=Melawy Arch Linux Updater Tray
-Comment[en_US]=Melawy Arch Linux Updater Tray
-Comment[ru_RU]=Melawy Arch Linux Иконка Обновления для Системного Трея
-Comment[ru]=Melawy Arch Linux Иконка Обновления для Системного Трея
-Icon=software-store
-Categories=System;Settings;Security;
-Exec=/usr/bin/melawy-arch-linux-updater-tray
-Type=Application
-StartupNotify=true
-Terminal=false
diff --git a/melawy-linux-updater-tray.desktop b/melawy-linux-updater-tray.desktop
new file mode 100755
index 0000000..9cd1011
--- /dev/null
+++ b/melawy-linux-updater-tray.desktop
@@ -0,0 +1,18 @@
+#!/usr/bin/env xdg-open
+[Desktop Entry]
+Name=Melawy Linux Updater Tray
+Name[en_GB]=Melawy Linux Updater Tray
+Name[en_US]=Melawy Linux Updater Tray
+Name[ru_RU]=Melawy Linux Иконка Обновления для Системного Трея
+Name[ru]=Melawy Linux Иконка Обновления для Системного Трея
+Comment=Melawy Linux Иконка Обновления для Системного Трея
+Comment[en_GB]=Melawy Linux Updater Tray
+Comment[en_US]=Melawy Linux Updater Tray
+Comment[ru_RU]=Melawy Linux Иконка Обновления для Системного Трея
+Comment[ru]=Melawy Linux Иконка Обновления для Системного Трея
+Icon=software-store
+Categories=System;Settings;Security;
+Exec=/usr/bin/melawy-linux-updater-tray
+Type=Application
+StartupNotify=true
+Terminal=false
diff --git a/src/main.rs b/src/main.rs
index 4c80e69..e2cf11b 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,12 +1,12 @@
 // #![cfg_attr(debug_assertions, allow(dead_code, unused_imports, unused_variables, unused_must_use))]
 
+use rust_i18n::i18n;
+use rust_i18n::t;
+rust_i18n::i18n!("locales");
+
 use {
-    std::sync::mpsc,
-    std::thread,
-    std::time,
-    std::process::Command,
-    tray_item::IconSource,
-    tray_item::TrayItem,
+    std::env, std::process::Command, std::sync::mpsc, std::thread, std::time,
+    tray_item::IconSource, tray_item::TrayItem,
 };
 
 // use subprocess;
@@ -15,7 +15,7 @@ enum Message {
     Quit,
     NOP,
     UpdateSystem,
-    UpdateFlatpak
+    UpdateFlatpak,
 }
 
 fn run_cmd(cmd_string: &str, lang_env_var: Option<&str>) {
@@ -24,16 +24,14 @@ fn run_cmd(cmd_string: &str, lang_env_var: Option<&str>) {
         std::env::set_var(key, lang_env_var.unwrap_or("C.UTF-8"));
     }
 
-    let args_vec : Vec<&str> = cmd_string.split_whitespace().collect();
+    let args_vec: Vec<&str> = cmd_string.split_whitespace().collect();
 
     if args_vec.len() == 1 {
         let cmd = args_vec[0];
 
         let status = Command::new(cmd).output();
         println!("{:#?}", status);
-    }
-
-    else {
+    } else {
         let cmd = args_vec[0];
         let new_args_vec = &args_vec[1..].to_vec();
 
@@ -43,45 +41,60 @@ fn run_cmd(cmd_string: &str, lang_env_var: Option<&str>) {
 }
 
 fn main() {
+    i18n!("locales", fallback = "en");
+
+    let locale_key = "LANG";
+    let locale = match env::var(locale_key) {
+        Ok(val) => val,
+        _ => String::from(""),
+    };
+
+    rust_i18n::set_locale(&locale);
+    // let _locale = rust_i18n::locale();
+
     gtk::init().unwrap();
 
-    let mut tray = TrayItem::new("Melawy Arch Linux Updater", IconSource::Resource("software-store")).unwrap();
+    let mut tray = TrayItem::new(
+        &t!("label.melawy_linux_updater"),
+        IconSource::Resource("software-store"),
+    )
+    .unwrap();
 
-    tray.add_label("Melawy Arch Linux Updater").unwrap();
+    tray.add_label(&t!("label.melawy_linux_updater")).unwrap();
     let (tx, rx) = mpsc::sync_channel::<Message>(2);
 
     let update_system_tx = tx.clone();
-    tray.add_menu_item("Update system", move|| {
+    tray.add_menu_item(&t!("menu.update_system"), move || {
         update_system_tx.send(Message::UpdateSystem).unwrap();
-    }).unwrap();
-
+    })
+    .unwrap();
 
     let update_flatpak_tx = tx.clone();
-    tray.add_menu_item("Update flatpak applications", move || {
+    tray.add_menu_item(&t!("menu.update_flatpak_applications"), move || {
         update_flatpak_tx.send(Message::UpdateFlatpak).unwrap();
-    }).unwrap();
-
+    })
+    .unwrap();
 
     let quit_tx = tx.clone();
-    tray.add_menu_item("Quit", move || {
+    tray.add_menu_item(&t!("menu.quit"), move || {
         quit_tx.send(Message::Quit).unwrap();
-    }).unwrap();
-
+    })
+    .unwrap();
 
     glib::idle_add_local(move || match rx.recv() {
         Ok(Message::Quit) => {
+            // println!("Quit!");
             gtk::main_quit();
-            println!("Quit!");
             glib::ControlFlow::Break
         }
         Ok(Message::UpdateSystem) => {
-            println!("Update system");
-            let cmd = "sudo arch-linux-updater";
+            // println!("Update system");
+            let cmd = "sudo melawy-linux-updater";
             let _ = run_cmd(cmd, None);
             glib::ControlFlow::Continue
         }
         Ok(Message::UpdateFlatpak) => {
-            println!("Update flatpak applications");
+            // println!("Update flatpak applications");
             let cmd = "/usr/bin/konsole --noclose --separate -e flatpak update";
             let _ = run_cmd(cmd, None);
             glib::ControlFlow::Continue
@@ -92,7 +105,6 @@ fn main() {
         }
     });
 
-
     thread::spawn(move || {
         let mut count = 0;
         loop {