diff --git a/airtime_mvc/build/sql/defaultdata.sql b/airtime_mvc/build/sql/defaultdata.sql
index cf82ea0d4..f3bd54c4e 100644
--- a/airtime_mvc/build/sql/defaultdata.sql
+++ b/airtime_mvc/build/sql/defaultdata.sql
@@ -313,6 +313,7 @@ INSERT INTO cc_stream_setting (keyname, value, type) VALUES ('s3_channels', 'ste
 -- added in 2.3
 INSERT INTO cc_pref("keystr", "valstr") VALUES('locale', 'en_CA');
 
+INSERT INTO cc_locale (locale_code, locale_lang) VALUES ('zh_CN', 'Chinese');
 INSERT INTO cc_locale (locale_code, locale_lang) VALUES ('en_CA', 'English');
 INSERT INTO cc_locale (locale_code, locale_lang) VALUES ('en_US', 'English - US');
 INSERT INTO cc_locale (locale_code, locale_lang) VALUES ('fr_FR', 'French');
diff --git a/airtime_mvc/public/js/datatables/i18n/zh_CN.txt b/airtime_mvc/public/js/datatables/i18n/zh_CN.txt
new file mode 100644
index 000000000..25aee3611
--- /dev/null
+++ b/airtime_mvc/public/js/datatables/i18n/zh_CN.txt
@@ -0,0 +1,17 @@
+{
+    "sProcessing":   "处理中...",
+    "sLengthMenu":   "显示 _MENU_ 项结果",
+    "sZeroRecords":  "没有匹配结果",
+    "sInfo":         "显示第 _START_ 至 _END_ 项结果,共 _TOTAL_ 项",
+    "sInfoEmpty":    "显示第 0 至 0 项结果,共 0 项",
+    "sInfoFiltered": "(由 _MAX_ 项结果过滤)",
+    "sInfoPostFix":  "",
+    "sSearch":       "",
+    "sUrl":          "",
+    "oPaginate": {
+        "sFirst":    "首页",
+        "sPrevious": "上页",
+        "sNext":     "下页",
+        "sLast":     "末页"
+    }
+}
\ No newline at end of file
diff --git a/airtime_mvc/public/js/plupload/i18n/zh_CN.js b/airtime_mvc/public/js/plupload/i18n/zh_CN.js
new file mode 100644
index 000000000..05b04b607
--- /dev/null
+++ b/airtime_mvc/public/js/plupload/i18n/zh_CN.js
@@ -0,0 +1,26 @@
+// Chinese
+plupload.addI18n({
+    'Select files' : 'Select files',
+    'Add files to the upload queue and click the start button.' : 'Add files to the upload queue and click the start button.',
+    'Filename' : 'Filename',
+    'Status' : 'Status',
+    'Size' : 'Size',
+    'Add files' : 'Add files',
+    'Stop current upload' : 'Stop current upload',
+    'Start uploading queue' : 'Start uploading queue',
+    'Uploaded %d/%d files': 'Uploaded %d/%d files',
+    'N/A' : 'N/A',
+    'Drag files here.' : 'Drag files here.',
+    'File extension error.': 'File extension error.',
+    'File size error.': 'File size error.',
+    'Init error.': 'Init error.',
+    'HTTP Error.': 'HTTP Error.',
+    'Security error.': 'Security error.',
+    'Generic error.': 'Generic error.',
+    'IO error.': 'IO error.',
+    'Stop Upload': 'Stop Upload',
+    'Add Files': 'Add Files',
+    'Start Upload': 'Start Upload',
+    'Start upload': 'Start upload',
+    '%d files queued': '%d files queued'
+});
\ No newline at end of file