Skip to content

Commit 5d20a8d

Browse files
committed
Release 1.1.0
1 parent 774734f commit 5d20a8d

13 files changed

Lines changed: 133 additions & 79 deletions

File tree

CHANGELOG.md

Lines changed: 57 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,75 @@
11
# Changelog
22

3-
All notable changes to ScreenTextGrab are documented in this file.
3+
All notable released changes to ScreenTextGrab are documented here.
44

5-
## 1.0.1 - 2026-03-09
5+
## Unreleased
6+
7+
- No unreleased changes are recorded yet.
8+
9+
## 1.1.0 - 2026-03-18
10+
11+
### Added
12+
- English and Turkish interface selection inside the app.
13+
- Menu bar update flow with check, download progress, and restart-to-update states.
14+
- Finder Services localization resources for English and Turkish builds.
15+
16+
### Improved
17+
- Refreshed the menu bar interface, settings surfaces, and product screenshots.
18+
- Updated the README and release docs to match the current import, localization,
19+
and product-tour flows.
20+
- Multi-file image and PDF imports now queue and run one by one instead of
21+
silently dropping later files.
22+
23+
### Fixed
24+
- Import routing now recognizes supported image and PDF files even when they
25+
arrive without a filename extension.
26+
- Update button accessibility labels now match the visible update state.
27+
- Saved-region Smart Start messaging no longer duplicates the same suggestion
28+
in multiple places inside the menu panel.
29+
30+
### Release
31+
- Published as tag `v1.1.0`.
32+
33+
## 1.0.3 - 2026-03-15
34+
35+
### Fixed
36+
- Corrected the GitHub release workflow paths used for release verification.
37+
- Synced the shipped app version and build number with the public release.
38+
39+
### Release
40+
- Published as tag `v1.0.3`.
41+
42+
## 1.0.2 - 2026-03-15
643

744
### Added
845
- User-configurable global hotkey with persistence and reset to default.
9-
- Launch-at-login toggle backed by `SMAppService`.
46+
- Launch-at-login support backed by `SMAppService`.
1047
- OCR language preferences with automatic language detection support.
11-
- Multiple capture modes: Standard, Subtitle, Code, and Table.
48+
- Multiple capture modes: `Standard`, `Subtitle`, `Code`, and `Table`.
1249
- QR and barcode fallback when OCR is weak or empty.
1350
- Watch mode for repeated OCR on a selected region.
14-
- Smart actions for captured content such as open link, compose mail, call number, web search, translate, and text-to-speech.
51+
- Smart actions for links, email addresses, phone numbers, search, translation,
52+
and text-to-speech.
1553
- Searchable persisted capture history with export support.
16-
- UI test target and launch-panel UI coverage.
17-
- Repository audit, CI workflow, release build, notarization, verification, and cleanup scripts.
54+
- CI, repository audit, release build, notarization, verification, and cleanup
55+
scripts.
1856

1957
### Improved
20-
- Menu bar interface was compacted and reworked for clearer controls and smaller-screen behavior.
21-
- App icon set, menu bar icon, and visual theme were refreshed for a more coherent product identity.
22-
- Launch/onboarding flow now distinguishes foreground launch from background/login launch.
23-
- Screen Recording permission checks now use passive verification before prompting the user.
24-
- Capture pipeline behavior is mode-aware, including subtitle-focused OCR and code/table-specific formatting.
25-
- Installed-app detection now handles both `/Applications` and `~/Applications`.
58+
- Menu bar interface was compacted and reworked for clearer controls and
59+
smaller-screen behavior.
60+
- Screen Recording permission checks now use passive verification before
61+
prompting the user.
62+
- Capture behavior is mode-aware, including subtitle-focused OCR and
63+
code/table-specific formatting.
64+
- Installed-app detection handles both `/Applications` and `~/Applications`.
2665

2766
### Fixed
28-
- Repeated Screen Recording permission prompts after the user had already granted access.
29-
- Incorrect permission-state reporting in the app surface.
67+
- Repeated Screen Recording permission prompts after access had already been
68+
granted.
3069
- Launch-at-login state mismatches and stale registration edge cases.
31-
- Global hotkey registration silently failing without clear feedback.
70+
- Global hotkey registration failures with weak user feedback.
3271
- Menu panel overflow and unreadable capture-mode controls.
33-
- Watch mode race where OCR work could finish after the user stopped watching.
34-
- Missing or inconsistent app icon metadata in installed builds.
3572
- Release builds incorrectly carrying development entitlements.
3673

