diff --git a/app/src/main.cpp b/app/src/main.cpp
index e6c228c2964fb470b73bea8df5603877082b6eb1..94a905788b8453e9296c299487eca61330d8b4d0 100644
--- a/app/src/main.cpp
+++ b/app/src/main.cpp
@@ -1,7 +1,7 @@
 #include <QStringList>
 #include <QJsonObject>
-//#include <QTranslator>
-//#include <QLocale>
+#include <QTranslator>
+#include <QLocale>
 #include <QCommandLineParser>
 #include <QCommandLineOption>
 #include <QCoreApplication>
@@ -24,10 +24,10 @@ int main(int argc, char *argv[])
     app.setOrganizationDomain(appConfigApplication["domain"].toString());
 
     // Setup translator
-    //QTranslator translator;
-    //if (translator.load(QLocale(), "messages", ".", ":/i18n")) {
-    //    app.installTranslator(&translator);
-    //}
+    QTranslator translator;
+    if (translator.load(QLocale(), "messages", ".", ":/i18n")) {
+        app.installTranslator(&translator);
+    }
 
     // Setup CLI
     QCommandLineParser clParser;
diff --git a/i18n/i18n.pri b/i18n/i18n.pri
new file mode 100644
index 0000000000000000000000000000000000000000..31b3fcf015d808de7fd1fb6b0118bb263b3859bf
--- /dev/null
+++ b/i18n/i18n.pri
@@ -0,0 +1 @@
+RESOURCES += $${PWD}/i18n.qrc
diff --git a/i18n/i18n.pro b/i18n/i18n.pro
new file mode 100644
index 0000000000000000000000000000000000000000..757f38e1cb06485ae4181b6dff9328f461e775a3
--- /dev/null
+++ b/i18n/i18n.pro
@@ -0,0 +1,7 @@
+SOURCES += $$system(find $${PWD}/../app -type f -name "*.cpp" -or -name "*.qml" -or -name "*.js")
+
+TRANSLATIONS += \
+    $${PWD}/messages.ts \
+    $${PWD}/messages.en_US.ts
+
+include($${PWD}/i18n.pri)
diff --git a/i18n/i18n.qrc b/i18n/i18n.qrc
new file mode 100644
index 0000000000000000000000000000000000000000..196056e88cd16b582c2230e134a580b74746714b
--- /dev/null
+++ b/i18n/i18n.qrc
@@ -0,0 +1,6 @@
+<RCC>
+    <qresource prefix="/i18n">
+        <file>messages.qm</file>
+        <file>messages.en_US.qm</file>
+    </qresource>
+</RCC>
diff --git a/i18n/messages.en_US.qm b/i18n/messages.en_US.qm
new file mode 100644
index 0000000000000000000000000000000000000000..9dad8dffceb9623e88f8b96d9cd0caf25574c6fa
Binary files /dev/null and b/i18n/messages.en_US.qm differ
diff --git a/i18n/messages.en_US.ts b/i18n/messages.en_US.ts
new file mode 100644
index 0000000000000000000000000000000000000000..125a0d58480ca52fd6d8a215830f0ab1074f7181
--- /dev/null
+++ b/i18n/messages.en_US.ts
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="en_US">
+<context>
+    <name>ItemHandler</name>
+    <message>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="55"/>
+        <source>The file already downloading</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="69"/>
+        <source>Downloading</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="119"/>
+        <source>Invalid OCS-URL</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="128"/>
+        <source>Uninstalling</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="197"/>
+        <source>Uninstalled</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="222"/>
+        <source>Downloaded</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="252"/>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="291"/>
+        <source>Saving</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="264"/>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="306"/>
+        <source>Failed to save data</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="271"/>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="314"/>
+        <source>Saved</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="319"/>
+        <source>Installing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="330"/>
+        <source>The file has been installed as program</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="335"/>
+        <source>The plasmoid has been installed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="340"/>
+        <source>The plasma look and feel has been installed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="345"/>
+        <source>The plasma desktop theme has been installed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="350"/>
+        <source>The KWin effect has been installed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="355"/>
+        <source>The KWin script has been installed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="360"/>
+        <source>The KWin window switcher has been installed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="363"/>
+        <source>The archive file has been extracted</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="366"/>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="380"/>
+        <source>The file has been installed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="370"/>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="384"/>
+        <source>Failed to installation</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+</TS>
diff --git a/i18n/messages.qm b/i18n/messages.qm
new file mode 100644
index 0000000000000000000000000000000000000000..be651eede2edc9cb0da5c140b31664afee169fa8
--- /dev/null
+++ b/i18n/messages.qm
@@ -0,0 +1 @@
+<クdハ�箆!ソ`。スン
\ No newline at end of file
diff --git a/i18n/messages.ts b/i18n/messages.ts
new file mode 100644
index 0000000000000000000000000000000000000000..017e5e88fee33017c50782e464e47ecf87025f60
--- /dev/null
+++ b/i18n/messages.ts
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+    <name>ItemHandler</name>
+    <message>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="55"/>
+        <source>The file already downloading</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="69"/>
+        <source>Downloading</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="119"/>
+        <source>Invalid OCS-URL</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="128"/>
+        <source>Uninstalling</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="197"/>
+        <source>Uninstalled</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="222"/>
+        <source>Downloaded</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="252"/>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="291"/>
+        <source>Saving</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="264"/>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="306"/>
+        <source>Failed to save data</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="271"/>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="314"/>
+        <source>Saved</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="319"/>
+        <source>Installing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="330"/>
+        <source>The file has been installed as program</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="335"/>
+        <source>The plasmoid has been installed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="340"/>
+        <source>The plasma look and feel has been installed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="345"/>
+        <source>The plasma desktop theme has been installed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="350"/>
+        <source>The KWin effect has been installed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="355"/>
+        <source>The KWin script has been installed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="360"/>
+        <source>The KWin window switcher has been installed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="363"/>
+        <source>The archive file has been extracted</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="366"/>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="380"/>
+        <source>The file has been installed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="370"/>
+        <location filename="../app/src/handlers/itemhandler.cpp" line="384"/>
+        <source>Failed to installation</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+</TS>
diff --git a/ocs-manager.pro b/ocs-manager.pro
index c2e4aab786f32cdfeb4ffd09e330802f5f633ee6..18d40c3b42b72d7ffa5a6383a0972d15984d101f 100644
--- a/ocs-manager.pro
+++ b/ocs-manager.pro
@@ -22,4 +22,5 @@ DISTFILES += $${PWD}/README.md
 
 include($${PWD}/lib/lib.pri)
 include($${PWD}/app/app.pri)
+include($${PWD}/i18n/i18n.pri)
 include($${PWD}/scripts/scripts.pri)