Zoltanar / Happy-Reader

VNDB explorer and VNR-like text hooker.
Other
21 stars 1 forks source link
extract-text game-launcher ithvnr text-hooking translation-apis visual-novels vndb vnr wpf

# Happy Reader WPF Program to search for data from VNDB.org via API and data dump files, also a 'game launcher' for visual novels with ability to extract text from visual novels and translate to English on-the-fly, using translation APIs and user-entered text substitutions. Has 'mouseover dictionary' functionality for Japanese text in output window.

Supported by JetBrains

Before reporting issues or requesting features, please see Goals

Basic Guide (v2.7.0)

Entries (Custom Text Replacement)

The user can add custom text replacements to assist translation, this can be especially useful with regards to character names. Entries can be added in different ways

  1. Entries Tab: Select Entries tab and click Add Entries
  2. Select text in Output Window and right-click > Add Entry for Text
  3. Import Names from VNDB title.

Once in the Add Entries tab, you can change various parameters.
Example of a name substitution:
Type=Name, Game=User or VNDB Game Name, Role=m, Input=桜子, Output=Ouko, Series-Specific=True.
These can be tested in the Test tab.
Entries of type Name and Translation use Proxy entries, which will be used in the translation process.
The text in the entry's Role dictates what kind of proxies to use.
If the entry has Role m, it will try to use a Proxy with role m. Some proxies will be created by default but more may be needed if a sentence has a lot of separate names.
These can be added by creating entries of type Proxy which have an output that should match what a translator returns, when the input is provided.
This can be text that is unlikely to be changed by the translators such as ZBXC > ZBXC
or proper nouns without many alternative readings, which can help with context,
like 由紀子>Yukiko, as it is a female name, it should return translation in a female context.
By creating proxies with specific Roles (like the above with role m.f) and then creating entries that use said roles (アリス>Arisu with role m.f), translation quality should improve.
Proxy Role suggestions:

Mouseover Dictionary

There is functionality to display definition of Japanese Kanji/words when placing the mouse over such text in the following panels:

  1. Text Thread Panels in Text Hooking tab
  2. Original panel in Test tab
  3. Original text in Output Window

This can be enabled in the Settings tab (Dictionary on Mouse-over), a path to the folder with the dictionary files must be entered. You can download these files from the releases page but they must be extracted before they can be used.

VNDB Integration

If the user wishes, they may use the VNDB integration features, such as

In order to use these features, the user must get VNDB data by clicking 'Update VNDB Data' in Settings,
which will download files with all the VNDB information (around 100MB).
If you log in prior to running this update, the user's data will also be populated. The user can also save all VNDB images and keep it synced, by changing the Image Sync options,
select the corresponding image types, the Screenshots type is the largest one at around 17GB, see https://vndb.org/d14 for more information.
Screenshot thumbnails are used as a fallback when full-size screenshots are not found.
This update can take a few minutes (5~10) but can run in the background while Happy Reader is running, the user will be asked at the end of the update to replace the local VNDB database with the new data, no user data is lost, as that is stored in a different database.
You should see VNDB data in 'Visual Novels' and 'Characters' sections.
You can filter this information by clicking Filters in the right, a permanent filter can be set that will always be active, and you can also create custom filters to switch through.

For developers: Translation Plugins can be created by inheriting from ITranslator interface in Happy_Apps_Core and placed (along their dependencies) in Translation Plugins folder which lies beside Happy Reader.

Personal settings and VNDB data is saved to %appdata%/Happy Reader