37-
### Developer Experience
38-
- Added GitHub repository hygiene files and security documentation.
39-
- Added release verification guidance for local smoke builds versus public notarized builds.
40-
- Expanded unit coverage around launch-at-login, permissions, output formatting, QR fallback, smart actions, and watch mode.
41-
42-
### Verification
43-
- `xcodebuild build-for-testing` succeeds for app, unit tests, and UI tests.
44-
- Repository audit passes via `./scripts/repo_audit.sh`.
45-
- Public distribution still requires notarization with a configured `notarytool` profile when shipping outside local installs.
74+
### Release
75+
- Published as tag `v1.0.2`.

README.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ Options:
117117
- `Import > Read Image File`
118118
- drag the image onto the menu panel
119119
- `Open With > ScreenTextGrab` in Finder
120-
- Finder Services: `OCR with ScreenTextGrab`
120+
- the Finder Services OCR action
121121

122122
Terminal:
123123

@@ -239,7 +239,10 @@ Available entry points:
239239
- searchable PDF export
240240
- drag and drop onto the menu panel
241241
- Finder `Open With > ScreenTextGrab`
242-
- Finder Services: `OCR with ScreenTextGrab`
242+
- the Finder Services OCR action
243+
244+
If multiple supported files are sent to the app at once, ScreenTextGrab queues
245+
them and imports them one by one.
243246

244247
## Automation
245248

RELEASE_CHECKLIST.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ xcodegen generate --spec project.yml
2222
- To build, notarize, verify, and publish the GitHub release in one local command:
2323

2424
```bash
25-
./scripts/publish_release.sh v1.0.1 --draft
25+
./scripts/publish_release.sh vX.Y.Z --draft
2626
```
2727

2828
- The script uses Xcode's `developer-id` export flow. Make sure the selected Apple Developer team in Xcode has access to create or use Developer ID signing assets.

RELEASE_NOTES.md

Lines changed: 24 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,35 @@
1-
# ScreenTextGrab 1.0.1 Release Notes
1+
# ScreenTextGrab 1.1.0 Release Notes
22

33
## Summary
44

5-
ScreenTextGrab 1.0.1 turns the app from a basic menu bar OCR utility into a broader capture workflow tool for macOS. The release focuses on faster day-to-day use, better installation behavior, clearer permissions, and stronger capture outputs for subtitles, code, tables, and barcodes.
5+
ScreenTextGrab 1.1.0 turns the post-release polish work into a full product
6+
update: the app interface is now bilingual, the menu bar panel is cleaner, the
7+
release surface is better aligned with the shipped behavior, and local image/PDF
8+
imports behave more reliably.
69

7-
## What's New
10+
## Highlights
811

9-
### Faster everyday workflow
10-
- Capture from the menu bar or a configurable global shortcut.
11-
- Choose whether the app launches automatically at login.
12-
- Use watch mode to keep monitoring a region and copy updates only when the text changes.
13-
14-
### Better OCR output
15-
- Pick a capture mode for standard text, subtitles, code, or tables.
16-
- Use OCR language preferences with auto-detection support.
17-
- Fall back to QR and barcode detection when text recognition is not the right fit.
18-
19-
### Smarter follow-up actions
20-
- Open captured links directly.
21-
- Start an email or phone action when the result contains contact details.
22-
- Run quick web search, translation, or text-to-speech actions from the latest result.
23-
24-
### Stronger app behavior
25-
- Improved Screen Recording permission handling after first grant.
26-
- Better login-item state reporting and installed-app detection.
27-
- Refined launch behavior for menu bar use versus foreground onboarding.
28-
- Updated icon set and refreshed visual theme.
12+
- Added in-app interface language switching for English and Turkish.
13+
- Added a menu bar updater flow with check, download progress, and
14+
`Restart & Update`.
15+
- Improved menu panel density, wording, and screenshot/documentation accuracy.
16+
- Queued multi-file Finder and import automation requests instead of handling
17+
only the first supported file.
18+
- Localized Finder Services resources for both shipped interface languages.
2919

3020
## User Impact
3121

