   # Load I18n Data
   for lang in langs
     continue if lang is 'zh-TW'
-    subtitles[lang] = yield loadSubtitles(subtitlesI18nPath[lang])
+    subtitles[lang] = loadSubtitles(subtitlesI18nPath[lang])
     # Load backup subtitle
-    dataBackup[lang] = yield loadBackupSubtitles(lang)
+    dataBackup[lang] = loadBackupSubtitles(lang)
   # Update subtitle data from remote server
   if i18n["poi-plugin-subtitle"].locale not in langs
     locale = 'ja-JP'

Promise = require 'bluebird'
path = require 'path'
async = Promise.coroutine
fs = Promise.promisifyAll require('fs-extra'), { multiArgs: true }
request = Promise.promisifyAll require('request'), { multiArgs: true }
{Traditionalized} = require './traditionalized'
dbg.extra('subtitlesAudioResponse')

  i18n['poi-plugin-subtitle-data'].setLocale(locale)
  ___ = i18n["poi-plugin-subtitle-data"].__.bind(i18n["poi-plugin-subtitle-data"])

loadSubtitles = (_path) ->
  fs.ensureFileSync _path
  data = fs.readFileSync _path
  data = "{}" if not data or data.length is 0
  JSON.parse data

loadBackupSubtitles = (locale) ->
  abbr = locale[...2]
  if abbr is 'zh'
    dataBackup = fs.readFileSync subtitlesBackupPath['zh-CN']
    subtitlesBackup = JSON.parse dataBackup
    if not subtitles['zh-CN']?.version or +subtitles['zh-CN']?.version < +subtitlesBackup?.version or not subtitles['zh-TW']?.version
      data = dataBackup
      subtitles['zh-CN'] = subtitlesBackup
      fs.writeFileSync subtitlesI18nPath['zh-CN'], data
      # Convert backup subtitle to zh-TW and save
      subtitles['zh-TW'] = {}
      for shipIdOrSth, value of subtitlesBackup
