You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README-Latest.md
+8-6
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,6 @@
1
1
# Happy Reader
2
2
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.
3
+
Has 'mouseover dictionary' functionality for Japanese text in output window.
3
4
4
5
Supported by [JetBrains](https://www.jetbrains.com/?from=HappyReaderByZoltanar)
5
6
@@ -19,18 +20,18 @@ Before reporting issues or requesting features, please see [Goals](https://githu
19
20
- Enter /H Hook Code if available
20
21
- Back on `Games` Tab, launch Game by clicking `Off` button, or right-click and choose specific launch mode
21
22
- In launched game, progress to dialog section
22
-
- Back on Happy Reader, switch to 'ITHVNR' tab
23
+
- Back on Happy Reader, switch to `Text Hooking` tab
23
24
- Look for dialog text in the text thread panels or
24
25
- use the command ':s' or :sa' followed by the text to search for Happy Reader to search for the text
25
-
- example: ':s おはよう!' to search for 'おはよう!' in each text thread, in the encodings that each thread is set to
26
-
- example: ':sa おはよう!' to search for 'おはよう!' in each text thread, in all 3 encodings possible (Unicode, UTF-8, Shift-JIS) (can take longer)
26
+
- example: `:s おはよう!` to search for `おはよう!` in each text thread, in the encodings that each thread is set to
27
+
- example: `:sa おはよう!` to search for `おはよう!` in each text thread, in all 3 encodings possible (Unicode, UTF-8, Shift-JIS) (can take longer)
27
28
- Results will appear in Console thread at the top
28
29
- If :sa is used and text is is a different encoding to the one selected in text thread panel, you can change the encoding with the drop-down on the right
29
30
- On the relevant text thread panel, tick the 'Posting' checkbox, to allow text to appear in Output Window.
30
31
- Advance in game to next dialog
31
32
- A window should pop up on top of the Game Window
32
-
- If it does not, it may have appeared out of screen, click 'Reset Output Window' in ITHVNR tab to reset it to a visible location
33
-
- If it still does not appear, click 'Show Output Window' in ITHVNR tab.
33
+
- If it does not, it may have appeared out of screen, click `Reset Output Window` in Text Hooking tab to reset it to a visible location
34
+
- If it still does not appear, click 'Show Output Window' in Text Hooking tab.
34
35
- Window should contain captured text (by default, romaji and Translation is shown)
35
36
- Change location, size, and settings of Output Window to your preference
36
37
- Output Window stays on top and will re-appear if closed when new text is captured
@@ -39,6 +40,7 @@ Before reporting issues or requesting features, please see [Goals](https://githu
39
40
- Select the 'Posting' panel (click on thread name and not text box) then click 'Toggle Display Others'/'Toggle Post Others'/'Toggle Pause Others' or
40
41
- You can also click 'Clear Others' to clear existing text from threads other than selected or
41
42
- You can click `Ignore Other Threads` if you are sure that no other text threads are required
43
+
- Note: in some games, the text thread identifiers change every time it is launched, when this is the case and you have identified a hook code, it is best to save this hook code to the game, and tick the `Capture By Hook Code` option, to automatically post text from threads matching that hook code instead of using thread identifiers to store user settings.
42
44
- Play game
43
45
- Settings for which thread to capture should be saved so next time you launch the game, you should not have to set that up.
44
46
@@ -84,11 +86,11 @@ Before you run this application, you can log in with your VNDB credentials in Ha
84
86
this will ensure information about the user's labeled titles and votes is saved to the local database.
85
87
The user can also save all VNDB images and keep it synced, by changing the Image Sync options,
86
88
select the corresponding image types, the Screenshots type is the largest one at around 17GB, see https://vndb.org/d14 for more information.
89
+
(Currently, screenshot thumbnails are not used, they will be used as fallbacks to when full-size screenshots are not found.)
87
90
After changing the settings as preferred, close Happy Reader and then run DatabaseDumpReader, this can take a few minutes (5~10).
88
91
After it finishes, launch Happy Reader again and you should see VNDB data in Visual Novels and Characters sections.
89
92
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.
90
93
91
-
92
94
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.
93
95
94
96
Personal settings and VNDB data is saved to '%appdata%/Happy Reader'
Copy file name to clipboardExpand all lines: README.md
+23-14
Original file line number
Diff line number
Diff line change
@@ -1,43 +1,46 @@
1
1
# Happy Reader
2
2
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.
3
+
Has 'mouseover dictionary' functionality for Japanese text in output window.
3
4
4
5
Supported by [JetBrains](https://www.jetbrains.com/?from=HappyReaderByZoltanar)
5
6
6
7
Before reporting issues or requesting features, please see [Goals](https://github.com/Zoltanar/Happy-Reader/blob/master/Goals.md)
7
8
8
-
# Basic Guide
9
+
# Basic Guide (v2.4.0)
9
10
10
11
- Launch Happy Reader.exe
11
12
- (To close the application, you must right click the icon in the Windows tray section, next to the time)
12
13
- Click 'Settings' Tab, on the left
13
14
- Change Translator to use and enter/modify settings as needed.
14
15
- Enter path to Locale Emulator if required (LEProc.exe)
15
16
- Switch to 'Games' tab
16
-
- Drag executable to area in 'Games' tab
17
+
- Drag executable to area in `Games` tab, or click `Add New` to select executable
17
18
- Double-click or 'right-click > See Details' on Game to open Game Settings
18
19
- Change 'Hook Mode' as necessary (usually VnrHook)
19
20
- Enter /H Hook Code if available
20
-
- Back on Games Tab, launch Game by clicking 'Off' button, or 'right-click > Launch with LE (Japan)' if required
21
+
- Back on `Games` Tab, launch Game by clicking `Off` button, or right-click and choose specific launch mode
21
22
- In launched game, progress to dialog section
22
-
- Back on Happy Reader, switch to 'ITHVNR' tab
23
+
- Back on Happy Reader, switch to `Text Hooking` tab
23
24
- Look for dialog text in the text thread panels or
24
25
- use the command ':s' or :sa' followed by the text to search for Happy Reader to search for the text
25
-
- example: ':s おはよう!' to search for 'おはよう!' in each text thread, in the encodings that each thread is set to
26
-
- example: ':sa おはよう!' to search for 'おはよう!' in each text thread, in all 3 encodings possible (Unicode, UTF-8, Shift-JIS) (can take longer)
26
+
- example: `:s おはよう!` to search for `おはよう!` in each text thread, in the encodings that each thread is set to
27
+
- example: `:sa おはよう!` to search for `おはよう!` in each text thread, in all 3 encodings possible (Unicode, UTF-8, Shift-JIS) (can take longer)
27
28
- Results will appear in Console thread at the top
28
29
- If :sa is used and text is is a different encoding to the one selected in text thread panel, you can change the encoding with the drop-down on the right
29
30
- On the relevant text thread panel, tick the 'Posting' checkbox, to allow text to appear in Output Window.
30
31
- Advance in game to next dialog
31
32
- A window should pop up on top of the Game Window
32
-
- If it does not, it may have appeared out of screen, click 'Reset Output Window' in ITHVNR tab to reset it to a visible location
33
-
- If it still does not appear, click 'Show Output Window' in ITHVNR tab.
33
+
- If it does not, it may have appeared out of screen, click `Reset Output Window` in Text Hooking tab to reset it to a visible location
34
+
- If it still does not appear, click 'Show Output Window' in Text Hooking tab.
34
35
- Window should contain captured text (by default, romaji and Translation is shown)
35
36
- Change location, size, and settings of Output Window to your preference
36
37
- Output Window stays on top and will re-appear if closed when new text is captured
37
-
- At this point, everything should be ready to go, you can stop/hide other text threads to save memory and increase performance
38
+
- At this point, everything should be ready to go, you can stop/hide other text threads to save memory and increase performance:
38
39
- use 'Stop/Hide' buttons in each text thread panel or
39
-
- Select the 'Posting' panel (click on thread name and not text box) then click 'Toggle Display Others'/'Toggle Post Others'/'Toggle Pause Others'
40
-
- You can also click 'Clear Others' to clear existing text from threads other than selected.
40
+
- Select the 'Posting' panel (click on thread name and not text box) then click 'Toggle Display Others'/'Toggle Post Others'/'Toggle Pause Others' or
41
+
- You can also click 'Clear Others' to clear existing text from threads other than selected or
42
+
- You can click `Ignore Other Threads` if you are sure that no other text threads are required
43
+
- Note: in some games, the text thread identifiers change every time it is launched, when this is the case and you have identified a hook code, it is best to save this hook code to the game, and tick the `Capture By Hook Code` option, to automatically post text from threads matching that hook code instead of using thread identifiers to store user settings.
41
44
- Play game
42
45
- Settings for which thread to capture should be saved so next time you launch the game, you should not have to set that up.
43
46
@@ -50,12 +53,18 @@ Entries can be added in different ways
50
53
3. Import Names from VNDB title.
51
54
52
55
Once in the Add Entries tab, you can change various parameters.
53
-
Example of a name substitution: Type=Name, Game=Game Name (only VNDB titles currently), Role=m, Input=桜子, Output=Ouko, Series-Specific=True.
56
+
Example of a name substitution:
57
+
Type=Name, Game=User or VNDB Game Name, Role=m, Input=桜子, Output=Ouko, Series-Specific=True.
54
58
These can be tested in the 'Test' tab.
55
59
Entries of type Name and Translation use 'Proxy' entries, which will be used in the translation process.
56
60
The text in the entry's 'Role' dictates what kind of proxies to use.
57
61
If the entry has Role 'm', it will try to use a Proxy with role 'm'.
58
-
Some proxies will be created by default (with Role 'm') but more may be needed (and will be added by default in the future).
62
+
Some proxies will be created by default but more may be needed if a sentence has a lot of separate names.
63
+
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.
64
+
This can be text that is unlikely to be changed by the translators such as `ZBXC > ZBXC`
65
+
or proper nouns without many alternative readings, which can help with context,
66
+
like `由紀子>Yukiko`, as it is a female name, it should return translation in a female context.
67
+
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.
59
68
Proxy Role suggestions:
60
69
- m = Name
61
70
- m.f = Female Name (defaults to 'm' if 'm.f' proxies are not found)
@@ -77,11 +86,11 @@ Before you run this application, you can log in with your VNDB credentials in Ha
77
86
this will ensure information about the user's labeled titles and votes is saved to the local database.
78
87
The user can also save all VNDB images and keep it synced, by changing the Image Sync options,
79
88
select the corresponding image types, the Screenshots type is the largest one at around 17GB, see https://vndb.org/d14 for more information.
89
+
(Currently, screenshot thumbnails are not used, they will be used as fallbacks to when full-size screenshots are not found.)
80
90
After changing the settings as preferred, close Happy Reader and then run DatabaseDumpReader, this can take a few minutes (5~10).
81
91
After it finishes, launch Happy Reader again and you should see VNDB data in Visual Novels and Characters sections.
82
92
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.
83
93
84
-
85
94
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.
86
95
87
96
Personal settings and VNDB data is saved to '%appdata%/Happy Reader'
0 commit comments