Skip to content

Commit 64305a6

Browse files
committed
Release prep; Renamed ITHVNR tab to Text Hooking.
1 parent c0f227f commit 64305a6

File tree

11 files changed

+55
-45
lines changed

11 files changed

+55
-45
lines changed

DatabaseDumpReader/Properties/AssemblyInfo.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -31,5 +31,5 @@
3131
// You can specify all the values or you can default the Build and Revision Numbers
3232
// by using the '*' as shown below:
3333
// [assembly: AssemblyVersion("1.0.*")]
34-
[assembly: AssemblyVersion("1.0.0.0")]
35-
[assembly: AssemblyFileVersion("1.0.0.0")]
34+
[assembly: AssemblyVersion("2.4.0.0")]
35+
[assembly: AssemblyFileVersion("2.4.0.0")]

Goals-Latest.md

+2-3
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,13 @@
55
- option to do this automatically: remove translations from cache if not used recently or originally cached too long ago.
66
- apply translate stage 4 to pre-romaji
77
#### Filters
8-
- Priority: Add producer filter
98
- staff filter by name instead of id
109
- add seiyuu filter to character
1110
- set default filter (different from permanent filter)
1211
#### Test Tab
1312
- show if translation was cached or not and give option to re-fetch
1413
- list entries used per stage.
15-
#### ITHVNR
16-
- rename tab to Text Hooking
14+
#### Text Hooking
1715
- use ithvnr tab to also show captured clipboard text format like: \[process/pid] \[outputted] \[text]
1816
- let user name threads and delete saved
1917
- text thread panel max height (scrollbar if needed)
@@ -34,6 +32,7 @@
3432
- DatabaseDumpReader: Icon
3533
- Logs: Link to folder, show size taken, option to clear.
3634
- Information Tab: Show Size of Vndb Images, show total size.
35+
- Use Screenshot Thumbnails when full-size is not found.
3736

3837
## Issues
3938
- can't show outputwindow on top of some fullscreen games, steals focus on games where it works (might need direct draw)

Goals.md

