ChangeLog (UTF-8, ff=dos)
Visual Novel Reader
Since 6/18/2011

2/19/2016 FRI
  * Fix google translation support, which was broke because of API change.
    Translation alignment for Google is broken because of the change.
    Thanks for @mireado sama's report!

1/24/2016 SUN
  [Game Engine]
  * Handle text tags in QLiE engine as requested by @mireado.

1/22/2016 FRI
  [TAHScript](English, @riz)
  * Update TAH script for LEC and Atlas.
    The scripts are from @errzotl sensei, and you can say thanks to him/her at TAHscript@outlook.com.

1/9/2016 SAT
  [Game Engine]
  * Update WillPlus engine to support 見上げてごらん、夜空の星を.
    Scenario/Name/History/Choice can be translated.
    User-shared subtitles tested working.

        http://i.imgur.com/nt8gQmr.png
        http://i.imgur.com/NV2AE3V.png

    为「見上げてごらん、夜空の星を」添加了内嵌翻译的支持。

1/1/2016 FRI
  [Game Engine]
  * Add translation support for コドモノアソビ.
    Embed translation also works.

      en: http://i.imgur.com/MMl0SHn.png
      zh: http://i.imgur.com/AThGjDW.png
      ko: http://i.imgur.com/kFpfx2W.png

    为「コドモノアソビ」添加了提取文本的支持。
    内嵌翻译的截图在上边。

    Note that the BGI games have ruby text like <r>...</r> that will downgrade translation quality.
    If you are using Embed Translation, then nothing needed to be done as it will take care of ruby by default.
    Otherwise, if you are using ITH engine, just make sure the ruby elimination rules in Shared Dictionary are associated with your version of the game.

  * Add translation support for IZUMO4.
    Embed translation is broken for this game.

    为IZUMO4添加了提取文本的支持。
    但内嵌翻译无法工作。

    I suspect Studio ego is using a different (older) game engine than Debonosu.
    So, I will not spend time fixing embed translation for this game until the next Debonosu game releases.

12/27/2015 SUN
  VNR's servers are migrated from Japan to US.
  Older versions of VNRs might be broken because of the migration after a month.

  VNR的服务器搬迁到US了。
  老版本的VNR在一个月后可能会无法正常使用了。

12/7/2015 Mon
  [i18n](Korean, @mireado)
  * Update VNR's UI translation in Korean made by @mireado sensei.

11/27/2015 FRI
  [Game Engine]
  * Do not extract English letters for mono games.

11/22/2015 SUN
  [Network]
  * Changed to access VNR's servers by domain names instead of by IP.

    Going to migrate VNR's servers from Japan to US some time next month or next year, where the servers are cheaper while having much more updated technologies.
    VNR's machine translation servers have already been deployed in the bay area, which worked pretty well.
    Changing to access domain names would make the server-side migration transparent to the end users.

    VNR used to access certain websites by IPs to bypass CCP's Internet censorship for foreign hosts and DNS.
    For example, whenever there is a big event in China, foreign domains tend to become unstable or temporarily blocked.
    But this made changing VNR server's IP address a pain in ass that all older versions of VNR would be broken.

  [TTS]
  * Fixed the broken Voiceroid+ TTS caused by the online API changes.
    Also add support of male voice actor 水無瀬コウ (http://www.ah-soft.com/voiceroid/kou/).

    修正了Voiceroid+在线TTS无法使用的问题。
    另外，添加了对男性的水無瀬コウ的支持。
    感谢@水上薰·墨香sama的报告！

  [Game Engine]
  * Add support for 凍京NECRO.

    Embed translation also works but only supports English translation.
    But font is too large and English is so much verbose that the translation could go out of screen.

        http://i.imgur.com/FFqgnyF.png

    为「凍京NECRO」添加了提取文本的支持。
    内嵌翻译仅限英文。

11/16/2015 MON
  [Machine Translation]
  * Changed to only support translation of Chinese/English/Korean from Japanese.
    Due to limited server-side resources, support for other languages are currently disabled.

11/15/2015 SUN
  [Bugfix]
  * Fixed a multi-threading bug that could crash Shared Dictionary.

  [Removed Features]
  * Remove regular expression tester.
  * Remove voice recognition.
  * Remove BBCode tester.
  * Remove YouTube downloader.
  * Remove game finder.

  [Machine Translation]
  * Add Thai language support.

11/8/2015 SUN
  [TAHScript](English, @riz)
  * Update TAH script for LEC and Atlas.
    The scripts are from @errzotl sensei, and you can say thanks to him/her at TAHscript@outlook.com.

  [Machine Translation]
  * Resume the machine translation that is trained from user-shared subtitles.
    It currently only supports en/zh/ko/vi/fr/es/ru, which has relative more subtitles in the database.
    You can also tested it here: http://tranzz.com/translate
    Due to copyright concerns, the translation is trained only from game subtitles instead of commercial dictionaries.
    The current translation quality is worse than before as the result.

    My eventual goal is to allow everyone to create his own translators where all settings/translation rules/corpus can be fully adjusted and managed.
    I hope combing our community's efforts, we can create our best domain-specific machine translators.

  Regarding the future of VNR, I might not have lots of time to work on it like before.
  Instead of adding more features, I might focus on making existing features more stable and removing features that are seldom used.
  And here are the directions that I am planning to go in case you are interested:
  1. Remove features that are not directly related to reading VNs (youtube, chatting, game information, etc.)
  2. Split non-VN translation support like OCR/TextReader out into separate applications.
  3. Move subtitles/shared dictionary management to the cloud. Loading translation rules only for the games that are being played. This will help limit memory usage of the shared dictionary that becomes larger and larger.
  4. Improve translation quality while minimizing local resource usage.

9/25/2015 FRI
  [JBeijing](Chinese, @najizhimo)
  * 更新了@najizhimo维护的J北京词库。

9/20/2015 SUN
  [Ehnd](Korean, @mireado)
  * Update Ehnd dictionary from @mireado sensei.
    It can also be downloaded independently if you don't want to use VNR:
        http://sakuradite.com/topic/898

9/18/2015 FRI
  [JBeijing](Chinese, @najizhimo)
  * 更新了@najizhimo维护的J北京词库。

9/12/2015 SAT
  [JBeijing](Chinese, @najizhimo)
  * 更新了@najizhimo维护的J北京词库。

9/8/2015 TUE
  [JBeijing](Chinese, @najizhimo)
  * 更新了@najizhimo维护的J北京词库。

9/5/2015 SAT
  [Shared Dictionary]
  * Fixed a bug that might crash the machine translator while applying rules.
    修正了一个可能会崩溃的问题。

8/30/2015 SUN
  [Embed Translation]
  * Add support for CatSystem2 engine.
    Tested with 果つることなき未来ヨリ, ゆきこいめると, グリザイアの果実 and カミカゼ☆エクスプローラー！.
    Scenario/name/choice/history/message texts can be translated.

    en: http://i.imgur.com/t5ip0az.png
    ko: http://i.imgur.com/LsHOAaj.png
    vi: http://i.imgur.com/DjbVhrj.png
    zh: http://i.imgur.com/gSrUdat.png

    为CatSystem2引擎的游戏添加了内嵌翻译的支持。

8/29/2015 SAT
  [Embed Translation]
  * Extend Pensil engine to support translating choices and translating games with 2RM adventure engine .
    为2RM引擎的游戏添加了内嵌翻译的支持。

  * Add support for minori games.
    Tested with 12の月のイヴ and ソレヨリノ前奏詩.
    It can also translate invisible voiced scenario texts that are not painted on the screen, and hence recommended for text extraction.

    en: http://i.imgur.com/OHRjvpy.png
    ko: http://i.imgur.com/hro9WJw.png
    vi: http://i.imgur.com/n4TB6p0.png
    zh: http://i.imgur.com/jZKc2Tt.png

    为minori的游戏添加了内嵌翻译的支持。

8/28/2015 FRI
  [Shared Dictionary]
  * Add a Priority property for all rules that will affect the order to apply these rules.
    If you seldom use Shared Dictionary and don't know what Priority is, it is OK to just leave it empty.

    When determine the order to apply translation rules, the number of characters in pattern is one of the major
    factors that will affect the order.
    Usually, the longer rules will be applied before shorter rules by default.
    Now, the new Priority property will override the default pattern size, and the larger the Priority value,
    the earlier the rule might be applied.

    For example, given the following three rules:
    #1. 椿姫 = 츠바키
    #2. お?姫 = 공주님, regex = true
    #3. 姫 = 공주

    By default, the three rules will be applied in order of #2, #1, #3, because #2 has the longest pattern.
    As the result, 椿姫 might be broken because of お?姫.

    Now, if I set the priority of #2 to 1.5, then the translation order will become: #1, #2, #3.
    This is because the default priority of #1 is "椿姫".length = 2, and that of #3 is "姫".length = 1, and
    user-specified 1.5 for rule #2 is smaller than 3 and larger than 1.

    If you want to change the priority of a rule, personally I recommend to make it around the estimated number of
    characters in the Pattern.
    For example, because "お?姫" can match either "お姫" (2 chars) or "姫" (1 char), I just chose "1.5" as its priority.
    But you don't have to obey this convention. You can set priority to any number if necessary.
    Rules with very large priority tend to be applied at first, and those with small negative priority tends to be applied at last.
    For example, I can set priority of #2 to -1, and then the translation order will become #1, #3, #2.

    If you want to delete a priority, you can just set it to zero.

    Note that priority is not the only factor that affects transformation order, which is determined in a complicated way.
    Even if you assign a very large/small priority to a rule, it is still not guaranteed to be applied before/after all other rules.

    为词条添加了一个【优先级】的属性，可以影响应用词条的顺序。
    如果你不常用共享辞书，那么可以忽略这个属性。
    优先级高的词条会被优先应用于翻译；反之优先级低的词条会被推迟应用。
    如果没有指定优先级，VNR默认会使用匹配文本的长度。
    所以如果需要，我个人建议大家约定估计的匹配文本的长度为这个属性的值。不过你也可以不遵守这个约定。

8/23/2015 SUN
  [Game Engine]
  * Add support for games from 玉藻スタジオ.
    Tested 閃光の騎士 ～カリスティアナイト～ and 冒険者の町を作ろう!2.
    为玉藻スタジオ社的游戏添加了提取文本的支持。

  [TAHScript](English, @riz)
  * Update TAH script for LEC and Atlas.
    The scripts are from @errzotl sensei, and you can say thanks to him/her at TAHscript@outlook.com.

8/22/2015 SAT
  [Embed Translation]
  * Add support for ge-sen18/a-unicorn games.
    Tested 三極姫4, 戦極姫6, and 天極姫. All texts can be translated.
    However, there are certain in-game texts that are not rendered using standard GDI fonts,
    where all non-Japanese and non-Chinese characters (English, Korean, ...) might not be properly displayed.

    en: http://i.imgur.com/bGKujRG.png
        http://i.imgur.com/M6xriQh.png
        http://i.imgur.com/wemChRV.png
        http://i.imgur.com/uHdc6bT.png
    ko: http://i.imgur.com/7CzC3qo.png
        http://i.imgur.com/sELiU5M.png
        http://i.imgur.com/Mhh3drZ.png
        http://i.imgur.com/EW58YcV.png
    vi: http://i.imgur.com/2zxE706.png
        http://i.imgur.com/149p2bm.png
        http://i.imgur.com/hTLiQmf.png
        http://i.imgur.com/hbzlQgJ.png
    zh: http://i.imgur.com/Jb6I7Dn.png
        http://i.imgur.com/o9HQLbX.png
        http://i.imgur.com/bfEt47H.png
        http://i.imgur.com/mlwmxa1.png

    为gesen18的游戏添加了支持。截图在上边。

8/21/2015 FRI
  [Text-to-speech]
  * Update the support of Google TTS, which was broken since the changes of Google APIs.
    修正了Google语音合成失效的问题。

8/19/2015 WED
  [Embed Translation]
  * Add support for Waffle games.
    Tested 完全時間停止, 漫喫ハプニング, and 巨乳ファンタジー2 if.
    Screenshots are as follows:

    en: http://i.imgur.com/hQr9yDK.png
    ko: http://i.imgur.com/wjejBXj.png
    zh: http://i.imgur.com/kuAzN0T.png

    为Waffle社的游戏添加了支持。截图在上边。

8/16/2015 SUN
  [Embed Translation]
  * Translate in-game texts for ウルスラグナ～征戦のデュエリスト～.

    en: http://i.imgur.com/iqHjV7M.png
    ko: http://i.imgur.com/0e2oHyL.png
    zh: http://i.imgur.com/BtQoAhb.png

    翻译「ウルスラグナ」游戏内的文本。截图在上边。

  * Add support for old GXP engine.
    Test working for 魔導書の司書 and デモニオンII 魔王と三人の女王.
    为老版本的GXP引擎的游戏添加了内嵌翻译的支持。

  * Add tentative support for Rance03.
    It only works for English.
    All texts were surposed to support translation. However, the logic to determine whether it is safe to translate
    without crashing the games and how to distinguish scenario/name/other texts is currently inaccurate.
    en: http://i.imgur.com/l1pwGWj.png
        http://i.imgur.com/52KJbKC.png
        http://i.imgur.com/FBEX15c.png

8/15/2015 SAT
  [Embed Translation]
  * Add support for GXP2 engine.
    Test working for 塔の下のエクセルキトゥス and ウルスラグナ～征戦のデュエリスト～.
    Scenario/name/history/choices/popup messages can be translated.
    It might not support old GXP games.

    en: http://i.imgur.com/MQPy95V.png
    ko: http://i.imgur.com/dS6xvav.png
    zh: http://i.imgur.com/LK0vtCr.png

    为GXP2引擎的游戏添加了支持。截图在上边。

8/12/2015 WED
  [Embed Translation]
  * You can disable embedding translation for a specific game by pressing "Edit" on the bottom of the SpringBoard.
    在SpringBoard下边点击【编辑】的选项中，可以只对某一个游戏禁用内嵌翻译。

  [Game Engine]
  * Add generic GDI+ hook to GdipAddPathString.
    Test working for all Rejet games. Game engine is not needed for Rejet games any more.

8/11/2015 TUE
  [Game Engine]
  * Update System43 engine to support ランス03.
    btw., embed translation support is broken for the new System43 engine.
    为「ランス03」添加了提取文本的支持。

8/10/2015 MON
  [Shared Dictionary]
  * Make sure the processing of Shared Dictionary is thread-safe to avoid possible crash caused by thread contention.
    加强了处理【共享辞书】的线程安全，修正了多线程快速翻译时可能的崩溃。

8/9/2015 SUN
  [Embed Translation]
  * Add support for the latest Malie3 engine.
    Tested working for シルヴァリオ ヴェンデッタ, 相州戦神館學園, 神咒神威神楽, Vermilion, and BRAVA!!
    It might not work for old Malie games though.
    All texts can be translated. Some screenshots are as follows:

    en: http://i.imgur.com/tATc6SL.png
        http://i.imgur.com/6TWdtSx.png -- with ruby for Shinigami (God of Death) in the Shared Dictionary
    ko: http://i.imgur.com/iVCwhQR.png
        http://i.imgur.com/HVaYOhQ.png
    zh: http://i.imgur.com/Pt6efBE.png
        http://i.imgur.com/v1LjadG.png
        http://i.imgur.com/gvBeeYC.png

    为最新版的Malie引擎的游戏添加了支持。截图在上边。

8/7/2015 FRI
  [Embed Translation]
  * Add support for LC-ScriptEngine.
    Tested working for 恋姫†無双, 春恋＊乙女, and 姦獄学園.
    Some screenshots are as follows:

    ko: http://i.imgur.com/wfscBjo.png
        http://i.imgur.com/uuFdV99.png
    zh: http://i.imgur.com/jTGaNbh.png
    en: http://i.imgur.com/OKwkjGY.png

    为LC-ScriptEngine引擎的游戏添加了支持。截图在上边。

8/6/2015 THU
  [TAHScript](English, @riz)
  * Update TAH script for LEC.
    The scripts are from @errzotl sensei, and you can say thanks to him/her at TAHscript@outlook.com.

  [Game Information]
  * Display the number of users that have played the game (unique IP visitors) in the game information page.
    在【游戏情报】中会显示玩过这个游戏的人数。

8/4/2015 TUE
  [Embed Translation]
  * Add support for Taskforce2 engine.
    Test working for 神様（仮） and オトメスイッチ.
    Screenshots are as follows.

    en: http://i.imgur.com/PfQnckO.png
    ko: http://i.imgur.com/LHghKA8.png
    zh: http://i.imgur.com/3DucwGh.png

    为Taskforce2引擎的游戏添加了支持。截图如上。

  * Add support for LunaSoft games.
    It only works for English. All texts can be translated.
    en: http://i.imgur.com/N8gR9mC.png
        http://i.imgur.com/dFV7laB.png
        http://i.imgur.com/TBTPsaV.png

8/3/2015 Mon
  [i18n](Korean, @mireado)
  * Update VNR's UI translation in Korean made by @mireado sensei.

8/2/2015 SUN
  [i18n]
  * Add translation languages of Filipino (Tagalog), Slovenian, Hebrew, Bulgarian, Belarusian, Estonian, Latvian and Lithuanian.

8/1/2015 SAT
  [Internet]
  * Fixed the broken proxy to ESG.
    修正了代理批评空间仍无法访问的问题。

  [Embed Translation]
  * Add support for Pensil engine.
    Some screenshots are as follows.
    Tested working for 大正×対称アリス, はにつま, and 星逢のプリズムギア.
    Scenario/Name/Choice/History can be translated.

    ko: http://i.imgur.com/7mvXy77.png
        http://i.imgur.com/tzmoi1u.png
    zh: http://i.imgur.com/RFKSyEn.png
        http://i.imgur.com/R8eYb5Z.png

    为Pensil引擎的游戏添加了支持加。截图在上边。

  * Update support for ShinaRio v2.5 to properly recognize Name thread.
    Some screenshots for ソーサリージョーカーズ are as follows.

    en: http://i.imgur.com/jy3cSQW.png
    ko: http://i.imgur.com/6tEYRYu.png
    zh: http://i.imgur.com/ozwf2wG.png

    修正了「ソーサリージョーカーズ」内嵌姓名翻译可能会出错的问题。

  * Add a button to Preferences/Embed to restore default settings.
    在【使用偏好/内嵌翻译】中添加了一重置内嵌设定的按钮。

7/31/2015 FRI
  [Embed Translation](CM3D)
  * Fix the issue that embedding Other text might cause CM3D 2 to be black out.
    Thanks for @mireado sama's report!
    修正了开启内嵌翻译可能会让CM3D 2黑屏的问题。

  * New lines are properly handled for CM3D 2.
    Word wrapping also works for embedded scenario text near line boundaries.

  [Game Engine]
  * Update Abel engine to support 不条理世界の探偵令嬢.
    为「不条理世界の探偵令嬢」添加了提取文本的支持。

7/30/2015 THU
  [Embed Translation]
  * Add support for NEXTON games.
    Name/scenario/choice/history can be translated.
    It does not have the issue of floating signatures and hence recommended also for text extraction.
    为NEXTON的伞下会社的游戏添加内嵌翻译的支持。

7/29/2015 WED
  [Game Information]
  * Fixed the broken youtube download module that was caused by the deprecation of youtube v2 api.

  [Embed Translation](CM3D)
  * Fix the issue that embedding Other text might crash CM3D 2.
    Thanks for @mireado sama's report!
    修正了内嵌翻译CM3D 2时可能会让游戏崩溃的问题。

  [Game Engine](CM3D)
  * Update the split logic to make it easier to select text threads from CM3D 2.
    Thanks for @xemnaseternal sama's report!

7/28/2015 TUE
  [Embed Translation]
  * Add support for FAVORITE games.
    Tested working for 星空のメモリア and 紅い瞳に映るセカイ.
    It can properly handle ruby in text, and hence recommended over getting text from ITH, which will be messed up by ruby.

        http://i.imgur.com/XXfG7cD.png

    为FAVORITE的游戏添加了内嵌翻译的支持。截图在上边。
    对FAVORITE的游戏推荐使用内嵌翻译提取文本。因为ITH的提取方式会被游戏文本中的Ruby扰乱。

7/27/2015 MON
  [Embed Translation]
  * Add support for Mono games.
    Currently, only tested working for Custom Maid 2, where most texts can be translated.
    Note that game text speed must be set to maximum.

    While translation in all languages can be embedded, there is a big known issue that long translation might be truncated.
    As the result, only language that is much more concise than Japanese (such as Chinese) can be properly displayed.
    Languages that are much more verbose than Japanese (such as English) will usually be truncated.
    You might have to turn off embedded translation for Scenario text if being truncated.

    ko: http://i.imgur.com/ri5Hnjo.png -- As you can see that the scenario translation is truncated
        http://i.imgur.com/C3434Gq.png
        http://i.imgur.com/ZdgYs5Z.png -- Maximize Text Speed here in the Message panel

    zh: http://i.imgur.com/sk7Obtg.png
        http://i.imgur.com/Fdu6vuA.png
        http://i.imgur.com/iujRDs5.png -- 这里，一定需要将Message里的【文本速度】调整为最快！
        http://i.imgur.com/ChJwS5K.png
        http://i.imgur.com/G6u7XuZ.png

    为Mono的游戏添加了内嵌翻译的支持。
    当前仅有测试Custom Maid 2，截图在上边。另外，内嵌翻译一定需要将游戏文本速度调整为最快！（参看上边的截图）

  * Add support for プレイクラブ.
    It suffers from the same problem as Custom Maid that long translation might be truncated.
    And the game text speed must be set to maximum.

    ko: http://i.imgur.com/2jXY6UE.png
        http://i.imgur.com/C8GYqR4.png
        http://i.imgur.com/VNY145m.png

    zh: http://i.imgur.com/I9IrCSF.png
        http://i.imgur.com/EHnhROb.png
        http://i.imgur.com/kQ1MrEp.png

    为「プレイクラブ」添加了内嵌翻译的支持。截图在上边。
    同样的，文本的速度一定要设定为最快才可以。

7/25/2015 SAT
  [Embed Translation]
  * Add support for Lucifen engine.
    Test working for プリズム・プリンセス and 猫撫ディストーション. Screenshots are as follows.

      ko: http://imgur.com/dJpfaIq,02M3ypB,tVyQokf,aXyP3IX
      zh: http://i.imgur.com/kqSp943.png

    为Lucifen引擎的游戏添加了支持。截图在上边。

  * Fix the issue that game window might blackout when Window text translation is enabled.
    Thanks for @王子夜礼服假面 and @mireado's report!

  * Add support for old SystemAoi games. Tested working for 「王賊」.
    为SystemAoi的老游戏添加了引擎。

  [Game Engine]
  * Add support for old SystemAoi games. Tested working for 「王賊」.
    为SystemAoi的老游戏添加了引擎。

  * Disable Mono Unity hook for CM3D, which might slown down the game.
    Thanks for @xemnaseternal sama's report!

7/24/2015 FRI
  [Game Engine]
  * Add support for Escu:de games, which does not require changing game font to "MS Gothic".
    为Escu:de社的游戏添加了支持。提取文字不再需要修改游戏的字体。

  [Embed Translation]
  * Add support for Esc:ude games. Screenshots are as follows.
    Test working for Re;Lord, パニカル・コンフュージョン, and 花嫁と魔王.
    If the translation's language is not English, please change the game's default font to "MS Gothic" in Configure.exe.

      ko: http://imgur.com/eoujHm7,sz5TemN
      zh: http://imgur.com/ncrMb0R,VvwBYVA

    为Esc:ude社的游戏添加了支持。截图在上边。
    内嵌翻译需要通过configure.exe修改游戏字体为MS Gothic。

7/21/2015 TUE
  [Embed Translation]
  * Embedded translation won't get truncated for "LORD of VERMILION ARENA:LoVA" at http://lova.jp. A screenshot is as follows.

      en: http://i.imgur.com/ItwyDrI.png
      zh: http://i.imgur.com/834xGe6.png

    "LORD of VERMILION ARENA:LoVA" (http://lova.jp) 内嵌的翻译不会被截断了。截图在上边。

  * Properly handle ruby for AMUSE CRAFT games.
    Thanks for @mireado sama's report!

7/20/2015 MON
  [Embed Translation]
  * Add support to translate "LORD of VERMILION ARENA:LoVA" at http://lova.jp. Screenshots are below.
    Almost all texts can be translated. But there are some known issues:
    + Due to technical difficulties, there is no way to create a ITH engine for this game.
      If you don't want to embed translation, you can just set Scenario/Name/Other/Window to Disable in Preferences/Embed.
    + Game font cannot be changed.
      - If the translation language is English, it should work fine.
      - If the translation language is Chinese
        In Preferences/Embed, please turn on the option to use Traditional Chinese and Japanese kanji as preferred Chinese variants instead of Simplified Chinese.
      - For any languages other than English/Chinese
        I don't know how to make it working. You might have to looking for ways to change the game font to that support the character set of your language.

    en: http://i.imgur.com/vMpdbV6.png
        http://i.imgur.com/2yDfgew.png
        http://i.imgur.com/fs3YZHm.png
        http://i.imgur.com/Yyy9yIi.png

    zh: http://i.imgur.com/i7MPagT.png
        http://i.imgur.com/J76tYBv.png
        http://i.imgur.com/Enya1CZ.png
        http://i.imgur.com/yQ0qQPF.png

    支持内嵌翻译LORD of VERMILION ARENA:LoVA (http://lova.jp). 截图在上边。
    游戏内几乎全部的文本都可以翻译。不过，有一些已知的问题：
    + 由于技术困难，无法通过ITH来翻译这个游戏。
    + 简体中文字体无法正常显示。
      请将用户语言设定为中文，并在【使用偏好/内嵌翻译】中指定优先的中文字符集为正体中文和日本汉字。

  [Text Settings]
  * There is always a Null thread in Text Settings.
    If you want to disable text extraction, just set scenario thread to Null.
    如果你要停止提取文本，可以在文本设定中设定对白文本为Null。

7/18/2015 SAT
  [Dictionary](Korean)
  * Add support to lookup hanja dictionary for Japanese kanji.
    The dictionary can be downloaded for free in Preferences/Downloads, and enabled in Preferences/Dictionaries.

  * Add an option to display hanja pronunciation for kanji in Preferences/Dictionaries.
    When enabled, for example, click a phrase containing "香" and VNR will popup the following:
        【香{향,incense}】[禾{화,grain}, 日{일,sun}]

  [Embed Translation]
  * Add support for AMUSE CRAFT games.
    It currently only works for English. Scenario/Name/Choice/Backlog can be translated.
    Tested working for 時計仕掛けのレイライン and ManguSta .

  [Game Engine]
  * Update AMUSE CRAFT engine so that text threads won't be floating and split.
    If you are playing AMUSE CRAFT games, please re-adjust Text Settings.

7/17/2015 FRI
  [Embed Translation]
  * Add support for old ShinaRio games (ver 2.40 ~ 2.47).
    Tested working for Vestige and 花と乙女に祝福を.

7/16/2015 THU
  [Embed Translation]
  * Update BGI engine to support handling ruby.

7/12/2015 SUN
  [Yomigana](Vietnamese)
  * For Vietnamese translation of Japanese names, VNR can display the Phiên âm Hán-Việt pronunciation above Yomigana as ruby.
    This behavior is disabled by default, and can be enabled in Preferences/Shared Dictionary.
    For example, when enabled, given "蓮花 = れんふぁ", VNR will display "Liên Hoa" above "Renfa".

  [UI]
  * The growl notification on the Desktop top-right corner can be disabled in Preferences/UI.
    在【使用篇好/界面】中可以停止在桌面的右上角显示提醒。

  [Game Engine]
  * The code bases for Windows XP and non-Windows XP are merged.
    vnrhookxp.dll is removed, and will no longer be recognized as virus.
    In the old version of VNR, the translated games were much more likely to crash on WinXP comparing to non-WinXP.
    And PPSSPP game engines did not work on Windows XP.
    Now, there should be no much difference between WinXP and non-XP. Game engines on Windows XP should be as stable as non-XP.
    And translation support for PPSSPP games also works on Windows XP now.

  * Fixed the issue that the game might crash on Wine when VNR is closed.

  * Properly handle UNC path when the game is launched from a remote network drive.

  [Embed Translation]
  * Fix a bug that name translation might not work when enabled.
    Thanks for @mireado sama's report!
    修正了一个内嵌姓名翻译有时会失效的bug。

  * Automatically-generated ruby for yomigana also works for certain game engines that supports Ruby.

        http://i.imgur.com/L9u4JUe.png

    部分游戏的内嵌翻译也会支持姓名罗马字注音的Ruby。
    截图在上边。"Taiyo" 是 "太陽=たいよう" 的读法词条生成的罗马字。

    btw., if you can read Hiragana, it is always recommended to use Yomigana instead of Name rules to define translation for Japanese names
    in the Shared Dictionary.
    Yomigana is shared across languages and can really help reduce duplicates.
    And it usually has more information than direct language-specific name translation, and hence might enable more features in the future.

    btw., 关于共享辞书中的姓名和读法词条，如果你可以看懂日文的仮名，希望可以尽量用【读法】定义日文人名的翻译。
    读法词条在不同语言之间共享翻译，并可以减少不同语言之间重复定义。
    另外，读法词条通常比直接的日中姓名翻译包含更多的信息，可以提供比如罗马字Ruby这样的额外的功能。

7/11/2015 SAT
  [Embed Translation]
  * Add support for ShinaRio (ver >= 2.48) games.
    Tested working for 3rdEye games.

      ko: http://i.imgur.com/4CQtrye.png
      zh: http://i.imgur.com/tVe2gaO.png

    为最近的ShinaRio引擎的游戏添加了内嵌翻译的支持。截图在上边。

  [Yomigana]
  * For Korean translation of Japanese names, VNR can display the pronunciation of Hanja above Yomigana as ruby.
    This behavior is enabled by default, and can be disabled in Preferences/Shared Dictionary.
    For example:
    - Given 悠真 = ゆうま, VNR will display 유진 above 유우마 as 悠 is 유 and individual 真 is usually 진.
    - Given 蓮花 = れんふぁ that is also a Korean phrase, VNR will display 연화 above 렌파 as 蓮花 is 연화 in Korean,
      although 蓮 can also be 련 when used individually.
    This only applies to the Yomigana definition of Japanese names that consist of Hanja.
    If the automatically-generated ruby is inappropriate, you can manually define a ruby to override the default one.

  * 在日中日文时，对于通过読み仮名定义的姓名翻译，VNR增加了一个选项可以在翻译的上方显示日文原始的罗马字读音。

    比方说，给定：悠真 = ゆうま，那么VNR会在翻译中"悠真"的上方显示Yuuma。

    这个选项可以在【使用偏好/共享辞书】中开启。选项默认是关闭。
    这个功能也许仅对想学习日文的同学有一点点帮助。

    比方说，很多人知道堀江由衣，但是并不知道在日文里怎么读这个名字(Horie Yui)。
    在游戏中，有时也会无法把翻译的中文姓名与日文的读音对应。
    如果你在学习日语，这个功能也许可以对熟悉罗马字的发音有些帮助。

  * Fix a bug that displaying ruby in the translation might sometimes break layout.
    修正了显示翻译Ruby有时会造成排版错误的问题。

7/8/2015 WED
  [i18n](Korean, @mireado)
  * Update VNR's UI translation in Korean made by @mireado sensei.

7/7/2015 TUE
  [Embed Translation]
  * Add support for old QLiE games.

        http://sakuradite.com/upload/image/899.jpg

    为QLiE1引擎的游戏添加了内嵌翻译的支持。截图在上边。

7/5/2015 SUN
  [Embed Translation]
  * Add support for QLiE2 games.
    Tested working for recent Navel games.

        http://i.imgur.com/4FXZxek.png

    为QLiE2引擎的游戏添加了内嵌翻译的支持。截图在上边。

7/4/2015 SAT
  [Embed Translation]
  * Add support for WillPlus games.
    Tested working with Re:BIRTHDAY SONG 恋を唄う死神 and ゴールデンマリッジ.
    Scenario/Name/Choice texts can be translated.
    It also supports embedding ruby definition in the Shared Dictionary.
    VNR will also fix the game encoding issue so that text can display properly without additional locale switcher on Windows with Japanese locale.

      ko: http://i.imgur.com/i0nzBZt.png
      zh: http://i.imgur.com/3ycnXxN.png

    为WillPlus的游戏添加了内嵌翻译的支持。截图在上边。

  [Game Engine]
  * Update WillPlus engine to support extraction of character names.

7/3/2015 FRI
  [Shared Dictionary]
  * Warm up Shared Dictionary after a game is launched.

  [Embed Translation]
  * The transcoding option for Windows translation is slightly changed.
    If your translation's language is English, transcoding is not needed.
    If your translation's language is Korean, Chinese, or any language that has non-ASCII characters
    and the Windows text is not properly displayed, you can try enabling the transcoding option.

    VNR by default won't modify UTF-16 text.
    When transcoding is enabled, VNR will instead first encode UTF-16 text using the system encoding,
    and then decode it using Shift-JIS (i.e. "transcode" wide characters from system encoding to Japanese).
    It might help fix the encoding issue of windows text.

    The transcoding option for scenario/name/other text is removed as it could crash certain games.
    Please use locale switcher such as Locale Emulator instead of replying on embedding translation to fix non-Windows text encoding.

    如果窗口的文字出现乱码，你可以尝试在【使用偏好/内嵌翻译】中打开【转码】的选项。

  * Add an option in Preferences to change the default machine translator for scenario text.
    添加了一个可以修改用来翻译内嵌对话文本的翻译器的选项。

7/2/2015 THU
  [Embed Translation]
  * Make sure that game font for SiglusEngine games can always be changed.
    修正了SiglusEngine的游戏的字体有时无法改变的问题。

7/1/2015 WED
  [Embed Translation]
  * Add support for CMVS engine.
    Tested working with クロノクロック, ハピメア, and 未来ノスタルジア.

        http://i.imgur.com/koWX7V9.png

    为CMVS引擎的游戏添加了内嵌翻译的支持。截图在上边。

6/30/2015 TUE
  [Embed Translation]
  * Fixed a bug that might crash 「Angel Beats」.
    修正了一个可能让「Angel Beats」崩溃的bug。

  * Add support for Cotopha engine.
    Tested working with キスと魔王と紅茶 and お兄ちゃん、右手の使用を禁止します！

        http://i.imgur.com/kpktJ5U.png
        http://i.imgur.com/lUoh6Fa.png

    为Cotopha引擎的游戏添加了内嵌翻译的支持。截图在上边。

  [Game Engine]
  * Update Cotopha engine to support recent games.

6/29/2015 MON
  [Embed Translation]
  * VNR will embed ruby defined in the Shared Dictionary into the game if possible.
    This only works for game engines that support ruby, currently only Leaf and Debonosu games.
    如果游戏引擎支持，VNR会内嵌共享辞书中的Ruby定义到游戏。

  * Update Debonosu engine to support translating all texts in アヤカシ散華.
    修正了「アヤカシ散華」内部分文本无法翻译的问题。

  [Shared Dictionary]
  * Add a property to each rule to specify whether the rule should be applied only to translate window/name/scenario/other thread texts.

    For example, if there are repetitions only in the name text thread.
    Then we can create a game rule to eliminate repeats with context set to Name so that it only applies to the name thread.

    Another example: "ロード" appearing in the Window menu is more common to mean "Load" than "Road".
    Now we can now create a "ロード" = "load" definition and only applies it to translate Window texts.

    English machine translation tends to prepend "A" or "The" before the translation of individual items.
    But for Window texts, for example, it is more common to translate "ゲーム" to "Game" instead of "A game" or "The game".
    Now we can create an output rule to delete leading "A" and "The" for window text translation.

    添加了一个语境属性可以指定词条是否仅仅适用于窗口、对话、姓名和其他文本的翻译。

6/28/2015 SUN
  [Shared Dictionary]
  * Add a new ruby syntax for displaying translation above the translation.
    For example, given the following definition in the Shared Dictionary:
    - Type: Translation
    - Pattern: 雪
    - Translation: Yuki
    - Ruby: Snow
    Then, VNR will translate 雪 to Yuki, while displaying Snow above yuki.
    This might be helpful when you want to translate a word both by pronunciation and by meaning,
    when you can define Translation = pronunciation and Ruby = its literal meaning.

    Alternatively, the above definition is equivalent to the following rule:
    - Type: Translation
    - Pattern: 雪
    - Translation: [ruby=Snow]Yuki[/ruby]

    This syntax might be helpful if you want to define multiple ruby in the same rule. Here's another example:
    - Type: Translation
    - Pattern: 雪ノ花
    - Translation: [ruby=Snow]Yuki[/ruby] no [ruby=Flower]Hana[/ruby]

    If you are familiar with HTML, you can expect [ruby=Snow]Yuki[/ruby] to be transformed to <ruby><rt>Snow</rt><rb>Yuki</rb></ruby>,
    (although it is not what is actually happening under the water. And it won't work if you use <ruby> tag directly in translation.)

    Ruby definition is only allowed when the definition type is Translation, Name, Yomigana, Prefix, Suffix, or Output.

    If you feel Ruby annoying, you can always disable displaying ruby definitions in Preferences/ShareDictionary.

    This feature is requested by @mireado sama and thanks for this suggestion!

    对共享辞书的词条添加了一个Ruby的定义。Ruby的定义会显示在被定义翻译的上边。

    比方说，更定如下定义：
    - 类型: 姓名
    - 匹配: アイリス
    - 翻译: 鸢尾花
    - Ruby: Iris
    那么VNR会把"Iris"显示在"鸢尾花"的上方（好像HTML中<ruby>的语法）。

    另外，上边的定义和如下的语法是等价的：
    - 类型: 姓名
    - 匹配: アイリス
    - 翻译: [ruby=Iris]鸢尾花[/ruby]

    当前Ruby只对翻译、姓名、读法、前缀、后缀和输出词条是有效的。
    如果你不喜欢看到Ruby，可以在【使用偏好/共享辞书】中禁用。

6/26/2015 FRI
  [Embed Translation]
  * VNR will do word wrap to the inlined translation if the game engine supports new lines
    (currently Leaf and Circus) so that a word will not break at new lines for languages having spaces.
    For other engines, word wrap might only work if you manually enable and specify the Maximum Text Width
    in Preferences/Embed.

6/25/2015 THU
  [TAHScript](English, @riz)
  * Update TAH script for LEC.
    The scripts are from @errzotl sensei, and you can say thanks to him/her at TAHscript@outlook.com.

  [Embed Translation]
  * Fixed the issue that embedded Korean text might be retranslated for SiglusEngine games.
    Thanks for @mireado sama's report!

6/24/2015 WED
  [Embed Translation]
  * Restore the support to embed English translations for CIRCUS games.
    Tested working with DC3PP and 水夏弐律, where scenario/name/choice/backlog can be translated.
    It currently only supports English.
    Here's a sample screenshot:
        http://i.imgur.com/DS0hj4q.png

  * Add support to embed English translations for Leaf games.
    It currently only supports English.
    Here's a sample screenshot:
        http://i.imgur.com/gDXlgN3.png

  * Text Settings will display if the game supported embed translation is for English-only.
    Currently, embed support for Circus, Leaf, and System43 games is for English only.

    文本设定会显示内嵌翻译是否仅限英文。
    当前Leaf、Circus和System43的游戏的内嵌翻译仅限英文。

6/22/2015 MON
  [Embed Translation]
  * Update ARCGameEngine to support translating old Eushully game 神採りアルケミーマイスター.
    Here are some screenshots:

        http://i.imgur.com/eSUJaZT.png
        http://i.imgur.com/4WwfSjW.png

    Thanks for @Reality sama's report!

    修正了内嵌翻译无法应用于神采的问题。

6/21/2015 SUN
  [Embed Translation]
  * Add support to translate games with Retouch engine.
    Tested working with らぶらぶプリンセス and 箱庭ロジック.

        http://i.imgur.com/KH5zpr8.png

    为Retouch的游戏添加了内嵌翻译的支持。截图在上边。

  [Game Engine]
  * Update Retouch engine to properly handle ruby texts that are missing in the scenario thread.
    If you are playing Retouch games, you will have to manually re-adjust Text Settings.
    修正了Retouch的游戏中带Ruby的文字跑到对白thread外边的问题。
    如果你在玩Retouch的游戏，请重新调整下文本设定。

6/20/2015 SAT
  [Game Engine]
  * Add an alternative engine for games from でぼの巣製作所 to extract character name,
    which might be important for the automatic TTS feature.

  [Embed Translation]
  * For games from でぼの巣製作所, fix the inconsistent game locale code so that the game can run
    on non-Japanese Windows with Japanese locale.

    I have an English version of Windows 7 that is switched to Japanese locale and UI.
    But to run Debonosu games, I still have to use Locale Emulator, etc. to launch the game even on Japanese locale.
    Now when embed translation is enabled on Japanese locale, Debonosu games will run properly without locale emulation.

    在已经转为日文区域的非日文Windows下启动「でぼの巣製作所」不再需要Locale Emulator等转码工具。

  * Update でぼの巣製作所 engine to translate most GDI+/Direct3D texts.
    Here are some screenshots from 神楽花莚譚:

    - ko: http://imgur.com/KLlV5vL,NCLE4OE,PkXwiB9,uspuxpb
    - zh: http://imgur.com/wm5GAtx,1nKZbEE,WhJuuKM

    几乎全部「でぼの巣製作所」最近的游戏内的文字都可以被翻译了。截图在上边。

  * Improve caching of Other thread translations to reduce possible slowdown caused by embedding Other thread translations,
    esp. for RPG games that might have a large number of Other thread texts.

6/19/2015 FRI
  [Embed Translation]
  * Add support to translate games from でぼの巣製作所.
    Test working for 神楽花莚譚 and 神楽道中記.

        http://i.imgur.com/oxLHPC2.png
        http://i.imgur.com/mXugkp2.png

    添加了内嵌翻译「でぼの巣製作所」的游戏的支持。截图在上边。

  [Game Engine]
  * Hook to GdipDrawString and GdipMeasureString functions for GDI+ games.
    These functions are discovered in Debonosu games. But I think they might also help other GDI+ games.

6/17/2015 WED
  [Game Engine]
  * Text extraction will be paused when either Control or Shift is pressed.
    按下Control或者Shift会暂停提取文本。

  * Add game engine for Silky's new games after leaving Elf.
    Comparing to GetGlyphOutlineA in old VNR, the new engine will not extract garbage configuration texts
    and does not have disordered name and scenario.

  [Embed Translation]
  * Add game engine for Silky's new games after leaving Elf.
    Scenario/Name/Choice texts can be translated.
    Test working with 根雪の幻影 and 堕ちていく新妻.

        http://i.imgur.com/CEnzaG8.jpg

    为Silky's离开Elf后的新游戏添加了游戏引擎。截图在上边。

6/16/2015 TUE
  [Game Engine]
  * Update SiglusEngine to extract text in 円交少女 without any garbage characters.
    Be careful that there will be several SigusEngine3/4 text threads and only ONE is correct.
    Thanks for @mireado sama's report!

    Although the game uses SiglusEngine, embed translation currently does not support 円交少女.
    Going to fix that soon.

    为「円交少女」添加了一个可以提取不带垃圾字符的文本的引擎。

6/13/2015 SAT
  [Embed Translation]
  * Update WolfRPG engine to translate most texts.

        http://i.imgur.com/4Ol75K9.png

    WolfRPG的游戏可以内嵌翻译几乎全部的文本。截图在上边。

    注：有些WolfRPG游戏默认的字体无法显示中文，需要在使用偏好中选定一个既支持中文，又支持日文的字体。
    比如像下边截图那样，设定Tahoma为字体才可以正常显示，因为Tahoma同时支持中文和日文。
    如果使用只包含中文的字体（如SimSun），那么文字会无法正常显示。
    - 正常显示(font family = Tahoma, 字符集 = 不修改): http://i.imgur.com/JP8RN65.png
    - 不正常(font family = SimSun, 字符集 = 简体中文): http://i.imgur.com/C0GkkXF.png

  [Shared Dictionary]
  * The location of the offline data of the Shared Dictionary is moved to Caches/Sync.

  [Network]
  * Improve the communication  mechanism to reduce the failure when fetching large amount of online data such as Share Dictionary and game database.

    In the old version of VNR, VNR's server will query the database and render the large response at runtime,
    which would drain lots of resources, and might cause VNR's server to be less responsive when busy.

    Now, VNR's server will cache the data in Shared Dictionary and Game Database every day (on 4:00am Japan Standard Time).
    Then, VNR will first fetch the old cached static data, and then query incremental changes in the database made within 1 day.
    This will save lots of server resources because serving static data files cost very low memory/CPU and does not require database access.
    And even when the SQL database is busy, users are guaranteed to get the data updated one day ago.

    I am going to shutdown the online services for runtime queries of very large amount of data of Shared Dictionary
    and Game Database at the end of this month, after most users have updated VNR at least to this version.
    After that, I would expect VNR's server to have less busy time.
    But the older versions of VNR will be broken and no longer able to update Game Database and Shared Dictionary after this month.

    Currently, large numbers of user-shared comments/subtitles are still rendered at runtime, and downloading them could still fail when VNR's server is busy.
    I am going to implement the similar caching mechanism to comments/subtitles later to solve this problem.

    改进了VNR在下载共享辞书、游戏数据库时的方式。
    新的通信方式可以大量节省VNR服务器的资源，即使重置数据重新更新，也不那么容失败了。
    但是，在大部分用户还没有更新到这版的VNR之前，VNR的服务器在周末可能还是会很忙。
    我打算在这个月底左右，关闭旧的更新方式。之后服务器就不会那么忙了，但是届时这个版本以前的老的VNR也就不能正常使用了。

6/12/2015 FRI
  [Game Engine]
  * Add hooks to CharNextA/CharNextW for unknown game engines.

  [Embed Translation]
  * Fixed a bug that might hang WolfRPG games when Korean translation was embedded.

6/11/2015 THU
  [Embed Translation]
  * Add support for games developed with Wolf RPG.
    Here are some screenshots from DRAGON SLAVE:

      http://i.imgur.com/wKb7Ova.png
      http://i.imgur.com/XcXtSYT.png
      http://i.imgur.com/2yg4qLu.png
      http://i.imgur.com/VjYOEPj.png

    为WolfRPG的游戏添加了内嵌翻译的支持。截图在上边。

6/9/2015 TUE
  [Embed Translation]
  * Add support for games developed with RPGツクールVX ACE RTP v3.
    Here are some screenshots:
      (魔鎧の少女騎士エルトリンデ)
      http://i.imgur.com/g1rPMgA.png
      http://i.imgur.com/VDxFrso.png
      http://i.imgur.com/tcLTNw6.png
      http://i.imgur.com/wlIa9sn.png

      (Mogeko Castle)
      http://i.imgur.com/r1fuHPJ.png
      http://i.imgur.com/e3QiTwQ.png
      http://i.imgur.com/TEblPCi.png

    为RPGツクールVX ACE RTP v3的游戏添加了内嵌翻译的支持。截图在上边。

6/7/2015 SUN
  [Embed Translation]
  * For ソフトハウスキャラ games, make sure the embed text is always outlined so that it is easier to read.

        http://i.imgur.com/7rnPIET.png

    修正了ソフトハウスキャラ的游戏有时内嵌文本字体没有被outline的问题。上边是截图。

6/6/2015 SAT
  [Embed Translation]
  * Restore the support for Elf/Mink games.
    Test working with 愛姉妹4, 麻呂の患者はガテン系, and SEXティーチャー剛史, where name/dialog/choice texts can be translated.
    Here are some screenshots:

    - en: http://i.imgur.com/crBqxtk.png
    - ko: http://i.imgur.com/Q9W8yAa.png
    - zh: http://i.imgur.com/3OxjgWd.png

    恢复了对Elf和Mink社游戏内嵌翻译的支持。上边是一些截图。

  * Add support to translate name/scenario/choice for games from ソフトハウスキャラ.
    Test working with BUNNYBLACK, アウトベジタブルズ, and 悪魔娘の看板料理.
    Here are some screenshots:
        http://i.imgur.com/AVh0EnP.png
        http://i.imgur.com/F75dGuk.png
        http://i.imgur.com/0iNKRXe.png

    添加了内嵌翻译到ソフトハウスキャラ社游戏的支持。

  * VNR will display if a game engine supports embedding translation in Text Settings.
    For all existing embed engines: System43 supports only English, while any other engines support English/Chinese/Korean on
    Windows Vista or above.

    Support for Windows XP and languages other than English/Chinese/Korean are NOT well-tested, which might or might not work
    properly depending on whether the game font for the embedded character set can be properly customized.

    如果一个游戏支持内嵌翻译，【文本设定】中会显示【支持内嵌】。
    当前支持内嵌的游戏引擎中，只有System43不支持中文；其他的引擎都可以内嵌中文。

6/5/2015 FRI
  [Yomigana]
  * The default romanization standard for Japanese name is slightly changed to be consistent with Wikipedia.
    Additionally, I added an option to Preferences/Translation to toggle whether display macron for Japanese
    names, which is enabled by default.

    Personally, I feel macron is ugly, but it might contain more information.
    If you don't like having macron displayed, you can always disable it in Preferences/Translation.

    Here are some example romaji for Japanese names when macron is enabled (first) or disabled (second):
    - 佐藤(さとう) = Satō, Satou
    - 佐藤(さとー) = Satō, Sato
    - 佐藤院(さとういん) = Satōin, Satoin
    - 曹操(そうそう) = Sōsō, Soso
    - 曹操(そーそー) = Sōsō, Soso
    - 龍神(りゅうじん) = Ryūjin, Ryujin
    - かーくん = Kākun, Kakun

    For the yomigana definitions in the Shared Dictionary, only hiragana will have macron added, and katakana won't.
    For example: さとう will be translated to Satō, while サトウ will still be translated to Satou.
    The reasons behind this behavior are:
    1. Hiragana is usually used for Japanese names, while katakana for English names. And macron does not exist in English.
    2. You can use katakana definition to always disable macron.

  [Embed Translation]
  * Restore the support for all BGI games.
    Tested working with 世界征服彼女, 世界と世界の真ん中で, 恋想リレーション, and ピュア×コネクト.
    Scenario, name, and choice texts can be translated.
    Here are some screenshots from ピュア×コネクト:
    - Korean
        http://i.imgur.com/Hys4wRh.png
        http://i.imgur.com/Q0gApLu.png
        http://i.imgur.com/N365rDE.png
    - Chinese
        http://i.imgur.com/78ASEUC.png
        http://i.imgur.com/nXuERbQ.png

    恢复了内嵌翻译到BGI游戏的支持。
    全部BGI游戏都可以支持才是。对话、姓名、和選択肢都可以翻译。上边是截图。

  [Game Engine]
  * Hook to more GDI functions below:
    - GetCharABCWidthsFloat
    - GetCharWidth32
    - GetCharWidthFloat
    - GetCharacterPlacement
    - GetGlyphIndices
    - GetTabbedTextExtent

6/4/2015 THU
  [Game Engine]
  * Add general hooks to GetTextExtentExPointA/W functions in GDI32.

  [Embed Translation]
  * Update Enshully engine to support embedding all languages.
    Here are some screenshots:
    - Korean
        http://i.imgur.com/wI2bv19.png
        http://i.imgur.com/H8YnZHi.png
        http://i.imgur.com/S7B5xqx.png
    - Chinese
        http://i.imgur.com/JriS8jT.png
        http://i.imgur.com/DJ4ye5p.png
        http://i.imgur.com/dFCPHb5.png
        http://i.imgur.com/BRxxAzj.png

    Eshully的游戏支持内嵌中文翻译了。上边是一些截图。
    下边是一些related的注意事项。

    - 要开启内嵌翻译，直接在【使用偏好/内嵌翻译】里选择打开就好了。所有设定保持默认就好了。

    - 打开内嵌翻译后，VNR会自动删掉Eshully游戏内产生弹窗的函数。游戏不会产出任何弹窗才是。

    - 打开内嵌翻译后，【文本设定】会变成只读的。
      内嵌翻译的过程可以完全自动化，并不需要手动调整文本设定。文本设定仅供debug用。

    - 要开启内嵌翻译，非常建议至少安装一个离线的日中翻译工具。
      如果只使用在线的翻译器如百度，游戏可能会会卡卡的。
      如果你同时打开百度和J北京，那么J北京的翻译会被内嵌，而百度的翻译会和以前一样外挂到游戏。

    - VNR默认会尽力去内嵌人工翻译，比如第一章截图就是。
      但是，如果游戏文本包含ruby，由于技术困难就没有办法内嵌人工翻译了。

    - 如果你只想看到内嵌翻译，而不想看到外挂翻译，那么在左边的dock里，关闭游戏文本、姓名和翻译就好了。

  * Update Eushully engine that its global font can be changed.
    Here are some screenshots for embedding Vietnamese with customized font (family = Tahoma, weight = Ultralight):

        http://i.imgur.com/zwSFlC4.png
        http://i.imgur.com/LicFTRe.png

    btw, regarding the embedded font settings, it might be different for different OSes/languages/games.
    Here are some observations I found mostly from 神のラプソディ and AngleBeats, which might be served as a reference for other games.

    + Changing font might have not effect, and might require restarting the game, depending on the game.
      For example:
      - Changing font for AngelBeats requires restarting the game.
      - Changing font for 神のラプソディ does not require restarting the game
      - Changing font for System43 currently has no effect

    + If the translation is English, you might always want to DISABLE font customization.
      There is no need to change font family or charset to embed English translation in most cases.
      But if the font is too fat, you could try reducing its scale and weight (such as changing weight to Ultralight).

    + If the translation is in Chinese or Korean
      - If the OS is Japanese and >= Windows Vista
        Usually, the font don't have to be changed.
        But we might need to adjust space settings manually.

      - If the OS is Windows XP or not Japanese
        Usually, the font family or charset has to be changed to the one that support both Japanese and the target language.

    + If the translation is not in English, Chinese, and Korean
      Usually, the font has to be changed to the one that support both Japanese and the target language.

    Again to Vietnamese users, as far as I known, JBeijing/FastAIT+HanViet is currently the only way to have offline Japanese-Vietnamese translation.
    If you want to embed Vietnamese translation, I strongly recommend you to unban Chinese in Preferences/i18n, and manually get JBeijing installed.
    Otherwise, if you rely on online translators like Excite instead of the offline ones, it could significantly slowdown the game.

    修正了Eushully的游戏自定义字体无效的问题。

6/3/2015 WED
  [JBeijing](Chinese, @djz020815)
  * 更新了djz大先生的J北京词库。

  [Embed Translation]
  * VNR will automatically disable any msgbox-like popups for Eushully games.

  * Update Eushully engine to support translating some in-game texts.
    Here are some screenshots:
      神のラプソディ
        http://i.imgur.com/4JV3bEc.png
        http://i.imgur.com/Fk52rvI.png
        http://i.imgur.com/QVrFpOa.png
      魔導巧殻
        http://i.imgur.com/ceWWhvF.png
        http://i.imgur.com/3HK0eKJ.png
        http://i.imgur.com/Dtr3u2w.png
      創刻のアテリアル
        http://i.imgur.com/OmW4ef0.png
        http://i.imgur.com/M37LyX9.png

6/2/2015 TUE
  [Embed Translation]
  * Restore the support for embedding translation for Eushully games.
    A screenshot of 神のラプソディ is as follows:

      http://i.imgur.com/7sWgSfr.png

    Known issues:
    1. It currently only supports embedding English translation
    2. Translation could go out of screen if being too long (since English is usually much more verbose than CJK languages)
    3. For Eushully games, when there are Ruby in the text, it will be broken into pieces, which will significantly downgrade
       machine translation quality because the sentence structure of Japanese and English is so different.
       I am going to check if it is possible to totally disable Eushully ruby in the future.

    Because of 2. and 3., I would suggest to turn on both embed and external subtitles at the same time.
    When the embed translation is too long or broken into pieces, you can check the external subtitle instead.

    btw, I recently changed the underlying hook implementation, and all previous embedded game engines were broken as the result.
    Currently, only SiglusEngine, System43, and Eushully(ARCGameEngine) support embedding translation.
    And only UTF16 engines support embedding all languages. SHIFT-JIS engines currently only support English.
    I will restore the support for other previous embed engines later, such as BGI, Circus, Elf, and Majiro.

6/1/2015 MON
  [Embed Translation]
  * Fix the issue that customized font with non-ascii family name might not work.
    Thanks for @mireado sama's report!

  * Fixed a bug in SiglusEngine that sometimes choice text is not translated.
    Thanks for @mireado sama's report!

  * Add options to adjust font size and weight.
    But depending on the game engine, the font settings might or might not work.
    Currently, it works for SiglusEngine, but has no effect to System43.

5/31/2015 SUN
  [TAHScript](English, @riz)
  * Update TAH script for LEC/ATLAS.
    The scripts are from @errzotl sensei, and you can say thanks to him/her at TAHscript@outlook.com.

  [Yomigana]
  * Fixed a issue that text might go out-of-screen when ruby is displayed below instead of above kanji.
    Thanks for @Onurtag sama's report!

  [Embed Translation]
  * Modify the System43 engine to support other AliceSoft games to embed English translation.
    Tested working with ランス9 and 武想少女隊.
    However, since English is usually more verbose than Japanese, the text might sometimes go out of screen.
    Here are some screenshots:

        http://i.imgur.com/vUxx9o0.png
        http://i.imgur.com/KhkOBCf.png
        http://i.imgur.com/E6R1GW2.png
        http://i.imgur.com/HCWdxuc.png

  * Add an option to limit the maximum scenario text width by inserting new lines so that it won't go out of screen.
    This option only works if "\n" can be interpreted as new lines in a game.
    It currently does not work for System43 where \n has no effect.

  * Update SiglusEngine to support translating choices and names for AngelBeats as well.
    Here's a screenshot:

        http://i.imgur.com/ZOFpgsN.png

    AngelBeats可以翻译姓名和选项了。截图如上。

5/30/2015 SAT
  [Embed Translation]
  * Add embed translation support for Evenicle.
    Currently, it only supports English, and might not work for other System43 games.
    Scenario/name threads, windows texts, and some in-game texts can be translated.
    Here are some screenshots:

      AVG part: http://i.imgur.com/aIM4dWN.png
      RPG part: http://i.imgur.com/1HIIwSR.png

    Note that the Text Settings for embedding translation is changed to be read-only and left only for debugging purposes.
    Since everything can be automated to embed translation, there is no need for manually adjusting Text Settings.

5/25/2015 MON
  [Game Engine]
  * System43+ engine is slightly modified to get rid of illegal characters from the text.
    But you will have to re-adjust Text Settings if you are using System43+.
    如果你在用System43+的文本，请重新调整下文本设定。

5/24/2015 SUN
  [Embed Translation]
  * Game is no longer required to be launched with AppLocale.
    There are no longer any requirements for launching the game to embed translation.
    But if the game is launched in Japanese locale, you might need to select a different font that support
    the character set of the embedded translation in Preferences/Embed.
    Tested working on Windows XP and Wine now.

    内嵌翻译不再需要用AppLocale运行游戏。
    如果游戏在日文环境中打开，那么会需要在【使用偏好/内嵌翻译】中修改游戏字体的编码为中文。
    另外，内嵌翻译可以在Windows XP和Wine上正常运行了。

  * Embedding translation is now working for all languages.
    Here's a screenshot for AngelBeats with JBeijing+HanViet offline Vietnamese translation embedded:

       http://i.imgur.com/ZjDpVkJ.png

    To display non-English language properly, it is critical to select a proper font.
    You might have to tune the font and space settings a little bit in Preferences/Embed.
    Changing font family might require restarting the game, which is currently painful to tune though.

    The best font should ideally support both the character sets of Japanese and the target language (such as Vietnamese),
    which, however, might not exist in Windows's default fonts.
    For example, to display Japanese-Vietnamese properly, I used SimSun (仿宋), which is indeed a Chinese font.

    If you don't want to manually specify the font, you can also enforce the character set of the font, and let Windows to
    automatically pick one for you.
    Here's a screenshot for embedded Thai translation from Bing without explicit font selection:

       http://i.imgur.com/itNhEeB.png

    There are weird spaces in the middle though, as I don't have a proper Thai font installed in my Japanese Windows.

5/23/2015 SAT
  [Game Engine]
  * Add Bootup engine for games containing Bootup.dat in the game folder.
    Tested working with 仏蘭西少女, 三国恋戦記, 神学校, and 絶対階級学園 from PIL/Daisy^2.
    为一些PIL和Daisy^2的游戏添加了提取文本的支持。

  [Embed Translation]
  * Create multiple communication channels so that concurrent translation requests won't hang the game.
    There should be no more hanging problem with user-shared subtitles or offline machine translation.

  * You can press SHIFT or CTRL to temporarily pause embedding translation.
    按下Shift或者Ctrl可以暂停内嵌翻译。

  * Add an option to change game's default font.
    If game's default font cannot properly display the characters of the embedded language, you can change it to another font.

    Note: If you want to select VNR's fonts in Library/Fonts as game's font (such as Nanum Barun Gothic),
    you have to manually install that font file in Library/Fonts to your $windir/Fonts directory first.

    添加了一个修改内嵌字体的选项。
    如果游戏默认的字体无法正常显示中文，可以用这个选项来强迫更换字体。

5/22/2015 FRI
  [Embed Translation]
  * Add an option to insert spaces between text to fix the text overlapping issue.
    Depending on different OSes/Locales/Languages/Fonts of the host system, sometimes certain
    characters might overlap with each other.

    When all characters overlap like the following one, it can be fixed by turning on the
    Insert Spaces After Every Character option.
        http://i.imgur.com/mUXTk6w.png

    When only a few characters overlap like the following one (覚 and め overlapped), it can be
    fixed by turning on the Insert Spaces Only Between Overlapped Characters option.
        http://i.imgur.com/m5MZDfk.png

  * Fixed the jittering issue.

    I removed the "alpha" tag for embed translation, as I feel it has no critical issues now (at least for SiglusEngine).
    Feel free to give it a try if you are speaking English/Chinese/Korean and NOT using Windows XP.
    More details could be found here: http://sakuradite.com/wiki/en/VNR/Embedded_Translation

    There are two issues left though that I am going to work on later:
    - Support changing game's fonts
      Currently, embedded non-Japanese characters might or might not be rendered well on Windows XP, because it's system
      default fonts do not support a wide range of character sets.
      Changing game default font might help fix this issue.

    - Support translating choices and other texts, which might be important esp to RPG games.

    Here are some related hints that might be helpful:
    - Even if embedded translation is enabled, VNR will still display external subtitles.
      If you want to disable external subtitles, just toggle off Text, Name, and Translation in the left option dock.
      And automatic TTS will not get affected by whether displaying subtitles or not.

    - Machine translation quality is usually not good for non CJK languages
      Both translation and original text can be displayed together by toggling Preferences/Embed
      in case the machine translation does not make sense.

    - To turn on Embed Translation, I strongly recommend to have at least one offline machine translator installed.
      Otherwise, the latency of online translation might cause game to get jittered and slowdown.

    修正了内嵌翻译会卡住的问题。

    我觉得内嵌翻译的功能已经没有什么大问题了。
    如果你没有在用Windows XP，那么也许可以尝试下打开这个机能。

    下边是关于这个功能的一些简单介绍。一些细节可以在这里找到：http://sakuradite.com/wiki/zh/VNR/内嵌翻译

    所谓内嵌翻译，其实就是把游戏中日文的文本用中文的人工或者机器翻译直接替换掉。
    不过当前，只有很少一部分游戏的对话可以被替换，游戏选项等文本和大部分游戏都不支持的。
    在只有SiglusEngine的游戏有很好的测试过，其他的支持内嵌的引擎（比如Eushully）我还没有测试。

    另外，内嵌的文字在日文的Windows XP上，可能无法正常显示，会变成点状乱码。
    我只有日文的Windows XP，没有中文的Windows XP，不清楚内嵌翻译在中文Windows XP上是否可以正常工作（估计不能）。
    在Windows Vista以上的操作系统没有这个问题。

    开启这个技能的方法如下：
    1. 在【使用偏好/内嵌翻译】中打开内嵌的选项
    2. a. 如果你在使用日文的Windows，那么在Spring Board中点击【编辑】，修改游戏的启动方式为AppLocale，并改区域为中文。
       b. 如果你在使用中文的Windows，那么在Spring Board中点击【编辑】，修改游戏的启动方式为禁止转区。
       推荐使用a方法，因为b方法很多游戏如果不转区根本不能启动。

    一些用处不大的tip：
    - 即使打开内嵌翻译，VNR默认还是会渲染外挂字幕。
      如果你只希望看到内嵌而不像看到外挂字幕，可以在左边的选项里关闭游戏文本、姓名文本、机器翻译、人工字幕四个就好了。
      另外，自动语音合成不会因为关闭外挂字幕而受到影响。

    - 由于机器翻译的准确度不高，你也可以在【使用偏好/内嵌翻译】里设定同时显示日文原文和中文翻译。

    - 如果要使用内嵌翻译，强烈推荐至少安装可开启一个离线的日中翻译器。
      由于在线翻译（比如百度）的延时，可能会然游戏一卡一卡的。
      如果你一定要用比如百度，那么可能会需要在【使用偏好/内嵌翻译】里增加最大翻译延时。

    - 如果你在使用正体中文，那么最好在【使用偏好/翻译/中文】中打开强制将简体字幕转换为正体中文的选项。

5/21/2015 THU
  [Yomigana]
  * The option to display ruby below instead of above kanji is restored in Preferences.
    A screenshot is as follows:

        http://i.imgur.com/L4Wkbp2.png

    恢复了上下颠倒振仮名的使用偏好的选项。
    截图在上边。

  [Fonts](Korean)
  * UI font changed to "Nanum Barun Gothic" when UI language in Preferences is Korean.

  [Embed Translation]
  * Add option in to display both original Japanese text and translation in separate lines.
    When enabled, the translation will be appended after Japanese, instead of replacing Japanese.
    Here's an example: http://i.imgur.com/u6uFyHu.png

5/20/2015 WED
  [Name Detection]
  * To be aware of more quotes while guessing speaker's name of a sentence.
    In the old version, VNR was only aware of 【】 and 「」.
    Now, the following pairs of quotes are added:
    - 「」
    - 『』
    - 《》
    - （）
    - ()
    - ＜＞
    - <>
    - 〝〟
    - “” (full-width)
    - ‘’ (full-width)

    Some features that get affected because of this:
    - Name guess accuracy for automatic Text-to-speech is improved
    - User-shared subtitle/danmaku matching accuracy is better
    - Sentence split for machine translation is slightly changed to be aware of quotes

    For example, given the following Japanese sentence:
        爽（悠真くんを攻略すれば２１０円か）
    It will be split into:
        爽, （, 悠真くんを攻略すれば２１０円から, ）

    However, the following two Japanese sentences will NOT get split by VNR.
        爽（悠真くんを攻略すれば２１０円か）なるほどなぁ
        悠真くんを攻略すれば２１００００円か（なるほどなぁ）
    Because VNR will think （） here are not sentence deliminators.
    - For the first sentence, it does not end with "）".
    - For the second sentence, the text before "（" is too long to be a Japanese name.

    改善了从日文文本中猜测姓名时，对各种引号的处理。

  * The assigned name for TTS is slightly changed when VNR failed to guess speaker's name.
    For example, given three sentences below.
    The assigned name for the first sentence will be "Aside", and that for the last two sentences
    will be "Unknown". Though being unknown, you can now select voices for unknown characters.

        悠真くんを攻略すれば２１０円か     -- aside
        「悠真くんを攻略すれば２１０円か」 -- unknown
        （悠真くんを攻略すれば２１０円か） -- unknown

    稍稍修改了下TTS配音时识别人物姓名失败时的行为。
    比方说，给定上边的三句话。
    那么第一句话的人名会被识别为“旁白”，而第二和第三句话为“未知”。

  [Shared Dictionary UI]
  * If you have either KanjiDic or Radical dictionary enabled in Preferences, VNR will display the
    decomposed radicals and translations of all kanji in the pattern (such as Japanese names).
    It might be helpful for learning CJK hanzi.

  [Embed Translation]
  * Update SigusEngine to support embedding translation for AngelBeats.
    Some screenshots are as follows:

      http://sakuradite.com/images/screenshots/angelbeats_ko.jpg (Korean translation made by created by @mireado)
      http://sakuradite.com/images/screenshots/angelbeats_zh.jpg (Chinese translation made by @直入哑然)

    The encoding issue for CJK is fixed for SiglusEngine. It might still not work for other languages/engines though.

    Some known issues:

    + When embedded translation is enabled, the game might periodically get jittered/hanged, which is very annoying.
      This jittering problem is very very very annoying.
      I am going to try to fix this problem soon.

    + Encoding issue for non-English languages
      - Chinese and Korean
        The game must be launched in Chinese/Korean locales instead of Japanese.
        This can be done by either using AppLocale to launch AngelBeats in Chinese/Korean locale on Japanese Windows,
        or switching Windows locale directly to Chinese/Korean.

      - Traditional Chinese
        When the game is launched in Traditional Chinese locale, the option of Traditional Chinese variants in
        Preferences/Translation/Chinese must be enabled.

      - Other languages
        I didn't test support for other languages myself. It might or might not work.

    + While choices can be translated, there is currently no way to add manual translation for choices.
      Only machine translations will be used.

    我在尝试改善对AngelBeats嵌入翻译的支持。
    现在还有一些问题，等改好了再说吧。

5/18/2015 MON
  [Shared Dictionary]
  * Output rules can have grammatic roles in it.
    For example, given two definitions:

    1. 悠真 => Yuuma, type = translation, role = m
    2. University of [[m]] => [[m]] University, type = output

    It will transform "University of Yuuma" to "Yuuma University".

    However, the "Role" column of an Output definition itself is currently unused.

  (Korean)
  * The roles of noun(n)/name(m) for Korean translation will be automatically changed to reflect
    the final hangul character of the last syllable.

    For example, given a name definition 悠真 = 유우마 with role = m, VNR will replace m by m$o,
    where $o indicates "유우마" ends with a vowel (ㅏ).
    Similarly, given a suffix definition 君 = 군 with role = m, VNR will replace m by m$x$n,
    where $x means "군" ends with a consonant, and $n means that consonant is ㄴ.

    Additionally, "$" is similar to "_" that implies the inheritance relation.
    For example, m$x$n inherits all rules for [[m]] and [[m$x]].

    Here are some output definitions that might illustrate the usage of this syntax:
    - [[m$x]]를 => [[]]을
      It will replace 를 after all names ([[m]]) ending with a consonant by 을.
    - [[m$o]]을 => [[]]를
      It will replace 을 after all names ([[m]]) ending with a vowel by 를.
    - [[m$x$l]]로 => [[]]으로
      It will replace 로 after all names ([[m]]) ending with ㄹ by 으로.
    - [[m$x,n$x]]를 => [[]]을
      It will replace 를 after both name (m) and noun (n) ending with a consonant by 을.

    A list of $ suffices that will be automatically added to n/m are as follows:
    - $o: the last hangul character ends with a vowel
    - $x: the last hangul character ends with a consonant
    - $x$g:  ᆨ
    - $x$gg: ᆩ
    - $x$gs: ᆪ
    - $x$n:  ᆫ
    - $x$nj: ᆬ
    - $x$nh: ᆭ
    - $x$d:  ᆮ
    - $x$l:  ᆯ
    - $x$lg: ᆰ
    - $x$lm: ᆱ
    - $x$lb: ᆲ
    - $x$ls: ᆳ
    - $x$lt: ᆴ
    - $x$lp: ᆵ
    - $x$lh: ᆶ
    - $x$m:  ᆷ
    - $x$b:  ᆸ
    - $x$bs: ᆹ
    - $x$s:  ᆺ
    - $x$ss: ᆻ
    - $x$ng: ᆼ
    - $x$j:  ᆽ
    - $x$c:  ᆾ
    - $x$k:  ᆿ
    - $x$t:  ᇀ
    - $x$p:  ᇁ
    - $x$h:  ᇂ

    Special thanks for @mireado sama's extensive help and ideas on this topic!

5/17/2015 SUN
  [Shared Dictionary]
  * Add some kind of implicit inheritance to the grammar roles.
    Given two rules, say, "abc" and "abc_de", then "abc_de" will automatic inherit all patterns of "abc".
    Basically, the role whose name like "baserole_somevariant" with a "_" in the middle will always inherit "baserole".
    Similarly, "a_b_c_1_2" will inherit "a", "a_b", "a_b_c", and "a_b_c_1" as well.
    This behavior is designed in order to solve Korean post-positioned particle problem, but might help other languages as well.
    For example, "adj_to" and "adj_na" will automatically inherit "adj".

    And here's what I mean by "inheritance", given two rules for example:
    #1 pattern = "兎", translation = "Rabbit", role = m_animal
    #2 pattern = "[[m]]さん", translation = "[[m]]-san", role = m
    Because m_animal can inherit m, "兎さん" will be translated to "Rabbit-san".
    i.e. #1's role m_animal will match #2's "[[m]]さん".

    Additionally, such inheritance relation is Partially Ordered.
    For example:
    #1 pattern = "兎", translation = "Rabbit", role = m
    #2 pattern = "[[m_animal]]さん", translation = "[[m_animal]]-san", role = m
    Then, "兎さん" will only be translated to "Rabbitさん" instead of "Rabbit-san".
    Because m will NOT inherit m_animal.

  (Korean)
  * Insert a space between name and suffix for Korean.
    For example: "悠真くん" will be translated to "유마 군" instead of "유마군".

5/16/2015 SAT
  [TAHScript](English, @riz)
  * Update TAH script for LEC/ATLAS.
    The scripts are from @errzotl sensei, and you can say thanks to him/her at TAHscript@outlook.com.

  [Text Settings]
  * Fixed a bug that selected Other Threads were not saved.
    Thanks for @mireado sama's report!
    修正了文本设定中的【其他】文本没有保存的bug。

  [Game Engine]
  * When Text Settings window is visible, VNR will always inject built-in engines, no matter H-code is set or not.
    When there is H-code available, VNR will not inject game engines unless H-code is deleted or Text Settings is opened.
    I am worried a wrong H-code might prevent VNR from injecting, and hence changed to this way.
    当文本设定的窗口打开时，不论是否有特殊码，VNR都会注入游戏引擎的。
    这样是为了防止错误的特殊码让VNR的游戏引擎失效。

  [Fonts](Korean)
  * VNR by default uses DFGirl (a multilingual lolita font) to render Korean texts.
    @mireado requested changing it to Nanum Barun Gothic, which is a free web font family made by Naver.com.
    Unlike Hanazono font (花園明朝), Nanum font is not required by VNR to work normally at all.
    But Korean texts might look better after switching to this font.

    VNR can automatically download NanumBarunGothic in Preferences/Downloads/Fonts.
    And the Font for Korean can be changed at Preferences/Fonts.
    Alternatively, you can get NanumBarunGothic manually in the following location:
        https://github.com/hiun/NanumBarunGothic
    And here's the set of all Nanum fonts:
        http://hangeul.naver.com/2014/nanum

5/14/2015 THU
  [Yomigana](Korean)
  * "っ" is handled slight differently while converting to hangul as requested by @mireado.
    For example: ゆりっぺ will now be translated to 유릿페 instead of 유맆페 in old VNR.
    When "っ" cannot be patched to the previous hangul character, it will be replaced by "ㅅ".
    For example: って => ㅅ테 and ゆりっっぺ => 유릿ㅅ페

  [Game Launch]
  * When VNR is not launched as Administrator, it will always force launching games as non-administrator,
    even if the game itself requires Administrator privileges.
    This applies to launching games with or without launchers like AppLocale, but except LocaleSwitch.
    It might or might not work for all games that require admin privileges though.
    当VNR不是以管理员身份启动时，会强制用非管理员的身份启动游戏。
    即使游戏本身需要管理员权限，VNR仍旧会无视权限，而以非管理员的身份强迫游戏启动。

  [Game Engine]
  * Update RealLive engine to support new games from 裸足少女.
    添加了对裸足少女社游戏提取文本的支持。

  * Fix the issue that BALDRSKY ZERO games might be spammed by mono_string functions.

  * If there are user-defined H-code for a game, VNR will not hook to any places other than the one defined by that H-code.
    VNR's entire built-in hooks/engines will not be injected when H-code is available.
    This will avoid potential issues caused by Lstr functions and outdated built-in game engines.
    当用户自定义的特殊码存在时，VNR就不会去hook游戏的其他地方了。

  btw., I noticed that text extraction is totally broken for certain games (such as ショコラ) on Windows 10.
  I haven't figured out the reason yet. But if you find other games not working only on win10, just let me know!
  btw., 注意到在win10上VNR无法从部分游戏（比如：ショコラ）提取文本了。
  如果你有发现其他游戏只在win10有无法提取文本的问题，可以让我知道！

5/12/2015 TUE
  [Game Engine]
  * Add an alternative hook for イブニクル.
    Unlike the old System43 hook, the new one has no garbage threads and can extract
    character names, which might be helpful for VNR's automatic TTS function.

5/9/2015 SAT
  [Shared Dictionary](Chinese)
  * 对于带正则表达式的读法词条，转换为中文时词首和词尾的括号和问号会被删掉。
    比方说：
    - "愛(?!情)" 会被转换为 "愛"
    - "愛{{bos}}" 会被转换为 "愛"
    - "愛(情)?" 会被转换为 "愛"
    - 然而，"愛(情)?君" 不会被转换为 "愛君"，因为括号不在句首、句尾。

  [Dictionary]
  * Add options to lookup KanjiDic in French, Spanish, and Portuguese.

5/8/2015 FRI
  [Game Engine]
  * Add text detection support for イブニクル的 with AliceRunPatch.dll.
    为イブニクル的1.0.1版添加了提取文本的支持。

    btw, I am gradually moving game engines written in C to Python.
    This allows me to directly use regular expressions to search memory, which is so expressive and convenient.
    The instruction pattern for AliceRunPatch is just expressed in a simple regex instead of a while-loop in C.
    I am thinking maybe I can create another independent app for developers just for memory debugging with regex.
    Additionally, the current memory search implementation in ITH does not work well for emulators like PPSSPP
    with huge memory space, which is very slow, not scalable, and will crash in WinXP.
    Switching to Python to search outside of the game process will fix this issue.
    This will also allows me to scriptify game engines maybe in javascript and allows users to edit in the future,
    since altering engines does not require compilation like in C.

5/7/2015 THU
  [Dictionary]
  * Add an option to display decomposed radicals of kanji.
    For example, "香" can be split into "禾(grain)" and "日(sun/day)".

    To display the radical properly, additional Hanazono font (花園明朝) is needed to be
    installed in Preferences/Downloads.

    btw, I wrote a topic on how Chinese hanzi are being designed and combined, which might
    be helpful to understand how kanji are made from these decomposed radicals.

        http://sakuradite.com/topic/826

    添加了一个显示汉字偏旁部首的选项。
    如果你的中文超过了小学水平，那么无视这个选项好了。
    另外，在【使用偏好/下载】中添加了一个花園明朝的字体。
    这个字体主要是用来显示偏旁部首的，大家也无视好了。

  * Add an option to display individual kanji translation using KanjiDic.
    KanjiDic can be downloaded for free in Preferences/Downloads.
    When enabled, combining with radical dictionary, a kanji might be rendered like this:

       戦{war}: [単{simple}, 戈{spear}]

5/3/2015 SUN
  [i18n](Korean, @mireado)
  * Update VNR's UI translation in Korean made by @mireado sensei.

  [MeCab]
  * Add option to highlight Japanese phrases based on their grammatic roles.
    It is enabled by default, and can be turned off in Preferences/Translation/Dictionaries.
    A screenshot is as follows:

        http://sakuradite.com/images/screenshots/ex_role.png

    Here's the current set of grammar roles (if you click the role, VNR will popup explanation):
    - m: 名前, name, probably human's
    - mp: 地名, place name
    - n: 名詞, noun
    - pn: 代名詞, pronoun
    - v: 動詞, verb
    - a: 形状詞, stem of adjective/adverb
    - adn: 連体詞, adnominal
    - adj: 形容詞, adjective
    - adv: 副詞, adverb
    - p: 助詞, particle
    - aux: 助動詞, auxiliary verb
    - suf: 接尾辞, suffix
    - pref: 接頭辞, prefix
    - int: 感動詞, interjection
    - conj: 接続詞, conjunction
    - w: 記号, word in latin or other special characters
    - punct: 補助記号, punctuation
    - x: other common phrases

    And here's the current color theme:
    - noun-based phrase: green
    - verb-based phrase: purple
    - adjective-based phrase: yellow
    - name and pronoun: red
    - conjunction: blue
    Currently, I haven't added an interface to change these colors.

    添加了对日文词组做语法加亮和显示日文词性的选项。
    这个选项默认是打开的，在【使用偏好/翻译/辞书】中可以关闭。
    下边是截图：

        http://sakuradite.com/images/screenshots/ex_role.png

5/2/2015 SAT
  [Shared Dictionary](Russian, Ukrainian)
  * English name definitions will be converted to Russian/Ukrainian alphabet.
    For example, given a name definition ヘルマン => Helman in English, VNR
    will translate ヘルマン to Хелман in Russian and Гелман in Ukrainian instead.

  * Russian name definitions will be converted to Ukrainian alphabet.

  [Yomigana](Korean)
  * Properly handle "っ" while converting Japanese kana to Korean hangul.
    For example, ゆっき will now be converted to 윸키 instead of 유키.

5/1/2015 FRI
  [Yomigana](Greek)
  * Support generating translation from yomigana in Greek alphabet.

4/30/2015 THU
  [Dictionary]
  * Add an option in Preferences to use OVDP to provide English translation.
    OVDP (Open Vietnamese Dictionary Project) developed a set of open-source dictionaries for Vietnamese.
    Though originally for Vietnamese, OVDP also provides a short English explanation before each entry.
    It could be used together with EDICT to provide more English translations.

  * Add option in Preferences to display Dutch/French/Russian translations above Japanese phrases.
    JMDict is needed to be installed.

    Since the vocabulary of JMDict is relatively small, you can combine JMDict with EDICT/OVDP.
    When both non-English and English translations are enabled, VNR will lookup non-English dictionaries (JMDict) first.
    If there is no match, it will then fallback to English (such as EDICT).

  Note to Russian users:
    If you would like to enable displaying Russian translation, I would strongly recommend to change the Japanese font
    in Preferences/Fonts from "MS Gothic" to "Tahoma", or any other fonts that include both Japanese and Cyrillic characters.
    Otherwise, Russian characters will look ugly in VNR and might sometimes go out of screen.

    VNR by default uses MS Gothic to render Japanese, which always shows Cyrillic characters in full-width.
    This will break VNR's assumption that non-CJK characters are all in half-width, and might break how VNR calculates text width.
    Changing the font to "Tahoma" will fix this issue.

  [Machine Translation](Russian, Ukrainian, Greek)
  * Add an option in Preferences/Translation to convert English in the translation to the alphabet of the user language,
    including Greek letters, Russian Cyrillic letters, and Ukrainian Cyrillic letters.

    Since many machine translators use English as the intermediate language, there are usually untranslated English words leaving
    in the result translation. And in the Shared Dictionary, there are also a lot of translations that are for English only.
    This option when enabled will force converting these untranslated words to the letters in the target language's alphabet.

  [Yomigana](Ukrainian)
  * Support generating translation from yomigana in Ukrainian.

  [Game Engine]
  * Add hooks to TabbedTextOutA/TabbedTextOutW in GDI.
    It is intended to support extracting texts for games from らすこう,  but it might support some other games as well.

    为「らすこう」社的游戏添加了提取文本的支持。
    感谢@lambl sama的报告！

4/29/2015 WED
  [Language]
  * Add translation support for Norwegian, Swedish, Finnish, Danish, Hungarian, Czech, Slovak,
    Greek, Romanian, Ukrainian, and Turkish.
    Additionally, Ukrainian is sharing vocabulary with Russian in the Shared Dictionary.

  [TAHScript](English, @riz)
  * Update TAH script for ATLAS.
    The scripts are from @errzotl sensei, and you can say thanks to him/her at TAHscript@outlook.com.

  [JBeijing](Chinese, @djz020815)
  * 更新了djz大先生的J北京词库。

4/27/2015 MON
  [Dictionary](German)
  * Add option to display German translation directly above Japanese phrases.
    It requires Wadoku EPWING dictionary to be installed in Preferences/Downloads.
    When enabled, a Japanese sentence will be like this:

     ich     Ichijō Akiram
   「 俺   は  一条    彰   、  デュエリスト だ」

4/26/2015 SUN
  [Dictionary](Vietnamese)
  * Add option to display Vietnamese translation directly above Japanese phrases.
    It requires OVDP Japanese-Vietnamese dictionary to be installed.
    When enabled, the Japanese will be look like this:

      forget well   memory   inside  shell  nghi vấn    quiet   shed hair
    「 忘れた まま、  記憶  の   中    から    疑問    は 静かに  抜け落ち た。」

    The translation displayed is usually English, and sometimes Vietnamese (such as nghi vấn).
    Also, the translation is not guaranteed to be correct, such as: から => shell.

  * OVDP dictionary support is changed to use StarDict format to save disk space.
    OVDP dictionary now requires only 40MB.
    If you have old OVDP dictionary installed, VNR will delete it on the startup.
    It can be redownloaded for free in Preferences/Downloads.

    If VNR's download script is slow (it currently picks a DL mirror in US), you can also manually
    get the dictionary from the following location:

        http://sourceforge.net/projects/ovdp/

    And then extract the downloaded NhatViet.zip to:

        Caches/Dictionaries/OVDP/NhatViet

    btw, VNR now supports dictionaries in StarDict format.
    If you need more StarDict dictionaries support, feel free to let me know. Thanks!

  [Game Engine]
  * Update GXP engine to support 「ウルスラグナ」.
    And don't forget to maximize the game text speed.

    The issue that old GXP games had floating split is also fixed.
    If you are playing GXP games (such as Astronauts's), you might have to re-adjust Text Settings.

    添加了对「ウルスラグナ」提取文本的支持。
    不要忘记将游戏文字的速度调整为最快。

    另外修正了以前的GXP引擎的游戏有浮动签名的问题。
    如果你在玩以前的GXP游戏（比如Astronauts社的），会需要重新调整下文本设定。

4/25/2015 SAT
  [Dictionary]
  * If you have blocked English, VNR will no longer show EDICT-related options in Preferences.

  * Add option to display Chinese/Korean translation directly above Japanese phrases.
    It requires at least one Japanese Lingoes dictionary to be installed for these languages.
    When enabled, the Japanese will be rendered like this:

     =そうして  생각하기 시작하다   말     울다   영원    정원  기계    놓치다
   「  そして        思い出す      こと は なく 、永遠 に その  機会 を  逃す のだった。 」

    Here, "=そうして" means "そして" is an alias of "そうして" in spoken Japanese.

    VNR currently simplify picks the first meaning it has got in the dictionary, which could be wrong.
    For example, "なく" here should not be "울다", which means "泣く"(verb) instead of "無く"(adj).

    In the future, I plan to use UniDic's role (verb, noun, adj, etc.) to filter dictionary entries,
    which might help disambiguate phrases having different meanings.

    可以在日文上方直接显示中文或韩文的翻译，也许对学习日文的同学有些帮助。
    比如，开启后日文可能会显示成这样：

      与其…莫如  那  周围       ぼろぬの      充分    那么  喂
   「  むしろ  、その 辺 にある  ボロ布  でも 充分 なんじゃ ねえの」

    开启需要安装至少一本Lingoes日中字典。
    不过VNR只会从辞书中选择第一个解释来显示，翻译可能是错的。

4/20/2015 MON
  [TAHScript](English, @riz)
  * Update TAH script for ATLAS/LEC.
    The scripts are from @errzotl sensei, and you can say thanks to him/her at TAHscript@outlook.com.

4/14/2015 TUE
  [MeCab]
  * Fixed a bug that UniDic could not be automatically downloaded.
    修正了无法正常下载UniDic的问题。

  * Restore the feature to display EDICT translation directly above Japanese phrases.
    It requires EDICT to be aligned with UniDic.
    VNR will re-align EDICT after first launch if you have EDICT installed by old version of VNR.

    For example, given a Japanese sentence:

        「努力に世界が応えるのよ」

    It will be rendered by VNR like this:

         great effort     the world    respond
      「     努力      に    世界   が   応える  のよ 」

    And the yomigana translator will translate the entire sentence like this when "English" is selected:

       「great effort ni the world ga respond no yo」

    If you click 努力, the MeCab feature will be like this:

        努力,どりょく,doryoku,n,vs,EDICT,great effort

    The columns immediately before EDICT (n and vs) are the roles of the phrase, which means it is both
    a noun and a 基本形(s) verb.

    VNR currently simply pick the first short meaning of an entry in EDICT as its translation, which,
    however, might not be always correct.
    And the definition collision between EDICT and UniDic is not well-handled.

    恢复了通过查询EDICT直接在日文上边显示翻译的选项。
    开启后，游戏的文本可能会渲染成好像这样子：

         great effort     the world    respond
      「     努力      に    世界   が   応える  のよ 」

4/13/2015 MON
  [TAHScript](English, @riz)
  * Update TAH script for ATLAS/LEC.
    The scripts are from @errzotl sensei, and you can say thanks to him/her at TAHscript@outlook.com.

4/12/2015 SUN
  [Ehnd](Korean)
  * Fixed the issue that external native Ehnd plugin did not work.
    However, due to technical difficulties, toggling the Ehnd option now requires restarting VNR.
    The logic that which version of the dll will be loaded is as follows:
    - Enable the Ehnd option in Preferences
      Use VNR's built-in dll, no matter whether you have installed Ehnd in ezTrans directory.
    - Disable the Ehnd option in Preferences
      Use the native Ehnd plugin you put in the ezTrans directory.

  [Yomigana]
  * Add option in Preferences/Translation to display ONLY the yomigana (such as romaji) as subtitles.
    在【使用偏好/翻译】中添加了显示日文比如罗马字为字幕的选项。

  * Conversion support from Japanese kanji to Vietnamese Phiên âm is restored.

4/11/2015 SAT
  [Dictionary]
  * Speedup dictionary lookup.
    I rewrote the implementation for looking up EDICT and Lingoes dictionaries, which is now extremely fast
    that the lookup time is less than 0.1 sec, even for some very large dictionaries, such as OVDP for Vietnamese.
    改善了查询日中辞书的速度。

  [MeCab]
  * Japanese segmentation implementation using MeCab is now switched to that used by VNR's SMT vtrans.
    This will allow me to integrate Shared Dictionary with statistical machine translation in the future.
    There are a couple of changes caused by the switch of the implementation.

    + Removed features
      - IPAdic support is removed. UniDic is now the ONLY MeCab dictionary supported by VNR.
        UniDic must be installed in Preferences/Downloads to enable Japanese word segmentation.
      - CaboCha highlight support is removed.
        I will change to highlight phrases according to their roles (name, noun, verb, etc.) instead later.

    + Broken features that I haven't got time to implement
      - Displaying Vietnamese Phiên âm above Japanese kanji is broken, and temporarily disabled.
      - Displaying EDICT translation directly above Japanese phrases is broken, and temporarily disabled.
      - Displaying Furigana for web page is broken, and temporarily disabled.

    + New features
      - Dictionary alignment for EDICT
        For example, given a Japanese sentence:
            ごめんなさい、先生！
        Without EDICT alignment, VNR by default will segment it into:
            ごめん + なさい + 、+ 先生 + ！

        With EDICT alignment, because there is a translation entry for ごめんなさい = Sorry in EDICT,
        VNR will now segment the sentence into:
            ごめんなさい + 、+ 先生 + ！

        Now if you click ごめんなさい, VNR will popup the "Sorry" translation in EDICT.
        This methodology is borrowed from vtrans' code to learn word segmentation rules from dictionary entries.

        Whether enabling EDICT alignment really depends on your need.
        Without EDICT alignment, VNR will segment ごめん out, and when you click ごめん, VNR will display its
        UniDic feature like this:
            名詞,普通名詞,一般,ごめん,御免,漢
        This means 御免 is a "general noun" (普通名詞), and its pronunciation is borrowed from Chinese (漢)
        (and hence it sounds similar to Chinese).
        However, after EDICT alignment is enabled, you cannot easily observe such information anymore.
        VNR will instead display the English translation for the entire ごめんなさい.

        Basically, if you cannot read Chinese such as 名詞, and you are an English speaker,
        it might be better to enable EDICT alignment.
        Otherwise, enabling alignment or not depends on whether you are more comfortable with Chinese or English.

    In the future, I will use yomigana/name entries in Shared Dictionary to align MeCab as well.
    And I will add support to align MeCab for other languages, such as:
        Naver for Korean, OVDP for Vietnamese, and Wadoku for German

    修改了VNR中使用MeCab分词的实现。
    这造成关于分词选项的一些比较大的变更。

    1. 删除了对IPAdic和CaboCha的支持。要使用分词功能，只要在使用偏好中下载UniDic一个就好了。
    2. 添加了一个使用EDICT矫正MeCab分词的选项。
       这个选项主要是针对英文读者的。
       如果你的英文不好，那么其实不用下载EDICT和打开这个选项。

  btw, 关于VNR从人工字幕学习的翻译器，由于VNR服务器的内存不足以长时间的支持这个翻译器，我暂时在
  服务器端关闭了对这个翻译器的服务。我在以后会购买额外的服务器，再来deploy这个翻译器的。
  当前在VNR的使用偏好中打开这个翻译器or not，对翻译是不会有影响的。如果给你带来误解，很抱歉！

  [Machine Translator]
  * Add online translation support for Babylon, SYSTRAN, and @nifty.
    + Babylon: Multilingual, support all languages in VNR.
      btw, I also tested SDL, which had the same translation as Babylon, and hence not added to VNR.

    + SYSTRAN: Support English-focused translation.
      One critical problem is that the IP might get banned when submitting a couple of translation very quickly.
      I haven't got a solution for this issue yet.

    + @nifty: Support translation between Japanese/Chinese/Korean/English.
      It is using the same translation engine as the famous Fujitsu ATLAS.
      Additionally, @nifty is set to shared the same TAH script and Shared Dictionary rules as ATLAS.

    If you would like to add alternative translation support, feel free to edit the following page:
        http://sakuradite.com/wiki/en/Machine_Translators

    Here are some tests if you are interested:

    - Japanese: まあね♪スカートとはおさらばだし。ハーフパンツなんて久しぶり。

      LEC (original): Oh, I sleep, and half underpants are after a long absence ♪ skirt とはおさらばだし
      LEC (VNR+TAH): Oh♪Skirt とはおさらばだし. Half underpants are after a long absence

      ATLAS (original): Good bye [maane] ♪ skirt is [dashi] . The half pants are after a long time.
      ATLAS (VNR+TAH): Well♪ Good bye the skirt is [dashi]. The half pants are after a long time.

      Infoseek (original): まあね ♪ skirt とはおさらばだし. Half underwear is after a long absence
      Infoseek (VNR+TAH): Oh♪ Skirt とはおさらばだし. Half underwear is after a long absence

      SYSTRAN: Don't you think? well, the ♪ skirt the reed mule it puts out. The half underpants how long separation
      Babylon: Well. My skirt and a farewell. Half-pants long time!
      @nifty: Good bye [maane] ♪ skirt is [dashi] . The half pants are after a long time. // the same as ATLAS

  添加了一些新的翻译器的支持，不过对中文翻译的帮助不大。

4/9/2015 THU
  [Bing](Arabic)
  * For Japanese-Arabic translation, fix the issue that Shared Dictionary rules get messed up by Bing.

4/7/2015 TUE
  [Yomigana](Arabic)
  * Yomigana definitions in the Shared Dictionary will generate name translation for Arabic as well.
    If you find errors in the yomigana, please edit the following page, and I will update VNR to add your patch later.

        http://sakuradite.com/wiki/en/Furigana

    Now, yomigana will generate name translations for all languages in VNR.

  * Arabic alphabet can be selected to display yomigana for Japanese.

  * Baidu translator is no longer blocked in Preferences, even if you have blocked Chinese language in Preferences/i18n.
    Because Baidu can be used to translate non-Chinese languages as well, such as Arabic and Russian.

4/6/2015 MON
  [Machine Translator](Chinese, Korean)
  * Translation using JBeijing and ezTrans are done in parallel to be faster.
    VNR tends to split input text into sentences and translate each sentence independently.
    When that happens, VNR now will translate all sentences in parallel.
    This is not enabled for other translators such as Atlas and LEC, which are tested not thread-safe.

    并行处理JBeijing断句后的翻译来提高翻译速度。
    由于近期大量使用&eos;的词条分割句子，造成JBeijing翻译的时间越来越长。翻译一句有很多逗号的话要几秒钟。
    现在，分割后的从句会并行的送入JBeijing进行翻译，来成倍减少翻译的时间。
    在使用JBeijing时，左下角线绿色spinner会转动并显示线程的个数。

    另外，如果在同时使用比如JBeijing和Baidu，那么两者也会并行的翻译来overlap掉网络延时。
    但是，这样代价是造成JBeijing的翻译有时会出现在Baidu的后边。

  [Ehnd](Korean)
  * Fixed an encoding bug that caused Ehnd scripts not properly applied.

4/5/2015 SUN
  [i18n](Korean, @mireado)
  * Update VNR's UI translation in Korean made by @mireado sensei.

  [Shared Dictionary](Chinese, Korean)
  * JBeijing and ezTrans are aware of the roles of m (name), n (noun), and x (unknown phrases).
    As you might have noticed, for example, after defining a noun syntax:
       n ||| 露西亜 ||| Russia
    VNR will send ZNAZ to the underlying machine translator (JBeijing/ezTrans), which, however,
    does not know that ZNAZ is a noun.

    So, I simply added ZNAZ to the user-defined dictionaries of JBeijing and Ehnd script, after which,
    I expect, the translator should now be able to recognize ZNAZ as a noun, i.e. 露西亜 as a noun.

    Some details about the mapping from the roles to the translator's user dict are as follows:
    - Ehnd, see: Dictionaries/ehnd/UserDict_@jichi_role.txt
      role pattern   noun  properties
      x    ZX[A-N]Z  0
      m    ZM[A-N]Z  1     VHn
      n    ZN[A-N]Z  1     VHn

    - JBeijing, see: Dictionaries/jb/@jichi/JcUserdic
      role pattern   input    => output
      x    ZX[A-G]Z  成語     => 成語
      m    ZM[A-G]Z  人名     => 人名
      n    ZN[A-G]Z  普通名詞 => 普通名詞

    Currently, only m/n/x are recognized.
    Any other roles that are neither m(name) nor n(noun) are categorized as x (unknown phrase).
    If you have suggestions for other role mapping such as adj and verb, you can create a topic on it
    at http://sakuradite.com/topic

    Regarding English translation, I expect similar things could be done by adding definitions to
    ATLAS/LEC's user-defined dictionaries.
    However, VNR currently does not support reading ATLAS/LEC dictionaries.
    I might investigate on ATLAS/LEC support when I have time later.

    JBeijng可以识别共享辞书中的部分role了。
    简单来说，m（名字）会被识别为JBeijing辞书中的【人名】；
    n（名词）会被识别为JBeijing辞书中的【普通名词】；
    而任何其他的role比如x（未知词组）会被识别为JBeijing辞书中的【成语】。

4/4/2015 SAT
  [ezTrans](Korean)
  * Add built-in support for Ehnd plugin, which is enabled by default.
    No settings are needed to be changed, unless you want to manually edit Ehnd scripts.

    - Ehnd scripts are enabled by default.
      But you can disable it in Preferences/Translator below the ezTrans toggle.

      And in the Test Machine Translation window, Ehnd can be toggled by the Translation Script button.

    - However, if you have already manually put Ehnd scripts in the ezTrans directory, VNR will NOT load them.
      To enable manual Ehnd scripts, you must DISABLE the Ehnd option in VNR's Preferences.

      VNR's Ehnd scripts are in the Dictionaries/ehnd folder, version 20150402, which I got from mireado.
      Please DO NOT directly edit those files, which will be reverted back after VNR's update.
      If you want to manually set up Ehnd, please follow the guide below, and then DISABLE VNR's Ehnd option.

        Tutorial: http://blog.naver.com/waltherp38/220286266694
        Binary: http://blog.naver.com/waltherp38/220267098421
        Dictionary: http://sokcuri.neko.kr/220301117949

    I modified the source code of Ehnd to better integrate with VNR, and the source code is as follows:
        https://github.com/jichifly/ehnd-vnr
    For example, it does not require msvc2013 to be installed, hooking to eztrans is changed to be non-intrusive,
    logging is disabled for better performance, and building system changed to CMake (I am a Visual Studio hater).
    It might also allow me to compile Share Dictionary rules to Ehnd dictionary in the future.
    But currently, there is NO difference for how the Ehnd scripts are applied.
    So, it is OK to set up manual Ehnd if you like, which will act the same way as VNR's Ehnd mod.

    Special thanks to @mireado sensei's extensive help on this topic!

4/3/2015 FRI
  [Shared Dictionary](Chinese)
  * Yomigana rules will also be used to generate names for Chinese translation.
    读法词条的匹配的文本会被用于生成日中姓名的翻译。
    比方说，给定：悠真 => ゆうま
    那么VNR会对【悠真】做日中汉字的变换来生成姓名，而【ゆうま】的读音会被忽略掉。

    生成的姓名可以在共享辞书下边的读音中观察到。
    如果日文没有办法全部转化为汉字，会显示【无】，日中翻译时VNR会忽略这个词条。
    如果正体中文和简体中文的汉字变体相同，那么会显示1个中文姓名。
    如果汉字不同，会显示两个姓名。

    如果姓名词条和读法词条同时存在，那么姓名词条会override掉读法词条。
    由于历史原因，共享辞书中有大量的读法词条。这样可以减少辞书中重复定义的姓名。

  [Game Engine]
  * Fix the issue in Malie engine to make sure texts are extracted sentence-by-sentence in 「シルヴァリオ ヴェンデッタ」.
    修正了「シルヴァリオ ヴェンデッタ」提取文本时断句错误的问题。

4/2/2015 THU
  [JBeijing](Chinese, @djz020815)
  * 更新了djz大先生的J北京词库。

  [TAHScript](English, @riz)
  * Update TAH script for ATLAS/LEC.
    The scripts are from @errzotl sensei, and you can say thanks to him/her at TAHscript@outlook.com.

  [UI]
  * Remove the option to change global UI font in Preferences.
    删掉了【使用偏好】中修改界面字体的选项。

3/14/2015 SAT
  [Game Engine]
  * Update Malie engine to correctly capture text annotated with furigana.
    修正了light的游戏可能无法提取到带振仮名的文字的问题。

3/13/2015 FRI
  [Game Engine]
  * Add alternative ShinaRio engine for Guilty games as reported by @jessecf sama.
    修正了部分Guilty游戏无法正常提取文本的问题。
    感谢@jessecf sama的报告！

  [Performance]
  * Reduce memory usage to process subtitles and danmaku.

  * Reduce memory usage by half to show and edit Shared Dictionary entries.
    减少了浏览和编辑共享辞书时的内存。

  [Machine Translator](Chinese)
  * 修正了百度翻译无法正常进行的问题。
    由于金山在线翻译无法正常运作，改为使用百度翻译的API了。

3/12/2015 THU
  [Shared Dictionary]
  * Set of roles can be represented by, for example, [[m,n,v]], which will match any m,n,v roles.
    And when there are multiple sets, the role name can be omitted in the translation.
    For example, all the following rules are equivalent:

      [[m,n]]を[[v]] => [[v]] [[m,n]]
      [[m,n#1]]を[[v#2]] => [[v#2]] [[m,n#1]]
      [[m,n#1]]を[[v#2]] => [[#2]] [[#1]]
      [[m,n#1]]を[[v]] => [[v]] [[#1]]

    And if there is only one role, the role names in the translation can be omit.
    For example, all the following rules are equivalent:

      [[m,n]]の => [[m,n]]'s
      [[m,n#1]]の => [[m,n#1]]'s
      [[m,n#1]]の => [[#1]]'s
      [[m,n#1]]の => [[]]'s
      [[m,n]]の => [[]]'s

  [Game Engine]
  * Update Malie engine so that it won't crash「シルヴァリオ ヴェンデッタ」.
    修正了「シルヴァリオ ヴェンデッタ」提取文本可能会崩溃的问题。

3/11/2015 WED
  [JBeijing](Chinese, @djz020815)
  * 更新了djz大先生的J北京词库。

  [TAHScript](English, @riz)
  * Update TAH script for ATLAS/LEC.
    The scripts are from @errzotl sensei, and you can say thanks to him/her at TAHscript@outlook.com.

  [Machine Translator]
  * (Russian) Fix translation support for translate.ru , which stopped working.

  * (Chinese) Restore translation support for Youdao.com, since the new translation encoding system
    for Shared Dictionary can penetrate Youdao now.
    恢复了对有道在线翻译的支持，由于新的共享辞书的机制可以穿透有道翻译了。
    不过有道翻译的质量和百度、J北京是没有办法比的。

  [Shared Dictionary]
  * Guest users are no longer allowed to create Prefix/Suffix/Macro/Proxy typed translation rules any more.
    I feel these typed rules are either dangerous or kind of complicated to understand by new users that
    most rules in these types submitted by guest are wrong.
    匿名账户不可以直接提交前缀、后缀、宏，以及新加的代理类型的词条了。
    因为这些类型的词条一般比较难理解，而要么非常重要，要么很少会被用到。

  * Macros can be applied to not only the pattern, but also the translation.
    宏类型的词条可以被应用到替换的翻译中。

  * Macros can also be applied to non-regex terms.
    The regex option for for macros is no longer locked. But it has NO effect at the moment.
    If a macro is for representing regex, you can just check that option, to make it more readable.
    宏类型的词条会被应用到所有的词条上，而不再仅限于正则表达的词条。
    宏类型词条本身的正则表达的选项可以调整了，但是那个选项当前是没有作用的。
    不过，如果宏类型词条本身是表达正则表达的，那么做好把那个正则的选项打开，这样可以更readable些。

  * I made some fundamental changes for how to apply Name/Prefix/Suffix/Yomigana/Translation rules.
    If you are actively using Shared Dictionary, I think it might be helpful to check the following topic:

       http://sakuradite.com/topic/724

    In short, I changed to apply Shared Dictionary in a new grammar similar to VTrans for Chinese.
    The grammar is basically the same as SynCFG for SMT, except there is no statistical probability and word segmentation.
    Here are some major advantages:
    - The new grammar is implemented 10x faster to apply, and use half memory.
    - It can be used to describe interaction of translation rules.
    - There is no more issue of garbage digits.
    - Name translation etc. can be applied in non-intrusive manner with the help of the new mechanism of "translation delegation".
    - The name translation is now very cheap to implement.
      Assume there are N names, S suffices, and P prefices, and the time/space complexity to process Name is reduced
      from O(N*(S+P)) => O(N+S+P).
      I would suggest to remove series-specific flags for all names that do not have ambiguity.

    我修改了共享辞书翻译词条的机制。
    新的机制采用了和VTrans SMT相同的语法（除了没有概率统计和分词的支持）。
    如果你经常使用共享辞书，那么非常建议你查看下下边的topic。

       http://sakuradite.com/topic/724

    另外，新的机制下，姓名词条的处理几近完美了，不论是速度、内存、还是翻译质量。
    如果一个姓名的翻译绝大部分情况下没有歧义，那么我建议就不需要打开【系列专用】的选项了。

3/4/2015 WED
  [Performance]
  * Reduce memory usage when writing large xml/yaml data (games/subtitles/dictionary) to disk.

3/1/2015 SUN
  [Proxy]
  * Update proxy to ErogameScape and Google, which stopped functioning.
    更新了对批评空间和Google的代理，因为以前的代理可能不能用了。

  [Machine Translation](Korean)
  * Add translation support for TransCAT JKKJ suggested by @mireado sama.
    I cannot tell if it is better or worse comparing to EzTrans, but I feel you could give it a try.

    Here are some notes and minor issues about it:
    - TransCAT's developer ClickQ has disappeared, and I cannot find any place to purchase this soft.
      If you would like to try it, you might have to ask your friends or @mireado sama where to get it.

    - TransCAT project was dropped in 2002, which was newer than ezTrans XP (2001) though.

    - TransCAT's path must not have non-ASCII characters.

    - VNR must have write permission to TransCAT's directory.
      For example, on Windows 7, if you have installed TransCAT to $PROGRAMFILES as Administrator.
      Then, VNR by default might not be able load TransCAT. And it will keep popping up warning messages
      like "Cannot write to the location".

      There are at least three ways to fix such issue:
      + Solution 1 (recommended): Move TransCAT out of $PROGRAMFILES to a location where non-administrator has write permission.
      + Solution 2 (not recommended): Always launch VNR as administrator.
      + Solution 3: Use cacls to grant write access to the TransCAT folder in $PROGRAMFILES.

    - TransCAT might conflict with JBeijing (a Japanese-Chinese translator).
      When TransCAT starts after JBeijing, it might crash VNR.
      In order to make both work, TransCAT must be loaded BEFORE JBeijing is loaded.
      VNR internally will try to initialize TransCAT always before JBeijing if possible, but there are
      loop-holes when the user is toggling Preferences.
      Anyway, if you have both JBeijing and TransCAT installed, and if you toggled both JBeijing and TransCAT
      in Preferences, you might have to restart VNR to make both work.

      If you don't use JBeijing for Japanese-Chinese translation, you can forget the above text.

    Here are some comparisons regarding the translation quality with ezTrans and Naver.
    Japanese texts are from 「大正×対称アリス」.

      Japanese: あなた「ここはどこなの……？歩いても歩いても、出口が見つからない」
      TransCAT: 당신「여기는 어디다……? 걸어도 걸어도, 출구가 발견되지 않는다」
      EzTrans: 당신「여기는 어디야……? 걸어도 걸어도, 출구가 발견되지 않는다」
      Naver: 당신「여기는 어딘데……?걸어도 걸어도, 출구가 없다」

      Japanese: あなた「私……どうしてこんな所にいるの？ 私は……誰なの？」
      TransCAT: 당신「나……어째서 이런 곳에 있는 것이다? 나는……누구다?」
      EzTrans: 당신「사……어째서 이런 곳에 있는 거야? 나는……누구야?」
      Naver: 당신「나……왜 이런 곳에 있니?나는……누구니?」

      Japanese: 自者名前
      TransCAT: 自 자이름
      EzTrans: 차자 이름
      Naver: 차자 이름

      I feel the overall EzTrans translation is similar to either EzTrans or Naver.

      However, when there are unrecognized phrases, TransCAT will leave it in the translation,
      while Naver tends to convert untranslated Kanji to Hangul of the corresponding Hanja in Korean,
      and EzTrans tends to delete the unrecognized sounds or acts like Naver to convert Kanji to Hanja's Hangul readings.
      As a result, it will be easier to use Output rules in Shared Dictionary to fix TransCAT's translation.

2/28/2015 SAT
  [JBeijing](Chinese, @djz020815)
  * 更新了djz大先生的J北京词库。

  [TAHScript](English, @riz)
  * Update TAH script for ATLAS/LEC.
    The scripts are from @errzotl sensei, and you can say thanks to him/her at TAHscript@outlook.com.

  [Game Engine]
  * Update Pensil engine to support 大正×対称アリス with Primula's 2XT engine.
    修正了「大正×対称アリス」无法提取到文本的问题。

2/18/2015 WED
  [Script]
  * Add a ld2db script in the Scripts folder that can be used to convert Lingoes
    dictionary file to SQLite database.
    For example:
        ld2db "Vicon Japanese-English Dictionary.ld2" utf16 utf8
    will output a SQLite3 db file for Vicon dictionary where Japanese is encoded
    in UTF-16 and English is encoded in UTF-8.

  [Machine Translation]
  * I made a statistical machine translator from user-contributed subtitles for VNR.
    It currently only supports Japanese => Chinese translation, which can be enabled in Preferences.

    I named it as VTrans, standing for VNR's translator, or WeTrans (our translator), since it is
    really based on and counted on our subtitles and translation rules for VNs.

    Its current average translation quality is usually worse comparing to other online translators
    such as Baidu, though.
    But I think this might open a new area for VNR in the near future to have our own fully-customized
    machine translator to improve the translation in whatever ways we like.

    Here are some advantages that it has and I can am expecting:

    - Translation quality will be gradually improved from user-submitted subtitles.
      The current translation is trained from 220k sentences.
      96k are user-shared subtitles, and other 120k are sample sentences from JC dictionaries in VNR.

      Currently, if a user's total subtitle count is > X, all of his/her subtitles will then be used to
      train the machine translator.
      X is a large integer. I would like to keep this number X secret to prevent people from adding a
      large number of garbage texts in order to be included to the machine translation.

      Basically, if you see a translation is wrong in VTrans, just submit a better subtitle for it, and
      then VTrans will be better soon later when I update it's translation rules from user subtitles.

    - Open and easy to customized
      The translator is implemented in Python and Java. And I have the access to all the source code
      of the libraries and dictionaries being used.
      This will allow us to modify the translation in whatever degree we like.
      For example, I am now able to apply a suffix rule [[N]]さん to all names recognized by the translator.
      I can know how the input sentence is segmented, and which word is untranslated.
      And I can directly modify the grammar of the machine translation in a non-intrusive way.

      I will add interfaces to expose all internal settings of the translator in the future.

    - Domain-specific to VN
      It is from users' subtitles, the vocabulary will be more close to 二次元 and oral Japanese.
      And there is no censorship of certain hentai words.

    - Possibility for training true-bilingual translation
      Currently, say, Japanese => Russian is done by Japanese => English => Russian, which might downgrade
      overall translation quality.
      If you are speaking an European language, I can instead train the translation directly between Japanese
      and your language.
      However, the translation quality might be affected by how many user-shared subtitles are in your language.

    - Feasibility for offline translation
      Currently, the trained grammar data is about 400MB.
      I can add an offline translator with these data in VNR, which will require users to install Java, though.

    However, I think there will be a few critical disadvantages about this approach:

    - Smaller vocabulary
      Though being close to VNs, the amount of data used to train the translator is far less than the others.
      If you use VTrans to translate, say, Wikipedia articles, the quality will be too bad to understand.
      I plan to instead rely on users to submit instant rules to fix the mal-translated sentences.

    - Slow access speed
      VTrans is currently set up on the same server that holds VNR's service.
      I would expect it to stop functioning when lots of users are using VNR ....

    - Less machine resources to tune the translation quality
      The statistical machine translation quality is highly affected by tuning.
      Currently, I don't have powerful machines or cloud clusters to tune all the user-shared subtitles.
      For the current 220k sentences, I only tuned 500 sentences for the best BLEU score, which took
      about 2 hours to accomplish on my macbook air.
      I might not have machine time to tune large data, which will surely downgrade translation quality.

    Note: Currently, please do not add translator-specific rules for VTrans to the Shared Dictionary.
    I will change how to integrate Shared Dictionary rules with VTrans in the near future.

    Regarding how subtitles are trained, there are certain requirements for the subtitles to meet, or the
    subtitle might confuse VTrans and even downgrade translation quality.
    I will talk about that after I have finalized Japanese-Chinese support and added Japanese-English support.

    Anyway, I am going to explore the approaches to integrate user-specified domain knowledge to improve
    translation quality. If you have suggestions, feel free to let me know!

    添加了一个基于统计的在线机器翻译的功能。
    翻译的内容主要是有大家提交的日中翻译的字幕来训练的。
    不过，当前翻译的质量和Baidu等比起来，还有很大的差距的。还是JBeijing+Baidu才是最佳组合。
    另外，当VNR的服务器很忙时，翻译也可能会变得很慢的。

    关于共享辞书，大家先不要添加针对这个翻译器的词条。
    因为我有翻译器的全部代码，可以在很底层的位置来应用翻译规则。我在以后会针对这个翻译器来改变应用词条
    的方法和机制。在此之前，先不要为这个翻译器添加词条。

    关于机器翻译训练，当用户总共的字幕数量大于一个阈值时，那么VNR就会使用他或她的字幕来训练机器翻译了。
    Guest账户的字幕不会被用于训练。这样做的目的是为了减少不良字幕的数目从而降低翻译质量。
    由于使用大家的字幕训练，造成翻译上可能会更加贴近口语。
    而且基本上，如果你发现翻译出的质量不佳，在提交新的翻译后，翻译以后就会慢慢变好了。
    但是有时候不同的游戏之间会串词。
    比如：因为有同学在A游戏把「スプリング」翻译成了（弹簧）床，结果B游戏里 「スプリング」就被翻成床了。。。
    另外由于翻译样本不足而且局限在这个领域，翻译器对长句字以及非二次元的生词的翻译还很差。
    翻译口语还好。当前翻译比如wiki之类的文章很多都没法看了。

    另外，在提交人工翻译时没什么要求，除了：
    1. 希望大家在日文原句里没有主语时，不要添加游戏人名为翻译的主语。（否则可能会像上边那样“串词”）
    2. 另外就是如果可能的话，翻译最好能够和原句的标点对齐。

    比如，如果日文原句是：「A，B。C？」
    那么人工翻译最好也是：「x，y。z！」
    标点可以不相同，但是断句最好一致。否则VNR的服务器可能会无法判断如何对齐分句。

    具体来说，VNR在断句时分为三个层次：
    - 段落(paragraph)： 用【】「」等分割
    - 句子(sentence)： 用。？！等分割
    - 分句(clause)： 用、『』等分割。
    如果1或2没有对齐，那么VNR就会忽略而不训练这个字幕。
    如果3没有对齐，那么VNR仍然会去训练句子。比如：

        だから、ごめんなさいっ。 => 所以对不起。

    因为翻译中缺少逗号而无法对齐从句。然而，VNR仍然会用「だから、ごめんなさいっ。」去训练「所以对不起。」。
    特别的，如果翻译中有逗号，比如： 所以，对不起。
    那么，VNR会自动训练下边所有的翻译：

        だから、ごめんなさいっ。 => 所以，对不起。
        だから、 => 所以，
        だから => 所以
        ごめんなさいっ。 => 对不起。
        ごめんなさいっ => 对不起

    总之，如果翻译的标点可以和原文对齐，那么VNR的在线翻译可以学到更多的关系的。
    但是，如果分句句子次序大幅改变，比如：

        だから、ごめんなさいっ。 => 对不起，所以。

    那么，这样可能会让VNR的翻译变差，因为这会造成：

        だから、ごめんなさいっ。 => 对不起，所以。
        だから、 =>  对不起，
        だから =>  对不起
        ごめんなさいっ。 => 所以。
        ごめんなさいっ => 所以

    这样的话，取决于这种对应关系出现的概率，如果其他游戏都没有出现过「だから」，那么「だから」就看能会被
    错误的判定为「对不起」了。

2/17/2015 TUE
  [Internet]
  * Certain Internet requests, such as query game database when adding new games,
    query online machine translation, etc, will timeout after 7 seconds so that
    VNR will not hang waiting for the request to finish.
    想查询数据库和在线翻译等操作，会在7秒钟之后自行终止。
    来防止因为网络问题而让VNR卡在比如添加游戏等操作中。

  [UI]
  * Add an option in Preferences/UI to change VNR's default font.
    在【使用偏好/界面】中，可以修改VNR默认的字体。

2/14/2015 SAT
  [Game Engine]
  * Modify ApRicoT engine so that the scenario thread won't split and variate on each launch.
    Be careful that there are usually two threads for ApRicoT, and only one of them is correct.
    The other one sometimes is right, but sometimes has repetition.
    Thanks for @Reality sama 's report!

  [Shared Dictionary]
  * You can use HTML escaped entities in the pattern and translation.
    For example, VNR by default will trim spaces for the pattern and translation.
    You can use &nbsp; to force prepending/appending space.

    You can also use it to express unprintable characters without enabling regex.
    For example, ASCII 13 (Carriage Return, or CR) can be expressed as "&#13;".

    可以用HTML的转义语法来插入空格(&nbsp;)什么的。
    另外，也可以使用&#d的语法来插入如法输入的字符，而不必再使用打开正则表达的\u语法，
    比如：ASCII 13 (Carriage Return, or CR) 可以使用"&#13;"来表示。

  * Add a "&eos;" (end-of-sentence) special symbol, which can be used to force VNR to break input text
    into sentences and translate them independently.
    For example, given:

        みおちゃん、スラマッパギ！

    If define the following rule:

        Type: input
        Pattern: 、
        Translation: 、&eos;

    Then VNR will translate "みおちゃん、" and "スラマッパギ！"  independently.

    Note: Under the water, VNR will replace "&eos;" by "…eos…", so that {{bos}}/{{eos}}/{{boc}}/{{eoc}}
    macros won't be broken (because :bos:/:eos: also contains "…").

    可以用&eos;的符号来强制VNR断句，分别翻译分断后的句子。
    比方说，给定：

        みおちゃん、スラマッパギ！

    如果给定如下词条：

        类型: 输入
        匹配: 、
        翻译: 、&eos;

    那么VNR将会分开翻译「みおちゃん、」和「スラマッパギ！」。

  Note: Using escaped symbols such as &nbsp; or &eos; will break translation for all old versions of VNR.
  Let's wait for one or two days until people update VNR before adding rules containing these special symbols.

  注：使用这些符号将会破坏使用老版本VNR同学的翻译。
  让我们等待一两天，大家都更新过VNR了，再来使用这些符号吧。

2/13/2015 FRI
  [Shared Dictionary]
  * Add a Phrase Boundary option to the translation rule.
    When enabled, VNR will try to only apply the translation when it is at the boundary of a phrase.
    For example, given a yomigana definition:

        愛 => あい

    Then, it will be applied to 愛ちゃん, but won't be applied to 恋愛、愛情, etc.
    i.e. 愛 will only be applied if the left of 愛 and right of 愛 are at the word boundary (like \b).

    My plan is to utilize MeCab to find word boundaries in the future.
    However, this is not what is happening at the current version.
    The detailed logic about how pattern is affected is as follows:

    - If @sourceLanguage is NOT Japanese # i.e. for non-Japanese games
      - If @type is macro
        Phrase boundary option is not allowed.
      - Else if @type is suffix
        @pattern = @pattern + "\b"
      - Else if @type is name or yomigana
        @pattern = "\b" + @pattern
      - Else # For all other types including translation, pattern will be wrapped with \b
        @pattern = "\b" + @pattern + "\b"

    - Else if @sourceLanguage is Japanese # i.e. for Japanese games
      - If @type is macro
        Phrase boundary option is not allowed.
      - Else if @type is suffix
        @pattern = @pattern + eow(@pattern)
      - Else if @type is name or yomigana
        @pattern = bow(@pattern) + @pattern
      - Else
        @pattern = bow(@pattern) + @pattern + eow(@pattern)

    Here, bow (beginning of word) will return the negative category of the first character of @pattern.
    And eow (end of word) will return the negative category of last character of @pattern.

    For Japanese games, for example, when the phrase boundary is enabled,

        愛 => あい

    is almost equivalent to:

        {{?<!kanji}}愛{{?!kanji}} => あい

    Except that the new approach will also be applied to, say, 愛様, but old {{?<!kanji}}愛{{?!kanji}}
    won't be applied to 愛様.

    Similarly, コロエ will be almost equivalent to {{?<!kata}}コロエ{{?!kata}}.
    And ハル子 will be almost equivalent to {{?<!kata}}ハル子{{?!kanji}}.

    For English games, for example, when the phrase boundary is enabled, "tight" is equivalent to "\btight\b"
    for translation type.

    Currently, since MeCab is not used, the word boundary is not accurate.
    For example, given 愛 => あい, when phrase boundary is enabled, it won't mess up 愛情、恋愛.
    But it will still mess up 愛しさ.

    Additionally, checking phrase boundary is as expensive as enabling regex.
    Unless really needed, please don't extensively turn this option on.

    For example, given a yomigana definition: 雫 => しずく
    Since 雫 is seldom used in a kanji phrase, there is no need to turn on the phrase boundary option for it.

    为词条添加了【短语边界】的选项。
    如果要翻译的名字很短可能有歧义，那么可以打开这选项。

    对于非日文游戏（比如英文），那么，比方说： "tight"将会等价于"\btight\b"。
    也就是说，在tight的前后都是【单词边界】时才会被翻译。
    这样的话，tight会被翻译，而tightly就不会被翻译了。

    对于日文游戏，那么，比方说：
    - "愛"将会等价于"{{?<!kanji}}愛{{?!kanji}}"。
      这样，彼方说："愛ちゃん"会被替换，而"愛情"、"恋愛"等就不会被替换了。
    - "コロエ"将会等价于"{{?<!kata}}コロエ{{?!kata}}"。
    - "ハル子"将会等价于"{{?<!kata}}ハル子{{?!kanji}}"。

    开启短语边界相当于打开了正则表达式，相对来说比较expensive。
    除非有必要（比如原单词有歧义），否则不要大规模的开启才好，否则应用词条的速度可能会变慢。

  * The name suffix now support changing the translation order.
    For example, given the following definitions:

        Type: Name
        Pattern: クロエ
        Translation: Chloe

        Type: Suffix
        Pattern: 姫
        Translation: Princess [[N]]

        Type: Suffix
        Pattern: 将軍
        Translation: General [[N]]

    Then, "クロエ姫" will be translated to "Princess Chloe".
    And, "クロエ将軍" will be translated to "General Chloe".
    The idea is motivated by Ehnd scripts for EzTrans, which VNR currently does not support, though.
    Here, "[[N]]" is used as a placeholder for the name/yomigana translation.

    btw, the "[]" symbol is selected, as in the future, I might add other variables such as [[n]] to represent
    a noun, and [[Nnv]] to represent a set of any Name/noun/verb where the grammar is similar to regex [] class.

    Such approach currently has some limitations.
    For example, you can define the following suffix:

        Type: Suffix
        Pattern: を殺す
        Translation: kill [[N]]

    Then, "クロエを殺す" will be translated to "kill Chloe".
    However, "クロエちゃんを殺す" will NOT be translated to "kill Chloe-chan".
    Because [[N]] only contains bared name (クロエ), without other suffices (-ちゃん).

    In the future, I am plan to allow adding more generic rule such as "[[n]]を殺す", where [[n]] represents any noun
    with the help of MeCab.
    But currently, my suggestion is that let's not add rules like を殺す as suffix at the moment, and use suffix as
    just name suffix such as ちゃん、さま, rather than complicated phrases such as を殺す.

    添加了后缀的语法来支持改变翻译至于姓名的位置。 比方说，给定：

        类型: 后缀
        匹配的文本: 姫
        替换的文本: Princess [[N]]

    那么，"クロエ姫"就会被翻译为"Princess Chloe"。

    不过，当前的approach还有很多局限性。比方说，给定如下定义：

        类型: 后缀
        匹配: 殺す
        翻译: 杀死[[N]]

    那么，"クロエを殺す"会被翻译为"杀死Chloe"。
    然而，"クロエちゃんを殺す"暂时却无法被翻译为"杀死Chloe酱"。
    由于[[N]]]仅仅可以匹配原声的姓名（クロエ），而并不包含其他的后缀（ちゃん）。
    我的建议是，在我解决这个问题前，先不要添加好像「を殺す」这样的短语词条作为后缀才好。

  * Add prefix type, which is similar to suffix. Here's an example:

        Type: Prefix
        Pattern: ミスター
        Translation: Mr.

    添加了前缀的类型。下边是一个英中前缀词条例子：

        类型: 前缀
        匹配: Mr.
        翻译: [[N]]先生

  * Translation rules specific for JBeijing is now shared with Excite.
    Because Excite has the same engine as JBeijing, whose translation are 99% the same,
    this might help reuse large numbers of JBeijing rules to enhance Chinese translation on Excite.

    JBejing和Excite会共享词条。

  [Proxy]
  * Update proxy to ErogameScape.
    更新了对批评空间和Google的代理。

2/12/2015 THU
  [Game Engine]
  * Add SystemAoi5 text engine for 「悪魔娘の看板料理」.
    为「悪魔娘の看板料理」添加了提取文本的支持。

  [Danmaku]
  * You can vote plus/minus a danmaku/comment if you agree/disagree for non-guest account.
    在弹幕、评论的旁边，可以点击+/-来赞成/反对它的内容。这个仅对非guest的账户有效。

2/11/2015 WED
  [Game Engine]
  * Update old WillPlus engine which might crash 「Re:BIRTHDAY SONG」 on Windows XP.
    修正了「Re:BIRTHDAY SONG」 在Windows XP上读档是可能会崩溃的问题。
    感谢@柒号线 sama的报告！

  [Machine Translation]
  * The Ellipse character (…) will be used to split clauses to force preserving the order of the clauses.

  * VNR will also capitalize non-English characters (Vietnamese, Russian, etc.) in the beginning of a sentence
    if the language's character set does have capital letters.

  [Shared Dictionary]
  * When VNR is processing the Shared Dictionary after the game is changed, VNR will ignore the game text.
    This will help stop displaying garbage game texts on the startup.
    在游戏刚刚启动后，在VNR完成处理共享辞书之前，前一两句游戏对话会被VNR忽略掉。
    这样可以避免在游戏刚开始时，显示各种垃圾文本。

2/10/2015 TUE
  [Machine Translation]
  * Add options in Preferences/Translation for concatenate different translations

    For example: If I select Bing as secondary translator of Baidu, and select Chinese as
    the intermediate language.
    Then, when translate Japanese => English, VNR will first translate Japanese => Chinese
    using Baidu, an then Chinese => English using Bing, like this:

                  (first mt)              (second mt)
       Japanese => Baidu.com => Chinese => Bing.com => English
                            (intermediate lang)

    Here are some special scenario that might be benefit or affected from this feature.

    - Extend LEC output languages.
      LEC is by far the best Japanese-English translator, and @riz sensei is actively maintaining
      translation scripts for LEC to further elevate its translation quality.
      But VNR currently only supports English/Russian as output language.

      If you want to translate Japanese to, for example, Spanish, using LEC, then you can now
      select Bing as the secondary translator of LEC, and select English as Intermediate language.

      Note: LEC won't show up if you have blocked English in Preferences/i18n.

    - Translation alignment
      Translation alignment can only be enabled for the second translator.
      If enabled, the intermediate translation can be observed from the ruby.
      Here's an screenshot of the translation through:

         Japanese => (LEC) => English => (Google.com) => Spanish

         http://i.imgur.com/4kLn0lv.png

    - Shared Dictionary
      Shared Dictionary will be applied to the first and second translators independently.
      For example, given:

         Japanese => (LEC) => English => (Google.com) => Spanish

      VNR will first apply Japanese => English rules to LEC, and then English => Spanish
      rules to Google.

      An exception is Chinese. When the intermediate language is Chinese and the source language
      is Japanese, then VNR will also apply name/yomigana rules in Japanese to Chinese translation
      to the second translator.
      This will turn the translation of these names to Romaji instead of Pinyin.

    - Debugging machine translation
      There is current lack of support to debug the entire cascaded translation process.
      The underline mark will always be disabled for the first translator.
      And in the Test Machine Translation window, only the second translator can be debugged.

    - Offline Japanese => Vietnamese translation.
      You can combine a Chinese offline translator with HanViet in VNR to produce offline
      Vietnamese => Japanese translation.
      Here are some screenshots for JBeijing, Fastait, and Baidu plus HanViet.

          http://i.imgur.com/KJibAwM.png

      Lots of text are underlined, which means the translation from Chinese => Vietnamese
      is ambiguous according to VietPhrase.
      The underline option can be disabled in Preferences/Shared Dictionary.

      Additionally, VNR also supports offline English-Chinese translation through Dr.eye.
      Combining Dr.eye with HanViet might produce offline English-Vietnamese translation.

      Note: If you have blocked Chinese in Preferences/i18n, no Chinese translators would show up.

      + State-of-art of Chinese translators
      If you would like to try using Chinese as the intermediate language, here are a summary
      of Chinese translators supported by VNR:
      1. Baidu.com: The best online Japanese-Chinese translator.
      2. JBeijing: The best offline Japanese-Chinese translator, but it is not free.
      3. FastAIT: The best free offline Japanese-Chinese translator, but it is slow.
      4. Dr.eye: The Japanese-Chinese translation quality is not good.
         But it supports offline English-Chinese translation.

      + About Chinese variants
        In VNR, zh means Chinese (because 中's reading is Zhong).
        zh+t means Chinese Traditional or Chinese Taiwan, and zh+s means Chinese Simplified.
        Basically, zhs is mostly used by Mainland China, while zht in Taiwan, Hong Kong, and all over the world.

        VNR will automatically convert different Chinese variants (traditional, simplified, Japanese kanji) internal.
        So, when select Chinese as the intermediate language, it does not matter a lot whether to use Traditional
        Chinese or Simplified Chinese.

      Comparison of some sample translations:

      Japanese:      【爽】「悠真くんを攻略すれば２１０円か。なるほどなぁ…」

      Google(vi):    【Shuang】「¥ 210 hoặc nếu chụp các Yuuma-kun. Naa tôi thấy...」
      Infoseek(vi):  【Shuang】「Tôi chụp 210 Yuuma-kun có sẵn. Tôi hiểu?…」
      Bing(vi):      【Shuang】「Tôi chụp 210 Yuuma-kun có sẵn. Tôi thấy bây giờ...」

      LEC(en):       【It's refreshing】「If it captures Yuuma-kun, is it 210 yen? I see.」
      + Bing(vi):    【Nó được làm mới】「Nếu nó bắt Yuuma-kun, là nó 210 yên? Tôi hiểu.」
      + Google(vi):  【Đó là làm mới】「Nếu nó bắt yuuma-kun, nó là ¥ 210? Tôi hiểu rồi.」

      Baidu(zh):     【爽】「悠真君攻略的话，210日元吗？原来如此啊……」
      + HanViet(vi): 【Sảng】「Yuuma-kun tiến công chiếm đóng nói, 210nhật nguyên mạ? thì ra là thế a……」
      + Google(vi):  【Sáng】「Yuuma-kun Raiders sau đó 210 ¥ nó? Vì vậy, đó ah......」
      + Bing(vi):    【Mát mẻ】「Yuuma-kun Raiders, 210 yên? Oh, Ah......」

      JBeijing(zh):  【爽】「如果攻略悠真君210日元？原来如此啊……」
      + HanViet(vi): 【Sảng】「Nếu như tiến công chiếm đóng Yuuma-kun 210nhật nguyên? Thì ra là thế a……」
      + Google(vi):  【Sáng】 「Nếu Raiders Yuuma-kun 210 trong yên? Vì vậy, đó ah......」
      + Bing(vi):    【Mát mẻ】「Nếu các cướp Yuuma-kun 210 yên? Oh, Ah......」

      FastAIT(zh):   【爽】「攻下悠真君的话，210 元吗。原来如此啊。…。」
      + HanViet(vi): 【Sảng】「đánh hạ Yuuma-kun nói, 210 nguyên mạ. thì ra là thế a.….」
      + Google(vi):  【Sáng】「Yuuma-kun nắm bắt nó, 210 nhân dân tệ bạn. Vì vậy, đó ah. ....」
      + Bing(vi):    【Mát mẻ】「Yuuma-kun bị tấn công, tại 210 Yuan. Oh, Ah.…。」

      btw, JBeijng is not free.
      But you might be able to get some help here:

          http://tieba.baidu.com/f?ie=utf-8&kw=%E5%96%B5%E7%BF%BB

    添加了级联不同翻译器来扩展翻译语言的选项。这个和中文没什么关系，大家无视好了。

2/9/2015 MON
  [Translation Scripts]
  * VNR will enable TAH script made by @riz sensei by default to all Japanese => non-CJK-language translation.
    This behavior can be disabled in Preferences/Translation.

    If you are playing non-Japanese game, or if your language is Chinese/Korean, then you can ignore that option.
    VNR will NEVER apply TAH script if the source language is not Japanese, or if the target language is Chinese
    or Korean, even if the translation script option is enabled.

    The translation script tends to normalize Japanese by removing emotional sounds which usually cannot be
    recognized by English translators anyway.
    For example, it will turn:
        なるほどなぁ…
    To:
       なるほど。
    Where the trailing なぁ… is deleted.

    This is never enabled for Chinese/Korean, because なぁ… can affect the emotion of the C/K translation and
    usually downgrades translation quality if deleted.

    在【使用偏好/翻译器】的下边添加了使用日英翻译脚本的选项。大家无视那个选项就好了。
    不论那个选项开启还是没有，都不会对中文翻译产生任何影响。

2/8/2015 SUN
  [i18n]
  * VNR UI's language can be different from user language, which can be adjusted in Preferences.
    在【使用偏好】中可以选择界面语言与翻译语言不同。

  [Translation Scripts](@errzotl)
  * Update TAH script for LEC from @errzotl sensei.

  [Shared Dictionary]
  * The priority of rules is slightly changed that when the pattern have the same length,
    the language that is more special will be applied first.
    For example, given:

      1. Yomi (ja=>*):  クロエ => クロエ
      2. Name (ja=>en): クロエ => Chloe
      3. Name (ja=>ru): クロエ => Хлоя

    Then 3 will be applied before 2, and 2 will be applied before 1.
    If the user want to translate Japanese to Russian, then rule#3 will be used,
    because 'ru' is more "special" than 'en' and '*'.

    当两个词条的匹配文本一样长时，那么语言更加特殊的词条会被优先使用。
    比如，如果A词条的语言是【全部】，B是【中文】，那么B词条会被优先使用。

  * For name/yomigana rules, VNR will deal with 's (en), の (ja), 的 (zh), 의 (ko) suffices
    for CJK and English translations.

    For example, given a name definition: Chloe (en) => 克洛伊 (zh)
    VNR will also translate: Chloe-chan's => 克洛伊酱的 for English-Chinese translation.

    And given a name definition: 克洛伊 (zh) => Chloe (en)
    VNR will also translate: 克洛伊酱的 => Chloe-chan's for Chinese-English translation.

    And given a name definition: 克洛伊 (zh) => 클로이 (ko)
    VNR will also translate: 克洛伊酱的 => 클로이짱의 for Chinese-Korean translation.

    etc.

    英中翻译时，VNR会在把姓名词条后边的「‘s」翻译为「的」。

2/7/2015 SAT
  [Text Settings]
  * Add more text encodings for games.
    The underlying encoders being used for different languages are as follows.
    - Japanese (Shift-JIS): CP932
    - Traditional Chinese: BIG5
    - Simplified Chinese: GBK
    - Korean: CP949

    - Thai: TIS-620
    - Vietnamese: Windows-1258
    - Arabic: Windows-1256

    - Latin (All Western European languages): Windows-1252
    - Central and Eastern Europe (Polish, etc.): Windows-1250
    - Cyrillic (Russian, etc.): Windows-1251

    I don't have games to test these encodings.
    If the texts are not displayed properly in the encoding, just let me know!

  [Shared Dictionary]
  * Translation rules can be specific to more than one translators.
    词条可以选择仅限多个翻译器。

2/6/2015 FRI
  [Game Engine]
  * Add FocasLens engine to get text in 「幻想人形演舞」.
    为「幻想人形演舞」添加了提取文本的支持。

  * Add Syuntada engine for games made by 平安亭.
    Note: You might need Ntleas to run the game on Windows 7, including Japanese Windows.
    LocaleEmulator might not work.

    为平安亭制作的游戏添加了提取文本的支持。.
    注：即使在日文编码的Windows 7上，仍然会需要Ntleas来启动游戏，不然会有乱码的。

  * Text Settings will warn if the scenario thread in the VNR's online database is unknown
    to the current VNR. When it happens, an update of VNR might be needed to support the game.
    当在线数据中的对话文本VNR不知道如何提取时，文本设定中会显示红色的警告。
    这时，也许需要更新VNR才可以正常的提取文本。

  [Game Information]
  * Allow to associate the game with the app on Steam.

  [i18n](Korean, @mireado)
  * Update VNR's UI translation in Korean made by @mireado sama.

2/5/2015 THU
  [Machine Translation](Vietnamese)
  * Add an option to display Phiên âm above Japanese kanji in Preferences/Translation.

  * When there multiple definitions for a Chinese phrase in VietPhrase.txt, VNR will
    underline the translated text. Clicking the translation, and VNR will popup the
    alternative Vietnamese translation.

    The underline behavior can be disabled in Preferences/Shared Dictionary.

  * Add option to display translation alignment between Chinese and Vietnamese
    for HanViet translation in Preferences.

2/4/2015 WED
  [JBeijing](Chinese, @djz020815)
  * 更新了djz大先生的J北京词库。

  [Game Settings]
  * Game text language can be adjusted by clicking Edit on the SpringBoard.
    It should be Japanese for a Japanese game, English for an English game, etc.
    在SpringBoard上点击【编辑】，可以变更游戏文本的语言。
    如果是日文的游戏，那里应该选择日文。如果是英文游戏，那里应该选择英文，etc.

  [Machine Translation](Vietnamese)
  * VNR's HanViet translator will use VietPhrase.txt from QuickTranslatorTAO
    to translate Chinese to Vietnamese.

    A screenshot is as follows:

        http://i.imgur.com/kL6cxUv.png

    Note: If you are playing a traditional Chinese game such as NEKOPARA, the language
    in Text Settings must be set to Chinese instead of Simplified Chinese so that
    VNR will convert Traditional Chinese characters to Simplified Chinese.
    Otherwise, Traditional Chinese characters might not be recognized by HanViet.

  * HanViet translator will also apply translation rules in the Shared Dictionary.
    As a result, a Japanese name in the Chinese translation will be translated to Romaji
    instead of Phiên âm if there are name/yomi rules defined in the Shared Dictionary.

  * Add an option to display Phiên âm above Chinese texts in Preferences/Translation.

2/3/2015 TUE
  [Windows 10]
  * Fix the issue that VNR would crash on Windows 10 build 9926.
    修正了VNR在win10上可能会崩溃的问题。

2/2/2014 MON
  [Game Engine]
  * Add new 5pb text engine for 「超次次元ゲイム ネプテューヌ Re;Birth1」.
    Note: If you are playing an English version, don't forget to change the
    language in Text Settings to English.

    为「超次次元ゲイム ネプテューヌ Re;Birth1」添加了提取文本的引擎。
    注：如果你在玩英文的版本，要在【文本设定】中修改语言为【英文】才好。

  [Machine Translator](Korean)
  * Support English-Korean translation alignment for Naver.com.

2/1/2015 SUN
  [Shared Dictionary]
  * Add a case-insensitive option to the translation rules.
    词条添加了【不区分大小写】的选项。

  [Game Launch]
  * Fix an issue that VNR sometimes is not able to recognize the game when launched
    with Locale Emulator, or in a symbolic link directory, or from a network location.
    修正了启动游戏后，VNR有时无法立刻识别游戏的问题。

  * Game can be launched in non-Japanese locale.
    This might be helpful if you want to play a non-Japanese game.

    For half-translated games with hybrid languages, I am not sure which locale to use.
    According to my experience:
    - If it is a Japanese game half-translated to English, Japanese locale might be used.
    - If it is a Japanese game half-translated to Chinese, Chinese locale might be used.
    For other language pairs, I am not sure.

    For Chinese games, be careful if it is in Traditional Chinese or Simplified Chinese.
    Usually, fan-patched games are in Simplified Chinese;
    while officially translated games are in Traditional Chinese.

    可以选择指定非日文的语言区域来启动游戏。

    特别的，对于翻译了一半的游戏：
    - 如果是日文游戏翻译为中文，那么启动时也许应该选择中文区域。
    - 如果是日文游戏翻译为英文，那么启动时也许还是应该选择日文区域。
    对于其他的语言的搭配，我不太清楚该使用何种语言。

1/30/2015 FRI
  [OCR]
  * Fix a bug that HTML tags could mess up the OCR translation popup.
    修正了OCR翻译中有时会出现HTML标签垃圾的问题。

  [Shared Dictionary]
  * There are now two language properties for a translation rule:
    - Source language (From):
      The language of the original text, i.e. Japanese for a Japanese game.
    - Target language (To):
      The language the user want to translate to.

    The target language is the same as the old language property.
    If you are playing a Japanese game, just put source language as Japanese, and
    everything is the same as before.

    If you are playing a non-Japanese game (English, or Chinese, etc.), you can
    create translation rules specific for that source language.

    共享辞书中的词条现在有两个【语言】的属性了。
    - To: 目标语言。这个和以前版本VNR中的【语言】是一样的。
    - From: 游戏的语言。如果是日文游戏，那么这个属性总是【日文】。

    如果你在玩日文游戏，那么什么都不需要变更。
    如果你在玩英文的游戏，那么可以添加From为英文的词条。

  [Game Engine]
  * Update KiriKiriZ engine to work with 「サノバウィッチ」.

    btw, since this version, KiriKiri stopped using GDI function to draw text by default.
    The traditional way to find KiriKiri hooks by backtracking callgraph to GDI APIs no longer works.
    As a result, I do not have a portable way to hook to KiriKiriZ games anymore.
    VNR's game engine might keep becoming outdated whenever KiriKiriZ implementation is changed.

    修正KiriKiriZ来支持「サノバウィッチ」。
    感谢djz020815 sensei的报告！

1/28/2015 WED
  [Wine]
  * Fixed a bug that caused LEC translation fail to work on Wine.

1/26/2015 MON
  [Machine Translation]
  * Google/Bing/Infoseek translation can also display the alignment between the translation
    and the original text.
    With Google/Infoseek, the alignment works for any supported language pairs.
    With Bing, only Japanese to English/Korean translations can be aligned.

  [i18n](Korean, @mireado)
  * Update VNR's UI translation in Korean made by @mireado sama.

1/25/2015 SUN
  [Machine Translation]
  * Add an option to display mapping of translations for Baidu.com/Naver.com.
    VNR will display the original text above the translation except for those
    modified by the Shared Dictionary.
    A screenshot is as follows. It can be enabled/disabled in Preferences/Translation.

        http://i.imgur.com/6Zf5XTw.png

    VNR默认会显示Baidu和Naver的对照翻译。截图在上边。
    如果翻译没有被共享辞书修改，那么VNR会在中文翻译的上边显示被翻译的日文。
    如果你不想看到，可以在【使用偏好/翻译】中禁用这个选项。

  * I temporarily disabled Japanese syntax-based translation.
    I will enable it later after I finish implementing this feature.
    暂时禁止开启基于的语法翻译了。

1/24/2015 SAT
  [Translation Scripts](English, @errzotl)
  * Update TAH script for LEC from @errzotl sensei.

  [Machine Translation](English)
  * Share translation rules (Shared Dictionary and TAH script) between offline LEC
    and online LEC translators.

  * Handle jittering for non CJK languages (such as English) as well.
    For example, given:
        すみません！ => I am sorry!
    Then:
        すっ、すみません！ => I, I am sorry!

    You might not observe such translation for LEC/ATLAS though, since @errzotl's
    TAHScript tend to delete dangling sounds such as "すっ、".

  * I dropped the old translation mechanism for non-CJK languages (such as English),
    and changed to use the same mechanism as CJK.
    Using the new system for English, it is now possible to observe changes made
    by the Shared Dictionary for ouput/translation/name/yomi/suffix rules.

    A screenshot is as follows, where the changes are marked with underline.
    Click the underlined text and VNR will show the term that causes the changes.

        http://i.imgur.com/uWnRBkD.png

    If you are speaking Chinese/Korean, you can ignore the following long texts,
    as it is already how CJK translation works since the first version of VNR.

    For example, given a yomigana definition in the Shared Dictionary:

        悠真 => ゆうま (ID=12345)

    If I want To translate the following sentence to English using LEC:

        悠真くんを攻略すれば２１０円か。

    In the old VNR, the translation pipeline is like this:

        悠真くんを攻略すれば２１０円か。

        => Apply Shared Dictionary
        Yuuma-kun を攻略すれば２１０円か。

        => Send to LEC
        If it captures Yuuma-kun, is it 210 yen?

    The new translation process is like this, which I called "translation escaping":

        悠真くんを攻略すれば２１０円か。

        => Apply Shared Dictionary
        SN12345 を攻略すれば２１０円か。

        => Send to LEC
        If it captures SN12345, is it 210 yen?

        => Apply Shared Dictionary again
        If it captures {id=12345}Yuuma-kun{/id}, is it 210 yen?

    There are a couple of advantages for the new mechanism.

    1. It can hide the translation contents from the machine translators.
       A machine translator cannot see Yuuma-kun but SN12345.

       This prevents translation from messing up the original Japanese text,
       which is critical to for Japanese-Chinese translation, because Chinese
       translation also consists of kanji.

       This will also enable re-translating text where the translation's language
       is not the same as the machine translator's output language.

       For example, if I want to use ATLAS to translate Japanese to Russian,
       I can first use ATLAS to translate Japanese to English, and LEC to re-translate
       English to Russian.
       Given a yomigana definition: 悠真 => ゆうま => Юума
       I can hide non-English word Юума from being visible to ATLAS in this way.

       I will add retranslation support to VNR soon.

    2. It can hide non Shift-JIS characters in the translation.
       Certain translators such as ezTrans require the input Japanese text to be Shift-JIS,
       which makes it impossible to use simple TAH-like replacement for translation having
       characters not in the Shift-JIS character set.

    3. It allows us to track the changes made by Shared Dictionary like in the screenshot.

    While applying translation escaping, VNR currently will avoid escaping full-width
    Japanese punctuations at the beginning/ending of the translation.
    For example, given a translation definition in the Shared Dictionary:

        はい、 => Yes。 (ID=5678)

    And to translate the following sentence to English using LEC:

        はい、そうですよ。

    VNR's translation pipeline will be like this:

        はい、そうですよ。

        => Apply Shared Dictionary
        SN5678。そうですよ。

        => Send to LEC:
        SN5678. It is so.

        => Apply Shared Dictionary again
        {id=5678}Yes{/id}. It is so.

    As you can see, VNR will avoid escaping "。" in the end of "Yes。".

    For details on how it works, please try Test Machine Translation on the SpringBoard.

  [Shared Dictionary]
  * VNR will automatically translate の after a name or name+suffix.
    For example, given a yomigana definition: 悠真 = ゆうま
    And some suffix definition:

        English: くん => -kun
        Korean:  くん => 군

    Then, VNR will translate "悠真くんの" to:

        English: 悠真くんの => Yuuma-kun's
        Korean:  悠真くんの => 유우마군의

1/23/2015 FRI
  [Shared Dictionary]
  * You can right click the translation subs to add an Output term to the Shared Dictionary.
    可以右键点击翻译字幕中的单词来添加输出词条。

  [Game Management]
  * VNR does not require valid Text Settings to add a new game to VNR.
    To add a game, you can simplify drag/drop the game's executable or shortcut file,
    i.e  *.exe or *.lnk, to the SpringBoard like before.

    But even if VNR is offline or the game does not exist in VNR's database, VNR will still add
    the game and won't open the Game Wizard anymore.
    i.e. You can add WHATEVER game/exe to VNR in this way no matter text hook can extract texts or not.

    This might be helpful if you want to use OCR to extract game text instead of text hook.

    You will have to re-adjust Text Settings if you still need VNR's text hook to extract text.

    Please DO NOT add non-game Windows system process (such as Explorer.exe) to VNR.
    If you do, I might block your IP to access VNR's database depending on the processes added.

    I might totally remove the GameWizard in the future.

    添加新游戏时，VNR不再要求有效的文本设定。
    你可以把游戏程式的exe或者快捷方式（lnk）文件直接拖入SpringBoard来添加新游戏。

    即便游戏不在VNR的数据库中，或者VNR是offline的，VNR也仍然会添加游戏而不再打开【游戏向导】。
    也就是说，即使是VNR不可以提取文本的游戏，你也可以通过这种方式添加到VNR中。

    如果你想要使用OCR来提取文本，而VNR又不支持从该游戏提取文本，也许可以通过这种方式来添加游戏。

    如果你仍然需要VNR来提取文本，那么还是要在启动游戏后重新调整【文本设定】。

    但是，请不要添加好像explorer这样的非游戏的系统进程到VNR。
    否则取决于添加的程式，我可能禁止你的IP来访问VNR的数据库。

    我在以后也许会删掉【游戏向导】的功能。

1/22/2015 THU
  [Shared Dictionary]
  * VNR no longer downloads entries in the Shared Dictionary that has been disabled
    for more than 6 months, which might help reduce same some memory and time.
    If you still want to find these disabled entries, you can search them at sakuradite.com/dict.
    共享辞书中被禁用六个月以上的词条不会再被下载。
    如果你一定要看到这些被禁用的词条，可以到VNR的网站上去搜索。

  * Input/output/translation/name/yomi entries can be translator-specific.
    By default, a translation rule will be applied to all machine translators.
    You can now change it to be enabled on specific translator instead.
    用于改善翻译的词条可以只对某个翻译器开启。

  [Machine Translator]
  * Google translation speed improved.
    提高了Google翻译的速度。

  [i18n](Korean, @mireado)
  * Update VNR's UI translation in Korean made by @mireado sama.

  [Machine Translator](Korean)
  * Add Naver.com online translation support for Korean as suggested by @mireado sama.
    Naver can be enabled in Preferences/Translation.

  [TTS]
  * Add Naver.com online TTS support.
    If you are using Online Japanese TTS while playing games, maybe you can try Naver TTS.

    Naver TTS supports less languages (only CJK and English).
    But Naver Japanese TTS sounds better, has higher bitrate, voice pitch can be adjusted,
    and it supports both Male/Female voices.

    For example, in Voices Settings, if you assign a Male gender to a character,
    VNR will use Naver's male TTS to speak out the text.

    添加了对Naver在线语音合成的支持。
    如果你在用百度的日文TTS来读出游戏对话，那么非常建议你尝试下Naver的日文TTS。

    和Baidu比起来，Naver的TTS更清晰，bitrate更高，可以调整音调，并且同时支持男声和女声。
    比方说，如果在语音设定中，指定某个角色的性别是男性，那么VNR会用Naver的男声来读出日文。

1/21/2015 WED
  [Shared Dictionary]
  * Slightly modified the jitter pattern to eliminate xtsu in the middle.
    An example is as follows:

        すっ、すみません！

        => Chinese: 对，对不起！
        => Korean: 미, 미안합니다!

    稍微修改该了下处理口吃的逻辑来删掉中间的xtsu。例句如上。

1/20/2015 TUE
  [Yomigana](Russian)
  * Support converting Japanese kana to Russian alphabet.
    The current mapping could be found in the following page:

        http://sakuradite.com/wiki/en/Furigana

    If you find errors in the mapping, please let me know!

  * Add an option to display ruby in Russian for Japanese in Preferences/Translation.
    When selected, for example, VNR will display каваий instead of kawaii above 可愛い.

  * For yomi typed terms in the Shared Dictionary, VNR will generate names in Russian
    instead of English when a Russian translator is used.

    For example, given a yomi term: 悠真 => ゆうま
    VNR will then translate 悠真ちゃん => Юума-Чан instead of Yuuma-chan.

  btw., If you want to add name translation to the Shared Dictionary, I hope you can use
  Yomi type instead of Name type, so that different languages don't have to have duplicate
  translations for the same set of Japanese names.
  On the bottom of the Game Information, there is an Import Name widget that might help make
  creating Yomi names easier.

  [Yomigana](Thai)
  * I disabled generating names for Thai since the current kana mapping for Thai
    seems to be totally wrong.

    If you are using VNR to translate Japanese games to Thai, I hope if you could
    give me a hand to fix the mapping on the following wiki page:

        http://sakuradite.com/wiki/en/Furigana

  [Translation Scripts](English/Russian, @errzotl)
  * Update TAH script for LEC from @errzotl sensei.

  [Machine Translator](Russian)
  * Support using LEC to provide offline Japanese to Russian and English to Russian translation.
    LEC will translate to English by default.
    You can enable Russian translation by selecting Russian as VNR's language in Preferences.

    Finally, I managed to get this work, which has been obsessing me for two years ...
    I am using the same method as my old post on hongfire two years ago. How time flies.
    After reading assembly for many games, I finally could understand the logic behind LEC's assembly.

    LEC also supports a couple of European languages as well as Chinese and Korean.
    I am going to add translation support for other languages supported by LEC when I have ime.
    And I will add an option to use LEC/Google/Bing as secondary translator to re-translate
    LEC/ATLAS English translation/subtitles to other languages, such as Russian and Vietnamese.

  btw., I created a page below for browsing the Shared Dictionary online.
  It could be used to look up dictionary entries without opening VNR.
  Currently, all entries are read-only on that page.

      http://sakuradite.com/dict

  创建了一个可以浏览和检索共享辞书词条的网页，在上边。
  不过，网页上的词条是只读的，还不可以修改的。

1/19/2015 MON
  [Game Engine]
  * Update old WillPlus engine to work with new Honeybee games.
    修正了WillPlus引擎失效和无法提取部分Honeybee游戏文本的问题。

  [Command Line]
  * As request, add command line options to minimize VNR to system tray after launch.
    You can do it this way:

        Library\Frameworks\Sakura\bin\reader.exe --minimize --nosplash

    运行上边的命令，那么VNR启动后会最小化到system tray。

1/17/2015 SAT
  [Shared Dictionary]
  * 如果你在【使用偏好/国际化】中屏蔽了英文和韩文，那么更新共享辞书时就不会下载
    【读法】词条了。因为这类词条对中文翻译是没有用处的。
    如果你屏蔽了英文和韩文，那么，在这次更新共享辞书的时候，可以先点击下【重置】
    来删掉本地的读法词条。

  * When generating names from yomigana, VNR will remove う after the o-column hiragana.
    For example, given 佐藤院 = さとういん, the generated names will be Satoin/사토인
    instead of Satouin/사토우인.

    The removal will only be applied if there are at least 4 characters in the yomigana.
    For example, 章(しょう) will still be translated to Shou instead of Sho because
    the original yomigana has only 3 characters (< 4).

    If you don't want VNR to remove う, you can use katakana instead of hiragana as yomigana.
    For example, if the yomigana of 佐藤院 is defined as サトウイン instead of さとういん,
    then VNR will not remove ウ in the middle.

1/16/2015 FRI
  [Game Engine]
  * Fix the issue that text hook might stop working for games for Black Cyc, MIO, etc.
    修正了Black Cyc、MIO等会社的游戏提取文本一段时间后会失效的问题。

  * Fix a bug existing for a long time that certain game engine (Malie, PPSSPP, etc.)
    that generating large numbers of text threads might crash VNR with vnrsrv.dll exception.
    修正了一个存在很久的Malie，PPSSPP等产生大量文本thread时会崩溃的问题。

1/15/2015 THU
  [Shared Dictionary]
  * Fixed a bug that sometimes not all name entries are applied.
    Thanks for @djz020815 sensei's report!

  * VNR will try to handle jittering Japanese sentences for Chinese/Korean, such as:

        す、す、すみません！

        => Chinese: 对，对，对不起！
        => Korean: 미, 미, 미안합니다!

    Note that this only works for Chinese/Korean.
    For English, I don't have a way to handle this pattern.
    So, I add a rule to the Shared Dictionary to delete leading "す、す、" instead.

    For Chinese/Korean, VNR will identify the jitter in the following pattern:

        {{boc}}({{kana}})[、…]\1

    As a result, VNR cannot identify, for example:

        す、済みません

    Because す and 済 are different.

    VNR会处理口吃那样的日文。
    比如说，如果已知「すみません！」会被翻译为「对不起！」。
    那么VNR会自动将 「す、す、すみません！」 翻译为「对，对，对不起！」。

1/14/2015 WED
  [Web Browser]
  * Aero effect is removed which is not portable to different Windows.

1/12/2015 MON
  [UI]
  * Texts in the inspector at the bottom of views (SpringBoard, Shared Dictionary, etc.)
    are selectable by mouse and copyable using CTRL+C.
    SpringBoard、共享辞书等下边的inspector中的文本可以用鼠标选定和CTRL+C来复制。

  [Shared Dictionary]
  * Reduce the time and memory to process large numbers of name entries for machine translation.
    减少了处理姓名词条占用的内存和时间。

  * Fixed a regression that newly submitted rules might not be immediately applied.
    修正了新创建的词条可能会无效的bug。

  * Append a space after English translation term just like Korean.
    For example, given two translation rule:
        かわいい = cute
        女の子 = girl
    Then,  "かわいい女の子" will be translated to "cute girl" instead of "cutegirl",
    where a space will be inserted in the middle.

1/11/2015 SUN
  [Shared Subtitle]
  * Avoid showing duplicate subtitles.
    The first-created subtitle will overshadow later duplicates.
    Thanks for @s793016 sensei's report!
    不显示重复的字幕。
    第一个同学创建的字幕会禁止后边重复的字幕。
    感谢s793016 sensei的报告！

  [Shared Dictionary]
  * VNR will validate correctness of the entries in Shared Dictionary.
    There is a new Check column which shows the possible errors in for the entry.
    - When the check value is in green, the entry seems to be OK.
    - When the check value is in orange, it is a warning and the entry might be inappropriate.
    - When the check value is in red, it is an error and the entry is definitely wrong.

    The detailed error message can be find the bottom of the Shared Dictionary.
    Some sample error messages are as follows:
    - Useless error: the entry has no effect and should be deleted
    - Parenthesis warning: the regular expression might have mismatched parentheses/brackets
      (This check is not accurate)

    You can find all incorrect entries by sorting the Check column.

    VNR会检查辞书词条的正确性。
    在共享辞书的table中添加了一个【验证】列。
    - 当列值是绿色的，那么词条大概是正确的。
    - 当列值是orange（表示警告），那么词条可能是有问题的。
    - 当列值是红色的（表示错误），那么词条一定是有问题的。

    错误的信息可以在共享辞书下边找到。
    一些比较重要的错误如下：
    - 无用：词条是没有作用的，应该删掉。
    - 括号：正则表达式中的括号可能不匹配（不过这个检查并不准确，可能会错）。
    - 中文：语言是中文的词条中不应该包含函简体字。
    - 简中：不包含简体字的词条的语言应该设定为正体中文。

    可以点击【验证】列来显示所有被警告的词条。

1/10/2015 SAT
  [Word Dictionary]
  * Display term ID in Shared Dictionary.
    The ID is a number used by VNR internally to uniquely identify a dictionary entry.
    This number can also be found in the popup when click an underlined translation text.

    If you search an integer, such as 1234, VNR will show the ID=1234 entry.

    When create new entry, before saved online, the ID column will display "Unsaved" in red.

    共享辞书会显示词条的ID。
    这个ID在点击下划线的词条后出现的窗口里也可以找到。

    如果在共享辞书中检索整数，比如1234，那么VNR会显示ID=1234的词条。

    在创建词条后，当词条还没有成功保存时，ID栏会用红字显示未保存。

  * In the machine translation test, click the underlined text and VNR will popup the
    dictionary entry that causes the change.

    测试机器翻译中，点击下划线的文字后，VNR会显示造成变更的相应的词条。

  [Shared Subtitle]
  * Javascript can be used in [url] for subtitles.
    Some examples are as follows. It is still useless, though.
    - [url=javascript://growl.msg('hello world")]Click to growl a "hello world" message[/url]
    - [url=javascript://main.showSpringBoard()]Click to open SpringBoard[/url]
    - [url=javascript://main.showUser('jichi')]Click to display user information of @jichi[/url]
    - [url=javascript://main.searchDictionary("jichi", "user")]Click to search dictionary entries made by @jichi[/url]

1/9/2015 FRI
  [Word Dictionary]
  * Improve dictionary rendering to make it more readable.
    改进了对日文单词字典的渲染。

  [Shared Dictionary]
  * When click the underlined machine translation text, VNR will popup to show
    the dictionary entry that causes the changes.
    Due to technical difficulties, the underline trick only works for the
    entries with the follow types and languages:
    - Output      (all languages, including English)
    - Translation (Chinese/Japanese/Korean only)
    - Name        (Chinese/Japanese/Korean only)
    - Yomi        (Chinese/Japanese/Korean only)

    点击机器翻译字幕的下划线的文字，会填出显示是哪一条规则导致了这个变更。
    不过这只对如下类型和语言的词条造成的变更有效，对其他类型和语言的词条无效：
    - 输出词条（任何语言）
    - 翻译词条（仅限中日韩）
    - 姓名词条（仅限中日韩）
    - 读音词条（仅限中日韩）

  [Shared Subtitle]
  * This is kind of useless, but you can now use [url] bbcode in subtitles/danmaku.
    For example, given the following subtitle, it will render 茶道 with underline.
    And if user clicks that underlined word, VNR will open the wiki link in the web browser.

        [url=http://ja.wikipedia.org/wiki/茶道]茶道[/url]

    在弹幕、人工字幕中可以使用[url]的标签了。
    比方说，给定上边字幕或者弹幕，那么VNR会为【茶道】下划线。
    如果其他同学点击【茶道】，那么VNR会用浏览器打开对应的wiki的链接。

    btw., I am thinking to expose Python/Javascript API though danmaku with bbcode.
    For example, maybe, given the following danmaku:

        [script=python]environ['hentai'] = 1[/script]

    It could be used as a trigger to change the translation environment or whatever
    properties of VNR at specific game scene.
    i.e. the script will only be executed when the game reaches at specific scene
    where the danmaku is submitted.

    Or, the script could also be used to create animated danmaku/subtitle, like this:

        [script=javascript]
           var self = this;
           setInterval(1000, function() {
             self.x += 100;
             self.color = Qt.rgb(self.x % 255, 0, 0);
           });
        [/script]

    And it might also be possible to use [url] to simulate clickable buttons:

        [url="javascript://this.speed=10"]Speedup[/url]

    Enabling Python/Javascript in danmaku is quite simple to implement.
    But I feel it is still kind of useless.
    If you have suggestions to make use of it, feel free to discuss with me!

    我在想，也许，可以在弹幕中内嵌Javascript或者Python的代码。
    比如说，当游戏进入到一定的情节，那么，可以用如下的弹幕来告诉VNR打开hentai词条：

        [script=javascript]environment.hentai = true[/script]

    这样，这个script就只有在游戏进入到发弹幕的那个scene的时候才会执行。
    这个其实很好实现，不过感觉还是用处不大。
    如果你有其他的建议，可以让我知道！

1/7/2015 WED
  [ezTrans](Korean)
  * Preserve "『』" in the translation.
    Prevent ezTrans XP from replacing "『』" with "「」".

  [Ruby](Chinese)
  * Display tone for Pinyin.
    拼音注音会显示声调。

1/6/2015 TUE
  [Translation Scripts](English, @errzotl)
  * Update TAH script for LEC from @errzotl sensei.

  * I wrote some scripts to enable macro support while composing TAH scripts.
    I wrote these scripts originally for @riz sensei to improve English translation quality.
    You can ignore the following text if you have never manually written a TAH script.

    The basic idea is that instead of directly writing a TAH script manually,
    first write translation rules in one or several files, and then use a Python
    script to combine them together to generate a legal TAH script.

    My script could be found at Scripts/tahcompile.sh.
    It will take several translation scripts with a new macro syntax and generate
    a single TAH script.
    It will also do syntax checking to the regular expressions in the translation scripts.
    An example could be found at Library/Examples/TAHScript.

  [Chinese Variants](Korean)
  * Add a toggle in Preferences to use Korean Hanja as Chinese variants.
    【使用偏好】中添加了使用朝鲜汉字为默认中文汉字变体的选项。

  [Ruby](Korean)
  * Add an option to recover hanja for hangul text in Preferences.
    For example, given a sentence as follows (which is picked from Korean Wikipedia):

        자유 콘텐츠는 저작권이 소멸된 퍼블릭 도메인은 물론, 저작권이 있지만 위 기준에 따라 자유롭게 이용이 허락된 콘텐츠도 포함한다.

    VNR is able to recover hanja like this, which mixes hangul with hanja just like Japanese:

        自由 콘텐츠는 著作權이 消滅된 퍼블릭 도메인은 勿論, 著作權이 있지만 위 基準에 따라 自由롭게 利用이 許諾된 콘텐츠도 包含한다.

    In this way, it might make it easier to understand for Korean learners who already know Chinese/Japanese.
    A screenshot with hanja and romaja as ruby is as follows:

        http://i859.photobucket.com/albums/ab155/jichi/hanja_zps0638299d.png

    However, the hanja might not be 100% correct, because the meaning of hangul could be ambiguous,
    whose meaning is usually context-sensitive.
    For example, "이용이" in the above sentence can be either "利用이" or "이容易".
    When that happens, VNR will pick the hanja at beginning of the word (i.e. 利用이) over the others,
    which might be right or wrong depending on the context.
    Additionally, due to ambiguity, VNR currently will not guess hanja for individual hangul.

    I will add support of displaying romaja and hanja for Korean to Website Reader later when I have time.

    在【使用偏好/翻译/读音】中添加选项来恢复韩文中的汉字。
    比方说，给定下边的韩文Wikipedia上的一句话：

        자유 콘텐츠는 저작권이 소멸된 퍼블릭 도메인은 물론, 저작권이 있지만 위 기준에 따라 자유롭게 이용이 허락된 콘텐츠도 포함한다.

    VNR可以将其中的部分汉字恢复出来，变成好像假名和汉字混合的日文一样：

        自由 콘텐츠는 著作權이 消滅된 퍼블릭 도메인은 勿論, 著作權이 있지만 위 基準에 따라 自由롭게 利用이 許諾된 콘텐츠도 包含한다.

    这样，也许可以帮助学习韩文的同学来阅读。
    下边是用汉字和罗马字为韩文注音后的截图：

        http://i859.photobucket.com/albums/ab155/jichi/hanja_zps0638299d.png

    不过，由于韩文本身很容易有歧义，标注的汉字并不能保证100%正确。
    比方说，在上边的例句中，「이용이」既可能是「利用이」又可能是「이容易」。
    这时，VNR会选择位置在单词左边边界的汉字，即：「利用이」。
    不过，这种策略并不一定都是正确的。
    另外，由于单个韩文字母可能对应的汉字太多，VNR不会对单个韩文恢复汉字。

    我以后有时间的话，会把对韩文的支持添加到Website Reader中。

1/5/2015 MON
  [Korean]
  * Add KS_C_5601 encoding to Text Settings for translating Korean games.
    文本设定添加了韩文的文字编码（KS_C_5601）。
    如果要翻译韩文化的游戏，可以选择这个编码。

  [Ruby]
  * Add an option in Preferences/Translation to display romaji as ruby for non-Japanese texts.
    This is useless unless you want to play non-Japanese games using VNR.
    A screenshot of translation with ruby for Chinese Pinyi and Korean Romaja is as follows:

        http://i859.photobucket.com/albums/ab155/jichi/Ruby_zps6c4331ff.png

    在【使用偏好/翻译】中添加一个对非日文语言显示注音的选项。
    这个选项是没有用的，除非你打算用VNR来玩非日文的游戏。
    上边的是包含中文拼音和韩文罗马字注音文本的截图。

1/4/2015 SUN
  [Shared Dictionary]
  * If you have Microsoft Japanese IME installed, when create new dictionary entry,
    the popup dialog will display the guessed kanji of Japanese kana.
    如果有安装微软日文输入法，那么在创建词条时，会显示猜测的假名对应的汉字。

  * In the bottom of Game Information window, there is a new "Import Name" button,
    which might help you add names to Shared Dictionary.
    In the name wizard window, it will display all guessed names for the game.

    - For non-Chinese languages
      You can press "Yomi" buttons to add yomi entries to Shared Dictionary.
      As mentioned before, Yomi names will be automatically converted to English/Korean/Thai
      translations.

    - For Chinese
      You can press "Name" buttons to add name entries to Shared Dictionary.
      VNR will automatically guess the Chinese kanji for Japanese names.

    在【游戏情报】的下边，添加了一个【导入名字】的按钮，可以用来帮助创建姓名词条。
    打开后，弹出的窗口会显示猜测的名字。

    - 对于中文语言
      可以点击【名字】来添加人名词条。VNR会自动猜测日文对应的正体中文或者简体中文的。

    - 对于非中文的语言
      可以点击【读法】来添加读法词条。这里就不细说了。

  * At the bottom of Shared Dictionary, VNR will display Romaji of translation for all languages
    (such as Chinese Pinyin and Korean Romaja) except Japanese and English.
    This is useless unless you want to understand dictionary entries in foreign languages like me.
    在共享辞书的下边，会显示除去英文和日文外全部语言的翻译的罗马字（比如韩语）。

1/2/2015 FRI
  [Forum]
  * Display topics of questions and reviews  per-game.
    VNR会显示与游戏有关的问题和感想。

  [Proxy]
  * If you are blocked by ErogameScape, you can turn on proxy in Preferences/Internet.
    Due to technical difficulties, it currently only works in VNR, not the Website Reader.
    如果你无法访问批评空间，可以在【使用偏好/Internet】中打开代理。
    不过当且只对VNR有效，而对Website Reader无效。

  * If it is very slow to access Baidu.com, you can turn on proxy in Preferences/Internet.
    如果你不在中国大陆地区居住，而造成百度翻译很慢很慢，那么你也许可以尝试打开
    【使用偏好/Internet】中对百度的代理。

  * 恢复了大陆地区对Google翻译的访问。
    但是速度比直接访问Google会慢很多。

  [Shared Dictionary]
  * Add a "private" toggle in the Create Dictionary Entry dialog as requested by @Venomg3 sama.

12/31/2014 WED
  [JBeijing](Chinese, @djz020815)
  * 更新了djz大先生的J北京词库。

12/30/2014 TUE
  [i18n](Korean, @mireado)
  * Update VNR's UI translation in Korean made by @mireado sensei.

12/28/2014 SUN
  [Game Engine]
  * Do not hijack Lstr functions for games made by Chartreux Inc. (Rosebleu, MORE, etc.)
    It might cause text hook to stop working.
    修正了Chartreux旗下的Rosebleu、MORE等社的游戏提取文本一段时间后会失效的问题。

  [Online TTS](Korean)
  * Fixed a bug that Baidu TTS did not speak Korean text.

    btw., if you are learning Korean, you could try ezTrans to translate Japanese eroge to Korean.
    Due to the similarity of the two languages especially the pronunciation, combining with TTS
    for Japanese and Korean, it might give you a hand to learn Korean at the same time.

    修正了百度TTS无法读出韩文的bug。

    btw., 如果你在学习韩语，也许，可以尝试下载ezTrans XP来将日文的游戏翻译成韩文。
    ezTrans是最流行的日韩翻译程式了。
    由于日韩语言极度的相似性（尤其是单词的发音），结合在线日语和韩语的TTS，
    也许可以帮助大家学习韩语。

12/27/2014 SAT
  [Game Engine]
  * Add LunaSoft engine for 「悪堕ラビリンス」.
    为「悪堕ラビリンス」添加了提取文本的引擎。

  * Add new YU-RIS engine for 「鯨神のティアスティラ」.
    The old engine might not work and will crash the game on Windows XP.
    为「鯨神のティアスティラ」添加了新的YU-RIS引擎。

  * Fixed a bug in Leaf engine which might crash White Album.
    修正了一个可能会让White Album崩溃的bug。

12/26/2014 FRI
  [Machine Translation](English)
  * VNR will capitalize the first letter of a sentence for machine translation.

  [Game Engine]
  * Add game engine for 「ハーレムめいと」.
    However, the Text Settings have to be re-adjusted every time the game is restarted.

    VNR now will hook to several functions in mono.dll, which might also work for non-eroge C# games:

        MonoString*    mono_string_from_utf16     (gunichar2 *data);
        mono_unichar2* mono_string_to_utf16       (MonoString *s);
        char*          mono_string_to_utf8        (MonoString *s);
        gchar*         mono_utf8_from_external    (const gchar *in);
        gunichar2*     mono_unicode_from_external (const gchar *in, gsize *bytes);
        gchar*         mono_unicode_to_external   (const gunichar2 *uni);

    为「ハーレムめいと」添加了提取文本的引擎。
    不过这个提取方法不太好，每次游戏重新启动，都需要重新调整文本设定。

12/25/2014 THU
  [Game Engine]
  * Add Leaf engine for 「WHITE ALBUM2 ミニアフターストーリー」.
    为「WHITE ALBUM2 ミニアフターストーリー」添加了提取文本的引擎。

  [Yomigana](Korean, @Reality)
  * Fix the errors in the mapping from Furigana to Hangul.
    Thanks for @Reality sensei's help!

12/23/2014 TUE
  [Game Engine]
  * Remove garbage text in HorkEye engine for 「結城友奈は勇者である」.
    去除「結城友奈は勇者である」文本中的垃圾字符。

  * Add new CatSystem engine for FrontWing games.
    The old engine has been broken for a long time.
    修正了CatSystem引擎提取文本会分裂的问题。

  * Add Mink engine for 「しすたー・すきーむ3」.
    My current hook is kind of crappy that it contains a large number of garbage threads.
    If you have a better way to handle Mink games, feel free to let me know!
    为Mink的游戏添加了提取文本的引擎。

  [Yomigana]
  * Add an option in Preferences/Translation to change position of kanji's yomigana (such as romaji).
    By default, VNR will render big kanji on the bottom, and small yomigana as ruby on the top.
    When that option is toggled, VNR will instead show big yomigana on the bottom, but kanji as ruby.

    This option might be helpful if you are uncomfortable with Kanji but only want to see Romaji.
    Here's a sample screenshot:

        http://i859.photobucket.com/albums/ab155/jichi/yomigana_zps1dd31f9f.png

    在【使用偏好/翻译】中添加了一个选项来颠倒显示的汉字和振仮名（比如罗马字）的位置。
    VNR默认会在下面用大字显示日文，在上方用小字显示注音。
    这个选项开启后，VNR会改为用大字在下边显示注音，用小字在上边显示注音。
    截图在上边。

12/21/2014 SUN
  [i18n](Korean, @mireado)
  * Update VNR's UI translation in Korean made by @mireado sensei.

12/20/2014 SAT
  [Translation Scripts](English, @errzotl)
  * Update TAH script for LEC from @errzotl sensei.

  [Shared Dictionary](Korean)
  * Fixed a bug that might cause translation to become floating numbers.

  * Append a space after each Korean translation.
    For example, given two names:

        桜小路 = 사쿠라코우지, ルナ = 루나

    Then, 「桜小路ルナ」 will be translated to "사쿠라코우지 루나",
    where a space will be inserted in the middle.

  [Shared Dictionary]
  * Name suffices now support regular expressions and macros.
    But please do not use back references in regex suffices, such as:

        (abc) => \1

    Because this might break the regex names that also use back references.
    And if you need regex groups, please use "(?:)" instead of "()".
    For example, please use "(?:さま|サマ)" instead of "(さま|サマ)".

    I am going to clean up the existing suffices in the Shared Dictionary using regex and macros.
    Then, I will delete old non-regex suffices after Two Weeks when most users have updated VNR.

    后缀词条可以使用正则表达和宏定义了。

    不过，请不要使用好像\1、\2、\3这样的表达式作为后缀。
    因为这些表达式可能会破坏正则表达的名字词条。

    使用新的表达方式，可以提高处理名字词条的速度和减少内存的使用量，以及便于管理。
    我在两周后，等大部分同学都更新过VNR了，会删掉共享辞书中以前的非正则的后缀。

  * Add a new Yomi type to the Shared Dictionary for specifying furigana of Japanese names.
    VNR will automatically generate name translation from the furigana into Romaji, Hangul, or Thai.
    Yomi terms have no effect for Chinese translation.

    I notice that there are duplicate character names for various languages, esp. English and Korean.
    Such terms might help share name translations between different languages,
    and allow me to import character names on Getchu in the future.

    For example, given a yomi term in either katakana or hiragana:

        桜小路 = さくらこうじ

    VNR will automatically generate the following three names depending on the language to translate to.

        桜小路 = 사쿠라코우지   -- for Korean
        桜小路 = สะขุหละโขะอุจิ    -- for Thai
        (ignored)               -- for Chinese
        桜小路 = Sakurakouji    -- for any other languages including English

    I am going to create an UI to let us selectively import Yomi names on Getchu later,
    which might save us from manually adding character names.

    添加了一个新的【读法】词条。
    这类词条对中文是没有意义的。VNR在进行中文翻译时会忽略此类词条。
    当前版本的VNR中，大家无视这种词条就好了。

    我在以后会添加一个从Getchu导入人物姓名的界面，这类词条到时候再说吧。

12/17/2014 WED
  [Subtitle Sharing]
  * Add an alternative way to import/export/edit offline subtitles.
    The idea is motivated by the offline subtitles made by @bayooooo sensei for several games.
    For example, you can find the uploaded subtitles for「プリンセスラバー」here, where the subtitles
    are converted from the XML format offline subtitles made by @bayooooo sensei for VNR.

         http://sakuradite.com/game/PRINCESS_LOVER

    The new subtitles are expressed in YAML format.
    If you don't know YAML, please check: http://en.wikipedia.org/wiki/YAML
    YAML is selected as VNR's subtitle format, because it is easy for human to read.
    Here's an example subtitle file to create new subtitles:

        # The root item in YAML file is a list of dictionaries.
        # The first dictionary describes the global options
        - subLang: en
          textLang: ja
        # The following dictionaries are the subtitles.
        - text: こんにちは！
          sub: Hello!
        - text: お花の匂い
          sub: Smell of flower

    The web server will compare the uploaded subtitles with the existing ones in the database.
    If there are no existing subtitles for 「こんにちは！」 and 「お花の匂い」in the online DB,
    the web server will create two new subtitles for them.
    Otherwise, if there are existing subtitles, it will create new *revisions* of the subtitles,
    instead of overwriting the existing ones.

    After uploading, the subtitles can be redownloaded, which might look like this:

        - subLang: en
          textLang: ja
        - id: 101
          text: こんにちは！
          sub: Hello!
        - id: 102
          text: お花の匂い
          sub: Smell of flower

    For example, if I want to replace "Smell" by "Fragrance", I can create the following file
    and re-upload it to the server.

        - subLang: en
          textLang: ja
        - id: 102
          text: お花の匂い
          sub: Fragrance of flower

    Here, the "id: 102" part is optional. The following file also works.
    But keeping the id will help the server speed up the subtitle comparison process.

        - subLang: en
          textLang: ja
        - text: お花の匂い
          sub: Fragrance of flower

    Note that VNR will create a new revision of the subtitle, instead of simply replacing the string.
    The subtitles are saved in a wiki-like way.
    In the future, I am going to create UI to allow people to revise/revert to previous revisions.

    Currently, there is a limit of 200 changes that each upload can made to the existing subtitles.
    It is intended to prevent malicious/by mistake sabotage to the existing subtitles.

    After upload, the server will categorize the subtitles into five groups:
    - total: it contains all subtitles that are processed
    - create: it contains new subtitles that do not exist in the database
    - update: it contains subtitles that have modified existing subtitles
    - ignore: it contains subtitles that are the same as the existing subtitles
    - error: it contains the subtitles that are rejected, and the reject reasons

    After uploading the subtitles, VNR will render the them in game in the old subtitles.
    The new subtitles is implemented in very efficient way, which is faster and takes few memory.
    For examples, all Chinese subtitles of PRINCESS LOVER takes only 15MB RAM.

    Currently, I haven't finished implementing the support to submit/edit new subtitles in VNR.
    The only way to add/edit subtitles is to upload YAML files.
    I am going to implement a new subtitle editing interface to expose revisions of subtitles later
    allowing people to revise and revert changes.
    And I am also going to add support to record game text into YAML files to allow users to create
    or edit subtitles offline without opening VNR.

    btw., I also created some scripts to manipulate YAML subtitles, which you can find in Scripts.
    - Script/sublint.cmd
      This script can check if there are syntax errors in the YAML subtitle file.
    - Script/subx2y.cmd
      This script can convert existing XML subtitle file to YAML format.
      It is intended to help @bayooooo sensei convert his external XML subtitles to new YAML format.
      Please don't use it to convert subtitles already existing in VNR.

    I plan to change the subtitle sharing mechanism in VNR to a new wiki-like way.
    Because I don't want to break the existing subtitles in VNR, I will first finish implementing
    the new sharing mechanism and then port existing subtitles to the new system.

    There are some major differences comparing the organizations of the new and old subtitles.
    - Old subtitle sharing mechanism
      Multiple subtitles are allowed for the same text.
      One subtitle is saved with one text.
      Each subtitle is owned by a user.

      Illustration example:
        User1 (lang1): text1 = sub1
        User2 (lang1): text1 = sub2
        User3 (lang2): text2 = sub3

    - New subtitle sharing mechanism
      Only one subtitle is allowed for the same text per language.
      The editing history of each subtitle is saved.
      Each change made to a subtitle is owned by a user.

      Illustration example:
        text1
        - lang1
          - user1: sub revision 1
          - user2: sub revision 2
        - lang2
          - user3: sub revision 1

      Here's an example translation in XML format that might help illustrate the organization:

        <texts lang="ja" gameId="425">
          <text time="1418887452">
            <content>こんにちは！</content>
            <sub lang="en" version="3">
              <revision version="3" userName="bayooooo" time="1418887533">
                <content>Hello!</content>
              </revision>
              <revision version="2" userName="jichi" time="1418887826">
                <content>Hello</content>
              </revision>
              <revision version="1" userName="jichi" time="1418887819">
                <content>Good morning!</content>
              </revision>
            </sub>
            <sub lang="zh-CN" version="1">
              <revision version="1" userName="jichi" time="1418887533">
                <content>你好!</content>
              </revision>
            </sub>
          </text>
        </texts>

    It defines two subtitles in two languages (en and zh-CN) for the same text 「こんにちは！」
    for game 425 (game ID of PRINCESS LOVER is 425).
    For the en subtitle, there are 3 versions.
    User "jichi" first created an initial translation "Good morning!" on 1418887533.
    Then, the subtitle was changed to "Hello" on 1418887819.
    Finally, another user "bayooooo" modified the subtitle to "Hello!" on 1418887533.

    If you have suggestions or concerns for the new subtitle sharing system,
    feel free to let me know!

    我在修改保存和编辑人工字幕的方式。
    当前，只支持上传和下载YAML格式的人工字幕。
    这个想法是收到 @bayooooo sensei制作的VNR的离线字幕的启发的。
    比方说，在下边可以找到导入到PRINCESS LOVER中的字幕。
    新的字幕采用YAML格式保存，转换自 @bayooooo sensei以前制作的XML格式的字幕。

         http://sakuradite.com/game/PRINCESS_LOVER

    新的字幕保存机制采用类似Wiki的方式。
    新的字幕保存机制和老的字幕保存机制的最大的区别在于：
    - 老的机制
      每字幕都被一个同学拥有。
      同一个文本可能出现多个同学的多个字幕。

    - 新的机制
      对同一个文本，同一种语言，只允许有一条字幕。
      保留每条字幕的全部编辑历史。允许revise和revert到不同的revision。
      对字幕的每个修改都被一个同学拥有。然而，整条字幕不再被一个同学拥有。

    另外，VNR对新版本字幕的处理更加有效率。字幕的更新采用增量更新。
    新版的字幕不会像老版的字幕那样占用很多内存和带宽了。
    比方说，载入全部PRINCESS LOVER的字幕只需要15MB的内存。

    不过，VNR端对于新版字幕的编辑和提交还没有写完。
    字幕在下载到VNR中后，是只读的。
    我在以后会添加新的字幕编辑的界面，好像Wiki那样可以显示字幕编辑的历史和允许revert changes。
    另外，我也会添加将游戏的文本提取出来并保存为YAML的格式，来便于大家离线修改字幕。

    btw, 在Script文件夹中有一些字幕格式有关的工具。
    - sublint：检查字幕中是否有语法错误
    - subx2y：将xml格式的字幕转换为yaml
    如果你要生成yaml的字幕，也许可以参考这两个脚本的源码。
    源码在Library/Frameworks/Sakura/py/scripts中可以找到。

    如果你有建议或者担心，可以让我知道！

12/13/2014 SAT
  * Proxy to ErogameScape no longer works.
    对批评空间的代理失效了。
    看起来，VNR服务器的ip被批评空间屏蔽了。
    查看了下批评空间11月的流量统计，VNR代理的访问排在所有访问的第47位，也许被站长发现了吧。

12/10/2014 WED
  [Machine Translator]
  * Fix Bing online translator, which stopped working due to the changes of Microsoft website.
    修正了Bing在线翻译失效的问题。由于微软网站的变更，老版本VNR的Bing无法使用了。

12/9/2014 TUE
  I put VNR's recent changes in the following page.
  If you don't like updates, you can check the changes to determine whether update VNR.

      http://sakuradite.com/app/vnr/changes

  我把VNR最近的变更放在上边的地方了。
  如果你不喜欢经常更新程式，也许可以查看下上边的变更来决定是否值得更新VNR。

  [JBeijing](Chinese, @djz020815)
  * 更新了djz大先生的J北京词库。

  [Translation Scripts](English, @errzotl)
  * Update TAH script for ATLAS/LEC from @errzotl sensei.

  [Shared Dictionary]
  * VNR now will do incremental update to the Shared Dictionary by default, which is
    much faster and uses less memory and network bandwidth.
    VNR更新共享辞书时改为增量更新，这样可以大幅减少更新所用的时间、内存和带宽。

    But if the local Shared Dictionary is corrupted for whatever reason,
    you can press "Reset" in the update prompt to discard local data and
    redownload the entire Shared Dictionary (which will be slower).
    但是如果由于未知的原因，本地的共享辞书损坏了，那么在更新时可以选择【重置】
    来重新下载辞书的数据（这样会慢些）。

12/4/2014 THU
  [OCR]
  * As requested, add a keyboard shortcut to start/stop monitoring game window to OCR.
    The shortcut can be adjusted in Preferences/Shortcuts.
    添加了一个快捷键来开启、停止监视要OCR的游戏窗口。

  [Speech Recognition](Windows XP)
  * Selecting audio devices for speech recognition is always disabled on Windows XP,
    as it might hang VNR on startup on certain hardware.
    在Windows XP上，禁止选择内录的音频设备来语音识别。
    否则因为在个别的Windows XP的机器上会让VNR无法启动。

  [Game Engine]
  * The logic of Majiro2 engine is changed so that it can remove 振仮名 from game text,
    as these 振仮名 would mess up machine translation.

    If you are playing Majiro2 games such as 残念な俺達の青春事情 and 流され妻 released
    this month, you will have to re-adjust Text Settings.
    Sorry for the inconvenience!

    修改了Majiro2引擎的逻辑来删掉文本中的振仮名。
    因为这些振仮名会扰乱机器翻译。

    如果你在玩本月的Majiro2的游戏，比如：「残念な俺達の青春事情」和「流され妻」，
    那么你将不得不重新调整【文本设定】。
    带来不便很抱歉！

  P.S. 看到有同学将「残念な俺達の青春事情」的文本设定的编码修改为了BIG5。
    所谓的文字编码，就和Chrome、Safari、Firefox等浏览器中网页的文字编码的含义是一样的。
    但是BIG5和GBK都是中文的编码。
    除非是汉化的游戏，否则绝对不要选择这两个编码，不然提取的文本会变成乱码的。

    在【文本设定】每个提取文本的右边，都用黑色的字写着文本的编码的。
    除非是汉化的游戏，否则【文本设定】的编码一定要与选择的【对话】文本右边的编码相同才可以。

12/2/2014 TUE
  [Game Engine]
  * Add 5pb engine for「CROSS+CHANNEL Final Complete」.
    It might also work for other 5pb PSP/PS3 games ported to PC.
    为「CROSS+CHANNEL Final Complete」添加了提取文本的引起。
    这个引擎也许还会支持其他的移植到PC版的5pb PSP/PS3的游戏。

  * 屏蔽添加CalendarMain.exe为游戏。

11/28/2014 FRI
  [Game Engine]
  * Add text engine for new Majiro game「流され妻、綾乃の"ネトラレ"報告」.
    The old Majiro engine cannot extract text any more and will crash the game on Windows XP.
    为「流され妻、綾乃の"ネトラレ"報告」添加了新的Majiro引擎。
    感谢@天音老师 sama的报告！

  [Preferences]
  * As requested, add an option to select the location to save game screenshot in Preferences/Recordings.
    在【使用偏好/录制】中可以选择保存游戏截图的位置。

  [Shared Dictionary]
  * As requested, add a combobox to select the column to search the Shared Dictionary.
    在共享辞书中添加了一个可以选择搜索列的选项。

11/24/2014 MON
  [Game Engine]
  * Fixed a bug that might crash KiriKiriZ games such as「VenusBlood HYPNO」.
    修正了一个可能会让「VenusBlood HYPNO」崩溃的bug。

11/22/2014 SAT
  [Preferences]
  * Add an option to disable auto-hiding the left dock.
    This might be useful if you are running VNR on a tablet.
    在左边Dock的右键菜单中可以禁止自动隐藏Dock。
    如果你在平板电脑上使用VNR，这样也许会方便些。
    感谢@青穹牧云 sama的建议。

11/20/2014 THU
  * Automatic speech recognition (ASR) is temporarily disabled.
    Going to re-enable it after adding offline ASR support.
    因为性能太差，暂时禁用了自动语音识别（ASR）。

  * Allow uploading images in the messages.
    在留言板可以上传图片。

11/16/2014 SUN
  * Update LocaleSwitch to the latest version 1.0.1.1.
    Thanks for @867258173 sama's report!

  * In Website Reader, make sure Japan-only pages will not be blocked by DMM.
    确保Website Reader的网页不会被DMM屏蔽。

  * Add alternative KAGParserEx hook engine for KiriKiriZ games.

11/15/2014 SAT
  * Add very primitive support to translate online galgame 「対魔忍アサギ～決戦アリーナ～」
    using Website Reader. A screenshot is as follows:

         http://i.imgur.com/kkVo36l.png

    The subtitles can be turned on by clicking the 遊 button on the toolbar.

    Currently, only machine translation is supported.
    Any other features in VNR such as TTS, MeCab, and Shared Dictionary have not been implemented.
    And 対魔忍アサギ is the only supported game.
    I am planning to allow users to specify the location of the text to translate using simple
    jQuery selectors in the future.
    If you would like to have other online games supported, feel free to let me know!

    Note：VNR is using Apple's WebKit to access Internet, which requires QuickTime to play multimedia.
    The online game might not have sound if Apple's QuickTime is not installed.

    添加了对翻译在线日文游戏的非常简陋的支持。
    下边是「対魔忍アサギ」的截图。

        http://i.imgur.com/kkVo36l.png

    这个机能可以在Website Reader点击工具栏中的【遊】按钮来开启。

    当前仅支持机器翻译。TTS、分词、共享辞书什么的全都不支持。
    而且VNR只支持从「対魔忍アサギ」提取scenario的文本，并不能翻译全部文本。
    我在以后会添加界面来让大家可以用非常简单的jQuery的语法来指定要翻译的文字的位置。
    如果你希望添加其他在线游戏的支持，也可以让我知道！

    注：VNR内部使用的是苹果的WebKit，需要QuickTime来播放在线媒体。
    如果没有安装QuickTime的话，在线的游戏可能会没有声音。
    QuickTime可以在苹果的官网免费下载到的，安装完成后需要71MB。

11/14/2014 FRI
  * Add text hook engine for 結城友奈は勇者である from みなとそふと.
    为「結城友奈は勇者である」添加了提取文本的引擎。

11/5/2014 WED
  * Update TAH script for LEC from @errzotl sensei.

  * 更新了djz大先生的J北京词库。
    by djz，针对10月的新作有很多修正。如果你希望添加新词到J北京，可以到下边向先生反馈：

        http://sakuradite.com/topic/220

  * Fixed a bug that VNR might crash when EDICT is enabled while clicking Japanese words to lookup very fast.

11/4/2014 TUE
  * Enable context menu for full screen Adobe Flash 10 games.
    Adobe Flash Player 10的游戏在全屏后仍然可以使用右键菜单。

11/2/2014 SUN
  * Support using Google Speech Recognition (SR) online service to extract text from game audio.
    There is a Speech Recognition Tester on the SpringBoard.
    You can also enable periodical recognition on the left dock after a game is launched.
    There is also a keyboard shortcut (Alt+R) that can trigger the SR.

    By default, the sound is recorded through Microphone, where the quality is low.
    If you want to record audio in games, it is better to specify which device to use in Preferences/SR.
    However, on Wine or Virtual Machines (such as Parallels Desktop) where the emulated sound card
    does not support recording, only Microphone can be used to record speech.

    The current support is very primitive.
    - It requires high-speed Internet access to Google.

    - There are no OCR-like customized filters to eliminate BGM behind speech.
      The accuracy of the recognition can not adjusted.

    - VNR's algorithm is not clever enough to detect when a sentence has finished.
      Currently, an audio is divided into sentences by "silence".
      But if there is no silence, VNR will keep recording and never do recognition.
      You might usually have to manually trigger the recognition (Alt+R) before/after a sentence.

    添加了通过Google语音识别(Speech recognition, or SR)来提取文本的功能。
    在SpringBoard上有一个测试的app。
    在游戏启动后，在左边的Dock里也可以打开自动语音识别。
    另外，在【使用偏好/快捷键】中可以指定快捷键（默认是Alt+R）。

    默认时，VNR会录制麦克风的声音（所谓的外录，质量会很差）。
    如果要对游戏使用语音识别，那么最好在使用偏好里选择声卡支持的录制设备（内录）。
    但是，如果在Wine上或者虚拟机中（比如Parallels Desktop），声卡不支持录制，那么
    只好通过麦克风来录制声音。

    当前的支持还很原始的。
    - 语音识别需要和Google之间的高速的网络连接。
      如果你暂时居住在大陆地区，那么需要在【使用偏好/Internet】打开中国大陆选项。
      但是即使打开，速度还是会很慢。

    - 现在还没有OCR的过滤器那样可以手工过滤掉声音背后的BGM的功能。

    - VNR不能够很聪明的检测到一句话何时完成。
      VNR当前只是简单地检查声音的强度是否很低，来分割录制的声音。
      但是，当录制的声音一直都没有停止（比如有背景音乐），那么VNR会一直录制而不开始识别。
      当前暂时只好手动的点击【识别】（或者Alt+R）来告诉VNR一句话何时开始何时结束。

11/1/2014 SAT
  * Fix a bug that the mouse/keyboard shortcuts might stop working after a while.
    修正了快捷键有时会失效的问题。

10/31/2014 FRI
  Since so many users were using VNR simultaneously this weekend, VNR's server was overloaded.
  You might experience failure to update VNR's Shared Dictionary and game database
  around JST 10:00pm this Friday.

  VNR's services are written in Python and Java. I temporarily shut down the Java server so that
  the Python server could serve the large amount of queries to the game database the Shared
  Dictionary normally. But you are no longer to post or register new accounts online like before.
  I am going to fix scalability issue of the current service implementation when I have time.
  Sorry for the inconvenience!

  因为这个周末使用VNR的同学太多了，造成服务器超负荷了。
  VNR在周五晚上可能出现了无法登陆，无法更新辞书等问题。
  为了节省服务器的资源，使得VNR可以正常更新辞书和游戏数据库，我暂时关掉了VNR的网站的Web UI。
  带来不便，很抱歉！

  * Add Adobe Flash Player 10 game engine for 輪舞曲Duo from TinkerBell.
    为TinkerBell的「輪舞曲Duo」添加了提取文本的引擎。

10/28/2014 TUE
  * Update TAH script for ATLAS/LEC.
    The scripts are from @errzotl sensei, and you can say thanks to him/her at TAHscript@outlook.com.

10/25/2014 SAT
  * Add alternative SiglusEngine that can extract character name thread.
    为SiglusEngine添加了可以提取人物姓名的thread。

  * VNR no long hooks to GDI functions when the game engine is known to be sufficient to extract all texts.
    This might save some memory and reduce the possible game slowdown caused by text extraction.

10/24/2014 FRI
  * Remove garbage texts for KAGParser and CIRCUS engines so that Share Dictionary
    rules to repair text are no longer needed.
    Additionally, ITH is extended to allow removing garbage text per game engine.
    If you find certain game engine always has similar kind of garbage, feel free to
    let me know!

    自动移除KAGParser和CIRCUS引擎文本中的垃圾。

  * Add new KiriKiriZ game engine that can extract character name.

  * 禁止把NK-Frontend.exe当做游戏添加到VNR。

10/21/2014 TUE
  * Add a new KAGParser game engine for 「VenusBlood HYPNO」, which uses KiriKiriZ.
    The existing KiriKiri1/KiriKiri2 seem to be broken for KiriKiriZ games.
    However, the new engine currently cannot extract character name, and the extracted
    text contains "[r]" garbage which requires Shared Dictionary rules to clean-up.

    As you known, KiriKiri is a very popular game engine.
    If you find a better way to handle KiriKiriZ games, feel free to let me know!

    btw., the context menu of VNR still works when KiriKiriZ games enter full screen.

    为VenusBlood HYPNO添加了新的KiriKiriZ引擎。
    感谢jin70908469 sama的报告！

    另外，在KiriKiriZ的游戏全屏后，VNR的右键菜单仍然可以使用。

  * 修正了正体中文时的【我】会被替换为【緸】的问题。
    带来不便，很抱歉！

10/20/2014 MON
  * Fix a bug in 東北ずん子 TTS that sometimes only half of the sentence was read.
    修正了東北ずん子有时只读出半句日文的bug。

10/19/2014 SUN
  * Use OpenCC instead of Google to convert different Chinese variants.
    Add an option in Preferences/Translation/Chinese for selecting default Kanji variants among
    Taiwan Standard Chinese (default), Hong Kong traditional Chinese, and Japanese Kanji.

    VNR's default Chinese UI is changed to use Taiwan Standard Chinese.

    改为使用OpenCC而不再用Google来做中文变体的转换。
    在【使用偏好/翻译/中文】中添加了选择中文变体的选项，可以在
    中华民国正体字（默认），香港繁体字，和日本汉字之间选择。

    另外，VNR默认的中文界面改为使用OpenCC的正体中文。
    马英九总统有提倡简体中文的使用者「识正书简」。希望这样可以帮助大家回归正体中文。

  * vnrcli.dll and vnreng.dll are merged into a single vnrhook.dll
    If you have anti-virus soft installed, you might have to add that dll onto the whitelist.

    用于提取文本的vnrcli.dll和vnreng.dll合并为了一个vnrhook.dll。
    如果你在使用杀毒软体，也许需要将那个dll加入白名单中。

  * For certain game engines such as SiglusEngine, VNR no longer disables context menu
    when game enters full screen.
    对于某些游戏引擎比方说SiglusEngine，VNR在游戏全屏后不再禁用右键菜单。

10/18/2014 SAT
  * Add new SiglusEngine for リア充クラスメイト孕ませ催眠.
    为「リア充クラスメイト孕ませ催眠」添加了新的游戏引擎。

  * Bugfix for the correctness of the generated romaji and hangul furigana.
    修正了罗马字和韩文的振仮名的部分错误。

10/17/2014 FRI
  * Add variable syntax to VNR's new machine translation system.
    It can be enabled in Preferences/Shared Dictionary.

    Current, it is still at testing stage.
    Please do NOT enable it to translate real-world games except for testing purpose!!

    Regarding the syntax, for example, $x can be used to match any single node in the syntax tree.
    And @x can be used to match a list of any adjacent nodes in the syntax tree.
    Here's some example illustrating how it works:

    Given a syntax tree:  ((((お前 の) (物 は)) (俺 の)) 物)
    The following replacement will translate の at the end of an adjective to "的" in Chinese.
    - ($x の) => ($x 的) -- $x = お前
    - (($x の) $y) => (($x 的) $y) -- $x = お前, $y = 物は
    Here's an example for list variables:
    - ((@adj) 物) => ((@adj) 东西) -- @adj = ((お前 の) (物 は)) and (俺 の), totally two nodes

    向VNR的翻译系统添加了变量的语法。
    在使用偏好的共享辞书中可以开启这个选项。

    现在，这个技能还在测试中。除非测试目的，请不要打开这个选项！！

    比方说，给定： ((((お前 の) (物 は)) (俺 の)) 物)
    下边是scalar形变量的例子，可以把形容词后边的【の】翻译为【的】：
    - ($x の) => ($x 的) -- $x = お前
    - (($x の) $y) => (($x 的) $y) -- $x = お前, $y = 物は
    下边是list型变量的例子：
    - ((@adj) 物) => ((@adj) 东西) -- @adj可以捕获【((お前 の) (物 は))】和【(俺 の)】一共两个node

    比方说：こう言う時どんな顔すればいいのか分からないの。
    百度的翻译：这么说的时候，什么样的表情比较好懂的。

    给定语法树：(((こう 言う) 時) どんな) (顔 すれ ば いい の か)) (分から ない の 。))
    当前可以这样定义翻译规则的：

      顔                       => 脸（表情）
      ($vi すれ ば いい の か) => ($vi 才好呢)
      ($adv どんな)            => ($adv 什么样的)
      (分から ない の 。)      => (不 知道 的 。)
      ((こう 言う) 時)         => ((这样 说的) 时候)

    这些规则，会按照它们根节点孩子的数目排序。
    根节点的孩子最多的规则（也就是第二条）会先执行，最少的（也就是第一条）会最后执行。
    使用这些规则后，最终的翻译的结果是：

       这样说的时候什么样的脸（表情）才好呢不知道的。

10/13/2014 MON
  * Improve the support for 東北ずん子.
    VNR can directly play the TTS without launching zunko's program.
    I dissembled zunko into C# code and reimplemented the logic using C++.
    .NET and clipboard are not needed, and there is no blacklist of H-words.
    But currently, the pitch/speed/range of the voice cannot be adjusted like in zunko.

    改善了对「東北ずん子」的支持。VNR不需要启动她，就可以直接调用TTS了。
    这个功能不需要.NET，不需要剪贴板，也没有ずん子的H黑名单的问题。
    不过，当前还不支持调整ずん子的音调、语速和重音。

  * VNR's UI is flatter.
    改为扁平界面了。

10/11/2014 SAT
  * Add rUGP2 engine for new マブラヴ series games from アージュ.
    为アージュ社的新游戏添加了rUGP2的引擎。

10/9/2014 THU
  * Add support for all VOICEROID+ and VoiceText online TTS.
    You can select your favorite TTS in Preferences/Text-to-speech or per-game Voice Settings.
    But the online TTS is relatively slow comparing to the offline version.

    添加了对全部VOICEROID+和VoiceText的在线TTS的支持。
    在【使用偏好】或者【语音设定】中可以选择这些TTS。
    在线的版本比离线的版本要慢。

  * 修正了金山快译使用一段时间后可能会失效的问题。

10/8/2014 WED
  * Add a toggle in Preferences/Translation to convert Mandarin to Yue Chinese.
    添加了使用百度将国语字幕转换为粤语的选项。在【使用偏好/翻译】中可以开启。

  * Display game sizes on the Game Board.
    You can also search "GB" for large games >= 1GB, or "MB" for small game < 1GB.
    Game Board会显示游戏的大小。
    你也可以搜索“GB”来得到大于1GB的游戏，或者“MB”来得到小于1GB的游戏。

  * The texts modified by the Shared Dictionary are underlined by default now.
    This could help remove the redundant spaces for Chinese/Korean escape terms.
    If you don't like the underline, it can be disabled in Preferences/Shared Dictionary.
    VNR现在默认会下划线被共享辞书修改的文本。
    这样可以帮助删掉被替换文本两边的多余的空格。
    如果你不希望看到下划线，可以在【使用偏好/共享辞书】中禁用下划线。

10/7/2014 TUE
  * Fixed a severe regression that might crash VNR.
    I am very sorry for the inconvenience! m(_ _)m

    修正了一个可能会让VNR崩溃的问题。
    给大家带来不便，非常抱歉！m(_ _)m

  * Add Baidu TTS. The voice is the same as VW Misaki from Korea, except that
    the bitrate is lower than the offline version.
    添加了对百度TTS的支持。
    百度的日文TTS使用的是韩国的VoiceText Misaki。
    和离线版本比起来，百度TTS的bitrate更低，音质要差些。除此之外，没有区别。

  * Add Bing TTS.
    添加了对Bing TTS的支持。

  * The volume and speed for online TTS can be adjusted in Preferences.
    在使用偏好中可以调整在线TTS的速度和音量。

  * The pitch for SAPI TTS can be adjusted in Preferences.
    Higher pitch will make the voice to sound younger.
    在使用偏好中可以调整SAPI TTS的音调。
    音调变大时，声音听起来会更年轻些。

  * You can toggle "Speak -> Original" or "Speak -> Translation" on the left dock
    to select whether to read the original game texts or the subtitles.
    运行游戏后，点击左边的【朗读】=> 【翻译】，VNR会使用在线或离线TTS读出中文字幕。

  * Online TTS support for VNR's website reader has not been implemented yet.
    VNR内置的浏览器暂时不支持在线的TTS。

10/6/2014 MON
  * The online TTS implementation is switched from Apple QuickTime to native Windows Media Player (WMP).
    If you have a genuine Windows, WMP has already been installed.
    So, nothing is required to use the online TTS.

    The performance of the online TTS is improved.
    You can find the cached TTS audios in MP3 format in Caches/tmp/reader/tts.
    The new online TTS implementation is surprisingly very fast. Even as fast as offline TTS.
    And it works both with and without administrator privileges.
    I am going to add more online TTS and support for adjusting TTS volume and speed soon.

    在线TTS的音频改为使用Windows Media Player（WMP）来播放，而不再使用QuickTime。
    如果你在使用的是正版的Windows，那么WMP默认已经安装了的。

    另外改善了在线TTS的performance。
    在线TTS的音频会以MP3的格式保存在Caches/tmp/reader/tts。
    新的在线TTS的实现非常非常的快，甚至和离线的TTS一样快。
    并且在线TTS在管理员和非管理员权限下都可以正常使用的。
    我在之后会添加更多的在线TTS，和添加调整TTS语调和音量的设定。

10/4/2014 SAT
  * Fixed a cache inconsistency bug for the Shared Dictionary.

  * Add a new kind of syntax-based translation terms to the Shared Dictionary.
    It might help improve machine translation quality.
    Comparing to the old terms which work at Japanese-character level, the new terms can catch
    lexical or syntactical patterns.
    You can enable it in Preferences/Shared Dictionary.
    The new translation system requires MeCab, CaboCha, and UniDic to work.
    All of them are open-sourced libraries and can be downloaded for free in Preferences/Downloads.

    You can ignore the following text if you don't know any Japanese or have never used the
    Shared Dictionary before.

    There is a also a Japanese Syntax Tester for debugging the terms.
    But currently, the new syntax terms cannot be debugged in the Machine Translation Tester
    (I haven't got time to implemented the support in this tester yet).

    Currently, guest account is not allowed to create syntax terms.

    As none of the existing machine translators is open-sourced, we cannot have fine-control
    over the translation process, and the machine translation quality is always bound by
    the 3rd-party translator being used.
    Though there are Shared Dictionary and TAH scripts, but all of the existing rules
    are context-insensitive lexical-level text replacement, and their capabilities are quite limited.

    My ultimate goal is to a design new rule-based machine translator in VNR based only on
    the community-contributed translation rules in the Shared Dictionary.
    The other machine translators will become optional, and only serve as alternatives
    or dictionaries for looking up seldom used words.

    The current syntax-based translation system is still very primitive, though.
    I guess it might take at least half a year to get every thing done and have
    enough translation rules for daily Japanese sentences.

    If you have questions or suggestions, feel free to post them to the following topic.

        http://sakuradite.com/topic/471

    You can play with the new syntax terms, but please don't extensively add tons of rules
    at the moment. I am going to add more grammar to describe the syntax soon.

    Currently, my focus is on Japanese-Chinese translation.
    It might also work well for Japanese-Korean translation.
    But my current focus is NOT on Japanese-English translation.
    The current translation system does not address the challenges in English translation,
    such as how to deal with plurals/articles, which do not exist in Chinese/Japanese/Korean.
    I might come back to think about English and other languages after the Chinese/Korean
    translation support is mostly done.

    In the following text, I am going to discuss the new system and the future plan in my mind.

    I. Motivation

    Let's start with an example:

        白い髪の娘は白ちゃんです。

    If I want to translate, say, 【白】=>【Haku】using a Translation term, it will break 【白い】.
    This problem can be solved in the new translation system.

    In the new system, VNR will first construct a Syntax Parse Tree for the sentence,
    as follows:

        (((白い (髪 の)) (娘 は)) (白 ちゃん です 。))

    There are 9 leaves in total: 白い, 髪, の, 娘, は, 白, ちゃん, です, and 。.
    These nodes are separated by either " " (space) or "()" (parentheses).
    The content in-out of the parentheses are parent-child.
    The content next to each other are sibling nodes.
    For instance: (白い (髪 の)) is the parent of(髪 の), and the grand-parent of【髪】.
    And 【髪】 and 【の】are siblings.

    Additionally, I also have the types of each node, such as if the node is a noun, name, verb, etc.
    The current VNR does not support matching the types of the nodes, though.
    Going to add this support soon.

    After the syntax parse tree is constructed, VNR will use the syntax terms from the community
    to translate the tree.
    The pattern of the term will be used to match any subtree in the Syntax Tree.
    If matched, the node will be replaced by the subtree created from the replacement text.
    You can debug this process in the "Japanese Syntax Tester" widget.

    For example, 【白】 will match 白 which used independently, but will not match 白い.
    And【髪 の】won't match【白髪 の】, because,【白髪】will be a single node.

    Additionally, nested parentheses can be used to express trees whose height > 1,
    such as 【(白い (髪 の))】.

    Besides, just one to mention that a list with/without parentheses are different.
    【白髪 の】and【(白髪 の)】 are different.

    For example, giving the following two syntax trees:

        (((((こう 言う) 時) どんな) (顔 すれ ば いい の か)) (分から ない の))
        (((((こう 言う) 時) どんな) (顔 すれ ば いい の か)) (分から ない の です か))

    【分から ない の】(without parentheses) will match the nodes in both of the sentences.
    But 【(分から ない の)】(with parentheses) will only match the first sentence.

    II. Translation workflow

    If you know Compiler, the translation process is quite similar to compiling one language to another:

                              front-end                              mid-end                          back-end
        Japanese sentence    =>  token stream  => Japanese parse tree => Chinese parse tree => token stream => Chinese sentence
                   (lexical tokenizer)     (syntax parser)          (translator)          (unparser)      (join)

    Below is the the actual translation workflow in VNR:

                             front-end                              mid-end              back-end
        Japanese sentence   => word stream    => Japanese parse tree => Chinese parse tree => Chinese sentence
                  (MeCab+CaboCha+UniDic)  (VNR syntax parser)    (VNR translator)    (VNR unparser)

    Current, our shared syntax translation rules are applied at mid-end (VNR translator).
    Later, I am going to add syntax support for Input/Output terms as well, which will be applied
    to front-end parser and back-end unparser respectively.

    After the translation, if VNR has found there are untranslated nodes, VNR will use the
    existing machine translator you have selected, such as Google, to translate the left
    untranslated subtrees.

    The order to apply the syntax rules and the other existing types of the terms are as follows:

        Apply input term => Apply general translation term => (Apply syntax translation terms) => Apply machine translation => Apply output terms

    It is done like this which is easier to implement. But it does not make sense.
    I am going to change the order to the following one soon.

        Apply input term => (Apply syntax translation terms) => Apply general translation term => Apply machine translation => Apply output terms

    III. Future work
    The current grammar for the pattern still cannot describe all Japanese syntax.
    I am planning to add the following grammars one by one.

    Capture variables. Below is a Japanese-Chinese example (I don't know how to express this in a single English word):
       ($x の) => ($x 的)  -- $x represents a single node
       ($x $y の) => ($x $y 的)  -- $x and $y represent two different nodes
       (@x の) => (@x 的)  -- @x represents a list of sibling nodes, similar to @array in Perl
    You might know that Japanese is an Agglutinative language.
    The above rules can be used to express the trailing の in Japanese adjectives.

    Types of the words. Japanese-Chinese Example:
       ($x:noun:name の) => ($x 的) -- here, :noun:name means $x must be either a noun or a name
       ($x:verb で) => (通过 $x:verb) -- :verb means $x must be a verb.

    Express optional nodes. Example:
        ($x? の) => ($x 的)  -- "?" means $x can be optional
        (分から ない の? です?  。?) -- の? and です? can be optional

    Integrate regular expressions. Example:
        (/[わ分]から/ ない の) -- the text within // is a regular expression
        (/[わ分]から/:v ない の) -- the ":v" means the regular expression must be a verb
        ($x=/[わ分]から/:v ない の) -- capture the regular expression using $x

    Use quotes to escape special characters
        $x="English word with space" -- the quotes here is used to escape " " (space)

    Currently, we cannot directly modify the generated parse tree from CaboCha.
    I am going to add a new MeCab typed terms that will be compiled into MeCab user-defined dictionary.
    The term will have a weight parameter used to express the expected frequency of the word.
    This might be a way to combine the syntax-based MT with the statistical MT.

    If you have other suggestions, for instance, if a Japanese syntax cannot be expressed
    under the current system, feel free to suggest to me.

    添加了一个新的基于语法的日文翻译体系开改进日文翻译的质量。
    可以在【使用偏好/共享辞书】中开启。
    打开这个选项会需要在【使用偏好/下载】中安装MeCab、CaboCha和UniDic。

    你可以忽略下边如果你从来没有使用过共享辞书。

    我在共享辞书中添加了新的【语法】的选项。
    当前，只有翻译词条可以开启这个选项。其他类型的词条我还没有实现。
    开启了【语法】的词条和以往的词条截然不同。
    以往的词条都不过是简单的文本替换。而语法词条可以识别和描述日文的文法。

    新添加的【语法】词条可以使用新添加的【测试日文文法】的widget来debug。
    【测试机器翻译】的widget暂时不能够debug语法词条。

    Guest用户暂时不可以提交语法词条。

    我的最终的目标，是希望可以最终实现VNR自己的基于community的日文翻译系统，
    而不再依赖第三方的J北京之类的翻译器。
    不过当前的实现还是原始。另外，有很多我想做的东西还没有来的及实现。
    如果你有需要或者建议，比方说，你想要实现的逻辑在当前的体系中不支持，
    那么可以下边的topic里留言。

        http://sakuradite.com/topic/471

    You can play with the new syntax terms, 但是请暂时不要大量添加这个类型的词条。
    我在以后马上会添加更多的语法的。

    I. Motivation

    还是举个例子吧。

        白い髪の娘は白ちゃんです。

    彼方说，如果简单的定义【白】=>【白】的人物词条, 那么会破坏掉【白い】。
    这个问题在新的翻译模式下就可以解决了的。

    在新的翻译模式下，VNR会先利用UniDic创建一棵Syntax Parse Tree，如下：

        (((白い (髪 の)) (娘 は)) (白 ちゃん です 。))

    上边的树有9个leaves，分别是：白い、髪、の、娘、は、白、ちゃん、です、"。"
    这些节点是靠空格或者括号分割的。
    然后呢，括号内外表示父子关系，相邻的括号或者节点表示sibling的关系。
    比方说：【(白い (髪 の))】是【(髪 の)】的爸爸，是【髪】的爷爷。
    而【髪】和【の】互为兄弟。

    除此之外，我可以知道所有节点的词性，比如名词、动词、名字，拟声词等。
    不过当前版本的VNR的匹配文本的语法还不支持描述词性。

    在建好树后，VNR用会大家提交的词条的【匹配的文本】来匹配这课语法树中的subtree。
    当匹配时，VNR会用【替换的文本】来创建一个新的subtree，并替换掉原来的。
    你可以在【测试日文语法】的widget中来尝试。

    比方说：【白】只会匹配到【白】单独使用的情况，而不会匹配到【白い】。
    而【髪 の】不会匹配到【白髪 の】，因为【白髪】是一个完整的词。

    除此之外，比方说，还可以用【(白い (髪 の))】来匹配parse tree内部中间的一个
    高度=2的subtree。

    另外要说明的是，【白髪 の】和【(白髪 の)】这里加不加括号是不同的。
    比方说，给定下边的两棵syntax tree：

        (((((こう 言う) 時) どんな) (顔 すれ ば いい の か)) (分から ない の))
        (((((こう 言う) 時) どんな) (顔 すれ ば いい の か)) (分から ない の です か))

    那么【分から ない の】（没有括号）这两句话都可以匹配到。
    而【(分から ない の)】（有括号）只会匹配到第一句，而匹配不到第二句。

    II. 翻译的workflow

    如果你有学过编译原理，那么不妨把翻译的过程想象成compiler编译语言的过程。

                          front-end                              mid-end                          back-end
    Japanese sentence    =>  token stream  => Japanese parse tree => Chinese parse tree =>  stream => Chinese sentence
               (lexical tokenizer)     (syntax parser)          (translator)          (unparser)      (join)

    VNR实际的翻译过程如下：

                         front-end                              mid-end              back-end
    Japanese sentence   => word stream    => Japanese parse tree => Chinese parse tree => Chinese sentence
              (MeCab+CaboCha+UniDic)  (VNR syntax parser)    (VNR translator)    (VNR unparser)

    当前，大家定义的规则是作用在mid-end的VNR translator的步骤上的。
    我在之后，会为Input、Ouput的词条也添加语法的选项。
    添加后，它们会分别作用在front-end和back-end的parser和unparser上。

    当翻译后，VNR发现有部分节点没有被大家的词条翻译到，那么VNR会改用用户选择的其他翻译器，
    比方说百度或者金山快译，来翻译剩余的节点。

    当前语法词条和其他非语法词条作用的顺序如下：

        应用输入词条 => 应用一般翻译词条 => (应用语法翻译词条) => 进行机器翻译 => 应用输出词条

    这样子做主要是因为好实现，但是并不make sense。我在以后会把顺序改成下边这样：

        应用输入词条 => (应用语法翻译词条) => 应用一般翻译词条 => 进行机器翻译 => 应用输出词条

    III. Future work
    当前的匹配文本的语法还远远不能表达很多很多的日文文法。
    我在之后会逐渐添加下边的语法，希望最终可以利用这个翻译体系来描述绝大部分日文的文法。
    下边是一些例子。

    capture变量，比如：
       ($x の) => ($x 的)  -- 这里$x代表单个节点。
       ($x $y の) => ($x $y 的)  -- 这里$x和$y代表两个节点。
       (@x の) => (@x 的)  -- 这里@x代表a list of节点，参考Perl中的array
    你可能知道，日语是粘滞语言(Agglutinative language)。
    上边的逻辑表示仅仅用于修饰语后边的【的】（仅仅出现在形容词词组的最右边）。

    表达词性，比如：
       ($x:noun:name の) => ($x 的) -- 这里:noun:name表示$x必需是名词或者名字。
       ($x:verb で) => (通过 $x:verb) -- 这里:verb表示$x必需是动名词。

    表达可选，比如：
        ($x? の) => ($x 的)  -- 这里?代表单$x可以为空
        (分から ない の? です?  。?) -- 这里的【の?】【です?】这些节点可以是空。

    结合正则表达式，比如：
        (/[わ分]から/ ない の) -- 这里的//表示中间的是正则表达式，参考Perl和JavaScript的语法
        (/[わ分]から/:v ない の) -- 这里的//表示中间的是正则表达式，并且是个动词
        ($x=/[わ分]から/:v ない の) -- 这里将正则表达式用$x的变量来capture

    用引号来转义特殊的字符，比如：
        $x="English word with space" -- 这里用引号来避免VNR把空格当成节点的分隔符。

    另外，现在还不能直接修改搭建的parse tree。我打算在以后再添加一个MeCab的类型的词条，用来编译成MeCab的词典来控制parse tree的生成。
    MeCab的词条会需要一个权重（即单词频度）的参数，这样就可以把syntax-based MT和statistical MT结合在一起了。

    如果你有其他的建议，或者觉得这样定义语法并不方便，或者还是有很多逻辑无法表达，可以让我知道的。

10/2/2014 THU
  * 更新了djz大先生的J北京辞书到141001的版本。
    你可以通过下边的qq向djz大先生表示感谢，或者询问关于J北京问题。

        330102505@qq.com

  * Reduce VNR's memory usage by 70MB by adding __slots__ to Python classes.
    减少了VNR的内存使用量。

9/30/2014 TUE
  * The types of the terms in the Shared Dictionary are slightly changed.
    You can ignore the following text if you have never used it before.

    + For Chinese and Korean
      Nothing has been changed except the names of the term types, as follows:
      - Translation: the same as "Escape"   -- the translation will be escaped before/after the machine translation.
      - Input: the same as "Japanese"       -- used to repair the Japanese text before applying machine translation
      - Output: the same as "Translation"   -- used to repair the Chinese/Korean text after applying machine translation
      - Name: the same as "Chara"           -- Japanese names, such as 「釘宮」
      - Suffix: the same as "Title"         -- the titles after Japanese names, such as 「ちゃん」
      - Game: the same as "Original text"   -- used to repair the text extracted from the game
      - TTS: not changed                    -- used to repair the text before applying TTS
      - OCR: not changed                    -- used to repair the text after applying OCR
      - Macro: not changed                  -- reusable regular expression patterns

    + For any other languages including English
      1. The "escape" type is removed
      2. A new "translation" type is added, which is the same as the old "Japanese" terms
      3. The names of the terms are changed, as follows:

      - Translation: the same as "Japanese" -- the same as the old "Japanese" type, different from Chinese/Korean

      - Input: the same as "Japanese"       -- (the same as Chinese/Korean)
      - Output: the same as "Translation"   -- (the same as Chinese/Korean)
      - Name: the same as "Chara"           -- (the same as Chinese/Korean)
      - Suffix: the same as "Title"         -- (the same as Chinese/Korean)
      - Game: the same as "Original text"   -- (the same as Chinese/Korean)
      - TTS: not changed                    -- (the same as Chinese/Korean)
      - OCR: not changed                    -- (the same as Chinese/Korean)
      - Macro: not changed                  -- (the same as Chinese/Korean)

      The "Translation" terms should be used to translate Japanese to English or any other Latin languages.
      The "Input" terms should be used to translate Japanese to Japanese.

      Currently, the "Translation" and the "Input" terms are handled the same way for Latin languages,
      both of which are equivalent to the old "Japanese" terms.
      But they will be handled differently soon in the future version of VNR.

      If you would like to add new rules to the Shared Dictionary, I hope if you could distinguish
      "Translation" and "Input" types. For example:
      - to transform "あたし" to "I", "Translation" should be used
      - to transform "あたし" to "私", "Input" should be used

      Let's wait for two weeks until most people have updated to this version of VNR.
      And then I am going to revise the Shared Dictionary to distinguish Translation from Input type
      for old terms in Latin languages.

    主要是变更了处理中文和韩文以外语言的共享辞书词条的方法。
    对中文，只是词条类型的名字改变了，如下。除此之外，词条的功能上没有被任何变化。

      - 翻译: 即以前的【转义】词条 -- 通过转义来将日文翻译为中文
      - 输入: 即以前的【日文】词条 -- 在翻译前，修正输入的日文文字
      - 输出: 即以前的【翻译】词条 -- 在翻译后，修正输出的中文文字
      - 名字: 即以前的【人物】词条 -- 日本人的名字，比如「釘宮」
      - 后缀: 即以前的【称谓】词条 -- 跟在名字后边的称谓，比如「ちゃん」
      - 游戏: 即以前的【原文】词条 -- 在翻译前首先修正从游戏中提取出的文字
      - 语音合成: 和以前一样       -- 在TTS前修正输入的文字
      - 光学识别: 和以前一样       -- 在OCR后修正输出的文字
      - 宏: 和以前一样             -- 可以重用的正则表达式

9/28/2014 SUN
  * Fixed a severe bug that OCR might stop working when the inserting space option is enabled.
    Sorry for the issue!
    修正了插入空格打开时，OCR无法使用的问题。
    带来不便很抱歉！

9/27/2014 SAT
  * Modify the ScenarioPlayer engine to support new すたじお緑茶 games.
    修正了本月「南十字星恋歌」的游戏引擎。

  * Fix the ApRicoT engine to support イセカイ・ラヴァーズ this month.
    修正了本月「イセカイ・ラヴァーズ」的游戏引擎。

9/26/2014 FRI
  * The text processing using the Shared Dictionary is reimplemented using C++ with Boost.Regex.
    It is more powerful, much faster (time < 0.01 second) and using less memory (about 20MB for 20k rules).
    If you have never used the Shared Dictionary before, you can ignore the following text.

    The major changes about the Shared Dictionary are as follows:

    + VNR no longer processes the Shared Dictionary on the startup any more.

    + VNR won't process the Shared Dictionary until the first time you use it, such as
      when a sentence is translated, or when TTS is triggered.
      The bad thing is, for example, that the first machine translated subtitle will not
      use the Shared Dictionary, and the translation quality might be bad.
      But after that, the follow-up translations will be processed by the Shared Dictionary.

    + After the first time the Shared Dictionary is used, you can find the enabled text replacement
      rules in the following directory:

          Caches/tmp/reader/dict

      VNR will rebuild the cache there whenever the Shared Dictionary is modified, or the current
      game is changed, or your language is changed.
      You can also open that directory by pressing the "Browse" tool button in the Shared Dictionary.

    + The regex library used in the Shared Dictionary is changed from Python.re to Boost.Regex.
      Boost's implementation is a superset of Python's and is more powerful, which supports
      recursive syntax. More details about Boost.Regex's syntax could be found in the following pages.

        http://www.boost.org/doc/libs/1_56_0/libs/regex/doc/html/boost_regex/syntax.html
        http://www.boost.org/doc/libs/1_56_0/libs/regex/doc/html/boost_regex/syntax/perl_syntax.html

      I haven't explored all available features in boost.regex yet.
      But here are some usage examples of the recursive syntax "(?+-N", which might be interesting:

      - Multiple replacement. For example:

          薫(?:(ちゃん)|(さん)|(くん)) => Kaoru-(?1chan)(?2san)(?3kun)

        The above rule could translate "薫ちゃん" to Kaoru-chan, "薫さん" to Kaoru-san, and
        "薫くん" to Kaoru-kun at the same time.

      - Conditionals. For example:

          薫(ちゃん) => Kaoru-(?1chan:san)

        The above rule will translate "薫ちゃん" to "Kaoru-chan", and "薫 otherwise" to "Kaoru-san otherwise"

     + Boost is intentionally not compiled with ICU so that regex is not aware of unicode characters.
       For instance:
       - "\s" will match ascii spaces, but won't match \u3000.
       - :digit: only matches ascii [0-9], and won't match "一", "二", "三", etc.

    共享辞书处理文本改为用C++来实现。正则表达式从Python.re改为Boost.Regex。
    处理辞书花费的时间和内存都比以前要小很多了。
    如果你并没有使用过共享辞书，那么忽略下边的文字吧。

    + VNR会将当前开启的规则保存到下边，也许可以帮助大家编辑和了解辞书。

        Caches/tmp/reader/dict

      点击共享辞书上边的【浏览】按钮也可以打开这个文件夹的。
      每当共享辞书被编辑，游戏改变，或者你的语言改变，VNR都重新生成上边的Caches。

    + VNR在启动后，默认不再处理辞书。直到辞书第一次使用后（比方说处理机器翻译或者TTS），
      才会去生成上边的Caches。生成Caches大概会花费不到1秒钟。

    + Boost.Regex比Python.re要支持更多的正则表达式语法（主要是增加了递归语法）。
      具体的可以参看下边的文献。

        http://www.boost.org/doc/libs/1_56_0/libs/regex/doc/html/boost_regex/syntax.html
        http://www.boost.org/doc/libs/1_56_0/libs/regex/doc/html/boost_regex/syntax/perl_syntax.html

9/23/2014 TUE
  * Dictionary lookup was moved to threads.
    When "Popup when hover" is enabled, it won't block GUI any more.
    即时【翻译鼠标下边的文本】不会卡GUI了。

9/22/2014 MON
  * Disable the keeping spaces option in Text Settings for Japanese/Chinese games.
    It does not make sense to keep spaces for these languages.

    如果游戏语言是日文或中文，VNR会禁止文本设定中【保存单词空格】的选项。
    这样做没有道理。

9/21/2014 SUN
  * Bypass the issue for embedding Chinese translations where Kanji becomes "?".
    内嵌正体中文翻译到游戏可以正常显示了。

    但是简体中文仍然无法正常显示。VNR会自动将简体中文转换为正体中文来绕过这个问题。
    下边是内嵌对话和选项的中文翻译到BGI引擎的截图：

        http://sakuradite.com/images/screenshots/sekai_bgi2_zh.jpg
        http://sakuradite.com/images/screenshots/sekai_bgi2_choice_zh.jpg

    不过目前，只有非常少的几个引擎支持内嵌翻译，绝大部分游戏都不支持。
    感谢青龙sama的报告！

9/20/2014 SAT
  * Fix a bug that might crash the Elf engine on Windows XP.
    Thanks for @goodboyye sama's report!
    修正了Elf引擎在Windows XP上可能会崩溃的问题。
    带来不便很抱歉！

  * SAPI TTS is moved to a different thread so that it won't block GUI.

9/18/2014 THU
  * The mouse hotkey to select OCR region can be changed in Preferences (default is SHIFT).
    在使用偏好中可以变更选定OCR区域的快捷键（之前默认是SHIFT）。

  * Bugfix for the hue calculation in OCR filter.
    修正了对OCR中色度过滤的计算方法。

  * Add support for Kingsoft FastAIT that is a free Chinese offline translator.
    You can use it to re-translate Chinese-translated VNs to English if you want.
    It can be downloaded here for free:

        http://ky.iciba.com  (534MB after installation)

    It does not contain any nasty ads like Baidu products. So, feel free to use.

    添加了对金山快译的支持。
    这个程式是免费的，可以提供离线的日中、英中翻译。可以从上边链接的地方下载到。

    我个人非常建议你来尝试下这个翻译器，作为百度或J北京的补充。
    下边是我个人感觉和百度、J北京比起来的一些优缺点。

    + 优点
      - 这个程式是免费的。
      - 倾向直接翻译，不打乱语序，translate as it is。我很喜欢这一点了。一些例子在下边。
        这样也许会对学习日语的同学做日中的对比更有些帮助吧。
      - 和J北京一样，VNR支持金山快译的用户定义的辞书。
      - 本身支持正体中文，不像百度，还需要VNR做简繁转换。
      - 支持离线的中英翻译，但是个人感觉中英翻译质量不如Dr.eye。
        比如，金山快译总是把「you」翻译成「您」orz。

    + 缺点
      - 慢。
        比北京慢。尤其当有些不常用的词语查找词条失败时（怀疑），可能会需要两三秒才翻译好。

        另外，金山快译自带一系列专业辞书（比如计算机、健康、金融），但是当都加载后，会导致翻译时间x2到3倍。
        *** VNR暂时禁用了全部专业辞书。***
        我个人没发现这些辞书对翻译galgame有什么帮助，开启or not，翻译都一样。
        如果你觉得哪个辞书还是打开好，可以让我知道。

        关于翻译的速度，金山快译支持多线程，但是实现起来比较tricky（DLL中的函数不是reentrant的，访问需要独立的key）。
        我想在以后有时间，再来用多线程来解决翻译个别句子突然变得很慢的问题。

    下边是对「レミニセンス」中一些对话翻译的比较：

        日文：最悪の事態が起こる前に助け出せたようだ。
        人工：看起来，在最糟糕的事情发生前被救下了。
        百度：最糟糕的事態發生之前，助け出せ。
        北京：好像在發生最壞的事態之前能救出了。
        快译：發生最壞的局勢前幫助能拿出各式各樣。

        日文：と、足音が聞こえた。
        人工：…那样的脚步声传来。
        百度：和，腳步聲。            -- 「聞こえた」被删掉了
        北京：腳步聲聽得見了。
        快译：和，聽得見了腳步聲。

        日文：「そこの女は、こっちのなんだが、何か迷惑をかけたか？」
        人工：「那个女人是我的，给你们添麻烦了吗？」
        百度：「那裏的女人，這邊的什麽，不過，什麽添麻煩了嗎？」
        北京：「那裡的女人，是這邊的,不過，是什麼是不是添了麻煩？」
        快译：「那裏的女人，這邊的是什麼，但是給您增添什麼麻煩了嗎？」

        日文： そんな声が届く。
        人工： 那样的声音传过来。
        百度： 那樣的聲響。           -- 动词「届く」被删掉了
        北京： 那樣的聲音傳達。
        快译： 那樣的聲音送往。

        日文：「その人を連れて逃げる準備をしてくれ……」
        人工：「快准备好带着那个人一起逃走……」
        百度：「那個帶人逃跑的準備……」 -- 宾语「準備」的谓语「してくれ」被删掉了
        北京：「帶那個人準備……逃跑」   -- 从句顺序被打乱了
        快译：「做帶那個人逃的準備……」 -- exact原始的逻辑，虽然有些拗口

    总的感觉吧，百度更倾向于润色翻译，但是从而导致一些日文单词直接被删掉。
    J北京则很少删词，但是有时会根据上下文替换单词的含义，或者改变词组或从句的顺序。

    而金山快译则倾向于直译，使用日文本来的含义，保留本来的词语顺序。
    这样也许在中文翻译和日文之间更容易建立一对一的关系吧。

9/16/2014 TUE
  * Add a new Macro type to the Shared Dictionary.
    You can ignore the following text if you don't know Japanese.

    Macro terms will be used to replace regular expression patterns.
    For example, I defined the following macro to express the beginning of a sentence.

      bos => (?:^|(?<=[「。？]))

    Then, you can use it like this to capture "あなた" at the beginning of a sentence:

        {{bos}}あなた

    The text within {{}} will be replaced by macros. This only applies to regex patterns.

    btw., we can filter certain types of the terms in the Shared Dictionary.
    If we search "Macro", all macro terms will show up.

    You can name the macro in whatever way you like.
    But let's make some conventions so that it is easier to understand each other's macros.
    For example, I want to define some macros to match all 平仮名, and I did it this way:

        :hira: => あ-ん        -- use a pair of ":" to represent a character set, just like :digit: in regex.
        hira => [{{:hira:}}]   -- express positive predicate by default
        !hira => [^{{:hira:}}] -- use leading "!" to represent negative predicate

    You can also name the macro as, say, KiriKiriRemoveRepeat, or kiri_remove_repeat, etc.
    If you need intermediate tmp macros, you might give it a name starting with "_".

    在共享辞书中添加了宏类型词条。
    如果你不懂日文，那么可以忽略下边的文字的。

    比方说，下边会定义一个叫bos的宏来代表句子的开始：

      bos => (?:^|(?<=[「。？]))

    随后，你就可以使用下边的规则来匹配仅仅出现在句子开始的「あなた」。

        {{bos}}あなた

    在{{}}中间的文字会被定义的宏替换掉。这个仅对正则表达式的匹配文本有效。

    btw, 共享辞书是可以检索词条类别的。
    比方说，搜索【宏】，会显示全部宏类型的词条。搜索【人物】，会显示全部姓名词条。

    你也可以用中文或者任意的符号来定义宏的名字的。
    但是，大家还是约定下命名的convention，让其他同学可以更加容易理解macro的含义。
    比方说，我要定义一些匹配平仮名的宏，我是这样命名的：

        :hira: => あ-ん        -- 用一对":"来代表字符集，这和正则表达中的:digit:之类的是类似的
        hira => [{{:hira:}}]   -- 默认使用肯定语气的逻辑
        !hira => [^{{:hira:}}] -- 用!来表达否定语气的逻辑

    大家也可以将宏命名为，比方说：KiriKiriRemoveRepeat, or kirikiri_remove_repeat
    如果需要定义一些临时的变量，最好使用_（下划线）来作为宏名称的开头。

9/15/2014 MON

  由于众所周之的原因，VNR在沦陷区不可以使用google翻译了。我会想办法修正这个问题的。

  * OCR operations are moved to threads so that the GUI won't get blocked while analyzing images.
    修正了OCR时可能会卡屏的问题。

9/14/2014 SUN
  * When the underline option in Shared Dictionary is enabled, character names defined by Chara terms
    for Kanji-based languages (Chinese, Korean, etc.) will also be underlined.
    Due to technical difficulties, character names of Latin-based languages such as English will not be underlined.

    当共享辞书中的下划线选项开启后，中文和韩文的人物词条的翻译也会显示下划线。

  * Add global keyboard shortcuts for taking snapshot as request.
    添加了为游戏窗口截图的快捷键 as request。

  * Add more image filters for OCR, mainly filters for HSI color model.
    - Usually, if the font color is always white/black, the "I" (intensity) filter might be sufficient.
    - Otherwise, if the font is in a single color, the "H" (hue) might help.
    - The worse case, if the font color usually changes, but always in a pure color, the "S" (saturation) might help.

      You can find the formulation of these terminologies here:

        https://en.wikipedia.org/wiki/HSL_and_HSV#Lightness

    - Additionally, if the game text is extremely large/small, then the "Z" (zoom) filter could be used.

    为OCR提取文本添加了更多的过滤器。
    - 通常情况下，如果文字是白色或者黑色的，那么亮度过滤器就足够了。
    - 否则，如果文字总是其他的某个颜色，那么，色度过滤器也许可以帮上忙。
    - 最差的情况，如果文字的颜色经常变化，但是总是纯净的，那么，也许可以尝试饱和度过滤器。
    - 此外，如果文字的字体非常大或者非常小，那么可以使用缩放过滤器。

9/13/2014 SAT
  * Add an option to underline the modified text by escape or translation terms in the Shared Dictionary.
    The changes that made by Japanese terms are not marked, which might sacrifice the translation quality
    in order to implement the marks.
    You don't have to bother this unless you are actively editing the Shared Dictionary.

    在共享辞书中，添加了选项可以下划线被转义或翻译词条修改了的文字。
    日文词条还不可以被下划线，因为如果实现这个功能，将可能以降低机翻质量为代价。
    如果你不常编辑共享辞书，那么并不需要打开这个选项。

  * Fix a bug existing for a long time that the subtitles are sometimes displayed below the game window.
    修正了字幕有时候会跑到游戏窗口的下边去的bug。

  * Add a Desktop button to the game OCR dock.
    By default, VNR will only capture images in the game window for OCR.
    However, certain images might not be captured this way, such as MPEG videos.
    When that happen, you can toggle the Desktop button so that VNR will capture
    the entire visible desktop to make sure the images are visible.

    btw, when the "Desktop" button is enabled, the OCR region can also track other
    windows outside of the game, such as anime subtitles in video players.
    Here's a screenshot of the captured subtitles on Youtube:

        http://i859.photobucket.com/albums/ab155/jichi/youtube_zpscd6bf9cb.png

    However, currently, one game has to be launched in VNR in order to capture
    the video players, which is very inconvenient.
    I am going to create an independent app for OCR videos in the future.

    在OCR的按钮中添加了【桌面】按钮。
    VNR默认只会从游戏窗口截图，这样可能会无法从，比如，MPEG的动画中截图。
    打开【桌面】后，VNR会转而从桌面的截图中提取文本。

    btw, 当这个选项开启后，VNR其实就可以，彼方说，通过OCR提取动画中的字幕了。
    下边是从Youtube的动画中提取字幕的截图：

        http://i859.photobucket.com/albums/ab155/jichi/youtube_zpscd6bf9cb.png

    不过，VNR当前需要先启动任何一个游戏，才可以从屏幕任何地方截图。这样很不方便。
    我在以后会把这部分功能从VNR中分离出来，OCR时就不需要打开游戏了。

9/12/2014 FRI
  * Able to select OCR regions where VNR will periodically capture the image and extracing text in them.
    I hope if this could serve as an alternative text extractor when the game does have supported game engines.

    A screenshot is as follows:

      http://i859.photobucket.com/albums/ab155/jichi/ocr-region_zps009469c1.png

    (Note that 「剣の街の異邦人」 does have an EXP game engine, and it does not need OCR to work.)

    As you know, by default, you can Shift+Mouse to select one region for instant machine translation.
    After launching the game, there is a new OCR button on the left dock which contains two sub buttons.
    - Edit: The new Shift+Mouse region will become persistent.
    - Monitor: Monitor the persistent regions and periodically extract texts in them.
    The interval of the capturing can be adjusted in Preferences/OCR.

    The region can be both resized and moved.
    There are current three buttons on the top-left of the persistent regions:
    - × : Permanently destroy the region.
    - ◯ : Temporarily enable/disable the region.
    - ⌘ : Edit the image filtering option for the region.

    Comparing to ITH, the texts from OCR are slower and more unreliable.
    It is still better to stick to ITH if it works.

    The subtitles and danmaku are temporarily disabled for OCR texts as they are unreliable.
    I will turn them on after I finish implementing all the image filters for OCR.

    It also works for full-screen games, but context menu will be disabled as usual.

    Currently, this feature cannot be enabled unless a game is launched.
    I will move this feature out of VNR into a standalone application in the future.

    添加了通过OCR来从选定的区域连续提取文本的功能。
    如果VNR不支持从某个游戏的内存提取文本，那么，OCR也许可以作为暂时的提取文本的方法。
    下边是一张截图：

      http://i859.photobucket.com/albums/ab155/jichi/ocr-region_zps009469c1.png

   （注：「剣の街の異邦人」已有EXP的游戏引擎，并不需要OCR来提取文本。）

    打开游戏后，这个功能可以在左边的OCR按钮中开启。
    在OCR按钮中包含有两个子按钮：
    - 编辑：开启后可以用Shift+鼠标来选定OCR的区域。
    - 有效：开启后，VNR会不断的从选定的区域提取文字。提取的时间间隔可以在使用偏好中调整。

    由于OCR会占用很多CPU，并且提取的文本并不准确，所以如果VNR的文本设定可以工作，
    还是不建议使用OCR提取文本。

    OCR可以在游戏全屏时使用，但是和往常一样右键菜单会被禁用（因为包含的focus会导致游戏退出全屏）。

    由于从OCR提取的文本经常包含错误，暂时对OCR禁止了字幕和弹幕的机能。

    当前，开启这个功能需要先用VNR打开游戏。我在以后会将这个功能从VNR和游戏中分离出来的。

9/10/2014 WED
  * Update the TAH script for LEC from @errzotl sensei.

  * 更新了djz大先生的J北京辞书。
    你可以通过下边的qq向djz大先生表示感谢，或者询问关于J北京问题。

        330102505@qq.com

9/9/2014 TUE
  * I made a wiki as follows for what to do if you cannot find correct text in the game.

        http://sakuradite.com/wiki/en/VNR/Game_Settings

    The above link can also be found in Text Settings.
    Sometimes, the game settings has to be adjusted in order to work with VNR,
    such as changing Text Speed to fastest or changing Text Font to MS Gothic.
    You can find these game-specific information on that page.

    创建了一个wiki来总结下哪些会社的游戏需要调整文本速度到最快，哪些游戏需要设置字体为MS Gothic，
    在找不到正确的文本时该怎么做什么的。

        http://sakuradite.com/wiki/zh/VNR/Game_Settings

    这个链接也可以在文本设定中找到。

9/8/2014 MON
  * Add TAH script for LEC online/offline Japanese-English translation.
    The script is from @errzotl sensei, and you can say thanks to him/her at TAHscript@outlook.com.

  * Add EXP engine for 剣の街の異邦人 released last month.
    为八月的「剣の街の異邦人」添加了引擎。

  * Add an option to select the range of the color intensity to identify the target text.
    This might help eliminate irregular colorful background behind the target text.
    A screenshot is as follows.
    Windows native UI widgets (buttons, text editors, etc.) are not used so that it could work with
    full screen games.

      http://i859.photobucket.com/albums/ab155/jichi/VNROCRColorIntensity_zps48f059b6.png

    Let's say, if the selected range is from 30% to 70%.
    Then, only the pixel whose color satisfy the following logic will be identified as "text".

      function isTextColor(color) {
        var intensity = sqrt(color.red*color.red + color.green*color.green + color.blue*color.blue);
        var min = 0.3 * 255 * sqrt(3);
        var max = 0.7 * 255 * sqrt(3);
        return min <= intensity && intensity <= max;
      }

    The OCR support is still under construction.
    I am going to create a help page on the wiki regarding how to use OCR in VNR later after I
    finish implementing all the OCR features in my mind.

    添加了选择OCR文本颜色强度的功能。
    这样也许可以帮助过滤掉游戏中不规则的背景颜色。
    下边是张截图。

      http://i859.photobucket.com/albums/ab155/jichi/VNROCRColorIntensity_zps48f059b6.png

9/7/2014 SUN
  * Make sure OCR works for Direct X and full screen games.
    修正了OCR在游戏全屏后或者有些游戏启动后失效的问题。

9/6/2014 SAT
  * OCR text boxes will follow the position of the first-clicked window.
    OCR的文本框会跟随第一次点击的窗口而移动。

  * Add multi-language support for OCR.
    Some screenshots are shown below.
    It will take 61MB after installation.
    If you already have MODI OCR installed from the old VNR, please RE-DOWNLOAD
    MOD OCR from VNR's mega repo, then check Readme.txt for how to update.
    Sorry for the inconvenience!

      Japanese: http://sakuradite.com/images/screenshots/ocr_wiki_ja.png
      English:  http://sakuradite.com/images/screenshots/ocr_wiki_en.png
      Korean:   http://sakuradite.com/images/screenshots/ocr_wiki_ko.png
      Russian:  http://sakuradite.com/images/screenshots/ocr_wiki_ru.png
      Chinese:  http://sakuradite.com/images/screenshots/ocr_wiki_zh.png

    OCR可以支持多语言了。在上边的是一些语言和机器翻译的截图。
    安装完成后，新版的OCR会占用61MB的硬盘空间。
    如果你已经安装了VNR老版的MODI OCR程式，请重新在Mega下载新版的OCR。
    你可以在Readme.txt中找到升级的方法。带来不便很抱歉！

    Since there are currently so many languages in VNR, some of the languages
    supported by MODI are not enabled in VNR.
    If you need support certain languages that are disabled, feel free to let me know.

    Enabled MODI Languages and Locales in VNR
    - 1028: Chinese - Republic of China (Taiwan)
    - 1029: Czech - Czech Republic
    - 1031: German - Germany
    - 1033: English - United States
    - 1036: French - France
    - 1040: Italian - Italy
    - 1041: Japanese - Japan
    - 1042: Korean - Korea
    - 1043: Dutch - Netherlands
    - 1045: Polish - Poland
    - 1046: Portuguese - Brazil
    - 1049: Russian - Russia
    - 2052: Chinese (Simplified) - People's Republic of China
    - 3076: Chinese - Hong Kong (S.A.R.)
    - 3082: Spanish (Modern Sort) - Spain

    Disabled MODI Languages and Locales in VNR
    - 1030: Danish - Denmark
    - 1032: Greek - Greece
    - 1035: Finnish - Finland
    - 1038: Hungarian - Hungary
    - 1044: Norwegian (Bokmål) - Norway
    - 1053: Swedish - Sweden
    - 1055: Turkish - Turkey

9/5/2014 FRI
  * Add Felistella engine for PSP game Summon Night 5.

9/4/2014 THU
  * TAH script is changed to be ATLAS only, only for Japanese-English machine translation.
    TAH script is also updated to the latest version from @errzotl sensei.
    Please report bugs to TAHscript@outlook.com.

8/31/2014 SUN
  * Add a shared window for leaving messages.
    When new messages are received, the message button will flash.
    You can discuss everything there EXCEPT DISTRIBUTING PIRATE SOFTWARE AND GAMES!

    添加了一个留言板。
    收到新留言时，留言按钮会闪烁。
    在那里讨论什么都可以的，除了不要张贴海贼版的软件和游戏！

8/30/2014 SAT
  * Add zoom buttons to the header of the text boxes.
    你可以用文本框上边的-和+按钮来缩放文字的大小。

8/29/2014 FRI
  * Add support for PPSSPPEX.exe and PPSSPPSP.exe that is the same as PPSSPPWindows.exe.

8/28/2014 THU
  * I changed the mouse behaviors of the text boxes (subtitles, dictionary, OCR, etc.)
    - Drag the center of the box: vertically scroll the text
    - Drag the top/bottom border: move the text box
    - Drag the left/right border: horizontally resize the text box
      It is the same as adjusting the width in the left dock.

    字幕、字典、OCR等的文本框可以通过拖动左边或者右边的边界来改变宽度，拖动上边
    或下边的边界来改变位置，拖动中间来翻页。
    这样调整的宽度和左边选项中的宽度是一样的。

8/26/2014 TUE
  对日中翻译禁用了绝大部分的TAH翻译脚本。

  I disabled 99.999% of the TAH scripts and changed them to be for English translation only.
  You can revert my changes here:

      http://www.sakuradite.com/wiki/en/VNR/Translation_Scripts

  To be honest, I don't know why lots of people love these rules.
  To me, TAH is far too aggressive that it will remove the EMOTIONs and kawaii/ecchi sounds
  from Japanese, which can be at least recognized by All online/offline Chinese translators.
  I don't know how bad the existing English translators are, and I have no idea whether
  non-ATLAS English translators such as Google can recognize the TAH deleted structures or not.

  One example of the Japanese before/after applying TAH is here:

      http://sakuradite.com/upload/image/396.jpg

  TAH scripts will turn
      「はぁ、はぁっ……やぁっ、ぁぁっ…そんな場合じゃないのにっ……んんっ、んあふうぅ……へ、変な気分になっちゃうっ……はぁ……はぁ……」
  to
      「……そんな場合じゃないのに……あふ……変な気分になう……」
  The ecchi voices such as "はぁ、はぁっ" were removed.
  The emotional sentence such as "へ、変な気分になっちゃうっ" was rewritten to plain
  Japanese "変な気分になう" where the emotion is lost.
  As a result, after applying TAH, the Chinese translation become much much much worse.

  Currently, all TAH rules are still enabled for English by default.
  But I am not maintaining it for English, and I don't know whether it will make the
  English machine translation better or worse.
  I suggest you to try enabling/disabling TAH based on your own judgment.
  If you feel TAH is usually making the English translation better or worse, I hope
  if you could let me know your option. Thanks!

  * Bugfix when applying name and title terms in Shared Dictionary.

8/25/2014 MON
  * Fixed the OCR bug. Sorry for the inconvenience! m(_ _)m
    修正了OCR的问题。带来不便，很抱歉！ m(_ _)m

  * Add a TTS button to read OCR text.
    Note that currently only Google TTS and Voiceroid work.
    SAPI TTS does not work when VNR is launched as Administrator.

    添加了读出OCR文本的按键。
    不过，SAPI的TTS无法在管理员权限下工作。只有Google TTS和Voiceroid可以工作。

  * Reduce memory usage for network access to online machine translators.

8/23/2014 SAT
  * 禁止把猎豹浏览器当成游戏添加到VNR。
    如果你要翻译网页，可以用VNR自带的浏览器来做日中翻译。
    但是不要把浏览器当初游戏来翻译才好。ITH是无法提取到网页中的文本的。

  * VNR will cache all online machine translations to Library/Translations using SQLite.
    VNR会将全部在线的机器翻译都保存到Caches/Translations，希望可以些许加快在线翻译的速度.

  * Rewrite VNR's internal network access to use QtNetwork to replace Python requests that is slow.
    Online machine translation is faster now.
    减少了在线机器翻译的延时。

8/21/2014 THU
  * Fixed a bug that OCR might stop working after a while.
    修正了OCR用过一会后鼠标无法选择的bug。

8/19/2014 TUE
  * Fix the NEXTON engine for 淫烙の巫女.
    修正了从Normad的淫烙の巫女提取文本的问题。

  * Fix the OCR selection bug.
    Thanks so much for 1dat1 sensei's patch!!
    修正了OCR无法选择文本框的Bug。非常感谢1dat1 sensei的修正！

  * VNR will popup confirmation if you want clone other's terms in the Shared Dictionary.
    You don't need clone others' the terms to enable them. They have already been enabled.
    Cloning will result in duplicate rules which will make it more difficult to manage the rules.

    如果你要克隆其他同学的词条，VNR会弹出警告。
    其他同学的词条本来就已经开启了，并不需要克隆的。
    克隆会产生重复规则，会增加管理词条的难度。

  * Forbid adding terms whose pattern and translation are the same except for escaped terms.
    Having pattern == translation is meaningless except for escaping.

    禁止向共享辞书添加匹配文本等于替换文本的词条（除了转义和姓名词条）。
    两者相等的规则是没有意义的。

8/18/2014 MON
  * Bugfix for OCR.
    I forgot to register DLLs for MODI OCR.
    If you would like to try OCR, you can either re-download MODI OCR (36MB) and re-run the scripts here:

        https://mega.co.nz/#F!g00SQJZS!pm3bAcS6qHotPzJQUT596Q

    Or, if you don't want to re-download, you can manually run the following commands AS ADMINISTRATOR:

        regsvr32 "C:\Program Files (x86)\Common Files\Microsoft Shared\MODI\12.0\MDIVWCTL.DLL"
        regsvr32 "C:\Program Files (x86)\Common Files\Microsoft Shared\MODI\12.0\MSPCORE.DLL"

    Please remove x86 if you are on a x86 Windows.


    很抱歉，忘记注册OCR的DLL了。
    如果你想尝试下OCR的功能，请重新在这里下载MODI OCR（36MB）并重新运行安装的脚本：

        https://mega.co.nz/#F!g00SQJZS!pm3bAcS6qHotPzJQUT596Q

    或者，如果你不想重新下载了，你也可以使用管理员的权限手动运行下边的命令

        regsvr32 "C:\Program Files (x86)\Common Files\Microsoft Shared\MODI\12.0\MDIVWCTL.DLL"
        regsvr32 "C:\Program Files (x86)\Common Files\Microsoft Shared\MODI\12.0\MSPCORE.DLL"

    请手动删掉x86如果你在32位的Windows上。

8/17/2014 SUN
  * Add an OCR type to the Shared Dictionary for correcting OCR text, which is not accurate.
    在共享辞书中添加了OCR类型的词条用来矫正OCR提取出的文字。

  * Add support of Ntleas for changing locale.
    You can get it here:
        http://ntlea.codeplex.com
    添加了对使用Ntleas改变游戏日文编码的支持。

  * Restore the support of using Locale Switch to change game locale.
    You can turn it on in Preferences/Launch, which requires admin privileges.
    Locale Emulator is better in most cases.
    But if Locale Emulator does not work, you could also give LocaleSwitch a try.

    恢复了对Locale Switch的支持，在【使用偏好/启动】中可以开启。
    Locale Emulator在绝大多数情况下都是更好的选择。
    不过如果Locale Emulator无法工作，你也许可以尝试下LocaleSwitch。

  * Add alternative NEXTON engine for old NEXTON brands such as Nomad.
    为Nomad「淫烙の巫女」添加了游戏引擎。

8/16/2014 SAT
  * Add very primitive OCR support.
    A screenshot of レミニセンス's Config UI with OCR popup and translations are as follows:

        http://sakuradite.com/images/screenshots/ocr_popup.jpg

    You can press Shift+Mouse to select an area, and VNR will popup translation in the selected rectangle.
    You can enable it in Preferences/OCR.
    It could work without launching games.
    It might be used to identify texts in games as well as anime, manga, websites, or any other texts on the screen.

    REQUIREMENTS
    - You must have Microsoft MODI OCR installed.
      You can either purchase Microsoft Office 2007 and manually enabled it, or get it from here:

          https://mega.co.nz/#F!g00SQJZS!pm3bAcS6qHotPzJQUT596Q

      Currently, it is only 36MB, and only Japanese/Chinese fonts are included.

    LIMITATIONS
    - VNR must be launched as Administrator to make MODI OCR work.
      The trade-off is that several features (including SAPI TTS) will not work when VNR is launched as admin.
    - Currently, only machine translation works.
      TTS, 振仮名, and popup dictionaries including EDICT and EPWING are not implemented yet.
    - Currently, no settings can be adjusted for OCR.
      You cannot specify the target text color, size, and orientation which are critical to enhance OCR accuracy.
      As a result, irregular texts (fat, large, outlined), texts on the fancy background, and vertical texts
      can not be correctly identified.

    添加了使用微软的MODI OCR来识别和翻译屏幕是任何可见日文的功能。
    下边是「レミニセンス」Config界面中OCR的截图。

        http://sakuradite.com/images/screenshots/ocr_popup.jpg

    在【使用偏好/光学识别】中可以开启OCR。
    开启后，可以使用SHIFT+鼠标左键来选定需要提取文本和翻译的区域。
    使用OCR不需要运行游戏。你也可以用它来识别动画或者漫画中的文字。

    MODI OCR的idea来着【寒风游戏翻译机】。之前都没注意到可以通过微软实现OCR。
    在这里感谢下寒风游戏翻译机的作者hhyjq007！

    亚欧使用光学识别的功能，首先要安装MODI OCR。
    你可到微软购买正版的Office 2007，并开启MODI OCR；也可以从下边地址自己安装：

          https://mega.co.nz/#F!g00SQJZS!pm3bAcS6qHotPzJQUT596Q

    因为只包含日文和中文的字体，安装后只有36MB。

    现在VNR的OCR功能还非常的原始，有很多局限性：
    - 要使用OCR，必需以管理员权限打开VNR
    - 当前的版本只支持机器翻译，不支持振仮名，不支持EPWING字典查词，不支持TTS。
      这些在以后有空会加上的。
    - 不可以指定OCR文本的颜色，大小，orientation什么的。
      这导致很多不规则的文字，过大的文字，背景很花的文字，或者竖排的文字无法通过OCR提取。

8/15/2014 FRI
  * Add support to use TA Helper replacement scripts to improve machine translation quality.
    The current version is modified from @errzotl sensei 's 0.16 version.
    The TAH scripts are equivalent to VNR's Japanase terms in the Shared Dictionary.
    VNR will automatically update the scripts on the following wiki:

        http://sakuradite.com/wiki/en/VNR/Translation_Scripts

    Since the scripts on the wiki will affect all users,
    PLEASE BE VERY VERY VERY CAREFUL if you want to edit it.
    If you want to edit it, please first try your modification in Test Machine Translation
    offline before adding it to the online wiki!

    添加了对在日英翻译的community中非常有名的TAH翻译脚本的支持。
    VNR默认是开启这个脚本的。不过，你也可以在使用偏好的翻译中禁用这个脚本。

    这个脚本和VNR中的日文词条是等价的，包含大量（8000+）的规则用来修正日文的口语。
    这些规则包含去除垃圾，改写关西方言，纠正口癖等。
    比方说，打开翻译脚本可以将 「れ、恋さん！？」 =>  「恋さん！？」

    另外，由于这个功能是用C++而不是Python实现的，速度非常快（0.006秒即可完成）。
    不用担心因为打开这选项而让机翻变慢。

8/13/2014 WED
  * Add scripts to totally uninstall VNR.
    If you want uninstall VNR or reset its settings, you can run the following files:

        Scripts/Remove VNR Profiles.cmd  -- This will delete %APPDATA%/org.sakuradite.*
        Scripts/Remove VNR Settings.reg  -- This will delete HKCU/Software/sakuradite.org

    添加了完全删除VNR的脚本。
    你可以执行上边的文件来移除VNR，或者重置VNR在本地的设定。

  * Fixed the random crash for certain PPSSPP games.
    Some hooks (Alchemist, 5pb and Nippon1) sometimes do not work on PPSSPP 0.9.9.
    If you find a game does not work on PPSSPP 0.9.9, you might try switching back to 0.9.8.

8/12/2014 TUE
  * Bug fix CYBERFRONT PSP engine for old KID games.
    修正了CYBERFRONT PSP引擎。

  * Add KONAMI engine for PSP game 「幻想水滸伝 紡がれし百年の時」.
    为PSP上的幻想水浒传添加了引擎。

8/9/2014 SAT

  请不要将QQ之类的软件添加到VNR中了！ 添加的IP：123.244.x.x（沈阳）
  添加QQ到VNR，会对其他同学造成很糟糕的影响。同时使用VNR和QQ的软件，VNR会误认为QQ是游戏而hook上去。
  我非常不希望通过屏蔽IP来禁止添加QQ程序到VNR的数据库。

  如果你一定要添加QQ的软件到VNR，可以告诉我原因吗？
  比方说，如果你的中文不好，希望把中文QQ翻译为越南文。
  那么，我也许可以为你添加新的功能来翻译非游戏的程序。
  但是，现在请不要直接把非游戏程序添加到VNR中！

  * Add alternative Imageepoch engine for PSP game SOL TRIGGER.
    为PSP上的「SOL TRIGGER」添加了引擎.

  * Add machine translation ability to VNR's built-in browser.
    I hope if could help ease reading online Visual Novels or any other Japanese websites.

    It now supports using machine translator to translate Japanese websites,
    using MeCab to add ruby 振仮名, and using TTS to read the clicked sentence.
    A screenshot of the translated http://ja.wikipedia.org/wiki/Clover_Day's is as follows:

      http://sakuradite.com/images/screenshots/wr_wiki_en.png

    Additionally, VNR's Game Information page also supports the same translation system.

      http://sakuradite.com/images/screenshots/wr_vnr_en.png

    Comparing to VNR, a couple of features are still missing in the browser:
    - Shared Dictionary is not supported in the Browser.
    - Dictionaries such as EPWING and EDICT are not supported in the Browser.
    - Most Preferences cannot be changed in the Browser.
      If you want to, say, change the default TTS to use, you have to change VNR's Preferences.

    There are currently four buttons that can be toggled to adjust how to translate the website, as follows:
    - あ: Use VNR's MeCab and UniDic to add 振仮名 to all texts
    - 訳: Use the machine translation to replace all texts (slow unless using an offline translator)
    - 示: Display machine translation for the hovered sentence in the tooltip
    - ♪: Use TTS to read the clicked sentence (don't forget to install QuickTime if you want to use Google TTS)

    为VNR自带的浏览器添加了机翻功能。这个工具也许可以帮助翻译在线的Visual Novel或者其他日文网站。
    下面是一张 http://ja.wikipedia.org/wiki/Clover_Day's 的截图：

      http://sakuradite.com/images/screenshots/wr_wiki_zh.png

    另外，VNR的游戏情报中也采用了相同的翻译机制：

      http://sakuradite.com/images/screenshots/wr_vnr_zh.png

    这个浏览器当前可以支持机翻，振仮名，以及TTS。
    可以通过点击上方的按钮来开启这些功能。按钮的含义如下：
    - あ: 为日文添加ruby振仮名
    - 訳: 用机翻替换原始文字。最好使用离线的J北京。在线翻译会很慢。
    - 示: 不替换原始文字，但是用tooltip弹出机翻。
    - ♪: 使用TTS读出点击的日文。如果你要用Google TTS，不要忘记安装QuickTime。

    这个浏览器还处在alpha的阶段，和VNR比起来还缺少的功能如下：
    - 不支持共享辞书。
    - 不支持用EPWING辞书查字典。
    - 很多使用偏好无法在浏览器中修改，需要打开VNR在VNR的使用偏好中修改。
    - 浏览器中有些地方是英文或日文的，还没有添加中文翻译。

8/7/2014 THU
  * VNR内部不再使用百度翻译网站的API。当选定百度翻译时，VNR会调用金山词霸的API。
    两者翻译的内容应该是一样的。但是至少在我这里和日本的服务器上，金山词霸翻译的时间只有百度的一半。
    特别当短时间内连续使用百度翻译时，很容易造成卡主。金山词霸的API就没有这个问题。

  * Use persistent threads and sessions to reduce the latency of online machine translation.
    减少了在线机器翻译的时间。

  * 修正了Excite由于网站变更无法翻译中文的问题。
    Excite的日中翻译可以匹敌JBeijing的（两者基本相同）。
    如果你没有被q的问题，又没有安装JBeijing，那么也许可以尝试下。

  * Hide text box when no visible texts.
    当没有文本显示时，自动隐藏文本框，不再显示上边的黑边。

8/5/2014 TUE
  * Add new BGI engine for 「蒼の彼方のフォーリズム」.
    Thanks for @98549177 sama's report!
    为「蒼の彼方のフォーリズム」添加了新的BGI引擎。

  * Add embedding translation support for the new BGI engine.
    A screenshot of 「蒼の彼方のフォーリズム」 with embedded English translation is as follows

      http://i859.photobucket.com/albums/ab155/jichi/84BC306E5F7C65B9306E30D530A930FC30EA30B9309930E0_zpsa69ea4f1.png

    It ONLY works for LATIN charactered languages.

8/3/2014 SUN
  * Add support for Fate/stay night on PCSX2.
    A screenshot is as follows (tested on pcsx2-v1.2.1-328-gef0e3fe-windows-x86):

      http://sakuradite.com/images/screenshots/pcsx2_fate.jpg

    The compatibility issue is the same as PSP:
      1. Do not work on Windows XP
      2. Must launch VNR AFTER the PS2 ISO has been loaded
      3. Changing game ISO requires restarting VNR

    可以从PCSX2上的「Fate/stay night」提取文本了。

  * Add Marvelous PS2 engine for 「School Rumble ねる娘は育つ」and 「School Rumble二学期」
    为PS2上的「School Rumble ねる娘は育つ」和「School Rumble二学期」添加了Marvelous引擎。

8/2/2014 SAT
  * 更新了djz大先生的J北京辞书。

  * Add 2RM engine for PC games from エロイット.

  * Add side-B engine for PC game メルトピア.
    The existing H-code has the issue of floating address.
    It is better to use this hook than the H-code so that you don't have to adjust Text Settings
    everytime before the game starts.

    为side-B的「メルトピア」添加了游戏引擎。

8/1/2014 FRI
  请大家不要将QQ之类的软件当成新游戏添加到VNR中了！

  * 添加了简明和汉字典。
    这个字典比VNR当前的日中辞书词汇量要小（一共只有2MB），解释也少，没什么用。
    这个字典是用来实现为日语单词添加中文注释的，那部分还没写完，先把字典的部分commit上来。

7/31/2014 THU
  * 禁止把QQDownload添加到VNR。

  * Increase the black padding border's width in full screen.

  * Add a toggle to the left dock for copying machine/shared translation to the clipboard.

    I am sorry that I failed to find a way to load LEC translator's DLL for non-English translation.
    If you want to translate Japanese to non-English  using LEC, currently, you might have to
    turn on this "Sub to clipboard" toggle to re-translate English to your native language
    through clipboard using LEC or any other translators.

  * Able to add/detect games running on a network drive, such as a NAS drive, or Parallels Desktop's host.

  * Add a command line parameter --pid for specifying which game process to attach.
    For instance, run "Debug VNR.cmd --pid 1234" will attach to the process whose PID is 1234.
    If there are multiple games running at the same time, or if there are multiple game processes
    for the same game, you can use this parameter to select which game process to attach.

    I posted current supported parameters here: http://www.sakuradite.com/wiki/en/VNR/Command_Line

    添加了--pid的命令行参数可以指定要提取文本的游戏的PID。
    参看： http://www.sakuradite.com/wiki/zh/VNR/命令行

  * Bug fix for PPSSPP 0.9.9. Most engines should work now.
    But in order to support 0.9.9, VNR is 10 times slower than before to scan the memory.
    It could take up to 10 seconds to determine the PSP game engine to use.
    After VNR is launched, you might have to wait for 10 seconds for the text to appear.

    修正了对PPSSPP的0.9.9支持。

7/29/2014 TUE
  * Add Otomate PSP hook for PPSSPP 0.9.9.
    It should cover most cases where 0.9.8 hooks (BANDAI, Alchemist, and Otomate) do not work.

    为Otomate的PSP游戏添加了对PPSSPP 0.9.9的支持。

  * Display required PPSSPP version in Text Settings
    If it shows =0.9.x, then the hook works for all PSP versions.
    If it shows =0.9.9 or 0.9.8, then the hook might work only for the specified PPSSPP.

    在文本设定中会显示提取文本需要的PPSSPP版本。

7/27/2014 SUN
  * Add Intense PSP engine for 「密室のサクリファイス」.

  Note: It is reported by @roninmedia that certain games did not work on PPSSPP 0.9.9.
  I am going to investigate the changes from 0.9.8 to 0.9.9 which broke VNR.
  If you find certain games working on 0.9.8 no longer working on 0.9.9, you can also let me know the game.
  Sorry for the inconvenience!

  注：VNR当前只在0.9.8下完全测试过。
  如果你发现一些游戏在0.9.8上可以工作，但是0.9.9上不能工作了，很希望可以让我知道无法工作的游戏的名字。

  * Reduce VNR's memory usage from 330MB to 190MB.
    VNR的内存使用量从330MB降低为190MB。

7/26/2014 SAT
  * Add EAGLS engine for games from TechArts which does not have text duplication issue.
    TechArts owns several popular nuki-ge brand, including G.J?, SQUEEZ（炎の孕ませシリーズ）
    and May-Be Soft.
    If you are playing 「ちぇ～んじ！」released this month, please re-adjust Text Settings.
    There will be several EAGLS threads, and be careful about the subtle differences that only 1 is correct.

    为本月的「ちぇ～んじ！」添加了游戏引擎。
    请重新调整文本设定。尽管会有很多EAGLS，要仔细看下区别才好，只有一个EAGLS的文本才是对的。
    这个引擎也可以解决「炎の孕ませ」シリーズ中文本重复的问题。

  Otome:
  * Add Brocolli engine for PSP game 「明治東亰恋伽」.
  * Add Otomate engine for PSP game 「クロノスタシア」 and 「忍び、恋うつつ」.
  * Add 日本一SOFTWARE engine for PSP game 「神々の悪戯」.
  * Remove garbage text for PSP game 「Are you Alice?」.

  Non-otome:
  * Add PSP engine for KADOKAWA game 「フォトカノ」.
  * Add alternative Yeti engine for Never7, Remember1, Ever17.

7/25/2014 FRI
  * Modify BANDAI PSP hook to support SEGA's Shining Hearts and Shape's
    とある科学の超電磁砲.
    添加了对PSP游戏「Shining Hearts」和「とある科学の超電磁砲」的支持。

    I created a wiki page for the known games that are not supported by VNR.
    If you find a game does not work with VNR, you can also put it there.
    I will try to make the games on the list to work when I have time.

            http://sakuradite.com/wiki/en/VNR/Compatibility

    我把已知的VNR无法提取文本的游戏放在上面了。
    如果你有发现VNR不支持某个游戏，也可以把游戏的信息放到那里去。

7/24/2014 THU
  * Add support for Arabic language.
    You can switch the language in Preferences/Account.
    If your language is not supported by VNR, feel free to let me know.

    When Arabic language is selected, VNR will try to switch the alignment
    from left-right to right-left.
    A screenshot of the current Arabic UI is as follows:

        http://sakuradite.com/images/screenshots/vnr_ar.jpg

    However, since I don't know any Arabic, I am not able to verify myself
    if an Arabic sentence is from left-to-right or right-to-left.
    If you find the text alignment is wrong in certain places, feel free to
    complain to me.

  * Restore the toggle in Preferences/Features to force enabling context menu in
    full screen game.

    This is requested by @goodboyye ONLY for people who have very small screen size.
    Since context menu would break full screen in most games, you normally don't
    want to enable this unless your laptop has a very small screen size.

    在【使用偏好/功能】恢复了在全屏时强迫开启右键菜单的选项。

    然而，这个仅仅是@goodboyye为了小屏幕同学的request。
    由于右键菜单会让很多游戏离开全屏状态，除非你因为笔记本屏幕太小迫不得已，
    否则千万不要打开这选项。


  btw., I rewrote the comet service from scratch at the server side.
  There should be no more network errors while signing in VNR or updating
  database when lots of users are using VNR.

  简单的说，在每天晚上VNR使用的高峰期，不会再出现无法登陆或者无法更新数据库
  之类的网络错误了。

7/23/2014 WED
  * Add Hán Việt Chinese-Vietnamese offline translator (漢越辭典).
    The dictionary is from Quick Translator TAO (http://www.tangthuvien.vn/forum/showthread.php?t=30151).
    You can enable it in Preferences/Translation if you want to cross-translate
    Chinese-translated eroge to Vietnamese.
    To translate Chinese games, you also need to change the game language
    from Japanese to Chinese in Text Settings.

7/22/2014 TUE
  * Fix the regression for Ryokucha engine. Sorry for the problem!
    修正了绿茶社引擎的bug。带来不便，非常抱歉！

  * Add BANDAI PSP engine for School Rumble PSP.
    为「スクールランブル 姉さん事件です」添加了BANDAI PSP的引擎。

  * Add Brocolli PSP engine for うたの☆プリンスさまっ.

7/20/2014 SUN
  * Add a Vanillaware engine for Wii game 朧村正.
    Tested on Dolphin 4.0, and a screenshot is as follows:

      http://sakuradite.com/images/screenshots/dolphin_oboro.jpg

    This is just a test for extracting texts from Dolphin.
    Please hold until this feature become stable.

    btw, the compatibility and limitation of Dolphin support is similar to PSP:
    1. Do not work on Windows XP
    2. Must launch VNR AFTER the GameCube/Wii ISO has been loaded
    3. Changing game ISO requires restarting VNR

  * Reduce garbage characters for Rejet PSP games.
    Thanks for @Sakamichi sama's report!

  * Add alternative engine for old Alchemist PSP game のーふぇいと.
    为老的Alchemist PSP游戏「のーふぇいと」添加了游戏引擎。
    感谢的@三十张sama报告！

7/19/2014 SAT
  * Add KID PSP engine for old KID games which does not have repetition texts.
    为KID添加了PSP游戏引擎来解决文本重复的问题。

  * Add CYBERFRONT PSP engine for old KID games.
    为KID添加了CYBERFRONT游戏引擎。

  * Add Yeti PSP engine for Secret Game.
    为Secret Game添加了PSP游戏引擎。

  * Bug fix PSP game engines.  I tested several PSP games, as follows:
    修正了PSP引擎的一些Bug。

    Work - 可以工作
    - [KID] Monochrome <= 文本设定请选择蓝色的KID的文本，而不要选择sceFont开头的文本

    - [5pb.] STEINS;GATE
    - [5pb.] Chaos Head Noah
    - [5pb.] DUNAMIS15
    - [Alchemist] 処女はお姉さまに恋してる 2人のエルダー
    - [Alchemist] 俺の彼女のウラオモテ
    - [Alchemist] your diary+
    - [CYBERFRONT] 想いのかけら
    - [Imageepoch] BLACK☆ROCK SHOOTER
    - [SEGA] SHINING BLADE
    - [Yeti] Secret Game

    Work, but have repetition in texts - 可以提取文本，但有重复文本
    - [NAMCO] .hack//.link

    Not work - 完全不能工作
    - [スクエニ] Final Fantasy Zero
    - [Imageepoch] 那由多の軌跡
    - [Spike] ダンガンロンパ
    - [Shade] とある科学の超電磁砲
    - [Shade] とある魔術と科学の群奏活劇

    Additional game engines are needed for the games that are not supported at the time.
    Note: None of the above games works on Windows XP.
    Note2: Just to emphasize, you MUST ENTER THE GAME (not only load PSP ISO) before launching VNR.

    注：
    1. 这些游戏在Windows XP上不能工作。
    2. 再次强调下，一定要先进入游戏（不只是插入PSP ISO，而是要进入游戏看到对话），再打开VNR。

7/16/2014 WED
  * Bug fix PSP game engines, which should now work on both Windows 7 and 8, x86 or x64.
    But it does NOT support Windows XP.
    If you are using Windows 7/8, but VNR cannot get text from PSP games made from
    Alchemist, 5pb, SEGA, or Imageepoch, I hope you could let me know.

    修正了PSP的游戏引擎。VNR应该可以从任何版本的Windows 7/8提取文本了。
    但是，PSP的游戏引擎不支持Windows XP！！
    如果你正在使用Windows 7/8，而VNR无法从Alchemist，5pb，SEGA，或是Imageepoch的游戏提取文本，
    很希望你可以让我知道出现问题的游戏的名字。

7/16/2014 WED
  * Fix the text duplication issue for 5pb PSP engine.

  * Fix a bug in Alchemist PSP engine.
    btw., it seems that this engine works for various game makers.
    It also works for SEGA PSP games such as SHINING BLADE.
    The hooked function can also be found in STEINS;GATE (@5pb.), though not called.
    I guess the hooked function was in certain common PSP SDK/Library.

    The Imageepoch's hooked function was also found in SEGA's SHINING BLADE, though not called.
    It seems that PSP games share more similarities than I expected so that I don't
    have to write game engines for each different maker.

    修正了Alchemist PSP引擎的一个bug。
    修正的引擎还可以从SEGA的SHINING BLADE游戏提取文本。

7/15/2014 TUE
  * Add a PPSSPP engine for Imageepoch.co.jp (jrpg.jp) games.
    为Imageepoch的PSP游戏添加了游戏引擎。

    A screenshot of BLACK☆ROCK SHOOTER on PPSSPP is as follows.
    下面是一张BLACK☆ROCK SHOOTER的截图。

        http://sakuradite.com/images/screenshots/psp_brs.jpg

  * Add support of UTF-8 encoding which might be needed by PSP games.
    在文本设定中添加了UTF-8的编码。有些PSP游戏会需要。

  * Restore furigana and TTS support to Game Information.
    恢复游戏情报中振仮名和TTS的支持。

  * Add YukaSystem2 game engine for 「セミラミスの天秤」.
    Note: The text encoding is UTF-8 (this is the first UTF-8 PC engine added to VNR).
    为「セミラミスの天秤」添加了YukaSystem2引擎。
    注：文本设定中的文本编码为新添加的UTF-8.

7/14/2014 MON
  * Add a PPSSPP engine for 5pb games.
    为5pb的PSP游戏添加了游戏引擎。

    A screenshot of STEINS;GATE on PPSSPP is as follows:
        http://sakuradite.com/images/screenshots/psp_5pb.jpg

7/13/2014 SUN
  * Fix the bugs that the series-specific terms might not be shared by game series.
    However, it only works for games existed in VNR's database.

    If you are adding a very new game file to VNR that does not exist in VNR's database,
    (i.e. VNR asks you to add the new game by Game Board),
    game series will not work until you edit Game Information to link the new game
    with a online reference, and run Update Game Database again after that.

    If the game you added does have a Series in Game Information, but the game
    does not exist in sakuradite.com/game, VNR is not able to recognize the game series
    until the VNR's online database is updated every day 4:00am JST,
    and VNR need to run Update Game Database again after the game appears in sakuradite.com/game.

    If you are lazy, you basically don't need to do any thing after adding new games, which is OK.
    VNR will update the game database everyday automatically anyway.

    修正了系列专用词条可能并没有在相同系列的游戏间共享的bug。
    然而，这个机能仅仅对VNR数据库中存在的游戏有效。

    如果你添加的游戏程序文件并不存在于VNR的数据库中（也就是说，你是通过游戏向导手动添加的游戏），
    那么在游戏添加后，需要先在【游戏情报】中关联下游戏，再执行下【更新游戏数据库】，
    游戏的【系列】才会对系列专用词条有效。

    另外，如果是新添加的游戏，即使游戏情报中显示有【系列】的名字，但是这个游戏还没有出现在
    sakuradite.com/game中，那么VNR也还不能识别游戏的系列，直到每天日本时间凌晨四点之后。

    如果你很懒，那么你在添加游戏后什么也不做，也是可以的。
    反正VNR每天是会自动更新游戏数据库的。

  * Add game engine for Alchemist-net.co.jp games on PPSSPP.
    A screenshot of your diary+ on PPSSPP 0.9.8 is as follows:
        http://sakuradite.com/images/screenshots/psp_alchemist.jpg

    Currently, translating PPSSPP games is not as convenient as PC games.
    There are several limitations comparing to hooking to Windows games, as follows:

    - Game settings cannot be saved based on per-game fashion.
      For instance, you cannot have per-game Text Settings, Voice Settings, subtitles, dictionary terms, etc.
      As a result, every time you switch the PSP ISO, you might have to re-adjust EVERYTHING.
      I am going to change the VNR to be able to identify game by the PSP ISO in the future.

    - The game engines will only work AFTER you have launched the ISO and entered the game!
      If you directly launch PPSSPP in VNR, IT WON'T WORK.

    - You MUST NOT close/change the current PSP ISO BEFORE closing VNR.
      Otherwise, the behavior is undefined that either VNR or PPSSPP might crash.

    - A large amount of PSP games will also need game-specific engines, such as 5pb games, Final Fantasy, etc.
      But currently, only Alchemist games are supported.
      It might take me at least half a year to add as many PSP game engines as the PC game engines.

      Before that, I also plan to add a Memory Reader as an alternative of current ITH
      and VNR's embed translation engine (vnragent.dll) for extracting text directly from memory.
      It seems that most PSP games do have a stable address where the texts could be read.
      Before I have time to add an engine for you, you can easily tell VNR the memory address of
      the game texts you found using Cheat Engine or Ollydbg.
      The memory address can also be saved online and shared among users.
      I feel this approach might be even more stable for extracting texts from PPSSPP comparing
      to using ITH, which might crash if the JIT-compiled code region is trashed.

    I am going to put more information later here:
        http://sakuradite.com/wiki/en/VNR/PSP

    为PPSSPP上Alchemist代工的游戏添加了游戏引擎。
    下面是your diary+在PPSSPP 0.9.8上的截图：
        http://sakuradite.com/images/screenshots/psp_alchemist.jpg

    不过当前版本的VNR，从PPSSPP提取文本要比PC不方便很多很多，如下：

    - 游戏的设定不能够根据不同的PSP游戏保存。
      简单的说，你每次更换游戏，都会需要手工调整全部游戏设定，比如：文本设定，语音设定。
      另外人工字幕、弹幕、词条也无法保存PSP游戏的信息。

    - 要使用PSP的游戏引擎，你一定要先打开PPSSPP，载入ISO，开始游戏，最后再打开VNR。
      否则，VNR将无法找到任何游戏文本。

    - 如果你打算退出ISO或者更换ISO，你一定要先关闭VNR，再关闭/更换ISO，最后重新打开VNR来处理新的游戏。
      如果你在VNR正在运行的途中就关闭或者更换了PSP的ISO，那么VNR或者PPSSPP将可能会崩溃。

    - 现在绝大部分PSP游戏还缺少游戏引擎。要添加像PC版那么多的引擎，至少需要半年以上的时间。

    我在有时间的时候，会把PPSSPP有关的东西放到下面的地方：
        http://sakuradite.com/wiki/zh/VNR/PSP

7/12/2014 SAT
  * Add hooks to HLE functions in PPSSPP.
    However, most games (such as Alchemist's games) still need game-specific engines.
    If you have PPSSPP installed, you could give it a try.
    If you don't, please hold a while until more game engines are added for popular makers.

    The current hooked HLE functions are from PPSSPP 0.9.8 as follows.
    UTF-8 functions are excluded as they are not supported by current ITH (need to modify vnrcli.dll).
    If you have other requests, feel free to let me know!
      Core/HLE/sceCcc.cpp
        int sceCccStrlenSJIS(u32 strAddr)
        int sceCccStrlenUTF16(u32 strAddr)
        int sceCccSJIStoUTF8(u32 dstAddr, u32 dstSize, u32 srcAddr)
        int sceCccSJIStoUTF16(u32 dstAddr, u32 dstSize, u32 srcAddr)
        int sceCccUTF16toUTF8(u32 dstAddr, u32 dstSize, u32 srcAddr)
        int sceCccUTF16toSJIS(u32 dstAddr, u32 dstSize, u32 srcAddr)
        int sceCccStrlenSJIS(u32 strAddr)
      Core/HLE/sceFont.cpp
        int sceFontGetCharInfo(u32 fontHandle, u32 charCode, u32 charInfoPtr)
        int sceFontGetShadowInfo(u32 fontHandle, u32 charCode, u32 charInfoPtr)
        int sceFontGetCharImageRect(u32 fontHandle, u32 charCode, u32 charRectPtr)
        int sceFontGetShadowImageRect(u32 fontHandle, u32 charCode, u32 charRectPtr)
        int sceFontGetCharGlyphImage(u32 fontHandle, u32 charCode, u32 glyphImagePtr)
        int sceFontGetCharGlyphImage_Clip(u32 fontHandle, u32 charCode, u32 glyphImagePtr, int clipXPos, int clipYPos, int clipWidth, int clipHeight)
        int sceFontGetShadowGlyphImage(u32 fontHandle, u32 charCode, u32 glyphImagePtr)
        int sceFontGetShadowGlyphImage_Clip(u32 fontHandle, u32 charCode, u32 glyphImagePtr, int clipXPos, int clipYPos, int clipWidth, int clipHeight)
      Core/HLE/sceKernelInterrupt.cpp
        u32 sysclib_strlen(u32 src)
        u32 sysclib_strcat(u32 dst, u32 src)

7/8/2014 TUE
  * Add new game engine for NeXAS games from 戯画 or みなとそふと.
    Tested working with Harvest, BALDRSKY EXTREME, and まじこい.
    Unlike GetGlyphOutlineA, it can properly extract scenario threads from other texts.
    If you are playing Harvest now, I highly recommend you to switch to NeXAS in Text Settings.
    为戯画和みなとそふと的游戏添加了新的游戏引擎。
    如果你在玩这个月的Harvest，那么非常建议你在【文本设定】中指定NeXAS为新的对话文本。

  * Fixed a severe bug in CaramelBox engine.
    修正了キャラメルBOX引擎中一个严重的bug。

7/6/2014 SUN
  * SolfaSoft engine is extended and renamed to ScenarioPlayer.
    It now supports more games such as 「こいなか 小田舎で初恋」 from eRONDO and 「らぶらぼ」 from bolero.
    The name "ScenarioPlayer" comes from the resource string of the executable "scenario player program for XXX".

    添加了ScenarioPlayer引擎来提取「こいなか 小田舎で初恋」的文本。

7/4/2014 FRI
  * 更新了@djz大先生在维护的J北京词库。

  * Display Japanese reviews on ErogameScape in Game Information.
    游戏情报中会显示批评空间上的日文评论。

6/30/2014 MON
  * Display Text Settings and subtitle makers in Game Information.
    在游戏情报中会显示服务器端的【文本设定】和分析人工字幕的同学。

6/29/2014 SUN
  * Fix a bug that VNR is not able to load TTS when TTS's path contains unicode characters.
  * VNR will look for both HKCU and HKLM for TTS keys in order to support Infovox TTS.
    Thanks for @1dat1 sama's suggestion!

  * 如果你暂时居住的地方无法访问Google，可以到如下的地方下载VNR：
        https://mega.co.nz/#F!g00SQJZS!pm3bAcS6qHotPzJQUT596Q
    感谢@goodboyye sama的建议！

  * Add support of 三省堂 大辞林 EPWING dictionary as an alternative of 岩波書店's 広辞苑.
    It is smaller than 広辞苑 (大辞林 is only 600MB), but it seems to have a larger vocabulary.
    It also has English translations for some words.
    Additionally, its explanations seems to be more concise to the point, while 広辞苑 is sometimes so verbose.
    I personally recommend you to replace 広辞苑 with 大辞泉.
    I might remove the 広辞苑 support in the near future.

    添加了对【三省堂・大辞林】EPWING辞书的支持。
    和広辞苑比起来大辞林不但小很多（只有600MB），我个人感觉大辞林的词汇量其实更大些，
    解释也更精辟（不像広辞苑经常弄很多例句解释很啰嗦）。
    另外，大辞泉还包含部分常用词的英文翻译。
    如果你在使用広辞苑的日日翻译，那么我很推荐你来用大辞林替换掉広辞苑。

6/27/2014 FRI
  * Display subtitle/danmaku counts in the Game Board.
    GameBoard会显示游戏的字幕，弹幕数目。
    比方说：123/456，表示游戏字幕数=123，游戏再生数=456

6/26/2014 THU
  * 禁止VNR把BlueStacks当成游戏。
    感谢@CO830409 sama的建议。

  * VNR no longer prefetches all game cover images into offline caches.
    This was suggested by @andrix sama and might save some disk space.
    VNR默认不会提前缓冲全部游戏封面图片了。

  * Game Information window is simplified.
    Certain previous features (such as game intro with furigana) haven't got implemented, though.
    简化了游戏情报的界面。
    部分以前的功能（比如对G网介绍的翻译）还没有写完。

6/21/2014 SAT
  * 更新了@djz大先生在维护的J北京词库。

  * Support linking games with DiGiket.com. It has more BL games than other sites.

6/20/2014 FRI
  * Add a game type filter to the bottom right corner of the SpringBoard.
    在SpringBoard的右下角添加了一个游戏类型过滤器。

  * You can also enable a group of selected rows in Shared Dictionary and Subtitle Editor
    as requested by @najizhimo.

  * Display game file size from dlsite/digiket in Game Information.
    在游戏情报中可能会显示在dlsite或者digiket上的游戏原始文件的大小。

  * In the Spring Board, the color behind the icon will reflect the type of the game:
       blue for 純愛, purple for 抜き, and green for 乙女, and snow for unknown.

6/19/2014 THU
  * Add a global keyboard shortcut for toggling visibility of VNR's text box.
    添加了可以显示或隐藏文本框框的全局快捷键。

6/18/2014 WED
  * Allow associate games with those on Holyseal.net.
  * Add basic mouse gestures to VNR's web browser.

6/16/2014 MON
  * Display link to erogame-tokuten.com in Game Information.
    游戏情报中会显示游戏在erogame-tokuten.com上的链接。

6/15/2014 SUN
  * 更新了@djz大先生在维护的J北京词库。

  * Support for UniDic Classical Dictionary (UniDic MLJ) is removed, as its parsing
    results are quite similar to UniDic Modern Dictionary for most eroge.
    由于UniDic近代日本语辞书和UniDic现代日本语辞书的分词结果差不多，移除了对近代日本语辞书的支持。

  * Add support for highlighting Japanese using CaboCha.
    This is an unimportant feature, and is only for Japanese learners who are able to read some extend of Japanese.
    If you are not able to read any Japanese, you can ignore the following texts.

    To turn it on, the CaboCha model for the used MeCab dictionary has to be downloaded in Preferences/Downloads.
    And then, you can enable CaboCha syntax highlighter in Preferences/Translation.
    You can also search for "CaboCha" in the left-bottom edit in Preferences for the related settings.

    A screenshot of the highlighted Japanese is as follows:

      http://sakuradite.com/images/screenshots/cabocha_remini.jpg

    While reading long Japanese sentences, our brain has to split it into short segments and try to understand each piece.
    TTS is one of the tools that could help us split long sentences.
    CaboCha is able to split a sentence by grouping the related words together, which is similar to TTS.

    You know, VNR mainly uses MeCab for parsing Japanese to furigana.
    From the compiler point of view, MeCab is basically a lexical parser that tokenizes Japanese into flat words;
    while CaboCha is a syntax parser that can construct a hierarchical syntax tree from the tokenized Japanese words.
    An example of the CaboCha tree is as follows:

        % cabocha
        太郎は花子が読んでいる本を次郎に渡した
            太郎は---------D
              花子が-D     |
            読んでいる-D   |
                    本を---D
                    次郎に-D
                      渡した
        EOS
        (See: https://code.google.com/p/cabocha)

    VNR currently only uses the CaboCha tree to colorize the Japanese sentences.
    Other features such as using it to improving machine translation quality might be added later.

    可以使用CaboCha来对日文做语法加亮。
    这个功能没什么用，也许仅对懂得日语的读者有帮助。
    如果你并不懂日语，那么忽略下面这些文字吧！

    要开启CaboCha，需要先从【使用偏好/下载】中下载MeCab辞书需要的CaboCha模型，
    然后再从【使用偏好/翻译】中打开CaboCha就好了。
    你也可以在使用偏好的左下角来搜索CaboCha，来得到相同设定的页面。

    下面是打开CaboCha后日文的截图：

        http://sakuradite.com/images/screenshots/cabocha_remini.jpg

    在大家读长句子的日语时，用人脑断句其实蛮辛苦的。
    TTS其实就是帮助大家来断句的。
    CaboCha和TTS类似，也可以分割长句子把相关度很高的词组和在一起。
    这样，读句子的时候，也许可以减轻大家断句负担。

6/9/2014 MON
  * You can always use the mouse to "select" the text in Shared Dictionary and CTRL+C to copy it
    even if you don't have edit permissions.
    在共享辞书中可以用鼠标选定其他人词条的文字，按下CTRL+C来复制。
    感谢@najizhimo sama的request！

  * Japanese lines are wrapped by MeCab words.
    修正日文分行显示时，边界单词被断开的问题。

  * Display game series name in Shared Dictionary.
    The game column is represented by:
        [Series Name] Game Name (File ID)
    For example: [マジ恋] 真剣で私に恋しなさい!! (6365)
    The series-specific terms will be shared by the games having the same series ID,
    or game ID, or file ID.

    在共享辞书中可以看到游戏的シリーズ名了。
    彼方说：  [マジ恋] 真剣で私に恋しなさい!! (6365)
    分别表示：[Series Name] Game Name (File ID)
    这三者中任意一个相同的游戏之间会共享系列专用的词条。

6/7/2014 SAT
  * 屏蔽把百度浏览器识别为游戏。

  * Game engine "Silkys" is renamed to "Elf", as Silky's belongs to elf, and it supports
    several other elf games such as 「麻呂の患者はガテン系」.
    It does not require modifying AI6WIN.ini for elf games.
    elf的游戏可以用游戏引擎提取了。不再需要修改AI6WIN.ini了。

6/6/2014 FRI
  * Able to display duplicate rows in the Shared Dictionary and Subtitle Editor.
    Duplicate rows are supposed to be avoided.
    Due to performance reason, duplicates from different games in the シリーズ (such as BSZ1 and BSZ2) are currently not detected.
    在共享辞书和字幕编辑中可以显示重复的行。
    应该尽量避免出现重复的行。
    由于搜索速度的原因，相同系列的不同游戏（比方说：BSZ1和BSZ2）的重复的词条暂时没有显示。

6/5/2014 THU
  * Microsoft Translator changed their API. Fix VNR to work with the new API.
    Thanks for @goodboyye sama's report!
    微软修改了Bing的页面。修正VNR可以使用新的微软Bing翻译。
    感谢@goodboyye sama的报告！

6/4/2014 WED
  * Fix a bug that on Windows XP VNR might not work.
    Thanks for @goodboyye sama's report!
    修正了VNR在Windows XP上可能出现的无法工作的问题。

  * Add embedding translation support for CIRCUS games.
    It works for all languages except Chinese/Korean/Thai.
    An example screenshot of DC3 is as follows:
      http://sakuradite.com/images/screenshots/dc3_en.jpg

6/3/2014 TUE
  * Add ITH game engine for games from AMUSE CRAFT.
    The game engine credits to @ok123 大先生's H-code.
    AMUSE CRAFT is a large company owning several brands such as:

      Qoobrand, STRIKES, UNiSONSHIFT, piriri, and ErectLip

   If you are playing games such as 魔女こいにっき, please adjust Text Settings
   to AMUSE CRAFT@ok123 threads.
   In the old version of VNR, text threads were extracted from lstrlenA
   which worked quite unstable under ITH.
   As a result, lstrlenA is disabled for AMUSE CRAFT games.

   为AMUSE CRAFT的游戏添加了游戏引擎。
   如果你在玩这个社的游戏，比如「魔女こいにっき」、「時計仕掛けのレイライン」,
   请调整【文本设定】选择正确的文本为：AMUSE CRAFT@ok123.

6/2/2014 MON
  * Add embedded game engine for Eushully games.
    Currently, embedding translation only works for Latin languages.
    I mean, it won't work for Chinese/Korean/Thai.
    Due to encoding issue, characters that do not exist in SHIFT-JIS will become "?".

    A screenshot of「天秤のLaDEA」 with English translations is as follows:
        http://sakuradite.com/images/screenshots/ladea_en.jpg

    为Eushully的游戏添加了嵌入翻译的支持。
    但是，当前只支持拉丁语言。嵌入的中文会因为编码问题而变成【？】。
    下面是一张英文翻译后的「天秤のLaDEA」的截图：
        http://sakuradite.com/images/screenshots/ladea_en.jpg

  * Automatically hook to WideCharToMultiByte for AlterEgo and TEATIME games.
    当游戏是AlterEgo或者TEATIME社的游戏时，会自动从需要的函数提取文本。

  * Support embedding translations for Silky's games such as 愛姉妹4.
    Again, it does not support Chinese/Korean/Thai.
    支持嵌入英文翻译到Silky's的游戏。但是这个功能并不支持中文。

6/1/2014 SUN
  * Add game engine for Silky's games.
   为Silky's社的游戏添加了游戏引擎。

5/30/2014 FRI
  * There is no longer "Japanese" language in the Shared Dictionary.
    If you want to add a generic rule for all languages, please specify "all" as the language.
    共享辞书中不再包含【日语】词条。
    如果你需要创建一条对所有语言都适用的规则，请选择【全部】为词条的语言。

  * Share subtitles and danmaku between 「your diary」and 「your diary +H」.
    Share subtitles and danmaku between 「euphoria」and 「euphoria HD」.

5/29/2014 THU
  * Fix the bug that Preferences/Downloads might always display "Installing" after terminate the download window.
    Thanks for @angelonth sama's report.
    修正了当强制关闭安装其他辞书窗口后，【使用偏好/下载】仍然会显示【安装中】。

5/28/2014 WED
  * Add multiple-selection support to the Subtitle Editor.
    为【编辑字幕】的界面添加了多项选择的列，来批量删除/禁用条目。

  * Update the NG words for Voiceroid 民安ずん子 summarized by @CC., such as 強姦 and チョン.
    更新了@CC. sama的民安ずん子的NG单词，包括比如：強姦、チョン

5/27/2014 TUE
  * Add multiple-selection support to the Shared Dictionary for bulk deleting/disabling terms.
    为【共享辞书】添加了多项选择的列，来批量删除/禁用词条。

  * Reduce machine translation time for character names.

5/26/2014 MON
  * Add paginators to the Shared Dictionary and Subtitle Editor.
    为词条和字幕的界面添加了分页。

  * Add support for embedding translations for all BGI games.
    It works for all languages EXCEPT Chinese, Korean, and Thai.

    There is a region lock in BGI games preventing launching them in non-Japanese locale,
    which is needed to display Chinese and Korean translations.
    Fixing the issue requires injecting VNR's DLLs before the game is launched.
    But currently, VNR's DLLs are injected after the game is launched.
    It will take me some time to rewrite the logic to support embedding Chinese/Korean for BGI games.

5/25/2014 SUN
  * 更新djz大先生的J北京的词条到140517的版本了。

  * Add Text Settings GUI for embedded game engines.
    It is quite similar but simpler comparing to the Text Settings for ITH threads.
    为内嵌翻译的引擎添加了【文本设定】。

  * Add support of embedding translations for SiglusEngine2 games.
    However, currently, it only works for languages in THIN characters, such as English.
    And it also cannot translate 選択肢 like ITH.
    A screenshot of「聖娼女」 with English translations inlined is as follows:
        http://sakuradite.com/images/screenshots/siglus_en.jpg

    For languages containing wide characters such as Chinese and Korean,
    embedded translations might suffer from overlapping characters.
    A screenshot illustrating the issue is as follows:
        http://sakuradite.com/images/screenshots/siglus_zh_font.jpg
    Non-Japanese wide characters might overlap with each other and become difficult to read.

    Fixing this issue requires hijacking font creation functions before the game is launched,
    which might take more time to implement.
    Basically, if your language is not a Latin language, currently you might have to disable
    the support of embedding translations.

    添加了对SiglusEngine2的游戏嵌入字幕的支持。
    当前，这个功能只支持拉丁文字的语言。对中文会出现字体重叠的问题，如下：
        http://sakuradite.com/images/screenshots/siglus_zh_font.jpg

  * Embedding translation is disabled by default until it becomes stable for all languages.
    由于对中文支持不佳，嵌入翻译的功能暂时默认禁用了。

5/13/2014 TUE
  * Fixed a regression that Preferences/i18n did not work.
    修正了【使用偏好/国际化】失效的bug。
    感谢@najizhimo sama的报告！

5/12/2014 MON
  * Modify the new embedded Majiro engine to be consistent with VNR's old online Text Settings and thread settings.

  * Add support for embedding English/Latin translations for BGI2 games.
    However, it only works well for English and Latin languages.
    A screenshot for 「世界と世界の真ん中で」 with embeded English translations is as follows:
        http://sakuradite.com/images/screenshots/sekai_bgi2_en.jpg

    For Chinese, Korean, and Thai, this does not work well that it will have garbage characters of "?".
    An example of problematic Chinese translations is as follows:
        http://sakuradite.com/images/screenshots/sekai_bgi2_zh.jpg
    The problem is that, I am not able to launch BGI games in non-Japanese locale like Majiro.
    The game will simply crash on the startup.
    If you have any clue on how to fix the locale issue, ぜひ教えてください！

    Currently, the new embedded engine is lacking a Text Settings GUI.
    If you want to adjust the text threads, please switch back to ITH by disabling
    the new engine in Preferences/Embed, change the Text Settings, and re-enable the new engine.

    Additionally, I temporarily disabled the support for for old BGI games.
    It works well, and a screenshot of translated 「FORTUNE ARTERIAL」 is as follows:
        http://sakuradite.com/images/screenshots/fa_bgi1_en.jpg
    But the problem is that I have to hook to a totally different place comparing to ITH.
    As a result, the text and thread settings for the new engine are different from ITH.
    Currently, the online database only has ITH's settings saved per game.
    I will need to extend the database to be able to save more than one settings per game
    so that the new engine will not mess up the existing game settings for ITH.
    This might take another one or two weeks to implement, and I will enable support
    for old BGI games after it is done.

    BGI2引擎可以正常的嵌入英文翻译了。下面是「世界と世界の真ん中で」的英文翻译的截图：
        http://sakuradite.com/images/screenshots/sekai_bgi2_en.jpg
    但是，中文嵌入翻译会变成这样：
        http://sakuradite.com/images/screenshots/sekai_bgi2_zh.jpg
    部分字符可能会变成问号（？）。
    要像MAJIRO的游戏一样显示中文，会需要使用中文编码启动游戏。
    但是BGI的游戏无法在中文环境下启动（游戏会自己关闭）。
    我不知道这种问题该如何处理才好。
    如果大家有汉化BGI游戏的经验，希望可以教我该怎样修正BGI编码的问题才好。

    现在，新的引擎还不支持调整【文本设定】。我在这几天会加上的。

    另外，虽然新版的引擎可以嵌入翻译老版的BGI游戏，但是这个功能被暂时禁用了。
    下面是使用了老版BGI的FORTUNE ARTERIAL的嵌入翻译的截图：
        http://sakuradite.com/images/screenshots/fa_bgi1_en.jpg
    由于内嵌BGI的文本设定和ITH老版的BGI引擎不兼容，造成两者的文本设定完全不同。
    这会需要扩展服务器端的数据库来为每个游戏保存ITH和新引擎两个设定。
    这在实现起来，可能会花费一两周的时间。

5/11/2014 SUN
  Note: Embedding translation currently does not work under Wine.

  * Fixed a severe bug that the machine translations might not be displayed properly.
    Thanks for @goodboyye sama and @najizhimo sama's reports!
    修正了机器翻译没有正确显示的问题。
    感谢 @goodboyye sama和@najizhimo sama的报告！

5/10/2014 SAT
  * Update the NG words for Voiceroid 民安ずん子.
    Thanks for @CC. sama's report!

    更新了@CC. sama的民安ずん子的NG单词。

  * 更新djz大先生的J北京的词条到140509的版本了。
    你可以到这里向@djz020815表示感谢：http://pan.baidu.com/s/1kT2trON

  * Added a new hook supporting embedding machine/manual translations into the game.
    You can find its settings in Preferences/Embed.
    The new hook is fully independent of ITH (and it does conflict with ITH).
    Currently, it only supports the games made by MAJIRO game engine.
    The current substitution method is not generic and will need descriptions for each game engine.
    I will gradually add more game engines to the new hook later.

    Depending on your language and the encoding of the game, embedding translation might or might not work properly:
    - English and all other Latin-based languages are supported no matter which encoding the game is.
    - For UTF-16 games, all languages are fully supported.
    - For SHIFT-JIS games, Chinese and Korean partially work with hacks (I will describe it later).
    - For SHIFT-JIS games, embedding Thai translation does NOT work.

    Currently, the font of the embedded translation might not look well for all languages.
    If that happens, I hope if you can help me by letting me know the proper font family in your language.

    Here are some screenshot from レミニセンス with embedded translations:
      Chinese
      - Scenario: http://sakuradite.com/images/screenshots/remini_zhs.jpg
      - Internal translation: http://sakuradite.com/images/screenshots/remini_save_zhs.jpg
      English: http://sakuradite.com/images/screenshots/remini_en.jpg
      Russian: http://sakuradite.com/images/screenshots/remini_ru.jpg
      Korean: http://sakuradite.com/images/screenshots/remini_ko.jpg

    More information could be found at:
    - http://sakuradite.com/topic/226
    - http://sakuradite.com/wiki/en/Game Settings

    Some of the important issues are described as follows:

    * Translation fonts
      Currently, the font family of different languages for the embedded translations are not specified.
      Basically, I just don't know the proper fonts for all kinds of languages.
      Here are some screenshots illustrating the font problem
      - When the selected font does not support your language, some characters might become "・" or "?" or "口".
        http://sakuradite.com/images/screenshots/remini_zht_font.jpg
      - The non-English latin characters might be rendered with double-width so that it is too long to be displayed in the game.
        http://sakuradite.com/images/screenshots/remini_ru_font.jpg

      If you know the proper font usually used to display your language, I hope if you could let me know.

    * Embedding Chinese and Korean into SHIFT-JIS games
      To display characters in your language above, VNR has to launch the game using your language's encoding.
      This means the locale launchers such as NTLEA and LocaleEmulator will be disabled.

      For Chinese, if the game is able to launch, then there are no more problems.

      For Korean, the original Japanese texts can no longer be displayed.
      All texts must be translated to Korean in order to be displayed properly.

      This is because the Chinese character set is basically a superset of Japanese.
      But the Korean character set only partially supports Japanese.

      添加了内嵌翻译的功能。在【使用偏好/内嵌翻译】中可以打开（默认就是打开的）。
      这个功能完全独立于ITH（并且和ITH冲突）。
      现在，这个功能仅仅支持MAJIRO的游戏，我在以后会逐渐添加对其他游戏引擎的支持的。

      下面是两张「レミニセンス」的截图。
      - 游戏界面：http://sakuradite.com/images/screenshots/remini_zhs.jpg
      - 保存界面：http://sakuradite.com/images/screenshots/remini_save_zhs.jpg

      更多的信息可以参看这里：
      - http://sakuradite.com/topic/226
      - http://sakuradite.com/wiki/zh/Game Settings

      当前，这个功能只对英文和其他拉丁语言能够完美的支持。
      关于内嵌中文翻译，如果游戏是UTF-16的编码，那么没有任何问题。
      但是，内嵌中文到SHIFT-JIS的游戏会有一些问题。

      * 游戏启动的问题
      SHIFT—JJIS的游戏必需以中文区域启动才可以。这意味着NTLEA，LocaleEmulator之类的转区工具都会失效。
      另外，要内嵌中文翻译，必需用VNR启动游戏，而不能先启动游戏，再启动VNR。
      UTF16的游戏，或者要嵌入英文翻译则无此问题。
      但是，有很多日文游戏无法在中文区域下启动。
      现在，如果要显示内嵌翻译，最好先将Windows调整为日文编码，再来用VNR启动游戏才可以。

      这个问题的原因是需要让游戏显示日文和中文混杂的文字。
      但是游戏内部的SHIFT-JIS编码并不支持混杂的文字，如果不转区，在日文环境下的中文就会变成乱码。
      但是，万幸的是中文编码基本上是日文编码的超集，所以需要使用中文编码来启动游戏。

      * 正体中文字体的问题
      当前的hook没有专门为正体中文指定字体，内嵌的正体中文可能会变成乱码，比如下面这样：
          http://sakuradite.com/images/screenshots/remini_zht_font.jpg
      现在只好暂时将内嵌翻译的语言变更为简体中文。
      关于正体中文字体的问题，我在以后会修正的。

5/3/2014 SAT
  * 更新了@djz020815大先生的J北京辞书到5月1日的版本。

4/21/2014 MON
  * @ok123 sensei added new Mono game engine for BALDRSKY ZERO, which contains no garbage texts.
    Garbage elimination terms in Shared Dictionaries can be abandoned now.
    @ok123大先生为BALDRSKY ZERO系列添加了新的Mono游戏引擎。提取到的文本不再会有垃圾字符了。
    另外，共享辞书中区垃圾的词条也不需要了呢。

4/20/2014 SUN
  * 修正了Voiceroid部分单词会被NG的问题。
    感谢的@CC sama建议！

    如果你发现了其他的单词会被Voiceroid屏蔽，可以追加到下面这里：
        http://sakuradite.com/wiki/zh/VNR/語音設定
    我在以后会添加到VNR中的。

4/19/2014 SAT
  * Add game engine for BL games from Marine Heart.
    为Margine Heart的BL游戏添加了引擎。那些游戏不再需要特殊码了。

  * Fix the issue that VNR could crash BALDRSKY ZERO2.
    The reason of the issue was that the latest AlphaROM games would close itself
    if VNR was gaining debug privileges.
    This bugfix might also save other AlphaROM games from crashing.

    修正了BALDRSKY ZERO2会自己退出的问题。

4/18/2014 FRI
  * Fixed a severe bug for extracting text from Ryokucha game engine (games from すたじお緑茶).
    Thanks for @djz020815 sama's report!
    修正了从すたじお緑茶的游戏提取文本的bug。

  * 更新@djz020815 sensei的J北京的辞书到140417的版本。

4/15/2014 TUE
  * VNR will automatically back up local games settings.
    If VNR has crashed for whatever reason and corrupted current game settings, VNR will restore the last settings.
    Thanks for @najizhimo sama's report!

    VNR会自动备份保存的游戏设定。
    如果VNR因为崩溃而造成当前的设定损坏和丢失掉游戏，VNR会自动恢复上次备份的游戏设定。
    感谢@najizhimo sama的报告。

  * Add game engine for Adobe AIR.
    Tested working with「華アワセ 蛟編」and「華アワセ 姫空木編」.
    为Adobe AIR添加了游戏引擎。
    「華アワセ 蛟編」和「華アワセ 姫空木編」不再需要特殊码了。

  * Modify the old BALDR engine so that it works with バルドスカイゼロ2.
    The new engine is renamed to "Unity" to be more generalized.

    Additionally, since バルドスカイゼロ and バルドスカイゼロ2 share the same terms in the Shared Dictionary
    (both of them are in the same series of バルド),
    the garbage elimination rules for バルドスカイゼロ also work for バルドスカイゼロ2.
    No extra modifications to the Shared Dictionary are required.

    修改了BALDR的引擎来支持「バルドスカイゼロ2」。新的引擎重命名为“Unity”。
    另外，由于「バルドスカイゼロ」和「バルドスカイゼロ2」会自动共享词条，
    这样就不需要再为「バルドスカイゼロ2」设计删除垃圾字符的规则了。

  * Add game engine for sol-fa-soft.

4/13/2014 SUN
  * Restored support to read user-shared/machine translations using TTS.
    By default, VNR will use TTS to read the original game text (usually in Japanese).
    Now, if the language of your selected global TTS or character-specific TTS is different from game's language,
    VNR will try to read the translation using your selected TTS.
    The translation could come from either user-shared subtitles or machine translators.

    For example, if you are speaking Korean, after installing VoiceText YUMI, VNR can use that TTS to read Korean translation instead of Japanese game text.

    恢复了使用TTS读出机翻和人工翻译的字幕的支持。
    VNR以前仅会用TTS读出日文的游戏文本。
    现在，当你选择的TTS的语言和游戏的语言不同时，VNR会转而使用你选定的TTS来读出人工翻译或者机器翻译。

    比方说，如果你有装VoiceText的Liang（男生）或者Hui（女生）的TTS，那么在指定中文TTS为角色配音后，VNR会使用中文读出翻译的字幕。

    btw., if you would like to try TTS+VNR, personally I would recommend VoiceText.
    Some of its supported languages and sizes of the voices are as follows:
    - Japanese: VM Misaki (female, 755MB) and VM Show (male, 724MB）
    - English: VM Julie (female, 565MB) and VM Paul (male, 448MB)
    - Chinese: VM Hui (female, 368MB) and VM Liang (male, 241MB)

4/12/2014 SAT
  * 我把MeCab需要的辞书上传到VNR的百度网盘了。
    如果你因为暂时居住在中国大陆地区而无法下载MeCab的辞书，只好手动从网盘下载，
    然后解压缩到Caches/Dictionaries中。

  * Launch Voiceroid using AppLocale on non-Japanese Windows.
    Thanks for @CC. sama's suggestion!
    使用AppLocale启动Voiceroid。

4/4/2014 FRI
  * @djz020815 sensei把三本J北京的辞书合并为一本了。这样可以大大加快J北京翻译的速度。
    非常感谢@djz020815大先生的工作！

    如果你不喜欢VNR而在用喵翻或者TranslationPendant，你也可以下载这本辞书并手动添加到J北京中。
    @djz020815的自定义辞书的下载地址：http://pan.baidu.com/s/1kT2trON

4/3/2014 THU
  * Prevent VNR from hooking to Notepad++.
    禁止VNR从Notepad++提取文本。

4/2/2014 WED
  * Add AOS engine for games from SugarPot and other game brands under the umbrella of 彩文館.
    Tested working with 恋する少女と想いのキセキ, ツクモノツキ and some nuki games from LiLiM.
    为包括Sugar Pot在内的彩文館伞下的会社的游戏添加了AOS的引擎。
    二月的「恋する少女と想いのキセキ」不再需要特殊码了。

4/1/2014 TUE
  * Fixed the losing text bug in Malie3 engine for 相州戦神館學園 八命陣.
    Thanks for @ok123 sensei's report!
    修正了light社的Malie3引擎会丢字的问题。

  * Add a new Tenco game engine for 英雄・戦姫シリーズ.
    These games usually have several updates.
    Hope this engine could help reduce the dependence on H-code for different updates.
    为「英雄・戦姫」シリーズ添加了新的Tenco引擎。

3/31/2014 MON
  * Modify the built-in browser to support parsing website using MeCab and reading Japanese sentences using TTS.
    The role of the Japanese word is rendered in the tooltip.
    VNR自带的浏览器可以为日文的网页分词和使用TTS读出网页上日文的单词和句子了。
    另外在tooltip中会显示分词后日文单词的词性。

3/27/2014 THU
  * 修正了浏览器在大陆访问某些需要flash的网站时会出现的地址错误的不具合。

3/26/2014 WED
  * 如果你暂时居住在中国大陆地区，并且无法正常通过VNR下载某些辞书（比如UniDic），
    那么，出现问题的原因很可能是大陆人众所周知的原因。
    这时，只好手动通过下载提示中的任何地址下载需要的辞书，然后解压缩到提示中的位置就好了。
    除了Lingoes辞书和EDICT辞书不可以这样，其他的都是直接解压缩到指定的位置就好了。

3/25/2014 TUE
  * Modify the theme of the web browser to look better when Aero is not supported.
    让浏览器在Aero不支持时会看起来好些。

  * You can disable the notification at the corner of the screen in the left dock.
    在左边的选项中可以关闭右上角的提醒。

3/24/2014 MON
  * Handle the cookies so that the browser can visit DMM properly.

3/22/2014 SAT
  * Add a simple web browser which could be used to visit certain web sites that are blocked outside of Japan.
    Currently, it works well on Windows Vista and later when Aero is enabled.
    The GUI will look very ugly on Windows XP.
    添加了一个可以在日本外访问日本部分网站的简陋的浏览器。 
    当前，浏览器只在支持Aero的Vista以及以后版本的Windows上才可以正常显示。
    在Windows XP上，浏览器的界面会非常的丑。

  * Fixed a bug for determining whether a game is an otome game.
    Thanks for @Sakamichi sama's report.

  * The underlying mechanism for saving manual subtitles is changed.
    In short, the subs are less likely to get lost due to the changes/updates to the games.
    The UI are not changed, and you don't need to do anything to enable this change.

    Additionally, I also manually shared subtitles between 「暁の護衛 トリニティコンプリートエディション」
    and 「暁の護衛 ～罪深き終末論～」at the server side.
    Currently, there is no public UI to specify which games to share subs
    other than linking them with the same online game (say, from getchu).
    If you have requests, feel free to let me know!

    More technical details about the changes are at the end.

    改进了保存字幕的机制。
    简单的说，字幕会更不容易由于游戏的变更或者更新而丢失了。
    另外，我手动的将「暁の護衛 トリニティコンプリートエディション」和「暁の護衛 ～罪深き終末論～」
    两个游戏间的字幕和弹幕设定为共享了。
    也就是说，在一个游戏中的字幕和弹幕，另一个游戏也可以看到了。
    如果你正在玩Trinity，右键点击下侧边栏，选择【更新人工字幕】就可以得到罪深的字幕了。

    In the old version of VNR, all subtitles were saved with the raw data of the text in the memory instead
    of the game text that you can see in the screen.
    For example, assume the current game text is "海斗「こんにちは」", and my subtitle is "Kaido: Hello".
    In the old version of VNR, "Kaito: Hello" will be saved not with  "海斗「こんにちは」",
    but with the current data in the memory behind "海斗「こんにちは」" which you cannot see.

    The reason behind this decision is that: I feel raw memory is usually more stable than
    the extracted game text.
    Because the game text might be different depending how we view/process it
    (which encoding to decode text, whether eliminate repetitions, whether display user name, whether
    use Shared Dictionary to reorder character names and to remove garbage characters, etc.).

    Then, I tried importing subtitles made for 「暁の護衛 ～罪深き終末論～」(assume this to be A3) to
    「暁の護衛 トリニティコンプリートエディション」(let this game be AT).
    But because A3 and AT were made using different game engines and the subtitle scripts were in different encodings
    (A3 = MAJIRO with SHIFT-JIS, AT = KiriKiri with UTF-16),
    the raw memory were different for these two games, which made it impossible
    to share subtitles between them.

    So, I changed the mechanism for saving subtitles to that:
        the subtitle will be saved with both raw memory data and the game text.
    Now, the subs in A3 and AT can be shared since their processed game text are the same.
    To be more precise, the subtitle is not really saved with game text, but the "normalized" game text.
    The normalization includes removing spaces, reordering text and eliminate repetitions.
    This will make it less possible to suffer from the changes of different game engines,
    and how user select to process the game text.

    Additionally, in the old version of VNR, because the memory extracted from certain game engines
    (such as KiriKiri and YU-RIS) were unstable, manual subtitles could randomly get lost.
    This update will also fix such issue.

    btw, 暁の護衛 was THE game that changed my personality, and motivated me to create VNR so that
    more (Chinese) users could enjoy the game.
    If you know some basic Japanese, I personally strongly recommend you to give this game a try.

3/19/2014 WED
  * Bugfix for the CMVS engine.

3/17/2014 MON
  * Add support for Translate.Ru online translator from PROMT.
    It supports several European languages, but I believe Russian is its best.
    Thanks for @1dat1 sama's suggestion.

    Note: You cannot see this translator in Preferences if you have blocked Russian language in Preferences/i18n.

  * VNR's updater is temporarily rolled back to command line script.
    It is uglier, but much faster and stabler than the previous GUI version.
    VNR的更新程序暂时变回命令行的形式。
    虽然看上去更丑了，但是比之前的图形界面要稳定。

  * Fix a bug that might cause games from Eushully randomly losing texts.
    修正了E社游戏有时会丢失文本的bug。

  * Support for extracting texts from MultiByteToWideChar and WideCharToMultiByte are temporarily disabled.
    暂时禁止从MultiByteToWideChar和WideCharToMultiByte提取文本。

    Certain games require extracting texts from MultiByteToWideChar or WideCharToMultiByte.
    But due to technical difficulties, hooking these two functions could cause a large number of games to lose text.
    A as a result, I temporarily disabled hooking to these two functions.
    If your existing games need to extract texts from these functions, you have to manually download vnrcli.dll
    from the following place, and replace the default DLLs in Library/Frameworks/Sakura/bin.

        Google Drive: http://goo.gl/t31MqY
        Baidu Disk: http://pan.baidu.com/s/1jGftD9W

    某些游戏需要从MultiByteToWideChar或者WideCharToMultiByte这两个函数提取文本。
    但是由于技术困难，注入这两个函数会造成很多游戏丢失文本。
    所以，VNR暂时停止从这两个函数提取文本了。
    如果你在玩的游戏恰好需要这两个函数，请暂时手动从上面的位置下载vnrcli.dll，
    然后替换掉Library/Frameworks/Sakura/bin中默认的DLL。

    Since this issue is very difficult to fix, it might take more than a week.
    I will try to fix this issue as soon as possible.
    Really sorry for the inconvenience! m(_ _)m
    More information about this issue could be found in the following place:

        http://sakuradite.com/topic/175
        http://sakuradite.com/topic/159

    由于这个问题很难修正，可能会花费一两周的时间。
    带来不便，非常抱歉！我会尽快修正这个问题的。
    关于这个问题的更多描述，可以从上面的地方找到。

3/16/2014 SUN
  * Support using Alt / Ctrl modifiers for mouse and keyboard shortcuts.
    可以用Alt/Ctrl和鼠标键盘的组合键来做快捷键了。

3/15/2014 SAT
  Note: If you are experiencing the issue that VNR is reading out unwanted character names through TTS,
  please do a manual update to the Shared Dictionary.
  There was an important rule to eliminate character names in voices which was disabled by some users by accident.

  注：如果你遇到VNR使用TTS读出不需要的人物姓名的问题，那么请手动更新下共享辞书吧。
  辞书中一条删除姓名的词条被其他同学错误的禁用了。

  * You can specify global mouse/keyboard shortcuts in Preferences/Shortcuts.
    You can enable the shortcut in the option dock on the left of the game window.
    Currently, you can bind the shortcuts only with TTS.
    在【使用偏好/快捷键】中可以指定键盘和鼠标快捷键。
    在游戏左边的选项中可以打开。
    现在，只可以为语音合成指定快捷键。

  * Pressing the Close button (X) on the top-right corner of the text box no longer stops the text extraction.
    If you want to disable VNR, you have to manually press the "Pause" button on the left dock.
    单击文本框框左上角的关闭按钮（X）不再停止提取文本。
    如果想要让VNR停止提取文本，请手动单击游戏窗口左边的【暂停】按钮。

  * 换了下载UniDic的地址，以解决大陆地区因为sourceforge在日本服的务器被墙而无法下载UniDic的问题。
    感谢@goodboyye sensei的报告！

3/11/2014 TUE
  * @djz020815 sensei改进了JBeijng的自定义辞书。

  * Fixed a severe bug in VNR that might crash TanukiSoft games,
    and might cause certain game engines (such as Debomosu) randomly unable to find game threads.
    Thanks for @Kodoku sensei's report!
    修正了一个VNR的严重的bug。
    这个bug会导致TanukiSoft的游戏崩溃，还可能会让个别引擎（Debonosu）在有些同学的笔记本上随机性的提取不到文本。
    非常感谢Kodoku sensei的报告！

3/10/2014 MON
  * VNR will display the guessed encoding for the text threads in Text Settings.
    VNR will not force you to change the encoding.
    But it is usually correct, unless you are playing a mod/translated game.
    VNR在文本设定中会显示文本的编码。
    这个编码通常是正确的，除非你在玩修改了的或者翻译的游戏。

    btw, I added a summary of all game engines in ITH and VNR at:
        http://sakuradite.com/wiki/en/VNR/Game_Engine

3/9/2014 SUN
  * Fix a bug of Malie3 that the garbage texts sometimes are not removed
    修正了Malie3有时会有垃圾字符的问题。

3/8/2014 SAT
  * Add a new Malie3 engine for 相州戦神館學園 八命陣.
    You can find Malie3@ok123 in Text Settings crediting to @ok123 sensei.
    The new engine does not have the issue of showing texts before it is painted on the screen.
    You can say thanks to @ok123 here: http://sakuradite.com/topic/157

    为「相州戦神館學園 八命陣」添加了新的游戏引擎。
    你可以在【文本设定】中选择【Malie3@ok123】的文本。
    新的引擎不再有提取大段大段的文本的问题了。

  * The startup time of VNR is reduced.
    In the old version of VNR, a large amount of the startup time is spent on preprocessing the Shared Dictionary.
    As the size of the Shared Dictionary increases, the processing time becomes longer and longer.
    Now, VNR will preprocess the Shared Dictionary in another thread so that it will not block the startup.
    The green ring will be spinning on the startup when VNR is processing the dictionary.
    The trade-off it that, if you are trying to open the Shared Dictionary immediately after startup,
    VNR might complain to you that it is still processing the dictionary.
    Please wait a few seconds until the green ring disappears.

    加快了VNR的启动速度。
    在上一版的VNR，很多启动时间花费在处理共享辞书上。
    随着共享辞书越来越大，启动等待的时间越来越长。
    现在，VNR会另外开辟一个线程来处理辞书，这样启动时就不会卡在那里了。
    在VNR处理辞书时，左下角的绿色的环会转动。
    不过这样做的代价是，如果你在启动VNR后立刻打开共享辞书，
    因为还没有处理完词条，VNR可能会抱怨要再等几秒钟才可以打开共享辞书。

  * By default, VNR will display the number of online users on the Spring Board.
    You can disable this in Preferences/UI.

    VNR默认时会显示在线的同学的数量。
    你可以在【使用偏好/界面】中选择不显示它。

3/7/2014 FRI
  * Add game engine CMVS2 for recent games from パープルソフト.
    Specifically, ハピメアFD does not need /H code any more.
    CMVS2 is actually better the the current /H code for that game.
    The existing /H code will extract duplicate threads while CMVS2 will not.
    I think it might be better you enable CMVS2 in Text Settings and disable the current /H code for that game.

    为パープルソフト添加了新的CMVS2游戏引擎。
    这个引擎比当前的ハピメアFD的特殊码要好，因为当前的特殊码会产生大量分裂的重复文本。
    我想，如果可以在【文本设定】中将对话文本改为CMVS2会好些吧。

3/5/2014 WED
  * Avoid growling repeating messages.

  * Fixed the issue that MeCab does not work on some computers.
    修正了MeCab在某些同学的电脑上无法工作的问题。

  * 我换了一个下载UniDic的sourceforge.jp的mirror。希望可以解决大陆某些地方下载UniDic很慢的问题。

  * Change the encoding for SHIFT-JIS from the standard SHIFT-JIS to CP932.
    This will fix the issue that certain uncommon kanjis such as 「昱」 were missing.
    Thanks for @tidus2310 sama's report!

    修正了部分生僻汉字（比如「昱」）会丢失的问题。

  * Fix the bug that the comment is not saved for newly-created terms in the Shared Dictionary.
    修正了创建享辞书词条是注释没有保存的bug。

3/4/2014 TUE
  * Fixed the issue that UniDic MLJ cannot be downloaded.
    Thanks for @qdbkrc sama's report!
    修正了无法下载UniDic近代日本語辞書的问题。
  * 修正了大陆地区选项打开后对空间和DMM等网站的代理。
  * Display the total number of users that are using VNR.
    VNR会显示世界上在正在使用的同学的数量。

3/3/2014 MON
  * Add Malaysian language support. You can select the new language in Preferences/Account.

  * 当使用偏好中大陆地区的选项开启时，VNR会直接通过ip而不通过域名访问G网。
    感谢@goodboyye sama的建议！

  * Add LEC Online translation support which can be enabled in Preferences/Translation.
    LEC is said to be the best translator for European languages.
    VNR supports LEC offline translator only for English.
    If you does not have LEC installed, or your native language is an European language other than English,
    it is highly recommended to try LEC online translator.

    Thanks for @spoxxy sama's suggestion!

3/2/2014 SUN
  Note: VNR's servers are online again. Sorry for all the troubles caused by it last week!

  If VNR's server is down again, you can get a recent version at Google Drive:
      http://goo.gl/t31MqY
  Or:
      https://drive.google.com/folderview?id=0B3YXxE6u-4bzc1RKWHpoLWZROTQ

  注：VNR的服务器恢复了。对于上周带来的各种问题，很抱歉！
  如果VNR的服务里有down了，你也许可以在这里下载一个最近的版本：
      http://pan.baidu.com/s/1jGftD9W

  * At the left dock, VNR will display the number of users playing the same game at the same time with you.
    左边的浮动栏会显示当前有多少同学正在和你一起玩同一个游戏。

  * The organization of VNR's files changed slightly.
    VNR的文件布局改变了。

  * Reduce the disk usage of VNR. reader.7z is reduce to 56MB.
    减小了VNR的硬盘占用空间。reader.7z减小到56MB。

  * I rewrote the updater to get rid of the dependence on cygwin and autoit
    so that the updater will not crash on Windows 8 x64.
    重写了更新程序已修正在win8上的不具合。

  * Update Python and PySide to the latest version.

  * Python no longer compiles the source code into byte code.
    This will fix the issue that running VNR as administrator might sometimes mess up the update.
    Python不再生成字节码。
    这样即使用管理员权限启动VNR，也不会造成无法正常更新的问题了。

  * Fix the bug that vnrsrv.dll sometimes crashes when the game is closed.
    This only works for Windows Vista and later. On Windows XP, the problem remains.
    Thanks for @goodboyye sama's report!
    修正了关闭游戏时有时会出现的vnrsrv.dll崩溃的问题。
    这个修正仅对Vista及以后的Windows有效。在Windows XP上，VNR仍旧会崩溃。
    感谢@goodboyye sama的报告！

  * Support for LocaleSwitch is dropped, as I feel LocaleEmulator + NTLEA + AppLocale is sufficient.
    去掉了对LocaleSwitch的支持，因为感觉LocaleEmulator + NTLEA + AppLocale已经足够了。

2/26/2014 WED
  Note: VNR's servers are being migrated by the service provider. The Internet connection is very unstable.
  This might last for at most two weeks, and there is nothing I can do ...
  Sorry for the inconvenience!
  I am going to release an update to fix the issues of VNR when the servers are offline.

  注：VNR的服务器正迁移中，会不定期的掉线。这个状况可能会持续最多两周的时间。
  由于迁移是服务商强制的，我也没有办法控制。。。
  我在这两天会更新下VNR来修正服务器断线后VNR的各种不具合。给大家带来不便，非常抱歉！

  * The UI style of some of the widgets is changed from Twitter Bootstrap version 2 to version 3.
    It has less gradient colors and shadows which will be faster to render.
    You might find it feels slightly different (flatter), though.
    VNR部分界面由Twitter Bootstrap 2变更为Twitter Bootstrap 3的风格。

  * Add a primitive widget beside the Shared Dictionary where you can discuss with others
    about the usage of the Shared Dictionary.
    在共享辞书旁添加了很简陋的可以交谈的地方。

  * VNR no longer distributes IPAdic by default.
    IPAdic is one of the dictionaries needed by MeCab.
    If you want to use VNR to parse Japanese into phrases and look up dictionaries,
    you must download at least one MeCab dictionary in Preferences/Downloads.
    VNR默认不再自带IPAdic的辞书了。
    IPAdic是MeCab须要的字典之一。
    如果你希望使用VNR来分词和查询日文单词字典，一定要在【使用偏好/下载】中下载至少一个MeCab的辞书。

  * Reduce the disk usage of VNR.
    减小了VNR的硬盘占用空间。

  * I added some alternative MeCab dictionaries.
    VNR now supports three kinds of MeCab dictionaries, which could be downloaded in Preferences/Downloads.
    The one used by the old version of VNR is IPAdic.
    I feel UniDic Modern Japanese Dictionary (UniDic現代日本語) is the best (but larger than IPAdic).
    If you have enough disk space, I think you could try UniDic.

    为MeCab添加UniDic辞书。在【使用偏好/下载】中可以可以得到。
    如果你有足够的硬盘，那么建议使用UniDic咸带鱼版代替老版本VNR的IPAdic。

    IPAdic比起来，UniDic有更大的词汇量。
    比如：IPAdic不能识别「巨乳」（除非安装了微软日文输入法），而UniDic可以。
    另外，UniDic可以分析出日文假名的汉字原型，以及发音的来源。
    比方说：
        すもももももももものうち
    如果你点击すもも，那么VNR会弹出：
        すもも,李,名詞,普通名詞,一般,和
    这里，「李」是「すもも」对应的汉字。
    句末的「和」表示すもも这个发音来自古日语。如果是「漢」，则表示这个发音来自中文。

    I investigated available MeCab dictionaries a little bit, and found 5 free candidates.
    A summary is as follows. Among the 5, I feel UniDic is the best.
    If you have alternative suggestions, feel free to let me know!

    1. IPA dic (50MB): http://sourceforge.net/projects/mecab/files/mecab-ipadic/
    This is the default dictionary comes with MeCab.
    But I found its vocabulary is limited.
    For example, it cannot even recognize 巨乳.
    In the old version of VNR, VNR cannot recognize 巨乳 unless Microsoft Japanese IME is installed.

    2. UniDic現代日本語辞書 (247MB): http://sourceforge.jp/projects/unidic/
    I feel UniDic is better than IPA.
    - It has much larger vocabulary, which includes 巨乳.
    - It can tell whether the pronunciation of the phrase originates from ancient China or ancient Japan.
      See the example below.
    - It can return the associated Kanji of the katakana/hiragana.
      For example:
          すもももももももものうち
      will be parsed to:
          すもも も もも も もも の うち
      If you click すもも, VNR will popup something like this:
        すもも,李,名詞,普通名詞,一般,和
      If you click もも, VNR will popup something like this:
        もも,桃,名詞,普通名詞,一般,和
      Here, 李 and 桃 are the 漢字 of すもも and もも.
      And 和 at the end means the pronunciations of すもも and もも come from ancient Japanese.
      If it shows 漢 instead of 和, it means that pronunciation is ported from Chinese than Japanese.
    - The way UniDic splits Japanese seems to be more natural than IPA.
      For example, 愛を信じようだとか will be parsed by UniDic as:
        愛を 信じよう  だ と か
      while it will be parsed by IPAdic as:
        愛を 信じよ う  だ と か
      IPAdic has a tendency to split 信じよう into 信じよ+う , while UniDic does not.

    3. UniDic近代日本語辞書(UniDicMLJ, 458MB) http://www2.ninjal.ac.jp/lrc/index.php?UniDic%2F%B6%E1%C2%E5%CA%B8%B8%ECUniDic
    This is an extension of UniDic by adding phrases from 近代日本語.
    It has larger vocabulary than the original UniDic.
    But I found it might make more mistakes than the original UniDic when parsing 現代日本語.
    For example: 今日はいい天気ですね
    UniDic MLJ will recognize いい as a verb instead of an adjective like in the original UniDic.
    I guess it might be a good fit only for hardcore games from Nitro+/light, or 時代劇 games
    where the セリフ tends to be classical/ancient.

    4. NAIST jdic (160MB): http://sourceforge.jp/projects/naist-jdic/
    This is the original dictionary developed by the same team of MeCab from NAIST university.
    I feel it is quite similar to UniDicMLJ, and not as good as UniDic for parsing modern Japanese.
    It also tends to recognize いい as a verb (which might be the case for ancient Japanese?).
    And it cannot recognize 巨乳 either ><

    5. JUMAN dic: http://sourceforge.net/projects/mecab/files/mecab-jumandic/
    The parsing quality is horrible.
    The only benefit is that it has a loose license.

2014/2/18 TUE
  * Display the number of users viewing the Shared Dictionary.
    This feature is useless. It is mostly for testing the stability of the atmosphere connection
    between VNR and the server. This new technique might allow VNR to get real-time incremental
    changes to the shared dictionary, subtitles and comments from the server in the future.

    在【共享辞书】的右下角会显示当前有多少同学正在阅读共享辞书。

2014/2/17 MON

  * JBeijing by @djz020815
  - 修改

    @Hdgdyl：取り返しがつかない = 没有依靠 //改为【无法挽回】
    @Hdgdyl,@Goodboyye,@Zhugeqiu：ですか = 这样啊 //改为【吗】
    @Hdgdyl,@Goodboyye,@Zhugeqiu：した = 得到了/做了 //都改为【做了】
    @Goodboyye：掴まる = 抓住 //（动词、不及物、过去式：掴また【掴まった】、没有宾语）//之前选错了，得删掉重新添加

  - 删除

    @Hdgdyl：気がない = 冷淡 //删除，会影响到「元気がない」「会う気がない」
    @Hdgdyl,@Goodboyye,@Zhugeqiu：というよりも = 总之就是 //删除，影响句中
    @Hdgdyl,@Goodboyye,@Zhugeqiu：な、なに = 什、什么 //删除，影响到其他了，例「そんな、なにを水臭い……」
    @Hdgdyl,@Goodboyye,@Zhugeqiu：とする = 怎么办 //删除，影响其他，例「これが怪奇といわずして何を怪奇とするかね？」，之前没删除？
    @Hdgdyl,@Zhugeqiu：エア = 艾雅 //删除，影响其他
    @Hdgdyl,@Goodboyye,@Zhugeqiu：断る = 拒绝 //都删除吧，@Hdgdyl里的动词有错误，在@Goodboyye里重新添加

  - 添加到@Goodboyye

    力抜ける = 没力气 //（动词、不及物、过去式：力抜けた、没有宾语）
    過る = 通(闪)过 //（动词、不及物、过去式：過った、没有宾语）
    提げる = 提 //（动词、及物、过去式：提げた、单宾）
    紛らわす = 掩饰过去(排遣) //（动词、及物、单宾）
    紛らわせる = 掩饰过去(排遣) //（动词、及物、过去式：紛らわせた、单宾）
    懐かしむ = 怀念 //（动词、及物、单宾）
    生きる = 活 //（动词、不及物、过去式：生きた、没有宾语）//有时会变成【有效】故添加
    生きてる = 活着 //（动词、不及物、过去式：生きてた、没有宾语）//有时会变成【有效】故添加
    掴まってる = 抓着 //（动词、不及物、过去式：掴まってた、没有宾语）
    苛む = 折磨(责备) //（动词、及物、单宾）
    断る = 拒绝(事先说好) //（动词、及物、过去式：断った、单宾）
    手数かける = 添麻烦 //（动词、不及物、过去式：手数かけた、没有宾语）
    時間潰す = 打发时间 //（动词、不及物、没有宾语）
    意地張る = 坚持己见(固执) //（动词、不及物、过去式：意地張った、没有宾语）
    愛せる = 爱 //（动词、及物、过去式：愛せた、单宾）
    気付ける = 注意到 //（动词、及物、过去式：気付けた、单宾）
    綻ぶ = 绽开 //（动词、不及物、没有宾语）

  @djz020815: jbeijing词条我一般都添加【一个意思或两个意思】，不喜欢的可以使用【非公开】词条翻译掉

2/16/2014 SUN
  * Add a simple "VNR for Mac.app" to Library/ for launching VNR on Mac OS X.
    在Library/下添加了一个简单的在Mac上启动VNR的app。

  * You can right-click a Japanese word in the game text and add it to the Shared Dictionary.
    Thanks for @liconan sama's suggestion!

    可以右键点击字幕中的日文单词来添加新词到共享辞书中。
    感谢@liconan sama的建议！

  * Add a simple dictionary app for looking up Japanese words.
    添加了一个很简陋的可以查找日文单词含义的app。

2/14/2014 FRI
  * Add Dutch language and JMDict in Dutch.

  * You can adjust the size of the translation popup in the left dock.
    在左边的选项中可以调整弹出辞书翻译的大小。

  * The "Text" tab in Preferences is renamed to "Font".
    Its functionality is not changed.
    使用偏好中的【文本】被重命名为【字体】。在功能上没有变化。

2/13/2014 THU
  * VNR can automatically install pAppLocale from Taiwan University in Preferences/Downloads.
    The pAppLocale comes from its author @piaip's web page at Taiwan University, as follows:
        http://ntu.csie.org/~piaip
    This only serves to help new users of VNR.
    You can ignore this if you have already installed pAppLocale.

    VNR可以自动从台湾大学安装pAppLocale。在【使用偏好/下载】中点击下就好了。
    VNR使用的pAppLocale版本来自它的作者@piaip在台湾大学的主页：

        http://ntu.csie.org/~piaip

    如果你已经有安装AppLocale了，那么忽略这个就好了。

  * Add JMDict support for French and Russian languages.
    You can get JMDict in Preferences/Downloads.
    VNR will download JMDict from Monash University in Australia:
        ftp://ftp.monash.edu.au/pub/nihongo/
    JMDict has much smaller vocabulary than EDICT.
    But if English is not your native language, you could use JMDict together with EDICT or Vicon dictionary.

  * VNR can automatically download Wadoku Japanese-German dictionary.
    You can get the dictionary at Preferences/Downloads.
    VNR is using the 2012 version from the following web page:
        http://www.wadoku.de/wiki/display/WAD/Downloads+und+Links

2/12/2014 WED
  * Add a simple input dialog for adding new entries to the Shared Dictionary.
    添加新词条时，VNR会显示一个很简陋的输入窗口。

2/11/2014 TUE
  * VNR no longer distributes EDICT and Lingoes dictionaries by default.
    If you need these dictionaries, you can turn them on in Preferences/Downloads.
    VNR默认不再自带EDICT和Lingoes辞书了。
    如果你需要它们，可以在【使用偏好/下载】中额外下载。

  * Add Vicon English-Japanese Dictionary from Lingoes.
    You can get it in Preferences/Downloads.
    Not sure if it is better than EDICT, but it does have much larger vocabulary,
    and it can tell the "詞性" (role?) of the Japanese.

  * Translation support for ルー語 is removed, since it seems that seldom people are using that feature.

  * Translation support for Excite.co.jp is restored. You can enable it in Preferences/Translation.
    恢复了对Excite.co.jp在线翻译的支持，在【使用偏好/翻译】中可以打开。
    关于翻译的质量，Excite.co.jp其实很棒的。
    但是由于Excite和J北京使用了相同的引擎，所以如果你有装JBeijing并且暂时住在大陆地区，
    就没有必要打开Excite了（因为据说Excite在沦陷区内很慢很慢的）。
    如果你没有安装J北京，那么Excite.co.jp也许可以作为百度翻译的补充。

  * Reduce the disk usage of VNR.
    减小了VNR的硬盘占用空间。

  * VNR no longer touches Python source code when updating, which took too much time.

    However, as the consequence, if you launch VNR as administrator, it could cause serious problem after updating VNR.
    Because the non-admin updater will not be able to update/delete the pyc/pyo files created by the admin VNR,
    this will cause severe inconsistency in the Python byte code of VNR and will result in mysterious runtime errors.

    To fix the issue, either you NEVER launch VNR as administrator, or you have to launch
    the updater as administrator as well.

    VNR在更新时不再touch全部Python script了，因为touch的过程可能很耗时间。

    但是，这样做的后果是，如果你在使用管理员权限运行VNR，将可能在更新后出现很严重的问题。
    这是因为非管理员的更新程式无法删除管理员权限的VNR创建的pyc和pyo的文件。
    这将会造成运行VNR后产生各种不可预料的奇奇怪怪的问题。

    要解决这个问题，有两个方法：
    要么不要用管理员权限打开刚刚更新过的VNR；要么也要使用管理员权限运行更新程序。

    更具体的说，如果在更新后第一次运行VNR并不是用管理员运行的，而以后用管理员运行，那么不会有问题。
    如果在更新后，第一次即用管理员权限运行VNR，就会造成新创建的pyc和pyo具有管理员权限，以后更新就无法正常运行了。

2/9/2014 SUN
  * Texts ending with "」" will be identified as dialog and VNR will skip reading it using TTS.
    VNR默认不会用语音合成读出以【」】结尾的句子了。

  * The H-code for certain games are locked.
    I found a couple of correct H-codes got deleted by people.
    I manually locked these codes which are no longer allowed to be deleted/edited by VNR.
    If you find a wrong H-code that is locked by me, feel free to complain to me!
    部分游戏的特殊码被锁定并禁止修改和删除。

2/8/2014 SAT
  * JBeijing的辞书
    @Hdgdyl,@Goodboyye,@Zhugeqiu：すっげ = 是吗 //改为【厉害】
    @Hdgdyl：だろ = 然后 //改为【吧】
    @Hdgdyl,@Goodboyye,@Zhugeqiu：とする = 怎么办 //删除，影响其他
    => @Goodboyye：
    迷惑かける = 添麻烦 //（动词、不及物、过去式：迷惑かけた、没有宾语）
    時間かかる = 花费时间 //（动词、不及物、过去式：時間かかった、没有宾语）

2/7/2014 FRI
  * 修正转义词条规则中的bug。
    非常感谢djz sensei的帮助！

2/5/2014 WED
  * The BGI2 engine is changed so that the text thread location can be saved.

  * @djz020815更新了JBeijing的词条如下。
    另外，关于VNR中J北京的自定义辞书，我把所有的变更贴到了wiki上以防丢失掉。
    如果你在J北京辞书中发现了问题，或者希望添加新的词汇，那么可以编辑那里。
        http://sakuradite.com/wiki/zh/VNR/JBeijing

    @Hdgdyl,@Goodboyye,@Zhugeqiu：オペラ = 欧培拉 //删除，影响翻译【歌剧】，人名辞书里添加
    @Goodboyye：お = 哦 //删除，影响句中「お料理」之类的
    @Hdgdyl：なの = 的说 //删除，影响其他翻译
    @Hdgdyl,@Goodboyye,@Zhugeqiu：羽音 = 羽音 //删除，影响翻译【振翅声】，人名辞书里添加
    @Hdgdyl,@Goodboyye：う = 呜 //删除，影响句中「歌う」之类的
    @Hdgdyl,@Goodboyye,@Zhugeqiu：見た = 看到 //删除，影响句中翻译
    @Hdgdyl,@Goodboyye,@Zhugeqiu：だろ = 然后/吧 //删除【然后】，留下【吧】
    @Hdgdyl：いだ = 疼 //删除，影响句中
    @Hdgdyl,@Goodboyye,@Zhugeqiu：ウザ = 浏览 //删除
    @Hdgdyl,@Goodboyye,@Zhugeqiu：言ってる = 说 //删除，影响句中
    @Goodboyye：ロリコン = 萝莉腔 //删掉吧，错字了，其他词库里是正确的
    @Hdgdyl,@Goodboyye,@Zhugeqiu：というわけ = 总之就是 //删除，影响句末

    => @Goodboyye：
    綻ばせる = 绽开 //（动词、及物、过去式：綻ばせた、单宾）
    務まる = 胜任 //（动词、及物、过去式：務まった、单宾）
    気もする = 感觉 //（动词、不及物、过去式：気もした、单宾）
    気がする = 感觉 //（动词、不及物、过去式：気がした、单宾）
    気を散らせる = 分心 //（动词、不及物、过去式：気を散らせた、单宾）
    気を散らす = 分心 //（动词、不及物、单宾）
    見る = 看 //（动词、及物、过去式：見た、单宾）
    掴まる = 抓住 //（动词、不及物、过去式：掴まった、单宾）
    見える = 能看见 //（动词、不及物、过去式：見えた、单宾）
    伸びをする = 伸懒腰 //（动词、不及物、过去式：伸びをした、单宾）
    割を食う = 吃亏 //（动词、不及物、单宾）
    ウザい = 好烦 //（形容词、名词）
    手を引っ込める = 缩回手 //（动词、不及物、过去式：手を引っ込めた、单宾）
    手を上げる = 举起手 //（动词、不及物、过去式：手を上げた、单宾）
    目を付ける = 看中(盯住) //（动词、不及物、过去式：目を付けた、单宾）
    気になる = 在意 //（动词、不及物、过去式：気になった、单宾）
    気にかける = 在意 //（动词、及物、过去式：気にかけた、单宾）
    気にかかる = 在意 //（动词、不及物、过去式：気にかかった、单宾）
    噤む = 闭 //（动词、及物、单宾）
    気に召す = 中意 //（动词、及物、单宾）
    向きになる = 当真 //（动词、不及物、过去式：向きになった、单宾）
    支え合う = 互相支撑 //（动词、及物、单宾）
    力になる = 帮上忙 //（动词、不及物、过去式：力になった、单宾）
    力になれる = 帮上忙 //（动词、不及物、过去式：力になれた、单宾）
    心配かける = 让人担心 //（动词、不及物、过去式：心配かけた、单宾）
    声かける = 打招呼 //（动词、不及物、过去式：声かけた、单宾）

    ==@Goodboyye：
    落っこちる = 掉落 //（动词、两者都是【不及物】、过去式：落っこちた、单宾）
    捕まれる = 被抓住 //（动词、及物【不及物】、过去式：捕まれた、单宾）

1/31/2014: FRI
  * Add a BGI2 engine for new BGI games like 「コトバの消えた日」.
    You can find both scenario text and character names in Text Settings.
    Please also update the Shared Dictionary to eliminate "<r>" in the game text.
    为「コトバの消えた日」添加了新的BGI2引擎。
    在【文本设定】中指定下对话和人物姓名就好了。
    另外，还需要更新下【共享辞书】来删掉文本中的"<r>"这样的字符。

    btw, I am creating a wiki page as follows to describe the behaviors of game engines in VNR.
        http://sakuradite.com/wiki/en/VNR/Game_Engine
    It is currently incomplete, though.
    If you don't want to use VNR but need VNR's game engine, that page might help you to create H-code manually.

1/26/2014: SUN
  * I created some discussion pages online for VNR and Japanese games.
    If you have questions regarding VNR or the game you are playing, you might be able to get help there.
    Here are some links that might be useful:

        http://sakuradite.com/game       You can search for games in VNR's database there
        http://sakuradite.com/topic      All the topics
        http://sakuradite.com/subject    Non-game subjects such as VNR

    These discussion pages are basically light-weighted forums.
    I wrote the framework from scratch, and the UI might be felt differently from conventional forums, though.

    - The topics are associated with games. For each game, there is a discussion place.
      Currently, there is no useful information about the game online, though.

    - You can use it for chatting.
      If you create/edit a post, other people viewing the same topic will see your changes immediately
      without refreshing the web page.
      The underlying communication is implemented using WebSocket technology, which requires a
      modern web browser such as Google Chrome, Firefox, or Apple Safari.

    - You can upload images and BGM in the post as well.
      There is a Full Screen mode that will render the post text like VNR's subtitles over the image.
      If you want to post screenshots of the game with a few explanations/translations,
      I am not sure if it could be a good way to render your translations.
      Other people can comment on each uploaded image.

    - Most of the floating portals are draggable and closable.

    Regarding the focus of the website, I am still not sure at the moment.
    I think you can post whatever things there, but please AVOID POSTING LINKS OF PIRATE SOFTWARE AND PIRATE GAMES.
    Anything else is fine.
    Currently, the website is at alpha stage. Just let me know if you have suggestions or find bugs.

    添加了一些在线讨论的地方。
    如果你有VNR或者日文和游戏有关的问题，也许可以在那里发问。

    - VNR数据库中的游戏可以在这里找到： http://sakuradite.com/game
      不过现在还没有什么有用的信息在上面。

    - 所有的帖子都是“直播”的。你也许可以在上面聊天的。
      如果你新创建或者编辑了帖子，那么其他在浏览相同主题或游戏的同学会立刻看到你的更改而不需要刷新页面。
      这个机能需要支持WebSocket的modern的浏览器，比如：Google Chrome，Firefox，或者Apple的Safari。

    - 你可以上传图片和音乐。
      在帖子里有一个【全屏模式】，会将帖子的文本像VNR的字幕那样打在图片上。那些字幕也是可以拖动的。
      如果你想要直播上传喜欢的游戏的截图，那么这个模式也许可以帮上忙吧。
      因为“直播”的原因，其他的同学会直接看到你新上传的图片、你也可以看到图片下面看到他们的评论而不需要刷新页面。

    - 页面上大部分元素都是可以拖动和关闭的。

    关于讨论的内容，除了【不要粘贴盗版软件和游戏的下载链接】，其他的我想什么都可以吧。
    另外，网站在技术上上会确保你的帖子的内容绝对不会被google，baidu之类的检索到。
    我想即时偶尔帖到一些敏感的东西，大概也不太会出什么问题吧。

    现在网站还在测试阶段。如果你发现了问题或者有什么需要，可以让我知道！

1/20/2014: MON
  * Not sure if people know this, in the Shared Dictionary, you can search terms only in specific language.
    For example, if you want to search Korean translations, just type "Korean" and press enter.
    I added a "language" button to the search bar of the Shared Dictionary for this to make it easier.

    其实在共享辞书中，是可以仅检索某个语言的翻译的。
    比如，要仅显示中文的翻译的话，在搜索栏中输入【中文】并回车就好了。
    我在翻译栏的右边添加了【语言】按钮，点击后和搜索【中文】是一样的。

1/17/2014: FRI
  * Some of the cached contents were moved to the Caches folder, including subtitles, images, etc.
    Since these caches might be useful to you, I moved them to a place where you could reach them easier.
    It is OK to delete the entire Caches folder if you want.
    VNR will re-cache everything the next time .

    部分缓冲的信息比如图片和字幕什么的移动到VNR的Caches文件夹下。
    你可以自由的删除Caches文件夹。
    如果你删掉了它，那么VNR在下次启动后会重新cache这些东西。

  * Create indices in SQLite database of lingoes dictionaries to speed up translation queries.

1/16/2014: THU
  * (Korean) Correct the Korean translation for the VNR's UI.
    The translation comes from @mireado sensei.

  * Speed up processing lingoes dictionaries.
    修正了Lingoes辞书处理很慢的问题。

  * Improve the rendering of Vietnamese LD2 dictionaries.

1/15/2014: WED
  * VNR can read LD2 format Lingoes dictionaries now.
    I also added some free dictionaries from Lingoes for Chinese, Korean, and Vietnamese.
    You can turn on these dictionaries in Preferences/Translation.
    If you need other LD dictionaries for your language, just let me know.

    Here are the links of the dictionaries on the Lingoes website.
    You don't have to download them manually for VNR. Just provide the links as references.
    Though free, not sure if they have violated the copyright law.

    - 新日汉大辞典(New Japanese-Chinese dictionary)
      http://www.lingoes.net/en/dictionary/dict_down.php?id=054A857FF8D2F3458F849148F6BE5CE9

    - Naver 일본어사전 (Naver Japanese-Korean dictionary)
      http://www.lingoes.net/en/dictionary/dict_down.php?id=63332AAFE6159C448748FF073FAA1157

    - OVDP Japanese-Vietnamese Dictionary
      http://www.lingoes.net/en/dictionary/dict_down.php?id=D2B4817958C3E644B3B2B6788B9B9E1C

    I also checked the source code of StarDict, and I think it is possible and kind of simple to add support for it in VNR.
    But I didn't find any useful Japanese dictionaries in StarDict format, as its original sourceforge website has been shut down.
    If you need support for specific StarDict dictionaries, you can also let me know.

    NOTE:
    My current implementation to process lingoes dictionaries is primitive and stupid.
    It would take a bunch of memory and could slow down VNR "a little bit" on the startup.
    My Windows laptop is about 5 years old, and here "a little bit" is about 20 seconds ... T_T
    If your laptop is as old as mine, you might have to wait for one or two weeks for me to fix the performance issue.

    添加了对读取Lingoes辞书的支持。
    另外，VNR内置了Ligoes的新日汉大辞典。在使用偏好/翻译中直接打开就好了，不需要下载额外的软件。
    我也不清楚哪个辞书最好的，只是这个辞书是Lingoes网站上面体积最大的。
    如果你需要其他的lingoes辞书的支持，可以让我知道。

    和EPWING的小学馆的辞书比起来，我觉得Lingoes的那个辞书要好很多。
    比如说吧，对【悪びれる】的翻译如下：

    Lingoes：
        わる怯れる
        自下一
        [下接否定]不打怵，不胆怯。
        少しも悪びれるれずに毫不怯场地，大胆地。

        悪びれる,わるびれ,動詞,自立,一段,連用形

    EPWING：
        わるびれる【悪びれる】
        发怵fāchù,打怵dǎchù.¶悪びれずに返事をする/大模大样地回答.¶逮捕されても悪びれた様子がない/被逮捕了,还不在乎.

    感觉小学馆的那本更像是给日本人看的日中辞书，而不是给中国人看的。
    小学馆辞书的好处是有很多例句，但是对单词的解释过于简略的，而且没有单词的词性。
    如果你在通过VNR学习日语，我觉得，也许新编日中辞书会比小学馆的辞书更有帮助些吧。

    注：
    现在VNR对于Lingoes辞书的处理还很不成熟，会占用一些内存，还会让VNR启动变慢些。
    如果你的笔记本很老很慢，那么在打开Lingoes的辞书后，也许会造成VNR启动变慢很多。
    如果是这样的话，也许只好再等一两周，等我来解决辞书载入过慢的问题。

1/14/2014: TUE
  VNR needs your help ><
  Currently, VNR only has complete translations of the user interface in English and Chinese.
  Japanese is partially translated manually.
  Other languages are partially translated automatically by Google, which has pretty bad quality T_T
  If you find errors in the translation of the user interface, you can edit the following wiki page:
      http://sakuradite.com/wiki/en/VNR/Translation
  You can put down the correct translation there, and I will incorporate your translation to VNR.
  The user name and password of the wiki is the same as the VNR's account.
  If you have issues or other suggestions, just let me know!

1/11/2014: SAT
  * (Korean) The mapping from Hangul to Furigana is changed.
    The rule is described here: http://www.geocities.jp/p451640/moji/skm/gjo/utfgjo_02.html
    There some ambiguities for mapping か and た lines.
    「語中」is used for 「か」and「た」families while 「語頭」is used for「つ」family.
    If this is not the right way to go, just let me know.

  * (Thai) Add an option to use Thai as Furigana in Preferences/Translation.
    The mapping is described here: http://www.itagaki.net/trv/thai/language/Japanese_syllabary.htm
    According to that page,「ふ」could be mapped either to「หุ」or「ฟุ」.
    I used the first one. Just let me know if it is the wrong character to use.

  * (Thai) The categorization of Thai is changed to Asian character language from Latin character based language.
    The way to apply Thai terms in the Shared Dictionary is now the same as Chinese/Korean but different from English.
    And it does not share translations with English terms any more.

  * (Thai) If VNR discovers character names for the game, it will automatically translate them to Thai.
    The character names could be found in the Game Information window.
    You don't have to manually add them to the Shared Dictionary any more.

1/10/2014: FRI
  * The screenshot button is moved from the popup window to the left dock so that it is easier to click.
    截图按钮移动到左边的侧边栏。

  * Add a "Private" toggle to the Shared Dictionary.
    A "Private" term in the Shared Dictionary will only be visible to its creator.
    The private terms will still be saved online. But other people including me and moderators will never see them.
    If you want to do aggressive modifications to the game text specific to your purpose,
    it might be better to mark it as private so that others will not get affected.

    For example, if you want to change the hero's name to your the heroine's name to your boyfriend or girlfriend,
    you can simply create some translation terms and mark them as "Private" so that other people will not see your real names.
    For example in 「幻創のイデア」, the hero character is「優真」. And there is already a chara term of 「優真」= "Yuma".
    If I want to change the hero's name to "jichi", I can either add a new "Translation" term of "Yuma"="jichi",
    or a new "Chara" term of 「優真」="jichi".
    Don't forget to mark these terms as series-specific as well so that they will not pollute other games.

    Note:
    - The private terms have higher priority then non-private ones.
      If there are two terms for the same character name, the private one will be applied first.

    - Currently the guest account cannot create private terms, since I am not able to distinguish different guests to be private.

    - If you are not familiar with the Shared Dictionary, you must be very careful about the private terms.
      If you add a bad private term, it could mess up the machine translation.
      Since the term is private, no one will double-check the translation for you.
      You might want to keep the following criteria in mind when adding Private terms so that it will not hurt you:

      1. Avoid adding translation for ambiguous (I mean "context-sensitive") Japanese word.
        For example, you should not add translation of: 「ちゃん」 = 「chan」
        Because 「ちゃん」 does not always mean 「chan」. Say, 「ちゃんと」 = just
        Additionally, when a word contains only 1 character, it is usually ambiguous and should be avoided.

      2. If it is ambiguous but you really want to add it, mark it as game-specific.
        For example in 「レミニセンス」,「希望」is a character name read as 「Nozomi」.
        But it is ambiguous since it could also means "Hope".
        If you want to add a term of 「希望」=「Nozomi」, it is better to mark this term as series-specific to reduce the damage to the other games.

      The detailed explanations for the meaning of each toggles in the Shared Dictionary could be found here:
      http://sakuradite.com/wiki/en/VNR/Shared_Dictionary

    在【共享辞书】中添加了【非公开】的选项。
    设定为【非公开】的翻译只有翻译的创建者才可以看到，其他任何人，包括我和辞书特权用户都不会看到。
    如果你想添加的翻译很特殊，那么这个也许可以帮上忙。

    比如，你可以利用【非公开】的词条，来将游戏的主人公的名字换成你的名字，将其他角色的名字换成你的男朋友或者女朋友的名字。
    比如在「幻創のイデア」中，主人公的名字是「優真」，会被百度翻译为【优真】。
    如果我想要把【優真】替换为【jichi】，那么有两个方法：
    - 方法1：添加一个【人物】词条【優真】=【jichi】
    - 方法2：添加一个【翻译】词条【优真】=【jichi】
    然后将添加的词条设定为【非公开】和【系列专用】就好了。
    其中【非公开】保证其他同学不会看到我的名字，而【系列专用】使得其他游戏中的【優真】不会被替换为【jichi】。
    两种方法中方法2是推荐的。因为方法2不会影响机器翻译，而方法1对机器翻译可能会有一些影响。

    注：
    如果你对【共享辞书】并不熟悉，那么在使用【非公开】的词条时一定要小心，小心，再小心！
    如果词条的设定有问题，可能会严重降低机翻的质量。
    因为是【非公开的】，所以没有其他同学会帮助你检查和修正词条中的错误。
    如果你要添加【非公开】的词条，最好能够小心以下两点：
    1. 避免添加有歧义（所谓的【上下文相关】）的单词的翻译。
      比如：【ちゃん】=【酱】就是有歧义的。
      因为在比如【ちゃんと】时，就不当【酱】讲。
      特别是那些只有一个字符的单词，通常都是有歧义的。
    2. 如果一定要添加，那么最好把词条设定为【系列固有】的，这样让有歧义的词条不会影响到其他的游戏。

    辞书中选项的具体介绍可以在这里找到：
      http://sakuradite.com/wiki/zh/VNR/Shared_Dictionary

  * (Korean) Add an option in Preferences/Translation that can use Hangul as Furigana.
    I am studying Korean now, and I am not sure the correctness of the mapping from katakana to hangul.
    The current map is as follows. Feel free to let me know if it contains errors.
    Hiragana:
      がぎぐげござじずぜぞだぢづでどばびぶべぼぱぴぷぺぽあいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをんぁぃぅぇぉゃゅょっ
    Hangul:
      가기구게고자지즈제조다지즈데도파피푸페포바비부메보아이우에오가기구게고사시스세소다지쓰데도나니누네노하히후헤호마미무메모야유요라리루레로와로ㄴㅏㅣㅜㅔㅗㅑㅠㅛ-

  * (Korean) If VNR discovers character names for the game, it will automatically translate them to Hangul.
    The character names could be found in the Game Information window.
    You don't have to manually add them to the Shared Dictionary any more.

    But the same as another languages, VNR will not automatically translate the character name that has only 1 character to Hangul.
    And it will not automatically translate names that only contains katakana (hiragana is fine).
    Because katakana name sometimes is just an English word. It could be wrong to translate it to Hangul by the pronunciation of furigana.

1/5/2014: SUN
  * Add Polish language support as requested by @platinum.
    You can set the language to Polish in Preferences/Account.
    Currently, only Microsoft and Google translators do support Polish language.

1/3/2014: FRI
  * Fix ApRicot engine to split character names from dialog texts.

1/2/2014: THU
  * The way to split sentences for LEC and Atlas is changed.
    This will significantly improve the quality to translate multiple sentences.
    Thanks for @andrix sama's report!

  * Add Taskforce2 engine.
    Tested working with different versions of「 オトメスイッチ」 and 「神様(仮)」.
    Feel free to update those games to the latest version, and select Taskforce2 in Text Settings.

    Note: It only guarantees to work with Taskforce2.exe instead of Taskforce2_safe.exe.

    添加了Taskforce2引擎。
    试了下不同版本的「 オトメスイッチ」和 「神様(仮)」都可以用的。
    你可以放心的将这些游戏更新到最新版了。更新游戏后，在文本设定中选择Taskforce2的文本就好了。

    注：这个仅保证对Taskforce2.exe工作。不要通过Taskforce2_safe.exe打开游戏。

 btw, I updated the wiki for using VNR on Wine.
 If you are using VNR on Mac or Linux, the following articles might be helpful:
     http://sakuradite.com/wiki/en/vnr/mac
     http://sakuradite.com/wiki/en/vnr/linux

12/31/2013: TUE
  * No need to install msvcrt 2008/2010 manually on Windows XP/7/8 x86/x64.
    No external libraries are needed to be installed to launch VNR on a newly-installed Windows.
    在Windows系统上不需要安装msvcrt了。
    确保在裸的Windows上不需要安装任何library即可启动VNR。

  * By default, VNR will automatically detect whether you have got Internet access.
    If the detection does not work well, you can force enabling/disabling the Internet
    in Preferences/Features.
    VNR默认时会自动检测网卡是否有网络连接。
    如果检测不能正常工作，你可以在【使用偏好/功能】中强制连接或者切断网络。

  * As requested by @nixanol, VNR will not popup translations when all dictionaries are disabled in Preferences.

  * @djz020815: jbeijing词库
    @Hdgdyl：水を差す = 挑拨离间 //还有【泼冷水】的意思，感觉两个都挺常用的，要不改为【泼冷水(挑拨离间)】
    @Hdgdyl,@Goodboyye,@Zhugeqiu：ような = 有那种 //改为【一样的】吧，「**ような」之类的
    @Hdgdyl,@Goodboyye,@Zhugeqiu：いこ = 走吧 //删除，影响到「**いこと」
    => @Goodboyye：
    落っこちる = 掉落 //（动词、两者都是、过去式：落っこちた、单宾）
    捕まれる = 被抓住 //（动词、及物、过去式：捕まれた、单宾）

  * 修正了JBeijing辞书一个非常严重的bug that部分辞书没有录入。
    非常感谢@djz020815 sama的debug！

12/30/2013: MON
  * Reduce the resource usage when VNR is idle.
    Thanks for @winter3d sama's report.

12/28/2013: SAT
  * Add a few translations for different languages.
    Most of the new translations come from Google, some of which might be inaccurate.

  * Offline help text is reduce to only cover basic usage.
    Advance help text is moved to the online wiki at:
        http://sakuradite.com/wiki/en/vnr
    It will make me easier to render and maintain the help text for different languages.
    You can use your VNR's account to log in to the wiki to edit the text as well.

    部分帮助信息引动到在线的Wiki上:
        http://sakuradite.com/wiki/zh/vnr
    你也可以通过你的VNR的账号来编辑Wiki上的文字。

12/27/2013: FRI
  * Extend the Rejet engine to support 「剣が君」.
    Tested working with 体験版, version 1.00 and 1.02.
    修正了Rejet引擎，添加了对「剣が君」的支持。

12/26/2013: THU
  * Add System43 game engine for Rance series games.
    Tested working with 「ランスクエスト」and 「ランス01 光をもとめて」.
    The global repetition elimination option in Text Settings is disabled for System43 engine.
    You can update Shared Dictionary to get the terms to eliminate repetition and garbage
    text for Rance games.

    为Rance的游戏添加了System43的引擎。
    另外需要更新下【共享辞书】来删除System43文本中的重复和垃圾。

  * Add hooks to MultiByteToWideChar and WideCharToMultiByte.
    Tested working with 「AlterEgo」.
    Some BL games might also need these functions (http://blgames.proboards.com/thread/265).
    Thanks for @Goodboyye sama's suggestion.

    添加了对MultiByteToWideChar和WideCharToMultiByte函数的提取。
    感谢@Goodboyye sama的建议！

12/25/2013: WED
  * Fix the issue that VNR might crash VenusBlood series games.
    Thanks for @winter3d & @hsz10102007's help on reproducing the crash.
    修正了VNR有时会让VenusBlood崩溃的问题。
    感谢@winter3d & @hsz10102007 sama对于重现崩溃问题的帮助！

  * The "Glow" button in the left dock is renamed to "Transp" standing for transparency.
    The functionality is not changed.
    左边的【光晕】按钮重命名为【透明】。功能上并没有变化。

12/22/2013: SUN
  * Add game engine for Rejet games.
    Tested working with 「Tiny Machinegune」, 「ドットカレシI」, and 「ドットカレシII」.
    The text threads are displayed as Rejet@CaoNiMaGeBi crediting to CaoNiMaGeBi sensei's work.
    为Rejet的游戏添加了引擎。
    在文本设定中指定【Rejet@CaoNiMaGeBi】的文本为对话就好了。

  * Fix a bug that might cause VNR fails to sync with VOICEROID+.
    修正了一个可能会让VNR与VOICEROID同步失败的bug。

  * Fix a bug that when the game crashes during screen resolution change,
    it might cause SpringBoard to have zero size and hence disappear.
    Thanks for @艾美拉达 sama's report.
    修正了bug that当游戏刚好在变更分辨率时崩溃的话，可能会让SpringBoard消失的问题。
    感谢@艾美拉达 sama的报告！

12/21/2013: SAT
  * 修正了由于cdnjs被牠们q掉，而造成GameBoard和游戏情报载入失败的问题。

  * Add Bruns2 engine to support recent games like 「オーク・キングダム～モン娘繁殖の豚人王～」.
   「オーク・キングダム～モン娘繁殖の豚人王～」可以工作了。
    在文本设定中选择Bruns2就好了。

  * I tried to add dlls to the blacklist to prevent game from being crashed by VNR.
    I suspect certain DLLs on some specific platforms could crash the game, but I am not sure what they are.
    If VNR still crashes games on your laptop, esp. when you are using Windows XP,
    could you try following steps and email me the list of dlls the problematic game is using?

    1. Download listdlls from Microsoft: http://technet.microsoft.com/en-us/sysinternals/bb896656.aspx
    2. Launch the game with or without VNR
    3. Open Command Prompt
       3.1 Find ProcsssID of the application by executing:
           tasklist
       3.2 Get list of dlls by:
           listdlls _game_process_id > output.txt

    It the game crashes, it would be quite helpful if you can email me that output.txt.

    我尝试通过将DLL添加到黑名单来避免游戏崩溃。
    因为游戏在我的笔记本上不会崩溃，我怀疑某些软件特有的dll会让游戏崩溃，但是我不确定是什么。
    如果在更新后，VNR还是会让你的游戏崩溃，尤其当你在使用Windows XP时，
    可以麻烦你通过如下方法把游戏在用的dll发给我吗？

    1. 下载listdlls从Microsoft: http://technet.microsoft.com/en-us/sysinternals/bb896656.aspx
    2. 启动游戏（用不用VNR启动无所谓）
    3. 打开Command Prompt
       3.1 执行tasklist来找到游戏的PID
       3.2 通过如下方法把dll列表保存到output.txt中
           listdlls _game_process_id > output.txt

  * Add a button to the left docked panel which can toggle whether split long translation
    into sentences by punctuations.
    If the game text is very long in, say, Electro Arms, splitting the translations
    might make it easier to read.

    在左边的选项中添加了可以分行显示翻译的选项。
    当游戏文本很长很长时，比如在Electro Arms中，那么分行显示后，也许，翻译看起来会容易些。

  * By default, VNR will popup translation for CLICKED Japanese word.
    I added a toggle to the left docked panel which can change this behavior to
    popup translations for HOVERED text.

    默认时，VNR会弹出点击的日文单词的翻译。
    在左边的选项中添加了一个toggle，打开后，VNR会弹出鼠标指着的（hover）的日文单词的翻译。

  * The option to disable Dub Voices is removed from the left dock.
    If you want to disable Dubbing Voices, you can press the Disable button in Voice Settings.
    从左边选项中删掉了禁用角色配音的选项。
    如果你想要把禁用角色配音的选项，你可以在【语音设定】中点击禁用。

12/18/2013: WED
  * I forgot to push the changes to Malie2 to the repository yesterday...><
    Electro Arms should work now. Sorry for the inconvenience!
    Just disable all options in Text Settings and reselect correct Chara and Scenario threads.
    Here's a screenshot of Text Settings for that game which might be helpful.

    http://i859.photobucket.com/albums/ab155/jichi/7121984C2_zps5141b0d5.png

    更新了Malie2引擎。
    昨天忘记push变更的dll了>< 带来不便，非常抱歉！
    上边的是Electro Arms的文本设定，也许会有些帮助。

12/17/2013: TUE
  * I rewrote the Malie2 engine for new games from light.co.jp.
    It can extract both character names and the complete game text now.
    Tested to work perfectly for Electro Arms and BRAVA!!.

    The old signature for text threads cannot match new Malie2's threads.
    Please reselect correct text in Text Settings.

    btw., I had to write an extern_fun for Malie2 to dispatch game text at runtime.
    So, there is no equivalent H-code for this engine.

    Thanks for @大橋歩夕 sama's report for the issue.

    为liight社的游戏修改了Malie2引擎。
    新的引擎可以提取人物的名字和完整的文本了。
    试了下Electro Arms和BRAVA!!都可以提取文本的。
    请在【文本设定】中重新调整下文本就好了。

12/16/2013: MON
  * Fix the regression on x64 Windows that VNR sometimes crash the game.
    Really sorry for the inconvenience because of the crash!
    VNR在修正了64位系统上会让游戏崩溃的问题。
    带来各种不便，非常抱歉！

  * Disable "Keep all scenario threads" options for Malie and Malie2.
    禁止light社的Malie和Malie2引擎【保留所有对话文本】的选项。

12/15/2013: SUN
  * @Kodoku sensei添加了JBeijing词条
  - 何かしている = 做着什么
  - 何かしたい = 想做什么
  - 何かしてる = 做着什么
  - 何かしていて = 做着什么
  - 何かして = 做点什么
  - 何かしよう = 做点什么
  - 何かしてた = 做了什么
  - 何かされた = 被做了什么
  - 何かした = 做了什么
  - 何かしたら = 做了什么的话
  - 何かしていれば = 做点什么的话
  - 何かしていないと = 不做点什么的话
  - 何かされてからじゃ = 被做了什么之后
  - 何かしそう = 快要怎么了

12/14/2013: SAT
  * Add a button to the left docked option menu which can toggle displaying current time
    as requested by @大橋歩夕.
    在左边的选项中可以选择显示当前的时间。

  * I rewrote the exception handling mechanism in ITH.
    If VNR still periodically crashes your games, just let me know!
    Additionally, dlls for Windows 7, XP, and Wine were merged together.
    There are no more vnr*xp.dll and vnr*ux.dll.
    If you have anti-virus soft installed, please re-add VNR's dlls to your whitelist.

    Special thanks to @Zinc Zhou for helping me identify the issue from exceptions.

    修正了下VNR。如果VNR还是会让你的游戏崩溃，可以让我知道。
    另外，如果你有安装杀毒软件，请重新将VNR的dll加入白名单才好。
    特别感谢@Zinc Zhou sama的对于找到异常原因的帮助！

12/12/2013: THU
  * Add a Padding button to the docked FS button group which can toggle the black padding in full screen.
    It might be helpful if the game is not able to enter full screen, say, on Wine.
    在左边的全屏按钮中添加了【填充】按钮，可以显示/隐藏全屏时黑色的填充。
    这个按钮也许会有些用，如果游戏因为某些原因无法进入全屏，比如在Wine上。

  btw., VOICEROID+ works out of box with VNR on Wine 1.7.
  - For 結月ゆかり, nothing extra is needed to do.
  - For 民安ずんこ, .NET is needed to be installed through winetricks.

  btw., VOICEROID+可以和VNR在Wine 1.7上运行的，其中：
  - 結月ゆかり：什么额外的东西都不需要做的。
  - 民安ずんこ：需要安装.NET，比如通过winetricks。

12/10/2013: TUE
  * Always disable keeping all scenario threads for text threads ending with 'A' or 'W'.
    对以A或W结尾的文本，总是禁止使用文本设定中的保留所有对话文本。

  * djz020815より
    @Hdgdyl,@Goodboyye,@Zhugeqiu：そう = 是吗/这样 //删除，影响大，例：「ていうか、お前らそう言う関係か！」
    @Hdgdyl,@Goodboyye,@Zhugeqiu：やった = 太好了 //删除，影响句中，例：「これ、あんた一人でやったの……？」
    @Hdgdyl,@Goodboyye,@Zhugeqiu：あるのか = 有吗 //删除，影响句中，例：「霊にスタミナがあるのか分からない」
    @Goodboyye：るな = 琉奈 //删除
    @Hdgdyl,@Goodboyye,@Zhugeqiu：って = 是 //删除，影响句中，例：「いや、商店街で似顔絵やってたんだよ」
    @Hdgdyl：ってことは = 这样的话 //删除，影响句中，例：「身体に染み付いてるってことは、よっぽど苦手なんだな。」
    @Hdgdyl,@Goodboyye,@Zhugeqiu：リア = 莉雅 等 //删除
    @Hdgdyl：いいんじゃない = 不是很好吗 //删除，影响句中，例：「食材は各自持ち寄ってもいいんじゃないかって話もあがってるわ」
    @Hdgdyl,@Zhugeqiu：いつか = 总有一天/某日 //删除，影响「いつから」会变成【某日们】
    @Goodboyye,@Zhugeqiu：だから = 说以说 //说以说=>所以说
    @Hdgdyl,@Zhugeqiu：リーフ = ‘利夫’ //删除，影响到【leaf/绿叶】，人名在辞书里添加
    @Hdgdyl,@Goodboyye,@Zhugeqiu：元気 = 精神 //删除，「元気そうね」之类的反而翻译不对了
    @Hdgdyl,@Zhugeqiu：ササミ = ‘沙沙米’ //删除，其实也可以是「ささ身」的，人名在辞书里添加
    @Hdgdyl,@Zhugeqiu：ハニー = ‘哈尼’ //删除，影响到「ハニー」「ハニーチキン」之类的翻译了，人名在辞书里添加
    @Hdgdyl,@Goodboyye,@Zhugeqiu：かや = 叶子 //删除，这也可以指其他的，会影响到其他，例：「何かやってないと」
    @Hdgdyl：悪いな = 不好意思 //删除，影响到其他，例：「すっげ性格悪いな！」
    @Hdgdyl,@Goodboyye,@Zhugeqiu：そうだ = 对了 //删除，影响句中
    @Hdgdyl,@Goodboyye,@Zhugeqiu：雫 = 零 //删除，人名在辞书里添加
    @Zhugeqiu：カラー = ‘卡拉’ //删除，人名在辞书里添加

12/9/2013: MON
  * Bugfix for the Shared Dictionary.
    修正了对共享辞书的修改有时会滞后的bug。
    感谢@天與楓 sama的报告。

12/7/2013 SAT
  * It seems that certain options in Text Settings are misused for a large amount of games.
    Now, VNR will force disabling certain options for the following game engines:

    NEVER KEEP ALL SCENARIO THREADS:
    - CIRCUS
    - KiriKiri1
    - KiriKiri2
    - MAJIRO

    NEVER TURN ON GLOBAL REPETITION FILTERS:
    - CIRCUS
    - KiriKiri1
    - KiriKiri2
    - MAJIRO

    - Artemis
    - BALDR
    - BGI
    - Gesen18
    - RealLive
    - QLIE
    - QLIE2
    - NEXTON
    - ShinaRio
    - SiglusEngine
    - SiglusEngine2

    The explanations for these two options are as follows:
    1. Regarding the first option, it should never be enabled UNLESS the scenario
       text thread FLOATS each time you launch the game.
       I mean, UNLESS the NUMBER after the thread name in Text Settings changes
       every time you launch the game, such as in BALDRSKY ZERO.

       By default a text thread is identified by its address, context and subcontext.
       The NUMBER after the thread name is combined from these factors.
       For games like BALDRSKY ZERO, the address of the text changed every time you
       launch the game. As the result, VNR is not able to locate the text thread.
       When that option is turned on, VNR will instead identify the text threads
       by the names of the functions being hijacked, so that even the address or
       the context of the text threads varies each time you launch the game, VNR
       can still identify the text from the function that the text comes from.

       UNLESS the above case (the NUMBER above the text thread varies) happens,
       this option SHOULD NEVER BE TURNED ON.
       For common game engines like KiriKiri and Majiro, this option should NEVER be turned on.

    2. Regarding global repetition filters, it is NOT needed for most of game engines.
       The only engine that I know might need global filters is MALIE (not MALIE2) from light.co.jp.
       When this option is turned on for games that do not need it, it could, say,
       turn 「かわいい（可愛い）」 into 「かわい（河井）」.
       This will significantly downgrade the correctness of the machine translation.

       ITH does have built-in repetition filter to smooth repetitive text like "AABBCCDD".
       And this filter is ALWAYS TURNED ON.
       But, the filter requires one or two input texts to get trained and warmed up.
       As the result, you might find the first one or two sentences to have repetitions
       and the later texts do not have repetitions.
       BUT, YOU DONT'T WANT TO TURN ON GLOBAL REPETITION FILTER FOR THE FIRST FEW SENTENCES.
       Otherwise, it will mess up any other texts after the first two sentences.
       This phenomenon is quite common in KiriKiri games.

       For KiriKiri games, there are usually two kinds of text threads: KiriKiri1 and KiriKiri2.
       KIRIKI1 is ALWAYS PREFERRED OVER KIRIKIRI2.
       Because KiriKiri2 sometimes fails to detect repeating texts, and the difference
       between KiriKiri2 and the original game text is very subtle and hence difficult to tell.
       One example was found by @lambl in 「貸し出し妻」where ぱぱ (father) becomes ぱ in KiriKiri2:
          Game Text: さっきからぱぱの事ずっとよんでたのに
          KiriKiri2: さっきからぱの事ずっとよんでたのに
       So, if KiriKiri1 exists, please always use KiriKiri1 instead of KiriKiri2!

       Sometimes, there are repetitions that only appear in certain part of the game text,
       such as KiriKiri1's name thread.
       For example, in 天色, the repetition only appears in the name thread like this:
           名前名前名前「シナリオ」
       Such repetition can be accurately removed by adding regular expression rules
       to the Shared Dictionary RATHER THAN ENABLING GLOBAL REPETITION FILTER.
       If you don't know how to do this, you can search for "repetition" in Shared
       Dictionary or shoot me an email for help.

  * 看起来文本设定中的一些设置被滥用了。
    现在，VNR会根据不同的游戏引擎强制禁用一些文本设定中的选项。

    禁止保存所有对话文本：
    - CIRCUS
    - KiriKiri1
    - KiriKiri2
    - MAJIRO

    禁止全局的去除重复：
    - CIRCUS
    - KiriKiri1
    - KiriKiri2
    - MAJIRO

    - Artemis
    - BALDR
    - BGI
    - Gesen18
    - RealLive
    - QLIE
    - QLIE2
    - NEXTON
    - ShinaRio
    - SiglusEngine
    - SiglusEngine2

    这样做的原因如下：
    1. 对于第一个选项，它不应该被打开除非游戏的文本thread是“浮动的”。
       这里的除非“浮动”指的是：除非文本设定中的文本上方的【数字】在每次启动游戏后都不同，
       比如BALDRSKY ZERO。

       VNR中的文本默认是通过文本的地址，context和subcontext来定位的。
       文本设定中文本上方的【数字】就是包含这些信息的代码。
       但是对于像BALDRSKY ZERO这样的游戏，文本的地址在每次启动游戏都会改变。
       这样使得VNR没有办法通过文本的地址来定位文本。
       这时，如果打开了这个选项，那么VNR就会转为通过文本的劫持的函数来定位文本，
       使得即使文本地址改变也仍然可以定位到文本。

       总之，除非如上情况（就是文本上方的数字不断变化）发生，否则一定不需要打开这个选项。
       像KiriKiri和Majiro这样的通用引擎，这个选项一定不要打开。

    2. 关于全局的过滤重复，它对绝大部分游戏都不需要。
       迄今为止，我唯一发现可能需要这个选项的引擎是light社的MALIE（不是包括MALIE2）。
       如果在本身没有重复的游戏中打开这个选项，会造成，比如：
       将「かわいい（可愛い）」过滤为「かわい（河井）」
       这会严重降低机翻的质量。

       ITH本身是自带了去除好像"AABBCCDD"这样的重复的。
       并且这个重复过滤器总是打开的，不论你是否愿意。
       但是，这个重复过滤器会需要一两个句子来train和warm up。
       这个造成的结果是，有时候第一个和第二个提取到的句子中会有重复，但是后来的就没有了。
       但是，即使是这样，你也不会想要仅仅为了开始的两句话而打开全局重复过滤。
       否则会造成这两句之后的文本出现上面说的由于过滤了不该过滤的重复而降低机翻的质量的情况。
       这个需要warmup的情况在KiriKiri的游戏中很普遍。即时出现这个情况，也不要打开全局过滤。
       开始的一两句忍忍就会好了。否则之后的全部文本都会很糟糕。

       KiriKiri的很多游戏可以通过KiriKiri1和KiriKiri2两种方式提取文本。
       当两者同时存在时，总是应该选择KiriKiri1 over KiriKiri2！
       因为KiriKiri2经常会有提取文本不完全尤其是过滤了不该过滤的重复的情况。
       而这个KiriKiri2和原始文本间的差别非常难发现，使得一些同学错误的以为KiriKiri2中的文本是完全正确的。
       比如，@lambl在「貸し出し妻」中曾经遇到KiriKiri2将【ぱぱ】（爸爸）错误的提取为了【ぱ】（啪）：
           Game Text: さっきからぱぱの事ずっとよんでたのに
           KiriKiri2: さっきからぱの事ずっとよんでたのに
       所以，如果KiriKiri1存在，那么最好总是选择KiriKiri1而不要选择KiriKiri2。

       另外，有时游戏文本中会有部分地方重复，而不是全部都重复，比如在KiriKiri1的姓名thread中。
       比如在【天色】，前端的人物名字会重复有限次，而对话中不包含重复：
           名前名前名前「シナリオ」
       这样的重复通常是可以通过向【共享辞书】中添加正则表达式来非常精确的移除的。
       如果你不清楚如何写正则表达式，可以在【共享辞书】中搜索repetition，也可以发信给我
       而不要打开全局重复过滤了。

12/4/2013 WED
  * djz020815より
    @Hdgdyl：なよ = 不要啊 //删除，影响句子
    @Hdgdyl,@Goodboyye,@Zhugeqiu：なのか = 为什么/那样吗 //删除，影响句中，例：「一瞬、百戦錬磨なのかと疑ったよ」
    @Hdgdyl：そ、それは = 那、那个是 //感觉删除比较好，影响到句中了，例：「そ、それは美味しいはず、だな」
    @Hdgdyl,@Goodboyye,@Zhugeqiu：る、な = 琉奈 //删除，影响到其他了，例：「……見ている、な。」
    @Hdgdyl：嬉しいっ = 好开心 //删除，影响到句中了，例：「……どっちにしても嬉しいってことでいいのか？」

12/3/2013 TUE
  * You can search for games by 原画、シナリオ、音楽 creators in the game board.
    在GameBoard中可以搜索游戏的原画，脚本和音乐作者。

12/2/2013 MON
  * 禁止VNR与射手播放器同步。

12/1/2013 SUN
  * Add hooks to MultiByteToWideChar (SHIFT-JIS) and WideCharToMultiByte (UTF-16)
    添加对MultiByteToWideChar和WideCharToMultiByte的hook。

    If you have anti-virus installed, don't forget to re-add VNR's dlls to your white list.
    如果你有安装杀毒软件，不要忘记重新将VNR的dll加入白名单才好的。

11/30/2013 SAT
  * 添加了一个很简陋的在大陆地区可用的下载游戏有关动画的工具。
    如果你暂时居住在沦陷地区，那么VNR会尝试使用这个工具来下载游戏情报中游戏的OP，ED和Trailers动画。

  * I tried to fix the mysterious crash issue for Venus Blood series by reverting some of the code.
    But I could not reproduce the issue on my laptop, and I am not if the issue is fixed now.
    If the game still crashes esp. on Windows XP, feel free to complain to me!

    尝试修正了下Venus Blood中崩溃的问题。
    但是，因为我无法在我的笔记本上reproduce这个问题，我不清楚问题是不是已经修正了。
    如果游戏还是会崩溃，尤其是在Windows XP的电脑上，可以让我知道！

11/27/2013 WED
  * Add support for associating games with DLsite in game information.
    在游戏情报中可以将游戏与dlsite关联。
    如果你暂时居住在中国大陆，那么要在使用偏好的功能中打开中国大陆的选项才好。

11/25/2013 MON
  * djz020815より
  - @Hdgdyl 別に = 没什么啊，影响句中翻译，删除
  - @Hdgdyl,@Goodboyye,@Zhugeqiu: は = 哈，「これはなんだ」变成了【这哈】，删除
  - @Hdgdyl,@Goodboyye,@Zhugeqiu: けて = 唯一，「届けて」变成了【报告唯一】，删除

11/24/2013 SUN
  * 按照djzせんせい的要求，变更了JBeijing自定义辞书
  - @Hdgdyl,@Zhugeqiu,@Goodboyye: 删除 なんだ = 是什么
  - @Hdgdyl: か = …吗 => か = 吗

  * Locale Emulator (>=1.0.7.4) no longer requires administrator privileges to work.
    Thanks for Paddy Xu sensei's time and effort!
    Since it seems to always work well than NTLEA in Windows Vista/7/8,
    I changed it to the recommended locale changer for VNR.
    You can get the latest version of Locale Emulator here:
        https://app.box.com/LocaleEmulator
    You can say THANKS to Paddy Xu sensei here:
        http://bbs.sumisora.org/read.php?tid=11045407

    Locale Emulator（>=1.0.7.4）不再需要管理员权限来工作了
    感谢Paddy Xuせんせい的时间和努力！
    因为它对Windows Vista/7/8的支持大都比NTLEA要好，
    VNR变更Locale Emulator作为推荐的转区工具。
    你可以在这里下载到最新的版本：
        https://app.box.com/LocaleEmulator
    你可以在这里向Paddy Xuせんせい表示感谢：
        http://bbs.sumisora.org/read.php?tid=11045407

  * I tried debugging VNR for XP. I suspected the issue was cause by illegal heap permission.
    But I am not sure if the issue is fixed or not since I am not able to reproduce the issue myself.
    If VNR still crashes your game on Windows XP, just let me know.

    尝试修正了下VNR，但是我不确定是否解决VNR在XP上会让游戏崩溃的问题。
    如果问题仍然存在，可以让我知道。

11/23/2013 SAT
  * Bug fix for machine translation.

  * Add a machine translation testing app to the Spring Board.
    It might be helpful to debug Shared Dictionary.
    添加了一个检验机翻的工具。也许可以帮助修正共享辞书吧。

  * 修正了由于G网被屏蔽而造成的各种卡主的问题。
    如果你暂时居住在中国大陆，那么不要忘记打开【使用偏好/功能】中中国大陆的选项。

    btw.，无法访问的原因完全是牠们造成的，不是G网造成的。

11/20/2013 WED
  * Fix the bug that the h-code in the Hook Code Dialog was sometimes
    inconsistent with the current game.
    修正了编辑特殊码界面中的特殊码有时候和游戏不一致的bug。
    感谢@天與楓sama的报告！

11/19/2013 TUE
  * By default, VNR will automatically change SpringBoard wallpaper for different games.
    You can disable this behavior in Preferences/UI.
    VNR默认会根据选定的游戏自动更换SpringBoard的壁纸。
    在【使用偏好/界面】中可以禁用这个行为。

  * The hentai button in the left docked toobar is moved to the popup options.
    左边的Hentai按钮移动到了弹出的选项中。

11/18/2013 MON
  * Ensure that texts are copied to the clipboard.

  * Google TTS performance is improved.
    改进了Google TTS的速度。
    如果你暂时居住在大陆地区，那么要在功能中打开大陆地区的选项才好。

  * Add support for VOICEROID+ 結月ゆかり and 東北ずん子.
    You can specify the locations of voiceroids in Preferences/Locations/TTS.
    Additionally, the interface of TTS is simplified.

    Note:
    Due to technical difficulties, the integration with VOICEROID+ is not as good as SAPI.
    - Currently, only 結月ゆかり and 東北ずん子 are supported.
      Other voiceroids such as 民安★TALK are not supported.
    - VNR has to launch the voiceroid application.
    - Communication with 結月ゆかり will mess up the Clipboard.

    添加了对VOICEROID+結月ゆかり和東北ずん子的支持。
    在【使用偏好/位置/语音】中可以设定VOICEROID+程序的位置。
    另外，简化了下语音合成的界面。

    注：由于技术困难，VNR对VOICEROID+的支持并不如SAPI。
    - VNR现在只支持結月ゆかり和東北ずん子，并不支持其他的VOICEROID（比如：民安★TALK）。
    - VNR需要打开VOICEROID的程序。
    - 和結月ゆかり的通信会需要占用剪贴板。

11/12/2013 TUE
  * 修正简繁转换的bug。感谢Kodokuせんせい的报告！
    依照Kodokuせんせい的指示，修改了JBeijing的自定义辞书。变更如下：

    @Hdgdyl 淡い期待 = 淡淡的脐带――啊呀，可能打错了
    @Hdgdyl にな = 变成――影响到“気になってしょうがない”，删掉吧
    @Hdgdyl まあ = 算了——统一用“嘛”吧，“まあな”的时候会影响到，看着好不习惯
    @Hdgdyl 妙 = 秒——删掉吧，人名的话在辞书里改固有吧
    @Hdgdyl それは = 那个啊——影响太多，“それは**”之后的会影响到，我已经碰到好多次了ORZ，直接在辞书里加条正则表达吧
    @Zhugeqiu それは = 那个啊——同上
    @Goodboyye それは = 那个啊——同上
    @Goodboyye 妙 = 秒——同上

11/10/2013 SUN
  * Fix the bug that the character name text thread could not be disabled in Text Settings.
    Thanks for @天與楓 sama's report!
    修正了文本设定中姓名文本无法被取消的bug。
    感谢@天與楓 sama的报告！

  * VNR will compile character names in Game Information into MeCab dictionary at runtime.
    This ensures that the character names can be recognized by MeCab.
    However, VNR will skip pure katakana and hiragana names which have less than 2 characters.
    Compiled csv and dic files could be found in the following location if you want to use them
    for other purposes:
        %APPDATA%/org.sakuradite.reader/caches/mecab

    VNR会将游戏情报中的人物姓名编译为MeCab的辞书，来提高日文分词的正确性。
    不过，VNR会跳过仅包含平假名和片假名并且少于两个字符的名字。

    btw, Yahoo JLP is said to be the best Japanese language parser out there.
    But it is an online service and would be too slow to add to VNR.
    I found a Perl script that could compile Wikipedia with YahooJLP into offline MeCab dictionary.
        http://chasen.org/~taku/blog/archives/2007/06/yahoomecab.html
    This should improve the accuracy of MeCab parser a lot.
    I will add this to VNR when I have time.

11/9/2013 SAT
  * Fix the issue that fullscreen-ed game might have black border on the top.
    Fix the issue that VNR sometimes went out of screen after launching the game.
    修正了游戏通过【全屏】按钮全屏后顶部可能会有黑边的问题。
    修正了游戏启动后VNR有时会消失的问题。

  * Fix the bug that certain chara terms in Shared Dictionary are not applied.
    修正了有些人物姓名的词条没有被应用的问题。

  * VNR will check integrity of itself on the startup.
    It will warn you if it notices certain files are missing.
    This could happen when, for example, vnrcli.dll or pydasm.pyd is quarantined
    by your anti-virus soft after update.

    VNR在启动时会检查自身文件的完整性。当发现问题时，会发出警告。
    比如，如果vnrcli.dll或者pydasm.pyd在VNR更新时被你的杀毒软件屏蔽了，那么VNR就会发出文件缺失的警告。

11/7/2013 THU
  * I wrote a simple script to ease downloading VNR.
    If you want to re-download VNR, just paste the command below to your Command Prompt,
    It will automatically set up VNR at the current folder (only works for Windows 7 or above).
    You don't have to go to Google Code to manually download the zipped installer.

        @powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('http://sakuradite.org/reader.ps1'))"

    写了一个简单的安装VNR的脚本。
    如果你需要安装或重新安装新的VNR，那么直接把上面的那行@powershell开头的命令粘贴到Command Prompt里执行下就好了。
    这个命令会自动在当前的文件夹下设置好VNR的。
    这样就不需要到Google Code的网页上下载Installer来手动安装VNR了。

    另外，这个脚本采取的通信方式不会被大陆屏蔽。不会出现Google Code上的installer在大陆可能出现的卡主的现象。
    如果你暂时居住在大陆地区，那么这行命令也许可以帮上忙吧。

    注：这个命令仅对Windows 7以上的操作系统有效。如果你在使用Windows XP，那么只好去手动下载VNR了。

  * NEXTON engine is updated following CaoNiMaGeBi sensei's instructions.
    The new game engine can extract game characters and work for new games
    like 「魔王のくせに生イキだっ！2 ～今度は性戦だ！～」.

  Note: If you are using anti-virus soft, don't forget to re-add VNR's dlls to the whitelist.

    在CaoNiMaGeBiせんせい的指引下更新了NEXTON引擎。
    新的引擎可以提取人物的名字了。
    另外，「魔王のくせに生イキだっ！2 ～今度は性戦だ！～」这样的新游戏可以提取文本了。

  注：如果你有安装杀毒软件，不要忘记重新将VNR的dll加入白名单才好。

11/7/2013 WED
  * Fix issue that newly added games are not showing up.
    Thanks for @lambl's report!
    修正了新添加的游戏没有能够正确显示游戏信息的问题。
    感谢lambl sama的报告！

11/3/2013 SUN
  * Software Update will also update EDICT dictionary.
    软件更新会同时更新EDICT辞书。

  * VNR will update EDICT at most once a month instead of once a day.
    EDICT每月最多更新一次。

11/2/2013 SAT
  * Able to render the translation in EDICT and Shared Dictionary as Furigana.
    This might be useful if you know 50音 and are familiar with Japanese syntax,
    but have difficulties to understand kanji.
    An example of rendered texts from ChuSinGura is as follows:

   【小平太】
     deplorable       kyoto and vicinity     okuno    feudal retainer or warrior   big portion
   「 残念      ながら       上方        では 奥野 さんが        藩士           の   大部分   をまとめちまってるようです」

   【安兵衛】
            kyoto and vicinity   vengance    same mind   search    difficult
   「 なら、      上方        で  仇討ち   の   同志   を 探す のは  難しい  のか……」

    You can turn this on in Preferences/Translation.
    The game story in Game Information will also be translated in this way.

    可以直接使用英文辞书中的翻译来作为【振仮名】。在【使用偏好/翻译】中可以开启。
    不过，除非你懂得英文，否则并不需要这个功能。

  * Able to translate Japanese to ルー語（http://ja.wikipedia.org/wiki/ルー大柴）.
    ルー語 is an intermediate language between Japanese and English.
    It might be helpful you know basic Japanese but have difficulties to recognize kanji.
    ルー語 in VNR is similar to lou5 in Perl, except the translation is represented in
    English instead of 片仮名.
    You can turn this on in Preferences/Translation. An example is as follows:

    日本語: 「その目録に犬の数を記すのを忘れていてな」
    ルー語: 「 その catalogue に dog の number を write down の を forget て い て な 」

    添加了可以将日语翻译为ルー語（http://ja.wikipedia.org/wiki/ルー大柴）的选项。
    ルー語作为日英的过渡性语言，对那些使用语法相似但是不兼容汉字语言（英语，尤其是韩语）的同学，
    也许会有些帮助。

  * 因为用的人很少，删掉了对有道翻译的支持。

11/1/2013 FRI
  * Thai is changed to non-Asian language which will share translations with English.
    The only Asian languages left are Chinese, Japanese, and Korean.

10/31/2013 THU
  * 从的JBeijing的自定义词库中删除了如下词条。感谢djzせいせ的efforts！
  【好大个的鸭梨】
  - い人 = 好人
  - い子 = 好孩子
  - い虐め = 欺负
  - い加減にしなさい = 适可而止
  - いん = 好
  - いわよ = 可以
  - いろ = 在
  - いようです = 好
  - いよ = 不错哦
  - いの = 好
  【Goodboyye】
  - な = 什
  - さ = 接下来

10/28/2013 MON
  * Add download buttons to the Game Information window which can download all images
    or YouTube videos (in mp4 format) to the Desktop.
    在游戏情报中添加了保存页面上全部画像和YouTube動画(编码mp4)的按钮（不包括中国大陆地区）。

  * I added an option to Text Settings which can preserve SPACES in game text.
    If you want to preserve spaces between words, especially for English games,
    you can simply toggle that option in Text Settings.
    Don't forget to change the game language from Japanese to English in Text Settings
    as well if you want to have VNR to translate English to your own language.

    This option might also be useful for RPG games such as 神楽道中記.
    When enabled, VNR will insert spaces between words like 攻撃力、生命値とかのmessages。
    I plan to add an alternative way for rendering translations for such messages
    in a way similar to the current Mac-like Growl pop-up notifications.

    在文本设定中添加了【保留文本中空格】的选项。
    比如，如果你想要保留英文游戏中文本的空格，那么这个选项也许可以帮上忙。
    另外，不要忘记在文本设定中将游戏的语言从日语变更为英语。

    另外，对于好像「神楽道中記」这样的RPG游戏，开启这个选项还会在好像【攻击力】、【生命值】
    之类的信息中间插入空格。
    因为RPG的游戏中这里信息经常是一坨一坨出现的堆满了屏幕，我想，如果我有时间的话，
    把这些信息用好像Mac上的Growl那样弹出message的方式来渲染也许会比现在的字幕的方式更好些吧。

  * The interval when guest users are allowed to edit shared dictionary is reduced
    from 15 days to 7 days.
    Some guest users messed up the anonymous entries in the shared dictionary last week end.
    I had to manually examine and revert their changes to the database in past 15 days
    which is really a waste of time.
    I am thinking to track the IP addresses of anonymous users to prevent them from
    editing other anonymous entries.
    If you are relying on the Shared Dictionary, it might be better to get an account
    instead of using guest account to protect your efforts from being messed up by others.

    匿名账户可以编辑共享辞书的时间从15天减小到了7天。
    上周末，有同学大量删除了其他同学15天内的匿名词条。我不得不花时间来检查数据库并撤销这些变更。
    如果你经常编辑共享辞书，也许可以使用账户登录而不要用guest。
    这样可以防止其他刚刚使用VNR不久的匿名用户稀里糊涂的将你的翻译删掉。

10/24/2013 THU
  * Bugfix while rendering romaji furigana when MSIME is not installed.

    Note: If you are relying on the Furigana feature in VNR to help read Japanese,
    it is highly recommended to install Microsoft Japanese IME, whose dictionary
    could improve the correctness of furigana a lot.
    You can find whether VNR has detected MSIME in Preferences/Location.

    修正了没有安装微软日文输入法时，显示罗马字会有很多错误的问题。

    注：如果你在使用VNR的振仮名来帮助阅读，那么强烈推荐安装微软日文输入法。
    微软日文输入法的字典可以大幅改善日文分词的正确性。
    在【使用偏好/位置】中可以看到是否有安装微软日文输入法。

10/23/2013 WED
  * Vietnamese and Indonesian languages are categorized as European languages instead of Asian ones.

  BTW, internally, languages in VNR are categorized as either Asian or non-Asian.
  Currently, the only Asian languages are: Japanese, Chinese, Korean, and Thai.
  Vietnamese and Indonesian are used to be treated as Asian.
  Text processing for Asian and non-Asian languages are very different.
  - Non-Asian languages will share translation with English, while Asian ones will not.
  - Characters in Asian language will be transcoded, while non-Asian ones will not.
  - Character names in Asian language will be escaped, while non-Asian ones will not.
  - Text to translate to Asian languages will be split into paragraphs;
    text to translate to non-Asian languages will be split into sentences.
  - The algorithm to render Asian and non-Asian fonts are different.

  * Display game characters and their CVs in Game Information.
    If you have TTS installed, VNR will read the Japanese name you clicked.
    VNR will also copy the clicked text to the Clipboard.
    在游戏情报中会显示人物的名字和CV什么的。
    如果有安装TTS，VNR会读出点击的日文姓名。
    另外，VNR也会自动将点击的日文复制到剪贴板。

  * VNR will try to search game character names online, and use the names to
    correct MeCab's 振仮名 as well as machine translation.
    Note: Looking up character names for machine translation works for all languages
    EXCEPT KOREAN AND THAI.

    Take 「Dies irae」 as an example.
    1. You can find "綾瀬 香純（あやせ かすみ）" in Game Information.
    VNR will automatically translate:
    - 綾瀬 => Ayase
    - 香純 => Kasumi
    - 綾瀬さん => Kasumi-san
    - 香純ちゃん => Kasumi-chan
    - 綾瀬香純 => Ayase Kasumi
    - 綾瀬 香純 => Ayase Kasumi
    Additionally, it will force MeCab to parse 綾瀬 to あやせ and 香純 to かすみ.

    Basically, if the character name is like "A B C" or "A・B・C", then VNR will automatically
    translate "A B C" and combinations of "A" and "C" with the title terms in the Shared Dictionary,
    UNLESS the following exception happens.

    2. There is one exception that VNR will skip the character name if it has only 1 character
    or contains 片仮名 (but 平仮名 is ok).
    For example, given 「藤井 蓮（ふじい れん）」, VNR will only translate 藤井 and 藤井蓮,
    but will not translate 「蓮」 which only has one character.
    Similarly, VNR will not translate ラインハルト・ハイドリヒ which contains 片仮名.

    You can find the automatically detected character names in Game Information.
    Currently, there is no way to alter or disable the character names.
    If you don't like the automatically translated names, you have to create an
    entry in the Shared Dictionary to override the bad character name.
    The definitions of character names in the Shared Dictionary have higher priority
    comparing to the ones in Game Information.

    VNR会尝试搜索游戏中人物的姓名，来改善日文分词和机器翻译的质量。
    以「Dies irae」为例。
    1. 在【游戏情报】中可以看到名为"綾瀬 香純（あやせ かすみ）"的人物。
    那么，VNR会自动做出如下翻译：
    - 綾瀬 => 綾瀬
    - 香純 => 香純
    - 綾瀬さん => 綾瀬桑
    - 香純ちゃん => 香純酱
    - 綾瀬香純 => 綾瀬香純
    - 綾瀬 香純 => 綾瀬 香純
    另外，VNR在分词时还会强迫MeCab来将「綾瀬」标注为「あやせ」，「香純」标注为「かすみ」。

    基本上，如果人物的姓名好像"A B C"或者"A・B・C"，那么VNR会自动翻译"A B C"以及
    "A"、"C"和共享辞书中人物称谓搭配后的各种组合，除非以下特例发生。

    2. 特例是：VNR不会翻译仅包含一个字符的名字，也不会翻译包含片仮名 的名字(but 平仮名 is ok).
    比如，给定「藤井 蓮（ふじい れん）」，那么VNR会翻译「藤井」和「藤井蓮」，但是不会自动翻译
    「蓮」，因为后者只包含一个字符。
    同理，VNR也不会自动翻译包含了片仮名的「ラインハルト・ハイドリヒ」。

    在【游戏情报】中可以看到自动翻译的游戏人物的姓名。
    不过，现在还不可以手动编辑和修改那些姓名。
    如果你不喜欢VNR自动翻译的人物的名字，那么你可以在【共享辞书】中添加一个人物词条
    来覆盖掉VNR自动生成的人物翻译。
    【共享辞书】中的人物词条总是比自动生成的翻译有更高的优先级。

    注：VNR会到getchu上去查询人物的姓名。但是，我不清楚在世界上的极少数地方是否可以正常的访问getchu。
    如果getchu被屏蔽，那么可能会造成VNR在打开游戏后卡主很久才会显示翻译。
    如果你在打开【情报】页面后，VNR要卡十几秒钟才会显示，那么很可能是getchu被屏蔽了。
    如果你恰好居住在那极少数的地方，并且发现getchu会被那个地方屏蔽，那么也许可以向我抱怨。

10/18/2013 FRI
  * Bugfix for WolfRPG engine. Games like othErs should work without /H code now.
    Thanks for @asdzx257 sama's report!
    修正了WolfRPG引擎。othErs的游戏不再需要特殊码了。
    感谢@asdzx257 sama的报告！

10/16/2013 WED
  * Show keywords on Game Board.
    Game Board可以按关键词筛选游戏。

10/13/2013 SUN
  * Add game engine for RPG maker. The text threads are marked as WolfRPG.
    为Wolf RPG添加了游戏引擎。

  * VNR will popup machine translation as tooltip for game titles, story, etc. in Game Information.
    游戏情报中的标题呀简介什么的日文的旁边会弹出机翻的tooltip。

10/12/2013 SAT
  * 更新了@好大个的鸭梨せんせい编辑的JBeijing的词库。

  * Modify Bruns engine so that it can recognize 「陵辱催眠姦」.

    btw., instead of checking "bruns.exe", VNR will check existence of "args.txt"
    to identify Bruns games.

    修正了Bruns引擎。可以识别好像「陵辱催眠姦」这样的游戏了。

  * It seems that the option of keeping all scenario text threads in Text Settings
    is misused for a large amount of games.
    Now, VNR will popup following WARNING if you are trying to turn on that option.

        Are you sure to keep all scenario text threads?
        You might NOT want to enable this unless the ADDRESS OF TEXT
        (the gray the number) varies each time you launch the game!

        WARNING:
        For example, if there are several threads marked as KiriKiri,
        when you turn this option on, VNR will translate ALL KIRIKIRI TEXTS.
        This could result in A LARGE AMOUNT OF GARBAGE, which is NOT what you want!

    看起来【文本设定】中【保留所有对话文本】被大量的错误使用了。
    现在，如果你尝试勾选那个选项的话，VNR将会弹出下面这样的警告：

        你真的要保留所有对话文本吗？
        你不会想这样做，除非文本的地址（就是旁边的灰色数字）
        每次启动都会发生变化。

        警告：
        比如说，如果文本设定中显示有很多很多个KiriKiri的文本。
        那么，如果你打开这个选项，VNR将会翻译全部KiriKiri的文本。
        这样将会产生大量的垃圾文本，而这不会是你想要达到的！

10/11/2013 FRI
  * Clicking sentences in Game Information will trigger TTS to read the text out.
    Double-clicking words in Game Information will pop up translation from EDICT
    and EPWING dictionaries..
    对【游戏情报】中的日文，单击时会用TTS读出鼠标下的句子，双击时会弹出EDICT
    和EPWING辞书中的翻译。

10/10/2013 THU
  * Japanese text in Game Information is also parsed with MeCab and MSIME
    the same way as game text.
    对【游戏情报】中的日文进行分词。

10/6/2013 SUN
  * Updater is slightly changed.
    变更了更新方式，在世界上的某些地方不会被屏蔽了。

  * Updater can run on Wine now.
    软件更新可以通过Wine在Mac上运行了。

10/4/2013 FRI
  * Bugfix for BALDRSKY ZERO's game engine.
    Thanks so much for @ok123 sama's help!
    修正了VNR可能会让BALDRSKY ZERO崩溃的问题。之前带来不便，非常抱歉！
    非常感谢ok123 sama的帮助！

10/3/2013 THU
  * Display sample images, story, and reviews from Amazon.co.jp in Game Information.
    游戏情报下面会显示Amazon上的图片，日文故事，和评论什么的。

  * 当VNR的语言是中文时，会将共享辞书简体中文的人物姓名转换为正体中文。
    感谢@天與楓 sama的建议！

  * Add game engine for BALDRSKY ZERO.
    You can find the correct thread marked as BALDR@ok123 in Text Settings.
    Thanks so much for @ok123 sensei's /H code!

    为BALDRSKY ZERO添加了游戏引擎。
    在【文本设定】中选择标记为BALDR@ok123的文本就好了呢。
    非常感谢@ok123せんせい的特殊码！

  btw, the new game engine for BDZ is implemented in Python using pydbg instead of
  using C++ in ITH engine dll. I am planning to gradually move existing game engines
  in ITH to Python side and finally get rid of the C++ ITH engine from VNR.
  It will be much more stable and flexible to manipulate game engines out of game
  in Python instead of within the game like ITH.

  Additionally, it will allow me to "scriptify" the logic of the game engines.
  I am planning to create some kind of sharing mechanism so that everyone can easily add
  new game engines to VNR. The mechanism might be similar to the current Shared Dictionary
  except that the shared things will be Python scripts instead of dictionary entries.
  I feel describing a game engine logic in Python is extremely simple.
  As an example, my Python script to define BALDR engine is as follows.
  I feel it might be a better way to preserve hooks than using plain /H code
  since a game engine can identify a bunch of similar games and it can expose
  the logic behind the /H code.

      import os
      from sakurakit import skwin
      name = skwin.get_process_name(pid)
      if name == 'bsz.exe': # BALDRSKY ZERO
        from gamedebugger import GameDebugger
        dbg = GameDebugger(pid)
        if dbg.active():
          # See (ok123): http://9baka.com/read.php?tid=411756
          pattern = 0x90, 0xff, 0x50, 0x3c, 0x83, 0xc4, 0x20, 0x8b, 0x45, 0xec
          addr = dbg.searchbytes(pattern)
          if addr > 0:
            code = "/HQN4@%x" % addr
            from texthook import texthook
            texthook.global_().addHook(code, name="BALDR")

10/2/2013 WED
  * Enable SEH to reduce the change that ITH gets crashed.

  * Ensure that Python will recompile byte code after updating VNR.
    确保每次更新VNR后Python会重新编译代码来避免VNR在更新后崩溃。

  * Fix the issue that VNR cannot extract correct text from「Magical Marriage Lunatics」.
    Thanks a lot for @w774908117 sama's report
    修正了「Magical Marriage Lunatics」无法正确提取文本的问题。
    非常感谢@w774908117 sama的报告！

  * VNR will extract text from Lstr functions if and only if it cannot find a game engine for the game.
    I made this decision as I feel Lstr threads usually produce rubbish text than being helpful,
    If the game already has an engine, texts from Lstr are useless.
    Also, Hijacking Lstr may crash ITH in games like「Magical Marriage Lunatics」.

    仅且仅当VNR无法识别游戏引擎时，才会尝试去从Lstr的函数提取文本。
    我做出这个决定，是因为考虑到Lstr的函数在绝大多数情况下生成的都是垃圾文本。
    如果已经为游戏匹配到了引擎，就没有必要再从Lstr函数那里提取文本了。
    另外，从Lstr函数提取文本还可能会让「Magical Marriage Lunatics」之类的游戏崩溃掉。

10/1/2013 TUE
  * Fix infinite repetition elimination algorithm so that VNR can extract text from 「Dies irae」.
    修正了VNR无法从正确处理「Dies irae」中无限重复文本的问题。

  * Bugfix for rUGP game engine

  * The terms for TTS and character names in the Shared Dictionary will also be
    used to improve the quality to unparse Japanese text to furigana.
    Here's the description added to the help page:

      Improving Unparsing Furigana

      VNR could use MeCab and MS Japanese IME to unparse Japanese text to furigana.
      Non-regular-expression terms for TTS and character names will also be used to improve unparsing furigana.
      Their patterns will be used to split Japanese text.
      Additionally, the translation of TTS terms will be used to replace the furigana from MeCab or MS Japanese IME.

    VNR会利用共享辞书中的人物和语音的词条来改善日文分词的质量。
    下面是在帮助中的描述：

      改善日文分词

      VNR会用MeCab和微软日文输入法来为日文分词。
      非正则表达的人物姓名和语音合成的词条还会被用来改善日文分词的质量。
      它们的匹配的文本会被用来分割日文。
      此外，语音合成词条的替换文本还会取代来自MeCab或者微软日文输入法的振仮名。

  * Add Artemis@CaoNiMaGeBi engine.
    It covers a large amount of games (ohp: http://www.ies-net.com/).
    Cite @CaoNiMaGeBi's original post:

      RECENT GAMES:
        [130927]妹スパイラル
        [130927]サムライホルモン
        [131025]ツゴウノイイ家族
      CLIENT ORGANIZAIONS:
        CROWD
        D:drive.
        Hands-Aid Corporation
        iMel株式会社
        SHANNON
        SkyFish
        SNACK-FACTORY
        team flap
        Zodiac
        くらむちゃうだ～
        まかろんソフト
        アイディアファクトリー株式会社
        カラクリズム
        合资会社ファーストリーム
        有限会社ウルクスへブン
        有限会社ロータス
        株式会社CUCURI
        株式会社アバン
        株式会社インタラクティブブレインズ
        株式会社ウィンディール
        株式会社エヴァンジェ
        株式会社ポニーキャニオン
        株式会社大福エンターテインメント

9/30/2013 MON
  * Prevent VNR from hooking to Windows Media Player

  * Bugfix for Waffle and Nitro+ game engine

  * Fix the bug for adding/removing games in SpringBoard

  * Show visit count in Game Board

  * It seems the repetition filters in Text Settings are over-used.
    Now, VNR will pop up a warning as follows if you are trying to turn on
    global repetition elimination in Text Settings:

       Are you sure to turn on repetition filter?
       You might NOT want to turn this on unless the game text is FULL OF repeats.
       Few games really need this option.

       This option only serves to eliminate repetition.
       It has NOTHING to do with finding NEW game text.

       WARNING: If the game do NOT have repetition but you turn it on,
       it might significantly downgrade the translation quality.

       If only some of the game text repeat while some not,
       it is better to add some regular expressions to Shared Dictionary
       than turning on global repetition filters here.

    看起来很多根本不需要【去除重复】的游戏被在【文本设定】中打开了去重复的选项。
    现在，VNR会弹出如下警告，当你尝试在文本设定中打开除去有限或者无限重复的选项时。

      你真的决定要过滤文本中的重复吗？
      除非文本中真的布满了重复，否则千万不要打开这个选项。
      极少有游戏真的需要开启全局过滤重复。

      这个选项仅仅会除去既有的文本中的重复。
      如果文本压根就不正确，那么这个选项丝毫帮不上忙。

      警告：如果提取的文本本身并没有重复，而你却打开了这个选项，
      那么它很可能会严重的降低文本翻译的质量。

      如果文本仅仅只有一部分有重复而一部分没有，
      那么最好通过向共享辞书添加正则表达式来去除重复，
      而不要在这里打开全局的重复过滤。

  If you find repetition filters are turned on in Text Settings,
  you might consider turning them off which might improve translation quality.

  如果你发现【文本设定】中有关重复的选项被打开了，那么你可以考虑将它关闭。
  这样也许可以改善机器翻译的质量。

9/29/2013 SUN
  * Spring Board filter will not show unmatched games.
    Thanks for @lambl sama's suggestions.

    修改了下SpringBoard对游戏的查找。感谢lambl sama的建议！

  * Debug ITH extensively.
    It took me a week to debug ITH on Mac. Several bugs were fixed on the way.

  * Rewrite ITH so that it can work on wine.
    I only tested VNR on my MacBook, but I believe it would work on Linux as well.
    Some screen shots are as follows:

    Normal window with manual/machine/online translations
    http://sakuradite.com/images/screenshots/mac1.jpg

    Full screen mode and EPWING
    http://sakuradite.com/images/screenshots/mac2.jpg

    Preferences and text settings
    http://sakuradite.com/images/screenshots/mac3.jpg

    Shared dictionary and manual translation
    http://sakuradite.com/images/screenshots/mac4.jpg

    SpringBoard and game information
    http://sakuradite.com/images/screenshots/mac5.jpg

    Currently, support for Wine on Mac is at primitive stage.
    I am not sure if I should put the entire VNR on wine, or to put wine on native Python/Qt
    in the future. And I don't know exactly which features are broken on wine.
    If you are interested, you could try getting wine and run VNR on it.
    Following is a summary of working/broken functionalities that I tested on Mac OS X 10.8.5
    using Wine 1.7.

    + Tested games that work out of box
      - CROSS CHANNEL (English version)
      - ChuSinGura47+1
      - レミニセンス
      - ハピメア

    + Features that work out-of-box
      - General hooks ending with A or W, game engines, and /H code
      - Online machine translation such as Baidu
      - Offline translators like JBeijing
      - Manual subtitles and comments
      - Shared database of game profiles
      - Shared dictionary
      - MeCab, EDICT, and EPWING
      - Flashy GUI including Growl, SpringBoard and GameBoard
      - Translate window text and menu
      - Game wizard and game detection
      - Locale changing
        Wine could be launched with Japanese locale
        Apps including AppLocale or NTLEA are not needed and are disabled

    + Features that partially work with issues
      - Full screen mode
        Stretching game window works out-of-box.
        But changing screen resolution does not work well.

      - Update
        Updater on Wine does not work.
        If you have MacPorts installed, you can install Mecurial using
              port install mercurial
        And then, execute "Library/Debug Update (Mac).sh" to perform update.

    + Broken features
      - Offline TTS such as VoiceText Misaki
      - Looking up Microsoft Japanese IME's dictionary
      - Drag-drop game to SpringBoard

    + Crash
      - Injecting game might crash it
      - Closing VNR before closing game might crash the game
        You might have to close the game before closing VNR.

    You will need Wine and some knowledge of unix command line to set up VNR on Mac.
    I am not sure if I should package and distribute pre-configured Wine binary.
    Wine is kind of too large to distribute (up to 1GB), and it might violate copyright
    if I distribute Microsoft binaries together like d3dx.
    I think I might write some scripts to simplify installing VNR for Mac in the future.
    Currently, here's what I did to make VNR work on Wine manually.

    1. Get Wine from either Darwine or MacPorts
       Option 1:
       - Download Darwine from: http://sourceforge.net/projects/darwine/
       - You don't have to install Wine, which is be broken anyway.
         Just drag-drop Wine.app to your /Applications folder.
            You can find Wine.app in a HIDDEN folder in the downloaded Darwine dmg
       Option 2:
       - Install Xcode from AppStore
       - Install MacPorts from http://www.macports.org/
       - Execute: port install wine

    2. Install msvcrt and DirectX 9 from winetricks
       Get winetricks here: http://wiki.winehq.org/winetricks
       Or from MacPorts: port install winetricks
       Then execute the following command in terminal:
           winetricks vcrun2008
           winetricks vcrun2010
           winetricks d3dx9

    3. Installing windows fronts // 安装Windows的字体
       Copy fonts from you Windows/Fonts to ~/.wine/driver_c/windows/fonts

    4. Get VNR from http://sakuradite.org/reader.7z
      Then, you can launch "Library/VNR for Mac (pre-alpha).sh"
      Or manually execute following commands:
         export LC_ALL=ja_JP.UTF-8
         wine "Visual Novel Reader.exe"

    If you have got questions or issues or suggestions, feel free to let me know!

  btw, I figured out how to detect spaces in game text by accident.
  This will solve the missing-space issue for most English games like「裸執事」and「your diary」.
  I will try to add this to VNR in two weeks when I have time.

    VNR可以在Wine上运行了。Mac上的一些截图如下：

    一般窗口，翻译来自人工字幕、百度和JBeijing
    http://sakuradite.com/images/screenshots/mac1.jpg

    全屏模式和EPWING辞书
    http://sakuradite.com/images/screenshots/mac2.jpg

    使用偏好和文本设定
    http://sakuradite.com/images/screenshots/mac3.jpg

    共享辞书和人工翻译
    http://sakuradite.com/images/screenshots/mac4.jpg

    SpringBoard和游戏情报
    http://sakuradite.com/images/screenshots/mac5.jpg

    现在，VNR对Mac的支持还很不稳定。一些功能可以工作，一些不能。
    如果你很希望能在Mac上使用，那么也许可以下载下Wine，然后把你在Windows下的VNR呀
    JBeijng呀游戏呀什么的拷贝到Mac上就好了呢。

    下面是我在Mac OS X 10.8.5上用Wine 1.7测试的可以和暂时不可以工作的功能。
    + 测试可以正常工作的游戏
      - CROSS CHANNEL (English version)
      - ChuSinGura47+1
      - レミニセンス
      - ハピメア

    + 正常工作的功能
      - 文本提取、游戏引擎和特殊码
      - 在线翻译比如Baidu
      - 离线翻译比如JBeijing
      - 人工翻译和弹幕
      - 共享的游戏设定数据
      - 共享辞书
      - 日文分词和EPWING辞书
      - VNR的全部图形界面
      - 翻译窗口文本
      - 游戏向导和游戏侦测
      - 更改日文编码
        其实Wine是可以直接用日文编码打开的。
        AppLocale呀NTLEA什么的都不需要了。VNR在Mac上会自动隐藏这些选项。

    + 部分工作的功能
      - 全屏模式
        拉伸窗口实现全屏可以工作。改变分辨率全屏不能正常工作。

      - 软件更新
        Windows下的Update不能工作。
        更新VNR可以先从MacPorts安装Mercurial：
              port install mercurial
        然后执行Library下的Debug Update (Mac).sh来更新。

    + 暂时无法工作的功能
      - 离线TTS比如VoiceText Misaki
      - 查询微软日文输入法的辞书
      - 拖动游戏到SpringBoard来添加游戏

    + 崩溃的问题
      - 打开游戏时，ITH有时会让游戏崩溃
      - 先关闭VNR，再关闭游戏可能会让游戏崩溃。
        暂时只好先关闭游戏，再关闭VNR，就不会出现崩溃的问题了。

    在Mac下使用VNR需要Wine和一些Unix命令行的知识。暂时只能手工完成。步骤如下：

    1. 从Darwine或者MacPorts得到Wine
       选项1：
         - 从这里下载Darwine: http://sourceforge.net/projects/darwine/
         - 打开下载的dmg文件，在其中的一个*隐藏文件夹*中可以找到Wine.app。
           直接把Wine.app拖动到/Applications下就好了
       选项2：
         - 从AppStore安装Xcode
         - 从这里安装MacPorts：http://www.macports.org/
         - 执行如下命令安装wine
               port install wine

    2. 通过winetricks安装msvcrt和DirectX
       从这里下载winetricks： http://wiki.winehq.org/winetricks
       或者通过本MacPorts安装： port install winetricks
       然后执行如下命令：
           winetricks vcrun2008
           winetricks vcrun2010
           winetricks d3dx9

    3. 安装Windows的字体
       把你的Windows7或者XP中的Windows/Fonts复制到~/.wine/driver_c/windows/fonts

    4. 下载VNR：http://sakuradite.org/reader.7z
       之后，执行"Library/VNR for Mac (pre-alpha).sh"就好了。
       或者，也可以这样手动打开VNR：
           export LC_ALL=ja_JP.UTF-8
           wine "Visual Novel Reader.exe"

  btw，我找到了提取英文化galgame的中空格的方法。
  这样绝大部分英化游戏就会不出现丢失空格的问题了。
  我会在这两周加上这个功能的，如果有时间的话。

9/27/2013 FRI
  * Debug Update会更新Changes.txt。
    注：如果你居住在大陆地区，那么也许只能用Library下的Debug Update来更新VNR的。

9/21/2013 SAT
  * Display twitter updates from makers and users in Game Info if you are not living in Mainland China.

  * Game Board performance improved.
    改进了Game Board的速度。

  * Fixed a severe bug when applying translation for character names.
    Thanks a lot for @f841202 and @lambl sama's report!

    修正了人物词条会出现乱码的问题。
    非常感谢@f841202和@lambl的报告！

9/19/2013 THU
  * Distinguish 抜きゲー and 非抜きゲー.
    区分纯爱作和拔作。

  * Show data count and 楽しい時間 on ErogameScape.
    显示批評空間上的得点数和游戏中有趣部分的时间什么的。

9/17/2013 TUE
  * Make sure that adding/removing bad /H code will not crash on Windows Vista and later.
    On Windows XP, ITH will still crash with a C00005 exception and you have to manually restart the apps.

    确保在添加或删除错误的特殊码时不会崩溃。
    这个仅对Windows Vista和之后有效。
    在Windows XP，ITH仍旧会和以前一样会抛出C00005的异常并崩溃。

9/16/2013 MON
  * Add a new game engine to ITH for games from a-unicorn/げーせん18
   「三極姫」and「戦極姫」do notreceive require /H code to work any more.
    The correct text thread is marked as Gesen18@CaoNiMaGeBi
    crediting to @CaoNiMaGeBi daisensei.

    为げーせん18的游戏添加了文本提取的引擎。
   「三極姫」和「戦極姫」不再需要特殊码了。
    文本设定中正确的文本会标记为Gesen18@CaoNiMaGeBi来纪念@CaoNiMaGeBi大先生。

9/15/2013 SUN
  * Add an Otome filter to Game Board to find 女性向け games.
    在Game Board中可以筛选女性向的游戏。

  * Display median scores from 批評空間 in Game Board.
    在Game Board会显示游戏在批評空間上的分数。

  * Access to 批評空間 is restored.
    恢复了对批評空間的查询。
    如果你暂时居住中国大陆地区，那么需要在【使用偏好/功能】中打开大陆地区的选项。

9/14/2013 SAT
  * Handling exceptions in ITH to make sure that ITH's game engines will not crash the game.
    This might impact a large number of games. Games like 「隣りのぷ～さん」could work now.
    Thanks for @yuan2k sama's report!

    修正了ITH的游戏引擎可能会让游戏崩溃的问题。这个大概会影响到很多游戏吧。
    非常感谢@yuan2k sama的报告！

  * Distinguish different anonymous users using randomized avatars.
    If you did not upload an avatar, VNR will also assign a random one for you.
    用随机的头像来区分不同的guest。
    如果你并没有上传头像，那么VNR也会为你随机指定一个。

  * The "Game-specific" toggle in the Shared Dictionary is renamed to "Series-specific".
    "Series-specific" terms will not only be enabled in the specified games, but also in
    the games that fall in the same "series".
    For example, BUNNYBLACK, BUNNYBLACK2, and BUNNYBLACK3 will share the same terms
    automatically as they are in the same series of "BUNNYBLACK".
    You don't have to, say, clone your existing game-specific character names for FD any more.

    You can find the game's series in Game Information.
    You can find the games in the same series in Game Board.
    Currently, VNR is lacking an interface to manually alter the "series", though.
    Thanks for @djz020815 sensei's suggestion!

    共享辞书中【游戏固有】的选项被改为【系列专用】了。
    【系列专用】的词条不但会对选定的游戏有效，还会对在相同“系列”中的前作呀FD什么的也有效。
    比如：BUNNYBLACK，BUNNYBLACK2，和BUNNYBLACK3之间会自动共享词条翻译。
    你不再需要，比如说，将原作中的人物姓名的词条为FD再克隆一遍了。

    游戏的“系列”可以在【游戏情报】中看到。
    相同系列的不同游戏可以在【Game Board】中查找到。
    不过，现在VNR还没有interface可以手动编辑游戏的“系列”。
    感谢@djz020815 sensei的建议！

9/13/2013 FRI
  * Update Baidu Chinese online translator.
    修正了百度在线翻译。

  注：由于百度修改了翻译的API，造成之前版本的VNR无法再正常使用百度翻译了。
      带来不便，非常抱歉！

9/11/2013 WED
  * Display game series in Game Board.
    如果游戏有前作或者FD，在GameBoard中会显示这一系列的标题。

  * Add Youdao.com Chinese online translation service support.
    添加了有道在线中文翻译，支持日中、英中、俄中等。
    在【使用偏好/翻译】中可以打开。

    btw, 有时会看到有同学在使用微软的日中翻译（默认是绿色的）。
    其实，VNR选择微软为默认的翻译器并不是因为微软的机翻质量有多好，而是因为微软
    支持包括泰文、越南文这些小语种在内的全部语言，而又不会被大陆政府屏蔽。
    这样，来自世界各地的同学就都可以使用了。
    不过，我觉得微软的日中翻译其实蛮渣的。如果你在使用的机翻只有绿色的微软一个，
    那么，也许可以尝试下在【使用偏好】中打开百度、有道什么的，也许会比微软好些吧。

9/10/2013 TUE
  * Access to ErogameScape is disabled since ErogameScape is down.
    由于エロゲ批評空間消失了，暂时禁止了从批評空間查询游戏。

9/8/2013 SUN
  * Add common hook functions lstrlenA and lstrlenW to ITH.
    Games like「神学校」from PIL/SLASH should work without /H code now.

    向ITH添加了对lstrlenA和lstrlenW的hook。
    PLI/SLASH的「神学校」可以正常提取文本。

  * Make sure that VNR will not go out-of-screen after the screen resolution is changed.

  * VNR no longer launches games in Japan/Tokyo time zone by default.
    You can toggle per-game time zone settings by clicking Edit button on the Spring Board.
    You can also enable the previous time zone hack globally in Preferences/Launch.

    VNR默认在启动游戏时不再变更本地时区为东京时间。
    你可以在SpringBoard中点击【编辑】来调整每个游戏是否用东京时间打开。
    你也可以在【使用偏好/启动】中来调整默认是否变更时区。

  * VNR will speak the current game text using TTS if you click the text box using middle button.
    This shortcut might be helpful if automatic TTS cannot catch the character names.
    鼠标中键单击字幕或者背景阴影的话，VNR会用TTS读出当前的日文文本。
    如果自动语音合成无法识别人物姓名的话，这个快捷键也许缓解下不便。

9/7/2013 SAT
  * Add a new game engine for games from ネクストン.
    ネクストングループ owns several game brands including BaseSon, Liquid, Nomad,
    Luxury, SCORE, and recent cinematograph.
    The text threads are marked as NEXTON@CaoNiMaGeBi crediting to @CaoNiMaGeBi.

    Note: NEXTON games do not require /H code to work any more.
    But you have to manually adjust the text threads from HCode to CaoNiMaGeBi.

    For example, if you are playing recent「イノセントバレット」、「アクマでオシオキっ」
    or 「恋せよ！！妹番長」, please open Text Settings, click the game window,
    and then click the "dialog" button above the NEXTON@CaoNiMaGeBi thread.

    为ネクストン的游戏添加了新的游戏引擎。
    ネクストングループ拥有包括BaseSon、Liquid、Luxury、Nomad、SCORE
    以及最近的cinematograph等众多brand。
    新的文本命名为NEXTON@CaoNiMaGeBi来credit它的发现者@CaoNiMaGeBi。

    注：NEXTON的游戏不再需要特殊码。
    但是，如果你已经为游戏添加了特殊码，那么需要在文本设定中手动将特殊码变更为CaoNiMaGeBi。

    比如，如果你在玩最近发售的「イノセントバレット」、「アクマでオシオキっ」
    或是「恋せよ！！妹番長」，那么请打开【文本设定】，点击几下游戏，然后在
    标记为NEXTON@CaoNiMaGeBi的文本旁边点击【对白】并【保存】。

9/5/2013 THU
  * I added a new type of terms for helping translate Japanese titles.
    The descriptions in the Help of Shared Dictionary are as follows:

      The titles can be specified using title terms.
      It's pattern must matches the text immediately following a Japanese name.

      For example, if you define a chara term to translate 「ヴァイス」 to "Weiss",
      and a title term 「将軍」 as "-general",
      then VNR will try to translate 「ヴァイス将軍」 to "Weiss-general".

    Note:
    To reduce the time to process large number of names X titles, VNR internally
    will compile all names and titles into a regular expression.
    As trade-off, there are certain limitations for describing names and terms
    using regular expressions. When regular expression is enabled, "|"
    (the "or" operator) and captures like "\1" cannot be used, or it will mess
    up your name translation.

    在共享辞书中添加了用来翻译称谓的词条。帮助中的描述如下：

      人物的称谓可以使用称谓词条来定义。
      称谓词条的匹配文本会用来描述姓名后面日文。

      比如，如果你定义了从「ヴァイス」到"Weiss"的人物词条，以及「殿」到"大人"的称谓词条，
      那么VNR将会把「ヴァイス殿」翻译为"Weiss大人"。

    注：
    为了缓解大量人物姓名×称谓的处理时间，VNR在内部会将全部姓名和称谓编译为一个正则表达式。
    但是这样做的代价是人物词条在使用正则表达时会有一些限制：
    "|"（“或”运算符）和"\1"那样的引用是不能使用的，否则它们会将你的姓名词条搞乱的。

9/3/2013 TUE
  * I removed flashy animations in Game Board.
    Since there are so many games, removing animations will reduce navigation time.
    删掉了Game Board中的动画效果，以便于让搜索什么的快一些。

9/2/2013 MON
  * VNR will hide certain tool tips in full screen mode.
    切换为全屏模式后，VNR会隐藏部分tooltip。

  * Add a new type of terms to Shared Dictionary for translate character names.
    The descriptions from the Help page are as follows.

      Character Name Terms
      You can identify your translations as Japanese names.
      If your language is an European language, it is similar to Japanese terms.
      Otherwise, if your language is an Asian language, it is similar to Escaped terms.
      The difference is that VNR will try to translate titles around character names.

      For example, if you define a term to translate 「海斗」 to "Kaido",
      then VNR will also try to translate 「海斗ちゃん」 to "Kaido-chan"
      and 「海斗さま」 to "Kaido-sama", etc.

    在共享辞书中添加了新类型的词条用来专门翻译人物的姓名。
    帮助中的有关描述如下：

      人物詞條
      你可以將你的翻譯指定為人物的姓名。
      如果詞條的語言是歐洲的語言，那麼這個詞條會和日文詞條很相似。
      如果詞條的語言是亞洲的語言，那麼這個詞條會和轉義詞條很相似。
      唯一的區別是VNR會嘗試去翻譯人物附近的稱謂。

      比如，如果你定義了從「海斗」到"海斗"的翻譯。
      那麼VNR將會把「海斗ちゃん」翻譯為"海斗醬"，將「海斗さま」翻譯為"海斗撒嘛"，之類的。

    Note: Currently, the titles are hard-coded within VNR, as follows.
    It only has English/Chinese translations, and there is no way to modify the titles.
    I will add interface to allow modifying titles later.

    注：人物的称谓暂时写死在了VNR内部，不可以更改。当前的定义如下。

    TR_TITLES_EN = {
      u"さん" : "-san",
      u"さぁん" : "-san",
      u"さーん" : "-san",
      u"さ～ん" : "-san",

      u"様" : "-sama",
      u"さま" : "-sama",
      u"さーま" : "-sama",
      u"さーまー" : "-sama",
      u"さ～ま" : "-sama",

      u"君" : "-kun",
      u"くん" : "-kun",
      u"くーん" : "-kun",
      u"く～ん" : "-kun",

      u"殿" : "-dono",

      u"ちゃん" : "-chan",
      u"ちゃーん" : "-chan",
      u"ちゃ～ん" : "-chan",

      u"しゃん" : "-shan",
      u"ちん" : "-chin",
      u"ち" : "-chi",
      u"っち" : "-chi",

      u"たん" : "-tan",
      u"たーん" : "-tan",
      u"た～ん" : "-tan",

      u"先生" : "-sensei",
      u"せんせい" : "-sensei",
      u"せんせ" : "-sensei",
      u"せんせー" : "-sensei",
      u"せんせ～" : "-sensei",
      u"センセイ" : "-sensei",
      u"センセ" : "-sensei",
      u"センセー" : "-sensei",
      u"センセ～" : "-sensei",

      u"先輩" : "-senpai",
      u"せんぱい" : "-senpai",
      u"センパイ" : "-senpai",

      u"兄" : "-ni",
      u"兄ちゃん" : "-nichan",
      u"兄様" : "-nisama",
      u"兄さま" : "-nisama",
      u"兄さん" : "-nisan",

      u"兄貴" : "-aniki",
      u"の兄貴" : "-aniki",

      u"姉" : "-ne",
      u"姉ちゃん" : "-nechan",
      u"姉様" : "-nesama",
      u"姉さま" : "-nesama",
      u"姉さん" : "-nesan",
      u"お姉様" :  "-onesama",
      u"お姉さま" : "-onesan",

      u"お嬢様" : "-sama",
      u"お嬢さま" : "-sama",
    }

    TR_TITLES_ZH = {
      u"さん" : u"桑",
      u"さぁん" : u"桑",
      u"さーん" : u"桑",
      u"さ～ん" : u"桑",

      u"様" : u"撒嘛",
      u"さま" : u"撒嘛",
      u"さーま" : u"撒嘛",
      u"さーまー" : u"撒嘛",
      u"さ～ま" : u"撒嘛",

      u"殿" : u"殿下",

      u"君" : u"君",
      u"くん" : u"君",
      u"くーん" : u"君",
      u"く～ん" : u"君",

      u"ちゃん" : u"酱",
      u"ちゃーん" : u"酱",
      u"ちゃ～ん" : u"酱",

      u"しゃん" : u"香",
      u"ちん" : u"亲",
      u"ち" : u"亲",
      u"っち" : u"亲",

      u"たん" : u"糖",
      u"たーん" : u"糖",
      u"た～ん" : u"糖",

      u"先生" : u"森賽",
      u"せんせい" : u"森賽",
      u"せんせ" : u"森賽",
      u"せんせー" : u"森賽",
      u"せんせ～" : u"森賽",
      u"センセイ" : u"森賽",
      u"センセ" : u"森賽",
      u"センセー" : u"森賽",
      u"センセ～" : u"森賽",

      u"先輩" : u"先輩",
      u"せんぱい" : u"先輩",
      u"センパイ" : u"先輩",

      u"兄" : u"哥哥",
      u"兄ちゃん" : u"泥酱",
      u"兄さん" : u"泥桑",
      u"兄様" : u"泥撒嘛",
      u"兄さま" : u"泥撒嘛",

      u"兄貴" : u"大哥",
      u"の兄貴" : u"大哥",

      u"姉" : u"姐",
      u"姉ちゃん" : u"捏酱",
      u"姉さん" :  u"捏桑",
      u"姉様" :  u"捏撒嘛",
      u"姉さま" : u"捏撒嘛",
      u"お姉様" :  u"哦捏撒嘛",
      u"お姉さま" : u"哦捏撒嘛",

      u"お嬢様" : u"大小姐",
      u"お嬢さま" : u"大小姐",
    }

9/1/2013 SUN
  * Automatically remove repetition text for games like 「はぴとら」 and Fault.
    I am not sure which game could affected. If you have turned on finite
    repetition removal in Text Settings, I think you could try turning it off now.

    自动移除部分游戏中重复的文本。
    我不太清楚有多少游戏会受到影响。如果你有开启移除有限重复的选项，你也许可以尝试
    将选项关闭了（如果关闭后不再有重复的话）。
    如果不关闭的话，可能会造成比如「ぱぱ」（爸爸）被过滤成「ぱ」（啪）。

  * I added some text to the help of Shared Dictionary to explain how to use it
    to eliminate finite repetition in a more accurate way, as follows.
    As it is kind of complicated, you can ignore the following if you don't have any
    experience in programming or regular expression.

      Repetition Elimination

      There are options in Text Settings for removing repeating text.
      But the granularity is so coarse that you cannot control how exactly to remove repetitions.
      It might remove more things than what you want.
      If the default repetition filters do not work well, you can use the regular expression
      in Shared Dictionary for fine-grain finite repetition removal.

      For example, in 「天色＊アイルノーツ」, the original game text is like "CharaCharaChara「Dialog」",
      where the character names at the beginning repeat for exact 3 times.
      We want to to change it to "Chara「Dialog」".
      The default repetition filter will remove repeats in not only Chara, but also Dialog,
      which is not what we want. So, it will be better to add the following term to rewrite source text:

      * Pattern: ^(.+)\1\1
      * Replacement: \1

      In English, it means that "to replace whatever is repeating for 3 times at the beginning of the
      sentence with the repeated text".
      Here, ".+" means whatever.
      "(.+)" means to let whatever = "\1".
      "(.+)\1" means whatever has repeated twice.
      "(.+)\1\1" means whatever has repeated three times.
      The "^" sign means it only happens at the beginning of a sentence.

      Actually, the built-in finite repetition filter in Text Settings is achieved using similar regular expressions.
      It is similar to the following logic:

      * Pattern: (.+)\1+
      * Replacement: \1

      In English, it means to remove whatever has repeated for more than one times.
      It might sound dangerous.
      However, for example, "AAABAAAB" will become "AAAB" instead of "ABAB".
      This is because the regular expression will try to match maximum number of repeated characters, which will be "AAAB" instead of "A".

    我在【共享辞书】的帮助中添加了一些关于如何通过正则表达式来移除重复文字的描述。
    因为过程比较复杂，如果大家没有一定的编程或者使用正则表达式的经验，那么就无视下面这些文字吧！

      過濾重复

      在【文本設定】中有一些可以過濾重复字符的選項。
      但是，過濾的粒度很粗。比如，我們不能夠精確的控制到底如何過濾。它可能會過濾掉過多的重复。
      如果默認的過濾器工作的並不好，那麼也許可以使用共享辭書和正則表達來實現更精確的過濾。

      比如，在「天色＊アイルノーツ」中，日文的原文會是好像"人物人物人物「對話」"。
      人物的名字會重复正好3次。
      我們希望將原文改寫為"人物「對話」"。
      如果打開【文本設定】中默認的過濾器，那麼它不但會過濾掉人物中的重复，還可能會過濾掉對話中的重复。
      而這並不是我們希望看到的。
      這時，可以在共享辭書中添加好像如下這樣的詞條：

      * 匹配的文本: ^(.+)\1\1
      * 替換的文本: \1

      用中文來說，它的含義是"替換句子開始出現的重复了3次的任何文本為重复的文本"。
      這裡，".+"表示任何文本。
      "(.+)"表示指定"\1"來表示任何文本。
      "(.+)\1"表示這個\1的文本重复了1次，一共出現了2次。
      "(.+)\1\1"表示這個\1的文本重复了2次，一共出現了3次。
      開頭的"^"符號表示重复僅僅出現在句子的開始。

      實際上，VNR文本設定中內置的有限重复過濾器也是通過正則表達式來實現的。
      邏輯上好像是這樣的：

      * 匹配的文本: (.+)\1+
      * 替換掉的文本: \1

      用中文來說，就是要去除任何重复了至少一次了的文本。
      這個聽起來也許滿危險的呢。
      但是其實，比方說，"AAABAAAB"會變成"AAAB"，而不會變成"ABAB"。
      這是因為正則表達式在匹配時會做“最大匹配”，努力去匹配更多的文本。
      所以重复的部分會被識別为更長的"AAAB"而不是"A"。

8/30/2013 FRI
  * Bugfix for parsing /H code that contains spaces.
    修正了处理包含空格的特殊码的bug。

8/28/2013 WED
  * Bugfix for escaped hentai terms.
    Thanks @BlueRex sama's report!
    修正了Hentai开关对转义的词条无效的问题。
    感谢@克子 sama的报告！

  * Display game makers and their twitter avatars in Game Information.
    在【游戏情报】中会显示游戏的作者和他们在Twitter上的头像。

    警告：如果你居住在大陆地区，那么请在【使用篇好/功能】中打开【我居住在大陆地区的选项】。

8/27/2013 TUE
  * Fix the bug for showing random numbers (like xxx.97) in the machine translation.
    修正了出现随机数字乱码的bug。
    感谢@天與楓 sama的报告！

    Warning:
    When adding terms to the Shared Dictionary, you should avoid adding translation
    for AMBIGUOUS Japanese words. For example, you should never add translation for
    a single character like 「わ」, which could have different meaning under
    different contexts.

    警告：
    在向共享辞书中添加词条时，应该尽量避免为***有歧义的日文***添加翻译。
    尤其是不要添加好像「わ」=【哇】这样对单个片假名的翻译。
    因为像「わ」这样的单词在不同的语境下会有不同的含义。
    如果都翻成【哇】会严重降低机器翻译的质量。

  * Modify ITH's ShinaRio engine to work with games from アトリエさくら.
  * Add a new ITH engine for games from Sweet Light, which is marked as Malie2.

8/26/2013 MON
  * I added a Hentai flag to the terms in the Shared Dictionary.
    Hentai terms will only be enabled after the user enable them from the left dock.
    Basically, you don't want to enable hentai terms unless in H-scene or 抜きゲー.
    Otherwise, the machine translation might become overly erotic.
    The motivation of Hentai terms could be find in the Help of Shared Dictionary, as follows:
        Certain Japanese words have special meaning when come to H-scene.
         For example,「出る」 usually means "ejaculation" instead of "getting out" under the context.
         Also, some translations might be offensive to certain group of people.
         You could mark these terms as Hentai so that the users could select
         whether to enable them or not.

    在【共享辞书】中添加了【Hentai】的标示。
    被标记为Hentai的词条仅当其他同学在左边的选项中开启了【Hentai】后才会有效。
    简单的说，如果你在推抜きゲー或者H-scene，而希望翻译变得更加糟糕更加Êerotic，
    那么也许可以打开左边的Hentai选项。
    如果只是一般的纯爱作或者乙女作，那么最好不要打开Hentai的选项。
    下面是【共享辞书】的帮助中对于Hentai词条的描述：
        有些日文單詞在H-scene時會有不同的含義。
        比如，在H的語境下「出る」通常是指“射精” 而不是指“出去”。
        另外，有些重口味的翻譯可能會讓一些同學感到不舒服。
        你可以將這樣的詞條標記為Hentai，讓其他同學就可以選擇是否使用這些詞條。

8/25/2013 SUN
  * ITH is optimized specific to VNR.
    Additionally, ITH and VNR can run at the same time now.
    But when /H code is applied or game-specific engine are selected,
    either VNR or ITH could work rather than both.

    Note: Since this version, the dlls in VNR are no longer compatible with ITHv3 any more.
    I removed the dead code and a few ITH features that VNR do not need.
    As the result, the dlls in VNR do not work with the original ITHv3 any more.

    优化了文本提取。另外，ITH可以和VNR同时运行了。
    但是当使用了特殊码或者游戏引擎时，两者中只有一个才可以工作。

    注：从这个版本开始，VNR的文本提取引擎不再与ITHv3兼容。
    比如，将VNR的dll文件复制到ITHv3下将无法再正常工作。

8/23/2013 FRI
  * While rendering Japanese, noun/verb will be in red/yellow, while others in blue/green.
    渲染日文时，名词或动词会被渲染为红色或黄色，其他的助动词什么的渲染为蓝色或绿色。

8/22/2013 THU
  * 屏蔽淘宝浏览器。屏蔽任何以Baidu开头的程序。
  * Bugfix for the new SiglusEngine.
    Credits and special thanks to @CaoNiMaGeBi sensei!

8/19/2013 MON
  * The MSIME parser option is removed.
    VNR now always uses MeCab to parse Japanese. When MeCab fails to parse
    certain Japanese word (such like 「巨乳」), VNR will use MSIME as fallback
    if installed.
    删除了使用微软日文输入法分词的选项。
    当MeCab分词失败后，VNR会自动使用微软日文输入法来分词（如果有安装）。

8/18/2013 SUN
  * Add new engine for QLIE games.
    The text threads are named as QLIE2@CaoNiMaGeBi to memorize @CaoNiMaGeBi who found it.
    Games including「催眠演舞」and「乙女理論とその周辺」do not need /H code any more.
    添加了新的QLIE引擎。非常非常感谢@CaoNiMaGeBi对这个引擎的特殊码！

8/17/2013 SAT
  * Japanese parser
    - When MeCab parser is used, VNR will show the 品詞 of the clicked text that is formated as:
        表層形：原形,発音,品詞,品詞細分類1,品詞細分類2,品詞細分類3,活用形
      An example for 「憎しみは憎しみしか生まない」 is as follows:
        憎しみ：憎しみにくしみ,名詞,一般
        は：は,わ,助詞,係助詞
        憎しみ：憎しみにくしみ,名詞,一般,
        しか：しか,助詞,係助詞
        うま：生む,うま,動詞,自立,五段・マ行,未然形
        ない：ない,助動詞,特殊・ナイ,基本形

      当分词器设定为MeCab时，VNR会显示点击的日文单词的品詞。显示的格式以及例子如上。
      关于ＭｅＣａｂ和微软拼音输入法的优劣如下：
      - MeCab：可以显示品詞，但是因为字典不全，遇到生僻字可能会缺少振仮名
      - 微软拼音输入法：字典更大，但是不能显示日文单词的品詞

    - When MeCab parser is used, VNR look up the original form of the selected word
      in the dictionary. For example, when 「ござい」 in 「お早うございます」is clicked,
      VNR will look up 「ござる」 instead of「ござい」.
      当MeCab开启时，VNR会用点击词语的原型来查询辞书。
      比如：当「お早うございます」中的「ござい」被点击时，VNR会查询动词原型「ござる」
      而不会查询「ござい」。

  * Text settings
    - The hook dialog will also display the most recent hcode deleted by other users.
      特殊码的输入界面可以看到之前被其他同学删掉的特殊码。

    - The "keeping all threads generate from /H code" in Text Settings is changed to
      "keeping all threads generated by the selected scenario engine".
      For example, if the address of SignusEngine text thread varies on each launch,
      you can turn on that option catch it.
      文本设定中【保留所有特殊码生成的文本】变更为【保留所有来自对话引擎的文本】。
      比如，当来自SigusEngine的文本的地址在每次打开游戏都不断变化时，那么可以
      开启这个选项来保留所有SignusEngine的文本。

  * Launch settings
    - Always convert dos 8.3 game path like ABC~1.exe to full path name.
      总是将DOS 8.3格式的好像ABC~1.exe一样的文件名转换为原始路径。

  * ITH fixes
    - Fix the issue that ITH sometimes fails to recognize game engine launched by NTLEA.
      修正了用NTLEA打开游戏会造成ITH无法识别部分引擎的问题。

    - Fix the issue that ITH Brus engine cannot recognize game with msvcrt 2010.
      修正了ITH的Brus engine无法和msvc2010的游戏同步的问题。

    - Fix the issue that ITH might crash recent SiglusEngine.
      You no longer have to launch the game with NTLEA any more.
      修正了ITH会让最近的SiglusEngine的游戏崩溃的问题。
      打开这些游戏不再需要使用NTLEA转区。

    - I added a new hook to ITH to identify the recent SiglusEngine.
      The text thread will be identified as Siglus@杀死妹妹 with the credits to
      @杀死妹妹 who found the hcode for these games.

      Note: VNR does not need HCode for SiglusEngine games any more.
      Additionally, the new ITH engine will override the text thread from the /H code.
      If you are playing, say,「聖娼女 ～性奴育成学園～」, then you have to manually
      change the scenario thread from HCode to Signus@杀死妹妹 in Text Settings.

      添加了识别SiglusEngine的游戏的引擎。
      来自引擎的文本在【文本设定】中会显示为【Siglus@杀死妹妹】以感谢来自杀死妹妹的特殊码。

      注：VNR不再需要特殊码来启动SigplusEngine的游戏了。
      并且，新的引擎会造成这些游戏的特殊码失效。
      如果你在玩，比如，「聖娼女 ～性奴育成学園～」，那么你不得不在【文本设定】
      中将【对话】文本从【特殊码】调整为【Signus@杀死妹妹】。

  * Notes
    - I removed the "beta" tag from the VNR as I feel VNR is out of severe bugs now.
      去掉了VNR名称中的Beta标签。

    - I added some text to the help of Text Settings regarding the name of the executable, as follows:
        【Game executable name】
        The name of the game's executable file might be used by ITH to help identify the game engine.
        If you rename the executable, VNR might not be able to find the game engine any more.
        So, unless the executable contains Japanese characters, YOU DO NOT WANT TO RENAME THE EXECUTABLE.

      在文本设定的帮助中添加了一些关于游戏文件名的描述，如下：
        【關于遊戲可執行文件的名字】
        有些同學喜歡給可執行文件重命名。
        但是，因為可執行文件的名字可以幫助ITH識別遊戲引擎，所以一旦重命名就可能會讓VNR的文本提取失效。
        因此，除非遊戲文件名包含日文字符，***否則不要去重命名遊戲程序的名字***。

8/16/2013 FRI
  * Fixed the text repetition issue in 「ギャングスタ・リパブリカ」.
    If you are playing this game, just update the Shared Dictionary and the text
    will be correct.
    修正了「ギャングスタ・リパブリカ」中重复文本的问题。
    如果你在玩这个游戏，那么还需要更新下【共享辞书】，就不会有重复的问题了。
    感谢@七世ミクい sama的报告！

8/15/2013 THU
  * Show game OP and demo on Youtube in the game information window.
    You can download Youtube video to your desktop by clicking the "↓" button.
    游戏情报会显示游戏在Youtube上的OP和Demo。
    点击动画右边的↓按钮可以直接下载动画到桌面。
    如果你居住在中国大陆，那么最好打开【使用偏好/功能】中【你居住在中国大陆】的选项。
    否则游戏情报页面可能会卡主。

  * Fixed the regression that VNR might disappear after the game window is minimized.
    修正了VNR在游戏窗口最小化回复后可能会小时的问题。
    感谢@浅墨悠离 sama的报告！

8/14/2013 WED
  * Fix the issue that ITH would crash the game「ノーブレスオブリージュ」.
    修正了ITH会让「ノーブレスオブリージュ」崩溃的bug。
    感谢@血腥更加暴力 sama的报告！

  * Fixed the ITH's deficiency on removing INFINITE cyclic repetition in game text.
    The option can be toggled in Text Settings.
    I only tested 「Lover's Collection」, and not sure how good this approach works.
    If you still have repeat text that VNR still cannot handle, feel free to let me know
    the game name.

    VNR currently have two kinds of repetition filters, the old finite filter and the
    new infinite filter. The old one is always preferred than the new one.
    I mean, if the old finite filter is sufficient, you do NOT want to turn on the new one.
    Some technical details follows.
    - The finite filter is applied AFTER extracting the game text from ITH.
      The infinite filter is applied WHILE extracting the game text in ITH.
      As a result, in Text Settings, toggling finite filter will change existing texts at once,
      while toggling infinite filter will only impact new texts than the existing ones.
    - The infinite filter is slower and takes much more memory than the finite one.
      The finite filter is applied to the game text per paragraph, while the infinite one
      is applied while processing each character.
      If the finite filter take O(T(s)) time to process string s, then the infinite one
      might take up to O(T(s) * lengthOf(s)) time to finish.
    - The finite one can handle whatever kinds of repetitions, while infinite one
      can only recognize cyclic repetition,
      But you can turn on both finite and infinite filters together to deal with
      whatever repetition patterns.

    修正了ITH无法处理无限循环重复文本的问题。
    在【文本设定】中开启出去循环重复的选项就好了。
    如果你遇到无法处理循环的游戏，可以让我知道！

    VNR现在有两种去除循环的选项了（旧的除去有限循环的选项，和新的除去无线循环的选项）。
    但是新的选项比旧的选项要慢很多很多，而且只能够识别循环重复（cyclic repetition）。
    总之，如果开启去除有限重复的选项足够了，那么就***不要***开启无线重复的选项了！

    如果遇到无限的循环重复+非循环重复的文本（比如「Lover‘s Collection」）， 那么
    也可以将两个过滤选项同时打开。

  * Support adding games from erogetrailers.com.
    The game information on ErogeTrailers is more accurate, and it will help VNR
    automatically adding links on amazon, dmm, and getchu.
    Manually adding Getchu games is disabled.
    支持添加ErogeTrailers.com上的游戏。
    VNR会自动从ErogeTrailers上找到Getfchu的链接。手动添加Getchu链接被禁止了。

  * You can right-click the game CG in the game information window to save the images
    to the desktop, or drag the images to wherever you want.
    游戏情报中的CG之类的图片可以用右键点击选择保存图片或者拖动的方法保存到桌面上。

8/11/2013 SUN
  * Permissions changed for guest users.
    Guest users can delete anonymous shared subs and terms.
    But they can no longer modify entires added 15 days ago.
    匿名用户可以删除来自其他匿名同学的字幕和词条了。
    但是，匿名用户不再能修改在15天以前提交的匿名数据了。

8/9/2013 FRI
  * Automatically remove garbage character "^L" from the game text which might crash VNR.
    Subtitles in games like the English version of Rewrite should work fine now.

  * You can browse/export the manual subtitles and their creators of the game in Game Board without downloading the game.
    在Game Board中可以浏览和导出字幕，查看字幕的作者和语言等，而不再需要事先下载游戏。

  * Fix the ITH bug for finding texts for certain versions of 「幻創のイデア」.
    Well, if you have purchased that game, ITH should have no problem to find the text for the original game.
    But if you were using certain illegal nodvd cracker, ITH might not be able to find the correct ShinaRio text.
    I modified ITH source code in order to fix the issue.

    Since this version, VNR started to use its modified branch of ITH.
    The C++ source code could be found in Library/Frameworks/Sakura/cpp/plugins/ith.
    If you do not want to use VNR, but want the features of VNR's ITH, you can manually
    copy the following dlls to your old ITH directory:
        Library/Frameworks/Python/ITH*.dll
        Library/Frameworks/Python/IHF*.dll
    If you have found bugs or suggestions on new common game engine for ITH itself, feel free to let me know!

    Special thanks to @微熱秋刀魚's bug report for 「幻創のイデア」.

    修正了ITH无法找到破解掉的「幻創のイデア」的文本的问题。
    Well，如果你购买了正版的游戏，那么ITH是可以找到原版游戏的文本的。
    如果无法找到，那么你一定是使用了免DVD的破解文件><
    为了修正这个问题，不得不修改了ITH本身。

    从这个版本起，VNR开始使用自己修改版本的ITH。
    C++的源代码可以在Library/Frameworks/Sakura/cpp/plugins/ith中找到。
    如果你不喜欢VNR，但是需要修改后ITH的功能，那么可以将VNR中如下文件拷贝到老版本的ITH就好了：
        Library/Frameworks/Python/ITH*.dll
        Library/Frameworks/Python/IHF*.dll
    如果你找到了ITH本身的bug，或者是需要对新的游戏通用引擎的支持，也可以让我知道！

    感谢@微熱秋刀魚 sama对「幻創のイデア」中问题的报告！。

8/7/2013 WED
  * If you choose to block, say, Chinese, VNR will no longer download Chinese terms and subtitles any more.
    如果你选择屏蔽，比如：英文，那么VNR不会再下载英文的词条和人工翻译。

  * Fix the timezone bug while processing Japanese date time.

  * The exported terms/subs will be saved in Excel-compatible CSV format.
    CSV is easier to read by human and parse by program than XML.
    If you are a normal user, you can open the CSV files using Excel.
    If you are a developer, it might be easier to integrate the terms to your machine translator
    or make a patch from the subs in CSV format than XML.

    导出的人工字幕和词条会以Excel兼容的CSV格式保存，而不再以XML格式保存。
    你可以直接用Excel打开导出的文件。
    如果你是程序员，需要将导出词条加入你的机翻软件，或者将字幕作成patch，
    那么CSV也许会比XML会容易处理些吧。

8/6/2013 TUE
  * Fix a bug in the underlying text hooking code that has existed since the beginning of VNR,
    which might mess up the game text order, say, ABCD => BCDA.
    Thanks so much for @lambl's report!
    修正了一个从VNR第一版就存在的会扰乱文本顺序的bug（比如：让ABCD变成BCDA）。
    非常感谢@六翼恶魔兰姆1 sama的报告！

  * You can double-click the text in the popup translation window to read the text
    using TTS and copy it to the clipboard.
    双击弹出的翻译框框中的文字，会使用日文TTS读出其中的文字并拷贝文字到剪贴板。

8/5/2013 MON
  * Bug fix for getting getchu games.
  * 当使用偏好中【居住在大陆】的选项打开后，VNR会使用Excite搜索来替换Google搜索。

8/4/2013 SUN
  * Bug fix for the full screen mode.

  * Allow adding game reference from Getchu.com.
    But due to copyright concerns, VNR will NOT save game information on Getchu.
    可以为游戏添加Getchu上的链接。
    但是因为著作权的原因，VNR不会保存Getchu上得到的图片之类的信息。
    感谢@goodboyye sama的建议！

  * Allow editing game information in the Shared Dictionary.
    If you have game-specific terms for older versions of the game, you can edit
    its information so that both old and new versions of the same game would share the terms.
    在共享辞书中可以编辑游戏的信息了。
    如果你在辞书中的游戏固有的词条和老版本的游戏绑定了，那么可以通过编辑游戏信息，
    来将相同游戏的不同版本绑定到一起，来共享游戏固有的词条。

  * You can turn off furigana from the left docked option window.
    If you do not want to learn Japanese, turning off furigana might make VNR to run faster.
    在左边的选项中可以关闭显示日文的振仮名。
    如果你不想学习日语，那么关闭振仮名可以让字幕的渲染快一些。

  * There were lots of terms from guest users in the Shared Dictionary,
    which could be deleted by any other guest.
    To protect existing terms from guest, I removed the permission for guest to delete terms.
    If you sign in as guest, you can still disable guest terms, but no longer delete them.
    共享辞书中有很多词条是来此匿名用户的。匿名用户的词条本来是任何人都可以删除的。
    为了保护这些匿名用户的词条，VNR不再允许匿名用户删除其他匿名用户的词条。
    不过匿名用户仍旧可以禁用词条。

8/3/2013 SAT
  * The Game Window Text Translation feature docked left supports online translators now.
    But as online translators are much slower and less stable than offline ones,
    VNR will use online translators to translate window texts, iff you don't have
    any offline translators enabled in Preferences/Translation.

    左边【选项】中的【翻译窗口文本】可以使用在线翻译器了。
    但是因为在线翻译的稳定性和速度比离线翻译要差很多，所以除非在【文本设定/翻译】
    中没有安装任何一个离线翻译软件时，VNR才会使用在线翻译服务来翻译窗口文本。

  * Add Google translator support.
    I feel its English translation quality is not good.
    But it might help minority languages like Thai and Vietnamese.
    添加了Google在线翻译。

  * 如果你居住在中国大陆，并且希望使用Google的翻译和TTS，那么可以在
   【使用偏好/功能】中打开【你现在居住在中国大陆】的选项。

  * Add a new "Ratio" button to the "FS" popup.
    The differences of "Window", "Screen", and "Ratio" are:
    - Window: Keep the resolution
    - Screen: Change the resolution without respecting the display aspect ratio
    - Ratio: Change the resolution while forcing the current display aspect ratio

  * 在【全屏】按钮中，添加了【比例】按钮。
    【窗口】，【屏幕】，和【比例】在实现全屏时的区别是：
    - 窗口: 不改变屏幕的分辨率
    - 屏幕：改变分辨率，不考虑屏幕的长宽比
    - 比例：改变分辨率，并保持屏幕的长宽比
    感谢@杀死妹妹 sama的报告！

8/2/2013 FRI
  * Fix a bug for searching games in DMM.
  * Add a Game Board where you can find known games in VNR's online game database.
    添加了Game Board可以找到VNR的服务器上已知的游戏。

  * Force keeping display aspect while changing resolution for full screen.
    在切换屏幕分辨率来实现全屏时，强迫保持长宽比。
    感谢@鞭打妹妹 sama的建议！

7/30/2013 TUE
  * You can adjust the maximum length of game text in the left dock.
    Game text longer than that will be ignored.
    在左边的【选项】中可以调整最大文本长度。
    大于指定长度的文本会被VNR认为过长为而忽略掉。

7/29/2013 MON
  * Improve performance to render glowing text.
  * The "Transp" button on the left dock is renamed to "Glow". Nothing else is changed.
    左边的【透明】按钮被重命名为【光晕】。功能上没有变化。

7/28/2013 SUN
  * The Show/Hide button in the left dock is renamed to Pause to be more accurate.
    The functionality is the same as before.
    左边的显示/隐藏按钮重命名为【暂停】。按钮的功能没有变化。

  * I improved the image blurring algorithm to render the subtitles.
    Now, you can adjust the text glowing intensity and range from the left dock.
    Increasing these factors will make the text more readable, esp. after turning
    off the background shadow.
    You can press the Transp button on the left dock to toggle these factors.

    Warning: Increasing glow factors will also increase CPU cycles to render the
    text halo, especially when you have turned off the background shadow.
    If you have a very old laptop, you might want to keep the glowing factors small,
    and keep the background shadow.

    在左边的选项中可以调节字体发光的强度和范围。增大这些参数会让字体变得更清晰和易读。
    参数变得很大时，在没有背景阴影的时候也可以看清楚字幕了。
    点击左边的【透明】按钮会自动调节这些参数。

    警告：增大发光参数也会增加渲染光晕需要的运算，尤其在关闭了背景阴影的时候。
    如果你的笔记本很老很慢，那么最好不要让发光的参数太大，也不要关闭背景阴影。
    不然在字幕移动的时候会变得一卡一卡的。

  * Add DMM.co.jp as an alternative reference of Amazon.co.jp.
    It covers more recent games than Amazon, such as 「まじこいS2」.
    After adding a DMM reference, you can find sample CG in game information.

    添加了DMM.co.jp作为Amazon.co.jp的候补。
    添加DMM的链接后，在【情报】中将可以看到游戏的CG和画师的信息。

  * Display game names in the Spring Board using the names from Amazon or DMM

7/26/2013 FRI
  * Fix the issue that VNR might slow down certain games.
    修正了VNR会让部分游戏变得很慢的问题。感谢@沈萧峰 sama的报告！

  * Fix the issue that has been existed for long that changing display resolution might crash VNR.
    修正了显示器分辨率改变可能会让VNR崩溃这个存在很久了的问题。

  * Automatically zoom UI when VNR realizes the display resolution is changed.
    当VNR发现显示器的分辨率改变时，会自动缩放部分界面控件的大小。

7/24/2013 WED
  * Add a button for changing display's resolution to achieve full screen.
    When you press the FS button, VNR will show two more buttons:
    - Window: Change the game window to fit the screen size
    - Screen: Change the display resolution to fit the game window

    添加了通过修改显示器解析度来实现全屏的按钮。点击【全屏】按钮就可以看到了。
    感谢@鞭打妹妹 sama的建议！

7/23/2013 TUE
  * The game images are cached for offline access.
  * You can clear the text box from its context menu, or "⏎" button on the header.
    当文本太多时，可以通过右键菜单或者顶部的按钮来清空文本框框。

7/21/2013 SUN
  * The user-defined threads generated from h-code are renamed to "HCode".
    Nothing is changed except the naming.
    由特殊码生成的文本由【User-defined】重命名为【特殊码】。在功能上，没有任何变化。

  * The "Speak" button on the left dock is togglable now.
    You can use it to toggle the automatic TTS option.
    【朗读】按钮可以按下了。当按下时，VNR会开启【自动语音合成】的功能。

  * If you are really bothered by TTS, you can disable it in Preferences/Features.
    如果你不需要语音合成的功能，可以在【使用偏好/功能】中禁用它。
    禁用后VNR就不会再抱怨没有安装TTS的了。

  * Switch to lxml to reduce xml processing time.

  * Fix the issue the for some games like 「Zero Infinity」, FS failed to remove
    the border of the game window.
    修正了部分游戏全屏时，VNR没有完全移除游戏窗口边框的问题。

  * I added a Slim button to the left dock.. When toggled, VNR will switch back
    to the old GUI. When pressed, the old blue button is also restored.

    添加了一个Slim的按钮。
    按下后，VNR会切换回老版的界面，包括显示之前被删掉的蓝色按钮。

  * I added a new feature to VNR that you can specify/select the name of the game.
    The games that are assigned with the same name will share game-specific subtitles and terms.
    Here are some texts from the help for the newly-added Game Information:

      - Motivation
      In VNR, game settings including user-contributed subtitles and game-specific dictionary terms are bound
      with the game's executable. However, usually the same game has different versions of executables from
      「初回版」,「通常版」,「廉価版」, and different updates.
      For example, if you have game-specific character names in the Shared Dictionary, after the game is updated,
      the old terms might not work with the latest game anymore.

      When that happens, you can create a reference for different versions of the same game.
      The games sharing the same reference will share the game-specific translations.

    添加了可以为游戏指指定名字的功能。相同名字的游戏会共享人工翻译和共享辞书中游戏固有的词条。
    下面是来自新添加的游戏情报中帮助的文字：

      【簡介】
      在VNR中，遊戲的各種設定，包括大家的人工字幕和共享辭書辭書中遊戲固有的條目， 都是和遊戲的程序文件關聯的。
      但是，即便是同一個遊戲也經常會有不同版本的文件。
      這些版本可能來自不同的「初回版」、「通常版」、「廉価版」，以及遊戲的更新文件。
      比如，如果你在共享辭書中添加了遊戲固有的人物的姓名，那麼更新遊戲將可能會使得這些人工翻譯失效呢。

      當這樣的問題出現時，你可以為不同的遊戲指定相同的名字。具有相同的名字的不同的遊戲之間，將會共享人工翻譯和字幕。

7/17/2013 WED
  * Fix the issue that VNR might crash when there are too many unfinished
    online translation tasks.
    修正了网速很慢而又快速点击游戏时，过多的在线翻译任务会让VNR崩溃的问题。

  * Make sure that the FS (full screen) function will preserve game window's aspect.

  * 屏蔽所有以360开头的程序。
    如果你发现你的游戏程序的名字正巧是以360开头，可以向我抱怨！

7/15/2013 MON
  * Automatically recognize and block wrong or malicious user-defined hook code.
    自动识别和屏蔽错误的或恶意的特殊码。

7/14/2013 SUN
  * Hide the green spinner in full screen mode.
    全屏时不再显示绿色的圈圈。

  * Automatically bold small fonts.
    当字体太小时会自动加粗.

  * I added some help text for the Shared Dictionary to show how to use regexp
    to help identify character names, as follows:

      The regular expression could also help VNR identify character names in the game text.
      For example, in 「まじこいS-1」, the original game text is like: 「Scenario」CharaName.
      And we want to change it to: CharaName「Scenario」. You can achieve it by adding a term as follows:
      * Target: Original text
      * Language: Japanese
      * Game-specific: YES -- i.e. only apply to this game
      * Regular expression: YES
      * Pattern: (「.*」)(.*) -- Match scenarios as \1 and chara as \2
      * Replacement: \2\1 -- swap \1 and \2

      Another example, in 「媚肉の香り」, the original game text is like: ＜CharaName＞：Scenario.
      And if you want to change it to: CharaName「Scenario」, you can add a term as follows to achieve it:
      * Target: Original text
      * Language: Japanese
      * Game-specific: YES -- i.e. only apply to this game
      * Regular expression: YES
      * Pattern: ＜(.*?)＞：(.*) -- Match chara as \1 and scenarios as \2
      * Replacement: \1「\2」 -- wrap \2 with「」

    在共享辞书的帮助中添加了一下关于如何使用正字表达式来帮助识别人物名字的文字，如下：

      正則表達式也可以幫助VNR來識別對話中人物的名字。
      比如 在「まじこいS-1」中，遊戲的文本好像：「對話什麼的」人物名字。
      而我們想要把文本變為：人物名字「對話什麼的」。 那麼，可以通過添加如下的文本來實現：
      * 目標：原文
      * 語言：日文
      * 遊戲固有：是 -- i.e. 僅僅對まじこい有效
      * 正則表達：是
      * 匹配的文本：(「.*」)(.*) -- 匹配對話什麼的為\1， 人物名字為\2
      * 替換的文本：\2\1 -- 交換\1和\2的位置

      再比如，在「媚肉の香り」的遊戲文本好像：＜人物名字＞：對話什麼的。 如果你想要把它變為人物名字「對話什麼的」，可以通過添加如下的詞條來實現：
      * 目標：原文
      * 語言：日文
      * 遊戲固有：是 -- i.e. 僅僅對媚肉の香り有效
      * 正則表達：是
      * 匹配的文本：＜(.*?)＞：(.*) -- 匹配人物名字為\1， 對話什麼的為\2
      * 替換的文本：\1「\2」 -- 將\2放到「」裡

7/13/2013 SAT
  * I tried increasing the limit for max recursion to ease the exception of
    "maximum recursion depth exceeded".
    But I am not sure if this could help or not.
    If you have got the same issue, feel free to complain to me!

    做了一些对于"maximum recursion depth exceeded"的异常的修正，非常抱歉！
    如果这个问题再次出现，可以向我抱怨！

  * Automatically hide the task bar after switching to full screen model.
    在进入全屏模式后会自动隐藏任务栏。

  * Fixed the issue that VNR sometimes failed to find game window after restored
    from being minimized.
    修正了部分游戏最小化后VNR无法找到游戏窗口的问题。

  * 如果你无法使用Update正常的更新，那么很可能是FTP的端口被你的大陆地区屏蔽了呢。
    现在，只好手动执行Library中的Debug Update.cmd来暂时缓解这个问题。

    Library中的Debug Update.cmd和Update.exe几乎只一样的。
    只是Update可能会针对不同的版本而删掉以前版本产生的无用的文件，而Debug Update不会。
    所以，Debug Update后的Library文件夹可能会大一些。

  * Remove the "always on top" attribute from some of the VNR's windows.

  * Prevent VNR from adding HCODE to 「少女騎士物語」 and 「Berry's」.
    These games do NOT need AGTH code to work. Please STOP ADDING HCODE TO IT!

    I am really confused! There are already correct texts existing in Text Settings.
    But why people are still trying to add AGTH hcode to it?!
    Please make sure there are no correct texts before adding HCODE to the game!
    I mean, please try adjusting the text encoding and examining each text thread
    ONE BY ONE first before adding new AGTH code!
    VNR is NOT using AGTH at all. And bad AGTH code could mess up the game text!

    阻止VNR向「少女騎士物語」和「Berry's」添加特殊码。
    这两个游戏根部不需要特殊码就可以工作了。

    我实在是不明白，在【文本设定】中明明已经有正确的文本了，大家为什么还要去添加特殊码！
    大家在添加新的特殊码前，请先***仔细的***检查下文本设定中的文本到底有没有和游戏相同的。
    我的意思是，***调整下文本编码，然后一个文本一个文本的看***，有没有和游戏相同的。
    另外VNR和喵翻在底层上不同。
    请***不要看都不看文本设定***，就直接把喵翻中的AGTH特殊码添加到VNR中！

7/12/2013 FRI
  * Support IVONA TTS for European languages to dub character voices.
    Thanks for molitar sama's report!

  * Make sure that you can close the left docked panel window.
    修正了左边的窗口有时候无法关闭的问题。

  * I added a FS button to the left docked panel, where you can FORCE stretching
    the game window to full screen.

    As you know, some games like RPG Maker require changing the resolution to work
    in full screen, which does not feel well, and might mess up the game's aspect.

    Some games like 「星彩のレゾナンス」 do not allow VNR to paint subtitles on
    it after switched to full screen.

    Additionally, after the game enters full screen, VNR has to restrict itself
    from obtaining the focus, which will break the game's full screen status.
    As the result, you cannot access VNR's native GUI components like context
    menus, Text Settings and Preferences.

    When that bothers you, you could try pressing the FS button to let VNR take
    the control over the game window's full screen status.
    This feature works only for certain games like RPG maker,「星彩のレゾナンス」,
    and 「レミニセンス」, but does not work well for some GDI games like 「あやかしびと」><

    Thanks for spoxxy sama's suggestion!

    在屏幕左边的框框中添加了一个【全屏】的按钮，可以强迫游戏窗口进入全屏状态。

    正如你知道的，有些游戏（比如：RGP Maker）需要改变屏幕的分辨率才可以进入全屏。
    这样不但看起来会很难看，而且还可能会毁坏游戏本身的长宽比而使人物变形。

    有些游戏（比如 「星彩のレゾナンス」）在进入全屏状态后，就不允许VNR在它的上面
    绘制字幕了。

    另外，为了避免破坏游戏的全屏状态，VNR在游戏进入全屏后不得不禁止使用Windows
    native的控件，比如右键菜单、文本设定、和使用偏好。

    当你遇到这些问题的时候，可以尝试点击左边的【全屏】按钮，来把对游戏全屏的控制
    交托给VNR。
    这个功能支持RPG maker、「星彩のレゾナンス」、和 「レミニセンス」等的部分游戏，
    但是有些游戏在被VNR全屏后会变得很丑 ><

7/11/2013 THU
  * Fixed a severe bug existing for long time that very long game text might crash VNR.
    CTRL game will not crash VNR now.
    Thanks so much to @六翼恶魔兰姆1 and 梁 sama for pin-pointing me to reproduce the issue
    by enabling text correction.

    修正了非常长的文本可能会让VNR崩溃这个存在了很久的问题。
    CTRL游戏不会再让VNR崩溃了。
    非常感谢@六翼恶魔兰姆1和梁sama关于问题的报告！

7/10/2013 WED
  * Fixed the regression that pymsime.pyd might crash VNR.
    Thanks for @molitar sama's report!
    修正了pymsime.pyd会让VNR崩溃的问题。感谢@邪客0 sama的报告！

  * The GUI of the word translation popup is slightly changed.

7/9/2013 TUE
  * Distribute MSVC redist 2008&2010 together with VNR.
    VNR is self-contained now. New users no long have to install these libraries for using VNR.

    添加了MSVC 2008和2010需要的文件。新的同学不再需要安装任何微软的软件库就可以使用VNR了。

  * The underlying GUI framework (PySide/Qt4) is updated.
    But Qt5 is still not supported by PySide.

  * Fix the bug that sometimes VNR becomes zombie process after exit.
    修正了VNR偶尔无法正常退出的问题。

  * When the user language is Chinese, always convert Simplified Chinese to Traditional
    Chinese for terms in Shared Dictionary.
    当账户语言为中文时，不论在【使用偏好/翻译】中是否有开启简繁转换，总是将共享辞书中
    简体中文的词条转换为繁体中文。
    如果你不希望使用繁体中文，那么可以将只用偏好中账户的语言由【中文】变更为【简体中文】。

7/8/2013 MON
  * Update Qt
  * Prevent VNR from adding hcode to 「媚肉の香り」, which will crash the game.
    If you find your HCODE would crash the game, please, PLEASE DON'T FORGET TO DELETE IT!
    I might block the users/ips leaving bad hcode within games as punishment!

    Again, ITH and AGTH are different. Please make sure there are NO correct texts in VNR
    before adding your AGTH code to ITH engine!

    禁止VNR向「媚肉の香り」添加会让游戏崩溃的特殊码。
    如果你发现你添加的特殊码会让游戏崩溃，请***不要忘记删除错误的特殊码***！
    我以后也许会屏蔽遗留了错误特殊码的用户和IP作为惩罚！

    另外，AGTH和ITH是不同的。请先仔细检查【文本设定】中的文本，在确定没有正确文本前
    不要将AGTH的特殊码直接添加到ITH中！

  * The 「speak」 button in the left-docked option window is moved to the top of
    the text box and displayed as 「♪」.
    左边选项中的【朗读】按钮移动到了文本框框的顶端，显示为【♪】。

  * 修正了VoiceText的中文TTS无法朗读繁体中文的问题。

7/7/2013 SUN
  * Bug fix to auto-hide the docked option window.
    修正了左边的选项框框有时候不能自动隐藏的问题。

  * Add a button to the option window to show context menu in case new users cannot find it.
    在左边的悬浮窗中添加【菜单】按钮来显示菜单，以避免新的同学找不到菜单。

  * The green spinner is moved to the left bottom corner.
    It's color and width indicates how many parallel threads are running in the background.
    For example, when the spinner becomes red, you might want to wait a few seconds until
    VNR finishes the scheduled tasks.

    绿色的圆圈移动到左下角。
    圆圈的颜色和宽度表明在后台运行的并行任务的个数。
    比如，当圆圈变得又红又粗时，你可以等待几秒钟，直到VNR完成当前的任务。

  * I added some help text reading the name of the text threads, as follows:
      Each text thread has a name to identify what kind of procedure is being hooked,
      such as "User-defined", "CIRCUS", and "TextOutA".
      Usually, you can find the correct text threads according to their names.
      There are three kinds of thread names, as follows:

      - User-defined:
        This thread is generated by user-defined hcode.
        The thread name is rendered in red.

      - The name does not end with "A" and "W" like "CIRCUS":
        This thread is specific to this kind of game engine.
        The thread name is rendered in blue.

      - The name ends with "A" or "W" like "TextOutA":
        This thread is general to all games.
        The thread name is rendered in black.

      When there are user-defined threads, they usually (90%) have the correct texts.
      Otherwise, if there are threads whose names are ends with neither with "A" nor "W",
      they have more chances to be correct than threads ending with either "A" or "W".

  * 我在文本设定的帮助中添加了一点关于文本名字的文字，如下：

      每个文本框框上面都有它的名字，比如“User-defined”，“CIRCUS”，和“TextOutA”.
      这些名字是用来表明文本的来源的。
      你通常可以通过文本的名字来判断他们是否正确呢。
      根据不同的名字，文本可分为如下三类：

      - “User-defined”：
        这类文本是由特殊码生成的。
        文本的名字会被渲染为红色。

      - 不是以“A”或“W”结尾的名字，比如“CIRCUS”：
        这个文本来自这个游戏特有的引擎。
        文本的名字会被渲染为蓝色。

      - 以“A”或“W”结尾的文本，比如“TextOutA”：
        这个文本来自大多数游戏共有的函数。
        文本的名字会被渲染为黑色。

      当存在User-defined的文本时，那么它通常（90%）包含正确的文本呢。
      另外那么比起“A”或“W”结尾的文本，名字不是以“A”或“W”结尾的文本有更大的可能性是正确的呢。

7/6/2013 SAT
  * The blue button is removed. You can right click the floating option window to access the context menu.
    移除了左下蓝色的按钮。你可以右键点击游戏左边的选项窗口来访问以前的右键菜单。

  * Improve JBeijing, Dr.eye and ezTrans by splitting Japanese into sentences.
    JBeijing和Dr.eye会被分割翻译。
    人名和短句的翻译会被缓冲，以缓解分割翻译造成的JBeijing翻译时间加长的问题。

  * Fixed the regression that the "repetition removal" option in Text Settings was not saved.

  * Improve garbage text filtering, esp. for 「瑠璃色の雪」.
    改进了对垃圾字符的过滤。感谢梁sama的报告！

  * Bing replaces Yahoo as the default online translator.
    Yahoo! Honyaku is removed because its translation is almost the same as infoseek,
    except it does not support Vietnamese, Thai, and Indonesian.
    The reason I made Bing as the default is not that bing is always better than Infoseek,
    but it supports all languages.

    微软Bing取代雅虎！成为默认的翻译器。
    移除雅虎！主要是因为雅虎的翻译和Infoseek几乎相同，而且雅虎中文是半角而Infoseek是全角，
    感觉还不如Infoseek。
    另外Bing支持英中翻译，可以帮助翻译英文化的游戏。

  * The left docked option window is moved out of the game window.
    左边的选项窗口移动到游戏外面了。

7/5/2013 FRI
  * By default, VNR will split the long game text into sentences in different lines.
    You can disable this behavior by toggling [Option/Purge new lines].
    默认时，VNR会按照标点将长句子分割为不同的行。
    如果你不希望这样，点击左边的【选项/去除文本分行】可以取消文本中的分行。
    感谢@夢見feat瑠璃 sama的建议！

  * Bug fix for English machine translators.
    改进了百度翻译对标点的识别。
    由于百度不能识别日文的标点（如【】「」『』）， 这些标点会扰乱翻译的质量。
    修正后，VNR在翻译前会先将标点转换为引号， 在翻译后再转换回来。

  * Game text will be splitted into sentences before sending to online translators.
    This might slowdown translation time a little bit.
    But I feel translation quality might be more important than the spent time.
    在线翻译会被分割为段逐个翻译。
    感谢@鞭打妹妹 sama的建议！

  * Online translators will be applied in parallel instead of one by one.
    The appearing order of online translators becomes undefined.

  * Automatically remove illegal characters (ASCII code < 32) from the game text.
    自动移除ASCII值小于32的垃圾字符。

  * I added an option to Text Settings to allow capturing all user-defined threads generated by hcode.
    Games including 「Bunny Black 3」, 「らぶおぶ恋愛皇帝ofLOVE!」and 「らぶらぼ」 should work now.
    Here's the text copied from the help of Text Settings:
        The text threads generated by user-defined hook code is named as "User-defined".
        The text threads are identified by their addresses in VNR.
        But the address of the user-defined thread might vary on different launches.
        When that happens, you can choose to keep all user-defined threads.

    在【文本设定】中添加了保留所有User-defined文本的选项。
    包括「Bunny Black 3」，「らぶおぶ恋愛皇帝ofLOVE!」，和「らぶらぼ」在内的游戏不再需要
    每次启动都调整文本设定了。
    下面是文本设定的帮助中的描述：
        特殊碼生成的文本的名稱一定會是【User-defined】。
        VNR是通過文本的地址來定位文本的。
        但是自定義特殊碼的文本有可能每次啟動遊戲都不同。
        這個問題可以通過開啟【保留所有特殊碼生成的文本】的選項來解決。

  * Able to monitor clipboard in Text Reader.
    可以使用文本翻译器来翻译剪贴板中的日文。
    感谢@六翼恶魔兰姆1sama的建议！

7/4/2013 THU
  * Block following wrong hook codes for 「幻創のイデア」。
    屏蔽如下「幻創のイデア」的错误的特殊码。
    - /HB8*0:D4@0:GDI32.dll:GetTextExtentPoint32A
    - /HA-C:40@0:GDI32.dll:GetTextMetricsA
    - /HA8@394F8:gdi32.dll

  　This game DOES NOT REQUIRE HCODE AT ALL! Please stop adding hcode to it!
    这个游戏根本不需要特殊码，请大家不要再添加特殊码了！

    Note: ITH and AGTH are different. Many games where AGTH requires hcode, do NOT need hcode in ITH.
    On the contrary, a correct AGTH hcode might mess up text detection in ITH.
    So, before adding AGTH hcode to VNR, PLEASE FIRST CHECK IF THERE ARE ALREADY CORRECT TEXT IN TEXT SETTINGS!!
    Additionally, if you find your AGTH hcode does not work, PLEASE DON'T FORGET TO DELETE IT IN VNR!!

    另外，如果大家发现自己添加的特殊码无法工作或是没有效果，**不要忘记删除它**！

  * You can access the context menu by right-clicking the left docked panel in case the blue button is not visible.
    右键点击左边的选项栏会出现和蓝色按钮一样的右键菜单。

  * Show user avatar in Preferences.
  * Bug fix for Text Reader.
  * The left docked panel changed a little bit.
  * I removed the "Φ" button, which I feel was causing more issues and confusing than being helpful.
    If you really need that button, feel free to complain to me!
  * The English names of the thread categorization in Text Settings changed to shorter ones.
    The functionality remains the same.
    The current categorization follows:
    - Dialog (old name: scenario)
    - Chara (old name: character)
    - Other (old name: extra)
    - Ignore (old name: ignored)

7/3/2013 WED
  * Shared dictionary terms and comments in the tables will be rendered by the colors of their creators.
    An exception is that the term whose language is Japanese or whose target is original text will be
    in red color, because those two kinds of terms could impact a large number of users.
    You might want to avoid using these two terms unless you are pretty sure what you are doing.

7/2/2013 TUE
  * I added a new feature (Text Reader) to translate hovered text as requested by @Denobo.
    Here's a screenshot for BL game 「聖Crain学園DX」 that could demonstrate how it works:

        http://i859.photobucket.com/albums/ab155/jichi/crain_zpsbfe74f96.png

    - Intro
      You can open Text Reader on the right side of the Spring Board.
      I am hoping it could ease reading Japanese text in website, blog, or light novels.
      For example, it can translate hovered Japanese Wikipedia articles in Firefox,
      online visual novels, or light novel paragraphs in Notepad.
      This feature is in pre-alpha stage and has only primitive functionality.
      Any suggestions are welcomed!
      As it is not limited to VNs, Text Reader might be forked out of VNR into another
      stand-alone app in the future.

    - Limitations
      Only the text in traditional NORMAL window can be translated.
      The current Text Reader cannot detect the window text that is rendered in non-native way.
      For example, Text Reader can detect texts in game's menus, buttons, and dialogs,
      but cannot detect texts rendered by GDI or DirectX.
      Application-wise, Text Reader can work with Notepad, Internet Explore, and Firefox.
      But it does not support Google Chrome and Foxit Reader.

    添加了可以翻译窗口文本的日文文本阅读器（Text Reader）。
    这里有一个在线VN游戏的截图：

        http://i859.photobucket.com/albums/ab155/jichi/crain_zpsbfe74f96.png

    我希望这个功能可以帮助阅读日文的网站，博客，在线的VN，以及轻小说的文本。
    比如，Text Reader可以翻译Firefox和Notepad中的全部日文文本。
    这个功能还处在alpha阶段。欢迎大家的建议和抱怨！

  * I added some help text to Text Settings regarding how text font could impact text detection, as follows:

        If there is no game text appearing, adjusting game font might help.
        For example, VNR could not detect the game text in 「時計仕掛けのレイライン」
        unless you have changed its font from MS Mincho (MS明朝) to MS Gothic (MSゴシック).

    我在文本设定的帮助中添加了一些文字来解释游戏字体对文本的影响，如下：

        如果沒有任何文本出現，調整下遊戲的字體也許可以解決這個問題。
        比如「時計仕掛けのレイライン」，只有在將遊戲設置中的字體從MS Mincho（MS明朝）
        變更為MS Gothic（MSゴシック），VNR才能夠提取到正確的文本。

6/30/2013 SUN
  * Add an option in Voice Settings to toggle whether dub voices for newly discovered characters.
    Thanks for @DinX's suggestion!

  * Fixed the issue that VNR sometimes failed to find the correct window when it was restored from being minimized.
    Thanks for @kylin130's report!

    修正了部分游戏（如：「恋の話と」）在最小化后，VNR找到错误的游戏窗口的问题。
    感谢@kylin130 sama的报告！

6/29/2013 SAT
  * You can inspect the basic information of users for shared dictionary and subtitles.
    可以显示共享辞书和字幕中些其他同学简单的信息。

  * Make sure the new line ("\n") in machine translation and user-contributed subtitles will generate a '<br/>'.
    保证渲染在机翻和人工翻译字幕中的分行（替换"\n"为"<br/>"）。

  * VNR can use non-Japanese TTS to read machine/shared subtitles now.
    If you are too lazy to read subtitles on the screen, you could install TTS
    in your own language, and turn on "Speak subtitles" in the left docked panel.
    Then, VNR will read the translation for you in your language.

    btw, VoiceText from Korea has support for many languages like VoiceText Paul for
    English, which is also used by Stephen Hawking hakase.
    You can add them to VNR as non-Japanese TTS.

    Here's a demo video that might give you an idea how dubbed games look like in VNR:
        http://www.youtube.com/watch?v=dC0qEoV3XvI

    VNR可以使用中文语音合成来读出机翻和其他同学的人工翻译的字幕了。
    首先需要安装下中文的TTS（比如VoiceText Hui（女生）和Liang（男生）），
    然后在漂浮的设定栏中选定【中文字幕配音】就可以了。
    下边是为「恋と選挙とチョコレート」添加了中文配音后的演示动画。
    感谢@maxrc sama的中文字幕！
        http://v.youku.com/v_show/id_XNTc3MTQ4NTcy.html

6/28/2013 FRI
  * Update Baidu Chinese translator.
    更新了百度在线翻译。
    因为百度再次更换了在线翻译的API，旧版本VNR中的百度翻译无法使用了呢。

  * Excite is replaced by Yahoo! Honyaku.
    Excite被雅虎！翻译替换。

  * Performance improved to process large number of parallel text threads.

  * User comments will be rendered with the submitter's avatar when VNR has Internet access.
    在VNR有网络连接时，社区评论的旁边会显示发布者的头像。

  * You can specify the color to render your subtitles shared to others in Preferences/Account.
    在【使用偏好/账户】中可以指定你希望别人看到的你的人工字幕的颜色。

  * I add some help text in Text Settings to explain how to use Source Term in
    the Shared Dictionary to remove game-specific garbage characters.
    The following text are copied from the help of Text Settings:

      Sometimes, there might be garbage characters in the detected game text.
      You can use the Shared Dictionary to remove the garbage text.
      For example, in 「らぶらぼ」, there are redundant "^[^C" at the end of each sentence.
      Google tells us that the ASCII code of "^[" is "0x1b", and that of "^C" is "0x03".
      Then, you can add following term to the Shared Dictionary to remove those two characters:
      * Target: Source text
      * Language: Japanese
      * Regular expression: YES
      * Game-specific: YES
      * Pattern: \x1b\x03
      * Translation: (leave this column empty)
      * Comment: Remove garbage characters "^[^C"

  我在【文本设定】的帮助中，添加了一些文字来解释如何使用【共享辞书】来移除垃圾字符的帮助。
  下面这些是【文本设定】的帮助中的文字：

      有的遊戲的文本中含有多餘的垃圾字符。 這時，可以使用【共享辭書】來移除不需要的文字。
      比如，在遊戲「らぶらぼ」中，每句話的末尾都有多餘的"^[^C"。 Google告訴我們，
      "^["字符的ASCII數值是"0x1b"， 而"^C"字符的數值是"0x03"。
      隨后，你可以在共享辭書中添加如下詞條來移除這兩個字符：
      * 目標：原文
      * 語言：日文
      * 正則表達：是
      * 遊戲固有：是
      * 式樣：\x1b\x03
      * 翻譯：（空着什麼都不填）
      * 評論：移除垃圾字符"^[^C"

6/27/2013 THU
  * You can assign colors to different translators in Preferences/Text.
    在【使用偏好/文本】中可以为不同翻译指定不同的颜色。

  * I changed the default font to DF Girl (少女体).
    DF Girl is designed by Chinese. It covers not only English, but also Japanese, Chinese, Korean,
    and many other alphabets. I feel it might be a good fit for rendering a text in mixed languages.
    If you don't like it, you can change to other fonts in Preferences/Text.
    If you prefer other fonts for your language, feel free to let me know, and
    I will set your flavor as VNR's default.

    VNR默认的字体修改为了しょ、しょ、少女体 ><
    如果你不喜欢这个字体，可以在【使用偏好/文本】中将中文的字体修改为以前的YouYuan（幼圆）体。
    如果你更喜欢其他的字体，可以email我，我可以把它设定为VNR的默认字体。

6/26/2013 WED
  * Add user-defined dictionary to JBeijing Chinese translator.
    添加了@好大个的鸭梨整理的自定义辞书。

  * Prevent VNR from hooking with Xunlei and Windows system process DWM.
    Please do not add non-game applications to VNR!
    If this happens again, I might have to block the user doing this in the future.
    The IP address adding DWM to VNR follows as a punishment!
        122.150.208.* (Last month from Hoppers Crossing, Victoria, Australia)
    禁止VNR与迅雷和系统进程DWM同步。
    感谢@六翼恶魔兰姆1的报告！
    希望大家不要将非游戏的程序添加到VNR中。
    如果这样的事再次发生，我将不得不屏蔽添加非游戏程序到VNR的账户。
    添加迅雷到VNR的IP如下，作为惩罚：
        118.251.198.*（湖南向塘，这个月）

6/25/2013 TUE
  * Bug fix for rendering translation, danmaku, and comments.
  * Support extracting character names for games like 「恋と選挙とチョコレート」.
    可以为「恋と選挙とチョコレート」之类的游戏提取人物名称了。
    非常感谢@在下梁众华的报告！

  * Prevent VNR from blocking Japanese language which might cause problems.
    禁止VNR屏蔽日本语。

6/24/2013 MON
  * You can add new games to VNR using Game Wizard without Internet access now.
    在离线状态下或者VNR的服务器连接不畅时，不会影响添加新游戏了。

  * Update Baidu Chinese translator.
    更新了百度在线翻译。
    因为百度更换了在线翻译的API，旧版本VNR中的百度翻译无法使用了呢。

  * Prevent VNR from hooking to the following applications.
    PLEASE, PLEASE DO NOT TRY TO ADD NON-GAME APPLICATIONS TO VNR!
    - Baidu Player
    - Media Info
    - MPC Player
    - Pot Player
    - QQ Player
    - Sogou Explorer
    - Storm Player
    - The World Browser
    - Xunlei Kankan
    - Youku Client
    阻止VNR和上述程序同步。
    希望大家不要将非游戏的程序添加到VNR中！
    希望大家不要将非游戏的程序添加到VNR中！

  * MSIME correction will not be applied to the text for TTS.
    微软日文输入法的拼写纠正不会应用到语音合成的文本上。
    感谢@在下梁众华的建议！

  * Bug fix for extracting character names for games like 「女剣闘士ミネルヴァ」.
    修正了对部分游戏人物名称的提取。
    感谢@在下梁众华的报告！

  * I just notice that there are a couple of games that will temporarily rename their
    executables (*.exe) to *.000 after launched.
    There are only 22 known games that fall in to such category, but some of them are famous,
    including「月光のカルネヴァーレ」,「Little Busters」,「聖なるかな」, and 「最果てのイマ」.
    You can add these games to VNR now.

6/22/2013 SAT
  * Fixed the issue that character names sometimes didn't show up.
  * Fixed the issue that MSIME sometimes failed to parse Japanese text.

  * You can specify the TTS voice to use for specific game characters.
    As you know, in many games, not all characters are covered by voice actors.
    You can use this feature to add voices to characters that do not have CVs.
    You can click the Help button in Voice Settings for more details.

    添加了使用TTS为指定人物配音的功能。
    因为很多游戏中，部分角色是没有声优的配音的（比如主角和旁白）。
    这个新的功能可以为没有CV的角色指定声音。
    详情请参看【语音设定】中的【帮助】。

  * I added a new kind of target, "original text", to the Shared Dictionary.
    It is similar to "Japanese" terms, except it will effect not only machine translation,
    but all follow-up text processing.
    It is not for improving machine translation, but for fixing game texts received from ITH.
    For example, if the game text contains garbage characters, you can use such term
    to remove garbages before all text processing.

    btw., I am running of English vocabulary. If you have better words to represent "Japanese"
    and "Original text", feel free to let me know, and I will modify the current terminologies.

    在共享辞书中添加了【原文】词条。该词条拥有最高的优先级。
    它和日文词条很相似，但是它不只会影响机翻，而且会影响到之后所有的文本处理。
    比如，如果游戏的原文中包含垃圾的字符，你可以使用该词条来去除垃圾。

  I am so sorry that VNR's server periodically went down on weekends this month.
  When the server is down, you might experience issues while downloading VNR, updating VNR,
  adding new games, modifying the Shared Dictionary, or submitting subtitles and comments.
  I have complained to the service provider in Japan several times, but the issue remains
  and seems to become worse. I am planning to switch to other server providers after
  the current lease expires (which will be 105 days later ...).
  Before that, I will modify VNR to allow adding new games while offline to ease the issue.
  I am really sorry for the inconvenience! m(_ _)m

  非常抱歉，这个月不知道为什么，每到周末VNR的服务器都会间歇的无法访问。
  在服务器无法访问时，VNR就无法正常的下载，更新，添加游戏，修改共享辞书，以及提交字幕和弹幕了呢。
  我已经向日本的服务商抱怨过很多次了，但是问题仍旧存在而且越来越严重。
  我打算在三个月后，当前的契约期满后，更换服务商来解决这个问题。
  在这之前，我会修改VNR来允许在离线状态时添加新的游戏，希望能够缓解这个问题。
  对给大家带来的不便，真的非常的抱歉！m(_ _)m

6/20/2013 THU
  * Add language support for Indonesian.
    Currently, Infoseek.co.jp is the only machine translator that supports this language.
  * You can specify the font's filling color in Preferences/Text.
    VNR's default color is 'snow' ('#ffafaf').
    For example, now you can revert text and background colors from white-on-black to black-on-white.

    在【使用偏好/文本】中可以指定字体填充的颜色。默认为雪白色（#ffafaf）。

  * I changed the categorization for text threads in Text Settings.
    As you know, previously it was Primary/Secondary/Ignored.
    The current categorization follows:
    - Scenario (the same as Primary): This text thread is the scenario or dialogue thread.
    - Character: The contents are names of game characters.
    - Extra (similar to Secondary): The text thread is neither scenario nor character, but still translate it.
    - Ignored (the same as Ignored): Do not translate this text thread.

    If you don't want to see the character names, you can disable it in the left docked panel.
    But please don't remove existing correct character name thread in Text Settings.
    I am planning to use the character thread to enable other features.
    Because the thread settings are shared by all users, if you remove character thread in Text Settings,
    it might impact other users.

    我修改了下【文本设定】中对游戏文本的分类。
    正如你知道的，以前的分类方式是【主要】、【次要】和【忽略】。
    而新的分类方式为：
    - 【对白】：和以前的【主要】相同，为游戏中主要的对话。
    - 【人物】：文本为游戏中人物的姓名。
    - 【其他】：和以前【次要】相似，为其他的对话。
    - 【忽略】：不要翻译这些文字。

    如果你不希望看到人物的姓名，可以在游戏窗口左边的悬浮设定中禁止【人物姓名】。
    但是请不要直接在【文本设定】中删除正确的人物文本。
    因为文本设定是共享的，在【文本设定】中删除文本可能会影响到其他的同学呢。

6/19/2013 WED
  * I changed the service port from 8080 to 80, which is more common.
    The old versions of VNR will not work properly any more.
    Sorry for the inconvenience for update!

    我将VNR的服务的端口从8080变更为80。
    老版本的VNR可能不能够正常使用了呢。
    更给你带来不便，非常的抱歉！

6/15/2013 SAT
  * Fonts to render Japanese and subtitles can be modified in Preferences/Text.
    If your favorite font is more popular than VNR's default one in your country,
    feel free to let me know and I will change VNR's default font to your favorite one.

    在【使用偏好/文本】中，可以修改显示文本的字体。

6/14/2013 FRI
  * Fix the issue that the game path resolved from shortcut contains "~".
    Thanks for @toze's report!
  * Support using Wadoku EPWING dictionary to provide Japanese-German word translation.
    Wadoku is free, and you can get it from wadoku.de:
       http://www.wadoku.de/wiki/display/WAD/Downloads+und+Links
    Here's the direct download link to the latest version:
       http://www.wadoku.de/downloads/epwing/wadoku_epwing_jan2012.zip
    If you don't need this, you can block German language in Preferences/i18n.

6/13/2013 THU
  * Fix the issue to resolve game shortcut that contains Japanese characters on English-localed OS.
  * Bound the text box in full screen mode.
    Thanks for Chris' suggestion!

6/12/2013 WED
  * Fix the string decoding issue when handle *.lnk on non-Japanese Windows.
  * After installing a game, usually there will be a shortcut on your Desktop/.
    You can simply drag-drop that shortcut (*.lnk) to Spring Board to add the game.
    By default, VNR will launch the game file dropped to the Spring Board.
    But you can disable this behavior in Preferences/Launch.
    Thanks for @toze's suggestion!

    Note: Drag-drop won't work when VNR is launched as Administrator.

    在游戏安装完成后，通常会在你的桌面留下启动的快捷方式。
    你可以将快捷方式**拖曳**到SpringBoard上来添加游戏。
    VNR默认会立即启动新添加的游戏。
    不过你可以在【使用偏好/启动】中禁止VNR立刻启动游戏。

    注：拖曳功能在VNR以管理员身份运行时是无效的。

6/11/2013 TUE
  * Fix the issue that non Japanese characters in game text might crash English/Korean offline translators.
  * VNR supports game path to have non-ascii Japanese characters on non-Japanese OS now.
    But it is still NOT recommended to have Japanese characters in the game path, which might crash the
    game on the startup.

    游戏的路径可以包含日文了。
    尽管如此，如果你没有日文的操作系统，还是建议你不要在路径中包含日文。因为很多日文游戏会因此而崩溃的。

  * Fix window title text decoding issue on non-Japanese Windows.
  * Bugfix for ezTrans Korean translator.
    Thanks for @foolmaker's help!

6/10/2013 MON
  * Fix the regression that removing Shared Dictionary terms might crash VNR.
    修正了移除字典条目后可能会导致VNR崩溃的bug。
    如果这个问题给你带来了不便，非常的抱歉！m(_ _)m

6/9/2013 SUN
  * Fix the issue that launching with LocaleEmulator option cannot be saved when Editing Game Properties.
    Thanks for @toze's report!

  * I just noticed that offline TTS might NOT work properly when VNR is launched with admin privileges.
    Currently, I haven't found a way to fix the conflicts between TTS and admin privileges.

    以管理会员权限运行VNR可能会造成离线的语音合成（TTS）的功能失效。
    这个问题现在还没有找到解决的方法。

6/8/2013 SAT
  * You can click any column to sort entries in Shared Dictionary or Subtitle Editor.
  * Add a language chart in Statistics dialog.
  * Fix the issue that sometimes in Shared Dictionary game ID cannot be saved.
    Thanks for @DinX's report!
  * Fix the bug that subtitle's comments were not saved.
  * Fix the bug in Subtitle Editor to remove/duplicate subs.
  * Speed-up XML processing. Fix the slow subtitle loading issue in DC3.
  * By default, VNR will launch the game in Japanese Time Zone.
    You can disable this behavior in Preferences/Launch.

6/7/2013 FRI
  * I removed Japanese characters from the update scripts to avoid issues on English OS.
    If the updater of VNR still malfunctions, feel free to complains to me!

  * Support ezTrans XP offline Japanese-Korean translator.
    Thanks a lot for @foolmaker's suggestion and pointing me to Taeho Oh's library!
    If you don't need Korean language support, you can block Korean in Preferences/i18n.

    添加了对ezTrans XP离线日韩翻译软件的支持。
    如果你并不需要对韩语的支持，可以在【使用偏好/国际化】中选择屏蔽韩语。

6/6/2013 THU
  * Subtitle Maker is improved.

6/5/2013 WED
  * Improve XML processing speed.

6/4/2013 TUE
  * Allow editing subtitles without launching the game.
  * Make sure that the terms in the Shared Dictionary are sorted by the length of their patterns.
    Thanks for @katana's bug report!

6/2/2013 SUN
  * Prevent VNR from hooking to QQBrowser.
    禁止VNR和QQ浏览器同步。感谢@goodboyye的报告！
  * You can export subtitles or existing dictionary entries to XML by clicking the Export button.
  * Fix the issue of the "Text to clibpoard" option.
    Thanks for @basicvnlts's report!
  * Add Chinese translation for Subtitle Editor's help.
    为字幕编辑器的帮助添加了中文翻译。其中解释了VNR人工字幕的部分工作原理。

6/1/2013 SAT
  * The "Copy when click" option in the dock is restored as requested by @sorc.
  * Backlog is renamed to Subtitle Creator. Nothing changed there.
  * I add a Subtitle Editor for revising/editing subtitles like Shared Dictionary.
    You can find more details by clicking the Help button in Subtitle Editor.
    It explains how to sub a visual novel in VNR.

5/31/2013 FRI
  * Support using LocaleSwitch to change game locale.
    LocaleSwitch is distributed together with VNR.

    可以使用LocaleSwitch改变游戏的编码了。LocaleSwitch已经放入VNR中了。

  * Fix the issue that sometimes changes in Shared Dictionary couldn't be saved.
    Thanks for @DinX's report!

5/30/2013 FRI
  * Fix some font rendering issues for European languages.
  * Add translation support for Vietnamese and Thai.
    Currently, Infoseek.co.jp is the only translator that supports these two languages.

  * Fix a JBeijing translation issue that shows unescaped numbers.
    修正了J北京中字符会显示为_数字_的问题。
    感谢@goodboyye的报告！
    又出现了此类问题，非常的抱歉 m(_ _)m

5/29/2013 WED
  * Add some help descriptions for Text Settings.
    为【文本设定】添加了一些帮助的信息。

  * Render GUI with Apple's marble background.
    修改了界面背景。

5/28/2013 TUE
  * Add a context menu item to upload local cached game database.
    在右键菜单中添加了更新本地缓冲的游戏数据库的选项。

  * Fix the broken STOP button in Game Wizard. Thanks @tobira's report!
    修正了【游戏向导】中【停止】按钮无法按下的问题。感谢@tobira的报告！

5/27/2013 MON
  * Minor bug fix.

5/25/2013 SAT
  * Fix a JBeijing translation issue that shows unescaped numbers.
    修正了J北京中字符会显示为(数字)的问题。
    感谢@goodboyye的报告！

  * Prevent VNR from applying user-defined hook to DC3.
    That game does NOT require user-defined hook code. And please stop adding hook code to it.

  * Infoseek replaces Excite as the default online translator.
    Infoseek's translation quality is not necessarily better than Excite.
    I made this change only because Excite.co.jp was blocked in Mainland China and could hang VNR there.

  * Prevent VNR from hooking to web browsers.
    禁止VNR与遨游之类的浏览器同步。
    希望大家不要将浏览器作为游戏添加到VNR中！

5/24/2013 FRI
  * Add an option to the left dock to copy game text to the clipboard, as requested by @basicvnlts.

  * Fix the issue that VNR might try to launch the game again and again if the game doesn't start in time.
    Thanks for @katana's report!
    修正了当游戏启动很慢时，VNR会尝试不断的打开游戏的问题。
    感谢@katana的报告！

  * Put machine translation into threads, so that it will not hang VNR.
    Especially when Windows Text Translation is enabled.
    修正了【翻译窗口文本】开启时，VNR可能会卡住的问题。

  * Fix the "game text is too long" issue for light's 「Zero Infinity」.
    修正了light社的「Zero Infinity」中【游戏文本过长】的问题。

  * Japanese game text will be rendered sentence by sentenceà, so that it is easier to read.
    显示日文原文时会按照标点分割为句子，以便于阅读。

5/23/2013 THU
  * Allow the terms in the Shared Dictionary to be game-specific.
    在共享辞书中，可以添加仅对特定游戏有效（游戏固有）的翻译词条。

  * Allow utilizing the Shared Dictionary to rewrite texts for TTS as requested by @DinX.

5/22/2013 WED
  * Improve English machine translation by splitting the text into sentences.
    Thanks for suggestions from @DinX and @spoxxy!
  * Add a few Chinese translation for notifications.
    添加了一些中文翻译。

5/20/2013 MON
  * Modify the text threads aggregation rules to apply only to games from light.co.jp.
  * Fix the thread detection issue for Zero Infinity. Thanks for @CaoNiMaGeBi's report!
  * Add support for Dr.eye Chinese offline translator.
    If you are playing a Chinese galgame, Dr.eye can also help translate Chinese to English.

    添加了对Dr.eye译典通离线翻译的支持。
    使用方法和JBeijing相似：在【使用偏好/位置】中设定位置，然后在【使用偏好/翻译】中开启就可以了。
    和JBeijing不同的是，Dr.eye同时支持日中，日英和中英翻译。
    如果你需要play英文的galgame，可以使用Dr.eye来将英文对白翻译为中文。

  * Fix the issue of sometimes showing unescaped {numbers} in the translation.
    修正了翻译中有时会出现{数字}的问题。

  * If the online translation is delayed, it will be rendered in the previous page instead of the current one.
    如果在线翻译太慢了，它会被放到前一页中，而不会被放到当前页上。
    感谢@杀死妹妹的报告！

5/19/2013 SUN
 * Add a useless feature that renders comments like nico's danmaku floating on the top of the game.
   You can drag or edit danmaku just like subtitles.
   As it is useless, if it bothers you, you can disable danmaku support in Preferences/Features.

   添加了一个无用的功能，可以持将评论渲染成nico的弹幕一样，在游戏顶端浮动显示。
   和人工字幕相同，可以拖动和编辑已发出的的弹幕。
   如果你很讨厌这个功能，可以在【使用偏好/功能】中从底层禁用弹幕支持。

 * I added some heuristics to aggregate text threads.
   As reported by @CaoNiMaGeBi, VNR sometimes split the same text into different threads.
   I found this issue exists in many games from light and C:Drive.
   So, I added some code to recognize and aggregate the split text threads.
   But I am not sure if it could have side effects on other games.
   If my changes break your old games, please let me know!

   修改了下识别文本的方式，以解决部分游戏文本错误分裂的问题。
   如果新的版本造成过去可以提取文本的游戏无法提取文本，请向我抱怨！
   非常感谢@CaoNiMaGeBi的报告！

 * Add Excite online translation support.
   Excite replaces Infoseek as the default online translator.
   Bing online translation support is removed.

   添加Excite在线翻译的支持。
   Excite代替Infoseek为默认的在线翻译器。
   移除了对微软必应翻译的支持。
   感谢@63232128的建议！

 * Add support to translate visual novel other than Japanese.
   I mean, you can use VNR to translator a, say, Chinese galgame to English.
   You can specify the language of the game in Text Threads.
   However, Infoseek is the only translator in VNR that supports non-Japanese
   multilingual translation. If you want to translate a non-Japanese game,
   don't forget to turn on Infoseek in Preferences/Translation!
   Thanks for @tobira's suggestion!

   添加了对非日文游戏的支持。比如，可以使用VNR来翻译英文的galgame为中文。
   启动游戏后，在【文本设定】中修改游戏的语言为英文就可以了。
   但是，当前VNR中只有Infoseek支持非日本语到中文的翻译。
   如果你需要翻译英文游戏的话，不要忘记在【使用偏好/翻译】中开启Infoseek！

 * Add Baidu online translation support.
   添加对百度中文日文英文翻译的支持。

5/17/2013 FRI
 * Microsoft online translator support is restored.
   恢复了对微软在线翻译的支持。

 * Rewrite a few GUI rendering code with Twitter Bootstrap theme.
   使用Twitter Bootstrap主题改进了部分界面。

 * "Game Settings" is renamed to "Text Settings". The functionalities are the same.
   【游戏设定】改名为【文本设定】。功能没有变化。

5/16/2013 THU
 * Check whether Microsoft onling translator is running out of quota.
   It seems that many users were using Microsoft translator , and VNR has run out of
   free quota this month. The translator will not be available until next month TT
   检查微软在线翻译是否过期。由于使用的人过多，VNR已经用完了这个月的免费的流量。
   只好等到下个月才能继续使用微软翻译了 TT

 * You can edit some game settings in the SpringBoard before the game is launched.
   在SpringBoard中可以编辑一部分游戏属性，而不再需要启动游戏。

5/15/2013 WED
 * Case-sensitivity and BBCode options are removed from Shared Dictionaries to make text processing faster.
   I found few people are using them. If this feature is important to you, just let me know!

5/6/2013 MON
 * You can block specific languages in Preferences/i18n.
   For example, if you select to block "Chinese", VNR will not show comments and subtitles in Chinese.
   Also, Chinese-specific settings in Preferences will become hidden after restart.
   Thanks for suggestions from Saru Wakaranai!

   在【使用偏好/国际化】中可以选择屏蔽其他国家的语言。
   比如，如果选定屏蔽【英语】，那么英语的评论和字幕就不会显示了。
   另外，【使用偏好】中和英语有关的设定在下次启动时也会隐藏。
   感谢Saru Wakaranai的建议！

5/4/2013 SAT
 * Terms in the shared directory are sorted based on the length of the pattern.
   共享辞书中的词条在使用时会按词条长度排序。感谢@诸葛秋的建议！
 * You can adjust game-specific loader (such like NTLEA) in Game Settings.
   在【游戏设定】中可以为游戏单独指定启动方式。感谢@微热秋刀鱼的建议！
 * Support using Locale Emulator to change game locale to Japanese.
   Locale Emulator is free, and you can get it here:
     http://www.hongfire.com/forum/showthread.php/418962-Locale-Emulator-another-tool-for-japanese-locale-emulation

   Locale Emulator (LE) is similar to NTLEA. It is not always better, but it is said to have
   better support for Windows 7/8. As NTLEA is dead, I feel LE is the future.
   LE is open source on Github. It is written in C# with WPF, comparing to NTLEA which is
   written in assembly orz. So, even if the author drops the project when he is busy, or get
   kidnapped by UFO, I believe another hero could come to help and keep the project long alive
   for future Windows.

   添加了对Locale Emulator（LE）的支持。感谢@微热秋刀鱼的建议！
   LE和NTLEA相似。尽管现阶段LE并不总是优于NTLEA，但是LE对Windows 7/8的支持要更好。
   由于NTLEA已经很久没有更新了，我相信开源的LE会成为未来。
   LE可以在这里免费下载：
       http://bbs.sumisora.org/read.php?tid=11045407

5/1/2013 WED
 * You can adjust the TTS voice speed in Preferences/Speech.
   Thanks to @zero7510's suggestion!

   在【使用偏好/語音】中可以調整語音合成的朗讀速度。
   感謝@zero7510的建議！

4/30/2013 TUE
 * Window text translation is disabled by default.
 * Clicking the "X" button in the left docked panel will stop VNR from listening to game text.
   點擊左邊懸浮的【X】按鈕會停止接收遊戲文本。

4/29/2013 MON
 * Fix the regression when translating「魔導巧殻」.
   修正了【魔導巧殻】翻譯的問題。
   如果之前給你帶來不便，非常抱歉！m(_ _)m

4/27/2013 SAT
 * Text-to-speech (TTS) function improved. Thanks to @DinX's suggestion!
   I made a demo video for VNR+TTS here:
       http://www.youtube.com/watch?v=CPmOc2Ktfy4
   If you are using VNR to learn Japanese, TTS might help, esp. when you are in a stage that
   you can understand Japanese voice but not read the text.

   改進了語音合成（TTS）。感謝@DinX的建議！
   這裡是關於TTS使用動畫：
       http://www.youtube.com/watch?v=CPmOc2Ktfy4
       http://v.youku.com/v_show/id_XNTQ5Mzg2MzIw.html
   如果你在使用VNR學習日語，那麼TTS也許可以幫上忙，特別是當處於可以聽懂日語，但是無法讀懂文字的階段。

 * Window text hook improved. It can work with NTLEA now.
   As it is stable now, and it is enabled by default.
   If it bothers you, you can disable it in the left Dock.

   改進了對窗口的翻譯。修正了和NTLEA兼容性的bug。
   窗口翻譯功能已經穩定，默認改為開啟。
   如果這個功能給你帶來麻煩，你可以在左邊的Dock中禁用它。

 * Add Bing as an alternative online translator, which support all languages.
   I add this only because Infoseek does not support Russian language.
   I feel Bing's Japanese-English translation quality is no better than Infoseek, which is powered by
   the same engine (Transer SDK) as the old OCN translation service.

   If your language is supported by Bing but not by VNR, just let me know and I will add the feature.

   添加對微軟Bing翻譯的支持。
   添加的原因是只因為Infoseek不自持俄語。
   我感覺Bing除了比Infoseek快，日中翻譯質量並不如Infoseek。Infoseek採用的是和已經閉鎖的OCN相同的引擎。

 * Fix a regression that VNR kept rewinding Game Wizard while adding new game.
   Thanks for @殺死妹妹's report!

   修正了【遊戲嚮導】打開時被VNR干擾的問題。感謝@殺死妹妹！

 * Add some Chinese translation.
   添加了【共享辭書】中【幫助】的中文翻譯。

4/24/2013 WED
 * Add user-defined dictionary for JBeijing from @Zhugeqiu.

   添加了@★诸葛秋★编辑的JBeijing辞书（http://tieba.baidu.com/p/2287516521）。
   感谢@★诸葛秋★sama的支援！

4/23/2013 TUE
 * Allow using BBCode and HTML tags to format translated text in Shared Dictionary.
   For example:
   * A term that defines "」" as "」<br/>" will create a new line after every "」".
   * A term that defines "「(.*?)」" as "[color=red]\1[/color]" will turn the text within "「」" to red.

   Thanks to @DinX's suggestion!

4/22/2013 MON
 * NTLEA is distributed together with VNR now. You can enable it on in Preferences/Launch.

   Both NTLEA and Microsoft AppLocale could help run Japanese game on non-Japanese environment.
   NTLEA is usually better. But I just noticed that it conflicted with the Windows text hook in VNR.
   VNR would be able to translate/replace texts in menus, context menu, and dialogs for games
   launched by NTLEA. Please give me some time fo fix this bug!

   NTLEA和VNR放到一起了，不再需要额外设定。在【使用偏好】/【启动】中选择开启即可。

   NTLEA和微软的AppLocale都可以帮助在非日文环境中运行日文编码的游戏。
   NTLEA通常要好些。但是刚刚发现NTLEA和VNR自带的Windows文本翻译功能冲突。
   比如，对使用NTLEA打开的游戏，VNR将不能够翻译和替换菜单，右键菜单，和对话框中的日文。
   请给我一些时间来修正这个问题。

 * Support user-defined dictionaries in JBeijing (a Japanese-Chinese translation soft)

   添加了对JBeijing自定义辞书的支持。

   这个功能不需要额外开启。VNR会自动读取你在JBeijing的JCT中自定义的词条。
   此外，VNR还自带了JBeijing的自定辞书，版本为@goodboyye发布的JcUserdic1289。
   不过，你在JCT中定义的辞书中的条目优先于VNR自带的版本。

   感谢@goodboyye的JBeijing的自定义辞书！

4/14/2013 SUN
 * Add some instructions in Readme.txt.
   在【Readme.txt】中添加了一些使用说明。

4/12/2013 FRI
 * You can temporarily disable user-defined hook code in Preferences/Launch.
 * Fixed a severe regression that in-game comments were not displayed.

4/11/2013 THU
 * Always show the header for dragging the text box, no matter its position is locked or not.
 * Add some explanations of the "target" column in the Shared Dictionary.
   You can find it by clicking the Help button there.

4/9/2013 TUE
 * The curtain on the top of the SpringBoard was temporarily removed.
   The game launch settings there were moved to Preferences.
 * Support NTLEA as an alternative of AppLocale.
   You can specify its location and enable it in Preferences.
   Just type "NTLEA" in Preferences and you will find the options.

4/8/2013 MON
 * Add a few Chinese translations for the GUI.

4/7/2013 SUN
 * Support using Windows Text-To-Speech (TTS) as an alternative of default Google TTS.
   There are several Japanese TTS engines out there. VoiceText is probably the best, as follows:
       http://voicetext.jp/samplevoice.html
   Thanks for @DinX's suggestion!

   支持使用Windows自带的语音合成（TTS）作为墙内无法使用的Google TTS的替补。
   日文TTS需要额外安装，推荐使用VoiceText的引擎。VoiceText的试听页面如下：
       http://voicetext.jp/samplevoice.html

4/6/2013 SAT
 * Create a primitive GUI for software update.

4/5/2013 FRI
 * MS Japanese IME parser improved.
 * You can use the search edit in Preferences to search any text in each view.

4/4/2013 THU
 * Rewrite the UI of Preferences.
 * Support for utilizing Microsoft Japanese IME (IMJP).
   * Able to use IMJP to parse Japanese, as a replacement to MeCab.
   * Able to use IMJP to convert Japanase kana back to kanji before sending to machine translator.
     For example, すもももももももものうち will become スモモも桃も桃のうち.
     This only applies to confusing phrases, such as みじん=>微塵.
     Common Japanese phrases such as かわいい will not be corrected to 可愛い.
     Because these kana usually confuses machine translator, such conversion might significantly improve the quality
     of machine translation, given the large set of dictionaries from Microsoft.
   The latest JMJP is free to download for Office Enterprise users here (version 14):
       http://www.microsoft.com/ja-jp/office/2010/ime/
   Here's an illustration of how to update its dictionaries.
       http://support.microsoft.com/kb/978478/
   JMJP also comes with any Windows OS, but the version is old (version9 or version10).
   And it would be better to do an update.
   btw, if you are using MS JP IME instead of Google's, your typing will actually improve machine translation quality><

   Special thanks to @dg8806 for his/her suggesions and source code to help me exploit IMJP!

   添加了对微软日文输入法的支持（IMJP）
   - 在【使用偏好/翻译】中，可以选择用IMJP替代MeCab来解析日文
   - 在【使用偏好/翻译】中，可以开启使用IMJP来纠正日文中的假名，进而改进机器翻译的质量。
     比如：「すもももももももものうち」会变换为「スモモも桃も桃のうち」。
     这个变换只会应用在那些不常用的假名，比如：みじん=>微塵。
     常用的包含假名的词汇比如「かわいい」不会被纠正成「可愛い」。
     由于假名是造成机翻不准的原因之一，↑这样通过IMJP，利用微软的辞书，可以大幅改进机翻的质量。
   如果你有装Office企业版，可以到这里免费下载IMJP的最新版（版本14）:
       http://www.microsoft.com/ja-jp/office/2010/ime/
   这里是如何升级各种辞书的教程：
       http://support.microsoft.com/kb/978478/
   如果你在使用日文Windows，那么JMJP已经自带了。不过版本已经好老了呢（版本9或10）。
   还是推荐更新到最新的版本。
   btw，如果你经常使用微软日文输入法，你打的日文单词同时也会改进机翻的质量><

   非常感谢@dg8806对于IMJP的建议和源码！

4/2/2013 TUE
 * Fix a severe regression that prevents Game Wizard from adding new games.

3/31/2013 SUN
 * Render GAIJI for EPWING dictionaries.
 * Support using 小学館 日中統合辞典（a epwing dictionary）to provide Chinese translation for Japanese phrases
   可以使用【小学館 日中統合辞典】（epwing格式字典）为鼠标点击的日文词语提供中文解释。
   设定方法如下：
   * 首先获得EPWING格式的电子字典（去掉声音，影像和插图的版本大概30MB）。
   * 在【使用偏好】的【位置】中，指定字典文件夹的位置（文件夹下需要有CATALOG或者CATALOGS文件）
   * 在【使用偏好】的【翻译】中，开启日中字典。
   设定完成后，点击日文单词，就可以看到中文的解释了。
   截图好像这样：http://sakuradite.com/images/screenshots/ayakashibito.jpg
   如果你来自台湾，在【使用偏好】的【翻译】里开启简繁转换，就可以将日中字典的中文转换为繁体中文了。
 * Fix a severe bug when detecting running game is enabled.
 * Add Chinese translation for Game Wizard.

3/30/2013 SAT
 * Able to utilize EPWING dictionaries to enhance translations.
   Currently, only 広辞苑(a Japanese dictionary) is supported to enable ja-ja translation of phrases
   (see Preferences).
   Due to copyright reason, the dictionary is not distributed together with VNR.
   You could purchase one from amazon, or google "岩波書店 広辞苑 第六版".

   EPWING gives VNR access to a large set of high-quality offline commercial dictionaries (as follows).
   I am thinking how to use them to improve translation, especially for Japanese learners.
   If you have suggestions on it, feel free to discuss with me by email!
   *  Syntax helpers and terms
      PDD人名辞典, 角川類語新辞典, 四字熟語辞典, 日本語表現活用辞, 現代用語の基礎知識, 新編英和活用大辞典
   *  Encyclopedia
      JP WIKI, 漢字源, 万葉集, 歴史データ大型版, 小学館日本大百科, 平凡社 世界大百科事典, 経済ビジネス用語辞典, 三修社 科学技術英独日辞典
   * Conventional JJ
     三省堂大辞林, 学研Super日本語大辞典
   * Foreign languages
     英和大辞典(ja-en), wadoku(ja-de), 小学館中日-日中統合辞書(ja-zh)

   Special thanks to @0xCCBA696 for the request of EPWING support!

3/26/2013 WED
 * Fixed a regression bug in the shared dictionary.
   Thanks for @makaplayer's report!

3/26/2013 TUE
 * Reduce VNR's memory usage.
   Though VNR is still leaking memory, the leak speed is much slower now.

3/24/2013 SUN
 * Due to performance concerns, Japanese text-to-speech (TTS) and running game detection
   are disabled by default as suggested by @HunterHughes.
   * TTS could be reanbled in Preferences/Features.
   * Running game detection could be renabled in SpringBoard's dropdown menu.

3/23/2013 SAT
 * Add a simple bbcode scratchpad.

3/22/2013 FRI
 * Add a toggle in Game Settings to eliminate repetition in game text.
   Most games that need agth /K options, such as 「デデンデン！」, shoud work now.

3/21/2013 THU
 * Subtitle default syntax changed from LaTeX to BBCode.
 * Added a context menu item for restarting VNR.
   If VNR is consuming too much memory, restart it might save you some memory.
   Currently, I don't have a way to reduce VNR's memory usage. Have to wait for Qt5
   whose V8 engine will be a savor to the current Javascript memory leaking issue.
   Sorry for the inconvenience at the moment!

3/19/2013 TUE
 * The online machine translation is disabled by default.
   You could re-enable the translators in Preferences/Translation.
   If you have got issues in getting @Aaeru subs for DC3, it is all my fault of
   not putting up tutorials for how to use VNR, and I am sorry for it m(_ _)m
   But please don't blame Aaeru for her hard work! Thanks.

3/11/2013 MON
  * Automatically hide left dock buttons as requested by @Kira.

3/10/2013 SUN
  * Add a few Chinese translation for the UI.

3/9/2013 SAT
  * Make the text threads to run in parallel and thread-safe
    so that game texts won't get lost while clicking fast.
  * Fixed a severe regression that might mess up the text thread title.

3/5/2013 TUE
  * Prevent VNR from hooking to Google Chrome and 360 Chrome.
    Please don't try to hook VNR to non-game applications orz.

3/4/2013 MON
  * Add a "Japanese" target type in the Shared Dictionary.
    It could be used to explain Japanese with Japanese.
    I will create a wiki to explain it soon.

3/3/2013 SUN
  * Add a toggle to SpringBoard to prevent VNR from applying user-defined /h-code
    after game starts.
    If an incorrect hook code crash the game on the startup, you can use this toggle
    to temporarily disable the hcode, and then add the correct one in Game Settings.
    Special thanks to @杀死妹妹 for the bug report!
    感谢@杀死妹妹的反馈!

3/2/2013 SAT
  * Bug fix for the shared dictionary.

2/28/2013 THU
  * Fix the bug which will crash VNR when there are non-utf8 characters in PATH
    or in the location of VNR.
  * Make sure the changes to subs and dictionary entries are saved before refresh.
  * Make sure the python process is terminated after VNR quit.
  * Bug fix for window text translation.

2/27/2013 WED
  * Bug fix for the shared dictionary.
  * Add a regular expression scratchpad for testing regex used by the dictionary.

2/26/2013 TUE
  * Prevent guest user from modifying other users' subtitles and dictionary entries.
  * Annot Player and Installer are removed from VNR.

2/25/2013 MON
  * Prevent users from hooking VNR to 360SE.
  * The shared dictionary is improved.
    * Allow the pattern to be regular expression.
    * Allow the pattern to be case-insenstive.
    * Allow the text to be empty, when the words matched by pattern will be deleted.

2/24/2013 SUN
  * Automatically detect and sync with running game.
    You can disable it at Springboard's sliding sheet on the top.

2/23/2013 SAT
  * Add a few Japanese/Chinese translations for Javascript code.

2/21/2013 THU
  * Steal keyboard focus back to VNR when work with subtitles.
  * Add a user-defined dictionary shared by all users for improving machine translation.
    It is a simplified version of TA's replacement script, and will affect translations
    for both game texts and window texts.
    You can click the "Help" button in the Dictionary dialog for more details.
    Special thanks to @spoxxy and @DinX for the suggestions!

2/19/2013 TUE
  * Fix the bugs that would crash VNR on the startup when there are unicode
    characters in the environment variables, such as PATH and USERPROFILE.

2/18/2013 MON
  * Fix a bug that prevents using the launch icon in the Spring Board to add new game.
  * Add an option to force converting Simplified Chinese to Traditional Chinese in
    Preferences/Translator.

2/17/2013 SUN
  * Prevent users from hooking VNR to Google Chrome orz
  * Added some translations of Japanese and Chinese (not completed yet).
    You can switch the GUI's language in Preferences/Account.

2/16/2013 SAT
  * Add a launch button to the Spring Board for adding new game to VNR.
    It will compare running processes with the online database to find new game.
    If the running game exists in the online database, VNR will set up everything
    for you, and you don't have to bother Game Wizard any more.

2/15/2013 FRI
  * Add a button to delete hook code in GameSettings/Text/HookDialog.
    After deletion, the hook code will not be deleted from the online datase,
    but be marked as deletion. Others who plays the same game with this hook
    will automatically revert the deletion.
    If the hook code appears again, please re-delete it again in the hook dialog.

2/14/2013 THU
  * VNR will not search for user-contributed subtitles in the same day.

2/13/2013 WED
  * You can edit the game's display name in Game Settings / Properties.
  * Always show the "Browse" buttons in Preferences/External.
  * To reduce the memory usage of VNR, I limited the # of texts in Backlog to 100.
    I also removed the button to show all subtitles in the Backlog.
    This change is a regression as the trade-off of better performance.
    If you want to edit your previous subs without loading the game to that scene,
    please try the "Edit subtitles online" menu item from the blue button instead.

2/12/2013 TUE
  * Turn the blue button to an ajax indicator to show status of async Internet access.
    It will be spinning while VNR is:
    * Checking for updates online
    * Signing in with a different account
    * Searching for game thread and hook information online
    * Fetching online translations
    * Saving your subtitles online after VNR is idle for 5 seconds
    * Saving your modification to subtitles online after VNR is idle for 5 seconds

2/11/2013 MON
  * Saving/modifying subtitles are put into threads, so that sub VN will not hang the GUI.

2/9/2013 SAT
  * I changed the initial values of subtitles' font size, position and alignment.
    I must appologize if it overrode your previous settings.
    If you prefer the previous settings, please adjust the options from the left dock.

2/8/2013 FRI
  * Fixed the "Browse" button in GameSettings/Location for specifying alternative game launcher.

2/7/2013 THU
  * Bug fix for window text translation.
  * Bug fix for D.C.III.

2/6/2013 WED
  * Bug fix for window text translation.
  * Update the window text translation lively when you change your language or translator.
  * Add an option to the blue button to display the orignal window text.
    For example: "はい" will become "はい<Yes" instead of "Yes".

2/4/2013 MON
  * Automatically resize Game Settings window based on the number of text threads.
  * Add a useless feature to use kanji as furigana, so that:
    可愛い(kawaii) will become 可愛い(卡哇伊).

2/3/2013 SUN
  * VNR can translate the substitute window texts (menus and buttons) now.
    You can enable/disable it by right-click the blue button and toggle the menu item.
    This feature will NOT be enabled unless you have at least ONE offline machine
    translator (LEC, Atlas, or JBeijing).
    Currently, there is no further option to adjust its translation.

1/30/2013 WED
  * You can save/load/reset the position of the text box relative to the game window
    from the context menu of the text box.

1/29/2013 TUE
  * The current GUI in fullscreen is kind of confusing.
    Just made a new demo video to illustrate what VNR can do in fullscreen:
      http://www.youtube.com/watch?v=GNZSNA1gYEk
    The Phi (Φ) button on the left dock is the key to unlock the features in fullscreen.
    Be careful that, unlocking the Phi button (like in this video) might give VNR troubles
    when render subtitles for OLD games.
  * Add a light-weighted Subtitle Editor to ease modifying subtitles.
  * Fixed some bugs which might crash VNR when running out of memory.

1/28/2013 MON
  * Games in SpringBoard will be sorted by the last access time.
  * Created primitive online interface for editing subtitles without opening the game.

1/27/2013 SUN
  * MeCab library is updated.

1/26/2013 SAT
  * When romaji is selected as furigana, show it for all Japanese words.
  * Put the Text Thread settings into scroll area.

1/25/2013 FRI
  * In Preferences/Translator, you could select the furigana characters from hiragana, katakana, and romaji.
  * The "Time Zone" option also works for minori games.
  * Note:
  It is recommended that you set the Game Text Speed to maximum if possible.
  Especially if you would like to translate this game.

1/24/2013 THU
  * Add a search bar to the SpringBoard.
  * Add EnterButtons to manually send "Enter" event to the game.
  * In the bottom comment bar, shift+enter without text will also send enter.
  * Right-click subs, and there is a Comment Properties menu to show the selected subtitle's context.
    I will make the fields in this dialog editable later.

1/22/2013 TUE
  * Filter some garbage characters (ten ten ten toka) for TTS.

1/20/2013 SUN
  * Add a phi button (Φ) in the left dock for toggling whether VNR should ignore focuses when full screen.
    This option is enabled by default in order to be compatible for old games.
    But if disabled, we will be able to access the VNR's context menu, the blue button, Preferences,
    and able to submit subtitles when full screen as well.
    This option is important if you would like to use VNR for full screen gaming.
    For some old fullscreen games, VNR has to restrict itself from stealing windows focus from the game.
    But this is not required for many new games.
    If disabling it gives you troubles when switched to full screen, please enable it again.
  * Changed from GET to POST to allow saving subtitles with very long game context.

1/19/2013 SAT
  * Support using LEC Power Translator for English offline translation.
    You can enable it in Preferences/{External,Translator}
  * Ensure the text box visible in full screen mode when unlocked.
  * Add options to change the text glowing colors in Preferences/Text.
  * Add option to toggle the text alignment in the left dock.

1/17/2013 THU
  * [lock] will lock the text box's relative position to the game window,
    instead of putting the text to the top of the game window.

1/15/2013 TUE
  * Add a draggable header to the text box.
  * Fixed a severe bug in ATLAS machine translation.

1/14/2013 MON
  * Now you can drag the subtitles to any place you want.
    Don't forget to unlock the position of the text box first (by clicking [ Lock ]).
    Here's a screenshot of how to drag the text box:  http://sakuradite.com/images/screenshots/otome-drag.jpg
  * Able to change the text box width from the left dock.

1/13/2013 SUN
  * Fixed a bug that VNR did not apply the hook code correctly for the second launched game.

1/12/2013 SAT
  * Fixed a severe bug in hook code decoder.
    All AGTH/ITH /H codes should work now.
  * You can select more than one machine translators in Preferences/Translation.

1/8/2013 SUN
  * Able to zoom font size for subtitles.
  * Able to remove games from the Spring Board.
  * Fixed the delay for offline machine translation.

1/6/2013 SUN
  * Able to change the SpringBoard wallpaper by dragging your favorite wallpaper image file to the SpringBoard
  * Able to add new game by dragging the executable(*.exe) or the shortcut(*.lnk) file to the SpringBoard
  * Able to launch existing game by dragging the executable(*.exe) or the shortcut(*.lnk) to the SpringBoard
  * Remember the size of the SpringBoard window on exit

1/5/2013 SAT
  * Support using JBeijing for Japanese-Chinese machine translation.
    You can select preferred translation provider from Preferences/Translation.
    Don't forget to specify the location of JBeijing in Preferences/External.
  * Improve ATLAS offline translation performance.

1/1/2013 TUE
  * Minor modification to the documentation.
    If you cannot see the text being displayed,
    PLEASE MODIFY THE TEXT THREADS IN GAME SETTINGS!

12/28/2012 FRI
  * Add an alternative online translator from LEC.
    You can change the machine translator from Preferences/Translation.

12/25/2012 MON
  * VNR beta released. Heres a recent demo on youtube:
    http://www.youtube.com/watch?v=KxRGwS4gkW4

12/24/2012 MON
  * Able to lock subtitles from being edited by others.

12/22/2012 SAT
  * 修正了B站无法解析要登录动画的弹幕的问题。

12/21/2012 FRI
  * Add \popup to display subtitles for game choices.
  * Put machine translation into another thread to reduce GUI blocking.
  * Fix the issue of hanging GUI while quiting the app.

12/19/2012 WED
  * Able to add subtitle for previous game texts in in backlog, by clicking
    [ add subtitle ].

12/18/2012 TUE
  * Fix the bug for adding ITH hook code in Game Wizard or Game Settings.

12/17/2012 MON
  * Bugfix for「はつゆきさくら」

12/16/2012 SUN
  * 修正了对B站弹幕解析的BUG。
  * 将Galgame与动画的功能分离。
  * 升级了VLC和Qt。

12/15/2012 SAT
  * Add wizard to select apps.

12/12/2012 TUE
  * Automatically detect and sychronize with the running game on startup.
  * Add button to hide comment bar.
  * Bugfix for「はつゆきさくら」

12/11/2012 TUE
  * Option to launch game in Japanese time zone.

12/10/2012 MON
  * Fixed the bug that the editted annotations were not saved.

12/9/2012 SUN
  * Add spell checker for English/French/German.
  * Change subtitle submission shortcuts from CTRL+ENTER to SHIFT+ENTER.
  * Able to disable mouse theme in Preferences.

12/8/2012 SAT
  * Annotation rendering improved.
  * Detect game window and process changes. Re-hook to game when game state changes.
  * Use multi-threading to prevent UI from blocking while importing thousands of subs.
  * Bug fix for DC3.

11/30/2012 FRI
  * Hover game text to popup translations
  * Add simple context menu.
  * Render shadows behind game text.

11/26/2012 MON
  * Fix bugs with the translation popup.

11/25/2012 SUN
  * Integrate with EDICT.
    Click the word in the game text will popup its translations.
  * Integrate with Google TTS.
    Click/double-click the game text will read it out.
  * Syntax-highlight game texts in different colors when hover.
  * Able to change the threads to translate in Game Settings
  * Able to dock the annotation window to corners of the screen.

11/19/2012 Mon
  * Use AppLocale to load galgame if installed
  * Use ATLAS for offline translation if installed
  * Fix bugs loading subs when offline

11/14/2012 TUE
  * Split annotations for galgame out from annot-player into a new app:
    Visual Novel Reader (pre-alpha)
  * Source code moved to mercurial repository at sakuradite.org/hg/stream.
    The "Library" directory is just clone of sakuradite.org/hg/stream.
  * The underlying framework is switching from C++ to Python/Javascript.

*** Annot Player is split into video player and galgame player ***

11/4/2012 SUN
  * Automatically backup local database of games and subtitles.
  * Update VLC plugins

10/14/2012 SUN
  * Support for OCN is removed, as OCN shut down its translation service.

10/11/2012 THU
  * Make the saved subtitles to be context-sensitive to the game texts.
    Special thanks to aaeru.

9/28/2012 FRI
  * Fixed resolving video from acfun.
    修正了A站弹幕和动画的解析。

9/23/2012 SUN
  * Fixed resolving video from bilibili.
    修正了B站动画的解析。
  * Fixed a bug that prevent drop-and-open.
    修正了无法通过拖动来播放动画的bug。

9/21/2012 FRI  annot-player  0.1.9.8
  * Add basic EDICT dictionary support.
  * Qt updated.

9/9/2012 SUN  annot-player  0.1.9.7
  * Click to translate any word (parsed by MeCab) in displayed galgame text.
    If you don't like this feature, turn it off from the context menu.
  * Always focus on the input text edit after submitting subtitles.
  * Fix a severe bug which prevents subtitles from being saved.
  * Translator is simplified.

9/7/2012 FRI  annot-player  0.1.9.6
  * Update annotation resolver for bilibili.tv.
    更新的B站弹幕的解析方法。
    由于B站的更新，以前版本将无法解析弹幕。感谢蓝染。

9/7/2012 FRI  annot-player  0.1.9.5
  * Add ATLAS support for offline translation.
  * Fix a bug when displaying manual subtitles.

9/5/2012 WED  annot-player  0.1.9.4
  * Fix a line-wrapping bug when rendering annotated Japanese text.
  * Fix a bug when converting katakana to hiragana.
  * Fix a bug when generating annotation analytics.
    修正了无法显示弹幕统计图的bug。

9/5/2012 WED  annot-player  0.1.9.3
  * Integrate with MeCab.
    Able to show annotated galgame text with furigana.
    Hover-and-translate ability is not implemented yet.
  * If AppLocale is installed on your Windows, launch galgame using AppLocale with 0x0411 by default.
  * Add SYSTRANet translation support.
  * Distinguish Traditional Chinese and Simplified Chinese.

9/3/2012 MON  annot-player  0.1.9.2
  * Able to add user-defined ITH hook code for game.
    The added hook code is then shared by all users online.
  * Highlight tool buttons.
  * Translations are cached.
  * Fix the bug which causes OCN translation failed to show up.

8/31/2012 FRI  annot-player  0.1.9.1
  * Thread profile will be saved online at annot.me and shared with all users.
    After sync with a game, the thread profile will be saved both offline and online.
    Other users opening the same game will automatically import proper thread profile from annot.me,
    and do not need to set up text threads manually anymore.
    Thread settings could be changed at "Game Settings".
    The changes will also be saved both offline and online.
  * Able to subscribe to more than one text threads in a galgame.
    When sync with a game, you could select which text threads to subscribe and translate.
    You could also select the roles of text threads.
    Texts with different roles will be rendered differently.
    Only two roles are supported at the time:
    * Leading role (the leading thread)
    Supposed to be the scenario thread. Translations will be rendered on the top or on the bottom.
    The leading thread is used as the timeline for annotation/subtitle synchronization.
    * Support role (supplementary threads)
    Could be the choice thread, or the thread of character names, etc.
    Translations will be rendered at the top-left corner.
  * Option to change subtitle's background opacity from "Preferences" (galgame only).
    Set the value to zero if you prefer transparent background like in previous version.
  * Annotations are rendered smaller than before, and in a darker color.
    The subtitle's font size and outline color could be adjusted in "Preferences".
    默认的弹幕比以前更小，颜色更深，速度更快。
    如果觉得不舒服，可以在【偏好】里调整弹幕的渲染。

8/26/2012 SUN  annot-player  0.1.9.0
  * Add word translation support from Kotobank (ja).
  * Add more text translation options, including:
    * Infoseek honyaku
    * Yahoo! honyaku
    * OCN translator (en, zh, ko) - the best for Chinese
    * freshEYE honyaku (en,zh)
    * @nifty honyaku (en)
    * Excite hongyaku (en)
    * SDL free translator (en)
    The default translator switched to Ocn from Microsoft.
  * Try to synchronize with any running game in the library on startup.
  * Retry to reconnect on accidental soap error.
  * Option to set annotation transparency from Preferences.
    在设定中可以调整弹幕透明度。
  * Option to set fullscreen annotation size, which is slightly larger than normal one.
    在设定中可以调整全屏弹幕大小（默认略大于非全屏弹幕）。

8/20/2012 MON  player,down,browser,translator  0.1.8.3,0.1.3.4,0.1.2.4,0.1.0.1
  * Fix a severe bug that might crash the app when opening new game/media in Windows.
    修正了Windows下可能导致切换再生动画时crash的bug。
  * Improve the scheduling algorithm for floating annotations.
    改进了滚动弹幕的调度算法。
    如果觉得弹幕滚动过快，可在设定里调整弹幕速度。

8/18/2012 SAT  player,down,browser,translator  0.1.8.2,0.1.3.4,0.1.2.4,0.1.0.1
  * Show media library on startup.
  * Game launch settings (channel & encoding) will be saved for the next launch.
    Setting up synchronization is only required once for each game.
  * Highlight selected text in yellow in all textedit widgets.
  * Fix a bug in the updater.

8/14/2012 TUE  player,down,browser,translator  0.1.8.1,0.1.3.3,0.1.2.3,0.1.0.0
  * Add intremental updater (Windows only).
    Alternatively, latest binaries could be found at ftp.annot.me/release/annot-player.
    Versions before 0.1.8.1 are now broken and won't work propertly.
  * Add Annot Translator using WWWJDIC (beta). Internet access is indispensible.
  * Integrate galgame Backlog with Annot Translator.
  * Add media library to index available media and games from play history.
  * Double-click subtitles will edit it if the user has its ownership.
    Otherwise, show its analytics.
  * Add support for Russian language.
  * Update VLC plugins to version 2.0.3.

7/29/2012 MON  annot.player, down, browser  0.1.8.0, 0.1.3.2, 0.1.2.2
  * Fix the severe issue for synchronizing annotations caused by the changes of the server framework.
    App before version 0.1.8.0 might not function well anymore.
  * Fix the bug which might cause downloaded gzipped annotations failed to be unzipped and parsed.
  * Utilize cookies to reduce network traffic.

7/22/2012 SUN  annot.player, down, browser  0.1.7.1, 0.1.3.1, 0.1.2.1
  * Long annotations/subtitles will be wrapped by word boundaries.
  * Game subtitles will be rendered stably on the top or bottom.
  * Add dock button to embedded mode, to toggle whether embed to the top or bottom.
  * Add Italian language for galgame translation.
  * Existing files to overwrite will be moved to trash instead of being deleted or renamed.
  * Press the "Play/Pause" button after sync with galgame will start or pause listening to game signals.
  * Add XML/JSON annotations download dialog to annot-player.
  * Some unstable experimental features are temporarily disabled.
  * Annotation Downloader is changed to use single download thread to avoid parallel bugs.
  * Fix the bug that makes wmv and ISO images invisible from opening.
  * Fix the bug that causes annot-player unable to fetch annotations when opening files in Windows Explorer.
  * Fix a bug that might cause context menu to render in full black.
  * Reimplement thread-safe message logging mechanism which could result in mystery crashes.

7/16/2012 MON  annot.player, down, browser  0.1.7, 0.1.3, 0.1.2
  * Able to edit and save machine-translated subtitles.
    The user will take the ownership of the editted subtitles.
  * Render widgets (such as push buttons) as annotations (currently not for Mac).
  * Bing API is replaced with Microsoft Azure API for default Galgame translation.
    Because Microsoft will stop Bing translation service after Aug. 1, 2012,
    galgame translation before version 0.1.7 will stop functioning after Aug.1.
  * Add Google Translator and Romaji translation service.
  * Able to turn on more than one translation providers.
  * Enble translation for French/German/Spanish/Portuguese
  * Opion to change annotation moving speed in preferences.
    Modification to movement resolution is removed.
  * Prefetch annotations and save to XML/JSON before streaming media is completed.
  * Able to download annotation XML/JSON from Annot Browser or Annot Downloader.
    To associate the downloaded XML/JSON subtitle with media file, rename the subtitle
    as the same basename as the media file.
  * Update VLC plugins to version 2.0.2.
  * Fix the bug for creating Annotation Analytics view for galgame.
    Double-click the annotation will show analytics of all annotations from its owner user.
  * Fix the bug which causes annot-player window to disappear after the galgame is minimized,
  * Fix a bug that might randomly crashes annot-player when dragging annotations.
  * Fix the offline-cache inconsistent bug when editing annotations.

6/30/2012  annot.player, down, browser  0.1.6.4, 0.1.2.9, 0.1.1.9
  * Able to convert all Chinese annotations to Traditional Chinese.
  * Add translation for Traditional Chinese.
  * Able to adjust annotation movement resolution for floating annotations.
  * Switch from llvm gcc to clang with C++11 enabled on Mac.
  * Fix a bug while rendering translations in Galgame with multiple lines.
  * Fix a bug which results in failure to resolve nico anime from nicovideo.jp/watch/so[0-9]*
  * Fix severe multi-threading bugs in downloader.
  * Switch from qthreadpool task to qthread in downloader to deal with concurrency bugs.
  * Imported annotations will be saved to XML/JSON files.
    New annotation searching logic follows:
    * Search offline annotations in "Annot Stream/Data/cache/cache.db"
        (or ~/Library/Caches/me.annot.player/cache.db on Mac OS X).
    * Search offline annotations from XML/JSON files in the same folder of the video.
    Assume the current file being played is ABC.mp4, then
    ABC.whatever.xml and ABC.whatever.json will be imported.
    * If no offline annotations exist, fetch latest annotations online.
    Trigger "Update Annotations" from context menu will sync all three sources of annotations.
    Edit annotations sources from "Annotation Source" in context menu.

6/14/2012  annot.player, down, browser  0.1.6.3, 0.1.2.8, 0.1.1.8
  * Annotation motionless scheduling and rendering improved.
  * Add halo effect to render annotations (able to change colors in Preferences).
  * Selected annotations will glow.
  * Able to change audio channels and delay time in context menu.
  * Able to import annotation files in XML/JSON format downloaded from nicovideo/acfun/bilibili.
    Automatically load external annotation files whose name starts with the file name of current media.
  * Able to select text encoding for the annotated Galgame (usually Shift-JIS or UTF-16).
    Enforce Shift-JIS as default.
  * Fix the encoding issue for Galgame from light (malie.exe).

6/8/2012  annot.player, down, browser  0.1.6.2, 0.1.2.8, 0.1.1.7
  * Update the scripts to resolve annotations from bilibili's new web ui.

6/8/2012  annot.player, down, browser  0.1.6.1, 0.1.2.7, 0.1.1.7
  * Add option to switch whether connect to the Internet.
    If connected, the latest online annotations are preferred.
    When disconnected, the local offline annotation database is used.
  * Add new annotation scheduler to reduce annotation movement for better readability.
  * Update from ITH2 to ITH3 for tracking Galgame.
    Translation for Akatsuki no Goei 2 is partially broken.
    Translation support for games from light is broken.

6/3/2012  annot.player, down, browser  0.1.6.0, 0.1.2.6, 0.1.1.6
  * Option to always show avatars (could be disabled from context menu).
  * Able to translate annotations to different languages.
  * Able to change file associations from Preferences.
  * Enable HTTP pipelining to improve download and stream speed.
  * Update to Qt 4.8.2. Switch from Carbon to Cocoa on Mac OS X.
  * Add getchu.com to the browser's delegate list.
  * Fix the issues that cause buttons in full screen difficult to press.
  * Fix a bug in downloader which might result in incorrent file size.
  * Fix bugs while tracking Galgame process and rendering annotations.

5/25/2012  annot.player, down, browser  0.1.5.6, 0.1.2.5, 0.1.1.5
  * Add randomized avatars to identify different users.
  * Able to change annotation font in preferences ("Helvetia" as default).
  * Option to limit annotation bandwidth (enabled by default).
  * Bugfix
    * Fix a bug which could freeze the player when stream video with more than 6 parts.
    * Fix a bug which bound # of download tasks to # of CPUs.
    * Fix a bug which might mess up merged FLV streams, esp. Sina video from AcFun.tv.
    * Fix a bug that could crash the browser when activate context menu.
    * Fix a bug when prevent logging in to Nicovideo.jp on Windows.
    * Fix a bug while annotating galgame.
    * Fix a bug while rendering Aero on Windows 7.

5/19/2012  annot.player, down, browser  0.1.5.5, 0.1.2.4, 0.1.1.4
  * Add water ripple effect to render windows (conflicts with Aero effect,
    Mac/WinXP only).
  * Show meta info (e.g. user,date) after annotations.
  * Show loading progress in Browser's address bar.
  * When the download option is off, try to use MMS protocal instead of
    HTTP to stream remote video.
    Include Youtube, and any other video which is less than 6 minutes.
    Currently, parted remote video and those require authentification
    (such as Nicovideo) do not support MMS mode.
  * Fix a bug when resolve Youtube video on Windows.
  * Fix an encoding bug when resolve Tudou video.
  * Fix a bug that might result in unsaved download tasks when downloading
    multiple videos.

5/11/2012  annot.player, down, browser  0.1.5.4, 0.1.2.3, 0.1.1.3
  * FadeIn/FadeOut animation applied to all windows and annotations.
  * Change menubar shortcuts from ALT to CAPSLOCK.
  * Added magnifier (CTRL+E or hold LeftButton).
  * Fixed mouse freezing issue on Windows.
  * Fixed a bug while decoding AcFun.tv URLs.
  * Fixed a bug in Browser when visiting SSL encrypted webs.

5/5/2012  annot.player, down, browser  0.1.5.3, 0.1.2.2, 0.1.1.2
  * Able to play limited Youku video from outside of China.
  * Use annotion pool to reduce memory traffic and CPU usage significantly.
  * Support for AcFun.tv is fixed.
  * Fixed a bug preventing network proxy settings from being saved.
  * Change stream strategy from mult-thread to single-thread multi-task
    to avoid being banned by remote server when download in parallel.
  * right button will collect nearby annotations.
    ALT + DoubleClick will attract all annotations.
    SHIFT + DoubleClick will expel nearby annotations.
    Shortcuts to manipulate annotations changed.
  * Added FadeIn / FadeOut effects to render annotations.
  * Added touchpad gestures to player and all webview (Mac only).
  * Added menu bar to Browser/Downloader on Windows.
  * Added debug console to Browser.
  * Added preferences dialog. Able to change default downloads location.
  * Context menu to repeat current video.

4/28/2012  annot.player, down, browser  0.1.5.2, 0.1.2.1, 0.1.1.1
  * Fixed a severe bug that might cause duplicated imported annotations.

4/28/2012  annot.player, down, browser  0.1.5.1, 0.1.2.0, 0.1.1.1
  * Fixed a bug that prevent resolving annotations when the app or system
    path contains Chinese characters in Windows.
  * Option to change online/offline annotations preference.
    Prefer cached offline annotations by default.
  * Able to select annotation and draw all annotations from the its user.
  * Able to exile surrounded annotations using SHIFT+LButton or LButton+RButton.
  * Added more mouse gestures to manipulate annotations. Shortcuts follow.
  * Browser improved.
    * Added multiple search engines.
    * Always highlight selected text.
    * Highlight hovered downloadable links.
    * Added menus on Mac and Linux.
    * Able to go full screen by double clicking any tab.
    * Added mouse gestures with right or middle button, as follow.

4/22/2012  annot.player, down, browser  0.1.5.0, 0.1.1.0, 0.1.1.0
  * Offline caching improved. Most network accesses are cached if possible.
    Imported annotations are also cached for offline playing.
    Offline database performance improved.
  * Able to change annotation offset in time. Shortcuts follow.
    * CTRL+ALT with =-0
    * CTRL+ALT+Wheel
  * Able to open media file from context menu on Windows.
  * To maximize will result in full screen.
  * Browser improved.
    * Detect streamable video and open in Annot Player from context menu.
    * Most webkit compatible shortcuts added.
    * Fixed URL encoding for Asia characters.
    * Offline cookies and caching are enabled.
  * Downloader improved.
    * Added concurrency control. Limit max number of downloads to 3.
    * Added system tray.
    * Added context menu.
  * Streaming from AcFun.tv is broken.
    Won't fix until AcFun.tv finalize its new RESTful API.
  * Bugfix.
    * Fixed bugs that might crash the player while switching media.
    * Fixed bugs preventing Adobe Flash from playing MP4 video on Mac.

4/14/2012  annot.player, down, browser  0.1.4.3, 0.1.0.2, 0.1.0.1
  * Fixed a severe bug while streaming MP4 video from nicovideo.jp.
  * Use CTRL+SHIFT/MiddleButton with Mouse to select and delete annotations.
  * Annotation analytics improved.
  * Display download progress and media information in full screen mode.
  * Preferred playing mode changed to embedded mode.
  * Browser improved.
    * Automatic login nicovideo.jp and bilibili.tv.
    * Added built-in adblock.
    * Remember history of visited and recent closed URLs.

4/8/2012  annot.player, down, browser  0.1.4.2, 0.1.0.1, 0.1.0.1
  * Annotation analytics improved.
  * Show annotation analysis while playing.
  * Fixed a bug in deployed package for Windows.

4/7/2012  annot.player, down, browser  0.1.4.1, 0.1.0.1, 0.1.0.1
  * Added keyboard shortcuts to adjust contrast, brightness, hue, saturation and gamma.
  * Added mouse wheel shortcuts to rotate/scale annotations.
    * Ctrl + Wheel: scale all/paused annotations
    * Shift + Wheel: rotate all/paused annotations
  * Added basic analytics for annotations.
  * Hardcode anonymous accounts for annot.me and nicovideo.jp.
  * Alpha-release for linux.
  * Service host moved to Japan.
  * Bug fix and improvement on usability and stability.

3/30/2012  annot.player, down, browser  0.1.4.0, 0.1.0.0, 0.1.0.0
  * Web browser and downloader utilities are made into different apps.
  * Added mouse rubber band to select annotations with CTRL/SHIFT modifiers.
  * Nico browser fixed. Able to visit nico anime channel from outside of Japan.
  * Added previous/next/browse actions for online video.
  * Upgraded to Qt 4.8.1 and VLC 2.0.1.

3/23/2012  annot.player  0.1.3.4
  * Show download progress in position slider.
  * Added annotation thread view.
  * Allow opennng multiple windows from context menu.
  * Bug fix in streaming module.

3/20/2012  annot.player  0.1.3.3
  * Fixed a severe bug which could crash the app while downloading.
  * Option to disable context menu rendering.
  * Option to open multiple player windows on Windows in context menu.
  * Able to change video aspect ratio in context menu.
    Specified aspect ratio will be saved for the movie.

3/17/2012  annot.player  0.1.3.2
  * When playing online video from AcFun/Bilibili,
    parted videos are now merged on the fly.
    Knowing issues with current implementation:
    * Seeking over downloaded frames is not allowed.
    * High CPU usage on Macbook Air.
  * Added network proxy.
  * Added proxy browser for nicovideo.
    Able to play nico video from outside of Japan.
  * Added utilities menu.
  * Monitor clipboard for online media/annot URLs.
  * Added increase/decrease buttons to URL dialog.
  * Reimplemented video download and demux modules.
    Removed dependencies on mp4v2 and gpac.

3/10/2012  annot.player  0.1.3.1
  * Added fast forward buttons.
  * Able to disable Aero effect in Windows Vista/7.
  * Automatically detect last language preference for subtitle/audio track.
  * Several bug fixes.

3/2/2012  annot.player  0.1.3.0
  * Now support streaming from nicovideo.jp in Mac OS X as well.
    Online video will be automatically downloaded and associated with annotations.
  * Support streaming nicovideo using proxy.
  * Switched to VLC2. Performance and stability improved.
  * Now support playing Bluray Disc.
  * Playing cue is broken on Mac OS X.
  * GUI improved.

2/25/2012  annot.player  0.1.2.9
  * Annotation rendering improved.
  * Online streaming improved.
    Added support to stream from nicovideo.jp (Windows only).
  * Added dialog to download online videos, and remux parted videos to mp4.
    Downloaded videos will be associated with online annotations automatically.
    Supported websites: nicovideo.jp,acfun.tv,bilibili.tv,....
  * Added debug console.

2/17/2012  annot.player  0.1.2.8
  * Added annotation rendering effects.
    Annotations rendered with shadow by default.
  * Added support to open RTSP stream.
  * GUI improved.

2/9/2012  annot.player  0.1.2.7
  * Support importing annotations from nicovideo.jp.
  * Support bilibili/nicovideo login.
  * Online video and annotations decoding improved.
  * User interface improved.
  * Added history to all input line edits.
  * Web browser module removed.
  * Remember last played position, subtitle, and audio track for each movie.
  * Added option to limit annotation count.

2/4/2012  annot.player  0.1.2.6
  * Fixed a severe bug while opening remote media.

2/4/2012  annot.player  0.1.2.5
  * Now support playing GoogleVideo/AcFun/BiliBili/Sina/Tudou,QQ video online, with annotation support.
  * Support importing online annotations from AcFun and Bilibli.

1/27/2012  annot.player  0.1.2.4
  * Now support playing Youtube/Youku video online, with annotation support.

1/20/2012  annot.player  0.1.2.3
  * Adjusted for Akatsuki no Goei 2
  * Added support to play commentary audio tracks in BD video.
  * Performance improved while handling large amount of annots/subtitles.
  * Cast (bless/curse/block) to annotation and user added.
  * Shortcuts assigned to switch play modes.
  * Filters added to to annotation browser.
  * Added basic user view.
  * Several bug fixes.

1/12/2012  annot.player  0.1.2.2
  * Enforce Japanese encoding to decode Galgame text in Windows.
  * Service domain changed.
  * Added automatic game signal detection.
    Current database only supports galgame from light and a few other games.
  * Subtitle rendering improved.

1/6/2012  annot.player  0.1.2.1 (Spring Festival Edition)
  * Added Spring Festival channel.
  * Ensure buttons repaint correctly in Windows.
  * Fixed crash on exit in Mac OS X caused by unreleased nsobject.

1/1/2012  annot.player  0.1.2.0
  * Able to delete annotations and alias.
  * Fixed bugs while editing annotations.
  * Adopted on-demand window creation to improve performance.
  * Startup popups eliminated.
  * Ensure player always on top of DirectX windows in full screen mode.
  * Window-always-on-top disabled by default.
  * Stop listening to process if required or on process close.
  * Performance improved on large number of annotations.
  * Updated to Qt 4.8 on Windows. Several improvements using new APIs.
  * Added backlog view for annotations/translations.
  * Annotation font rendered with contoured shadow.
  * Mac OS X upgraded to 10.7. Toolchain switched.
    No more support for 10.6 in the future.

12/25/2011  annot.player  0.1.1.5
  * Fixed a bug while clustering annotations.
  * Fixed a bug in annotation editor.

12/22/2011  annot.player  0.1.1.4
  * Fixed a bug while playing DVD.
  * Fixed a bug while dragging annotion.

12/16/2011  annot.player  0.1.1.3
  * Added input line history.
  * Added pre-defined command to input line.

12/13/2011  annot.player  0.1.1.2
  * Windows tool chain updated. Qt library rebuilt. gSOAP updated.
  * Added disc type automatic detection.
  * Launcher dependency on msvcrt removed.
  * Offline annotation caching improved.

12/7/2011  annot.player  0.1.1.1
  * Added Fedora support.
  * Added CD/DVD device dialog. CD/DVD buffering performance improved.
  * Fixed sqlite cache creation bug in Linux.
  * Menubar enabled to all OSes.
  * Forward token digest to reduce delay on opening media.
  * Added playlist to open multiple files or folder.
  * Switched to GNU ChangeLog format.

12/2/2011  annot.player  0.1.1.0
  * Windows global mouse hook removed and replaced with native vlcore calls.
  Less mouse hanging in Windows when the app is busy.
  * Added support to play cue file.
  * Added support to play cdda. Fixed bug while opening CD on Windows.
  * Added embedded mode.
  Able to embed/play vidoe/annots in any window, such as Notepad, Photoshop, or PPStream.
  * Able to select embedded player on the top or bottom.
  * Player buttons and menues extended.
  * Added task bar icon for Windows 7.
  * Added Dwm notifier in Windows 7 to watch aero composition changes.

11/26/2011  annot.player  0.1.0.3
  * Fixed a severe bug in annot-player-0.1.0.2-win that might cause significant delay for displaying context menu.
  * Added support for navigating DVD menu on Mac OS X.
  * Added app desktop/icon on linux.

11/25/2011  annot.player  0.1.0.2
  * Added support for playing disc images such as ISO/MDF/BIN/IMG.
  * Added support for Ubuntu 11.
  * Improved mouse hook in windows to reduce GUI hanging.
  * Minor bug fix.

11/22/2011  annot.player  0.1.0.1
  * Added annotation counting.
  * Delete Caches script removed. Caches will be automatically invalidated if required.
  * Minor bug fix.

11/18/2011  annot.player  0.1.0.0
  * Improved translations.
  * Minor bug fix.

11/18/2011  annot.player  0.1.0.0.rc
  * Added basic support for viewing/annotating pictures and manga.
  * CD/DVD/DVDISO support completed. DVD menu added.
  * Added basic NG support.
  * Block/bless/curse cast completed.
  * Communication module and underlying data structure redesigned.
  Player with version# less than 0.1.0.0 might not work anymore.
  * Added support for Mac OS X Lion 10.7.
  * Added support for Mac to directly open file in Finder.
  * Added drag/drop support for Mac.
  * Mouse hook bug fixed on Windows.
  * GUI improved.
  * Translations improved.

11/12/2011  annot.player  0.0.9.2
  * Several bugfixes for Mac.
  * OSD structure redesigned for sake of Mac and Windows XP.
  * Mac OS X deployment frameworks finished.
  * Caches and logs moved to ~/Library on Mac OS X.
  * Added warming-up caches to speed up program startup.
  * Reduced slow-downs that caused by Windows XP compatible code.
  * Theming bug fixed for Windows XP.

11/10/2011  annot.player  0.0.9.0-0.0.9.1
  * Windows XP theme redesigned.
  * Mac OS X theme redesigned.
  * Several bug fixes for Mac and Windows XP.
  * Added Chinese translation.

11/8/2011  touch.player  0.0.8.4
  * Open file context menu item now could open game exe as well.
  * Finished update module.
  * HTML editor sibling bug fixed.
  * Subtitle color is now customizable. Long subtitle is split.

11/4/2011  touch.player  0.0.8.3
  * NtCreateThreadEx replaced by synchronized NtCreatThread for Windows XP support.

11/3/2011  touch.player  0.0.8.2
  * Added missed qtxml.

11/2/2011  touch.player  0.0.8.1
  * Added in translate module.
  * Added subtitle position settings.

11/1/2011  touch.player  0.0.8.0
  * Communication approach with server changed.

10/30/2011  touch.player  0.0.7.2
  * Added window picker (windows only).
  * Enable attach process by window (windows only).
  * Enable attach OSDPlayer to other window (windows only).
  * TokenView removed from SignalView.

10/29/2011  touch.player  0.0.7.1
  * Asynchronized communication.
  * Annotation scheduling algorithm changed.

10/27/2011  touch.player  0.0.7.0
  * Added debug output.
  * Added system tray.
  * Removed ALPHA features.
  * Added single application feature.
  * Added font caching notification.
  * Game annotation hashing algorithm changed.

10/26/2011  touch.player  0.0.6.0
  * Get local caching work, ready for publish.

10/24/2011  touch.player  0.0.5.1
  * Mac theme and mouse events fixed

10/23/2011  touch.player  0.0.5.0
  * Renamed from touch to annot
  * Start using google code.
  * Added language selection.
  * Added annot filter.
  * Finished annot editing.
  * Finished alias editing.
  * Token tag, name and file merged into alias.
  * Game and media type merged into one.
  * Most client-side componets finished except sync mode and local cache.
  * Ready for publishing.

10/16/2011  touch.player  0.0.4.2
  * Added client side signal mode.

10/16/2011  touch.player  0.0.4.1
  * Finished GTH and process monitor module

10/12/2011  touch.player  0.0.4
  * Start with ITH

9/15/2011  touch.player  0.0.3.1
  * Added local cache using SQLite to implement SOAP client functions.
  * Added persistent storage.
  * Added licences

9/10/2011  touch.player  0.0.3
  * Replaced REST xml parser with SOAP RPC.

9/3/2011  touch.app  0.0.0.1
  * Project start.

9/3/2011  touch.player  0.0.2.1
  * Add subtitle support

8/26/2011  touch.player  0.0.2.0
  * First server side support (annotation/token/user)
  * Mac OS X new GUI
  * Several bug fixed. Stable release.
  * Support LaTeX style commands
  * Disc basic support in Windows.

7/31/2011  touch.player  0.0.1.3
  * Added AIML module.

7/30/2011  touch.player  0.0.1.2
  * Mac OS X support using VLCKit!

7/27/2011  touch.player  0.0.1.1
  * Several bug fixed. Stable release.
  * Improved command line edit.
  * Using event filter in Windows hook

7/26/2011  touch.player  0.0.1.0
  * Most GUI issue solved.
    * DWM aero
    * Mouse hook on Windows
    * OSD display
    * Graphics view animation
    * Text encoding
    * QSS and UI style
  * Directory structure changed a lot.
    * Moved common packages into Core
    * Moved Windows stuff into win32
    * Put VLC wrapper (MediaPlayer) alone.
    * Combined with touch.reader.
  * Work under Linux.
  But only tested for Windows.
  Missing VLC 1.1.x for Mac.
  * Major Missing component
    * Database
    * User
    * Network
    * Platform other then win7

6/30/2011  touch.player  0.0.0.0
  * Project launched.

6/18/2011  touch.reader  0.0.0.0
  * Project launched.

Copyright 2011-2015, Annot Cloud
Copying and distribution of this file, with or without modification, are
permitted provided the copyright notice and this notice are preserved.
