diff --git a/qstardict/Makefile b/qstardict/Makefile
new file mode 100644
index 0000000..819f0d8
--- /dev/null
+++ b/qstardict/Makefile
@@ -0,0 +1,57 @@
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=qstardict
+PKG_VERSION:=0.13.1
+PKG_RELEASE:=1
+PKG_SOURCE_URL:=http://qstardict.ylsoftware.com/files/
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_MD5SUM:=0828c3fa01c5237db8a67d356a9d1a8c
+
+include $(INCLUDE_DIR)/package.mk
+$(call include_mk,qmake.mk)
+
+define Package/qstardict
+ SECTION:=utils
+ CATEGORY:=Utilities
+ TITLE:=Qt clone of stardict
+ DEPENDS:=+qt4 +qt4-gui +dejavu-fonts-ttf +qt4-network +qt4-xml
+ URL:=http://qstardict.ylsoftware.com
+endef
+
+define Build/Prepare
+ $(call Build/Prepare/Default)
+ (\
+cd $(PKG_BUILD_DIR); \
+echo "QMAKE_UIC=$(STAGING_DIR_HOST)/bin/uic" >> qstardict.pri; \
+echo "QMAKE_MOC=$(STAGING_DIR_HOST)/bin/moc" >> qstardict.pri; \
+echo "QMAKE_RCC=$(STAGING_DIR_HOST)/bin/rcc" >> qstardict.pri; \
+echo "QMAKE_LINK=$(TARGET_CXX)" >> qstardict.pri; \
+echo "QMAKE_LIBS+=-L$(STAGING_DIR)/usr/lib/libintl/lib" >> qstardict.pri; \
+echo "QMAKE_LIBS+=-L$(STAGING_DIR)/usr/lib/libiconv/lib" >> qstardict.pri; \
+echo "QMAKE_LIBS+=-Wl,-rpath-link=$(STAGING_DIR)/usr/lib" >> qstardict.pri; \
+echo "INCLUDEPATH += $(STAGING_DIR)/usr/include" >> qstardict.pri; \
+echo "INCLUDEPATH += $(STAGING_DIR)/usr/include/Qt" >> qstardict.pri; \
+echo "INCLUDEPATH += $(STAGING_DIR)/usr/include/QtGui" >> qstardict.pri; \
+echo "INCLUDEPATH += $(STAGING_DIR)/usr/include/QtCore" >> qstardict.pri; \
+echo "INCLUDEPATH += $(STAGING_DIR)/usr/include/QtNetwork" >> qstardict.pri; \
+echo "INCLUDEPATH += $(STAGING_DIR)/usr/include/QtXml" >> qstardict.pri; \
+)
+endef
+
+define Build/Configure
+ $(call Build/Configure/Qmake,qstardict)
+endef
+
+define Package/qstardict/install
+ $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/lib/qstardict/plugins
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/qstardict/qstardict $(1)/usr/bin/
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/plugins/stardict/libstardict.so $(1)/usr/lib/qstardict/plugins
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/plugins/web/libweb.so $(1)/usr/lib/qstardict/plugins
+endef
+
+$(eval $(call BuildPackage,qstardict))
diff --git a/qstardict/patches/001-qstardict.patch b/qstardict/patches/001-qstardict.patch
new file mode 100644
index 0000000..87de60f
--- /dev/null
+++ b/qstardict/patches/001-qstardict.patch
@@ -0,0 +1,162 @@
+diff -ur qstardict-0.13.1.or/qstardict/keyboard.cpp qstardict-0.13.1/qstardict/keyboard.cpp
+--- qstardict-0.13.1.or/qstardict/keyboard.cpp 2009-02-10 15:33:30.000000000 +0300
++++ qstardict-0.13.1/qstardict/keyboard.cpp 2010-12-07 21:52:31.613898108 +0300
+@@ -82,7 +82,28 @@
+
+ } // namespace
+
+-#endif // Q_WS_WIN
++#elif defined(Q_WS_QWS) // Q_WS_WIN
++
++namespace
++{
++const unsigned mAlt = 0010;
++const unsigned mCtrl = 0004;
++const unsigned mShift = 0001;
++const unsigned mWin = 0100;
++}
++
++namespace QStarDict
++{
++
++Qt::KeyboardModifiers Keyboard::activeModifiers()
++{
++ Qt::KeyboardModifiers result;
++ return result;
++}
++
++} // namespace
++
++#endif // Q_WS_QWS
+
+ // vim: tabstop=4 softtabstop=4 shiftwidth=4 expandtab cindent textwidth=120 formatoptions=tc
+
+diff -ur qstardict-0.13.1.or/qstardict/mainwindow.ui qstardict-0.13.1/qstardict/mainwindow.ui
+--- qstardict-0.13.1.or/qstardict/mainwindow.ui 2009-02-10 15:33:30.000000000 +0300
++++ qstardict-0.13.1/qstardict/mainwindow.ui 2010-12-08 16:40:21.843773360 +0300
+@@ -5,8 +5,8 @@
+
+ 0
+ 0
+- 742
+- 511
++ 320
++ 240
+
+
+
+@@ -19,15 +19,15 @@
+
+
+
+- 9
++ 0
+
+
+- 6
++ 0
+
+ -
+
+
+- 6
++ 0
+
+
+ 0
+@@ -90,17 +90,16 @@
+ 1
+
+
+-
+-
+- 9
+-
+-
+- 6
++
++
++
++ 9
++ 9
++ 185
++ 184
++
+
+-
-
+-
+-
+-
++
+
+
+
+