+12-12
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
1-
# For Version 2.3.0
1+
# For Latest Committed
22
## Future Features
3-
#### Entries
4-
- allow saving to usergame instead of vn game
5-
- allow proxy mods with multiple proxies ([[m#1]]-[[m#2]])
63
#### Translation
7-
- Offline dictionary for faster (mouseover?) word lookups
4+
- Make mouseover dictionary tooltip nicer
85
- option to do this automatically: remove translations from cache if not used recently or originally cached too long ago.
96
- apply translate stage 4 to pre-romaji
107
#### Filters
@@ -14,25 +11,28 @@
1411
#### Test Tab
1512
- show if translation was cached or not and give option to re-fetch
1613
- list entries used per stage.
17-
#### ITHVNR
14+
#### Text Hooking
1815
- use ithvnr tab to also show captured clipboard text format like: \[process/pid] \[outputted] \[text]
19-
- better saving/loading game text threads, let user name threads and delete saved
20-
- once any thread has been saved as posting, change default for new threads to stop/hide.
16+
- let user name threads and delete saved
2117
- text thread panel max height (scrollbar if needed)
2218
- VnrHook: handle maximum threads either change limit or reset ability
2319
- look at global hooks for changing ITHVNR settings via global hotkeys [GlobalMouseKeyHook](https://github.com/gmamaladze/globalmousekeyhook)
2420
#### Output Window
25-
- check if output window is in visible area of screens, if not, reset it.
2621
- alternate colors between blocks
2722
#### User Games
28-
- option to always launch games with some locale if windows locale is not already set to that, and option to override it.
29-
- context option to launch without hooking.
23+
- see details should change to correct user game tab when multiple user games for one vn
3024
- allow keeping time played for multiple games/allow process monitor to keep running always/make process monitor only have one instance
3125
- launch title from VN context menu
3226
#### Other
3327
- warn if an instance is already running (maybe show database file for opening instance)
3428
- show written tag description on tooltip
3529
- MainWindow: allow scrolling on main window tab control when too many tabs and add close all tabs button
3630
- Settings: if login response is error with id 'needlogin' show user that credentials are wrong
31+
- DatabaseDumpReader: Parallelise?
32+
- DatabaseDumpReader: Icon
33+
- Logs: Link to folder, show size taken, option to clear.
34+
- Information Tab: Show Size of Vndb Images, show total size.
35+
- Use Screenshot Thumbnails when full-size is not found.
36+
3737
## Issues
38-
- can't show Output Window on top of some fullscreen games, steals focus on games where it works (might need direct draw)
38+
- can't show outputwindow on top of some fullscreen games, steals focus on games where it works (might need direct draw)

HRGoogleTranslate/GoogleTranslateApi.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public class GoogleTranslateApi : ITranslator
2626

2727
private TranslationClient _client;
2828

29-
public string Version => "1.0";
29+
public string Version => "1.1";
3030
public string SourceName => "Google Translate API";
3131
public string Error { get; set; }
3232
public IReadOnlyDictionary<string, Type> Properties { get; } = new ReadOnlyDictionary<string, Type>(new Dictionary<string, Type>()

HRGoogleTranslate/Properties/AssemblyInfo.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -31,5 +31,5 @@
3131
// You can specify all the values or you can default the Build and Revision Numbers
3232
// by using the '*' as shown below:
3333
// [assembly: AssemblyVersion("1.0.*")]
34-
[assembly: AssemblyVersion("1.0.0.0")]
35-
[assembly: AssemblyFileVersion("1.0.0.0")]
34+
[assembly: AssemblyVersion("1.1.0.0")]
35+
[assembly: AssemblyFileVersion("1.1.0.0")]

Happy Reader/View/MainWindow.xaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
<TabItem Header="Games" >
5252
<tabs:UserGamesTab x:Name="UserGamesTabItem" DataContext="{Binding UserGamesViewModel}"/>
5353
</TabItem>
54-
<TabItem Header="ITHVNR" x:Name="IthTabItem">
54+
<TabItem Header="Text Hooking" x:Name="IthTabItem">
5555
<tabs:IthVnrTab DataContext="{Binding IthViewModel}"/>
5656
</TabItem>
5757
<TabItem Header="Entries" x:Name="EntriesTabItem">

HappySearchObjectClasses/StaticHelpers.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public static class StaticHelpers
4343
#endregion
4444

4545
public const string ClientName = "Happy Reader";
46-
public const string ClientVersion = "2.3.0";
46+
public const string ClientVersion = "2.4.0";
4747
private const string PasswordRegistryKey = "SOFTWARE\\" + ClientName;
4848
private const string PasswordRegistryCipherValueName = "Data1";
4949
private const string PasswordRegistryEntropyValueName = "Data2";

Kakasi.NET.Interop/Properties/AssemblyInfo.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,5 @@
3232
// You can specify all the values or you can default the Build and Revision Numbers
3333
// by using the '*' as shown below:
3434
// [assembly: AssemblyVersion("1.0.*")]
35-
[assembly: AssemblyVersion("2.2.0.0")]
36-
[assembly: AssemblyFileVersion("2.2.0.0")]
35+
[assembly: AssemblyVersion("2.4.0.0")]
36+
[assembly: AssemblyFileVersion("2.4.0.0")]

README-Latest.md

+8-6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# Happy Reader
22
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.
34

45
Supported by [JetBrains](https://www.jetbrains.com/?from=HappyReaderByZoltanar)
56

@@ -19,18 +20,18 @@ Before reporting issues or requesting features, please see [Goals](https://githu
1920
- Enter /H Hook Code if available
2021
- Back on `Games` Tab, launch Game by clicking `Off` button, or right-click and choose specific launch mode
2122
- 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
2324
- Look for dialog text in the text thread panels or
2425
- 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)
2728
- Results will appear in Console thread at the top
2829
- 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
2930
- On the relevant text thread panel, tick the 'Posting' checkbox, to allow text to appear in Output Window.
3031
- Advance in game to next dialog
3132
- 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.
3435
- Window should contain captured text (by default, romaji and Translation is shown)
3536
- Change location, size, and settings of Output Window to your preference
3637
- 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
3940
- Select the 'Posting' panel (click on thread name and not text box) then click 'Toggle Display Others'/'Toggle Post Others'/'Toggle Pause Others' or
4041
- You can also click 'Clear Others' to clear existing text from threads other than selected or
4142
- 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.
4244
- Play game
4345
- Settings for which thread to capture should be saved so next time you launch the game, you should not have to set that up.
4446

@@ -84,11 +86,11 @@ Before you run this application, you can log in with your VNDB credentials in Ha
8486
this will ensure information about the user's labeled titles and votes is saved to the local database.
8587
The user can also save all VNDB images and keep it synced, by changing the Image Sync options,
8688
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.)
8790
After changing the settings as preferred, close Happy Reader and then run DatabaseDumpReader, this can take a few minutes (5~10).
8891
After it finishes, launch Happy Reader again and you should see VNDB data in Visual Novels and Characters sections.
8992
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.
9093

91-
9294
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.
9395

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

README.md

+23-14
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,46 @@
11
# Happy Reader
22
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.
34

45
Supported by [JetBrains](https://www.jetbrains.com/?from=HappyReaderByZoltanar)
56

67
Before reporting issues or requesting features, please see [Goals](https://github.com/Zoltanar/Happy-Reader/blob/master/Goals.md)
78

8-
# Basic Guide
9+
# Basic Guide (v2.4.0)
910

1011
- Launch Happy Reader.exe
1112
- (To close the application, you must right click the icon in the Windows tray section, next to the time)
1213
- Click 'Settings' Tab, on the left
1314
- Change Translator to use and enter/modify settings as needed.
1415
- Enter path to Locale Emulator if required (LEProc.exe)
1516
- 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
1718
- Double-click or 'right-click > See Details' on Game to open Game Settings
1819
- Change 'Hook Mode' as necessary (usually VnrHook)
1920
- 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
2122
- 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
2324
- Look for dialog text in the text thread panels or
2425
- 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)
2728
- Results will appear in Console thread at the top
2829
- 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
2930
- On the relevant text thread panel, tick the 'Posting' checkbox, to allow text to appear in Output Window.
3031
- Advance in game to next dialog
3132
- 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.
3435
- Window should contain captured text (by default, romaji and Translation is shown)
3536
- Change location, size, and settings of Output Window to your preference
3637
- 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:
3839
- 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.
4144
- Play game
4245
- Settings for which thread to capture should be saved so next time you launch the game, you should not have to set that up.
4346

@@ -50,12 +53,18 @@ Entries can be added in different ways
5053
3. Import Names from VNDB title.
5154

5255
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.
5458
These can be tested in the 'Test' tab.
5559
Entries of type Name and Translation use 'Proxy' entries, which will be used in the translation process.
5660
The text in the entry's 'Role' dictates what kind of proxies to use.
5761
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.
5968
Proxy Role suggestions:
6069
- m = Name
6170
- 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
7786
this will ensure information about the user's labeled titles and votes is saved to the local database.
7887
The user can also save all VNDB images and keep it synced, by changing the Image Sync options,
7988
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.)
8090
After changing the settings as preferred, close Happy Reader and then run DatabaseDumpReader, this can take a few minutes (5~10).
8191
After it finishes, launch Happy Reader again and you should see VNDB data in Visual Novels and Characters sections.
8292
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.
8393

84-
8594
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.
8695

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

0 commit comments

Comments
 (0)