32-
- Less friction after first-time setup.
33-
- More reliable results on subtitles, code snippets, and tables.
34-
- Better fit for repeated workflows instead of one-off OCR only.
35-
- Cleaner project packaging and release tooling for ongoing maintenance.
36-
37-
## Upgrade Notes
38-
39-
- If you are moving from an older differently signed local build, macOS may require a one-time refresh of Screen Recording permission.
40-
- For public distribution outside direct local installs, complete notarization after running the signed release build.
22+
- The app feels more productized on first launch and inside the menu bar.
23+
- Users can keep the UI in English or Turkish without changing the system
24+
language.
25+
- Imported images and PDFs behave more predictably when multiple files are sent
26+
to the app at once.
27+
- The local release ZIP stays compatible with the one-command installer and the
28+
built-in update mechanism.
4129

4230
## Validation Snapshot
4331

44-
- Repository audit passes.
45-
- Build-for-testing succeeds for the app, unit tests, and UI tests.
46-
- Release packaging, signing, and verification scripts are included in `scripts/`.
32+
- Release ships as tag `v1.1.0`.
33+
- Public artifact remains `ScreenTextGrab.zip`.
34+
- Signed build, notarization, stapler validation, Gatekeeper validation, unit
35+
tests, UI tests, and repository audit all passed for this release.

ScreenTextGrab.xcodeproj/project.pbxproj

