feat: updated german and hungarian localizations

This commit is contained in:
Louis Pontoise authored and lwouis committed 2020-07-21 07:10:54 +09:00
1 parent 11fb95d1d0
commit 7a23046015
6 files changed
+53 -42

No files matched your search

+1 -1
View File
@@ -36,7 +36,7 @@
"Allowed" = "Erlaubt";
/*No comment provided by engineer.*/
"AltTab needs some permissions" = "AltTab braucht einige Erlaubnisse";
"AltTab needs some permissions" = "AltTab braucht einige Berechtigungen";
/*No comment provided by engineer.*/
"Apparition delay:" = "Verzögertes Einblenden:";
+26 -26
View File
@@ -3,7 +3,7 @@
"About" = "Az App-ról";
/*No comment provided by engineer.*/
"Accessibility" = "Accessibility";
"Accessibility" = "Kisegítő lehetőségek";
/*No comment provided by engineer.*/
"Acknowledgments" = "Köszönetnyílvánítás";
@@ -24,7 +24,7 @@
"All apps" = "Minden alkalmazás";
/*No comment provided by engineer.*/
"All data from this form will be made public, as a ticket on github.com" = "All data from this form will be made public, as a ticket on github.com";
"All data from this form will be made public, as a ticket on github.com" = "Minden adat amit ezen az űrlapon megadott publikus lesz egy Github jegy formájában";
/*No comment provided by engineer.*/
"All screens" = "Minden képernyő";
@@ -33,10 +33,10 @@
"All spaces" = "Minden terület";
/*No comment provided by engineer.*/
"Allowed" = "Allowed";
"Allowed" = "Engedélyezve";
/*No comment provided by engineer.*/
"AltTab needs some permissions" = "AltTab needs some permissions";
"AltTab needs some permissions" = "Az AltTab-nak néhány jogosultságra van szüksége";
/*No comment provided by engineer.*/
"Apparition delay:" = "Megjelenítés késleltetése:";
@@ -45,7 +45,7 @@
"Appearance" = "Megjelenés";
/*No comment provided by engineer.*/
"Are you sure you don’t want a response?" = "Are you sure you don’t want a response?";
"Are you sure you don’t want a response?" = "Biztos benne, hogy letiltja az értesítéseket?";
/*No comment provided by engineer.*/
"Arrow keys" = "Nyíl billentyűk";
@@ -54,7 +54,7 @@
"Auto-install updates periodically" = "Frissítések automatikus telepítése";
/*No comment provided by engineer.*/
"Blacklists" = "Blacklists";
"Blacklists" = "Tiltó lista";
/*Cancel button*/
"Cancel" = "Mégsem";
@@ -81,16 +81,16 @@
"Don’t check for updates periodically" = "Ne keressen frissítéseket automatikusan";
/*No comment provided by engineer.*/
"Don’t show windows from these apps" = "Don’t show windows from these apps";
"Don’t show windows from these apps" = "Ablakok elrejtése ezekből az alkalmazásokból";
/*No comment provided by engineer.*/
"End" = "End";
"End" = "Befejezés";
/*No comment provided by engineer.*/
"Fade out animation:" = "Fade out animation:";
"Fade out animation:" = "Áttűnési animáció:";
/*No comment provided by engineer.*/
"Fullscreen" = "Fullscreen";
"Fullscreen" = "Teljes képernyő";
/*No comment provided by engineer.*/
"General" = "Általános";
@@ -99,7 +99,7 @@
"Hidden" = "Rejtett";
/*No comment provided by engineer.*/
"Hide menubar icon:" = "Hide menubar icon:";
"Hide menubar icon:" = "Menü elrejtése:";
/*No comment provided by engineer.*/
"Hide space number labels:" = "Számok elrejtése a terület cimkékben:";
@@ -114,7 +114,7 @@
"I think the app could be improved with…" = "Azt gondolom hasznos lenne az app bővítése ezzel…";
/*No comment provided by engineer.*/
"Ignore shortcuts while a window from these apps is active" = "Ignore shortcuts while a window from these apps is active";
"Ignore shortcuts while a window from these apps is active" = "Parancsikonok kihagyása amikor van aktív ablak ezekből az alkalmazásokból";
/*No comment provided by engineer.*/
"Latest releases" = "Legutóbbi kiadások";
@@ -129,7 +129,7 @@
"Max windows per row:" = "Legtöbb ablak soronként:";
/*No comment provided by engineer.*/
"Middle" = "Middle";
"Middle" = "Középre";
/*No comment provided by engineer.*/
"Min windows per row:" = "Legkevesebb ablak soronként:";
@@ -144,19 +144,19 @@
"Mouse hover" = "Egér főlé vitele";
/*No comment provided by engineer.*/
"Not allowed" = "Not allowed";
"Not allowed" = "Nincs engedélyezve";
/*Copyright (human-readable)*/
"NSHumanReadableCopyright" = "GPL-3.0 license";
/*No comment provided by engineer.*/
"Only if the window is fullscreen" = "Only if the window is fullscreen";
"Only if the window is fullscreen" = "Csak ha az ablak teljesképernyős ";
/*No comment provided by engineer.*/
"Open Accessibility Preferences…" = "Open Accessibility Preferences…";
"Open Accessibility Preferences…" = "Kisegítő lehetőségek megnyitása…";
/*No comment provided by engineer.*/
"Open Screen Recording Preferences…" = "Open Screen Recording Preferences…";
"Open Screen Recording Preferences…" = "Képernyőfelvételi beállítások megnyitása…";
/*No comment provided by engineer.*/
"Optional: email (if you want a reply)" = "Opcionális: email (ha választ szeretnél kapni)";
@@ -165,7 +165,7 @@
"Preferences…" = "Beállítások…";
/*No comment provided by engineer.*/
"Quit" = "Quit";
"Quit" = "Kilépés";
/*No comment provided by engineer.*/
"Quit %@" = "Kilépés %@";
@@ -183,7 +183,7 @@
"Screen including mouse" = "A képernyő ahol az egér van";
/*No comment provided by engineer.*/
"Screen Recording" = "Screen Recording";
"Screen Recording" = "Képernyő felvétel";
/*No comment provided by engineer.*/
"Screen showing AltTab" = "Az AltTab képernyője";
@@ -201,7 +201,7 @@
"Send" = "Küldés";
/*No comment provided by engineer.*/
"Send anyway" = "Send anyway";
"Send anyway" = "Küldés mindenképp";
/*No comment provided by engineer.*/
"Send debug profile (CPU, memory, etc)" = "Hibakeresési profil (CPU, memória, stb.) küldése";
@@ -222,7 +222,7 @@
"Show on:" = "Megjelenítés:";
/*No comment provided by engineer.*/
"Show standard tabs as windows:" = "Show standard tabs as windows:";
"Show standard tabs as windows:" = "Szabványos lapok megjelenítése ablakokként:";
/*No comment provided by engineer.*/
"Show the following windows:" = "Megjelenítendő ablakok kiválasztása:";
@@ -231,7 +231,7 @@
"Source code repository" = "Forrás kód tárhely";
/*No comment provided by engineer.*/
"Start" = "Start";
"Start" = "Indítás";
/*No comment provided by engineer.*/
"Start at login:" = "Betöltés bejelentkezéskor:";
@@ -243,10 +243,10 @@
"then press:" = "majd nyomjon:";
/*No comment provided by engineer.*/
"This permission is needed to focus windows after you release the shortcut" = "This permission is needed to focus windows after you release the shortcut";
"This permission is needed to focus windows after you release the shortcut" = "Ez a jogosultság ahhoz szükséges hogy az ablak fókuszba kerüljön miután a parancsikont elengedte";
/*No comment provided by engineer.*/
"This permission is needed to show screenshots and titles of open windows" = "This permission is needed to show screenshots and titles of open windows";
"This permission is needed to show screenshots and titles of open windows" = "Ez a jogosultság ahhoz szükséges hogy megjeleníthessük a képernyőképeket és csempéket a nyitott ablakokhoz";
/*No comment provided by engineer.*/
"Updates" = "Frissítések";
@@ -267,7 +267,7 @@
"Window title font size:" = "Ablak címsor font méret:";
/*No comment provided by engineer.*/
"Window title truncation:" = "Window title truncation:";
"Window title truncation:" = "Ablak címsor rövidítése:";
/*No comment provided by engineer.*/
"You didn’t write your email, thus can’t receive any response." = "You didn’t write your email, thus can’t receive any response.";
"You didn’t write your email, thus can’t receive any response." = "Ha nem ad meg e-mail címet, nem tudunk választ küldeni";
+6 -6
View File
@@ -36,7 +36,7 @@ class Application: NSObject {
}
deinit {
debugPrint("Deinit app", runningApplication.bundleIdentifier ?? "nil")
debugPrint("Deinit app", runningApplication.bundleIdentifier ?? runningApplication.bundleURL ?? "nil")
}
func addAndObserveWindows() {
@@ -48,9 +48,9 @@ class Application: NSObject {
}
}
func observeNewWindows() {
func observeNewWindows(_ group: DispatchGroup? = nil) {
if runningApplication.isFinishedLaunching && runningApplication.activationPolicy != .prohibited {
retryAxCallUntilTimeout({ [weak self] in
retryAxCallUntilTimeout(group) { [weak self] in
guard let self = self else { return }
if let windows_ = try self.axUiElement!.windows(), windows_.count > 0 {
// bug in macOS: sometimes the OS returns multiple duplicate windows (e.g. Mail.app starting at login)
@@ -71,7 +71,7 @@ class Application: NSObject {
self.addWindows(windows)
}
}
})
}
}
}
@@ -92,7 +92,7 @@ class Application: NSObject {
private func observeEvents() {
guard let axObserver = axObserver else { return }
for notification in Application.notifications(runningApplication) {
retryAxCallUntilTimeout({ [weak self] in
retryAxCallUntilTimeout { [weak self] in
guard let self = self else { return }
try self.axUiElement!.subscribeToNotification(axObserver, notification, {
DispatchQueue.main.async { [weak self] in
@@ -105,7 +105,7 @@ class Application: NSObject {
}
}
}, self.runningApplication)
})
}
}
CFRunLoopAddSource(BackgroundWork.accessibilityEventsThread.runLoop, AXObserverGetRunLoopSource(axObserver), .defaultMode)
}
+10 -1
View File
@@ -11,6 +11,15 @@ class Applications {
}
}
static func observeNewWindowsBlocking() {
let group = DispatchGroup()
for app in list {
guard app.runningApplication.isFinishedLaunching else { continue }
app.observeNewWindows(group)
}
group.wait(wallTimeout: .now() + .seconds(1))
}
static func initialDiscovery() {
addInitialRunningApplications()
addInitialRunningApplicationsWindows()
@@ -32,7 +41,7 @@ class Applications {
if windowsOnlyOnOtherSpaces.count > 0 {
// on initial launch, we use private APIs to bring windows from other spaces into the current space, observe them, then remove them from the current space
CGSAddWindowsToSpaces(cgsMainConnectionId, windowsOnlyOnOtherSpaces as NSArray, [Spaces.currentSpaceId])
Applications.observeNewWindows()
Applications.observeNewWindowsBlocking()
CGSRemoveWindowsFromSpaces(cgsMainConnectionId, windowsOnlyOnOtherSpaces as NSArray, [Spaces.currentSpaceId])
}
}
+3 -3
View File
@@ -55,10 +55,10 @@ class Window {
AXObserverCreate(application.runningApplication.processIdentifier, axObserverCallback, &axObserver)
guard let axObserver = axObserver else { return }
for notification in Window.notifications {
retryAxCallUntilTimeout({ [weak self] in
retryAxCallUntilTimeout { [weak self] in
guard let self = self else { return }
try self.axUiElement.subscribeToNotification(axObserver, notification, nil, nil, self.cgWindowId)
})
}
}
CFRunLoopAddSource(BackgroundWork.accessibilityEventsThread.runLoop, AXObserverGetRunLoopSource(axObserver), .defaultMode)
}
@@ -99,7 +99,7 @@ class Window {
if self.isFullscreen {
self.axUiElement.setAttribute(kAXFullscreenAttribute, false)
// minimizing is ignored if sent immediatly; we wait for the de-fullscreen animation to be over
BackgroundWork.accessibilityCommandsQueue.asyncWithCap(.now() + .milliseconds(1000)) { [weak self] in
BackgroundWork.accessibilityCommandsQueue.asyncWithCap(.now() + .seconds(1)) { [weak self] in
guard let self = self else { return }
self.axUiElement.setAttribute(kAXMinimizedAttribute, true)
}
+7 -5
View File
@@ -2,24 +2,26 @@ import Cocoa
func axObserverCallback(observer: AXObserver, element: AXUIElement, notificationName: CFString, _: UnsafeMutableRawPointer?) -> Void {
let type = notificationName as String
retryAxCallUntilTimeout({ try handleEvent(type, element) })
retryAxCallUntilTimeout { try handleEvent(type, element) }
}
// if the window server is busy, it may not reply to AX calls. We retry right before the call times-out and returns a bogus value
func retryAxCallUntilTimeout(_ fn: @escaping () throws -> Void, _ startTime: DispatchTime = DispatchTime.now()) {
func retryAxCallUntilTimeout(_ group: DispatchGroup? = nil, _ fn: @escaping () throws -> Void, _ startTime: DispatchTime = DispatchTime.now()) {
group?.enter()
BackgroundWork.axCallsQueue.async {
retryAxCallUntilTimeout_(fn, startTime)
retryAxCallUntilTimeout_(group, fn, startTime)
}
}
func retryAxCallUntilTimeout_(_ fn: @escaping () throws -> Void, _ startTime: DispatchTime = DispatchTime.now()) {
func retryAxCallUntilTimeout_(_ group: DispatchGroup?, _ fn: @escaping () throws -> Void, _ startTime: DispatchTime = DispatchTime.now()) {
do {
try fn()
group?.leave()
} catch {
let timePassedInSeconds = Double(DispatchTime.now().uptimeNanoseconds - startTime.uptimeNanoseconds) / 1_000_000_000
if timePassedInSeconds < Double(AXUIElement.globalTimeoutInSeconds) {
BackgroundWork.axCallsQueue.asyncAfter(deadline: .now() + .milliseconds(10)) {
retryAxCallUntilTimeout_(fn, startTime)
retryAxCallUntilTimeout_(group, fn, startTime)
}
}
}