Lines changed: 33 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
objects = {
88

99
/* Begin PBXBuildFile section */
10+
18147C048AF3F74A586F1729 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 4C43ED14956C5C6A0899475C /* InfoPlist.strings */; };
1011
185FEBB3AF5E75C578BD3658 /* CaptureOutputFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10988DE9D519FB7C12E21441 /* CaptureOutputFormatter.swift */; };
1112
19631CE8D3FDCF60066B7116 /* SelectionOverlay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 691E0B85C0EB91A1D64E46BB /* SelectionOverlay.swift */; };
1213
2290E0C8538BBF615847D375 /* LaunchAtLoginServiceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51EAB51912760565BC654DF4 /* LaunchAtLoginServiceTests.swift */; };
@@ -41,6 +42,7 @@
4142
E74F01E9696AFA0BD4D2D8F6 /* CapturePreferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C13B3F98484393217058119 /* CapturePreferences.swift */; };
4243
E980588F83694317D8CA6F8C /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 3B0B266DE7620D34BBF81065 /* Localizable.strings */; };
4344
E9E8E5B8E34F0820AADB68CB /* LaunchAtLoginService.swift in Sources */ = {isa = PBXBuildFile; fileRef = A81722B125426EBF76936C64 /* LaunchAtLoginService.swift */; };
45+
EDD48DD57E2C15D0DD1E6AC6 /* ServicesMenu.strings in Resources */ = {isa = PBXBuildFile; fileRef = 9AD9726ECDB5A2895BDE6FE2 /* ServicesMenu.strings */; };
4446
F03566383783B15B01FFF4DE /* CaptureOutputFormatterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E54F75C3EE2CBFF07CC7223 /* CaptureOutputFormatterTests.swift */; };
4547
F12DB13B34B4AAF60E9900A8 /* CaptureCoordinatorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6325F6636FC5677505AA2C6 /* CaptureCoordinatorTests.swift */; };
4648
F88F93E2CD1B3E457EE10118 /* Logging.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36FBCB6ED2013B9BDFF7B34D /* Logging.swift */; };
@@ -78,6 +80,7 @@
7880
36FBCB6ED2013B9BDFF7B34D /* Logging.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Logging.swift; sourceTree = "<group>"; };
7981
3AA320529CFEA82E1C22DBF8 /* AppState+ContextSuggestions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "AppState+ContextSuggestions.swift"; sourceTree = "<group>"; };
8082
3E54F75C3EE2CBFF07CC7223 /* CaptureOutputFormatterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CaptureOutputFormatterTests.swift; sourceTree = "<group>"; };
83+
41672890A634930C78431882 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/ServicesMenu.strings; sourceTree = "<group>"; };
8184
439AB8319D466E099CE36AB3 /* AppModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppModels.swift; sourceTree = "<group>"; };
8285
455984721CAF976508C28F5B /* ScreenTextGrab.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ScreenTextGrab.app; sourceTree = BUILT_PRODUCTS_DIR; };
8386
45ED1A4C0E3AFB208B888E85 /* Localization.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Localization.swift; sourceTree = "<group>"; };
@@ -87,6 +90,7 @@
8790
5587443DE37934A6C44C0D8A /* AutomationSupport.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutomationSupport.swift; sourceTree = "<group>"; };
8891
57637AC54FF6F7DF88F515FC /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
8992
5D5BE4199EDB2D68BF621F22 /* WatchTextFilterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WatchTextFilterTests.swift; sourceTree = "<group>"; };
93+
6098A20DF9212D7BE6242F84 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
9094
60A7302D5F692E7C7CEC0F50 /* ScreenPermissionServiceTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScreenPermissionServiceTests.swift; sourceTree = "<group>"; };
9195
60ECF18625B72ECFD2D918F0 /* ScreenTextGrabUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScreenTextGrabUITests.swift; sourceTree = "<group>"; };
9296
6347794F3E2FA318922C231A /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Localizable.strings; sourceTree = "<group>"; };
@@ -102,10 +106,12 @@
102106
A81722B125426EBF76936C64 /* LaunchAtLoginService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LaunchAtLoginService.swift; sourceTree = "<group>"; };
103107
A8891012CC830AA36376ECC6 /* ScreenTextGrabTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ScreenTextGrabTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
104108
AFDDE27870842EC2C0972037 /* AppUpdateService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppUpdateService.swift; sourceTree = "<group>"; };
109+
B8D0F46AF45AA5E034B3CF9A /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/ServicesMenu.strings; sourceTree = "<group>"; };
105110
C2EFE7EDBD48BF5FCEF8F8EB /* MenuBarView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MenuBarView.swift; sourceTree = "<group>"; };
106111
C5DDC62ED04B7F343130D5E3 /* AppUpdateServiceTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppUpdateServiceTests.swift; sourceTree = "<group>"; };
107112
D837B65BF51EB3E7DBE4DAF0 /* AutomationIntents.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutomationIntents.swift; sourceTree = "<group>"; };
108113
DA00A3409351D42C19881235 /* SettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsView.swift; sourceTree = "<group>"; };
114+
DBF095C2EBFEEA6F1A870EE4 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/InfoPlist.strings; sourceTree = "<group>"; };
109115
DDA101828FA23B1C6A17F33A /* OCRService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OCRService.swift; sourceTree = "<group>"; };
110116
EBEF558C0B53262FBA630D96 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
111117
F6B811E93E42BDCF8E6BBDEF /* ScreenTextGrabApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScreenTextGrabApp.swift; sourceTree = "<group>"; };
@@ -198,7 +204,9 @@
198204
A5573E5EEA16B6EA458FF403 /* Resources */ = {
199205
isa = PBXGroup;
200206
children = (
207+
4C43ED14956C5C6A0899475C /* InfoPlist.strings */,
201208
3B0B266DE7620D34BBF81065 /* Localizable.strings */,
209+
9AD9726ECDB5A2895BDE6FE2 /* ServicesMenu.strings */,
202210
);
203211
path = Resources;
204212
sourceTree = "<group>";
@@ -312,7 +320,6 @@
312320
};
313321
};
314322
buildConfigurationList = 373B41B85DE3B8194F7EF2C7 /* Build configuration list for PBXProject "ScreenTextGrab" */;
315-
compatibilityVersion = "Xcode 14.0";
316323
developmentRegion = en;
317324
hasScannedForEncodings = 0;
318325
knownRegions = (
@@ -323,6 +330,7 @@
323330
mainGroup = 8AB026D43D76F140A30256A3;
324331
minimizedProjectReferenceProxies = 1;
325332
preferredProjectObjectVersion = 77;
333+
productRefGroup = D4DBE3345338D089D28B3EF8 /* Products */;
326334
projectDirPath = "";
327335
projectRoot = "";
328336
targets = (
@@ -339,7 +347,9 @@
339347
buildActionMask = 2147483647;
340348
files = (
341349
4FC1394D39DF39D813007D36 /* Assets.xcassets in Resources */,
350+
18147C048AF3F74A586F1729 /* InfoPlist.strings in Resources */,
342351
E980588F83694317D8CA6F8C /* Localizable.strings in Resources */,
352+
EDD48DD57E2C15D0DD1E6AC6 /* ServicesMenu.strings in Resources */,
343353
);
344354
runOnlyForDeploymentPostprocessing = 0;
345355
};
@@ -428,6 +438,24 @@
428438
name = Localizable.strings;
429439
sourceTree = "<group>";
430440
};
441+
4C43ED14956C5C6A0899475C /* InfoPlist.strings */ = {
442+
isa = PBXVariantGroup;
443+
children = (
444+
6098A20DF9212D7BE6242F84 /* en */,
445+
DBF095C2EBFEEA6F1A870EE4 /* tr */,
446+
);
447+
name = InfoPlist.strings;
448+
sourceTree = "<group>";
449+
};
450+
9AD9726ECDB5A2895BDE6FE2 /* ServicesMenu.strings */ = {
451+
isa = PBXVariantGroup;
452+
children = (
453+
B8D0F46AF45AA5E034B3CF9A /* en */,
454+
41672890A634930C78431882 /* tr */,
455+
);
456+
name = ServicesMenu.strings;
457+
sourceTree = "<group>";
458+
};
431459
/* End PBXVariantGroup section */
432460

433461
/* Begin XCBuildConfiguration section */
@@ -592,12 +620,12 @@
592620
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
593621
CODE_SIGN_STYLE = Automatic;
594622
COMBINE_HIDPI_IMAGES = YES;
595-
CURRENT_PROJECT_VERSION = 4;
623+
CURRENT_PROJECT_VERSION = 5;
596624
ENABLE_HARDENED_RUNTIME = YES;
597625
GENERATE_INFOPLIST_FILE = NO;
598626
INFOPLIST_FILE = ScreenTextGrab/Info.plist;
599627
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
600-
MARKETING_VERSION = 1.0.3;
628+
MARKETING_VERSION = 1.1.0;
601629
PRODUCT_BUNDLE_IDENTIFIER = dev.screentextgrab.app;
602630
PRODUCT_NAME = ScreenTextGrab;
603631
SDKROOT = macosx;
@@ -648,12 +676,12 @@
648676
CODE_SIGN_INJECT_BASE_ENTITLEMENTS = NO;
649677
CODE_SIGN_STYLE = Automatic;
650678
COMBINE_HIDPI_IMAGES = YES;
651-
CURRENT_PROJECT_VERSION = 4;
679+
CURRENT_PROJECT_VERSION = 5;
652680
ENABLE_HARDENED_RUNTIME = YES;
653681
GENERATE_INFOPLIST_FILE = NO;
654682
INFOPLIST_FILE = ScreenTextGrab/Info.plist;
655683
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
656-
MARKETING_VERSION = 1.0.3;
684+
MARKETING_VERSION = 1.1.0;
657685
PRODUCT_BUNDLE_IDENTIFIER = dev.screentextgrab.app;
658686
PRODUCT_NAME = ScreenTextGrab;
659687
SDKROOT = macosx;

ScreenTextGrab/Info.plist

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
<key>NSMenuItem</key>
3131
<dict>
3232
<key>default</key>
33-
<string>ScreenTextGrab ile OCR</string>
33+
<string>OCR with ScreenTextGrab</string>
3434
</dict>
3535
<key>NSMessage</key>
3636
<string>importSelectedFiles</string>
@@ -91,6 +91,6 @@
9191
<key>STGUpdateLatestReleaseAPIURL</key>
9292
<string>https://api.github.com/repos/batu3384/ScreenTextGrab/releases/latest</string>
9393
<key>NSScreenCaptureUsageDescription</key>
94-
<string>ScreenTextGrab ekranınızdan metin okuyabilmek için ekran kaydı iznine ihtiyaç duyar.</string>
94+
<string>ScreenTextGrab needs Screen Recording permission to read text from your screen.</string>
9595
</dict>
9696
</plist>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
"NSScreenCaptureUsageDescription" = "ScreenTextGrab needs Screen Recording permission to read text from your screen.";
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
"default" = "OCR with ScreenTextGrab";
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
"NSScreenCaptureUsageDescription" = "ScreenTextGrab ekranınızdan metin okuyabilmek için ekran kaydı iznine ihtiyaç duyar.";
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
"default" = "ScreenTextGrab ile OCR";

0 commit comments

Comments
 (0)